diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-07-28 18:53:13 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-07-28 18:53:13 +0200 |
commit | 386b71d1b961a52201f64591076e51487a87bf0b (patch) | |
tree | df2354ddeba7750d8fa39f5a9c4688ed2b6410af | |
parent | 6980511b7391e65a307689f90e4ef5c1979e4541 (diff) | |
download | guix-386b71d1b961a52201f64591076e51487a87bf0b.tar guix-386b71d1b961a52201f64591076e51487a87bf0b.tar.gz |
gnu: commencement: 'guile-final' is now "hidden".
This way, we no longer have this annoying warning:
$ guix build guile -n
guix build: warning: ambiguous package specification `guile'
guix build: warning: choosing guile-2.0.11 from gnu/packages/guile.scm:128:2
* gnu/packages/commencement.scm (guile-final): Use 'hidden-package'.
* tests/packages.scm ("fold-packages, hidden package"): New test.
-rw-r--r-- | gnu/packages/commencement.scm | 4 | ||||
-rw-r--r-- | tests/packages.scm | 14 |
2 files changed, 17 insertions, 1 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index c52b6e8389..54b524aec7 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -685,8 +685,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ,@(alist-delete "bash" %boot3-inputs))) (define-public guile-final + ;; This package must be public because other modules refer to it. However, + ;; mark it as hidden so that 'fold-packages' ignores it. (package-with-bootstrap-guile - (package-with-explicit-inputs guile-2.0/fixed + (package-with-explicit-inputs (hidden-package guile-2.0/fixed) %boot4-inputs (current-source-location) #:guile %bootstrap-guile))) diff --git a/tests/packages.scm b/tests/packages.scm index 7c9ad05c21..e9c8690730 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -749,6 +749,20 @@ r)) #f)) +(test-assert "fold-packages, hidden package" + ;; There are two public variables providing "guile@2.0" ('guile-final' in + ;; commencement.scm and 'guile-2.0/fixed' in guile.scm), but only the latter + ;; should show up. + (match (fold-packages (lambda (p r) + (if (and (string=? (package-name p) "guile") + (string-prefix? "2.0" + (package-version p))) + (cons p r) + r)) + '()) + ((one) + (eq? one guile-2.0/fixed)))) + (test-assert "find-packages-by-name" (match (find-packages-by-name "hello") (((? (cut eq? hello <>))) #t) |