From c98af4b77ae81bce097ceb09187f4cc5122a1a8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simen=20Endsj=C3=B8?= Date: Fri, 12 Sep 2025 09:01:08 +0200 Subject: [PATCH] gnu: sbcl-cl-redis: Fix build on non-sbcl implementations. * gnu/packages/lisp-xyz.scm (sbcl-cl-redis)[patches]: Add patch removing use of sbcl internals. Change-Id: I8b7df9eea61557a856851f8b218ab31d2363e886 Signed-off-by: jgart --- gnu/packages/lisp-xyz.scm | 2 + ...cl-redis-replace-sbcl-specific-calls.patch | 53 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 gnu/packages/patches/sbcl-cl-redis-replace-sbcl-specific-calls.patch diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 566d9faf0fe90ed0fa3a704dd2596e15cc4171b1..c0eb82ddf951d1e8b9b527a7bdb2dc4016b51833 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -9528,6 +9528,8 @@ previous commands.") (url "https://github.com/vseloved/cl-redis") (commit commit))) (file-name (git-file-name "cl-redis" version)) + ;; https://github.com/vseloved/cl-redis/pull/42 + (patches (search-patches "sbcl-cl-redis-replace-sbcl-specific-calls.patch")) (sha256 (base32 "1jb82zpiwx7ri86z0xqdynr3m40jnlzinyc0b47lvpbqs7cydrrg")))) (build-system asdf-build-system/sbcl) diff --git a/gnu/packages/patches/sbcl-cl-redis-replace-sbcl-specific-calls.patch b/gnu/packages/patches/sbcl-cl-redis-replace-sbcl-specific-calls.patch new file mode 100644 index 0000000000000000000000000000000000000000..5fccb8e8f3581bf4bb77b7e77218d5e7b948e2d1 --- /dev/null +++ b/gnu/packages/patches/sbcl-cl-redis-replace-sbcl-specific-calls.patch @@ -0,0 +1,53 @@ +diff --git a/connection.lisp b/connection.lisp +index d13f646..404567b 100644 +--- a/connection.lisp ++++ b/connection.lisp +@@ -29,8 +29,8 @@ for debugging purposes. The default is *STANDARD-OUTPUT*.") + ;; For SSL streams + (defmethod trivial-gray-streams:stream-clear-input ((stream cl+ssl::ssl-stream)) + (trivial-gray-streams:stream-clear-input (cl+ssl::ssl-stream-socket stream))) +- +- (defmethod trivial-gray-streams:stream-read-sequence ++ ++ (defmethod trivial-gray-streams:stream-read-sequence + ((stream cl+ssl::ssl-stream) sequence start end &rest args) + (declare (ignore args)) + (handler-case +@@ -45,8 +45,8 @@ for debugging purposes. The default is *STANDARD-OUTPUT*.") + (cl+ssl::ssl-error-zero-return () bytes-read) + (cl+ssl::ssl-error-syscall () -1) + (cl+ssl::ssl-error-ssl () -1))) +- +- (defmethod trivial-gray-streams:stream-write-sequence ++ ++ (defmethod trivial-gray-streams:stream-write-sequence + ((stream cl+ssl::ssl-stream) sequence start end &rest args) + (declare (ignore args)) + (handler-case +@@ -57,17 +57,17 @@ for debugging purposes. The default is *STANDARD-OUTPUT*.") + (cl+ssl::ssl-error-syscall () sequence) + (cl+ssl::ssl-error-ssl () sequence))) + +- ;; For regular fd-streams +- (defmethod trivial-gray-streams:stream-clear-input ((stream sb-sys:fd-stream)) +- (sb-impl::clear-input stream)) +- +- (defmethod trivial-gray-streams:stream-read-sequence +- ((stream sb-sys:fd-stream) sequence start end &rest args) ++ ;; For regular streams ++ (defmethod trivial-gray-streams:stream-clear-input ((stream stream)) ++ (clear-input stream)) ++ ++ (defmethod trivial-gray-streams:stream-read-sequence ++ ((stream stream) sequence start end &rest args) + (declare (ignore args)) + (read-sequence sequence stream :start start :end end)) +- +- (defmethod trivial-gray-streams:stream-write-sequence +- ((stream sb-sys:fd-stream) sequence start end &rest args) ++ ++ (defmethod trivial-gray-streams:stream-write-sequence ++ ((stream stream) sequence start end &rest args) + (declare (ignore args)) + (write-sequence sequence stream :start start :end end) + sequence)))