bug-guix
[Top][All Lists]
Advanced

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

bug#54546: failed to compute the derivation for (very old) Guix


From: Maxime Devos
Subject: bug#54546: failed to compute the derivation for (very old) Guix
Date: Sat, 26 Mar 2022 19:09:29 +0100
User-agent: Evolution 3.38.3-1

Giovanni Biscuolo schreef op do 24-03-2022 om 16:23 [+0100]:
> Hi Maxime,
> 
> Maxime Devos <maximedevos@telenet.be> writes:
> 
> > Giovanni Biscuolo schreef op do 24-03-2022 om 15:51 [+0100]:
> > > --8<---------------cut here---------------end--------------->8---
> > > [(ice-9 exceptions) stuff]
> > > Please is there any workaround for this?
> > 
> > build-aux/build-self.scm stubs (gcrypt hash) and (git).
> > Likewise, it could be modified to stub (ice-9 exceptions) when
> > 'guile-version' refers to a pre-(ice-9 exceptions) Guile.
> 
> I get the meaning of "stubbing" but I don't know how to code in Guile,
> sorry ? cannot help here

Ok, I've tried something in the attached patch (completely untested).

> [...]
> 
> > Additionally, I'm looking into reducing the number of imports and
> > cycles, so possibly the situation will resolve itself eventually.
> 
> Meanwhile is there anything I can do to upgrade my guix-damon (on
> foreign distro)

What guix is the guix service using?  If it's /usr/bin/guix installed
with the foreign distro's package manager, you can do, in case of
Debian, "sudo apt-get update && sudo apt-get upgrade"

> , I never upgraded my root default profile since I first
> installed Guix on this machine so now I'm stuck at [...]

Suggestion: use your regular user's guix to upgrade root's guix:

$ sudo -i "`which guix`" pull 

(this assumes the non-root user has a vaguely up-to-date guix)

Greetings,
Maxime.

diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index 25a7b1e618..64257bd54c 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès 
<ludo@gnu.org>
-;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -265,6 +265,9 @@ interface (FFI) of Guile.")
   (define fake-git
     (scheme-file "git.scm" #~(define-module (git))))
 
+  (define fake-ice-9-exceptions
+    (scheme-file "exceptions.scm" #~(define-module (ice-9 exceptions))))
+
   (with-imported-modules `(((guix config)
                             => ,(make-config.scm))
 
@@ -279,6 +282,13 @@ interface (FFI) of Guile.")
                            ;; (git) to placate it.
                            ((git) => ,fake-git)
 
+                           ;; Pre-3.0 versions of Guile don't have (ice-9
+                           ;; exceptions) but (gnu packages racket) imports
+                           ;; it.  Provide a ‘good enough’ (ice-9 exceptions).
+                           ,@(if (string=? "2" (major-version guile-version))
+                                 `(((ice-9 exceptions) ,fake-ice-9-exceptions))
+                                 '())
+
                            ,@(source-module-closure `((guix store)
                                                       (guix self)
                                                       (guix ui)

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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