guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

09/10: gnu: Add sbcl-cl-xmlspam.


From: guix-commits
Subject: 09/10: gnu: Add sbcl-cl-xmlspam.
Date: Fri, 5 Jul 2019 06:37:28 -0400 (EDT)

ambrevar pushed a commit to branch master
in repository guix.

commit ec982546941b59fdd14e0b08f023baf2e75d71a3
Author: Pierre Neidhardt <address@hidden>
Date:   Fri Jul 5 12:33:35 2019 +0200

    gnu: Add sbcl-cl-xmlspam.
    
    * gnu/packages/lisp.scm (sbcl-cl-xmlspam): New variable.
---
 gnu/packages/lisp.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 3aa2429..64e5a16 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -6579,3 +6579,32 @@ This system contains the CFFI foreign slot access 
extension.")))
     (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.")))
+
+(define-public sbcl-cl-xmlspam
+  (package
+    (name "sbcl-cl-xmlspam")
+    (build-system asdf-build-system/sbcl)
+    (version "0.0.0")
+    (home-page "https://common-lisp.net/project/cl-xmlspam/";)
+    (source
+     (origin
+       (method url-fetch)
+       (uri "http://common-lisp.net/project/cl-xmlspam/cl-xmlspam.tgz";)
+       (file-name (string-append name "-" version))
+       (sha256
+        (base32
+         "0r0pjh1yjcj2izxlbd3f3bwfwxllhag56wz8ijdl6442pf3gdazh"))))
+    (inputs
+     `(("cxml" ,sbcl-cxml)
+       ("cl-ppcre" ,sbcl-cl-ppcre)))
+    (synopsis "Concise, regexp-like pattern matching on streaming XML for 
Common Lisp")
+    (description "CXML does an excellent job at parsing XML elements, but what
+do you do when you have a XML file that's larger than you want to fit in
+memory, and you want to extract some information from it?  Writing code to deal
+with SAX events, or even using Klacks, quickly becomes tedious.
+@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
+to write code that mirrors the structure of the XML that it's parsing.  It
+also makes it easy to shift paradigms when necessary - the usual Lisp control
+constructs can be used interchangeably with pattern matching, and the full
+power of CXML is available when necessary.")
+    (license #f)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]