diff options
Diffstat (limited to 'gnu/packages/guile.scm')
-rw-r--r-- | gnu/packages/guile.scm | 64 |
1 files changed, 28 insertions, 36 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 74c0709ea4..a3876a2591 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -180,6 +180,11 @@ without requiring the source code to be rewritten.") (arguments `(#:configure-flags '("--disable-static") ; saves 3 MiB + + ;; Work around non-reproducible .go files as described in + ;; <https://bugs.gnu.org/20272>, which affects 2.0, 2.2, and 3.0 so far. + #:parallel-build? #f + #:phases (modify-phases %standard-phases ,@(if (hurd-system?) @@ -246,7 +251,8 @@ without requiring the source code to be rewritten.") "013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd")) (modules '((guix build utils))) (patches (search-patches - "guile-2.2-skip-oom-test.patch")) + "guile-2.2-skip-oom-test.patch" + "guile-2.2-skip-so-test.patch")) ;; Remove the pre-built object files. Instead, build everything ;; from source, at the expense of significantly longer build @@ -285,21 +291,30 @@ without requiring the source code to be rewritten.") (package (inherit guile-2.2) (name "guile") - (version "3.0.2") + (version "3.0.7") (source (origin - (inherit (package-source guile-2.2)) + (inherit (package-source guile-2.2)) ;preserve snippet + (patches '()) (uri (string-append "mirror://gnu/guile/guile-" version ".tar.xz")) (sha256 (base32 - "12lziar4j27j9whqp2n18427q45y9ghq7gdd8lqhmj1k0lr7vi2k")))) + "1dwiwsrpm4f96alfnz6wibq378242z4f16vsxgy1n9r00v3qczgm")))) + + ;; Build with the bundled mini-GMP to avoid interference with GnuTLS' own + ;; use of GMP via Nettle: <https://issues.guix.gnu.org/46330>. + (propagated-inputs + (srfi-1:fold srfi-1:alist-delete + (package-propagated-inputs guile-2.2) + '("gmp" "libltdl"))) (arguments - ;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd. - (if (hurd-target?) - (substitute-keyword-arguments (package-arguments guile-2.2) - ((#:configure-flags flags ''()) - `(cons "--disable-jit" ,flags))) - (package-arguments guile-2.2))) + (substitute-keyword-arguments (package-arguments guile-2.2) + ((#:configure-flags flags ''()) + (let ((flags `(cons "--enable-mini-gmp" ,flags))) + ;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd. + (if (hurd-target?) + `(cons "--disable-jit" ,flags) + flags))))) (native-search-paths (list (search-path-specification (variable "GUILE_LOAD_PATH") @@ -310,31 +325,7 @@ without requiring the source code to be rewritten.") "share/guile/site/3.0"))))))) (define-public guile-3.0-latest - ;; TODO: Make this 'guile-3.0' on the next rebuild cycle. - (package - (inherit guile-3.0) - (version "3.0.7") - (source (origin - (inherit (package-source guile-3.0)) ;preserve snippet - (patches '()) - (uri (string-append "mirror://gnu/guile/guile-" - version ".tar.xz")) - (sha256 - (base32 - "1dwiwsrpm4f96alfnz6wibq378242z4f16vsxgy1n9r00v3qczgm")))) - - ;; Build with the bundled mini-GMP to avoid interference with GnuTLS' own - ;; use of GMP via Nettle: <https://issues.guix.gnu.org/46330>. Use - ;; LIBGC/DISABLE-MUNMAP to work around <https://bugs.gnu.org/40525>. - ;; Remove libltdl, which is no longer used. - (propagated-inputs - `(("bdw-gc" ,libgc/disable-munmap) - ,@(srfi-1:fold srfi-1:alist-delete (package-propagated-inputs guile-3.0) - '("gmp" "libltdl" "bdw-gc")))) - (arguments - (substitute-keyword-arguments (package-arguments guile-3.0) - ((#:configure-flags flags ''()) - `(cons "--enable-mini-gmp" ,flags)))))) + guile-3.0) (define-public guile-3.0/libgc-7 ;; Using libgc-7 avoid crashes that can occur, particularly when loading @@ -403,7 +394,8 @@ without requiring the source code to be rewritten.") (source (package-source guile)) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-silent-rules") + '(#:configure-flags '("--disable-silent-rules" + "--enable-mini-gmp") ;for Guile >= 3.0.6 #:phases (modify-phases %standard-phases (add-before 'build 'chdir (lambda* (#:key outputs #:allow-other-keys) |