alezost / guix.el

Emacs interface for GNU Guix package manager
https://emacs-guix.gitlab.io/website/
GNU General Public License v3.0
139 stars 16 forks source link

Shows packages from previous pull on foreign distro #38

Closed ivilata closed 4 years ago

ivilata commented 4 years ago

As I mentioned in this thread on help-guix, using the recommended workaround for foreign distros as indicated in #28 and #29 didn't really work for me. At first it seems that package lists work, however on close inspection I noticed that emacs-guix shows package descriptions from the previous pull.

For example, after pulling with guix pull and updating packages with guix package -u, running guix package -s guix yields version 1.0.1-15.0984481 (which matches ~/.guix-profile/bin/guix --version and the description shown by guix edit guix). However, if I then run a new Emacs and open guix-installed-packages, guix is marked as being "from the future":

guix 1.0.1-15.0984481

This package is from the future, i.e. this (installed) package is newer than the available package recipe for guix.

And when I follow the "guix" link to open that recipe, it is for guix 1.0.1-14.c2f9ea2 (i.e. that in the previous pull). In fact, opening guix in guix-all-packages shows the description of guix 1.0.1-14.c2f9ea2 straight away.

I don't know if this is something that would go away by using guix repl internally, but I'm happy to do whatever testing is needed.

Thanks a lot for the very nice package!

ivilata commented 4 years ago

A couple more details: if I do guix edit PACKAGE it opens a file in /gnu/store/…-guix-module-union/share/guile/site/3.0/gnu/packages, while choosing the same package from guix-all-packages opens a file in ~/.config/guix/current/share/guile/site/3.0/gnu/packages (which resolves to /gnu/store/…-guix-b5c2d93d7-modules/share/guile/site/3.0/gnu/packages — the Guix commit matching that shown by ~/.config/guix/current/bin/guix --version).

Also, packages added in the last pull don't show up in emacs-guix, e.g. guix package -s 7kaa shows 7kaa 2.15.3 while it's nowhere to be seen in emacs-guix's lists.

alezost commented 4 years ago

I am very sorry but I rarely use Guix and Emacs-Guix these days and I don't have any wish to maintain it. I mean, if it is some small easy-to-fix problem or a proposed patch, then I will look at it, but investigating a problem like this is too much for me currently. Sorry :-(

Hopefully, someone else who has this problem will look at it.

ivilata commented 4 years ago

That's perfectly understandable. Thanks for the update! :smile:

ivilata commented 4 years ago

So after both emacs-guix and guix itself got updated by their maintainers to use Guile 3 (Guix 1.1.0), it looks like the problem went away and emacs-guix is able to see again the packages from the current pull.

For this to work on my Debian system, I need to have the following three packages installed and updated to Guile 3: guile, guix and emacs-guix.

Operations like package installation and upgrade don't work but it's a different issue related with some Guix functions having changed their signatures, so I'll close the issue. :smile: