Ludovic Courtès [Sat, 24 May 2014 13:51:57 +0000 (15:51 +0200)]
system: Separate the activation script from the boot script.
* gnu/system.scm (operating-system-activation-script): New procedure,
containing most of the former 'operating-system-boot-script'.
(operating-system-boot-script): Call it, and 'primitive-load' its
result.
* guix/build/activation.scm (%booted-system): Remove.
(activate-current-system): Remove #:boot? parameter and related code.
Eric Bavier [Thu, 22 May 2014 18:28:34 +0000 (13:28 -0500)]
gnu: Add lzop.
* gnu/packages/compression.scm (lzop): New variable.
Ludovic Courtès [Fri, 23 May 2014 20:35:08 +0000 (22:35 +0200)]
vm: Disable QEMU networking in the disk image initrd.
* gnu/system/linux-initrd.scm (qemu-initrd): Add #:qemu-networking?
parameter and honor it.
* gnu/system/vm.scm (system-disk-image): Pass #:qemu-networking #f.
Ludovic Courtès [Fri, 23 May 2014 20:19:37 +0000 (22:19 +0200)]
download: Enlarge your receive buffer.
* guix/build/download.scm (open-connection-for-uri): Remove call to
'setsockopt'.
* guix/http-client.scm (open-socket-for-uri)[rmem-max, buffer-size]: New
variables. Add call to 'setsockopt'.
Ludovic Courtès [Thu, 22 May 2014 21:22:15 +0000 (23:22 +0200)]
guix system: Add 'disk-image' action.
* guix/scripts/system.scm (show-help): Add 'disk-image'.
(guix-system)[parse-options]: Support 'disk-image' action.
[option-arguments]: Likewise.
Handle the 'disk-image' action.
* doc/guix.texi (Invoking guix system): Document 'disk-image'.
Ludovic Courtès [Thu, 22 May 2014 21:12:36 +0000 (23:12 +0200)]
vm: Add 'system-disk-image'.
* gnu/system/vm.scm (system-disk-image): New procedure.
Ludovic Courtès [Thu, 22 May 2014 21:20:12 +0000 (23:20 +0200)]
Add (gnu) module.
* gnu.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/hydra/demo-os.scm: Use (gnu) and strip import list
accordingly.
* doc/guix.texi (Using the Configuration System): Adjust example
accordingly.
Ludovic Courtès [Thu, 22 May 2014 20:32:53 +0000 (22:32 +0200)]
vm: Use a para-virtualized disk when creating an image.
* guix/build/vm.scm (load-in-linux-vm): When MAKE-DISK-IMAGE?, use
'-drive ...,if=virtio' for better performance.
* gnu/system/vm.scm (qemu-image): Use /dev/vda instead of /dev/sda.
Ludovic Courtès [Thu, 22 May 2014 20:30:13 +0000 (22:30 +0200)]
vm: Make the image format a parameter.
* guix/build/vm.scm (load-in-linux-vm): Add #:disk-image-format
parameter; add 'image-file' variable. Honor DISK-IMAGE-FORMAT.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add
#:disk-image-format parameter, and honor it.
(qemu-image): Likewise.
Ludovic Courtès [Thu, 22 May 2014 19:57:39 +0000 (21:57 +0200)]
linux-initrd: Build /dev/loop* nodes.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Build
/dev/loop[0-7].
Andreas Enge [Thu, 22 May 2014 20:28:12 +0000 (22:28 +0200)]
gnu: imagemagick: Upgrade to 6.8.9-0.
* gnu/packages/imagemagick.scm (imagemagick): Upgrade to 6.8.9-0.
Andreas Enge [Thu, 22 May 2014 20:13:42 +0000 (22:13 +0200)]
gnu: perl-io-tty: Upgrade to 1.11.
* gnu/packages/perl.scm (perl-io-tty): Upgrade to 1.11.
Andreas Enge [Thu, 22 May 2014 19:58:08 +0000 (21:58 +0200)]
guix: download: Update imagemagick mirrors.
* guix/download.scm (%mirrors)[imagemagick]: Update and add the legacy
subdirectory of the main site as a last resort.
Ludovic Courtès [Thu, 22 May 2014 08:38:41 +0000 (10:38 +0200)]
build: Fix builds without --with-libgcrypt-prefix nor --with-libgcrypt-libdir.
Reported by Manolis Ragkousis <manolis837@gmail.com>.
Fixes a regression introduced in
14af289.
Before this commit, ./configure would leave LIBGCRYPT_PREFIX and
LIBGCRYPT_LIBDIR undefined, leading to LIBGCRYPT_LIBS="-L -lgcrypt" and
thus to a link failure.
* configure.ac: Make sure $LIBGCRYPT_PREFIX and $LIBGCRYPT_LIBDIR are
never empty.
Ludovic Courtès [Wed, 21 May 2014 21:31:46 +0000 (23:31 +0200)]
vm: Modularize build-side code.
* guix/build/install.scm (install-grub): Call 'error' if 'system*'
returns non-zero.
* guix/build/vm.scm (initialize-partition-table): Make 'partition-size'
a positional parameter. Call 'error' when 'system*' returns
non-zero'.
(format-partition, initialize-root-partition): New procedures.
(initialize-hard-disk): Use them.
Ludovic Courtès [Wed, 21 May 2014 21:19:13 +0000 (23:19 +0200)]
vm: Remove misleading comment.
* guix/build/vm.scm (load-in-linux-vm): Remove misleading comment.
Ludovic Courtès [Wed, 21 May 2014 15:12:03 +0000 (17:12 +0200)]
gnu: Add wpa_supplicant.
* gnu/packages/admin.scm (wpa-supplicant): New variable.
Ludovic Courtès [Wed, 21 May 2014 13:29:23 +0000 (15:29 +0200)]
store: Flush the output when the build process emits '\r'.
This allows progress reports emitted by 'substitute-binary' to be
correctly displayed.
* guix/store.scm (%newlines): New variable.
(process-stderr) <%stderr-next>: Flush (current-build-output-port)
when S contains one of %NEWLINES.
Ludovic Courtès [Tue, 20 May 2014 21:18:02 +0000 (23:18 +0200)]
Augment (guix).
* guix.scm (%public-modules): Add 'monads' and 'gexp'.
Ludovic Courtès [Tue, 20 May 2014 19:59:08 +0000 (21:59 +0200)]
Add (gnu system file-systems).
This fixes a circular dependency between (gnu system) and (gnu system
linux-initrd), where the latter could end up being compiled before
'file-system-type' was defined as a macro.
* gnu/system.scm (<file-system>, %fuse-control-file-system,
%binary-format-file-system): Move to...
* gnu/system/file-systems.scm: ... here. New file.
* build-aux/hydra/demo-os.scm, gnu/system/linux-initrd.scm,
gnu/system/vm.scm: Use it.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Ludovic Courtès [Tue, 20 May 2014 19:56:20 +0000 (21:56 +0200)]
linux-initrd: Display a backtrace when the initial program fails.
* guix/build/linux-initrd.scm (boot-system): Add pre-unwind handler in
'catch' form around 'primitive-load', and call 'format' and
'display-backtrace' from there.
Ludovic Courtès [Tue, 20 May 2014 19:52:31 +0000 (21:52 +0200)]
vm: Fix typo.
Regression introduced in
e38e18f.
* guix/build/vm.scm (initialize-hard-disk)[partition]: Use a string.
Eric Bavier [Tue, 20 May 2014 17:20:12 +0000 (12:20 -0500)]
gnu: Add ccache.
* gnu/packages/ccache.scm: New file.
* gnu/packages/patches/ccache-stdc-predef-test.patch: New patch.
* gnu-system.am (GNU_SYSTEM_MODULES): Add ccache.scm.
(dist_patch_DATA): Add patch.
Eric Bavier [Sat, 17 May 2014 06:44:42 +0000 (01:44 -0500)]
gnu: Edit synopses of petsc packages.
* gnu/packages/maths.scm (petsc) [synopsis]: Shorten.
(petsc-complex,petsc-openmpi,petsc-complex-openmpi) [synopsis]:
Repeat synopsis from petsc package with extensions. [description]: Remove.
Eric Bavier [Tue, 20 May 2014 14:50:58 +0000 (09:50 -0500)]
gnu: offlineimap: fix license.
* gnu/packages/mail.scm (offlineimap) [license]: Change to gpl2+.
Eric Bavier [Tue, 20 May 2014 14:00:59 +0000 (09:00 -0500)]
gnu: Add mu.
* gnu/packages/mail.scm (mu): New variable.
Eric Bavier [Tue, 20 May 2014 14:00:04 +0000 (09:00 -0500)]
gnu: Add offlineimap
* gnu/packages/mail.scm (offlineimap): New variable.
Ludovic Courtès [Mon, 19 May 2014 21:52:11 +0000 (23:52 +0200)]
gnu: Add Linux kbd.
* gnu/packages/linux.scm (kbd): New variable.
Ludovic Courtès [Mon, 19 May 2014 21:08:43 +0000 (23:08 +0200)]
ui: Gracefully deal with zero-output derivations.
* guix/ui.scm (show-what-to-build)[built-or-substitutable?]: New
procedure. Check whether OUT is #f.
Use it.
* tests/ui.scm ("show-what-to-build, zero outputs"): New test.
Ludovic Courtès [Mon, 19 May 2014 20:47:27 +0000 (22:47 +0200)]
guix system: Check whether we are installing to /.
* guix/scripts/system.scm (install): Check whether TARGET is / and warn.
Ludovic Courtès [Mon, 19 May 2014 20:42:34 +0000 (22:42 +0200)]
guix system: Factorize out closure copy.
* guix/scripts/system.scm (copy-closure): New procedure.
(install): Use it.
Ludovic Courtès [Mon, 19 May 2014 20:38:44 +0000 (22:38 +0200)]
doc: Show the 'bootloader' field in system example.
* doc/guix.texi (Using the Configuration System): Add 'bootloader'
field.
Ludovic Courtès [Mon, 19 May 2014 20:36:15 +0000 (22:36 +0200)]
guix system: 'guix system init' installs GRUB by default.
* guix/scripts/system.scm (install): Add #:grub?, #:grub.cfg, and
#:device parameters; honor them.
(show-help): Document '--no-grub'.
(%options): Add '--no-grub'.
(%default-options): Add 'install-grub?'.
(guix-system): Honor 'install-grub?' option from OPTS. Adjust
'install' call accordingly.
* doc/guix.texi (Invoking guix system): Document '--no-grub'.
Ludovic Courtès [Mon, 19 May 2014 20:00:46 +0000 (22:00 +0200)]
vm: Make the device name a parameter.
* guix/build/vm.scm (initialize-partition-table): Honor 'device'
parameter.
(initialize-hard-disk): Add 'device' parameter and honor it.
* gnu/system/vm.scm (qemu-image): Adjust accordingly.
Eric Bavier [Mon, 19 May 2014 05:12:46 +0000 (00:12 -0500)]
gnu: Add superlu-dist package.
* gnu/packages/maths.scm (superlu-dist): New variable.
* gnu/packages/patches/superlu-dist-scotchmetis.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
Eric Bavier [Mon, 19 May 2014 05:09:15 +0000 (00:09 -0500)]
gnu: Add pt-scotch package.
* gnu/packages/maths.scm (pt-scotch): New variable.
Eric Bavier [Mon, 19 May 2014 05:08:30 +0000 (00:08 -0500)]
gnu: Add scotch package.
* gnu/packages/maths.scm (scotch): New variable.
* gnu/packages/patches/scotch-test-threading.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
Eric Bavier [Mon, 19 May 2014 04:49:07 +0000 (23:49 -0500)]
guix: licenses: Add CeCILL-C license.
* guix/licenses.scm (cecill-c): New variable.
Ludovic Courtès [Sun, 18 May 2014 20:06:38 +0000 (22:06 +0200)]
system: Prevent grub.cfg from being GC'd.
* guix/build/install.scm (install-grub): Use 'copy-file' instead of
'symlink' for GRUB.CFG.
Ludovic Courtès [Sun, 18 May 2014 19:58:01 +0000 (21:58 +0200)]
system: Add 'grub-configuration' record.
* gnu/system/grub.scm (<grub-configuration>): New record type.
(grub-configuration-file): Add 'config' parameter; remove
#:default-entry and #:timeout. Honor CONFIG.
* gnu/system.scm (<operating-system>): Remove 'bootloader-entries'
field; remove default value for 'bootloader' field.
(operating-system-grub.cfg): Pass the 'bootloader' field to
'grub-configuration-file'.
* build-aux/hydra/demo-os.scm (bootloader): New field.
Ludovic Courtès [Sun, 18 May 2014 19:32:57 +0000 (21:32 +0200)]
guix system: Add 'init' sub-command.
* guix/scripts/system.scm (install): New procedure.
(guix-system)[parse-option]: Remove check for extraneous arguments.
[match-pair, option-arguments]: New procedures.
Use 'option-arguments'. Honor 'init'.
(show-help): Document 'init'.
* doc/guix.texi (Invoking guix system): Document 'init'.
Ludovic Courtès [Sun, 18 May 2014 17:12:43 +0000 (19:12 +0200)]
store: Change #:store parameter to #:prefix.
* guix/store.scm (register-path): Change #:store to #:prefix.
Ludovic Courtès [Sun, 18 May 2014 17:11:53 +0000 (19:11 +0200)]
vm: Avoid resetting timestamps twice.
* guix/build/vm.scm (initialize-hard-disk): Don't call
'reset-timestamps' when REGISTER-CLOSURES? is true.
* guix/build/install.scm (register-closure): Mention timestamps in
docstring.
Eric Bavier [Sun, 18 May 2014 16:08:17 +0000 (11:08 -0500)]
gnu: openmpi: Add memchecker support.
* gnu/packages/mpi.scm (openmpi) [inputs]: Add valgrind. Unpropagate
gfortran. [arguments]: Add configure flags for memchecker.
Ludovic Courtès [Sat, 17 May 2014 15:39:30 +0000 (17:39 +0200)]
system: Make /run/current-system at activation time.
* gnu/system.scm (etc-directory): Change default value of #:profile.
Change contents of SHELLS. Use /run/current-system/profile/{s,}bin in
BASHRC.
(operating-system-boot-script)[%modules]: Add (guix build
linux-initrd). Add call to 'activate-current-system' in gexp.
(operating-system-initrd-file, operating-system-grub.cfg): New
procedures.
(operating-system-derivation): Don't build grub.cfg here and remove it
from the file union.
* gnu/system/vm.scm (qemu-image): Remove #:populate.
(operating-system-build-gid, operating-system-default-contents):
Remove.
(system-qemu-image): Remove call to
'operating-system-default-contents'. Use 'operating-system-grub.cfg'
to get grub.cfg. Add GRUB.CFG to #:inputs.
(system-qemu-image/shared-store): Likewise, but don't add GRUB.CFG to
#:inputs.
(system-qemu-image/shared-store-script): Pass --system kernel option.
* guix/build/activation.scm (%booted-system, %current-system): New
variables.
(boot-time-system, activate-current-system): New procedures.
* guix/build/install.scm (evaluate-populate-directive): Add case
for ('directory name uid gid mode).
(directives, populate-root-file-system): New procedures.
* guix/build/vm.scm (initialize-hard-disk): Replace calls to
'evaluate-populate-directive' by a call to
'populate-root-file-system'.
* gnu/services/dmd.scm (dmd-configuration-file): Use
/run/current-system/profile/bin.
* gnu/services/xorg.scm (slim-service): Likewise.
Andreas Enge [Sat, 17 May 2014 15:12:27 +0000 (17:12 +0200)]
gnu: soprano: Add input redland.
* gnu/packages/rdf.scm (soprano): Add inputs redland and rasqal, drop raptor2
(propagated by rasqal).
Andreas Enge [Sat, 17 May 2014 12:59:15 +0000 (14:59 +0200)]
gnu: Add redland.
* gnu/packages/rdf.scm (redland): New variable.
Andreas Enge [Sat, 17 May 2014 12:55:27 +0000 (14:55 +0200)]
gnu: rasqal: Propagate input raptor2.
* gnu/packages/rdf.scm (rasqal): Propagate input raptor2 as indicated in
the pkg-config file.
Ludovic Courtès [Sat, 17 May 2014 13:41:56 +0000 (15:41 +0200)]
build: Add --with-libgcrypt-libdir=DIR to support Debian's multi-arch layout.
* configure.ac: Remove 'LIBGCRYPT_PREFIX' and use 'LIBGCRYPT_LIBDIR'
instead. Add --with-libgcrypt-libdir=DIR option.
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Pass
'--with-libgcrypt-libdir'.
* config-daemon.ac: Honor $LIBGCRYPT_LIBDIR when computing
LIBGCRYPT_LIBS.
Andreas Enge [Sat, 17 May 2014 12:43:34 +0000 (14:43 +0200)]
gnu: Add rasqal.
* gnu/packages/rdf.scm (rasqal): New variable.
Ludovic Courtès [Fri, 16 May 2014 22:08:39 +0000 (00:08 +0200)]
store: Add #:store parameter to 'register-path'.
* guix/store.scm (register-path): Add #:store and honor it.
Ludovic Courtès [Fri, 16 May 2014 21:31:48 +0000 (23:31 +0200)]
linux-initrd: Factorize kernel command-line option parsing.
* guix/build/linux-initrd.scm (find-long-option): New procedure.
(boot-system): Use it instead of the local 'option'.
Ludovic Courtès [Fri, 16 May 2014 19:57:11 +0000 (21:57 +0200)]
hydra: Add dummy root file system declaration.
* build-aux/hydra/demo-os.scm (file-systems): Add "/" file system.
Ludovic Courtès [Fri, 16 May 2014 19:56:00 +0000 (21:56 +0200)]
guix system: Add 'build' action.
* guix/scripts/system.scm (show-help): Document 'build' action.
(guix-system): Honor 'build' action.
* doc/guix.texi (Invoking guix system): Add 'build' action.
Ludovic Courtès [Fri, 16 May 2014 13:40:19 +0000 (15:40 +0200)]
gnu: Add libuv.
* gnu/packages/libevent.scm (libuv): New variable.
Ludovic Courtès [Fri, 16 May 2014 08:22:19 +0000 (10:22 +0200)]
authenticate: Add compatibility hack for Guile 2.0.5.
* guix/scripts/authenticate.scm (%default-port-conversion-strategy): New
variable. Reported by Andreas Enge <andreas@enge.fr>.
Ludovic Courtès [Fri, 16 May 2014 08:20:45 +0000 (10:20 +0200)]
list-runtime-roots: Don't display a backtrace on 2.0.5 when lsof is lacking.
* nix/scripts/list-runtime-roots.in (lsof-roots): Fix typo in 'catch'
tag. Add 'parent' variable. Wrap 'open-pipe*' call in 'catch'.
Reported by Andreas Enge <andreas@enge.fr>.
Ludovic Courtès [Thu, 15 May 2014 21:37:46 +0000 (23:37 +0200)]
system: Add (guix build install) module.
* guix/build/vm.scm (install-grub, evaluate-populate-directive,
reset-timestamps, register-closure): Move to...
* guix/build/install.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add (guix
build install) to #:modules.
Ludovic Courtès [Thu, 15 May 2014 20:55:14 +0000 (22:55 +0200)]
vm: Support initialization of the store DB when the store is shared.
* gnu/system/vm.scm (qemu-image): Rename #:inputs-to-copy to #:inputs,
and #:initialize-store? to #:register-closures?. Add #:copy-inputs?.
Adjust build gexp accordingly.
(system-qemu-image): Remove #:initialize-store? argument and add
#:copy-inputs?.
(system-qemu-image/shared-store): Add #:inputs, #:register-closures?,
and #:copy-inputs? arguments.
* guix/build/vm.scm (register-closure): New procedure.
(MS_BIND): New variable.
(initialize-hard-disk): Rename #:initialize-store? to
#:register-closures?, #:closures-to-copy to #:closures, and add
#:copy-closures?.
Add 'target-directory' and 'target-store' variables.
Call 'populate-store' only when COPY-CLOSURES?.
Bind-mount the store to TARGET-STORE when REGISTER-CLOSURES? and not
COPY-CLOSURES?. Add call to 'register-closure'.
Ludovic Courtès [Thu, 15 May 2014 20:47:53 +0000 (22:47 +0200)]
build: Remove fusectl from the default file systems in the demo OS.
* build-aux/hydra/demo-os.scm (file-systems): Comment out
%FUSE-CONTROL-FILE-SYSTEM, since fuse.ko is missing by default in the
freestanding VM image.
Ludovic Courtès [Wed, 14 May 2014 21:17:03 +0000 (23:17 +0200)]
system: Provide declarations for the 'fusectl' and 'binfmt_misc' file systems.
* gnu/system.scm (%fuse-control-file-system,
%binary-format-file-system): New variables.
* build-aux/hydra/demo-os.scm (file-systems): New field.
Ludovic Courtès [Wed, 14 May 2014 21:15:51 +0000 (23:15 +0200)]
vm: Keep acceptable file systems from the original OS.
* gnu/system/vm.scm (virtualized-operating-system): Instead of
completely overriding 'file-systems', use 'remove' to filter out some
of those declared in OS.
(system-qemu-image): Likewise.
Ludovic Courtès [Wed, 14 May 2014 21:02:10 +0000 (23:02 +0200)]
gnu: xterm: Upgrade to 304.
* gnu/packages/xorg.scm (xterm): Upgrade to 304. Switch to a
version-specific URL.
Ludovic Courtès [Wed, 14 May 2014 17:05:21 +0000 (19:05 +0200)]
activation: Silence warning from 'useradd'.
* guix/build/activation.scm (add-user): Don't pass '--create-home' when
HOME already exists.
Ludovic Courtès [Wed, 14 May 2014 14:38:47 +0000 (16:38 +0200)]
linux-initrd: Make /dev/ttyS0, for debugging.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
/dev/ttyS0.
Ludovic Courtès [Wed, 14 May 2014 14:38:21 +0000 (16:38 +0200)]
system: When unionfs-fuse is used for /, don't kill it when halting.
* guix/build/linux-initrd.scm (pidof): New procedure.
(mount-root-file-system)[mark-as-not-killable]: New procedure.
Use it for unionfs when VOLATILE-ROOT?.
* gnu/services/base.scm (%do-not-kill-file): New variable.
(user-processes-service)[stop]: Honor it.
Ludovic Courtès [Wed, 14 May 2014 14:35:35 +0000 (16:35 +0200)]
syscalls: Add 'processes' to list all the live processes.
* guix/build/syscalls.scm (kernel?, processes): New procedures.
Andreas Enge [Wed, 14 May 2014 14:04:42 +0000 (16:04 +0200)]
gnu: libsm: Propagate input libice.
* gnu/packages/xorg.scm (libsm): Propagate input libice.
Andreas Enge [Wed, 14 May 2014 13:53:00 +0000 (15:53 +0200)]
gnu: qt-4: Upgrade to 4.8.6.
* gnu/packages/qt.scm (qt-4): Upgrade to 4.8.6.
Andreas Enge [Wed, 14 May 2014 12:30:28 +0000 (14:30 +0200)]
gnu: qt-4: Enable session management by adding libsm as an input.
* gnu/packages/qt.scm (qt-4): Add input qt-4.
Ludovic Courtès [Tue, 13 May 2014 21:56:24 +0000 (23:56 +0200)]
vm: Pass '-serial stdio' in the run-vm.sh.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add
'-serial stdio'.
Ludovic Courtès [Tue, 13 May 2014 19:32:48 +0000 (21:32 +0200)]
system: Move skeleton code to (gnu system shadow).
* gnu/system.scm (default-skeletons, skeleton-directory): Move to...
* gnu/system/shadow.scm: ... here.
Ludovic Courtès [Tue, 13 May 2014 19:22:38 +0000 (21:22 +0200)]
doc: Improve debugging file documentation.
* doc/guix.texi (Installing Debugging Files): Add @cindex. Remove
unneeded '-i' in example. Mention source code an 'directory'. Link
to "Build Systems" instead of "Defining Packages".
Ludovic Courtès [Tue, 13 May 2014 17:04:27 +0000 (19:04 +0200)]
system: Add skeleton '.gdbinit'.
* gnu/system.scm (default-skeletons): Add .gdbinit.
Eric Bavier [Mon, 12 May 2014 21:43:04 +0000 (16:43 -0500)]
gnu: openmpi: Use our hwloc.
* gnu/packages/mpi.scm (hwloc): Propagate numactl.
(openmpi)[inputs]: Add hwloc.
[native-inputs]: Add pkg-config.
[argument]: Add hwloc configure flags.
Ludovic Courtès [Mon, 12 May 2014 21:54:30 +0000 (23:54 +0200)]
gnu: Add babl.
* gnu/packages/gimp.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Ludovic Courtès [Mon, 12 May 2014 21:37:13 +0000 (23:37 +0200)]
system: Populate /etc/skel.
* gnu/system.scm (<operating-system>)[skeletons]: New field.
(default-skeletons, skeleton-directory): New procedures.
(etc-directory): Add #:skeletons parameter. Call
'skeleton-directory', and produce the 'skel' sub-directory.
(operating-system-etc-directory): Pass #:skeletons to
'etc-directory'.
Ludovic Courtès [Mon, 12 May 2014 19:40:16 +0000 (21:40 +0200)]
doc: Add example for --search.
* doc/guix.texi (Invoking guix package): Add LGPLv3 example.
Eric Bavier [Mon, 12 May 2014 16:42:53 +0000 (11:42 -0500)]
gnu: perl-tk: Patch for i686
* gnu/packages/patches/perl-tk-x11-discover.patch: New patch.
* gnu-system.am [dist_patch_DATA]: Add it.
* gnu/packages/tcl.scm (perl-tk)[origin]: Use it.
Ludovic Courtès [Sun, 11 May 2014 20:41:01 +0000 (22:41 +0200)]
system: Make accounts and groups at activation time.
* gnu/services/base.scm (guix-build-accounts): Remove #:gid parameter;
add #:group. Remove 'password' and 'gid' fields in 'user-account'
form, and add 'group'.
(guix-service): Remove #:build-user-gid parameter. Remove 'id' field
in 'user-group' form.
* gnu/system.scm (etc-directory): Remove #:groups and #:accounts. No
longer produce files "passwd", "shadow", and "group". Adjust caller
accordingly.
(%root-account): New variable.
(operating-system-accounts): Add 'users' variable. Add %ROOT-ACCOUNT
only of 'operating-system-users' doesn't already contain a root
account.
(user-group->gexp, user-account->gexp): New procedures.
(operating-system-boot-script): Add calls to 'setenv' and
'activate-users+groups' in gexp.
* gnu/system/linux.scm (base-pam-services): Add PAM services for
"user{add,del,mode}" and "group{add,del,mod}".
* gnu/system/shadow.scm (<user-account>)[gid]: Rename to...
[group]: ... this.
[supplementary-groups]: New field.
[uid, password]: Default to #f.
(<user-group>)[id]: Default to #f.
(group-file, passwd-file): Remove.
* gnu/system/vm.scm (operating-system-default-contents)[user-directories]:
Remove. Add "/home" to the directives.
* guix/build/activation.scm (add-group, add-user,
activate-users+groups): New procedures.
Ludovic Courtès [Sun, 11 May 2014 11:41:08 +0000 (13:41 +0200)]
services: xorg: Fix harmless typo in slim.cfg.
* gnu/services/xorg.scm (slim-service): Add missing whitespace in
XINITRC invocation.
John Darrington [Sun, 11 May 2014 05:27:38 +0000 (07:27 +0200)]
gnu: pspp: Upgrade to 0.8.3
* gnu/packages/maths.scm (pspp): Update to 0.8.3.
Ludovic Courtès [Sun, 11 May 2014 10:11:09 +0000 (12:11 +0200)]
doc: Mention upgrades that trigger a lot of rebuilds.
* HACKING (Commit Access): Mention upgrades that trigger a lot rebuilds.
Andreas Enge [Sun, 11 May 2014 08:43:51 +0000 (10:43 +0200)]
doc: Add a section on perl modules in the packaging guidelines.
* doc/guix.texi (Perl modules): New section explaining the naming of perl
modules.
Ludovic Courtès [Sat, 10 May 2014 21:56:45 +0000 (23:56 +0200)]
vm: Fix recently-introduced regression in 'operating-system-services' use.
* gnu/system/vm.scm (operating-system-build-gid): Adjust to new return
type of 'operating-system-services' introduced in
217a5b8.
Ludovic Courtès [Sat, 10 May 2014 21:33:52 +0000 (23:33 +0200)]
services: Add 'file-system-service'.
* gnu/services/base.scm (file-system-service): New procedure.
(user-processes-service): Add 'requirements' parameter.
* gnu/services/dmd.scm (dmd-configuration-file): Use (guix build
linux-initrd).
* guix/build/linux-initrd.scm (guix): Export 'check-file-system'.
* gnu/system.scm (file-union): New procedure.
(essential-services): Use it. Add that to the returned list.
Ludovic Courtès [Sat, 10 May 2014 20:58:22 +0000 (22:58 +0200)]
services: Use (guix build syscalls) instead of util-linux.
* gnu/services/dmd.scm (dmd-configuration-file): Add derivations for
the (guix build syscalls) module, and add that to the load path of
dmd.conf.
* gnu/services/base.scm (root-file-system-service): Rewrite using the
'sync' and 'mount' procedures.
Ludovic Courtès [Sat, 10 May 2014 19:49:11 +0000 (21:49 +0200)]
Add (guix build syscalls).
* guix/build/syscalls.scm, tests/syscalls.scm: New files.
* Makefile.am (MODULES): Add guix/build/syscalls.scm.
(SCM_TESTS): Add tests/syscalls.scm.
* guix/utils.scm (%libc-errno-pointer, errno): Remove; take from (guix
build syscalls).
Ludovic Courtès [Sat, 10 May 2014 19:47:05 +0000 (21:47 +0200)]
linux-initrd: Append to /etc/mtab.
* guix/build/linux-initrd.scm (mount-file-system): Open /etc/mtab in
append mode.
Ludovic Courtès [Fri, 9 May 2014 20:58:46 +0000 (22:58 +0200)]
system: Automatically add essential services.
* gnu/services/base.scm (%base-services): Remove calls to
'host-name-service', 'user-processes-service', and
'root-file-system-service'.
* gnu/system.scm (<operating-system>)[operating-system-services]: Rename
to...
[operating-system-user-services]: ... this.
(essential-services, operating-system-services): New procedures.
(operating-system-accounts, operating-system-etc-directory,
operating-system-boot-script, operating-system-derivation): Adjust to
new 'operating-system-services' return type.
Eric Bavier [Fri, 9 May 2014 13:59:47 +0000 (08:59 -0500)]
gnu: fftw: Factor out OpenMPI dependency.
* gnu/packages/algebra.scm (fftw)[inputs,arguments]: Remove OpenMPI.
(fftw-openmpi): New variable.
Ludovic Courtès [Fri, 9 May 2014 13:49:08 +0000 (15:49 +0200)]
gnu: Add hwloc.
* gnu/packages/mpi.scm (hwloc): New variable.
(openmpi): Add TODO comment.
Ludovic Courtès [Fri, 9 May 2014 13:23:41 +0000 (15:23 +0200)]
gnu: Add pciutils.
* gnu/packages/pciutils.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Ludovic Courtès [Fri, 9 May 2014 12:55:12 +0000 (14:55 +0200)]
gnu: Add numactl.
* gnu/packages/linux.scm (numactl): New variable.
Eric Bavier [Thu, 8 May 2014 22:06:46 +0000 (17:06 -0500)]
gnu: openmpi: Fix typo in download uri
* gnu/packages/mpi.scm (openmpi)[origin]: Fix typo.
Eric Bavier [Thu, 8 May 2014 21:54:06 +0000 (16:54 -0500)]
gnu: fftw: Add dependency on openmpi.
* gnu/packages/algebra.scm (fftw)[inputs,arguments]: Add OpenMPI.
Eric Bavier [Thu, 8 May 2014 21:45:43 +0000 (16:45 -0500)]
gnu: fftw: Upgrade to 3.3.4
* gnu/packages/algebra.scm (fftw): Upgrade to 3.3.4.
Ludovic Courtès [Thu, 8 May 2014 21:41:40 +0000 (23:41 +0200)]
services: Add service to cleanly unmount the root file system.
* gnu/services/base.scm (root-file-system-service,
user-processes-service): New procedures.
(mingetty-service, nscd-service, syslog-service, guix-service): Add
requirement on 'user-processes'.
(%base-services): Add (user-processes-service)
and (root-file-system-service).
* gnu/services/xorg.scm (slim-service): Add requirement on
'user-processes'.
Ludovic Courtès [Thu, 8 May 2014 21:21:45 +0000 (23:21 +0200)]
linux-initrd: Don't leak /dev/console file descriptors.
* guix/build/linux-initrd.scm (switch-root): Simplify /dev/console
code. This fixes a bug where we would leak the IN and OUT file
descriptors.
Ludovic Courtès [Thu, 8 May 2014 19:50:53 +0000 (21:50 +0200)]
doc: Mention Kiselyov's work on "staging".
* doc/guix.texi (G-Expressions): Mention Oleg's work on "staging" in
footnote.