mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-20 14:47:20 +01:00
gnu: sbcl: Update to 2.4.5.
* gnu/packages/lisp.scm (sbcl): Update to 2.4.5. [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: Id918ee31aec016b987b0831680847b502c88fb5c
This commit is contained in:
parent
1718d2ebd2
commit
d03fcff19d
4 changed files with 14 additions and 69 deletions
|
@ -2065,8 +2065,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 \
|
||||
|
|
|
@ -444,17 +444,14 @@ (define-public clisp
|
|||
(define-public sbcl
|
||||
(package
|
||||
(name "sbcl")
|
||||
(version "2.4.0")
|
||||
(version "2.4.5")
|
||||
(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 "1lbvb9rzlkl3h8s75i2js4dnmgxmvs41jxjb5dj0f603r688xxjd"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -497,7 +494,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
|
||||
|
@ -532,8 +530,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"))
|
||||
|
@ -579,17 +576,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")
|
||||
|
@ -635,8 +632,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)
|
||||
|
@ -650,14 +646,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"))
|
||||
|
@ -668,8 +662,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
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
commit 255f3ead060129aa097b62f10d054cdc4997a431
|
||||
Author: Douglas Katzman <dougk@google.com>
|
||||
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,
|
|
@ -1,19 +0,0 @@
|
|||
commit b286d92af7468164c155c70d38213211b296fdfe
|
||||
Author: Douglas Katzman <dougk@google.com>
|
||||
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)))
|
Loading…
Reference in a new issue