summary refs log tree commit diff
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2020-04-25 19:45:29 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2020-04-25 19:45:29 +0200
commit8cf6d150b4492145369cb8d39f54ad98d3b27301 (patch)
tree4d225d38f296206e16013ff2eea1b3bec45c6cf3
parentf84b0363053e5479464f6ce6ded45f80360d90fc (diff)
downloadguix-8cf6d150b4492145369cb8d39f54ad98d3b27301.tar.gz
gnu: Add osicat.
* gnu/packages/lisp-xyz.scm (closicat, sbcl-osicat): New variables.
-rw-r--r--gnu/packages/lisp-xyz.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 40852440b1..cc9bda8ac6 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11417,3 +11417,54 @@ MOP easier to use.")
 
 (define-public cl-moptilities
   (sbcl-package->cl-source-package sbcl-moptilities))
+
+(define-public sbcl-osicat
+  (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
+    (package
+      (name "sbcl-osicat")
+      (version (git-version "0.7.0" "1" commit))
+      (home-page "http://www.common-lisp.net/project/osicat/")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/osicat/osicat")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-before 'validate-runpath 'cleanup-files
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (lib (string-append out "/lib/sbcl")))
+                 (for-each
+                  delete-file
+                  (filter (lambda (file)
+                            (not (member (basename file)
+                                         '("basic-unixint__grovel"
+                                           "libosicat.so"
+                                           "osicat--system.fasl"
+                                           "osicat.asd"
+                                           "unixint__grovel"))))
+                          (find-files lib ".*")))
+                 #t))))))
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("cffi" ,sbcl-cffi)
+         ("trivial-features" ,sbcl-trivial-features)))
+      (native-inputs
+       `(("cffi-grovel" ,sbcl-cffi-grovel)
+         ("rt" ,sbcl-rt)))
+      (synopsis "Operating system interface for Common Lisp")
+      (description
+       "Osicat is a lightweight operating system interface for Common Lisp on
+Unix-platforms.  It is not a POSIX-style API, but rather a simple lispy
+accompaniment to the standard ANSI facilities.")
+      (license license:expat))))
+
+(define-public cl-osicat
+  (sbcl-package->cl-source-package sbcl-osicat))