summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-08-11 22:18:33 +0200
committerLudovic Courtès <ludo@gnu.org>2014-08-11 23:01:46 +0200
commit29fce8b6ebaaeff593d65e157ff6fd90de3c416b (patch)
tree1ed1e945b6985cb7c1a44861ca0d850b01acbba2
parentc5d837684359e3629c4ac96297a25d1165edcb39 (diff)
downloadguix-29fce8b6ebaaeff593d65e157ff6fd90de3c416b.tar.gz
system: Use (guix profiles) to build the system profile.
* gnu/system.scm (union): Remove.
  (operating-system-profile): Use 'profile-derivation' and related
  procedures instead of 'union'.
-rw-r--r--gnu/system.scm31
1 files changed, 4 insertions, 27 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 68f9438693..2894df8235 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -23,6 +23,7 @@
   #:use-module (guix records)
   #:use-module (guix packages)
   #:use-module (guix derivations)
+  #:use-module (guix profiles)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages which)
@@ -125,29 +126,6 @@
 ;;; Derivation.
 ;;;
 
-(define* (union inputs
-                #:key (guile (%guile-for-build))
-                (name "union"))
-  "Return a derivation that builds the union of INPUTS.  INPUTS is a list of
-input tuples."
-  (define builder
-    #~(begin
-        (use-modules (guix build union))
-
-        (define inputs '#$inputs)
-
-        (setvbuf (current-output-port) _IOLBF)
-        (setvbuf (current-error-port) _IOLBF)
-
-        (format #t "building union `~a' with ~a packages...~%"
-                #$output (length inputs))
-        (union-build #$output inputs)))
-
-  (gexp->derivation name builder
-                    #:modules '((guix build union))
-                    #:guile-for-build guile
-                    #:local-build? #t))
-
 (define* (file-union name files)
   "Return a derivation that builds a directory containing all of FILES.  Each
 item in FILES must be a list where the first element is the file name to use
@@ -294,10 +272,9 @@ alias ll='ls -l'
                   ("sudoers" ,#~#$sudoers)))))
 
 (define (operating-system-profile os)
-  "Return a derivation that builds the default profile of OS."
-  ;; TODO: Replace with a real profile with a manifest.
-  (union (operating-system-packages os)
-         #:name "default-profile"))
+  "Return a derivation that builds the system profile of OS."
+  (profile-derivation (manifest (map package->manifest-entry
+                                     (operating-system-packages os)))))
 
 (define %root-account
   ;; Default root account.