[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reviving Emacs-Guix
From: |
zimoun |
Subject: |
Re: Reviving Emacs-Guix |
Date: |
Sat, 14 Nov 2020 22:11:36 +0100 |
Hi Pierre,
On Sat, 14 Nov 2020 at 20:15, Pierre Neidhardt <mail@ambrevar.xyz> wrote:
> Indeed, lots of misunderstandings in here.
[...]
> Run guix-devel-build-package-definition on a package definition.
Indeed, miscommunication here. From my understanding the key point of
’guix-devel-build-package-definition’ is to be interactive at the REPL
level. What you mean, I am guessing, is the « Build » button which
calls ’guix-build-package’.
This latter function is not reachable by M-x and should be. Another
story. :-)
I agree that building is an issue because of Geiser. As I previously
said and as Ricardo said too, here ’guix-eval-in-repl’ could be
by-passed.
Note that I agree with you and on the Ryan’s comment that sometimes it
is a bit a mess: the Emacs “guix-build-package” function uses the Scheme
function ’build-package*’ defined by Emacs-Guix which looks to me
awkward: the nested reads,
(with-store store
(run-with-store store
…))
simply calling “build-package” from Guix proper.
Well, again another story. Love is missing.
>> On one hand you are saying that Geiser is the issue of Emacs-Guix. You
>> raise issue with build (which ’guix-popup’ does not do).
>
> `guix-popup` is only one of the many functions of emacs-guix. I was not
> talking about it.
About which one are you talking? Except “build” that we already
discussed above.
>> And issues about Geiser proper, compared to SLY or SLIME, and Geiser
>> allows to work interactively (*Guix REPL*).
>
> Misunderstanding: many emacs-guix commands run stuff in the *Guix REPL*
> for the user. (E.g. guix-devel-build-package-definition.)
>
> I was not talking about the user interactive themselves with the
> *Guix REPL*. I think that's the confusion ;)
That’s a feature as Ludo and Ricardo said. From my opinion too.
What’s wrong with the sequence:
M-x guix p n emacs-paredit
;; Click on Build button
M-x guix-switch-to-repl
;; Fix the issue with ,use(emacs-guix packages)
M-x guix p n nyxt
;; Click the Size button
And then later, “M-x guix-switch-to-repl“ and I get:
--8<---------------cut here---------------start------------->8---
GNU Guile 3.0.4
Copyright (C) 1995-2020 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> ,m (emacs-guix)
scheme@(emacs-guix)> (build-package* (package-by-id 140548324139648)
#:use-substitutes? #t #:dry-run? #t)
;;; <stdin>:5:16: warning: possibly unbound variable `package-by-id'
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
error: package-by-id: unbound variable
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(emacs-guix) [1]> ,q
scheme@(emacs-guix)> ,use(emacs-guix packages)
scheme@(emacs-guix)> (build-package* (package-by-id 140548324139648)
#:use-substitutes? #t #:dry-run? #t)
/gnu/store/1wb8yinahw2xqmf8cksg6kmrmapxjl6l-emacs-paredit-24
$4 = #t
scheme@(emacs-guix)> (guix-command "size" "emacs-paredit@24")
store item total self
/gnu/store/1wb8yinahw2xqmf8cksg6kmrmapxjl6l-emacs-paredit-24 0.2
0.2 100.0%
total: 0.2 MiB
$5 = #t
scheme@(emacs-guix)> (guix-command "size" "nyxt@2-pre-release-3")
store item total self
/gnu/store/118xpdazyylxa1rlc68h9lmh38vhxrb4-llvm-10.0.0 210.8
139.3 9.8%
/gnu/store/1qmd9achfkm1njzxf8hi86q53pmy9sxk-mesa-20.0.7 369.2
131.3 9.2%
/gnu/store/pk2802k343mcy0wy9g9spf4l8lv2a099-nyxt-2-pre-release-3 1426.1
123.4 8.7%
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0 178.5
107.3 7.5%
/gnu/store/pw5z61sdvclw9v1bprylsqrjf2m1f941-webkitgtk-2.30.1 964.6
102.9 7.2%
[...]
/gnu/store/3zdvikziccm9adhvvynddj2ar336bxq7-cl-trivial-file-size-0.0.0-0.1c1d672
0.0 0.0 0.0%
/gnu/store/7hvl7cwhjk1anwpwjh9wh7n29799yi7m-cl-trivial-macroexpand-all-0.0.0-0.933270a
0.0 0.0 0.0%
total: 1426.1 MiB
$6 = #t
scheme@(emacs-guix)>
--8<---------------cut here---------------end--------------->8---
> To be more explicit, the "build packages passed as argument" could be
> implemented by popping up a shell buffer and automatically executing
>
> --8<---------------cut here---------------start------------->8---
> $ guix install package-1 package-2...
> --8<---------------cut here---------------end--------------->8---
>
> in it. In short, use `M-x shell` or equivalent instead of Geiser.
Ok, but that the same story as ’build’. Right?
>>> emacs-guix never relies on persistence if I'm not mistaken.
>>
>> M-x guix-switch-to-repl
>
> This is not persistence that's needed for the emacs-guix commands.
Wait, you said « emacs-guix never relies on persistence if I'm not
mistaken. » which is wrong because everything is sent to *Guix REPL*
(Geiser) reachable with “M-x guix-switch-to-repl“ as shown above.
> The commands to list generations, package info, etc. do no need
> persistence.
That’s another story. Maybe you have right and some actions of
Emacs-Guix should run differently than with ‘guix-eval-in-repl’.
>>> My suggestion indeed lacks persistence, but at least it works for now
>>> until we figure out something better.
>>
>> Now you convinced me that Emacs-Guix needs love. Well the “it works” in
>> « at least it works for now » is meaningless for me
>
> Why? A program that works is meaningful I believe.
Which program are you talking about?
>> so instead I am going to report what Emacs-Guix fails and what I would
>> like to have. It will be more fruitful. ;-)
>
> I've reported some of the issues, and I've concluded that some of them
> would be resolved by not using Geiser to talk to Guix.
Maybe. It should be addressed action by action. Instead of thrashing
Geiser. IMHO.
> Build a package does not work in Emacs Guix, and this is what I want
> to fix, among other things.
I got it about the build and install parts. :-D
What are the « among other things »?
All the best,
simon
- Re: Reviving Emacs-Guix, (continued)
- Re: Reviving Emacs-Guix, zimoun, 2020/11/14
- Re: Reviving Emacs-Guix, Pierre Neidhardt, 2020/11/14
- Re: Reviving Emacs-Guix, Ricardo Wurmus, 2020/11/14
- Re: Reviving Emacs-Guix, zimoun, 2020/11/14
- Re: Reviving Emacs-Guix, Pierre Neidhardt, 2020/11/15
- Re: Reviving Emacs-Guix, zimoun, 2020/11/15
- Re: Reviving Emacs-Guix, Pierre Neidhardt, 2020/11/15
- Re: Reviving Emacs-Guix, zimoun, 2020/11/15
- Re: Reviving Emacs-Guix, Pierre Neidhardt, 2020/11/15
- Re: Reviving Emacs-Guix, zimoun, 2020/11/15
- Re: Reviving Emacs-Guix,
zimoun <=
- Re: Reviving Emacs-Guix, Pierre Neidhardt, 2020/11/15
- Re: Reviving Emacs-Guix, Ricardo Wurmus, 2020/11/14
- Re: Reviving Emacs-Guix, Pierre Neidhardt, 2020/11/15
- Re: Reviving Emacs-Guix, Ludovic Courtès, 2020/11/16
- Re: Reviving Emacs-Guix, Pierre Neidhardt, 2020/11/16
- Re: Reviving Emacs-Guix, zimoun, 2020/11/16
- Re: Reviving Emacs-Guix, Pierre Neidhardt, 2020/11/16
- Re: Reviving Emacs-Guix, zimoun, 2020/11/16
- Re: Reviving Emacs-Guix, Pierre Neidhardt, 2020/11/17
- Re: Announcing emacs-guix-packaging, zimoun, 2020/11/13