jackhill/guix/guix.git
10 years agoguix package: Add '--delete-generations'.
Nikita Karetnikov [Thu, 26 Sep 2013 02:36:24 +0000 (02:36 +0000)]
guix package: Add '--delete-generations'.

* guix/scripts/package.scm (switch-to-previous-generation): New function.
  (roll-back): Use the new function instead of 'switch-link'.
  (show-help): Add '--delete-generations'.
  (%options): Likewise.
  (guix-package)[process-actions]: Add 'current-generation-number',
  'display-and-delete', and 'delete-generation'.  Add support for
  '--delete-generations', and reindent the code.
* tests/guix-package.sh: Test '--delete-generations'.
* doc/guix.texi (Invoking guix-package): Document '--delete-generations'.

10 years agoguix package: Add 'link-to-empty-profile'.
Nikita Karetnikov [Wed, 25 Sep 2013 03:34:49 +0000 (03:34 +0000)]
guix package: Add 'link-to-empty-profile'.

* guix/scripts/package.scm (link-to-empty-profile): New function.
  (roll-back): Use it.

10 years agoguix package: Exit with 0 when there is nothing to list.
Nikita Karetnikov [Thu, 26 Sep 2013 02:00:06 +0000 (02:00 +0000)]
guix package: Exit with 0 when there is nothing to list.

* guix/scripts/package.scm (guix-package)[process-query]: Exit with 0
  when there are no generations containing packages or no profiles.

10 years agognu: xf86-input-joystick: Fix installation path.
Andreas Enge [Thu, 26 Sep 2013 15:33:33 +0000 (17:33 +0200)]
gnu: xf86-input-joystick: Fix installation path.

* gnu/packages/xorg.scm (xf86-input-joystick): Fix installation path.

10 years agognu: xf86-input-vmmouse: Fix installation path.
Andreas Enge [Thu, 26 Sep 2013 14:29:28 +0000 (16:29 +0200)]
gnu: xf86-input-vmmouse: Fix installation path.

* gnu/packages/xorg.scm (xf86-input-vmmouse): Fix installation path.

10 years agognu: xf86-input-synaptics: Fix installation paths.
Andreas Enge [Thu, 26 Sep 2013 14:23:36 +0000 (16:23 +0200)]
gnu: xf86-input-synaptics: Fix installation paths.

* gnu/packages/xorg.scm (xf86-input-synaptics): Fix installation paths.

10 years agognu: zile: Fix references to /bin/sh.
Ludovic Courtès [Wed, 25 Sep 2013 22:15:51 +0000 (00:15 +0200)]
gnu: zile: Fix references to /bin/sh.

* gnu/packages/zile.scm (zile): Add 'patch-/bin/sh' phase.  Move Perl
  and help2man to 'native-inputs'.

10 years agognu: vm: Add nscd service.
Ludovic Courtès [Wed, 25 Sep 2013 22:07:42 +0000 (00:07 +0200)]
gnu: vm: Add nscd service.

* gnu/system/dmd.scm (nscd-service): New procedure.
* gnu/system/vm.scm (system-qemu-image): Use it.  Make /var/run/nscd.

10 years agopackages: Make the 'output' parameter of 'package-output' optional.
Ludovic Courtès [Wed, 25 Sep 2013 21:26:42 +0000 (23:26 +0200)]
packages: Make the 'output' parameter of 'package-output' optional.

* guix/packages.scm (package-output): Make the 'output' parameter
  optional.

10 years agognu: vm: Add 'networking' service.
Ludovic Courtès [Wed, 25 Sep 2013 21:26:08 +0000 (23:26 +0200)]
gnu: vm: Add 'networking' service.

* gnu/system/vm.scm (system-qemu-image): Use
  'static-networking-service'.  Add /etc/resolv.conf.  Add Inetutils to
  the profile.
* gnu/system/dmd.scm (static-networking-service): New procedure.

10 years agognu: vm: Register the profile as a GC root.
Ludovic Courtès [Wed, 25 Sep 2013 21:05:33 +0000 (23:05 +0200)]
gnu: vm: Register the profile as a GC root.

* gnu/system/vm.scm (system-qemu-image): Register PROFILE as a GC root.

10 years agognu: vm: Add 'host-name' service.
Ludovic Courtès [Wed, 25 Sep 2013 19:49:22 +0000 (21:49 +0200)]
gnu: vm: Add 'host-name' service.

* gnu/system/dmd.scm (host-name-service): New procedure.
  (mingetty-service): Require the 'host-name' service.
* gnu/system/vm.scm (system-qemu-image): Add the 'host-name' service.
  Set PS1 in /etc/bashrc to something sensible.

10 years agognu: vm: Add /etc/issue and a motd.
Ludovic Courtès [Wed, 25 Sep 2013 19:47:10 +0000 (21:47 +0200)]
gnu: vm: Add /etc/issue and a motd.

* gnu/system/vm.scm (system-qemu-image): Build a 'motd' and an 'issue'
  file.  Pass 'unix-pam-service' that motd.  Have /etc/issue point to
  the 'issue' file.

10 years agoUpdate 'eo.po'.
Ludovic Courtès [Wed, 25 Sep 2013 19:25:47 +0000 (21:25 +0200)]
Update 'eo.po'.

10 years agognu: vm: Change #:populate to a list of directives.
Ludovic Courtès [Wed, 25 Sep 2013 16:01:44 +0000 (18:01 +0200)]
gnu: vm: Change #:populate to a list of directives.

* gnu/system/vm.scm (qemu-image): Change 'populate' parameter to be a
  list of directives.
  (system-qemu-image): Adjust accordingly.

10 years agognu: vm: Add more ttys.
Ludovic Courtès [Wed, 25 Sep 2013 15:33:27 +0000 (17:33 +0200)]
gnu: vm: Add more ttys.

* gnu/system/vm.scm (system-qemu-image): Add more ttys.

10 years agognu: vm: Change GRUB label.
Ludovic Courtès [Wed, 25 Sep 2013 15:33:02 +0000 (17:33 +0200)]
gnu: vm: Change GRUB label.

* gnu/system/vm.scm (system-qemu-image): Change GRUB label.

10 years agognu: vm: Make a union of the visible packages; add /etc/profile.
Ludovic Courtès [Wed, 25 Sep 2013 15:30:29 +0000 (17:30 +0200)]
gnu: vm: Make a union of the visible packages; add /etc/profile.

* gnu/system/vm.scm (qemu-image): Add Guix as an input when
  INITIALIZE-STORE?.
  (union): New procedure.
  (system-qemu-image): Use it.  Build /etc/profile.  Pass PROFILE among
  #:inputs-to-copy instead of listing all the individual profiles.
  Remove explicit 'build-derivations' call.

10 years agognu: vm: Support derivation objects as inputs.
Ludovic Courtès [Wed, 25 Sep 2013 15:27:02 +0000 (17:27 +0200)]
gnu: vm: Support derivation objects as inputs.

* gnu/system/vm.scm (expression->derivation-in-linux-vm)[input-alist]:
  Add case for derivation? objects.
  Same for #:inputs values.
  (qemu-image)[input->name+derivation]: Likewise.

10 years agoUpdate 'NEWS'.
Ludovic Courtès [Wed, 25 Sep 2013 15:27:10 +0000 (17:27 +0200)]
Update 'NEWS'.

10 years agoguix package: Show which generation is the current one.
Nikita Karetnikov [Wed, 25 Sep 2013 01:55:27 +0000 (01:55 +0000)]
guix package: Show which generation is the current one.

* guix/scripts/package.scm (guix-package)[process-query]: Show that a
  generation is the current one if the profile points to it.
* tests/guix-package.sh: Test it.

10 years agotests: Use 'test -z' to check that a string equals zero.
Nikita Karetnikov [Tue, 24 Sep 2013 00:36:51 +0000 (00:36 +0000)]
tests: Use 'test -z' to check that a string equals zero.

10 years agoguix package: Do not list the zeroth generation.
Nikita Karetnikov [Tue, 24 Sep 2013 22:18:09 +0000 (22:18 +0000)]
guix package: Do not list the zeroth generation.

* guix/scripts/package.scm (guix-package)[process-query]: Change
  'list-generation' to not list the zeroth generation.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Document it, and use the
  right term when talking about generations.

10 years agoguix package: Exit with 1 when a generation cannot be listed.
Nikita Karetnikov [Tue, 24 Sep 2013 22:11:16 +0000 (22:11 +0000)]
guix package: Exit with 1 when a generation cannot be listed.

* guix/scripts/package.scm (guix-package)[process-query]: Exit with 1
  when a generation does not exist or the profile points to the zeroth
  generation.
* tests/guix-package.sh: Test the former case.

10 years agognu: libksba: Update to 1.3.0.
Andreas Enge [Wed, 25 Sep 2013 11:46:34 +0000 (13:46 +0200)]
gnu: libksba: Update to 1.3.0.

* gnu/packages/gnupg.scm (libksba): Update to 1.3.0.

10 years agognu: libgcrypt: Update to 1.5.3
Andreas Enge [Wed, 25 Sep 2013 11:43:20 +0000 (13:43 +0200)]
gnu: libgcrypt: Update to 1.5.3

* gnu/packages/gnupg.scm (libgcrypt): Update to 1.5.3.

10 years agognu: gnupg: Update to 2.0.21.
Andreas Enge [Wed, 25 Sep 2013 09:41:52 +0000 (11:41 +0200)]
gnu: gnupg: Update to 2.0.21.

* gnu/packages/gnupg.scm (gnupg): Update to 2.0.21.

10 years agognu: pspp: Update to 0.8.1.
Andreas Enge [Wed, 25 Sep 2013 09:08:16 +0000 (11:08 +0200)]
gnu: pspp: Update to 0.8.1.

* gnu/packages/maths.scm (pspp): Update to 0.8.1.

10 years agognu: fontconfig: Add and register gs-fonts.
Andreas Enge [Wed, 25 Sep 2013 07:48:13 +0000 (09:48 +0200)]
gnu: fontconfig: Add and register gs-fonts.

* gnu/packages/fontutils.scm (fontconfig): Add gs-fonts as an input and
    register it in the configuration file; so any porgram using fontconfig
    should at least have the gs-fonts at its disposal.

10 years agognu: guix: Rework 0.4 hack to gracefully handle lack of tarball.
Ludovic Courtès [Tue, 24 Sep 2013 22:13:06 +0000 (00:13 +0200)]
gnu: guix: Rework 0.4 hack to gracefully handle lack of tarball.

* gnu/packages/package-management.scm (guix-0.4): Fall back to the
  source of GIUX when the tarball doesn't exist.

10 years agognu: vm: Add a service for the Guix daemon.
Ludovic Courtès [Tue, 24 Sep 2013 21:15:09 +0000 (23:15 +0200)]
gnu: vm: Add a service for the Guix daemon.

* gnu/system/dmd.scm (guix-service): New procedure.
* gnu/system/vm.scm (system-qemu-image): Use it.

10 years agognu: vm: Initialize the image's store.
Ludovic Courtès [Tue, 24 Sep 2013 20:40:33 +0000 (22:40 +0200)]
gnu: vm: Initialize the image's store.

* gnu/system/vm.scm (qemu-image): Add 'initialize-store?' keyword
  parameter.  Use 'guix-register' when INITIALIZE-STORE? is true.
  (system-qemu-image): Pass #:initialize-store? #t.

10 years agognu: guix: Set $localstatedir; add gzip as input.
Ludovic Courtès [Tue, 24 Sep 2013 20:37:51 +0000 (22:37 +0200)]
gnu: guix: Set $localstatedir; add gzip as input.

* gnu/packages/package-management.scm (guix): Add "--localstatedir=/var".
  Add GZIP as an explicit input, to avoid referring to the final gzip.

10 years agoguix-register: Allow the initial directory creation to proceed.
Ludovic Courtès [Tue, 24 Sep 2013 20:33:02 +0000 (22:33 +0200)]
guix-register: Allow the initial directory creation to proceed.

This fixes a bug whereby 'guix-register' would bail out when trying to
create NIX_STORE_DIR/.links when NIX_STORE_DIR is read-only.

* nix/guix-register/guix-register.cc (parse_opt): Initialize
  'settings.nixStore' to PREFIX + NIX_STORE_DIR.
  (main): Change 'settings.nixStore' once the 'LocalStore' has been
  instantiated.

10 years agognu: racket: Add dependency on GTK+.
Ludovic Courtès [Tue, 24 Sep 2013 16:06:08 +0000 (18:06 +0200)]
gnu: racket: Add dependency on GTK+.

* gnu/packages/scheme.scm (racket): Add dependency on GTK+ and
  gdk-pixbuf.

10 years agognu: xorg: Fix xorg-server.
Andreas Enge [Tue, 24 Sep 2013 19:56:33 +0000 (21:56 +0200)]
gnu: xorg: Fix xorg-server.

* gnu/packages/xorg.scm (xkbcomp-intermediate): New variable, serves as
    input to xkeyboard-config.
* gnu/packages/xorg.scm (xkeyboard-config): Add input xkbcomp-intermediate.
* gnu/packages/xorg.scm (xkbcomp): Add input xkeyboard-config.
* gnu/packages/xorg.scm (xorg-server): Adapt xkb paths and replace references
    to /bin/sh (with Ludovic Courtès <ludo@gnu.org>).

10 years agoguix-register: Expect closures to refer to the original store.
Ludovic Courtès [Mon, 23 Sep 2013 19:24:18 +0000 (21:24 +0200)]
guix-register: Expect closures to refer to the original store.

* nix/guix-register/guix-register.cc (prefix): New variable.
  (parse_opt): Use it.
  (register_validity): Change 'info.path' to the final store name.
  Hash the final under its real path.
* tests/guix-register.sh: Adjust the contents of $closure accordingly.
  Rename 'NIX_LOCALSTATE_DIR' to 'NIX_STATE_DIR'.  Don't try to call
  'valid-path?'.  Add test using 'sqlite3'.

10 years agolist-packages: Progressive Enhancement approach to JS.
Alex Sassmannshausen [Sun, 22 Sep 2013 13:43:23 +0000 (15:43 +0200)]
list-packages: Progressive Enhancement approach to JS.

* build-aux/list-packages.scm (package->sxml): Add parameters previous,
  description-ids and remaining, update docstring accordingly. Introduce logic
  for fold-values process.
  (insert-tr): Moved sxml package table-row generation to new function; remove
  <a> elements and JS function calls. These are created through JS
  (prep_pkg_descs). Add insert-js-call for every 15th package, and the last.
  (insert-js-call): New function.
  (packages->sxml): Change map to fold values; add init params.
  (insert-js): show_hide: add compatibility check, introduce, use thingLink
               prep: new JS function.
               bulk_show_hide: new JS function.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
10 years agognu: mutt: Add SASL for authenticated SMTP.
Andreas Enge [Mon, 23 Sep 2013 10:50:59 +0000 (12:50 +0200)]
gnu: mutt: Add SASL for authenticated SMTP.

* gnu/packages/mail.scm (mutt): Add input cyrus-sasl.

10 years agobuild: check-available-binaries: Adjust to derivation API change.
Ludovic Courtès [Sun, 22 Sep 2013 20:14:46 +0000 (22:14 +0200)]
build: check-available-binaries: Adjust to derivation API change.

* build-aux/check-available-binaries.scm: Use 'derivation->output-path'
  instead of 'derivation-path->output-path'.

10 years agonar: Fix file descriptor leak when writing a Nar.
Ludovic Courtès [Sun, 22 Sep 2013 20:13:51 +0000 (22:13 +0200)]
nar: Fix file descriptor leak when writing a Nar.

* guix/nar.scm (write-contents)[call-with-binary-input-file]: Always
  close PORT.

10 years agodoc: Document '--list-generations' among the query options.
Ludovic Courtès [Sun, 22 Sep 2013 20:03:15 +0000 (22:03 +0200)]
doc: Document '--list-generations' among the query options.

* doc/guix.texi (Invoking guix package): Move '--list-generations' below
  "In addition to these actions".

10 years agoguix package: Show most recently installed packages last.
Ludovic Courtès [Sun, 22 Sep 2013 19:50:11 +0000 (21:50 +0200)]
guix package: Show most recently installed packages last.

Suggested by Andreas Enge <andreas@enge.fr>.

* guix/scripts/package.scm (guix-package)[list-generations,
  list-installed]: Reverse the result of 'manifest-packages'.
* doc/guix.texi (Invoking guix package): Document the order of packages
  for '--list-generations' and '--list-installed'.

10 years agoAdd 'guix-register'.
Ludovic Courtès [Sun, 22 Sep 2013 21:23:38 +0000 (23:23 +0200)]
Add 'guix-register'.

* nix/guix-register/guix-register.cc, tests/guix-register.sh: New
  files.
* Makefile.am (SH_TESTS)[BUILD_DAEMON]: Add tests/guix-register.sh.
* daemon.am (sbin_PROGRAMS, guix_register_SOURCES,
  guix_register_CPPFLAGS, guix_register_LDADD): New variables.
* test-env.in: Export 'storedir', 'prefix', 'datarootdir', 'datadir',
  and 'localstatedir'.

10 years agobuild: Build the daemon with -Wall.
Ludovic Courtès [Sun, 22 Sep 2013 14:40:18 +0000 (16:40 +0200)]
build: Build the daemon with -Wall.

* daemon.am (AM_CXXFLAGS): New variable.

10 years agognu: Add mutt.
Andreas Enge [Sun, 22 Sep 2013 20:30:18 +0000 (22:30 +0200)]
gnu: Add mutt.

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

10 years agognu: Add fetchmail.
Andreas Enge [Sun, 22 Sep 2013 19:56:36 +0000 (21:56 +0200)]
gnu: Add fetchmail.

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

10 years agognu: Rename module mailutils to mail.
Andreas Enge [Sun, 22 Sep 2013 19:01:40 +0000 (21:01 +0200)]
gnu: Rename module mailutils to mail.

* gnu/packages/mail.scm: Rename from gnu/packages/mailutils.scm.
* gnu-system.am: Rename the module.

10 years agognu: Add gnome-doc-utils.
Andreas Enge [Sun, 22 Sep 2013 15:53:01 +0000 (17:53 +0200)]
gnu: Add gnome-doc-utils.

* gnu/packages/gnome.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module.

10 years agognu: Add gst-plugins-base.
Andreas Enge [Sun, 22 Sep 2013 15:25:12 +0000 (17:25 +0200)]
gnu: Add gst-plugins-base.

* gnu/packages/gstreamer.scm (gst-plugins-base): New variable.

10 years agognu: gstreamer: Depend on python-wrapper.
Andreas Enge [Sun, 22 Sep 2013 14:41:29 +0000 (16:41 +0200)]
gnu: gstreamer: Depend on python-wrapper.

* gnu/packages/gstreamer.scm (gstreamer): Replace input python by
    python-wrapper.

10 years agognu: Add gstreamer.
Andreas Enge [Sun, 22 Sep 2013 14:22:00 +0000 (16:22 +0200)]
gnu: Add gstreamer.

* gnu/packages/gstreamer.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module.

10 years agognu: xcursor-themes: Install data into package output directory.
Andreas Enge [Sun, 22 Sep 2013 09:16:08 +0000 (11:16 +0200)]
gnu: xcursor-themes: Install data into package output directory.

* gnu/packages/xorg.scm (xcursor-themes): Install icons into output directory
    instead of libxcursor.

10 years agognu: Add python2-pyicu.
Andreas Enge [Sun, 22 Sep 2013 07:44:49 +0000 (09:44 +0200)]
gnu: Add python2-pyicu.

* gnu/packages/python.scm (python2-pyicu): New variable.

10 years agoguix package: Sort the list of generation numbers in '--list-generations'.
Ludovic Courtès [Sat, 21 Sep 2013 20:35:14 +0000 (22:35 +0200)]
guix package: Sort the list of generation numbers in '--list-generations'.

* guix/scripts/package.scm (generation-numbers): Sort the result.

10 years agoguix package: Internationalize "Generation" string.
Ludovic Courtès [Sat, 21 Sep 2013 20:32:20 +0000 (22:32 +0200)]
guix package: Internationalize "Generation" string.

* guix/scripts/package.scm (guix-package): Internationalize generation
  listing.

10 years agoThank Cyrill.
Ludovic Courtès [Sat, 21 Sep 2013 20:12:49 +0000 (22:12 +0200)]
Thank Cyrill.

10 years agopull: Adjust to 'derivation' API change.
Ludovic Courtès [Sat, 21 Sep 2013 20:12:20 +0000 (22:12 +0200)]
pull: Adjust to 'derivation' API change.

Fixes <http://bugs.gnu.org/15428>.
Reported by Cyrill Schenkel <cyrill.schenkel@gmail.com>.

* guix/scripts/pull.scm (guix-pull): 'unpack' returns a single value.

10 years agognu: Add python-simplejson, python2-simplejson.
Andreas Enge [Sat, 21 Sep 2013 19:14:19 +0000 (21:14 +0200)]
gnu: Add python-simplejson, python2-simplejson.

* gnu/packages/python.scm (python-simplejson, python2-simplejson):
    New variables.

10 years agognu: python2-pysqlite: Fix 'license'.
Ludovic Courtès [Fri, 20 Sep 2013 23:59:46 +0000 (01:59 +0200)]
gnu: python2-pysqlite: Fix 'license'.

* gnu/packages/python.scm (python2-pysqlite): Refer to (@ (guix
  licenses) zlib), not to the same-named package.

10 years agognu: QEMU images boots into dmd.
Ludovic Courtès [Fri, 20 Sep 2013 23:08:42 +0000 (01:08 +0200)]
gnu: QEMU images boots into dmd.

* gnu/system/dmd.scm: New file.
* gnu/system/vm.scm (system-qemu-image): Define dmd services.
  [populate]: Make var/log and etc/group.
  [boot]: Execute dmd directly.
  Add dmd and etc-group as inputs; add the inputs of dmd services.
* gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/system/dmd.scm.

10 years agognu: Add GNU dmd.
Ludovic Courtès [Fri, 20 Sep 2013 22:09:56 +0000 (00:09 +0200)]
gnu: Add GNU dmd.

* gnu/packages/system.scm (dmd): New variable.

10 years agoguix package: Add '--list-generations'.
Nikita Karetnikov [Thu, 19 Sep 2013 11:07:39 +0000 (11:07 +0000)]
guix package: Add '--list-generations'.

* guix/scripts/package.scm: Import (srfi srfi-19).
  (generation-time, matching-generations): New functions.
  (show-help): Add '--list-generations'.
  (%options): Likewise.
  (guix-package)[process-query]: Add support for '--list-generations'.
* guix/ui.scm: Import (srfi srfi-19) and (ice-9 regex).
  (string->generations, string->duration): New functions.
* tests/guix-package.sh: Test '--list-generations'.
* tests/ui.scm: Import (srfi srfi-19).
  Test 'string->generations' and 'string->duration'.
* doc/guix.texi (Invoking guix-package): Document '--list-generations'.

10 years agohydra: Pass the directory name of the Nix checkout.
Ludovic Courtès [Wed, 18 Sep 2013 21:07:45 +0000 (23:07 +0200)]
hydra: Pass the directory name of the Nix checkout.

* build-aux/hydra/guix.scm (hydra-jobs): Extract the 'file-name' item
  from NIX-CHECKOUT, and pass that to 'tarball-package'.

10 years agohydra: Fix typo.
Ludovic Courtès [Wed, 18 Sep 2013 18:58:49 +0000 (20:58 +0200)]
hydra: Fix typo.

* build-aux/hydra/guix.scm (tarball-package): Unquote 'nix-checkout'.

10 years agohydra: Add missing import.
Ludovic Courtès [Wed, 18 Sep 2013 18:49:47 +0000 (20:49 +0200)]
hydra: Add missing import.

* build-aux/hydra/gnu-system.scm, build-aux/hydra/guix.scm: Use (guix
  derivations).

10 years agohydra: Return the .drv file names, not the <derivation> objects.
Ludovic Courtès [Wed, 18 Sep 2013 17:37:50 +0000 (19:37 +0200)]
hydra: Return the .drv file names, not the <derivation> objects.

* build-aux/hydra/gnu-system.scm (package->alist): Call
  'derivation-file-name' on the result of 'package-derivation'.
* build-aux/hydra/guix.scm (package->alist): Likewise.

10 years agohydra: Point the Git submodule to our local copy.
Ludovic Courtès [Wed, 18 Sep 2013 17:00:03 +0000 (19:00 +0200)]
hydra: Point the Git submodule to our local copy.

* build-aux/hydra/guix.scm (tarball-package): Add 'nix-checkout'
  parameter.  Replace 'patch-bootstrap-script' phase by
  'set-nix-module'.
  (hydra-jobs): Get the 'nix' value from ARGUMENTS, and pass it to
  'tarball-package'.

10 years agoderivations: 'derivation' and related procedures return a single value.
Ludovic Courtès [Wed, 18 Sep 2013 15:01:40 +0000 (17:01 +0200)]
derivations: 'derivation' and related procedures return a single value.

* guix/derivations.scm (derivation->output-path,
  derivation->output-paths): New procedures.
  (derivation-path->output-path): Use 'derivation->output-path'.
  (derivation-path->output-paths): Use 'derivation->output-paths'.
  (derivation): Accept 'derivation?' objects as inputs.  Return a single
  value.
  (build-derivations): New procedure.
  (compiled-modules): Use 'derivation->output-paths'.
  (build-expression->derivation)[source-path]: Add case for when the
  input matches 'derivation?'.
  [prologue]: Accept 'derivation?' objects in INPUTS.
  [mod-dir, go-dir]: Use 'derivation->output-path'.
* guix/download.scm (url-fetch): Adjust to the single-value return.
* guix/packages.scm (package-output): Use 'derivation->output-path'.
* guix/scripts/build.scm (guix-build): When the argument is
  'derivation-path?', pass it through 'read-derivation'.
  Use 'derivation-file-name' to print out the .drv file names, and to
  register them.  Use 'derivation->output-path' instead of
  'derivation-path->output-path'.
* guix/scripts/package.scm (roll-back): Adjust to the single-value
  return.
  (guix-package): Use 'derivation->output-path'.
* guix/ui.scm (show-what-to-build): Adjust to deal with 'derivation?'
  objects instead of .drv file names.
* gnu/system/grub.scm (grub-configuration-file): Use
  'derivation->output-path' instead of 'derivation-path->output-path'.
* gnu/system/vm.scm (qemu-image, system-qemu-image): Likewise.
* tests/builders.scm, tests/derivations.scm, tests/packages.scm,
  tests/store.scm, tests/union.scm: Adjust to the new calling
  convention.
* doc/guix.texi (Defining Packages, The Store, Derivations): Adjust
  accordingly.

10 years agotests: Clarify filtering of the "debug" output.
Ludovic Courtès [Wed, 18 Sep 2013 14:42:51 +0000 (16:42 +0200)]
tests: Clarify filtering of the "debug" output.

* tests/guix-package.sh: Clearly filter out the "debug" output of
  'gnu-make-boot0'.

10 years agoderivations: Add a nicer printer.
Ludovic Courtès [Wed, 18 Sep 2013 09:10:02 +0000 (11:10 +0200)]
derivations: Add a nicer printer.

* guix/derivations.scm (<derivation>): Add a printer.

10 years agoderivations: Keep the .drv file name in <derivation> objects.
Ludovic Courtès [Tue, 17 Sep 2013 21:00:55 +0000 (23:00 +0200)]
derivations: Keep the .drv file name in <derivation> objects.

* guix/derivations.scm (<derivation>): Add 'file-name' field.
  (%read-derivation): Use (port-filename DRV-PORT) as the file name for
  the result.
  (derivation): Set the 'file-name' field in the result.
* tests/derivations.scm ("build derivation with 1 source"): Assert that
  'derivation-file-name' returns the right thing.

10 years agognu: dbus: Add dependency on libX11.
Ludovic Courtès [Mon, 16 Sep 2013 17:00:47 +0000 (19:00 +0200)]
gnu: dbus: Add dependency on libX11.

* gnu/packages/glib.scm: Use #:export instead of 'define-public'.
  (dbus): Add LIBX11 as an input.

10 years agoMerge branch 'python'
Andreas Enge [Sat, 14 Sep 2013 08:45:01 +0000 (10:45 +0200)]
Merge branch 'python'

10 years agosubstitute-binary: Add '--help'.
Ludovic Courtès [Fri, 13 Sep 2013 21:42:36 +0000 (23:42 +0200)]
substitute-binary: Add '--help'.

Reported by Nikita Karetnikov <nikita@karetnikov.org>.

* guix/scripts/substitute-binary.scm (show-help): New procedure.
  (guix-substitute-binary): Add '--help'.

10 years agognu: gnutls: Upgrade to 3.2.4.
Ludovic Courtès [Fri, 13 Sep 2013 09:12:35 +0000 (11:12 +0200)]
gnu: gnutls: Upgrade to 3.2.4.

* gnu/packages/gnutls.scm (gnutls): Update to 3.2.4; remove 'arguments'
  field, remove "patch/fix-tests" from the inputs.
* gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.

10 years agognu: Add python2-mechanize.
Andreas Enge [Fri, 13 Sep 2013 12:25:53 +0000 (14:25 +0200)]
gnu: Add python2-mechanize.

* gnu/packages/python.scm (python2-mechanize): New variable.

10 years agoguix package: Rename generation-related procedures.
Nikita Karetnikov [Thu, 12 Sep 2013 17:31:53 +0000 (17:31 +0000)]
guix package: Rename generation-related procedures.

* guix/scripts/package.scm (profile-numbers): Rename to 'generation-numbers'.
  (previous-profile-number): Rename to 'previous-generation-number'.
  (profile-number): Rename to 'generation-number'.
  (roll-back): Rename 'previous-profile' to 'previous-generation'.

10 years agognu: Add python2-sqlite.
Andreas Enge [Thu, 12 Sep 2013 13:31:45 +0000 (15:31 +0200)]
gnu: Add python2-sqlite.

* gnu/packages/python.scm (python2-sqlite): New variable.

10 years agoThank Matthias and Yutaka.
Ludovic Courtès [Thu, 12 Sep 2013 12:11:15 +0000 (14:11 +0200)]
Thank Matthias and Yutaka.

10 years agodaemon: Use 'int' instead of the internal 'gcry_md_algo_t' type.
Ludovic Courtès [Thu, 12 Sep 2013 12:09:29 +0000 (14:09 +0200)]
daemon: Use 'int' instead of the internal 'gcry_md_algo_t' type.

Fixes compilation with the forthcoming libgcrypt 1.6.x.
Reported by Matthias Wachs <wachs@net.in.tum.de>
and NIIBE Yutaka <gniibe@fsij.org>.

* nix/libutil/gcrypt-hash.cc (guix_hash_init, guix_hash_final): Use
  'int' as the type of the 'algo' parameter.
* nix/libutil/gcrypt-hash.hh: Update declarations accordingly.

10 years agognu: avahi, dbus: Use /var as $localstatedir.
Ludovic Courtès [Wed, 11 Sep 2013 21:37:57 +0000 (23:37 +0200)]
gnu: avahi, dbus: Use /var as $localstatedir.

* gnu/packages/avahi.scm (avahi): Pass '--localstatedir'; add
  'patch/localstatedir'.
* gnu/packages/glib.scm (dbus): Pass '--localstatedir' and
  '--with-session-socket-dir'; add 'patch/localstatedir'.
* gnu/packages/patches/avahi-localstatedir.patch,
  gnu/packages/patches/dbus-localstatedir.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.

10 years agognu: Update python-babel, python2-babel to 1.3.
Andreas Enge [Wed, 11 Sep 2013 20:56:52 +0000 (22:56 +0200)]
gnu: Update python-babel, python2-babel to 1.3.

* gnu/packages/python.scm (python-babel, python2-babel): Update to 1.3.

10 years agognu: Move helper code to (gnu system …) modules.
Ludovic Courtès [Wed, 11 Sep 2013 20:36:50 +0000 (22:36 +0200)]
gnu: Move helper code to (gnu system …) modules.

* gnu/packages/grub.scm (<menu-entry>, grub-configuration-file): Move
  to...
* gnu/system/grub.scm: ... here.  New file.
* gnu/packages/linux.scm (<pam-service>, <pam-entry>,
  pam-service->configuration, pam-service->directory,
  %pam-other-services, unix-pam-service): Move to...
* gnu/system/linux.scm: ... here.  New file.
* gnu/system/vm.scm (passwd-file): Move to...
* gnu/system/shadow.scm: ... here.  New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add
  gnu/system/{grub,linux,shadow}.scm.

10 years agognu: vm: Remove potluck hacks.
Ludovic Courtès [Wed, 11 Sep 2013 18:08:53 +0000 (20:08 +0200)]
gnu: vm: Remove potluck hacks.

* gnu/system/vm.scm (example1): Remove.
  (example2): Rename to...
  (system-qemu-image): ... this.  Add 'store' parameter, and remove call
  to 'open-connection'.

10 years agognu: Add python-dateutil, python2-dateutil.
Andreas Enge [Wed, 11 Sep 2013 13:51:13 +0000 (15:51 +0200)]
gnu: Add python-dateutil, python2-dateutil.

* gnu/packages/python.scm (python-dateutil, python2-dateutil): New variables.

10 years agoguix: python: Create module installation path and add it to PYTHONPATH during
Andreas Enge [Wed, 11 Sep 2013 13:47:34 +0000 (15:47 +0200)]
guix: python: Create module installation path and add it to PYTHONPATH during
  the installation phase.

* guix/build/python-build-system.scm (get-python-version): New procedure.
* guix/build/python-build-system.scm (install): Create and add path.
* gnu/packages/python.scm (python-setuptools): Drop path creation code.

10 years agognu: vm: Setup PAM.
Ludovic Courtès [Tue, 10 Sep 2013 23:07:07 +0000 (01:07 +0200)]
gnu: vm: Setup PAM.

* gnu/system/vm.scm (example2): Use 'pam-services->directory'.  Change
  POPULATE to create /etc/pam.d, /etc/login.defs, and /var/run.  Change
  BOOT to spawn syslogd; boot to Bash.  Add inputs.

10 years agognu: vm: Create shadow files with the right format.
Ludovic Courtès [Tue, 10 Sep 2013 22:54:20 +0000 (00:54 +0200)]
gnu: vm: Create shadow files with the right format.

* gnu/system/vm.scm (passwd-file): When SHADOW? is true, use the right
  shadow(5) format.  Always add a trailing newline.

10 years agolinux-initrd: Create /dev/klog and /dev/kmsg.
Ludovic Courtès [Tue, 10 Sep 2013 22:52:36 +0000 (00:52 +0200)]
linux-initrd: Create /dev/klog and /dev/kmsg.

* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/klog and /dev/kmsg.

10 years agognu: linux-initrd: Fix typo.
Ludovic Courtès [Tue, 10 Sep 2013 22:51:31 +0000 (00:51 +0200)]
gnu: linux-initrd: Fix typo.

* gnu/packages/linux-initrd.scm (gnu-system-initrd): Add missing
  argument to 'format' call.

10 years agognu: linux-pam: Add declarative PAM service interface.
Ludovic Courtès [Tue, 10 Sep 2013 22:22:45 +0000 (00:22 +0200)]
gnu: linux-pam: Add declarative PAM service interface.

* gnu/packages/linux.scm (<pam-service>, <pam-entry>): New record
  types.
  (pam-service->configuration, pam-services->directory,
  unix-pam-service): New procedures.
  (%pam-other-services): New variable.

10 years agostore: The 'references' parameter of 'add-text-to-store' is now optional.
Ludovic Courtès [Tue, 10 Sep 2013 20:36:41 +0000 (22:36 +0200)]
store: The 'references' parameter of 'add-text-to-store' is now optional.

* guix/store.scm (add-text-to-store): Make 'references' optional.
* tests/store.scm ("dead-paths", "references"): Use 'add-text-to-store'
  with no optional argument.
* doc/guix.texi (The Store): Adjust accordingly.

10 years agognu: Add python-setuptools, python2-setuptools.
Andreas Enge [Tue, 10 Sep 2013 19:08:12 +0000 (21:08 +0200)]
gnu: Add python-setuptools, python2-setuptools.

* gnu/packages/python.scm (python-setuptools, python2-setuptools):
    New variables.

10 years agoguix: python: Do not import %standard-phases from gnu-build-system.
Andreas Enge [Tue, 10 Sep 2013 18:32:50 +0000 (20:32 +0200)]
guix: python: Do not import %standard-phases from gnu-build-system.

* guix/build-system/python.scm (python-build): Drop module gnu-build-system.
    Thanks to Ludovic Courtès <ludo@gnu.org>.

10 years agognu: isl: Update urls.
Andreas Enge [Tue, 10 Sep 2013 17:05:43 +0000 (19:05 +0200)]
gnu: isl: Update urls.

* gnu/packages/gcc.scm (isl): Update source and home page url.

10 years agoguix: python: Add parameter #:phases to build system.
Andreas Enge [Tue, 10 Sep 2013 09:42:07 +0000 (11:42 +0200)]
guix: python: Add parameter #:phases to build system.

* guix/build-system/python.scm (python-build): Use parameter #:phases.

10 years agognu: vm: Copy /etc/shadow to the guest.
Ludovic Courtès [Mon, 9 Sep 2013 19:52:14 +0000 (21:52 +0200)]
gnu: vm: Copy /etc/shadow to the guest.

* gnu/system/vm.scm (example2): Add SHADOW to #:inputs-to-copy.

10 years agognu: vm: Create valid /etc/shadow and /etc/passwd.
Ludovic Courtès [Sun, 8 Sep 2013 21:52:03 +0000 (23:52 +0200)]
gnu: vm: Create valid /etc/shadow and /etc/passwd.

* gnu/system/vm.scm (/etc/passwd): Rename to...
  (passwd-file): ... this. Add 'shadow?' keyword parameter.  Change
  format of ACCOUNTS, and fix CONTENTS.
  (example2): Adjust accordingly.  Create both /etc/shadow and
  /etc/passwd, the latter being used by getpwnam(3) & co. when nscd is
  not running.

10 years agognu: vm: Clear timestamps on the imported files, like in the store.
Ludovic Courtès [Sun, 8 Sep 2013 20:45:30 +0000 (22:45 +0200)]
gnu: vm: Clear timestamps on the imported files, like in the store.

* gnu/system/vm.scm (qemu-image): Clear timestamps on the copied files.