From 2252f0553d990c551885380f0d4db729c7711b96 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 30 May 2024 16:42:27 +0200 Subject: gnu: cl-fset: Update to 1.3.3-1.a75a4ec. * gnu/packages/lisp-xyz.scm (sbcl-fset): Update to 1.3.3-1.a75a4ec. [arguments]: Add 'fix-build' phase. Change-Id: I9f0947e64c81b1547d657c721879d1e12c2507d3 --- gnu/packages/lisp-xyz.scm | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 5b888eafb6..90676ad4db 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -15652,28 +15652,35 @@ of the files and the line numbers where they were found.") (sbcl-package->ecl-package sbcl-formgrep)) (define-public sbcl-fset - (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852") + (let ((commit "a75a4ec713277780d9e15bfaa486b56949142d35") (revision "1")) (package (name "sbcl-fset") - (version (git-version "1.3.2" revision commit)) + (version (git-version "1.3.3" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/slburson/fset") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-fset" version)) (sha256 - (base32 - "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy")) + (base32 "0bah0z8zrcykvnbi2wcdlbx902r818xg5dvd3384wf75kr2ccxvv")) (snippet '(begin ;; Remove obsolete copy of system definition. - (delete-file "Code/fset.asd") - #t)))) + (delete-file "Code/fset.asd"))))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-misc-extensions sbcl-mt19937 sbcl-named-readtables)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + ;; Fix for SBCL > 2.4.4 + (substitute* "Code/port.lisp" + (("sb-ext::once-only") + "sb-int:once-only"))))))) (synopsis "Functional set-theoretic collections library") (description "FSet is a functional set-theoretic collections library for Common Lisp. -- cgit v1.2.3 From 09934b47e7f15f29e625e8c916ac198397adfbf7 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 30 May 2024 17:01:49 +0200 Subject: gnu: cl-cl-gobject-introspection: Update to 0.3-4.4908a84. * gnu/packages/lisp-xyz.scm (sbcl-cl-gobject-introspection): Update to 0.3-4.4908a84. Change-Id: I3033fb2fd3080e4587991f1c54d6e2f98ef339dc --- gnu/packages/lisp-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 90676ad4db..5fdd328ad7 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -5625,8 +5625,8 @@ Common Lisp via Gobject Introspection.") ;; (sbcl-package->ecl-package sbcl-cl-gltf)) (define-public sbcl-cl-gobject-introspection - (let ((commit "83beec4492948b52aae4d4152200de5d5c7ac3e9") - (revision "3")) + (let ((commit "4908a84c16349929b309c50409815ff81fb9b3c4") + (revision "4")) (package (name "sbcl-cl-gobject-introspection") (version (git-version "0.3" revision commit)) @@ -5639,7 +5639,7 @@ Common Lisp via Gobject Introspection.") (commit commit))) (file-name (git-file-name "cl-gobject-introspection" version)) (sha256 - (base32 "0xwmj4b3whz12i474g54krp1v6h0fpvsx8lgwpk6rkli9xc71wc3")))) + (base32 "0iw8fciydh9bi2svq30hi029df16arpspk0mjzh0cm1c6kjm9dcj")))) (build-system asdf-build-system/sbcl) (inputs (list glib -- cgit v1.2.3 From 6aca9b80f4e36cf1358dc53af1ca4725eda61f5f Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 30 May 2024 18:01:21 +0200 Subject: gnu: cl-maxpc: Disable tests. * gnu/packages/lisp-xyz.scm (sbcl-maxpc)[arguments]: Disable tests. Change-Id: I4a7024657371d6d5a57bce1811a545b428da1be3 --- gnu/packages/lisp-xyz.scm | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 5fdd328ad7..e73e735083 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -19994,6 +19994,14 @@ can be useful for games, 3D, and GL in general.") (sha256 (base32 "15wrjbr2js6j67c1dd4p2qxj49q9iqv1lhb7cwdcwpn79crr39gf")))) (build-system asdf-build-system/sbcl) + (arguments + ;; FIXME: A test fails with: + ;; The assertion + ;; (EQUAL (MULTIPLE-VALUE-LIST (MAXPC:GET-INPUT-POSITION)) + ;; '(7 2 2)) + ;; failed with + ;; (MULTIPLE-VALUE-LIST (MAXPC:GET-INPUT-POSITION)) = (7). + (list #:tests? #f)) (home-page "https://mr.gy/software/maxpc/api.html") (synopsis "Library for writing parsers and lexers based on combinatory parsing") -- cgit v1.2.3 From 7df1df1489d0ca5a05eef13ee810a2633b11de93 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 30 May 2024 18:07:10 +0200 Subject: gnu: cl-specialization-store: Disable tests. * gnu/packages/lisp-xyz.scm (sbcl-specialization-store)[arguments]: Disable tests. (ecl-specialization-store): Simplify package definition. Change-Id: I5dd574ac5e14a2c9a39e689af519cae45f6e59f5 --- gnu/packages/lisp-xyz.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index e73e735083..54c33cadcb 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -26816,6 +26816,10 @@ using the latest algorithms.") (list sbcl-fiveam)) (inputs (list sbcl-alexandria sbcl-introspect-environment)) + (arguments + ;; FIXME: Tests fail with: + ;; Unable to compile test syntax-layer-test define-specialization/name. + (list #:tests? #f)) (home-page "https://github.com/markcox80/specialization-store") (synopsis "Different type of generic function for Common Lisp") (description @@ -26828,11 +26832,7 @@ function.") (sbcl-package->cl-source-package sbcl-specialization-store)) (define-public ecl-specialization-store - (package - (inherit (sbcl-package->ecl-package sbcl-specialization-store)) - (arguments - ;; TODO: Find why the tests get stuck forever; disable them for now. - `(#:tests? #f)))) + (sbcl-package->ecl-package sbcl-specialization-store)) (define-public sbcl-specialized-function (let ((commit "5e2b04432bdf728496e6ff7227f210f845af7247") -- cgit v1.2.3 From f03ca652fcda6ee01518f5c46a5274fcf1c8919a Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 30 May 2024 18:24:50 +0200 Subject: gnu: cl-schemeish: Update to 0.0.1-2.872ea3d. * gnu/packages/lisp-xyz.scm (sbcl-schemeish): Update to 0.0.1-2.872ea3d. [inputs]: Add sbcl-trivial-cltl2. [arguments]: Add 'fix-build' phase. Change-Id: I5330053d629d39322650b34365be47074aeaf02e --- gnu/packages/lisp-xyz.scm | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 54c33cadcb..cbd23eb200 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -25346,8 +25346,8 @@ only.") (sbcl-package->ecl-package sbcl-sb-cga)) (define-public sbcl-schemeish - (let ((commit "dff57bafae5d0cffa104c8fdc4146502f32d7f85") - (revision "1")) + (let ((commit "872ea3dc3f2ea8438388b5e7660acd9446c49948") + (revision "2")) (package (name "sbcl-schemeish") (version (git-version "0.0.1" revision commit)) @@ -25357,12 +25357,22 @@ only.") (uri (git-reference (url "https://github.com/chebert/schemeish") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-schemeish" version)) (sha256 - (base32 "0q9b07spmhg1b576cnnacvkf7zr3mab2rdydfylbn92y9mms9vyj")))) + (base32 "08lbrmsamfpva83l1ap33gp8ff99v0l2dyyidjgwdchmbdgq3gqf")))) (build-system asdf-build-system/sbcl) (inputs - (list sbcl-trivial-arguments)) + (list sbcl-trivial-arguments sbcl-trivial-cltl2)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + ;; To fix the warning: + ;; Argument of type (INTEGER 1 1) cannot be used as a keyword. + (substitute* "src/arities.lisp" + (("1 2 3 4 5 6 7 8") + ":a1 :a2 :a3 :a4 :a5 :a6 :a7 :a8"))))))) (synopsis "Scheme style syntax/macros/functions for Common Lisp") (description "Schemeish implements several useful Scheme constructs for Common Lisp. -- cgit v1.2.3 From 5abf9c0c6b9c3ac41c5203c7aa69d08f47924e04 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 30 May 2024 18:40:38 +0200 Subject: gnu: cl-fast-generic-functions: Fix build with sbcl >= 2.4.0. * gnu/packages/patches/sbcl-fast-generic-functions-fix-sbcl-2.4.patch: Add file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/lisp-xyz.scm (sbcl-fast-generic-functions)[source]: Use it. Change-Id: Ifcc5b3c5c2d51570303063ca3b01f9c0b5849e88 --- gnu/local.mk | 1 + gnu/packages/lisp-xyz.scm | 4 +- .../sbcl-fast-generic-functions-fix-sbcl-2.4.patch | 99 ++++++++++++++++++++++ 3 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/sbcl-fast-generic-functions-fix-sbcl-2.4.patch (limited to 'gnu/packages/lisp-xyz.scm') diff --git a/gnu/local.mk b/gnu/local.mk index c386e773ed..58e972e8f8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2065,6 +2065,7 @@ 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-fast-generic-functions-fix-sbcl-2.4.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-xyz.scm b/gnu/packages/lisp-xyz.scm index cbd23eb200..6006507075 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -14701,7 +14701,9 @@ basic everyday functions and macros.") (commit commit))) (file-name (git-file-name "cl-fast-generic-functions" version)) (sha256 - (base32 "16hf9bi2p5s77p3m3aqsihcd9iicqjhhxxpsarjv93c41qs54yad")))) + (base32 "16hf9bi2p5s77p3m3aqsihcd9iicqjhhxxpsarjv93c41qs54yad")) + (patches + (search-patches "sbcl-fast-generic-functions-fix-sbcl-2.4.patch")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-closer-mop diff --git a/gnu/packages/patches/sbcl-fast-generic-functions-fix-sbcl-2.4.patch b/gnu/packages/patches/sbcl-fast-generic-functions-fix-sbcl-2.4.patch new file mode 100644 index 0000000000..d8b30f24a3 --- /dev/null +++ b/gnu/packages/patches/sbcl-fast-generic-functions-fix-sbcl-2.4.patch @@ -0,0 +1,99 @@ +From f8bfa4d8ce6b831058935c793e9d9180a46e4171 Mon Sep 17 00:00:00 2001 +From: ajberkley +Date: Mon, 27 May 2024 14:21:22 -0700 +Subject: [PATCH 1/2] Fix to work with SBCL 2.4.0 and later + +--- + code/expand-effective-method-body.lisp | 54 +++++++++++++------------- + 1 file changed, 28 insertions(+), 26 deletions(-) + +diff --git a/code/expand-effective-method-body.lisp b/code/expand-effective-method-body.lisp +index c00c1b0..68c0b08 100644 +--- a/code/expand-effective-method-body.lisp ++++ b/code/expand-effective-method-body.lisp +@@ -2,35 +2,37 @@ + + (defun expand-effective-method-body + (effective-method generic-function lambda-list) +- (trivial-macroexpand-all:macroexpand-all +- `(let ((.gf. #',(generic-function-name generic-function))) +- (declare (ignorable .gf.)) +- #+sbcl(declare (sb-ext:disable-package-locks common-lisp:call-method)) +- #+sbcl(declare (sb-ext:disable-package-locks common-lisp:make-method)) +- #+sbcl(declare (sb-ext:disable-package-locks sb-pcl::check-applicable-keywords)) +- #+sbcl(declare (sb-ext:disable-package-locks sb-pcl::%no-primary-method)) +- (macrolet +- (;; SBCL introduces explicit keyword argument checking into +- ;; the effective method. Since we do our own checking, we +- ;; can safely disable it. However, we touch the relevant +- ;; variables to prevent unused variable warnings. +- #+sbcl +- (sb-pcl::check-applicable-keywords (&rest args) +- (declare (ignore args)) +- `(progn sb-pcl::.valid-keys. sb-pcl::.keyargs-start. (values))) +- ;; SBCL introduces a magic form to report when there are no +- ;; primary methods. The problem is that this form contains a +- ;; reference to the literal generic function, which is not an +- ;; externalizable object. Our solution is to replace it with +- ;; something portable. +- #+sbcl +- (sb-pcl::%no-primary-method (&rest args) +- (declare (ignore args)) +- `(apply #'no-primary-method .gf. ,@',(lambda-list-apply-arguments lambda-list)))) ++ (let ((%no-primary-method (find-symbol "%NO-PRIMARY-METHOD" :sb-pcl))) ++ (trivial-macroexpand-all:macroexpand-all ++ `(let ((.gf. #',(generic-function-name generic-function))) ++ (declare (ignorable .gf.)) ++ #+sbcl(declare (sb-ext:disable-package-locks common-lisp:call-method)) ++ #+sbcl(declare (sb-ext:disable-package-locks common-lisp:make-method)) ++ #+sbcl(declare (sb-ext:disable-package-locks sb-pcl::check-applicable-keywords)) ++ #+sbcl(declare (sb-ext:disable-package-locks ,%no-primary-method)) ++ (macrolet ++ (;; SBCL introduces explicit keyword argument checking into ++ ;; the effective method. Since we do our own checking, we ++ ;; can safely disable it. However, we touch the relevant ++ ;; variables to prevent unused variable warnings. ++ #+sbcl ++ (sb-pcl::check-applicable-keywords (&rest args) ++ (declare (ignore args)) ++ `(progn sb-pcl::.valid-keys. sb-pcl::.keyargs-start. (values))) ++ ;; SBCL introduces a magic form to report when there are no ++ ;; primary methods. The problem is that this form contains a ++ ;; reference to the literal generic function, which is not an ++ ;; externalizable object. Our solution is to replace it with ++ ;; something portable. ++ #+sbcl ++ ,(when %no-primary-method ++ `(,%no-primary-method (&rest args) ++ (declare (ignore args)) ++ `(apply #'no-primary-method .gf. ,@',(lambda-list-apply-arguments lambda-list))))) + ,(wrap-in-call-method-macrolet + effective-method + generic-function +- lambda-list))))) ++ lambda-list)))))) + + (defun wrap-in-call-method-macrolet (form generic-function lambda-list) + `(macrolet ((call-method (method &optional next-methods) + +From 01baf2bc9157762029de11ab64429999fa7a58da Mon Sep 17 00:00:00 2001 +From: ajberkley +Date: Mon, 27 May 2024 14:37:58 -0700 +Subject: [PATCH 2/2] Fix for SBCL + +--- + code/sbcl.lisp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/code/sbcl.lisp b/code/sbcl.lisp +index 9e206a8..b97c00a 100644 +--- a/code/sbcl.lisp ++++ b/code/sbcl.lisp +@@ -13,6 +13,6 @@ + (prototypes static-call-signature-prototypes)) + static-call-signature + (eval +- `(sb-c:deftransform ,name ((&rest args) (,@types &rest *)) ++ `(sb-c:deftransform ,name ((&rest args) (,@types &rest t)) + (or (optimize-function-call #',name ',static-call-signature) + (sb-c::give-up-ir1-transform)))))))) -- cgit v1.2.3