From 4440ba3f6ee1f6936755b2eb1e9d60108d2f9c72 Mon Sep 17 00:00:00 2001 From: Benjamin Slade Date: Fri, 29 Dec 2023 01:08:35 -0600 Subject: sbcl: update to 2.4.0 * gnu/packages/lisp.scm (sbcl): Update to 2.4.0. Signed-off-by: Guillaume Le Vaillant Change-Id: I6087f3697b1c9501be09e1e983fb36d11ec35ba2 --- gnu/packages/lisp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 4a895984e7..20ec61dfe5 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -439,14 +439,14 @@ an interpreter, a compiler, a debugger, and much more.") (define-public sbcl (package (name "sbcl") - (version "2.3.7") + (version "2.4.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" version "-source.tar.bz2")) (sha256 - (base32 "1xwr1pnwd3xj375ainlad7mm479rk2mrks8dc6d92cash3xl90b9")) + (base32 "0xhpdnsg8idzxkn20iw8gd2rk470d7vc22vrp5clq9fj117vgn43")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From 466975efea86727465f75a4e2c54e9eeb212f4a6 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Dec 2023 12:28:52 +0000 Subject: gnu: cl-alexandria: Update to 1.4-0.009b7e5. * gnu/packages/lisp-xyz.scm (sbcl-alexandria): Update to 1.4-0.009b7e5. [file-name]: Rename to cl-alexandria. Move above sha256. Change-Id: I7122aff13715d24e99a58fa4b55b0ef012ae8c40 Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index aa3ea7c9ce..3023bf07db 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -168,29 +168,30 @@ (sbcl-package->ecl-package sbcl-alexandria-plus)) (define-public sbcl-alexandria - (package - (name "sbcl-alexandria") - (version "1.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.common-lisp.net/alexandria/alexandria.git") - (commit (string-append "v" version)))) - (sha256 - (base32 - "0r1adhvf98h0104vq14q7y99h0hsa8wqwqw92h7ghrjxmsvz2z6l")) - (file-name (git-file-name name version)))) - (build-system asdf-build-system/sbcl) - (native-inputs - (list sbcl-rt)) - (synopsis "Collection of portable utilities for Common Lisp") - (description - "Alexandria is a collection of portable utilities. It does not contain + (let ((commit "009b7e532071d9777bdbd63b82d776555da95916") + (revision "0")) + (package + (name "sbcl-alexandria") + (version (git-version "1.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.common-lisp.net/alexandria/alexandria.git") + (commit commit))) + (file-name (git-file-name "cl-alexandria" version)) + (sha256 + (base32 "0pdj779j3nwzn8f1661vf00rrjrbks1xgiq0rvwjw6qyxsfqfnl9")))) + (build-system asdf-build-system/sbcl) + (native-inputs + (list sbcl-rt)) + (synopsis "Collection of portable utilities for Common Lisp") + (description + "Alexandria is a collection of portable utilities. It does not contain conceptual extensions to Common Lisp. It is conservative in scope, and portable between implementations.") - (home-page "https://common-lisp.net/project/alexandria/") - (license license:public-domain))) + (home-page "https://common-lisp.net/project/alexandria/") + (license license:public-domain)))) (define-public cl-alexandria (sbcl-package->cl-source-package sbcl-alexandria)) -- cgit v1.2.3 From 154bb7140f77d528253e6363db14524eadd26a67 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Dec 2023 12:58:52 +0000 Subject: gnu: cl-trivial-garbage: Update to 0.21-0.3474f64. * gnu/packages/lisp-xyz.scm (sbcl-trivial-garbage): Update to 0.21-0.3474f64. Change-Id: I2e6efb02756450fa5c59fe87ae661987cb86d023 Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 3023bf07db..7b2025c7ec 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -4844,27 +4844,29 @@ precisely controls the behavior of the parser via Common Lisp restarts.") (sbcl-package->ecl-package sbcl-unix-opts)) (define-public sbcl-trivial-garbage - (package - (name "sbcl-trivial-garbage") - (version "0.21") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/trivial-garbage/trivial-garbage") - (commit (string-append "v" version)))) - (file-name (git-file-name "trivial-garbage" version)) - (sha256 - (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n")))) - (build-system asdf-build-system/sbcl) - (native-inputs - (list sbcl-rt)) - (home-page "https://common-lisp.net/project/trivial-garbage/") - (synopsis "Portable GC-related APIs for Common Lisp") - (description "@command{trivial-garbage} provides a portable API to + (let ((commit "3474f6414b73d4e3aa2d5c53080f4247a34f6380") + (revision "0")) + (package + (name "sbcl-trivial-garbage") + (version (git-version "0.21" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trivial-garbage/trivial-garbage") + (commit commit))) + (file-name (git-file-name "cl-trivial-garbage" version)) + (sha256 + (base32 "0rfwxvwg0kpcaa0hsi035yrkfdfks4bq8d9azmrww2f0rmv9g6sd")))) + (build-system asdf-build-system/sbcl) + (native-inputs + (list sbcl-rt)) + (home-page "https://common-lisp.net/project/trivial-garbage/") + (synopsis "Portable GC-related APIs for Common Lisp") + (description "@command{trivial-garbage} provides a portable API to finalizers, weak hash-tables and weak pointers on all major implementations of the Common Lisp programming language.") - (license license:public-domain))) + (license license:public-domain)))) (define-public cl-trivial-garbage (sbcl-package->cl-source-package sbcl-trivial-garbage)) -- cgit v1.2.3 From 66d327a0499fdda31c375531080a5b0af8d644ef Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Dec 2023 12:14:15 +0000 Subject: gnu: cl-flexi-streams: Update to 1.0.19-0.74a1027. * gnu/packages/lisp-xyz.scm (sbcl-flexi-streams): Update to 1.0.19-0.74a1027. Change-Id: Id2b82050423aba4f6aa4055c95a18768f110ed71 Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 52 ++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 7b2025c7ec..41f3056c98 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -1361,35 +1361,37 @@ thin compatibility layer for gray streams.") (sbcl-package->ecl-package sbcl-trivial-gray-streams)) (define-public sbcl-flexi-streams - (package - (name "sbcl-flexi-streams") - (version "1.0.19") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/edicl/flexi-streams") - (commit (string-append "v" version)))) - (file-name (git-file-name "flexi-streams" version)) - (sha256 - (base32 "0v7lh4nrldzczd4mwylvmxfdxk7wfsli24iv1axd6mkb833llr70")))) - (build-system asdf-build-system/sbcl) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-git-checkout-writable - (lambda _ - (for-each make-file-writable (find-files ".")) - #t))))) - (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams))) - (synopsis "Implementation of virtual bivalent streams for Common Lisp") - (description "Flexi-streams is an implementation of \"virtual\" bivalent + (let ((commit "74a1027311371a57258eba1bc908e050f5702277") + (revision "0")) + (package + (name "sbcl-flexi-streams") + (version (git-version "1.0.19" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/edicl/flexi-streams") + (commit commit))) + (file-name (git-file-name "cl-flexi-streams" version)) + (sha256 + (base32 "04azqvz11s8dngy49bjl19hrfn0ip1b7m0szm4hlppq364msil7b")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t))))) + (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + (synopsis "Implementation of virtual bivalent streams for Common Lisp") + (description "Flexi-streams is an implementation of \"virtual\" bivalent streams that can be layered atop real binary or bivalent streams and that can be used to read and write character data in various single- or multi-octet encodings which can be changed on the fly. It also supplies in-memory binary streams which are similar to string streams.") - (home-page "http://weitz.de/flexi-streams/") - (license license:bsd-3))) + (home-page "http://weitz.de/flexi-streams/") + (license license:bsd-3)))) (define-public cl-flexi-streams (sbcl-package->cl-source-package sbcl-flexi-streams)) -- cgit v1.2.3 From 35a0bb9691e32f7e8027bcf9016ebbc64b74cbcd Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Dec 2023 12:17:57 +0000 Subject: gnu: cl-flexi-streams: Improve package style. * gnu/packages/lisp-xyz.scm (sbcl-flexi-streams)[arguments]: Use G-expressions. Drop trailing #t in phases. [inputs]: Remove labels. Change-Id: I4aae98985435203006384906a0b28c798e3b9740 Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 41f3056c98..9e16912988 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -1377,13 +1377,13 @@ thin compatibility layer for gray streams.") (base32 "04azqvz11s8dngy49bjl19hrfn0ip1b7m0szm4hlppq364msil7b")))) (build-system asdf-build-system/sbcl) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-git-checkout-writable - (lambda _ - (for-each make-file-writable (find-files ".")) - #t))))) - (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + (lambda _ + (for-each make-file-writable (find-files "."))))))) + (inputs + (list sbcl-trivial-gray-streams)) (synopsis "Implementation of virtual bivalent streams for Common Lisp") (description "Flexi-streams is an implementation of \"virtual\" bivalent streams that can be layered atop real binary or bivalent streams and that can -- cgit v1.2.3 From 67119aadac198423270bf4618a394ab4d1e1d75d Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 4 Jan 2024 16:56:15 +0100 Subject: gnu: cl-lparallel: Update to 2.8.4-1.80fc295. * gnu/packages/lisp-xyz.scm (sbcl-lparallel): Update to 2.8.4-1.80fc295. [source]: Update URI to maintained repository. [inputs]: Remove labels. Change-Id: I18ac84c0889a57c040ed9b443774ae16e716918d --- gnu/packages/lisp-xyz.scm | 69 ++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 9e16912988..36aa59a792 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -5113,39 +5113,40 @@ WebKit browsing engine.") (sbcl-package->ecl-package sbcl-cl-webkit)) (define-public sbcl-lparallel - (package - (name "sbcl-lparallel") - (version "2.8.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/lmj/lparallel/") - (commit (string-append "lparallel-" version)))) - (file-name (git-file-name "lparallel" version)) - (sha256 - (base32 - "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9")))) - (build-system asdf-build-system/sbcl) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("trivial-garbage" ,sbcl-trivial-garbage))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-dependency - ;; lparallel loads a SBCL specific system in its asd file. This is - ;; not carried over into the fasl which is generated. In order for - ;; it to be carried over, it needs to be listed as a dependency. - (lambda _ - (substitute* "lparallel.asd" - ((":depends-on \\(:alexandria" all) - (string-append all " #+sbcl :sb-cltl2")))))))) - (home-page "https://lparallel.org/") - (synopsis "Parallelism for Common Lisp") - (description - "@command{lparallel} is a library for parallel programming in Common + (let ((commit "80fc2952a074776abd343d6b5d3ab157f0e1df7a") + (revision "1")) + (package + (name "sbcl-lparallel") + (version (git-version "2.8.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sharplispers/lparallel/") + (commit commit))) + (file-name (git-file-name "cl-lparallel" version)) + (sha256 + (base32 "0nv2dx8cl25g68icqhw95yr5mygm86lcjzmzijql51na1p60g6y9")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-alexandria + sbcl-bordeaux-threads + sbcl-trivial-garbage)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-dependency + ;; lparallel loads a SBCL specific system in its asd file. This is + ;; not carried over into the fasl which is generated. In order for + ;; it to be carried over, it needs to be listed as a dependency. + (lambda _ + (substitute* "lparallel.asd" + ((":depends-on \\(:alexandria" all) + (string-append all " #+sbcl :sb-cltl2")))))))) + (home-page "https://lparallel.org/") + (synopsis "Parallelism for Common Lisp") + (description + "@command{lparallel} is a library for parallel programming in Common Lisp, featuring: @itemize @@ -5160,7 +5161,7 @@ Lisp, featuring: @item task killing by category, @item integrated timeouts. @end itemize\n") - (license license:expat))) + (license license:expat)))) (define-public cl-lparallel (sbcl-package->cl-source-package sbcl-lparallel)) -- cgit v1.2.3 From 386376029367943367734c522efce5649bb3fd5b Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 4 Jan 2024 17:01:51 +0100 Subject: gnu: cl-bordeaux-threads: Update to 0.9.3. * gnu/packages/lisp-xyz.scm (sbcl-bordeaux-threads): Update to 0.9.3. [arguments]: Remove 'silence-deprecation-warning' phase. Change-Id: I392d48fb2250bfcae66e3e60d3de89ad4edb99f1 --- gnu/packages/lisp-xyz.scm | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 36aa59a792..580e21f04e 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -1281,14 +1281,14 @@ timeouts.") (define-public sbcl-bordeaux-threads (package (name "sbcl-bordeaux-threads") - (version "0.9.2") + (version "0.9.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/sionescu/bordeaux-threads") (commit (string-append "v" version)))) (sha256 - (base32 "0d9sd7pm91yhln95z8nclhn6n4l5b2cp3pxpggpmpv7rsq84ssmh")) + (base32 "0pp3w5hsph47sqagr4j2pbg3ddb29jx93zg8kvxsp2c4flp0qz0f")) (file-name (git-file-name "cl-bordeaux-threads" version)))) (inputs (list sbcl-alexandria sbcl-global-vars @@ -1300,16 +1300,6 @@ timeouts.") (list #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'silence-deprecation-warning - (lambda _ - ;; The deprecation warning for APIv1 makes the build of some - ;; of the dependents of bordeaux-threads fail because they - ;; interpret it as an error instead of a simple indication. - ;; Let's silence this warning for now. - (substitute* (cons* "apiv1/default-implementations.lisp" - (find-files "apiv1" "impl-.*\\.lisp")) - (("\\(warn \"Bordeaux-Threads APIv1 is deprecated\\. Please migrate to APIv2\\.\"\\)") - "")))) (add-after 'unpack 'adjust-test-sleep (lambda _ ;; 0.001 is too short for some slower machines. -- cgit v1.2.3 From d1ce5a3597ed81f670900740338f6460ce71b653 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 4 Jan 2024 17:11:10 +0100 Subject: gnu: ecl-lparallel: Enable tests. * gnu/packages/lisp-xyz.scm (ecl-lparallel)[arguments]: Enable tests. Change-Id: I58c7ab8173db4bb87ac8f94526bfc912a3e479b9 --- gnu/packages/lisp-xyz.scm | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 580e21f04e..69e071096d 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2018, 2019 Pierre Langlois ;;; Copyright © 2019, 2020 Katherine Cox-Buday ;;; Copyright © 2019 Jesse Gildersleve -;;; Copyright © 2019-2023 Guillaume Le Vaillant +;;; Copyright © 2019-2024 Guillaume Le Vaillant ;;; Copyright © 2019 Brett Gilio ;;; Copyright © 2020 Konrad Hinsen ;;; Copyright © 2020 Dimakis Dimakakos @@ -5157,11 +5157,7 @@ Lisp, featuring: (sbcl-package->cl-source-package sbcl-lparallel)) (define-public ecl-lparallel - (package - (inherit (sbcl-package->ecl-package sbcl-lparallel)) - (arguments - ;; TODO: Find why the tests get stuck forever; disable them for now. - `(#:tests? #f)))) + (sbcl-package->ecl-package sbcl-lparallel)) (define-public sbcl-cl-markup (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390")) -- cgit v1.2.3 From 7f530f52c9c07b34c4df9c8fbeae0c3c9d0345e9 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sun, 7 Jan 2024 11:27:02 +0100 Subject: gnu: cl-concurrent-hash-tables: Update to 0.0.0-1.6ad539b. * gnu/packages/lisp-xyz.scm (sbcl-concurrent-hash-tables): Update to 0.0.0-1.6ad539b. Change-Id: I6e44d4d17cf21162c099b0bb9e6d1ae60f869c33 --- gnu/packages/lisp-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 69e071096d..38eb9bdfdd 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -16328,8 +16328,8 @@ directly.") (sbcl-package->ecl-package sbcl-custom-hash-table)) (define-public sbcl-concurrent-hash-tables - (let ((commit "1b9f0b5da54fece4f42296e1bdacfcec0c370a5a") - (revision "0")) + (let ((commit "6ad539b8970ff94b1e1369b59065ed7d0660904c") + (revision "1")) (package (name "sbcl-concurrent-hash-tables") (version (git-version "0.0.0" revision commit)) @@ -16341,7 +16341,7 @@ directly.") (commit commit))) (file-name (git-file-name "cl-concurrent-hash-tables" version)) (sha256 - (base32 "03g24ycr1ngzg8bv10iwp1bmnldz5bxbfdqrzhfxhicpibh49r96")))) + (base32 "0wgbv3wl33rlfbywmjag0gk7igzfksmib30r8cbnd5n47ic09iip")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-atomics sbcl-bordeaux-threads)) -- cgit v1.2.3 From ea832b44b79fb06bac88679029773006fea15827 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 9 Jan 2024 09:59:46 +0100 Subject: gnu: sbcl: Fix build on powerpc64. * gnu/packages/patches/sbcl-fix-ppc64-build.patch: New file. * gnu/local.mk: Register it. * gnu/packages/lisp.scm (sbcl)[source]: Use it. Change-Id: If81321bc7e4075ac7ec63f7b8d623011b4b975d5 --- gnu/local.mk | 1 + gnu/packages/lisp.scm | 1 + gnu/packages/patches/sbcl-fix-ppc64-build.patch | 27 +++++++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 gnu/packages/patches/sbcl-fix-ppc64-build.patch diff --git a/gnu/local.mk b/gnu/local.mk index ee25e1535e..1bf8a9df27 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1988,6 +1988,7 @@ dist_patch_DATA = \ %D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \ %D%/packages/patches/sbcl-clml-fix-types.patch \ %D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch \ + %D%/packages/patches/sbcl-fix-ppc64-build.patch \ %D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \ %D%/packages/patches/scalapack-gcc-10-compilation.patch \ %D%/packages/patches/scheme48-tests.patch \ diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 20ec61dfe5..40217780c8 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -447,6 +447,7 @@ an interpreter, a compiler, a debugger, and much more.") version "-source.tar.bz2")) (sha256 (base32 "0xhpdnsg8idzxkn20iw8gd2rk470d7vc22vrp5clq9fj117vgn43")) + (patches (search-patches "sbcl-fix-ppc64-build.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/sbcl-fix-ppc64-build.patch b/gnu/packages/patches/sbcl-fix-ppc64-build.patch new file mode 100644 index 0000000000..a7d4d9a21e --- /dev/null +++ b/gnu/packages/patches/sbcl-fix-ppc64-build.patch @@ -0,0 +1,27 @@ +commit 255f3ead060129aa097b62f10d054cdc4997a431 +Author: Douglas Katzman +Date: Mon Jan 1 23:59:50 2024 -0500 + + Fix ppc64 failure-to-build (from a few weeks ago) + + Git rev 7354472bb5 caused NIL to get a bogus widetag. + +diff --git a/make-target-2-load.lisp b/make-target-2-load.lisp +index 6571ec27d..daef942ea 100644 +--- a/make-target-2-load.lisp ++++ b/make-target-2-load.lisp +@@ -339,7 +339,13 @@ Please check that all strings which were not recognizable to the compiler + + + (do-all-symbols (symbol) +- (sb-kernel:logior-header-bits symbol sb-vm::+symbol-initial-core+) ++ ;; Don't futz with the header of static symbols. ++ ;; Technically LOGIOR-HEADER-BITS can only be used on an OTHER-POINTER-LOWTAG ++ ;; objects, so modifying NIL should not ever work, but it's especially wrong ++ ;; on ppc64 where OTHER- and LIST- pointer lowtags are 10 bytes apart instead ++ ;; of 8, so this was making a random alteration to the header. ++ (unless (eq (heap-allocated-p symbol) :static) ++ (sb-kernel:logior-header-bits symbol sb-vm::+symbol-initial-core+)) + + ;; A symbol whose INFO slot underwent any kind of manipulation + ;; such that it now has neither properties nor globaldb info, -- cgit v1.2.3 From f122f2bead538617d3bd43a05fa6f2def5e03c05 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 10 Jan 2024 22:57:43 +0100 Subject: gnu: sbcl: Fix riscv build. * gnu/packages/patches/sbcl-fix-riscv-build.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/lisp.scm (sbcl)[source]: Use it. Change-Id: I63f1b9a7a7b6f3a1961d0a0cb31189b74a60abc3 --- gnu/local.mk | 3 ++- gnu/packages/lisp.scm | 6 ++++-- gnu/packages/patches/sbcl-fix-riscv-build.patch | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/sbcl-fix-riscv-build.patch diff --git a/gnu/local.mk b/gnu/local.mk index 453e3fb5c7..62066a30dc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -20,7 +20,7 @@ # Copyright © 2018, 2019, 2020, 2021, 2022 Oleg Pykhalov # Copyright © 2018 Stefan Stefanović # Copyright © 2018, 2020, 2021, 2022, 2023 Maxim Cournoyer -# Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant +# Copyright © 2019, 2020, 2021, 2022, 2044 Guillaume Le Vaillant # Copyright © 2019, 2020 John Soo # Copyright © 2019 Jonathan Brielmaier # Copyright © 2019 Evan Straw @@ -2004,6 +2004,7 @@ dist_patch_DATA = \ %D%/packages/patches/sbcl-clml-fix-types.patch \ %D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch \ %D%/packages/patches/sbcl-fix-ppc64-build.patch \ + %D%/packages/patches/sbcl-fix-riscv-build.patch \ %D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \ %D%/packages/patches/scalapack-gcc-10-compilation.patch \ %D%/packages/patches/scheme48-tests.patch \ diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index aa7315a7ce..4f89779d8d 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2018, 2019 Pierre Langlois ;;; Copyright © 2019, 2020 Katherine Cox-Buday ;;; Copyright © 2019 Jesse Gildersleve -;;; Copyright © 2019-2023 Guillaume Le Vaillant +;;; Copyright © 2019-2024 Guillaume Le Vaillant ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Zhu Zihao ;;; Copyright © 2021, 2023 Sharlatan Hellseher @@ -447,7 +447,9 @@ an interpreter, a compiler, a debugger, and much more.") version "-source.tar.bz2")) (sha256 (base32 "0xhpdnsg8idzxkn20iw8gd2rk470d7vc22vrp5clq9fj117vgn43")) - (patches (search-patches "sbcl-fix-ppc64-build.patch")) + ;; TODO: Remove these patches when updating to sbcl > 2.4.0. + (patches (search-patches "sbcl-fix-ppc64-build.patch" + "sbcl-fix-riscv-build.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/sbcl-fix-riscv-build.patch b/gnu/packages/patches/sbcl-fix-riscv-build.patch new file mode 100644 index 0000000000..3e01ee6579 --- /dev/null +++ b/gnu/packages/patches/sbcl-fix-riscv-build.patch @@ -0,0 +1,19 @@ +commit b286d92af7468164c155c70d38213211b296fdfe +Author: Douglas Katzman +Date: Wed Jan 10 11:46:55 2024 -0500 + + Fix riscv build + +diff --git a/src/compiler/riscv/float.lisp b/src/compiler/riscv/float.lisp +index ce46d24ac..a16380293 100644 +--- a/src/compiler/riscv/float.lisp ++++ b/src/compiler/riscv/float.lisp +@@ -578,7 +578,7 @@ + (:results (res :scs (double-reg))) + (:arg-types signed-num) + (:result-types double-float) +- (:translate make-double-float) ++ (:translate %make-double-float) + (:policy :fast-safe) + (:generator 2 + (inst fmvx-> :double res bits))) -- cgit v1.2.3