summary refs log tree commit diff
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2019-05-29 15:23:36 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2019-06-26 13:02:28 +0200
commitef656e119a26dd827f493908f060fa299db0b6d4 (patch)
treeb8aafc15184c0d855037925efe9be4f1c6c9d46a
parent216dd6f6af4d3bffd8c20ae67b4cd15be1a82d43 (diff)
downloadguix-ef656e119a26dd827f493908f060fa299db0b6d4.tar.gz
gnu: Add sbcl-iolib.
* gnu/packages/lisp.scm (sbcl-iolib): New variable.
-rw-r--r--gnu/packages/lisp.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 06c418f403..3be9f6da9c 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -47,6 +47,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages c)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages ed)
   #:use-module (gnu packages flex)
@@ -5814,3 +5815,37 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
                                           "/lib/sbcl"))
              #t)))))
     (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib
+  (package
+    (inherit sbcl-iolib.asdf)
+    (name "sbcl-iolib")
+    (inputs
+     `(("iolib.asdf" ,sbcl-iolib.asdf)
+       ("iolib.conf" ,sbcl-iolib.conf)
+       ("iolib.grovel" ,sbcl-iolib.grovel)
+       ("iolib.base", sbcl-iolib.base)
+       ("bordeaux-threads", sbcl-bordeaux-threads)
+       ("idna", sbcl-idna)
+       ("swap-bytes", sbcl-swap-bytes)
+       ("libfixposix", libfixposix)))
+    (native-inputs
+     `(("fiveam" ,sbcl-fiveam)))
+    (arguments
+     '(#:asd-file "iolib.asd"
+       #:asd-system-name "iolib"
+       #:test-asd-file "iolib.tests.asd"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "src/syscalls/ffi-functions-unix.lisp"
+               (("\\(:default \"libfixposix\"\\)")
+                (string-append
+                 "(:default \""
+                 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
+             ;; Socket tests need Internet access, disable them.
+             (substitute* "iolib.tests.asd"
+               (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
+                "")))))))
+    (synopsis "Common Lisp I/O library")))