Archived
1
0
Fork 0

gnu: guile: Switch to gexps.

* gnu/packages/guile.scm (guile-3.0)[arguments]: Switch to gexps.
(guile-next)[arguments]: Likewise.
This commit is contained in:
Ludovic Courtès 2023-03-27 12:27:08 +02:00
parent ca7b1e2fd7
commit b37825934e
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -58,6 +58,7 @@
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
@ -344,51 +345,51 @@ without requiring the source code to be rewritten.")
;; cross-compiling. ;; cross-compiling.
((#:parallel-build? _ #f) ((#:parallel-build? _ #f)
(not (%current-target-system))) (not (%current-target-system)))
((#:configure-flags flags ''()) ((#:configure-flags flags #~'())
;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd. ;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd.
`(cons* ,@(if (hurd-target?) #~(cons* #$@(if (hurd-target?)
'("--disable-jit") #~("--disable-jit")
'()) #~())
;; -fexcess-precision=standard is required when compiling for ;; -fexcess-precision=standard is required when compiling for
;; i686-linux, otherwise "numbers.test" will fail ;; i686-linux, otherwise "numbers.test" will fail
;; (see <https://issues.guix.gnu.org/49368> and ;; (see <https://issues.guix.gnu.org/49368> and
;; <https://issues.guix.gnu.org/49659>). ;; <https://issues.guix.gnu.org/49659>).
;; TODO: Keep this in GUILE-2.2 and remove from here on next ;; TODO: Keep this in GUILE-2.2 and remove from here on next
;; rebuild cycle. ;; rebuild cycle.
,@(if (target-x86-32?) #$@(if (target-x86-32?)
'("CFLAGS=-g -O2 -fexcess-precision=standard") #~("CFLAGS=-g -O2 -fexcess-precision=standard")
'()) #~())
"--enable-mini-gmp" "--enable-mini-gmp"
'("--disable-static"))) '("--disable-static")))
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases #~(modify-phases #$phases
(add-before 'check 'disable-stack-overflow-test (add-before 'check 'disable-stack-overflow-test
(lambda _ (lambda _
;; This test can invoke the "OOM killer", especially when ;; This test can invoke the "OOM killer", especially when
;; running on emulated hardware (QEMU). Skip it. ;; running on emulated hardware (QEMU). Skip it.
(substitute* "test-suite/standalone/test-stack-overflow" (substitute* "test-suite/standalone/test-stack-overflow"
(("!#") (("!#")
"!#\n(exit 77)\n")))) "!#\n(exit 77)\n"))))
,@(if (target-ppc32?) #$@(if (target-ppc32?)
`((add-after 'unpack '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
;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=977223#46 ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=977223#46
(substitute* "stage0/Makefile.in" (substitute* "stage0/Makefile.in"
(("^GUILE_OPTIMIZATIONS.*") (("^GUILE_OPTIMIZATIONS.*")
"GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))))) "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n")))))
'()) #~())
,@(if (or (target-ppc32?) #$@(if (or (target-ppc32?)
(target-riscv64?)) (target-riscv64?))
`((add-after 'unpack 'skip-failing-fdes-test #~((add-after 'unpack 'skip-failing-fdes-test
(lambda _ (lambda _
;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9))) ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
(substitute* "test-suite/tests/ports.test" (substitute* "test-suite/tests/ports.test"
(("fdes not closed\"" all) (string-append all "(exit 77)"))) (("fdes not closed\"" all) (string-append all "(exit 77)")))
#t))) #t)))
'()))))) #~())))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
@ -436,20 +437,20 @@ without requiring the source code to be rewritten.")
(arguments (arguments
(substitute-keyword-arguments (package-arguments guile-3.0) (substitute-keyword-arguments (package-arguments guile-3.0)
((#:phases phases '%standard-phases) ((#:phases phases '%standard-phases)
`(modify-phases ,phases #~(modify-phases ,phases
(add-before 'bootstrap 'set-version (add-before 'bootstrap 'set-version
(lambda _ (lambda _
;; Tell 'git-version-gen' what version this is, or it will ;; Tell 'git-version-gen' what version this is, or it will
;; just pick "UNKNOWN", making it unusable as a replacement ;; just pick "UNKNOWN", making it unusable as a replacement
;; for 'guile-3.0'. XXX: This is inaccurate when using ;; for 'guile-3.0'. XXX: This is inaccurate when using
;; '--with-branch' but using (package-version this-package) ;; '--with-branch' but using (package-version this-package)
;; wouldn't give us a valid version string. ;; wouldn't give us a valid version string.
(call-with-output-file ".tarball-version" (call-with-output-file ".tarball-version"
(lambda (port) (lambda (port)
(display ,version port))))) (display #$version port)))))
(add-before 'check 'skip-failing-tests (add-before 'check 'skip-failing-tests
(lambda _ (lambda _
(delete-file "test-suite/tests/version.test"))))))) (delete-file "test-suite/tests/version.test")))))))
(native-inputs (native-inputs
(modify-inputs (package-native-inputs guile-3.0) (modify-inputs (package-native-inputs guile-3.0)
(prepend autoconf (prepend autoconf