aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/lisp.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-08-13 20:42:06 +0200
committerMarius Bakke <mbakke@fastmail.com>2019-08-13 20:42:06 +0200
commit462ad9f56b9665b8d22960acee73ad91f1052c9c (patch)
tree814be463d6d0517e7db9b9e6f15dbc7516955674 /gnu/packages/lisp.scm
parent7f5f61ae99321a7a6e08b0100cd428e11ce6a837 (diff)
parent1b1b006afd31c5526f34d157baef492c7dde2e9c (diff)
downloadguix-462ad9f56b9665b8d22960acee73ad91f1052c9c.tar
guix-462ad9f56b9665b8d22960acee73ad91f1052c9c.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r--gnu/packages/lisp.scm54
1 files changed, 53 insertions, 1 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index e7d0d5a44f..d2bed231bd 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -6563,7 +6563,24 @@ This system contains the CFFI foreign slot access extension.")))
("trivia.cffi" ,sbcl-trivia.cffi)
("optima" ,sbcl-optima)))
(arguments
- `(#:test-asd-file "trivia.test.asd"))
+ `(#:test-asd-file "trivia.test.asd"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'create-asd 'remove-component
+ ;; XXX: The original .asd has no components, but our build system
+ ;; creates an entry nonetheless. We need to remove it for the
+ ;; generated .asd to load properly. See trivia.trivial for a
+ ;; similar problem.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
+ (substitute* asd
+ ((" :components
+")
+ ""))
+ (substitute* asd
+ ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
+ ""))))))))
(description "Trivia is a pattern matching compiler that is compatible
with Optima, another pattern matching library for Common Lisp. It is meant to
be faster and more extensible than Optima.")))
@@ -6598,3 +6615,38 @@ various string metrics in Common Lisp:
@item Overlap coefficient
@end itemize\n")
(license license:x11)))
+
+(define-public sbcl-cl-str
+ (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5"))
+ (package
+ (name "sbcl-cl-str")
+ (version (git-version "0.8" "1" commit))
+ (home-page "https://github.com/vindarel/cl-str")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (sha256
+ (base32 "0szzzbygw9h985yxz909vvqrp69pmpcpahn7hn350lnyjislk9ga"))
+ (file-name (git-file-name name version))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cl-ppcre" ,sbcl-cl-ppcre)
+ ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
+ (native-inputs
+ `(("prove" ,sbcl-prove)
+ ("prove-asdf" ,sbcl-prove-asdf)))
+ (arguments
+ `(#:asd-file "str.asd"
+ #:asd-system-name "str"
+ #:test-asd-file "str.test.asd"))
+ (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
+ (description "A modern and consistent Common Lisp string manipulation
+library that focuses on modernity, simplicity and discoverability:
+@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
+@code{str:concat strings} instead of an unusual format construct; one
+discoverable library instead of many; consistency and composability, where
+@code{s} is always the last argument, which makes it easier to feed pipes and
+arrows.")
+ (license license:expat))))