From 7cbd82f4b62ab64041c3a98d3bc8b93e5db43d30 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 8 Mar 2021 22:13:56 +0200 Subject: gnu: guile-3.0: Fix building on powerpc-linux. * gnu/packages/guile.scm (guile-3.0)[source]: Adjust snippet to skip OOM-test. [arguments]: On powerpc add a phase to adjust the compile flags during the bootstrap process. Add phase to skip known failing test. --- gnu/packages/guile.scm | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index a3876a2591..68ee7bddf5 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -293,13 +293,21 @@ (define-public guile-3.0 (name "guile") (version "3.0.7") (source (origin - (inherit (package-source guile-2.2)) ;preserve snippet - (patches '()) + (inherit (package-source guile-2.2)) + (patches '()) ; We no longer need the patches. (uri (string-append "mirror://gnu/guile/guile-" version ".tar.xz")) (sha256 (base32 - "1dwiwsrpm4f96alfnz6wibq378242z4f16vsxgy1n9r00v3qczgm")))) + "1dwiwsrpm4f96alfnz6wibq378242z4f16vsxgy1n9r00v3qczgm")) + ;; Replace the snippet because the oom-test still + ;; fails on some 32-bit architectures. + (snippet '(begin + (substitute* "test-suite/standalone/Makefile.in" + (("test-out-of-memory") "")) + (for-each delete-file + (find-files "prebuilt" "\\.go$")) + #t)))) ;; Build with the bundled mini-GMP to avoid interference with GnuTLS' own ;; use of GMP via Nettle: . @@ -314,7 +322,25 @@ (define-public guile-3.0 ;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd. (if (hurd-target?) `(cons "--disable-jit" ,flags) - flags))))) + flags))) + ((#:phases phases) + (if (string-prefix? "powerpc-" (%current-system)) + `(modify-phases ,phases + (add-after 'unpack 'adjust-bootstrap-flags + (lambda _ + ;; Upstream knows about suggested solution. + ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214 + (substitute* "bootstrap/Makefile.in" + (("^GUILE_OPTIMIZATIONS.*") + "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n")))) + (add-after 'unpack 'skip-failing-fdes-test + (lambda _ + ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9))) + (substitute* "test-suite/tests/ports.test" + (("fdes not closed\"" all) (string-append all "(exit 77)"))) + #t))) + phases)))) + (native-search-paths (list (search-path-specification (variable "GUILE_LOAD_PATH") -- cgit v1.2.3