Commit Graph

3254 Commits

Author SHA1 Message Date
Ludovic Courtès 7889394e05 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.
2014-05-16 21:56:00 +02:00
Ludovic Courtès 90f69c2ec5 gnu: Add libuv.
* gnu/packages/libevent.scm (libuv): New variable.
2014-05-16 15:45:25 +02:00
Ludovic Courtès 4cca91832b 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>.
2014-05-16 10:22:19 +02:00
Ludovic Courtès d0281fec03 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>.
2014-05-16 10:20:45 +02:00
Ludovic Courtès 5ce3defed1 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.
2014-05-15 23:37:46 +02:00
Ludovic Courtès 150e20ddde 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'.
2014-05-15 22:55:14 +02:00
Ludovic Courtès c336a66fe8 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.
2014-05-15 22:47:53 +02:00
Ludovic Courtès 2717a89a84 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.
2014-05-14 23:17:03 +02:00
Ludovic Courtès 1eeccc2f31 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.
2014-05-14 23:15:51 +02:00
Ludovic Courtès 4106c58988 gnu: xterm: Upgrade to 304.
* gnu/packages/xorg.scm (xterm): Upgrade to 304.  Switch to a
  version-specific URL.
2014-05-14 23:02:10 +02:00
Ludovic Courtès f3b692acdd activation: Silence warning from 'useradd'.
* guix/build/activation.scm (add-user): Don't pass '--create-home' when
  HOME already exists.
2014-05-14 19:07:04 +02:00
Ludovic Courtès 7f17ff7841 linux-initrd: Make /dev/ttyS0, for debugging.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/ttyS0.
2014-05-14 19:07:04 +02:00
Ludovic Courtès 7d57cfd3b6 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.
2014-05-14 19:07:03 +02:00
Ludovic Courtès 17a4d34489 syscalls: Add 'processes' to list all the live processes.
* guix/build/syscalls.scm (kernel?, processes): New procedures.
2014-05-14 19:07:03 +02:00
Andreas Enge 211345b3a5 gnu: libsm: Propagate input libice.
* gnu/packages/xorg.scm (libsm): Propagate input libice.
2014-05-14 16:04:42 +02:00
Andreas Enge c98f2ff309 gnu: qt-4: Upgrade to 4.8.6.
* gnu/packages/qt.scm (qt-4): Upgrade to 4.8.6.
2014-05-14 15:53:00 +02:00
Andreas Enge e7e5a4f8d4 gnu: qt-4: Enable session management by adding libsm as an input.
* gnu/packages/qt.scm (qt-4): Add input qt-4.
2014-05-14 14:32:22 +02:00
Ludovic Courtès 5a84a6c314 vm: Pass '-serial stdio' in the run-vm.sh.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add
  '-serial stdio'.
2014-05-14 01:02:46 +02:00
Ludovic Courtès 838d9a9ddb system: Move skeleton code to (gnu system shadow).
* gnu/system.scm (default-skeletons, skeleton-directory): Move to...
* gnu/system/shadow.scm: ... here.
2014-05-14 01:02:46 +02:00
Ludovic Courtès 64d76fa6c2 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".
2014-05-14 01:02:46 +02:00
Ludovic Courtès 1a389e8d21 system: Add skeleton '.gdbinit'.
* gnu/system.scm (default-skeletons): Add .gdbinit.
2014-05-14 01:02:46 +02:00
Eric Bavier 5b527256ee 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.
2014-05-12 17:20:32 -05:00
Ludovic Courtès a37b807769 gnu: Add babl.
* gnu/packages/gimp.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-05-12 23:55:28 +02:00
Ludovic Courtès 40281c5424 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'.
2014-05-12 23:55:28 +02:00
Ludovic Courtès a12d92f54e doc: Add example for --search.
* doc/guix.texi (Invoking guix package): Add LGPLv3 example.
2014-05-12 23:55:28 +02:00
Eric Bavier f5ea273a00 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.
2014-05-12 16:15:31 -05:00
Ludovic Courtès ab6a279abb 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.
2014-05-11 22:41:58 +02:00
Ludovic Courtès 057d6ce5e4 services: xorg: Fix harmless typo in slim.cfg.
* gnu/services/xorg.scm (slim-service): Add missing whitespace in
  XINITRC invocation.
2014-05-11 22:41:58 +02:00
John Darrington 7e0c23fb3e gnu: pspp: Upgrade to 0.8.3
* gnu/packages/maths.scm (pspp): Update to 0.8.3.
2014-05-11 13:42:49 +02:00
Ludovic Courtès d0c64188b6 doc: Mention upgrades that trigger a lot of rebuilds.
* HACKING (Commit Access): Mention upgrades that trigger a lot rebuilds.
2014-05-11 13:35:31 +02:00
Andreas Enge af8a56b8a2 doc: Add a section on perl modules in the packaging guidelines.
* doc/guix.texi (Perl modules): New section explaining the naming of perl
    modules.
2014-05-11 12:27:37 +02:00
Ludovic Courtès f3bde2ff9f 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.
2014-05-10 23:56:45 +02:00
Ludovic Courtès 023f391c78 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.
2014-05-10 23:33:52 +02:00
Ludovic Courtès 23ed63a12d 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.
2014-05-10 22:58:22 +02:00
Ludovic Courtès 29fa45f45d 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).
2014-05-10 22:55:34 +02:00
Ludovic Courtès 02139eb9b2 linux-initrd: Append to /etc/mtab.
* guix/build/linux-initrd.scm (mount-file-system): Open /etc/mtab in
  append mode.
2014-05-10 21:47:05 +02:00
Ludovic Courtès 217a5b852e 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.
2014-05-09 22:59:18 +02:00
Eric Bavier e5c66f8c7b gnu: fftw: Factor out OpenMPI dependency.
* gnu/packages/algebra.scm (fftw)[inputs,arguments]: Remove OpenMPI.
  (fftw-openmpi): New variable.
2014-05-09 09:03:38 -05:00
Ludovic Courtès 2b0d560a3f gnu: Add hwloc.
* gnu/packages/mpi.scm (hwloc): New variable.
  (openmpi): Add TODO comment.
2014-05-09 15:49:08 +02:00
Ludovic Courtès 42422cc2f1 gnu: Add pciutils.
* gnu/packages/pciutils.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-05-09 15:48:15 +02:00
Ludovic Courtès 67b660037c gnu: Add numactl.
* gnu/packages/linux.scm (numactl): New variable.
2014-05-09 14:55:12 +02:00
Eric Bavier 85a84cbd83 gnu: openmpi: Fix typo in download uri
* gnu/packages/mpi.scm (openmpi)[origin]: Fix typo.
2014-05-08 17:06:46 -05:00
Eric Bavier 0fc54d4b31 gnu: fftw: Add dependency on openmpi.
* gnu/packages/algebra.scm (fftw)[inputs,arguments]: Add OpenMPI.
2014-05-08 17:00:27 -05:00
Eric Bavier 2cf287df59 gnu: fftw: Upgrade to 3.3.4
* gnu/packages/algebra.scm (fftw): Upgrade to 3.3.4.
2014-05-08 17:00:27 -05:00
Ludovic Courtès a00dd9fbf4 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'.
2014-05-08 23:42:15 +02:00
Ludovic Courtès 474b832d5e 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.
2014-05-08 23:42:15 +02:00
Ludovic Courtès ef4ab0a4c5 doc: Mention Kiselyov's work on "staging".
* doc/guix.texi (G-Expressions): Mention Oleg's work on "staging" in
  footnote.
2014-05-08 23:42:15 +02:00
Ludovic Courtès 03178aec1d git-download: Disable TLS certificate verification.
* guix/build/git.scm (git-fetch): Add 'setenv' call.
2014-05-08 23:42:15 +02:00
Eric Bavier 8ede638c4b gnu: openmpi: Avoid "open source" verbiage
* gnu/packages/mpi.scm (openmpi)[synopsis,description]: Remove mention
  of "open source".
2014-05-08 14:48:59 -05:00
Eric Bavier d8c7eeb996 gnu: Add petsc-openmpi.
* gnu/packages/maths.scm (petsc-openmpi): New variable.
  (petsc-complex-openmpi): New variable.
2014-05-08 12:42:17 -05:00