summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-05-26 00:11:45 +0200
committerLudovic Courtès <ludo@gnu.org>2022-05-26 11:41:05 +0200
commitdcb7ce1eb6911f9d503e7cd2bfe380058cee956b (patch)
tree28f965a9d5709ca19806e91cc65ea2ad5713a27b /gnu
parent4e13ee4b573f1829fbf41147febac9ca8b919034 (diff)
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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/ci.scm9
-rw-r--r--gnu/packages/package-management.scm24
2 files changed, 32 insertions, 1 deletions
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