[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)
signature.asc
Description: This is a digitally signed message part