bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#59864: emacs-guix


From: Ludovic Courtès
Subject: bug#59864: emacs-guix
Date: Wed, 07 Dec 2022 18:49:44 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Hi,

Amade Nemes Gmail <nemesamade@gmail.com> skribis:

> I've updated my guix version today and found that most emacs-guix
> interactive commands no longer work. For example, guix-packages-by-name 
> throws:
>
> guix-geiser-eval: Error in evaluating guile expression: 
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> In procedure package-license: Wrong type argument: #<package abduco@0.6 
> gnu/packages/abduco.scm:28 7f45f9d11f20>

I think this is caused by an ABI incompatibility: the ‘guix’ package is
currently at 1.4.0rc1, which doesn’t have the change made in:

  https://issues.guix.gnu.org/59390

However, current ‘master’ does have this change.

The ‘emacs-guix’ package is built against the ‘guix’ package; it has
inlined calls like (package-name p) to something like:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,optimize (package-name p)
$8 = (let ((s p))
  (if (eq? (struct-vtable s)
           (@@ (guix packages) <package>))
    (struct-ref s 0)
    (throw 'wrong-type-arg
           'package-name
           "Wrong type argument: ~S"
           (list s)
           (list s))))
--8<---------------cut here---------------end--------------->8---

But on ‘master’, <package> is a macro, not a record type descriptor;
thus, the (eq? …) expression is always false.

I’ll fix this by upgrading the ‘guix’ package and/or merging the (guix
records) bit in the ‘version-1.4.0’ branch.

Thanks,
Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]