me
/
guix
Archived
1
0
Fork 0

gnu: guile-3.0: Update to 3.0.9.

* gnu/packages/guile.scm (guile-3.0): Update to 3.0.9.
[source]: Remove patch.
[arguments]: Only apply 'adjust-bootstrap-flags on powerpc-linux once.
(guile-3.0-latest): Point to guile-3.0.
* gnu/packages/patches/guile-cross-compilation.patch: Remove file
(again).
* gnu/local.mk (dist_patch_DATA): Remove it.
master
Efraim Flashner 2023-01-30 12:48:11 +02:00
parent 1c78f71beb
commit a49536e320
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
3 changed files with 7 additions and 101 deletions

View File

@ -1263,7 +1263,6 @@ dist_patch_DATA = \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \ %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-oom-test.patch \
%D%/packages/patches/guile-2.2-skip-so-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-default-utf8.patch \
%D%/packages/patches/guile-2.2-default-utf8.patch \ %D%/packages/patches/guile-2.2-default-utf8.patch \
%D%/packages/patches/guile-relocatable.patch \ %D%/packages/patches/guile-relocatable.patch \

View File

@ -15,7 +15,7 @@
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 Taylan Kammer <taylan.kammer@gmail.com> ;;; Copyright © 2019 Taylan Kammer <taylan.kammer@gmail.com>
;;; Copyright © 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com>
;;; ;;;
@ -310,15 +310,15 @@ without requiring the source code to be rewritten.")
(package (package
(inherit guile-2.2) (inherit guile-2.2)
(name "guile") (name "guile")
(version "3.0.8") (version "3.0.9")
(source (origin (source (origin
(inherit (package-source guile-2.2)) (inherit (package-source guile-2.2))
(uri (string-append "mirror://gnu/guile/guile-" (uri (string-append "mirror://gnu/guile/guile-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"04wagg0zr0sib0w9ly5jm91jplgfigzfgmy8fjdlx07jaq50d9ys")) "03bm1mnfc9kkg2ls942a0js7bxrdzmcffgrgg6anwdmjfan2a9hs"))
(patches (search-patches "guile-cross-compilation.patch")) (patches '())
;; Replace the snippet because the oom-test still ;; Replace the snippet because the oom-test still
;; fails on some 32-bit architectures. ;; fails on some 32-bit architectures.
(snippet '(begin (snippet '(begin
@ -334,7 +334,7 @@ without requiring the source code to be rewritten.")
(delete "gmp" "libltdl"))) (delete "gmp" "libltdl")))
(arguments (arguments
(substitute-keyword-arguments (package-arguments guile-2.0) (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 ;; its multi-stage build process for cross-module inlining, except when
;; cross-compiling. ;; cross-compiling.
((#:parallel-build? _ #f) ((#:parallel-build? _ #f)
@ -365,17 +365,8 @@ without requiring the source code to be rewritten.")
(("!#") (("!#")
"!#\n(exit 77)\n")))) "!#\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?) ,@(if (target-ppc32?)
`((replace 'adjust-bootstrap-flags `((add-after 'unpack 'adjust-bootstrap-flags
(lambda _ (lambda _
;; Upstream knows about suggested solution. ;; Upstream knows about suggested solution.
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214 ;; 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" (files '("lib/guile/3.0/site-ccache"
"share/guile/site/3.0"))))))) "share/guile/site/3.0")))))))
(define-public guile-3.0-latest (define-public guile-3.0-latest guile-3.0)
(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/fixed (define-public guile-3.0/fixed
;; A package of Guile that's rarely changed. It is the one used in the ;; A package of Guile that's rarely changed. It is the one used in the

View File

@ -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 <https://issues.guix.gnu.org/54198>, 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");