summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-06-17 10:49:29 +0200
committerLudovic Courtès <ludo@gnu.org>2015-06-18 00:25:48 +0200
commit84189ebc66266f03b9ca7e8b912d529886436851 (patch)
treeed8ab7fcbbca66cb2fe876bf48d8f93c89aaf364 /guix
parent08fa76131e71dc12f5d669480d74e9183008d71a (diff)
downloadgnu-guix-84189ebc66266f03b9ca7e8b912d529886436851.tar
gnu-guix-84189ebc66266f03b9ca7e8b912d529886436851.tar.gz
Move 'specification->package+output' to (gnu packages).
* guix/scripts/package.scm (specification->package+output): Move to... * gnu/packages.scm (specification->package+output): ... here * guix/scripts/archive.scm (guix): Adjust accordingly.
Diffstat (limited to 'guix')
-rw-r--r--guix/scripts/archive.scm4
-rw-r--r--guix/scripts/package.scm36
2 files changed, 3 insertions, 37 deletions
diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm
index ea6801a6eb..ab2fc46c31 100644
--- a/guix/scripts/archive.scm
+++ b/guix/scripts/archive.scm
@@ -27,6 +27,8 @@
#:use-module (guix ui)
#:use-module (guix pki)
#:use-module (guix pk-crypto)
+ #:use-module (guix scripts build)
+ #:use-module (gnu packages)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:use-module (ice-9 rdelim)
@@ -34,8 +36,6 @@
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-37)
- #:use-module (guix scripts build)
- #:use-module (guix scripts package)
#:use-module (rnrs io ports)
#:export (guix-archive))
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index d9f38fb8bc..56a6e2db64 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -47,8 +47,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages guile)
#:use-module ((gnu packages bootstrap) #:select (%bootstrap-guile))
- #:export (specification->package+output
- switch-to-generation
+ #:export (switch-to-generation
switch-to-previous-generation
roll-back
delete-generation
@@ -324,39 +323,6 @@ similar."
(primitive-_exit 0)
(apply throw args)))))
-(define* (specification->package+output spec #:optional (output "out"))
- "Return the package and output specified by SPEC, or #f and #f; SPEC may
-optionally contain a version number and an output name, as in these examples:
-
- guile
- guile-2.0.9
- guile:debug
- guile-2.0.9:debug
-
-If SPEC does not specify a version number, return the preferred newest
-version; if SPEC does not specify an output, return OUTPUT."
- (define (ensure-output p sub-drv)
- (if (member sub-drv (package-outputs p))
- sub-drv
- (leave (_ "package `~a' lacks output `~a'~%")
- (package-full-name p)
- sub-drv)))
-
- (let-values (((name version sub-drv)
- (package-specification->name+version+output spec output)))
- (match (find-best-packages-by-name name version)
- ((p)
- (values p (ensure-output p sub-drv)))
- ((p p* ...)
- (warning (_ "ambiguous package specification `~a'~%")
- spec)
- (warning (_ "choosing ~a from ~a~%")
- (package-full-name p)
- (location->string (package-location p)))
- (values p (ensure-output p sub-drv)))
- (()
- (leave (_ "~a: package not found~%") spec)))))
-
(define (upgradeable? name current-version current-path)
"Return #t if there's a version of package NAME newer than CURRENT-VERSION,
or if the newest available version is equal to CURRENT-VERSION but would have