summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-03-19 17:37:49 +0100
committerLudovic Courtès <ludo@gnu.org>2017-03-19 18:14:22 +0100
commit8f4acad71b3afa56f2b54ada1cee2c25f7ded45f (patch)
tree2081ebda0959bcdb44f98fda9b49c4f89d9c8027 /gnu/packages
parentf6396d862f9f8ce0c0e6894ce30599773167af0c (diff)
downloadguix-8f4acad71b3afa56f2b54ada1cee2c25f7ded45f.tar.gz
gnu: Add 'package-for-guile-2.0'.
* gnu/packages/guile.scm (guile-2.2-package-name): Rename to...
(guile-variant-package-name): ... this.  Change to return a lambda.
(package-for-guile-2.2): Adjust accordingly.
(package-for-guile-2.0): New procedure.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/guile.scm23
1 files changed, 14 insertions, 9 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index c172fd3fc1..8313f3f933 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -261,20 +261,25 @@ without requiring the source code to be rewritten.")
             (files '("lib/guile/2.2/site-ccache"
                      "share/guile/site/2.2")))))))
 
-(define (guile-2.2-package-name name)
-  "Return NAME with a \"guile2.2-\" prefix instead of \"guile-\", when
-applicable."
-  (if (string-prefix? "guile-" name)
-      (string-append "guile2.2-"
-                     (string-drop name
-                                  (string-length "guile-")))
-      name))
+(define (guile-variant-package-name prefix)
+  (lambda (name)
+    "Return NAME with PREFIX instead of \"guile-\", when applicable."
+    (if (string-prefix? "guile-" name)
+        (string-append prefix "-"
+                       (string-drop name
+                                    (string-length "guile-")))
+        name)))
 
 (define package-for-guile-2.2
   ;; A procedure that rewrites the dependency tree of the given package to use
   ;; GUILE-2.2 instead of GUILE-2.0.
   (package-input-rewriting `((,guile-2.0 . ,guile-2.2))
-                           guile-2.2-package-name))
+                           (guile-variant-package-name "guile2.2")))
+
+(define package-for-guile-2.0
+  ;; Likewise, but the other way around.  :-)
+  (package-input-rewriting `((,guile-2.2 . ,guile-2.0))
+                           (guile-variant-package-name "guile2.0")))
 
 (define-public guile-for-guile-emacs
   (package (inherit guile-2.2)