diff --git a/gnu/local.mk b/gnu/local.mk index 36f16c94a3..2e746c1819 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1263,7 +1263,6 @@ dist_patch_DATA = \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-2.2-skip-oom-test.patch \ %D%/packages/patches/guile-2.2-skip-so-test.patch \ - %D%/packages/patches/guile-cross-compilation.patch \ %D%/packages/patches/guile-default-utf8.patch \ %D%/packages/patches/guile-2.2-default-utf8.patch \ %D%/packages/patches/guile-relocatable.patch \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 3b05aaf5a8..92658a2d69 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2018 Danny Milosavljevic ;;; Copyright © 2018 Eric Bavier ;;; Copyright © 2019 Taylan Kammer -;;; Copyright © 2020, 2021, 2022 Efraim Flashner +;;; Copyright © 2020-2023 Efraim Flashner ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021 Timothy Sample ;;; @@ -310,15 +310,15 @@ without requiring the source code to be rewritten.") (package (inherit guile-2.2) (name "guile") - (version "3.0.8") + (version "3.0.9") (source (origin (inherit (package-source guile-2.2)) (uri (string-append "mirror://gnu/guile/guile-" version ".tar.xz")) (sha256 (base32 - "04wagg0zr0sib0w9ly5jm91jplgfigzfgmy8fjdlx07jaq50d9ys")) - (patches (search-patches "guile-cross-compilation.patch")) + "03bm1mnfc9kkg2ls942a0js7bxrdzmcffgrgg6anwdmjfan2a9hs")) + (patches '()) ;; Replace the snippet because the oom-test still ;; fails on some 32-bit architectures. (snippet '(begin @@ -334,7 +334,7 @@ without requiring the source code to be rewritten.") (delete "gmp" "libltdl"))) (arguments (substitute-keyword-arguments (package-arguments guile-2.0) - ;; Guile 3.0.8 is bit-reproducible when built in parallel, thanks to + ;; Guile 3.0.9 is bit-reproducible when built in parallel, thanks to ;; its multi-stage build process for cross-module inlining, except when ;; cross-compiling. ((#:parallel-build? _ #f) @@ -365,17 +365,8 @@ without requiring the source code to be rewritten.") (("!#") "!#\n(exit 77)\n")))) - ,@(if (string-prefix? "powerpc-" (%current-system)) - `((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"))))) - '()) ,@(if (target-ppc32?) - `((replace 'adjust-bootstrap-flags + `((add-after 'unpack 'adjust-bootstrap-flags (lambda _ ;; Upstream knows about suggested solution. ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214 @@ -403,36 +394,7 @@ without requiring the source code to be rewritten.") (files '("lib/guile/3.0/site-ccache" "share/guile/site/3.0"))))))) -(define-public guile-3.0-latest - (package - (inherit guile-3.0) - (version "3.0.9") - (source (origin - (inherit (package-source guile-3.0)) - (uri (string-append "mirror://gnu/guile/guile-" - version ".tar.xz")) - (sha256 - (base32 - "03bm1mnfc9kkg2ls942a0js7bxrdzmcffgrgg6anwdmjfan2a9hs")))) - (arguments - (substitute-keyword-arguments (package-arguments guile-3.0) - ;; Guile 3.0.9 is bit-reproducible when built in parallel, thanks to - ;; 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-latest guile-3.0) (define-public guile-3.0/fixed ;; A package of Guile that's rarely changed. It is the one used in the diff --git a/gnu/packages/patches/guile-cross-compilation.patch b/gnu/packages/patches/guile-cross-compilation.patch deleted file mode 100644 index a594cb9421..0000000000 --- a/gnu/packages/patches/guile-cross-compilation.patch +++ /dev/null @@ -1,55 +0,0 @@ -When cross-compiling, get type sizes of the host system, not the build system. - -This is Guile commit 24b30130ca75653bdbacea84ce0443608379d630, which -fixes , with one difference: it uses -8 instead of SIZEOF_INTMAX_T, such that we do not need to modify -'configure.ac' to check for the size of 'intmax_t' and to run 'autoreconf' -(libguile/numbers.c expects SCM_SIZEOF_INTMAX_T = 8). - -diff --git a/libguile/gen-scmconfig.c b/libguile/gen-scmconfig.c -index 01b14f14d..691ebd0af 100644 ---- a/libguile/gen-scmconfig.c -+++ b/libguile/gen-scmconfig.c -@@ -1,4 +1,4 @@ --/* Copyright 2003-2013,2018,2020,2021 -+/* Copyright 2003-2013, 2018, 2020-2022 - Free Software Foundation, Inc. - - This file is part of Guile. -@@ -238,21 +238,21 @@ main (int argc, char *argv[]) - pf ("\n"); - pf ("/* Standard types. */\n"); - -- pf ("#define SCM_SIZEOF_CHAR %zu\n", sizeof (char)); -- pf ("#define SCM_SIZEOF_UNSIGNED_CHAR %zu\n", sizeof (unsigned char)); -- pf ("#define SCM_SIZEOF_SHORT %zu\n", sizeof (short)); -- pf ("#define SCM_SIZEOF_UNSIGNED_SHORT %zu\n", sizeof (unsigned short)); -- pf ("#define SCM_SIZEOF_LONG %zu\n", sizeof (long)); -- pf ("#define SCM_SIZEOF_UNSIGNED_LONG %zu\n", sizeof (unsigned long)); -- pf ("#define SCM_SIZEOF_INT %zu\n", sizeof (int)); -- pf ("#define SCM_SIZEOF_UNSIGNED_INT %zu\n", sizeof (unsigned int)); -- pf ("#define SCM_SIZEOF_SIZE_T %zu\n", sizeof (size_t)); -- pf ("#define SCM_SIZEOF_LONG_LONG %zu\n", sizeof (long long)); -- pf ("#define SCM_SIZEOF_UNSIGNED_LONG_LONG %zu\n", sizeof (unsigned long long)); -- pf ("#define SCM_SIZEOF_INTMAX %zu\n", sizeof (intmax_t)); -- pf ("#define SCM_SIZEOF_SCM_T_PTRDIFF %zu\n", sizeof (ptrdiff_t)); -- pf ("#define SCM_SIZEOF_INTPTR_T %zu\n", sizeof (intptr_t)); -- pf ("#define SCM_SIZEOF_UINTPTR_T %zu\n", sizeof (uintptr_t)); -+ pf ("#define SCM_SIZEOF_CHAR %d\n", SIZEOF_CHAR); -+ pf ("#define SCM_SIZEOF_UNSIGNED_CHAR %d\n", SIZEOF_UNSIGNED_CHAR); -+ pf ("#define SCM_SIZEOF_SHORT %d\n", SIZEOF_SHORT); -+ pf ("#define SCM_SIZEOF_UNSIGNED_SHORT %d\n", SIZEOF_UNSIGNED_SHORT); -+ pf ("#define SCM_SIZEOF_LONG %d\n", SIZEOF_LONG); -+ pf ("#define SCM_SIZEOF_UNSIGNED_LONG %d\n", SIZEOF_UNSIGNED_LONG); -+ pf ("#define SCM_SIZEOF_INT %d\n", SIZEOF_INT); -+ pf ("#define SCM_SIZEOF_UNSIGNED_INT %d\n", SIZEOF_UNSIGNED_INT); -+ pf ("#define SCM_SIZEOF_SIZE_T %d\n", SIZEOF_SIZE_T); -+ pf ("#define SCM_SIZEOF_LONG_LONG %d\n", SIZEOF_LONG_LONG); -+ pf ("#define SCM_SIZEOF_UNSIGNED_LONG_LONG %d\n", SIZEOF_UNSIGNED_LONG_LONG); -+ pf ("#define SCM_SIZEOF_INTMAX %d\n", 8); /* like SIZEOF_INTMAX_T */ -+ pf ("#define SCM_SIZEOF_SCM_T_PTRDIFF %d\n", SIZEOF_PTRDIFF_T); -+ pf ("#define SCM_SIZEOF_INTPTR_T %d\n", SIZEOF_INTPTR_T); -+ pf ("#define SCM_SIZEOF_UINTPTR_T %d\n", SIZEOF_UINTPTR_T); - - pf ("\n"); - pf ("/* same as POSIX \"struct timespec\" -- always defined */\n");