diff options
Diffstat (limited to 'gnu/packages/guile.scm')
-rw-r--r-- | gnu/packages/guile.scm | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index f74a389da5..79680a2c29 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2019 Taylan Kammer <taylan.kammer@gmail.com> -;;; Copyright © 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com> ;;; @@ -398,12 +398,27 @@ without requiring the source code to be rewritten.") version ".tar.xz")) (sha256 (base32 - "04wagg0zr0sib0w9ly5jm91jplgfigzfgmy8fjdlx07jaq50d9ys")))) + "04wagg0zr0sib0w9ly5jm91jplgfigzfgmy8fjdlx07jaq50d9ys")) + (patches (search-patches "guile-cross-compilation.patch")))) (arguments (substitute-keyword-arguments (package-arguments guile-3.0) ;; Guile 3.0.8 is bit-reproducible when built in parallel, thanks to - ;; its multi-stage build process for cross-module inlining. - ((#:parallel-build? _ #f) #t))))) + ;; its multi-stage build process for cross-module inlining, except when + ;; cross-compiling. + ((#:parallel-build? _ #f) + (not (%current-target-system))) + ((#:phases phases) + `(modify-phases ,phases + ,@(if (target-ppc32?) + `((replace 'adjust-bootstrap-flags + (lambda _ + ;; Upstream knows about suggested solution. + ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214 + ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=977223#46 + (substitute* "stage0/Makefile.in" + (("^GUILE_OPTIMIZATIONS.*") + "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))))) + '()))))))) (define-public guile-3.0/fixed ;; A package of Guile that's rarely changed. It is the one used in the @@ -805,7 +820,16 @@ type system, elevating types to first-class status.") "guile-git-adjust-for-libgit2-1.2.0.patch")))) (build-system gnu-build-system) (arguments - `(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings + `(#:make-flags '("GUILE_AUTO_COMPILE=0") ; to prevent guild warnings + ;; https://gitlab.com/guile-git/guile-git/-/issues/20 + ,@(if (target-ppc32?) + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-failing-test + (lambda _ + (substitute* "Makefile.am" + ((".*tests/blob\\.scm.*") "")))))) + '()))) (native-inputs (list pkg-config autoconf automake texinfo guile-3.0 guile-bytestructures)) (inputs |