From bbdf768bfada1e58bcfd4e6133025488f02352d6 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 29 Mar 2024 21:16:07 +0100 Subject: gnu: sbcl: Update to 2.4.3. * gnu/packages/lisp.scm (sbcl): Update to 2.4.3. [source]: Remove obsolete patches. [inputs]: Add bash-minimal. [arguments]: Remove trailing booleans. * gnu/local.mk (dist_patch_DATA): Remove obsolete patches. * gnu/packages/patches/sbcl-fix-ppc64-build.patch: Remove file. * gnu/packages/patches/sbcl-fix-riscv-build.patch: Remove file. Change-Id: I77267c5e0a71236248840f5a03cd6b2290190b02 --- gnu/local.mk | 2 -- gnu/packages/lisp.scm | 35 ++++++++++--------------- gnu/packages/patches/sbcl-fix-ppc64-build.patch | 27 ------------------- gnu/packages/patches/sbcl-fix-riscv-build.patch | 19 -------------- 4 files changed, 14 insertions(+), 69 deletions(-) delete mode 100644 gnu/packages/patches/sbcl-fix-ppc64-build.patch delete mode 100644 gnu/packages/patches/sbcl-fix-riscv-build.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5429dc498c..3dbdc9042a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2026,8 +2026,6 @@ 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-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 219b183753..d6f1471a06 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -440,17 +440,14 @@ (define-public clisp (define-public sbcl (package (name "sbcl") - (version "2.4.0") + (version "2.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" version "-source.tar.bz2")) (sha256 - (base32 "0xhpdnsg8idzxkn20iw8gd2rk470d7vc22vrp5clq9fj117vgn43")) - ;; TODO: Remove these patches when updating to sbcl > 2.4.0. - (patches (search-patches "sbcl-fix-ppc64-build.patch" - "sbcl-fix-riscv-build.patch")) + (base32 "1wn3nwq3qn33r6pxr57kwjhdx4w80f51akrx9b3x6amqjbgsmjc9")) (modules '((guix build utils))) (snippet '(begin @@ -493,7 +490,8 @@ (define-public sbcl (texlive-updmap.cfg (list texlive-texinfo)) which)) (inputs - (list gmp ; for sb-gmp + (list bash-minimal + gmp ; for sb-gmp mpfr ; for sb-mpfr (list zstd "lib"))) (arguments @@ -528,8 +526,7 @@ (define-public sbcl cl-asdf "/share/common-lisp/source/asdf/asdf.lisp")) (contrib-asdf "contrib/asdf/asdf.lisp")) - (copy-file guix-asdf contrib-asdf)) - #t)) + (copy-file guix-asdf contrib-asdf)))) (add-before 'build 'patch-unix-tool-paths (lambda* (#:key outputs inputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -575,17 +572,17 @@ (define (quoted-path input path) (("\\(deftest pwent\\.[12]" all) (string-append "#+nil ;disabled by Guix\n" all)) (("\\(deftest grent\\.[12]" all) - (string-append "#+nil ;disabled by Guix\n" all)))) - #t)) + (string-append "#+nil ;disabled by Guix\n" all)))))) (add-before 'build 'fix-contrib-library-path (lambda* (#:key inputs #:allow-other-keys) (let ((gmp (assoc-ref inputs "gmp")) (mpfr (assoc-ref inputs "mpfr"))) (substitute* '("contrib/sb-gmp/gmp.lisp") - (("\"libgmp\\.so") (string-append "\"" gmp "/lib/libgmp.so"))) + (("\"libgmp\\.so") + (string-append "\"" gmp "/lib/libgmp.so"))) (substitute* '("contrib/sb-mpfr/mpfr.lisp") - (("\"libmpfr\\.so") (string-append "\"" mpfr "/lib/libmpfr.so")))) - #t)) + (("\"libmpfr\\.so") + (string-append "\"" mpfr "/lib/libmpfr.so")))))) (replace 'build (lambda* (#:key outputs #:allow-other-keys) (setenv "CC" "gcc") @@ -631,8 +628,7 @@ (define (quoted-path input path) (lambda () (display (string-append "(sb-ext:set-sbcl-source-location \"" - source-dir "\")") ))) - #t))) + source-dir "\")") )))))) (add-after 'install 'remove-coreutils-references ;; They are only useful on non-Linux, non-SBCL. (lambda* (#:key outputs #:allow-other-keys) @@ -646,14 +642,12 @@ (define (quoted-path input path) "(\"/usr/bin/env\"")) (substitute* (string-append share-dir "contrib/asdf/uiop.lisp") (("\\(\".*/usr/bin/env\"") - "(\"/usr/bin/env\"")) - #t))) + "(\"/usr/bin/env\""))))) (add-after 'install 'install-shared-library (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (lib-dir (string-append out "/lib"))) - (install-file "src/runtime/libsbcl.so" lib-dir) - #t))) + (install-file "src/runtime/libsbcl.so" lib-dir)))) (add-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -664,8 +658,7 @@ (define (quoted-path input path) (mkdir-p new-doc/sbcl-dir) (copy-recursively (string-append old-doc-dir "/sbcl") new-doc/sbcl-dir) - (delete-file-recursively old-doc-dir) - #t)))) + (delete-file-recursively old-doc-dir))))) ;; No 'check' target, though "make.sh" (build phase) runs tests. #:tests? #f)) (native-search-paths diff --git a/gnu/packages/patches/sbcl-fix-ppc64-build.patch b/gnu/packages/patches/sbcl-fix-ppc64-build.patch deleted file mode 100644 index a7d4d9a21e..0000000000 --- a/gnu/packages/patches/sbcl-fix-ppc64-build.patch +++ /dev/null @@ -1,27 +0,0 @@ -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, diff --git a/gnu/packages/patches/sbcl-fix-riscv-build.patch b/gnu/packages/patches/sbcl-fix-riscv-build.patch deleted file mode 100644 index 3e01ee6579..0000000000 --- a/gnu/packages/patches/sbcl-fix-riscv-build.patch +++ /dev/null @@ -1,19 +0,0 @@ -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