From 047a0c31f9daec1d82053a5c25ec34f708ea3b7b Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Thu, 3 Aug 2023 16:44:16 +0100 Subject: gnu: clisp: Add threads support on x84_64-linux. Guix's build version of CLISP, fails to load bordeaux-threads: Error while trying to load definition for system bordeaux-threads This implementation is unsupported. This patch adds support for POSIX_THREADS on x86_64-linux system. * gnu/packages/lisp.scm (clisp)[arguments]: Add configuration options to support threads on x86_64-linux system. Reported and Co-Authored by Andrew Kravchuk Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 6f425a6e4a..fd2e1a006a 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2019-2023 Guillaume Le Vaillant ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Zhu Zihao -;;; Copyright © 2021 Sharlatan Hellseher +;;; Copyright © 2021, 2023 Sharlatan Hellseher ;;; Copyright © 2021 Paul A. Patience ;;; Copyright © 2021 Charles Jackson ;;; Copyright © 2022 Joeke de Graaf @@ -25,6 +25,7 @@ ;;; Copyright © 2022 ( ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Yovan Naumovski +;;; Copyright © 2023 Andrew Kravchuk Date: Tue, 29 Aug 2023 16:48:10 +0300 Subject: gnu: sbcl: Update to 2.3.8. * gnu/packages/lisp.scm (sbcl): Update to 2.3.8. [source]: Remove 'patches' field. * gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch: Remove file. * gnu/packages/local.mk (dist-patch_DATA): Unregister it. Co-authored-by: Guillaume Le Vaillant --- gnu/local.mk | 1 - gnu/packages/lisp.scm | 6 +- .../sbcl-riscv-Make-contribs-build-again.patch | 71 ---------------------- 3 files changed, 2 insertions(+), 76 deletions(-) delete mode 100644 gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch diff --git a/gnu/local.mk b/gnu/local.mk index f0a59f1658..728b5f5685 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1933,7 +1933,6 @@ 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-png-fix-sbcl-compatibility.patch \ - %D%/packages/patches/sbcl-riscv-Make-contribs-build-again.patch \ %D%/packages/patches/scalapack-gcc-10-compilation.patch \ %D%/packages/patches/scheme48-tests.patch \ %D%/packages/patches/scons-test-environment.patch \ diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index fd2e1a006a..c2a771093c 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -438,17 +438,15 @@ an interpreter, a compiler, a debugger, and much more.") (define-public sbcl (package (name "sbcl") - (version "2.3.5") + (version "2.3.8") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" version "-source.tar.bz2")) (sha256 - (base32 "11ji5n65l31249r0v7hm0wc0yk2ila0y746nj36xn1cxrwh0gjc9")) + (base32 "0a8dranh15gsbq51ssnvccl91mzqmgs5xsmwisz5hvlimjr725a2")) (modules '((guix build utils))) - ;; backport from upstream. - (patches (search-patches "sbcl-riscv-Make-contribs-build-again.patch")) (snippet '(begin ;; Don't force ARMv5. diff --git a/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch b/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch deleted file mode 100644 index 85b96e1b20..0000000000 --- a/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 8704f528f227f587d0e06dfd2f807aeca7a69a71 Mon Sep 17 00:00:00 2001 -From: Charles Zhang -Date: Thu, 1 Jun 2023 16:39:26 +0200 -Subject: [PATCH] riscv: Make contribs build again. - -The issue was that the LINKAGE_TEMP_REG being NL3 was a C argument -register, so of course that caused clashing on C call-out, causing -problems with run-program. Going back to NL7 didn't work either -because it wasn't getting saved before entry into the trampoline. The -code here used to have NL7 before the trampoline code was gutted and -then restored, so I'm wondering how this ever worked before, because -it definitely did. Pick LIP as the TEMP_REG now because not only does -it get saved, it's also the least likely thing to get disturbed by -clobbering. - -Fixes #lp2002930. - -Also remove assembly routine printing because it doesn't need to be -part of the build script (unlike the other files in output/ which -can't trivially be recovered from a built image), and because not all -disassembler printers have been written on riscv yet. ---- - NEWS | 3 +++ - make-target-2-load.lisp | 4 ---- - src/runtime/riscv-arch.c | 2 +- - 3 files changed, 4 insertions(+), 5 deletions(-) - -diff --git a/NEWS b/NEWS -index 17537ff92..5c0f7777b 100644 ---- a/NEWS -+++ b/NEWS -@@ -1,5 +1,8 @@ - ;;;; -*- coding: utf-8; fill-column: 78 -*- - -+changes relative to sbcl-2.3.5: -+ * bug fix: riscv can build contribs again. -+ - changes in sbcl-2.3.5 relative to sbcl-2.3.4: - * enhancement: Unicode support has been updated to support version 15.0.0 of - the Unicode standard, including addition of characters and their collation -diff --git a/make-target-2-load.lisp b/make-target-2-load.lisp -index 885ebda74..b9a1a1e36 100644 ---- a/make-target-2-load.lisp -+++ b/make-target-2-load.lisp -@@ -6,10 +6,6 @@ - (defvar *compile-files-p* nil) - (load (merge-pathnames "src/cold/warm.lisp" *load-pathname*)) - --(with-open-file (stream "output/asm-routines.txt" :direction :output -- :if-does-not-exist :create :if-exists :supersede) -- (sb-c:dis sb-fasl:*assembler-routines* stream)) -- - ;; sb-xref-for-internals is actively harmful to tree-shaking. - ;; Remove some symbols to make the hide-packages test pass. - #+sb-xref-for-internals -diff --git a/src/runtime/riscv-arch.c b/src/runtime/riscv-arch.c -index 6c1994829..062623899 100644 ---- a/src/runtime/riscv-arch.c -+++ b/src/runtime/riscv-arch.c -@@ -159,7 +159,7 @@ arch_install_interrupt_handlers(void) - * Linkage entry size is 8 or 20, because we need 2 instructions for the 32-bit case and we need 3 instructions and an 8 byte address in the 64-bit case. - */ - --#define LINKAGE_TEMP_REG reg_NL3 -+#define LINKAGE_TEMP_REG reg_LIP // Lisp needs to save before entry. - - void arch_write_linkage_table_entry(int index, void *target_addr, int datap) - { --- -2.40.1 - -- cgit 1.4.1 From 17c13b4a423097506c9b8fb01ca34ce2ef2b932f Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 4 Sep 2023 13:42:22 +0200 Subject: gnu: maxima: Update to 5.47.0. * gnu/packages/maths.scm (maxima): Update to 5.47.0. [inputs]: Remove labels. [arguments]: Use gexps. Remove trailing booleans. --- gnu/packages/maths.scm | 167 ++++++++++++++++++++++++------------------------- 1 file changed, 82 insertions(+), 85 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index f413403207..b96d401d31 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -48,7 +48,7 @@ ;;; Copyright © 2021, 2022 Paul A. Patience ;;; Copyright © 2021 Ivan Gankevich ;;; Copyright © 2021 Jean-Baptiste Volatier -;;; Copyright © 2021 Guillaume Le Vaillant +;;; Copyright © 2021, 2023 Guillaume Le Vaillant ;;; Copyright © 2021 Pierre-Antoine Bouttier ;;; Copyright © 2022 Zhu Zihao ;;; Copyright © 2022 Sharlatan Hellseher @@ -4324,102 +4324,99 @@ to BMP, JPEG or PNG image formats.") (define-public maxima (package (name "maxima") - (version "5.46.0") + (version "5.47.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/maxima/Maxima-source/" version "-source/" name "-" version ".tar.gz")) (sha256 - (base32 - "01wbm8jj43p7gpdj4h55aij0b44bjydn4bwb7q1wjrfs91mz143k")) + (base32 "0yhgsi7s22bpblrmrj60x0jsjdz98b5hjdcq7b0fhlzx4hdh414i")) (patches (search-patches "maxima-defsystem-mkdir.patch")))) (build-system gnu-build-system) (inputs - `(("bash" ,bash-minimal) - ("gnuplot" ,gnuplot) ;for plots - ("sbcl" ,sbcl) - ("sed" ,sed) - ("tk" ,tk))) ;Tcl/Tk is used by 'xmaxima' + (list bash-minimal + gnuplot ;for plots + sbcl + sed + tk)) ;Tcl/Tk is used by 'xmaxima' (native-inputs (list texinfo perl python)) (arguments - `(#:configure-flags - ,#~(list "--enable-sbcl" - (string-append "--with-sbcl=" #$sbcl "/bin/sbcl") - (string-append "--with-posix-shell=" #$bash-minimal "/bin/sh") - (string-append "--with-wish=" #$tk "/bin/wish" - #$(version-major+minor (package-version tk)))) - ;; By default Maxima attempts to write temporary files to - ;; '/tmp/nix-build-maxima-*', which won't exist at run time. - ;; Work around that. - #:make-flags (list "TMPDIR=/tmp") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-paths - (lambda* (#:key inputs #:allow-other-keys) - (let* ((sed (search-input-file inputs "/bin/sed")) - (coreutils (assoc-ref inputs "coreutils")) - (dirname (string-append coreutils "/bin/dirname")) - (head (string-append coreutils "/bin/head")) - (perl (search-input-file inputs "/bin/perl")) - (python (search-input-file inputs "/bin/python3"))) - (substitute* "src/maxima.in" - (("sed ") (string-append sed " ")) - (("dirname") dirname) - (("head") head)) - (substitute* "doc/info/Makefile.in" - (("/usr/bin/env perl") perl)) - (substitute* "doc/info/build_html.sh.in" - (("python") python)) - #t))) - (add-before 'check 'pre-check - (lambda _ - (chmod "src/maxima" #o555) - #t)) - (replace 'check - (lambda _ - ;; This is derived from the testing code in the "debian/rules" file - ;; of Debian's Maxima package. - ;; If Maxima can successfully run this, the binary to be installed - ;; should be fine. - (invoke "sh" "-c" - (string-append - "./maxima-local " - "--lisp=sbcl " - "--batch-string=\"run_testsuite();\" " - "| grep -q \"No unexpected errors found\"")))) - ;; Make sure the doc and emacs files are found in the - ;; standard location. Also configure maxima to find gnuplot - ;; without having it on the PATH. - (add-after 'install 'post-install - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((gnuplot (assoc-ref inputs "gnuplot")) - (out (assoc-ref outputs "out")) - (datadir (string-append out "/share/maxima/" ,version)) - (binutils (dirname (search-input-file inputs "/bin/as")))) - (with-directory-excursion out - (mkdir-p "share/emacs") - (mkdir-p "share/doc") - (symlink - (string-append datadir "/doc/") - (string-append out "/share/doc/maxima")) - (with-atomic-file-replacement - (string-append datadir "/share/maxima-init.lisp") - (lambda (in out) - (format out "~a ~s~a~%" - "(setf $gnuplot_command " - (string-append gnuplot "/bin/gnuplot") ")") - (dump-port in out)))) - ;; Ensure that Maxima will have access to the GNU binutils - ;; components at runtime. - (wrap-program (string-append out "/bin/maxima") - `("PATH" prefix (,binutils)))) - #t)) - ;; The Maxima command ‘describe’ allows picking the relevant portions - ;; from Maxima’s Texinfo docs. However it does not support reading - ;; gzipped info files. - (delete 'compress-documentation)))) + (list + #:configure-flags + #~(list "--enable-sbcl" + (string-append "--with-sbcl=" #$sbcl "/bin/sbcl") + (string-append "--with-posix-shell=" #$bash-minimal "/bin/sh") + (string-append "--with-wish=" #$tk "/bin/wish" + #$(version-major+minor (package-version tk)))) + ;; By default Maxima attempts to write temporary files to + ;; '/tmp/nix-build-maxima-*', which won't exist at run time. + ;; Work around that. + #:make-flags #~(list "TMPDIR=/tmp") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (let* ((sed (search-input-file inputs "/bin/sed")) + (coreutils (assoc-ref inputs "coreutils")) + (dirname (string-append coreutils "/bin/dirname")) + (head (string-append coreutils "/bin/head")) + (perl (search-input-file inputs "/bin/perl")) + (python (search-input-file inputs "/bin/python3"))) + (substitute* "src/maxima.in" + (("sed ") (string-append sed " ")) + (("dirname") dirname) + (("head") head)) + (substitute* "doc/info/Makefile.in" + (("/usr/bin/env perl") perl)) + (substitute* "doc/info/build_html.sh.in" + (("python") python))))) + (add-before 'check 'pre-check + (lambda _ + (chmod "src/maxima" #o555))) + (replace 'check + (lambda _ + ;; This is derived from the testing code in the "debian/rules" file + ;; of Debian's Maxima package. + ;; If Maxima can successfully run this, the binary to be installed + ;; should be fine. + (invoke "sh" "-c" + (string-append + "./maxima-local " + "--lisp=sbcl " + "--batch-string=\"run_testsuite();\" " + "| grep -q \"No unexpected errors found\"")))) + ;; Make sure the doc and emacs files are found in the + ;; standard location. Also configure maxima to find gnuplot + ;; without having it on the PATH. + (add-after 'install 'post-install + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((gnuplot (assoc-ref inputs "gnuplot")) + (out (assoc-ref outputs "out")) + (datadir (string-append out "/share/maxima/" #$version)) + (binutils (dirname (search-input-file inputs "/bin/as")))) + (with-directory-excursion out + (mkdir-p "share/emacs") + (mkdir-p "share/doc") + (symlink + (string-append datadir "/doc/") + (string-append out "/share/doc/maxima")) + (with-atomic-file-replacement + (string-append datadir "/share/maxima-init.lisp") + (lambda (in out) + (format out "~a ~s~a~%" + "(setf $gnuplot_command " + (string-append gnuplot "/bin/gnuplot") ")") + (dump-port in out)))) + ;; Ensure that Maxima will have access to the GNU binutils + ;; components at runtime. + (wrap-program (string-append out "/bin/maxima") + `("PATH" prefix (#$binutils)))))) + ;; The Maxima command ‘describe’ allows picking the relevant portions + ;; from Maxima’s Texinfo docs. However it does not support reading + ;; gzipped info files. + (delete 'compress-documentation)))) (home-page "https://maxima.sourceforge.io") (synopsis "Numeric and symbolic expression manipulation") (description "Maxima is a system for the manipulation of symbolic and -- cgit 1.4.1 From ee13af93b5f5a6bb3d79ef6c6f31ddc3c06d6faf Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 6 Sep 2023 10:57:58 +0200 Subject: gnu: cl-virality: Update to 0.3.0-1.cdc19cc. * gnu/packages/lisp-xyz.scm (sbcl-virality): Update to 0.3.0-1.cdc19cc. [arguments]: Update 'delete-examples' phase. --- gnu/packages/lisp-xyz.scm | 115 +++++++++++++++++++++++++--------------------- 1 file changed, 62 insertions(+), 53 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 69686dbed9..84ee45b4c9 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -22181,58 +22181,67 @@ fit together as required by any particular game.") (sbcl-package->cl-source-package sbcl-trial)) (define-public sbcl-virality - (package - (name "sbcl-virality") - (version "0.3.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/bufferswap/ViralityEngine") - (commit (string-append "v" version)))) - (file-name (git-file-name "cl-virality" version)) - (sha256 - (base32 "0hvjcvyd628jh4if6swk1wrfb9qdlnpk9ax1y3jarr8ms7ghfcdb")))) - (build-system asdf-build-system/sbcl) - (arguments - `(#:asd-systems '("virality" - "vorigin" - "vorigin.test" - "vshadow" - "vumbra" - "vutils") - #:phases (modify-phases %standard-phases - (add-after 'unpack 'delete-examples - (lambda _ - ;; Don't install the big "examples" directory. - (delete-file-recursively "examples")))))) - (inputs - (list sbcl-3b-bmfont - sbcl-babel - sbcl-cl-cpus - sbcl-cl-graph - sbcl-cl-opengl - sbcl-cl-ppcre - sbcl-cl-slug - sbcl-closer-mop - sbcl-fast-io - sbcl-global-vars - sbcl-glsl-packing - sbcl-jsown - sbcl-lparallel - sbcl-pngload - sbcl-printv - sbcl-queues - sbcl-sdl2 - sbcl-serapeum - sbcl-split-sequence - sbcl-static-vectors - sbcl-trivial-features - sbcl-varjo)) - (home-page "https://github.com/bufferswap/ViralityEngine") - (synopsis "Component-based game engine written in Common Lisp") - (description - "Virality Engine provides a system and workflow that helps describe the + (let ((commit "cdc19cca9b028f0c30d14ed8b3e51359dd46069a") + (revision "1")) + (package + (name "sbcl-virality") + (version (git-version "0.3.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bufferswap/ViralityEngine") + (commit commit))) + (file-name (git-file-name "cl-virality" version)) + (sha256 + (base32 "1s25aapkqcr8fxi0i9wjw0n4jax7r4a9d9wflpr3sqz2vgrg2lz6")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:asd-systems '("virality" + "vorigin" + "vorigin.test" + "vshadow" + "vumbra" + "vutils") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'delete-examples + (lambda _ + ;; Don't install the big "examples" directory. + (delete-file-recursively "examples") + ;; Remove example asd files that cause issues during + ;; the 'copy-source' phase because they have the same + ;; names. + (for-each + delete-file + (find-files "." + "^xXx-SYSTEM-NAME-xXx\\.asd$"))))))) + (inputs + (list sbcl-3b-bmfont + sbcl-babel + sbcl-cl-cpus + sbcl-cl-graph + sbcl-cl-opengl + sbcl-cl-ppcre + sbcl-cl-slug + sbcl-closer-mop + sbcl-fast-io + sbcl-global-vars + sbcl-glsl-packing + sbcl-jsown + sbcl-lparallel + sbcl-pngload + sbcl-printv + sbcl-queues + sbcl-sdl2 + sbcl-serapeum + sbcl-split-sequence + sbcl-static-vectors + sbcl-trivial-features + sbcl-varjo)) + (home-page "https://github.com/bufferswap/ViralityEngine") + (synopsis "Component-based game engine written in Common Lisp") + (description + "Virality Engine provides a system and workflow that helps describe the elements needed to write 2D or 3D games. It was designed with several domain specific languages that make it easier to describe, manipulate, and use assets commonly found in game making. Such assets include (but are not limited to) @@ -22246,7 +22255,7 @@ can be used with them. Components are added to Actors which represent game concepts like players, scenery, effects, etc. We define a component protocol invoked by Virality Engine to move your components to the next state and render them each frame.") - (license license:expat))) + (license license:expat)))) (define-public cl-virality (sbcl-package->cl-source-package sbcl-virality)) -- cgit 1.4.1 From ff1c1617aa1037fefd44c499775a7b386c5b5e4c Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 9 Sep 2023 14:32:47 +0200 Subject: gnu: ecl: Update to 23.9.9. * gnu/packages/lisp.scm (ecl): Update to 23.9.9. --- 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 c2a771093c..c0e5b3eecb 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -267,7 +267,7 @@ interface to the Tk widget system.") (define-public ecl (package (name "ecl") - (version "21.2.1") + (version "23.9.9") (source (origin (method url-fetch) @@ -275,7 +275,7 @@ interface to the Tk widget system.") "https://ecl.common-lisp.dev/static/files/release/" name "-" version ".tgz")) (sha256 - (base32 "000906nnq25177bgsfndiw3iqqgrjc9spk10hzk653sbz3f7anmi")))) + (base32 "107q6gmxlsya4yv38r1x1axrgyyfgdrfkkz97zfp64bcrasdl6y5")))) (build-system gnu-build-system) ;; src/configure uses 'which' to confirm the existence of 'gzip'. (native-inputs -- cgit 1.4.1 From 5c7db8406adc336bf93d9329d9cb988b782536cb Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 12 Sep 2023 14:48:50 +0200 Subject: gnu: sbcl: Downgrade to 2.3.7. Version 2.3.8 doesn't build on riscv64, so let's use version 2.3.7 for now. * gnu/packages/lisp.scm (sbcl): Downgrade to 2.3.7. --- 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 c0e5b3eecb..5303874ff0 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -438,14 +438,14 @@ an interpreter, a compiler, a debugger, and much more.") (define-public sbcl (package (name "sbcl") - (version "2.3.8") + (version "2.3.7") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" version "-source.tar.bz2")) (sha256 - (base32 "0a8dranh15gsbq51ssnvccl91mzqmgs5xsmwisz5hvlimjr725a2")) + (base32 "1xwr1pnwd3xj375ainlad7mm479rk2mrks8dc6d92cash3xl90b9")) (modules '((guix build utils))) (snippet '(begin -- cgit 1.4.1 From 69aadc9e765c7f1ae69870524694b173866d938a Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 13 Sep 2023 13:57:32 +0200 Subject: gnu: cl-bordeaux-threads: Update to 0.9.2. * gnu/packages/lisp-xyz.scm (sbcl-bordeaux-threads): Update to 0.9.2. [inputs]: Add sbcl-global-vars, sbcl-trivial-features and sbcl-trivial-garbage. [arguments]: Add 'silence-deprecation-warning' phase. Update 'adjust-test-sleep' phase. --- gnu/packages/lisp-xyz.scm | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 84ee45b4c9..93cc728dce 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -1281,27 +1281,40 @@ timeouts.") (define-public sbcl-bordeaux-threads (package (name "sbcl-bordeaux-threads") - (version "0.8.8") + (version "0.9.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/sionescu/bordeaux-threads") (commit (string-append "v" version)))) (sha256 - (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6")) - (file-name - (git-file-name "bordeaux-threads" version)))) - (inputs (list sbcl-alexandria)) + (base32 "0d9sd7pm91yhln95z8nclhn6n4l5b2cp3pxpggpmpv7rsq84ssmh")) + (file-name (git-file-name "cl-bordeaux-threads" version)))) + (inputs (list sbcl-alexandria + sbcl-global-vars + sbcl-trivial-features + sbcl-trivial-garbage)) (native-inputs (list sbcl-fiveam)) (build-system asdf-build-system/sbcl) (arguments (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. - (substitute* "test/bordeaux-threads-test.lisp" + (substitute* '("test/tests-v1.lisp" + "test/tests-v2.lisp") (("sleep 0\\.001") "sleep 0.002"))))))) (synopsis "Portable shared-state concurrency library for Common Lisp") (description "BORDEAUX-THREADS is a proposed standard for a minimal -- cgit 1.4.1