packages: Support the deprecated "NAME-VERSION" syntax.
authorLudovic Courtès <ludo@gnu.org>
Tue, 8 Mar 2016 10:38:46 +0000 (11:38 +0100)
committerLudovic Courtès <ludo@gnu.org>
Tue, 8 Mar 2016 10:38:46 +0000 (11:38 +0100)
Fixes a typo introduced in 1b846da8c372bee78851439fd9e72b2499115e5a 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.

gnu/packages.scm
tests/guix-build.sh

index 307f21f..5a76e9b 100644 (file)
@@ -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)
index ae75bcf..6d4f970 100644 (file)
@@ -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