summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)