me
/
guix
Archived
1
0
Fork 0

Merge branch 'lisp-team'

Change-Id: I4ec6ad695392c76c389224255477819fa686eecb
master
Guillaume Le Vaillant 2024-01-11 16:49:24 +01:00
commit 24f000a49a
No known key found for this signature in database
GPG Key ID: 6BE8208ADF21FE3F
5 changed files with 167 additions and 124 deletions

View File

@ -20,7 +20,7 @@
# Copyright © 2018, 2019, 2020, 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com> # Copyright © 2018, 2019, 2020, 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com> # Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> # Copyright © 2018, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net> # Copyright © 2019, 2020, 2021, 2022, 2044 Guillaume Le Vaillant <glv@posteo.net>
# Copyright © 2019, 2020 John Soo <jsoo1@asu.edu> # Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> # Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
# Copyright © 2019 Evan Straw <evan.straw99@gmail.com> # Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
@ -2007,6 +2007,8 @@ dist_patch_DATA = \
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \ %D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
%D%/packages/patches/sbcl-clml-fix-types.patch \ %D%/packages/patches/sbcl-clml-fix-types.patch \
%D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.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/sbcl-png-fix-sbcl-compatibility.patch \
%D%/packages/patches/scalapack-gcc-10-compilation.patch \ %D%/packages/patches/scalapack-gcc-10-compilation.patch \
%D%/packages/patches/scheme48-tests.patch \ %D%/packages/patches/scheme48-tests.patch \

View File

@ -14,7 +14,7 @@
;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com> ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
;;; Copyright © 2019-2023 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019-2024 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech> ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
@ -168,29 +168,30 @@
(sbcl-package->ecl-package sbcl-alexandria-plus)) (sbcl-package->ecl-package sbcl-alexandria-plus))
(define-public sbcl-alexandria (define-public sbcl-alexandria
(package (let ((commit "009b7e532071d9777bdbd63b82d776555da95916")
(name "sbcl-alexandria") (revision "0"))
(version "1.4") (package
(source (name "sbcl-alexandria")
(origin (version (git-version "1.4" revision commit))
(method git-fetch) (source
(uri (git-reference (origin
(url "https://gitlab.common-lisp.net/alexandria/alexandria.git") (method git-fetch)
(commit (string-append "v" version)))) (uri (git-reference
(sha256 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
(base32 (commit commit)))
"0r1adhvf98h0104vq14q7y99h0hsa8wqwqw92h7ghrjxmsvz2z6l")) (file-name (git-file-name "cl-alexandria" version))
(file-name (git-file-name name version)))) (sha256
(build-system asdf-build-system/sbcl) (base32 "0pdj779j3nwzn8f1661vf00rrjrbks1xgiq0rvwjw6qyxsfqfnl9"))))
(native-inputs (build-system asdf-build-system/sbcl)
(list sbcl-rt)) (native-inputs
(synopsis "Collection of portable utilities for Common Lisp") (list sbcl-rt))
(description (synopsis "Collection of portable utilities for Common Lisp")
"Alexandria is a collection of portable utilities. It does not contain (description
"Alexandria is a collection of portable utilities. It does not contain
conceptual extensions to Common Lisp. It is conservative in scope, and conceptual extensions to Common Lisp. It is conservative in scope, and
portable between implementations.") portable between implementations.")
(home-page "https://common-lisp.net/project/alexandria/") (home-page "https://common-lisp.net/project/alexandria/")
(license license:public-domain))) (license license:public-domain))))
(define-public cl-alexandria (define-public cl-alexandria
(sbcl-package->cl-source-package sbcl-alexandria)) (sbcl-package->cl-source-package sbcl-alexandria))
@ -1280,14 +1281,14 @@ timeouts.")
(define-public sbcl-bordeaux-threads (define-public sbcl-bordeaux-threads
(package (package
(name "sbcl-bordeaux-threads") (name "sbcl-bordeaux-threads")
(version "0.9.2") (version "0.9.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/sionescu/bordeaux-threads") (url "https://github.com/sionescu/bordeaux-threads")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "0d9sd7pm91yhln95z8nclhn6n4l5b2cp3pxpggpmpv7rsq84ssmh")) (base32 "0pp3w5hsph47sqagr4j2pbg3ddb29jx93zg8kvxsp2c4flp0qz0f"))
(file-name (git-file-name "cl-bordeaux-threads" version)))) (file-name (git-file-name "cl-bordeaux-threads" version))))
(inputs (list sbcl-alexandria (inputs (list sbcl-alexandria
sbcl-global-vars sbcl-global-vars
@ -1299,16 +1300,6 @@ timeouts.")
(list (list
#:phases #:phases
#~(modify-phases %standard-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 (add-after 'unpack 'adjust-test-sleep
(lambda _ (lambda _
;; 0.001 is too short for some slower machines. ;; 0.001 is too short for some slower machines.
@ -1360,35 +1351,37 @@ thin compatibility layer for gray streams.")
(sbcl-package->ecl-package sbcl-trivial-gray-streams)) (sbcl-package->ecl-package sbcl-trivial-gray-streams))
(define-public sbcl-flexi-streams (define-public sbcl-flexi-streams
(package (let ((commit "74a1027311371a57258eba1bc908e050f5702277")
(name "sbcl-flexi-streams") (revision "0"))
(version "1.0.19") (package
(source (name "sbcl-flexi-streams")
(origin (version (git-version "1.0.19" revision commit))
(method git-fetch) (source
(uri (git-reference (origin
(url "https://github.com/edicl/flexi-streams") (method git-fetch)
(commit (string-append "v" version)))) (uri (git-reference
(file-name (git-file-name "flexi-streams" version)) (url "https://github.com/edicl/flexi-streams")
(sha256 (commit commit)))
(base32 "0v7lh4nrldzczd4mwylvmxfdxk7wfsli24iv1axd6mkb833llr70")))) (file-name (git-file-name "cl-flexi-streams" version))
(build-system asdf-build-system/sbcl) (sha256
(arguments (base32 "04azqvz11s8dngy49bjl19hrfn0ip1b7m0szm4hlppq364msil7b"))))
`(#:phases (build-system asdf-build-system/sbcl)
(modify-phases %standard-phases (arguments
(add-after 'unpack 'make-git-checkout-writable (list #:phases
(lambda _ #~(modify-phases %standard-phases
(for-each make-file-writable (find-files ".")) (add-after 'unpack 'make-git-checkout-writable
#t))))) (lambda _
(inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams))) (for-each make-file-writable (find-files ".")))))))
(synopsis "Implementation of virtual bivalent streams for Common Lisp") (inputs
(description "Flexi-streams is an implementation of \"virtual\" bivalent (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 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 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 encodings which can be changed on the fly. It also supplies in-memory binary
streams which are similar to string streams.") streams which are similar to string streams.")
(home-page "http://weitz.de/flexi-streams/") (home-page "http://weitz.de/flexi-streams/")
(license license:bsd-3))) (license license:bsd-3))))
(define-public cl-flexi-streams (define-public cl-flexi-streams
(sbcl-package->cl-source-package sbcl-flexi-streams)) (sbcl-package->cl-source-package sbcl-flexi-streams))
@ -4843,27 +4836,29 @@ precisely controls the behavior of the parser via Common Lisp restarts.")
(sbcl-package->ecl-package sbcl-unix-opts)) (sbcl-package->ecl-package sbcl-unix-opts))
(define-public sbcl-trivial-garbage (define-public sbcl-trivial-garbage
(package (let ((commit "3474f6414b73d4e3aa2d5c53080f4247a34f6380")
(name "sbcl-trivial-garbage") (revision "0"))
(version "0.21") (package
(source (name "sbcl-trivial-garbage")
(origin (version (git-version "0.21" revision commit))
(method git-fetch) (source
(uri (git-reference (origin
(url "https://github.com/trivial-garbage/trivial-garbage") (method git-fetch)
(commit (string-append "v" version)))) (uri (git-reference
(file-name (git-file-name "trivial-garbage" version)) (url "https://github.com/trivial-garbage/trivial-garbage")
(sha256 (commit commit)))
(base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n")))) (file-name (git-file-name "cl-trivial-garbage" version))
(build-system asdf-build-system/sbcl) (sha256
(native-inputs (base32 "0rfwxvwg0kpcaa0hsi035yrkfdfks4bq8d9azmrww2f0rmv9g6sd"))))
(list sbcl-rt)) (build-system asdf-build-system/sbcl)
(home-page "https://common-lisp.net/project/trivial-garbage/") (native-inputs
(synopsis "Portable GC-related APIs for Common Lisp") (list sbcl-rt))
(description "@command{trivial-garbage} provides a portable API to (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 finalizers, weak hash-tables and weak pointers on all major implementations of
the Common Lisp programming language.") the Common Lisp programming language.")
(license license:public-domain))) (license license:public-domain))))
(define-public cl-trivial-garbage (define-public cl-trivial-garbage
(sbcl-package->cl-source-package sbcl-trivial-garbage)) (sbcl-package->cl-source-package sbcl-trivial-garbage))
@ -5108,39 +5103,40 @@ WebKit browsing engine.")
(sbcl-package->ecl-package sbcl-cl-webkit)) (sbcl-package->ecl-package sbcl-cl-webkit))
(define-public sbcl-lparallel (define-public sbcl-lparallel
(package (let ((commit "80fc2952a074776abd343d6b5d3ab157f0e1df7a")
(name "sbcl-lparallel") (revision "1"))
(version "2.8.4") (package
(source (name "sbcl-lparallel")
(origin (version (git-version "2.8.4" revision commit))
(method git-fetch) (source
(uri (git-reference (origin
(url "https://github.com/lmj/lparallel/") (method git-fetch)
(commit (string-append "lparallel-" version)))) (uri (git-reference
(file-name (git-file-name "lparallel" version)) (url "https://github.com/sharplispers/lparallel/")
(sha256 (commit commit)))
(base32 (file-name (git-file-name "cl-lparallel" version))
"0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9")))) (sha256
(build-system asdf-build-system/sbcl) (base32 "0nv2dx8cl25g68icqhw95yr5mygm86lcjzmzijql51na1p60g6y9"))))
(inputs (build-system asdf-build-system/sbcl)
`(("alexandria" ,sbcl-alexandria) (inputs
("bordeaux-threads" ,sbcl-bordeaux-threads) (list sbcl-alexandria
("trivial-garbage" ,sbcl-trivial-garbage))) sbcl-bordeaux-threads
(arguments sbcl-trivial-garbage))
`(#:phases (arguments
(modify-phases %standard-phases `(#:phases
(add-after 'unpack 'fix-dependency (modify-phases %standard-phases
;; lparallel loads a SBCL specific system in its asd file. This is (add-after 'unpack 'fix-dependency
;; not carried over into the fasl which is generated. In order for ;; lparallel loads a SBCL specific system in its asd file. This is
;; it to be carried over, it needs to be listed as a dependency. ;; not carried over into the fasl which is generated. In order for
(lambda _ ;; it to be carried over, it needs to be listed as a dependency.
(substitute* "lparallel.asd" (lambda _
((":depends-on \\(:alexandria" all) (substitute* "lparallel.asd"
(string-append all " #+sbcl :sb-cltl2")))))))) ((":depends-on \\(:alexandria" all)
(home-page "https://lparallel.org/") (string-append all " #+sbcl :sb-cltl2"))))))))
(synopsis "Parallelism for Common Lisp") (home-page "https://lparallel.org/")
(description (synopsis "Parallelism for Common Lisp")
"@command{lparallel} is a library for parallel programming in Common (description
"@command{lparallel} is a library for parallel programming in Common
Lisp, featuring: Lisp, featuring:
@itemize @itemize
@ -5155,17 +5151,13 @@ Lisp, featuring:
@item task killing by category, @item task killing by category,
@item integrated timeouts. @item integrated timeouts.
@end itemize\n") @end itemize\n")
(license license:expat))) (license license:expat))))
(define-public cl-lparallel (define-public cl-lparallel
(sbcl-package->cl-source-package sbcl-lparallel)) (sbcl-package->cl-source-package sbcl-lparallel))
(define-public ecl-lparallel (define-public ecl-lparallel
(package (sbcl-package->ecl-package sbcl-lparallel))
(inherit (sbcl-package->ecl-package sbcl-lparallel))
(arguments
;; TODO: Find why the tests get stuck forever; disable them for now.
`(#:tests? #f))))
(define-public sbcl-cl-markup (define-public sbcl-cl-markup
(let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390")) (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
@ -16368,8 +16360,8 @@ directly.")
(sbcl-package->ecl-package sbcl-custom-hash-table)) (sbcl-package->ecl-package sbcl-custom-hash-table))
(define-public sbcl-concurrent-hash-tables (define-public sbcl-concurrent-hash-tables
(let ((commit "1b9f0b5da54fece4f42296e1bdacfcec0c370a5a") (let ((commit "6ad539b8970ff94b1e1369b59065ed7d0660904c")
(revision "0")) (revision "1"))
(package (package
(name "sbcl-concurrent-hash-tables") (name "sbcl-concurrent-hash-tables")
(version (git-version "0.0.0" revision commit)) (version (git-version "0.0.0" revision commit))
@ -16381,7 +16373,7 @@ directly.")
(commit commit))) (commit commit)))
(file-name (git-file-name "cl-concurrent-hash-tables" version)) (file-name (git-file-name "cl-concurrent-hash-tables" version))
(sha256 (sha256
(base32 "03g24ycr1ngzg8bv10iwp1bmnldz5bxbfdqrzhfxhicpibh49r96")))) (base32 "0wgbv3wl33rlfbywmjag0gk7igzfksmib30r8cbnd5n47ic09iip"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (inputs
(list sbcl-atomics sbcl-bordeaux-threads)) (list sbcl-atomics sbcl-bordeaux-threads))

View File

@ -14,7 +14,7 @@
;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com> ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
;;; Copyright © 2019-2023 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019-2024 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
@ -439,14 +439,17 @@ an interpreter, a compiler, a debugger, and much more.")
(define-public sbcl (define-public sbcl
(package (package
(name "sbcl") (name "sbcl")
(version "2.3.7") (version "2.4.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
version "-source.tar.bz2")) version "-source.tar.bz2"))
(sha256 (sha256
(base32 "1xwr1pnwd3xj375ainlad7mm479rk2mrks8dc6d92cash3xl90b9")) (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"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -0,0 +1,27 @@
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,

View File

@ -0,0 +1,19 @@
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)))