summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2019-07-04 19:21:38 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2019-07-04 19:25:58 +0200
commit41c42e163cb898dc4701285cc4519a63a06747b2 (patch)
tree2530e96099fe60aeeba069616495c6bd4c1b9349 /gnu/packages
parentf1eb7961348f7e34932727de286303a41f5316ba (diff)
gnu: Add sbcl-fare-quasiquote.
* gnu/packages/lisp.scm (sbcl-fare-quasiquote): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/lisp.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index d2c6b21a0c..de96c30f15 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -6255,3 +6255,40 @@ the return type of a function.")
(description "Optima is a fast pattern matching library which uses
optimizing techniques widely used in the functional programming world.")
(license license:expat))))
+
+(define-public sbcl-fare-quasiquote
+ (package
+ (name "sbcl-fare-quasiquote")
+ (build-system asdf-build-system/sbcl)
+ (version "20171130")
+ (home-page "http://common-lisp.net/project/fare-quasiquote")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://beta.quicklisp.org/archive/fare-quasiquote/"
+ (date->string (string->date version "~Y~m~d") "~Y-~m-~d")
+ "/fare-quasiquote-"
+ version
+ "-git.tgz"))
+ (sha256
+ (base32
+ "00brmh7ndsi0c97nibi8cy10j3l4gmkyrfrr5jr5lzkfb7ngyfqa"))))
+ (inputs
+ `(("fare-utils" ,sbcl-fare-utils)))
+ (arguments
+ ;; XXX: Circular dependencies: Tests depend on subsystems, which depend on the main systems.
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; XXX: Require 1.0.0 version of fare-utils, and we package some
+ ;; commits after 1.0.0.5, but ASDF fails to read the
+ ;; "-REVISION-COMMIT" part generated by Guix.
+ (add-after 'unpack 'patch-requirement
+ (lambda _
+ (substitute* "fare-quasiquote.asd"
+ (("\\(:version \"fare-utils\" \"1.0.0\"\\)") "\"fare-utils\"")))))))
+ (synopsis "Pattern-matching friendly implementation of quasiquote for Common Lisp")
+ (description "The main purpose of this n+2nd reimplementation of
+quasiquote is enable matching of quasiquoted patterns, using Optima or
+Trivia.")
+ (license license:expat)))