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.
This commit is contained in:
Ludovic Courtès 2017-03-19 17:37:49 +01:00
parent f6396d862f
commit 8f4acad71b
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 14 additions and 9 deletions

View File

@ -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)