Subject: [PATCH 1/2] gnu: Add rx.

From: [email-masked]
Date: Tue, 14 Feb 2017 19:32:58 +0000

From: ng0 <[email-masked]>

* gnu/packages/scheme.scm (rx): New variable.
---
 gnu/packages/scheme.scm | 41 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 1210ab526..27e4eb155 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2016 Ricardo Wurmus <[email-masked]>
 ;;; Copyright © 2016 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <[email-masked]>
-;;; Copyright © 2016 ng0 <[email-masked]>
+;;; Copyright © 2016, 2017 ng0 <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -805,3 +805,42 @@ Using Scheme, a dialect of the Lisp programming language, the book explains
 core computer science concepts such as abstraction in programming,
 metalinguistic abstraction, recursion, interpreters, and modular programming.")
       (license cc-by-sa4.0))))
+
+(define-public rx
+  (let* ((commit "d3231ad13de2b44e3ee173b1c9d09ff165e8b6d5")
+         (revision "1"))
+  (package
+    (name "rx")
+    (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/scheme/rx")
+             (commit commit)))
+       (sha256
+        (base32
+         "1nmziaibgmfi346kzidj6xyad0vm7724qymbzgxvdzyrqji6v6yz"))
+       (file-name (string-append name "-" version "-checkout"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((share (string-append %output
+                                     "/share/scheme48-"
+                                     ,(package-version scheme48)
+                                     "/rx")))
+           (chdir (assoc-ref %build-inputs "source"))
+           (mkdir-p share)
+           (copy-recursively "." share)))))
+    (native-inputs
+     `(("source" ,source)
+       ("scheme48" ,scheme48)))
+    (home-page "https://github.com/scheme/rx/")
+    (synopsis "SRE String pattern-matching library for scheme48")
+    (description
+     "String pattern-matching library for scheme48 based on the SRE
+regular-expression notation.")
+    (license bsd-3))))
-- 
2.11.1