gnu: Allow a plain list of packages in 'operating-system'.

* gnu/system.scm (union): Allow (PACKAGE OUTPUT), (PACKAGE), and
  PACKAGE.
  (<operating-system>)[packages]: Make the default a list of package?
  objects.
* gnu/system/vm.scm (%demo-operating-system): Likewise.  Add a few
  packages.
This commit is contained in:
Ludovic Courtès 2013-12-09 23:45:27 +01:00
parent 78ed003811
commit 4f62d8d6c7
2 changed files with 29 additions and 22 deletions

View File

@ -78,12 +78,14 @@
(members '("guest"))))))
(packages operating-system-packages ; list of (PACKAGE OUTPUT...)
(default `(("coreutils" ,coreutils)
("grep" ,grep)
("guile" ,guile)
("bash" ,bash)
("dmd" ,(@ (gnu packages dmd) dmd))
("guix" ,guix))))
(default (list coreutils ; or just PACKAGE
grep
sed
findutils
guile
bash
(@ (gnu packages dmd) dmd)
guix)))
(timezone operating-system-timezone) ; string
(locale operating-system-locale) ; string
@ -134,11 +136,11 @@ input tuples."
(mlet %store-monad
((inputs (sequence %store-monad
(map (match-lambda
((name (? package? p))
((or ((? package? p)) (? package? p))
(mlet %store-monad
((drv (package->derivation p system)))
(return `(,name ,drv))))
((name (? package? p) output)
(((? package? p) output)
(mlet %store-monad
((drv (package->derivation p system)))
(return `(,name ,drv ,output))))

View File

@ -25,9 +25,11 @@
#:use-module ((gnu packages base)
#:select (%final-inputs
guile-final gcc-final glibc-final
ld-wrapper binutils-final
coreutils findutils grep sed))
#:use-module (gnu packages guile)
#:use-module (gnu packages bash)
#:use-module (gnu packages less)
#:use-module (gnu packages qemu)
#:use-module (gnu packages parted)
#:use-module (gnu packages zile)
@ -416,20 +418,23 @@ such as /etc files."
(uid 1000) (gid 100)
(comment "Guest of GNU")
(home-directory "/home/guest"))))
(packages `(("coreutils" ,coreutils)
("bash" ,bash)
("guile" ,guile-2.0)
("dmd" ,dmd)
("gcc" ,gcc-final)
("libc" ,glibc-final)
("inetutils" ,inetutils)
("findutils" ,findutils)
("grep" ,grep)
("sed" ,sed)
("procps" ,procps)
("psmisc" ,psmisc)
("zile" ,zile)
("guix" ,guix)))))
(packages (list coreutils
bash
guile-2.0
dmd
gcc-final
ld-wrapper ; must come before BINUTILS
binutils-final
glibc-final
inetutils
findutils
grep
sed
procps
psmisc
zile
less
guix))))
(define* (system-qemu-image #:optional (os %demo-operating-system))
"Return the derivation of a QEMU image of the GNU system."