jackhill/guix/guix.git
10 years agosystem: Separate the activation script from the boot script.
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.

10 years agognu: Add lzop.
Eric Bavier [Thu, 22 May 2014 18:28:34 +0000 (13:28 -0500)]
gnu: Add lzop.

* gnu/packages/compression.scm (lzop): New variable.

10 years agovm: Disable QEMU networking in the disk image initrd.
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.

10 years agodownload: Enlarge your receive buffer.
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'.

10 years agoguix system: Add 'disk-image' action.
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'.

10 years agovm: Add 'system-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.

10 years agoAdd (gnu) module.
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.

10 years agovm: Use a para-virtualized disk when creating an image.
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.

10 years agovm: Make the image format a parameter.
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.

10 years agolinux-initrd: Build /dev/loop* nodes.
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].

10 years agognu: imagemagick: Upgrade to 6.8.9-0.
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.

10 years agognu: perl-io-tty: Upgrade to 1.11.
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.

10 years agoguix: download: Update imagemagick mirrors.
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.

10 years agobuild: Fix builds without --with-libgcrypt-prefix nor --with-libgcrypt-libdir.
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.

10 years agovm: Modularize build-side code.
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.

10 years agovm: Remove misleading comment.
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.

10 years agognu: Add wpa_supplicant.
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.

10 years agostore: Flush the output when the build process emits '\r'.
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.

10 years agoAugment (guix).
Ludovic Courtès [Tue, 20 May 2014 21:18:02 +0000 (23:18 +0200)]
Augment (guix).

* guix.scm (%public-modules): Add 'monads' and 'gexp'.

10 years agoAdd (gnu system file-systems).
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.

10 years agolinux-initrd: Display a backtrace when the initial program fails.
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.

10 years agovm: Fix typo.
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.

10 years agognu: Add ccache.
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.

10 years agognu: Edit synopses of petsc packages.
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.

10 years agognu: offlineimap: fix license.
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+.

10 years agognu: Add mu.
Eric Bavier [Tue, 20 May 2014 14:00:59 +0000 (09:00 -0500)]
gnu: Add mu.

* gnu/packages/mail.scm (mu): New variable.

10 years agognu: Add offlineimap
Eric Bavier [Tue, 20 May 2014 14:00:04 +0000 (09:00 -0500)]
gnu: Add offlineimap

* gnu/packages/mail.scm (offlineimap): New variable.

10 years agognu: Add Linux kbd.
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.

10 years agoui: Gracefully deal with zero-output derivations.
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.

10 years agoguix system: Check whether we are installing to /.
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.

10 years agoguix system: Factorize out closure copy.
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.

10 years agodoc: Show the 'bootloader' field in system example.
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.

10 years agoguix system: 'guix system init' installs GRUB by default.
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'.

10 years agovm: Make the device name a parameter.
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.

10 years agognu: Add superlu-dist package.
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.

10 years agognu: Add pt-scotch package.
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.

10 years agognu: Add scotch package.
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.

10 years agoguix: licenses: Add CeCILL-C license.
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.

10 years agosystem: Prevent grub.cfg from being GC'd.
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.

10 years agosystem: Add 'grub-configuration' record.
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.

10 years agoguix system: Add 'init' sub-command.
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'.

10 years agostore: Change #:store parameter to #:prefix.
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.

10 years agovm: Avoid resetting timestamps twice.
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.

10 years agognu: openmpi: Add memchecker support.
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.

10 years agosystem: Make /run/current-system at activation time.
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.

10 years agognu: soprano: Add input redland.
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).

10 years agognu: Add redland.
Andreas Enge [Sat, 17 May 2014 12:59:15 +0000 (14:59 +0200)]
gnu: Add redland.

* gnu/packages/rdf.scm (redland): New variable.

10 years agognu: rasqal: Propagate input raptor2.
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.

10 years agobuild: Add --with-libgcrypt-libdir=DIR to support Debian's multi-arch layout.
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.

10 years agognu: Add rasqal.
Andreas Enge [Sat, 17 May 2014 12:43:34 +0000 (14:43 +0200)]
gnu: Add rasqal.

* gnu/packages/rdf.scm (rasqal): New variable.

10 years agostore: Add #:store parameter to 'register-path'.
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.

10 years agolinux-initrd: Factorize kernel command-line option parsing.
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'.

10 years agohydra: Add dummy root file system declaration.
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.

10 years agoguix system: Add 'build' action.
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.

10 years agognu: Add libuv.
Ludovic Courtès [Fri, 16 May 2014 13:40:19 +0000 (15:40 +0200)]
gnu: Add libuv.

* gnu/packages/libevent.scm (libuv): New variable.

10 years agoauthenticate: Add compatibility hack for Guile 2.0.5.
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>.

10 years agolist-runtime-roots: Don't display a backtrace on 2.0.5 when lsof is lacking.
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>.

10 years agosystem: Add (guix build install) module.
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.

10 years agovm: Support initialization of the store DB when the store is shared.
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'.

10 years agobuild: Remove fusectl from the default file systems in the demo OS.
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.

10 years agosystem: Provide declarations for the 'fusectl' and 'binfmt_misc' file systems.
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.

10 years agovm: Keep acceptable file systems from the original OS.
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.

10 years agognu: xterm: Upgrade to 304.
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.

10 years agoactivation: Silence warning from 'useradd'.
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.

10 years agolinux-initrd: Make /dev/ttyS0, for debugging.
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.

10 years agosystem: When unionfs-fuse is used for /, don't kill it when halting.
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.

10 years agosyscalls: Add 'processes' to list all the live processes.
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.

10 years agognu: libsm: Propagate input libice.
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.

10 years agognu: qt-4: Upgrade to 4.8.6.
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.

10 years agognu: qt-4: Enable session management by adding libsm as an input.
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.

10 years agovm: Pass '-serial stdio' in the run-vm.sh.
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'.

10 years agosystem: Move skeleton code to (gnu system shadow).
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.

10 years agodoc: Improve debugging file documentation.
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".

10 years agosystem: Add skeleton '.gdbinit'.
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.

10 years agognu: openmpi: Use our hwloc.
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.

10 years agognu: Add babl.
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.

10 years agosystem: Populate /etc/skel.
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'.

10 years agodoc: Add example for --search.
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.

10 years agognu: perl-tk: Patch for i686
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.

10 years agosystem: Make accounts and groups at activation time.
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.

10 years agoservices: xorg: Fix harmless typo in slim.cfg.
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.

10 years agognu: pspp: Upgrade to 0.8.3
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.

10 years agodoc: Mention upgrades that trigger a lot of rebuilds.
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.

10 years agodoc: Add a section on perl modules in the packaging guidelines.
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.

10 years agovm: Fix recently-introduced regression in 'operating-system-services' use.
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.

10 years agoservices: Add 'file-system-service'.
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.

10 years agoservices: Use (guix build syscalls) instead of util-linux.
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.

10 years agoAdd (guix build syscalls).
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).

10 years agolinux-initrd: Append to /etc/mtab.
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.

10 years agosystem: Automatically add essential services.
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.

10 years agognu: fftw: Factor out OpenMPI dependency.
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.

10 years agognu: Add hwloc.
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.

10 years agognu: Add pciutils.
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.

10 years agognu: Add numactl.
Ludovic Courtès [Fri, 9 May 2014 12:55:12 +0000 (14:55 +0200)]
gnu: Add numactl.

* gnu/packages/linux.scm (numactl): New variable.

10 years agognu: openmpi: Fix typo in download uri
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.

10 years agognu: fftw: Add dependency on openmpi.
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.

10 years agognu: fftw: Upgrade to 3.3.4
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.

10 years agoservices: Add service to cleanly unmount the root file system.
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'.

10 years agolinux-initrd: Don't leak /dev/console file descriptors.
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.

10 years agodoc: Mention Kiselyov's work on "staging".
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.