~ruther/guix-local

c98af4b77ae81bce097ceb09187f4cc5122a1a8e — Simen Endsjø 10 months ago 14f2250
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 <jgart@dismail.de>
M gnu/packages/lisp-xyz.scm => gnu/packages/lisp-xyz.scm +2 -0
@@ 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)

A gnu/packages/patches/sbcl-cl-redis-replace-sbcl-specific-calls.patch => gnu/packages/patches/sbcl-cl-redis-replace-sbcl-specific-calls.patch +53 -0
@@ 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)))