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.
This commit is contained in:
parent
6980511b73
commit
386b71d1b9
|
@ -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)))
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue