summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-09-18 17:01:40 +0200
committerLudovic Courtès <ludo@gnu.org>2013-09-18 18:49:53 +0200
commit59688fc4b5cfac3e05610195a47795f5cc15f338 (patch)
treea1f498fc498857e65e5002817760c8721c9caf45 /gnu
parent81b66f8567ea2e3ecb0983318d5dedd3b1332e48 (diff)
downloadguix-59688fc4b5cfac3e05610195a47795f5cc15f338.tar.gz
derivations: 'derivation' and related procedures return a single value.
* guix/derivations.scm (derivation->output-path,
  derivation->output-paths): New procedures.
  (derivation-path->output-path): Use 'derivation->output-path'.
  (derivation-path->output-paths): Use 'derivation->output-paths'.
  (derivation): Accept 'derivation?' objects as inputs.  Return a single
  value.
  (build-derivations): New procedure.
  (compiled-modules): Use 'derivation->output-paths'.
  (build-expression->derivation)[source-path]: Add case for when the
  input matches 'derivation?'.
  [prologue]: Accept 'derivation?' objects in INPUTS.
  [mod-dir, go-dir]: Use 'derivation->output-path'.
* guix/download.scm (url-fetch): Adjust to the single-value return.
* guix/packages.scm (package-output): Use 'derivation->output-path'.
* guix/scripts/build.scm (guix-build): When the argument is
  'derivation-path?', pass it through 'read-derivation'.
  Use 'derivation-file-name' to print out the .drv file names, and to
  register them.  Use 'derivation->output-path' instead of
  'derivation-path->output-path'.
* guix/scripts/package.scm (roll-back): Adjust to the single-value
  return.
  (guix-package): Use 'derivation->output-path'.
* guix/ui.scm (show-what-to-build): Adjust to deal with 'derivation?'
  objects instead of .drv file names.
* gnu/system/grub.scm (grub-configuration-file): Use
  'derivation->output-path' instead of 'derivation-path->output-path'.
* gnu/system/vm.scm (qemu-image, system-qemu-image): Likewise.
* tests/builders.scm, tests/derivations.scm, tests/packages.scm,
  tests/store.scm, tests/union.scm: Adjust to the new calling
  convention.
* doc/guix.texi (Defining Packages, The Store, Derivations): Adjust
  accordingly.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/system/grub.scm6
-rw-r--r--gnu/system/vm.scm12
2 files changed, 9 insertions, 9 deletions
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index 695a044bfa..b2438b9c5b 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -56,7 +56,7 @@ search.file ~a~%"
             (any (match-lambda
                   (($ <menu-entry> _ linux)
                    (let* ((drv (package-derivation store linux system))
-                          (out (derivation-path->output-path drv)))
+                          (out (derivation->output-path drv)))
                      (string-append out "/bzImage"))))
                  entries)))
 
@@ -71,9 +71,9 @@ search.file ~a~%"
   initrd ~a/initrd
 }~%"
                 label
-                (derivation-path->output-path linux-drv)
+                (derivation->output-path linux-drv)
                 (string-join arguments)
-                (derivation-path->output-path initrd-drv))))))
+                (derivation->output-path initrd-drv))))))
 
   (add-text-to-store store "grub.cfg"
                      (string-append prologue
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 192ed1d5a3..68d205d82a 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -206,10 +206,10 @@ It can be used to provide additional files, such as /etc files."
   (define input->name+derivation
     (match-lambda
      ((name (? package? package))
-      `(,name . ,(derivation-path->output-path
+      `(,name . ,(derivation->output-path
                   (package-derivation store package system))))
      ((name (? package? package) sub-drv)
-      `(,name . ,(derivation-path->output-path
+      `(,name . ,(derivation->output-path
                   (package-derivation store package system)
                   sub-drv)))
      ((input (and (? string?) (? store-path?) file))
@@ -361,14 +361,14 @@ It can be used to provide additional files, such as /etc files."
 
   (parameterize ((%guile-for-build (package-derivation store guile-final)))
     (let* ((bash-drv  (package-derivation store bash))
-           (bash-file (string-append (derivation-path->output-path bash-drv)
+           (bash-file (string-append (derivation->output-path bash-drv)
                                      "/bin/bash"))
            (accounts  (list (vector "root" "" 0 0 "System administrator"
                                     "/" bash-file)))
            (passwd    (passwd-file store accounts))
            (shadow    (passwd-file store accounts #:shadow? #t))
            (pam.d-drv (pam-services->directory store %pam-services))
-           (pam.d     (derivation-path->output-path pam.d-drv))
+           (pam.d     (derivation->output-path pam.d-drv))
            (populate
             (add-text-to-store store "populate-qemu-image"
                                (object->string
@@ -381,11 +381,11 @@ It can be used to provide additional files, such as /etc files."
                                    (symlink ,pam.d "etc/pam.d")
                                    (mkdir-p "var/run")))
                                (list passwd)))
-           (out     (derivation-path->output-path
+           (out     (derivation->output-path
                      (package-derivation store mingetty)))
            (getty   (string-append out "/sbin/mingetty"))
            (iu-drv  (package-derivation store inetutils))
-           (syslogd (string-append (derivation-path->output-path iu-drv)
+           (syslogd (string-append (derivation->output-path iu-drv)
                                    "/libexec/syslogd"))
            (boot  (add-text-to-store store "boot"
                                      (object->string