packages: Support the deprecated "NAME-VERSION" syntax.
Fixes a typo introduced in 1b846da8c3
that
would lead to a backtrace when using the deprecated syntax.
* gnu/packages.scm (%find-package): Turn the first argument to
'call-with-values' into a thunk. Use #:select instead of '@' to select
the right 'package-name->name+version' procedure.
This commit is contained in:
parent
7befee308b
commit
95cd4971d0
|
@ -24,6 +24,9 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (guix utils)
|
||||
#:use-module ((guix build utils)
|
||||
#:select ((package-name->name+version
|
||||
. hyphen-separated-name->name+version)))
|
||||
#:use-module (ice-9 ftw)
|
||||
#:use-module (ice-9 vlist)
|
||||
#:use-module (ice-9 match)
|
||||
|
@ -300,9 +303,10 @@ use NAME@VERSION instead~%")))
|
|||
(or fallback?
|
||||
;; XXX: Fallback to the older specification style with an hyphen
|
||||
;; between NAME and VERSION, for backward compatibility.
|
||||
(let ((proc (@ (guix build utils) package-name->name+version)))
|
||||
(call-with-values (proc name)
|
||||
(cut %find-package spec <> <> #:fallback? #t)))
|
||||
(call-with-values
|
||||
(lambda ()
|
||||
(hyphen-separated-name->name+version name))
|
||||
(cut %find-package spec <> <> #:fallback? #t))
|
||||
(leave (_ "~A: unknown package~%") name))))))
|
||||
|
||||
(define (specification->package spec)
|
||||
|
|
|
@ -171,6 +171,7 @@ then false; else true; fi
|
|||
# Parsing package names and versions.
|
||||
guix build -n time # PASS
|
||||
guix build -n time@1.7 # PASS, version found
|
||||
guix build -n time-1.7 # PASS, deprecated version syntax
|
||||
if guix build -n time@3.2; # FAIL, version not found
|
||||
then false; else true; fi
|
||||
if guix build -n something-that-will-never-exist; # FAIL
|
||||
|
|
Loading…
Reference in New Issue