guix-commits
[Top][All Lists]
Advanced

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

02/05: gnu: cuirass: Depend on an older Guix snapshot.


From: guix-commits
Subject: 02/05: gnu: cuirass: Depend on an older Guix snapshot.
Date: Thu, 26 May 2022 06:26:26 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit dcb7ce1eb6911f9d503e7cd2bfe380058cee956b
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Thu May 26 00:11:45 2022 +0200

    gnu: cuirass: Depend on an older Guix snapshot.
    
    Works around <https://issues.guix.gnu.org/55441#12>.
    
    * gnu/packages/package-management.scm (guix-for-cuirass): New variable.
    * gnu/packages/ci.scm (cuirass)[inputs]: Use it.
---
 gnu/packages/ci.scm                 |  9 ++++++++-
 gnu/packages/package-management.scm | 24 ++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index ab421fe870..9cd2f6884e 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -164,7 +164,14 @@
              ;; FIXME: this is propagated by "guile-git", but it needs to be 
among
              ;; the inputs to add it to GUILE_LOAD_PATH.
              guile-bytestructures
-             guix))
+
+             ;; FIXME: The 'cuirass evaluate' command is multithreaded, but it
+             ;; uses 'open-inferior', which calls 'primitive-fork', thus
+             ;; potentially creating child processes that deadlock.  To work
+             ;; around that, use the last revision of Guix where
+             ;; 'open-inferior' was using 'open-pipe*' rather than
+             ;; 'primitive-fork'.  See <https://issues.guix.gnu.org/55441>.
+             guix-for-cuirass))
       (native-inputs
        (list autoconf automake pkg-config texinfo ephemeralpg))
       (native-search-paths
diff --git a/gnu/packages/package-management.scm 
b/gnu/packages/package-management.scm
index 619458a0d3..16ad4fe9db 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -489,6 +489,30 @@ the Nix package manager.")
       (license license:gpl3+)
       (properties '((ftp-server . "alpha.gnu.org"))))))
 
+(define-public guix-for-cuirass
+  ;; Known-good revision before commit
+  ;; bd86bbd300474204878e927f6cd3f0defa1662a5, which introduced
+  ;; 'primitive-fork' in 'open-inferior'.
+  (let ((version "1.3.0")
+        (commit "a27e47f9d1e22dc32bb250cfeef88cfacb930e23")
+        (revision 23))
+    (package
+      (inherit guix)
+      (version (string-append version "-"
+                              (number->string revision)
+                              "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.savannah.gnu.org/git/guix.git";)
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "12jmvagbw05hmmlrb82i0qazhlv7mcfnl4dmknwx3a9hd760g9y1"))
+                (file-name (string-append "guix-" version "-checkout"))))
+      (properties `((hidden? . #t)
+                    ,@(package-properties guix))))))
+
 (define-public guix-daemon
   ;; This package is for internal consumption: it allows us to quickly build
   ;; the 'guix-daemon' program and use that in (guix self), used by 'guix



reply via email to

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