mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
Merge branch 'lisp-team'
Change-Id: I4ec6ad695392c76c389224255477819fa686eecb
This commit is contained in:
commit
24f000a49a
5 changed files with 167 additions and 124 deletions
|
@ -20,7 +20,7 @@
|
|||
# Copyright © 2018, 2019, 2020, 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@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 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
# 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-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 \
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.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 © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
|
||||
;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
|
||||
|
@ -168,29 +168,30 @@ (define-public ecl-alexandria-plus
|
|||
(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))
|
||||
|
@ -1280,14 +1281,14 @@ (define-public cl-trivial-timeout
|
|||
(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
|
||||
|
@ -1299,16 +1300,6 @@ (define-public sbcl-bordeaux-threads
|
|||
(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.
|
||||
|
@ -1360,35 +1351,37 @@ (define-public ecl-trivial-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
|
||||
(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
|
||||
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))
|
||||
|
@ -4843,27 +4836,29 @@ (define-public ecl-unix-opts
|
|||
(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))
|
||||
|
@ -5108,39 +5103,40 @@ (define-public ecl-cl-webkit
|
|||
(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
|
||||
|
@ -5155,17 +5151,13 @@ (define-public sbcl-lparallel
|
|||
@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))
|
||||
|
||||
(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"))
|
||||
|
@ -16368,8 +16360,8 @@ (define-public ecl-custom-hash-table
|
|||
(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))
|
||||
|
@ -16381,7 +16373,7 @@ (define-public sbcl-concurrent-hash-tables
|
|||
(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))
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.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 Zhu Zihao <all_but_last@163.com>
|
||||
;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
|
@ -439,14 +439,17 @@ (define-public clisp
|
|||
(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"))
|
||||
;; 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
|
||||
|
|
27
gnu/packages/patches/sbcl-fix-ppc64-build.patch
Normal file
27
gnu/packages/patches/sbcl-fix-ppc64-build.patch
Normal 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,
|
19
gnu/packages/patches/sbcl-fix-riscv-build.patch
Normal file
19
gnu/packages/patches/sbcl-fix-riscv-build.patch
Normal 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)))
|
Loading…
Reference in a new issue