summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2025-05-27 10:38:47 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-05-27 10:41:58 +0100
commit6b8b8e3b858485bcbf4f67051591ee643bc04e75 (patch)
tree2a83c8c37529922a36935e6ed7b24362ecdcabd9
parent1f9a0911707c3cbb225ba6b5e7d71b050a111720 (diff)
gnu: sbcl-fast-generic-functions: Update to 0.0.0-2.6e9d690.
Closes <https://issues.guix.gnu.org/69585> as upstream applied fixes as. * gnu/packages/lisp-xyz.scm (sbcl-fast-generic-functions): Update to 0.0.0-2.6e9d690. [source]: Remove patch. * gnu/packages/patches/sbcl-fast-generic-functions-fix-sbcl-2.4.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Deregister patch. Change-Id: I09eb5f296afa9529d5ceee2fbd33fedcd59ad199
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/lisp-xyz.scm9
-rw-r--r--gnu/packages/patches/sbcl-fast-generic-functions-fix-sbcl-2.4.patch99
3 files changed, 4 insertions, 105 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index cb2630381c..c8726ce83e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2244,7 +2244,6 @@ dist_patch_DATA = \
%D%/packages/patches/sbcl-ciel-repl.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-lack-fix-tests.patch \
%D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \
%D%/packages/patches/sbcl-s-sysdeps-bt2.patch \
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 10018c4b78..9b5acf9982 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -15593,10 +15593,11 @@ basic everyday functions and macros.")
(sbcl-package->ecl-package sbcl-fare-utils))
(define-public sbcl-fast-generic-functions
- (let ((commit "9c307cd28af6453e45038ac3510de3123ff23743"))
+ (let ((commit "6e9d690ec08dacf9ab4e14aa39a084ef7c7edabb")
+ (revision "2"))
(package
(name "sbcl-fast-generic-functions")
- (version (git-version "0.0.0" "1" commit))
+ (version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
@@ -15605,9 +15606,7 @@ basic everyday functions and macros.")
(commit commit)))
(file-name (git-file-name "cl-fast-generic-functions" version))
(sha256
- (base32 "16hf9bi2p5s77p3m3aqsihcd9iicqjhhxxpsarjv93c41qs54yad"))
- (patches
- (search-patches "sbcl-fast-generic-functions-fix-sbcl-2.4.patch"))))
+ (base32 "1v2pwmhnyfvhx8hrl1zk2lm4k1a3kqglf696hnfx7zrpz9kwk15m"))))
(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
deleted file mode 100644
index d8b30f24a3..0000000000
--- a/gnu/packages/patches/sbcl-fast-generic-functions-fix-sbcl-2.4.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From f8bfa4d8ce6b831058935c793e9d9180a46e4171 Mon Sep 17 00:00:00 2001
-From: ajberkley <ajberkley@gmail.com>
-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 <ajberkley@gmail.com>
-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))))))))