gnu: Add sbcl-fare-quasiquote-extras.
authorGuillaume Le Vaillant <glv@posteo.net>
Fri, 7 Feb 2020 10:58:30 +0000 (11:58 +0100)
committerGuillaume Le Vaillant <glv@posteo.net>
Fri, 7 Feb 2020 11:11:30 +0000 (12:11 +0100)
* gnu/packages/lisp-xyz.scm (sbcl-fare-quasiquote-extras): New variable.

gnu/packages/lisp-xyz.scm

index b97ad80..adabaf5 100644 (file)
@@ -5965,6 +5965,42 @@ This package uses fare-quasiquote with named-readtable.")))
   (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
 
 ;; TODO: Add support for component-less system in asdf-build-system/sbcl.
+(define-public sbcl-fare-quasiquote-extras
+  (package
+    (inherit sbcl-fare-quasiquote)
+    (name "sbcl-fare-quasiquote-extras")
+    (build-system asdf-build-system/sbcl)
+    (inputs
+     `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
+       ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'build
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lib (string-append out "/lib/" (%lisp-type))))
+               (mkdir-p lib)
+               (install-file "fare-quasiquote-extras.asd" lib)
+               #t)))
+         (add-after 'create-asd-file 'fix-asd-file
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lib (string-append out "/lib/" (%lisp-type)))
+                    (asd (string-append lib "/fare-quasiquote-extras.asd")))
+               (substitute* asd
+                 ((":class")
+                  "")
+                 (("asdf/bundle:prebuilt-system")
+                  "")
+                 ((":components")
+                  "")
+                 (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
+                  "")))
+             #t)))))
+    (description "This library combines @code{fare-quasiquote-readtable} and
+@code{fare-quasiquote-optima}.")))
+
 (define-public cl-fare-quasiquote-extras
   (package
     (inherit cl-fare-quasiquote)