Ludovic Courtès [Mon, 16 Jun 2014 08:47:36 +0000 (10:47 +0200)]
gnu: qemu: Remove dependency on Samba.
* gnu/packages/qemu.scm (qemu-headless)[inputs]: Remove SAMBA.
[arguments]: Remove --smbd configure flag.
Ludovic Courtès [Sun, 15 Jun 2014 20:18:10 +0000 (22:18 +0200)]
Reverting "gnu: ncurses: Build libtinfo."
This reverts commit
953c9fcf8c1a2e0cbebadd9c07591caed7d26f8a. It turns
out that most packages (guile-ncurses, cursynth, aumix, util-linux,
etc.) expect libncurses to provide everything. So they had to be
patched to add -ltinfow to their LDFLAGS, which is counterproductive.
Other recent distros take that approach---e.g.,
<https://bugs.launchpad.net/ubuntu/+source/ncurses/+bug/259139>.
Ludovic Courtès [Sun, 15 Jun 2014 19:10:58 +0000 (21:10 +0200)]
gnu: apr: Build sequentially.
* gnu/packages/apr.scm (apr)[arguments]: New field.
Ludovic Courtès [Sun, 15 Jun 2014 09:53:02 +0000 (11:53 +0200)]
gnu: Remove dependency from gzip to the bootstrap binaries.
* gnu/packages/base.scm (grep-final): New variable.
(%boot5-inputs): Add it.
(%final-inputs): Use it.
Ludovic Courtès [Sat, 14 Jun 2014 21:28:28 +0000 (23:28 +0200)]
gnu: gcc: Really avoid 'install-strip' when cross-compiling.
This is a followup to
6b9229c.
* gnu/packages/gcc.scm (gcc-4.7): Turn 'install-target' into a thunk,
so (%current-target-system) is current.
Ludovic Courtès [Sat, 14 Jun 2014 21:25:59 +0000 (23:25 +0200)]
Merge branch 'master' into core-updates
Ludovic Courtès [Sat, 14 Jun 2014 21:23:56 +0000 (23:23 +0200)]
ui: Avoid circularity with (guix gexp).
Fixes a regression introduced in
56b8210 ("guix build: Allow gexps to be
passed to '-e'.")
* guix/ui.scm (%guix-user-module): Wrap in 'delay'.
(read/eval): Adjust accordingly.
Ludovic Courtès [Sat, 14 Jun 2014 20:49:29 +0000 (22:49 +0200)]
i18n: Move package descriptions from 'guix' to 'guix-packages'.
* po/guix: Merge with po/packages as per
<https://lists.gnu.org/archive/html/guix-devel/2014-06/msg00058.html>.
* po/packages/LINGUAS: Add eo, pt_BR, sr, and vi.
Ludovic Courtès [Sat, 14 Jun 2014 20:46:30 +0000 (22:46 +0200)]
guix: Look for "guix-packages" messages in $localedir.
* scripts/guix.in (run-guix-main): Add 'bindtextdomain' call.
Ludovic Courtès [Sat, 14 Jun 2014 20:37:24 +0000 (22:37 +0200)]
guix build: Allow gexps to be passed to '-e'.
* guix/ui.scm (%guix-user-module): New variable.
(read/eval): Pass it as the second argument to 'eval'.
* guix/scripts/build.scm (options/resolve-packages): Add case for
'gexp?'.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Invoking guix build): Document '-e gexp'.
guxi build: Allow gexps to be passed to '-e'.
* guix/ui.scm (%guix-user-module): New variable.
(read/eval): Pass it as the second argument to 'eval'.
* guix/scripts/build.scm (options/resolve-packages): Add case for
'gexp?'.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Invoking guix build): Document '-e gexp'.
Ludovic Courtès [Sat, 14 Jun 2014 20:21:29 +0000 (22:21 +0200)]
gnu: gcc-4.7: Upgrade to 4.7.4.
* gnu/packages/gcc.scm (gcc-4.7): Upgrade to 4.7.4.
Ludovic Courtès [Sat, 14 Jun 2014 20:16:03 +0000 (22:16 +0200)]
gnu: gcc: Don't use the 'install-strip' target when cross-compiling.
* gnu/packages/gcc.scm (gcc-4.7): Add 'install-target' variable. Use
it in the 'install' phase.
Ludovic Courtès [Sat, 14 Jun 2014 14:04:30 +0000 (16:04 +0200)]
gnu: gcc: Fix cross-compilation of gcc (Canadian cross).
* gnu/packages/gcc.scm (gcc-4.7)[arguments] <#:make-flags>:
When (%current-target-system) is true, pass the empty list or
'("CFLAGS=-g0 -O2").
Ludovic Courtès [Sat, 14 Jun 2014 13:58:23 +0000 (15:58 +0200)]
gnu: make-bootstrap: Make sure %gcc-stripped binaries are usable.
* gnu/packages/make-bootstrap.scm (%gcc-stripped):
When (%current-target-system) is false, run gcc, g++, and cpp with
--version.
Ludovic Courtès [Sat, 14 Jun 2014 13:34:56 +0000 (15:34 +0200)]
gnu: make-bootstrap: Build %gcc-static with --disable-lto.
* gnu/packages/make-bootstrap.scm (%gcc-static): Pass --disable-lto.
Eric Bavier [Fri, 13 Jun 2014 04:54:44 +0000 (23:54 -0500)]
gnu: Add pingus.
* gnu/packages/games.scm (pingus): New variable.
* gnu/packages/patches/pingus-sdl-libs-config.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
John Darrington [Tue, 27 May 2014 06:53:30 +0000 (08:53 +0200)]
gnu: Add busybox.
* gnu/packages/busybox.scm: New file.
* gnu-system.am: Add gnu/packages/busybox.scm.
Ludovic Courtès [Fri, 13 Jun 2014 15:57:41 +0000 (17:57 +0200)]
gnu: make-bootstrap: Build libstdc++ in '%gcc-static'.
* gnu/packages/make-bootstrap.scm (%gcc-static): Re-enable C++.
Ludovic Courtès [Fri, 13 Jun 2014 15:30:40 +0000 (17:30 +0200)]
Separate package description translations from string translations.
* po/packages/LINGUAS, po/packages/Makevars, po/packages/POTFILES.in:
New files.
* po/guix/Makevars (DOMAIN): Change to "guix".
(XGETTEXT_OPTIONS): Remove "--keyword=synopsis --keyword=description".
* po/guix/POTFILES.in: Remove gnu/packages/*.scm.
* configure.ac: Change to gettext 0.18.3. Produce
po/packages/Makefile.in.
* Makefile.am (SUBDIRS): Add po/packages.
* guix/ui.scm (%package-text-domain): New variable.
(P_): New procedure.
(package->recutils): Use 'P_' instead of '_'.
* guix/scripts/package.scm (find-packages-by-description): Use 'P_'
instead of 'gettext'.
Ludovic Courtès [Fri, 13 Jun 2014 14:15:18 +0000 (16:15 +0200)]
Move gettext files to 'po/guix'.
* po: Rename to...
* po/guix: ... this.
* po/guix/Makevars (subdir, top_builddir): Adjust accordingly.
* configure.ac: Change 'po/Makefile.in' to 'po/guix/Makefile.in'.
* Makefile.am (SUBDIRS): Change 'po' to 'po/guix'.
Ludovic Courtès [Fri, 13 Jun 2014 13:57:23 +0000 (15:57 +0200)]
gnu: make-bootstrap: Use single-output GCCs.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[native-inputs]:
Add 'outputs' field for the rewritten GCC.
(%gcc-stripped): Add 'outputs' field.
Ludovic Courtès [Fri, 13 Jun 2014 09:42:33 +0000 (11:42 +0200)]
pull: Copy and compile gnu.scm.
* guix/build/pull.scm (build-guix): Copy gnu.scm to OUT.
Ludovic Courtès [Thu, 12 Jun 2014 21:35:02 +0000 (23:35 +0200)]
gnu: grep: Upgrade to 2.20.
* gnu/packages/base.scm (grep): Upgrade to 2.20.
Ludovic Courtès [Thu, 12 Jun 2014 21:33:15 +0000 (23:33 +0200)]
gnu: gettext: Upgrade to 0.19.1.
* gnu/packages/gettext.scm (gnu-gettext): Upgrade to 0.19.1.
Ludovic Courtès [Thu, 12 Jun 2014 21:27:25 +0000 (23:27 +0200)]
gnu: make-bootstrap: Fix compilation of %gcc-static.
* gnu/packages/make-bootstrap.scm (%gcc-static)[arguments]
<#:configure-flags>: Add --disable-bootstrap
--with-stage1-ldflags=-static.
Remove #:make-flags.
John Darrington [Thu, 12 Jun 2014 11:03:53 +0000 (13:03 +0200)]
gnu: Add tinyproxy.
* gnu/packages/web.scm (tinyproxy): New variable.
* gnu/packages/docbook.scm: Remove #:select (tar)
John Darrington [Thu, 12 Jun 2014 12:46:39 +0000 (14:46 +0200)]
gnu: Add dropbear.
* gnu/packages/ssh.scm (dropbear): New variable.
Ludovic Courtès [Mon, 9 Jun 2014 20:45:01 +0000 (22:45 +0200)]
gnu: cross-gcc: Use a single output.
* gnu/packages/cross-base.scm (cross-gcc): Add 'outputs' field.
Ludovic Courtès [Mon, 9 Jun 2014 16:54:52 +0000 (18:54 +0200)]
guix build: Only 'guix build' sets #:print-build-trace.
This makes 'guix package' et al. slightly less verbose, by not emitting
"@ substituter-started" lines and similar.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
#:print-build-trace.
(%default-options): Add 'print-build-trace?'.
Ludovic Courtès [Mon, 9 Jun 2014 16:51:44 +0000 (18:51 +0200)]
doc: Add a few words on the term "derivation".
* doc/guix.texi (Programming Interface): Add a sentence on "derivation".
Ludovic Courtès [Mon, 9 Jun 2014 16:51:11 +0000 (18:51 +0200)]
Thank Carlos.
Ludovic Courtès [Mon, 9 Jun 2014 16:50:16 +0000 (18:50 +0200)]
gnu: skribilo: Propagate Guile dependencies.
Reported by Carlos Carleos <carleos@uniovi.es>.
* gnu/packages/skribilo.scm (skribilo)[inputs]: Move
GUILE-READER/GUILE-2.0 and GUILE-LIB to...
[propagated-inputs]: ... here. New field.
Ludovic Courtès [Mon, 9 Jun 2014 10:22:05 +0000 (12:22 +0200)]
gnu: coreutils: Remove run-time dependency on Bash.
* gnu/packages/base.scm (coreutils)[arguments] <patch-shell-references>:
Leave src/split.c unpatched. Set $SHELL. Use .../bin/sh and not
.../bin/bash in tests.
Ludovic Courtès [Mon, 9 Jun 2014 09:58:43 +0000 (11:58 +0200)]
gnu: gcc: Add a "lib" output.
* gnu/packages/gcc.scm (gcc-4.7)[configure-flags]: Add
--with-gxx-include-dir.
[outputs]: New field.
[arguments] <phases>: Adjust to use the "lib" output. Add
'substitute*' calls for "libstdc++-v3/python/Makefile.in" and
"gcc/config.in".
* gnu/packages/base.scm (gcc-boot0) <symlink-libgcc_eh>: Use the "lib"
output.
(cross-gcc-wrapper): Add 'outputs' field.
(glibc-final)[arguments]: Adjust #:allowed-references to list
'(GCC-BOOT0 "lib").
(libstdc++): Add 'outputs' field.
(gcc-final)[arguments]: Add "lib" to #:allowed-references.
* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'outputs' field.
Ludovic Courtès [Sun, 8 Jun 2014 21:24:04 +0000 (23:24 +0200)]
gnu: glibc-final: Remove top-level circular dependency.
This fixes a top-level circular dependency between linux.scm and
base.scm introduced in
2e92375.
* gnu/packages/base.scm (glibc-final): Remove call to
'package-with-restricted-references', and use an 'arguments' field
instead.
Ludovic Courtès [Sun, 8 Jun 2014 08:54:44 +0000 (10:54 +0200)]
gnu: libunistring: Work around parallel build issue.
* gnu/packages/libunistring.scm (libunistring)[arguments]: New field.
Eric Bavier [Thu, 5 Jun 2014 04:45:31 +0000 (23:45 -0500)]
gnu: rdup: Fix tests.
* gnu/packages/backup.scm (rdup) [arguments]: Add pre-check phase.
[origin]: Add snippet.
Ludovic Courtès [Sat, 7 Jun 2014 20:42:57 +0000 (22:42 +0200)]
gnu: gettext: Remove debugging leftover.
* gnu/packages/gettext.scm (gnu-gettext)[source](patches): Remove.
Ludovic Courtès [Sat, 7 Jun 2014 18:20:09 +0000 (20:20 +0200)]
gnu: gcc-final: Make sure the output refers only to libc.
* gnu/packages/base.scm (gcc-final)[arguments]: Add
#:allowed-references.
Ludovic Courtès [Sat, 7 Jun 2014 17:39:23 +0000 (19:39 +0200)]
gnu: binutils-final: Make sure the output refers only to libc.
* gnu/packages/base.scm (binutils-final)[arguments]: Add
#:allowed-references.
Ludovic Courtès [Sat, 7 Jun 2014 17:36:50 +0000 (19:36 +0200)]
gnu: glibc-final: Make sure we hold just the right set of references.
* gnu/packages/base.scm (glibc-final): Wrap in
'package-with-restricted-references'.
Ludovic Courtès [Sat, 7 Jun 2014 17:35:20 +0000 (19:35 +0200)]
build-system/gnu: Add 'package-with-restricted-references'.
* guix/build-system/gnu.scm (package-with-restricted-references): New
procedure.
Ludovic Courtès [Sat, 7 Jun 2014 15:23:53 +0000 (17:23 +0200)]
gnu: glibc: Make sure the bootstrap libc is not in $CPATH.
This fixes a bug whereby the bootstrap-glibc headers could be picked up
when building libc.so, which could be noticed by the fact that the
.debug files contained references to bootstrap-glibc.
* gnu/packages/base.scm (glibc-final-with-bootstrap-bash)[arguments]:
Add 'pre-configure' phase.
[inputs]: Remove 'alist-delete' call.
Ludovic Courtès [Fri, 6 Jun 2014 22:38:17 +0000 (00:38 +0200)]
gnu: Build the final Coreutils before Findutils.
This fixes a bug whereby Findutils' 'updatedb' script would retain a
reference to the bootstrap binaries ('sort', etc.)
* gnu/packages/base.scm (coreutils-final, %boot5-inputs): New variables.
(%final-inputs): Use them.
Ludovic Courtès [Fri, 6 Jun 2014 22:35:34 +0000 (00:35 +0200)]
gnu: gettext: Upgrade to 0.19.
* gnu/packages/gettext.scm (gnu-gettext): Upgrade to 0.19.
[arguments] <phases>: Remove now unneeded 'link-expat' phase. Patch
lang-sh and msgfilter test scripts; patch msginit.c and project-id.
Add #:make-flags.
Ludovic Courtès [Fri, 6 Jun 2014 15:23:14 +0000 (17:23 +0200)]
Merge branch 'master' into core-updates
Ludovic Courtès [Fri, 6 Jun 2014 15:18:17 +0000 (17:18 +0200)]
build-system/gnu: Add #:allowed-references.
* guix/build-system/gnu.scm (gnu-build): Add #:allowed-references.
[canonicalize-reference]: New procedure.
Pass #:allowed-references to 'build-expression->derivation'.
(gnu-cross-build): Likewise.
Ludovic Courtès [Fri, 6 Jun 2014 15:07:26 +0000 (17:07 +0200)]
derivations: 'build-expression->derivation' supports #:allowed-references.
* guix/derivations.scm (build-expression->derivation): Add
#:allowed-references and pass it to 'derivation.
* doc/guix.texi (Derivations): Adjust accordingly.
Ludovic Courtès [Thu, 5 Jun 2014 22:09:12 +0000 (00:09 +0200)]
services: Use a fixed GID for the build group and use that for the store.
This partly reverts commit
185f669 ("services: Make sure the store's
group is the build group.")
* gnu/services/base.scm (guix-service)[activate]: Remove 'chown' call.
Add 'id' field to 'user-group' form.
* guix/build/install.scm (directives): Set the store's GID to 30000.
Ludovic Courtès [Thu, 5 Jun 2014 11:38:57 +0000 (13:38 +0200)]
gnu: Add WakeLan.
* gnu/packages/admin.scm (wakelan): New variable.
Mark H Weaver [Thu, 5 Jun 2014 20:36:25 +0000 (16:36 -0400)]
gnu: openssl: Upgrade to 1.0.1h.
* gnu/packages/openssl.scm (openssl): Upgrade to 1.0.1h. Remove
patches, which are now upstream.
* gnu/packages/patches/openssl-extension-checking-fixes.patch: Remove.
* gnu/packages/patches/openssl-CVE-2010-5298.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove them.
Ludovic Courtès [Wed, 4 Jun 2014 21:55:12 +0000 (23:55 +0200)]
gnu: bdb: Move documentation to "doc" output.
* gnu/packages/bdb.scm (bdb): Add 'outputs' field. Adjust 'configure'
phase to move documentation to the "doc" output.
Ludovic Courtès [Wed, 4 Jun 2014 21:32:46 +0000 (23:32 +0200)]
gnu: Set proper source location for 'gcc-final'.
* gnu/packages/base.scm (gcc-final)[location]: New field.
Reported by Andreas Enge <andreas@enge.fr>.
Ludovic Courtès [Wed, 4 Jun 2014 21:08:59 +0000 (23:08 +0200)]
install: Add missing argv[0] in Info invocation.
* gnu/system/install.scm (log-to-info): Add "info" as second argument to
'execl'.
Ludovic Courtès [Wed, 4 Jun 2014 21:08:09 +0000 (23:08 +0200)]
activation: Only create groups that do not exist yet.
Before that the effect would be to re-create groups at each boot, and
thus remove any members of the groups.
* guix/build/activation.scm (activate-users+groups): Call 'add-group'
only when (getgrname name) fails.
Ludovic Courtès [Wed, 4 Jun 2014 20:19:30 +0000 (22:19 +0200)]
services: Make sure the store's group is the build group.
* gnu/services/base.scm (guix-service)[activate]: New variable. Add
'chown' call for (%store-prefix). Set the 'activate' field to
ACTIVATE.
* guix/build/install.scm (directives): Add comment about STORE's group.
Ludovic Courtès [Wed, 4 Jun 2014 20:17:20 +0000 (22:17 +0200)]
services: Add the build group to the supplementary groups of build users.
* gnu/services/base.scm (guix-build-accounts): Add
'supplementary-groups' field.
Ludovic Courtès [Wed, 4 Jun 2014 15:26:54 +0000 (17:26 +0200)]
tests: Skip tests that would hit the shebang length limitation.
* tests/gexp.scm (shebang): New variable.
Skip "gexp->script" when SHEBANG is longer than 127 chars.
* guix/gexp.scm (gexp->script): Add comment on the issue.
Ludovic Courtès [Wed, 4 Jun 2014 14:22:48 +0000 (16:22 +0200)]
system: Tell module-init-tools where to look for modules.
* gnu/packages/linux.scm (module-init-tools)[source](patches): New
field.
* gnu/packages/patches/module-init-tools-moduledir.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/system.scm (etc-directory): Add #:kernel parameter. Set
'LINUX_MODULE_DIRECTORY' in bashrc.
(operating-system-etc-directory): Pass #:kernel to 'etc-directory'.
Ludovic Courtès [Wed, 4 Jun 2014 14:08:26 +0000 (16:08 +0200)]
system: Rename activation script.
* gnu/system.scm (operating-system-activation-script): Change file name
to "activate".
Ludovic Courtès [Wed, 4 Jun 2014 14:07:37 +0000 (16:07 +0200)]
vm: Add #:name parameter for 'system-disk-image'.
* gnu/system/vm.scm (system-disk-image): Add #:name parameter; pass it
to 'qemu-image'.
Ludovic Courtès [Wed, 4 Jun 2014 14:07:09 +0000 (16:07 +0200)]
install: Register the hydra.gnu.org key on the installation image.
* gnu/services/base.scm (hydra-key-authorization): New procedure.
(guix-service): Add #:authorize-hydra-key? parameter; honor it using
'hydra-key-authorization'.
* gnu/system/install.scm (installation-services): Pass
#:authorize-hydra-key? #t.
Ludovic Courtès [Wed, 4 Jun 2014 14:01:53 +0000 (16:01 +0200)]
gnu: guix: Use /etc as sysconfdir.
* gnu/packages/package-management.scm (guix)[arguments]: Pass
--sysconfdir=/etc.
Ludovic Courtès [Wed, 4 Jun 2014 12:59:24 +0000 (14:59 +0200)]
system: Define '%base-packages' and use it.
* gnu/system.scm (<operating-system>)[packages]: Change default value to
%BASE-PACKAGES.
(%base-packages): New variable.
* gnu/system/install.scm (installation-os): Use it when defining the
'packages' field.
* doc/guix.texi (Using the Configuration System): Use %BASE-PACKAGES in
example. Remove now unneeded module imports. Explain this.
Mark H Weaver [Wed, 4 Jun 2014 05:03:17 +0000 (01:03 -0400)]
gnu: gnutls: Upgrade to 3.2.15.
* gnu/packages/gnutls.scm (gnutls): Upgrade to 3.2.15.
Ludovic Courtès [Tue, 3 Jun 2014 21:28:50 +0000 (23:28 +0200)]
install: Add more useful packages.
* gnu/system/install.scm (installation-os)[packages]: Add isc-dhcp,
net-tools, ddrescue, kbd, and texinfo-4.
Ludovic Courtès [Tue, 3 Jun 2014 20:22:39 +0000 (22:22 +0200)]
Update 'eo.po'.
Ludovic Courtès [Tue, 3 Jun 2014 20:22:25 +0000 (22:22 +0200)]
gnu: linux-libre: Build the e1000e driver (Intel ethernet NIC driver.)
* gnu/packages/linux.scm (linux-libre): Add CONFIG_E1000E=m.
Ludovic Courtès [Tue, 3 Jun 2014 20:12:05 +0000 (22:12 +0200)]
gnu: Merge Parted, fdisk, and ddrescue in (gnu packages disk).
* gnu/packages/parted.scm: Rename to...
* gnu/packages/disk.scm: ... this. New file. Merge with...
* gnu/packages/fdisk.scm: ... this; remove file;
* gnu/packages/ddrescue.scm: ... and this; remove file.
* gnu/system/install.scm, gnu/system/vm.scm: Adjust accordingly.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove
gnu/packages/{parted,fdisk,ddrescue}.scm and add
gnu/packages/disk.scm.
Ludovic Courtès [Tue, 3 Jun 2014 09:49:28 +0000 (11:49 +0200)]
hydra: Add Avahi to the demo OS.
* build-aux/hydra/demo-os.scm: Use 'avahi-service' and 'dbus-service'.
Add AVAHI to 'packages'.
Ludovic Courtès [Tue, 3 Jun 2014 09:48:41 +0000 (11:48 +0200)]
system: Make sure /run/setuid-programs comes first in $PATH.
* gnu/system.scm (etc-directory) <bashrc>: Move /run/setuid-programs
first in $PATH.
Ludovic Courtès [Tue, 3 Jun 2014 09:10:58 +0000 (11:10 +0200)]
gnu: elfutils: Add synopsis and description.
* gnu/packages/elf.scm (elfutils): Add synopsis and description.
Ludovic Courtès [Mon, 2 Jun 2014 22:17:00 +0000 (00:17 +0200)]
list-packages: Add links to Hydra for mips64el-linux.
* build-aux/list-packages.scm (package->sxml): Add 'url' call for
mips64el-linux.
Ludovic Courtès [Mon, 2 Jun 2014 21:58:50 +0000 (23:58 +0200)]
system: File system sources can be marked as labels or devices.
* gnu/system/file-systems.scm (<file-system>)[title]: New field.
* gnu/services/base.scm (file-system-service): Add #:title parameter.
In 'start' gexp, use 'canonicalize-device-spec' and honor TITLE.
* gnu/system.scm (other-file-system-services,
operating-system-root-file-system, operating-system-initrd-file):
Adjust accordingly.
* gnu/system/linux-initrd.scm (file-system->spec): Likewise.
* gnu/system/vm.scm (system-disk-image): Add 'title' field for the root
file system.
* guix/build/linux-initrd.scm (mount-file-system): Expect the second
element of SPEC to be the title.
(boot-system)[root-mount-point?, root-fs-type]: Likewise.
* gnu/services/dmd.scm (dmd-configuration-file): Select
'canonicalize-device-spec'.
Ludovic Courtès [Mon, 2 Jun 2014 21:48:55 +0000 (23:48 +0200)]
linux-initrd: Wait for devices to appear when resolving a label.
* guix/build/linux-initrd.scm (canonicalize-device-spec): Add #:title
parameter. When resolving a label, wait a little and try several
times before bailing out.
Ludovic Courtès [Mon, 2 Jun 2014 21:28:07 +0000 (23:28 +0200)]
Revert "gnu: hurd: Add Hurd Minimal."
This reverts commit
bc046a94dec2afadbc1ee3957f13098a8d8b393c,
which referred to uncommitted things ('glibc/hurd-headers'.)
Manolis Ragkousis [Sun, 1 Jun 2014 18:17:03 +0000 (18:17 +0000)]
gnu: hurd: Add Hurd Minimal.
* gnu/packages/hurd.scm (hurd-minimal): New variable.
* gnu/packages/patches/hurd-minimal.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Ludovic Courtès [Sun, 1 Jun 2014 21:51:59 +0000 (23:51 +0200)]
services: syslogd: Write fewer messages to /dev/console.
* gnu/services/base.scm (syslog-service)[contents]: Remove "kern.*" from
/dev/console.
Ludovic Courtès [Sun, 1 Jun 2014 21:51:12 +0000 (23:51 +0200)]
linux-initrd: Actually create /dev/console.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Add
"dev/console".
Ludovic Courtès [Sun, 1 Jun 2014 21:50:39 +0000 (23:50 +0200)]
hydra: Make USB installation image smaller.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Reduce size of 'usb-image'
to 630 MiB.
Ludovic Courtès [Sun, 1 Jun 2014 21:32:26 +0000 (23:32 +0200)]
derivations: Add #:allowed-references 'derivation' parameter.
* guix/derivations.scm (derivation): Add #:allowed-references
parameter.
[user+system-env-vars]: Honor it.
* tests/derivations.scm ("derivation #:allowed-references, ok",
"derivation #:allowed-references, not allowed",
"derivation #:allowed-references, self allowed",
"derivation #:allowed-references, self not allowed"): New tests.
* doc/guix.texi (Derivations): Document #:allowed-references.
Ludovic Courtès [Sun, 1 Jun 2014 20:53:16 +0000 (22:53 +0200)]
gnu: util-linux: Remove dependency on Perl.
* gnu/packages/linux.scm (util-linux)[source](patches): New field.
* gnu/packages/patches/util-linux-perl.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
Ludovic Courtès [Sun, 1 Jun 2014 19:48:57 +0000 (21:48 +0200)]
linux-initrd: Make more device nodes for SCSI disks and CD-ROM devices.
* guix/build/linux-initrd.scm (make-disk-device-nodes): New procedure.
(make-essential-device-nodes): Use it. Make more devices nodes for
SCSI disks and CD-ROM devices.
Ludovic Courtès [Sun, 1 Jun 2014 19:20:54 +0000 (21:20 +0200)]
linux-initrd: Gracefully handle missing /dev nodes.
* guix/build/linux-initrd.scm (partition-label-predicate): Catch
'system-error' around 'read-ext2-superblock'; return #f upon ENOENT.
Ludovic Courtès [Sat, 31 May 2014 20:15:06 +0000 (22:15 +0200)]
hydra: Build the installation image.
* build-aux/hydra/gnu-system.scm (demo-os): New procedure.
(qemu-jobs): Build for both x86_64-linux and i686-linux. Add
'usb-image' job that builds INSTALLATION-OS.
Ludovic Courtès [Sat, 31 May 2014 20:13:33 +0000 (22:13 +0200)]
Add (gnu system install).
* gnu/system/install.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Ludovic Courtès [Sat, 31 May 2014 20:01:05 +0000 (22:01 +0200)]
system: Add 'issue' field.
* gnu/system.scm (<operating-system>)[issue]: New field.
(%default-issue): New variable.
(etc-directory): Add #:issue parameter and honor it.
(operating-system-etc-directory): Adjust call accordingly.
* build-aux/hydra/demo-os.scm: Add 'issue' field.
Ludovic Courtès [Sat, 31 May 2014 17:16:50 +0000 (19:16 +0200)]
system: Add more options for 'mingetty-service'.
* gnu/services/base.scm (mingetty-service): Add #:auto-login,
#:login-program, and #:login-pause? parameters and honor them.
Ludovic Courtès [Sat, 31 May 2014 13:55:38 +0000 (15:55 +0200)]
linux-initrd: Gracefully deal with partitions with no label.
* guix/build/linux-initrd.scm (partition-label-predicate): Check whether
'ext2-superblock-volume-name' returns #f, and return #f if it does.
Ludovic Courtès [Sat, 31 May 2014 13:25:49 +0000 (15:25 +0200)]
gnu: Move libarchive to (gnu packages backup).
* gnu/packages/compression.scm (libarchive): Move to...
* gnu/packages/backup.scm (libarchive): ... here.
Import (guix licenses) with #:renamer to avoid conflicting 'zlib'
bindings.
Ludovic Courtès [Fri, 30 May 2014 21:45:42 +0000 (23:45 +0200)]
vm: disk-image: Specify the root file system using a label.
* gnu/system/vm.scm (system-disk-image)[root-label]: New variable.
Use it for the root file system, and pass it as #:file-system-label to
'qemu-image'.
Ludovic Courtès [Fri, 30 May 2014 21:44:28 +0000 (23:44 +0200)]
linux-initrd: Allow use of volume labels in 'file-system' declarations.
* guix/build/linux-initrd.scm (%ext2-endianness, %ext2-sblock-magic,
%ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name):
New macros.
(read-ext2-superblock, ext2-superblock-uuid,
ext2-superblock-volume-name, disk-partitions,
partition-label-predicate, find-partition-by-label,
canonicalize-device-spec): New procedures.
(mount-file-system): Use 'canonicalize-device-spec' on SOURCE.
(boot-system): Likewise for ROOT.
* doc/guix.texi (Using the Configuration System): Adjust 'file-system'
declaration accordingly.
Eric Bavier [Fri, 30 May 2014 19:29:42 +0000 (14:29 -0500)]
gnu: Add rdiff-backup.
* gnu/packages/backup.scm (rdiff-backup): New variable.
Eric Bavier [Thu, 29 May 2014 21:37:28 +0000 (16:37 -0500)]
gnu: Add btar.
* gnu/packages/backup.scm (btar): New variable.
Eric Bavier [Thu, 29 May 2014 21:36:42 +0000 (16:36 -0500)]
gnu: Add rdup.
* gnu/packages/backup.scm (rdup): New variable.
Eric Bavier [Thu, 29 May 2014 21:35:45 +0000 (16:35 -0500)]
gnu: Add libarchive.
* gnu/packages/compression.scm (libarchive): New variable.
Eric Bavier [Thu, 29 May 2014 21:35:12 +0000 (16:35 -0500)]
gnu: Add hdup.
* gnu/packages/backup.scm (hdup): New variable.
Ludovic Courtès [Thu, 29 May 2014 21:32:21 +0000 (23:32 +0200)]
hydra: Don't cross-build from MIPS to MIPS.
* build-aux/hydra/gnu-system.scm (hydra-jobs)[same?, either]: New
procedure. Use it in 'remove' call.
Ludovic Courtès [Thu, 29 May 2014 21:13:11 +0000 (23:13 +0200)]
system: Add 'fusermount' to the default setuid programs.
* gnu/system.scm (%setuid-programs): Add 'fusermount'.
Ludovic Courtès [Thu, 29 May 2014 21:07:43 +0000 (23:07 +0200)]
vm: Allow a volume name to be specified for the root partition.
* guix/build/vm.scm (format-partition): Add #:label parameter, and honor
it.
(initialize-hard-disk): Add #:file-system-label parameter, and pass it
to 'format-partition'.
* gnu/system/vm.scm (qemu-image): Add #:file-system-label parameter and
pass it to 'initialize-hard-disk'.