2015-01-28  Ludovic Courtès  <ludo@gnu.org>

	Update NEWS.

2015-01-28  Mark H Weaver  <mhw@netris.org>

	gnu: xf86-video-geode: Only supported on i686 systems.
	* gnu/packages/xorg.scm (xf86-video-geode)[supported-systems]: Trim to include
	  only i686-based systems.

	gnu: xf86-video-intel: Only supported on Intel-based systems.
	* gnu/packages/xorg.scm (xf86-video-intel)[supported-systems]: Trim to include
	  only Intel-based systems.

	gnu: Remove 'xf86-video-ast' and 'xf86-video-newport' drivers.
	* gnu/packages/xorg.scm (xf86-video-ast, xf86-video-newport): Comment out.

2015-01-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: racket: Update to 6.1.1.
	* gnu/packages/scheme.scm (racket): Update to 6.1.1.  Adjust URI.
	  [inputs]: Add FONTCONFIG and SQLITE.

2015-01-28  Ludovic Courtès  <ludo@gnu.org>

	linux-boot: Don't fail if /root/etc/mtab is a dangling symlink.
	Reported Joshua Grant.
	Patch suggested by Mark H Weaver.

	* gnu/build/linux-boot.scm (mount-root-file-system): Use
	  'false-if-exception' instead of 'when (file-exists? ...)' to account
	  for dangling symlinks.

2015-01-28  Ludovic Courtès  <ludo@gnu.org>

	ui: Update copyright year in '--version' output.
	* guix/ui.scm (show-version-and-exit): Increment copyright year.

	nls: Update 'vi' translation.

2015-01-28  Mark H Weaver  <mhw@netris.org>

	gnu: guile-ssh: Put 'autoreconf' phase after 'unpack', not before 'configure'.
	* gnu/packages/ssh.scm (guile-ssh): Add 'autoreconf' phase after 'unpack'
	  instead of before 'configure', so that it will be before
	  'patch-usr-bin-file' and other similar phases.

2015-01-28  Federico Beffa  <beffa@fbengineering.ch>

	gnu: Add libupnp.
	* gnu/packages/libupnp.scm: New file.
	* gnu-system.am: Add the new file.

2015-01-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: Define $CC to placate 'g-ir-scanner'.
	* gnu/packages/glib.scm (telepathy-glib)[arguments]: New field.
	* gnu/packages/gnome.scm (json-glib)[arguments]: New field.

	gnu: libextractor: Adjust to deal with current libmagic.
	* gnu/packages/gnunet.scm (libextractor)[source]: Add 'snippet'.
	  (libextractor)[inputs]: Remove GNU-GETTEXT, which was unneeded.  Add
	  FILE.

	doc: Fix typo for 'lsh-service'.
	* doc/guix.texi (Networking Services): Fix typo in 'lsh-service'
	  parameters.

	lint: Fix argument parsing when several packages are specified.
	* guix/scripts/lint.scm (%options) <--checkers>: Remove 'arg-handler'
	  parameter, and return a single value.
	  (guix-lint)[parse-options]: Remove 'arg-handler' parameter from
	  handlers.  Remove second seed to 'args-fold*'.
	* tests/guix-lint.sh: Add test.

	gnu: gimp: Update to 2.8.14.
	* gnu/packages/gimp.scm (gimp): Update to 2.8.14.

	system: Define $ASPELL_CONF in /etc/profile.
	* gnu/system.scm (etc-directory)[profile]: Define 'ASPELL_CONF'.

	Update NEWS.

	doc: Update USB image size.
	* doc/guix.texi (System Installation): Change to --image-size=850MiB.

	install: Add iw to the packages.
	* gnu/system/install.scm (installation-os)[packages]: Add IW.

	Thank Amirouche.

2015-01-28  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.18.4
	* gnu/packages/linux.scm (linux-libre): Update to version 3.18.4.

2015-01-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add xinit.
	* gnu/packages/xorg.scm (xinit): New variable.

	doc: Change the USB image file name to 'gsd-usb-install*'.
	* doc/guix.texi (System Installation): Change the file name to
	  'gsd-usb-install-*'.

	linux-initrd: Add USB kernel modules to the default initrd.
	* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add
	  usb-storage, uas, usbkbd, and usbhid.
	* gnu/system/vm.scm (system-disk-image): Remove #:extra-modules argument
	  to 'base-initrd'.

2015-01-27  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: apr-util: Correct hash.
	* gnu/packages/apr.scm (apr-util): Correct hash.

2015-01-27  Alex Kost  <alezost@gmail.com>

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

2015-01-27  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add GCJ
	* gnu/packages/gcc.scm (gcj-4.8, ecj-bootstrap-4.8): New variables.
	* gnu/packages/javac.in: New file.
	* gnu-system.am (MISC_DISTRO_FILES): Add it.
	* Makefile.am (nobase_dist_guilemodule_DATA): Add MISC_DISTRO_FILES.

2015-01-27  rekado  <rekado@elephly.net>

	gnu: Add LRDF.
	* gnu/packages/rdf.scm (lrdf): New variable.

	gnu: Add JACK
	* gnu/packages/audio.scm: New file
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it

2015-01-27  Ludovic Courtès  <ludo@gnu.org>

	doc: Update "Limitations" section.
	* doc/guix.texi (System Installation): Mention Xfce.  Update package
	  count.

	install: Mention GSD.
	* gnu/system/install.scm (installation-services): Mention the Guix
	  System Distribution.

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (boot-guile-uri): New procedure.
	  (guix-0.8): Add "boot-guile/armhf" input.  Update
	  'copy-bootstrap-guile' phase to handle it.
	  (guix-devel): Update snapshot.

2015-01-27  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: zsh: Update to 5.0.7
	* gnu/packages/zsh.scm (zsh): Update to 5.0.7

	gnu: apr: Update to 1.5.4.
	* gnu/packages/apr.scm (apr-util): Update to 1.5.4

	gnu: ftp: Update to 4.6.1.
	* gnu/packages/ftp.scm (lftp): Update to 4.6.1

2015-01-27  Ludovic Courtès  <ludo@gnu.org>

	services: mingetty: Wait for udev.
	* gnu/services/base.scm (mingetty-service): Add 'udev' to
	  'requirement'.

2015-01-27  宋文武  <iyzsong@gmail.com>

	system: Add 'XDG_DATA_DIRS' and 'XDG_CONFIG_DIRS' to /etc/profile.
	* gnu/system.scm (etc-directory)[profile]: Set 'XDG_DATA_DIRS' and
	  'XDG_CONFIG_DIRS'.

2015-01-27  Ludovic Courtès  <ludo@gnu.org>

	nls: Add a few more package modules for translation.
	* po/packages/POTFILES.in: List a few more files.

2015-01-26  Ludovic Courtès  <ludo@gnu.org>

	build: Unset 'GUIX_PACKAGE_PATH' in 'sync-descriptions'.
	* Makefile.am (sync-descriptions): Clear 'GUIX_PACKAGE_PATH'.

	build: Remove reference to non-existent file.
	* daemon.am (EXTRA_DIST): Remove nix/sync-with-upstream.

	doc: Expound a bit on 'guix lint'.
	* doc/guix.texi (Invoking guix lint): Give examples of checkers.

	services: xorg: Define the <session-type> record type.
	* gnu/services/xorg.scm (<session-type>): New record type.
	  (%windowmaker-session-type, %ratpoison-session-type): New variables.
	  (%default-xsessions): Use them.
	  (xsessions-directory): Expect SESSIONS to be a list of <session-type>
	  and rewrite accordingly.
	  (slim-service): Adjust docstring.
	* doc/guix.texi (X Window): Update accordingly.

	substitute-binary: Let the user know when the cache is being updated.
	* guix/scripts/substitute-binary.scm (open-cache*): New macro.
	  (guix-substitute-binary): Use it instead of (delay (open-cache ...)).

2015-01-26  Ludovic Courtès  <ludo@gnu.org>

	hash: Initialize libgcrypt before use.
	Fixes <http://bugs.gnu.org/19677>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/hash.scm: Use (guix gcrypt).
	  (sha256, open-sha256-md, md-write, md-close): Use 'libgcrypt-func'
	  instead of 'dynamic-func'.

2015-01-26  Ludovic Courtès  <ludo@gnu.org>

	Add (guix gcrypt).
	* guix/gcrypt.scm: New file.
	* Makefile.am (MODULES): Add it.
	* guix/pk-crypto.scm: Use it.
	  (libgcrypt-func, gcrypt-version): Remove.

2015-01-26  Mark H Weaver  <mhw@netris.org>

	gnu: Add gobject-introspection patches to gnu-system.am.
	* gnu-system.am (dist_patch_DATA): Add
	  'gobject-introspection-absolute-shlib-path.patch' and
	  'gobject-introspection-girepository.patch'.

	Merge branch 'wip-gobject-introspection'

2015-01-26  Ludovic Courtès  <ludo@gnu.org>

	guix lint: Make the 'source' checker happy if at least one URI is valid.
	Before that it would check all the URIs of each package.

	* guix/scripts/lint.scm (validate-uri): Really return #f on failure and
	  #t otherwise.
	  (check-source): Replace 'for-each' with 'any'.

2015-01-26  Ludovic Courtès  <ludo@gnu.org>

	services: dbus: Set the search path for .service files.
	* gnu/services/dbus.scm (dbus-configuration-directory)[services->sxml]:
	  Produce a <servicedir> tag.

	gnu: Raise an error when a bootstrap binary is not found.
	* gnu/packages.scm (search-bootstrap-binary): Raise an error when
	  FILE-NAME is not found.

2015-01-25  Andreas Enge  <andreas@enge.fr>

	Revert "gnu: netpbm: Update to 10.69.04."
	This reverts commit 03c277653577a505eed7d49652c4e8ba76ea06e7.

	Revert "gnu: netpbm: Correct hash."
	This reverts commit a6ae52fe142781e236901add1461fdbf80420215.

2015-01-25  Andreas Enge  <andreas@enge.fr>

	gnu: netpbm: Correct hash.
	* gnu/packages/netpbm.scm (netpbm): Correct hash.

	Fixes <http://bugs.gnu.org/19686>.
	Reported by Marek Benc <dusxmt@gmx.com> and Mark Weaver <mhw@netris.org>.

2015-01-25  Andreas Enge  <andreas@enge.fr>

	gnu: Add python-pyqt.
	* gnu/packages/qt.scm (python-pyqt, python2-pyqt): New variables.
	* gnu/packages/patches/pyqt-configure.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.

	gnu: Add python-sip.
	* gnu/packages/qt.scm (python.sip, python2-sip): New variables.

2015-01-25  Cyril Roelandt  <tipecaml@gmail.com>

	lint: add 'source' checker.
	* guix/scripts/lint.scm (validate-uri?): New procedure.
	  (%checkers): Add 'source' checker

2015-01-25  Andreas Enge  <andreas@enge.fr>

	gnu: netpbm: Update to 10.69.04.
	* gnu/packages/netpbm.scm (netpbm): Update to 10.69.04.

2015-01-24  Ludovic Courtès  <ludo@gnu.org>

	derivations: Raise an error for references to non-existent outputs.
	Fixes <http://bugs.gnu.org/19630>.
	Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

	* guix/derivations.scm (&derivation-error,
	  &derivation-missing-output-error): New error conditions.
	  (derivation->output-path): Raise a '&derivation-missing-output-error'
	  if OUTPUT is not an output of DRV.
	* guix/ui.scm (call-with-error-handling): Add case for
	  'derivation-missing-output-error?'.
	  (show-what-to-build): Check whether (derivation-outputs drv) is
	  empty.
	* tests/packages.scm ("reference to non-existent output"): Add test.

2015-01-24  Ludovic Courtès  <ludo@gnu.org>

	Add Ricardo to 'AUTHORS'.

2015-01-24  Andreas Enge  <andreas@enge.fr>

	gnu: Add libdvdnav.
	* gnu/packages/video.scm (libdvdnav): New variable.

	gnu: Add libdvdread.
	* gnu/packages/video.scm (libdvdread): New variable.

	gnu: youtube-dl: Update to 2015.01.23.4.
	* gnu/packages/video.scm (youtube-dl): Update to 2015.01.23.4.

	gnu: freeipmi: Update to 1.4.8.
	* gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.8.

	gnu: xnee: Update to 3.19 and add input GTK+.
	* gnu/packages/xnee.scm (xnee): Update to 3.19. This requires gtk+-2 as
	    additional input.

2015-01-23  Ludovic Courtès  <ludo@gnu.org>

	services: guix: #:authorize-hydra-key? now defaults to #t.
	* gnu/services/base.scm (guix-service): Change AUTHORIZE-HYDRA-KEY?
	  default value to #t.

2015-01-23  Ludovic Courtès  <ludo@gnu.org>

	build-system/glib-or-gtk: Add MIME directories to $XDG_DATA_DIRS.
	Fixes an Evince regression introduced in commit 3d243e9.

	* guix/build/glib-or-gtk-build-system.scm (data-directories): Check the
	  /mime sub-directory.

2015-01-23  Andreas Enge  <andreas@enge.fr>

	gnu: netpbm: Switch to svn checkout.
	* gnu/packages/netpbm.scm (netpbm): Use svn-fetch for the source instead
	    of a separately hosted tarball.

	gnu: python-pyparsing: Update to 2.0.3.
	* gnu/packages/python.scm (python-pyparsing, python2-pyparsing): Update to 2.0.3.

2015-01-23  Federico Beffa  <beffa@fbengineering.ch>

	gnu: gobject-introspection: Add patch.
	* gnu/packages/glib.scm (gobject-introspection): Add patch
	  gobject-introspection-girepository.patch.

2015-01-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: gtk+: Add CUPS print back-end.
	* gnu/packages/gtk.scm (gtk+)[inputs]: Add CUPS.

	doc: Mention that guix.el works out-of-the-box on GSD.
	* doc/emacs.texi (Emacs Initial Setup): Mention that it works
	  out-of-the-box on GSD.

	build: Change version to 0.8.1.
	* configure.ac: Change version to 0.8.1.

	gnu: libmicrohttpd: Update to 0.9.39.
	* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.39.

	gnu: rcs: Update to 5.9.4.
	* gnu/packages/version-control.scm (rcs): Update to 5.9.4.

	gnu: parallel: Update to 20150122.
	* gnu/packages/parallel.scm (parallel): Update to 20150122.

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

	gnu: util-linux: Do not build 'kill'.
	* gnu/packages/linux.scm (util-linux)[source](snippet): Set
	  "build_kill=no" in 'configure'.

	gnu: e2fsprogs: Don't build libraries and commands provided by util-linux.
	* gnu/packages/linux.scm (e2fsprogs)[arguments]: Add --disable-blkid
	  --disable-libuuid --disable-uuidd --disable-fsck.

	gnu: util-linux: Update to 2.25.2.
	* gnu/packages/linux.scm (util-linux): Update to 2.25.2.  Remove
	  util-linux-perl.patch, and add util-linux-tests.patch.  Adjust
	  'snippet'.
	  [arguments]: Remove 'patch-chkdupexe' phase.  Add 'pre-check' phase.
	  [native-inputs]: Add NET-BASE.
	* gnu/packages/patches/util-linux-perl.patch: Remove.
	* gnu/packages/patches/util-linux-tests.patch: New file.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

	gnu: e2fsprogs: Update to 1.42.11.
	* gnu/packages/linux.scm (e2fsprogs): Update to 1.42.11.

	doc: Add services to the configuration template.
	* gnu/system/os-config.tmpl (services): New field.

	install: Make sure 'info' can decompress the Info files.
	* gnu/system/install.scm (log-to-info): Add GZIP to $PATH.

	doc: Update USB installation image name.
	* doc/guix.texi (System Installation): Change image name to guix-usb-*.

	doc: Introduce the Guix System Distribution.
	* doc/guix.texi (Introduction): Introduce "Guix System Distribution".
	  Add a couple of sentences about it.  Remove "Guixotic".
	  (GNU Distribution): Likewise.
	  (System Installation): Ditto.

2015-01-23  Marek Benc  <merkur32@gmail.com>

	gnu: nvi: Fix Berkely DB compatability issues.
	* gnu/packages/patches/nvi-db4.patch: New file.
	* gnu/packages/patches/nvi-dbpagesize-binpower.patch: New file.
	* gnu/packages/nvi.scm (nvi): Make use of them.
	* gnu-system.am (dist_patch_DATA): Add them.

2015-01-23  宋文武  <iyzsong@gmail.com>

	gnu: sudo: Set rundir, vardir and iologdir.
	* gnu/packages/admin.scm (sudo)[arguments]<#:configure-flags>: Add
	  --with-rundir=/run/sudo --with-vardir=/var/db/sudo
	  --with-iologdir=/var/log/sudo-io.

2015-01-22  Ludovic Courtès  <ludo@gnu.org>

	system: Make D-Bus warnings non fatal.
	* gnu/system.scm (etc-directory): Add 'DBUS_FATAL_WARNINGS' in PROFILE.

	system: Create /etc/emacs/site-start.el.
	* gnu/system.scm (emacs-site-file, emacs-site-directory): New
	  procedures.
	  (etc-directory): Add 'EMACSLOADPATH' setting to PROFILE.  Call
	  'emacs-site-directory', and bind its result to /etc/emacs.

	gnu: guix-devel: Propagate Geiser.
	* gnu/packages/package-management.scm (guix-devel)[propagated-inputs]:
	  Add GEISER.

2015-01-22  Ludovic Courtès  <ludo@gnu.org>

	doc: Update 'ROADMAP'.
	Suggested by Omar Radwan <toxemicsquire4@gmail.com>.

	* ROADMAP: Rewrite.

2015-01-22  Ludovic Courtès  <ludo@gnu.org>

	guix system: Improve error messages.
	* guix/ui.scm (report-error): Export.
	* guix/scripts/system.scm (read-operating-system): Report syntax errors
	  using standard GNU format.  Report other errors using 'display-error'.

2015-01-22  Joshua S. Grant  <jgrant@parenthetical.io>

	gnu: Add convenience macros to make module imports more concise.
	* gnu.scm (use-package-modules, use-service-modules,
	  use-system-modules): New macros.

2015-01-21  Ludovic Courtès  <ludo@gnu.org>

	store: Change 'run-with-store' to return a single value.
	* guix/store.scm (run-with-store): Wrap 'run-with-state' in
	  'call-with-values'.  Return only the first value.

	gnu: libtool: Update to 2.4.5.
	* gnu/packages/autotools.scm (libtool): Update to 2.4.5.
	  (libltdl): Adjust 'version' and 'source' to remain at 2.4.4.

2015-01-21  Andreas Enge  <andreas@enge.fr>

	gnu: phonon: Shuffle inputs.
	* gnu/packages/kde.scm (phonon): Move automoc to native-inputs and qt to
	    propagated inputs.

	gnu: phonon: Update to 4.8.3.
	* gnu/packages/kde.scm (phonon): Update to 4.8.3.

2015-01-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: perf: Install libraries to lib/ instead of lib64/.
	* gnu/packages/linux.scm (perf)[arguments]: Add "lib=lib" to
	  #:make-flags.

	gnu: perf: Build the interactive TUI.
	* gnu/packages/linux.scm (perf)[inputs]: Add SLANG.

	gnu: Add S-Lang.
	* gnu/packages/slang.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: perf: Build the documentation.
	* gnu/packages/linux.scm (perf)[inputs]: Uncomment documentation inputs.

	gnu: perf: Add dependency on Python.
	* gnu/packages/linux.scm (perf)[inputs]: Add PYTHON-2.

2015-01-21  Federico Beffa  <beffa@fbengineering.ch>

	gnu: libpeas: Update to 1.12.1, add 'pre-build phase.
	* gnu/packages/gnome.scm (libpeas): Update to version 1.12.1 and add
	  'pre-build phase.

2015-01-20  Andreas Enge  <andreas@enge.fr>

	gnu: Register patches for installation.
	* gnu-system.am (dist_patch_DATA): Add patches for aegis, clucene,
	    libcanberra and lua-5.1.

	gnu: Add python-rdflib.
	* gnu/packages/rdf.scm (python-rdflib): New variable.

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

2015-01-20  Ludovic Courtès  <ludo@gnu.org>

	guix package: Avoid spurious warnings from 'find-files'.
	Reported by Andreas Enge <andreas@enge.fr>.

	* guix/scripts/package.scm (with-null-error-port): New macro.
	  (search-path-environment-variables): Wrap 'search-path-as-list' call
	  in 'with-null-error-port'.

2015-01-20  Andreas Enge  <andreas@enge.fr>

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

2015-01-20  Ludovic Courtès  <ludo@gnu.org>

	build: Make sure only the local .go files are loaded during compilation.
	Reported by Andreas Enge <andreas@enge.fr>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-01/msg00272.html>.

	* Makefile.am (.scm.go): Add "unset GUILE_LOAD_COMPILED_PATH".

2015-01-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: 'search-patch' raises an error when a patch is not found.
	* gnu/packages.scm (search-patch): Raise an error condition when
	  'search-path' returns #f.
	* tests/packages.scm ("patch not found yields a run-time error"): New
	  test.

	packages: Mark the 'patches' field as delayed.
	* guix/packages.scm (<origin>)[patches]: Mark as 'delayed'.
	  (print-origin, origin->derivation): Add call to 'force' when accessing
	  'patches'.

2015-01-19  Ludovic Courtès  <ludo@gnu.org>

	records: Add support for delayed fields.
	* guix/records.scm (make-syntactic-constructor): Add #:delayed
	  parameter.
	  [delayed-field?]: New procedure.
	  [wrap-field-value]: Use it.
	  (define-record-type*)[delayed-field?, wrapped-field?]: New procedures.
	  [thunked-field-accessor-name]: Rename to...
	  [wrapped-field-accessor-name]: ... this.
	  [field-spec->srfi-9]: Change 'thunked' to 'wrapped'.
	  [delayed-field-accessor-definition]: New procedure.
	  Compute delayed-field accessors and emit them.  Pass #:delayed to
	  'make-syntactic-constructor'.
	* tests/records.scm ("define-record-type* & delayed",
	  "define-record-type* & delayed & default",
	  "define-record-type* & delayed & inherited"): New tests.

	make-syntactic-constructor kwarg default

	records: Factorize value wrapping in the record constructor.
	* guix/records.scm (make-syntactic-constructor)[wrap-field-value]: New
	  procedure.
	  [field-bindings, field-value]: Use it.

	records: Move 'make-syntactic-constructor' to the top level.
	* guix/records.scm (make-syntactic-constructor): New procedure, formerly
	  nested in 'define-record-type*'.

	records: Use keyword parameters for 'make-syntactic-constructor'.
	* guix/records.scm (define-record-type*)[make-syntactic-constructor]:
	  Turn THUNKED and DEFAULTS into keyword arguments.
	  Adjust caller accordingly.  Declare 'thunked' and 'defaults' local
	  variables.

	gnu: Make libgnomeprint{,ui} as deprecated.
	* gnu/packages/gnome.scm (libgnomeprint): Add comment and update
	  'description' to mark it as deprecated.
	  (libgnomeprintui): Ditto.

	gnu: Remove unneeded #:select.
	* gnu/packages/fonts.scm: Remove #:select to work around
	  <http://bugs.gnu.org/15540>.

2015-01-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: Move guile-charting to (gnu packages plotutils).
	This removes the dependency from (gnu packages guile)
	to (gnu packages gtk), which potentially reduces the memory/IO/CPU
	footprint given that 'guile' is used during bootstrap.

	* gnu/packages/guile.scm (guile-charting): Move to...
	* gnu/packages/plotutils.scm (guile-charting): ... here.

2015-01-19  Andreas Enge  <andreas@enge.fr>

	gnu: Add json-glib.
	* gnu/packages/gnome.scm (json-glib): New variable.

2015-01-19  David Thompson  <dthompson2@worcester.edu>

	gnu: tiled: Update to 0.11.0.
	* gnu/packages/game-development.scm (tiled): Update.

	gnu: tiled: Move to game-development module.
	* gnu/packages/games.scm (tiled): Move from here...
	* gnu/packages/game-development (tiled): ...to here.

2015-01-19  Federico Beffa  <beffa@fbengineering.ch>

	gnu: vte: Add 'pre-build phase.
	* gnu/packages/gnome.scm (vte): Add 'pre-build phase.

2015-01-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: emms: Let the build system install emms-print-metadata.1.
	Reported by effa`` on #guix.

	* gnu/packages/emacs.scm (emms)[arguments] <pre-install>: Remove
	  'copy-file' invocation.

2015-01-19  Ludovic Courtès  <ludo@gnu.org>

	tests: Adjust syscall tests for 2.6ish Linux.
	* tests/syscalls.scm ("set-network-interface-flags",
	  "set-network-interface-address"): Accept EACCES as a valid result.

2015-01-19  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add CUPS.
	* gnu/packages/cups.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add IJS
	* gnu/packages/ghostscript.scm (ijs): New variable.

2015-01-18  Andreas Enge  <andreas@enge.fr>

	gnu: Add telepathy-glib.
	* gnu/packages/glib.scm (telepathy-glib): New variable.

2015-01-18  Ludovic Courtès  <ludo@gnu.org>

	nar: Read archive signatures as Latin-1 strings.
	Fixes <http://bugs.gnu.org/19610>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/nar.scm (restore-one-item): Use 'read-latin1-string' to read the
	  signature.

2015-01-18  Ludovic Courtès  <ludo@gnu.org>

	serialization: Read Latin-1 strings with 'get-bytevector-n'.
	* guix/serialization.scm (read-latin1-string): Use 'get-bytevector-n'
	  instead of 'get-string-n'.  Use 'list->string' etc. to convert the
	  bytevector to a string.

2015-01-18  Federico Beffa  <beffa@fbengineering.ch>

	gnu: gtkmm: Update to 3.14.0.
	* gnu/packages/gtk.scm (gtkmm): Update to 3.14.0.

	gnu: xorg-server: Disable parallel execution of tests.
	* gnu/packages/xorg.scm (xorg-server): Set '#:parallel-tests?' to '#f'.

	gnu: librsvg: Update to 2.40.6 and add 'pre-build phase.
	* gnu/packages/gnome.scm (librsvg): Update to 2.40.6 and add 'pre-build phase.

	gnu: python-scipy: Update to 0.15.0.
	* gnu/packages/python.scm (python-scipy): Update to 0.15.0.

	gnu: python-matplotlib: Update comments.
	* gnu/packages/python.scm (python-matplotlib): Update comments as, with the
	  patched 'gobject-introspection', setting LD_LIBRARY_PATH at run time is not
	  anymore necessary.  It's still necessary at build time.

	gnu: gtk+: Update to 3.14.7.
	* gnu/packages/gtk.scm (gtk+): Update to 3.14.7.

	gnu: python-matplotlib: Remove python-pillow input.
	* gnu/packages/python.scm (python-matplotlib): Remove python-pillow input as
	  it currently is broken.

	gnu: atk: Update to 2.15.3.
	* gnu/packages/gtk.scm (atk): Update to 2.15.3.

	gnu: eudev: Add pre-build phase.
	* gnu/packages/linux.scm (eudev): Add 'pre-build phase to fix compilation with
	  'gobject-introspection' 1.42.0.

	gnu: eudev: Update to 2.1.1.
	* gnu/packages/linux.scm (eudev): Update to 2.1.1.

	gnu: gdk-pixbuf: Update to 2.31.1.
	* gnu/packages/gtk.scm (gdk-pixbuf): Update to 2.31.1.

	gnu: pango: Update to 1.36.8.
	* gnu/packages/gtk.scm (pango): Update to 1.36.8.

	gnu: gobject-introspection: Update to 1.42.0 and add new patch.
	* gnu/packages/glib.scm (gobject-introspection): Update to version 1.42.0.
	  Add patch 'gobject-introspection-absolute-shlib-path.patch' provided by Luca
	  Bruno <lucabru@src.gnome.org> for Nix.

2015-01-18  Ludovic Courtès  <ludo@gnu.org>

	store: Change 'store-lower' to preserve the original procedure's documentation.
	* guix/store.scm (preserve-documentation): New procedure.
	  (store-lift, store-lower): Use it.

2015-01-17  Ludovic Courtès  <ludo@gnu.org>

	doc: Document '%state-monad' and update '%store-monad' description.
	* doc/guix.texi (The Store Monad): Document '%state-monad' and related
	  procedures.  Describe '%store-monad' as an alias for '%state-monad'.
	* guix/monads.scm: Update commentary.

	store: Make '%store-monad' an alias for '%state-monad'.
	* guix/store.scm (define-alias): New macro.
	  (%store-monad, store-return, store-bind): Define as aliases of the
	  corresponding %STATE-MONAD part.
	  (store-lift, text-file, interned-file): Return STORE as a second
	  value.
	  (run-with-store): Use 'run-with-state'.
	* guix/packages.scm (set-guile-for-build, package-file): Return STORE as
	  a second value.
	* guix/monads.scm: Remove part of the module commentary.

	monads: Add the state monad.
	* guix/monads.scm (state-return, state-bind, run-with-state,
	  current-state, set-current-state, state-push, state-pop): New
	  procedures.
	  (%state-monad): New variable.
	* tests/monads.scm (%monads): Add %STATE-MONAD.
	  (%monad-run): Add 'run-with-state'.
	  (values->list): New macro.
	  ("set-current-state", "state-push etc."): New tests.

2015-01-17  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.18.3
	* gnu/packages/linux.scm (linux-libre): Update to version 3.18.3.

2015-01-17  Andreas Enge  <andreas@enge.fr>

	gnu: rasqal: Update to 0.9.33.
	* gnu/packages/rdf.scm (rasqal): Update to 0.9.33.

	gnu: raptor2: Update to 2.0.15.
	* gnu/packages/rdf.scm (raptor2): Update to 2.0.15.

2015-01-17  Ludovic Courtès  <ludo@gnu.org>

	guix archive: Add -r/--recursive.
	* guix/scripts/archive.scm (show-help, %options): Add -r/--recursive.
	  (export-from-store): Pass #:recursive? to 'export-paths'.
	* doc/guix.texi (Invoking guix archive): Add -r in Emacs example.  Add
	  example with ~/.guix-profile.  Document -r/--recursive.

	guix archive: Remove unused -r/--root option.
	* guix/scripts/archive.scm (%options): Remove -r/--root.

	store: Remove unused variable.
	* guix/store.scm (export-paths): Remove unused variable 's'.

	store: Add #:recursive? parameter to 'export-paths'.
	* guix/store.scm (export-paths): Add #:recursive? parameter and honor
	  it.
	* tests/store.scm ("export/import incomplete", "export/import
	  recursive"): New tests.

	doc: Mention generation of ECDSA/Ed25519 keys when supported.
	* doc/guix.texi (Invoking guix archive): Mention ECDSA/Ed25519 as the
	  default type of keys for libgcrypt >= 1.6.0.

2015-01-17  宋文武  <iyzsong@gmail.com>

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

2015-01-17  Mark H Weaver  <mhw@netris.org>

	gnu: fontconfig: Propagate expat and freetype.
	* gnu/packages/fontutils.scm (fontconfig)[inputs]: Move expat and freetype ...
	  [propagated-inputs]: ... to here.

2015-01-17  宋文武  <iyzsong@gmail.com>

	gnu: ffmpeg: Augment rpath of libraries.
	* gnu/packages/video.scm (ffmpeg)[arguments]<phases>[add-lib-to-run-path]:
	  Add $out/lib to the RUNPATH of libraries.

2015-01-16  Andreas Enge  <andreas@enge.fr>

	gnu: fontconfig: Update to 2.11.92.
	* gnu/packages/fontutils.scm (fontconfig): Update to 2.11.92.

2015-01-16  Ludovic Courtès  <ludo@gnu.org>

	emacs: In 'run-with-store' call, specify the guile-for-build.
	This fixes a regression introduced in commit e87f059.

	* emacs/guix-main.scm (process-package-actions): Add call to
	  'set-guile-for-build' in monadic expression.

2015-01-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: e2fsck-static: Use really statically-linked executables.
	* gnu/packages/linux.scm (e2fsprogs/static): New variable.
	  (e2fsck/static): Use it in 'inputs'.

	gnu: Add CGAL.
	* gnu/packages/graphics.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	system: Add "en_US.UTF-8" to the default locales, for backward compatibility.
	* gnu/system/locale.scm (%default-locale-definitions): Add
	  "en_US.UTF-8".

	gnu: Add Eigen.
	* gnu/packages/algebra.scm (eigen): New variable.

2015-01-16  Federico Beffa  <beffa@fbengineering.ch>

	gnu: Add IPython.
	* gnu/packages/python.scm (python-ipython, python2-ipython): New variable.

2015-01-16  Mark H Weaver  <mhw@netris.org>

	gnu: icecat: Add fixes for CVE-2014-{8634,8638,8639,8641}.
	* gnu/packages/patches/icecat-CVE-2014-8634-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2014-8634-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2014-8638-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2014-8638-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2014-8639.patch,
	  gnu/packages/patches/icecat-CVE-2014-8641.patch,
	  gnu/packages/patches/icecat-armhf-xpcom.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/gnuzilla.scm (icecat)[source]: Add patches.

2015-01-16  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'core-updates'
	Conflicts:
		gnu/packages/bootstrap.scm

2015-01-16  宋文武  <iyzsong@gmail.com>

	gnu: add RetroArch.
	* gnu/packages/games.scm (retroarch): New variable.

2015-01-16  Mark H Weaver  <mhw@netris.org>

	gnu: gd: Update to 2.1.1.
	* gnu/packages/patches/gd-mips64-deplibs-fix.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/gd.scm (gd): Update to 2.1.1.  Update source URI.  Remove
	  patch.  Remove 'chdir' phase.  Add pkg-config to native-inputs.

2015-01-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: gdb: Update to 7.8.2.
	* gnu/packages/gdb.scm (gdb): Update to 7.8.2.

	gnu: nix: Update to 1.8.
	* gnu/packages/package-management.scm (nix): Update to 1.8.

	gnu: plotutils: Do not propagate libXaw.
	* gnu/packages/plotutils.scm (plotutils): Move LIBXAW from
	  'propagated-inputs' to 'inputs'.  Add 'snippet'.

	gnu: mercurial: Update to 3.2.4.
	* gnu/packages/version-control.scm (mercurial): Update to 3.2.4.

2015-01-15  Mark H Weaver  <mhw@netris.org>

	gnu: teckit: Add alternate source URL.
	Fixes <http://bugs.gnu.org/19600>.

	* gnu/packages/fontutils.scm (teckit)[source]: Add Fedora mirror.

2015-01-15  宋文武  <iyzsong@gmail.com>

	gnu: ninja: Disable testcase SubprocessTest.InterruptChild.
	* gnu/packages/patches/ninja-tests.patch: New file.
	* gnu/packages/ninja.scm (ninja): Add the patch.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-01-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: cross-base: Don't build the cross-compilers with target = host.
	* gnu/packages/cross-base.scm (xgcc-mips64el)[supported-systems]: Delete
	  "mips64el-linux".
	  (xgcc-armhf)[supported-systems]: Delete "armhf-linux".

2015-01-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: Don't build the mips64el-linux-gnuabi64 cross-compiler on i686.
	Fixes <http://bugs.gnu.org/19598>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* gnu/packages/cross-base.scm (xgcc-mips64el): Remove "i686-linux" from
	  'supported-systems'.

2015-01-14  Ludovic Courtès  <ludo@gnu.org>

	check-available-binaries: Use 'substitution-oracle'.
	* build-aux/check-available-binaries.scm: Use 'substitution-oracle'.
	  Changer caller and 'warn' accordingly.

	check-available-binaries: Use 'with-store'.
	* build-aux/check-available-binaries.scm: Use 'with-store' instead of an
	  explicit 'open-connection'.

	build: Use the canonical list of supported systems in 'assert-*'.
	* build-aux/check-available-binaries.scm (%supported-systems): Remove.
	* build-aux/check-final-inputs-self-contained.scm (%supported-systems):
	  Remove.

	packages: Convert source derivations to monadic style.
	* guix/packages.scm (origin->derivation): Take body from
	  'package-source-derivation', and change it to monadic style.  Expect
	  METHOD to a monadic procedure.
	  (package-source-derivation): Define in terms of 'origin->derivation'.
	* guix/download.scm (url-fetch): Remove 'store' argument.  Remove
	  'guile-for-build' variable.  Turn into a monadic procedure.
	* guix/git-download.scm (git-fetch): Likewise.
	* guix/svn-download.scm (svn-fetch): Likewise.
	* tests/builders.scm (url-fetch*): New procedure.
	  Change tests to call 'url-fetch*' instead of 'url-fetch'.
	* tests/packages.scm ("package-source-derivation, snippet"): Remove
	  'store' parameter of 'fetch' and change it to use 'interned-file'
	  instead of 'add-to-store'.
	* gnu/packages/bootstrap.scm (bootstrap-origin)[boot]: Remove 'store'
	  parameter.

2015-01-14  Mark H Weaver  <mhw@netris.org>

	gnu: tre: Build a locale for the tests.
	* gnu/packages/tre.scm (tre)[arguments]: Add 'install-locales' phase.

2015-01-14  Ludovic Courtès  <ludo@gnu.org>

	store: Add 'store-lower'.
	* guix/store.scm (store-lower): New procedure.
	* tests/store.scm ("store-lower"): New test.

2015-01-14  Ludovic Courtès  <ludo@gnu.org>

	monads: Move '%store-monad' and related procedures where they belong.
	This turns (guix monads) into a generic module for monads, and moves the
	store monad and related monadic procedures in their corresponding
	module.

	* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
	  text-file, interned-file, package-file, package->derivation,
	  package->cross-derivation, origin->derivation, imported-modules,
	  compiled, modules, built-derivations, run-with-store): Move to...
	* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
	  text-file, interned-file): ... here.
	  (%guile-for-build): New variable.
	  (run-with-store): Moved from monads.scm.  Remove default value for
	  #:guile-for-build.
	* guix/packages.scm (default-guile): Export.
	  (set-guile-for-build): New procedure.
	  (package-file, package->derivation, package->cross-derivation,
	  origin->derivation): Moved from monads.scm.
	* guix/derivations.scm (%guile-for-build): Remove.
	  (imported-modules): Rename to...
	  (%imported-modules): ... this.
	  (compiled-modules): Rename to...
	  (%compiled-modules): ... this.
	  (built-derivations, imported-modules, compiled-modules): New
	  procedures.
	* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
	  gnu/services/dmd.scm, gnu/services/networking.scm,
	  gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
	  gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
	  guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
	  guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
	* guix/monad-repl.scm (default-guile-derivation): New procedure.
	  (store-monad-language, run-in-store): Use it.
	* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
	  'set-guile-for-build' call.
	* guix/scripts/archive.scm (derivation-from-expression): Likewise.
	* guix/scripts/build.scm (options/resolve-packages): Likewise.
	* guix/scripts/environment.scm (guix-environment): Likewise.
	* guix/scripts/system.scm (guix-system): Likewise.
	* doc/guix.texi (The Store Monad): Adjust module names accordingly.

2015-01-14  Ludovic Courtès  <ludo@gnu.org>

	doc: Move 'text-file*' to the gexp section.
	This is a follow-up to commit 462a3fa.

	* doc/guix.texi (The Store Monad): Move 'text-file*'...
	  (G-Expressions): ... to here.

2015-01-14  Mark H Weaver  <mhw@netris.org>

	gnu: guile-ncurses: Build a UTF-8 locale for the tests.
	* gnu/packages/guile.scm (guile-ncurses)[arguments]: Add 'install-locales'
	  phase.

2015-01-13  Ludovic Courtès  <ludo@gnu.org>

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

	gnu: e2fsprogs: Install libext2fs.
	* gnu/packages/linux.scm (e2fsprogs)[source]: Add 'snippet'.
	  [arguments]: Add --enable-elf-shlibs to #:configure-flags.
	  Add #:make-flags.

2015-01-13  Mark H Weaver  <mhw@netris.org>

	gnu: gnutls: Update to 3.2.21.
	* gnu/packages/gnutls.scm (gnutls): Update to 3.2.21.

	gnu: openssl: Update to 1.0.1k.
	* gnu/packages/openssl.scm (openssl): Update to 1.0.1k.

2015-01-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GLEW.
	* gnu/packages/gl.scm (glew): New variable.

	services: user-processes: Really honor the grace delay.
	* gnu/services/base.scm (user-processes-service): Change #:grace-delay
	  default value to 4.  Define 'sleep*' and use it.

	system: Add iw to '%base-packages'.
	* gnu/system.scm (%base-packages): Add IW.

	gnu: wireless-tools: Describe it as deprecated.
	* gnu/packages/linux.scm (wireless-tools)[description]: Explain that it
	  is deprecated in favor of 'iw'.

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update snapshot.
	  Remove now-unneeded sub-module stuff in the 'bootstrap' phase.

2015-01-13  Mark H Weaver  <mhw@netris.org>

	Merge branch 'master' into core-updates

	gnu: xorg-server: Update to 1.16.3.
	* gnu/packages/xorg.scm (xorg-server): Update to 1.16.3.

2015-01-13  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add QPDF.
	* gnu/packages/pdf.scm (qpdf): New variable.

2015-01-13  Ludovic Courtès  <ludo@gnu.org>

	tests: Properly synchronize threads in the 'home-page' lint tests.
	* tests/lint.scm (%http-server-lock, %http-server-ready): New
	  variables.
	  (http-open): New procedure.
	  (stub-http-server): Use it.
	  (call-with-http-server): Wrap body in 'with-mutex'.  Call
	  'wait-condition-variable' after 'make-thread'.

	doc: Change some occurrences of "the GNU system" to "Guixotic".
	* doc/guix.texi (GNU Distribution): Explain what "Guixotic" is.
	  (System Installation): Replace "the GNU system" by "Guixotic".
	  (System Configuration): Likewise.
	  (Invoking guix system): Likewise.

2015-01-13  Federico Beffa  <beffa@fbengineering.ch>

	build/glib-or-gtk-build-system: Fix 'generate-icon-cache'.
	Reported by Mark H Weaver <mhw@netris.org>

	* guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Add check for
	  existence of icons directory.

2015-01-13  Mark H Weaver  <mhw@netris.org>

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

	gnu: libnl: Update to 3.2.25.
	* gnu/packages/linux.scm (libnl): Update to 3.2.25.

	gnu: libpng: Update to 1.5.21.
	* gnu/packages/image.scm (libpng): Update to 1.5.21.

2015-01-12  Ludovic Courtès  <ludo@gnu.org>

	monads: Remove 'derivation-expression'.
	* guix/monads.scm (lower-inputs, derivation-expression): Remove.
	* tests/monads.scm (derivation-expression, "mlet* +
	  derivation-expression"): Remove.

	monads: Rewrite 'text-file*' using gexps.
	* guix/monads.scm (text-file*): Move to...
	* guix/gexp.scm (text-file*): ... here.  Rewrite using gexps.
	* tests/monads.scm ("text-file*"): Move to...
	* tests/gexp.scm ("text-file*"): ... here.

	services: user-processes: Write debugging messages to the output port.
	* gnu/services/base.scm (user-processes-service): Write "sending all
	  processes..." message to the current output port, not to /dev/console.

	gnu: Move xlockmore to (gnu packages xdisorg).
	* gnu/packages/xlockmore.scm: Remove.
	* gnu/packages/xdisorg.scm (xlockmore): New variable, from
	  xlockmore.scm.
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove xlockmore.scm.

	gnu: xlockmore: Update to 5.45.
	* gnu/packages/xlockmore.scm (xlockmore): Update to 5.45.
	  [arguments]: Add #:configure-flags.

2015-01-12  Federico Beffa  <beffa@fbengineering.ch>

	gnu: evince: Add inputs.
	* gnu/packages/gnome.scm (evince): Add 'dconf' and 'libcanberra' inputs.
	  Remove custom phase 'set-mime-search-path which is now handled by
	  glib-or-gtk-build-system.

	gnu: libcanberra: Add default sounds support.
	* gnu/packages/libcanberra.scm (libcanberra): Add input
	  'sound-theme-freedesktop'.  Add "libcanberra-sound-theme-freedesktop.patch"
	  and related phase 'patch-default-sounds-directory to patch the default
	  sounds directory.

	gnu: dconf: Add dconf.
	* gnu/packages/gnome.scm (dconf): New variable.

2015-01-12  Federico Beffa  <beffa@fbengineering.ch>

	guix: build/glib-or-gtk-build-system: Add support for GIO and XDG theming.
	* guix/build/glib-or-gtk-build-system.scm (data-directories): Rename
	  'schemas-directories' to 'data-directories' and add support for XDG theming
	  data.

	* guix/build/glib-or-gtk-build-system.scm (gio-module-directories): New
	  function.

	* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Update names to
	  reflect that we are dealing with more types of data and not only with
	  schemas.  Add handling of GIO modules.

	* guix/build-system/glib-or-gtk.scm (lower): Import the 'bin' output of GLib
	  instead of 'out'.  This was an error since we need the program
	  'glib-compile-schemas'.  Update the description.

2015-01-12  Jason Self  <j@jxself.org>

	gnu: ffmpeg: Update to 2.5.3
	* gnu/packages/video.scm (ffmpeg): Update to version 2.5.3.

	gnu: ffmpeg-2.2: Update to 2.2.11
	* gnu/packages/video.scm (ffmpeg-2.2): Update to version 2.2.11.

2015-01-12  Andreas Enge  <andreas@enge.fr>

	gnu: gp2c: Update to 0.0.9pl2.
	* gnu/packages/algebra.scm (gp2c): Update to 0.0.9pl2.

	gnu: pari-gp: Update to 2.7.2.
	* gnu/packages/algebra.scm (pari-gp): Update to 2.7.2.

2015-01-11  Ludovic Courtès  <ludo@gnu.org>

	derivations: Use a set for 'substitution-oracle'.
	* guix/derivations.scm (substitution-oracle): Use sets instead of lists.

2015-01-11  Ludovic Courtès  <ludo@gnu.org>

	derivations: Use sets for 'derivations-prerequisites'.
	This yields a 46% improvement in 'derivation-prerequisites' invocations
	on the Emacs derivation.

	* guix/derivations.scm (derivation-prerequisites): Add 'input-set'
	  variable, and use it in iterations.

2015-01-11  Ludovic Courtès  <ludo@gnu.org>

	Add (guix sets).
	* guix/sets.scm, tests/sets.scm: New files.sets
	* Makefile.am (MODULES, SCM_TESTS): Add them.

2015-01-11  Mark H Weaver  <mhw@netris.org>

	gnu: sqlite: Update to 3.8.7.4.
	* gnu/packages/patches/sqlite-large-page-size-fix.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/databases.scm (sqlite): Update to 3.8.7.4.  Remove patch.

	gnu: curl: Update to 7.40.0.
	* gnu/packages/patches/curl-gss-api-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/curl.scm (curl): Update to 7.40.0.  Add patch.

	Merge branch 'master' into core-updates

2015-01-11  宋文武  <iyzsong@gmail.com>

	gnu: qt: Add more inputs.
	* gnu/packages/qt.scm (qt): Add expat, pciutils, libxcomposite, libxcursor,
	  libxfixes, libxinerama, libxml2, libxrandr, libxslt, libxtst, mtdev, nss,
	  pcre, sqlite, eudev to 'inputs'.
	  Add bison, flex, gperf, ninja, python-2, ruby, which to 'native-inputs'.

	gnu: qt: Update to 5.4.0.
	* gnu/packages/qt.scm (qt): Update to 5.4.0.
	  [origin]: Add snippet.

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

	gnu: Add nss.
	* gnu/packages/patches/nss-pkgconfig.patch: New file.
	* gnu-system.scm (dist_patch_DATA): Add it.
	* gnu/packages/gnuzilla.scm (nss): New variable.

	gnu: Move mozjs and nspr to (gnu packages gnuzilla).
	* gnu/packages/polkit.scm (mozjs, nspr): Move to...
	* gnu/packages/gnuzilla.scm (mozjs, nspr): ... here. New variables.

2015-01-11  Mark H Weaver  <mhw@netris.org>

	gnu: libtool: Add m4 to propagated-inputs.
	* gnu/packages/autotools.scm (libtool)[propagated-inputs]: Add m4.

	gnu: file: Update to 5.22.
	* gnu/packages/file.scm (file): Update to 5.22.

2015-01-10  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.18.2
	* gnu/packages/linux.scm (linux-libre): Update to version 3.18.2.

2015-01-10  Ludovic Courtès  <ludo@gnu.org>

	derivations: Add 'substitution-oracle' and use it.
	This makes 'guix environment PACKAGE' significantly faster when
	substitutes are enabled.  Before that, it would lead to many invocations
	of 'guix substitute-binary', one per 'derivation-prerequisites-to-build'
	call.  Now, all these are replaced by a single invocation.

	* guix/derivations.scm (derivation-output-paths, substitution-oracle):
	  New procedures.
	  (derivation-prerequisites-to-build): Replace #:use-substitutes? with
	  #:substitutable?.  Remove the local 'derivation-output-paths' and
	  'substitutable?'.
	* guix/ui.scm (show-what-to-build): Add 'substitutable?'.  Pass it to
	  'derivation-prerequisites-to-build'.
	  [built-or-substitutable?]: Use it instead of 'has-substitutes?'.
	* tests/derivations.scm ("derivation-prerequisites-to-build and
	  substitutes"): Use #:substitutable? instead of #:use-substitutes?.

2015-01-09  Ludovic Courtès  <ludo@gnu.org>

	derivations: Add 'derivation-output-names'.
	* guix/derivations.scm (derivation-output-names): New procedure.
	  (derivation-prerequisites-to-build): Use it for #:outputs.
	  (map-derivation): Likewise.
	* tests/derivations.scm ("derivation-output-names"): New test.

	nls: Update 'eo' translation.

	build-system/gnu: Patch /usr/bin/file in all 'configure' files.
	* guix/build/utils.scm (patch-/usr/bin/file): New procedure.
	* guix/build/gnu-build-system.scm (patch-usr-bin-file): Rewrite using
	  it.  Patch all the files returned by 'find-files' that are executable.
	* gnu/packages/gawk.scm (gawk)[arguments]: Remove use of 'substitute*'
	  for 'extension/configure'.

2015-01-09  Eric Bavier  <bavier@member.fsf.org>

	import: Add CPAN importer.
	* guix/import/cpan.scm, guix/scripts/import/cpan.scm, tests/cpan.scm:
	  New files.
	* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add them.
	* guix/scripts/import.scm (importers): Add cpan.
	* doc/guix.texi (Requirements): Mention `guix import cpan` as a user
	  of guile-json.
	  (Invoking guix import): Document new `guix import cpan` command.

	tests: import: Factorize utility function.
	* tests/pypi.scm (mock): Move this...
	* guix/tests.scm: to here.

	import: Factorize utility functions.
	* guix/import/pypi.scm (hash-table->alist, flatten, assoc-ref*,
	  url-fetch, json-fetch): Pull procedures from here into...
	* guix/import/utils.scm: Here and...
	* guix/import/json.scm: Here.  New file.
	* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add it.
	* guix/import/gnu.scm (file-sha256): Move from here to...
	* guix/hash.scm: Here.
	* tests/pypi.scm (pypi->guix-package): Update mock module reference.

	import: gnu: Propagate the key-download argument.
	* guix/import/gnu.scm (gnu->guix-package): Pass the key-download
	  argument on to gnu-package->sexp.

2015-01-09  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: poppler: build with openjpeg and lcms
	* gnu/packages/pdf.scm (poppler): build poppler with openjpeg 1.5 and lcms.

	gnu: openjpeg: Update to 2.0.1.
	* gnu/packages/image.scm (openjpeg): Update to 2.0.1.

	gnu: Add openjpeg-1.
	* gnu/packages/image.scm (openjpeg-1): New variable.

	gnu: openjpeg: update home page URL.
	* gnu/packages/image.scm (openjpeg)[home-page]: Update URL.

2015-01-09  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Micro-optimize 'narinfo-sha256'.
	* guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp):
	  Change "~a" to "~s" in error message.
	  (%signature-line-rx): Remove.
	  (narinfo-sha256): Use 'string-contains' instead of 'regexp-exec', and
	  'string-take' instead of 'match:substring'.

	records: Optimize 'recutils->alist' by avoiding regexps.
	* guix/records.scm (%recutils-field-rx, %recutils-comment-rx,
	  %recutils-plus-rx): Remove.
	  (%recutils-field-charset): New variable.
	  (recutils->alist): Adjust to use tests (string-ref line 0) instead of
	  regexps.

	base64: Inline arithmetic operations.
	* guix/base64.scm (define-alias): New macro.
	  (fxbit-field, fxarithmetic-shift, fxarithmetic-shift-left, fxand,
	  fxior, fxxor): New aliases.

2015-01-08  Mark H Weaver  <mhw@netris.org>

	gnu: Add bootstrap binaries for 'armhf-linux'.
	* gnu/packages/bootstrap/armhf-linux/bash,
	  gnu/packages/bootstrap/armhf-linux/mkdir,
	  gnu/packages/bootstrap/armhf-linux/tar,
	  gnu/packages/bootstrap/armhf-linux/xz: New files.

	* gnu-system.am (bootstrap_armhf_linuxdir, dist_bootstrap_armhf_linux_DATA)
	  (nodist_bootstrap_armhf_linux_DATA): New variables.
	  (DISTCLEANFILES): Add $(nodist_bootstrap_armhf_linux_DATA).
	  (gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz): New target.
	* build-aux/download.scm (file-name->uri): Use newer date in URI for
	  armhf-linux.
	* gnu/packages/bootstrap.scm (raw-build): Use "guile-2.0.11.tar.xz" on
	  armhf-linux.
	  (glibc-dynamic-linker, %bootstrap-coreutils&co, %bootstrap-binutils)
	  (%bootstrap-glibc, %bootstrap-gcc): Add armhf-linux cases.

	* m4/guix.m4 (GUIX_SYSTEM_TYPE): Add armhf case.
	  (GUIX_ASSERT_SUPPORTED_SYSTEM): Add armhf-linux to list of
	  supported systems.
	* doc/guix.texi (GNU Distribution): Add armhf-linux to the list of
	  supported systems.

2015-01-08  Mark H Weaver  <mhw@netris.org>

	gnu: libtool: Skip nopic test on ARM and MIPS systems.
	* gnu/packages/patches/libtool-skip-tests.patch: Skip nopic test on ARM and
	  MIPS systems.

2015-01-07  Ludovic Courtès  <ludo@gnu.org>

	tests: Add missing copyright line.
	* tests/lint.scm: Add missing copyright line for commit 907c98ac and
	  others.

2015-01-07  Mark H Weaver  <mhw@netris.org>

	gnu: Add toolchain support for 'armhf-linux'.
	Based on preliminary work by John Darrington <john@darrington.wattle.id.au>.

	* gnu/packages/cross-base.scm (xgcc-armhf): New variable.
	* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add armhf case.
	  (gcc-4.7)[pre-configure]: Add gcc/config/*/linux-eabi.h to the list
	  of files in which to patch GLIBC_DYNAMIC_LINKER.
	* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add armhf case.
	* guix/utils.scm (gnu-triplet->nix-system, nix-system->gnu-triplet):
	  Add armhf cases.

2015-01-07  Mark H Weaver  <mhw@netris.org>

	gnu: patchelf: On ARM, apply experimental patch to get it working.
	* gnu/packages/patches/patchelf-rework-for-arm.patch: New file.
	* gnu-system.am: Add it.
	* gnu/packages/elf.scm: Apply patch when the target is ARM.

	gnu: gmp: Apply fixes for armhf.
	* gnu/packages/patches/gmp-arm-asm-nothumb.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/multiprecision.scm (gmp): Add patch.  Include --build triplet
	  in configure args when building natively.
	* gnu/packages/commencement.scm (gcc-final): Use bootstrap guile to
	  build gmp-source.

	gnu: gcc: Use 'gcc-configure-flags-for-triplet' for native compilers too.
	* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Do not export it.
	  (gcc-4.7): Pass the result of 'gcc-configure-flags-for-triplet' to configure
	  for all builds, including native ones.
	* gnu/packages/cross-base.scm (cross-gcc-arguments): Do not add the result of
	  'gcc-configure-flags-for-triplet' here, since it is now included in the
	  configure-flags inherited from gcc-4.8.

	Move 'nix-system->gnu-triplet' to (guix utils) and export it.
	* gnu/packages/commencement.scm (nix-system->gnu-triplet): Move to...
	* guix/utils.scm (nix-system->gnu-triplet): ... here.  Fix docstring typo.

	gnu: gcc-static: Remove -lgcc_s from GNU_USER_TARGET_LIB_SPEC.
	* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'remove-lgcc_s
	  phase.
	* gnu/packages/gcc.scm (gcc-4.7): Add comment.

	gnu: bootstrap: Fix egrep and fgrep after unpacking bootstrap binaries.
	* gnu/packages/bootstrap.scm (%bootstrap-coreutils&co): Add #:snippet argument
	  to 'package-from-tarball' that calls 'patch-shebang' on egrep and fgrep
	  after unpacking.  Test 'fgrep' instead of 'true'.

	gnu: bootstrap: Add support for snippets to 'package-from-tarball'.
	* gnu/packages/bootstrap.scm (package-from-tarball): Add new keyword
	  argument #:snippet.

2015-01-07  Mark H Weaver  <mhw@netris.org>

	gnu: tcl: Pass --mandir to configure.
	This partially reverts 9b1bf33081652210502c6ef34506e27a9bc60f06.
	"gnu: Remove a bunch of now unneeded '--mandir' configure flags."

	* gnu/packages/tcl.scm (tcl)[arguments]: Put back the --mandir configure flag,
	  with a comment explaining why it's still needed.

2015-01-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: Make libtool and libltdl completely separate.
	* gnu/packages/autotools.scm (libtool)[outputs]: Remove.
	  [arguments]: Remove 'if' around arguments.  Add #:configure-flags.
	* gnu/packages/apr.scm (apr)[inputs]: Change libtool to libltdl.
	* gnu/packages/fontutils.scm (libuninameslist)[native-inputs]: Remove
	  "libtool-bin".
	* gnu/packages/global.scm (global): Change libtool to libltdl.
	* gnu/packages/gnunet.scm (libextractor, gnunet): Likewise.
	* gnu/packages/graphviz.scm (graphviz): Likewise.
	* gnu/packages/libcanberra.scm (libcanberra): Likewise.
	* gnu/packages/libevent.scm (libuv)[native-inputs]: Remove "bin" part
	  for libtool.
	* gnu/packages/mail.scm (mailutils): Change libtool to libltdl.
	  (libetpan): Remove "bin" part for libtool.
	* gnu/packages/mp3.scm (libmp3splt): Change libtool to libltdl.
	* gnu/packages/openldap.scm (openldap): Remove "bin" part of libtool.
	  Move it from 'inputs' to 'native-inputs'.
	* gnu/packages/photo.scm (libgphoto2): Change libtool to libltdl.
	* gnu/packages/pulseaudio.scm (pulseaudio): Likewise.
	* gnu/packages/ssh.scm (guile-ssh): Remove "bin" part of libtool.
	* gnu/packages/web.scm (libpsl): Likewise.
	* gnu/packages/weechat.scm (weechat): Move libtool to 'native-inputs'
	  and add libltdl to 'inputs'.

	gnu: libtool: Update to 2.4.4.
	* gnu/packages/patches/libtool-2.4-skip-tests.patch: Rename to...
	* gnu/packages/patches/libtool-skip-tests.patch: ... this.
	* gnu/packages/patches/libtool-skip-tests-for-mips.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.
	* gnu/packages/autotools.scm (libtool): Update to 2.4.4.
	  (libtool-2.4.4): Remove.

	gnu: guile: Depend on 'libltdl' rather than 'libtool'.
	* gnu/packages/guile.scm (guile-1.8, guile-2.0): Replace LIBTOOL with
	  LIBLTDL.

	gnu: libtool: Add libltdl as a separate package.
	* gnu/packages/autotools.scm (libltdl): New variable.

	gnu: libtool: Use 'parallel-job-count' to get the argument for '-j'.
	* gnu/packages/autotools.scm (libtool)[arguments] <check>:
	  Use (parallel-job-count) instead of hand-written code.

2015-01-07  Mark H Weaver  <mhw@netris.org>

	Revert "gnu: gcc: Add '-lgcc_s' only when '-pthread' is given."
	This reverts commit 9097e666d48c9b6c0263dcbe60b5af69ff7689f4.

	This turned out not to be a good strategy.  Some build system, e.g. tcl's, do
	not pass -pthread on GNU/Linux by default, but merely link with -lpthread.
	Also, Ludovic found other cases where libgcc_s is dlopened by libc that have
	nothing to do with pthreads, e.g. to walk the stack.

2015-01-07  Mark H Weaver  <mhw@netris.org>

	gnu: guile: Apply fixes for arm.
	* gnu/packages/patches/guile-arm-fixes.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/guile.scm (guile-2.0): Add patch.

2015-01-07  Mark H Weaver  <mhw@netris.org>

	gnu: gcc: Add '-lgcc_s' only when '-pthread' is given.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* gnu/packages/gcc.scm (gcc-4.7): In our modified GNU_USER_TARGET_LIB_SPEC,
	  add '-lgcc_s' only when '-pthread' is given.

2015-01-07  Mark H Weaver  <mhw@netris.org>

	gnu: gcc: Improve dynamic linker patching code.
	* gnu/packages/gcc.scm (gcc-4.7): Join multi-line definitions of
	  GLIBC_DYNAMIC_LINKER* before attempting substitutions.
	  (gcc-4.9)[arguments]: Remove arguments override.

	gnu: patchelf: Update to 0.8.
	* gnu/packages/elf.scm (patchelf): Update to 0.8.
	* gnu/packages/patches/patchelf-page-size.patch: Adapt to new version.

2015-01-06  Mark H Weaver  <mhw@netris.org>

	gnu: bash: Update to 4.3.33.
	* gnu/packages/bash.scm (%patch-series-4.3): Add patches 31-33.

	gnu: udev: Remove package, now superceded by eudev.
	* gnu/packages/linux.scm (udev): Remove.
	  (eudev): Incorporate fields formerly inherited from udev.

	gnu: lvm2: Switch to eudev from udev.
	* gnu/packages/linux.scm (lvm2)[inputs]: Use eudev, not udev.

	gnu: swig: Build a UTF-8 locale for the tests.
	* gnu/packages/swig.scm (swig)[arguments]: Add 'install-locales' phase.

	gnu: icu4c: Avoid use of 'patchelf'; fix build on ARM systems.
	* gnu/packages/icu4c.scm (icu4c)[inputs]: Remove patchelf.
	  [configure-flags]: Add --enable-rpath.  Add --with-data-packaging=archive
	  on arm systems.
	  [phases]: Remove 'add-lib-to-runpath' phase.

	gnu: gawk: Fix target-system check.
	* gnu/packages/gawk.scm (gawk): Fix target-system check.

	gnu: boost: Fix target-system check.
	* gnu/packages/boost.scm (boost): Fix target-system check.

	gnu: texlive: Fix target-system check.
	* gnu/packages/texlive.scm (texlive)[arguments]: Fix target-system
	  check.

	gnu: gtk+: Include xorg-server in native-inputs on MIPS; enable tests.
	* gnu/packages/gtk.scm (gtk+)[native-inputs]: Unconditionally include
	  xorg-server and enable tests.

	gnu: mit-krb5: Build with default gcc.
	* gnu/packages/mit-krb5.scm (mit-krb5)[native-inputs]: Remove gcc-4.7.

	Merge branch 'master' into core-updates

2015-01-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: automake: Update to 1.15.
	* gnu/packages/autotools.scm (automake): Update to 1.15.

	gnu: git-manpages: Install under $out/share/man, not $out/share.
	* gnu/packages/version-control.scm (git-manpages)[argument]: Install
	  under $out/share/man, not $out/share.

	gnu: Add git-manpages.
	* gnu/packages/version-control.scm (git-manpages): New variable.

	gnu: git: Update to 2.2.1.
	* gnu/packages/version-control.scm (git): Update to 2.2.1.

	gnu: libtool-2.4.4: Disable tests on MIPS.
	* gnu/packages/autotools.scm (libtool-2.4.4)[arguments]: New field.

2015-01-05  宋文武  <iyzsong@gmail.com>

	linux-boot: Make /etc/mtab a symlink to /proc/self/mounts.
	Fixes <http://bugs.gnu.org/19491>.

	* gnu/build/linux-boot.scm (mount-root-file-system): Make /root/etc/mtab
	  a symlink to /proc/self/mounts.
	* gnu/build/file-systems.scm (mount-file-system): Don't update /etc/mtab.
	* guix/build/syscalls.scm (mount, umount): Have #:update-mtab? default to
	  #f.

2015-01-04  Ludovic Courtès  <ludo@gnu.org>

	doc: guix-daemon now automatically creates '…/profiles/per-user'.
	Fixes <http://bugs.gnu.org/19315>.
	Reported by rekado <rekado@elephly.net>.

	* doc/guix.texi (Invoking guix package): Adjust text to new guix-daemon
	  behavior introduced in commit 15ddeff.

2015-01-04  Ludovic Courtès  <ludo@gnu.org>

	build: Check for <tr1/unordered_set>, now used by the daemon.
	* config-daemon.ac: Check for <tr1/unordered_set>.

	Merge commit a1dd396cc02922372314c35c8035a38bfeea08df of branch 'nix'.

	pk-crypto: Improve docstring of signature-related procedures.
	* guix/pk-crypto.scm (bytevector->hash-data, sign): Augment docstring.

2015-01-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: Remove a bunch of now unneeded '--mandir' configure flags.
	This has become redundant with the 'validate-documentation-location'
	phase introduced in commit d68fe74.

	* gnu/packages/compression.scm (bzip2): Remove 'fix-man-dir' phase.
	* gnu/packages/ncurses.scm (ncurses)[arguments]: Remove --mandir.
	* gnu/packages/pth.scm (pth)[arguments]: Remove #:configure-flags.
	* gnu/packages/tcl.scm (tcl)[arguments]: Likewise.
	* gnu/packages/xiph.scm (flac)[arguments]: Likewise.

2015-01-04  Ludovic Courtès  <ludo@gnu.org>

	ld-wrapper: Add '-rpath' flag for libraries passed by file name.
	Discussed at
	<http://lists.gnu.org/archive/html/guix-devel/2015-01/msg00028.html>.

	* gnu/packages/ld-wrapper.scm (switch-arguments, library-path): Remove.
	  (library-files-linked): Rewrite to include the name of libraries
	  passed by file names, and to honor the current -L search path instead
	  of the final one.
	  (rpath-arguments): Remove 'lib-path' parameter.  Expect LIBRARY-FILES
	  to be a list of absolute file names.
	  (ld-wrapper): Adjust accordingly.

2015-01-04  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Use executables from the target inputs in 'patch-shebangs'.
	Fixes <http://bugs.gnu.org/18895>.

	* guix/build/gnu-build-system.scm (patch-shebangs): Add #:inputs
	  parameter.  Remove 'bindirs'.  Add 'bin-directories',
	  'output-bindirs', and 'input-bindirs'.  Use them instead of (getenv
	  "PATH") to as the argument to 'patch-shebang'.

2015-01-04  Mark H Weaver  <mhw@netris.org>

	gnu: gcc-4.9: Fix build on MIPS.
	* gnu/packages/gcc.scm (gcc-4.9): Add 'join-two-line-dynamic-linker-defns
	  phase.

2015-01-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: Search for patches under $GUIX_PACKAGE_PATH.
	Fixes <http://bugs.gnu.org/19364>.
	Reported by Tomáš Čech <sleep_walker@suse.cz>
	and Mark H Weaver <mhw@netris.org>.

	* gnu/packages.scm (%patch-path): Move after definition of
	  %package-module-path'.  Append "/gnu/packages/patches" only to
	  %DISTRO-ROOT-DIRECTORY.
	* tests/guix-package.sh: Add 'emacs-foo-bar-patched' test.

2015-01-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: libtool: Add 2.4.4.
	* gnu/packages/patches/libtool-2.4-skip-tests.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/autotools.scm (libtool-2.4.4): New variable.

	guix package: Follow symlinks for pattern search paths.
	* guix/scripts/package.scm (search-path-environment-variables): Add
	  local 'files' variable.
	* tests/packages.scm ("--search-paths with pattern"): New test.

2015-01-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: libxml2: Wrap search path specification in a list.
	Reported by Mark H Weaver.

	* gnu/packages/xml.scm (libxml2)[native-search-paths]: Wrap into a list.

2015-01-02  David Thompson  <dthompson2@worcester.edu>

	gnu: minetest: Update to 0.4.11.
	* gnu/packages/patches/minetest-subgame-env-var.patch: Delete.
	* gnu-system.am (dist_patch_DATA): Remove patch.
	* gnu/packages/games.scm (minetest, minetest-data): Update to 0.4.11.

2015-01-02  宋文武  <iyzsong@gmail.com>

	gnu: icon-naming-utils: Wrap with PERL5LIB to find XML::Simple.
	Fixes <http://bugs.gnu.org/19367>.

	* gnu/packages/gnome.scm (icon-naming-utils)[arguments]: New field.

2015-01-02  宋文武  <iyzsong@gmail.com>

	gnu: perl-xml-simple: Propagate XML::Parser.
	* gnu/packages/xml.scm (perl-xml-simple): Move XML::Parser from 'inputs'
	  to 'propagated-inputs'.

2015-01-01  Mark H Weaver  <mhw@netris.org>

	gnu: mesa: Fix build on non-intel systems.
	* gnu/packages/gl.scm (mesa): On non-intel systems, pass
	  "--with-dri-drivers=" configure flag with i915 and i965 removed.

	gnu: libdrm: Remove old version 2.4.33.
	* gnu/packages/xdisorg.scm (libdrm-2.4.33): Remove, as it is no longer needed.

2014-12-31  Mark H Weaver  <mhw@netris.org>

	gnu: glibc: MIPS: Avoid a dangling `vfork@GLIBC_2.0' reference.
	* gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/base.scm (glibc): Add patch.

2014-12-30  Mark H Weaver  <mhw@netris.org>

	gnu: mutt: Add fix for CVE-2014-9116.
	* gnu/packages/patches/mutt-CVE-2014-9116.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/mail.scm (mutt): Add patch.

2014-12-30  Mark H Weaver  <mhw@netris.org>

	gnu: Import (gnu packages) into (gnu packages zip).
	Should have been included in: e5da2f38c3ca8d4626c1b87e045d00d28c1bf4d0.

	* gnu/packages/zip.scm: Import (gnu packages).

2014-12-30  Mark H Weaver  <mhw@netris.org>

	gnu: unzip: Add fixes for CVE-2014-{8139,8140,8141}.
	* gnu/packages/patches/unzip-CVE-2014-8139.patch,
	  gnu/packages/patches/unzip-CVE-2014-8140.patch,
	  gnu/packages/patches/unzip-CVE-2014-8141.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/zip.scm (unzip): Add patches.

	gnu: cpio: Add fixes for CVE-2014-9112.
	* gnu/packages/patches/cpio-CVE-2014-9112-pt1.patch,
	  gnu/packages/patches/cpio-CVE-2014-9112-pt2.patch,
	  gnu/packages/patches/cpio-CVE-2014-9112-pt3.patch,
	  gnu/packages/patches/cpio-CVE-2014-9112-pt4.patch,
	  gnu/packages/patches/cpio-CVE-2014-9112-pt5.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/cpio.scm (cpio): Add patches.  Add 'autoconf' to
	  native-inputs.

	gnu: glibc: Add fixes for CVE-2014-7817 and CVE-2012-3406.
	* gnu/packages/patches/glibc-CVE-2012-3406.patch,
	  gnu/packages/patches/glibc-CVE-2014-7817.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/base.scm (glibc): Add patches.

	Merge branch 'master' into core-updates

2014-12-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: Revert use of '--strip-all'.
	This reverts commits f05bdc9412135f34a1c417edc203c35cd005d0d5
	and 856ae5e6c71a1283a414d33e638051f95d3cce35.

	This broke all sorts of things.  See <http://hydra.gnu.org/eval/102058>,
	for example.

2014-12-29  Ludovic Courtès  <ludo@gnu.org>

	list-packages: Expand 'mirror://' URIs for patches.
	* build-aux/list-packages.scm (package->sxml)[patches](patch-url): Use
	  'maybe-expand-mirrors' to get the real URL.

	download: Export 'maybe-expand-mirrors'.
	* guix/build/download.scm (uri-vicinity, maybe-expand-mirrors): New
	  procedures.
	  (url-fetch): Remove them from here.

	tests: Make the 'lint' tests slightly more concise.
	* tests/lint.scm (with-warnings): New macro.
	  Replace all uses of 'call-with-warnings' with the corresponding
	  'with-warnings' form.

	tests: Factorize the 'dummy-package' macro.
	* guix/tests.scm (dummy-package): New macro.
	* tests/lint.scm (dummy-package): Remove.
	* tests/packages.scm (dummy-package): Remove.

2014-12-29  Ludovic Courtès  <ludo@gnu.org>

	lint: Add tests for the 'home-page' checker.
	Suggested by Cyril Roelandt <tipecaml@gmail.com>.

	* tests/lint.scm (%http-server-port, %http-server-socket, %local-url,
	  stub-http-server): New variables.
	  (http-write, call-with-http-server): New procedures.
	  (with-http-server): New macro.
	  ("home-page: wrong home-page", "home-page: invalid URI", "home-page:
	  host not found", "home-page: Connection refused", "home-page: 200",
	  "home-page: 404"): New tests.
	* guix/scripts/lint.scm (check-home-page): Export.

2014-12-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: Fix misuses of 'x11-style' licenses.
	* gnu/packages/xorg.scm (libevdev)[license]: Actually call
	  'license:x11-style'.
	  (libxshmfence): Likewise.

2014-12-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: Don't use --strip-all in cases where this is problematic.
	This is a followup to 856ae5e.  See <http://hydra.gnu.org/build/180506>
	for an example of build failure.

	* guix/build/gnu-build-system.scm (strip): Add #:archive-strip-flags
	  parameter.  Use it when (ar-file? path).
	* guix/build-system/gnu.scm (gnu-build): Add #:archive-strip-flags
	  parameter and pass it down.
	* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Add
	  #:strip-flags.
	* gnu/packages/base.scm (glibc)[arguments]: Likewise.

2014-12-28  Ludovic Courtès  <ludo@gnu.org>

	lint: Report on the package being checked.
	* guix/scripts/lint.scm (run-checkers): Check
	  whether (current-error-port) is a tty, and print the package being
	  checked and the checker currently running when it is.

	gnu: Fix or update a number of 'home-page' fields.
	* gnu/packages/fltk.scm (fltk): Fix 'home-page'.
	* gnu/packages/fonts.scm (font-bitstream-vera): Likewise, and fix
	  license URL.
	* gnu/packages/games.scm (gnubg, cmatrix, chess): Fix 'home-page'.
	* gnu/packages/kde.scm (attica): Likewise.
	* gnu/packages/mail.scm (fetchmail): Likewise.
	* gnu/packages/popt.scm (popt): Likewise.
	* gnu/packages/python.scm (python-mock): Likewise.
	* gnu/packages/stalonetray.scm (stalonetray): Likewise.

	lint: Add 'home-page' checker.
	* guix/build/download.scm (open-connection-for-uri): Export.
	* guix/scripts/lint.scm (probe-uri, check-home-page): New procedures.
	  (%checkers): Add 'home-page' checker.

2014-12-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: libxml2: Add search path specification.
	* gnu/packages/xml.scm (libxml2)[native-search-paths, search-paths]: New
	  fields.
	* gnu/packages/gnome.scm (gnome-doc-utils)[arguments]: Remove.
	* gnu/packages/gps.scm (gpscorrelate)[arguments]: Remove settings for
	  'XML_CATALOG_FILES' from 'configure' phase.
	* gnu/packages/web.scm (tinyproxy)[arguments]: Likewise.

2014-12-27  Ludovic Courtès  <ludo@gnu.org>

	guix package: Use 'search-path-as-list' instead of custom code.
	This will handle the new 'file-type' and 'file-pattern' fields correctly.

	* guix/scripts/package.scm (search-path-environment-variables)[search-path-definition]:
	  Rewrite in terms of 'search-path-as-list'.

2014-12-27  Ludovic Courtès  <ludo@gnu.org>

	utils: Export 'search-path-as-list'.
	* guix/build/utils.scm (search-path-as-list): Make public.
	* guix/scripts/environment.scm (for-each-search-path): Use it.

	packages: Add 'file-pattern' field to 'search-path-specification'.
	* guix/packages.scm (<search-path-specification>)[file-pattern]: New
	  field.
	  (search-path-specification->sexp): Honor it.

	build-support/gnu: Add support for file patterns in search paths.
	* guix/build/utils.scm (search-path-as-list): Add #:pattern parameter
	  and honor it.
	  (set-path-environment-variable): Likewise, and pass it to
	  'search-path-as-list'.
	* guix/packages.scm (search-path-specification->sexp): Add PATTERN slot.
	* guix/build/gnu-build-system.scm (set-paths): Adjust accordingly.

2014-12-27  Ludovic Courtès  <ludo@gnu.org>

	packages: Add 'file-type' field to 'search-path-specification'.
	Fixes <http://bugs.gnu.org/18033>.

	* guix/packages.scm (<search-path-specification>): Rename 'directories'
	  field to 'files'.  Add 'file-type'.
	  (search-path-specification->sexp): Honor 'file-type'.
	* gnu/packages/autotools.scm, gnu/packages/bootstrap.scm,
	  gnu/packages/cross-base.scm, gnu/packages/games.scm,
	  gnu/packages/gcc.scm, gnu/packages/glib.scm,
	  gnu/packages/guile.scm, gnu/packages/man.scm,
	  gnu/packages/perl.scm, gnu/packages/pkg-config.scm,
	  gnu/packages/python.scm, gnu/packages/ruby.scm,
	  gnu/packages/xfce.scm: Change 'directories' to 'files'.
	* tests/packages.scm ("search paths"): Change 'directories' field to
	  'files'.
	* guix/scripts/environment.scm (for-each-search-path): Likewise.

2014-12-27  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Strip with '--strip-all' instead of '--strip-debug'.
	This saves 19% on the 'bin' directory of Coreutils, and certainly
	helpful for things like Git's 'libexec' directory.

	* guix/build-system/gnu.scm (gnu-build): Change default value for
	  #:strip-flags to '("--strip-all").
	* guix/build/gnu-build-system.scm (strip): Ditto.
	* gnu/packages/linux.scm (linux-libre)[arguments]: Add #:strip-flags.

2014-12-27  Mark H Weaver  <mhw@netris.org>

	Merge branch 'xorg-updates'

	gnu: vtk: Fix build with mesa-10.
	* gnu/packages/patches/vtk-mesa-10.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/vtk.scm (vtk): Add patch.  Add glu to inputs.

	gnu: gmsh: Add glu to inputs.
	* gnu/packages/maths.scm (gmsh): Add glu to inputs.

	gnu: Use patch --force instead of --batch.
	* gnu/packages/linux.scm (linux-libre, net-tools): Pass "--force" to patch,
	  instead of "--batch".
	* gnu/packages/mit-krb5.scm (mit-krb5): Ditto.

2014-12-27  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add support for non-directory search paths.
	Partly fixes <http://bugs.gnu.org/18033>.

	* guix/build/utils.scm (search-path-as-list): Rename 'sub-directories'
	  parameter to 'files'.  Add #:type parameter and honor it.
	  (set-path-environment-variable): Likewise.  Pass #:type to
	  'search-path-as-list'.
	* guix/packages.scm (search-path-specification->sexp): Add 'directory as
	  the last item of the tuple.
	* guix/build/gnu-build-system.scm (set-paths): Add 'type' to search-path
	  pattern.  Pass #:type to 'set-path-environment-variable'.

2014-12-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: gettext: Update to 0.19.4.
	* gnu/packages/gettext.scm (gnu-gettext): Update to 0.19.4.

	gnu: binutils: Update to 2.25.
	* gnu/packages/base.scm (binutils): Update to 2.25.

2014-12-27  Mark H Weaver  <mhw@netris.org>

	gnu: m4: Remove already-applied patch.
	* gnu/packages/patches/m4-readlink-EINVAL.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/m4.scm (m4): Remove patch.

2014-12-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc-4.8: Update to 4.8.4.
	* gnu/packages/gcc.scm (gcc-4.8): Update to 4.8.4.  Remove patch.
	* gnu/packages/patches/gcc-fix-pr61801.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

2014-12-26  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

2014-12-26  Ludovic Courtès  <ludo@gnu.org>

	packages: Apply patches with "patch --force".
	Fixes <http://bugs.gnu.org/19402>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/packages.scm (patch-and-repack): Change "--batch" to "--force".

2014-12-26  Ludovic Courtès  <ludo@gnu.org>

	nls: Add French translation for packages.

2014-12-26  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

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

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

2014-12-26  Mark H Weaver  <mhw@netris.org>

	gnu: irrlicht: Fix build with mesa-10.
	* gnu/packages/patches/irrlicht-mesa-10.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/games.scm (irrlicht): Add patch.  Add glu to inputs.

	Merge branch 'master' into xorg-updates

	gnu: qemu: Update to 2.2.0.
	* gnu/packages/qemu.scm (qemu): Update to 2.2.0.

	gnu: pingus: Add glu to inputs.
	* gnu/packages/games.scm (pingus): Add glu to inputs.

	gnu: gnubik: Add glu to inputs.
	* gnu/packages/games.scm (gnubik): Add glu to inputs.

	gnu: gnubg: Add glu to inputs.
	* gnu/packages/games.scm (gnubg): Add glu to inputs.

	gnu: sdl: Fix incompatibility with libx11-1.6.
	* gnu/packages/patches/sdl-libx11-1.6.patch: New file
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/sdl.scm (sdl): Add patch.

	gnu: gtkglext: Add glu to inputs.
	* gnu/packages/gnome.scm (gtkglext): Add glu to inputs.

2014-12-25  Mark H Weaver  <mhw@netris.org>

	gnu: ntp: Update to 4.2.8.
	* gnu/packages/ntp.scm (ntp): Update to 4.2.8.  Add openssl to inputs.
	  Add pkg-config to native-inputs.  Change source URI to archive.ntp.org.

	gnu: ntp: Update to 4.2.8.
	* gnu/packages/ntp.scm (ntp): Update to 4.2.8.  Add openssl to inputs.
	  Add pkg-config to native-inputs.  Change source URI to archive.ntp.org.

2014-12-24  Mark H Weaver  <mhw@netris.org>

	Merge branch 'master' into xorg-updates

2014-12-23  Ludovic Courtès  <ludo@gnu.org>

	Revert "gnu: matplotlib: Comment out python2-matplotlib."
	This reverts commit afc720d34c43a2fcf0b5871226c15ad6c5f73697.

2014-12-23  Ludovic Courtès  <ludo@gnu.org>

	build-system/python: Fix 'package-with-explicit-python'.
	Reported by Federico Beffa <beffa@ieee.org>
	and Eric Bavier <ericbavier@gmail.com>.

	* guix/build-system/python.scm (package-with-explicit-python): Do
	  nothing when P's build system is not PYTHON-BUILD-SYSTEM.

2014-12-23  Federico Beffa  <beffa@fbengineering.ch>

	gnu: matplotlib: Comment out python2-matplotlib.
	* gnu/packages/python.scm (python2-matplotlib, python2-scipy, python2-numpy):
	  Comment out python2-matplotlib and the packages making use of it as the
	  generation of the derivation of these packages takes very long.

2014-12-22  Mark H Weaver  <mhw@netris.org>

	Optimize package-transitive-supported-systems.
	* guix/packages.scm (first-value): Remove.
	  (define-memoized/v): New macro.
	  (package-transitive-supported-systems): Rewrite.

2014-12-21  Ludovic Courtès  <ludo@gnu.org>

	packages: Sort Scheme file lists used by 'fold-packages'.
	* gnu/packages.scm (scheme-files): Call 'sort' on result.

2014-12-20  Mark H Weaver  <mhw@netris.org>

	Merge branch 'master' into xorg-updates

	Really remove the 'nix-upstream' submodule.
	* nix-upstream: Remove subproject.

2014-12-20  宋文武  <iyzsong@gmail.com>

	gnu: Add xfce4-terminal.
	* gnu/packages/xfce.scm (xfce4-terminal): New variable.

	gnu: Add vte.
	* gnu/packages/gnome.scm (vte, vte/gtk+-2): New variables.

2014-12-20  Mark H Weaver  <mhw@netris.org>

	gnu: Consistently use modular xorg source URIs in xorg.scm.
	* gnu/packages/xorg.scm (bigreqsproto, compositeproto, damageproto)
	  (dmxproto, encodings, font-adobe100dpi, font-adobe75dpi, font-alias)
	  (font-arabic-misc, font-cronyx-cyrillic, font-dec-misc, font-isas-misc)
	  (font-micro-misc, font-misc-cyrillic, font-misc-ethiopic, font-misc-misc)
	  (font-mutt-misc, font-schumacher-misc, font-screen-cyrillic, font-sony-misc)
	  (font-sun-misc, font-util, font-winitzki-cyrillic, font-xfree86-type1)
	  (libpthread-stubs, libwindowswm, libxdmcp, libxkbfile, libxscrnsaver)
	  (luit, recordproto, renderproto, resourceproto, scrnsaverproto, setxkbmap)
	  (smproxy, windowswmproto, x11perf, xcb-proto, xcmiscproto, xcmsdb, xdriinfo)
	  (xf86-input-void, xf86-video-newport, xf86bigfontproto, xf86dgaproto)
	  (xf86driproto, xf86vidmodeproto, xgamma, xineramaproto, xkbevd, xlsatoms)
	  (xorg-sgml-doctools, xpr, xwud, fixesproto, mkfontdir, libxcb, xcb-util)
	  (xcb-util-image, xcb-util-keysyms, xcb-util-renderutil, kbproto, xbitmaps):
	  Use source URIs with prefix mirror://xorg/individual/ for consistency.
	  (dri3proto, presentproto, printproto): Remove comments about them not
	  being part of X11R7.7.

2014-12-20  Mark H Weaver  <mhw@netris.org>

	gnu: xorg-server: Update to 1.16.2.901, with many security fixes.
	Includes fixes for CVE-2014-8091, CVE-2014-8092, CVE-2014-8093, CVE-2014-8094,
	CVE-2014-8095, CVE-2014-8096, CVE-2014-8097, CVE-2014-8098, CVE-2014-8099,
	CVE-2014-8100, CVE-2014-8101, CVE-2014-8102, and CVE-2014-8103.

	See <http://www.x.org/wiki/Development/Security/Advisory-2014-12-09/>

	* gnu/packages/xorg.scm (xorg-server): Update to 1.16.2.901.  Move mesa,
	  resourceproto, scrnsaverproto, and xf86driproto from inputs to
	  propagated-inputs.  Add dri3proto and presentproto to propagated-inputs.
	  Add eudev and libxshmfence to inputs.  Add a 'pre-configure' phase instead
	  of modifying the 'configure' phase.  Adapt substitution that avoids trying
	  to 'mkdir /var' to build system changes.

	* gnu/services/xorg.scm (xserver.conf): Add xf86-input-evdev ModulePath line.

2014-12-20  Mark H Weaver  <mhw@netris.org>

	gnu: xf86-video-voodoo: Update to 1.2.5.
	* gnu/packages/xorg.scm (xf86-video-voodoo): Update to 1.2.5.

	gnu: xf86-video-vmware: Update to 13.0.2.
	* gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-vmware): Update to 13.0.2.
	  Add patch.  Add mesa to inputs.

	gnu: xf86-video-vesa: Update to 2.3.3.
	* gnu/packages/xorg.scm (xf86-video-vesa): Update to 2.3.3.

	gnu: xf86-video-trident: Update to 1.3.6.
	* gnu/packages/patches/xf86-video-trident-remove-mibstore.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-trident): Update to 1.3.6.  Add patch.

	gnu: xf86-video-tga: Update to 1.2.2.
	* gnu/packages/patches/xf86-video-tga-remove-mibstore.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-tga): Update to 1.2.2.  Add patch.

	gnu: xf86-video-tdfx: Update to 1.4.5.
	* gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-tdfx): Update to 1.4.5.  Add patch.

	gnu: xf86-video-sunffb: Update to 1.2.2.
	* gnu/packages/xorg.scm (xf86-video-sunffb): Update to 1.2.2.

	gnu: xf86-video-suncg6: Update to 1.1.2.
	* gnu/packages/xorg.scm (xf86-video-suncg6): Update to 1.1.2.

	gnu: xf86-video-modesetting: Now uses the same libdrm as mesa.
	* gnu/packages/xorg.scm (xf86-video-modesetting): Remove a comment stating
	  that the libdrm used in this driver is incompatible with the one in mesa,
	  because it is no longer true.
	* gnu/services/xorg.scm (xserver.conf): Uncomment 'xf86-video-modesetting'
	  ModulePath and remove associated comment.

	gnu: xf86-video-sis: Update to 0.10.7.
	* gnu/packages/patches/xf86-video-sis-update-api.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-sis): Update to 0.10.7.  Add patch.

	gnu: xf86-video-siliconmotion: Update to 1.7.7.
	* gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch:
	  New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-siliconmotion): Update to 1.7.7.
	  Add patch.

	gnu: xf86-video-savage: Update to 2.3.7.
	* gnu/packages/xorg.scm (xf86-video-savage): Update to 2.3.7.

	gnu: xf86-video-r128: Update to 6.9.2.
	* gnu/packages/patches/xf86-video-r128-glibc-2.20.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-r128): Update to 6.9.2.  Add patch.

	gnu: xf86-video-openchrome: Update to 0.3.3.
	* gnu/packages/patches/xf86-video-openchrome-includes.patch: Remove.
	* gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it and remove the other.
	* gnu/packages/xorg.scm (xf86-video-openchrome): Update to 0.3.3.
	  Add one patch and remove the other.

	gnu: xf86-video-nv: Update to 2.1.20.
	* gnu/packages/patches/xf86-video-nv-remove-mibstore.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-nv): Update to 2.1.20.  Add patch.

	gnu: xf86-video-neomagic: Update to 1.2.8.
	* gnu/packages/xorg.scm (xf86-video-neomagic): Update to 1.2.8.

	gnu: xf86-video-mga: Update to 1.6.3.
	* gnu/packages/patches/xf86-video-mga-glibc-2.20.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-mga): Update to 1.6.3.  Add patch.

	gnu: xf86-video-mach64: Update to 6.9.4.
	* gnu/packages/patches/xf86-video-mach64-glibc-2.20.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-mach64): Update to 6.9.4.  Add patch.

	gnu: xf86-video-intel: Update to 2.21.15.
	* gnu/packages/patches/xf86-video-intel-compat-api.patch,
	  gnu/packages/patches/xf86-video-intel-glibc-2.20.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/xorg.scm (xf86-video-intel): Update to 2.21.15.
	  Add patches.  Add eudev to inputs.

	gnu: xf86-video-i128: Update to 1.3.6.
	* gnu/packages/patches/xf86-video-i128-remove-mibstore.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-i128): Update to 1.3.6.  Add patch.

	gnu: xf86-video-glint: Update to 1.2.8.
	* gnu/packages/patches/xf86-video-glint-remove-mibstore.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-glint): Update to 1.2.8.  Add patch.

	gnu: xf86-video-ast: Add patch needed for upcoming xorg-server update.
	* gnu/packages/patches/xf86-video-ast-remove-mibstore.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-ast): Add patch.
	  Use modular xorg source URI.

	gnu: Resurrect xf86-video-geode and update to 2.11.16.
	* gnu/packages/patches/xf86-video-geode-glibc-2.20.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-geode): Uncomment it.  Update
	  to 2.11.16.  Add patch.

	gnu: xf86-video-fbdev: Update to 0.4.4.
	* gnu/packages/xorg.scm (xf86-video-fbdev): Update to 0.4.4.

	gnu: xf86-video-cirrus: Update to 1.5.2.
	* gnu/packages/xorg.scm (xf86-video-cirrus): Update to 1.5.2.

	gnu: xf86-video-ati: Update to 7.5.0.
	* gnu/packages/xorg.scm (xf86-video-ati): Update to 7.5.0.
	  Add "--disable-glamor" configure flag.

	gnu: xf86-video-ark: Update to 0.7.5.
	* gnu/packages/patches/xf86-video-ark-remove-mibstore.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-video-ark): Update to 0.7.5.  Add patch.

	gnu: xf86-input-synaptics: Update to 1.8.1.
	* gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/xorg.scm (xf86-input-synaptics): Update to 1.8.1.
	  Remove patch.  Add libevdev to inputs.

	gnu: xf86-input-mouse: Update to 1.9.1.
	* gnu/packages/xorg.scm (xf86-input-mouse): Update to 1.9.1.  Add
	  "--with-sdkdir" configure flag.

	gnu: xf86-input-keyboard: Update to 1.8.0.
	* gnu/packages/xorg.scm (xf86-input-keyboard): Update to 1.8.0.

	gnu: xf86-input-joystick: Update to 1.6.2.
	* gnu/packages/xorg.scm (xf86-input-joystick): Update to 1.6.2.

	gnu: xf86-input-evdev: Update to 2.8.4.
	* gnu/packages/xorg.scm (xf86-input-evdev): Update to 2.8.4.
	  Add libevdev to inputs.  Switch to eudev from udev.

	gnu: xwininfo: Update to 1.1.3.
	* gnu/packages/xorg.scm (xwininfo): Update to 1.1.3.

	gnu: xwd: Update to 1.0.6.
	* gnu/packages/xorg.scm (xwd): Update to 1.0.6.  Add libxkbfile to inputs.

	gnu: xvinfo: Update to 1.1.2.
	* gnu/packages/xorg.scm (xvinfo): Update to 1.1.2.

	gnu: xsetroot: Update to 1.1.1.
	* gnu/packages/xorg.scm (xsetroot): Update to 1.1.1.

	gnu: xset: Update to 1.2.3.
	* gnu/packages/xorg.scm (xset): Update to 1.2.3.

	gnu: xrefresh: Update to 1.0.5.
	* gnu/packages/xorg.scm (xrefresh): Update to 1.0.5.

	gnu: xrdb: Update to 1.1.0.
	* gnu/packages/xorg.scm (xrdb): Update to 1.1.0.

	gnu: xrandr: Update to 1.4.3.
	* gnu/packages/xorg.scm (xrandr): Update to 1.4.3.

	gnu: xprop: Update to 1.2.2.
	* gnu/packages/xorg.scm (xprop): Update to 1.2.2.

	gnu: xmodmap: Update to 1.0.8.
	* gnu/packages/xorg.scm (xmodmap): Update to 1.0.8.

	gnu: xlsclients: Update to 1.1.3.
	* gnu/packages/xorg.scm (xlsclients): Update to 1.1.3.

	gnu: xkill: Update to 1.0.4.
	* gnu/packages/xorg.scm (xkill): Update to 1.0.4.

	gnu: xkeyboard-config: Update to 2.13.
	* gnu/packages/xorg.scm (xkeyboard-config): Update to 2.13.

	gnu: xkbutils: Update to 1.0.4.
	* gnu/packages/xorg.scm (xkbutils): Update to 1.0.4.

	gnu: xkbcomp: Update to 1.3.0.
	* gnu/packages/xorg.scm (xkbcomp-intermediate): Update to 1.3.0.

	gnu: xinput: Update to 1.6.1.
	* gnu/packages/xorg.scm (xinput): Update to 1.6.1.  Add libxext to inputs.

	gnu: xhost: Update to 1.0.6.
	* gnu/packages/xorg.scm (xhost): Update to 1.0.6.

	gnu: xcursor-themes: Update to 1.0.4.
	* gnu/packages/xorg.scm (xcursor-themes): Update to 1.0.4.

	gnu: xev: Update to 1.2.1.
	* gnu/packages/xorg.scm (xev): Update to 1.2.1.

	gnu: xdpyinfo: Update to 1.3.1.
	* gnu/packages/xorg.scm (xdpyinfo): Update to 1.3.1.

	gnu: xcursorgen: Update to 1.0.6.
	* gnu/packages/xorg.scm (xcursorgen): Update to 1.0.6.

	gnu: xauth: Update to 1.0.9.
	* gnu/packages/xorg.scm (xauth): Update to 1.0.9.  Disable tests.

	gnu: xbacklight: Update to 1.2.1.
	* gnu/packages/xorg.scm (xbacklight): Update to 1.2.1.  Change inputs
	  to use xcb libraries.

	gnu: sessreg: Update to 1.0.8.
	* gnu/packages/xorg.scm (sessreg): Update to 1.0.8.

	gnu: iceauth: Update to 1.0.6.
	* gnu/packages/xorg.scm (iceauth): Update to 1.0.6.

	gnu: xcb-util-wm: Update to 0.4.1.
	* gnu/packages/xorg.scm (xcb-util-wm): Update to 0.4.1.

	gnu: mkfontscale: Update to 1.1.1.
	* gnu/packages/xorg.scm (mkfontscale): Update to 1.1.1.

	gnu: bdftopcf: Update to 1.0.4.
	* gnu/packages/xorg.scm (bdftopcf): Update to 1.0.4.

	gnu: makedepend: Update to 1.0.5.
	* gnu/packages/xorg.scm (makedepend): Update to 1.0.5.

	gnu: Add libevdev.
	* gnu/packages/xorg.scm (libevdev): New variable.

	gnu: libxaw: Update to 1.0.12.
	* gnu/packages/xorg.scm (libxaw): Update to 1.0.12.

	gnu: libxcursor: Update to 1.1.14.
	* gnu/packages/xorg.scm (libxcursor): Update to 1.1.14.

	gnu: libxxf86dga: Update to 1.1.4.
	* gnu/packages/xorg.scm (libxxf86dga): Update to 1.1.4.

	gnu: libxres: Update to 1.0.7.
	* gnu/packages/xorg.scm (libxres): Update to 1.0.7.

	gnu: libxpm: Update to 3.5.11.
	* gnu/packages/xorg.scm (libxpm): Update to 3.5.11.

	gnu: libxmu: Update to 1.1.2.
	* gnu/packages/xorg.scm (libxmu): Update to 1.1.2.

	gnu: libxt: Update to 1.1.4.
	* gnu/packages/xorg.scm (libxt): Update to 1.1.4.

	gnu: libxft: Update to 2.3.2.
	* gnu/packages/xorg.scm (libxft): Update to 2.3.2.

	gnu: libxcomposite: Update to 0.4.4.
	* gnu/packages/xorg.scm (libxcomposite): Update to 0.4.4.

	gnu: libsm: Update to 1.2.2.
	* gnu/packages/xorg.scm (libsm): Update to 1.2.2.

	gnu: libpciaccess: Update to 1.13.2.
	* gnu/packages/xorg.scm (libpciaccess): Update to 1.13.2.

	gnu: libfs: Update to 1.0.6.
	* gnu/packages/xorg.scm (libfs): Update to 1.0.6.

	gnu: libdmx: Update to 1.1.3.
	* gnu/packages/xorg.scm (libdmx): Update to 1.1.3.

	gnu: libxxf86vm: Update to 1.1.3.
	* gnu/packages/xorg.scm (libxxf86vm): Update to 1.1.3.

	gnu: libxvmc: Update to 1.0.8.
	* gnu/packages/xorg.scm (libxvmc): Update to 1.0.8.

	gnu: libxrandr: Update to 1.4.2.
	* gnu/packages/xorg.scm (libxrandr): Update to 1.4.2.

	gnu: libxfont: Update to 1.5.0.
	* gnu/packages/xorg.scm (libxfont): Update to 1.5.0.

	gnu: libfontenc: Update to 1.1.2.
	* gnu/packages/xorg.scm (libfontenc): Update to 1.1.2.

	gnu: libice: Update to 1.0.9.
	* gnu/packages/xorg.scm (libice): Update to 1.0.9.

	gnu: libxv: Update to 1.0.10.
	* gnu/packages/xorg.scm (libxv): Update to 1.0.10.

	gnu: libxtst: Update to 1.2.2.
	* gnu/packages/xorg.scm (libxtst): Update to 1.2.2.

	gnu: libxrender: Update to 0.9.8.
	* gnu/packages/xorg.scm (libxrender): Update to 0.9.8.

	gnu: libxp: Update to 1.0.2.
	* gnu/packages/xorg.scm (libxp): Update to 1.0.2.

	gnu: libxinerama: Update to 1.1.3.
	* gnu/packages/xorg.scm (libxinerama): Update to 1.1.3.

	gnu: libxdamage: Update to 1.1.4.
	* gnu/packages/xorg.scm (libxdamage): Update to 1.1.4.

	gnu: libxi: Update to 1.7.4.
	* gnu/packages/xorg.scm (libxi): Update to 1.7.4.  Add libxfixes
	  to propagated-inputs.

	gnu: libxfixes: Update to 5.0.1.
	* gnu/packages/xorg.scm (libxfixes): Update to 5.0.1.

	gnu: libxext: Update to 1.3.3.
	* gnu/packages/xorg.scm (libxext): Update to 1.3.3.

	gnu: libxau: Update to 1.0.8.
	* gnu/packages/xorg.scm (libxau): Update to 1.0.8.

	gnu: libx11: Update to 1.6.2.
	* gnu/packages/xorg.scm (libx11): Update to 1.6.2.

	gnu: xtrans: Update to 1.3.5.
	* gnu/packages/xorg.scm (xtrans): Update to 1.3.5.

	gnu: randrproto: Update to 1.4.0.
	* gnu/packages/xorg.scm (randrproto): Update to 1.4.0.

	gnu: videoproto: Update to 2.3.2.
	* gnu/packages/xorg.scm (videoproto): Update to 2.3.2.

	gnu: glproto: Update to 1.4.17.
	* gnu/packages/xorg.scm (glproto): Update to 1.4.17.

	gnu: fontsproto: Update to 2.1.3.
	* gnu/packages/xorg.scm (fontsproto): Update to 2.1.3.

	gnu: inputproto: Update to 2.3.1.
	* gnu/packages/xorg.scm (inputproto): Update to 2.3.1.

	gnu: dri2proto: Update to 2.8.
	* gnu/packages/xorg.scm (dri2proto): Update to 2.8.

	gnu: xextproto: Update to 7.3.0.
	* gnu/packages/xorg.scm (xextproto): Update to 7.3.0.

	gnu: xproto: Update to 7.0.26.
	* gnu/packages/xorg.scm (xproto): Update to 7.0.26.

	gnu: util-macros: Update to 1.19.0.
	* gnu/packages/xorg.scm (util-macros): Update to 1.19.0.

	gnu: cairomm: Update to 1.11.2.
	* gnu/packages/gtk.scm (cairomm): Update to 1.11.2.

	gnu: cairo: Update to 1.12.18.
	* gnu/packages/gtk.scm (cairo): Update to 1.12.18.  Add libxdamage
	  to propagated-inputs.

	gnu: pixman: Update to 0.32.6.
	* gnu/packages/xdisorg.scm (pixman): Update to 0.32.6.

	gnu: glibmm: Update to 2.42.0.
	* gnu/packages/glib.scm (glibmm): Update to 2.42.0.  Use 'version-major+minor'
	  to compute source URI.

	gnu: dbus-glib: Update to 0.102.
	* gnu/packages/glib.scm (dbus-glib): Update to 0.102.

	gnu: glib: Update to 2.42.1.
	* gnu/packages/glib.scm (glib): Update to 2.42.1.  Disable a test
	  that requires dbus.

	gnu: dbus: Update to 1.8.12.
	* gnu/packages/glib.scm (dbus): Update to 1.8.12.

	gnu: poppler: Update to 0.28.1.
	* gnu/packages/pdf.scm (poppler): Update to 0.28.1.  Use the .xz source
	  tarball.

	gnu: inkscape: Update to 0.48.5.
	* gnu/packages/patches/inkscape-stray-comma.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/inkscape.scm (inkscape): Update to 0.48.5.  Remove patch. Use
	  the .bz2 source tarball.  Use current libgc.  Add 'fix-test-includes' phase.

	gnu: mesa: Update to 10.4.0.
	* gnu/packages/gl.scm (mesa): Update to 10.4.0.  Use current libdrm.  Add
	  eudev, dri3proto, presentproto, and libxshmfence to inputs.  Add gnu-gettext
	  to native-inputs.  Add --enable-xa configure flag.  Add new phases
	  'add-missing-m4-files' and 'patch-create_test_cases'.

	gnu: libdrm: Update to 2.4.58.
	* gnu/packages/xdisorg.scm (libdrm): Update to 2.4.58.

	gnu: Add libxshmfence.
	* gnu/packages/xorg.scm (libxshmfence): New variable.

2014-12-20  宋文武  <iyzsong@gmail.com>

	services: xorg: Make SLiM sessions configurable.
	* gnu/services/xorg.scm (%default-xsessions): New variable.
	  (xsessions-directory): New procedure.
	  (slim-service): Add #:sessions and #:auto-login-session parameters.
	  [slim.cfg]: Honor #:sessions.
	  (xinitrc): Adjust accordingly.

2014-12-19  Ludovic Courtès  <ludo@gnu.org>

	Remove 'nix-upstream' submodule.
	* nix/sync-with-upstream: Remove.
	* bootstrap: Remove uses of 'git submodule' and 'sync-with-usptream'.
	* .gitmodules: Remove.

	Merge branch 'nix' into 'master'.

2014-12-19  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add bowtie
	* gnu/packages/bioinformatics.scm (bowtie): New variable.

2014-12-19  Ludovic Courtès  <ludo@gnu.org>

	services: static-networking-service: Switch to (guix build syscalls).
	* gnu/services/networking.scm (static-networking-service): Remove
	  #:inetutils parameter.  Rewrite using 'configure-network-interface'
	  and 'set-network-interface-flags'.

	syscalls: Add more procedures for network interfaces.
	* guix/build/syscalls.scm (sizeof*, type-size, write-type, write-types,
	  read-type, read-types, define-c-struct): New macros.
	  (SIOCSIFFLAGS, SIOCGIFADDR, SIOCSIFADDR): New variables.
	  (sockaddr-in, sockaddr-in6): New C structs.
	  (write-socket-address!, read-socket-address,
	  set-network-interface-flags, set-network-interface-address,
	  network-interface-address, configure-network-interface): New
	  procedures.

2014-12-19  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add Clone.
	* gnu/packages/perl.scm (perl-clone): New variable.

2014-12-18  Federico Beffa  <beffa@fbengineering.ch>

	gnu: cairocffi: Move to python module.
	* gnu/packages/gtk.scm, gnu/packages/python.scm (python-cairocffi,
	  python2-cairocffi): Move variables from gtk to python module to avoid
	  circular dependency.

	Reported by Mark H Weaver <mhw@netris.org>

2014-12-18  Federico Beffa  <beffa@fbengineering.ch>

	gnu: matplotlib: Add gtk3 backends and optional dependency.  Adjust inputs.
	* gnu/packages/python.scm (python-matplotlib, python2-matplotlib): Add gtk3
	  backends with the necessary inputs and a 'configure-environment' phase.  Add
	  the optional 'python-pillow' dependency.  Move 'python-pyparsing' from
	  'inputs' to 'propagated-inputs' as it is required at run time.

	gnu: Add cairocffi.
	* gnu/packages/gtk.scm (python-cairocffi, python2-cairocffi): New variables.

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

	build/python-build-system: Fix easy-install.pth collisions.
	* guix/build/python-build-system.scm (rename-pth-file): New rename-pth-file
	  phase and corresponding function.

2014-12-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: icecat: Build with PulseAudio support.
	* gnu/packages/gnuzilla.scm (icecat)[arguments]: Add
	  --enable-pulseaudio.

2014-12-17  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.18.1
	* gnu/packages/linux.scm (linux-libre): Update to version 3.18.1.

2014-12-17  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add Test::Simple.
	* gnu/packages/perl.scm (perl-test-simple): New variable.

	gnu: Add Test::Deep.
	* gnu/packages/perl.scm (perl-test-deep): New variable.

	gnu: Add Test::NoWarnings.
	* gnu/packages/perl.scm (perl-test-nowarnings): New variable.

	gnu: Add Test::Tester.
	* gnu/packages/perl.scm (perl-test-tester): New variable.

2014-12-16  Federico Beffa  <beffa@fbengineering.ch>

	Revert "gnu: python-numpy-bootstrap: Reduce matrix size in failing test."
	This reverts commit 31557440c29f8d93b366422bfec4dab341eff79f as it did not
	provide the desired effect.  The test is still failing.

2014-12-16  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add bedtools
	* gnu/packages/bioinformatics.scm (bedtools): New variable.

2014-12-16  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: tmux: Update to 1.9a.
	* gnu/packages/tmux.scm (tmux): Update to 1.9a

2014-12-16  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: samtools: disable tests for non-64-bit systems
	* gnu/packages/bioinformatics.scm (samtools): disable tests for all non-64-bit
	  systems because of an upstream bug in the test data.

2014-12-16  Mark H Weaver  <mhw@netris.org>

	gnu: groff: Disable parallel builds.
	* gnu/packages/groff.scm (groff): Disable parallel builds.

	gnu: groff: Update to 1.22.3.
	* gnu/packages/groff.scm (groff): Update to 1.22.3.

	gnu: ghostscript: Update to 9.14.0.
	* gnu/packages/ghostscript.scm (ghostscript): Update to 9.14.0.
	  Change license to agpl3+.

	gnu: lcms: Update to 2.6.
	* gnu/packages/ghostscript.scm (lcms): Update to 2.6.

	gnu: icecat: Apply security updates for CVE-2014-{1587,1590,1592,1593,1594}.
	* gnu/packages/patches/icecat-CVE-2014-1587-bug-1042567.patch,
	  gnu/packages/patches/icecat-CVE-2014-1587-bug-1072847.patch,
	  gnu/packages/patches/icecat-CVE-2014-1587-bug-1079729.patch,
	  gnu/packages/patches/icecat-CVE-2014-1587-bug-1080312.patch,
	  gnu/packages/patches/icecat-CVE-2014-1587-bug-1089207.patch,
	  gnu/packages/patches/icecat-CVE-2014-1590.patch,
	  gnu/packages/patches/icecat-CVE-2014-1592.patch,
	  gnu/packages/patches/icecat-CVE-2014-1593.patch,
	  gnu/packages/patches/icecat-CVE-2014-1594.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/gnuzilla.scm (icecat): Add them.

2014-12-15  Ludovic Courtès  <ludo@gnu.org>

	profiles: Fix removal of the next-to-last item in a profile.
	Fixes a bug whereby removing the next-to-last item in a profile would
	lead to an obscure error, as shown at
	<http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>.
	Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

	* guix/profiles.scm (profile-derivation)[inputs]: Use (list info-dir
	  "out") instead of just INFO-DIR.

2014-12-15  Ludovic Courtès  <ludo@gnu.org>

	tests: Use 'test-assertm' for profiles.
	* tests/profiles.scm (test-assertm): New macro.
	  ("profile-derivation"): Use it instead of 'test-assert' +
	  'run-with-store'.

2014-12-15  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: Add bullet.
	* gnu/packages/game-development.scm: New file
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-12-15  宋文武  <iyzsong@gmail.com>

	gnu: Add vala.
	* gnu/packages/gnome.scm (vala): New variable.

2014-12-15  Mark H Weaver  <mhw@netris.org>

	gnu: youtube-dl: Update to 2014.12.15.
	* gnu/packages/video.scm (youtube-dl): Update to 2014.12.15.

	gnu: Add xfce4-battery-plugin.
	* gnu/packages/xfce.scm (xfce4-battery-plugin): New variable.

	gnu: xfce4-panel: Support panel plugins from other packages.
	* gnu/packages/patches/xfce4-panel-plugins.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xfce.scm (xfce4-panel): Add the patch, and a
	  native search path specification for X_XFCE4_LIB_DIRS.

2014-12-14  Federico Beffa  <beffa@fbengineering.ch>

	gnu: python-numpy-bootstrap: Reduce matrix size in failing test.
	* gnu/packages/python.scm (python-numpy-bootstrap): Add phase
	  'fix-failing-tests.

2014-12-14  John Darrington  <jmd@gnu.org>

	gnu: Add xdotool.
	* gnu/packages/xdisorg.scm (xdotool): New variable.

2014-12-14  Ludovic Courtès  <ludo@gnu.org>

	install: Use a low-memory nscd caching policy.
	* gnu/system/install.scm (%nscd-minimal-caches): New variable.
	  (installation-services): Use as 'nscd-service' argument.

2014-12-14  Ludovic Courtès  <ludo@gnu.org>

	services: Make 'nscd-service' configurable; cache hosts/services by default.
	Before that, as it was given an empty configuration file, nscd would
	actually have all its caches disabled.

	* gnu/services/base.scm (<nscd-configuration>, <nscd-cache>): New record
	  types.
	  (%nscd-default-caches, %nscd-default-configuration): New variables.
	  (nscd.conf-file): New procedure.
	  (nscd-service): Add 'config' parameter.  Use 'nscd.conf-file', and
	  pass its result as the '-f' parameter of nscd.
	* doc/guix.texi (Base Services): Update 'nscd-service' documentation
	  accordingly.  Document 'nscd-configuration', 'nscd-cache',
	  '%nscd-default-configuration', and '%nscd-default-caches'.

2014-12-14  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into 'core-updates'.

2014-12-14  Ludovic Courtès  <ludo@gnu.org>

	utils: Change 'wrap-program' to preserve the original argv[0].
	Suggested by Mark H Weaver <mhw@netris.org>
	in <http://bugs.gnu.org/19138>.

	* guix/build/utils.scm (wrap-program): Change wrapper to use "exec -a
	  PROG" instead of just "exec".

2014-12-13  Ludovic Courtès  <ludo@gnu.org>

	nls: Add French translation.

	activation: Copy the account skeletons when creating the 'root' account.
	* gnu/build/activation.scm (%skeleton-directory): New variable.
	  (dot-or-dot-dot?, copy-account-skeletons): New procedure.
	  (add-user): Use 'copy-account-skeletons'.
	  (activate-etc): Use 'dot-or-dot-dot?'.

	system: grub: Make sure the font and background image are always found.
	* gnu/system/grub.scm (eye-candy): Add 'search --file --set'.

2014-12-13  Ludovic Courtès  <ludo@gnu.org>

	system: Adjust 'grub.cfg' to work on systems with a separate /boot.
	Fixes <http://bugs.gnu.org/19220>.
	Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	* gnu/system/grub.scm (grub-configuration-file)[entry->gexp]: Add
	  'search --file --set'.
	  (grub-configuration-file)[builder]: Remove 'search.file'.

2014-12-13  Ludovic Courtès  <ludo@gnu.org>

	vm: Use QEMU's standard VGA emulation by default.
	* gnu/system/vm.scm (common-qemu-options): Add "-vga std".

2014-12-13  Ludovic Courtès  <ludo@gnu.org>

	services: xorg: Run the window manager from a login shell.
	This is a followup to 1d18d87, which fixes <http://bugs.gnu.org/19119>.

	* gnu/services/xorg.scm (xinitrc)[builder]: Add 'exec-from-login-shell'
	  procedure.  Use it instead of 'execl' when launching XSESSION, WMAKER,
	  or RATPOISON.

2014-12-13  Ludovic Courtès  <ludo@gnu.org>

	system: Add sudo to '%base-packages'.
	* gnu/system.scm (%base-packages): Add SUDO.

2014-12-13  Federico Beffa  <beffa@fbengineering.ch>

	gnu: python-numpy-bootstrap: Make tests verbose.
	* gnu/packages/python.scm (python-numpy-bootstrap): Make tests verbose to
	  allow test failure debugging on hydra.

2014-12-13  宋文武  <iyzsong@gmail.com>

	gnu: xfconf: Disable parallel tests.
	* gnu/packages/xfce.scm (xfconf): Add 'arguments' field.

2014-12-13  Ludovic Courtès  <ludo@gnu.org>

	utils: Change 'patch-makefile-SHELL' to support ":=" assignments.
	Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

	* guix/build/utils.scm (patch-makefile-SHELL): Update regexp to match
	  ":=" assignments.

2014-12-13  Ludovic Courtès  <ludo@gnu.org>

	utils: Use 'which' to find the shell in 'patch-makefile-SHELL'.
	* guix/build/utils.scm (patch-makefile-SHELL)[find-shell]: Use 'which'.

2014-12-13  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add samtools
	* gnu/packages/bioinformatics.scm: New file
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it

2014-12-13  Ludovic Courtès  <ludo@gnu.org>

	system: /etc/profile defines 'MANPATH', which includes the global profile.
	* gnu/system.scm (etc-directory)[profile]: Set 'MANPATH'.

2014-12-12  Mark H Weaver  <mhw@netris.org>

	gnu: Add nginx.
	* gnu/packages/web.scm (nginx): New variable.

	gnu: pcre: Update to 8.36 and enable JIT support.
	* gnu/packages/pcre.scm (pcre): Update to 8.36.  Enable JIT support.

2014-12-12  宋文武  <iyzsong@gmail.com>

	gnu: Add xfdesktop.
	* gnu/packages/xfce.scm (xfdesktop): New variable.

	gnu: Add xfwm4.
	* gnu/packages/xfce.scm (xfwm4): New variable.

	gnu: Add thunar-volman.
	* gnu/packages/xfce.scm (thunar-volman): New variable.

	gnu: Add thunar.
	* gnu/packages/xfce.scm (thunar): New variable.

	gnu: Add xfce4-settings.
	* gnu/packages/xfce.scm (xfce4-settings): New variable.

	gnu: Add xfce4-session.
	* gnu/packages/xfce.scm (xfce4-session): New variable.

	gnu: Add xfce4-appfinder.
	* gnu/packages/xfce.scm (xfce4-appfinder): New variable.

	gnu: Add xfce4-panel.
	* gnu/packages/xfce.scm (xfce4-panel): New variable.

	gnu: Add tumbler.
	* gnu/packages/xfce.scm (tumbler): New variable.

	gnu: Add garcon.
	* gnu/packages/xfce.scm (garcon): New variable.

	gnu: Add exo.
	* gnu/packages/xfce.scm (exo): New variable.

	gnu: Add libxfce4ui.
	* gnu/packages/xfce.scm (libxfce4ui): New variable.

	gnu: Add xfconf.
	* gnu/packages/xfce.scm (xfconf): New variable.

	gnu: Add libxfce4util.
	* gnu/packages/xfce.scm (libxfce4util): New variable.

	gnu: Add gtk-xfce-engine.
	* gnu/packages/xfce.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-12-11  Ludovic Courtès  <ludo@gnu.org>

	gnu: freeipmi: Update to 1.4.7.
	* gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.7.

	gnu: wget: Update to 1.16.1.
	* gnu/packages/wget.scm (wget): Update to 1.16.1.

2014-12-11  宋文武  <iyzsong@gmail.com>

	gnu: gdk-pixbuf: Propagate glib and libpng.
	* gnu/packages/gtk.scm (gdk-pixbuf): Move glib and libpng to
	  'propagated-inputs'.

	gnu: libxcomposite: Propagate inputs.
	* gnu/packages/xorg.scm (libxcomposite): Move all existing 'inputs'
	  to 'propagated-inputs'.

2014-12-10  Federico Beffa  <beffa@fbengineering.ch>

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

	Revert "gnu: gobject-introspection: Update to 1.42.0 and add new patch."
	This reverts commit 66717243d0683fa05b5630c2e011f3a486a8d316.  Several
	packages fail to build with the new version.

2014-12-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add BBDB.
	* gnu/packages/emacs.scm (bbdb): New variable.

2014-12-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: emacs: Use 'glib-or-gtk-build-system'.
	Fixes <http://bugs.gnu.org/19138>.
	Reported by Andreas Enge <andreas@enge.fr>.

	* gnu/packages/emacs.scm (emacs)[build-system]: Switch to
	  GLIB-OR-GTK-BUILD-SYSTEM.
	  (emacs-no-x-toolkit): Add 'build-system' field.

2014-12-09  Ludovic Courtès  <ludo@gnu.org>

	build-system/glib-or-gtk: Fix default value of #:glib-or-gtk-wrap-excluded-outputs.
	Fixes <http://bugs.gnu.org/19321>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Change default
	  value of #:glib-or-gtk-wrap-excluded-outputs to ''().

2014-12-09  Alex Kost  <alezost@gmail.com>

	gnu: Move unclutter to (gnu packages xdisorg).
	* gnu/packages/unclutter.scm: Remove.
	  (unclutter) Move to...
	* gnu/packages/xdisorg.scm (unclutter): ... here.  New variable.
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove unclutter file name.

	gnu: Move scrot to (gnu packages xdisorg).
	* gnu/packages/scrot.scm: Remove.
	  (scrot) Move to...
	* gnu/packages/xdisorg.scm (scrot): ... here.  New variable.
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove scrot file name.

	gnu: Add wmctrl.
	* gnu/packages/xdisorg.scm (wmctrl): New variable.
	* gnu/packages/patches/wmctrl-64-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-12-09  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add c-reduce.
	* gnu/packages/debug.scm (c-reduce): New variable.

	gnu: Add llvm and clang.
	* gnu/packages/llvm.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: licenses: Add NCSA license.
	* guix/licenses.scm (ncsa): New variable.

	gnu: Add perl-sys-cpu.
	* gnu/packages/perl.scm (perl-sys-cpu): New variable.

	gnu: Add perl-regexp-common.
	* gnu/packages/perl.scm (perl-regexp-common): New variable.

	gnu: Add perl-getopt-tabular.
	* gnu/packages/perl.scm (perl-getopt-tabular): New variable.

	gnu: Add perl-file-which.
	* gnu/packages/perl.scm (perl-file-which): New variable.

	gnu: Add perl-test-script.
	* gnu/packages/perl.scm (perl-test-script): New variable.

	gnu: Add perl-ipc-run3.
	* gnu/packages/perl.scm (perl-ipc-run3): New variable.

	gnu: Add perl-probe-perl.
	* gnu/packages/perl.scm (perl-probe-perl): New variable.

	gnu: Add perl-exporter-lite.
	* gnu/packages/perl.scm (perl-exporter-lite): New variable.

	gnu: Add perl-benchmark-timer.
	* gnu/packages/perl.scm (perl-benchmark-timer): New variable.

	gnu: Add delta.
	* gnu/packages/debug.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add astyle.
	* gnu/packages/pretty-print.scm (astyle): New variable.

2014-12-09  Federico Beffa  <beffa@fbengineering.ch>

	gnu: gobject-introspection: Define search path for typelib files.
	* gnu/packages/glib.scm (gobject-introspection): Add 'native-search-paths' and
	  'search-paths' fields.

	gnu: gobject-introspection: Update to 1.42.0 and add new patch.
	* gnu/packages/glib.scm (gobject-introspection): Update to version 1.42.0.
	  Add patch 'gobject-introspection-absolute-shlib-path.patch' provided by Luca
	  Bruno <lucabru@src.gnome.org> for Nix.

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

2014-12-09  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: Add slock.
	* gnu/packages/dwm.scm (slock): New variable.

2014-12-09  Ludovic Courtès  <ludo@gnu.org>

	Add Tomáš to 'AUTHORS'.

2014-12-09  Tomáš Čech  <sleep_walker@suse.cz>

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

2014-12-09  宋文武  <iyzsong@gmail.com>

	gnu: libwnck: Propagate inputs.
	* gnu/packages/gnome.scm (libwnck, libwnck-1): Propagate inputs libxres and
	  startup-notification.

	system: Add skeleton '.zlogin'.
	* gnu/system/shadow.scm (default-skeletons): Add .zlogin.

	system: Cleanup bash startup files.
	* gnu/system.scm (etc-directory) (bashrc): Rename to 'profile'.
	* gnu/system/shadow.scm (default-skeletons): Rename '.bashrc' to
	  '.bash_profile'. Don't source /etc/profile.

	gnu: Add libwnck.
	* gnu/packages/gnome.scm (libwnck, libwnck-1): New variables.

	gnu: Add startup-notification.
	* gnu/packages/xdisorg.scm (startup-notification): New variable.

2014-12-09  Ludovic Courtès  <ludo@gnu.org>

	build: Make sure the installed 'config.go' is newer than 'config.scm'.
	Fixes <http://bugs.gnu.org/19317>.
	Reported by rekado <rekado@elephly.net>.

	* gnu-system.am (install-data-hook): Rename to...
	  (set-bootstrap-executable-permissions): ... this.
	* Makefile.am (install-data-hook): New target.

2014-12-09  Ludovic Courtès  <ludo@gnu.org>

	Thank rekado.

2014-12-09  Ludovic Courtès  <ludo@gnu.org>

	doc: Explain how to set the ownership and permissions of /gnu/store.
	Fixes <http://bugs.gnu.org/19316>.
	Reported by rekado <rekado@elephly.net>.

	* doc/guix.texi (Build Environment Setup): Show commands to set the
	  ownership and permissions of /gnu/store.

2014-12-09  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Add missing newline in download progress report.
	Fixes <http://bugs.gnu.org/19313>.
	Reported by rekado <rekado@elephly.net>.

	* guix/scripts/substitute-binary.scm (guix-substitute-binary)
	  <--substitute>: Add 'newline' call.

2014-12-09  Ludovic Courtès  <ludo@gnu.org>

	system: Don't make /boot/grub/grub.cfg a symlink to the store.
	This would not work when /boot is a separate partition, as reported by
	Nikita Karetnikov <nikita@karetnikov.org> in <http://bugs.gnu.org/19220>.
	This fixes a regression introduced in 39d1f82.

	* gnu/build/install.scm (install-grub): Copy GRUB.CFG instead of
	  symlinking it, as was the case before 39d1f82.
	* gnu/build/vm.scm (register-grub.cfg-root): Add 'grub.cfg' parameter.
	  Make it a permanent GC root instead of an indirect GC root.
	  (initialize-hard-disk): Adjust accordingly.
	* guix/scripts/system.scm (install-grub*): Replace use of
	  'add-indirect-root' by the addition of a permanent GC root in
	  %GC-ROOTS-DIRECTORY.

2014-12-08  Ludovic Courtès  <ludo@gnu.org>

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

	linux-initrd: Add the 'virtio_console' module for QEMU guests.
	* gnu/system/linux-initrd.scm (base-initrd)[virtio-modules]: Add
	  "virtio_console".

2014-12-08  Federico Beffa  <beffa@fbengineering.ch>

	build-system/python: Add handling of 'propagated-inputs' in 'package-with-explicit-python'.
	* guix/build-system/python.scm (package-with-explicit-python): Add mapping for
	  'propagated-inputs'.

	gnu: atlas: Remove MIPS from 'supported-systems'.
	* gnu/packages/maths.scm (atlas): Drop support for "mips64el-linux".

2014-12-08  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.18
	* gnu/packages/linux.scm (linux-libre): Update to version 3.18.

2014-12-07  Ludovic Courtès  <ludo@gnu.org>

	system: Add 'man-db' to '%base-packages'.
	Suggested by Tsutsukakushi on #guix.

	* gnu/system.scm (%base-packages): Add MAN-DB.

2014-12-07  Ludovic Courtès  <ludo@gnu.org>

	doc: Give example uses of 'deco'.
	Suggested by Sleep_Walker on #guix.

	* doc/guix.texi (Services): Add 'deco' examples.

2014-12-07  Ludovic Courtès  <ludo@gnu.org>

	nls: Update 'eo' translation.

	gnu: python2-py2cairo: Fix 'license' field.
	* gnu/packages/gtk.scm (python2-py2cairo)[license]: Change to a list of
	  <license> (was a list of symbols.)

2014-12-07  Alex Kost  <alezost@gmail.com>

	gnu: tzdata: Update to 2014j.
	* gnu/packages/base.scm (tzdata): Update to 2014j.

2014-12-07  宋文武  <iyzsong@gmail.com>

	gnu: fish: Use /etc as sysconfdir.
	* gnu/packages/fish.scm (fish) [arguments]: Add #:configure-flags.
	  [origin]: Add snippet.

2014-12-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add libyubikey and ykclient.
	* gnu/packages/yubico.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-12-07  Ludovic Courtès  <ludo@gnu.org>

	guix system: Fix typo affecting 'guix system init'.
	Fixes <http://bugs.gnu.org/19279>.
	Fixes a regression introduced in cc7fa59.
	Reported by Tomas Cech <tcech@suse.cz>.

	* guix/scripts/system.scm (install): Fix order of arguments to 'lift'
	  and 'lift2'.

2014-12-06  nebuli  <nebu@kipple>
	    Ludovic Courtès  <ludo@gnu.org>

	guix: scripts: Parse $GUIX_BUILD_OPTIONS separately.
	Appending to "raw" args broke optional parameters in 'guix package -I'
	and 'guix package -A', and possibly other places.  Therefore, switch to
	parsing each set of options on its own and append resulting alists
	together afterwards.

	* guix/scripts/archive.scm (parse-options-from): Rename from
	  (parse-options) and add explicit argument.  New form of (parse-options)
	  using its old algorithm via -from function.
	* guix/scripts/build.scm: Ditto.
	* guix/scripts/environment.scm: Ditto.
	* guix/scripts/package.scm: Ditto.
	* guix/scripts/system.scm: Ditto.
	* tests/guix-package.sh: Add test.
	* doc/guix.texi (Invoking guix build): Make it clear that the options
	  are parsed independently.

2014-12-06  Ludovic Courtès  <ludo@gnu.org>

	activation: Don't create unneeded "/var/guix/gcroots/etc-directory".
	* gnu/build/activation.scm (activate-etc): Don't create
	  "/var/guix/gcroots/etc-directory".

2014-12-06  宋文武  <iyzsong@gmail.com>

	gnu: fish: Update to 2.1.1.
	* gnu/packages/fish.scm (fish): Update to 2.1.1.

2014-12-04  Ludovic Courtès  <ludo@gnu.org>

	system: Make /boot/grub/grub.cfg an indirect GC root.
	Fixes <http://bugs.gnu.org/19160>.

	* guix/scripts/system.scm (install-grub*): Make /boot/grub/grub.cfg an
	  indirect GC root.
	* gnu/build/install.scm (install-grub): Make TARGET a symlink.
	* gnu/build/vm.scm (register-grub.cfg-root): New procedure.
	  (initialize-hard-disk): Use it.

2014-12-04  Ludovic Courtès  <ludo@gnu.org>

	nls: Update Hungarian translation.

	guix system: Factorize 'grub-install' error handling, and use more 'mbegin'.
	* guix/scripts/system.scm (install-grub*): New procedure.
	  (install): Use it, and use 'mwhen?'.
	  (perform-action) <reconfigure>: Likewise.

2014-12-04  Federico Beffa  <beffa@fbengineering.ch>

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

2014-12-04  宋文武  <iyzsong@gmail.com>

	gnu: Add dmenu.
	* gnu/packages/dwm.scm (dmenu): New variable.

2014-12-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: glib: Update to 2.40.2.
	* gnu/packages/glib.scm (glib): Update to 2.40.2.

2014-12-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: glib: Work around unreliable GIO test.
	Fixes <http://bugs.gnu.org/18445>.

	* gnu/packages/patches/glib-tests-gapplication.patch: New file
	* gnu/packages/glib.scm (glib)[source]: Add it.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-12-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: dbus: Update to 1.8.10.
	* gnu/packages/glib.scm (dbus): Update to 1.8.10.
	  (dbus-1.8.10): Remove.

	nls: Add Hungarian translation.
	* po/packages/hu.po: New file.
	* po/packages/LINGUAS: Add it.

2014-12-03  Alex Kost  <alezost@gmail.com>

	doc: emacs: Fix typo.
	Reported by Ludovic Courtès <ludo@gnu.org>.

	* doc/emacs.texi (Emacs Initial Setup): Replace "inbuilt" with "built-in".

2014-12-03  John Darrington  <jmd@gnu.org>

	gnu: Add tre (including the agrep utility)
	* gnu/packages/tre.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-12-02  Alex Kost  <alezost@gmail.com>

	doc: emacs: Document autoloading Emacs packages.
	* doc/emacs.texi (Emacs Initial Setup): Describe how Emacs packages installed
	  in a user profile are autoloaded by "guix.el"

	gnu: emacs: Add autoloads for Emacs packages.
	* gnu/packages/emacs.scm (geiser): Make "geiser-autoloads.el" by
	  symlinking "geiser-install.el".
	  (emacs-w3m): Make "w3m-autoloads.el" by symlinking "w3m-load.el".
	  (emms): Make "emms-autoloads.el" by symlinking "emms-auto.el".
	  (paredit): Generate "paredit-autoloads.el".
	  (magit): Generate "magit-autoloads.el".
	  (emacs-wget): Generate "wget-autoloads.el".

	build: emacs-utils: Add 'emacs-generate-autoloads'.
	* guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure.

	emacs: Handle autoloading Emacs packages installed with Guix.
	* emacs/guix-emacs.el: New file.
	* emacs.am (ELFILES): Add it.
	* emacs/guix-backend.el (guix-after-repl-operation-hook): Add
	  'guix-emacs-load-autoloads-maybe'.
	* emacs/guix-init.el.in: Autoload emacs packages.
	  (guix-package-enable-at-startup): New variable.

	emacs: Move profiles code to "guix-profiles.el.in".
	* emacs/guix-base.el (guix-user-profile, guix-default-profile,
	  guix-current-profile, guix-profile-prompt, guix-set-current-profile): Move
	  to...
	* emacs/guix-init.el.in (guix-default-profile): Move to...
	* emacs/guix-profiles.el.in: ... here.  New file.
	* configure.ac (AC_CONFIG_FILES): Add "emacs/guix-profiles.el".
	* emacs.am (nodist_lisp_DATA): Likewise.

2014-12-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add more missing (gnu packages xdisorg) import.
	This is a followup to 3c156c8..

	* gnu/packages/qemu.scm, gnu/packages/texlive.scm: Use (gnu packages
	  xdisorg).

2014-12-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add missing (gnu packages xdisorg) import.
	This is a followup to 3c156c8..

	* gnu/packages/gl.scm: Use (gnu packages xdisorg).

2014-12-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add missing uses of (gnu packages xdisorg).
	This is a followup to 3c156c8.

	* gnu/packages/gtk.scm: Use (gnu packages xdisorg).
	* gnu/packages/xorg.scm: Likewise.

2014-12-02  Ludovic Courtès  <ludo@gnu.org>

	packages: Use the target's system Guile when downloading patches.
	* guix/packages.scm (patch-and-repack)[patch-inputs]: Pass SYSTEM in
	  'package-source-derivation' call.

	derivations: Export 'derivation-builder'.
	* guix/derivations.scm: Export 'derivation-builder'.

2014-12-02  Ludovic Courtès  <ludo@gnu.org>

	doc: Adjust misleading 'user-account' example.
	Reported by Sleep_Walker on #guix.

	* doc/guix.texi (Using the Configuration System): Remove numeric UID and
	  GID from example.

2014-12-02  Ludovic Courtès  <ludo@gnu.org>

	monads: Add 'lift0'.
	* guix/monads.scm (lift0): New variable.

	monads: Add 'mwhen' and 'munless'.
	* guix/monads.scm (mbegin): Add special '%current-monad' syntactic
	  keyword.
	  (mwhen, munless): New macros.

	guix system: Use 'mbegin' for 'install'.
	* guix/scripts/system.scm (install): Use 'mbegin'.  Lift FORMAT and
	  POPULATE-ROOT-FILE-SYSTEM, and use the result.

2014-12-02  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add gourmet.
	* gnu/packages/nutrition.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add python2-pygtk.
	* gnu/packages/gtk.scm (python2-pygtk): New variable.

	gnu: Add python-pygobject.
	* gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch:
	  New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/glib.scm (python-pygobject, python2-pygobject-2): New
	  variables.

	gnu: Add python-pycairo.
	* gnu/packages/gtk.scm (python-pycairo, python2-py2cairo): New variables.

	gnu: Add python-elib.intl.
	* gnu/packages/python.scm (python-elib.intl, python2-elib.intl): New
	  variables.

	gnu: Add python-distutils-extra.
	* gnu/packages/python.scm (python-distutils-extra, python2-distutils-extra):
	  New variables.

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

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

	gnu: python: Add sqlite input.
	* gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch,
	  gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch: New patches.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/python.scm (python-2)[source]: Add patch.
	  [inputs]: Add sqlite.
	  (python)[source]: Add patch.

	gnu: subversion: Fix libtool wrapper execution in hooks.
	* gnu/packages/version-control.scm (subversion)[arguments]: New
	  'patch-libtool-wrapper-ls phase.

2014-12-02  John Darrington  <jmd@gnu.org>

	gnu: Add xclip.
	* gnu/packages/xdisorg.scm (xclip): New variable.

	gnu: move xorg to xdisorg
	* gnu/packages/xorg.scm (xeyes, pixman, libdrm, libdrm-2.4.33, mtdev):
	  Move to ...
	* gnu/packages/xdisorg.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-12-02  Federico Beffa  <beffa@fbengineering.ch>

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

2014-12-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: bittorrent: Build with 'glib-or-gtk-build-system'.
	Fixes <http://bugs.gnu.org/19128>.

	* gnu/packages/bittorrent.scm (transmission)[build-system]: Change to
	  GLIB-OR-GTK-BUILD-SYSTEM.
	  [arguments]: Add #:glib-or-gtk-wrap-excluded-outputs argument.

2014-12-01  Ludovic Courtès  <ludo@gnu.org>

	build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping.
	* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Add
	  #:glib-or-gtk-wrap-excluded-outputs parameter and honor it.
	* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Add
	  #:glib-or-gtk-wrap-excluded-outputs parameter and pass it in BUILDER.
	* doc/guix.texi (Build Systems): Mention it.

	build-system/glib-or-gtk: Correctly handle multiple-output packages.
	* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Move body
	  to 'handle-output' inner procedure, and parametrize it by output name
	  and directory.  Call it for each element of OUTPUTS.
	  (compile-glib-schemas): Likewise.

	build-system/glib-or-gtk: Use 'for-each' and 'cut' as appropriate.
	* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Use
	  'for-each' instead of 'map' in for-effect contexts.  Use 'cut' instead
	  of 'lambda' when appropriate.

	build-system/glib-or-gtk: Clean up whitespace.
	* guix/build/glib-or-gtk-build-system.scm: M-x whitespace-cleanup.

2014-12-01  Andreas Enge  <andreas@enge.fr>

	gnu: libgpg-error: Update to 1.17.
	* gnu/packages/gnupg.scm (libgpg-error): Update to 1.17.

	gnu: libtasn1: Update to 4.2.
	* gnu/packages/gnutls.scm (libtasn1): Update to 4.2.

	gnu: parallel: Update to 20141122.
	* gnu/packages/parallel.scm (parallel): Update to 20141122.

	gnu: ocrad: Update to 0.24.
	* gnu/packages/ocrad.scm (ocrad): Update to 0.24.

	gnu: libmicrohttpd: Update to 0.9.38.
	* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.38.

	gnu: freeipmi: Update to 1.4.6.
	* gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.6.

	gnu: help2man: Update to 1.46.4.
	* gnu/packages/man.scm (help2man): Update to 1.46.4.

	gnu: global: Update to 6.3.3.
	* gnu/packages/global.scm (global): Update to 6.3.3.

	gnu: ucommon: Update to 6.2.3.
	* gnu/packages/telephony.scm (ucommon): Update to 6.2.3.

	gnu: cd-discid: Fix download location.
	* gnu/packages/cdrom.scm (cd-discid): Fix download location.

2014-12-01  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add 'compress-documentation' phase.
	* guix/build/gnu-build-system.scm (compress-documentation): New
	  procedure.
	  (%standard-phases): Add it.

	utils: Add 'symbolic-link?'.
	* guix/build/utils.scm (symbolic-link?): New procedure.

	build-system/gnu: Add 'validate-documentation-location' phase.
	* guix/build/gnu-build-system.scm (validate-documentation-location): New
	  procedure.
	  (%standard-phases): Add it.

2014-12-01  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add git-test-sequence.
	* gnu/packages/version-control.scm (git-test-sequence): New variable.

	gnu: Add git-flow.
	* gnu/packages/version-control.scm (git-flow, shflags): New variables.

2014-11-30  Ludovic Courtès  <ludo@gnu.org>

	gnu: wpa-supplicant: Remove dependency on DBus.
	* gnu/packages/admin.scm (wpa-supplicant): Remove dependency on DBUS.

2014-11-30  nebuli  <nebu@kipple>
	    Ludovic Courtès  <ludo@gnu.org>

	guix: scripts: Add GUIX_BUILD_OPTIONS environment handling.
	* doc/guix.texi (Invoking guix build): Mention 'GUIX_BUILD_OPTIONS'.
	* guix/scripts/archive.scm: (append args (environment-build-options)).
	* guix/scripts/build.scm: Ditto.
	* guix/scripts/environment.scm: Ditto.
	* guix/scripts/package.scm: Ditto.
	* guix/scripts/system.scm: Ditto.
	* guix/ui.scm (environment-build-options): New function.
	* guix/utils.scm (arguments-from-environment-variable): New function.
	* tests/guix-build.sh: Add tests.
	* test-env.in: Unset GUIX_BUILD_OPTIONS.

2014-11-30  Ludovic Courtès  <ludo@gnu.org>

	daemon: Default to '--cores=0'.
	Suggested by Deck Pickard <deck.r.pickard@gmail.com>.

	* nix/nix-daemon/guix-daemon.cc (main): Set 'settings.buildCores' to 0.
	* doc/guix.texi (Invoking guix-daemon): Adjust accordingly.

2014-11-30  Ludovic Courtès  <ludo@gnu.org>

	doc: Explain that 'file-system' must refer to mapped devices by file name.
	* doc/guix.texi (File Systems): Clarify what to do when mapped devices
	  are used.

	Revert "system: Add a 'needed-for-boot?' field to 'mapped-device'."
	This reverts commit 3b09332adf7ce8e976a4d117a62c586a53af04aa, which
	turned out to be a bad idea because we need to have dependency
	information between the device-mapping service and the file-system
	service that uses it.

2014-11-30  Federico Beffa  <beffa@fbengineering.ch>

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

2014-11-30  Alex Kost  <alezost@gmail.com>

	services: xorg: Add 'xf86-video-sis'.
	* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
	  ModulePath for 'xf86-video-sis'.

2014-11-29  Ludovic Courtès  <ludo@gnu.org>

	gnu-maintenance: Support .zip files.
	Reported by Andreas Enge <andreas@enge.fr>.

	* guix/gnu-maintenance.scm (sans-extension): Add case for ".zip".
	  (%tarball-rx): Extend to handle .zip extension.

2014-11-29  Taylan Ulrich B  <taylanbayirli@gmail.com>

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

2014-11-29  宋文武  <iyzsong@gmail.com>

	gnu: wireless-tools: Install the manual pages under $out/share/man.
	* gnu/packages/linux.scm (wireless-tools)[origin]: Add snippet.

2014-11-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add abcde.
	* gnu/packages/cdrom.scm (abcde): New variable.

	gnu: Add cd-discid.
	* gnu/packages/cdrom.scm (cd-discid): New variable.

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update.

	doc: Improve porting instructions.
	* doc/guix.texi (Porting): Move 'glibc-dynamic-linker' paragraph above.
	  Clarify what is meant by updating (gnu packages bootstrap).  Mention
	  'gnu-system.am'.

2014-11-29  Alex Kost  <alezost@gmail.com>

	system: locale: Fix typo in docstring.
	* gnu/system/locale.scm (localedef-command): Fix typo.

2014-11-29  Andreas Enge  <andreas@enge.fr>

	gnu: Rename fonts according to our new naming scheme.
	* gnu/packages/fonts.scm (ttf-dejavu): Rename to ...
	* gnu/packages/fonts.scm (font-dejavu): ... this.
	* gnu/packages/fonts.scm (ttf-bitstream-vera): Rename to ...
	* gnu/packages/fonts.scm (font-bitstream-vera): ... this.
	* gnu/packages/fonts.scm (freefont-ttf): Rename to ...
	* gnu/packages/fonts.scm (font-gnu-freefont-ttf): ... this.
	* gnu/packages/fonts.scm (terminus-font): Rename to ...
	* gnu/packages/fonts.scm (font-terminus): ... this.

2014-11-29  Ludovic Courtès  <ludo@gnu.org>

	system: Add a 'needed-for-boot?' field to 'mapped-device'.
	* gnu/system/file-systems.scm (<mapped-device>)[needed-for-boot?]: New
	  field.
	* gnu/system.scm (operating-system-user-mapped-devices,
	  operating-system-boot-mapped-devices): Use it instead of trying to
	  guess.  Guessing doesn't work when one refers to a partition using its
	  label, for instance.
	* doc/guix.texi (Mapped Devices): Document 'needed-for-boot?'.

	system: Change "en_US.UTF-8" to "en_US.utf8".
	* build-aux/hydra/demo-os.scm (locale): Change to "en_US.utf8".
	* gnu/system/install.scm (installation-os)[locale]: Ditto.

2014-11-28  Ludovic Courtès  <ludo@gnu.org>

	linux-modules: Correctly propagate error code from 'init_module'.
	* gnu/packages/patches/guile-linux-syscalls.patch (scm_load_linux_module):
	  Leave 'errno' unchanged when ERR != 0.
	* gnu/build/linux-modules.scm (load-linux-module*): Check for the errno
	  value of ARGS to determine whether the module was already loaded.

	linux-initrd: Remove the ".ko" suffix from module names in 'base-initrd'.
	* gnu/system/linux-initrd.scm (base-initrd): Remove the .ko suffix from
	  module names.

	linux-initrd: Remove now redundant module names.
	* gnu/system/linux-initrd.scm (base-initrd)[virtio-modules]: Remove
	  "virtio.ko" and "virtio_ring.ko".
	  [virtio-9p-modules]: Remove "fscache.ko" and "9pnet.ko".
	  [linux-modules]: Remove "libahci.ko".

	linux-boot: Load modules and their dependencies, à la 'modprobe'.
	* gnu/build/linux-boot.scm: Use (gnu build linux-modules).
	  (load-linux-module*): Remove.
	  (boot-system): Add #:linux-module-directory parameter.
	  [lookup-module]: New procedure.
	  Call 'current-module-debugging-port'.  Pass #:lookup-module to
	  'load-linux-module*'.  Map LOOKUP-MODULE on LINUX-MODULES.
	* gnu/system/linux-initrd.scm (base-initrd): Adjust 'boot-system' call
	  accordingly.  Adjust #:modules argument as well.
	* gnu/system.scm (operating-system-activation-script)[%modules]: Likewise.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.

	linux-initrd: Copy modules and their dependencies to the initrd.
	* gnu/system/linux-initrd.scm (flat-linux-module-directory)[build-exp]:
	  Add 'lookup' procedure.  Use 'recursive-module-dependencies' to
	  compute the list of modules to copy.
	  Adjust #:modules parameter.

	system: Add (gnu build linux-modules).
	* gnu/build/linux-modules.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	Add (guix elf).
	* guix/elf.scm: New file.  Taken from Guile 'master', commit 3f826e3.
	* Makefile.am (MODULES): Add it.
	* THANKS: Thank Andy, who wrote this module.

	doc: Update stale references in "Bootstrapping".
	* doc/guix.texi (Bootstrapping): Final definitions are in (gnu packages
	  commencement).
	  Change gnu-build-system xref to "Build Systems".

	substitute-binary: Change "unresponsive" to "slow".
	* guix/scripts/substitute-binary.scm (fetch): Change "unresponsive" to
	  "somewhat slow".  I'm being told that the former is often
	  misunderstood as "broken".

2014-11-27  Andreas Enge  <andreas@enge.fr>

	gnu: gcl: Drop 'strip phase.
	* gnu/packages/lisp.scm (gcl): Drop 'strip phase to make maxima build.

2014-11-27  Federico Beffa  <beffa@fbengineering.ch>

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

2014-11-27  Ludovic Courtès  <ludo@gnu.org>

	system: Build system-wide locale definitions.
	* gnu/system/locale.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* gnu/system.scm (<operating-system>)[locale]: Change the default to
	  "en_US.utf8".
	  (operating-system-locale-directory): New procecure.
	  (operating-system-derivation): Use it.
	* doc/guix.texi (Using the Configuration System): Change example locale
	  to "fr_FR.utf8".
	  (operating-system Reference): Add xref to "Locales".  Document
	  'locale-definitions'.
	  (Locales): New section.
	* po/guix/POTFILES.in: Add gnu/system.scm.

2014-11-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: gawk: Build a UTF-8 locale for the tests.
	* gnu/packages/gawk.scm (gawk)[arguments]: Add 'install-locales' phase.

2014-11-26  Andreas Enge  <andreas@enge.fr>

	gnu: ccrtp: Update to 2.1.1.
	* gnu/packages/telephony.scm (ccrtp): Update to 2.1.1.

2014-11-26  Alex Kost  <alezost@gmail.com>

	emacs: Add missing directory to the guile load path.
	Reported by Adam Pribyl and David Thompson.

	* emacs/guix-helper.scm.in (set-paths!): Add guile module dir to '%load-path'.

2014-11-26  Andreas Enge  <andreas@enge.fr>

	Update gnupg mirrors.
	* guix/download.scm (%mirrors): Update mirror list for gnupg.

	gnu: ucommon: Update to 6.2.2.
	* gnu/packages/telephony.scm (ucommon): Update to 6.2.2.

	gnu: sipwitch: Update to 1.9.3.
	* gnu/packages/telephony.scm (sipwitch): Update to 1.9.3.

2014-11-26  Ludovic Courtès  <ludo@gnu.org>

	linux-boot: Call 'pre-mount' before 'mount-root-file-system'.
	Partly fixes <http://bugs.gnu.org/19190>.
	Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	* gnu/build/linux-boot.scm (boot-system): Move PRE-MOUNT call before
	  'mount-root-file-system' is called.

2014-11-26  Ludovic Courtès  <ludo@gnu.org>

	linux-boot: Error out when 'pre-mount' returns #f.
	* gnu/build/linux-boot.scm (boot-system): Call 'error' when PRE-MOUNT
	  returns #f.

2014-11-26  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	utils: Improve docstring of 'substitute*' & co.
	* guix/build/utils.scm (substitute): Clarify first sentence of
	  docstring and add warning to the docstring about using '$' to match
	  an end of line.
	  (substitute*): Add warning to the docstring about using '$' to match
	  an end of line.

2014-11-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: glibc: Do not install all the locales.
	* gnu/packages/base.scm (glibc)[outputs]: Remove "locales".
	  [arguments]: Remove --localedir argument.  Change libc_cv_localedir
	  value to "/run/current-system/locale".  Remove 'install-locales'
	  phase.

	gnu: emms: Enable the 'mp3info' back-end for MP3 meta-data.
	* gnu/packages/emacs.scm (emms)[arguments]: Properly initialize
	  'emms-info-mp3info-program-name'.  This allows the 'emms-info-mp3info'
	  back-end to be enabled by default, even when 'mp3info' is not in
	  $PATH.

2014-11-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: pkg-config: Add pkg.m4 to the cross pkg-config.
	Suggested by John Darrington.

	* gnu/packages/pkg-config.scm (cross-pkg-config): Make
	  $out/share/aclocal a symlink to %PKG-CONFIG/share/aclocal.

2014-11-25  Ludovic Courtès  <ludo@gnu.org>

	emacs: Disable build traces produced by the daemon.
	* emacs/guix-main.scm (process-package-actions,
	  package-source-build-derivation): Pass #:print-build-trace #f to
	  'set-build-options', to reduce verbosity.

2014-11-25  Andreas Enge  <andreas@enge.fr>

	gnu: gss: Update to 1.0.3.
	* gnu/packages/gsasl.scm (gss): Update to 1.0.3.

2014-11-25  Ludovic Courtès  <ludo@gnu.org>

	guix build: Add '--max-jobs' option.
	Suggested by Deck Pickard <deck.r.pickard@gmail.com>.

	* guix/scripts/build.scm (show-build-options-help): Document
	  --max-jobs.
	  (set-build-options-from-command-line): Pass #:max-build-jobs.
	  (%standard-build-options): Add --max-jobs.
	* doc/guix.texi (Invoking guix-daemon): Document the meaning of
	  '--max-jobs 0'.
	  (Invoking guix build): Document --max-jobs, with a reference to
	  "Invoking guix-daemon'.

2014-11-25  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	doc: Fix syntax errors.
	* doc/guix.texi (Package Naming):
	  (Fonts): Remove space between '@foo' and '{'.

2014-11-25  Federico Beffa  <beffa@fbengineering.ch>

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

2014-11-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: Remove #:select on circular dependency.
	* gnu/packages/mp3.scm: Remove #:select on (gnu packages linux) so that
	  the circular dependency is correctly handled.

	gnu: Add EMMS.
	* gnu/packages/emacs.scm (emms): New variable.

2014-11-25  Ludovic Courtès  <ludo@gnu.org>

	file-systems: 'file-system-needed-for-boot?' always returns #t for "/".
	Reported by Nikita Karetnikov.

	* gnu/system/file-systems.scm (<file-system>): Rename 'needed-for-boot?'
	  accessor to '%file-system-needed-for-boot?'.
	  (file-system-needed-for-boot?): New inlinable procedure.
	* gnu/system.scm (other-file-system-services)[file-systems]: Rely on
	  'file-system-needed-for-boot?' to handle the "/" case.
	  (operating-system-initrd-file)[boot-file-systems]: Likewise.

2014-11-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: libksba: Update to 1.3.2 [security fix].
	* gnu/packages/gnupg.scm (libksba): Update to 1.3.2.

	build: Bump version number.
	* configure.ac: Bump to 0.9.

2014-11-25  Ludovic Courtès  <ludo@gnu.org>

	install: Add wpa-supplicant to the image.
	Reported by Amirouche Boubekki <amirouche.boubekki@gmail.com>.

	* gnu/system/install.scm (installation-os)[packages]: Add
	  WPA-SUPPLICANT.

2014-11-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add TagLib.
	* gnu/packages/mp3.scm (taglib): New variable.

	licenses: Add MPL 1.1.
	* guix/licenses.scm (mpl1.1): New variable.

	gnu: Add mp3info.
	* gnu/packages/mp3.scm (mp3info): New variable.

	import: gnu: Write the hash in nix-base32 format.
	* guix/import/gnu.scm (gnu-package->sexp): Use
	  'bytevector->nix-base32-string', not 'bytevector->base32-string'.

2014-11-25  Andreas Enge  <andreas@enge.fr>

	gnu: gcl: Update to 2.6.12.
	* gnu/packages/lisp.scm (gcl): Update to 2.6.12.

2014-11-24  Ludovic Courtès  <ludo@gnu.org>

	gnu: grep: Update to 2.21.
	* gnu/packages/base.scm (grep): Update to 2.21.

	build-system/gnu: Gracefully handle dangling symlinks in the 'strip' phase.
	* guix/build/gnu-build-system.scm (strip): Check whether 'file-exists?'
	  before calling 'elf-file?' and 'ar-file?'.  This should fix build
	  failures in the presence of dangling symlinks, as in
	  <http://hydra.gnu.org/build/167521/nixlog/1/raw>.

2014-11-24  Federico Beffa  <beffa@fbengineering.ch>

	gnu: Add numpy-bootstrap.
	* gnu/packages/python.scm (python-numpy-bootstrap, python2-numpy-bootstrap):
	  New file-local variables.

2014-11-24  Taylan Ulrich B  <taylanbayirli@gmail.com>

	gnu: Add rTorrent.
	* gnu/packages/bittorrent.scm (rtorrent): New variable.

2014-11-24  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add libTorrent.
	* gnu/packages/bittorrent.scm (libtorrent): New variable.

2014-11-24  Julien Lepiller  <julien@lepiller.eu>

	gnu: Add claws-mail.
	* gnu/packages/mail.scm (claws-mail): New variable.

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

2014-11-24  Ludovic Courtès  <ludo@gnu.org>

	doc: Add detailed node listing.
	* doc/guix.texi (Top): Add @detailmenu.

2014-11-24  宋文武  <iyzsong@gmail.com>

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

2014-11-24  Ludovic Courtès  <ludo@gnu.org>

	doc: Add xrefs to the lsh manual.
	Suggested by Adam Pribyl <pribyl@lowlevel.cz>.

	* gnu/services/ssh.scm (lsh-service): Update docstring with xrefs to
	  the lsh manual.  Fix typos.
	* doc/guix.texi (Networking Services): Synchronize.

2014-11-24  Alex Kost  <alezost@gmail.com>

	gnu: Add 'font-liberation'.
	* gnu/packages/fonts.scm (font-liberation): New variable.

2014-11-24  Federico Beffa  <beffa@fbengineering.ch>

	gnu: xfig: Add 'wrap-xfig phase.
	* gnu/packages/xfig.scm (xfig): Set XAPPLRESDIR environment variable to help
	  xfig find the app-defaults resource files.

2014-11-23  Alex Kost  <alezost@gmail.com>

	doc: Fix typos.
	* doc/guix.texi (Base Services): Fix 'lsh-service' name.
	  (Networking Services): Fix (gnu services networking) module name.

2014-11-23  Andreas Enge  <andreas@enge.fr>

	gnu: vera: Update to 1.22.
	* gnu/packages/dictionaries.scm (vera): Update to 1.22.

	gnu: ddrescue: Update to 1.19.
	* gnu/packages/disk.scm (ddrescue): Update to 1.19.

2014-11-23  Ludovic Courtès  <ludo@gnu.org>

	install: Add Cryptsetup to the image.
	Reported by Nikita Karetnikov.

	* gnu/system/install.scm (installation-os)[packages]: Add CRYPTSETUP.
	* doc/guix.texi (System Installation): Mention it.

2014-11-23  Andreas Enge  <andreas@enge.fr>

	gnu: libcdio: Update to 0.93.
	* gnu/packages/cdrom.scm (libcdio): Update to 0.93.

2014-11-23  Ludovic Courtès  <ludo@gnu.org>

	doc: Fix erroneous cross-manual references.
	* doc/guix.texi (User Accounts): Fix cross-references to libc and guile.

2014-11-23  nebuli  <nebu@kipple>

	store: default to serial "scheduler"
	* guix/store.scm (set-build-options): exchange default argument values

2014-11-23  Andreas Enge  <andreas@enge.fr>

	doc: Add a section on naming conventions for font packages.
	* doc/guix.texi (Fonts): New section.
	  (Package naming): Reference the new section.

2014-11-23  Ludovic Courtès  <ludo@gnu.org>

	utils: 'elf-file?' and 'ar-file?' return #f for directories.
	This avoids uncaught exceptions when the 'strip' phase would call these
	procedures on symlinks to directories, such as 'lib/terminfo' in
	ncurses (see <http://hydra.gnu.org/build/167310/nixlog/1/tail-reload>.)

	* guix/build/utils.scm (file-header-match): Catch 'system-error', and
	  return #f upon EISDIR.

2014-11-23  David Thompson  <davet@gnu.org>

	gnu: abbaye: Fix install phase.
	* gnu/packages/games (abbaye): Create '/share/pixmaps' directory
	  before installing.

2014-11-23  Andreas Enge  <andreas@enge.fr>

	gnu: xf86-video-openchrome: Patch to correct build failure.
	* gnu/packages/xorg.scm (xf86-video-openchrome): Add patch for build failure
	    with glibc-2.20. Fixes bug #18740.
	* gnu/packages/patches/xf86-video-openchrome-includes.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.

2014-11-23  Federico Beffa  <beffa@fbengineering.ch>

	gnu: atlas: Try to fix build on MIPS.
	* gnu/packages/maths.scm (atlas): Add MIPS specific configure flags.

2014-11-23  Andreas Enge  <andreas@enge.fr>

	gnu: gegl: Disable tests.
	* gnu/packages/gimp.scm (gegl): Disable tests since failures are apparently
	    not taken care of in upstream releases.

2014-11-22  Ludovic Courtès  <ludo@gnu.org>

	utils: Turn 'parallel-job-count' into a parameter.
	* guix/build/utils.scm (parallel-job-count): Turn into a SRFI-39 parameter.

	build-system/gnu: Strip 'ar' archives as well.
	* guix/build/gnu-build-system.scm (strip): Also strip when (ar-file?
	  PATH) is true.

	utils: Factorize magic bytes detection.
	* guix/build/utils.scm (file-header-match): New procedure.
	  (%elf-magic-bytes): New variable.
	  (elf-file?, ar-file?): Define using 'file-header-match'.

	utils: Add 'ar-file?'.
	* guix/build/utils.scm (%ar-magic-bytes): New variable.
	  (ar-file?): New procedure.

	gnu: youtube-dl: Update to 2014.11.21.1.
	* gnu/packages/video.scm (youtube-dl): Update to 2014.11.21.1.

2014-11-22  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.17.4
	* gnu/packages/linux.scm (linux-libre): Update to version 3.17.4.

2014-11-22  Andreas Enge  <andreas@enge.fr>

	gnu: libxkbcommon: Add inputs libx11 and xkeyboard-config and use   corresponding configure flags.
	* gnu/packages/qt.scm (libxkbcommon): Add inputs libx11 and xkeyboard-config.
	    Use configure flags to set XKB config root and X11 locale root
	    directories.

	gnu: qt: Add input ruby.
	* gnu/packages/qt.scm (qt): Add input ruby.

2014-11-22  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Strip only ELF files.
	Suggested by Mark H Weaver <mhw@netris.org>
	at <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00395.html>.

	* guix/build/gnu-build-system.scm (strip)[strip-dir]: Strip only
	  when (elf-file? PATH) is true.

2014-11-22  Ludovic Courtès  <ludo@gnu.org>

	utils: Add 'elf-file?'.
	* guix/build/utils.scm (elf-file?): New procedure.

	utils: Export 'parallel-job-count'.
	* guix/build/utils.scm (parallel-job-count): New procedure.
	* guix/build/gnu-build-system.scm (%parallel-job-count): Remove.
	  (build, check): Use 'parallel-job-count' instead.

	gnu: pkg-config: Update to 0.28.
	* gnu/packages/pkg-config.scm (%pkg-config): Update to 0.28.

	gnu: file: Update to 5.20.
	* gnu/packages/file.scm (file): Update to 5.20.
	  (file-5.20): Remove.
	* gnu/packages/patches/file-CVE-2014-3587.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.
	* gnu/packages/patchutils.scm (quilt): Use FILE instead of FILE-5.20.
	* gnu/packages/version-control.scm (aegis): Ditto.

2014-11-21  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: Add AVR-Libc.
	* gnu/packages/avr.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add avr.scm.
	* gnu/packages/cross-base.scm (xgcc-avr): New variable.
	* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
	  "avr".

2014-11-21  Ludovic Courtès  <ludo@gnu.org>

	doc: Fix typos regarding 'lsh-service'.
	Reported by Adam Pribyl <pribyl@lowlevel.cz>.

	* doc/guix.texi (Using the Configuration System): Use #:root-login?, not
	  #:allow-root-login?, in example.
	  (Networking Services): Fix module name for ssh.

2014-11-21  Julien Lepiller  <julien@lepiller.eu>

	gnu: Add hexchat.
	* gnu/packages/messaging.scm (hexchat): New variable.

2014-11-21  Andreas Enge  <andreas@enge.fr>

	gnu: libxkbcommon: Update to 0.5.0.
	* gnu/packages/qt.scm (libxkbcommon): Update to 0.5.0.
	    Add input libxcb and native input pkg-config.

	gnu: xcb-util-renderutil: Update to 0.3.9.
	* gnu/packages/xorg.scm (xcb-util-renderutil): Update to 0.3.9.

	gnu: xcb-util-keysyms: Update to 0.4.0.
	* gnu/packages/xorg.scm (xcb-util-keysyms): Update to 0.4.0.

	gnu: xcb-util-image: Update to 0.4.0.
	* gnu/packages/xorg.scm (xcb-util-image): Update to 0.4.0.

	gnu: xcb-util: Update to 0.4.0.
	* gnu/packages/xorg.scm (xcb-util): Update to 0.4.0.

	gnu: libxcb: Update to 1.11.
	* gnu/packages/xorg.scm (libxcb): Update to 1.11.

	gnu: xcb-proto: Update to 1.11.
	* gnu/packages/xorg.scm (xcb-proto): Update to 1.11.

2014-11-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: dbus: Add 1.8.10 as a replacement.
	* gnu/packages/glib.scm (dbus)[replacement]: New field.
	  (dbus-1.8.10): New variable.

	hydra: Build only non-grafted variants of the packages.
	* build-aux/hydra/gnu-system.scm (package->alist): Pass #:graft? #f.
	  (package-cross-job): Adjust last argument of 'package->alist' to
	  accept #:graft?.  This fixes the problem reported in commit a480307.

2014-11-21  David Thompson  <dthompson2@worcester.edu>

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

2014-11-21  Ludovic Courtès  <ludo@gnu.org>

	guix system: Add '--share' and '--expose' options for 'vm'.
	* guix/scripts/system.scm (system-derivation-for-action): Add #:mappings
	  parameter.  Pass it to 'system-qemu-image/shared-store-script'.
	  (perform-action): Likewise.
	  (show-help): Document --share and --expose.
	  (specification->file-system-mapping): New procedure.
	  (%options): Add --share and --expose.
	  (guix-system): Pass #:mapping to 'perform-action'.
	* doc/guix.texi (Invoking guix system): Document it.

2014-11-20  Ludovic Courtès  <ludo@gnu.org>

	vm: Introduce 'file-system-mapping'.
	* gnu/system/vm.scm (<file-system-mapping>): New record type.
	  (%store-mapping): New variable.
	  (host-9p-file-system): Rename to...
	  (mapping->file-system): ... this.  Replace 'source' and 'target'
	  parameters with 'mapping'.  Set 'flags' field.
	  (virtualized-operating-system): Add 'mappings' parameter and  honor
	  it.
	  (system-qemu-image/shared-store-script): Add 'mappings' parameter.
	  Pass it to 'virtualized-operating-system'.  Use it in argument to
	  'common-qemu-options'.

	vm: Formalize use of '-virtfs' options.
	* gnu/system/vm.scm (file-system->mount-tag, host-9p-file-system): New
	  procedures.
	  (virtualized-operating-system): Use 'host-9p-file-system' for the
	  store.
	  (common-qemu-options): Add 'shared-fs' parameter.
	  [virtfs-option]: New procedure.
	  Use it.
	  (system-qemu-image/shared-store-script): Adjust accordingly.

	linux-boot: Don't catch exceptions thrown by 'mount-root-file-system'.
	* gnu/build/linux-boot.scm (mount-root-file-system): Remove 'catch #t'
	  around body.  This was unneeded and even inconvenient because this
	  procedure is called from within 'call-with-error-handling' already.

	emacs: Don't override the user's 'geiser-guile-load-path'.
	* emacs/guix-backend.el (guix-start-repl): Add GUIX-LOAD-PATH to the
	  front of GEISER-GUILE-LOAD-PATH instead of overriding it.

2014-11-20  Ludovic Courtès  <ludo@gnu.org>

	services: xorg: Include ~/.guix-profile/bin to the session's $PATH.
	Fixes <http://bugs.gnu.org/19119>.
	Reported by David Thompson <dthompson2@worcester.edu>.

	* gnu/services/xorg.scm (xinitrc): Augment $PATH to include
	  ~/.guix-profile/bin.

2014-11-20  Ludovic Courtès  <ludo@gnu.org>

	file-systems: Always write the options field in /etc/mtab.
	* gnu/build/file-systems.scm (mount-file-system): When OPTIONS is false,
	  write "rw" to /etc/mtab.  This fixes a bug whereby 'remove-from-mtab'
	  in (guix syscalls) would otherwise raise a 'match-error' because of
	  the missing field.  This affected file systems mounted from the
	  initrd, such as devtmpfs, which has options == #f.

2014-11-20  Andreas Enge  <andreas@enge.fr>

	gnu: icu4c: Update to 54.1.
	* gnu/packages/icu4c.scm (icu4c): Update to 54.1.
	* gnu/packages/patches/icu4c-test-date-format.patch: Remove unneeded patch.
	* gnu-system.am (dist_patch_DATA): Unregister dropped patch.

2014-11-19  John Darrington  <jmd@gnu.org>

	gnu: gst-plugins-good: Enable more plugins
	* gnu/packages/gstreamer.scm (gst-plugins-good): New inputs:
	  cairo, gdk-pixbuf, flac, speex, libogg, libx11, zlib, libpng, libjpeg,
	  libXext, libxv, pulseaudio.

2014-11-19  Ludovic Courtès  <ludo@gnu.org>

	lint: Fix typos in checker descriptions.
	* guix/scripts/lint.scm (%checkers): "file names" (two words), and
	  "synopses" (plural).

	lint: Use localized checker descriptions.
	* guix/scripts/lint.scm (list-checkers-and-exit): Wrap
	  'lint-checker-description' call in (_ ...).

	lint: Correctly internationalize warning messages.
	* guix/scripts/lint.scm (emit-warning): Remove '_' call for format
	  string.
	  (check-description-style, check-inputs-should-be-native,
	  check-synopsis-style, check-patches, check-gnu-synopsis+description):
	  Wrap message in (_ ...).

	lint: Change checker names to be symbols.
	* guix/scripts/lint.scm (%checkers): Change 'name' fields to be
	  symbols.
	  (%options): Adjust "-c" option handler accordingly.

	lint: Fold 'sync-descriptions' script as 'gnu-description' lint checker.
	* build-aux/sync-descriptions.scm: Remove.  Move payload to...
	* guix/scripts/lint.scm: ... here.
	  (escape-quotes, official-gnu-packages*,
	  check-gnu-synopsis+description): New procedures.
	  (%checkers): Add 'gnu-descriptions'.
	* Makefile.am (EXTRA_DIST): Remove build-aux/sync-descriptions.scm.
	  (sync-descriptions): Use 'guix lint'.

	gnu: Add NcFTP Client.
	* gnu/packages/ftp.scm (ncftp): New variable.

	licenses: Add the Clarified Artistic License.
	* guix/licenses.scm (clarified-artistic): New variable.

2014-11-19  宋文武  <iyzsong@gmail.com>

	gnu: Add Glulxe.
	* gnu/packages/games.scm (glkterm, glulxe): New variables.

2014-11-19  John Darrington  <jmd@gnu.org>

	gnu: Add some more gstreamer plugins
	* gnu/packages/gstreamer.scm (gst-plugins-good): New variable.
	                             (gst-plugins-base): New inputs:
	                               pango, libogg, libtheora,
	                               libvorbis, libx11, libXext,
	                               libxv, alsa-lib, zlib

	gnu: busybox - whitespace changes only.
	* gnu/packages/busybox.scm: Adjust formatting of description field.

2014-11-18  Eric Bavier  <bavier@member.fsf.org>

	gnu: intltool: Make file a regular input.
	* gnu/packages/glib.scm (intltool)[propagated-inputs]: Move file from here...
	  [inputs]: to here.
	  [arguments]: New 'patch-file-references phase.

2014-11-18  Andreas Enge  <andreas@enge.fr>

	gnu: acl: Towards tests; enable infrastructure, but keep tests disabled   since they fail.
	* gnu/packages/acl.scm (acl): Correct test target, add inputs perl and sed,
	    replace "/bin/sh" in perl test script.

	gnu: acl: Also install header files.
	* gnu/packages/acl.scm (acl): Install header files. Drop unneeded phase
	    PATCH-MAKEFILE-SHELL.

2014-11-18  宋文武  <iyzsong@gmail.com>

	gnu: Add Wine.
	* gnu/packages/wine.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-11-18  Ludovic Courtès  <ludo@gnu.org>

	Add Julien to 'AUTHORS'.

2014-11-18  Julien Lepiller  <julien@lepiller.eu>

	gnu: Add Openbox.
	* gnu/packages/openbox.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: pango: Add dependency on libxft.
	* gnu/packages/gtk.scm (pango)[inputs]: Add LIBXFT.

2014-11-18  Ludovic Courtès  <ludo@gnu.org>

	gnu: curl: Enable more verbose test output.
	* gnu/packages/curl.scm (curl)[arguments]: Fold 'patch-runtests' phase
	  into 'check' phase, and replace the standard 'check' phase.  Run "make
	  -C tests test".

2014-11-18  John Darrington  <john@darrington.wattle.id.au>

	gnu:  Fix cross-compilation issue in guile-json
	* gnu/packages/guile.scm (guile-json): Move guile from inputs to native inputs.

	gnu: Fix cross compilation issue with libgcrypt.
	* gnu/packages/gnupg.scm (libgcrypt): Distinguish between the native and
	  non-native libgpg-error input

	gnu: Fix cross-compilation issues with autotools
	* gnu/packages/autotools.scm (autoconf, automake): Move inputs to native-inputs.

2014-11-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add perl-digest-sha1.
	* gnu/packages/perl.scm (perl-digest-sha1): New variable.

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to post-0.8
	  commit.
	  (guix): Switch from GUIX-0.8 to GUIX-DEVEL.

	gnu: guix: Update to 0.8.
	* gnu/packages/package-management.scm (guix-0.7): Rename to...
	  (guix-0.8): ... this.  Update to 0.8.  Adjust users accordingly.
	  (guix): Switch from GUIX-DEVEL to GUIX-0.8.

	Update NEWS.

	Thank Bruno.

	doc: Fix misuses of @ref.
	* doc/guix.texi (Invoking guix-daemon, Features, Invoking guix download,
	  Invoking guix refresh, GNU Distribution, Package Modules, Packaging
	  Guidelines, Package Naming): Replace misuses of @ref with @xref or
	  @pxref.

	doc: Suggest using 'guix pull' before 'guix system reconfigure'.
	* doc/guix.texi (Invoking guix system): Suggest running 'guix pull'
	  before the first use of 'guix system reconfigure'.

	build: Add doc/emacs.texi to the distribution.
	* doc.am (EXTRA_DIST): Add doc/emacs.texi.

	build: Add guix/tests.scm to the distribution.
	* Makefile.am (noinst_DATA): Rename to...
	  (dist_noinst_DATA): ... this.

2014-11-17  David Thompson  <dthompson2@worcester.edu>

	gnu: Add minetest.
	* gnu/packages/patches/minetest-subgame-env-var.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/games.scm (minetest): New variable.

	gnu: Add minetest-data.
	* gnu/packages/games.scm (minetest-data): New variable.

	gnu: Add irrlicht.
	* gnu/packages/games.scm (irrlicht): New variable.

	gnu: Add openal.
	* gnu/packages/games.scm (openal): New variable.

	Fix typo in NEWS.

2014-11-16  Ludovic Courtès  <ludo@gnu.org>

	doc: Document --key-download option of 'guix refresh'.
	* doc/guix.texi (Invoking guix refresh): Document --key-download.

	Adjust NEWS for 'guix import'.

	doc: Document "guix import".
	* doc/guix.texi (Requirements): Add xref to "Invoking guix import".
	  (Defining Packages): Likewise.  Remove footnote about Nixpkgs
	  imports.
	  (Invoking guix import): New section.

	gnu: hello: Update to 2.10.
	* gnu/packages/base.scm (hello): Update to 2.10.

2014-11-15  David Thompson  <dthompson2@worcester.edu>

	gnu: ruby: Update to 2.1.5.
	* gnu/packages/ruby.scm (ruby): Update to version 2.1.5.

2014-11-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: guix: Fix hash of snapshot source.
	* gnu/packages/package-management.scm (guix-devel): Fix hash, which was
	  wrongfully input in commit a0e59dd.

2014-11-15  John Darrington  <john@darrington.wattle.id.au>

	gnu: Add opus-tools
	* gnu/packages/xiph.scm (opus-tools): New variable.

2014-11-15  Ludovic Courtès  <ludo@gnu.org>

	doc: Fix Hydra URL.
	Reported by John Darrington <john@darrington.wattle.id.au>.

	* doc/guix.texi (Packaging Guidelines): Fix hydra.gnu.org URL.

2014-11-15  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.17.3
	* gnu/packages/linux.scm (linux-libre): Update to version 3.17.3.

2014-11-14  Ludovic Courtès  <ludo@gnu.org>

	Add the name of Sou Bunnbu in its original script to 'AUTHORS'.

2014-11-14  宋文武  <iyzsong@gmail.com>

	gnu: Add Tiled.
	* gnu/packages/games.scm (tiled): New variable.

2014-11-14  Ludovic Courtès  <ludo@gnu.org>

	doc: Clarify use of the 'password' field for user accounts.
	Suggested by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

	* doc/guix.texi (Using the Configuration System): Remove 'password'
	  field in the example.
	  (User Accounts): Clarify use of the 'password' field, with links to
	  the libc and Guile manuals.

2014-11-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update snapshot.

	services: user-unmount: Change directory to "/" before unmounting.
	* gnu/services/base.scm (user-unmount-service): Add 'chdir' call.

	syscalls: Update /etc/mtab, not /etc/fstab.
	* guix/build/syscalls.scm (remove-from-mtab): Replace "fstab" with
	  "mtab".

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	doc: Improve acknowledgments.
	* doc/guix.texi (Acknowledgments): Expound a bit.
	* THANKS: Mention artwork; thank Felipe & Nikita.

	artwork: Update snapshot.
	* gnu/artwork.scm (%artwork-repository): Update.

	substitute-binary: Be slightly less verbose when downloading.
	* guix/scripts/substitute-binary.scm (guix-substitute-binary)<"--substitute">:
	  Be slightly less verbose.

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: file: Add itself as a native input for cross-compilation.
	Fixes a regression introduced in c198872b.
	Reported by John Darrington.

	* gnu/packages/file.scm (file)[self-native-input?]: New field.

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: aegis, quilt: Use file-5.20.
	Suggested by Mark H Weaver.

	* gnu/packages/version-control.scm (aegis): Use FILE-5.20 instead of FILE.
	* gnu/packages/patchutils.scm (quilt): Likewise.

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: file: Remove replacement; add separate file-5.20 package.
	* gnu/packages/file.scm (file)[replacement]: Remove.
	  (file/fixed): Remove.
	  (file-5.20): New variable.

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	Revert "hydra: Build only non-grafted variants of the packages."
	This reverts commit 9de1defe790d8baa6a230b2d02e7ba023783b022.

	Passing #:graft? was not possible because of the use of 'cut' on call
	sites.

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	hydra: Build only non-grafted variants of the packages.
	* build-aux/hydra/gnu-system.scm (package->alist): Pass #:graft? #f to
	  PACKAGE-DERIVATION.

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: net-base: Update to 5.3.
	Reported by nebuli on #guix.

	* gnu/packages/admin.scm (net-base): Update to 5.3.

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: lsof: Update to 4.88.
	Reported by nebuli on #guix.

	* gnu/packages/lsof.scm (%ftp-base): New variable.
	  (lsof): Update to 4.88.  Add /OLD as alternate URL.

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	vm: Set the boot flag on the root partition.
	Reported by nebuli on #guix.

	* gnu/build/vm.scm (initialize-partition-table): Add #:bootable?
	  parameter and honor it.
	  (initialize-hard-disk): Likewise.

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	linux-boot: Make more disk partition block devices.
	Reported by nebuli on #guix.

	* gnu/build/linux-boot.scm (make-disk-device-nodes): Make 16 block
	  devices for disk partitions.

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	Update NEWS.

	gnu: file: Add 5.20 as a replacement--fixes CVE-2014-3710.
	* gnu/packages/file.scm (file)[replacement]: New field.
	  (file/fixed): New variable.

	derivations: Clarify message produced by 'graft-derivation'.
	* guix/derivations.scm (graft-derivation): Use the term "grafting" in
	  the build message.

	gnu: file: Fix typo in description.
	* gnu/packages/file.scm (file)[description]: Fix typo.

2014-11-13  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Add modules for ATA controllers by default.
	Reported by th3kent on #guix.

	* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add
	  pata_acpi.ko and pata_atiixp.ko.

2014-11-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: chicken: Update to 4.9.0.1.
	* gnu/packages/scheme.scm (chicken): Update to 4.9.0.1.

	gnu: gnutls: Update to 3.2.20--this fixes CVE-2014-8564.
	* gnu/packages/patches/gnutls-server-name-fix.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.
	* gnu/packages/gnutls.scm (gnutls): Update to 3.2.20.
	  Remove 'patches' field.

	gnu: guix: Add Emacs as an input.
	* gnu/packages/package-management.scm (guix-0.7)[native-inputs]: Add
	  Emacs.

2014-11-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: windowmaker: Leave 'wmaker' unwrapped.
	Fixes <http://bugs.gnu.org/18698>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* gnu/packages/gnustep.scm (windowmaker)[arguments]: Add 'pre-configure'
	  phase.  Change 'wrap' phase to wrap 'wmaker.inst', not 'wmaker'.

2014-11-12  Ludovic Courtès  <ludo@gnu.org>

	services: xorg: Set argv[0] for the window manager.
	* gnu/services/xorg.scm (xinitrc): Set argv[0] when invoking ratpoison
	  or wmaker.

2014-11-12  Alex Kost  <alezost@gmail.com>

	emacs: Add "Source" field to 'guix-info' buffers.
	Suggested by Ludovic Courtès.

	* emacs/guix-info.el (guix-info-insert-methods, guix-info-displayed-params):
	  Add 'source' parameter.
	  (guix-package-info-source): New face.
	  (guix-package-source): New button type.
	  (guix-package-info-auto-find-source, guix-package-info-auto-download-source,
	  guix-package-info-download-buffer): New variables.
	  (guix-package-info-show-source, guix-package-info-insert-source-url,
	  guix-package-info-insert-source, guix-package-info-download-source,
	  guix-package-info-redisplay-after-download): New procedures.
	* emacs/guix-base.el (guix-param-titles): Add 'source' parameter.
	  (guix-operation-prompt): Add 'prompt' argument.
	  (guix-after-source-download-hook): New variable.
	  (guix-package-source-path, guix-package-source-build-derivation): New
	  procedures.
	* emacs/guix-main.scm (%package-param-alist): Add 'source' parameter.
	  (package-source-names, package-source-derivation->store-path,
	  package-source-path, package-source-build-derivation): New procedures.

2014-11-12  Ludovic Courtès  <ludo@gnu.org>

	Add Sun Bunnbu to 'AUTHORS'.

2014-11-12  宋文武  <iyzsong@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GNU Typist.
	* gnu/packages/games.scm (gtypist): New variable.

2014-11-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: Introduce (gnu artwork) module.
	* gnu/artwork.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* gnu/services/xorg.scm: Use it.
	  (%artwork-repository): Remove.
	* gnu/system/grub.scm: Use it.
	  (%artwork-repository): Remove.

	gnu: xorg: Add SLiM theme based on work by Felipe López.
	* gnu/services/xorg.scm (%artwork-repository, %default-slim-theme,
	  %default-slim-theme-name): New variables.
	  (slim-service): Add #:theme and #:theme-name parameters.
	  [slim.cfg]: Honor #:theme-name.
	  Honor #:theme by setting the "SLIM_THEMESDIR" environment variable.
	* doc/guix.texi (X Window): Adjust 'slim-service' documentation
	  accordingly.  Document '%default-slim-theme' and
	  '%default-slim-theme-name'.

	hydra: Make USB installation image bigger.
	* build-aux/hydra/gnu-system.scm (qemu-jobs): Require 800 MiB for the
	  USB disk image.

	gnu: guix: Update Git snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to commit
	  8ee0e71.

2014-11-11  Ludovic Courtès  <ludo@gnu.org>

	Update NEWS.

	system: Shorten the default label for GRUB entries.
	* gnu/system.scm (kernel->grub-label): Shorten entry labels.

	guix system: Decorate GRUB entries of old generations with date and number.
	* guix/scripts/system.scm (seconds->string): New procedure.
	  (previous-grub-entries)[system->grub-entry]: Add 'number' and 'time'
	  parameters.  Adjust call accordingly.

	activation: Set the firmware search path.
	* gnu/build/activation.scm (activate-firmware): New procedure.
	* gnu/system.scm (<operating-system>)[firmware]: New field.
	  (directory-union): New procedure.
	  (%base-firmware): New variable.
	  (operating-system-activation-script): Use 'directory-union', and call
	  'activate-firmware'.
	* doc/guix.texi (operating-system Reference): Document 'firmware'.

2014-11-11  Ludovic Courtès  <ludo@gnu.org>

	gnu: cross-base: Apply Qualcomm's patches for Binutils and GCC.
	This fixes compilation of the ath9k-htc firmware.  Before that, loading
	it would result in "Target is unresponsive".  The patches come from
	the ath9k-htc firmware source.

	* gnu/packages/patches/ath9k-htc-firmware-binutils.patch,
	  gnu/packages/patches/ath9k-htc-firmware-gcc.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/cross-base.scm (package-with-patch): New procedure.
	  (cross-binutils): Check whether TARGET starts with "xtensa-", and call
	  'package-with-patch' when it does.
	  (cross-gcc-patches): New procedure.
	  (cross-gcc): Use it to add patches.

2014-11-11  Ludovic Courtès  <ludo@gnu.org>

	services: xorg: Don't pass "-ac" to X.
	This had pretty much no effects given "-nolisten tcp".

	* gnu/services/xorg.scm (xorg-start-command): Remove "-ac" option.

2014-11-11  Alex Kost  <alezost@gmail.com>

	gnu: fonts: Fix license of 'terminus-font'.
	* gnu/packages/fonts.scm (terminus-font): Use 'silofl1.1' license.

2014-11-11  Mark H Weaver  <mhw@netris.org>

	gnu: libuninameslist: Include package name in file-name of source tarball.
	* gnu/packages/fontutils.scm (libuninameslist)[source]: Add file-name field.

2014-11-11  Ludovic Courtès  <ludo@gnu.org>

	import: Add GNU importer.
	Suggested by Karl Berry <karl@gnu.org>
	and Andreas Enge <andreas@enge.fr>.

	* guix/import/gnu.scm, guix/scripts/import/gnu.scm: New files.
	* Makefile.am (MODULES): Add them.
	* guix/scripts/import.scm (importers): Add "gnu".
	* guix/gnu-maintenance.scm (gnu-release-archive-types): New procedure.
	  (download-tarball): Export.

2014-11-11  Ludovic Courtès  <ludo@gnu.org>

	gnu-maintenance: Introduce <gnu-release> data type.
	* guix/gnu-maintenance.scm (<gnu-release>): New record type.
	  (release-file): Rename to...
	  (release-file?): ... this.  Return a Boolean.
	  (tarball->version, coalesce-releases): New procedures.
	  (releases): Call 'coalesce-releases' on RESULT.  Return <gnu-release>
	  objects instead of pairs.
	  (latest-release): Likewise.
	  (package-update-path): Adjust accordingly.
	* gnu/packages.scm (check-package-freshness): Adjust accordingly.

	nls: Update 'vi' translation.

2014-11-11  Andreas Enge  <andreas@enge.fr>

	gnu: polkit: Propagate input glib.
	* gnu/packages/polkit.scm (polkit): Propagate input glib.
	* gnu/packages/polkit.scm (polkit-qt): Drop input glib, now available
	    through propagation.

2014-11-11  Mark H Weaver  <mhw@netris.org>

	gnu: libpsl: Include package-name in file-name of source tarball.
	* gnu/packages/web.scm (libpsl)[source]: Add file-name field.

2014-11-11  Ludovic Courtès  <ludo@gnu.org>

	Thank Sylvain.

	gnu: Add wrapper for Freedink.
	* gnu/packages/games.scm (freedink-engine, freedink-data): Make
	  private.
	  (freedink): New variable.

2014-11-11  Sylvain Beucler  <beuc@beuc.net>
	    Ludovic Courtès  <ludo@gnu.org>.

	gnu: Add GNU Freedink.
	* gnu/packages/games.scm (freedink-engine, freedink-data): New
	  variables.

2014-11-10  Ludovic Courtès  <ludo@gnu.org>

	nls: Update 'de' translation.

	services: Add 'auto-start?' field to <service>.
	* gnu/services.scm (<service>)[auto-start?]: New field.
	* gnu/services/dmd.scm (dmd-configuration-file): Honor it.
	* gnu/system/install.scm (cow-store-service): Add 'auto-start?' field.

	gnu: libmikmod: Avoid dlopening libasound & co.
	* gnu/packages/sdl.scm (libmikmod)[arguments]: New field.

	doc: Mention "audio" and "video" groups in configuration template.
	* gnu/system/os-config.tmpl (users): Add "audio" and "video" groups and
	  explain.

	services: Add 'user-unmount-service' as an essential service.
	* gnu/services/base.scm (user-unmount-service): New procedure.
	* gnu/system.scm (essential-services): Use it.
	* gnu/system/install.scm (cow-store-service): Mention it in comment.

	syscalls: Add 'mount-points'.
	* guix/build/syscalls.scm (mount-points): New procedure.
	* tests/syscalls.scm ("mount-points"): New test.

	install: Add GRUB to the set of global packages.
	* gnu/system/install.scm (installation-os)[packages]: Add GRUB.

	nls: Add a few more package modules for translation.
	* po/packages/POTFILES.in: List a few more files.

2014-11-10  Alex Kost  <alezost@gmail.com>

	licenses: Add 'silofl1.1'.
	* guix/licenses.scm (silofl1.1): New variable.

2014-11-10  Ludovic Courtès  <ludo@gnu.org>

	doc: Mention 'guix environment' in "Features"; add index entries.
	* doc/guix.texi (Features): Add paragraph about 'guix environment'.
	  (Build Systems): Add @cindex.
	  (Invoking guix environment): Ditto.

	Update NEWS.

	Thank Philip Woods.

	doc: Add "GRUB Configuration".
	* doc/guix.texi (operating-system Reference): Add xref to "GRUB
	  Configuration".
	  (GRUB Configuration): New node.

2014-11-10  Ludovic Courtès  <ludo@gnu.org>

	doc: Avoid @indentedblock, which is not supported by Texinfo 4.
	Reported by Mark H Weaver.

	* doc/guix.texi (Security Updates): Use @quotation instead of
	  @indentedblock; the latter is not supported by Texinfo 4.

2014-11-10  Alex Kost  <alezost@gmail.com>

	emacs: Improve 'guix-redisplay-buffer'.
	* emacs/guix-base.el (guix-redisplay-buffer): Allow to display new entries.
	  Restore point position.

	emacs: Add 'guix-find-file'.
	* emacs/guix-utils.el (guix-find-file): New procedure.
	* emacs/guix-info.el (guix-file): Use it.

	emacs: Restore mode-line after operation prompt.
	* emacs/guix-base.el (guix-operation-prompt): Restore 'mode-line-format' after
	  prompting.

	emacs: Add "c" key binding to copy a button link.
	* emacs/guix-info.el (guix-info-button-map): New variable.
	  (guix-info-button-copy-label): New procedure.
	* doc/emacs.texi (Emacs Info buffer): Mention a "c" key binding.
	  (Emacs Keymaps): Add 'guix-info-button-map'.

2014-11-10  Andreas Enge  <andreas@enge.fr>

	gnu: Add polkit-qt.
	* gnu/packages/polkit.scm (polkit-qt): New variable.

2014-11-10  David Thompson  <dthompson2@worcester.edu>

	gnu: Add guile-sdl.
	* gnu/packages/sdl.scm (guile-sdl): New variable.

	gnu: Add sdl-union.
	* gnu/packages/sdl.scm (sdl-union): New variable.

2014-11-09  Ludovic Courtès  <ludo@gnu.org>

	pull: Use the build procedure provided by the newly-downloaded Guix.
	Fixes <http://bugs.gnu.org/18534>.

	* guix/scripts/pull.scm (with-environment-variable, with-PATH): New
	  macros.
	  (temporary-directory, first-directory, interned-then-deleted): New
	  procedures.
	  (unpack): Rewrite to do the unpacking in the current process rather
	  than as a separate derivation.
	  (%self-build-file): New variable.
	  (build-from-source): New procedure.
	  (build-and-install): Use it.
	* guix/build/pull.scm (build-guix): Rename 'tarball' argument to
	  'source'.  Remove #:tar and #:gzip parameters, as well as 'tar'
	  invocation.  Remove 'scandir' invocation.  Wrap body in
	  'with-directory-excursion'.
	* build-aux/build-self.scm: New file.
	* Makefile.am (EXTRA_DIST): Add it.

2014-11-09  Ludovic Courtès  <ludo@gnu.org>

	gexp: Add #:module-path parameter to 'gexp->derivation'.
	* guix/gexp.scm (gexp->derivation): Add #:module-path parameter, and
	  pass it to 'imported-modules' and 'compiled-modules'.
	* doc/guix.texi (G-Expressions): Adjust accordingly.

	gnu: Re-synchronize a couple of synopses with the Womb.
	* gnu/packages/lisp.scm (gcl): Synchronize synopsis.
	* gnu/packages/scheme.scm (mit-scheme): Ditto.

2014-11-09  Andreas Enge  <andreas@enge.fr>

	gnu: Add polkit.
	* gnu/packages/polkit.scm (polkit): New variable.
	* gnu/packages/patches/polkit-drop-test.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch file.

	gnu: Add nspr.
	* gnu/packages/polkit.scm (nspr): New variable.

2014-11-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Image::ExitTool.
	* gnu/packages/photo.scm (perl-image-exiftool): New variable.

	system: grub: Adjust default theme color.
	* gnu/system/grub.scm (%default-theme)[color-highlight]: Change
	  foreground to cyan, as suggested by Felipe López.

2014-11-08  Jason Self  <j@jxself.org>

	gnu: ffmpeg-2.2: Update to 2.2.10.
	* gnu/packages/video.scm (ffmpeg-2.2): Update to version 2.2.10.

	gnu: ffmpeg: Update to 2.4.3.
	* gnu/packages/video.scm (ffmpeg): Update to version 2.4.3.

2014-11-08  Ludovic Courtès  <ludo@gnu.org>

	services: udev: Make /dev/kvm 666 as a workaround.
	* gnu/services/base.scm (kvm-udev-rule): Change /dev/kvm mode to 666 to
	  work around <http://bugs.gnu.org/18994>.

	system: grub: Add preliminary support for themes.
	* gnu/system/grub.scm (<grub-image>, <grub-theme>): New record types.
	  (%artwork-repository, %background-image): New variables.
	  (<grub-configuration>)[theme]: New field.
	  (svg->png, resize-image, grub-background-image, eye-candy): New
	  procedures.
	  (grub-configuration-file): Use 'eye-candy' and add it in BUILDER.

	vm: The 'run-vm' scripts now passes its arguments to QEMU.
	* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add "$@" at
	  the end of the script.
	  (common-qemu-options): Remove trailing newline.
	* doc/guix.texi (Invoking guix system): Document it.

	Thank Felipe.

2014-11-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: slim: Update URL.
	Reported by Felipe López <felipe.lopez@openmailbox.org>.

	* gnu/packages/slim.scm (slim)[origin, home-page]: Update URL.

2014-11-08  Ludovic Courtès  <ludo@gnu.org>

	vm: Fix 'vm --full-boot' to produce a sufficient disk image.
	* gnu/system/vm.scm (system-qemu-image/shared-store): Add
	  #:disk-image-size and #:full-boot? parameters and honor them.  Pass
	  '#:copy-inputs? full-boot?', and change #:inputs argument.
	* guix/scripts/system.scm (system-derivation-for-action): Pass
	  #:disk-image-size to 'system-qemu-image/shared-store'.
	* doc/guix.texi (Invoking guix system): Mention use of '--image-size' in
	  conjunction with '--full-boot'.

2014-11-08  Andreas Enge  <andreas@enge.fr>

	gnu: acct: Update to 6.6.2.  * gnu/packages/acct.scm (acct): Update to 6.6.2.

	gnu: Add mozjs (Mozilla Spidermonkey).
	* gnu/packages/polkit.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Register new file.

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

2014-11-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: grub: Add dependency on GNU Unifont.
	* gnu/packages/grub.scm (unifont): New variable.
	  (grub)[arguments]: Copy and unzip Unifont in 'patch-stuff' phase.
	  [native-inputs]: Add UNIFONT.

	vm: Support 'guix system vm --full-boot'.
	* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add
	  #:full-boot? parameter and honor it.
	* guix/scripts/system.scm (system-derivation-for-action): Likewise.
	  (perform-action): Likewise.
	  (show-help): Document '--full-boot'.
	  (%options): Add '--full-boot'.
	  (guix-system): Add #:full-boot? argument in call to 'perform-action'.
	* doc/guix.texi (Invoking guix system): Document it.

	doc: Emphasize the availability of two user interfaces.
	* doc/guix.texi (Package Management): Add a word about the two user
	  interfaces.

	services: xorg: Add argv[0] in X invocation.
	* gnu/services/xorg.scm (xorg-start-command): Add missing argv[0] in
	  'execl' call.

2014-11-07  Andreas Enge  <andreas@enge.fr>

	gnu: xf86-video-intel: Swap input libdrm with mesa.
	* gnu/packages/xorg.scm (xf86-video-intel): Drop input libdrm, add input
	    mesa.

2014-11-07  Ludovic Courtès  <ludo@gnu.org>

	lint: Allow synopses that start with an abbreviation.
	* guix/scripts/lint.scm (starts-with-abbreviation?): New procedure.
	  (check-synopsis-style)[check-start-with-package-name]: Use it.
	* tests/lint.scm ("synopsis: start with abbreviation"): New test.

	lint: Skip starting-article test for the synopses of GNU packages.
	* guix/scripts/lint.scm (check-synopsis-style)[check-start-article]:
	  Change to (const #t) when PACKAGE matches 'gnu-package?'.

	lint: Tolerate sentences that start with a parenthesis or a quote.
	* guix/scripts/lint.scm (properly-starts-sentence?): Add (, ", and ' as
	  valid beginnings.

	lint: Improve check for synopses starting with package name.
	* guix/scripts/lint.scm (package-name-regexp): New procedure.
	  (check-synopsis-style)[check-start-with-package-name]: Use it instead
	  of 'string-prefix-ci?'.
	* tests/lint.scm ("synopsis: start with package name prefix"): New test.

	gnu: cppunit: Add missing space in description.
	* gnu/packages/check.scm (cppunit)[description]: Add missing space.

	lint: Simplify no-warnings tests.
	* tests/lint.scm ("description: may start with a digit"): Replace
	  (not (string-contains exp str)) with (string-null? exp).
	  ("description: may start with lower-case package name"): Likewise.
	  ("description: end-of-sentence detection with abbreviations"):
	  Likewise.
	  ("synopsis: may start with a digit"): Likewise.
	  ("synopsis: ends with 'etc.'"): Likewise.

	gnu: Move pkg-config to 'native-inputs' in various places.
	* gnu/packages/glib.scm (libsigc++): Move pkg-config to
	  'native-inputs'.
	  (glibmm): Likewise.
	* gnu/packages/mpd.scm (mpd): Likewise.
	* gnu/packages/package-management.scm (guix-0.7): Likewise.
	* gnu/packages/sdl.scm (sdl-net): Likewise.
	  (sdl-ttf): Likewise.
	* gnu/packages/xiph.scm (vorbis-tools): Likewise.

2014-11-07  Alex Kost  <alezost@gmail.com>

	emacs: Add 'guix-prettify'.
	* emacs/guix-prettify.el: New file.
	* emacs.am (ELFILES): Add it.
	* doc/emacs.texi (Emacs Prettify): New node.
	* doc/guix.texi (Features): Mention it.

2014-11-07  Ludovic Courtès  <ludo@gnu.org>

	services: xorg: Allow users to specify a list of resolutions.
	* gnu/services/xorg.scm (xorg-start-command): Add #:resolutions
	  parameter and 'screen-section' procedure.  Use it.
	* doc/guix.texi (X Window): Adjust accordingly.

	services: xorg: Allow users to specify the drivers to use.
	* gnu/services/xorg.scm (xorg-start-command): Add #:drivers parameter.
	  Add 'device-section' procedure, and use it in 'xserver.conf'.
	* doc/guix.texi (X Window): Document it.

	services: xorg: Fix typo in xserver.conf.
	* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add missing
	  double-quote in AllowMouseOpenFail.

2014-11-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add xf86-video-modesetting.
	* gnu/packages/xorg.scm (xf86-video-modesetting): New variable.
	* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
	  ModulePath line for XF86-VIDEO-MODESETTING, commented out.

	vm: Factorize common QEMU options.
	* gnu/system/vm.scm (common-qemu-options): New procedure.
	  (system-qemu-image/shared-store-script): Use it.

	vm: Remove unused procedure.
	* gnu/system/vm.scm (input->name+output): Remove.  Its last user
	  disappeared in commit b53833b.

	tests: Avoid Bash extension in 'tests/guix-lint.sh'.
	* tests/guix-lint.sh: Remove redundant and non-portable 'export'.

2014-11-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: ots: Make sure the shared library has the '.so' extension.
	Fixes <http://bugs.gnu.org/18521>.

	* gnu/packages/ots.scm (ots)[arguments]: Add #:phases.

2014-11-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: Synchronize descriptions with the Womb.
	Note: some of these changes undo bits of 35b9e4232.

	* gnu/packages/base.scm, gnu/packages/gperf.scm, gnu/packages/guile.scm,
	  gnu/packages/libidn.scm, gnu/packages/miscfiles.scm,
	  gnu/packages/telephony.scm: Adjust synopses and descriptions as
	  suggested by 'make sync-descriptions'.

2014-11-05  Ludovic Courtès  <ludo@gnu.org>

	system: Define 'INFOPATH' in /etc/profile.
	* gnu/system.scm (etc-directory)[bashrc]: Set 'INFOPATH'.

	gnu: guix: Update development snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to commit
	  84934f4.

	monads: Remove unused 'nargs' parameter from 'lift'.
	* guix/monads.scm (lift): Remove 'nargs' parameter.

2014-11-05  Alex Kost  <alezost@gmail.com>

	build: Add missing "emacs/guix-messages.el".
	* emacs.am (ELFILES): Add "emacs/guix-messages.el".

2014-11-05  Ludovic Courtès  <ludo@gnu.org>

	import: pypi: Gracefully handle wrong argument counts.
	* guix/scripts/import/pypi.scm (guix-import-pypi): Use 'leave' to handle
	  cases where ARGS has zero or two or more elements.

2014-11-05  Ludovic Courtès  <ludo@gnu.org>

	import: pypi: Gracefully handle non-existent packages.
	Fixes <http://bugs.gnu.org/18831>.
	Reported by Ian Denhardt <ian@zenhack.net>.

	* guix/import/pypi.scm (url-fetch, json-fetch, pypi-fetch): Augment
	  docstring to mention #f on failure.
	  (pypi->guix-package): Likewise, and actually return #f on failure.
	* guix/scripts/import/pypi.scm (guix-import-pypi): Call 'leave' when
	  'pypi->guix-package' returns #f.

2014-11-05  Ludovic Courtès  <ludo@gnu.org>

	services: Add NTP service.
	* gnu/services/networking.scm (ntp-service): New procedure.
	* doc/guix.texi (Networking Services): Document it.

	services: Increase delay before SIGKILL is sent when halting.
	* gnu/services/base.scm (user-processes-service): Increase the default
	  value of 'grace-delay'.  This leaves more time for processes to clean
	  up their PID files, /tmp/.X0-lock, etc.

	gnu: ntp: Build with POSIX capabilities support on GNU/Linux.
	* gnu/packages/ntp.scm (ntp)[inputs]: New field.

	vm: Disable swap devices in virtualized OSes.
	* gnu/system/vm.scm (virtualized-operating-system): Add 'swap-devices'
	  field.

	gnu: sdl: Fix home page URLs.
	* gnu/packages/sdl.scm (sdl-image, sdl-mixer, sdl-net, sdl-ttf): Prepend
	  "http://" to 'home-page'.

2014-11-05  Eric Bavier  <bavier@member.fsf.org>

	gnu: calcurse: Update to 3.2.1.
	* gnu/packages/calcurse.scm (calcurse): Update to 3.2.1.

2014-11-05  David Thompson  <dthompson2@worcester.edu>

	gnu: freeimage: Remove MIPS from supported-systems.
	* gnu/packages/image.scm (freeimage): Drop support for "mips64el-linux".

2014-11-04  Andreas Enge  <andreas@enge.fr>

	gnu: phonon: Update to 4.8.2.
	* gnu/packages/kde.scm (phonon): Update to 4.8.2.

	gnu: xf86-video-ati: Update to 6.14.6.
	* gnu/packages/xorg.scm (xf86-video-ati): Update to 6.14.6 to circumvent
	    build failures.

2014-11-04  Ludovic Courtès  <ludo@gnu.org>

	tests: When a store item is to be deleted, make it statistically unique.
	Fixes <http://bugs.gnu.org/18935>.
	Reported by Mark H Weaver <mhw@netris.org>.

	Previously, if tests/nar.scm ran concurrently with tests/gexp.scm, the
	store item "foo" containing the string "Hello, world!" could be
	deleted (via 'delete-paths') from the tests/nar.scm daemon while the
	tests/gexp.scm daemon would still consider it live.

	* tests/nar.scm ("restore-file-set (missing signature)"):
	  Use (random-text) rather than "Hello, world!", to avoid concurrent
	  deletion of store item "foo" used in tests/gexp.scm.

2014-11-04  Ludovic Courtès  <ludo@gnu.org>

	store: Invalidate caches once GC has run.
	* guix/store.scm (run-gc): Add calls to 'hash-clear!'.
	* tests/store.scm ("add-text-to-store vs. delete-paths",
	  "add-to-store vs. delete-paths"): New tests.

2014-11-04  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Update to 5.3.2.
	* gnu/packages/qt.scm (qt): Update to 5.3.2. Drop configure flag
	    -no-neon, which is not supported any more.

2014-11-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc-4.9: Update to 4.9.2.
	* gnu/packages/gcc.scm (gcc-4.9): Update to 4.9.2.

	gnu: Add GNU adns.
	* gnu/packages/adns.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: evince: Use 'glib-or-gtk-build-system'.
	* gnu/packages/gnome.scm (evince)[build-system]: Switch to
	  GLIB-OR-GTK-BUILD-SYSTEM.

	gnu: gdb: Do not install libopcodes and libbfd.
	* gnu/packages/gdb.scm (gdb)[arguments]: Add 'post-install' phase.

	gnu: gdb: Update to 7.8.1.
	* gnu/packages/gdb.scm (gdb): Update to 7.8.1.

2014-11-04  Federico Beffa  <beffa@fbengineering.ch>

	gnu: Add docbook-xml-4.2
	* gnu/packages/docbook.scm (docbook-xml-4.2): New variable.

	gnu: Add gnome-themes-standard.
	* gnu/packages/gnome.scm (gnome-themes-standard): New variable.

	gnu: librsvg: Generate complete loaders.cache including support for SVG.
	* gnu/packages/gnome.scm (librsvg): Add 'generate-full-cache phase.

2014-11-04  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Explicitly link with the dbus library.
	* gnu/packages/qt.scm (qt, qt-4): Add a configure flag to link explicitly
	    with dbus.

2014-11-04  Alex Kost  <alezost@gmail.com>

	doc: emacs: Fix titles of the printed manuals.
	* doc/emacs.texi: Use the proper names of the printed manuals in the
	  cross references.

2014-11-04  Alex Kost  <alezost@gmail.com>

	emacs: Add interface for comparing generations.
	Suggested by Ludovic Courtès.

	* doc/emacs.texi (Emacs List buffer): Document new key bindings.
	* emacs/guix-base.el (guix-generation-packages-buffer-name-function,
	  guix-generation-packages-update-buffer, guix-output-name-width): New
	  variables.
	  (guix-generation-file, guix-manifest-file, guix-generation-packages,
	  guix-generation-packages-buffer-name-default,
	  guix-generation-packages-buffer-name-long,
	  guix-generation-packages-buffer-name, guix-generation-packages-buffer,
	  guix-generation-insert-package, guix-generation-insert-packages,
	  guix-profile-generation-manifest-file,
	  guix-profile-generation-packages-buffer): New procedures.
	* emacs/guix-list.el: Add key bindings for comparing generations.
	  (guix-generation-list-generations-to-compare,
	  guix-generation-list-show-added-packages,
	  guix-generation-list-show-removed-packages, guix-generation-list-compare,
	  guix-generation-list-ediff-manifests, guix-generation-list-diff-manifests,
	  guix-generation-list-ediff-packages, guix-generation-list-diff-packages,
	  guix-generation-list-ediff, guix-generation-list-diff): New procedures.
	* emacs/guix-messages.el (guix-messages): Add 'generation-diff' search type.
	  (guix-message-outputs-by-diff): New procedure.
	* emacs/guix-utils.el (guix-diff-switches): New variable.
	  (guix-diff): New procedure.
	* emacs/guix-main.scm (package/output-sexps): Handle 'generation-diff' search
	  type.
	  (manifest-entry->package-specification,
	  manifest-entries->package-specifications, generation-package-specifications,
	  generation-package-specifications+paths, generation-difference): New
	  procedures.

2014-11-04  Alex Kost  <alezost@gmail.com>

	emacs: Improve minibuffer messages.
	* emacs/guix-base.el (guix-messages, guix-result-message): Move to
	  'guix-messages.el'.
	  (guix-set-buffer, guix-history-call, guix-redisplay-buffer): Adjust for
	  the modified 'guix-result-message'.
	* emacs/guix-messages.el: New file.
	  (guix-redisplay-buffer): Add 'profile' argument.
	  (guix-message-string-name, guix-message-string-entry-type,
	  guix-message-string-entries, guix-message-packages-by-name,
	  guix-message-generations-by-time): New procedures.

2014-11-04  Andreas Enge  <andreas@enge.fr>

	gnu: swig: Disable input python.
	* gnu/packages/swig.scm (swig): Disable input python. Before, it was not
	    taken into account during configure; now that it is found, it fails
	    its tests. None of the dependent packages need it.

	gnu: swig: Update to 3.0.2.
	* gnu/packages/swig.scm (swig): Update to 3.0.2.

	gnu: swig: Update to 2.0.12.
	* gnu/packages/swig.scm (swig): Update to 2.0.12.

	gnu: python-wrapper: Propagate input python.
	* gnu/packages/python.scm (python-wrapper): Propagate input python, so that
	    the python libraries are made available as well as the python3 binaries
	    without the symbolic links.

2014-11-04  Eric Bavier  <bavier@member.fsf.org>

	gnu: Use version-major+minor in gnome and gtk.
	* gnu/packages/gnome.scm (gnome-desktop, gnome-doc-utils,
	  libgnome-keyring, evince, gsettings-desktop-schemas,
	  gnome-icon-theme, libnotify, lipeas, glade, libcroco, libgsf,
	  librsvg, libidl, orbit2, gconf, gnome-mime-data, gnome-vfs,
	  libgnome, libart-lgpl, libgnomecanvas, libgnomeui, libglade,
	  libgnomeprint, libgnomeprintui, libbonoboui, goffice, gnumeric): Use
	  version-major+minor.
	  (shared-mime-info, hicolor-icon-theme): Wrap long uri lines.
	* gnu/packages/gtk.scm (atk, pangox-compat, gtksourceview, gdk-pixbuf,
	  at-spi2-core, at-spi2-atk, gtk+-2, gtk+, pangomm, atkmm, gtkmm,
	  gtkmm-2): Use version-major+minor.

2014-11-03  Ludovic Courtès  <ludo@gnu.org>

	packages: 'package-transitive-supported-systems' accounts for indirect deps.
	Reported by Andreas Enge <andreas@enge.fr>.

	* guix/packages.scm (first-value): New macro.
	  (package-transitive-supported-systems): Rewrite to traverse all the
	  DAG rooted at PACKAGE.
	* tests/packages.scm ("package-transitive-supported-systems"): Add 'd'
	  and 'e', and test them.

2014-11-03  Federico Beffa  <beffa@fbengineering.ch>

	gnu: Add Cython.
	* gnu/packages/python.scm (cython, cython2): New variables.

2014-11-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: man-pages: Build sequentially.
	Fixes <http://bugs.gnu.org/18701>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* gnu/packages/man.scm (man-pages)[arguments]: Add #:parallel-build? #f.

2014-11-02  Ludovic Courtès  <ludo@gnu.org>

	system: Allow Linux-libre to find our 'modprobe' command.
	Fixes <http://bugs.gnu.org/18525>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* gnu/build/activation.scm (activate-modprobe): New procedure.
	* gnu/system.scm (modprobe-wrapper): New procedure.
	  (operating-system-activation-script): Use both.

2014-11-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: kmod: 'kmod static-nodes' command honors $LINUX_MODULE_DIRECTORY.
	* gnu/packages/patches/kmod-module-directory.patch: Add hunk for
	  tools/static-nodes.c.  Taken from Nixpkgs, where it was added by
	  Eelco Dolstra <eelco.dolstra@logicblox.com>.

2014-11-02  Ludovic Courtès  <ludo@gnu.org>

	guix-register: Do not attempt to create NIX_STORE_DIR.
	Fixes <http://bugs.gnu.org/18689>.
	Reported by Philip Woods <elzairthesorcerer@gmail.com>.

	* nix/guix-register/guix-register.cc (main): Move 'store' instantiation
	  above 'settings.nixStore' assignment.

2014-11-02  Ludovic Courtès  <ludo@gnu.org>

	packages: Implement grafts.
	Thanks to Mark H. Weaver <mhw@netris.org> for insightful discussions
	and suggestions.

	* guix/packages.scm (<package>)[graft]: New field.
	  (patch-and-repack): Invoke 'package-derivation' with #:graft? #f.
	  (package-source-derivation): Likewise.  Do not use (%guile-for-build)
	  in call to 'patch-and-repack', and we could end up using a grafted
	  Guile.
	  (expand-input): Likewise, also for 'package-cross-derivation' call.
	  (package->bag): Add #:graft? parameter.  Honor it.  Use 'strip-append'
	  instead of 'package-full-name'.
	  (input-graft, input-cross-graft, bag-grafts, package-grafts): New
	  procedures.
	  (package-derivation, package-cross-derivation): Add #:graft? parameter
	  and honor it.
	* gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Add
	  recursive call on 'graft'.
	* guix/build-system/gnu.scm (package-with-explicit-inputs,
	  package-with-extra-configure-variable, static-package): Likewise.
	  (gnu-build): Use the ungrafted Guile to avoid full rebuilds.
	  (gnu-cross-build): Likewise.
	* guix/build-system/cmake.scm (cmake-build): Likewise.
	* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise.
	* guix/build-system/perl.scm (perl-build): Likewise.
	* guix/build-system/python.scm (python-build): Likewise.
	* guix/build-system/ruby.scm (ruby-build): Likewise.
	* guix/build-system/trivial.scm (guile-for-build): Likewise.
	* tests/packages.scm ("package-derivation, direct graft",
	  "package-cross-derivation, direct graft", "package-grafts,
	  indirect grafts", "package-grafts, indirect grafts, cross",
	  "package-grafts, indirect grafts, propagated inputs",
	  "package-derivation, indirect grafts"): New tests.
	  ("bag->derivation", "bag->derivation, cross-compilation"): Wrap in
	  'parameterize'.
	* doc/guix.texi (Security Updates): New node.
	  (Invoking guix build): Document --no-graft.

2014-11-02  Ludovic Courtès  <ludo@gnu.org>

	packages: Add 'package->bag' test for propagated inputs.
	* tests/packages.scm ("package->bag, propagated inputs"): New test.

	derivations: Add 'derivation-name'.
	* guix/derivations.scm (derivation-name): New procedure.
	* tests/derivations.scm ("derivation-name"): New test.

2014-11-02  Andreas Enge  <andreas@enge.fr>

	gnu: Add oxygen-icons.
	* gnu/packages/kde.scm (oxygen-icons): New variable.

2014-11-02  Alex Kost  <alezost@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	emacs: Add package info heading.

	* emacs/guix-info.el: (guix-package-info-heading): New face.
	  (guix-package-info-synopsis): Modify face.
	  (guix-info-insert-entry-default, guix-package-info-insert-heading,
	  guix-package-info-insert-with-heading): New procedures.
	  (guix-package-info-heading-params, guix-info-insert-package-function,
	  guix-info-insert-installed-function, guix-info-insert-output-function,
	  guix-info-insert-generation-function): New variables.

2014-11-02  David Thompson  <dthompson2@worcester.edu>

	gnu: Add freeimage.
	* gnu/packages/image.scm (freeimage): New variable.

2014-11-02  Andreas Enge  <andreas@enge.fr>

	gnu: libart-lgpl: Update to 2.3.21.
	* gnu/packages/gnome.scm (libart-lgpl): Update to 2.3.21.

2014-11-01  Eric Bavier  <bavier@member.fsf.org>

	gnu: wget: Add input libpsl.
	* gnu/packages/wget.scm (wget)[inputs]: Add libpsl.

	gnu: Add libpsl.
	* gnu/packages/web.scm (libpsl): New variable.

	gnu: wget: Upgrade to 1.16.
	* gnu/packages/wget.scm (wget)[source]: Upgrade to 1.16.
	  [inputs]: Add libidn.
	  [native-inputs]: Add python, perl-http-daemon, and
	  perl-io-socket-ssl.

	gnu: Add perl-io-socket-ssl.
	* gnu/packages/web.scm (perl-io-socket-ssl): New variable.

	gnu: Add perl-net-ssleay.
	* gnu/packages/openssl.scm (perl-net-ssleay): New variable.

2014-10-31  David Thompson  <dthompson2@worcester.edu>

	gnu: ruby: Update to 2.1.4.
	* gnu/packages/ruby.scm: Update.  Remove the now redundant readline patch.

2014-10-31  Ludovic Courtès  <ludo@gnu.org>

	build: Unset 'CDPATH' in 'test-env'.
	Reported by Mathieu Lirzin.

	* test-env.in: Unset 'CDPATH'.

2014-10-31  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.17.2.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.17.2.

2014-10-31  Ludovic Courtès  <ludo@gnu.org>

	gnu: gpsbabel: Correctly unquote the value for #:tests?.
	* gnu/packages/gps.scm (gpsbabel)[arguments]: Add missing unquote.
	  Fixes typo introduced in 8235039.

2014-10-30  Ludovic Courtès  <ludo@gnu.org>

	download: Append (effective-version) to '%load-path' for GnuTLS.
	* guix/download.scm (url-fetch)[builder]: Append (effective-version) to
	  %load-path, as discussed at
	  <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00398.html>.
	  This fixes a regression introduced in b94ae0b.

	environment: Improve '--help' output.
	* guix/scripts/environment.scm (show-help): Align --pure and
	  --search-paths with other long options; add 'newline' call before
	  'show-bug-report-information' call.

	gnu: gpsbabel: Disable tests on i686.
	* gnu/packages/gps.scm (gpsbabel)[arguments]: Add #:tests?.

2014-10-30  Andreas Enge  <andreas@enge.fr>

	gnu: texlive: Move script packages from native-inputs to inputs.
	* gnu/packages/texlive.scm (texlive): Move perl, python and tcsh from
	    native inputs to inputs.

2014-10-29  Andreas Enge  <andreas@enge.fr>

	gnu: texlive: Add inputs fontforge and ruby.
	* gnu/packages/texlive.scm (texlive): Add interpreters fontforge and ruby
	    to the inputs.

	gnu: texlive: Use system potrace instead of bundled copy.
	* gnu/packages/texlive.scm (texlive): Add potrace as an input and modify
	    the configure flags accordingly.

	gnu: potrace: Install libraries and header files.
	* gnu/packages/fontutils.scm (potrace): Add configure flag to install
	    libraries and header files.

	gnu: texlive: Drop obsolete input t1lib.
	* gnu/packages/texlive.scm (texlive): Drop input t1lib and the corresponding
	    configure flag.
	    Since texlive-2013, xdvi uses freetype instead of t1lib for rendering.

	gnu: texlive: Use system libpaper instead of bundled copy.
	* gnu/packages/texlive.scm (texlive): Add libpaper as an input and modify
	    the configure flags accordingly.

	gnu: texlive: Use system harfbuzz instead of bundled copy.
	* gnu/packages/texlive.scm (texlive): Add harfbuzz as an input and modify
	    the configure flags accordingly.

	gnu: harfbuzz: Add and enable input graphite2.
	* gnu/packages/gtk.scm (harfbuzz): Add input graphite2 and enable it with
	    the corresponding configure flag.

	gnu: texlive: Use system graphite2 instead of bundled copy.
	* gnu/packages/texlive.scm (texlive): Add graphite2 as an input and modify
	    the configure flags accordingly.

2014-10-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GPS Correlate.
	* gnu/packages/gps.scm (gpscorrelate): New variable.

	gnu: Add GPSBabel.
	* gnu/packages/gps.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	import: snix: Handle license attributes.
	* guix/import/snix.scm (snix-derivation->guix-package)[license-variable]:
	  Move to...
	  (license-variable): ... here.  Handle license attributes.

2014-10-29  Ludovic Courtès  <ludo@gnu.org>

	offload: Remove mutual exclusion on transfers.
	Suggested by Mark H. Weaver <mhw@netris.org>
	at <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00352.html>.

	* guix/scripts/offload.scm (transfer-and-offload): Remove uses of
	  'with-machine-lock'.

2014-10-29  Ludovic Courtès  <ludo@gnu.org>

	derivations: Fix 'derivation-prerequisites-to-build' when #:local-build?.
	* guix/derivations.scm (derivation-prerequisites-to-build)[derivation-substitutable?]:
	  Call 'substitutable-derivation?'.
	  <body>: When 'substitutable-derivation?' returns #f, add DRV to BUILD.

	tests: Move some of the narinfo test tools to (guix tests).
	* guix/tests.scm (derivation-narinfo, call-with-derivation-narinfo): New
	  procedures.
	  (with-derivation-narinfo): New macro.
	* tests/derivations.scm ("derivation-prerequisites-to-build and
	  substitutes"): Use them.

	system: Add pciutils and pciutils to '%base-packages'.
	* gnu/system.scm (%base-packages): Add PCIUTILS and USBUTILS.

	gnu: Add ath9k-htc-firmware.
	* gnu/packages/firmware.scm: New file.
	* gnu/packages/patches/ath9k-htc-firmware-objcopy.patch: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add 'firmware.scm'.
	  (dist_patch_DATA): Add the patch.

	gnu: Add Xtensa bare-bones cross-compiler.
	* gnu/packages/cross-base.scm (xgcc-xtensa): New variable.
	* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
	  "xtensa-elf".

	derivations: Add 'offloadable-derivation?' and 'substitutable-derivation?'.
	* guix/derivations.scm (offloadable-derivation?,
	  substitutable-derivation?): New procedures.
	* tests/derivations.scm ("offloadable-derivation?"): New test.

	gnu: guile-ncurses: Update to 1.6.
	* gnu/packages/guile.scm (guile-ncurses): Update to 1.6.

2014-10-28  Eric Bavier  <bavier@member.fsf.org>

	build: Adjust lint tests for latest rules.
	* tests/guix-lint.sh (dummy)[description]: Add failing case.
	  [doc]: Adjust.

2014-10-28  Ludovic Courtès  <ludo@gnu.org>

	list-packages: Add Hydra links only for the supported systems.
	* build-aux/list-packages.scm (package->sxml)[status]: Use
	  'package-transitive-supported-systems' instead of a hard-coded list of
	  systems.

	gnu: mit-scheme: Fix typo in 'supported-systems'.
	* gnu/packages/scheme.scm (mit-scheme)[supported-systems]: Correct
	  spelling of "mips64el-linux".

2014-10-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: atlas: Make it non-substitutable.
	Suggested by Federico Beffa <beffa@ieee.org>.

	* gnu/packages/maths.scm (atlas)[arguments]: Pass #:substitutable? #f.
	  [description]: Adjust accordingly.

2014-10-28  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add #:substitutable? parameter.
	* guix/build-system/gnu.scm (gnu-build): Add #:substitutable?
	  parameter.  Pass #:local-build? to 'build-expression->derivation'.
	  (gnu-cross-build): Likewise.

	gnu: Mark a few packages as unsupported on MIPS.
	* gnu/packages/gprolog.scm (gprolog): Add 'supported-systems' field.
	* gnu/packages/qemu.scm (qemu-headless): Likewise.
	* gnu/packages/qt.scm (qt): Likewise.
	* gnu/packages/scheme.scm (racket): Likewise.

2014-10-27  Alex Kost  <alezost@gmail.com>

	emacs: Add 'guix-pull' command.
	* emacs/guix-base.el (guix-pull): New command.
	  (guix-update-after-pull, guix-after-pull-hook): New variables.
	  (guix-restart-repl-after-pull, guix-update-buffers-maybe-after-pull): New
	  procedures.
	* emacs/guix-main.scm: Use (guix scripts pull) module.
	* doc/emacs.texi (Emacs Commands): Document 'guix-pull' command.

	emacs: Improve REPL procedures.
	* emacs/guix-backend.el (guix-start-process-maybe): Add 'start-msg' and
	  'end-msg' optional arguments.
	  (guix-start-repl-maybe): Likewise.  Do not kill buffer with a dead process.
	  (guix-repl-exit): New procedure.
	  (guix-eval-in-repl): Use 'geiser-repl--send'.

	emacs: Improve buffer procedures.
	* emacs/guix-base.el (guix-list-or-info-buffer-p): Delete.  Replace with...
	  (guix-buffer-p): ... this.  New procedure.
	  (guix-buffers): Use it.  Add 'modes' argument.
	  (guix-update-buffer): New procedure.
	  (guix-update-buffers-maybe): Rename to ...
	  (guix-update-buffers-maybe-after-operation): this.  Use
	  'guix-update-buffer'.

	emacs: Introduce REPL operation type.
	* emacs/guix-backend.el (guix-repl-operation-type): New variable.
	  (guix-repl-output-filter): Run type hooks after performing an operation.
	  (guix-eval-read): Add 'operation-type' argument.

	emacs: Handle updating by ID after REPL restart.
	* emacs/guix-base.el (guix-entry-to-specification,
	  guix-entries-to-specifications): New procedures.
	  (guix-revert-buffer): Search by name if searching by ID gives no results.

2014-10-27  Ian Denhardt  <ian@zenhack.net>
	    Ludovic Courtès  <ludo@gnu.org>

	doc: Add a note about optional GnuTLS dependency.
	* README (Requirements): add a note about 'guix download''s GnuTLS dependency.
	* doc/guix.texi (Requirements): Likewise.

2014-10-27  Ludovic Courtès  <ludo@gnu.org>

	doc: Add cross-reference to the gnutls-guile manual.
	* doc/guix.texi (Invoking guix download): Add cross-reference to the
	  gnutls-guile manual.

2014-10-27  John Darrington  <jmd@gnu.org>

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

2014-10-27  Mark H Weaver  <mhw@netris.org>

	gnu: Add prefix to license imports in (gnu packages feh).
	* gnu/packages/feh.scm: Import (guix licenses) with #:prefix license: to avoid
	  importing 'imlib2' from both (gnu packages image) and (guix licenses).

	gnu: ruby: Miscellaneous improvements to package definition.
	* gnu/packages/ruby.scm (ruby): Compute major+minor version string for the
	  source URI.  Switch to the .bz2 tarball and update the hash accordingly.
	  Remove 'autoconf' from the inputs.  Change 'native-search-paths' to the
	  directory that is actually created by the build.  Remove the package name
	  from the synopsis.
	  (ruby-1.8): Compute major+minor version string for the source URI, and avoid
	  the use of 'name' in the URI computation.  Remove 'name' field, since it is
	  inherited and no longer needed.

2014-10-27  Pjotr Prins  <pjotr.public12@thebird.nl>

	gnu: Add ruby 1.8.7.
	* gnu/packages/ruby.scm (ruby-1.8): New variable.

2014-10-27  Alex Kost  <alezost@gmail.com>

	gnu: gnutls: Fix path to a guile site directory.
	Suggested by Ludovic Courtès.

	* gnu/packages/gnutls.scm (gnutls): Add '--with-guile-site-dir' configure
	  flag.

2014-10-27  Mark H Weaver  <mhw@netris.org>

	gnu: parallel: Update to 20141022.
	* gnu/packages/parallel.scm (parallel): Update to 20141022.

2014-10-26  Mark H Weaver  <mhw@netris.org>

	gnu: tor: Update to 0.2.5.10.
	* gnu/packages/tor.scm (tor): Update to 0.2.5.10.

2014-10-26  Alex Kost  <alezost@gmail.com>

	licenses: Add 'imlib2'.
	* guix/licenses.scm (imlib2): New variable.
	* gnu/packages/image.scm (imlib2): Use it.

2014-10-26  Eric Bavier  <bavier@member.fsf.org>

	gnu: Some cleanup based on lint checkers.
	* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
	  gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
	  gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
	  gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
	  gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
	  gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
	  gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
	  gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
	  gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
	  gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
	  gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
	  gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
	  gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
	  gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
	  gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
	  gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
	  gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
	  gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
	  gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
	  gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
	  gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
	  gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
	  gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
	  gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
	  gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
	  gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
	  gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
	  gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
	  gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
	  gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
	  gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
	  gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
	  gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
	  gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
	  according to lint checkers.
	* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
	* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.

	guix: lint: Make exception for package name starting description.
	* guix/scripts/lint.scm (check-description-style): Exception for
	  upper-case rule if the description starts with the package name.
	* tests/lint.scm: Test it.

	guix: lint: Allow digits at start of synopsis or description.
	* guix/scripts/lint.scm (start-with-capital-letter?): Rename too...
	  (properly-starts-sentence?): Rewrite with regex and add digits.
	  (check-description-style, check-synopsis-style): Use it.
	* tests/lint.scm: Add tests.

	guix: lint: Check for empty synopses and descriptions.
	* guix/scripts/lint.scm (check-description-style,
	  check-synopsis-style): New emptiness checks.
	* tests/lint.scm: Test them.

	guix: lint: Check for proper end-of-sentence space.
	* guix/scripts/lint.scm (start-with-capital-letter?): Handle empty
	  strings.
	  (check-description-style): New check for end-of-sentence space.
	* tests/lint.scm: Test it.

	guix: lint: Use if/when consistently.
	* guix/scripts/lint.scm (check-synopsis-style): Replace single-branch
	  uses of if with when.
	  (check-patches): Same

	guix: lint: Use string-suffix? and string-prefix? where appropriate.
	* guix/scripts/lint.scm (check-synopsis): Use string-suffix? and
	  string-prefix? in place of string-take and string=?.

2014-10-26  Federico Beffa  <beffa@fbengineering.ch>

	gnu: Add ATLAS.
	* gnu/packages/maths.scm (atlas): New variable.

2014-10-26  Joshua Grant  <tadni@riseup.net>

	Update name and email address for Joshua Grant.

2014-10-26  John Darrington  <jmd@gnu.org>

	gnu: Add cppunit
	* gnu/packages/check.scm (cppunit): New variable.

2014-10-26  Mark H Weaver  <mhw@netris.org>

	gnu: pulseaudio: Fix CVE-2014-3970 and intermittent test failures.
	* gnu/packages/patches/pulseaudio-CVE-2014-397.patch: New file.
	* gnu/packages/patches/pulseaudio-fix-mult-test.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/pulseaudio.scm (pulseaudio): Add patches.

2014-10-26  Mark H Weaver  <mhw@netris.org>

	gnu: acl: Install library and disable failing test suite.
	Previously, this package was completely broken.  It installed only
	binaries that failed to run for lack of the shared library.

	* gnu/packages/acl.scm (acl): Disable tests.  Remove customized
	  'check' phase that ran tests and ignored errors.  Remove 'perl' as
	  input, needed only for tests.  Replace 'install' phase with one that
	  includes 'install-lib' target.

2014-10-26  Mark H Weaver  <mhw@netris.org>

	gnu: openssl: Update to 1.0.1j.
	* gnu/packages/openssl.scm (openssl): Update to 1.0.1j.

	gnu: gettext: Update to 0.19.3.
	* gnu/packages/gettext.scm (gettext): Update to 0.19.3.

	gnu: bash: Update to 4.3.30.
	* gnu/packages/bash.scm (%patch-series-4.3): Add patches 28-30.
	  (bash)[source]: Remove parser-oob patch.  It is superceded by
	  upstream patch bash43-028.

	gnu: make: Update to 4.1.
	* gnu/packages/base.scm (make): Update to 4.1.  Adapt 'default_shell'
	  substitution to new code.
	* gnu/packages/commencement.scm (gnu-make-boot0): Remove code that
	  manually removed guile.c from list of things to build.

	gnu: ffmpeg: Add version 2.2.9 and use it for vlc.
	* gnu/packages/video.scm (ffmpeg-2.2): New variable.
	  (vlc): Use ffmpeg-2.2.

2014-10-24  Andreas Enge  <andreas@enge.fr>

	gnu: python2-pyicu: Update to 1.8.
	* gnu/packages/python.scm (python2-pyicu): Update to 1.8.

2014-10-24  Mark H Weaver  <mhw@netris.org>

	gnu: vlc: Update to 2.1.5.
	* gnu/packages/video.scm (vlc): Update to 2.1.5.

	gnu: icecat: Update to 31.2.0.
	* gnu/packages/gnuzilla.scm (icecat): Update to 31.2.0.  Download
	  source from GNU mirrors.

2014-10-22  Cyril Roelandt  <tipecaml@gmail.com>

	guix import pypi: Fix a typo in a docstring.
	* guix/import/pypi.scm (snake-case): Fix documentation.

	guix import pypi: do not add "python-" to a package name if it's already there.
	* guix/import/pypi.scm (make-pypi-sexp): test whether the package name starts
	  with "python-" before modifying it.

	guix import pypi: add the Apache License 2.0
	* guix/import/pypi.scm (string->license): add ASL2.0.

2014-10-21  Mark H Weaver  <mhw@netris.org>

	gnu: emacs: Update to 24.4.
	* gnu/packages/patches/emacs-configure-sh.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/emacs.scm (emacs): Update to 24.4.  Add 'acl' as input.
	  Remove --with-crt-dir configure option.
	  (emacs-no-x-toolkit): Add 'inotify-tools' as input.  Adjust to cope
	  with the lack of configure-flags in the main 'emacs' package.

2014-10-21  Eric Bavier  <bavier@member.fsf.org>

	refresh: Add end-of-line to error message.
	* guix/scripts/refresh.scm (%options)[select]: Add end-of-line to
	  error message.

2014-10-20  Eric Bavier  <bavier@member.fsf.org>

	gnu: ccache: Upgrade to 3.1.10.
	* gnu/packages/ccache.scm (ccache): Upgrade to 3.1.10.
	  [source]: Remove patches.
	* gnu/packages/patches/ccache-stdc-predef-test.patch: Delete patch.
	* gnu-system.am (dist_patch_DATA): Remove it.

2014-10-20  Jason Self  <j@jxself.org>

	gnu: ffmpeg: Update to 2.4.2.
	* gnu/packages/video.scm (ffmpeg): Update to version 2.4.2.

2014-10-20  John Darrington  <jmd@gnu.org>

	gnu: Add sane-backends
	* gnu/packages/scanner.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-10-20  Andreas Enge  <andreas@enge.fr>

	gnu: sqlite: Add readline as input.
	* gnu/packages/databases.scm (sqlite): Add input readline.

2014-10-20  Ian Denhardt  <ian@zenhack.net>

	gnu: Add 'version-prefix' and 'version-major+minor'; use them.
	The procedure version-prefix truncates a version string to a certain
	number of components. version-major+minor is a special case of this,
	which extracts the "major.minor" part of the string. Previously this
	was handled by an expression common to several packages.

	* guix/utils.scm (version-prefix, version-major+minor): New procedures
	* gnu/packages/backup.scm (duplicity): Use version-major+minor.
	* gnu/packages/cmake.scm (cmake): Likewise.
	* gnu/packages/gnome.scm (libbonobo, libbonoboui): Likewise.
	* gnu/packages/gnutls.scm (gnutls): Likewise.
	* gnu/packages/mail.scm (gmime): Likewise.
	* gnu/packages/mpd.scm (mpd): Likewise.
	* gnu/packages/mpi.scm (openmpi): Likewise.

2014-10-19  Ludovic Courtès  <ludo@gnu.org>

	download: Add "Accept: */*" to the headers.
	Fixes downloads from https://alioth.debian.org.
	Reported by John Darrington <jmd@gnu.org>.

	* guix/build/download.scm (http-fetch)[headers]: Add 'Accept'.

2014-10-19  John Darrington  <jmd@gnu.org>

	gnu: Add ntp
	* gnu/packages/ntp.scm: New file.
	* gnu-system.am (gnu/packages/ntp.scm): Add it.

2014-10-18  Alex Kost  <alezost@gmail.com>

	emacs: Improve interface for working with multiple profiles.
	Suggested by David Thompson, Ludovic Courtès and Mathieu Lirzin.

	* emacs/guix-base.el (guix-profile-prompt): New procedure.
	  (guix-set-current-profile): Use it.
	  (guix-buffer-name-simple, guix-buffer-name-default, guix-buffer-name): New
	  procedures.
	  (guix-buffer-name-function, guix-profile): New variables.
	  (guix-set-vars, guix-get-entries, guix-get-show-entries, guix-set-buffer,
	  guix-history-call, guix-process-package-actions,
	  guix-continue-package-operation-p, guix-delete-generations,
	  guix-switch-to-generation): Add 'profile' argument.
	* emacs/guix.el (guix-get-show-packages, guix-get-show-generations,
	  guix-search-by-name, guix-search-by-regexp, guix-installed-packages,
	  guix-obsolete-packages, guix-all-available-packages,
	  guix-newest-available-packages, guix-generations, guix-generations-by-time):
	  Likewise.
	  (guix-last-generations): New command.
	* emacs/guix-info.el: Adjust for using 'profile' argument where needed.
	* emacs/guix-list.el: Likewise.
	* doc/emacs.texi (Emacs Commands): Document 'guix-last-generations' and using
	  "C-u" for commands.
	  (Emacs Buffer Names): Document 'guix-buffer-name-function'.

2014-10-17  Ludovic Courtès  <ludo@gnu.org>

	packages: Add 'package-transitive-supported-systems'.
	* guix/packages.scm (package-transitive-supported-systems): New procedure.
	* tests/packages.scm ("package-transitive-supported-systems"): New test.
	* build-aux/hydra/gnu-system.scm (package->job): Use it.

	gnu: valgrind: Don't build on mipsel64-linux.
	* gnu/packages/valgrind.scm (valgrind): Add 'supported-systems'.

	gnu: sdl-gfx: Build only on Intel machines.
	* gnu/packages/sdl.scm (sdl-gfx): Add 'supported-systems' field.

	derivations: 'graft-derivation' correctly handles multiple-output sources.
	* guix/derivations.scm (graft-derivation): Add DRV as input for each one
	  of OUTPUT-NAMES.

	packages: Improve the package-to-derivation cache.
	* guix/packages.scm (cache): Preserve the former values associated with
	  PACKAGE.
	  (cached): Bind SYSTEM in 'let', to prevent double evaluation.

	derivations: Add #:system parameter to 'graft-derivation'.
	* guix/derivations.scm (graft-derivation): Add #:system parameter.

	derivations: Introduce 'graft' record type.
	* guix/derivations.scm (<graft>): New record type.
	  (graft-derivation): Rename 'replacements' to 'grafts', and expect it
	  to be a list of <graft> records.  Adjust accordingly.
	* tests/derivations.scm ("graft-derivation"): Use 'graft' instead of
	  pairs in argument to 'graft-derivation'.

	records: Improve the docstring of 'define-record-type*'.
	* guix/records.scm (define-record-type*): Agument the docstring, give
	  examples.

2014-10-17  Alex Kost  <alezost@gmail.com>

	doc: Replace "emacs" with "Emacs" in node names.
	Suggested by Ludovic Courtès.

	* doc/emacs.texi: Use "Emacs" in node names.

2014-10-17  Alex Kost  <alezost@gmail.com>

	emacs: Add 'guix-generations-by-time' command.
	* emacs/guix-main.scm (find-generations): Add finding generations by time.
	* emacs/guix-utils.el (guix-read-date): New procedure.
	* emacs/guix-base.el (guix-messages): Add new messages.
	* emacs/guix.el (guix-generations-by-time): New command.
	* doc/emacs.texi (emacs Commands): Document it.

2014-10-16  Ludovic Courtès  <ludo@gnu.org>

	download: Allow use of substitutes.
	See <https://bugs.gnu.org/18747> for the original report.

	* guix/download.scm (url-fetch): Comment out #:local-build? argument.
	* guix/git-download.scm (git-fetch): Likewise.
	* guix/svn-download.scm (svn-fetch): Likewise.

2014-10-16  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.17.1.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.17.1.

2014-10-16  Alex Kost  <alezost@gmail.com>

	emacs: Support auto-updating after performing REPL operation.
	* emacs/guix-backend.el (guix-operation-buffer): New variable.
	  (guix-eval-in-repl): Use it.  Add optional 'operation-buffer' argument.
	* emacs/guix-base.el (guix-update-after-operation): New variable.
	  (guix-switch-to-buffer, guix-list-or-info-buffer-p, guix-buffers,
	  guix-update-buffers-maybe): New procedures.
	  (guix-set-buffer): Use 'guix-switch-to-buffer'.  Add optional 'no-display'
	  argument.
	  (guix-process-package-actions, guix-delete-generations,
	  guix-switch-to-generation): Add optional 'operation-buffer' argument.
	* emacs/guix-info.el (guix-package-info-insert-action-button,
	  guix-generation-info-insert-number, guix-generation-info-insert-current):
	  Adjust for using operation buffer.
	* emacs/guix-list.el (guix-list-execute-package-actions,
	  guix-generation-list-switch, guix-generation-list-execute): Likewise.

	emacs: Add hooks for REPL operations.
	* emacs/guix-backend.el (guix-before-repl-operation-hook,
	  guix-after-repl-operation-hook, guix-repl-operation-p): New variables.
	  (guix-repl-operation-success-message, guix-repl-output-filter): New
	  procedures.
	  (guix-start-repl): Adjust for using 'guix-repl-output-filter'.
	  (guix-eval-in-repl): Honor 'guix-before-repl-operation-hook'.

2014-10-16  Cyril Roelandt  <tipecaml@gmail.com>

	guix lint: add the --checkers option.
	* guix/scripts/lint.scm: add the "--checkers" option.
	* doc/guix.texi (Invoking guix lint): Document it.
	* tests/guix-lint.sh: New file
	* Makefile.am (SCM_TESTS): Add it.

2014-10-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: gnutls: Patch bug in 'set-session-server-name!'.
	* gnu/packages/patches/gnutls-server-name-fix.patch: New file.
	* gnu/packages/gnutls.scm (gnutls)[source]: Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-10-13  John Darrington  <jmd@gnu.org>

	gnu: Add xboing
	* gnu/packages/games.scm (xboing): New variable.

2014-10-13  Ludovic Courtès  <ludo@gnu.org>

	utils: Micro-optimize 'bytevector->base16-string'.
	This reduces run time of (package-derivation s emacs) by ~1.5%.

	* guix/utils.scm (bytevector->base16-string): Traverse BV from the end
	  so as to use 'string-concatenate' instead of
	  'string-concatenate-reverse'.

2014-10-13  Ludovic Courtès  <ludo@gnu.org>

	derivations: Micro-optimize 'imported-modules'.
	This reduces run time of (package-derivation s emacs) by ~5%.

	* guix/derivations.scm (search-path*): New procedure.
	  (imported-modules): Use it instead of 'search-path'.

2014-10-13  Ludovic Courtès  <ludo@gnu.org>

	derivations: Memoize 'derivation-path->base16-hash'.
	This reduces run time of (package-derivation s emacs) by ~10%.

	* guix/derivations.scm (derivation-path->base16-hash): New procedure.
	  (derivation-hash): Use it.

2014-10-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: gnutls: Update to 3.2.19.
	* gnu/packages/gnutls.scm (gnutls): Update to 3.2.19.

2014-10-13  Eric Bavier  <bavier@member.fsf.org>

	gnu: xfig, transfig: Patch compiler flags for mips and i686.
	* gnu/packages/xfig.scm (xfig, transfig)[arguments]: Have Makefile
	  substitution match for more targets.

2014-10-13  Alex Kost  <alezost@gmail.com>

	emacs: Add support for switching generations.
	* emacs/guix-base.el (guix-switch-to-generation): New procedure.
	* emacs/guix-info.el (guix-generation-info-insert-current): Insert button for
	  switching to generation.
	* emacs/guix-list.el (guix-generation-list-switch): New procedure.
	* doc/emacs.texi (emacs List buffer, emacs Info buffer): Document switching
	  generations.

	emacs: Add 'current' generation parameter.
	* emacs/guix-main.scm (generation-param-alist): Add 'current' parameter.
	* emacs/guix-base.el (guix-param-titles): Add title for 'current' parameter.
	* emacs/guix-info.el: Display 'current' parameter.
	  (guix-generation-info-current, guix-generation-info-not-current): New faces.
	  (guix-generation-info-insert-current): New procedure.
	* emacs/guix-list.el: Display 'current' column.
	  (guix-generation-list-get-current): New procedure.

2014-10-13  Mark H Weaver  <mhw@netris.org>

	gnu: nss-mdns: Add alternate source URLs.
	Based on 8c43746 by Ludovic Courtès <ludo@gnu.org>.
	Fixes <http://bugs.gnu.org/18704>.

	* gnu/packages/avahi.scm (nss-mdns)[source]: Add Debian and Fedora mirrors.

2014-10-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: icu4c: Reinstate RUNPATH on shared libraries.
	Fixes <http://bugs.gnu.org/18695>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* gnu/packages/icu4c.scm (icu4c)[arguments]: In 'add-lib-to-runpath',
	  reinstate RUNPATH on files under lib/.  Fixes a regression introduced
	  in commit 7239828.

2014-10-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-ssh: Update to 0.7.1.
	* gnu/packages/ssh.scm (guile-ssh)[source]: Update to 0.7.1.
	  [arguments]: Remove ssh/Makefile.am fiddling from 'autoreconf' phase.
	  Remove #:parallel-build? argument.
	  [inputs]: Add LIBGCRYPT-1.5.

2014-10-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: libssh: Add libgcrypt bug-fix patch.
	Suggested by Artyom Poptsov <poptsov.artyom@gmail.com>.

	* gnu/packages/ssh.scm (libssh)[source]: Add 'patches'.

2014-10-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: guix: Update development snapshot.
	* gnu/packages/package-management.scm (guix-0.7): Make public.
	  (guix-devel)[source]: Update to commit 14e84b2.
	  [propagated-inputs]: New field.
	  (guix): Alias for GUIX-DEVEL.

2014-10-12  Ludovic Courtès  <ludo@gnu.org>

	derivations: Add #:guile parameter to 'graft-derivation'.
	* guix/derivations.scm (graft-derivation): Add #:guile parameter; pass
	  it to 'build-expression->derivation'.

	list-packages: Handle 'origin' patches.
	* build-aux/list-packages.scm (package->sxml)[patches]: Handle the case
	  where PATCH is an 'origin'.

2014-10-12  John Darrington  <jmd@gnu.org>

	gnu: Add unixodbc
	* gnu/packages/databases.scm (unixodbc): New variable.

2014-10-12  Mark H Weaver  <mhw@netris.org>

	gnu: magit: Update to 1.2.1.
	* gnu/packages/emacs.scm (magit): Update to 1.2.1.

2014-10-12  Alex Kost  <alezost@gmail.com>

	emacs: Allow list functions to deal with nil values.
	* emacs/guix-list.el (guix-list-get-tabulated-entry): Call functions returning
	  column value even for nil values.
	  (guix-list-get-one-line): Adjust for accepting nil argument.

	guix package: Add '--switch-generation' option.
	* guix/scripts/package.scm (switch-to-generation): New procedure.
	  (switch-to-previous-generation): Use it.
	  (guix-package): Adjust for '--switch-generation' option.
	* tests/guix-package.sh: Test it.
	* doc/guix.texi (Invoking guix package): Document it.

	profiles: Add 'relative-generation'.
	* guix/profiles.scm: (relative-generation): New procedure.
	  (previous-generation-number): Use it.

2014-10-12  Alex Kost  <alezost@gmail.com>

	profiles: Add condition types for profiles and generations.
	Suggested by Ludovic Courtès.

	* guix/profiles.scm (&profile-error, &profile-not-found-error,
	  &missing-generation-error): New condition types.
	* guix/ui.scm (call-with-error-handling): Handle new types.
	* guix/scripts/package.scm (roll-back, guix-package): Raise
	  '&profile-not-found-error' where needed.

2014-10-12  Mark H Weaver  <mhw@netris.org>

	gnu: libarchive: Apply fixes including for CVE-2013-0211.
	* gnu/packages/patches/libarchive-CVE-2013-0211.patch,
	  gnu/packages/patches/libarchive-fix-lzo-test-case.patch,
	  gnu/packages/patches/libarchive-mtree-filename-length-fix.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/backup.scm (libarchive)[source]: Add patches.

2014-10-12  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add transfig.
	* gnu/packages/xfig.scm (transfig): New variable.

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

	gnu: libjpeg: Upgrade to version 9a.
	* gnu/packages/image.scm (libjpeg): Upgrade to version 9a.

	gnu: Add imake.
	* gnu/packages/xorg.scm (imake): New variable.

2014-10-12  Ludovic Courtès  <ludo@gnu.org>

	syscalls: Accept ENOENT in the 'swapoff' test.
	Fixes <http://bugs.gnu.org/18690>.
	Reported by Philip Woods <elzairthesorcerer@gmail.com>.

	* tests/syscalls.scm ("swapoff, EINVAL/EPERM"): Rename to...
	  ("swapoff, ENOENT/EINVAL/EPERM"): ... this.  Add ENOENT to the list of
	  possible return values.

2014-10-12  Ludovic Courtès  <ludo@gnu.org>

	Augment '.dir-locals.el' with bug-reference-mode settings.

2014-10-11  John Darrington  <jmd@gnu.org>

	gnu: Add perl-zip.
	* gnu/packages/zip.scm (perl-zip): New variable.

2014-10-11  Mark H Weaver  <mhw@netris.org>

	gnu: openssh: Update to 6.7p1.
	* gnu/packages/ssh.scm (openssh): Update to 6.7p1.

	Add copyright line to gnuzilla.scm.
	* gnu/packages/gnuzilla.scm: Add copyright line for Mark H Weaver, which
	  should have been added in 74c7af9 (gnu: icecat: Update to 31.1.1).

2014-10-11  David Thompson  <dthompson2@worcester.edu>

	scripts: Add 'environment' command.
	* guix/scripts/environment.scm: New file.
	* Makefile.am (MODULES): Add it.
	* doc/guix.texi ("Invoking guix environment"): New node.

2014-10-10  Ludovic Courtès  <ludo@gnu.org>

	build: Make sure tests/guix-package.sh doesn't leave anything behind it.
	Fixes a regression introduced in commit 300868ba.

	* tests/guix-package.sh: Move 'module_dir' definition to the top, and
	  "rm -rf" it from the top-most 'trap'.  Remove second use of 'trap'.

2014-10-10  Ludovic Courtès  <ludo@gnu.org>

	doc: Add 'operating-system' reference.
	* doc/guix.texi (Using the Configuration System): Add xref to
	  "operating-system Reference".
	  (operating-system Reference): New section.
	  (Networking Services): Add xref to it.

	doc: Use @deftp for 'build-machine'.
	* doc/guix.texi (Daemon Offload Setup): Use @deftp for 'build-machine'.

2014-10-10  John Darrington  <jmd@gnu.org>

	gnu: icu4c: Correct error in the binaries' runpath
	* gnu/packages/icu4c.scm (icu4c): Apply the RUNPATH to the binaries,
	  instead of the libs

2014-10-10  Alex Kost  <alezost@gmail.com>

	ui: Move 'show-manifest-transaction' from (guix profiles).
	* guix/profiles.scm: Do not use (guix ui) module.
	  (right-arrow, manifest-show-transaction): Move and rename to...
	* guix/ui.scm (right-arrow, show-manifest-transaction): ... here.
	* tests/profiles.scm ("manifest-show-transaction"): Move to...
	* tests/ui.scm ("show-manifest-transaction"): ... here.
	  (guile-1.8.8, guile-2.0.9): New variables.
	* emacs/guix-main.scm (process-package-actions): Rename
	  'manifest-show-transaction' to 'show-manifest-transaction'.
	* guix/scripts/package.scm (guix-package): Likewise.

2014-10-09  Ludovic Courtès  <ludo@gnu.org>

	ui: Make sure we use the right domain for &message translation.
	* guix/ui.scm (call-with-error-handling): Add %GETTEXT-DOMAIN as a
	  second argument to 'gettext'.

2014-10-09  Ludovic Courtès  <ludo@gnu.org>

	Break module cycle involving (guix store) and (guix ui).
	Before, there was a cycle along the lines of:

	  (guix store) -> (guix nar) -> (guix ui) -> (guix store)

	This caused problems, as discussed at:

	  http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00109.html

	This patch removes cycles in the (guix ...) modules.

	* guix/nar.scm (&nar-error, &nar-read-error, dump, write-contents,
	  read-contents, %archive-version-1, write-file, restore-file): Move to...
	* guix/serialization.scm: ... here.
	* guix/store.scm: Remove dependency on (guix nar).
	* guix/scripts/hash.scm, guix/scripts/offload.scm,
	  guix/scripts/substitute-binary.scm, tests/nar.scm, tests/store.scm,
	  tests/substitute-binary.scm: Adjust accordingly.

2014-10-09  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Ignore $GUIX_BINARY_SUBSTITUTE_URL.
	* guix/scripts/substitute-binary.scm (%cache-url): Ignore the
	  'GUIX_BINARY_SUBSTITUTE_URL' environment variable.
	* test-env.in: Invoke 'guix-daemon' with '--substitute-urls'.
	* tests/substitute-binary.scm: Set '%cache-url' to the value of
	  'GUIX_BINARY_SUBSTITUTE_URL'.

	daemon: Add '--substitute-urls' option.
	* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_SUBSTITUTE_URLS): New macro.
	  (GUIX_OPT_NO_BUILD_HOOK, GUIX_OPT_GC_KEEP_OUTPUTS,
	  GUIX_OPT_GC_KEEP_DERIVATIONS): Renumber.
	  (options): Add '--substitute-urls'.
	  (parse_opt): Honor it.
	  (main): Add 'settings.set' call for the default "substitute-urls"
	  value.
	* guix/scripts/substitute-binary.scm (daemon-options,
	  find-daemon-option): New procedures.
	  (%cache-url): Define based on the "substitute-urls" daemon option.
	* doc/guix.texi (Invoking guix-daemon): Document '--substitute-urls'.
	  (Substitutes): Mention it.

2014-10-09  Mark H Weaver  <mhw@netris.org>

	gnu: icecat: Update to 31.1.1.
	* gnu/packages/gnuzilla.scm (icecat): Update to 31.1.1.  Add 'pango',
	  'freetype', 'libxft' and 'pulseaudio' as inputs.  Set
	  'out-of-source?' to #t.  Remove 'sanitise' phase.  Adapt customized
	  'configure' phase to handle 'out-of-source?' build.  Add
	  '--with-l10n-base' argument to configure.

2014-10-08  Ludovic Courtès  <ludo@gnu.org>

	monads: Add 'mbegin'.
	* guix/monads.scm (mbegin): New macro.
	* tests/monads.scm ("mbegin"): New test.
	* doc/guix.texi (The Store Monad): Document it.

	packages: Gracefully print packages whose 'location' is #f.
	* guix/packages.scm (<package> printer): Check whether LOC is #f.
	* tests/packages.scm ("printer with location", "printer without
	  location"): New tests.

	Add Federico to 'AUTHORS'.

2014-10-08  Federico Beffa  <beffa@fbengineering.ch>
	    Ludovic Courtès  <ludo@gnu.org>

	doc: Document 'glib-or-gtk-build-system'.
	* doc/guix.texi (Build System): Document 'glib-or-gtk-build-system'.

2014-10-08  Eric Bavier  <bavier@member.fsf.org>

	gnu: cmake: Use our curl, zlib, expat, bzip2, and libarchive.
	* gnu/packages/cmake.scm (cmake)[arguments]: Move sh-patching to new
	  'patch-bin-sh phase.  New 'set-paths phase.
	  [inputs]: Add curl, zlib, expat, bzip2, and libarchive.
	  [description]: Fix space after end-of-sentence.

	gnu: slim: Fix typo in synopsis and wrap description.
	* gnu/packages/slim.scm (slim)[synopsis]: Fix typo.
	  [description]: Fix two-space-after-end-of-sentence.  Wrap to 80
	  characters.

	gnu: conkeror: install conkeror-spawn-helper.
	* gnu/packages/conkeror.scm (conkeror)[build-system]: Change to
	  gnu-build-system.  Adjust arguments accordingly.
	  [inputs]: Remove now-implicit bash.
	  [native-inputs]: Remove now-implicit tar and gzip.
	  [description]: Fix two-space-after-end-of-sentence.  Remove comment
	  about separate conkeror-spawn-process-helper package.

2014-10-08  Federico Beffa  <beffa@fbengineering.ch>

	gnu: Add the 'glib-or-gtk' build system.
	* guix/build-system/glib-or-gtk.scm, guix/build/glib-or-gtk-build-system.scm:
	  New files.
	* Makefile.am (MODULES): Add them.

2014-10-08  Ludovic Courtès  <ludo@gnu.org>

	derivations: Add 'graft-derivation'.
	* guix/derivations.scm (graft-derivation): New procedure.
	* guix/build/graft.scm: New file.
	* Makefile.am (MODULES): Add it.
	* tests/derivations.scm ("graft-derivation"): New test.

2014-10-08  Cyril Roelandt  <tipecaml@gmail.com>

	guix lint: make sure synopses do not start with the package name.
	* guix/scripts/lint.scm (check-start-with-package-name): New method.
	* tests/lint.scm ("synopsis: start with package name"): New test.

	guix lint: Make sure a synopsis cannot start with a lower-case article.
	* guix/scripts/lint.scm (check-start-article): use "string-ci=?" instead of
	  "string=?".
	* tests/lint.scm ("synopsis: starts with 'a'",
	  "synopsis: starts with 'an'"): New tests.

	guix lint: check whether descriptions and synopses start with an upper-case letter.
	* guix/scripts/lint.scm (check-description-style,
	  check-synopsis-start-upper-case): New methods.
	* tests/lint.scm ("description: does not start with an upper-case letter",
	  "synopsis: does not start with an upper-case letter"): New tests.

	guix lint: Make sure synopses are not too long.
	* guix/scripts/lint.scm (check-synopsis-length): New procedure.
	* tests/lint.scm ("synopsis: too long"): New test.

	guix lint: make sure check-patches retrieves patch names.
	* guix/lint (check-patches): Test the output of origin-patches.

2014-10-07  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add fontforge.
	* gnu/packages/fontutils.scm (fontforge): New variable.

	gnu: Add libuninameslist.
	* gnu/packages/fontutils.scm (libuninameslist): New variable.

	gnu: Add libspiro.
	* gnu/packages/fontutils.scm (libspiro): New variable.

	gnu: Add potrace.
	* gnu/packages/fontutils.scm (potrace): New variable.

2014-10-07  Ludovic Courtès  <ludo@gnu.org>

	services: Add '%facebook-host-aliases'.
	* gnu/services/networking.scm (%facebook-host-aliases): New variable.
	* doc/guix.texi (Networking Services): Document it.

	system: Export 'local-host-aliases'.
	* gnu/system.scm (local-host-aliases): New procedure.
	  (default-/etc/hosts): Use it.

2014-10-07  John Darrington  <jmd@gnu.org>

	gnu: boost: Add zlib to the inputs.
	* gnu/packages/boost.scm (boost): Add zlib to inputs.

2014-10-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: eudev: Really update to 1.10.
	* gnu/packages/linux.scm (eudev)[version]: Fix typo.
	  [source]: Add 'snippet'.

2014-10-07  Mark H Weaver  <mhw@netris.org>

	gnu: mupdf: Update to 1.6.
	* gnu/packages/pdf.scm (mupdf): Update to 1.6.

	gnu: mupdf: Use a source URL where older versions remain available.
	* gnu/packages/pdf.scm (mupdf)[source]: Download from the archive
	  subdirectory, where both old and new versions are kept.

2014-10-07  Jason Self  <j@jxself.org>

	gnu: eudev: Update to 1.10.
	* gnu/packages/linux.scm (eudev): Update to version 1.10.

2014-10-06  John Darrington  <jmd@gnu.org>

	gnu: clucene: Enable the contrib-libs.
	* gnu/packages/rdf.scm (clucene): Enable the contribs-lib directory.

	gnu: libxdamage: Move inputs to propagated-inputs
	* gnu/packages/xorg.scm (libxdamage): Move all existing inputs
	  to propagated-inputs.

2014-10-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: net-tools: Allow compilation with current libc and GCC.
	* gnu/packages/patches/net-tools-bitrot.patch: New file.
	* gnu/packages/linux.scm (net-tools): Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-10-06  Alex Kost  <alezost@gmail.com>

	emacs: Use 'with-store' in 'process-package-actions'.
	* emacs/guix-main.scm (process-package-actions): Use 'with-store'.

2014-10-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: mit-scheme: Restrict to non-MIPS systems.
	* gnu/packages/scheme.scm (mit-scheme)[supported-systems]: New field.

	hydra: Honor 'package-supported-systems'.
	* guix/packages.scm (%supported-systems): New variable.
	  (<package>)[platforms]: Rename to...
	  [supported-systems]: ... this.  Change default to %SUPPORTED-SYSTEMS.
	* build-aux/hydra/gnu-system.scm (job-name, package->job): New
	  procedures, formerly in 'hydra-jobs'.  Honor 'package-supported-systems'.
	  (hydra-jobs): Use them.

	doc: Mention optional dependency on Guile-JSON.
	* README (Requirements): Add Guile-JSON.
	* doc/guix.texi (Requirements): Likewise.

2014-10-06  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.17.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.17.

2014-10-06  Ian Denhardt  <ian@zenhack.net>

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

2014-10-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: libdaemon: Add alternate source URLs.
	Fixes <http://bugs.gnu.org/18639>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* gnu/packages/libdaemon.scm (libdaemon)[source]: Add Debian and Fedora
	  mirrors.

2014-10-06  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.16.4.
	* gnu/packages/linux.scm (libogg): Update to version 3.16.4.

2014-10-06  Mark H Weaver  <mhw@netris.org>

	gnu: xpdf: Update to 3.04.
	* gnu/packages/patches/xpdf-constchar.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/pdf.scm (xpdf): Update to 3.04.  Remove patch.
	  Add libpng as an input.

2014-10-05  Ludovic Courtès  <ludo@gnu.org>

	build-system/trivial: Preserve the cross-compilation target in bags.
	* guix/build-system/trivial.scm (lower): Initialize the 'target' field.

	gnu: dbus: Move 'pkg-config' to 'native-inputs'.
	* gnu/packages/glib.scm (dbus): Move PKG-CONFIG to 'native-inputs'.

	gnu: dbus: Create $out/etc/dbus-1/{system,session}.d to placate 'dbus-launch'.
	* gnu/packages/glib.scm (dbus)[arguments]: Add 'post-install' phase.

	gnu: dbus: Update to 1.8.8.
	* gnu/packages/glib.scm (dbus): Update to 1.8.8.

2014-10-05  Alex Kost  <alezost@gmail.com>

	emacs: Add support for deleting generations.
	* doc/emacs.texi (emacs List buffer): Mention new key bindings.
	* emacs/guix-base.el (guix-delete-generations): New procedure.
	* emacs/guix-info.el (guix-generation-info-insert-number): Use it.
	* emacs/guix-list.el (guix-generation-list-mark-delete,
	  guix-generation-list-execute): New procedures.
	* emacs/guix-main.scm (delete-generations*): New procedure.

2014-10-05  Ludovic Courtès  <ludo@gnu.org>

	build-system: Bags record their system and target.
	* guix/build-system.scm (<bag>)[system, target]: New fields.
	  (make-bag): Add #:system parameter and pass it to LOWER.
	* gnu/packages/bootstrap.scm (make-raw-bag): Initialize 'system' field.
	* guix/build-system/cmake.scm (lower): Likewise.
	* guix/build-system/perl.scm (lower): Likewise.
	* guix/build-system/python.scm (lower): Likewise.
	* guix/build-system/ruby.scm (lower): Likewise.
	* guix/build-system/trivial.scm (lower): Likewise.
	* guix/build-system/gnu.scm (lower): Initialize 'system' and 'target'
	  fields.
	* guix/packages.scm (bag->derivation, bag->cross-derivation): New
	  procedures.
	  (package-derivation, package-cross-derivation): Use 'bag->derivation'.
	* tests/packages.scm ("search paths"): Initialize 'system' and 'target'
	  fields.
	  ("package->bag", "package->bag, cross-compilation", "bag->derivation",
	  "bag->derivation, cross-compilation"): New tests.

	gnu: cross-base: Use the right dynamic linker name.
	* gnu/packages/cross-base.scm (cross-gcc-arguments): Parametrize
	  %CURRENT-TARGET-SYSTEM.
	* tests/monads.scm ("package-file + package->cross-derivation"): Replace
	  "foo64-gnu" with "mips64el-linux-gnu".

	gnu: cross-base: Externalize cross-gcc arguments.
	* gnu/packages/cross-base.scm (cross-gcc-arguments): New procedure.
	  (cross-gcc): Use it.  [No functional change.]

	build-system: Introduce "bags" as an intermediate representation.
	* guix/build-system.scm (<build-system>)[build, cross-build]: Remove.
	  [lower]: New field.
	  (<bag>): New record type.
	  (make-bag): New procedure.
	* guix/packages.scm (bag-transitive-inputs, bag-transitive-build-inputs,
	  bag-transitive-host-inputs, bag-transitive-target-inputs,
	  package->bag): New procedures.
	  (package-derivation): Use it; use the bag, apply its build procedure,
	  etc.
	  (package-cross-derivation): Likewise.
	* gnu/packages/bootstrap.scm (raw-build, make-raw-bag): New procedure.
	  (%bootstrap-guile): Use them.
	* guix/build-system/trivial.scm (lower): New procedure.
	  (trivial-build, trivial-cross-build): Remove 'source' parameter.  Pass
	  INPUTS as is.
	  (trivial-build-system): Adjust accordingly.
	* guix/build-system/gnu.scm (%store, inputs-search-paths,
	  standard-search-paths, expand-inputs, standard-inputs): Remove.
	  (gnu-lower): New procedure.
	  (gnu-build): Remove 'source' and #:implicit-inputs? parameters.
	  Remove 'implicit-inputs' and 'implicit-search-paths' variables.  Get
	  the source from INPUT-DRVS.
	  (gnu-cross-build): Likewise.
	  (standard-cross-packages): Remove call to 'standard-packages'.
	  (standard-cross-inputs, standard-cross-search-paths): Remove.
	  (gnu-build-system): Remove 'build' and 'cross-build'; add 'lower'.
	* guix/build-system/cmake.scm (lower): New procedure.
	  (cmake-build): Remove 'source' and #:cmake parameters.  Use INPUTS and
	  SEARCH-PATHS as is.  Get the source from INPUTS.
	* guix/build-system/perl.scm: Likewise.
	* guix/build-system/python.scm: Likewise.
	* guix/build-system/ruby.scm: Likewise.
	* gnu/packages/cross-base.scm (cross-gcc): Change "cross-linux-headers"
	  to "linux-headers".
	  (cross-libc)[xlinux-headers]: Pass #:implicit-cross-inputs? #f.
	  Likewise.  In 'propagated-inputs', change "cross-linux-headers" to
	  "linux-headers".
	* guix/git-download.scm (git-fetch): Use 'standard-packages' instead of
	  'standard-inputs'.
	* tests/builders.scm ("gnu-build-system"): Remove use of
	  'build-system-builder'.
	  ("gnu-build"): Remove 'source' and #:implicit-inputs? arguments to
	  'gnu-build'.
	* tests/packages.scm ("search paths"): Adjust to new build system API.
	  ("package-cross-derivation, no cross builder"): Likewise.
	* doc/guix.texi (Build Systems): Add paragraph on bags.

	build-system: Remove irrelevant special case.
	* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Remove comment
	  about case where GUILE is a derivation path.
	* guix/build-system/cmake.scm (cmake-build): Remove case where GUILE is
	  a derivation path.
	* guix/build-system/perl.scm (perl-build): Likewise.
	* guix/build-system/python.scm (python-build): Likewise.
	* guix/build-system/ruby.scm (ruby-build): Likewise.
	* guix/build-system/trivial.scm (guile-for-build): Likewise.

	utils: Add 'strip-keyword-arguments'.
	* guix/utils.scm (strip-keyword-arguments): New procedure.
	* tests/utils.scm ("strip-keyword-arguments"): New test.

2014-10-05  Alex Kost  <alezost@gmail.com>

	guix package: Export generation procedures.
	* guix/scripts/package.scm: Export 'roll-back', 'delete-generation',
	  'delete-generations'.
	  (link-to-empty-profile, roll-back): Add 'store' argument.
	  (delete-generations): New procedure.
	  (guix-package): Adjust accordingly.
	  [delete-generation]: Move to the top level.  Add 'store' and 'profile'
	  arguments.
	  [display-and-delete]: Move to 'delete-generation'.

2014-10-05  Jason Self  <j@jxself.org>

	gnu: bazaar: Update to 2.6.0.
	* gnu/packages/version-control.scm (bazaar): Update to version 2.6.0.

2014-10-05  Andreas Enge  <andreas@enge.fr>

	gnu: git: Fix download location.
	* gnu/packages/version-control.scm (git): Fix source uri by switching
	    to kernel.org.

2014-10-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: git: Update to 2.1.2.
	* gnu/packages/version-control.scm (git): Update to 2.1.2.

	build-system/cmake: Add #:build-type parameter, default to "RelWithDebInfo".
	* guix/build-system/cmake.scm (cmake-build): Add #:build-type.  Pass it
	  in BUILDER.
	* guix/build/cmake-build-system.scm (configure): Add #:build-type
	  parameter and honor it.
	* doc/guix.texi (Build Systems): Document #:configure-flags and
	  #:build-type for CMake.

2014-10-03  John Darrington  <jmd@gnu.org>

	gnu: pspp: Upgrade to 0.8.4.
	* gnu/packages/maths.scm (pspp): Upgrade to 0.8.4.

2014-10-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: windowmaker: Update to 0.95.6.
	* gnu/packages/gnustep.scm (windowmaker): Update to 0.95.6.

	ui: Recognize the same size units as Coreutils.
	* guix/ui.scm (size->number): Add a bunch of large units.  Recognize
	  one-letter unit names.  Change "KB" to "kB".
	* tests/ui.scm ("size->number, 1T"): New test.
	* doc/guix.texi (Invoking guix gc): Add cross-reference to "Block size"
	  in the Coreutils manual.
	  (Invoking guix system): Likewise.

	download: Allow raw file names or file:// URLs.
	* guix/download.scm (url-fetch): When URL is a string, if it's not a URI
	  or if it's a URI with 'file' or #f scheme, use 'add-to-store'.
	* tests/builders.scm ("url-fetch, file", "url-fetch, file URI"): New
	  tests.

2014-10-02  Alex Kost  <alezost@gmail.com>

	emacs: Add support for modifying options during operation confirmation.
	* emacs/guix-base.el (guix-operation-option-key): New face.
	  (guix-operation-option-true-string, guix-operation-option-false-string,
	  guix-operation-option-separator, guix-operation-options): New variables.
	  (guix-operation-option-by-key, guix-operation-option-key,
	  guix-operation-option-name, guix-operation-option-variable,
	  guix-operation-option-value, guix-operation-option-string-value,
	  guix-operation-prompt, guix-operation-set-mode-line): New procedures.
	  (guix-continue-package-operation-p): Use 'guix-operation-prompt'.

2014-10-02  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: Add dfu-programmer
	* gnu/packages/flashing-tools.scm (dfu-programmer): New variable.
	* gnu/packages/patches/dfu-programmer-fix-libusb.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-10-02  Mark H Weaver  <mhw@netris.org>

	gnu: tor: Update to 0.2.4.24.
	* gnu/packages/tor.scm (tor): Update to 0.2.4.24.

2014-10-01  Eric Bavier  <bavier@member.fsf.org>

	gnu: autogen: Upgrade to 5.18.4.
	* gnu/packages/autogen.scm (autogen): Upgrade to 5.18.4.
	  [native-inputs]: New field.

2014-09-30  Ludovic Courtès  <ludo@gnu.org>

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

2014-09-30  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: Move flashrom and avrdude to (gnu packages flashing-tools).
	* gnu/packages/admin.scm (flashrom): Move this and...
	* gnu/packages/avrdude.scm (avrdude): ... this to...
	* gnu/packages/flashing-tools.scm: ... this. New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.

2014-09-30  Ludovic Courtès  <ludo@gnu.org>

	pull: Add dependency on Guile-JSON.
	Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

	* guix/scripts/pull.scm (unpack): Add Guile-JSON to %load-path and
	  %load-compiled-path.

2014-09-30  Alex Kost  <alezost@gmail.com>

	build: Build pypi modules only if 'guile-json' is available.
	* Makefile.am (MODULES): Wrap 'guix/import/pypi.scm' and
	  'guix/scripts/import/pypi.scm' in 'if HAVE_GUILE_JSON'.

	gnu: Move giflib to (gnu packages image).
	* gnu/packages/giflib.scm: Remove.  Move the contents to (gnu packages image).
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove giflib file name.
	* gnu/packages/emacs.scm: Remove giflib module name.
	* gnu/packages/image.scm (giflib): New variable.

2014-09-30  David Thompson  <dthompson2@worcester.edu>

	import: Add PyPI importer.
	* guix/snix.scm: Delete.
	* guix/import/snix.scm: New file.
	* guix/import/pypi.scm: New file.
	* guix/import/utils.scm: New file.
	* guix/scripts/import/nix.scm: New file.
	* guix/scripts/import/pypi.scm: New file.
	* tests/pypi.scm: New file.
	* tests/snix.scm: Import (guix import snix) module.
	* guix/scripts/import.scm (%default-options, %options): Delete.
	  (%standard-import-options, importers): New variables.
	  (show-help): List importers.
	  (guix-import): Factor out Nix-specific logic.  Delegate to correct importer
	  based upon first argument.
	* configure.ac (HAVE_GUILE_JSON): New conditional.
	* Makefile.am (MODULES): Add new files and remove 'guix/snix.scm'.
	  (SCM_TESTS): Add 'tests/pypi.scm' if guile-json is installed.

2014-09-30  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add dblatex.
	* gnu/packages/docbook.scm (dblatex): New variable.

2014-09-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-ncurses: Update to 1.5.
	* gnu/packages/guile.scm (guile-ncurses): Update to 1.5.  Remove patch.
	* gnu/packages/patches/guile-ncurses-tests.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove it.

2014-09-29  Ludovic Courtès  <ludo@gnu.org>

	packages: Optimize 'find-packages-by-name' to avoid disk accesses.
	On a profile with 182 entries, "guix package --search-paths" goes from
	4.5 seconds down to 0.4 second.

	* gnu/packages.scm (find-packages-by-name): Make a name -> package vhash
	  in a promise; access it with 'vhash-fold*'.

2014-09-29  Ludovic Courtès  <ludo@gnu.org>

	nls: Recognize 'N_' as equivalent to 'ngettext'.
	This fixes i18n of plural messages.

	* po/guix/Makevars (XGETTEXT_OPTIONS): Change 'N_' to 'N_:1,2'.

2014-09-29  Mark H Weaver  <mhw@netris.org>

	gnu: bash: Update to 4.3.27 and fix out-of-bounds memory accesses.
	Based on a patch by Ludovic Courtès <ludo@gnu.org>.

	* gnu/packages/bash.scm (%patch-series-4.3): Add two patches.
	  (bash)[source]: Add parser-oob patch.  Add 'snippet'.
	  [native-inputs]: New field.
	* gnu/packages/commencement.scm (bison-boot1): New variable.
	  (static-bash-for-glibc): Add 'native-inputs'.

	Co-Authored-By: Ludovic Courtès <ludo@gnu.org>

2014-09-29  Eric Bavier  <bavier@member.fsf.org>

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

	gnu: duplicity: Fix and disable some tests.
	* gnu/packages/patches/duplicity-piped-password.patch: New patch.
	* gnu/packages/patches/duplicity-test_selection-tmp.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/backup.scm (duplicity)[source]: Add patches field.
	  [inputs]: Add util-linux and tzdata.
	  [arguments]: rename patch-tests phase to check-setup.  Set HOME and TZDIR
	  for tests.

2014-09-29  Mathieu Lirzin  <mathieu.lirzin@openmailbox.org>

	gnu: Add dionysus.
	* gnu/packages/maths.scm (dionysus): New variable.

2014-09-28  David Thompson  <dthompson2@worcester.edu>

	gnu: Add ruby-i18n.
	* gnu/packages/ruby.scm (ruby-i18n): New variable.

	build: Add ruby build system.
	* guix/build-system/ruby.scm: New file.
	* guix/build/ruby-build-system: New file.
	* Makefile.am (MODULES): Add new files.
	* doc/guix.texi (Build Systems): Document ruby-build-system.

2014-09-28  Pjotr Prins  <pjotr.public01@thebird.nl>
	    David Thompson  <davet@gnu.org>

	gnu: Add ruby.

	* gnu/packages/ruby.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* guix/licenses.scm (ruby): New variable.

2014-09-28  Alex Kost  <alezost@gmail.com>

	emacs: Use package/output type variables where needed.
	* emacs/guix-list.el (guix-package-list-type, guix-output-list-describe-type):
	  Move to...
	* emacs/guix-base.el: ... here.  Rename 'guix-output-list-describe-type' to
	  'guix-package-info-type'.
	* emacs/guix-info.el (guix-generation-info-insert-number): Use
	  'guix-package-list-type'.
	* emacs/guix.el (guix-get-show-packages): Use 'guix-package-info-type'.

2014-09-28  Alex Kost  <alezost@gmail.com>

	emacs: Support font-locking.
	Avoid breaking highlighting after adding new font-lock keywords.

	* emacs/guix-base.el (guix-insert-package-strings): Use 'propertize' instead
	  of 'guix-get-string'.
	* emacs/guix-info.el (guix, guix-action, guix-file, guix-url,
	  guix-package-location, guix-package-name): New button types.
	  (guix-info-insert-action-button, guix-info-insert-file-path,
	  guix-info-insert-url, guix-package-info-insert-location,
	  guix-package-info-insert-full-names,
	  guix-package-info-insert-non-unique-text): Adjust for 'guix-insert-button'
	  and button types.
	  (guix-package-info-name-button): New face.
	  (guix-package-info-define-insert-inputs): Use it.  Add new button types.
	  (guix-package-info-insert-full-name): Remove.
	* emacs/guix-utils.el (guix-get-string): Replace 'face' with 'font-lock-face'.
	  (guix-insert-button): Adjust for using button types.

2014-09-28  Alex Kost  <alezost@gmail.com>

	emacs: Fix errors in receiving information.
	* emacs/guix-main.scm (package-pattern-transformer,
	  output-pattern-transformer): Add fallback 'match' clauses.
	  (find-generations): Fix getting generations by IDs.

2014-09-28  Ian Denhardt  <ian@zenhack.net>

	doc: Use 'define-public' in example package recipe.
	* doc/guix.texi (Defining Packages): Use 'define-public' instead of
	  'define'.

2014-09-28  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: hurd-headers: Use --build instead of --host.
	* gnu/packages/hurd.scm (hurd-headers): Replace '--host' with
	  '--build'.

2014-09-28  Andreas Enge  <andreas@enge.fr>

	gnu: qt-4: Explicitly link with icu.
	* gnu/packages/qt.scm (qt-4): Explicitly link with libicui18n, which is
	    dlopened by QtCore.so.

2014-09-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Nix.
	This commit is dedicated to the Nix project, without which we wouldn't
	be hacking all this today.  :-)

	* gnu/packages/package-management.scm (nix): New variable.

2014-09-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add perl-www-curl.
	* gnu/packages/web.scm (perl-www-curl): New variable.

	gnu: Add perl-dbi and perl-dbd-sqlite.
	* gnu/packages/databases.scm (perl-dbi, perl-dbd-sqlite): New variable.

2014-09-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: mit-scheme: Rename top-level helper.
	Suggested by Mark H. Weaver.

	* gnu/packages/scheme.scm (source-directory): Rename to...
	  (mit-scheme-source-directory): ... this.

2014-09-27  Andreas Enge  <andreas@enge.fr>

	gnu: Add graphite2.
	* gnu/packages/fontutils.scm (graphite2): New variable.

	gnu: mit-scheme: Delete more dangling symlinks for non-x86 systems.
	* gnu/packages/scheme.scm (mit-scheme): Delete more dangling symlinks for
	    non-x86 systems.

	gnu: mit-scheme: Fix source file name for mips64el.
	* gnu/packages/scheme.scm (mit-scheme): Fix source file name for
	     architectures other than x86_64 and i686.

	gnu: phonon: Update to 4.8.0.
	* gnu/packages/kde.scm (phonon): Update to 4.8.0.

2014-09-27  Ludovic Courtès  <ludo@gnu.org>

	build: Don't install elisp files when Emacs is unavailable.
	* emacs.am (dist_lisp_DATA, nodist_lisp_DATA): Wrap in 'if HAVE_EMACS'.

2014-09-27  Ludovic Courtès  <ludo@gnu.org>

	build: Don't generate Emacs autoloads when Emacs is unavailable.
	Reported by Andreas Enge.

	* configure.ac: Define 'HAVE_EMACS' Automake conditional.
	* emacs.am ($(AUTOLOADS)): Wrap in 'if HAVE_EMACS'.

2014-09-27  Andreas Enge  <andreas@enge.fr>

	gnu: mit-scheme: Update to 9.2.
	* gnu/packages/scheme.scm (mit-scheme): Update to 9.2.

	gnu: libxscrnsaver: Propagate input scrnsaverproto.
	* gnu/packages/xorg.scm (libxscrnsaver): Propagate input scrnsaverproto,
	    since scrnsaver.h from libxscrnsaver includes saver.h from scrnsaverproto.

	gnu: help2man: Update to 1.46.3.
	* gnu/packages/man.scm (help2man): Update to 1.46.3.

	gnu: gcl: Update to 2.6.11.
	* gnu/packages/lisp.scm (gcl): Update to 2.6.11.

	gnu: parallel: Update to 20140922.
	* gnu/packages/parallel.scm (parallel): Update to 20140922.

	gnu: libidn: Update to 1.29.
	* gnu/packages/libidn.scm (libidn): Update to 1.29.

	gnu: rcs: Update to 5.9.3.
	* gnu/packages/version-control.scm (rcs): Update to 5.9.3.

2014-09-27  Federico Beffa  <beffa@fbengineering.ch>

	gnu: maxima: Install .el files in the right place, and help find Gnuplot.
	* gnu/packages/maths.scm (maxima): Remove Tcl from 'inputs'.  Add
	  'post-install' phase.

2014-09-27  Andreas Enge  <andreas@enge.fr>

	gnu: ucommon: Update to 6.1.11.
	* gnu/packages/telephony.scm (ucommon): Update to 6.1.11.

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

2014-09-26  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'bash-cve-2014-6271'

2014-09-26  Alex Kost  <alezost@gmail.com>

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

	gnu: Add giblib.
	* gnu/packages/image.scm (giblib): New variable.

	gnu: Add imlib2.
	* gnu/packages/image.scm (imlib2): New variable.

2014-09-24  David Thompson  <dthompson2@worcester.edu>

	gnu: libtoxcore: Update to 1.0.0.
	* gnu/packages/crypto.scm (libsodium): Update version and change home-page.

2014-09-24  Ludovic Courtès  <ludo@gnu.org>

	gnu: bash: Apply patch series up to 25 [CVE-2014-6271].
	* gnu/packages/bash.scm (patch-url, bash-patch): New procedures.
	  (patch-series): New macro.
	  (%patch-series-4.3): New variable.
	  (download-patches): New procedure.
	  (bash): Change version to include the patch level; pass
	  %PATCH-SERIES-4.3 in the origin.

	gnu: bootstrap: Correctly handle patches that are origins.
	* gnu/packages/bootstrap.scm (bootstrap-origin): Rewrite the patches of
	  SOURCES that are also origins.

	gnupg: Correctly parse current 'SIG_ID' lines.
	* guix/gnupg.scm (gnupg-verify)[sigid-rx]: Adjust to handle current
	  signature ID encoding.

	packages: Allow use of origins as patches.
	* guix/packages.scm (patch-and-repack)[patch-inputs]: Use 'add-to-store'
	  only if the PATCH is a file name, and 'package-source-derivation' if
	  PATCH is an origin.

2014-09-24  Alex Kost  <alezost@gmail.com>

	emacs: Add support for displaying outputs.
	Suggested by Taylan Ulrich Bayirli/Kammer and Ludovic Courtès.

	* emacs/guix-base.el (guix-param-titles): Add output titles.
	  (guix-messages): Add output messages.
	  (guix-get-package-id-and-output-by-output-id): New procedure.
	  (guix-define-buffer-type): Add ':buffer-name' key.
	* emacs/guix-info.el: Add "output-info" buffer type.
	  (guix-info-insert-methods): Add output methods.
	  (guix-info-displayed-params): Add output params.
	  (guix-output-info-insert-version, guix-output-info-insert-output): New
	  procedures.
	* emacs/guix-list.el: Add "output-list" buffer type.
	  (guix-list-column-format): Add output formats.
	  (guix-list-column-value-methods): Add output methods.
	  (guix-package-list-type): New variable.
	  (guix-generation-list-show-packages): Use it.
	  (guix-package-list-marking-check): Use 'guix-output-list-mode'.
	  (guix-list-mark-package-upgrades): New procedure.
	  (guix-package-list-mark-upgrades): Use it.
	  (guix-list-execute-package-actions): New procedure.
	  (guix-package-list-execute): Use it.
	  (guix-list-describe-maybe): New procedure.
	  (guix-list-describe): Use it.
	  (guix-output-list-mark-install, guix-output-list-mark-delete,
	  guix-output-list-mark-upgrade, guix-output-list-mark-upgrades,
	  guix-output-list-execute, guix-output-list-make-action,
	  guix-output-list-describe): New procedures.
	  (guix-output-list-describe-type): New variable.
	* emacs/guix.el (guix-get-show-packages): Use 'guix-package-list-type'.
	* doc/emacs.texi (emacs Commands): Mention 'guix-package-list-type'.
	  (emacs List buffer): Adjust accordingly.
	  (emacs Info buffer): Likewise.
	  (emacs Buffer Names): New node.
	  (emacs Keymaps): Add keymaps for output buffers.

2014-09-24  Alex Kost  <alezost@gmail.com>

	emacs: Rewrite scheme side in a functional manner.
	* emacs/guix-main.scm: Rewrite in a functional way.  Add support for output
	  entries.
	  (%current-manifest, %current-manifest-entries-table,
	  set-current-manifest-maybe!): Replace with...
	  (manifest-entries->hash-table, manifest->hash-table): ... this.
	  (manifest-entries-by-name+version): Replace with...
	  (manifest-entries-by-name): ... this.
	  (fold-manifest-entries): Rename to...
	  (fold-manifest-by-name): ... this.
	  (package-installed-param-alist): Rename to...
	  (%manifest-entry-param-alist): ... this.
	  (package-param-alist): Rename to...
	  (%package-param-alist): this.
	  (manifest-entry->installed-entry): Rename to...
	  (manifest-entry->sexp): ... this.
	  (manifest-entries->installed-entries): Rename to...
	  (manifest-entries->sexps): ... this.
	  (matching-generation-entries): Replace with...
	  (matching-generations): ... this.
	  (last-generation-entries): Replace with...
	  (last-generations): ... this.
	  (get-entries): Rename to...
	  (entries): ... this.
	  (installed-entries-by-name+version, installed-entries-by-package,
	  matching-package-entries, fold-object, package-entries-by-name+version,
	  package-entries-by-spec, package-entries-by-regexp, package-entries-by-ids,
	  newest-available-package-entries, all-available-package-entries,
	  manifest-package-entries, installed-package-entries,
	  generation-package-entries, obsolete-package-entries,
	  all-generation-entries, generation-entries-by-ids, profile-generations,
	  %package-entries-functions, %generation-entries-functions): Remove.
	  (manifest=?, manifest-entry->name+version+output, manifest-entry-by-output,
	  list-maybe, matching-packages, filter-packages-by-output, packages-by-name,
	  manifest-entry->packages, all-available-packages, newest-available-packages,
	  specification->package-pattern, specification->output-pattern,
	  id->package-pattern, id->output-pattern, specifications->package-patterns,
	  specifications->output-patterns, ids->package-patterns,
	  ids->output-patterns, manifest-patterns-result, obsolete-package-patterns,
	  obsolete-output-patterns, manifest-package-patterns,
	  manifest-output-patterns, obsolete-package-sexp,
	  package-pattern-transformer, output-pattern-transformer, entry-type-error,
	  search-type-error, pattern-transformer, patterns-maker,
	  package/output-sexps, find-generations, generation-sexps): New procedures.
	  (%pattern-transformers, %patterns-makers): New variables.
	* emacs/guix-base.el (guix-continue-package-operation-p): Adjust accordingly.
	* emacs/guix-info.el (guix-package-info-insert-action-button): Likewise.

	emacs: Use general functions instead of generated ones.
	* emacs/guix-base.el: Add and use general functions instead of
	  specialized functions generated by 'guix-define-buffer-type' macro.
	  (guix-buffer-type, guix-entry-type): New variables.
	  (guix-set-vars): Add new variables.
	  (guix-get-show-entries, guix-show-entries, guix-set-buffer)
	  (guix-history-call, guix-make-history-item)
	  (guix-get-params-for-receiving, guix-revert-buffer)
	  (guix-redisplay-buffer): New functions.
	  (guix-define-buffer-type): Do not generate specialized functions.
	* emacs/guix-info.el (guix-package-info-insert-full-names): Use
	  'guix-get-show-entries'.
	  (guix-generation-info-insert-number): Likewise.
	* emacs/guix-list.el (guix-list-describe): New function.
	  (guix-list-define-entry-type): Do not generate specialized one.
	  (guix-generation-list-show-packages): Use 'guix-get-show-entries'.
	* emacs/guix.el (guix-show-generations-function): Remove.
	  (guix-get-show-packages): Use new functions.
	  (guix-get-show-generations): Likewise.

2014-09-24  Ludovic Courtès  <ludo@gnu.org>

	Introduce the 'GUIX_PACKAGE_PATH' environment variable.
	* gnu/packages.scm (%package-module-path): Honor $GUIX_PACKAGE_PATH.
	* test-env.in: Unset 'GUIX_PACKAGE_PATH'.
	* tests/guix-package.sh: Test it.
	* doc/guix.texi (Package Modules): Document it.

	guix build: Add -L/--load-path as a common option.
	* guix/scripts/build.scm (show-build-options-help): Document -L.
	  (%standard-build-options): Add -L/--load-path.
	* tests/guix-package.sh: Test it.

	packages: Add '%package-module-search-path'.
	* gnu/packages.scm (%package-module-path): New variable.
	  (all-package-modules): New procedure.
	  (fold-packages): Use it instead of 'package-modules'.

	packages: Generalize package module search.
	* gnu/packages.scm (%distro-root-directory): New variable.
	  (%distro-module-directory): Remove.
	  (package-files): Rename to...
	  (scheme-files): ... this.  Return absolute file names, not stripped.
	  (file-name->module-name): New procedure.
	  (package-modules): Add 'directory' and 'sub-directory' parameters.
	  Rewrite accordingly.
	  (fold-packages): Adjust 'package-modules' call accordingly.

2014-09-24  Federico Beffa  <beffa@fbengineering.ch>

	gnu: maxima: Update to 5.34.1 and add dependencies.
	* gnu/packages/maths.scm (maxima): Update to 5.34.1 which fixes a bug in
	  the plotting capabilities present in the previous version.  Add Gnuplot
	  and Tcl/Tk to 'inputs'.

2014-09-24  Mark H Weaver  <mhw@netris.org>

	Use #:prefix instead of #:renamer with 'symbol-prefix-proc'.
	* gnu/packages/abiword.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm,
	  gnu/packages/backup.scm, gnu/packages/bittorrent.scm,
	  gnu/packages/boost.scm, gnu/packages/compression.scm,
	  gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
	  gnu/packages/cyrus-sasl.scm, gnu/packages/dc.scm, gnu/packages/emacs.scm,
	  gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/geeqie.scm,
	  gnu/packages/ghostscript.scm, gnu/packages/gimp.scm,
	  gnu/packages/gkrellm.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
	  gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
	  gnu/packages/gnutls.scm, gnu/packages/gnuzilla.scm, gnu/packages/gsasl.scm,
	  gnu/packages/gtk.scm, gnu/packages/gv.scm, gnu/packages/image.scm,
	  gnu/packages/indent.scm, gnu/packages/inkscape.scm,
	  gnu/packages/lesstif.scm, gnu/packages/links.scm, gnu/packages/lisp.scm,
	  gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/maths.scm,
	  gnu/packages/mp3.scm, gnu/packages/openssl.scm, gnu/packages/ots.scm,
	  gnu/packages/pciutils.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm,
	  gnu/packages/pulseaudio.scm, gnu/packages/python.scm, gnu/packages/slim.scm,
	  gnu/packages/ssh.scm, gnu/packages/texlive.scm, gnu/packages/vim.scm,
	  gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wv.scm,
	  gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm,
	  gnu/packages/yasm.scm, gnu/packages/zip.scm,
	  guix/build/cmake-build-system.scm, guix/build/perl-build-system.scm,
	  guix/build/python-build-system.scm, guix/download.scm: Replaces uses of
	  #:renamer and 'symbol-prefix-proc' with #:prefix.

	gnu: gtk+: Disable tests on mips64el-linux.
	* gnu/packages/gtk.scm (gtk+): Disable tests on mips64el-linux.

2014-09-24  Ludovic Courtès  <ludo@gnu.org>

	gnu: gtk+: Remove dependency on Xorg server on mips64el-linux.
	Reported by Mark H. Weaver.

	* gnu/packages/gtk.scm (gtk+)[native-inputs]: Remove XORG-SERVER on
	  mips64el-linux.

2014-09-23  Ludovic Courtès  <ludo@gnu.org>

	services: Add 'bitlbee-service'.
	* gnu/services/networking.scm (bitlbee-service): New procedure.
	* doc/guix.texi (Networking Services): Document it.

	gnu: xf86-input-synaptics: Allow building with libc 2.20.
	* gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xorg.scm (xf86-input-synaptics): Use it.  Improve
	  synopsis and description.

	gnu: node: Add 'which' as an input.
	* gnu/packages/node.scm (node)[native-inputs]: Add WHICH.

	gnu: xorg: Remove xf86-input-vmmouse.
	* gnu/packages/xorg.scm (xf86-input-vmmouse): Remove.  This driver
	  implement the mouse protocol of a proprietary emulator.
	* gnu/services/xorg.scm (xorg-start-command): Remove reference.

	gnu: linux-libre: Work around GCC 4.8.3 ICE.
	* gnu/packages/linux.scm (linux-libre)[inputs]: New field.

2014-09-22  Ludovic Courtès  <ludo@gnu.org>

	system: Add Patch to '%base-packages'.
	* gnu/system.scm (%base-packages): Add PATCH.

	Merge branch 'core-updates'

2014-09-22  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Adjust VM code and doc to new 'base-initrd' signature.
	This fixes regressions introduced in de1c158 ("system: Add support for
	boot-time mapped devices.").

	* doc/guix.texi (Initial RAM Disk): Adjust example with custom use of
	  'base-initrd'.  Document #:mapped-devices parameter of 'base-initrd'.
	* gnu/system/vm.scm (system-disk-image, system-qemu-image,
	  virtualized-operating-system): Adjust call to 'base-initrd' to new
	  signature.

2014-09-22  Ludovic Courtès  <ludo@gnu.org>

	syscalls: Adjust /proc/net/dev parser for old kernels.
	* guix/build/syscalls.scm (%interface-line): Remove whitespace in rest
	  pattern.  (There's no extra whitespace after the colon with Linux
	  2.6.32.)

2014-09-22  Ludovic Courtès  <ludo@gnu.org>

	download: Use the 'SERVER NAME' TLS extension when possible.
	Fixes <http://bugs.gnu.org/18526>.
	Reported by Mark H. Weaver.

	* guix/build/download.scm (tls-wrap): Add 'server' parameter.  Call
	  'set-session-server-name!' when (gnutls) defines it.
	  (open-connection-for-uri): Adjust 'tls-wrap' call accordingly.

2014-09-22  Ludovic Courtès  <ludo@gnu.org>

	gnu: perl-tk: Build sequentially.
	Fixes <http://bugs.gnu.org/18262>.

	* gnu/packages/tcl.scm (perl-tk)[arguments]: Add #:parallel-build? #f.

2014-09-22  Alex Kost  <alezost@gmail.com>

	guix package: Use 'profile-generations'.
	* guix/scripts/package.scm (guix-package)[process-actions]: Use
	  'profile-generations' instead of the equivalent code.

	profiles: Add 'profile-generations'.
	* guix/profiles.scm (profile-generations): New procedure.

2014-09-22  Ludovic Courtès  <ludo@gnu.org>

	system: Add support for boot-time mapped devices.
	* gnu/build/linux-boot.scm (boot-system): Add #:pre-mount parameter and
	  honor it.
	* gnu/system/linux-initrd.scm (base-initrd): Add #:mapped-devices
	  parameter.  Add 'device-mapping-commands' variable, and use it to
	  build the #:pre-mount argument of 'boot-system'.
	* gnu/system.scm (mapped-device-user,
	  operating-system-user-mapped-devices,
	  operating-system-boot-mapped-devices): New procedures.
	  (device-mapping-services): Use 'operating-system-user-mapped-devices'
	  instead of 'operating-system-mapped-devices'.
	  (operating-system-initrd-file): Call the initrd with #:mapped-devices.

	activation: Ensure existing user accounts have the right settings.
	* gnu/build/activation.scm (modify-user, ensure-user): New procedures.
	  (activate-users+groups): Systematically call 'ensure-user'.

	gnu: valgrind: Update to 3.10.0.
	* gnu/packages/valgrind.scm (valgrind): Update to 3.10.0.
	* gnu/packages/patches/valgrind-glibc.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

2014-09-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: duplicity: Add dependency on util-linux.
	* gnu/packages/backup.scm (duplicity)[native-inputs]: Add util-linux.

	gnu: ots: Build sequentially.
	* gnu/packages/ots.scm (ots)[arguments]: New field.

2014-09-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add sound-theme-freedesktop.
	Suggested by Federico Beffa <beffa@ieee.org>.

	* gnu/packages/libcanberra.scm (sound-theme-freedesktop): New variable.

2014-09-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: libcanberra: Add dependency on PulseAudio and eudev.
	* gnu/packages/libcanberra.scm (libcanberra): Add PulseAudio and eudev
	  as inputs.

2014-09-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: emacs: Switch to GTK+ 3.
	Suggested by Federico Beffa <beffa@ieee.org>.

	* gnu/packages/emacs.scm (emacs): Switch to GTK+ 3.

2014-09-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: cyrus-sasl: Build sequentially.
	* gnu/packages/cyrus-sasl.scm (cyrus-sasl)[arguments]: Pass
	  #:parallel-build?.

	offload: Use a total order when sorting available machines.
	* guix/scripts/offload.scm (machine-less-loaded?, machine-faster?):
	  Remove.
	  (machine-power-factor): New procedure.
	  (machine-less-loaded-or-faster?): Use it.

	offload: Try another machine when the "best" machine is overloaded.
	* guix/scripts/offload.scm (choose-build-machine): When BEST is
	  overloaded, try the other machines.

2014-09-19  Ludovic Courtès  <ludo@gnu.org>

	linux-boot: Ask fsck for a progress bar.
	* gnu/build/file-systems.scm (check-file-system): Pass '-C 0' to FSCK.
	  Suggested by Mark H. Weaver.

	gnu: guile-charting: Update to 0.2.0.
	* gnu/packages/guile.scm (guile-charting): Update to 0.2.0.  Remove
	  now-unnecessary cruft from 'snippet'.  Modify 'godir' in Makefile.in.

	system: Fix value of 'EUDEV_RULES_DIRECTORY'.
	* gnu/services/base.scm (udev-service): Append "/lib/udev/rules.d" to
	  EUDEV_RULES_DIRECTORY.

2014-09-19  Alex Kost  <alezost@gmail.com>

	gnu: Fix typos.
	* gnu/packages/cdrom.scm (cdparanoia): Double space in description.
	* gnu/packages/maths.scm (hdf5): Double space in synopsis.

2014-09-19  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.16.3.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.16.3.

2014-09-18  Ludovic Courtès  <ludo@gnu.org>

	system: Add udev rule for /dev/kvm.
	* gnu/services/base.scm (kvm-udev-rule): New procedure.
	  (udev-service): Use it, and add it to RULES.
	  (guix-build-accounts): Add "kvm" to the 'supplementary-groups' field.
	* gnu/system/shadow.scm (%base-groups): Add "kvm".

	linux-initrd: Remove now obsolete #:guile-modules-in-chroot? parameter.
	* gnu/build/linux-boot.scm (boot-system): Remove
	  #:guile-modules-in-chroot? and related code.
	* gnu/system/linux-initrd.scm (base-initrd): Likewise.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Remove
	  #:guile-modules-in-chroot? argument in 'base-initrd' call.

	doc: Remove a couple of limitations.
	* doc/guix.texi (System Installation): Remove encrypted disks and swap
	  from the limitations.

	system: Add support for swap devices.
	* gnu/services/base.scm (swap-service): New procedure.
	* gnu/system.scm (<operating-system>)[swap-devices]: New field.
	  (swap-services): New procedure.
	  (essential-services): Use it.

	syscalls: Add 'swapon' and 'swapoff'.
	* guix/build/syscalls.scm (swapon, swapoff): New procedures.
	* tests/syscalls.scm ("swapon, ENOENT/EPERM", "swapoff, EINVAL/EPERM"):
	  New tests.

	doc: Document mapped devices.
	* doc/guix.texi (Mapped Devices): New subsection.

	system: Define 'device-mapping-kind', and add a 'close' procedure.
	* gnu/system/file-systems.scm (<mapped-device-type>): New record type.
	  (<mapped-device>)[command]: Remove field.
	  [type]: New field.
	* gnu/services/base.scm (device-mapping-service): Rename 'command'
	  parameter to 'open'.  Add 'close' parameter and honor it.
	* gnu/system.scm (luks-device-mapping): Rename to...
	  (open-luks-device): ... this.
	  (close-luks-device): New procedure.
	  (luks-device-mapping): New variable.
	  (device-mapping-services): Get the type of MD, and pass its 'open' and
	  'close' fields to 'device-mapping-service'.

	pull: Rewrite using gexps.
	* guix/scripts/pull.scm (unpack): Remove 'store' parameter.  Rewrite
	  using 'gexp->derivation'.
	  (what-to-build, indirect-root-added, build-and-install): New
	  procedures.
	  (guix-pull): Use it.

2014-09-18  Ludovic Courtès  <ludo@gnu.org>

	gnu: skribilo: Make sure Guile-Reader is in the search path.
	Reported by Luis Souto Graña <luissoutobueu@gmail.com>.

	* gnu/packages/skribilo.scm (skribilo)[arguments]: Add #:phases.

2014-09-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc-4.8.3: Add patch for PR61801.
	* gnu/packages/patches/gcc-fix-pr61801.patch: New file.
	* gnu/packages/gcc.scm (gcc-4.8): Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-09-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: libcanberra: Update URL.
	Reported by Federico Beffa <beffa@ieee.org>.

	* gnu/packages/libcanberra.scm (libcanberra)[source]: Update URI.

2014-09-17  Ludovic Courtès  <ludo@gnu.org>

	services: dhcp-client: Start 'dhclient' in "no wait" mode.
	* gnu/services/networking.scm (dhcp-client-service): Pass '-nw' to
	  'dhclient'.

	services: file-system: Change directory to root before unmounting.
	* gnu/services/base.scm (file-system-service)[stop]: Add 'chdir' call.

	services: user-processes: Wait for complete process termination.
	* gnu/services/base.scm (user-processes-service): Add 'wait' loop.

	services: udev: Make non-respawnable.
	* gnu/services/base.scm (udev-service): Add 'respawn?' field.

	services: Change default 'stop' value to #~(const #f).
	* gnu/services.scm (<service>)[stop]: Change default value.

	build: Ignore the user's language settings when running tests.
	* test-env.in: Unset 'LANGUAGE', set 'LC_MESSAGE'.

2014-09-17  Ludovic Courtès  <ludo@gnu.org>

	utils: Create temporary files in $TMPDIR or /tmp.
	Reported by Federico Beffa <beffa@ieee.org>.

	* guix/utils.scm (call-with-temporary-output-file): Prepend $TMPDIR or
	  /tmp to TEMPLATE.

2014-09-16  Ludovic Courtès  <ludo@gnu.org>

	system: Add "input" to '%base-groups'.
	* gnu/system/shadow.scm (%base-groups): Add "input" group.

	Remove outdated items from 'TODO'.

	gnu: guile-charting: Modules correctly installed, guile-cairo propagated.
	* gnu/packages/guile.scm (guile-charting): Patch Makefile.in files to
	  install to guile/site/2.0.  Move GUILE-CAIRO to 'propagated-inputs'.

2014-09-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: pulseaudio: Disable Console-Kit support by default.
	This prevented PulseAudio from starting on systems without Console-Kit.

	* gnu/packages/pulseaudio.scm (pulseaudio)[source]: Add snippet.

2014-09-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add OPAM.
	* gnu/packages/ocaml.scm (opam): New variable.

2014-09-15  Andreas Enge  <andreas@enge.fr>

	gnu: Add arb.
	* gnu/packages/algebra.scm (arb): New variable.

2014-09-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: mupdf: Adjust synopsis.
	* gnu/packages/pdf.scm (mupdf): Remove article from synopsis.

2014-09-15  Marek Benc  <merkur32@gmail.com>

	gnu: Add mupdf.
	* gnu/packages/pdf.scm (mupdf): New variable.
	* gnu/packages/patches/mupdf-buildsystem-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Added the above patch.

	gnu: Add openjpeg.
	* gnu/packages/image.scm (openjpeg): New variable.

	gnu: Add jbig2dec
	* gnu/packages/image.scm (jbig2dec): New variable.
	* gnu/packages/patches/jbig2dec-ignore-testtest.patch: New file.
	* gnu-system.am (dist_patch_DATA): Added the above patch.

2014-09-14  Ludovic Courtès  <ludo@gnu.org>

	services: Add 'dhcp-client-service'.
	* gnu/services/networking.scm (dhcp-client-service): New procedure.
	* doc/guix.texi (Networking Services): Document it.

	syscalls: Add 'all-network-interfaces'.
	* guix/build/syscalls.scm (network-interfaces): Update docstring.
	  (%interface-line): New variable.
	  (all-network-interfaces): New procedure.
	* tests/syscalls.scm ("all-network-interfaces"): New test.
	  ("network-interfaces"): Change to make sure the result is a subset
	  of (all-network-interfaces).

	syscalls: Add 'network-interface-flags'.
	* guix/build/syscalls.scm (SIOCGIFFLAGS, IFF_UP, IFF_BROADCAST,
	  IFF_LOOPBACK, IF_NAMESIZE): New variables.
	  (network-interface-flags, loopback-network-interface?): New
	  procedures.
	* tests/syscalls.scm ("network-interface-flags",
	  "loopback-network-interface?"): New tests.

	syscalls: Add 'network-interfaces'.
	* guix/build/syscalls.scm (SIOCGIFCONF, ifconf-struct,
	  ifreq-struct-size): New variables.
	  (%ioctl, bytevector->string-list, network-interfaces): New
	  procedures.
	* tests/syscalls.scm ("network-interfaces"): New test.

2014-09-14  Ludovic Courtès  <ludo@gnu.org>

	services: static-networking-service: Wait for udev, except for loopback.
	Reported by DusXMT on #guix.

	* gnu/services/networking.scm (static-networking-service): Add
	  'requirement' field.  Change 'documentation' to be a string literal.

2014-09-14  Ludovic Courtès  <ludo@gnu.org>

	pull: Create ~/.config/guix if needed instead of bailing out gracelessly.
	Previously 'guix pull' would just fail with "No such file or directory"
	if ~/.config didn't already exist.

	* guix/ui.scm (config-directory): Use 'mkdir-p' instead of 'mkdir'.
	  Change the 'catch' handler to expect errors different from EEXIST.

2014-09-14  Ludovic Courtès  <ludo@gnu.org>

	doc: Mention audio, video, and cdrom groups more prominently.
	* doc/guix.texi (User Accounts): Add the "audio", "video", and "cdrom"
	  groups in the example.

2014-09-14  Mark H Weaver  <mhw@netris.org>

	utils: Import (ice-9 format).
	* guix/build/utils.scm: Import (ice-9 format).

2014-09-14  Eric Bavier  <bavier@member.fsf.org>

	utils: Allow wrap-program to be called multiple times.
	* guix/build/utils.scm (wrap-program): Multiple invocations of
	  wrap-program for the same file create successive wrappers.  Adjust
	  docstring.
	* tests/build-utils.scm: Test new wrap-program behavior.
	  (%store): New variable.

2014-09-14  Mark H Weaver  <mhw@netris.org>

	Merge branch 'master' into core-updates
	Conflicts:
		gnu-system.am

2014-09-13  Andreas Enge  <andreas@enge.fr>

	gnu: Add flint.
	* gnu/packages/algebra.scm (flint): New variable.

2014-09-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: Adjust synopses as recommended by 'guix lint'.
	Remove leading articles and trailing periods in package synopses.

	gnu: Synchronize GNU package descriptions with upstream.
	These are mostly two-space-after-end-of-sentence-period changes
	resulting from commit 3a09e1d2.

	sync-descriptions: Improve output of proposed descriptions.
	* build-aux/sync-descriptions.scm (escape-quotes): New procedure.
	  Use it.  Add quotes around the proposed description.

	nls: Update 'sr' translation.

	system: Use eudev instead of udev by default.
	* gnu/system.scm (%base-packages): Change 'udev' to 'eudev'.
	* gnu/services/base.scm (udev-service): Change #:udev to default to
	  'eudev'.

	services: udev: Allow the use of eudev.
	* gnu/services/base.scm (udev-service): Adjust 'start' method to support
	  eudev in addition to udev.

	system: Add Diffutils to '%base-packages'.
	* gnu/system.scm (%base-packages): Add DIFFUTILS.

	system: Add FUSE and ALSA udev rules by default.
	* gnu/services/base.scm (%base-services): Pass FUSE and ALSA-UTILS to
	  'udev-service'.

	gnu: eudev: Honor $EUDEV_RULES_DIRECTORY.
	* gnu/packages/patches/eudev-rules-directory.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/linux.scm (eudev): Use it.

	gnu: eudev: Build with libkmod support.
	* gnu/packages/linux.scm (eudev)[arguments]: New field.

	gnu: fuse: Install udev rules in lib/udev/rules.d.
	* gnu/packages/linux.scm (fuse): Change UDEV_RULES_PATH suffix to
	  /lib/udev/rules.d.

2014-09-12  Ludovic Courtès  <ludo@gnu.org>

	Revert "gnu: util-linux: Don't install 'logger'."
	This reverts commit c9a8ad847712dfa4811608efae2d48cb8500f72f.

	gnu: util-linux: Don't install 'logger'.
	* gnu/packages/linux.scm (util-linux)[source]: Add 'snippet'.

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

	gnu: util-linux: Don't install 'logger'.
	* gnu/packages/linux.scm (util-linux)[source]: Add 'snippet'.

	activation: Honor $GUIX_NEW_SYSTEM for use by 'guix system reconfigure'.
	* gnu/build/activation.scm (activate-current-system): Honor
	  $GUIX_NEW_SYSTEM by default.
	* guix/scripts/system.scm (switch-to-system): Set $GUIX_NEW_SYSTEM
	  before loading SCRIPT.

	gnu: e2fsprogs: Build with --disable-blkid.
	* gnu/packages/linux.scm (e2fsprogs)[arguments]: Pass --disable-blkid.

	system: Add more common tools to '%base-packages'.
	* gnu/system.scm (%base-packages): Add gawk, tar, gzip, bzip2, xz, lzip,
	  and wireless-tools.

	system: Produce a basic /etc/nsswitch.conf to honor /etc/hosts.
	* gnu/system.scm (etc-directory): Produce nsswitch.conf.

	system: Fix the default /etc/hosts.
	* gnu/system.scm (default-/etc/hosts): Fix the alias/address order.
	  Add ::1.

2014-09-12  Mark H Weaver  <mhw@netris.org>

	Merge branch 'master' into core-updates
	Conflicts:
		gnu/packages/image.scm

2014-09-12  Ludovic Courtès  <ludo@gnu.org>

	system: Add support for Linux-style mapped devices.
	* gnu/system/file-systems.scm (<mapped-device>): New record type.
	* gnu/system.scm (<operating-system>)[mapped-devices]: New field.
	  (luks-device-mapping): New procedure.
	  (other-file-system-services)[device-mappings, requirements]: New
	  procedures.  Pass #:requirements to 'file-system-service'.
	  (device-mapping-services): New procedure.
	  (essential-services): Use it.  Append its result to the return value.
	  (operating-system-initrd-file): Add comment.
	* gnu/services/base.scm (file-system-service): Add #:requirements
	  parameter and honor it.
	  (device-mapping-service): New procedure.
	* gnu/system/linux-initrd.scm (base-initrd): Add comment.

	activation: Set the permissions of /etc/sudoers to 440.
	* gnu/build/activation.scm (activate-etc): Move 'rm-f' to a local
	  'define'.  When TARGET is "sudoers", make it 440.

	system: Add '\w' to the default PS1.
	* gnu/system.scm (etc-directory)[bashrc]: Add '\w' to PS1.

	activation: Make the /bin/sh symlink at activation time.
	* gnu/build/install.scm (directives): Remove "/bin/sh".
	* gnu/build/activation.scm (activate-/bin/sh): New procedure.
	* gnu/system.scm (operating-system-activation-script): Use it.

	services: udev: Allow for additional udev rules.
	* gnu/services/base.scm (udev-rules-union): New procedure.
	  (udev-service): Add #:rules parameter.  Call 'udev-rules-union' and
	  create udev.conf.  Set $UDEV_CONFIG_FILE before spawning udevd.

	system: Add 'hosts-file' field.
	* gnu/system.scm (<operating-system>)[hosts-file]: New field.
	  (default-/etc/hosts): New procedure.
	  (etc-directory): Add #:hosts-file parameter and honor it.
	  (operating-system-etc-directory): Build /etc/hosts, and pass
	  it as #:hosts-file to 'etc-directory'.

	system: Add default PAM entries for xlock and xscreensaver.
	* gnu/system/linux.scm (base-pam-services): Add "xlock" and
	  "xscreensaver".

2014-09-12  Ludovic Courtès  <ludo@gnu.org>

	activation: Make sure /etc/sudoers & co. are regular files.
	Before that, 'sudo' would exit with:

	  sudo: /etc/sudoers is not a regular file
	  sudo: no valid sudoers sources found, quitting

	* gnu/build/activation.scm (activate-etc): Check if SOURCE matches
	  'file-is-directory?'.  If not, use 'copy-file' instead of 'symlink'.

2014-09-12  Ludovic Courtès  <ludo@gnu.org>

	activation: Remove outdated comment.
	* gnu/build/activation.scm (activate-etc): Remove outdated comment.

	activation: Factorize the link-or-copy trick.
	* gnu/build/activation.scm (link-or-copy): New procedure.
	  (activate-setuid-programs): Use it.

2014-09-12  Kevin Lemonnier  <lemonnierk@ulrar.net>

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

2014-09-11  Andreas Enge  <andreas@enge.fr>

	gnu: glpk: Update to 4.55.
	* gnu/packages/maths.scm (glpk): Update to 4.55.

	gnu: global: Update to 6.3.2.
	* gnu/packages/global.scm (global): Update to 6.3.2.

	gnu: freeipmi: Update to 1.4.5.
	* gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.5.

2014-09-11  Kevin Lemonnier  <lemonnierk@ulrar.net>

	gnu: Have lua-5.1 compile a .so
	* gnu/packages/patches/lua51-liblua-so.patch: New file
	* gnu/packages/lua.scm: Use of lua51-liblua-so.patch in lua-5.1

2014-09-11  Ludovic Courtès  <ludo@gnu.org>

	nls: Adjust reference to stale file.
	* po/packages/POTFILES.in: Replace recutils.scm with databases.scm.

	gnu: lzip: Update to 1.16.
	* gnu/packages/compression.scm (lzip): Update to 1.16.

2014-09-10  Ludovic Courtès  <ludo@gnu.org>

	profiles: Adjust for compatibility with Guile 2.0.5.
	Reported by Andreas Enge <andreas@enge.fr>.

	* guix/profiles.scm (right-arrow): Use 'set-port-conversion-strategy!'
	  instead of '%default-port-conversion-strategy'.  The latter is only
	  available in Guile 2.0.5.

2014-09-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: lvm2: Programs such as 'dmsetup' now have a correct RUNPATH.
	* gnu/packages/linux.scm (alsa-utils): Add comment.
	  (lvm2): Add LDFLAGS as a configure flag.

	install: Gracefully handle corner cases with 'guix system init foo /'.
	* gnu/build/install.scm (evaluate-populate-directive): Wrap body in
	  "catch 'system-error", and report clear errors.  In the symlink case,
	  retry up EEXIST.
	  (populate-root-file-system): Remove /var/guix/profiles/system-1-link
	  before attempting to create it.

	Add Marek to 'AUTHORS'.

2014-09-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: wv: Fix URL.
	Reported by Marek Benc.

	* gnu/packages/wv.scm (wv): Change URL to mirror://.  Also replace one
	  NAME occurrence in the URL with 'wvware'.

2014-09-09  Ludovic Courtès  <ludo@gnu.org>

	Have (gnu) re-export (guix gexp).
	* gnu.scm (%public-modules): Add '(guix gexp)'.

	system: Export '%setuid-programs'.
	* gnu/system.scm: Export '%setuid-programs', as documented in the
	  manual.

	gnu: libwmf: Use a mirror:// URL.
	* gnu/packages/image.scm (libwmf): Use a mirror://sourceforge URL.

	gnu: abiword: Use 'wv', not 'wvware'.
	* gnu/packages/abiword.scm: Change 'wvware' to 'wv'.

2014-09-09  Marek Benc  <merkur32@gmail.com>

	gnu: Add AbiWord.
	* gnu/packages/patches/abiword-explictly-cast-bools.patch New file.
	* gnu/packages/patches/abiword-link-plugins-against-backend.patch: New file.
	* gnu/packages/patches/abiword-no-include-glib-internal-headers.patch: New file.
	* gnu/packages/patches/abiword-pass-no-undefined-to-linker.patch
	* gnu/packages/patches/abiword-use-proper-png-api.patch: New file.
	* gnu/packages/patches/abiword-wmf-version-lookup-fix.patch: New file.
	* gnu/packages/abiword.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add abiword.scm.
	  (dist_patch_DATA): Add the 6 patches for abiword.

	gnu: Add ots.
	* gnu/packages/patches/ots-no-include-missing-file.patch: New file.
	* gnu/packages/ots.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add ots.scm.
	  (dist_patch_DATA): Add ots-no-include-missing-file.patch.

	gnu: Add Enchant.
	* gnu/packages/enchant.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

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

	gnu: Add libwmf.
	* gnu/packages/image.scm (libwmf): New variable.

	gnu: Add GNU FriBidi.
	* gnu/packages/fribidi.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-09-09  Kevin Lemonnier  <lemonnierk@ulrar.net>

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

2014-09-08  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Store Linux modules in a normal store directory.
	* gnu/system/linux-initrd.scm (expression->initrd): Remove #:linux and
	  #:linux-modules parameters.  Remove call to
	  'float-linux-module-directory'.
	  (base-initrd): Add call to 'float-linux-module-directory'.  Use it in
	  #:linux-modules argument in the gexp.  Remove #:linux and
	  #:linux-modules arguments to 'expression->initrd'.
	* gnu/build/linux-initrd.scm (build-initrd): Remove
	  #:linux-module-directory parameter.  Don't create 'modules'
	  sub-directory.
	* gnu/build/linux-boot.scm (boot-system): Mentin that LINUX-MODULES is a
	  list of absolute file names.  Don't prepend "/modules/" to
	  LINUX-MODULES.
	* doc/guix.texi (Initial RAM Disk): Adjust accordingly.

	linux-initrd: Remove #:to-copy argument of 'expression->initrd'.
	* gnu/system/linux-initrd.scm (expression->initrd): Remove #:to-copy
	  parameter.  Remove 'graph-files', and adjust #:references-graphs
	  arguments to just list INIT.
	  (base-initrd): Remove #:to-copy argument.
	* doc/guix.texi (Initial RAM Disk): Adjust accordingly.

	linux-initrd: Move initrd creation code to (guix build linux-initrd).
	* gnu/build/linux-initrd.scm (cache-compiled-file-name,
	  compile-to-cache, build-initrd): New procedures.
	* gnu/system/linux-initrd.scm (expression->initrd)[builder]: Remove code
	  now moved above.  Use 'build-initrd'.

	linux-initrd: Copy all the script's closure to the initrd.
	* gnu/system/linux-initrd.scm (expression->initrd): Remove calls to
	  'imported-modules' and 'compiled-modules'.  Use 'gexp->script' with
	  EXP.  Add the result to TO-COPY.  Make /init a symlink to that script,
	  and copy its closure into the "contents" directory.  Add fake
	  /proc/self/exe symlink.
	* gnu/build/linux-boot.scm (load-linux-module*): Add comment about mmap.
	* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add "-m
	  256".  This turns out to be needed for initrds containing things like
	  e2fsck and several modules; with the default of 128 MiB, loading
	  libahci.ko may fail with -1.

	gnu: Add GNU direvent.
	* gnu/packages/admin.scm (direvent): New variable.

	gnu: Add testdisk.
	* gnu/packages/admin.scm (testdisk): New variable.

	gnu: youtube-dl: Update to 2014.09.06.
	* gnu/packages/video.scm (youtube-dl): Update to 2014.09.06.

2014-09-08  Alex Kost  <alezost@gmail.com>

	emacs: Improve key bindings for marking the packages.
	Use "U" to upgrade the current package, "^" to upgrade all.

	* emacs/guix-list.el: (guix-list-unmark): With prefix, mark all.
	  (guix-package-list-mark-outputs): New procedure.
	  (guix-package-list-mark-install, guix-package-list-mark-delete)
	  (guix-package-list-mark-upgrade): Use it.
	  (guix-package-list-mark-upgrades): New command.
	* doc/emacs.texi (emacs List buffer): Update the manual accordingly.

2014-09-08  Mark H Weaver  <mhw@netris.org>

	gnu: libunistring: Update to 0.9.4.
	* gnu/packages/libunistring.scm (libunistring): Update to 0.9.4.

2014-09-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add tdb.
	* gnu/packages/databases.scm (tdb): New variable.

	gnu: Consolidate databases in (gnu packages databases).
	* gnu/packages/databases.scm: New file, with the contents of the
	  following deleted files.
	* gnu/packages/mysql.scm, gnu/packages/postgresql.scm,
	  gnu/packages/recutils.scm, gnu/packages/sqlite.scm,
	  gnu/packages/bdb.scm: Remove.
	* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
	* gnu/packages/apl.scm, gnu/packages/dc.scm, gnu/packages/games.scm,
	  gnu/packages/gnunet.scm, gnu/packages/linux.scm, gnu/packages/mail.scm,
	  gnu/packages/mpd.scm, gnu/packages/nvi.scm, gnu/packages/openldap.scm,
	  gnu/packages/package-management.scm, gnu/packages/python.scm,
	  gnu/packages/qt.scm, gnu/packages/rdf.scm,
	  gnu/packages/version-control.scm: Adjust to new module name.

	gnu: Remove extra import in (gnu packages admin).
	* gnu/packages/admin.scm: Remove duplicate use of (gnu packages base).

2014-09-08  Mark H Weaver  <mhw@netris.org>

	gnu: glibc: Update to 2.20.
	* gnu/packages/patches/glibc-CVE-2014-5119.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/base.scm (glibc): Update to 2.20.  Remove patch.
	  Raise minimum linux version to 2.6.32.

	Merge branch 'master' into core-updates

2014-09-08  Ludovic Courtès  <ludo@gnu.org>

	gexp: 'gexp->script' returns a script that can easily be compiled.
	* guix/gexp.scm (gexp->script): Produce an 'eval-when' form around
	  assignments of %load-path and %load-compiled-path.

	linux-initrd: Build cpio archives without '--no-absolute-filenames'.
	* gnu/build/linux-initrd.scm (write-cpio-archive): Remove
	  '--no-absolute-filenames'.

2014-09-07  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.16.2.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.16.2.

2014-09-06  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Populate the initrd's store with complete closures.
	* gnu/system/linux-initrd.scm (expression->initrd): Add 'graph-files'.
	  Use (guix build store-copy) and 'populate-store' instead of local
	  hack.  Pass #:references-graphs to 'gexp->derivation'.

	gnu: unionfs-fuse/static: Remove store references from the executable.
	* gnu/packages/linux.scm (unionfs-fuse/static)[arguments]: Add #:phases.

	gexp: Allow use of high-level objects in #:references-graphs.
	* guix/gexp.scm (lower-reference-graphs): New procedure.
	  (gexp->derivation)[graphs-file-names]: New procedure.
	  Use 'lower-reference-graphs', and augment #:inputs argument as a
	  function of #:references-graphs.
	* doc/guix.texi (G-Expressions): Adjust 'gexp->derivation' documentation
	  accordingly.
	* tests/gexp.scm ("gexp->derivation, store copy"): Remove reference to
	  TWO in BUILD-DRV.  Use TWO directly in #:references-graphs argument.
	  ("gexp->derivation #:references-graphs"): New test.
	* gnu/system/vm.scm (qemu-image): Remove variable 'graph'; use INPUTS as
	  the #:references-graphs argument to
	  'expression->derivation-in-linux-vm'.

2014-09-06  Jason Self  <j@jxself.org>

	gnu: linux-libre: Revert to 3.16.1.
	* gnu/packages/linux.scm (linux-libre): Revert to version 3.16.1.

2014-09-06  Alex Kost  <alezost@gmail.com>

	emacs: Add a face for installed packages.
	* emacs/guix-list.el (guix-package-list-installed): New face.
	  (guix-package-list-get-name): Use it.

2014-09-06  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.16.2.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.16.2.

2014-09-06  David Thompson  <dthompson2@worcester.edu>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	gnu: Add python-scripttest.
	* gnu/packages/python.scm (python-scriptest, python2-scripttest): New
	  variables.

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

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

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

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

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

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

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

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

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

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

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

	gnu: Add python-exif-read.
	* gnu/packages/python.scm (python-exif-read, python2-exif-read): New
	  variables.

2014-09-05  Ludovic Courtès  <ludo@gnu.org>

	pull: Add a compilation progress report.
	* guix/build/pull.scm (report-build-progress): New procedure.
	  (p-for-each): Add #:progress parameter.
	  [loop]: Keep track of the number of completed processes.  Tail-call
	  PROGRESS at each loop iteration.
	  (build-guix): Add #:debug-port parameter.  Use it for verbose
	  messages.  Change 'tar' flags to 'xf'.  Around 'compile-file' call,
	  bind CURRENT-WARNING-PORT to DEBUG-PORT.
	* guix/scripts/pull.scm (unpack): Add #:verbose? parameter.
	  [builder]: Pass #:debug-port to 'build-guix'.
	  (guix-pull): Leave CURRENT-BUILD-OUTPUT-PORT unchanged.  Pass
	  #:verbose? to 'unpack'.

2014-09-05  Eric Bavier  <bavier@member.fsf.org>

	utils: Clean trailing whitespace at end of SHELL
	* guix/build/utils.scm (patch-makefile-SHELL): Remove trailing whitespace.

2014-09-04  Ludovic Courtès  <ludo@gnu.org>

	vm: Move store copy handling to (guix build store-copy).
	* gnu/build/vm.scm (read-reference-graph, populate-store): Move to...
	* guix/build/store-copy.scm: ... here.  New file.
	* Makefile.am (MODULES): Add it.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Adjust default
	  #:modules values accordingly.
	* tests/gexp.scm ("gexp->derivation, store copy"): New test.

	linux-initrd: Move Linux module tree flattening to another derivation.
	* gnu/system/linux-initrd.scm (expression->initrd)[string->regexp]:
	  Remove.
	  Use 'flat-linux-module-directory'.  Remove the equivalent logic from
	  'builder'.
	  (flat-linux-module-directory): New procedure.

2014-09-04  Ludovic Courtès  <ludo@gnu.org>

	profiles: Use a real arrow to denote upgrades in ASCII.
	Suggested by Alex Kost.

	* guix/profiles.scm (right-arrow): Fall back to "->".
	* tests/profiles.scm ("manifest-show-transaction"): Adjust accordingly.

2014-09-03  Alex Kost  <alezost@gmail.com>

	Add Emacs user interface.
	* configure.ac (emacsuidir): New variable.
	  (AC_CONFIG_FILES): Add 'emacs/guix-init.el', 'emacs/guix-helper.scm'.
	* Makefile.am: Include 'emacs.am'.
	* emacs.am: New file.
	* doc/emacs.texi: New file.
	* doc/guix.texi: Include 'emacs.texi'.
	* emacs/guix-backend.el: New file.
	* emacs/guix-base.el: New file.
	* emacs/guix-helper.scm.in: New file.
	* emacs/guix-history.el: New file.
	* emacs/guix-info.el: New file.
	* emacs/guix-init.el.in: New file.
	* emacs/guix-list.el: New file.
	* emacs/guix-main.scm: New file.
	* emacs/guix-utils.el: New file.
	* emacs/guix.el: New file.

2014-09-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: datamash: Fix license.
	* gnu/packages/datamash.scm (datamash)[license]: Change to GPL3+.

	linux-initrd: Factorize cpio archive creation.
	* gnu/build/linux-initrd.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* gnu/system/linux-initrd.scm (expression->initrd): Use (gnu build
	  linux-initrd) and 'write-cpio-archive' instead of the inlined code.

	Move part of (gnu build linux-boot) to (gnu build file-systems).
	* gnu/build/linux-boot.scm (%ext2-endianness, %ext2-sblock-magic,
	  %ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name,
	  read-ext2-superblock, ext2-superblock-uuid,
	  ext2-superblock-volume-name, disk-partitions,
	  partition-label-predicate, find-partition-by-label,
	  canonicalize-device-spec, MS_RDONLY, MS_NOSUID, MS_NODEV, MS_NOEXEC,
	  MS_BIND, MS_MOVE, bind-mount, check-file-system,
	  mount-flags->bit-mask, mount-file-system): Move to...
	* gnu/build/file-systems.scm: ... here.  New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* gnu/services/base.scm: Use (gnu build file-systems).
	* gnu/services/dmd.scm (dmd-configuration-file): Likewise.
	* gnu/system.scm (operating-system-activation-script): Likewise.
	* gnu/system/linux-initrd.scm (base-initrd): Likewise.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.

	Rename (gnu build linux-initrd) to (gnu build linux-boot).
	* gnu/build/linux-initrd.scm: Rename to...
	* gnu/build/linux-boot.scm: ... this.
	* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
	* gnu/build/activation.scm, gnu/build/vm.scm, gnu/services/base.scm,
	  gnu/services/dmd.scm, gnu/system.scm, gnu/system/linux-initrd.scm,
	  gnu/system/vm.scm: Adjust accordingly.

	Move operating system helpers from (guix build …) to (gnu build …).
	* guix/build/activation.scm, guix/build/install.scm,
	  guix/build/linux-initrd.scm, guix/build/vm.scm: Move to...
	* gnu/build: ... here.
	* Makefile.am (MODULES): Remove the above guix/build/ files.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add the above gnu/build/ files
	  here.
	* gnu/services/base.scm, gnu/services/dmd.scm, gnu/system.scm,
	  gnu/system/linux-initrd.scm, gnu/system/vm.scm,
	  guix/scripts/system.scm: Adjust to the new module names.

	doc: Mention 'guix lint' and '--list-dependent' in 'HACKING'.
	* HACKING (Submitting Patches): Mention 'guix lint' and 'guix refresh
	  --list-dependent'.

2014-09-03  Ludovic Courtès  <ludo@gnu.org>

	guix lint: Remove "guix lint: " prefix from warnings.
	This allows editors to parse warnings correctly.

	* guix/scripts/lint.scm (emit-warning): Use 'format' instead of
	  'warning', to avoid the "guix lint: " prefix in messages.
	* tests/lint.scm (call-with-warnings): Indent.

2014-09-03  David Thompson  <dthompson2@worcester.edu>

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

2014-09-03  Cyril Roelandt  <tipecaml@gmail.com>

	scripts: add guix lint
	* guix/scripts/lint.scm: New file. Defines a 'lint' tool for Guix packages.
	* tests/lint.scm: New file.
	* Makefile.am (MODULES, SCM_TESTS): Add them.
	* po/guix/Makevars: Update appropriately.
	* po/guix/POTFILES.in: Update appropriately.
	* doc/guix.texi: Document "guix lint".

	Move specification->package to gnu/packages.scm.
	* guix/scripts/build.scm (specification->package): Move from here...
	* gnu/packages.scm: ... to here.

2014-09-02  Ludovic Courtès  <ludo@gnu.org>

	daemon: Do not use 'vfork'.
	This fixes random EBADF errors in the daemon on ancient Linux kernels
	such as version 2.6.32.

	* config-daemon.ac: Remove detection of 'vfork'.

2014-09-02  Marek Benc  <merkur32@gmail.com>

	gnu: Add nvi.
	* gnu/packages/nvi.scm: New file.
	* gnu/packages/patches/nvi-assume-preserve-path.patch: New file.
	* gnu-system.am: Add them.

2014-09-02  Ludovic Courtès  <ludo@gnu.org>

	profiles: Report version numbers in a separate column.
	* guix/profiles.scm (manifest-show-transaction)[package-strings,
	  upgrade-strings]: Show version number in separate column.  Show OUTPUT
	  in first column, and only when it's different from "out".

	profiles: Report the old and new version number in upgrades.
	* guix/profiles.scm (manifest-lookup): New procedure.
	  (manifest-installed?): Use it.
	  (manifest-transaction-effects): Return a pair of entries for upgrades.
	  (right-arrow): New procedure.
	  (manifest-show-transaction)[upgrade-string, →]: New variables.
	  Report upgrades using 'upgrade-string'.
	* tests/profiles.scm ("manifest-show-transaction"): New test.
	  ("manifest-transaction-effects"): Match UPGRADE against a pair.

	doc: Update "Installing Guix from Guix".
	* README: Make 'guix package' command line more readable.  Mention
	  --localstatedir.

	gnu: ucommon: Update to 6.1.10.
	* gnu/packages/telephony.scm (ucommon): Update to 6.1.10.

	gnu: libtasn1: Update to 4.1.
	* gnu/packages/gnutls.scm (libtasn1): Update to 4.1.

2014-09-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: datamash: Update to 1.0.6.
	* gnu/packages/datamash.scm (datamash): Update to 1.0.6.

	gnu: parallel: Update to 20140822.
	* gnu/packages/parallel.scm (parallel): Update to 20140822.

	gnu: help2man: Update to 1.46.1.
	* gnu/packages/man.scm (help2man): Update to 1.46.1.

2014-09-01  Ludovic Courtès  <ludo@gnu.org>

	doc: Clarify system installation and configuration details.
	Reported by leth on #guix.

	* doc/guix.texi (System Installation): Suggest running 'reboot' instead
	  of 'umount /mnt'.
	  (Initial RAM Disk): Add xref to SRFI-26.

2014-09-01  Ludovic Courtès  <ludo@gnu.org>

	sync-with-upstream: Generate 'nix/AUTHORS'.
	* nix/sync-with-upstream: Use 'git shortlog' to generate nix/AUTHORS.

2014-08-31  Ludovic Courtès  <ludo@gnu.org>

	Thank Frederico.

2014-08-31  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc-toolchain: Inherit GCC's search path specifications.
	Reported by Federico Beffa <beffa@ieee.org>.

	* gnu/packages/commencement.scm (gcc-toolchain): Add
	  'native-search-paths' and 'search-paths' fields.

2014-08-31  Ludovic Courtès  <ludo@gnu.org>

	guix package: Fix search path lookup when an obsolete version is installed.
	Before that, 'guix package --search-paths' would not work if, say,
	'foo-0.2' is installed but the distro provides 'foo-0.3'.

	* guix/scripts/package.scm (search-path-environment-variables)[manifest-entry->package]:
	  Handle the case where 'find-best-packages-by-name' returns '().

2014-08-31  Ludovic Courtès  <ludo@gnu.org>

	daemon: Rename '--disable-store-optimization' to '--disable-deduplication'.
	* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_DISABLE_STORE_OPTIMIZATION):
	  Rename to...
	  (GUIX_OPT_DISABLE_DEDUPLICATION): ... this.  Adjust user accordingly.
	  (options): Add "disable-deduplication".  Make
	  "disable-store-optimization" a hidden alias.
	* doc/guix.texi (Invoking guix-daemon): Adjust to new option name.  Add
	  index entry.  Improve description.

	daemon: Really enable automatic deduplication by default.
	* nix/nix-daemon/guix-daemon.cc (main): Set 'autoStoreOptimise' to
	  true.  Add 'printMsg' call.
	* tests/derivations.scm ("identical files are deduplicated"): New test.

2014-08-30  Ludovic Courtès  <ludo@gnu.org>

	profiles: Compute transaction effects in a functional way.
	* guix/profiles.scm (manifest-transaction-effects): New procedure.
	  (manifest-show-transaction): Use it instead of locally computing it.
	* tests/profiles.scm (glibc): New variable.
	  ("manifest-transaction-effects"): New test.

2014-08-30  Mark H Weaver  <mhw@netris.org>

	gnu: gawk: Patch /usr/bin/file in extension/configure on MIPS.
	* gnu/packages/gawk.scm (gawk): When building for MIPS, patch /usr/bin/file in
	  extension/configure.

2014-08-29  Ludovic Courtès  <ludo@gnu.org>

	offload: Ignore EEXIST when registering a .drv as a GC root.
	Fixes <http://bugs.gnu.org/18115>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/scripts/offload.scm (register-gc-root)[script]: Wrap 'symlink'
	  call in "catch 'system-error", and ignore EEXIST errors.

2014-08-29  Ludovic Courtès  <ludo@gnu.org>

	offload: Ignore unreachable machines.
	Fixes <http://bugs.gnu.org/18070>.
	Reported by Andreas Enge <andreas@enge.fr>.

	* guix/scripts/offload.scm (remote-pipe): Augment docstring.
	  (machine-load): Return +inf.0 instead of 1 if MACHINE does not respond
	  or responds badly.

2014-08-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add nss-mdns.
	* gnu/packages/avahi.scm (nss-mdns): New variable.

2014-08-28  Mark H Weaver  <mhw@netris.org>

	gnu: Add missing import to (gnu packages base).
	* gnu/packages/base.scm: Import (gnu packages base).

	Merge branch 'master' into core-updates
	Conflicts:
		gnu/packages/base.scm

	doc: %final-inputs is now in (gnu packages commencement).
	* doc/guix.texi (Bootstrapping): Adjust the text to reflect that
	  '%final-inputs' is now in (gnu packages commencement).

	hydra: Adjust to (gnu packages commencement) split from (gnu packages base).
	* build-aux/hydra/gnu-system.scm: Import (gnu packages commencement).

2014-08-28  John Darrington  <jmd@gnu.org>

	gnu: Add perl-archive-zip.
	* gnu/packages/perl.scm (perl-archive-zip): New variable.

	gnu: Add bison-2.7
	* gnu/packages/bison.scm (bison-2.7): New variable.
	  Bison 3.x and 2.x are incompatible.  Some programs require 2.x

2014-08-28  Eric Bavier  <bavier@member.fsf.org>

	utils: Preserve makefile shell arguments during patch.
	* guix/build/utils.scm (patch-makefile-SHELL): Preserve shell arguments.

2014-08-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: libwebsockets: Update to 1.3.
	* gnu/packages/web.scm (libwebsockets): Update to 1.3.  Switch to
	  CMAKE-BUILD-SYSTEM.  Remove #:phases parameter and add #:tests?.
	  Remove AUTOCONF, AUTOMAKE, and LIBTOOL from 'native-inputs'.

	gnu: Add Guile-Charting.
	* gnu/packages/guile.scm (guile-charting): New variable.

	gnu: guile-cairo: Propagate Cairo.
	* gnu/packages/gtk.scm (guile-cairo): Move CAIRO to 'propagated-inputs'.

	gnu: Split (gnu packages base), adding (gnu packages commencement).
	* gnu/packages/base.scm (gnu-make-boot0, diffutils-boot0,
	  findutils-boot0, %boot0-inputs, nix-system->gnu-triplet, boot-triplet,
	  binutils-boot0, gcc-boot0, perl-boot0, linux-libre-headers-boot0,
	  texinfo-boot0, %boot1-inputs, glibc-final-with-bootstrap-bash,
	  cross-gcc-wrapper, static-bash-for-glibc, glibc-final,
	  gcc-boot0-wrapped, %boot2-inputs, binutils-final, libstdc++,
	  gcc-final, ld-wrapper-boot3, %boot3-inputs, bash-final, %boot4-inputs,
	  guile-final, gnu-make-final, ld-wrapper, coreutils-final, grep-final,
	  %boot5-inputs, %final-inputs, canonical-package, gcc-toolchain,
	  gcc-toolchain-4.8, gcc-toolchain-4.9): Move to...
	* gnu/packages/commencement.scm: ... here.  New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* build-aux/check-final-inputs-self-contained.scm: Adjust accordingly.
	* gnu/packages/cross-base.scm: Likewise.
	* gnu/packages/make-bootstrap.scm: Likewise.
	* guix/build-system/cmake.scm (cmake-build): Likewise.
	* guix/build-system/gnu.scm (standard-packages, gnu-build,
	  gnu-cross-build): Likewise.
	* guix/build-system/perl.scm (perl-build): Likewise.
	* guix/build-system/python.scm (python-build): Likewise.
	* guix/build-system/trivial.scm (guile-for-build): Likewise.
	* guix/download.scm (url-fetch): Likewise.
	* guix/gexp.scm (default-guile): Likewise.
	* guix/git-download.scm (git-fetch): Likewise.
	* guix/monads.scm (run-with-store): Likewise.
	* guix/packages.scm (default-guile): Likewise.
	* guix/scripts/package.scm (guix-package): Likewise.
	* guix/scripts/refresh.scm: Likewise.
	* guix/svn-download.scm (svn-fetch): Likewise.
	* tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths):
	  Likewise.
	* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
	* tests/guix-package.sh: Likewise.
	* gnu/services/base.scm: Use 'canonical-package' instead of xxx-final.
	* gnu/services/xorg.scm: Likewise.
	* gnu/system/vm.scm: Likewise.
	* guix/scripts/pull.scm (guix-pull): Likewise.

2014-08-28  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Wait a bit longer for partitions to appear.
	Reported by Sveltana on #guix.

	* guix/build/linux-initrd.scm (canonicalize-device-spec): Increase
	  MAX-TRIALS.  Add "waiting for partition" 'format' call.

2014-08-28  Ludovic Courtès  <ludo@gnu.org>

	profiles: Add gzip to $PATH before invoking 'install-info'.
	* guix/profiles.scm (info-dir-file)[gzip]: New variable.
	  [build]: Add 'setenv' call.

2014-08-27  Andreas Enge  <andreas@enge.fr>

	build-system/perl: Add handling of flags for parallel build and testing.
	* guix/build-system/perl.scm (perl-build): Add support for variables
	    parallel-build? and parallel-tests?.
	* guix/build-system/gnu.scm (gnu-build): Add a line break for clarity.

2014-08-27  Alex Kost  <alezost@gmail.com>

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

2014-08-27  Ludovic Courtès  <ludo@gnu.org>

	tests: Fix typo in guix-build.sh.
	* tests/guix-build.sh: Refer to the '%bootstrap' variables from (gnu
	  packages bootstrap), not (gnu packages base).

2014-08-26  Mark H Weaver  <mhw@netris.org>

	gnu: glibc: Fix CVE-2014-5119.
	* gnu/packages/patches/glibc-CVE-2014-5119.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/base.scm (glibc): Add the patch.

2014-08-26  John Darrington  <jmd@gnu.org>

	doc: Replace /nix/store with /gnu/store in README.
	    * README update anachronistic reference to /nix/store

2014-08-26  Mark H Weaver  <mhw@netris.org>

	gnu: file: Update to 5.19; add fix for CVE-2014-3587.
	* gnu/packages/patches/file-CVE-2014-3587.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/file.scm (file): Update to 5.19.  Add patch.

	Merge branch 'master' into core-updates

2014-08-25  Ludovic Courtès  <ludo@gnu.org>

	profiles: Handle packages without a 'share/info' directory.
	Reported by Mark H. Weaver.

	* guix/profiles.scm (info-dir-file): Handle the case where 'scandir'
	  returns #f.

2014-08-25  Alex Kost  <alezost@gmail.com>

	build: Fix typo.
	* pre-inst-env.in: Fix typo in commentary.

2014-08-25  Ludovic Courtès  <ludo@gnu.org>

	guix-register: By default, attempt to deduplicate registered items.
	* nix/guix-register/guix-register.cc (GUIX_OPT_DEDUPLICATE): New macro.
	  (options): Add --no-deduplication.
	  (deduplication): New variable.
	  (parse_opt): Handle GUIX_OPT_DEDUPLICATE.
	  (register_validity): Add 'optimize' parameter and honor it.
	  (main): Move 'store' instanatiation after 'settings.nixStore'
	  assignment.
	* tests/guix-register.sh: Add test for deduplication.
	* guix/nar.scm (finalize-store-file): Update comment above
	  'register-path' call.

2014-08-24  Ludovic Courtès  <ludo@gnu.org>

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

2014-08-24  Mark H Weaver  <mhw@netris.org>

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

2014-08-24  Mark H Weaver  <mhw@netris.org>

	gnu: Rely on 'file' implicit input and 'patch-usr-bin-file'.
	* gnu/packages/admin.scm (sudo):
	* gnu/packages/gawk.scm (gawk): Remove workaround on MIPS.

	* gnu/packages/mcrypt.scm (mcrypt, libmhash):
	* gnu/packages/file.scm (file): Remove 'file' from native-inputs.

	* gnu/packages/mc.scm (mc):
	* gnu/packages/pretty-print.scm (a2ps, trueprint, source-highlight):
	* gnu/packages/image.scm (libtiff): Remove 'file' from native-inputs.
	  Remove 'patch-configure' phase.

2014-08-24  Mark H Weaver  <mhw@netris.org>

	gnu-build-system: Add 'patch-usr-bin-file' to %standard-phases.
	* guix/build/gnu-build-system.scm (patch-usr-bin-file): New procedure.
	  (%standard-phases): Add it.

	gnu: bootstrap: Add 'file' to %boot0-inputs and %final-inputs.
	* gnu/packages/base.scm (file-boot0): New variable.
	  (%boot0-inputs): Add 'file-boot0'.
	  (%final-inputs): Add 'file' to list of packages to 'finalize'.

	Merge branch 'master' into core-updates

	gnu: libgc-7.2: Update to 7.2f.
	* gnu/packages/bdw-gc.scm (libgc-7.2): Update to 7.2f.

	gnu: libgcrypt-1.5: Update to 1.5.4.
	* gnu/packages/gnupg.scm (libgcrypt-1.5): Update to 1.5.4.

2014-08-23  Ludovic Courtès  <ludo@gnu.org>

	svn-download: Rewrite using gexps.
	* guix/svn-download.scm (subversion-package): New procedure.
	  (svn-fetch): Use it.  Remove 'svn-for-build'.  Use a gexp and
	  'gexp->derivation'.

	git-download: Rewrite using gexps.
	* guix/git-download.scm (git-package): New procedure.
	  (git-fetch): Use it.  Remove 'git-for-build'.
	  Use a gexp and 'gexp->derivation'.
	* guix/download.scm (gnutls-package): Fix docstring.

	Factorize test suite support in (guix tests).
	* guix/tests.scm: New file.
	* Makefile.am (noinst_DATA): New variable.
	  (GOBJECTS): Add guix/tests.go.
	* tests/builders.scm (%store): Use 'open-connection-for-tests'
	  from (guix tests).
	* tests/derivations.scm: Likewise.
	* tests/monads.scm: Likewise.
	* tests/packages.scm: Likewise.
	* tests/profiles.scm: Likewise.
	* tests/union.scm: Likewise.
	* tests/gexp.scm: Likewise.
	  (guile-for-build): Remove.  Use (%guile-for-build) instead.
	* tests/nar.scm (make-random-bytevector, %seed, random-text): Remove.
	  (populate-file): Change 'make-random-bytevector' to 'random-bytevector'.
	  Use (guix tests).
	* tests/store.scm (%seed, random-text): Remove.
	  Use (guix tests).

	Thank Brandon.

2014-08-23  Ludovic Courtès  <ludo@gnu.org>

	profiles: Produce a top-level Info 'dir' file.
	Fixes <http://bugs.gnu.org/18305>.
	Reported by Brandon Invergo <brandon@gnu.org>.

	* guix/profiles.scm (manifest-inputs, info-dir-file): New procedures.
	  (profile-derivation): Use them.  Add #:info-dir? parameter and honor
	  it.
	* guix/scripts/package.scm (guix-package): Call 'profile-derivation'
	  with #:info-dir? #f when the 'bootstrap? option is set.
	* tests/profiles.scm ("profile-derivation"): Pass #:info-dir? #f.

2014-08-23  Alex Kost  <alezost@gmail.com>

	profiles: Report about upgrades.
	* guix/profiles.scm (manifest-show-transaction): Report about upgrades.

2014-08-22  Mark H Weaver  <mhw@netris.org>

	Revert "gnu: Add 'file' as a native-input on MIPS for some packages."
	This reverts commit c3114b756760ddb73054a4bc3d5eff0bfe47c4de.

2014-08-20  Mark H Weaver  <mhw@netris.org>

	gnu: Add 'file' as a native-input on MIPS for some packages.
	* gnu/packages/admin.scm (sudo):
	  gnu/packages/gawk.scm (gawk): Add 'file' as a native input on MIPS.
	  Remove earlier workaround on MIPS.

	* gnu/packages/libffi.scm (libffi):
	  gnu/packages/bdw-gc.scm (libatomic-ops, libgc): Add 'file' as a
	  native input on MIPS.

2014-08-20  Jason Self  <j@jxself.org>

	gnu: ffmpeg: Update to 2.3.3.
	* gnu/packages/video.scm (ffmpeg): Update to version 2.3.3.

2014-08-20  Alex Kost  <alezost@gmail.com>

	Move 'check-package-freshness' from 'guix package' to 'packages'.
	* guix/scripts/package.scm (%sigint-prompt, call-with-sigint-handler)
	  (waiting, ftp-open*, check-package-freshness): Move to...
	* gnu/packages.scm: ... here.

2014-08-20  Mark H Weaver  <mhw@netris.org>

	gnu: gnutls: Update to 3.2.16.
	* gnu/packages/gnutls.scm (gnutls): Update to 3.2.16.  Remove
	  -DENABLE_RSA_EXPORT workaround.

	Merge branch 'master' into core-updates

	gnu: guile-2.0: Make 'bash' an input unconditionally.
	* gnu/packages/guile.scm (guile-2.0): Make 'bash' an input
	  unconditionally.

	gnu: libffi: Update to 3.1.
	* gnu/packages/patches/libffi-mips-n32-fix.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/libffi.scm (libffi): Update to 3.1.  Remove patch.

	gnu: libgc: Update to 7.4.2.
	* gnu/packages/bdw-gc.scm (libgc): Update to 7.4.2.

	gnu: libatomic-ops: Update to 7.4.2.
	* gnu/packages/bdw-gc.scm (libatomic-ops): Update to 7.4.2.

2014-08-19  Alex Kost  <alezost@gmail.com>

	packages: Remove dead code.
	* gnu/packages.scm (_): Remove.
	  Remove an extra space.

	guix package: Use 'manifest-transaction'.
	* guix/scripts/package.scm (guix-package)[process-actions]: Use
	  'manifest-transaction' instead of the equivalent code.
	  (show-what-to-remove/install): Remove.

2014-08-19  Alex Kost  <alezost@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	profiles: Add 'manifest-transaction'.
	* guix/profiles.scm (<manifest-transaction>): New record-type.
	  (manifest-perform-transaction): New procedure.
	  (manifest-show-transaction): New procedure.
	* tests/profiles.scm ("manifest-perform-transaction"): New test.

2014-08-18  Ludovic Courtès  <ludo@gnu.org>

	gexp: Add 'ungexp-native' and 'ungexp-native-splicing'.
	* guix/gexp.scm (<gexp>)[natives]: New field.
	  (write-gexp): Use both 'gexp-references' and
	  'gexp-native-references'.
	  (gexp->derivation): Use both 'gexp-inputs' and 'gexp-native-inputs',
	  and append them.
	  (gexp-inputs): Add 'references' parameter and honor it.
	  (gexp-native-inputs): New procedure.
	  (gexp->sexp)[reference->sexp]: Add 'native?' parameter and honor it.
	  Use it, and use 'gexp-native-references'.
	  (gexp)[collect-native-escapes]: New procedure.
	  [escape->ref]: Handle 'ungexp-native' and 'ungexp-native-splicing'.
	  [substitute-ungexp, substitute-ungexp-splicing]: New procedures.
	  [substitute-references]: Use them, and handle 'ungexp-native' and
	  'ungexp-native-splicing'.
	  Adjust generated 'make-gexp' call to provide both normal references
	  and native references.
	  [read-ungexp]: Support 'ungexp-native' and
	  'ungexp-native-splicing'.
	  Add reader extension for #+.
	* tests/gexp.scm (gexp-native-inputs): New procedure.
	  (gexp->sexp*): Add 'target' parameter.
	  ("ungexp + ungexp-native",
	  "input list + ungexp-native",
	  "input list splicing + ungexp-native-splicing",
	  "gexp->derivation, ungexp-native",
	  "gexp->derivation, ungexp + ungexp-native"): New tests.
	  ("sugar"): Add tests for #+ and #+@.
	* doc/guix.texi (G-Expressions): Document 'ungexp-native' et al.

2014-08-17  Ludovic Courtès  <ludo@gnu.org>

	gexp: Add #:target parameter to 'gexp->derivation'.
	* guix/gexp.scm (lower-inputs): Add #:system and #:target.  Use
	  'package->cross-derivation' when TARGET is true.  Honor SYSTEM.
	  (gexp->derivation): Add #:target argument.  Pass SYSTEM and TARGET to
	  'lower-inputs' and 'gexp->sexp'.
	  (gexp->sexp): Add #:system and #:target.  Pass them in recursive call
	  and to 'package-file'.
	* tests/gexp.scm (gexp->sexp*): Add 'system' and 'target' parameters.
	  ("gexp->derivation, cross-compilation"): New test.

	monads: 'package-file' uses '%current-system' at '>>=' time.
	* guix/monads.scm (package-file): Leave #:system to #f by default.
	* tests/monads.scm ("package-file, default system"): New test.

	monads: Add 'package->cross-derivation' and #:target for 'package-file'.
	* guix/monads.scm (package-file): Add #:target keyword parameter and
	  honor it.
	  (package->cross-derivation): New procedure.
	* tests/monads.scm ("package-file + package->cross-derivation"): New test.
	* doc/guix.texi (The Store Monad): Update 'package-file' documentation.
	  Add 'package->cross-derivation'.

	gnu: lightning: Update to 2.0.5.
	* gnu/packages/lightning.scm (lightning): Update to 2.0.5.

2014-08-17  David Thompson  <dthompson2@worcester.edu>

	gnu: guile-json: Update to 0.4.0.
	* gnu/packages/guile.scm (guile-json): Update to 0.4.0.

2014-08-16  Mark H Weaver  <mhw@netris.org>

	gnu: apr: Disable parallel tests.
	* gnu/packages/apr.scm (apr): Disable parallel tests.

	gnu: apr-util: Update to 1.5.3.
	* gnu/packages/apr.scm (apr-util): Update to 1.5.3.

	gnu: apr: Update to 1.5.1.
	* gnu/packages/apr.scm (apr): Update to 1.5.1.

2014-08-16  Eric Bavier  <bavier@member.fsf.org>

	gnu: texi2html: Fix tests in the absense of gettext.
	* gnu/packages/patches/texi2html-i18n.patch: New patch.
	* gnu/packages/texinfo.scm (texi2html)[source]: Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-08-16  Mark H Weaver  <mhw@netris.org>

	gnu: subversion: Update to 1.7.18.
	* gnu/packages/version-control.scm (subversion): Update to 1.7.18.

2014-08-15  Ludovic Courtès  <ludo@gnu.org>

	Add (guix monad-repl).
	* guix/monad-repl.scm: New file.
	* guix.scm: Add it.
	* Makefile.am (MODULES): Add it.
	* doc/guix.texi (The Store Monad): Document it.

	linux-initrd: Do not create /etc/resolv.conf.
	* guix/build/linux-initrd.scm (configure-qemu-networking): Don't create
	  /etc/resolv.conf.

	Update AUTHORS and THANKS.

	linux-initrd: Load fscache.ko before the 9p modules.
	* gnu/system/linux-initrd.scm (base-initrd)[virtio-9p-modules]: Add
	  "fscache.ko", required by Linux-libre 3.16.

2014-08-15  Mark H Weaver  <mhw@netris.org>

	gnu: Fix synopses for emacs-wget and fetchmail.
	* gnu/packages/emacs.scm (emacs-wget): Improve synopsis.
	* gnu/packages/mail.scm (fetchmail): Fix typo in synopsis.

	doc: Fix mention of default log location.
	* doc/guix.texi (Invoking guix-daemon): Fix mention of default log location.

	gnu: Add emacs-wget.
	* gnu/packages/emacs.scm (emacs-wget): New variable.

	gnu: Add emacs-w3m.
	* gnu/packages/emacs.scm (emacs-w3m): New variable.

	gnu: Add paredit.
	* gnu/packages/emacs.scm (paredit): New variable.

	gnu: Add magit.
	* gnu/packages/emacs.scm (magit): New variable.

	Add (guix build emacs-utils).
	* guix/build/emacs-utils.scm: New file.
	* Makefile.am (MODULES): Add it.
	* .dir-locals.el: Add indentation rules.

2014-08-14  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.16.1.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.16.1.

2014-08-14  Mark H Weaver  <mhw@netris.org>

	gnu: apl: Update to 1.4, add sqlite support.
	* gnu/packages/apl.scm (apl): Update to 1.4.  Add 'sqlite' as an input.
	  Pass --with-sqlite3 to configure.

	gnu: mysql: Update to 5.1.73.
	* gnu/packages/mysql.scm (mysql): Update to 5.1.73.  Update source URI.

	gnu: gpgme: Update to 1.5.1.
	* gnu/packages/gnupg.scm (gpgme): Update to 1.5.1.  Pass "GPG=gpg2"
	  to 'make'.

2014-08-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: lvm2: Upgrade, use udev, improve synopsis and description.
	* gnu/packages/linux.scm (lvm2): New variable.
	* gnu/packages/lvm.scm: Remove.
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove it.
	* gnu/packages/cryptsetup.scm: Adjust accordingly.

2014-08-13  Mark H Weaver  <mhw@netris.org>

	system: grub: Change the default default-entry to 0.
	* gnu/system/grub.scm (<grub-configuration>)[default-entry]: Change the
	  default to 0.

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

2014-08-13  Guy Grant  <tadnimi@gmail.com>

	gnu: Add terminus-font.
	* gnu/packages/fonts.scm (terminus-font): New variable.

2014-08-13  David Thompson  <davet@gnu.org>

	Remove ftp.sunet.se mirror.
	* guix/download.scm (%mirrors): Remove ftp.sunet.se URIs.

2014-08-12  Ludovic Courtès  <ludo@gnu.org>

	profiles: Adjust to unintended manifest format change.
	Reported by Andreas Enge.

	* guix/profiles.scm (sexp->manifest): Adjust to handle unintended format
	  change introduced in 4ca0b41.

2014-08-12  Ludovic Courtès  <ludo@gnu.org>

	guix package: Remove leftover internal procedure.
	Reported by Alex Kost <alezost@gmail.com>.

	* guix/scripts/package.scm (guix-package)[process-actions]: Remove
	  'same-package?'.

2014-08-12  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add detox.
	* gnu/packages/admin.scm (detox): New variable.

2014-08-12  Ludovic Courtès  <ludo@gnu.org>

	guix package: Use 'manifest-add'.
	* guix/scripts/package.scm (guix-package)[process-actions]: Use
	  'manifest-add' instead of the equivalent code.

2014-08-12  Alex Kost  <alezost@gmail.com>

	profiles: Add 'manifest-add'.
	* guix/profiles.scm (manifest-add): New procedure.
	* tests/profiles.scm (guile-1.8.8): New variable.
	  ("manifest-add"): New test.

2014-08-12  Ludovic Courtès  <ludo@gnu.org>

	Revert "nls: Use xgettext and msgmerge with --no-wrap."
	This reverts commit 648453e8d6005a7a2caec688cc035db86fe73c02.

	See <http://lists.gnu.org/archive/html/bug-gettext/2014-08/msg00005.html>
	for the rationale.

2014-08-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: texi2html: Remove dependency on Gettext.
	Partly fixes <http://bugs.gnu.org/18247>.

	* gnu/packages/texinfo.scm (texi2html)[source]: Add 'snippet' field.

2014-08-12  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add orpheus.
	* gnu/packages/orpheus.scm: New file.
	* gnu/packages/patches/orpheus-cast-errors-and-includes.patch: New patch.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add file.
	  (dist_patch_DATA): Add patch.

2014-08-11  Taylan Ulrich Bayirli/Kammer  <taylanbayirli@gmail.com>

	gnu: Add emacs-no-x-toolkit.
	* gnu/packages/emacs.scm (emacs-no-x-toolkit): New variable.

2014-08-11  Ludovic Courtès  <ludo@gnu.org>

	system: Use (guix profiles) to build the system profile.
	* gnu/system.scm (union): Remove.
	  (operating-system-profile): Use 'profile-derivation' and related
	  procedures instead of 'union'.

2014-08-11  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add texi2html.
	* gnu/packages/texinfo.scm (texi2html): New variable.
	* gnu/packages/patches/texi2html-document-encoding.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-08-11  Ludovic Courtès  <ludo@gnu.org>

	guix package: Remove dead code and unused variables.
	Suggested by Alex Kost <alezost@gmail.com>.

	* guix/scripts/package.scm (options->installable)[deduplicate]: Remove.
	  [packages-to-upgrade]: Remove unused variable 'newest'.
	  (roll-back): Remove unused variable 'manifest'.
	  (guix-package): Remove unused variables 'guile-missing?', 'verbose?',
	  and 'packages'.

2014-08-11  Ludovic Courtès  <ludo@gnu.org>

	nls: Add Czech translation.

2014-08-11  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: Add AVRDUDE
	* gnu/packages/avrdude.scm: New file
	* gnu-system.am (GNU_SYSTEM_MODULES): Add avrdude.scm
	* gnu/packages/patches/avrdude-fix-libusb.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-08-11  Cyrill Schenkel  <cyrill.schenkel@gmail.com>

	ui: Fix handling of periods by fill-paragraph.
	Fixes <http://bugs.gnu.org/17468>.

	* guix/ui.scm (fill-paragraph): Two spaces after period and no spaces before newline.
	* tests/ui.scm: New test case.

2014-08-11  Ludovic Courtès  <ludo@gnu.org>

	build: 'make clean' doesn't delete os-config.tmpl.
	Fixes <http://bugs.gnu.org/18243>.
	Reported by Andreas Enge and Mark H. Weaver.

	* Makefile.am (EXAMPLES): New variable.
	  (nobase_dist_guilemodule_DATA): Add it.
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove gnu/system/os-config.tmpl.

2014-08-10  Mark H Weaver  <mhw@netris.org>

	gnu: geiser: Update to 0.6.
	* gnu/packages/emacs.scm (geiser): Update to 0.6.

2014-08-09  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.16.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.16.

2014-08-09  Mark H Weaver  <mhw@netris.org>

	gnu: openssl: Update to 1.0.1i.
	* gnu/packages/openssl.scm (openssl): Update to 1.0.1i.

	gnu: linux-libre: Update to 3.15.9.
	* gnu/packages/linux.scm (linux-libre): Update to 3.15.9.

2014-08-08  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Add presentproto.
	* gnu/packages/xorg.scm (presentproto): New variable.

	gnu: xorg: Add dri3proto.
	* gnu/packages/xorg.scm (dri3proto): New variable.

	gnu: xf86-input-evdev: Add required input udev.
	* gnu/packages/xorg.scm (xf86-input-evdev): Add input udev.

2014-08-08  Mark H Weaver  <mhw@netris.org>

	gnu: setxkbmap: Use xkeyboard-config as default config root.
	* gnu/packages/xorg.scm (setxkbmap): Add 'xkeyboard-config' as an input.
	  Pass --with-xkb-config-root to configure.

	services: lsh: Fix activation script.
	* gnu/services/ssh.scm (lsh-service)[activate]: Import (guix build utils)
	  for 'mkdir-p'.

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

	gnu: Add lm-sensors.
	* gnu/packages/patches/lm-sensors-hwmon-attrs.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/linux.scm (lm-sensors): New variable.

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

	gnu: Add stress.
	* gnu/packages/admin.scm (stress): New variable.

2014-08-07  Andreas Enge  <andreas@enge.fr>

	gnu: curl: Update to 7.37.1.
	* gnu/packages/curl.scm (curl): Update to 7.37.1. Remove patch.
	* gnu/packages/patches/curl-fix-test172.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove patch.

	gnu: gnurl: Update to 7.37.0.
	* gnu/packages/gnunet.scm (gnurl): Update to 7.37.0.

2014-08-06  Mark H Weaver  <mhw@netris.org>

	gnu: notmuch: Update to 0.18.1.
	* gnu/packages/mail.scm (notmuch): Update to 0.18.1.

	gnu: xapian: Update to 1.2.18.
	* gnu/packages/search.scm (xapian): Update to 1.2.18.

	gnu: transmission: Update to 2.84.
	* gnu/packages/bittorrent.scm (transmission): Update to 2.84.

	gnu: Add acpica.
	* gnu/packages/admin.scm (acpica): New variable.

	gnu: Add flashrom.
	* gnu/packages/patches/flashrom-use-libftdi1.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/admin.scm (flashrom): New variable.

	gnu: libftdi: Fix mistakes in package description.
	* gnu/packages/libftdi.scm (libftdi): Change 'libusb' from a
	  'native-input' to a normal 'input'.  Fix the 'home-page' and
	  'license' fields.

	gnu: ffmpeg: Update to 2.3.1.
	* gnu/packages/video.scm (ffmpeg): Update to 2.3.1.

2014-08-05  Mark H Weaver  <mhw@netris.org>

	gnu: tor: Update to 0.2.4.23.
	* gnu/packages/tor.scm (tor): Update to 0.2.4.23.

2014-08-04  Mark H Weaver  <mhw@netris.org>

	gnu: ffmpeg and vlc: Rely on runtime cpu detection.
	* gnu/packages/video.scm (ffmpeg): Pass "--enable-runtime-cpudetect"
	  to configure.  Do not disable use of processor features that can be
	  detected at runtime.
	  (vlc): Rely on runtime cpu detection.  Do not disable use of
	  processor features that can be detected at runtime.

	gnu: mplayer: Enable runtime cpu detection.
	* gnu/packages/video.scm (mplayer): Pass --enable-runtime-cpudetection
	  to configure on supported platforms, as well as a suitable --target.

	gnu: tar: Update to 1.28.
	* gnu/packages/base.scm (tar): Update to 1.28.

	gnu: coreutils: Update to 8.23.
	* gnu/packages/patches/coreutils-skip-nohup.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove coreutils-skip-nohup.patch.
	* gnu/packages/patches/coreutils-dummy-man.patch: Adapt for 8.23.
	* gnu/packages/base.scm (coreutils): Update to 8.23.

	Merge branch 'master' into core-updates

2014-08-03  Mark H Weaver  <mhw@netris.org>

	gnu: gdb: Update to 7.8.
	* gnu/packages/gdb.scm (gdb): Update to 7.8.  Add 'guile' and 'python'
	  as inputs.  Add 'pkg-config' as a native-input.

2014-08-02  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.15.8.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.15.8.

2014-08-01  Mark H Weaver  <mhw@netris.org>

	gnu: gccgo: Suppress the separate "lib" output.
	Fixes <http://debbugs.gnu.org/18101>.

	* gnu/packages/gcc.scm (custom-gcc): Add 'separate-lib-output?'
	  keyword argument.
	  (gccgo-4.8): Pass #:separate-lib-output? #f to 'custom-gcc'.

2014-07-30  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.15.7.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.15.7.

2014-07-28  Mark H Weaver  <mhw@netris.org>

	Merge branch 'master' into core-updates

2014-07-26  Mark H Weaver  <mhw@netris.org>

	gnu: gnumeric: Adapt to glib "bin" split.
	* gnu/packages/gnome.scm (gnumeric): Add glib:bin to 'native-inputs'.

2014-07-26  Ludovic Courtès  <ludo@gnu.org>

	profiles: Add 'package->manifest-entry'.
	Suggested by Alex Kost <alezost@gmail.com>.

	* guix/scripts/package.scm (options->installable)[package->manifest-entry]:
	  Move to (guix profiles).
	  [package->manifest-entry*]: New procedure.
	  Use it.
	* guix/profiles.scm (package->manifest-entry): New procedure.
	* tests/profiles.scm (guile-for-build): New variable.
	  Call '%guile-for-build'.
	  ("profile-derivation"): New test.

2014-07-26  Ludovic Courtès  <ludo@gnu.org>

	profiles: Get rid of the 'inputs' field of 'manifest-entry'.
	* guix/profiles.scm (<manifest-entry>)[inputs]: Remove.
	  (profile-derivation): Rely on 'item' and 'deps' instead of 'inputs'.
	  Adjust 'builder' accordingly.
	* guix/scripts/package.scm (options->installable)[package->manifest-entry]:
	  Remove 'inputs' field.  Change 'dependencies' field to contain
	  packages.

	profiles: Switch to gexps.
	* guix/profiles.scm (<manifest-entry>)[path]: Rename to...
	  [item]: ... this.  Update users.
	  (manifest->sexp): Rename to...
	  (manifest->gexp): ... this.  Return a gexp.
	  (lower-input): Remove.
	  (profile-derivation): Remove 'store' parameter, and turn into a
	  monadic procedure.
	  [inputs]: New variable.
	  [builder]: Turn into a gexp.
	  Replace call to 'build-expression->derivation' with call to
	  'gexp->derivation'.
	* guix/scripts/package.scm (link-to-empty-profile): Adjust call to
	  'profile-derivation', and wrap it in 'run-with-store'.
	  (show-what-to-remove/install): Rename 'path' to 'item'.  Check whether
	  ITEM is a package, and return its output path if it is.
	  (input->name+path): Remove.
	  (options->installable): Set 'item' to P.
	  (guix-package): Adjust call to 'profile-derivation'.
	* tests/profiles.scm (guile-2.0.9): Change 'path' to 'item'.

	profiles: Do away with 'manifest=?'.
	* guix/profiles.scm (manifest=?): Remove.
	* guix/scripts/package.scm (readlink*): New procedure.
	  (guix-package)[process-actions]: Use 'readlink*' and compare the
	  profile to be built, PROF, with PROFILE to determine whether there's
	  nothing to be done.

2014-07-26  Mark H Weaver  <mhw@netris.org>

	gnu: goffice: Adapt to glib "bin" split.
	* gnu/packages/gnome.scm (goffice): Add glib:bin to 'native-inputs'.

	gnu: sudo: Apply workaround to build system for MIPS.
	* gnu/packages/admin.scm (sudo): Work around the fact that configure fails on
	  MIPS without 'file'.

2014-07-25  Ludovic Courtès  <ludo@gnu.org>

	profiles: Remove dead code.
	* guix/profiles.scm (write-manifest): Remove.
	  (read-manifest): Keep private.

	doc: Replace incorrect uses of @ref by @pxref.
	* doc/guix.texi: Use @pxref at the end of sentences, not @ref.

2014-07-25  Mark H Weaver  <mhw@netris.org>

	gnu: libpeas: Adjust to glib "bin" split.
	* gnu/packages/gnome.scm (libpeas): Add glib:bin to 'native-inputs'.

2014-07-25  Ludovic Courtès  <ludo@gnu.org>

	tests: Make sure --search="" works.
	* tests/guix-package.sh: Move '-s' tests outside of the network-only
	  section.  Make sure --search="" works.

	gnu: Add dmidecode.
	* gnu/packages/admin.scm (dmidecode): New variable.

2014-07-25  Eric Bavier  <bavier@member.fsf.org>

	guix: package: Fix recutils output for non-package inputs.
	* guix/ui.scm (package->recutils)[dependencies]: Ignore non-package inputs.
	* tests/guix-package.sh: New test.

2014-07-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: guix: Update to 0.7.
	* gnu/packages/package-management.scm (guix-0.6): Rename to...
	  (guix-0.7): ... this.  Upgrade to 0.7.
	  (guix): Alias for GUIX-0.7.
	  (guix-devel): Change 'guix-0.6' to 'guix-0.7'.

	build: Bump to version 0.8.
	* configure.ac: Switch to 0.8.

	doc: Fix typo in USB image file name.
	* doc/guix.texi (System Installation): Change image file name.

2014-07-25  Mark H Weaver  <mhw@netris.org>

	gnu: texlive: Disable tests on mips64el.
	* gnu/packages/texlive.scm (texlive): Disable tests on mips64el.

	gnu: boost: Omit context and coroutines libraries on mips64el.
	* gnu/packages/boost.scm (boost): Omit context and coroutines libraries on
	  mips64el.

2014-07-25  Ludovic Courtès  <ludo@gnu.org>

	Update NEWS.

	build: Update PO files as per 'make dist'.

	Update NEWS.

	ui: Improve formatting of package dependencies in recutils.
	* guix/ui.scm (package->recutils)[dependencies->recutils]: New
	  procedure. Use it.

	build: Fix typo in 'guix package --show' test.
	* tests/guix-package.sh: Change "^Package:" to "^name:".

	build: Better reject systems where the shebang would be too long.
	* tests/gexp.scm (shebang): Add "#!".

	services: Use system groups where applicable.
	* gnu/services/avahi.scm (avahi-service): Add 'system?' field to
	  'user-group' form.
	* gnu/services/base.scm (guix-service): Likewise.
	* gnu/services/dbus.scm (dbus-service): Likewise.
	* gnu/services/networking.scm (tor-service): Likewise.

2014-07-25  Ludovic Courtès  <ludo@gnu.org>

	system: Add the 'system?' field for user groups.
	Suggested by Mark H. Weaver.

	* gnu/system/shadow.scm (<user-group>)[system?]: New field.
	  (%base-groups): Introduce 'system-group' macro, and use it.
	* gnu/system.scm (user-group->gexp): Pass the 'system?' field.
	* guix/build/activation.scm (add-group): Add #:system? and honor it.
	  (activate-users+groups): Handle the 'system?' field.
	* gnu/system/file-systems.scm (%tty-gid): Choose an ID below 1000.
	* doc/guix.texi (User Accounts): Document the 'system?' field.

2014-07-24  Ludovic Courtès  <ludo@gnu.org>

	doc: Make sure out-of-source-tree builds find os-config.tmpl.
	* Makefile.am (BUILT_SOURCES): New variable.
	* daemon.am (BUILT_SOURCES): Use +=.
	* doc.am (BUILT_SOURCES, MAINTAINERCLEANFILES, EXTRA_DIST): Add
	  doc/os-config.texi.
	  (doc/os-config.texi): New target.
	* doc/guix.texi (System Installation): Include os-config.texi.

	doc: Add "guix system" to 'dir'.
	* doc/guix.texi: Add "guix system" to the dir entry.

	services: xorg: Honor ~/.xsession.
	* gnu/services/xorg.scm (xinitrc): Attempt to execute ~/.xsession.

	install: Add a configuration template to the image.
	* gnu/system/os-config.tmpl: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it
	* gnu/system/install.scm (configuration-template-service): New
	  procedure.
	  (installation-services): Call it.
	* doc/guix.texi (System Installation): Mention
	  configuration-template.scm, and @include gnu/system/os-config.tmpl.

	monads: Add 'interned-file'.
	* guix/monads.scm (interned-file): New procedure.
	* tests/monads.scm ("interned-file"): New test.
	* doc/guix.texi (The Store Monad): Document it.

	doc: Recommend partition labels.
	* doc/guix.texi (System Installation): Recommend partition labels.

2014-07-24  Ludovic Courtès  <ludo@gnu.org>

	services: xorg: Remove /var/run/slim.lock when starting.
	Reported by Mark H. Weaver.

	* gnu/services/xorg.scm (slim-service)[start]: Remove /var/run/slim.lock
	  before starting 'slim'.

2014-07-24  Mark H Weaver  <mhw@netris.org>

	gnu: gcc: Update to 4.9.1.
	* gnu/packages/gcc.scm (gcc-4.9): Update to 4.9.1.

2014-07-24  Manolis Ragkousis  <manolis837@gmail.com>

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

2014-07-24  Mark H Weaver  <mhw@netris.org>

	gnu: Adjust more packages to GLib "bin" split.
	* gnu/packages/gimp.scm (gegl): Add glib:bin to 'native-inputs'.
	* gnu/packages/mail.scm (mu): Ditto.

2014-07-23  Andreas Enge  <andreas@enge.fr>

	gnu: parallel: Upgrade to 20140722.
	* gnu/packages/parallel.scm (parallel): Upgrade to 20140722.

	gnu: xorriso: Upgrade to 3.1.8.
	* gnu/packages/cdrom.scm (xorriso): Upgrade to 3.1.8.

	gnu: nano: Upgrade to 2.3.6.
	* gnu/packages/nano.scm (nano): Upgrade to 2.3.6.

2014-07-23  Mark H Weaver  <mhw@netris.org>

	gnu: htop: Update source URI.
	* gnu/packages/admin.scm (htop): Update source URI.

2014-07-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: module-init-tools: Fix $LINUX_MODULE_DIRECTORY handling in 'depmod'.
	* gnu/packages/patches/module-init-tools-moduledir.patch: Adjust the
	  'depmod' part to handle $LINUX_MODULE_DIRECTORY without a trailing
	  slash.

	gnu: kmod: Install symlinks for 'insmod', 'modprobe', etc.
	* gnu/packages/linux.scm (kmod)[arguments]: Add 'install-modprobe&co'
	  phase.

2014-07-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: module-init-tools: Handle $LINUX_MODULE_DIRECTORY without trailing slash.
	Fixes <http://bugs.gnu.org/18068>.

	* gnu/packages/patches/module-init-tools-moduledir.patch: Adjust to deal
	  with the lack of a trailing slash.

2014-07-23  Ludovic Courtès  <ludo@gnu.org>

	guix system: Protect against changes to $PATH when activating the system.
	Partly fixes <http://bugs.gnu.org/18082>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/scripts/system.scm (save-environment-excursion): New macro.
	  (switch-to-system): Wrap 'primitive-load' call in it.

2014-07-23  Ludovic Courtès  <ludo@gnu.org>

	guix system: Fix type error in 'reconfigure'.
	Partly fixes <http://bugs.gnu.org/18082>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/scripts/system.scm (perform-action) <reconfigure>: Pass the
	  output file name of GRUB.CFG to 'install-grub'.

2014-07-23  Andreas Enge  <andreas@enge.fr>

	gnu: dvdisaster: Upgrade to 0.72.6.
	* gnu/packages/cdrom.scm (dvdisaster): Upgrade to 0.72.6.

2014-07-23  Ludovic Courtès  <ludo@gnu.org>

	install: Add a service to back the store with the target disk.
	Fixes <http://bugs.gnu.org/18061>.
	Reported by Adam Pribyl <pribyl@lowlevel.cz>.

	* gnu/services/dmd.scm (dmd-configuration-file)[config]: Import (guix
	  build utils).
	* gnu/system/install.scm (make-cow-store, cow-store-service): New
	  procedures.
	  (installation-services): Use it.
	  (%backing-directory): New variable.
	* doc/guix.texi (System Installation): Add the 'deco start cow-store
	  /mnt' phase.

2014-07-23  Andreas Enge  <andreas@enge.fr>

	gnu: pari-gp: Upgrade to 2.7.1.
	* gnu/packages/algebra.scm (pari-gp): Upgrade to 2.7.1.

2014-07-23  Mark H Weaver  <mhw@netris.org>

	system: Add missing exports to (gnu system file-systems).
	* gnu/system/file-systems.scm (%pseudo-terminal-file-system)
	  (%shared-memory-file-system): Add to export list.

2014-07-23  Ludovic Courtès  <ludo@gnu.org>

	system: Add /dev/shm.
	* gnu/system/file-systems.scm (%shared-memory-file-system): New
	  variable.
	  (%base-file-systems): Add it.
	* doc/guix.texi (File Systems): Document it.

	system: Recognize more file system flags.
	* guix/build/linux-initrd.scm (MS_NOSUID, MS_NODEV, MS_NOEXEC): New
	  variables.
	  (mount-flags->bit-mask): New procedure.
	  (mount-file-system)[flags->bit-mask]: Remove.
	  Use 'mount-flags->bit-mask' instead.
	  In /etc/mtab, use the empty string when OPTIONS is false.
	* gnu/services/base.scm (file-system-service): Add #:flags parameter and
	  honor it.
	* gnu/system.scm (other-file-system-services): Pass FLAGS to
	  'file-system-service'.

	doc: Merge the type, variable, and function indices.
	* doc/guix.texi (Function Index): Rename to...
	  (Programming Index): ... this.  Merge the type, variable, and function
	  indices.

2014-07-23  Ludovic Courtès  <ludo@gnu.org>

	system: Add 'file-system' decl. for /dev/pts, and use the right options.
	Fixes <http://bugs.gnu.org/18081>.

	* gnu/system/file-systems.scm (%devtmpfs-file-system): Add
	  'needed-for-boot?' field.
	  (%tty-gid, %pseudo-terminal-file-system): New variables.
	  (%base-file-systems): Add %PSEUDO-TERMINAL-FILE-SYSTEM.
	* gnu/services/base.scm (udev-service): Remove dependency on
	  'file-system-/dev'.
	* gnu/system/shadow.scm (%base-groups): Add 'id' field for group 'tty'.
	* guix/build/linux-initrd.scm (boot-system): Remove 'mount' call for
	  /dev/pts.
	* doc/guix.texi (File Systems): Add %pseudo-terminal-file-system.

2014-07-23  Ludovic Courtès  <ludo@gnu.org>

	system: Add 'create-mount-point?' file system option.
	* gnu/system/file-systems.scm (<file-system>)[create-mount-point?]: New
	  field.
	* gnu/services/base.scm (file-system-service): Add #:create-mount-point?
	  parameter and honor it.
	* gnu/system.scm (other-file-system-services): Update
	  'file-system-service' call accordingly.
	* doc/guix.texi (File Systems): Document it.

2014-07-22  Andreas Enge  <andreas@enge.fr>

	Require only lower gettext version.
	* configure.ac: Change back to requiring gettext at least 0.18.1, partially
	    reverting commit ee76417.

2014-07-22  Ludovic Courtès  <ludo@gnu.org>

	Thank Adam.

2014-07-22  Ludovic Courtès  <ludo@gnu.org>

	system: Add '%devtmpfs-file-system' for udev, and '%base-file-systems'.
	Suggested by Adam Pribyl <pribyl@lowlevel.cz>.

	* gnu/services/base.scm (udev-service)[requirement]: Add
	  'file-system-/dev'.
	* gnu/system/file-systems.scm (%devtmpfs-file-system,
	  %base-file-systems): New variables.
	* gnu/system/install.scm (installation-services)[file-systems]: Use
	  %base-file-systems.
	* build-aux/hydra/demo-os.scm (file-systems): Likewise.
	* doc/guix.texi (System Installation): Show %BASE-FILE-SYSTEMS in the
	  example.
	  (Using the Configuration System): Likewise.
	  (File Systems): Document %base-file-systems, %devtmpfs-file-system,
	  %binary-format-file-system, and %fuse-control-file-system.

2014-07-22  Ludovic Courtès  <ludo@gnu.org>

	doc: Fix typo.
	* doc/guix.texi (System Installation): s/are/is/.

2014-07-21  Ludovic Courtès  <ludo@gnu.org>

	Add comments about global memoization.
	* guix/build-system/gnu.scm (standard-inputs): Add comment about
	  misplaced memoization.
	* guix/packages.scm (cache): Likewise.

	services: Allow 'check-file-system' to work for non-boot-time file systems.
	* gnu/services/base.scm (file-system-service)[start]: Set $PATH so that
	  fsck.* can be found.  Reported by "DusXMT".

	Update 'NEWS'.

2014-07-21  Cyril Roelandt  <tipecaml@gmail.com>

	guix package: add a "show" option.
	* doc/guix.texi: Update the documentation.
	* guix/scripts/package.scm: Add a "show" option.
	* tests/guix-package.sh: Add a test for the "show" option.

	ui: add the "dependencies" field to package->recutils:
	* guix/ui.scm (package->recutils): Print the dependencies of the package.

2014-07-20  Ludovic Courtès  <ludo@gnu.org>

	nls: Add Hungarian translation.

	build: Fix typo that would lead to hitting the socket name length limit.
	* tests/guix-register.sh: Remove redundant $new_store in $NIX_STATE_DIR,
	  introduced in 689142cd ("guix-register: Add '--state-directory'
	  parameter.")  Reported by Eric Bavier <ericbavier@gmail.com> and
	  Alen Skondro <askondro@gmail.com>.

	doc: Show output of 'guix refresh --list-dependent' example.
	* doc/guix.texi (Invoking guix refresh): Show example output of the
	  command.

	guix refresh: Use (ice-9 format).
	* guix/scripts/refresh.scm: Use (ice-9 format).

	guix system: Factorize 'copy-closure'.
	* guix/scripts/system.scm (copy-closure): Rename to...
	  (copy-item): ... this.
	  (copy-closure): New procedure.
	  (install): Use it, and remove redundant code.

2014-07-20  Jason Self  <j@jxself.org>

	gnu: ffmpeg: Remove --disable-vis.
	* gnu/packages/video.scm (ffmpeg): Remove --disable-vis.

	gnu: wpa-supplicant: Update to 2.2.
	* gnu/packages/admin.scm (wpa-supplicant): Update to version 2.2.

	gnu: sudo: Update to 1.8.10p3.
	* gnu/packages/admin.scm (sudo): Update to version 1.8.10p3.

2014-07-20  Eric Bavier  <bavier@member.fsf.org>

	guix: refresh: Add --list-dependent option.
	* guix/packages.scm (package-direct-inputs): New procedure.
	* gnu/packages.scm (vhash-refq, package-direct-dependents)
	  (package-transitive-dependents, package-covering-dependents): New procedures.
	* guix/scripts/refresh.scm (%options, show-help, guix-refresh): Add
	  --list-dependent option.
	* doc/guix.texi (Invoking guix refresh): Document '--list-dependent' option.

	guix: utils: Add fold-tree and fold-tree-leaves.
	* guix/utils.scm (fold-tree, fold-tree-leaves): New functions.
	* tests/utils.scm: Add tests for them.

2014-07-20  Jason Self  <j@jxself.org>

	gnu: acl: Update to 2.2.52.
	* gnu/packages/acl.scm (acl): Update to version 2.2.52.

	gnu: htop: Update to 1.0.3.
	* gnu/packages/admin.scm (htop): Update to version 1.0.3.

	gnu: dfc: Update to 3.0.4.
	* gnu/packages/admin.scm (dfc): Update to version 3.0.4.

2014-07-20  John Darrington  <jmd@gnu.org>

	gnu: Enable tests for patch.
	* gnu/packages/base.scm (patch): Enable test and add "ed" as input.

	gnu: Enable swig tests.
	* gnu/packages/swig.scm (swig): Add boost as input and enable tests.

2014-07-19  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.15.6.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.15.6.

2014-07-19  David Thompson  <dthompson2@worcester.edu>

	install: Add wireless-tools package.
	* gnu/system/install.scm (installation-os): Add wireless-tools to packages.

	linux-initrd: Add AHCI modules.
	* gnu/system/linux-initrd (linux-modules): Add them.

	gnu: Add wireless-tools.
	* gnu/packages/linux.scm (wireless-tools): New variable.

2014-07-19  Ludovic Courtès  <ludo@gnu.org>

	install: Set the store's permission to #o1775.
	Fixes <http://bugs.gnu.org/18053>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/build/install.scm (directives): Add mode #o1775 for STORE.

2014-07-18  Eric Bavier  <bavier@member.fsf.org>

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

2014-07-18  Ludovic Courtès  <ludo@gnu.org>

	Thank Marek.

2014-07-18  Ludovic Courtès  <ludo@gnu.org>

	guix system: init: Always use /var/guix as the target state directory.
	Fixes <http://bugs.gnu.org/18049>.
	Reported by Marek Benc <merkur32@gmail.com>.

	* guix/scripts/system.scm (copy-closure): Pass #:state-directory to
	  'register-path'.

2014-07-18  Ludovic Courtès  <ludo@gnu.org>

	guix-register: Add '--state-directory' parameter.
	* nix/guix-register/guix-register.cc (GUIX_OPT_STATE_DIRECTORY): New
	  macro.
	  (parse_opt): Honor it.
	* tests/guix-register.sh: Add test with '--state-directory'.
	* guix/store.scm (register-path): Add #:state-directory parameter.

2014-07-18  Mark H Weaver  <mhw@netris.org>

	Fix typos in manual.
	* doc/guix.texi (Using the Configuration System): 'gid' -> 'group'
	  in user-account example.
	  (Initial RAM Disk): 'base-init' -> 'base-initrd'.

2014-07-18  John Darrington  <jmd@gnu.org>

	gnu: Add Aegis.
	* gnu/packages/version-control.scm (aegis): New variable.
	* gnu/packages/patches/aegis-constness-error.patch: New file.
	* gnu/packages/patches/aegis-perl-tempdir1.patch: New file.
	* gnu/packages/patches/aegis-perl-tempdir2.patch: New file.
	* gnu/packages/patches/aegis-test-fixup-1.patch: New file.
	* gnu/packages/patches/aegis-test-fixup-2.patch: New file.

	gnu: whitespace change only
	* gnu/packages/version-control.scm: Remove blank line

	Update 'AUTHORS'.
	* AUTHORS: Correct the email address I use for Guix work.

2014-07-18  Ludovic Courtès  <ludo@gnu.org>

	gnu: apr-util: Run 'make check' sequentially.
	* gnu/packages/apr.scm (apr-util)[arguments]: Add #:parallel-tests?.

2014-07-17  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'gettext-upgrade'

2014-07-17  Jason Self  <j@jxself.org>

	gnu: ffmpeg: Update to 2.3.
	* gnu/packages/video.scm (ffmpeg): Update to version 2.3.

	gnu: libogg: Update to 1.3.2.
	* gnu/packages/xiph.scm (libogg): Update to version 1.3.2.

2014-07-17  Ludovic Courtès  <ludo@gnu.org>

	install: Show the "System Installation" node.
	* gnu/system/install.scm (log-to-info): Go to the new 'System
	  Installation' node.

	gnu: guix: Upgrade development snapshot.
	* gnu/packages/package-management.scm (guix): Upgrade to commit
	  0ae8c15.

	doc: Add "Setuid Programs" node.
	* doc/guix.texi (Setuid Programs): New node.

	doc: Add "Initial RAM Disk" section.
	* doc/guix.texi (Initial RAM Disk): New node.
	* gnu/system/linux-initrd.scm (expression->initrd): Adjust docstring.

	records: Report unknown field names in inheriting forms.
	* guix/records.scm (define-record-type*)[record-inheritance]: Check for
	  unexpected field names.
	* tests/records.scm ("define-record-type* with let* behavior"): Return
	  #t, not *unspecified*.
	  ("define-record-type* & inherit & extra initializers"): New test.

	records: Factorize error-reporting macro.
	* guix/records.scm (record-error): New macro.
	  (define-record-type*)[error*]: Remove.
	  Use 'record-error' instead.

	records: Add tests for error cases.
	* tests/records.scm (test-module): New procedure.
	  ("define-record-type* & missing initializers",
	  "define-record-type* & extra initializers"): New tests.

	services: Add 'console-font-service'.
	* gnu/services/base.scm (unicode-start, console-font-service): New
	  procedures.
	  (%base-services): Call 'console-font-service' for TTY1 to TTY6.
	* gnu/system/install.scm (installation-services): Add comment about the
	  console font.  Call 'console-font-service' for TTY1 to TTY6.

	gexp: Gracefully handle printing of gexps with spliced references.
	* guix/gexp.scm (write-gexp): Wrap 'write' call in
	  'false-if-exception'.
	* tests/gexp.scm ("printer", "printer vs. ungexp-splicing"): New tests.

	doc: List noteworthy limitations.
	* doc/guix.texi (Limitations): New subsection.

2014-07-16  Ludovic Courtès  <ludo@gnu.org>

	services: syslog: Don't write trivial error messages to /dev/console.
	* gnu/services/base.scm (syslog-service): Change "*.err" to "*.alert".

	system: Add e2fsprogs to the base packages.
	* gnu/system.scm (%base-packages): Add E2FSPROGS.

	system: Use kmod instead of module-init-tools.
	* gnu/system.scm (%base-packages): Use kmod instead of
	  module-init-tools.

	gexp: Build 'gexp->file' derivations locally.
	* guix/gexp.scm (gexp->file): Add #:local-build? argument.

	gnu: kbd: Make sure unicode_{start,stop} work as expected.
	* gnu/packages/linux.scm (kbd): Patch 'src/unicode_{start,stop}' to use
	  'tty'.
	  <phases>: Add 'post-install' phase.

	doc: Move "System Configuration" higher.
	* doc/guix.texi (GNU Distribution): Move "System Configuration" right
	  after "System Installation".

2014-07-16  John Darrington  <jmd@gnu.org>

	Update 'THANKS'.
	* THANKS: Correct the email address I use for Guix work.

	gnu: Tinyproxy: Cleanup xml dependencies
	* gnu/packages/web.scm (tinyproxy): Use the XML catalog from docbook instead of
	  generating a temporary one.

	gnu: Enable gnome-doc-utils tests
	* gnu/packages/gnome (gnome-doc-utils): Set the XML_CATALOG_FILES variable and
	  enable the tests.

	gnu: docbook-xsl write absolute file:// uris in catalogs instead of ./ relative ones
	* gnu/packages/docbook.scm (docbook-xsl):  Replace ./ paths with file:// uris

	gnu: docbook-xml: Substitute remote xml_catalog uris with local ones.
	* gnu/packages/docbook.scm: substitute remote uri with local ones.

	gnu: Add docbook-xml version 4.3 and 4.4
	* gnu/packages/docbook.scm (docbook-xml-4.3, docbook-xml-4.4): New variables.

	gnu: docbook-xsl update to 1.78.1
	* gnu/packages/docbook.scm (docbook-xsl): Upgrade to version 1.78.1

2014-07-15  Ludovic Courtès  <ludo@gnu.org>

	nls: Update 'eo' and 'vi' translations.

	Add Jason to 'AUTHORS'.

2014-07-15  Jason Self  <j@jxself.org>

	gnu: libvorbis: Update to 1.3.4.
	* gnu/packages/xiph.scm (libvorbis): Update to version 1.3.4.

	gnu: flac: Upgrade to 1.3.0.
	* gnu/packages/xiph.scm (flac): Update to version 1.3.0.
	  Remove 'patches' field.
	* gnu/packages/patches/flac-fix-memcmp-not-declared.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

2014-07-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: gettext: Update to 0.19.2.
	* gnu/packages/gettext.scm (gnu-gettext): Update to 0.19.2.

2014-07-15  Eric Bavier  <bavier@member.fsf.org>

	guix: refresh: Correctly identify invalid package names.
	* guix/scripts/refresh.scm (guix-refresh): Check for null list
	  returned by find-packages-by-name rather than #f.

2014-07-15  Ludovic Courtès  <ludo@gnu.org>

	doc: Add a "System Installation" node.
	* doc/guix.texi (Installation): Add cross-ref to "System Installation".
	  (System Installation): New section.
	  (System Configuration): Remove disclaimer.

2014-07-14  Ludovic Courtès  <ludo@gnu.org>

	install: Remove GNU fdisk from the image.
	* gnu/system/install.scm (installation-os): Remove FDISK.

2014-07-14  Ludovic Courtès  <ludo@gnu.org>

	vm: Make sure disk image initrds load 'usb-storage.ko'.
	Reported by David Thompson <dthompson2@worcester.edu>.

	* gnu/system/vm.scm (system-disk-image): Add usb-storage.ko to the
	  initrd.

2014-07-14  Ludovic Courtès  <ludo@gnu.org>

	doc: Remove redundant listing of services.
	* doc/guix.texi (Defining Services): Remove listing of service
	  procedures; add xref to "Services".

	guix system: reconfigure: Always use "/" as GRUB's target file system.
	* guix/scripts/system.scm (perform-action) <reconfigure>: Wrap
	  'install-grub' call in 'false-if-exception'.  Always use "/" as the
	  target.

	gnu: Synchronize synopses and descriptions with the Womb.
	* gnu/packages/gimp.scm (gimp): Synchronize synopsis and description.
	* gnu/packages/gl.scm (guile-opengl): Likewise.
	* gnu/packages/gnome.scm (gnumeric): Likewise.

	services: Add options to 'guix-service'.
	* gnu/services/base.scm (guix-service): Add #:use-substitutes? and
	  #:extra-options parameters, and honor them.
	* doc/guix.texi (Base Services): Adjust accordingly.

	system: Add 'nano' and 'lsof' to the base packages.
	* gnu/system.scm (%base-packages): Add NANO and LSOF.

2014-07-14  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.15.5.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.15.5.

2014-07-14  Jason Self  <j@jxself.org>

	gnu: linux-libre: Disable CONFIG_DEBUG_INFO and turn off nvidiafb module.
	Disabling CONFIG_DEBUG_INFO so that local builds aren't so enormous.
	Also turning off nvidiafb module based on a bug report I received.
	Nouveau has its own framebuffer device and it looks like they conflict
	if you load both.

	* gnu/packages/linux-libre-x86_64.conf: Comment out CONFIG_FB_NVIDIA,
	  and remove related items.  Comment out CONFIG_DEBUG_INFO.
	* gnu/packages/linux-libre-i686.conf: Likewise.

2014-07-13  Ludovic Courtès  <ludo@gnu.org>

	nls: Add German translation.

	nls: Update eo, pt_BR, sr, and vi package translations.

	Merge branch 'bug-17853'

	guix system: Fix return value for 'reconfigure'.
	* guix/scripts/system.scm (perform-action) <reconfigure>: Add missing
	  'return' expression.

	linux-initrd: Allow extra modules to be passed to 'base-initrd'.
	* gnu/system/linux-initrd.scm (base-initrd): Add #:extra-modules
	  parameter.

	install: Make /var/db and /mnt.
	* guix/build/install.scm (directives): Add /var/db and /mnt.

	guix system: Convert to monadic style.
	* guix/scripts/system.scm (references*, topologically-sorted*,
	  show-what-to-build*): New procedures.
	  (copy-closure): Turn into a monadic procedure.
	  (install): Likewise, and adjust parameter list.
	  (switch-to-system): Likewise.
	  (system-derivation-for-action, grub.cfg, maybe-build, perform-action):
	  New procedures.
	  (guix-system): Use them.

2014-07-13  Ludovic Courtès  <ludo@gnu.org>

	vm: Add support for i686.
	Partially fixes <http://bugs.gnu.org/18002>.
	Reported by David Thompson <dthompson2@worcester.edu>.

	* guix/build/vm.scm (qemu-command): Add optional 'system' parameter.
	  Special-case "^i[3456]86$".
	* gnu/system/vm.scm (system-qemu-image/shared-store-script): Use it.

2014-07-13  John Darrington  <jmd@gnu.org>

	gnu: Add chess and xboard.
	* gnu/packages/games.scm (xboard, chess): New variables.

2014-07-12  Ludovic Courtès  <ludo@gnu.org>

	services: Add Tor service.
	* gnu/services/networking.scm (tor-service): New procedure.
	* doc/guix.texi (Networking Services): Document it.
	* build-aux/hydra/demo-os.scm: Use it.  Add TOR and TORSOCKS to
	  'packages'.

	services: networking: Set interfaces up; delete default route only when needed.
	* gnu/services/networking.scm (static-networking-service): Use -i, -A,
	  and --up with Inetutils' ifconfig.  Do 'route del -net default' only
	  when GATEWAY is true.

	system: Add 'which' to the base packages.
	* gnu/system.scm (%base-packages): Add WHICH.

	services: Provide a 'loopback' service by default.
	* gnu/services/networking.scm (static-networking-service): Add
	  #:provision parameter; use it.
	* gnu/services/base.scm (%base-services): Call
	  'static-networking-service' for "lo".

2014-07-12  Ludovic Courtès  <ludo@gnu.org>

	system: Remove erroneous system binding in profile maker.
	Partly fixes <http://bugs.gnu.org/18002>.
	Reported by David Thompson <dthompson2@worcester.edu>.

	* gnu/system.scm (union): Remove #:system parameter, which was unused.

2014-07-12  Ludovic Courtès  <ludo@gnu.org>

	gexp: Resolve the default system at '>>=' time.
	Partly fixes <http://bugs.gnu.org/18002>.
	Reported by David Thompson <dthompson2@worcester.edu>.

	* guix/gexp.scm (gexp->derivation): Change #:system to default #f.
	  Use (%current-system) from within the 'mlet*'.
	* tests/gexp.scm ("gexp->derivation, default system"): New test.

2014-07-12  Ludovic Courtès  <ludo@gnu.org>

	monads: Fix 'mapm' so that effects happen from left to right.
	* guix/monads.scm (mapm): Don't reverse LST, so that items are processed
	  from left to right.  Bind the result of 'foldm' and reverse it.
	* tests/monads.scm ("sequence"): Change 'frob' so it performs its side
	  effect within an 'mlet' body.  Adjust call accordingly.

2014-07-12  John Darrington  <jmd@gnu.org>

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

2014-07-11  Ludovic Courtès  <ludo@gnu.org>

	doc: Start writing about services.
	* doc/guix.texi (Using the Configuration System): Remove details about
	  '%base-services', and link to "Services".
	  (Services): Add introductory text.
	  (Base Services, Networking Services, X Window): New nodes.

	services: Use more Texinfo markup in docstrings.
	* gnu/services/base.scm (host-name-service): Use Texinfo markup.
	  (mingetty-service): Comment on #:allow-empty-passwords?.  Improve
	  markup.
	  (syslog-service, guix-service): Use Texinfo markup.
	* gnu/services/networking.scm (static-networking-service): Likewise.
	* gnu/services/xorg.scm (slim-service): Likewise.

2014-07-11  Ludovic Courtès  <ludo@gnu.org>

	system: Allow root to use 'groupadd' & co. without authenticating.
	This fixes a bug whereby, if #:allow-root-passwords was #f, 'groupadd'
	would ask for a password.  This is particularly problematic during
	activation.

	* gnu/system/linux.scm (rootok-pam-service): New procedure.
	  (base-pam-services): Use it for all the user* and group* commands.

2014-07-11  Ludovic Courtès  <ludo@gnu.org>

	packages: Add printer for <origin>.
	* guix/packages.scm (print-origin): New procedure.
	  (<origin>): Add it as record type printer.

2014-07-11  Eric Bavier  <bavier@member.fsf.org>

	gnu: texlive: Upgrade to 2014.
	* gnu/packages/texlive.scm (texlive-extra-src, texlive-texmf-src,
	  texlive): Upgrade to 2014.
	  (texlive)[arguments]: Remove 'patch-perl-shebang' phase.

2014-07-11  David Thompson  <dthompson2@worcester.edu>

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

2014-07-11  Ludovic Courtès  <ludo@gnu.org>

	system: Add "netdev" group.
	* gnu/system/shadow.scm (%base-groups): Add "netdev".

	gnu: linux-libre: Remove '--strip-all' argument.
	* gnu/packages/linux.scm (linux-libre)[arguments]: Remove
	  #:strip-flags, which led to unloadable modules.  This reverts
	  commit 9ca7eaa1.
	  [build-phase]: Add INSTALL_MOD_STRIP=1.

2014-07-11  Eric Bavier  <bavier@member.fsf.org>

	gnu: glib: Fix build on i686.
	* gnu/packages/patches/glib-tests-timer.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/glib.scm: Use it.

2014-07-10  Eric Bavier  <bavier@member.fsf.org>

	gnu: Remove overlooked patch.
	* gnu-system.am (dist_patch_DATA): Remove patch deleted previously.

2014-07-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add VTK.
	* gnu/packages/vtk.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: plotutils: Propagate libXaw.
	* gnu/packages/plotutils.scm (plotutils): Move LIBXAW to from 'inputs'
	  to 'propagated-inputs'.

	gnu: linux-libre: Fallback to 'defconfig' when there's no config file.
	* gnu/packages/linux.scm (kernel-config): Return #f rather than error
	  out in the default case.
	  (linux-libre)[native-inputs]: Add "kconfig" input only when
	  'kernel-config' returns true.
	  [build-phase]: Adjust accordingly.

	gnu: linux-libre: Strip everything with '--strip-all'.
	* gnu/packages/linux.scm (linux-libre)[arguments]: Add #:strip-flags.

2014-07-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: linux-libre: Add i686 and x86_64 full-blown configs.
	Thanks to Jason Self <jself@gnu.org> for the kernel configs.

	* gnu/packages/linux.scm (kernel-config): New procedure.
	  (linux-libre)[build-phase]: Copy it to .config.  Reduce the list of
	  things appended to .config.
	  [native-inputs]: Add "kconfig" input.
	* gnu/packages/linux-libre-i686.conf,
	  gnu/packages/linux-libre-x86_64.conf: New files, from
	  <http://jxself.org/x86-32.txt> and <http://jxself.org/x86-64.txt>.
	* Makefile.am (KCONFIGS): New variable.
	  (nobase_dist_guilemodule_DATA): Add it.

2014-07-10  Ludovic Courtès  <ludo@gnu.org>

	services: udev: Improve synchronization when starting.
	* gnu/services/base.scm (udev-service)[start]: Add 'wait-for-udevd', and
	  call it before running 'udevadm trigger'.  Pass --action=add to
	  'udevadm trigger'.  Call 'udevadm settle' after 'udevadm trigger'.

	services: xorg: Remove optional sections from xorg.conf.
	* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Remove
	  sections "Monitor", "InputClass", "ServerLayout", "Device", and
	  "Screen".

	services: xorg: Require 'udev'.
	* gnu/services/xorg.scm: Add 'udev' to the 'requirement' field.

	services: xorg: Add drivers to the default search path.
	* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
	  'ModulePath' entries for xf86-video-{fbdev,cirrus,intel,mach64,nv} and
	  xf86-input-{synaptics,vmmouse}.

	services: xorg: Fix typo in font path.
	* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Fix typo in
	  font path.

2014-07-09  John Darrington  <jmd@gnu.org>

	gnu: Add sipwitch and dependent packages
	* gnu-system.am (GNU_SYSTEM_MODULES): Add new file.
	* gnu/packages/telephony.scm: New file.

2014-07-08  Ludovic Courtès  <ludo@gnu.org>

	guix system: Add '--system' option.
	* guix/scripts/system.scm (switch-to-system): Add #:system parameter;
	  pass it to 'run-with-store'.
	  (%options): Add '--system'.
	  (guix-system): Pass the 'system' option to 'run-with-store',
	  'package-derivation', and 'switch-to-system' calls.
	* doc/guix.texi (Invoking guix system): Document '--system' and
	  '--image-size'.

2014-07-08  Cyrill Schenkel  <cyrill.schenkel@gmail.com>

	gnu: Add conkeror.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add new package.
	* gnu/packages/conkeror.scm: New file.

2014-07-08  Mark H Weaver  <mhw@netris.org>

	gnu: tor: Upgrade to 0.2.4.22.
	* gnu/packages/tor.scm (tor): Upgrade to 0.2.4.22.

2014-07-08  Ludovic Courtès  <ludo@gnu.org>

	services: Update to use the dmd 0.2 API.
	* gnu/services/avahi.scm (avahi-service)[start]: Wrap command in a
	  list.
	* gnu/services/dbus.scm (dbus-service)[start]: Likewise.
	* gnu/services/ssh.scm (lsh-service): Likewise.
	* gnu/services/base.scm (mingetty-service)[start]: Likewise.
	  (nscd-service)[start]: Likewise.
	  (syslog-service)[start]: Likewise.
	  (guix-service)[start]: Likewise.
	  (udev-service)[start]: Use 'exec-command' instead of 'execl'.
	* gnu/services/xorg.scm (slim-service)[start]: Likewise, and use
	  #:environment-variables.

	gnu: dmd: Update to 0.2.
	* gnu/packages/admin.scm (dmd): Update to 0.2; remove 'patches'.
	* gnu/packages/patches/dmd-getpw.patch,
	  gnu/packages/patches/dmd-tests-longer-sleeps.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

	gnu: linux-libre: Use the GNU + Freedo boot logo.
	* gnu/packages/linux.scm (%boot-logo-patch): New variable.
	  (linux-libre)[build-phase]: Apply it.
	  [native-inputs]: Add it.

2014-07-07  Mark H Weaver  <mhw@netris.org>

	gnu: bitlbee: Upgrade to 3.2.2.
	* gnu/packages/messaging.scm (bitlbee): Upgrade to 3.2.2.  Remove patches.
	  Use 'libotr' instead of 'libotr-3'.
	* gnu/packages/patches/bitlbee-fix-tests.patch: Remove file.
	* gnu/packages/patches/bitlbee-memset-fix.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove patches.

2014-07-06  Ludovic Courtès  <ludo@gnu.org>

	build: Get the canonical $HOME name when testing 'guix package'.
	* tests/guix-package.sh (HOME): Recompute using 'pwd -P'.

2014-07-06  Ludovic Courtès  <ludo@gnu.org>

	build: Use the canonical srcdir/builddir in 'pre-inst-env'.
	Fixes <http://bugs.gnu.org/17935>.

	* pre-inst-env.in (abs_top_builddir, abs_top_srcdir): Use 'pwd -P'.

2014-07-06  Ludovic Courtès  <ludo@gnu.org>

	build: Remove empty element from $GUILE_LOAD_PATH.
	* pre-inst-env.in (GUILE_LOAD_PATH): Remove extraneous colon.

2014-07-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: gnupg: Update to 2.0.25 and 1.4.18.
	* gnu/packages/gnupg.scm (gnupg): Update to 2.0.25.
	  (gnupg-1): Update to 1.4.18.

2014-07-05  Ludovic Courtès  <ludo@gnu.org>

	build: Support running the test suite from a directory with symlinks.
	Fixes <http://bugs.gnu.org/17935>.
	Reported by Alex Kost <alezost@gmail.com>.

	* test-env.in: Canonicalize $NIX_STORE_DIR, and remove
	  $NIX_IGNORE_SYMLINK_STORE setting.
	* tests/guix-register.sh: Likewise, canonicalize $new_store_dir and
	  $new_store and leave $NIX_IGNORE_SYMLINK_STORE unchanged.

2014-07-05  John Darrington  <jmd@gnu.org>

	gnu: Add maxima.
	* gnu/packages/maths.scm (maxima): New variable.

	gnu: Add gcl.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add new package.
	* gnu/packages/lisp.scm: New file.

2014-07-05  Taylan Ulrich Bayirli/Kammer  <taylanbayirli@gmail.com>

	guix package: Try $LOGNAME in addition to $USER.
	Fixes <http://bugs.gnu.org/17946>.

	Notoriously, cron jobs may set LOGNAME only and not USER.  See
	e.g. crontab(5) under Debian 7 (wheezy).

	* guix/scripts/package.scm (%profile-directory)
	(guix-package): Also try LOGNAME if USER is unset.

2014-07-05  Ludovic Courtès  <ludo@gnu.org>

	Thank Taylan and Alex.

2014-07-05  Ludovic Courtès  <ludo@gnu.org>

	guix package: Do the right thing for '-p ~/.guix-profile'.
	Fixes <http://bugs.gnu.org/17939>.
	Reported by Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>.

	* guix/scripts/package.scm (canonicalize-profile): New procedure.
	  (%options): Use it for --profile.
	* tests/guix-package.sh: Add test.

2014-07-04  Ludovic Courtès  <ludo@gnu.org>

	vm: Enable QEMU support in the freestanding VM image.
	* gnu/system/vm.scm (system-qemu-image): Add 'initrd' field.

2014-07-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: Avoid circular dependency among modules.
	Reported by Alex Kost <alezost@gmail.com>.

	* gnu/packages/python.scm: Don't use #:select for (gnu packages zip).

2014-07-04  John Darrington  <jmd@gnu.org>

	gnu: Add gegl and gimp
	* gnu/packages/gimp.scm (gegl, gimp): New variables.

2014-07-03  Ludovic Courtès  <ludo@gnu.org>

	doc: Document user accounts and user groups.
	* doc/guix.texi (File Systems): Fix typo.
	  (User Accounts): Populate.

	linux-initrd: Use 'call-with-error-handling' when booting.
	* guix/build/linux-initrd.scm (canonicalize-device-spec): When label
	  resolution fails, call 'error' instead of 'format' + 'start-repl'.
	  (boot-system): Wrap most of body in 'call-with-error-handling'.
	  Remove 'catch' around 'primitive-load' call.

	linux-initrd: Remove unused local procedure.
	* guix/build/linux-initrd.scm (boot-system)[resolve]: Remove.

	gnu: Add youtube-dl.
	* gnu/packages/video.scm (youtube-dl): New variable.

2014-07-02  Ludovic Courtès  <ludo@gnu.org>

	doc: Write about file system configuration.
	* doc/guix.texi (Using the Configuration System): Change 'guix system
	  boot' to 'guix system reconfigure'.
	  (File Systems, User Accounts, Services): New nodes.

2014-07-02  Eric Bavier  <bavier@member.fsf.org>

	gnu: glib: Upgrade to 2.40.0.
	* gnu/packages/glib.scm (glib)[source]: Upgrade to 2.40.0.  Adjust
	  patch list.
	* gnu/packages/patches/glib-tests-newnet.patch: Remove.
	* gnu/packages/patches/glib-tests-desktop.patch: Adjust for 2.40.0.

	gnu: libbonobo: Skip failing test case.
	* gnu/packages/patches/libbonobo-activation-test-race.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/gnome.scm (libbonobo)[source]: New 'patches' field.

	gnu: gnome: Version splitting and line wrapping.
	* gnu/packages/gnome.scm (orbit2): Wrape code to 80 characters.  Use
	  string-split/string-join to get version major/minor numbers.
	  (libbonoboui): Likewise.

	gnu: Adjust yet more packages to GLib "bin" split.
	* gnu/packages/maths.scm (pspp): Add glib:bin to 'native-inputs'.
	* gnu/packages/gnome.scm (gconf, gnome-vfs, libgnome, libgnomeui,
	  libbonoboui): Likewise.
	  (libbonobo, libgnomecanvas, libgnomeprint): Comment on why glib:bin.
	* gnu/packages/gtk.scm (gtksourceview): Likewise.

2014-07-02  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Gracefully handle lack of or invalid ext2 superblocks.
	Reported by David Thompson <dthompson2@worcester.edu>.

	* guix/build/linux-initrd.scm (read-ext2-superblock): Add
	  'superblock-size' variable.  Read with 'get-bytevector-n!' instead of
	  'getbytevector-n', and make sure we read exactly SUPERBLOCK-SIZE
	  bytes.

2014-07-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: Adjust more packages to GLib "bin" split.
	* gnu/packages/glib.scm (dbus-glib): Add glib-bin to 'native-inputs'.
	  (glibmm): Likewise.
	* gnu/packages/gstreamer.scm (gstreamer-0.10): Likewise.
	* gnu/packages/gtk.scm (gtksourceview): Likewise.
	* gnu/packages/qemu.scm (qemu-headless): Likewise.
	* gnu/packages/gnome.scm (librsvg, libbonobo, libgnomecanvas,
	  libgnomeprint): Likewise.

	gnu: pdf: Add PoDoFo.
	* gnu/packages/pdf.scm (podofo): New variable.

2014-07-01  Cyrill Schenkel  <cyrill.schenkel@gmail.com>

	gnu: Add cmatrix.
	* gnu/packages/games.scm (cmatrix):  New variable.

	gnu: Add node.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add new package.
	* gnu/packages/node.scm: New file.

2014-07-01  Ludovic Courtès  <ludo@gnu.org>

	services: Add lshd service.
	* gnu/services/ssh.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	linux-initrd: Rename 'qemu-initrd' to 'base-initrd'.
	* gnu/system/linux-initrd.scm (qemu-initrd): Rename to...
	  (base-initrd): ... this.
	* gnu/system.scm (<operating-system>)[initrd]: Update accordingly.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm,
	  system-disk-image, virtualized-operating-system): Likewise.

	linux-initrd: Disable QEMU networking by default.
	* gnu/system/linux-initrd.scm (qemu-initrd): Remove default value for
	  #:qemu-networking?.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass
	  #:qemu-networking? #t.
	  (system-disk-image): Remove #:qemu-networking? #f.
	  (virtualized-operating-system): Pass #:qemu-networking? #t.

	linux-initrd: Make the virtio kernel modules optional.
	* gnu/system/linux-initrd.scm (qemu-initrd): Add #:virtio? parameter.
	  Use it.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass
	  'qemu-initrd' #:virtio?.
	  (virtualized-operating-system): Likewise.

2014-06-30  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add jrnl, python-pycrypto, python-keyring, python-parsedatetime, and python-tzlocal.
	* gnu/packages/jrnl.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* gnu/packages/python.scm (python-pycrypto, python-keyring,
	  python-dateutil-2, python-parsedatetime, python-tzlocal): New
	  variables.

	guix: Add CC0 license.
	* guix/licenses.scm (cc0): New variable.

	gnu: Add behave, python-six, python-enum34, python-parse-type, and python-parse.
	* gnu/packages/python.scm (python-six, python-enum34, python-parse-type,
	  python-parse, behave): New variables.

2014-06-30  Ludovic Courtès  <ludo@gnu.org>

	gnu: glib: Add "bin" output.
	Fixes <http://bugs.gnu.org/17853>.

	* gnu/packages/glib.scm (glib)[outputs]: Add "bin".
	  (gobject-introspection)[native-inputs]: New field.
	* gnu/packages/avahi.scm (avahi)[native-inputs]: Add glib:bin.
	* gnu/packages/gnome.scm (brasero, libgnome-keyring, evince,
	  gsettings-desktop-schemas, libnotify, gtkglext): Likewise.
	* gnu/packages/gstreamer.scm (gstreamer, gst-plugins-base,
	  gst-plugins-base-0.10): Likewise.
	* gnu/packages/gtk.scm (atk, pango, gdk-pixbuf, gtk+-2, gtk+):
	  Likewise.
	* gnu/packages/linux.scm (udev): Likewise.
	* gnu/packages/pdf.scm (poppler): Likewise.

2014-06-30  John Darrington  <jmd@gnu.org>

	gnu: Add goffice and gnumeric
	gnu/packages/gnome.scm (goffice, gnumeric): New variables.

2014-06-29  Ludovic Courtès  <ludo@gnu.org>

	guix-register: Add explicit libgcrypt initialization.
	* nix/guix-register/guix-register.cc (main): Add calls to
	  'gcry_check_version' and 'gcry_control', to appease libgcrypt.

	Add Cyrill to AUTHORS.

2014-06-29  Cyrill Schenkel  <cyrill.schenkel@gmail.com>

	gnu: Add ncmpcpp.
	* gnu/packages/mpd.scm (ncmpcpp): New variable.

2014-06-29  Ludovic Courtès  <ludo@gnu.org>

	services: udev: Make sure modules are found, and use "udevadm settle".
	* gnu/services/base.scm (udev-service): Set $LINUX_MODULE_DIRECTORY.  In
	  the parent, invoke "udevadm settle" before "udevadm trigger".

	system: Set $LINUX_MODULE_DIRECTORY as a function or /run/booted-system.
	* gnu/system.scm (etc-directory): Remove #:kernel parameter.  Set
	  LINUX_MODULE_DIRECTORY as a function or /run/booted-system.
	  (operating-system-etc-directory): Update accordingly.

2014-06-27  Ludovic Courtès  <ludo@gnu.org>

	doc: Improve wording and example in "Using the Configuration System".
	* doc/guix.texi (Using the Configuration System): Make the intro more
	  user-oriented.  Change example to return an operating system.  Fix
	  typos.  Mention mandatory/optional fields.

	gnu: guix: Use the development version by default.
	* gnu/packages/package-management.scm (guix): Rename to...
	  (guix-0.6): ... this.
	  (guix-devel): Rename to...
	  (guix): ... this.  Replace references to 'guix' by references to
	  'guix-0.6'.

	gnu: guix: Add development version.
	* gnu/packages/package-management.scm (guix-devel): New variable.

	git-download: Support recursive clones.
	* guix/git-download.scm (<git-reference>)[recursive?]: New field.
	  (git-fetch): Add 'inputs' variable.  Add it to the #:inputs argument
	  of 'build-expression->derivation'.  Augment builder with call to
	  'set-path-environment-variable', and pass #:recursive? to
	  'git-fetch'.
	* guix/build/git.scm (git-fetch): Add #:recursive? parameter.  Pass
	  --recursive when RECURSIVE? is true, and delete all the '.git' files.

	gnu: Adjust for (gnu packages image) merger.
	* gnu/packages/aidc.scm: Use (gnu packages image).

	system: Add a 'system?' field to user accounts.
	* gnu/system/shadow.scm (<user-account>)[system?]: New field.
	* gnu/system.scm (user-account->gexp): Add it.
	* guix/build/activation.scm (add-user): Add #:system? parameter and
	  honor it.
	  (activate-users+groups): Handle the 'system?' part of user tuples.
	  Pass it to 'add-user'.  Don't create PROFILE-DIR when SYSTEM? is
	  true.
	* gnu/services/dbus.scm (dbus-service): Add 'system?' field for
	  "messagebus" account.
	* gnu/services/base.scm (guix-build-accounts): Likewise.
	* gnu/services/avahi.scm (avahi-service): Likewise.

	system: Install /var/guix/profiles/system-1-link on new systems.
	* guix/build/install.scm (directives): Add /var/guix/profiles/system.
	  (populate-root-file-system): Add 'system' parameter.  Create
	  /var/guix/profiles/system-1-link.
	* guix/scripts/system.scm (install): Pass OS-DIR to
	  'populate-root-file-system'.
	* guix/build/vm.scm (initialize-root-partition): Add #:system-directory
	  parameter, and pass it to 'populate-root-file-system'.
	  (initialize-hard-disk): Add #:system-directory parameter, and pass it
	  to 'initialize-root-partition'.
	* gnu/system/vm.scm (qemu-image): Add #:os-derivation parameter and pass
	  it to 'initialize-hard-disk'.
	  (system-disk-image, system-qemu-image,
	  system-qemu-image/shared-store): Pass #:os-derivation to 'qemu-image.

2014-06-27  John Darrington  <jmd@gnu.org>

	gnu: Add talkfilters.
	* gnu/packages/games.scm (talkfilters): New variable.

	gnu: Add qrencode.
	* gnu/packages/aidc.scm (qrencode): New variable.

2014-06-27  David Thompson  <dthompson2@worcester.edu>

	gnu: Consolidate libjpeg, libpng, and libtiff into one module.
	* gnu/packages/image.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add image.scm and remove libjpeg.scm,
	  libpng.scm, and libtiff.scm.
	* gnu/packages/libjpeg.scm, gnu/packages/libpng.scm, gnu/packages/libtiff.scm:
	  Delete files.
	* gnu/packages/emacs.scm gnu/packages/games.scm, gnu/packages/gd.scm,
	  gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
	  gnu/packages/gimp.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
	  gnu/packages/gnustep.scm, gnu/packages/gnuzilla.scm,
	  gnu/packages/graphviz.scm, gnu/packages/gtk.scm,
	  gnu/packages/imagemagick.scm, gnu/packages/inkscape.scm,
	  gnu/packages/netpbm.scm, gnu/packages/pdf.scm, gnu/packages/plotutils.scm,
	  gnu/packages/qemu.scm, gnu/packages/qt.scm, gnu/packages/scheme.scm,
	  gnu/packages/sdl.scm, gnu/packages/slim.scm, gnu/packages/tcl.scm,
	  gnu/packages/texlive.scm, gnu/packages/video.scm, gnu/packages/xiph.scm,
	  gnu/packages/xorg.scm: Use (gnu packages image) module.

	gnu: Enable libvpx support in ffmpeg.
	* gnu/packages/video.scm (ffmpeg): Add libvpx input.

2014-06-27  Ludovic Courtès  <ludo@gnu.org>

	system: Adjust the set of fields with default values.
	* gnu/system.scm (<operating-system>)[file-systems]: Remove default.
	  [locale]: Add default value.

	guix system: Add 'reconfigure' action.
	* guix/scripts/system.scm (%system-profile): New variable.
	  (switch-to-system, previous-grub-entries): New procedures.
	  (unless-file-not-found): New macro.
	  (show-help): Add 'reconfigure'.
	  (guix-system): Handle it.
	* gnu/system.scm: Export 'operating-system-activation-script'.
	* doc/guix.texi (Invoking guix system): Document it.

2014-06-27  Ludovic Courtès  <ludo@gnu.org>

	activation: Preserve /etc/groups upon reboots.
	This is a followup to e2fcc23.  The /etc/group file would be cleared
	when booting.

	* guix/build/activation.scm (activate-users+groups)[touch]: Rewrite so
	  it does not wipe out FILE's contents.

2014-06-27  Ludovic Courtès  <ludo@gnu.org>

	guix {system,offload}: Improve reporting of syntax errors.
	* guix/scripts/system.scm (read-operating-system) <catch handler>: Add
	  case for 'syntax-error'.  Correct message for default case.
	* guix/scripts/offload.scm (build-machines) <catch handler>: Add case
	  for 'syntax-error'.
	* tests/guix-system.sh: New file.
	* Makefile.am (SH_TESTS): Add it.

2014-06-26  David Thompson  <dthompson2@worcester.edu>

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

	gnu: Add guile-opengl.
	* gnu/packages/gl.scm (guile-opengl): New variable.

	gnu: Add libvpx.
	* gnu/packages/video.scm (libvpx): New variable.

2014-06-26  John Darrington  <jmd@gnu.org>

	gnu: Add new package barcode
	* gnu/packages/aidc.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-06-25  Ludovic Courtès  <ludo@gnu.org>

	system: Support the addition of old entries in the GRUB menu.
	* gnu/system.scm (operating-system-grub.cfg): Add 'old-entries'
	  parameter.  Pass it to 'grub-configuration-file'.
	* gnu/system/grub.scm (grub-configuration-file): Add #:old-entries
	  parameter.  Honor it.

	system: Store boot parameters in the system derivation.
	* gnu/system.scm (operating-system-parameters-file): New procedure.
	  (operating-system-derivation): Use it to produce a 'parameters' files.

	system: Factorize GRUB menu entry label.
	* gnu/system.scm (kernel->grub-label): New procedure.
	  (operating-system-grub.cfg): Use it.

2014-06-25  Eric Bavier  <bavier@member.fsf.org>

	gnu: cursynth: Upgrade to 1.5.
	* gnu/packages/cursynth.scm (cursynth)[source]: Upgrade to 1.5.  New
	  'patches' field.
	* gnu/packages/patches/cursynth-wave-rand.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-06-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: libmicrohttpd: Upgrade to 0.9.37.
	* gnu/packages/gnunet.scm (libmicrohttpd): Upgrade to 0.9.37.

	gnu: gnupg: Upgrade versions 1 and 2 (security fix.)
	* gnu/packages/gnupg.scm (gnupg): Upgrade to 2.0.24.
	  (gnupg-1): Upgrade to 1.4.17.

	gnu: libgpg-error: Upgrade to 1.13.
	* gnu/packages/gnupg.scm (libgpg-error): Upgrade to 1.13.

	gnu: nano: Upgrade to 2.3.4.
	* gnu/packages/nano.scm (nano): Upgrade to 2.3.4.

	gnu: lightning: Upgrade to 2.0.4.
	* gnu/packages/lightning.scm (lightning): Upgrade to 2.0.4.

	gnu: ddrescue: Upgrade to 1.18.1.
	* gnu/packages/disk.scm (ddrescue): Upgrade to 1.18.1.

	gnu: mcron: Upgrade to 1.0.8.
	* gnu/packages/guile.scm (mcron): Upgrade to 1.0.8.

	gnu: libtasn1: Upgrade to 3.6.
	* gnu/packages/gnutls.scm (libtasn1): Upgrade to 3.6.

	gnu: nettle: Add version 3.0.
	* gnu/packages/nettle.scm (nettle-3): New variable.

2014-06-25  Eric Bavier  <bavier@member.fsf.org>

	gnu: parallel: Upgrade to 20140622.
	* gnu/packages/parallel.scm (parallel)[source]: Upgrade to 20140622.

	gnu: moe: Upgrade to 1.6.
	* gnu/packages/moe.scm (moe)[source]: Upgrade to 1.6.
	  Add 'native-inputs' field.

2014-06-24  Ludovic Courtès  <ludo@gnu.org>

	guix system: Gracefully handle 'install-grub' errors.
	* guix/scripts/system.scm (install): Wrap 'install-grub' call in
	  'false-if-exception'.  This is a followup to 641f9a2a.

	gnu: Move JSON-C to (gnu packages web).
	* gnu/packages/pulseaudio.scm (json-c): Move to...
	* gnu/packages/web.scm (json-c): ... here.  New variable.

	gnu: json-c: Upgrade to 0.12.
	* gnu/packages/pulseaudio.scm (json-c)[source]: Upgrade to 0.12.  Add
	  'modules' and 'snippet' fields.

	install: Use udev.
	* gnu/system/install.scm (installation-services): Call 'udev-service'.

	services: Add udev service, and add it to '%base-services'.
	* gnu/services/base.scm (udev-service): New procedure.
	  (%base-services): Use it.
	* gnu/system.scm (%base-packages): Add UDEV.

2014-06-23  David Thompson  <dthompson2@worcester.edu>

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

2014-06-23  David Thompson  <dthompson@member.fsf.org>

	gnu: Add dtach.
	gnu/packages/screen.scm (dtach): New variable.

	gnu: Add talloc.
	* gnu/packages/samba.scm (talloc): New variable.

2014-06-22  Ludovic Courtès  <ludo@gnu.org>

	system: Use the default 'groups' field.
	* gnu/system/install.scm (installation-os): Remove 'groups' field.
	* build-aux/hydra/demo-os.scm: Likewise.

	system: Augment the default set of groups.
	* gnu/system/shadow.scm (%base-groups): New variable.
	* gnu/system.scm (<operating-system>)[groups]: Use it as the default.

	system: Remove useless 'members' field of 'user-group'.
	* gnu/system/shadow.scm (<user-group>)[members]: Remove field.
	* gnu/system/install.scm (installation-os)[users]: Remove 'members'
	  fields.  Use 'supplementary-groups' for 'guest'.
	* build-aux/hydra/demo-os.scm (users): Likewise.
	* gnu/services/base.scm (guix-service): Remove 'members' field.

	gnu: kmod: Honor $LINUX_MODULE_DIRECTORY.
	* gnu/packages/patches/kmod-module-directory.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/linux.scm (kmod)[origin]: Use it.

2014-06-22  Andreas Enge  <andreas@enge.fr>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: Add udev.
	* gnu/packages/linux.scm (udev): New variable.
	* gnu/packages/patches/udev-gir-libtool.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-06-22  Andreas Enge  <andreas@enge.fr>

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

2014-06-21  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Allow unionfs to have a large number of open files.
	Fixes <http://bugs.gnu.org/17827>.

	* guix/build/linux-initrd.scm (mount-root-file-system) [volatile-root?]:
	  Pass unionfs '-o max_file=65536'.

2014-06-21  Ludovic Courtès  <ludo@gnu.org>

	nls: Update 'sr' translation.

	gnu: man-pages: Upgrade to 3.69.
	* gnu/packages/man.scm (man-pages): Upgrade to 3.69.

	gnu: gnupg: Upgrade to 2.0.23.
	* gnu/packages/gnupg.scm (gnupg): Upgrade to 2.0.23.

	gnu: global: Upgrade to 6.3.
	* gnu/packages/global.scm (global): Upgrade to 6.3.

2014-06-20  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'core-updates'

2014-06-19  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Warn about uninitialized ACL.
	* guix/scripts/substitute-binary.scm (guix-substitute-binary): Call
	  'check-acl-initialized'.
	  (check-acl-initialized): Don't rely on 'equal?' to compare keys.
	  Instead, convert keys to strings.

	doc: Mention KVM support for 'guix system'.
	* doc/guix.texi (Invoking guix system): Add note about KVM support.

	system: Prefer packages from %FINAL-INPUTS.
	* gnu/packages/base.scm (canonical-package): New procedure.
	* gnu/system.scm (%base-packages): Pass BASH, COREUTILS, FINDUTILS,
	  GREP, and SED through 'canonical-package'.

	guix system: 'init' makes sure the target store directory exists.
	* guix/scripts/system.scm (install): Before calling 'copy-closure', make
	  sure directory (%store-prefix) under TARGET exists.

	gnu: isc-dhcp: In native builds, refer to the final Coreutils and sed.
	* gnu/packages/admin.scm (isc-dhcp)[inputs]: Add Coreutils and sed only
	  when (%current-target-system) is true.

2014-06-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: privoxy: Use etc/privoxy as the sysconfdir.
	Reported by "d00000" on #guix.

	* gnu/packages/tor.scm (privoxy)[arguments]: Add #:configure-flags.

2014-06-19  Mark H Weaver  <mhw@netris.org>

	gnu: gawk: Apply work around to build system for MIPS.
	* gnu/packages/gawk.scm (gawk): Work around a build problem on MIPS.

2014-06-18  Ludovic Courtès  <ludo@gnu.org>

	gnu: linux-libre: Upgrade to 3.15.
	* gnu/packages/linux.scm (linux-libre): Upgrade to 3.15.

	gnu: kbd: Patch buggy makefile.
	* gnu/packages/linux.scm (kbd)[source]: Add 'modules' and 'snippet'
	  fields.

	build: Add 'assert-final-inputs-self-contained' rule.
	* build-aux/check-final-inputs-self-contained.scm: New file.
	* Makefile.am (EXTRA_DIST): Add it.
	  (assert-final-inputs-self-contained): New target.
	  (distcheck-hook): Depend on it.

2014-06-17  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Avoid the term "narinfo" in user messages.
	* guix/scripts/substitute-binary.scm (assert-valid-narinfo): Change
	  message to avoid the term "narinfo".

	Thank Benno.

2014-06-17  Ludovic Courtès  <ludo@gnu.org>

	nls: Use xgettext and msgmerge with --no-wrap.
	Suggested by Benno Schulenberg <coordinator@translationproject.org>.

	* po/guix/Makevars (XGETTEXT_OPTIONS): Add --no-wrap.
	  (MSGMERGE_OPTIONS): New variable.
	* po/packages/Makevars (XGETTEXT_OPTIONS): Add --no-wrap.
	  (MSGMERGE_OPTIONS): New variable.

2014-06-17  Ludovic Courtès  <ludo@gnu.org>

	nls: Remove obsolete messages from PO files.
	Suggested by Benno Schulenberg <coordinator@translationproject.org>.

	* po/guix/eo.po, po/guix/pt_BR.po, po/guix/sr.po, po/guix/vi.po,
	  po/packages/eo.po, po/packages/pt_BR.po, po/packages/sr.po,
	  po/packages/vi.po: Remove obsolete messages.

2014-06-16  Ludovic Courtès  <ludo@gnu.org>

	tests: Use the C locale for 'guix package -s'.
	* tests/guix-package.sh: Set LC_MESSAGES=C before the 'guix package -s'
	  test.

	gnu: guile-ncurses: Work around missing test files.
	* gnu/packages/patches/guile-ncurses-tests.patch: New file.
	* gnu/packages/guile.scm (guile-ncurses)[source]: Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: icu4c: Upgrade to 53.1.
	* gnu/packages/icu4c.scm (icu4c): Upgrade to 53.1.

	gnu: icu4c: Fix failing test.
	* gnu/packages/patches/icu4c-test-date-format.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/icu4c.scm (icu4c)[source]: Use it.

	gnu: qemu: Remove dependency on Samba.
	* gnu/packages/qemu.scm (qemu-headless)[inputs]: Remove SAMBA.
	  [arguments]: Remove --smbd configure flag.

2014-06-15  Ludovic Courtès  <ludo@gnu.org>

	Reverting "gnu: ncurses: Build libtinfo."
	This reverts commit 953c9fcf8c1a2e0cbebadd9c07591caed7d26f8a.  It turns
	out that most packages (guile-ncurses, cursynth, aumix, util-linux,
	etc.) expect libncurses to provide everything.  So they had to be
	patched to add -ltinfow to their LDFLAGS, which is counterproductive.

	Other recent distros take that approach---e.g.,
	<https://bugs.launchpad.net/ubuntu/+source/ncurses/+bug/259139>.

2014-06-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: apr: Build sequentially.
	* gnu/packages/apr.scm (apr)[arguments]: New field.

	gnu: Remove dependency from gzip to the bootstrap binaries.
	* gnu/packages/base.scm (grep-final): New variable.
	  (%boot5-inputs): Add it.
	  (%final-inputs): Use it.

2014-06-15  John Darrington  <jmd@gnu.org>

	gnu: Add cook.
	* gnu/packages/cook.scm: New file.
	* gnu-system.am: New file cook.scm.

2014-06-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc: Really avoid 'install-strip' when cross-compiling.
	This is a followup to 6b9229c.

	* gnu/packages/gcc.scm (gcc-4.7): Turn 'install-target' into a thunk,
	  so (%current-target-system) is current.

2014-06-14  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

2014-06-14  Ludovic Courtès  <ludo@gnu.org>

	ui: Avoid circularity with (guix gexp).
	Fixes a regression introduced in 56b8210 ("guix build: Allow gexps to be
	passed to '-e'.")

	* guix/ui.scm (%guix-user-module): Wrap in 'delay'.
	  (read/eval): Adjust accordingly.

2014-06-14  Ludovic Courtès  <ludo@gnu.org>

	i18n: Move package descriptions from 'guix' to 'guix-packages'.
	* po/guix: Merge with po/packages as per
	  <https://lists.gnu.org/archive/html/guix-devel/2014-06/msg00058.html>.
	* po/packages/LINGUAS: Add eo, pt_BR, sr, and vi.

	guix: Look for "guix-packages" messages in $localedir.
	* scripts/guix.in (run-guix-main): Add 'bindtextdomain' call.

2014-06-14  Ludovic Courtès  <ludo@gnu.org>

	guix build: Allow gexps to be passed to '-e'.
	* guix/ui.scm (%guix-user-module): New variable.
	  (read/eval): Pass it as the second argument to 'eval'.
	* guix/scripts/build.scm (options/resolve-packages): Add case for
	  'gexp?'.
	* tests/guix-build.sh: Add tests.
	* doc/guix.texi (Invoking guix build): Document '-e gexp'.
	guxi build: Allow gexps to be passed to '-e'.

	* guix/ui.scm (%guix-user-module): New variable.
	  (read/eval): Pass it as the second argument to 'eval'.
	* guix/scripts/build.scm (options/resolve-packages): Add case for
	  'gexp?'.
	* tests/guix-build.sh: Add tests.
	* doc/guix.texi (Invoking guix build): Document '-e gexp'.

2014-06-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc-4.7: Upgrade to 4.7.4.
	* gnu/packages/gcc.scm (gcc-4.7): Upgrade to 4.7.4.

	gnu: gcc: Don't use the 'install-strip' target when cross-compiling.
	* gnu/packages/gcc.scm (gcc-4.7): Add 'install-target' variable.  Use
	  it in the 'install' phase.

	gnu: gcc: Fix cross-compilation of gcc (Canadian cross).
	* gnu/packages/gcc.scm (gcc-4.7)[arguments] <#:make-flags>:
	  When (%current-target-system) is true, pass the empty list or
	  '("CFLAGS=-g0 -O2").

	gnu: make-bootstrap: Make sure %gcc-stripped binaries are usable.
	* gnu/packages/make-bootstrap.scm (%gcc-stripped):
	  When (%current-target-system) is false, run gcc, g++, and cpp with
	  --version.

	gnu: make-bootstrap: Build %gcc-static with --disable-lto.
	* gnu/packages/make-bootstrap.scm (%gcc-static): Pass --disable-lto.

2014-06-13  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add pingus.
	* gnu/packages/games.scm (pingus): New variable.
	* gnu/packages/patches/pingus-sdl-libs-config.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-06-13  John Darrington  <jmd@gnu.org>

	gnu: Add busybox.
	* gnu/packages/busybox.scm: New file.
	* gnu-system.am: Add gnu/packages/busybox.scm.

2014-06-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: make-bootstrap: Build libstdc++ in '%gcc-static'.
	* gnu/packages/make-bootstrap.scm (%gcc-static): Re-enable C++.

	Separate package description translations from string translations.
	* po/packages/LINGUAS, po/packages/Makevars, po/packages/POTFILES.in:
	  New files.
	* po/guix/Makevars (DOMAIN): Change to "guix".
	  (XGETTEXT_OPTIONS): Remove "--keyword=synopsis --keyword=description".
	* po/guix/POTFILES.in: Remove gnu/packages/*.scm.
	* configure.ac: Change to gettext 0.18.3.  Produce
	  po/packages/Makefile.in.
	* Makefile.am (SUBDIRS): Add po/packages.
	* guix/ui.scm (%package-text-domain): New variable.
	  (P_): New procedure.
	  (package->recutils): Use 'P_' instead of '_'.
	* guix/scripts/package.scm (find-packages-by-description): Use 'P_'
	  instead of 'gettext'.

	Move gettext files to 'po/guix'.
	* po: Rename to...
	* po/guix: ... this.
	* po/guix/Makevars (subdir, top_builddir): Adjust accordingly.
	* configure.ac: Change 'po/Makefile.in' to 'po/guix/Makefile.in'.
	* Makefile.am (SUBDIRS): Change 'po' to 'po/guix'.

	gnu: make-bootstrap: Use single-output GCCs.
	* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[native-inputs]:
	  Add 'outputs' field for the rewritten GCC.
	  (%gcc-stripped): Add 'outputs' field.

	pull: Copy and compile gnu.scm.
	* guix/build/pull.scm (build-guix): Copy gnu.scm to OUT.

2014-06-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: grep: Upgrade to 2.20.
	* gnu/packages/base.scm (grep): Upgrade to 2.20.

	gnu: gettext: Upgrade to 0.19.1.
	* gnu/packages/gettext.scm (gnu-gettext): Upgrade to 0.19.1.

	gnu: make-bootstrap: Fix compilation of %gcc-static.
	* gnu/packages/make-bootstrap.scm (%gcc-static)[arguments]
	  <#:configure-flags>: Add --disable-bootstrap
	  --with-stage1-ldflags=-static.
	  Remove #:make-flags.

2014-06-12  John Darrington  <jmd@gnu.org>

	gnu: Add tinyproxy.
	* gnu/packages/web.scm (tinyproxy): New variable.
	* gnu/packages/docbook.scm: Remove #:select (tar)

	gnu: Add dropbear.
	* gnu/packages/ssh.scm (dropbear): New variable.

2014-06-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: cross-gcc: Use a single output.
	* gnu/packages/cross-base.scm (cross-gcc): Add 'outputs' field.

2014-06-09  Ludovic Courtès  <ludo@gnu.org>

	guix build: Only 'guix build' sets #:print-build-trace.
	This makes 'guix package' et al. slightly less verbose, by not emitting
	"@ substituter-started" lines and similar.

	* guix/scripts/build.scm (set-build-options-from-command-line): Pass
	  #:print-build-trace.
	  (%default-options): Add 'print-build-trace?'.

2014-06-09  Ludovic Courtès  <ludo@gnu.org>

	doc: Add a few words on the term "derivation".
	* doc/guix.texi (Programming Interface): Add a sentence on "derivation".

	Thank Carlos.

2014-06-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: skribilo: Propagate Guile dependencies.
	Reported by Carlos Carleos <carleos@uniovi.es>.

	* gnu/packages/skribilo.scm (skribilo)[inputs]: Move
	  GUILE-READER/GUILE-2.0 and GUILE-LIB to...
	  [propagated-inputs]: ... here.  New field.

2014-06-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: coreutils: Remove run-time dependency on Bash.
	* gnu/packages/base.scm (coreutils)[arguments] <patch-shell-references>:
	  Leave src/split.c unpatched.  Set $SHELL.  Use .../bin/sh and not
	  .../bin/bash in tests.

	gnu: gcc: Add a "lib" output.
	* gnu/packages/gcc.scm (gcc-4.7)[configure-flags]: Add
	  --with-gxx-include-dir.
	  [outputs]: New field.
	  [arguments] <phases>: Adjust to use the "lib" output.  Add
	  'substitute*' calls for "libstdc++-v3/python/Makefile.in" and
	  "gcc/config.in".
	* gnu/packages/base.scm (gcc-boot0) <symlink-libgcc_eh>: Use the "lib"
	  output.
	  (cross-gcc-wrapper): Add 'outputs' field.
	  (glibc-final)[arguments]: Adjust #:allowed-references to list
	  '(GCC-BOOT0 "lib").
	  (libstdc++): Add 'outputs' field.
	  (gcc-final)[arguments]: Add "lib" to #:allowed-references.
	* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'outputs' field.

2014-06-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: glibc-final: Remove top-level circular dependency.
	This fixes a top-level circular dependency between linux.scm and
	base.scm introduced in 2e92375.

	* gnu/packages/base.scm (glibc-final): Remove call to
	  'package-with-restricted-references', and use an 'arguments' field
	  instead.

2014-06-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: libunistring: Work around parallel build issue.
	* gnu/packages/libunistring.scm (libunistring)[arguments]: New field.

2014-06-08  Eric Bavier  <bavier@member.fsf.org>

	gnu: rdup: Fix tests.
	* gnu/packages/backup.scm (rdup) [arguments]: Add pre-check phase.
	  [origin]: Add snippet.

2014-06-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: gettext: Remove debugging leftover.
	* gnu/packages/gettext.scm (gnu-gettext)[source](patches): Remove.

	gnu: gcc-final: Make sure the output refers only to libc.
	* gnu/packages/base.scm (gcc-final)[arguments]: Add
	  #:allowed-references.

	gnu: binutils-final: Make sure the output refers only to libc.
	* gnu/packages/base.scm (binutils-final)[arguments]: Add
	  #:allowed-references.

	gnu: glibc-final: Make sure we hold just the right set of references.
	* gnu/packages/base.scm (glibc-final): Wrap in
	  'package-with-restricted-references'.

	build-system/gnu: Add 'package-with-restricted-references'.
	* guix/build-system/gnu.scm (package-with-restricted-references): New
	  procedure.

2014-06-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: glibc: Make sure the bootstrap libc is not in $CPATH.
	This fixes a bug whereby the bootstrap-glibc headers could be picked up
	when building libc.so, which could be noticed by the fact that the
	.debug files contained references to bootstrap-glibc.

	* gnu/packages/base.scm (glibc-final-with-bootstrap-bash)[arguments]:
	  Add 'pre-configure' phase.
	  [inputs]: Remove 'alist-delete' call.

2014-06-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: Build the final Coreutils before Findutils.
	This fixes a bug whereby Findutils' 'updatedb' script would retain a
	reference to the bootstrap binaries ('sort', etc.)

	* gnu/packages/base.scm (coreutils-final, %boot5-inputs): New variables.
	  (%final-inputs): Use them.

2014-06-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: gettext: Upgrade to 0.19.
	* gnu/packages/gettext.scm (gnu-gettext): Upgrade to 0.19.
	  [arguments] <phases>: Remove now unneeded 'link-expat' phase.  Patch
	  lang-sh and msgfilter test scripts; patch msginit.c and project-id.
	  Add #:make-flags.

2014-06-06  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

	build-system/gnu: Add #:allowed-references.
	* guix/build-system/gnu.scm (gnu-build): Add #:allowed-references.
	  [canonicalize-reference]: New procedure.
	  Pass #:allowed-references to 'build-expression->derivation'.
	  (gnu-cross-build): Likewise.

	derivations: 'build-expression->derivation' supports #:allowed-references.
	* guix/derivations.scm (build-expression->derivation): Add
	  #:allowed-references and pass it to 'derivation.
	* doc/guix.texi (Derivations): Adjust accordingly.

2014-06-06  Ludovic Courtès  <ludo@gnu.org>

	services: Use a fixed GID for the build group and use that for the store.
	This partly reverts commit 185f669 ("services: Make sure the store's
	group is the build group.")

	* gnu/services/base.scm (guix-service)[activate]: Remove 'chown' call.
	  Add 'id' field to 'user-group' form.
	* guix/build/install.scm (directives): Set the store's GID to 30000.

2014-06-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add WakeLan.
	* gnu/packages/admin.scm (wakelan): New variable.

2014-06-05  Mark H Weaver  <mhw@netris.org>

	gnu: openssl: Upgrade to 1.0.1h.
	* gnu/packages/openssl.scm (openssl): Upgrade to 1.0.1h.  Remove
	  patches, which are now upstream.
	* gnu/packages/patches/openssl-extension-checking-fixes.patch: Remove.
	* gnu/packages/patches/openssl-CVE-2010-5298.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove them.

2014-06-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: bdb: Move documentation to "doc" output.
	* gnu/packages/bdb.scm (bdb): Add 'outputs' field.  Adjust 'configure'
	  phase to move documentation to the "doc" output.

	gnu: Set proper source location for 'gcc-final'.
	* gnu/packages/base.scm (gcc-final)[location]: New field.
	  Reported by Andreas Enge <andreas@enge.fr>.

	install: Add missing argv[0] in Info invocation.
	* gnu/system/install.scm (log-to-info): Add "info" as second argument to
	  'execl'.

2014-06-04  Ludovic Courtès  <ludo@gnu.org>

	activation: Only create groups that do not exist yet.
	Before that the effect would be to re-create groups at each boot, and
	thus remove any members of the groups.

	* guix/build/activation.scm (activate-users+groups): Call 'add-group'
	  only when (getgrname name) fails.

2014-06-04  Ludovic Courtès  <ludo@gnu.org>

	services: Make sure the store's group is the build group.
	* gnu/services/base.scm (guix-service)[activate]: New variable.  Add
	  'chown' call for (%store-prefix).  Set the 'activate' field to
	  ACTIVATE.
	* guix/build/install.scm (directives): Add comment about STORE's group.

	services: Add the build group to the supplementary groups of build users.
	* gnu/services/base.scm (guix-build-accounts): Add
	  'supplementary-groups' field.

	tests: Skip tests that would hit the shebang length limitation.
	* tests/gexp.scm (shebang): New variable.
	  Skip "gexp->script" when SHEBANG is longer than 127 chars.
	* guix/gexp.scm (gexp->script): Add comment on the issue.

	system: Tell module-init-tools where to look for modules.
	* gnu/packages/linux.scm (module-init-tools)[source](patches): New
	  field.
	* gnu/packages/patches/module-init-tools-moduledir.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/system.scm (etc-directory): Add #:kernel parameter.  Set
	  'LINUX_MODULE_DIRECTORY' in bashrc.
	  (operating-system-etc-directory): Pass #:kernel to 'etc-directory'.

	system: Rename activation script.
	* gnu/system.scm (operating-system-activation-script): Change file name
	  to "activate".

	vm: Add #:name parameter for 'system-disk-image'.
	* gnu/system/vm.scm (system-disk-image): Add #:name parameter; pass it
	  to 'qemu-image'.

	install: Register the hydra.gnu.org key on the installation image.
	* gnu/services/base.scm (hydra-key-authorization): New procedure.
	  (guix-service): Add #:authorize-hydra-key? parameter; honor it using
	  'hydra-key-authorization'.
	* gnu/system/install.scm (installation-services): Pass
	  #:authorize-hydra-key? #t.

	gnu: guix: Use /etc as sysconfdir.
	* gnu/packages/package-management.scm (guix)[arguments]: Pass
	  --sysconfdir=/etc.

	system: Define '%base-packages' and use it.
	* gnu/system.scm (<operating-system>)[packages]: Change default value to
	  %BASE-PACKAGES.
	  (%base-packages): New variable.
	* gnu/system/install.scm (installation-os): Use it when defining the
	  'packages' field.
	* doc/guix.texi (Using the Configuration System): Use %BASE-PACKAGES in
	  example.  Remove now unneeded module imports.  Explain this.

2014-06-04  Mark H Weaver  <mhw@netris.org>

	gnu: gnutls: Upgrade to 3.2.15.
	* gnu/packages/gnutls.scm (gnutls): Upgrade to 3.2.15.

2014-06-03  Ludovic Courtès  <ludo@gnu.org>

	install: Add more useful packages.
	* gnu/system/install.scm (installation-os)[packages]: Add isc-dhcp,
	  net-tools, ddrescue, kbd, and texinfo-4.

	Update 'eo.po'.

	gnu: linux-libre: Build the e1000e driver (Intel ethernet NIC driver.)
	* gnu/packages/linux.scm (linux-libre): Add CONFIG_E1000E=m.

	gnu: Merge Parted, fdisk, and ddrescue in (gnu packages disk).
	* gnu/packages/parted.scm: Rename to...
	* gnu/packages/disk.scm: ... this.  New file.  Merge with...
	* gnu/packages/fdisk.scm: ... this; remove file;
	* gnu/packages/ddrescue.scm: ... and this; remove file.
	* gnu/system/install.scm, gnu/system/vm.scm: Adjust accordingly.
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove
	  gnu/packages/{parted,fdisk,ddrescue}.scm and add
	  gnu/packages/disk.scm.

	hydra: Add Avahi to the demo OS.
	* build-aux/hydra/demo-os.scm: Use 'avahi-service' and 'dbus-service'.
	  Add AVAHI to 'packages'.

	system: Make sure /run/setuid-programs comes first in $PATH.
	* gnu/system.scm (etc-directory) <bashrc>: Move /run/setuid-programs
	  first in $PATH.

	gnu: elfutils: Add synopsis and description.
	* gnu/packages/elf.scm (elfutils): Add synopsis and description.

	list-packages: Add links to Hydra for mips64el-linux.
	* build-aux/list-packages.scm (package->sxml): Add 'url' call for
	  mips64el-linux.

	system: File system sources can be marked as labels or devices.
	* gnu/system/file-systems.scm (<file-system>)[title]: New field.
	* gnu/services/base.scm (file-system-service): Add #:title parameter.
	  In 'start' gexp, use 'canonicalize-device-spec' and honor TITLE.
	* gnu/system.scm (other-file-system-services,
	  operating-system-root-file-system, operating-system-initrd-file):
	  Adjust accordingly.
	* gnu/system/linux-initrd.scm (file-system->spec): Likewise.
	* gnu/system/vm.scm (system-disk-image): Add 'title' field for the root
	  file system.
	* guix/build/linux-initrd.scm (mount-file-system): Expect the second
	  element of SPEC to be the title.
	  (boot-system)[root-mount-point?, root-fs-type]: Likewise.
	* gnu/services/dmd.scm (dmd-configuration-file): Select
	  'canonicalize-device-spec'.

2014-06-02  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Wait for devices to appear when resolving a label.
	* guix/build/linux-initrd.scm (canonicalize-device-spec): Add #:title
	  parameter.  When resolving a label, wait a little and try several
	  times before bailing out.

	Revert "gnu: hurd: Add Hurd Minimal."
	This reverts commit bc046a94dec2afadbc1ee3957f13098a8d8b393c,
	which referred to uncommitted things ('glibc/hurd-headers'.)

2014-06-01  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: hurd: Add Hurd Minimal.
	* gnu/packages/hurd.scm (hurd-minimal): New variable.
	* gnu/packages/patches/hurd-minimal.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-06-01  Ludovic Courtès  <ludo@gnu.org>

	services: syslogd: Write fewer messages to /dev/console.
	* gnu/services/base.scm (syslog-service)[contents]: Remove "kern.*" from
	  /dev/console.

	linux-initrd: Actually create /dev/console.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): Add
	  "dev/console".

	hydra: Make USB installation image smaller.
	* build-aux/hydra/gnu-system.scm (qemu-jobs): Reduce size of 'usb-image'
	  to 630 MiB.

	derivations: Add #:allowed-references 'derivation' parameter.
	* guix/derivations.scm (derivation): Add #:allowed-references
	  parameter.
	  [user+system-env-vars]: Honor it.
	* tests/derivations.scm ("derivation #:allowed-references, ok",
	  "derivation #:allowed-references, not allowed",
	  "derivation #:allowed-references, self allowed",
	  "derivation #:allowed-references, self not allowed"): New tests.
	* doc/guix.texi (Derivations): Document #:allowed-references.

	gnu: util-linux: Remove dependency on Perl.
	* gnu/packages/linux.scm (util-linux)[source](patches): New field.
	* gnu/packages/patches/util-linux-perl.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

	linux-initrd: Make more device nodes for SCSI disks and CD-ROM devices.
	* guix/build/linux-initrd.scm (make-disk-device-nodes): New procedure.
	  (make-essential-device-nodes): Use it.  Make more devices nodes for
	  SCSI disks and CD-ROM devices.

	linux-initrd: Gracefully handle missing /dev nodes.
	* guix/build/linux-initrd.scm (partition-label-predicate): Catch
	  'system-error' around 'read-ext2-superblock'; return #f upon ENOENT.

2014-05-31  Ludovic Courtès  <ludo@gnu.org>

	hydra: Build the installation image.
	* build-aux/hydra/gnu-system.scm (demo-os): New procedure.
	  (qemu-jobs): Build for both x86_64-linux and i686-linux.  Add
	  'usb-image' job that builds INSTALLATION-OS.

	Add (gnu system install).
	* gnu/system/install.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	system: Add 'issue' field.
	* gnu/system.scm (<operating-system>)[issue]: New field.
	  (%default-issue): New variable.
	  (etc-directory): Add #:issue parameter and honor it.
	  (operating-system-etc-directory): Adjust call accordingly.
	* build-aux/hydra/demo-os.scm: Add 'issue' field.

	system: Add more options for 'mingetty-service'.
	* gnu/services/base.scm (mingetty-service): Add #:auto-login,
	  #:login-program, and #:login-pause? parameters and honor them.

	linux-initrd: Gracefully deal with partitions with no label.
	* guix/build/linux-initrd.scm (partition-label-predicate): Check whether
	  'ext2-superblock-volume-name' returns #f, and return #f if it does.

	gnu: Move libarchive to (gnu packages backup).
	* gnu/packages/compression.scm (libarchive): Move to...
	* gnu/packages/backup.scm (libarchive): ... here.
	  Import (guix licenses) with #:renamer to avoid conflicting 'zlib'
	  bindings.

2014-05-30  Ludovic Courtès  <ludo@gnu.org>

	vm: disk-image: Specify the root file system using a label.
	* gnu/system/vm.scm (system-disk-image)[root-label]: New variable.
	  Use it for the root file system, and pass it as #:file-system-label to
	  'qemu-image'.

	linux-initrd: Allow use of volume labels in 'file-system' declarations.
	* guix/build/linux-initrd.scm (%ext2-endianness, %ext2-sblock-magic,
	  %ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name):
	  New macros.
	  (read-ext2-superblock, ext2-superblock-uuid,
	  ext2-superblock-volume-name, disk-partitions,
	  partition-label-predicate, find-partition-by-label,
	  canonicalize-device-spec): New procedures.
	  (mount-file-system): Use 'canonicalize-device-spec' on SOURCE.
	  (boot-system): Likewise for ROOT.
	* doc/guix.texi (Using the Configuration System): Adjust 'file-system'
	  declaration accordingly.

2014-05-30  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add rdiff-backup.
	* gnu/packages/backup.scm (rdiff-backup): New variable.

	gnu: Add btar.
	* gnu/packages/backup.scm (btar): New variable.

	gnu: Add rdup.
	* gnu/packages/backup.scm (rdup): New variable.

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

	gnu: Add hdup.
	* gnu/packages/backup.scm (hdup): New variable.

2014-05-29  Ludovic Courtès  <ludo@gnu.org>

	hydra: Don't cross-build from MIPS to MIPS.
	* build-aux/hydra/gnu-system.scm (hydra-jobs)[same?, either]: New
	  procedure.  Use it in 'remove' call.

	system: Add 'fusermount' to the default setuid programs.
	* gnu/system.scm (%setuid-programs): Add 'fusermount'.

	vm: Allow a volume name to be specified for the root partition.
	* guix/build/vm.scm (format-partition): Add #:label parameter, and honor
	  it.
	  (initialize-hard-disk): Add #:file-system-label parameter, and pass it
	  to 'format-partition'.
	* gnu/system/vm.scm (qemu-image): Add #:file-system-label parameter and
	  pass it to 'initialize-hard-disk'.

2014-05-29  Andreas Enge  <andreas@enge.fr>

	gnu: libgnome: Correct source file name.
	* gnu/packages/gnome.scm (libgnome): Correct source file name.

2014-05-28  Ludovic Courtès  <ludo@gnu.org>

	hydra: Build for mips64el-linux.
	* build-aux/hydra/gnu-system.scm (hydra-jobs)[systems]: Add
	  mips64el-linux.

	gnu: fuse: Allow use of 'fusermount' taken from $PATH.
	* gnu/packages/linux.scm (fuse) <set-file-names>: Set FUSERMOUNT_DIR in
	  lib/Makefile.

	gnu: Add sshfs-fuse.
	* gnu/packages/linux.scm (sshfs-fuse): New variable.

2014-05-28  John Darrington  <jmd@gnu.org>

	gnu: Make gtk-glext depend on pangox-compat and remove workaround patch
	* gnu/packages/gnome.scm (gtk-glext): Add new dependency and remove patch
	* gnu/packages/patches/gtkglext-remove-pangox-dependency.patch: Delete file
	* gnu-system.am: Delete gnu/packages/patches/gtkglext-remove-pangox-dependency.patch

	gnu: Add cssc.
	* gnu/packages/version-control.scm (cssc): New variable.
	* gnu/packages/patches/cssc-gets-undeclared.patch: New file
	* gnu/packages/patches/cssc-missing-include.patch: New file
	* gnu-system.am: Add gnu/packages/patches/cssc-gets-undeclared.patch
	  and gnu/packages/patches/cssc-missing-include.patch

2014-05-28  Andreas Enge  <andreas@enge.fr>

	gnu: hdf5: Fix source download location.
	* gnu/packages/maths.scm (hdf5): Use "release" directory and not the "current"
	    directory for the source, which does not break on new upstream releases.

2014-05-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: grep: Upgrade to 2.19.
	* gnu/packages/base.scm (grep): Upgrade to 2.19.

	gnu: gcc-4.8: Upgrade to 4.8.3.
	* gnu/packages/gcc.scm (gcc-4.8): Upgrade to 4.8.3.

	Merge branch 'master' into core-updates

	syscalls: Be more permissive in 'umount' test.
	* tests/syscalls.scm ("umount, ENOENT"): Rename to...
	  ("umount, ENOENT/EPERM"): ... this.  Accept EPERM as a valid return
	  value.

2014-05-27  Ludovic Courtès  <ludo@gnu.org>

	store: Work around 'get-bytevector-n' bug that affects 'import-paths'.
	Fixes <http://bugs.gnu.org/17591>.

	* guix/store.scm (process-stderr) <%stderr-read>: Use
	  'get-bytevector-n!' instead of 'get-bytevector-n'.

2014-05-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Autoconf 2.64.
	* gnu/packages/autotools.scm (autoconf-2.64): New variable.

2014-05-27  Eric Bavier  <bavier@member.fsf.org>

	gnu: librsync: Fix source uri
	* gnu/packages/rsync.scm (librsync) [source]: Fix sourceforge uri.

	gnu: Add duplicity.
	* gnu/packages/backup.scm: New file.
	* gnu-system.am: Add it.

	gnu: Add python-mock.
	* gnu/packages/python.scm (python-mock): New variable.

	gnu: Add python-lockfile.
	* gnu/packages/python.scm (python-lockfile): New variable.

2014-05-26  Ludovic Courtès  <ludo@gnu.org>

	services: Add D-Bus and Avahi.
	* gnu/services/dbus.scm: New file.
	* gnu/services/avahi.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add them.

	gnu: Add Transmission.
	* gnu/packages/bittorrent.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-05-26  John Darrington  <jmd@gnu.org>

	gnu: Add gsegrafix and dependent libraries.
	* gnu/packages/math.scm (gsegrafix): New variable.
	* gnu/packages/gtk.scm (pangox-compat): New variable.
	* gnu/packages/gnome.scm (libidl, orbit2, libbonobo, gconf, gnome-mime-data,
	  gnome-vfs, libgnome, libart-lgpl, libgnomecanvas, libgnomeui, libglade,
	  libgnomeprint, libgnomeprintui, libbonoboui): New variables.

2014-05-26  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add mcrypt, libmcrypt, and libmhash.
	* gnu/packages/mcrypt.scm: New file.
	* gnu/packages/patches/mhash-keygen-test-segfault.patch: New patch.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add file.
	  (dist_patch_DATA): Add patch.

	gnu: Add librsync.
	* gnu/packages/rsync.scm (librsync): New variable.

2014-05-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add inotify-tools.
	* gnu/packages/linux.scm (inotify-tools): New variable.

2014-05-25  Ludovic Courtès  <ludo@gnu.org>

	doc: Augment "Package Naming".
	* doc/guix.texi (Package Naming): Mention underscores, and give SDL_net
	  as an example.

	store: Remove misleading 'setsockopt' call.
	* guix/store.scm (open-connection): Remove misleading 'setsockopt' call,
	  erroneously introduced in df1fab58.  This would actually shrink the
	  receive buffer from 124 KiB to 12 KiB, though it had little impact on
	  performance.

2014-05-24  Ludovic Courtès  <ludo@gnu.org>

	services: nscd: Provide an 'activate' script to make /var/run/nscd.
	* gnu/services/base.scm (nscd-service): Add 'activate' field.
	* guix/build/install.scm (directives): Remove /var/run/nscd; add
	  /var/run.
	* doc/guix.texi (Defining Services): Add 'activate' field in example.
	  Document it.

	services: Support per-service activation scripts.
	* gnu/services.scm (<service>)[activate]: New field.
	* gnu/system.scm (operating-system-activation-script)[service-activations]:
	  New procedure.  Use it, and primitive-load each activation.

	system: Always create /var/empty.
	* guix/build/install.scm (directives): Add /var/empty.

	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.

2014-05-24  Eric Bavier  <bavier@member.fsf.org>

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

2014-05-23  Ludovic Courtès  <ludo@gnu.org>

	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.

	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'.

2014-05-22  Ludovic Courtès  <ludo@gnu.org>

	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'.

	vm: Add 'system-disk-image'.
	* gnu/system/vm.scm (system-disk-image): New procedure.

	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.

	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.

	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.

	linux-initrd: Build /dev/loop* nodes.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): Build
	  /dev/loop[0-7].

2014-05-22  Andreas Enge  <andreas@enge.fr>

	gnu: imagemagick: Upgrade to 6.8.9-0.
	* gnu/packages/imagemagick.scm (imagemagick): Upgrade to 6.8.9-0.

	gnu: perl-io-tty: Upgrade to 1.11.
	* gnu/packages/perl.scm (perl-io-tty): Upgrade to 1.11.

	guix: download: Update imagemagick mirrors.
	* guix/download.scm (%mirrors)[imagemagick]: Update and add the legacy
	    subdirectory of the main site as a last resort.

2014-05-22  Ludovic Courtès  <ludo@gnu.org>

	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.

2014-05-21  Ludovic Courtès  <ludo@gnu.org>

	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.

	vm: Remove misleading comment.
	* guix/build/vm.scm (load-in-linux-vm): Remove misleading comment.

	gnu: Add wpa_supplicant.
	* gnu/packages/admin.scm (wpa-supplicant): New variable.

2014-05-21  Ludovic Courtès  <ludo@gnu.org>

	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.

2014-05-20  Ludovic Courtès  <ludo@gnu.org>

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

2014-05-20  Ludovic Courtès  <ludo@gnu.org>

	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.

2014-05-20  Ludovic Courtès  <ludo@gnu.org>

	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.

2014-05-20  Ludovic Courtès  <ludo@gnu.org>

	vm: Fix typo.
	Regression introduced in e38e18f.

	* guix/build/vm.scm (initialize-hard-disk)[partition]: Use a string.

2014-05-20  Eric Bavier  <bavier@member.fsf.org>

	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.

	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.

	gnu: offlineimap: fix license.
	* gnu/packages/mail.scm (offlineimap) [license]: Change to gpl2+.

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

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

2014-05-20  Ludovic Courtès  <ludo@gnu.org>

	utils: 'delete-file-recursively' doesn't follow mount points by default.
	* guix/build/utils.scm (delete-file-recursively): Add #:follow-mounts?
	  parameter and honor it.

	gnu: ncurses: Build libtinfo.
	* gnu/packages/ncurses.scm (ncurses)[arguments]: Add --with-termlib to
	  #:configure-flags.

	gnu: ncurses: Set a RUNPATH on the executables and libraries.
	* gnu/packages/ncurses.scm (ncurses)[arguments]: Add LDFLAGS to
	  #:configure-flags.

2014-05-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Linux kbd.
	* gnu/packages/linux.scm (kbd): New variable.

	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.

	guix system: Check whether we are installing to /.
	* guix/scripts/system.scm (install): Check whether TARGET is / and warn.

	guix system: Factorize out closure copy.
	* guix/scripts/system.scm (copy-closure): New procedure.
	  (install): Use it.

	doc: Show the 'bootloader' field in system example.
	* doc/guix.texi (Using the Configuration System): Add 'bootloader'
	  field.

	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'.

	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.

2014-05-19  Eric Bavier  <bavier@member.fsf.org>

	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.

	gnu: Add pt-scotch package.
	* gnu/packages/maths.scm (pt-scotch): New variable.

	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.

	guix: licenses: Add CeCILL-C license.
	* guix/licenses.scm (cecill-c): New variable.

2014-05-18  Ludovic Courtès  <ludo@gnu.org>

	system: Prevent grub.cfg from being GC'd.
	* guix/build/install.scm (install-grub): Use 'copy-file' instead of
	  'symlink' for GRUB.CFG.

	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.

	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'.

	store: Change #:store parameter to #:prefix.
	* guix/store.scm (register-path): Change #:store to #:prefix.

	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.

2014-05-18  Eric Bavier  <bavier@member.fsf.org>

	gnu: openmpi: Add memchecker support.
	* gnu/packages/mpi.scm (openmpi) [inputs]: Add valgrind.  Unpropagate
	  gfortran.  [arguments]: Add configure flags for memchecker.

2014-05-18  Ludovic Courtès  <ludo@gnu.org>

	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.

2014-05-17  Andreas Enge  <andreas@enge.fr>

	gnu: soprano: Add input redland.
	* gnu/packages/rdf.scm (soprano): Add inputs redland and rasqal, drop raptor2
	    (propagated by rasqal).

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

	gnu: rasqal: Propagate input raptor2.
	* gnu/packages/rdf.scm (rasqal): Propagate input raptor2 as indicated in
	    the pkg-config file.

2014-05-17  Ludovic Courtès  <ludo@gnu.org>

	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.

2014-05-17  Andreas Enge  <andreas@enge.fr>

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

2014-05-17  Ludovic Courtès  <ludo@gnu.org>

	store: Add #:store parameter to 'register-path'.
	* guix/store.scm (register-path): Add #:store and honor it.

2014-05-16  Ludovic Courtès  <ludo@gnu.org>

	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'.

	hydra: Add dummy root file system declaration.
	* build-aux/hydra/demo-os.scm (file-systems): Add "/" file system.

	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.

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

	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>.

	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-15  Ludovic Courtès  <ludo@gnu.org>

	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.

	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'.

	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-14  Ludovic Courtès  <ludo@gnu.org>

	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.

	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.

	gnu: xterm: Upgrade to 304.
	* gnu/packages/xorg.scm (xterm): Upgrade to 304.  Switch to a
	  version-specific URL.

	activation: Silence warning from 'useradd'.
	* guix/build/activation.scm (add-user): Don't pass '--create-home' when
	  HOME already exists.

	linux-initrd: Make /dev/ttyS0, for debugging.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
	  /dev/ttyS0.

	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.

	syscalls: Add 'processes' to list all the live processes.
	* guix/build/syscalls.scm (kernel?, processes): New procedures.

2014-05-14  Andreas Enge  <andreas@enge.fr>

	gnu: libsm: Propagate input libice.
	* gnu/packages/xorg.scm (libsm): Propagate input libice.

	gnu: qt-4: Upgrade to 4.8.6.
	* gnu/packages/qt.scm (qt-4): Upgrade to 4.8.6.

	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  Ludovic Courtès  <ludo@gnu.org>

	vm: Pass '-serial stdio' in the run-vm.sh.
	* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add
	  '-serial stdio'.

	system: Move skeleton code to (gnu system shadow).
	* gnu/system.scm (default-skeletons, skeleton-directory): Move to...
	* gnu/system/shadow.scm: ... here.

	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".

	system: Add skeleton '.gdbinit'.
	* gnu/system.scm (default-skeletons): Add .gdbinit.

2014-05-13  Eric Bavier  <bavier@member.fsf.org>

	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  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add babl.
	* gnu/packages/gimp.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	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'.

	doc: Add example for --search.
	* doc/guix.texi (Invoking guix package): Add LGPLv3 example.

2014-05-12  Eric Bavier  <bavier@member.fsf.org>

	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-11  Ludovic Courtès  <ludo@gnu.org>

	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.

	services: xorg: Fix harmless typo in slim.cfg.
	* gnu/services/xorg.scm (slim-service): Add missing whitespace in
	  XINITRC invocation.

2014-05-11  John Darrington  <jmd@gnu.org>

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

2014-05-11  Ludovic Courtès  <ludo@gnu.org>

	doc: Mention upgrades that trigger a lot of rebuilds.
	* HACKING (Commit Access): Mention upgrades that trigger a lot rebuilds.

2014-05-11  Andreas Enge  <andreas@enge.fr>

	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-10  Ludovic Courtès  <ludo@gnu.org>

	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.

	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.

	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.

	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).

	linux-initrd: Append to /etc/mtab.
	* guix/build/linux-initrd.scm (mount-file-system): Open /etc/mtab in
	  append mode.

2014-05-09  Ludovic Courtès  <ludo@gnu.org>

	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  Eric Bavier  <bavier@member.fsf.org>

	gnu: fftw: Factor out OpenMPI dependency.
	* gnu/packages/algebra.scm (fftw)[inputs,arguments]: Remove OpenMPI.
	  (fftw-openmpi): New variable.

2014-05-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add hwloc.
	* gnu/packages/mpi.scm (hwloc): New variable.
	  (openmpi): Add TODO comment.

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

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

2014-05-09  Eric Bavier  <bavier@member.fsf.org>

	gnu: openmpi: Fix typo in download uri
	* gnu/packages/mpi.scm (openmpi)[origin]: Fix typo.

	gnu: fftw: Add dependency on openmpi.
	* gnu/packages/algebra.scm (fftw)[inputs,arguments]: Add OpenMPI.

	gnu: fftw: Upgrade to 3.3.4
	* gnu/packages/algebra.scm (fftw): Upgrade to 3.3.4.

2014-05-08  Ludovic Courtès  <ludo@gnu.org>

	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'.

	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.

	doc: Mention Kiselyov's work on "staging".
	* doc/guix.texi (G-Expressions): Mention Oleg's work on "staging" in
	  footnote.

	git-download: Disable TLS certificate verification.
	* guix/build/git.scm (git-fetch): Add 'setenv' call.

2014-05-08  Eric Bavier  <bavier@member.fsf.org>

	gnu: openmpi: Avoid "open source" verbiage
	* gnu/packages/mpi.scm (openmpi)[synopsis,description]: Remove mention
	  of "open source".

	gnu: Add petsc-openmpi.
	* gnu/packages/maths.scm (petsc-openmpi): New variable.
	  (petsc-complex-openmpi): New variable.

	gnu: petsc: Clean some more leaked chroot references
	* gnu/packages/maths.scm (petsc)[arguments]: Scrub some
	  config-generated header files before build.  Only remove files if
	  they exist.

	gnu: Add OpenMPI
	* gnu/packages/mpi.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-05-08  Ludovic Courtès  <ludo@gnu.org>

	Change 'nix-upstream' submodule URL.
	* .gitmodules: Use https, not http.  Reported by
	  Pjotr Prins <pjotr.public12@thebird.nl>.

	linux-initrd: Update /etc/mtab.
	* guix/build/linux-initrd.scm (mount-root-file-system): Populate
	  /root/etc/mtab.
	  (mount-file-system): Update ROOT/etc/mtab.

2014-05-07  Ludovic Courtès  <ludo@gnu.org>

	Remove now unneeded (guix build gnome) module.
	* guix/build/gnome.scm: Remove.
	* Makefile.am (MODULES): Update accordingly.

2014-05-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: Make $XDG_DATA_DIRS a search path variable for GLib.
	* gnu/packages/glib.scm (glib): Add 'native-search-paths' and
	  'search-paths' fields.
	* gnu/packages/gnome.scm (libpeas): Remove 'arguments' field.
	  (librsvg)[arguments]: Remove #:modules and #:imported-modules.
	  Remove settings of INTROSPECTION_SCANNER_ARGS and
	  INTROSPECTION_COMPILER_ARGS in makefiles.
	* gnu/packages/gtk.scm (gtk+): Likewise.

	gnu: gobject-introspection is usually meant to be a native input.
	* gnu/packages/gtk.scm (atk, pango, gdk-pixbuf, gtk+): Move
	  gobject-introspection to 'native-inputs' since it's only used at build
	  time.
	* gnu/packages/gnome.scm (libpeas): Move pkg-config,
	  gobject-introspection, and intltool to 'native-inputs'.

	gnu: Add librsvg.
	* gnu/packages/gnome.scm (librsvg): New variable.

	linux-initrd: Delete files from the initrd ramfs when switching roots.
	* guix/build/linux-initrd.scm (switch-root): Delete file from the old
	  root.  Chdir to / after 'chroot' call.  Re-open file descriptors 0, 1,
	  and 2.
	  (boot-system): Move 'loading' message after the 'switch-root' call.
	* gnu/system.scm (operating-system-boot-script): Add loop that closes
	  file descriptor before calling 'execl'.

	gnu: pius: Use Python 2.
	* gnu/packages/gnupg.scm (pius): Use Python 2.

	gnu: make-bootstrap: Add missing export.
	* gnu/packages/make-bootstrap.scm: Export '%guile-static-stripped'.  The
	  problem was hidden because of <http://bugs.gnu.org/17418>.

	gnu: e2fsprogs: Install the libext2fs Info manual.
	* gnu/packages/linux.scm (e2fsprogs)[native-inputs]: Add TEXINFO.

	gnu: e2fsprogs: Use 'static-package' for the statically-linked variant.
	* gnu/packages/linux.scm (e2fsprogs/static): Remove.
	  (e2fsck/static): Use (static-package e2fsprogs) instead.

	gnu: gdb: Upgrade to 7.7.1.
	* gnu/packages/gdb.scm (gdb): Upgrade to 7.7.1.

	gnu: gdb: Add dependency on libxml2.
	* gnu/packages/gdb.scm (gdb)[inputs]: Add LIBXML2.

	gnu: Add libgsf.
	* gnu/packages/gnome.scm (libgsf): New variable.

	gnu: Add libcroco.
	* gnu/packages/gnome.scm (libcroco): New variable.

2014-05-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: pybugz: Add fixlet patches.
	* gnu/packages/python.scm (python2-pybugz)[source]: Add 'patches'
	  field.
	* gnu/packages/patches/pybugz-encode-error.patch,
	  gnu/packages/patches/pybugz-stty.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.

	gnu-maintenance: Add missing type check.
	* guix/gnu-maintenance.scm (gnu-package?): Only call 'mirror-type' when
	  URL is a string.

2014-05-04  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Improve root file system switching.
	* guix/build/linux-initrd.scm (move-essential-file-systems,
	  switch-root): New procedures.
	  (MS_MOVE): New variable.
	  (boot-system): Remove 'mount-essential-file-systems' call for ROOT.
	  Use 'switch-root' instead of chdir + chroot.

	services: networking: Fix typo in static networking service.
	* gnu/services/networking.scm (static-networking-service): Use
	  $inetutils/bin/ifconfig, not $inetutils/sbin/ifconfig.

	gnu: Add missing import in (gnu packages maths).
	* gnu/packages/maths.scm: Use (guix utils), which was needed since
	  b9100e2f.

	linux-initrd: Check the root and other early file systems.
	* gnu/system.scm (operating-system-derivation)[boot-file-systems]: Keep "/".
	* gnu/system/linux-initrd.scm (file-system->spec): Keep the 'check?'
	  flag.
	  (qemu-initrd)[helper-packages]: New variable.  Pass it as #:to-copy.
	  <gexp>: Add 'set-path-environment-variable' call.  Remove #:unionfs
	  argument for 'boot-system'.
	* gnu/system/vm.scm (%linux-vm-file-systems): Add 'check?' field/
	  (virtualized-operating-system): Likewise for the "9p" file system.
	* guix/build/linux-initrd.scm (mount-root-file-system): Change #:unionfs
	  default.  Call 'check-file-system' before mounting ROOT, when
	  VOLATILE-ROOT? is false.
	  (check-file-system): New procedure.
	  (mount-file-system): Honor 'check?' element in list; add
	  'check-file-system' call.
	  (boot-system): Remove #:root-fs-type and #:unionfs parameters.
	  [root-mount-point?, root-fs-type]: New variables.
	  Call 'mount-file-system' on all MOUNTS but "/".

	activation: Fix deletion of setuid programs.
	* guix/build/activation.scm (activate-setuid-programs): When
	  %SETUID-DIRECTORY exists, pass the right file names to 'delete-file'.

2014-05-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add statically-linked versions of e2fsprogs and the fsck.* commands.
	* gnu/packages/linux.scm (e2fsprogs/static, e2fsck/static): New
	  variables.

2014-05-03  Ludovic Courtès  <ludo@gnu.org>

	vm: Provide a root partition for the freestanding VM image.
	Fixes a regression introduced in 83bcd0b.

	* gnu/system/vm.scm (system-qemu-image): Override the 'file-systems'
	  field of OS.  Add #:file-system-type parameter and honor it.

2014-05-03  Ludovic Courtès  <ludo@gnu.org>

	vm: Make root file system type a parameter, and default to ext4.
	* gnu/system/vm.scm (qemu-image): Add #:file-system-type parameter.
	  Pass it to 'initialize-hard-disk'.
	* guix/build/linux-initrd.scm (mount-root-file-system): Always honor
	  TYPE.
	  (boot-system): Change #:root-fs-type to default to "ext4".  Update
	  docstring.
	* guix/build/vm.scm (initialize-hard-disk): Remove #:mkfs parameter; add
	  #:file-system-type.  Adjust 'mkfs' invocation and 'mount' call to
	  honor #:file-system-type.

	doc: Minor improvements in "G-Expressions".
	* doc/guix.texi (G-Expressions): Show coreutils version number in store
	  file name.  Add xref to "Derivations", in documentation of
	  'gexp->derivation'.  Fix typo.

	gnu: Add diffstat.
	* gnu/packages/version-control.scm (diffstat): New variable.

	ftp-client: Add missing CR in "USER" command.
	* guix/ftp-client.scm (%ftp-login): Add #\return before #\newline.
	  Fixes access to some FTP servers, such as
	  ftp://invisible-island.net ("ProFTPD 1.3.4a Server").

	system: Add first-class file system declarations.
	* gnu/system.scm (<operating-system>)[initrd]: Default to
	  'qemu-initrd'.
	  (<file-system>): New record type.
	  (operating-system-root-file-system): New procedure.
	  (operating-system-derivation): Take the device name for GRUB from
	  'operating-system-root-file-system'.  Pass the
	  'operating-system-initrd' procedure the list of boot file systems.
	* gnu/system/linux-initrd.scm (file-system->spec): New procedure.
	  (qemu-initrd): Add 'file-systems' parameter, and remove #:mounts
	  parameter.
	  [file-system-type-predicate]: New procedure.
	  [linux-modules]: Use it.
	  Adjust #:mounts argument in 'boot-system' call.
	  (gnu-system-initrd): Remove.
	* gnu/system/vm.scm (%linux-vm-file-systems): New variable.
	  (expression->derivation-in-linux-vm): Adjust call to 'qemu-initrd'.
	  (virtualized-operating-system): New procedure.
	  (system-qemu-image/shared-store-script)[initrd]: Remove.  Use
	  'virtualized-operating-system'.  Get the 'initrd' file from OS-DRV.
	* guix/build/linux-initrd.scm (mount-qemu-smb-share, mount-qemu-9p):
	  Remove.
	  (MS_RDONLY, MS_BIND): New global variables.
	  (bind-mount): Remove local 'MS_BIND' definition.
	  (mount-root-file-system): New procedure, with code formerly in
	  'boot-system'.
	  (mount-file-system): New procedure.
	  (boot-system): Add #:root-fs-type parameter.  Remove 'MS_RDONLY' local
	  variable.  Use 'mount-root-file-system' and 'mount-file-system'.
	* doc/guix.texi (Using the Configuration System): Add 'file-system'
	  declaration.

2014-05-02  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add missing copyright line
	* gnu/packages/maths.scm: Add copyright line missing from 3de01d3.

	gnu: petsc: Add input superlu.
	* gnu/packages/maths.scm (petsc): Configure with superlu support.

	gnu: Add superlu
	* gnu/packages/maths.scm (superlu): New variable

2014-05-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: qemu: Upgrade to 2.0.0.
	* gnu/packages/qemu.scm (qemu-headless): Upgrade to 2.0.0.

	download: Rewrite using gexps.
	* guix/download.scm (gnutls-derivation): Remove.
	  (gnutls-package): New procedure.
	  (url-fetch): Rewrite using 'gexp->derivation'.

	monads, gexp: Remove unintended dependency on (gnu packages …).
	* guix/gexp.scm (gexp->derivation, gexp->script): Use 'default-guile'
	  instead of an explicit reference to 'guile-final'.
	  (default-guile): New procedure.
	* guix/monads.scm (run-with-store)[default-guile]: New procedure.
	  Use it.

	gexp: Add support for 'origin?' objects in 'ungexp' forms.
	* guix/gexp.scm (lower-inputs, gexp-inputs, gexp->sexp,
	  canonicalize-reference): Add 'origin?' case.
	* guix/monads.scm (origin->derivation): New procedure.
	* tests/gexp.scm ("one input origin"): New test.

	system: Add 'sudo' to the setuid programs, and handle /etc/sudoers.
	* gnu/system.scm (<operating-system>)[groups]: Change default to just
	  the 'root' group.
	  [sudoers]: New field.
	  (etc-directory): Add #:sudoers parameter.  Add 'sudoers' to the
	  file union.
	  (operating-system-etc-directory): Pass #:sudoers to 'etc-directory'.
	  (%setuid-programs): Add 'sudo'.
	  (%sudoers-specification): New variable.
	* gnu/system/linux.scm (base-pam-services): Add 'sudo'.
	* build-aux/hydra/demo-os.scm: Add 'groups' field; add 'guest' to the
	  'wheel' group.

2014-05-01  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add petsc
	* gnu/packages/maths.scm (petsc): New variable.
	  (petsc-complex): New variable.
	* gnu/packages/patches/petsc-fix-threadcomm.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-05-01  David Thompson  <dthompson@member.fsf.org>

	gnu: Add abbaye.
	* gnu/packages/games.scm (abbaye): New variable.

	gnu: Propagate necessary inputs for sdl-image.
	* gnu/packages/sdl.scm (sdl-image): Propagate jpeg, png, and tiff
	  libraries.

2014-04-30  Ludovic Courtès  <ludo@gnu.org>

	gexp: Add pretty printer.
	* guix/gexp.scm (write-gexp): New procedure.
	  <top level>: Add call to 'set-record-type-printer!'.

	gnu: Add sudo.
	* gnu/packages/admin.scm (sudo): New variable.

	system: Add support for setuid binaries.
	* gnu/system.scm (<operating-system>)[pam-services, setuid-programs]:
	  New fields.
	  (etc-directory)[bashrc]: Prepend /run/setuid-programs to $PATH.
	  (operating-system-etc-directory): Honor
	  'operating-system-pam-services'.
	  (%setuid-programs): New variable.
	  (operating-system-boot-script): Add (guix build utils) to the set of
	  imported modules.  Call 'activate-setuid-programs' in boot script.
	* gnu/system/linux.scm (base-pam-services): New procedure.
	* guix/build/activation.scm (%setuid-directory): New variable.
	  (activate-setuid-programs): New procedure.
	* build-aux/hydra/demo-os.scm: Add 'pam-services' field.

	linux-initrd: Allow setuid binaries from the unionfs to run.
	* guix/build/linux-initrd.scm (boot-system): Pass the 'suid' option to
	  UNIONFS.

	system: Add (guix build activation).
	* gnu/services/dmd.scm (dmd-configuration-file): Remove 'etc'
	  parameter.  Move /etc activation code to...
	* guix/build/activation.scm: ... here; new file.
	* gnu/system.scm (operating-system-boot-script): Augment script: add
	  (guix build activation) to the load path; call 'activate-etc'.
	* Makefile.am (MODULES): Add guix/build/activation.scm.

2014-04-30  Eric Bavier  <bavier@member.fsf.org>

	gnu: calcurse: Fix module definition.
	* gnu/packages/calcurse.scm: Define calcurse module correctly.

	gnu: gmsh: Fix typos
	* gnu/packages/maths.scm (gmsh): Fix typo and space aftern
	  end-of-sentence.

	gnu: Add gmsh
	* gnu/packages/maths.scm (gmsh): New variable

2014-04-29  Ludovic Courtès  <ludo@gnu.org>

	derivations: Micro-optimize 'derivation'.
	* guix/derivations.scm (derivation->string): New procedure.
	  (derivation-hash, derivation): Use it.
	  Memoization here yields a 5% improvement on "guix build -e '(@ (gnu
	  packages emacs) emacs)' -n --no-substitutes".

	gnu: guile-ncurses: Build with Unicode support.
	* gnu/packages/guile.scm (guile-ncurses)[arguments]: Pass
	  "--with-ncursesw".

	gnu-maintenance: Avoid network access in 'gnu-package?'.
	* guix/gnu-maintenance.scm (gnu-package?): Add 'mirror-type' procedure.
	  Resort to 'official-gnu-packages' only when 'mirror-type' returns #f.

	Update 'TODO'.

	gexp: Remove leftover parameter.
	* guix/gexp.scm (gexp->sexp): Remove #:outputs parameter.  Adjust
	  callers accordingly.

2014-04-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: screen: Upgrade to 4.2.1.
	* gnu/packages/screen.scm (screen): Upgrade to 4.2.1.

	gnu: mcron: Upgrade to 1.0.7.
	* gnu/packages/guile.scm (mcron): Upgrade to 1.0.7.
	  Use GUILE-2.0 instead of GUILE-1.8; add 'native-inputs' field.

	monads: Hide 'derivation-expression' and 'lower-inputs'.
	* guix/monads.scm: Unexport 'lower-inputs' and 'derivation-expression'.
	  (text-file*): Add comment about the switch to 'gexp->derivation'.
	  (lower-inputs): Add comment about its doom.
	  (derivation-expression): Likewise.
	* guix/gexp.scm (lower-inputs*): Rename to...
	  (lower-inputs): ... this.  Update callers.
	* tests/monads.scm (derivation-expression): New procedure.
	* doc/guix.texi (The Store Monad): Use 'gexp->derivation' instead of
	  'derivation-expression'.  Remove documentation of
	  'derivation-expression'.
	* guix/ui.scm (read/eval): Use THE-ROOT-MODULE so that macros are
	  properly expanded.
	* tests/guix-build.sh: Use 'gexp->derivation' instead of
	  'derivation-expression'.monads: Hide 'derivation-expression' and 'lower-inputs'.

	linux-initrd: Rewrite using gexps.
	* gnu/system/linux-initrd.scm (expression->initrd): Rename 'inputs'
	  parameter to 'to-copy'.  Remove 'files-to-copy'.  Rewrite 'builder' as
	  a gexp, and use 'gexp->derivation'.
	  (qemu-initrd): Adjust accordingly.

	system: Rewrite 'union' using gexps.
	* gnu/system.scm (union): Rewrite using 'gexp->derivation'.

	services: xorg: Rewrite using gexps.
	* gnu/services/xorg.scm (xorg-start-command): Rewrite in terms of
	  'gexp->script'.
	  (xinitrc): Likewise.

	system: grub: Rewrite using gexps.
	* gnu/system/grub.scm (grub-configuration-file): Rewrite using
	  'gexp->derivation'.
	* gnu/system.scm (operating-system-derivation): Adjust accordingly.

	system: Change 'file-union' to use gexps.
	* gnu/system.scm (file-union): Make 'name' the first parameter; remove
	  'inputs' parameter.  Rewrite using 'gexp->derivation'.
	  (etc-directory): Adjust accordingly.
	  (operating-system-derivation): Ditto.

	services: Rewrite using gexps.
	* gnu/services.scm (<service>)[inputs]: Remove.
	* gnu/system.scm (links): Remove.
	  (etc-directory): Add PASSWD and SHADOW to #:inputs.
	  (operating-system-boot-script): Pass ETC to 'dmd-configuration-file'.
	  (operating-system-derivation): Remove EXTRAS from the union.
	* gnu/system/linux.scm (pam-service->configuration): Rewrite in terms of
	  'gexp->derivation'.  Compute the contents on the build side.  Expect
	  'arguments' to contain a list of gexps.
	  (pam-services->directory): Rewrite in terms of 'gexp->derivation'.
	  (unix-pam-service): Change 'arguments' to a list of one gexp.
	* gnu/system/shadow.scm (<user-account>)[inputs]: Remove.
	  [shell]: Change default value to a gexp.
	  (passwd-file): Rewrite in terms of 'gexp->derivation'.  Compute
	  contents on the build side.
	* gnu/services/base.scm (host-name-service, mingetty-service,
	  nscd-service, syslog-service, guix-service): Change 'start' and 'stop'
	  to gexps; remove 'inputs' field.
	  (guix-build-accounts): Change 'shell' field to a gexp.
	* gnu/services/networking.scm (static-networking-service): Change
	  'start' and 'stop' to gexps; remove 'inputs' field.
	* gnu/services/xorg.scm (slim-service): Likewise.
	* gnu/services/dmd.scm (dmd-configuration-file): Expect ETC to be a
	  derivation.  Change 'config' to a gexp.  Use 'gexp->file' instead of
	  'text-file'.
	* doc/guix.texi (Defining Services): Update nscd example with gexps, and
	  without 'inputs'.  Add xref to "G-Expressions".

	vm: Rewrite support procedures to use gexps.
	* gnu/system/vm.scm (%imported-modules): Remove.
	  (expression->derivation-in-linux-vm): Remove 'inputs' parameter.
	  Rename 'imported-modules' to 'modules'.  Rewrite using gexps and
	  'gexp->derivation'.
	  (qemu-image): Add 'qemu' parameter.  Pass NAME to
	  'expression->derivation-in-linux-vm'.  Rewrite using gexps.  Remove
	  #:inputs argument to 'expression->derivation-in-linux-vm'.
	  (operating-system-default-contents): Rewrite using gexps.
	* gnu/system.scm (operating-system-profile-derivation): Rename to...
	  (operating-system-profile): ... this.  Adjust callers.
	  (operating-system-profile-directory): Remove.

	store: (direct-store-path? (%store-prefix)) returns #f.
	* guix/store.scm (direct-store-path?): Return #f if PATH
	  is (%store-prefix).
	* tests/store.scm ("direct-store-path?"): Add test.

	gnu: Use gexps in obvious places in (gnu system ...).
	* gnu/system.scm (operating-system-boot-script): Use 'gexp->file'
	  instead of 'text-file*'.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
	  (system-qemu-image/shared-store-script)[builder]: Turn into a gexp.
	  Use 'gexp->derivation' instead of 'derivation-expression'.

	Add (guix gexp).
	* guix/gexp.scm: New file.
	* tests/gexp.scm: New file.
	* Makefile.am (MODULES): Add guix/gexp.scm.
	  (SCM_TESTS): Add tests/gexp.scm.
	* doc/guix.texi (Derivations): Add #:inputs in 'derivation' example.
	  Mark 'build-expression->derivation' as deprecated, refer to
	  "G-Expressions".  Remove paragraph about code strata.
	  (G-Expressions): New node.

2014-04-28  Andreas Enge  <andreas@enge.fr>

	gnu: soprano: Add input clucene.
	* gnu/packages/rdf.scm (soprano): Add input clucene and patch the cmake
	    file looking for it.
	* gnu/packages/patches/soprano-find-clucene.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register the patch.

	gnu: soprano: Upgrade to 2.9.4.
	* gnu/packages/rdf.scm (soprano): Upgrade to 2.9.4.

2014-04-27  Andreas Enge  <andreas@enge.fr>
	    Eric Bavier  <bavier@member.fsf.org>

	guix: cmake: Add input and package libraries to the rpath, and adapt package   definitions accordingly.
	* guix/build/cmake-build-system.scm (configure): Add flags.
	* gnu/packages/maths.scm (lapack): Drop special code.
	* gnu/packages/ssh.scm (libssh): Drop special code.
	* gnu/packages/slim.scm (slim): Drop special code and enable shared library.

2014-04-25  Andreas Enge  <andreas@enge.fr>

	gnu: soprano: Add native input doxygen.
	* gnu/packages/rdf.scm (soprano): Add native input doxygen.

	gnu: doxygen: Add propagated input graphviz.
	* gnu/packages/doxygen.scm (doxygen): Add propagated input graphviz.

	gnu: libkate: Add native input doxygen and make input pkg-config native.
	* gnu/packages/xiph.scm (libkate): Add native input doxygen.
	    Make input pkg-config native.

	gnu: libmpdclient: Add native input doxygen.
	* gnu/packages/mpd.scm (libmpdclient): Add native input doxygen.

	gnu: libdbusmenu-qt: Add native input doxygen for building the documentation,   and make input qjson native.
	* gnu/packages/kde.scm (libdbusmenu-qt): Add native input doxygen for
	    building the documentation.
	    Make input qjson native, as it is needed only for the tests.

	gnu: Add doxygen.
	* gnu/packages/doxygen.scm: New file.
	* gnu/packages/patches/doxygen-test.patch,
	  gnu/packages/patches/doxygen-tmake.patch: New files.
	* gnu-system.am (GNU_SYSTEM_MODULES, dist_patch_DATA): Register the new files.

2014-04-24  Ludovic Courtès  <ludo@gnu.org>

	build: Add missing function checks for optional daemon features.
	* config-daemon.ac: Check for lchown, posix_fallocate, vfork,
	  sched_setaffinity, statvfs, nanosleep, and strsignal.  As a side
	  effect, this enables daemon features depending on the corresponding
	  feature test macros.

2014-04-24  Andreas Enge  <andreas@enge.fr>

	gnu: gp2c: Upgrade to 0.0.9pl1.
	* gnu/packages/algebra.scm (gp2c): Upgrade to 0.0.9pl1.

2014-04-23  Ludovic Courtès  <ludo@gnu.org>

	vm: Clarify 'system-qemu-image/shared-store-script'.
	* gnu/system/vm.scm (system-qemu-image/shared-store-script): Move
	  'initrd' definition to the top-level.  Have a single definition of
	  'initrd', 'image', and 'os-drv'.

	system: Add 'operating-system-boot-script'.
	* gnu/system.scm (operating-system-boot-script): New procedure.
	  (operating-system-derivation): Use it.  Remove DMD-CONF from the
	  file union.  Add BOOT-DRV to the inputs.

	system: Factorize (gnu system).
	* gnu/system.scm (operating-system-accounts,
	  operating-system-etc-directory): New procedures.
	  (operating-system-derivation): Use them.
	* gnu/services/base.scm (%base-services): Add 'host-name-service'
	  invocation.

2014-04-22  Ludovic Courtès  <ludo@gnu.org>

	gnu: cyrus-sasl: Add alternate source URL.
	* gnu/packages/cyrus-sasl.scm (cyrus-sasl)[source]: Add alternate URL;
	  the previous one is currently unreachable.

	gnu: mplayer: Add mpg123 as an input.
	* gnu/packages/video.scm (mplayer)[inputs]: Add mpg123.

	gnu: Add mpg123.
	* gnu/packages/mp3.scm (mpg123): New variable.

	gnu: Add GCC 4.9.0.
	* gnu/packages/gcc.scm (gcc-4.9): New variable.
	* gnu/packages/base.scm (gcc-toolchain-4.9): New variable.

2014-04-22  Mark H Weaver  <mhw@netris.org>

	gnu: openssl: Fixes for CVE-2010-5298 and extension checking.
	* gnu/packages/patches/openssl-CVE-2010-5298.patch: New file.
	* gnu/packages/patches/openssl-extension-checking-fixes.patch: New file.
	* gnu/packages/openssl.scm (openssl): Add them.
	* gnu-system.am (dist_patch_DATA): Add them.

2014-04-22  Ludovic Courtès  <ludo@gnu.org>

	pk-crypto: Add pretty-printer to 'gcry-error' exceptions.
	* guix/pk-crypto.scm (string->canonical-sexp, sign, generate-key): Pass
	  the procedure name as the first argument to 'throw'.
	  (gcrypt-error-printer): New procedure.
	  <top level>: Add call to 'set-exception-printer!'.
	* guix/nar.scm (restore-one-item): Add 'proc' parameter to 'catch'
	  handler for 'gcry-error.
	* guix/scripts/archive.scm (%options, generate-key-pair, authorize-key):
	  Likewise.
	* guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp):
	  Likewise.

2014-04-22  Ludovic Courtès  <ludo@gnu.org>

	authenticate: Allow signatures with binary data to be written to stdout.
	Fixes <http://bugs.gnu.org/17312>.

	* guix/scripts/authenticate.scm (guix-authenticate): Add calls to
	  'set-port-encoding!' and 'set-port-conversion-strategy!'.  Wrap body
	  in 'with-fluids' form that sets '%default-port-encoding' and
	  '%default-port-conversion-strategy'.
	* tests/guix-authenticate.sh: Add test.
	* tests/pk-crypto.scm ("hash corrupt due to restrictive locale
	  encoding"): Add reference to bug.

2014-04-22  Ludovic Courtès  <ludo@gnu.org>

	pk-crypto: Use ISO-8859-1 for strings passed to 'gcry_sexp_new'.
	* guix/pk-crypto.scm (string->canonical-sexp): Pass "ISO-8859-1" as the
	  2nd argument to 'string->pointer'.
	* tests/pk-crypto.scm ("version"): New test.
	  ("hash corrupt due to restrictive locale encoding"): New test.

2014-04-21  Ludovic Courtès  <ludo@gnu.org>

	nar: Really really protect the temporary store directory from GC.
	This is a follow-up to 6071b55e10b7b6e67d77ae058c8744834889e0b4.
	See <https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00167.html>
	for the original report, and
	<https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00198.html>
	for an alternate solution that has been discussed.

	* guix/nar.scm (temporary-store-file): Remove call to
	  'add-permanent-root'; don't loop.
	  (with-temporary-store-file): Rewrite using 'with-store' and
	  'add-temp-root'.

2014-04-17  Andreas Enge  <andreas@enge.fr>

	gnu: Add mplayer.
	* gnu/packages/video.scm (mplayer): New variable.

	gnu: xorg: libxxf86dga: Propagate input xf86dgaproto.
	* gnu/packages/xorg.scm (libxxf86dga): Propagate input xf86dgaproto.

2014-04-16  Andreas Enge  <andreas@enge.fr>

	gnu: Add vlc.
	* gnu/packages/video.scm (vlc): New variable.

	gnu: lua: Add older version 5.1.5.
	* gnu/packages/lua.scm (lua-5.1): New variable.

	gnu: lua: Upgrade to 5.2.3.
	* gnu/packages/lua.scm (lua): Upgrade to 5.2.3.

	gnu: lua: Compile with -fPIC.
	* gnu/packages/lua.scm (lua): Add -fPIC to CFLAGS and LDFLAGS.

2014-04-16  Ludovic Courtès  <ludo@gnu.org>

	download: Improve progress report output.
	* guix/build/download.scm (url-fetch): Make current-output-port
	  unbuffered.

2014-04-16  Andreas Enge  <andreas@enge.fr>

	gnu: Add strigi.
	* gnu/packages/kde.scm (strigi): New variable.

	gnu: clucene: Add patch to indicate linking with clucene-shared, not only    clucene-core, to pkgconfig.
	* gnu/packages/patches/clucene-pkgconfig.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.
	* gnu/packages/rdf.scm (clucene): Use patch.

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

	gnu: Add attica.
	* gnu/packages/kde.scm (attica): New variable.

2014-04-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: tcpdump: Add dependency on OpenSSL.
	* gnu/packages/admin.scm (tcpdump)[inputs]: Add OpenSSL.

2014-04-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Rot[t]log.
	* gnu/packages/admin.scm (rottlog): New variable.

	gnu: Add tcpdump.
	* gnu/packages/admin.scm (tcpdump): New variable.

	gnu: Add lftp.
	* gnu/packages/ftp.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: man-db: Add specification for $MANPATH.
	* gnu/packages/man.scm (man-db)[native-search-paths]: New field.

2014-04-15  Andreas Enge  <andreas@enge.fr>

	gnu: Add libdbusmenu-qt.
	*  gnu/packages/kde.scm (libdbusmenu-qt): New variable.

	gnu: Add qjson.
	* gnu/packages/kde.scm (qjson): New variable.

	gnu: wdiff: Upgrade to 1.2.2.
	* gnu/packages/wdiff.scm (wdiff): Upgrade to 1.2.2.

	gnu: gawk: Revert previous commit, which should go into core-updates.
	* gnu/packages/gawk.scm (gawk): Downgrade to 4.1.0 to avoid recompiling
	    almost everything in master.

	gnu: gawk: Upgrade to 4.1.1.
	* gnu/packages/gawk.scm (gawk): Upgrade to 4.1.1.

	gnu: gmp: Upgrade to 6.0.0a.
	* gnu/packages/multiprecision.scm (gmp): Upgrade to 6.0.0a.
	* gnu/packages/base.scm (gcc-boot0): Modify symbolic link to point to
	    gmp-6.0.0 instead of the non-existing gmp-6.0.0a.

2014-04-14  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Mount / as a unionfs when asking for a volatile root.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
	  /dev/fuse.
	  (boot-system): Add #:unionfs parameter.  Invoke UNIONFS instead of
	  copying files over when VOLATILE-ROOT? is true.
	* gnu/system/linux-initrd.scm (expression->initrd): Add #:inputs
	  parameter.
	  [files-to-copy]: New procedure.
	  [builder]: Add 'to-copy' parameter; honor it.
	  (qemu-initrd)[linux-modules]: Add 'fuse.ko' when VOLATILE-ROOT?.
	  Pass UNIONFS-FUSE/STATIC as #:inputs; change builder to pass #:unionfs
	  to 'boot-system'.

	gnu: unionfs-fuse-static: Remove dependency on util-linux.
	* gnu/packages/linux.scm (fuse-static): New variable.
	  (unionfs-fuse/static): Use it.

	gnu: man-pages: Fix URL.
	* gnu/packages/man.scm (man-pages): Use the 'kernel.org' mirror set.

2014-04-14  Ludovic Courtès  <ludo@gnu.org>

	offload: '{send,receive}-files' wait for completion of the transfer.
	Fixes situations where the remote 'guix build' is invoked before the
	.drv has been completely copied, as reported at
	<https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00174.html>.

	In some cases 'send-files' would return before the other end is done
	importing the files, and so the subsequent 'guix build' invocation would
	just miss the .drv file it refers to.

	* guix/utils.scm (call-with-decompressed-port): Don't close PORT.
	  (call-with-compressed-output-port): Likewise.
	* tests/utils.scm ("compressed-output-port + decompressed-port"): Adjust
	  accordingly.
	* guix/scripts/offload.scm (send-files): Add explicit (close-pipe pipe)
	  call.
	  (retrieve-files): Likewise.

2014-04-14  Ludovic Courtès  <ludo@gnu.org>

	offload: Better synchronize with remote invocation of 'guix archive --missing'.
	* guix/scripts/offload.scm (send-files)[missing-files]: Call 'waitpid'
	  after reading all of MISSING.

	build-system/gnu: Reset timestamps on build tree when source is a directory.
	* guix/build/utils.scm (copy-recursively): Add #:keep-mtime? parameter
	  and honor it.
	* guix/build/gnu-build-system.scm (unpack): Use #:keep-mtime? #t.
	* gnu/packages/admin.scm (shadow)[arguments]: Remove 'reset-timestamps'
	  phase.

	gnu: gcc-final: Add Texinfo as an input.
	* gnu/packages/base.scm (gcc-final)[native-inputs]: New field.

	gnu: gawk: Upgrade to 4.1.1.
	* gnu/packages/gawk.scm (gawk): Upgrade to 4.1.1.

2014-04-13  Ludovic Courtès  <ludo@gnu.org>

	derivations: Fix 'fixed-output-derivation?'.
	Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	* guix/derivations.scm (fixed-output-derivation?): Fix pattern.
	* tests/derivations.scm ("fixed-output-derivation?"): Add test.

2014-04-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Linux man-pages.
	* gnu/packages/man.scm (man-pages): New variable.

2014-04-12  Ludovic Courtès  <ludo@gnu.org>

	nar: Really protect the temporary store directory from GC.
	Prevents garbage collection of the temporary store directory while
	restoring a file set, as it could previously happen:
	<https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00167.html>.

	* guix/nar.scm (temporary-store-directory): Rename to...
	  (temporary-store-file): ... this.  Use 'add-permanent-root' instead of
	  'add-indirect-root'.
	  (with-temporary-store-file): New macro.
	  (restore-one-item): New procedure, with code formerly in
	  'restore-file-set'.  Use 'with-temporary-store-file'.
	  (restore-file-set): Use it.

2014-04-12  Ludovic Courtès  <ludo@gnu.org>

	store: Add 'add-permanent-root' and 'remove-permanent-root'.
	* guix/store.scm (add-indirect-root): Improve docstring.
	  (%gc-roots-directory): New variable.
	  (add-permanent-root, remove-permanent-root): New procedures.
	* tests/store.scm ("permanent root"): New test.

2014-04-12  Nikita Karetnikov  <nikita@karetnikov.org>

	openssh: Add another mirror.
	* gnu/packages/ssh.scm (openssh): Add the mirror.

2014-04-12  Ludovic Courtès  <ludo@gnu.org>

	packages: Correctly handle patching for inputs with no extension.
	Reported by Manolis Ragkousis <manolis837@gmail.com>.

	* guix/packages.scm (patch-and-repack)[numeric-extension?]: Handle
	  FILE-NAME with no extension.

2014-04-11  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Mosh.
	* gnu/packages/ssh.scm (mosh): New variable.

	gnu: Add perl-io-tty.
	* gnu/packages/perl.scm (perl-io-tty): New variable.

	gnu: Add Protobuf.
	* gnu/packages/protobuf.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	hydra: Specify the image size of the QEMU image.
	* build-aux/hydra/gnu-system.scm (qemu-jobs): Specify
	  #:disk-image-size.

	vm: Move image creation to (guix build vm); split into several procedures.
	* guix/build/vm.scm (read-reference-graph, initialize-partition-table,
	  install-grub, populate-store, evaluate-populate-directive,
	  reset-timestamps, initialize-hard-disk): New procedures.
	* gnu/system/vm.scm (qemu-image): Change 'builder' to a call to
	  'initialize-hard-disk'.

	vm: 'expression->derivation-in-linux-vm' can import modules in the VM.
	* gnu/system/vm.scm (%imported-modules): New procedure.
	  (expression->derivation-in-linux-vm): Add #:imported-modules
	  parameter; remove #:modules.  Add LOADER, and change BUILDER to load
	  it.
	  (qemu-image): Remove useless #:modules argument.

	vm: Strip import list.
	* gnu/system/vm.scm: Strip #:select for (gnu packages base).

	vm: Factorize input conversion.
	* gnu/system/vm.scm (input->name+output): New procedure.
	  (expression->derivation-in-linux-vm): Use it for 'input-alist'.
	  (qemu-image)[input->name+derivation]: Remove.  Use
	  'input->name+output' instead.

	vm: Add (guix build vm) module.
	* guix/build/vm.scm: New file.
	* Makefile.am (MODULES): Add it.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Use it.

2014-04-11  Andreas Enge  <andreas@enge.fr>

	gnu: ffmpeg: Upgrade to 2.2.1.
	* gnu/packages/video.scm (ffmpeg): Upgrade to 2.2.1.

2014-04-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: qemu: Remove 'qemu-with-multiple-smb-shares' package.
	* gnu/packages/qemu.scm (qemu/smb-shares): Remove.
	* gnu/packages/patches/qemu-multiple-smb-shares.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

	vm: Use QEMU's para-virtualized file system support for all VMs.
	* gnu/system/vm.scm (system-qemu-image/shared-store-script): Change
	  #:qemu to default to QEMU.  Change INITRD to use a 9p mount for the
	  store.  Change command-line to use -virtfs.

	doc: Mention 'gcc-toolchain' in README.
	* README (Installing Guix from Guix): Use "gcc-toolchain" instead of
	  "gcc,binutils,ld-wrapper,glibc".

2014-04-10  Alírio Eyng  <alirioeyng@gmail.com>

	gnu: util-linux: Enable ddate.
	* gnu/packages/linux.scm (util-linux): Add --enable-ddate configure flag.

2014-04-10  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Upgrade to 5.2.1.
	* gnu/packages/qt.scm (qt): Upgrade to 5.2.1.

2014-04-09  Ludovic Courtès  <ludo@gnu.org>

	daemon: Don't abort when $PATH is undefined.
	* nix/nix-daemon/guix-daemon.cc (main): Check whether getenv ("PATH")
	  returns NULL before blindly initializing 'search_path'.  Before that
	  'guix-daemon' would abort when run in an environment where 'PATH' is
	  undefined.

	nar: 'restore-file-set' registers the temporary result as a GC root.
	* guix/nar.scm (temporary-store-directory): Use 'add-indirect-root', not
	  'add-temp-root'.  Reported by Andreas Enge <andreas@enge.fr> at
	  <https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00161.html>.

2014-04-09  Alírio Eyng  <alirioeyng@gmail.com>

	doc: Expect to fix typo.
	* doc/guix.texi (Build Systems): "except" it is.

	gnu: linux-libre: Add SIS hardware compatibility.
	* gnu/packages/linux.scm (linux-libre): Add CONFIG_SATA_SIS=y,
	  CONFIG_SIS190=y and CONFIG_DEVPTS_MULTIPLE_INSTANCES=y.

2014-04-09  Ludovic Courtès  <ludo@gnu.org>

	build: Bump to version 0.7.
	* configure.ac: Switch to 0.7.

	Update '.po' files.

	hydra: Make demo OS smaller.
	* build-aux/hydra/demo-os.scm: Replace Emacs with Zile.  Enable
	  auto-login as "guest".  This is the configuration used for the Guix
	  0.6 VM image.

	gnu: linux-initrd: Mount /dev/pts at boot time.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): Remove
	  'mount' call for /dev/pts.
	  (boot-system): Add it here, after 'chroot' call.

	gnu: linux-initrd: Better populate /dev.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
	  /dev/{ptmx,tty} world-writable.  Build additional character devices.

	system: Initialize $PATH before starting dmd services.
	* gnu/services/dmd.scm (dmd-configuration-file): Call 'setenv' before
	  starting services.

	gnu: guix: Upgrade to 0.6.
	* gnu/packages/package-management.scm (guix): Upgrade to 0.6.
	* gnu/services/dmd.scm (dmd-configuration-file): Change /var/nix to
	  /var/guix.
	* gnu/system/vm.scm (operating-system-default-contents): Likewise.

	Update 'NEWS'.

	vm: Add #:memory-size parameter for 'expression->derivation-in-linux-vm'.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add
	  #:memory-size parameter, defaulting to 256 (QEMU defaults to 128.)

	gnu: linux-initrd: Default initrd has no network mounts.
	* gnu/system/linux-initrd.scm (gnu-system-initrd): Add #:mounts
	  argument.

	vm: 'expression->derivation-in-linux-vm' uses QEMU virtfs/9p.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Change #:qemu
	  to default to QEMU-HEADLESS.  Use "-net nic,model=virtio".  Remove
	  "-net user,smb=..." and add "-virtfs" options.  Change default initrd
	  to include two 9p mounts.

	gnu: qemu: Upgrade to 1.7.1; add virtfs support.
	* gnu/packages/qemu.scm (qemu-headless): Upgrade to 1.7.1.
	  [source]: Remove 'patches' field.
	  [arguments]: Add --enable-virtfs configure flag.
	  [inputs]: Add libcap and attr.
	* gnu/packages/patches/qemu-make-4.0.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

2014-04-09  Eric Bavier  <bavier@member.fsf.org>

	gnu: lapack: Augment library rpath
	* gnu/packages/maths.scm (lapack) [arguments]: New post-installation
	  phase to augment the rpath of installed libraries.

2014-04-09  David Thompson  <dthompson@member.fsf.org>

	gnu: Move help2man package to (gnu packages man) module.
	* gnu/packages/man.scm (help2man): New variable.
	* gnu/packages/help2man.scm: Delete it.
	* gnu/packages/cdrom.scm: Import (gnu packages man).
	* gnu/packages/zile.scm: Import (gnu packages man).
	* gnu-system.am (GNU_SYSTEM_MODULES): Delete 'gnu/packages/help2man.scm'.

	gnu: Add man-db.
	* gnu/packages.man.scm (man-db): New variable.

	gnu: Add libpipeline.
	* gnu/packages/man.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-04-09  Ludovic Courtès  <ludo@gnu.org>

	guix system: Add 'vm-image' action and '--image-size' option.
	* guix/scripts/system.scm (%options): Add --image-size.
	  (%default-options): Add 'image-size'.
	  (guix-system)[parse-options]: Handle the 'vm-image' action.
	  Honor them.
	  (show-help): Update accordingly.
	* doc/guix.texi (Invoking guix system): Add 'vm-image'.

2014-04-08  Ludovic Courtès  <ludo@gnu.org>

	ui: Add 'size->number'.
	* guix/scripts/gc.scm (size->number): Remove.
	* guix/ui.scm (size->number): New procedure.
	* tests/ui.scm ("size->number, bytes",
	  "size->number, MiB", "size->number, GiB", "size->number, 1.2GiB",
	  "size->number, invalid unit"): New tests.

	gnu: dvdisaster: Build sequentially.
	* gnu/packages/cdrom.scm (dvdisaster)[arguments]: Add #:parallel-build? #f.

	offload: Remove all the GC roots in case of multiple-output derivations.
	* guix/scripts/offload.scm (remove-gc-root): Rename to...
	  (remove-gc-roots): ... this.
	  [builder]: Use 'scandir' and remove all the files starting with
	  %GC-ROOT-FILE.
	  (transfer-and-offload): Adjust to renaming; remove
	  'false-if-exception' wraps.

	gnu: openssl: Upgrade to 1.0.1g (CVE-2014-0160).
	* gnu/packages/openssl.scm (openssl): Upgrade to 1.0.1g (for
	  CVE-2014-0160, <http://www.openssl.org/news/secadv_20140407.txt>.)

	offload: Bail out when failing to register a GC root on the build machine.
	* guix/scripts/offload.scm (register-gc-root): Call 'leave' when
	  'close-pipe' returns non-zero.

2014-04-08  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add patchutils and quilt
	* gnu/packages/patchutils.scm: New file
	* gnu/packages/patches/patchutils-xfail-gendiff-tests.patch: New patch
	* gnu-system.am (GNU_SYSTEM_MODULES): Add patchutils.
	  (dist_patch_DATA): Add patch.

2014-04-08  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Python: disable failing tests on MIPS64.
	* gnu/packages/patches/python-fix-tests.patch: disable two failing tests on
	  MIPS64.

2014-04-07  Mark H Weaver  <mhw@netris.org>

	gnu: python: Apply mips n32 fix to bundled libffi.
	* gnu/packages/patches/python-libffi-mips-n32-fix.patch: New file.
	* gnu/packages/python.scm (python-2, python): Add it.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-04-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: linux-libre: Upgrade to 3.13.7.
	* gnu/packages/linux.scm (linux-libre): Update to 3.13.7.

	gnu: python: Upgrade to 3.3.5.
	* gnu/packages/python.scm (python): Upgrade to 3.3.5.

2014-04-07  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Python: disable test_wait_result() as it fails on some setups
	* gnu/packages/patches/python-fix-tests.patch: disable a failing test.

2014-04-07  Ludovic Courtès  <ludo@gnu.org>

	Update 'NEWS' for 0.6.

2014-04-07  Eric Bavier  <bavier@member.fsf.org>

	gnu: lapack: Build shared libraries
	* gnu/packages/maths.scm (lapack) [arguments]: Add -DBUILD_SHARED_LIBS to
	  #:configure-flags

	gnu: fltk: Build shared libraries
	* gnu/packages/fltk.scm (fltk) [arguments]: Add to --enable-shared to
	  #:configure-flags

2014-04-07  Ludovic Courtès  <ludo@gnu.org>

	utils: Make 'errno' procedure more robust.
	Partially fixes <http://bugs.gnu.org/17212>.

	* guix/utils.scm (errno): Move definition of 'bv' outside of the
	  procedure.  Use 'bytevector-s32-native-ref' or
	  'bytevector-s64-native-ref' instead of 'bytevector-sint-ref'.

2014-04-07  Ludovic Courtès  <ludo@gnu.org>

	tests: Avoid buffering in 'fcntl-flock' tests.
	Partially fixes <http://bugs.gnu.org/17212>.

	* tests/utils.scm ("fcntl-flock wait", "fcntl-flock non-blocking"): Open
	  files in binary mode, with no buffering.

2014-04-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: shadow: Make source file timestamps deterministic.
	* gnu/packages/admin.scm (shadow)[arguments]: Add 'reset-timestamps'
	  phase.

	build: Add 'hydra.gnu.org.pub' to the distribution.
	* Makefile.am (pkgdata_DATA): Rename to...
	  (dist_pkgdata_DATA): ... this.

2014-04-07  Cyprien Nicolas  <cyprien@nicolas.tf>

	scheme/bigloo: Fix package description to reflect actual situation
	* gnu/packages/scheme.scm (bigloo): Description: Remove the part about the C#
	  connection which has been removed since release 3.8a.

	Add missing space between funcall and string argument
	* gnu/packages/scheme.scm (hop): Add missing space.

2014-04-07  Mark H Weaver  <mhw@netris.org>

	Work around behavior of old 'scandir' in Guile 2.0.5.
	Problem reported by John Darrington <john@darrington.wattle.id.au>.

	* guix/nar.scm (write-file): Filter out "." and ".." from the result of
	  'scandir'.  Previously we did this by passing a suitable predicate.

2014-04-07  Alírio Eyng  <alirioeyng@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: icecat: Remove duplicated line.
	* gnu/packages/gnuzilla.scm (icecat): Remove duplicate PYTHON-2 input,
	  and extraneous 'native-inputs' field.

2014-04-06  Ludovic Courtès  <ludo@gnu.org>

	services: slim: Use a system-wide xinitrc that defaults to wmaker.
	* gnu/services/xorg.scm (xinitrc): New procedure.
	  (slim-service)[slim.cfg]: Use it as the 'login_cmd'.

	Add Alírio to 'AUTHORS'.

2014-04-06  Alírio Eyng  <alirioeyng@gmail.com>

	gnu: linux-libre: Make configuration more robust.
	* gnu/packages/linux.scm (linux-libre): Append all configuration instead of
	  replacing.  Order configuration like "make oldconfig" output.  Remove
	  useless output.

2014-04-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: Synchronize synopses and descriptions with the Womb.
	* gnu/packages/gnunet.scm (gnunet): Synchronize description and synopsis
	  with upstream.
	* gnu/packages/maths.scm (units): Likewise.
	* gnu/packages/grub.scm (grub): Likewise.
	* gnu/packages/pretty-print.scm (enscript): Likewise.

	hydra: qemu-jobs: Return a derivation file name, not a derivation.
	* build-aux/hydra/gnu-system.scm (qemu-jobs)[->alist]: Return the
	  derivation file name, not the derivation.

2014-04-06  Mark H Weaver  <mhw@netris.org>

	gnu: imagemagick: Upgrade to 6.8.8-10.
	* gnu/packages/imagemagick.scm (imagemagick): Upgrade to 6.8.8-10.

	gnu: mailutils: Build against Readline 6.2.
	* gnu/packages/mail.scm (mailutils): Use Readline 6.2.

	gnu: sqlite: Upgrade to 3.8.4.3.
	* gnu/packages/sqlite.scm (sqlite): Upgrade to 3.8.4.3.

2014-04-05  Ludovic Courtès  <ludo@gnu.org>

	hydra: Change 'qemu-jobs' to return name/thunk pairs.
	* build-aux/hydra/gnu-system.scm (qemu-jobs)[->job]: Change the cdr to a
	  thunk.

	hydra: Add 'qemu-image' job.
	* build-aux/hydra/demo-os.scm: New file.
	* Makefile.am (EXTRA_DIST): Add it.
	* build-aux/hydra/gnu-system.scm (qemu-jobs): New procedure.
	  (hydra-jobs): Use it.
	* guix/scripts/system.scm (read-operating-system): Export.

	guix package: Fix indentation of packages to remove.
	* guix/scripts/package.scm (show-what-to-remove/install): Add space when
	  showing packages to remove.

	gnu: Add 'gcc-toolchain'.
	* gnu/packages/base.scm (gcc-toolchain): New procedure.
	  (gcc-toolchain-4.8): New variable.

	doc: Add "Build Systems" section.
	* doc/guix.texi (Defining Packages): Add 'arguments' field in the
	  example; update 'synopsis' and 'description'.  Remove most of the
	  description of 'build-system', and instead reference to the "Build
	  Systems" node.  Briefly describe 'arguments' field, and remove more
	  elaborate description.  Add cross-reference to "Packaging Guidelines".
	  (Build Systems): New node.
	  (Packaging Guidelines): Mention '--log-file'.

	gnu: qemu: Change multiple-SMB-share patch to /gnu/store.
	* gnu/packages/patches/qemu-multiple-smb-shares.patch: Change
	  "/nix/store" to "/gnu/store".

2014-04-04  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add clusterssh
	* gnu/packages/admin.scm (clusterssh): New variable

	gnu: Add perl-x11-protocol
	* gnu/packages/xorg.scm (perl-x11-protocol): New variable

	gnu: Add perl-tk
	* gnu/packages/tcl.scm (perl-tk): New variable

2014-04-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: net-base: Upgrade to 5.2.
	* gnu/packages/admin.scm (net-base): Upgrade to 5.2; use
	  'mirror://debian'.

	gnu: shadow: Take the source from Git.
	* gnu/packages/admin.scm (shadow)[source]: Use the git repo.

	gnu: guile-ssh: Use libssh 0.5.5 patched for CVE-2014-0017.
	* gnu/packages/patches/libssh-CVE-2014-0017.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/ssh.scm (libssh-0.5): New variable.
	  (guile-ssh): Use it.

	ui: Improve reporting of 'system-error' exceptions.
	* guix/ui.scm (call-with-error-handling): Change 'system-error' handler
	  to display the error message as it was raised.

	gnu: xpdf: Build sequentially.
	* gnu/packages/pdf.scm (xpdf)[arguments]: Add #:parallel-build? #f.

	gnu: lsh: Build with Readline 6.2.
	* gnu/packages/lsh.scm (lsh): Use READLINE-6.2 instead of READLINE.

2014-04-04  Mark H Weaver  <mhw@netris.org>

	gnu: gdb: Disable tests.
	* gnu/packages/gdb.scm (gdb): Disable tests.

2014-04-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: valgrind: Adjust patch for glibc 2.19.
	* gnu/packages/patches/valgrind-glibc.patch: s/2.18/2.19/.

2014-04-04  Mark H Weaver  <mhw@netris.org>

	union: Ensure that the output is always a directory.
	Fixes the creation of single-package profiles, reported by Ludovic Courtès.

	* guix/build/union.scm (union-build): Add new internal procedure
	  'union-of-directories' that always creates a directory, containing the code
	  previously used only to merge multiple directories.  Call it from the
	  multiple-directory case in 'union' and from the top-level 'union-build'.

2014-04-04  Ludovic Courtès  <ludo@gnu.org>

	pki: Introduce 'write-acl', and fix wrong conversion in 'ensure-acl'.
	* guix/pki.scm (write-acl): New procedure.
	  (ensure-acl): Use it.  Fixes a regression introduced in 39831f1,
	  whereby 'ensure-acl' would yield a wrong-type-arg error.
	* guix/scripts/archive.scm (authorize-key): Use 'write-acl'.

	build: Remove now useless Boost headers.
	* daemon.am (libformat_headers): Remove 6 nix/boost files that were
	  removed in Nix commit 1c2550a2ae826c422cf6d34f1c5c3e687474929d.

2014-04-03  Ludovic Courtès  <ludo@gnu.org>

	Update 'nix-upstream' sub-module.
	* nix-upstream: Update.
	* daemon.am (AM_CXXFLAGS): Add -std=c++0x.

	doc: Update description of the chroot contents.
	* doc/guix.texi (Build Environment Setup): Adjust description of /dev
	  and /proc; remove footnote about /dev/shm, now obsolete.

2014-04-03  Ludovic Courtès  <ludo@gnu.org>

	offload: Prevent the '.drv' and build result from being GC'd.
	Before that, there was a small time window during which the GC could
	wipe the .drv (before 'guix build' has been called), or the build
	result (before 'retrieve-files' has started.)

	* guix/scripts/offload.scm (remote-pipe): Add #:quote? parameter and
	  honor it.
	  (%gc-root-file): New variable.
	  (register-gc-root, remove-gc-root): New procedures.
	  (offload): Adjust comment.  Run 'guix build' with '-r %GC-ROOT-FILE'.
	  (transfer-and-offload): Call 'register-gc-root' before
	  sending (derivation-file-name DRV).  Call 'remove-gc-root' after the
	  call to 'offload' or 'retrieve-files'.
	  (send-files): Call 'remote-pipe' with #:quote? #f.
	  (retrieve-files): Likewise.

2014-04-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: parted: Build against Readline 6.2.
	* gnu/packages/readline.scm (readline-6.2): New variable.
	* gnu/packages/parted.scm (parted): Use it instead of READLINE.

	gnu: inkscape: Use libgc 7.2.
	* gnu/packages/inkscape.scm (inkscape): Use LIBGC-7.2 instead of LIBGC.

2014-04-03  Eric Bavier  <bavier@member.fsf.org>

	gnu: python: Use /nix/.../sh in popen2 module
	* gnu/packages/python.scm (python-2): patch Lib/popen2.py to use /nix/.../sh.

2014-04-03  Andreas Enge  <andreas@enge.fr>

	gnu: global: Upgrade to 6.2.12.
	* gnu/packages/global.scm (global): Upgrade to 6.2.12.

	gnu: apl: Upgrade to 1.3.
	* gnu/packages/apl.scm (apl): Upgrade to 1.3.

	gnu: xorriso: Upgrade to 1.3.6.pl01.
	* gnu/packages/cdrom.scm (xorriso): Upgrade to 1.3.6.pl01.

	gnu: gxmessage: Upgrade to 2.20.1.
	* gnu/packages/gxmessage.scm (gxmessage): Upgrade to 2.20.1.

	gnu: help2man: Upgrade to 1.45.1.
	* gnu/packages/help2man.scm (help2man): Upgrade to 1.45.1.

	gnu: zile: Upgrade to 2.4.11.
	* gnu/packages/zile.scm (zile): Upgrade to 2.4.11.

	gnu: units: Upgrade to 2.11.
	* gnu/packages/maths.scm (units): Upgrade to 2.11.

	gnu: freeipmi: Upgrade to 1.4.1.
	* gnu/packages/freeipmi.scm (freeipmi): Upgrade to 1.4.1.

	gnu: parallel: Upgrade to 20140322.
	* gnu/packages/parallel.scm (parallel): Upgrade to 20140322.

	gnu: xnee: Upgrade to 3.18.
	* gnu/packages/xnee.scm (xnee): Upgrade to 3.18.

	gnu: glpk: Upgrade to 4.54.
	* gnu/packages/maths.scm (glpk): Upgrade to 4.54.

2014-04-03  Mark H Weaver  <mhw@netris.org>

	gnu: texlive: Fix bug recently introduced in d4bf49b.
	Fixes bug introduced in d4bf49b140bd5cfb3580d2a038679160dc1331b5.

	* gnu/packages/texlive.scm (texlive): Change 'alist-replace' to
	  'alist-cons-before'.

2014-04-02  Ludovic Courtès  <ludo@gnu.org>

	tests: Add 'union-build' test for <http://bugs.gnu.org/17083>.
	* tests/union.scm ("union-build with symlink to directory"): New test.

2014-04-02  Mark H Weaver  <mhw@netris.org>

	union: Rewrite to be faster; handle symlink/directory conflicts.
	* guix/build/union.scm: Rewrite; only 'file=?' remains unchanged.  Remove
	  'tree-union' and 'delete-duplicate-leaves' exports.  Merge inputs in a
	  breadth-first fashion.  Follow symlinks for purposes of making decisions
	  about the merge.

	* tests/union.scm: Remove tests of 'tree-union' and 'delete-duplicate-leaves'.

2014-04-02  Mark H Weaver  <mhw@netris.org>

	gnu: sqlite: Fix sqlite on systems with page size larger than 32K.
	Based on a patch by Dan Kennedy <danielk1977@gmail.com>.

	* gnu/packages/patches/sqlite-large-page-size-fix.patch: New file.
	* gnu/packages/sqlite.scm (sqlite): Add it.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-04-02  Mark H Weaver  <mhw@netris.org>

	gnu: sqlite: Upgrade to 3.8.4.2.
	* gnu/packages/sqlite.scm (sqlite): Upgrade to 3.8.4.2.

	gnu: sqlite: Compute source URL from version number.
	* gnu/packages/sqlite.scm (sqlite): Compute the numeric-version from the
	  traditional version string, and use it to compute the source URL.

	gnu: mutt: Upgrade to 1.5.23.
	* gnu/packages/mail.scm (mutt): Upgrade to 1.5.23.  Add bitbucket
	  source URL and try it first.

	gnu: bazaar: Install man pages in share/man.
	* gnu/packages/version-control.scm (bazaar): Add a phase that
	  fixes setup.py to install man pages in share/man.

	gnu: ocaml: Install man pages in share/man.
	* gnu/packages/ocaml.scm (ocaml): Pass -mandir to configure.

	gnu: pth: Install man pages in share/man.
	* gnu/packages/pth.scm (pth): Add --mandir to configure flags.

	gnu: expect: Install man pages in share/man.
	* gnu/packages/tcl.scm (expect): Add --mandir configure flag.
	  Use 'let' to simplify configure flags generation.

	gnu: zip: Improve build process and install man pages in share/man.
	* gnu/packages/zip.scm (zip): Eliminate custom configure phase which copied
	  and patched the Makefile.  Instead add "-f" and "prefix" to make-flags, as
	  well as "MANDIR".  Remove "generic_gcc" from the make-flags, so that it will
	  not be passed during other phases involving 'make'.  Instead replace the
	  'build' phase with one that specifies the "generic_gcc" target.

	gnu: lua: Install man pages in share/man.
	* gnu/packages/lua.scm (lua): Use 'system*' instead of 'system'.
	  Add INSTALL_MAN argument to 'make'.

	gnu: indent: Install docs in share/doc.
	* gnu/packages/indent.scm (indent): Add a phase to fix the docdir
	  setting in doc/Makefile.in.

2014-04-02  Ludovic Courtès  <ludo@gnu.org>

	guix package: 'search-path-environment-variables' traverses module tree once.
	* guix/scripts/package.scm (search-path-environment-variables)[manifest-entry->package]:
	  Use 'find-best-packages-by-name' instead of 'find-packages-by-name'.
	  On a profile with 140 packages, this reduces execution time of this
	  procedure from 5.8 seconds to 2.9 seconds (50% improvement.)

	guix package: Register non-default profiles as GC roots.
	* guix/scripts/package.scm (maybe-register-gc-root): New procedure.
	* tests/guix-package.sh (profile): Grep the output of "guix gc
	  --list-live" in a couple of places.

2014-04-02  Mark H Weaver  <mhw@netris.org>

	gnu: net-tools: Install man pages and locales in share, not usr/share.
	* gnu/packages/linux.scm (net-tools): Add 'INSTALLNLSDIR' and 'mandir'
	  variables to make flags.

	gnu: libssh: Upgrade to 0.6.3.
	* gnu/packages/ssh.scm (libssh): Upgrade to 0.6.3.

	gnu: pulseaudio: Increase timeouts for tests.
	* gnu/packages/pulseaudio.scm: Set the 'CK_DEFAULT_TIMEOUT' environment
	  variable to 120 in the 'pre-check' phase.  Suggested by Ludovic Courtès.

	gnu: file: Upgrade to 5.18.
	* gnu/packages/file.scm (file): Upgrade to 5.18.

2014-04-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-json: Install under .../site/2.0.
	* gnu/packages/guile.scm (guile-json)[source]: Add 'snippet'.

	pki: Keep ACL in native sexp format to speed up 'authorized-key?'.
	* guix/pki.scm (acl-entry-sexp, acl-sexp): Remove.
	  (public-keys->acl, current-acl): Return a native sexp.
	  (acl->public-keys, authorized-key?): Expect ACL to be a native sexp.
	* guix/scripts/archive.scm (authorize-key): Convert ACL to
	  canonical-sexp when writing it.

	substitute-binary: Avoid consing 'regexp-exec' arguments.
	* guix/scripts/substitute-binary.scm (regexp-exec): Change formals
	  to (rx str . rest).

	substitute-binary: Avoid reloading the ACL repeatedly.
	* guix/scripts/substitute-binary.scm (guix-substitute-binary) <--query>:
	  Cache the result of (current-acl); pass it to 'valid-narinfo?' calls.
	  This saves 12% wall-clock time for "guix build emacs -n".

	gnu: Add Bogofilter.
	* gnu/packages/mail.scm (bogofilter): New variable.

2014-04-01  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add guile-json.
	* gnu/packages/guile.scm (guile-json): New variable.

2014-03-31  Ludovic Courtès  <ludo@gnu.org>

	Use 'signature-case' in (guix nar) and 'substitute-binary'.
	* guix/nar.scm (restore-file-set)[assert-valid-signature]: Rewrite in
	  terms of 'signature-case'.
	* guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp):
	  Call 'leave' instead of 'raise' when SIGNATURE is invalid.
	  (&nar-signature-error, &nar-invalid-hash-error): Remove.
	  (assert-valid-signature): Add 'narinfo' parameter; remove 'port'.
	  Rewrite in terms of 'signature-case' and 'leave'.  Mention NARINFO's
	  URI in error messages.  Adjust caller.
	  (narinfo-sha256): New procedure.
	  (assert-valid-narinfo): Use it.
	  (valid-narinfo?): Rewrite using 'narinfo-sha256' and
	  'signature-case'.
	* tests/substitute-binary.scm (assert-valid-signature,
	  test-error-condition): Remove.
	  ("corrupt signature data", "unauthorized public key", "invalid
	  signature"): Remove.

	pki: Add 'signature-case' macro.
	* guix/pki.scm (%signature-status): New procedure.
	  (signature-case): New macro.
	* tests/pki.scm (%secret-key, %alternate-secret-key): New variables.
	  ("signature-case valid-signature", "signature-case invalid-signature",
	  "signature-case hash-mismatch", "signature-case unauthorized-key",
	  "signature-case corrupt-signature"): New tests.

	substitute-binary: Notify of valid signatures.
	* guix/scripts/substitute-binary.scm (assert-valid-narinfo): Add
	  #:verbose? parameter; when true, write "found valid signature".
	  (valid-narinfo?): Pass #:verbose? #f.

	guix archive: Make sure $sysconfdir/guix exists in '--authorize'.
	* guix/scripts/archive.scm (authorize-key): Add 'mkdir-p' call.
	  Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

2014-03-31  Alex Sassmannshausen  <alex.sassmannshausen@gmail.com>

	doc: fix typo.
	* doc/guix.texi (Substitutes): add a missing 's'.

2014-03-31  Eric Bavier  <bavier@member.fsf.org>

	gnu: Remove unused lambda arguments and prefer separate phases over augmented phases.
	* gnu/packages/compression.scm (sharutils) [arguments]: Remove unused
	  lambda args.
	* gnu/packages/gl.scm (mesa) [arguments]: Same
	* gnu/packages/fltk.scm [arguments]: Same.  Substitute const check
	  phase with #:tests? #f.  Add pre-configure phase.
	* gnu/packages/ghostscript.scm (ghostscript) [arguments]: Put makefile
	  patches in separate phase.  Put so steps oinseparate phases.
	* gnu/packages/glib.scm (gobject-introspection) [arguments]: Remove
	  unused lambda args.  Put patches in pre-configure phase.
	* gnu/packages/gnupg.scm (gnupg) [arguments]: Put patch in
	  pre-configure phase.
	  (pius) [arguments]: Delete const #t configure and build phases.
	  (signing-party) [arguments]: Factor patches into post-unpack phase.
	  (paperkey) [arguments]: Remove unused lambda args.  Factor out
	  patches into pre-check phase.
	* gnu/packages/icu4c.scm [arguments]: Change source dir after standard
	  unpack phase.  Factor configure patches into pre-configure phase.
	* gnu/packages/lsof.scm [arguments]: Remove unused lambda args.
	  Remove unnecessary apply.
	* gnu/packages/lvm.scm (lvm2) [arguments]: Factor out patches into
	  pre-configure phase.
	* gnu/packages/libtiff.scm [arguments]: Same
	* gnu/packages/maths.scm (hdf5) [arguments]: Same
	* gnu/packages/gtk.scm (gtk+-2) [arguments]: Same
	* gnu/packages/mp3.scm (libmad) [arguments]: Same
	  (id3lib) [arguments]: Same
	* gnu/packages/python.scm (python-2) [arguments]: Same
	* gnu/packages/texlive.scm (texlive) [arguments]: Same
	* gnu/packages/pretty-print.scm (a2ps) [arguments]: Same
	  (trueprint) [arguments]: Same
	  (source-highlight) [arguments]: Same.  Remove unused lambda args.
	* gnu/packages/netpbm.scm [arguments]: Remove unused lambda args.
	  Factor out test patches into pre-check phase.  Condense calls to
	  substitute*
	* gnu/packages/openldap.scm [arguments]: Factor out libtool copy into
	  post-configure phases. [synopsis] Remove package name.
	* gnu/packages/ssh.scm (openssh) [arguments]: Factor out patches into
	  separate phases.
	* gnu/packages/tcsh.scm [arguments]: Factor out test patches into
	  pre-check phase.
	* gnu/packages/version-control.scm (git) [arguments]: Factor out
	  patches into post-configure phase.
	* gnu/packages/vim.scm [arguments]: Same. [synopsis] Remove package
	  name.
	* gnu/packages/vpn.scm (openconnect) [arguments]: Put configure flags
	  in #:configure-flags

2014-03-31  Ludovic Courtès  <ludo@gnu.org>

	offload: Exit with code 100 upon build failures.
	* guix/scripts/offload.scm (transfer-and-offload): Exit with code 100
	  upon build failure.

2014-03-30  Ludovic Courtès  <ludo@gnu.org>

	doc: Document substitutes.
	* doc/guix.texi (Invoking guix-daemon): Add cross-reference to
	  "Substitutes".
	  (Features): Remove footnote about unauthenticated substitutes.  Link
	  to "Substitutes".
	  (Substitutes): New node.
	  (Invoking guix build): Link to "Substitutes".
	  (Packaging Guidelines): Likewise.

	Add hydra.gnu.org's narinfo signing public key.
	* hydra.gnu.org.pub: New file.
	* Makefile.am (pkgdata_DATA): New variable.

	tests: Test the error output of 'substitute-binary'.
	* tests/substitute-binary.scm (test-error*): Rename to...
	  (test-quit): ... this.  Add 'error-rx' parameter and honor it.
	  ("not a number", "wrong version number", "substitute, no signature",
	  "substitute, invalid hash", "substitute, unauthorized key"): Adjust
	  accordingly.

	tests: Add more signed substitute tests.
	* tests/substitute-binary.scm (%narinfo): Set 'URL', 'Compression', and
	  'NarHash'.
	  (call-with-narinfo): Create 'example.out' and 'example.nar'.
	  ("query narinfo without signature", "substitute, no signature",
	  "substitute, authorized key"): New tests.

	tests: Simplify 'substitute-binary' tests; reduce use of global variables.
	* tests/substitute-binary.scm (signature-body): Change 'str' parameter
	  to 'bv', and expect it to be a bytevector.
	  (%signature-body, %wrong-signature, %acl): Remove.
	  (signature): Rename to...
	  (signature-field): ... this.  Add 'bv-or-str' parameter.  Change 'str'
	  parameter to #:version.  Add #:public-key parameter.  Call
	  'signature-body' directly.  Change domain part of the signature to
	  'example.gnu.org'.
	  ("not a number", "wrong version number", "valid
	  narinfo-signature->canonical-sexp"): Use 'signature-field' instead of
	  'signature' or %SIGNATURE.
	  (test-error-condition): Add 'message-rx' parameter and honor it.
	  ("corrupt signature data", "unauthorized public key", "invalid
	  signature"): Adjust accordingly.
	  (narinfo, %signed-narinfo): Remove.
	  ("query narinfo with invalid hash"): Use '%narinfo' and
	  'signature-field' instead of 'narinfo' and '%signature'.
	  ("query narinfo signed with authorized key", "query narinfo signed
	  with unauthorized key", "substitute, invalid hash", "substitute,
	  unauthorized key"): Likewise.

	tests: Make sure the daemon reports substitute hash mismatches.
	* tests/store.scm ("substitute, corrupt output hash"): New test.

	substitute-binary: Defer narinfo authentication and authorization checks.
	* guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp):
	  Catch 'gcry-error' around 'string->canonical-sexp' call, and re-raise
	  as a SRFI-35 &message and &nar-signature-error.
	  (narinfo-maker): Handle when SIGNATURE is #f or an invalid canonical
	  sexp.
	  (&nar-signature-error, &nar-invalid-hash-error): New variables.
	  (assert-valid-signature): Use them.  Expect 'signature' to be a
	  canonical sexp.
	  (read-narinfo): Remove authentication and authorization checks.
	  (%signature-line-rx): New variable.
	  (assert-valid-narinfo, valid-narinfo?): New procedures.
	  (guix-substitute-binary): Wrap body in 'with-error-handling'.
	  [valid?]: New procedure.
	  <--query>: Show only store items of narinfos that match
	  'valid-narinfo?'.
	  <--substitute>: Call 'assert-valid-narinfo'.
	* tests/substitute-binary.scm (test-error*): Use 'test-equal'.
	  (%keypair): Remove.
	  (%public-key, %private-key): Load from signing-key.{pub,sec}.
	  (signature-body): Add #:public-key parameter.
	  (call-with-narinfo): New procedure.
	  (with-narinfo): New macro.
	  ("corrupt signature data", "unauthorized public key", "invalid
	  signature"): Make the first argument to 'assert-valid-signature' a
	  canonical sexp.
	  ("invalid hash", "valid read-narinfo", "valid write-narinfo"):
	  Remove.
	  ("query narinfo with invalid hash", "query narinfo signed with
	  authorized key", "query narinfo signed with unauthorized key",
	  "substitute, invalid hash", "substitute, unauthorized key"): New
	  tests.

	substitute-binary: Store the cache's URI in the local cached narinfo.
	* guix/scripts/substitute-binary.scm (<narinfo>)[uri-base]: New field.
	  (narinfo-maker): Pass CACHE-URL as the 'uri-base' value.
	  (string->narinfo): Add 'cache-uri' parameter.
	  (lookup-narinfo)[cache-entry]: Switch to version 1.  Add 'cache-uri'
	  field.  Adjust body accordingly.
	  (remove-expired-cached-narinfos): Switch to version 1 by default.

2014-03-30  Nikita Karetnikov  <nikita@karetnikov.org>

	substitute-binary: Support the Signature field of a narinfo file.
	* guix/scripts/substitute-binary.scm (<narinfo>): Add the 'signature'
	  and 'contents' fields.
	  (narinfo-signature->canonical-sexp): New function.
	  (narinfo-maker): Add the 'signature' argument and use it.
	  (assert-valid-signature): New function.
	  (read-narinfo): Support the Signature field.
	  (write-narinfo): Use 'narinfo-contents'.
	  (%allow-unauthenticated-substitutes?): New variable.
	* guix/base64.scm, tests/base64.scm, tests/substitute-binary.scm: New files.
	* Makefile.am (SCM_TESTS): Add tests/base64.scm and
	  tests/substitute-binary.scm.
	  (MODULES): Add guix/base64.scm.
	* test-env.in: Set 'GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES'.

	nar: Clarify that 'assert-valid-signature' accepts a string.
	* guix/nar.scm (assert-valid-signature): Improve the wording.

2014-03-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: ed: Upgrade to 1.10.
	* gnu/packages/ed.scm (ed): Upgrade to 1.10.  Use '.tar.lz' file, and
	  add 'native-inputs' field.

	gnu: ocrad: Upgrade to 0.23.
	* gnu/packages/ocrad.scm (ocrad): Upgrade to 0.23.

	tests: Make sure 'guix archive --import' succeeds.
	* tests/guix-archive.sh: Check the exit value of 'guix archive
	  --import'.

2014-03-27  Ludovic Courtès  <ludo@gnu.org>

	daemon: Add tests for substitutes and --no-substitutes.
	* tests/guix-daemon.sh: Add substituter tests.

	daemon: Clear $NIX_SUBSTITUTERS when passed '--no-substitutes'.
	* nix/nix-daemon/guix-daemon.cc (main): When --no-substitutes is used,
	  clear NIX_SUBSTITUTERS.  Before that, and after
	  89faa5c75cb3a419c6d02c51f56955275b7ae351, '--no-substitutes' would
	  lead to attempts to use 'download-using-manifests.pl', which in
	  practice would gracelessly fail.

	daemon: Change some options via 'settings.set'.
	* nix/nix-daemon/guix-daemon.cc (parse_opt): Use 'settings.set' instead
	  of direct field access for 'buildCores', 'maxBuildJobs', and
	  'useSubstitutes'.
	  (main): Call 'settings.update' after 'argp_parse'.

2014-03-27  Mark H Weaver  <mhw@netris.org>

	gnu: tcl: Install man pages in share/man.
	* gnu/packages/tcl.scm (tcl): Add --mandir configure flag.

2014-03-27  Sree Harsha Totakura  <sreeharsha@totakura.in>

	Add (guix svn-download).
	* guix/svn-download.scm, guix/build/svn.scm: New files.
	* Makefile.am (MODULES): Add them.

2014-03-26  Andreas Enge  <andreas@enge.fr>

	gnu: gnu-pw-mgr: Fix download location.
	* gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Fix download location.

2014-03-26  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add mc
	* gnu/packages/mc.scm: New file
	* gnu/packages/patches/mc-fix-ncurses-build.patch: New patch
	* gnu-system.am (GNU_SYSTEM_MODULES): Add mc.scm.
	(dist_patch_DATA): Add patch

	gnu: libssh2: Fix use with libssh2.pc
	* gnu/packages/ssh.scm (libssh2): Pass --with-libgcrypt configure flag and
	  propagate inputs.

2014-03-26  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'core-updates'

	offload: Remove erroneous 'close-pipe' call.
	* guix/scripts/offload.scm (send-files): Remove 'close-pipe' call from
	  'guard' handler ('pipe' here referred to Guile's 'pipe' procedure.)

	offload: Wait for the processes involved in 'guix archive --missing'.
	* guix/scripts/offload.scm (send-files): Keep the second return value of
	  'filtered-port'.  Call 'waitpid' on it.

2014-03-26  Andreas Enge  <andreas@enge.fr>

	gnu: gp2c: Upgrade to 0.0.8pl1.
	* gnu/packages/algebra.scm (gp2c): Upgrade to 0.0.8pl1, add native input perl.

2014-03-26  Ludovic Courtès  <ludo@gnu.org>

	offload: Allow one transfer in each direction simultaneously.
	* guix/scripts/offload.scm (transfer-and-offload): Use 'upload' lock
	  instead of 'bandwidth' around 'send-files' calls, and 'download' lock
	  around 'retrieve-files' call.

	offload: Disable SSH-level compression.
	* guix/scripts/offload.scm (remote-pipe): Remove '-z' lsh command line
	  argument.  This makes transfers almost an order of magnitude slower.
	  OpenSSH's ssh(1) man page notes: "Compression is desirable on modem lines
	  and other slow connections, but will only slow down things on fast
	  networks."  See also
	  <http://www.spikelab.org/blog/transfer-largedata-scp-tarssh-tarnc-compared.html>.

2014-03-26  Andreas Enge  <andreas@enge.fr>

	gnu: pari-gp: Upgrade to 2.7.0.
	* gnu/packages/algebra.scm (pari-gp): Upgrade to 2.7.0.

2014-03-25  Eric Bavier  <bavier@member.fsf.org>

	gnu: gnu-pw-mgr: Upgrade to 1.2
	* gnu/packages/gnu-pw-mgr.scm: Upgrade to 1.2

2014-03-25  Ludovic Courtès  <ludo@gnu.org>

	check-available-binaries: Make sure substitutes are enabled.
	* build-aux/check-available-binaries.scm: Add call to
	  'set-build-options'.

	hydra: Hard-code target systems.
	* build-aux/hydra/gnu-system.scm (hydra-jobs)[systems]: Define locally,
	  independently of ARGUMENTS.  This matches the new Hydra convention,
	  where using a 'system' input is deprecated.

	gnu: guile-ssh: Upgrade to 0.6.0.
	* gnu/packages/ssh.scm (guile-ssh): Upgrade to 0.6.0.
	  [arguments]: Remove #:tests? #f; add #:parallel-build? #f.

	gnu: recutils: Upgrade to 1.7.
	* gnu/packages/recutils.scm (recutils): Upgrade to 1.7.
	  Add 'arguments' field.

	download: Don't use 'http-get*' on Guile 2.0.10+.
	* guix/build/download.scm (http-fetch)[post-2.0.7?]: Use
	  'string->number' and numeric comparison.  This fixes version
	  comparison with "2.0.10" and subsequent 2.0 releases.

2014-03-25  Eric Bavier  <bavier@member.fsf.org>

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

2014-03-25  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: remove python-fix-dbm.patch
	* gnu/packages/patches/python-fix-dbm.patch: remove file. It is not needed
	  anymore, and is probably a left-over of a failed merge.
	* gnu-system.am: remove gnu/packages/patches/python-fix-dbm.patch

	gnu: Enable tests in Python 3.
	* gnu/packages/python.scm: enable tests for Python 3
	* gnu/packages/python-fix-tests.patch: New file.
	* gnu/packages/gnu-system.am (dist_patch_DATA): add it.

	gnu: Python: use /nix/.../sh instead of /bin/sh in the subprocess module
	* gnu/packages/python.scm (python-2): patch Lib/subprocess.py to use
	  /nix/.../sh.

	gnu: Enable the 'ctypes' module in Python.
	* gnu/packages/python.scm (python-2): add libffi to the inputs and use it to
	  build the ctypes module.

2014-03-25  Ludovic Courtès  <ludo@gnu.org>

	hydra: Fix typo in core package list.
	* build-aux/hydra/gnu-system.scm: Use (gnu packages gcc).
	  (%core-packages): Remove nonexistent 'gcc'; add GCC-4.8 and GCC-4.7.

	hydra: Remove cross-builds from i686-linux to mips64el-linux-gnuabi64.
	* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs]: Define
	  'from-32-to-64?'.  Filter out %CROSS-TARGETS that match.

	hydra: Build GCC and glibc, not their '-final' variant.
	* build-aux/hydra/gnu-system.scm (%core-packages): Replace GCC-FINAL and
	  GLIBC-FINAL with GCC and GLIBC.

2014-03-24  Manolis Ragkousis  <manolis837@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: autotools: Add Autoconf 2.68; turn 'autoconf-wrapper' into a procedure.
	* gnu/packages/autotools.scm (autoconf-2.68): New variable.
	  (autoconf-wrapper): Turn into a procedure.  Turn comment into a
	  docstring.
	  (automake): Adjust accordingly.

2014-03-24  Ludovic Courtès  <ludo@gnu.org>

	offload: Compress files being sent/retrieved.
	* guix/scripts/offload.scm (send-files): Add "xz -dc |" to the remote
	  pipe command.  Pass PIPE through 'call-with-compressed-output-port'.
	  Remove 'close-pipe' call.
	  (retrieve-files): Add "| xz -c" to the remote pipe command.  Pass PIPE
	  through 'call-with-decompressed-port'.  Remove 'close-pipe' call.

	utils: Add 'call-with-decompressed-port' and 'call-with-compressed-output-port'.
	* guix/utils.scm (call-with-decompressed-port,
	  call-with-compressed-output-port): New procedures.
	* tests/utils.scm ("compressed-output-port + decompressed-port"):
	  Rewrite to use them.

	utils: Add 'filtered-output-port' and 'compressed-output-port'.
	* guix/utils.scm (filtered-output-port, compressed-output-port): New
	  procedures.
	* tests/utils.scm ("compressed-output-port + decompressed-port"): New
	  test.

	gnu: glibc: Patch mtrace.pl to avoid retaining a reference to Perl.
	* gnu/packages/base.scm (glibc)[argument] <pre-configure phase>: Patch
	  malloc/mtrace.pl.

2014-03-23  Mark H Weaver  <mhw@netris.org>

	gnu: tor: Upgrade to 0.2.4.21.
	* gnu/packages/tor.scm (tor): Upgrade to 0.2.4.21.

2014-03-22  Ludovic Courtès  <ludo@gnu.org>

	tests: Make sure substitutes are usable when we need them.
	* tests/derivations.scm ("derivation-prerequisites-to-build and
	  substitutes"): Add call to 'set-build-options'.

	authenticate: Support reading the hash or key from stdin.
	* guix/scripts/authenticate.scm (guix-authenticate): Add clauses
	  for ("rsautl" "-sign" "-inkey" key) and ("rsautl" "-verify" "-inkey" _
	  "-pubin").
	* tests/guix-authenticate.sh (hash): Add test using -sign and -verify in
	  a pipeline.

	authenticate: Move actual work to separate procedures.
	* guix/scripts/authenticate.scm (read-canonical-sexp): Change to expect
	  a port instead of a file name.
	  (read-hash-data): Likewise.
	  (sign-with-key, validate-signature): New procedures.
	  (guix-authenticate): Rewrite in terms of these two procedures.

	Update 'nix-upstream' sub-module.
	* nix-upstream: Update.

	utils: Add 'decompressed-port' and 'compressed-port'.
	* guix/utils.scm (decompressed-port, compressed-port): New procedures.
	* guix/scripts/substitute-binary.scm (decompressed-port): Remove.
	  (guix-substitute-binary): Pass a symbol or #f as the first argument to
	  'decompress-port'.
	* tests/utils.scm ("compressed-port, decompressed-port, non-file"): New
	  test.

	utils: 'filtered-port' doesn't leave dangling processes behind.
	* guix/utils.scm (filtered-port): Make sure the 'execl' child process
	  always exits, and does (primitive-_exit 1) upon execution failure.
	  Use 'primitive-_exit' in the 'dump-port' child process.
	* tests/utils.scm ("filtered-port, does not exist"): New test.

2014-03-22  Yakkala Yagnesh Raghava  <hi@yagnesh.org>

	licenses: Fix Nixpkgs license URL.
	* guix/licenses.scm: Fix Nixpkgs URL in comment.

2014-03-22  Eric Bavier  <bavier@member.fsf.org>

	gnu: Provide single-precision fftw library for pulseaudio
	* gnu/packages/algebra.scm (fftwf): New variable
	* gnu/packages/pulseaudio.scm (pulseaudio): Use it

2014-03-22  Mark H Weaver  <mhw@netris.org>

	Merge branch 'master' into core-updates

	gnu: guile: Upgrade to 2.0.11.
	* gnu/packages/guile.scm (guile): Upgrade to 2.0.11.

	gnu: cmake: Install man pages and docs in share/{man,doc}.
	* gnu/packages/cmake.scm (cmake): Pass --mandir and --docdir to configure.
	  Rewrite the code that selects the first two components of the version.

	gnu: flac: Install man pages in share/man.
	* gnu/packages/xiph.scm (flac): Add --mandir configure flag.

2014-03-21  Eric Bavier  <bavier@member.fsf.org>

	gnu: libvorbis: disable parallel tests
	* gnu/packages/xiph.scm (libvorbis): disable parallel tests

2014-03-21  Mark H Weaver  <mhw@netris.org>

	gnu: openssh: Upgrade to 6.6p1.
	* gnu/packages/ssh.scm (openssh): Upgrade to 6.6p1.

2014-03-20  Ludovic Courtès  <ludo@gnu.org>

	daemon: Really override the substituters setting.
	Reported by Andreas Enge <andreas@enge.fr>:
	<https://lists.gnu.org/archive/html/guix-devel/2014-03/msg00211.html>.

	* nix/nix-daemon/guix-daemon.cc (main): Set the 'NIX_SUBSTITUTERS'
	  env. var.  Leave 'settings.substituters' unchanged.

2014-03-20  Ludovic Courtès  <ludo@gnu.org>

	pk-crypto: Don't use Ed25519 when libgcrypt is older than 1.6.0.
	* guix/pk-crypto.scm (gcrypt-version): New procedure.
	* guix/scripts/archive.scm (%key-generation-parameters): New variable.
	  (%options) <generate-key>: Use it.
	* tests/pk-crypto.scm ("sign + verify, Ed25519"): Skip if using gcrypt < 1.6.0.

2014-03-20  Mark H Weaver  <mhw@netris.org>

	gnu: tzdata: Upgrade to 2014a.

	gnu: lynx: Upgrade to 2.8.8rel.2.
	* gnu/packages/lynx.scm (lynx): Upgrade to 2.8.8rel.2.

	gnu: util-macros: Install .pc file in lib/pkgconfig; remove INSTALL file.
	* gnu/packages/xorg.scm (util-macros): Substitute "$(libdir)/pkgconfig"
	  for "$(datadir)/pkgconfig" in Makefile.in.  After install, remove
	  share/util-macros/INSTALL and share/util-macros.

	gnu: bc: Install docs in share/man and share/info.
	* gnu/packages/algebra.scm (bc): Pass --mandir and --infodir to configure.

	gnu: unzip: Install man pages in share/man.
	* gnu/packages/zip.scm (unzip): Substitute /share/man/ for /man/ in Makefile.

	gnu: screen: Install docs in share/man and share/info.
	* gnu/packages/screen.scm (screen): Add --mandir and --infodir
	  configure flags.

	gnu: netcat: Install docs in share/man and share/info.
	* gnu/packages/admin.scm (netcat): Add --mandir and --infodir
	  configure flags.

2014-03-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: readline: Fix cross-compilation.
	* gnu/packages/readline.scm (readline)[arguments]: Add
	  "bash_cv_wcwidth_broken=no" to #:configure-flags
	  when (%current-target-system) is true.

	offload: Send build logs to file descriptor 4.
	* guix/scripts/offload.scm (with-error-to-port): New macro.
	  (remote-pipe): Add #:error-port parameter.  Use 'with-error-to-port'
	  around 'open-pipe*' call.
	  (build-log-port): New procedure.
	  (offload): Change #:log-port to default to (build-log-port).  Call
	  'remote-pipe' with #:error-port LOG-PORT.

	substitute-binary: Quietly handle 404s when fetching narinfos.
	* guix/scripts/substitute-binary.scm (fetch): Add #:quiet-404?
	  parameter.  Upon &http-get-error, re-raise C if the QUIET-404? is
	  true and the code is 404.
	  (fetch-narinfo): Pass #:quiet-404? #t.

	gnu: xterm: Upgrade to 303.
	* gnu/packages/xorg.scm (xterm): Upgrade to 303.

	pk-crypto: Use RFC6979 when signing with an ECC or DSA key.
	* guix/pk-crypto.scm (bytevector->hash-data): Add #:key-type parameter.
	  Use the 'pkcs1' flag when KEY-TYPE is 'rsa', and 'rfc6979' when
	  KEY-TYPE is 'ecc' or 'dsa'.
	  (key-type): New procedure.
	* guix/scripts/authenticate.scm (read-hash-data): Add 'key-type'
	  parameter.  Pass it to 'bytevector->hash-data'.  Adjust caller
	  accordingly.
	* tests/pk-crypto.scm (%ecc-key-pair): New variable.
	  ("key-type"): New test.
	  ("sign + verify"): Pass #:key-type to 'bytevector->hash-data'.
	  ("sign + verify, Ed25519"): New test.

	gnu: imagemagick: Upgrade to 6.8.8-8.
	* gnu/packages/imagemagick.scm (imagemagick): Upgrade to 6.8.8-8.

2014-03-19  Mark H Weaver  <mhw@netris.org>

	gnu: bzip2: Install man pages to share/man/man1, not share/man1.
	* gnu/packages/compression.scm (bzip2)[fix-man-dir]: Rename "man"
	  to "share/man", not "share".

	gnu: ncurses: Install man pages in share/man/man*, not man/man*.
	* gnu/packages/ncurses.scm (ncurses): Add --mandir configure flag.

2014-03-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Window Maker.
	* gnu/packages/gnustep.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	tests: Test recovery from 'valid-path?' RPCs with an invalid parameter.
	* tests/store.scm ("valid-path? live", "valid-path? false", "valid-path?
	  error", "valid-path? recovery"): New tests.

2014-03-18  Ludovic Courtès  <ludo@gnu.org>

	Update 'nix-upstream' sub-module.
	* nix-upstream: Update.

	gnu: libxft: Propagate Freetype and Fontconfig.
	* gnu/packages/xorg.scm (libxft): Move Freetype and Fontconfig from
	  'inputs' to 'propagated-inputs'.

	gnu: guile: Upgrade to 2.0.10.
	* gnu/packages/guile.scm (guile-2.0): Upgrade to 2.0.10.

	gnu: Make libgc 7.4 the default.
	* gnu/packages/bdw-gc.scm (libgc): Rename to...
	  (libgc-7.2): ... this.
	  (libgc-7.4): Rename to...
	  (libgc): ... this.
	* gnu/packages/guile.scm (guile-2.0): Switch to LIBGC.
	  (guile-2.0/fixed): Alias GUILE-2.0.

2014-03-17  Ludovic Courtès  <ludo@gnu.org>

	guix archive: Generate curve Ed25519 keys by default.
	* guix/scripts/archive.scm (%options) <generate-key>: Default to curve
	  Ed25519.  Suggested by Christian Grothoff <grothoff@in.tum.de>.

	guix archive: Improve '--generate-key' error reporting.
	* guix/scripts/archive.scm (%options) <generate-key>: Report the error
	  source and string when 'string->canonical-sexp' fails.

2014-03-17  Ludovic Courtès  <ludo@gnu.org>

	build: Fix test failures due to the nix -> guix directory name change.
	Reported by Nikita Karetnikov <nikita@karetnikov.org>
	and Pierre-Antoine Rault <par@rigelk.eu>.

	* test-env.in: Change 'NIX_LOG_DIR' in accordance with f5768af.
	* tests/guix-register.sh: Likewise for 'NIX_LOG_DIR' and 'NIX_DB_DIR'.

2014-03-17  Raimon Grau  <raimonster@gmail.com>

	gnu: luajit: Update to 2.0.3.
	* gnu/packages/lua.scm (luajit): Update to 2.0.3.

2014-03-17  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

	gnu: python: Change URL to https.
	* gnu/packages/python.scm (python-2, python)[source]: Change URL to
	  https.  This makes sure GnuTLS is available in the derivation that
	  downloads the source, which is required since http URLs get redirected
	  to https anyway.  Reported by Manolis Ragkousis <manolis837@gmail.com>.

	gnu: pulseaudio: Upgrade to 5.0.
	* gnu/packages/pulseaudio.scm (pulseaudio): Upgrade to 5.0.
	  Remove patches.
	* gnu/packages/patches/pulseaudio-test-timeouts.patch,
	  gnu/packages/patches/pulseaudio-volume-test.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

2014-03-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: fuse: Refer to the right 'mount' and 'umount' commands.
	* gnu/packages/linux.scm (fuse)[inputs]: Change to...
	  [native-inputs]: ... this.
	  [arguments]: Add #:phases argument.

2014-03-14  Ludovic Courtès  <ludo@gnu.org>

	store: Add 'hash-part->path'.
	* guix/store.scm (hash-part->path): New procedure.
	* tests/store.scm ("hash-part->path"): New test.

2014-03-13  Ludovic Courtès  <ludo@gnu.org>

	offload: Fix 'choose-build-machine' for several machines.
	* guix/scripts/offload.scm (choose-build-machine)[undecorate]: Turn into
	  a two-argument procedure.

	offload: Convert the port number to a string when invoking lsh.
	* guix/scripts/offload.scm (remote-pipe, send-files): Pass the result of
	  'build-machine-port' to 'number->string'.

	offload: Allow build machines to specify a port number.
	* guix/scripts/offload.scm (<build-machine>): Add 'port' field.
	  (remote-pipe, send-files): Use lsh's '-p' option when invoking it.

	guix build: Support '--with-source' along with '-e'.
	* guix/scripts/build.scm (derivation-from-expression): Remove.
	  (options->derivations): Handle pairs of the form
	  "('argument . (? derivation?))".
	  (options/resolve-packages): Add 'store' parameter; update caller.  Add
	  'system' variable.  Add case for 'expression pairs.
	* guix/scripts/archive.scm (derivation-from-expression): New procedure.

	gnu: guile-xcb: Upgrade to 1.3.
	* gnu/packages/guile-wm.scm (guile-xcb): Upgrade to 1.3.
	  [arguments] Pass --with-guile-site-dir= instead of --datadir=,
	  and pass --with-guile-site-ccache-dir=.  Remove #:phases.

2014-03-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: linux-libre: Build the FUSE module.
	* gnu/packages/linux.scm (linux-libre): Set CONFIG_FUSE_FS=m.

	gnu: unionfs-fuse: Add statically-linked variant.
	* gnu/packages/linux.scm (unionfs-fuse/static): New variable.

	guix build: Add '--with-source'.
	* guix/scripts/build.scm (package-with-source): New procedure.
	  (show-help): Add '--with-source'.
	  (%options): Likewise.
	  (options->derivations): Call 'options/with-source' and
	  'options/resolve-packages'.
	  (options/resolve-packages, options/with-source): New procedures.
	* doc/guix.texi (Invoking guix build): Document '--with-source'.

2014-03-11  Ludovic Courtès  <ludo@gnu.org>

	download: 'download-to-store' accepts plain file names.
	* guix/download.scm (download-to-store): When URI is #f, assume that URL
	  is a file name, and handle it.

2014-03-11  Mark H Weaver  <mhw@netris.org>

	gnu: libgc: Upgrade to 7.2e.
	* gnu/packages/bdw-gc.scm (libgc): Upgrade to 7.2e.

2014-03-10  Ludovic Courtès  <ludo@gnu.org>

	More /gnu/store replacements.
	* gnu/packages/gcc.scm (gcc-4.7): Change /nix/store in comment.
	* gnu/system/vm.scm (operating-system-default-contents):
	  Use (%store-prefix) instead of "/nix/store".
	* guix/derivations.scm (derivation-path->output-path,
	  derivation-path->output-paths): Change to /gnu/store in docstring.

	Change default store values from /nix/store to /gnu/store.
	* gnu/packages/ld-wrapper.scm (%store-directory): Change the default to
	  /gnu/store.
	* guix/build/utils.scm (%store-directory): New procedure.
	  (remove-store-references): Use it for the default value of 'store'.
	* guix/packages.scm (patch-and-repack)[builder]: Change default store to
	  /gnu/store.

	Merge branch 'master' into core-updates

	gnu: linux-initrd: Make the pseudo-tty device nodes.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): Create
	  /dev/ptmx and /dev/pts.
	* gnu/system/vm.scm (qemu-image): Umount /fs/dev/pts before /fs.

	tests: 'topologically-sorted' test handles different references orders.
	* tests/store.scm ("topologically-sorted, more difficult"): Arrange to
	  handle a different ordering of (references %store y).

	gnu: Add UnionFS-FUSE.
	* gnu/packages/linux.scm (unionfs-fuse): New variable.

2014-03-10  Pierre-Antoine Rault  <par@rigelk.eu>
	    Ludovic Courtès  <ludo@gnu.org>

	doc: Update packaging guidelines.
	* HACKING (Submitting Patches): Mention 'git send-mail'.
	* doc/guix.texi (Packaging Guidelines): More details on how to prepare a
	  package module.
	  (Contributing): Add reference to #guix channel on Freenode.

2014-03-10  Eric Bavier  <bavier@member.fsf.org>

	gnu: pretty-print: Fix boost reference
	* gnu/packages/pretty-print.scm (source-highlight): Change "boost-1.54" input
	  to "boost"

2014-03-09  Ludovic Courtès  <ludo@gnu.org>

	offload: Honor absolute build timeouts.
	* guix/scripts/offload.scm (offload): Remove default value for
	  'build-timeout'.  Pass '--timeout' to the remote 'guix build'
	  process.
	  (transfer-and-offload, process-request): Remove default value for
	  'build-timeout'.

	guix build: Add '--timeout' to the common build options.
	* guix/scripts/build.scm (show-build-options-help): Document
	  '--timeout'.
	  (set-build-options-from-command-line): Pass #:timeout to
	  'set-build-options'.
	  (%standard-build-options): Add '--timeout'.
	* doc/guix.texi (Invoking guix build): Document it.

	store: Add #:timeout build option.
	* guix/serialization.scm (write-string-pairs): New procedure.
	* guix/store.scm (write-arg): Add 'string-pairs' case.
	  (set-build-options): Add 'timeout' keyword parameter.  Honor it.
	* tests/derivations.scm ("build-expression->derivation and timeout"):
	  New test.

	gnu: Add libpcap and jnettop.
	* gnu/packages/admin.scm (libpcap, jnettop): New variables.

	build: Change state and log directories to $localstatedir/.../guix.
	* daemon.am (libstore_a_CPPFLAGS): Change /nix to /guix.
	* guix/config.scm.in (%state-directory): Likewise.
	* guix/store.scm (log-file): Likewise.

	Change the default store file name to /gnu/store.
	* configure.ac: Change the default 'storedir' to /gnu/store.  Print
	  $storedir.
	* doc/guix.texi: Replace "/nix/store" by "/gnu/store", except where
	  describing Nix compatibility.
	* Makefile.am: Likewise.

	offload: Move macro definitions before use.
	* guix/scripts/offload.scm (lock-file, unlock-file, with-file-lock,
	  with-machine-lock, machine-slot-file, acquire-build-slot,
	  release-build-slot): Move definitions above their first use.

2014-03-09  Andreas Enge  <andreas@enge.fr>

	gnu: soprano: Add input raptor2.
	* gnu/packages/rdf.scm (soprano): Add input raptor2.

2014-03-09  Ludovic Courtès  <ludo@gnu.org>

	offload: Distinguish between 'decline' and 'postpone'.
	* guix/scripts/offload.scm (transfer-and-offload): New procedure, with
	  core formerly in 'process-request'.
	  (choose-build-machine): Remove 'requirements' parameter.
	  (process-request): Reply 'decline' when none of MACHINES matches the
	  requirements, and 'postpone' when MACHINES are busy.

2014-03-09  Andreas Enge  <andreas@enge.fr>

	gnu: raptor2: Disable parallel tests.
	* gnu/packages/rdf.scm (raptor2): Disable parallel tests since it makes
	    tests fail.

2014-03-08  Ludovic Courtès  <ludo@gnu.org>

	offload: Prevent locked files from being GC'd.
	* guix/scripts/offload.scm (%slots): New variable.
	  (choose-build-machine): Add SLOT to '%slots'.

	offload: Fix thinko.
	* guix/scripts/offload.scm (choose-build-machine)[machine+slots]: Use
	  'filter-map', not 'filter'.

	offload: Make 'parallel-builds' a hard limit.
	* guix/scripts/offload.scm (machine-choice-lock-file,
	  machine-slot-file, acquire-build-slot, release-build-slot): New
	  procedures.
	  (choose-build-machine): Operate with (machine-choice-lock-file)
	  taken.  Acquire a build slot for each of MACHINES.  Release those not
	  used.

	offload: Further generalize lock files.
	* guix/scripts/offload.scm (lock-machine, unlock-machine): Remove.
	  (lock-file, unlock-file): New procedures.
	  (with-file-lock): New macro.
	  (with-machine-lock): Rewrite in terms of 'with-file-lock'.

	offload: Generalize the machine lock mechanism.
	* guix/scripts/offload.scm (lock-machine): Add 'hint' parameter.
	  (unlock-machine): Remove 'machine' parameter.
	  (with-machine-lock): Add 'hint' parameter, and pass it down.
	  (process-request): Adjust uses of 'with-machine-lock' to pass the
	  'bandwidth hint.

	utils: Add a non-blocking option for 'fcntl-flock'.
	* guix/utils.scm (F_SETLK): New variable.
	  (fcntl-flock): Add 'wait?' keyword parameter; honor it.
	* tests/utils.scm ("fcntl-flock non-blocking"): New test.

	doc: Explain what's special about the (gnu packages ...) name space.
	* doc/guix.texi (Invoking guix package): Explain where packages are
	  searched for and link to "Package Modules".
	  (Defining Packages) <example>: Use 'define-module' clause instead of
	  'use-modules'.  Explain why and link to "Package Modules".
	  (Invoking guix build): Explain where packages aer searched for and
	  link to "Package Modules".
	  (Package Modules): Explain that (gnu packages ...) is scanned.

2014-03-07  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add a2ps, trueprint, enscript, and source-highlight
	* gnu/packages/pretty-print.scm: New file
	* gnu/packages/patches/source-highlight-regexrange-test.patch: New file
	* gnu-system.am (dist_patch_DATA): Add patch.
	(GNU_SYSTEM_MODULES): Add pretty-print.scm

2014-03-07  Cyril Roelandt  <tipecaml@gmail.com>

	coreutils: fix test suite
	* gnu/packages/patches/coreutils-skip-nohup.patch: patch taken from the git
	  repository of coreutils, that makes sure tests/misc/nohup.sh does not fail
	  when /dev/tty does not exist.
	* gnu/packages/base.scm (coreutils): use it.
	* gnu-system.am (dist_patch_DATA): add it.

2014-03-07  Ludovic Courtès  <ludo@gnu.org>

	store: 'export-paths' doesn't export references of the given files.
	This fixes a regression introduced in
	99fbddf9a623757e39d88bfb431f8f7d6f24b75b ("store: Change 'export-paths'
	to always export in topological order.")

	* guix/store.scm (export-paths): Define 'ordered' variable.  Iterate
	  over it.
	* tests/store.scm ("export/import paths, ensure topological order"): Add
	  'file0'.  Adjust accordingly.

2014-03-06  David Thompson  <dthompson2@worcester.edu>

	gnu: Add ncmpc.
	* gnu/packages/mpd.scm (ncmpc): New variable.

2014-03-06  Ludovic Courtès  <ludo@gnu.org>

	utils: 'fcntl-flock' passes an errno when throwing an exception.
	* guix/utils.scm (%libc-errno-pointer, errno): New procedures.
	  (fcntl-flock): Use it as the exception's argument.

	offload: Serialize file transfers to build machines.
	* guix/scripts/offload.scm (machine-lock-file, lock-machine,
	  unlock-machine): New procedures.
	  (with-machine-lock): New macro.
	  (process-request): Wrap 'send-files' and 'retrieve-files' calls in
	  'with-machine-lock'.

	tests: Rewrite 'fcntl-lock' test.
	* tests/utils.scm (temp-file): New variable.
	  ("fcntl-flock"): Rewrite to actually test whether the child process
	  waits for the lock to be released.  The previous test was wrong
	  because (1) it expected F_SETLK semantics, not F_SETLKW, and (2) it
	  got EBADF because of a mismatch between the open mode and the lock
	  style.

	download: Perform derivations locally.
	* guix/download.scm (url-fetch): Pass #:local-build? #t to
	  'build-expression->derivation'.
	* guix/git-download.scm (git-fetch): Likewise.

2014-03-06  Mark H Weaver  <mhw@netris.org>

	gnu: Add bitlbee.
	* gnu/packages/messaging.scm (bitlbee): New variable.
	* gnu/packages/patches/bitlbee-fix-tests.patch: New file.
	* gnu/packages/patches/bitlbee-memset-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add patches.

	gnu: Add libotr.
	* gnu/packages/messaging.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: gnupg: Add support for version 1.4.16.
	* gnu/packages/gnupg.scm (gnupg-1): New variable.

2014-03-05  Mark H Weaver  <mhw@netris.org>

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

2014-03-05  Mark H Weaver  <mhw@netris.org>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: gnutls: Upgrade to 3.2.12.
	* gnu/packages/gnutls.scm (gnutls): Upgrade to 3.2.12.

2014-03-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add ElementTree and pybugz.
	* gnu/packages/python.scm (python2-element-tree, python2-pybugz): New
	  variables.

	doc: Factorize documentation of common build options.
	* doc/guix.texi (Invoking guix package): Remove documentation for
	  --dry-run, --fallback, --no-substitutes, and --max-silent-time.  Add a
	  cross-ref to "Invoking guix build".
	  (Invoking guix archive): Add "common build options" as the cross-ref
	  topic for "Invoking guix build".
	  (Invoking guix build): Move common build options separately.  Add a
	  paragraph to explain.

2014-03-02  Andreas Enge  <andreas@enge.fr>

	gnu: subversion: Update to 1.7.14.
	* gnu/packages/version-control.scm (subversion): Update to 1.7.14.

	gnu: subversion: Enable http checkouts.
	* gnu/packages/version-control.scm (subversion): Add input neon-0.29.6 to
	    enable http and https checkouts.

	gnu: Add neon-0.29.6.
	* gnu/packages/version-control.scm (neon-0.29.6): New variable.

	gnu: Add neon.
	* gnu/packages/version-control.scm (neon): New variable.

2014-03-01  Manolis Ragkousis  <manolis837@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: hurd: Add Hurd headers.
	* gnu/packages/hurd.scm (hurd-headers): New variable.

2014-03-01  Ludovic Courtès  <ludo@gnu.org>

	guix package: Use the common build options from (guix scripts build).
	* guix/scripts/build.scm (%standard-build-options): Change option
	  handlers to support multiple seeds.
	* guix/scripts/package.scm (show-help): Remove --dry-run, --fallback,
	  --no-substitutes, and --max-silent-time.
	  (%options): Likewise, and add %STANDARD-BUILD-OPTIONS.
	  (%default-options): Add 'verbosity'.
	  (guix-package): Call 'set-build-options-from-command-line' instead of
	  'set-build-options'.

	gnu: guile-ssh: Upgrade to 0.5.0.
	* gnu/packages/ssh.scm (guile-ssh): Upgrade to 0.5.0.
	  [arguments]: Adjust 'autoreconf' phase.  Add #:parallel-tests? #f and
	  #:tests? #f.
	  [native-inputs]: Add TEXINFO.

	substitute-binary: Gracefully handle HTTP GET errors.
	* guix/http-client.scm (&http-get-error): New condition type.
	  (http-fetch): Raise it instead of using 'error'.
	* guix/scripts/substitute-binary.scm (fetch) <http>: Wrap body into
	  'guard' form; gracefully handle 'http-get-error?' conditions.

	offload: Comment out attempt to set up an lsh gateway.
	* guix/scripts/offload.scm (open-ssh-gateway): Comment out.
	  (process-request): Remove call to 'open-ssh-gateway' and to 'kill'.

	offload: 'remote-pipe' uses the right SSH key.
	* guix/scripts/offload.scm (remote-pipe): Pass -i when invoking
	  %LSHG-COMMAND.

	offload: Take the target machine load into account.
	* guix/scripts/offload.scm (machine-load, machine-less-loaded?,
	  machine-less-loaded-or-faster?): New procedures.
	  (choose-build-machine): Use 'machine-less-loaded-or-faster?' when
	  sorting.  Return the head of MACHINES unless it's loaded is >= 2.

2014-02-28  Ludovic Courtès  <ludo@gnu.org>

	guix archive: Change '--help' to show '--authorize'.
	* guix/scripts/archive.scm (show-help): Add '--authorize'.

	gnu: libgc: Change URLs to point to hboehm.info.
	* gnu/packages/bdw-gc.scm (libgc)[source, home-page, license]: Update
	  URL.
	  (libatomic-ops)[source, home-page]: Likewise.
	  (libgc-7.4)[source]: Likewise.

2014-02-28  Ludovic Courtès  <ludo@gnu.org>

	Partly revert "gnu: Remove now unneeded 'modules' fields from 'origin' specifications."
	This partly reverts commit a3a1417dc715f432fadbefbe9896f56a14236741.

	* gnu/packages/base.scm (glibc)[source]: Re-add 'modules' clause.
	* gnu/packages/lsh.scm (lsh)[source]: Remove 'use-modules' form from
	  'snippet'.  Add 'modules' field.

2014-02-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: coreutils: Patch 'Makefile.in', not 'local.mk'.
	* gnu/packages/patches/coreutils-dummy-man.patch: Patch 'Makefile.in',
	  not 'local.mk'; the latter otherwise requires Automake to regenerate
	  the build system.

2014-02-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: Remove now unneeded 'modules' fields from 'origin' specifications.
	The previous commit has made (guix build utils) imported by default, so
	no need to specify it.

	* gnu/packages/base.scm (glibc)[source]: Remove 'modules' and
	  'imported-modules' fields.
	* gnu/packages/lsh.scm (lsh)[source]: Likewise.

2014-02-28  Ludovic Courtès  <ludo@gnu.org>

	packages: Support 'patches' and 'snippets' for sources that are directories.
	* guix/packages.scm (patch-and-repack)[numeric-extension?, tarxz-name]:
	  New procedures.
	  [builder]: Adjust to deal with SOURCE when it's a directory.
	  <body>: Use 'tarxz-name'.  Always add (guix build utils) to
	  IMPORTED-MODULES.

	gnu-maintenance: Adjust 'latest-release' to filter Bash's patch directories.
	* guix/gnu-maintenance.scm (latest-release)[patch-directory-name?]: New
	  procedure.
	  <subdirs>: Use it to filter out Bash-like patch directories.

2014-02-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: bash, readline: Upgrade.
	* gnu/packages/readline.scm (readline): Upgrade to 6.3.
	* gnu/packages/bash.scm (bash): Upgrade to 4.3.

	Merge branch 'master' into core-updates
	Conflicts:
		gnu/packages/libwebsockets.scm

	hydra: Set the default absolute build timeout to 20h.
	* build-aux/hydra/gnu-system.scm (package->alist): Add 'timeout' item.

	gnu: Move libwebsockets to (gnu packages web).
	* gnu/packages/libwebsockets.scm: Remove.  Move libwebsockets package
	  definition to...
	* gnu/packages/web.scm (libwebsockets): ... here.
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove libwebsockets.scm.

	store: Use 'when' instead of 'if' in effectful context.
	* guix/store.scm (set-build-options): Use 'when' instead of 'if'.

2014-02-25  David Thompson  <dthompson2@worcester.edu>

	gnu: Add mpd.
	* gnu/packages/mpd.scm (mpd): New variable.

	gnu: Add libmpdclient.
	* gnu/packages/mpd.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-02-25  Eric Bavier  <bavier@member.fsf.org>

	gnu: zile: Upgrade to 2.4.10
	* gnu/packages/zile.scm (zile): Upgrade to 2.4.10

	gnu: parallel: Upgrade to 20140222
	* gnu/packages/parallel.scm (parallel): Upgrade to 20140222

2014-02-25  Mark H Weaver  <mhw@netris.org>

	gnu: ffmpeg: Upgrade to 2.1.4
	* gnu/packages/video.scm (ffmpeg): Upgrade to 2.1.4.

2014-02-25  Sree Harsha Totakura  <sreeharsha@totakura.in>

	gnu: libmicrohttpd: Update to 0.9.34.
	* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.34.

2014-02-24  Mark H Weaver  <mhw@netris.org>

	Update SRFI-64 to the latest upstream version.
	* srfi/srfi-64.scm: Export 'test-group'.  Call 'cond-expand-provide'.
	* srfi/srfi-64.upstream.scm: Update to the latest upstream version.

2014-02-24  Sree Harsha Totakura  <sreeharsha@totakura.in>

	gnu: Add miniupnpc.
	* gnu/packages/upnp.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-02-22  Ludovic Courtès  <ludo@gnu.org>

	gnu: coreutils: Attempt to really fix cross-compilation.
	* gnu/packages/patches/coreutils-dummy-man.patch: Directly take the
	  patch from <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.

	gnu: grep: Upgrade to 2.18.
	* gnu/packages/base.scm (grep): Upgrade to 2.18.

	build-system/gnu: Allow the source to be a directory.
	* guix/build/gnu-build-system.scm (unpack): Check if SOURCE is a
	  directory, and copy it locally if it is.
	* gnu/packages/libwebsockets.scm (libwebsockets)[arguments]: Remove
	  'unpack' phase.

	Merge branch 'master' into core-updates
	Conflicts:
		gnu-system.am

2014-02-21  Ludovic Courtès  <ludo@gnu.org>

	derivations: Remove unused 'derivation' parameter.
	* guix/derivations.scm (derivation): Remove unused #:hash-mode parameter.
	* doc/guix.texi (Derivations): Adjust accordingly.

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

	Add (guix git-download).
	* guix/git-download.scm, guix/build/git.scm: New files.
	* Makefile.am (MODULES): Add them.
	* guix/packages.scm (<origin>): Fix comment for 'method' field.

	doc: More on what's special about the archive format.
	* doc/guix.texi (Invoking guix archive): Expound on what sets the Nar
	  format apart.

	nar: Produce archives with files sorted in C collation order.
	* guix/nar.scm (write-file) <directory>: Pass 'string<?' as the second
	  argument to 'scandir'.
	* tests/nar.scm ("write-file puts file in C locale collation order"):
	  New test.

	derivations: Add support for recursive fixed-output derivations.
	* guix/derivations.scm (<derivation-output>): Add 'recursive?' field.
	  Adjust 'make-derivation-output' callers.
	  (%read-derivation) <fixed-output>: When HASH-ALGO starts with 'r:',
	  set the 'recursive?' field and drop 'r:' from the hash algo name.
	  (write-derivation)[write-output]: Write the algo as 'r:HASH-ALGO' when
	  the RECURSIVE? field is set.
	  (derivation-hash) <fixed-output>: Prepend "r:" when RECURSIVE? is set.
	  (fixed-output-path): New procedure.
	  (derivation): Add #:recursive? parameter.  Use 'fixed-output-path' to
	  compute the output file name of a fixed output derivation.
	  (build-expression->derivation): Add #:recursive? parameter.  Pass it
	  to 'derivation'.
	* tests/derivations.scm ("fixed-output derivation, recursive",
	  "build-expression->derivation produces recursive fixed-output",
	  "build-expression->derivation uses recursive fixed-output"): New
	  tests.
	* doc/guix.texi (Derivations): Document #:recursive? for 'derivation'.
	  Add #:recursive? for 'build-expression->derivation'.

	guix hash: Add '--recursive'.
	* guix/scripts/hash.scm (show-help): Add --recursive.
	  (%options): Likewise.
	  (guix-hash)[file-hash]: New procedure.  Honor --recursive.
	  Use it.
	* guix/nar.scm (write-file): Add missing field to the &nar-error
	  condition raised upon unsupported file type; change its message to be
	  more descriptive.
	* tests/guix-hash.sh: Add tests with -r.
	* doc/guix.texi (Invoking guix hash): Document --recursive.

	ui: Handle SRFI-35 '&message' conditions.
	* guix/ui.scm (call-with-error-handling): Add case for
	  'message-condition?'.
	* po/Makevars: Fix typo in comment.

	nar: 'write-file' can write to non-file ports.
	* guix/nar.scm (write-contents): Use 'sendfile' only when P is a file
	  port.
	* tests/nar.scm ("write-file supports non-file output ports"): New test.

	gnu: mpc123: Add patch that fixes a segfault.
	* gnu/packages/patches/mpc123-initialize-ao.patch: New file.
	* gnu/packages/mp3.scm (mpc123): Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-02-21  Mark H Weaver  <mhw@netris.org>

	gnu: emacs: Add more inputs: giflib, libice, libsm, alsa-lib.
	* gnu/packages/emacs.scm (emacs): Add 'giflib', 'libice', 'libsm', and
	  'alsa-lib' inputs.  Remove "--with-gif=no" from configure arguments.

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

2014-02-21  Andreas Enge  <andreas@enge.fr>

	gnu: gmime: Use gnome mirror for download.
	* gnu/packages/mail.scm (gmime): Use gnome mirror, fixes download problems
	    with automatic https redirection.

2014-02-20  Manolis Ragkousis  <manolis837@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: hurd: Add MiG.
	* gnu/packages/hurd.scm (mig): New variable.

2014-02-20  Ludovic Courtès  <ludo@gnu.org>

	guix hash: Don't load the whole file in memory.
	* guix/scripts/hash.scm (guix-hash)[eof->null]: Remove.
	  (guix-hash): Use 'port-sha256' to compute the hash instead of
	  'get-bytevector-all' and co.

2014-02-20  Mark H Weaver  <mhw@netris.org>

	gnu: tor: Upgrade to 0.2.4.20.
	* gnu/packages/tor.scm (tor): Upgrade to 0.2.4.20.

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

	gnu: gpgme: Make 'libgpg-error' a propagated input.
	* gnu/packages/gnupg.scm (gpgme): Make 'libgpg-error' a propagated input.

	gnu: shishi: Add more inputs for libidn and PAM support.
	* gnu/packages/shishi.scm (shishi): Add 'pkg-config' native-input.
	  Add 'libidn' and 'linux-pam' inputs.

2014-02-19  Eric Bavier  <ericbavier@gmail.com>

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

2014-02-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add /etc/shells.
	* gnu/system.scm (etc-directory): Add /etc/shells.

	gnu: vm: Remove '%demo-operating-system'.
	* gnu/system/vm.scm (%demo-operating-system): Remove.
	  (system-qemu-image, system-qemu-image/shared-store,
	  system-qemu-image/shared-store-script): Adjust accordingly.

	gnu: Define '%base-services'.
	* gnu/services/base.scm (%base-services): New variable.
	* gnu/system.scm (<operating-system>)[services]: Change the default
	  value to %BASE-SERVICES.
	* doc/guix.texi (Using the Configuration System): Change
	  '%standard-services' to '%base-services'.

	gnu: Introduce the (gnu services ...) modules.
	* gnu/system/dmd.scm: Remove file.  Move contents to...
	* gnu/services.scm, gnu/services/base.scm, gnu/services/dmd.scm,
	  gnu/services/networking.scm, gnu/services/xorg.scm: ... here.  New
	  files.
	* gnu/system.scm, gnu/system/vm.scm: Adjust accordingly.
	* guix/scripts/system.scm (%user-module): Likewise.
	* doc/guix.texi (Using the Configuration System): Likewise.
	  (Defining Services): Likewise.

	gnu: bigloo: Upgrade to 4.1a.
	* gnu/packages/scheme.scm (bigloo): Upgrade to 4.1a.

2014-02-18  Ludovic Courtès  <ludo@gnu.org>

	gnu: qemu: Disable debug info.
	* gnu/packages/qemu.scm (qemu-headless): Add '--disable-debug-info' as a
	  'configure' flag.

	Add 'guix system'.
	* guix/scripts/system.scm: New file.
	* Makefile.am (MODULES): Add it.
	* po/POTFILES.in: Likewise.
	* doc/guix.texi (Using the Configuration System): Link to "Invoking guix
	  system".
	  (Invoking guix system): New node.

2014-02-18  Sree Harsha Totakura  <sreeharsha@totakura.in>

	gnu: curl: Fix tests.
	* gnu/packages/curl.scm (curl): Add a new phase and python-2 to native-inputs.

	gnu: curl: Update to 7.35.0.
	* gnu/packages/curl.scm (curl): Update to 7.35.0.

	gnu: gnurl: Do not disable testcase 1022.
	* gnu/packages/gnunet.scm (gnurl): Do not disable testcase 1022.

	gnu: ncdc: Update to 1.19.
	* gnu/packages/dc (ncdc): Update to 1.19.

2014-02-18  Mark H Weaver  <mhw@netris.org>

	gnu: gnutls: Upgrade to 3.2.11.
	* gnu/packages/gnutls.scm (gnutls): Upgrade to 3.2.11.  Improve URI
	  computation.

	gnu: icu4c: Upgrade to 52.1.
	* gnu/packages/icu4c.scm (icu4c): Upgrade to 52.1.

	gnu: patchelf: Fix platform page size determination.
	* gnu/packages/patches/patchelf-page-size.patch: New file.
	* gnu/packages/elf.scm (patchelf): Add the patch.
	* gnu-system.am (dist_patch_DATA): Add the patch.

2014-02-18  Ludovic Courtès  <ludo@gnu.org>

	guix build: Factorize common options.
	* guix/scripts/build.scm (show-build-options-help,
	  set-build-options-from-command-line): New procedures.
	  (show-help): Remove description of --dry-run,
	  --fallback, --no-substitutes, --max-silent-time, and --cores.  Call
	  'show-build-options-help'.
	  (%standard-build-options): New variable.
	  (%options): Remove --dry-run, --fallback, --no-substitutes,
	  --verbosity, --max-silent-time, and --cores.  Add
	  %STANDARD-BUILD-OPTIONS.
	  (guix-build): Use 'set-build-options-from-command-line' instead of
	  'set-build-options'.
	* guix/scripts/archive.scm (show-help): Remove description of --dry-run,
	  --fallback, --no-substitutes, --max-silent-time, and --cores.  Call
	  'show-build-options-help'.
	  (%options): Remove --dry-run, --fallback, --no-substitutes,
	  --verbosity, --max-silent-time, and --cores.  Add
	  %STANDARD-BUILD-OPTIONS.
	  (export-from-store): Call 'set-build-options-from-command-line'
	  instead of 'set-build-options.

2014-02-17  Mark H Weaver  <mhw@netris.org>

	gnu: Add xapian.
	* gnu/packages/search.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-02-16  Sree Harsha Totakura  <sreeharsha@totakura.in>

	gnu: gnurl: Update to 7.35.0.
	* gnu/packages/gnunet.scm (gnurl): Update to 7.35.0.

2014-02-16  John Darrington  <jmd@gnu.org>

	gnu: Add hdf5.
	* gnu/packages/maths.scm (hdf5): New variable.
	* gnu/packages/maths.scm (octave): New input hdf5.

2014-02-16  Mark H Weaver  <mhw@netris.org>

	gnu: dmd: Sleep longer in tests, for slower machines.
	* gnu/packages/patches/dmd-tests-longer-sleeps.patch: New file.
	* gnu/packages/admin.scm (dmd): Add the patch.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: Add ttf-dejavu.
	* gnu/packages/fonts.scm (ttf-dejavu): New variable.

	Update .gitignore for Guile 2.0.9 bootstrap binaries.
	* .gitignore: Change version number in ignored Guile bootstrap
	  binaries from 2.0.7 to 2.0.9.

	gnu: ratpoison: Patch to use $SHELL instead of /bin/sh.
	* gnu/packages/patches/ratpoison-shell.patch: New file.
	* gnu/packages/ratpoison.scm (ratpoison): Add patch.
	* gnu-system.am (dist_patch_DATA): Add patch.

2014-02-16  Ludovic Courtès  <ludo@gnu.org>

	Add Manolis to 'AUTHORS'.

2014-02-16  Manolis Ragkousis  <manolis837@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GNU Mach headers.
	* gnu/packages/hurd.scm: New file
	* gnu-system.am (GNU_SYSTEM_MODULES): Add hurd.scm

2014-02-12  Sree Harsha Totakura  <sreeharsha@totakura.in>

	gnu: gnunet: Fix failing testcases.
	* gnu/packages/gnunet.scm (gnurl): Add pkg-config.
	* gnu/packages/patches/gnunet-fix-tests.patch: Append fix for integration testcases.

2014-02-12  Ludovic Courtès  <ludo@gnu.org>

	guix build: Move 'set-build-options' call earlier.
	* guix/scripts/build.scm (guix-build): Move 'set-build-options' call
	  before 'show-what-to-build'.

	store: Add comments for the stracer.
	* guix/store.scm (%worker-magic-1, %worker-magic-2): Add comments.

2014-02-11  Mark H Weaver  <mhw@netris.org>

	gnu: isc-dhcp: Upgrade to 4.3.0.
	* gnu/packages/admin.scm (isc-dhcp): Upgrade to 4.3.0.

2014-02-11  Sree Harsha Totakura  <sreeharsha@totakura.in>

	gnu: curl, gnurl: Fix failing testcase 172.
	* gnu/packages/patches/curl-fix-test172.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add the patch file.
	* gnu/packages/gnunet.scm (gnurl): Apply the patch file.
	* gnu/packages/curl.scm (curl): Apply the patch file.

2014-02-11  Andreas Enge  <andreas@enge.fr>

	gnu: gnunet: Correct typo.
	* gnu/packages/gnunet.scm (gnunet): Correct typo.

2014-02-11  Mark H Weaver  <mhw@netris.org>

	gnu: texinfo: Make version 4.13a available.
	* gnu/packages/texinfo.scm (texinfo-4): New variable.

2014-02-10  Andreas Enge  <andreas@enge.fr>

	gnu: gnunet: Add input libmicrohttpd.
	* gnu/packages/gnunet.scm (gnunet): Add input libmicrohttpd and improve
	    formatting.

2014-02-10  Ludovic Courtès  <ludo@gnu.org>

	store: Change 'export-paths' to always export in topological order.
	* guix/store.scm (export-paths): Pass PATHS through
	  'topologically-sorted' before iterating.
	* tests/store.scm ("export/import paths, ensure topological order"): New
	  test.

2014-02-10  John Darrington  <jmd@gnu.org>

	gnu: lout: Change docdir from "doc" to "share/doc"
	* gnu/packages/lout.scm (lout):
	  Change docdir from "doc" to "share/doc".

2014-02-10  Sree Harsha Totakura  <sreeharsha@totakura.in>
	    Andreas Enge  <andreas@enge.fr>

	gnu: Add GNUnet.
	* gnunet/packages/gnunet.scm (gnunet): New variable.
	* gnu/package/patches/gnunet-fix-scheduler.patch: New file.
	* gnu/package/patches/gnunet-fix-tests.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add the above two patch files.

2014-02-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: gstreamer 1.0.10: Temporarily disable tests.
	* gnu/packages/gstreamer.scm (gstreamer): Add 'arguments' field.

	gnu: glibc: Upgrade to 2.19.
	* gnu/packages/base.scm (glibc): Upgrade to 2.19.  Remove
	  'glibc-make-4.0.patch'.
	* gnu/packages/patches/glibc-make-4.0.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

2014-02-10  John Darrington  <jmd@gnu.org>

	build-system/gnu: Set the docdir to "share/doc"
	* guix/build/gnu-build-system.scm (configure):
	  Change docdir directory from "doc" to "share/doc".

2014-02-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: coreutils: Fix cross-compilation issue with 'dummy-man'.
	This should work around the bug described at
	<http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.

	* gnu/packages/base.scm (coreutils)[patches]: Add
	  'coreutils-dummy-man.patch'.
	  [native-inputs]: Don't pass PERL when (%current-target-system) is
	  true.
	* gnu/packages/patches/coreutils-dummy-man.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-02-10  Mark H Weaver  <mhw@netris.org>

	gnu: openssh: Upgrade to 6.5p1.
	* gnu/packages/ssh.scm (openssh): Upgrade to 6.5p1.

	gnu: openssl: Upgrade to 1.0.1f.
	* gnu/packages/openssl.scm (openssl): Upgrade to 1.0.1f.

2014-02-10  Ludovic Courtès  <ludo@gnu.org>

	union: Do not compare directories upon collision.
	* guix/build/union.scm (file=?): Return #f if FILE1 and FILE2 are not
	  regular files.  Fixes a bug whereby collisions among directories would
	  lead to the invocation of 'file=?' and thus 'call-with-input-file' on
	  directories.  Reported by Mark H. Weaver <mhw@netris.org>.

2014-02-10  Ludovic Courtès  <ludo@gnu.org>

	download: Provide a 'User-Agent' field in HTTP requests.
	Fixes <http://bugs.gnu.org/16703>.
	Reported by Raimon Grau <raimonster@gmail.com>.

	* guix/build/download.scm (http-fetch)[headers]: New variable.
	  Pass it as #:headers or #:extra-headers to 'http-get' and
	  'http-get*'.

2014-02-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: dmd: Add SLiM service.
	* gnu/system/dmd.scm (xorg-service): Remove.
	  (xorg-start-command, slim-service): New procedure.

	gnu: dmd: Fix X font directory name in X service.
	* gnu/system/dmd.scm (xorg-service)[xserver.conf]: Fix directory name in
	  'FontPath' entry for FONT-ADOBE75DPI.

	gnu: linux-initrd: When booting, chdir to the new root before calling 'chroot'.
	* guix/build/linux-initrd.scm (boot-system): Add 'chdir' call right
	  before 'chroot'.

	gnu: slim: Work around flaky synchronization with the X server.
	* gnu/packages/patches/slim-sigusr1.patch: New file.
	* gnu/packages/slim.scm (slim): Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2014-02-09  Raimon Grau  <raimonster@gmail.com>

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

2014-02-08  Eric Bavier  <ericbavier@gmail.com>

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

2014-02-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add FUSE.
	* gnu/packages/linux.scm (fuse): New variable.

	gnu: Move root's home directory to /root.
	* gnu/system.scm (operating-system-derivation): Change root's
	  'home-directory' to "/root".
	* gnu/system/vm.scm (operating-system-default-contents): Add /root.

2014-02-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: python-pysqlite: Point to the latest release tarball.
	* gnu/packages/python.scm (python2-pysqlite): Change 'version' to
	  "2.6.3a".  Change 'uri' to point to pypi.python.org.
	  Reported by Mark H Weaver <mhw@netris.org> and others.
	  Update 'home-page' and 'synopsis'.

2014-02-07  Eric Bavier  <ericbavier@gmail.com>

	gnu: Add paperkey.
	* gnu/packages/gnupg.scm (paperkey): New variable.

2014-02-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: gdb: Upgrade to 7.7.
	* gnu/packages/gdb.scm (gdb): Upgrade to 7.7.  Remove
	  'gdb-loongson-madd-fix.patch', no longer needed.
	* gnu/packages/patches/gdb-loongson-madd-fix.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

	daemon: Add '--gc-keep-outputs' and '--gc-keep-derivations'.
	* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_GC_KEEP_OUTPUTS,
	  GUIX_OPT_GC_KEEP_DERIVATIONS): New macros.
	  (options): Add 'gc-keep-outputs' and 'gc-keep-derivations'.
	  (string_to_bool): New function.
	  (parse_opt): Honor GUIX_OPT_GC_KEEP_DERIVATIONS and
	  GUIX_OPT_GC_KEEP_OUTPUTS.
	* doc/guix.texi (Invoking guix-daemon): Document --gc-keep-outputs and
	  --gc-keep-derivations.

	Add Raimon to 'AUTHORS'.

2014-02-06  Raimon Grau  <raimonster@gmail.com>

	gnu: Add luajit
	* gnu/packages/lua.scm (luajit): New variable.

2014-02-06  John Darrington  <jmd@gnu.org>

	gnu: Add Glade.
	* gnu/packages/gnome.scm (glade): New variable.

2014-02-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: binutils: Build with --enable-deterministic-archives.
	* gnu/packages/base.scm (binutils): Add
	  '--enable-deterministic-archives' to #:configure-flags.
	  Suggestion from Lunar's 2014 FOSDEM talk on reproducible builds.

	gnu: coreutils: Move Perl to 'native-inputs'.
	* gnu/packages/base.scm (coreutils): Add 'native-inputs' field.
	  This should allow cross builds to have man pages, and work around this
	  'dummy-man' bug:
	  <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.

2014-02-06  Andreas Enge  <andreas@enge.fr>

	gnu: imagemagick: Upgrade to 6.8.8-4.
	* gnu/packages/imagemagick.scm (imagemagick): Upgrade to 6.8.8-4.

2014-02-06  Eric Bavier  <ericbavier@gmail.com>

	gnu: gnu-pw-mgr: Upgrade to 1.1.
	* gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Upgrade to 1.1.

2014-02-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-wm: Upgrade to 1.0.
	* gnu/packages/guile-wm.scm (guile-wm): Upgrade to 1.0.

	gnu: system: Build /etc/localtime.
	* gnu/system.scm (etc-directory)[bashrc]: Use 'text-file*' instead of
	  'text-file'.  Adjust users accordingly.
	  [files]: Add the /etc/localtime file for TIMEZONE.
	  Add TZDATA to the 'file-union' inputs.
	  (operating-system-derivation): Pass 'etc-directory' PROFILE-DRV
	  instead of PROFILE.

	gnu: slim: Upgrade to 1.3.6; allow the choice of a config file at run time.
	* gnu/packages/slim.scm (slim): Upgrade to 1.3.6.  Add patches.  Comment
	  out systemd-related stuff from CMakeLists.txt.  Add
	  "-DBUILD_SHARED_LIBS=OFF" and "-DCMAKE_SKIP_BUILD_RPATH=ON" to
	  #:configure-flags.  Adjust 'home-page' field.
	* gnu/packages/patches/slim-config.patch,
	  gnu/packages/patches/slim-session.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.

2014-02-05  John Darrington  <jmd@gnu.org>

	gnu: inkscape: New module
	* gnu/packages/inkscape.scm,
	  gnu/packages/patches/inkscape-stray-comma.patch: New files.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add inkscape.scm.
	  (dist_patch_DATA): Add inkscape-stray-comma.patch.

2014-02-04  John Darrington  <jmd@gnu.org>

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

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

2014-02-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: dmd: Use 'text-file*' when building Xorg's config file.
	* gnu/system/dmd.scm (xorg-service)[xserver.conf]: Change to use
	  'text-file*' instead of 'text-file'.
	  Adjust body accordingly.  Remove now extraneous packages from the
	  service's 'inputs' field.

	monads: Add 'text-file*'.
	* guix/monads.scm (text-file*): New procedure.
	* tests/monads.scm ("text-file*"): New test.
	* doc/guix.texi (The Store Monad): Change example since the previous one
	  would erroneously fail to retain a reference to Coreutils.  Document
	  'text-file*'.

2014-02-03  John Darrington  <jmd@gnu.org>

	gnu: file: Upgrade to 5.16.
	* gnu/packages/file.scm (file): Upgrade to 5.16.

	gnu: gtkmm-2 New variable
	* gnu/packages/gtk.scm (gtkmm-2): New variable.

2014-02-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: vm: Create all the user directories.
	* gnu/system/vm.scm (operating-system-default-contents)[user-directories]:
	  New procedure.  Use it to create each user's home and GC root
	  directories.

	gnu: Add xterm.
	* gnu/packages/xorg.scm (xterm): New variable.

	gnu: vm: Add /run/current-system and /bin/sh.
	* gnu/system/vm.scm (operating-system-default-contents): Populate
	  /run/current-system and create /bin/sh.
	* gnu/system.scm (operating-system-profile-derivation,
	  operating-system-profile-directory): New procedures.
	  (operating-system-derivation): Use it.

	offload: Have 'build-machines' honor its argument.
	* guix/scripts/offload.scm (build-machines): Honor FILE.

2014-02-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: linux-initrd: Build /dev/input devices.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
	  dev/input devices.

	gnu: Add preliminary Xorg service.
	* gnu/system/dmd.scm (xorg-service): New procedure.

	gnu: linux-initrd: Make /dev/{mem,kmem}.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
	  dev/{mem,kmem}.

2014-01-31  Ludovic Courtès  <ludo@gnu.org>

	gnu: xorg-server: Use /var as $localstatedir.
	* gnu/packages/xorg.scm (xorg-server): Pass --localstatedir=/var.  In
	  'configure' phase, patch 'hw/xfree86/Makefile.in'.

	gnu: vm: Add support for running a VM that shares its store with the host.
	* gnu/system/vm.scm (qemu-image): Check whether GUIX is #f.
	  (operating-system-build-gid, operating-system-default-contents): New
	  procedures.
	  (system-qemu-image): Use 'operating-system-build-gid'.
	  (system-qemu-image/shared-store,
	  system-qemu-image/shared-store-script): New procedures.
	* gnu/system.scm: Add missing exports.

	gnu: linux-initrd: Allow the root file system to be volatile.
	* gnu/system/linux-initrd.scm (qemu-initrd): Add 'volatile-root?'
	  parameter.
	* guix/build/linux-initrd.scm (boot-system): Likewise.  Honor it.

	gnu: linux: Really build 9p/virtio modules.
	* gnu/packages/linux.scm (linux-libre): Add CONFIG_NET_9P and
	  CONFIG_9P_FS.

	gnu: linux-initrd: Recognize 9p file systems.
	* gnu/system/linux-initrd.scm (qemu-initrd)[virtio-9p-modules]: New
	  variable.
	  [linux-modules]: Append VIRTIO-9P-MODULES when a 9p file system is in
	  MOUNTS.
	* guix/build/linux-initrd.scm (mount-qemu-9p): New procedure.
	  (boot-system): Recognize '9p' in MOUNTS, and use 'mount-qemu-9p'.

	gnu: linux-initrd: Match kernel module file names exactly.
	* gnu/system/linux-initrd.scm (expression->initrd)[string->regexp]: New
	  procedure.  Use it in the call to 'find-files'.

	gnu: linux-initrd: Properly distinguish between /dev/sda* and /dev/vda*.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): Rename
	  devices with major = 8 to /dev/sda*.  Make /dev/vda* devices.
	* gnu/system/vm.scm (qemu-image): Change '/dev/vda' to '/dev/sda'.
	* gnu/system.scm (operating-system-derivation): Likewise.

	gnu: linux-initrd: Start a REPL when the root could not be mounted.
	* guix/build/linux-initrd.scm (boot-system): Catch errors when mounting
	  ROOT and call 'start-repl' upon error.

	gnu: linux-libre: Build more virtio modules.
	* gnu/packages/linux.scm (linux-libre): Append CONFIG_NET_9P_VIRTIO and
	  CONFIG_VIRTIO_{NET,BLK,BALLOON} to '.config'.

2014-01-30  Ludovic Courtès  <ludo@gnu.org>

	gnu: vm: Run QEMU with '-enable-kvm'.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass QEMU
	  '-enable-kvm'.

2014-01-30  John Darrington  <jmd@gnu.org>

	gnu: Add GNU Octave.
	* gnu/packages/maths.scm (octave): New variable.

2014-01-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: linux-libre: Build virtio modules.
	* gnu/packages/linux.scm (linux-libre): Build modules matching
	  CONFIG.*VIRTIO.

	gnu: linux-libre: Upgrade to 3.13.
	* gnu/packages/linux.scm (linux-libre): Upgrade to 3.13.

2014-01-29  Sree Harsha Totakura  <sreeharsha@totakura.in>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: gnunet: Add gnurl 7.34.0.
	* gnu/packages/gnunet.scm (gnurl): New variable. Thanks to Zerwas for
	  the initial recipe.

2014-01-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: libgcrypt: Upgrade to 1.6.1.
	* gnu/packages/gnupg.scm (libgcrypt): Upgrade to 1.6.1.

	gnu: linux-initrd: Factorize boot code.
	* guix/build/linux-initrd.scm (boot-system): New procedure.
	* gnu/system/linux-initrd.scm (qemu-initrd): Add keyword parameters
	  'guile-modules-in-chroot?' and 'mounts'.  Change builder to simply
	  call 'boot-system'.
	  (gnu-system-initrd): Change to a simple call to 'qemu-initrd'.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Call
	  'qemu-initrd' with #:guile-modules-in-chroot?.

	gnu: Lower initrd makers from packages to monadic procedures.
	* gnu/packages/linux-initrd.scm: Remove.
	* gnu/system/linux-initrd.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
	* gnu/system.scm (<operating-system>): Change default 'initrd' value
	  to (gnu-system-initrd).
	  (operating-system-derivation): Bind 'operating-system-initrd'.  Pass
	  'menu-entry' an initrd file name instead of a package.
	* gnu/system/grub.scm (grub-configuration-file): Expect 'initrd' to be
	  file name.

	monads: Add 'imported-modules' and 'compiled-modules'.
	* guix/monads.scm (package-file): Fix typo.
	  (imported-modules, compiled-modules): New procedures.

2014-01-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: qemu-initrd: Adjust to allow booting with a non-empty /root.
	* gnu/packages/linux-initrd.scm (qemu-initrd): Use 'mkdir-p' instead of
	  'mkdir' for /root/xchg and /root/{share,lib}.  When TO-LOAD is a
	  symlink, resolve it.
	  (gnu-system-initrd): Fix typo in message.

	Revert "build-system/gnu: Pass --localstatedir=/var --sharedstatedir=/com."
	This reverts commit 65529e49ff5b9052544271b1b7923feed4312849.

2014-01-27  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Pass --localstatedir=/var --sharedstatedir=/com.
	Suggested by John Darrington <john@darrington.wattle.id.au>
	and Mark H Weaver <mhw@netris.org>.

	* guix/build/gnu-build-system.scm (configure): Pass --localstatedir=/var
	  --sharedstatedir=/com.
	* gnu/packages/admin.scm (dmd): Remove 'arguments' field.
	* gnu/packages/avahi.scm (avahi): Remove --localstatedir flag.
	* gnu/packages/glib.scm (dbus): Likewise.
	* gnu/packages/package-management.scm (guix): Likewise.
	* gnu/packages/pulseaudio.scm (pulseaudio): Likewise.

2014-01-27  Ludovic Courtès  <ludo@gnu.org>

	download: Add archive.apache.org to the Apache mirrors.
	* guix/download.scm (%mirrors)[apache]: Add archive.apache.org as a last
	  resort.

	offload: Do not try to retrieve anything upon build failure.
	* guix/scripts/offload.scm (offload): Add 'log-port' keyword parameter.
	  Handle log display here.  Return the result of (close-pipe pipe).
	  (process-request): Adjust 'offload' call site accordingly.  Call
	  'retrieve-files' only when 'offload' returns zero; exit when 'offload'
	  returns non-zero.

	gnu: iotop: Fix typos.
	* gnu/packages/linux.scm (iotop): Fix typos introduced by myself.

2014-01-27  Sree Harsha Totakura  <sreeharsha@totakura.in>

	gnu: linux: Add iotop-0.6.
	* gnu/packages/linux.scm (iotop): New variable.

2014-01-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: libffi: Leave a copy of headers where libffi.pc expects them.
	Suggested by Sree Harsha Totakura <sreeharsha@totakura.in>.

	* gnu/packages/libffi.scm (libffi): Symlink header files instead of
	  moving them.

2014-01-26  Ludovic Courtès  <ludo@gnu.org>

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

	gnu: qemu: Add note about 9p.
	* gnu/packages/qemu.scm (qemu/smb-shares): Add comment.

2014-01-26  John Darrington  <jmd@gnu.org>

	gnu: Add gnuplot
	* gnu/packages/maths.scm (gnuplot): New variable

2014-01-26  Ludovic Courtès  <ludo@gnu.org>

	build: Set 'NIX_LIBEXEC_DIR' in 'pre-inst-env'.
	Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	* test-env.in: Move 'NIX_LIBEXEC_DIR' setting to...
	* pre-inst-env.in: ... here.

2014-01-26  Andreas Enge  <andreas@enge.fr>

	gnu: lapack: Update to 3.5.0.
	* gnu/packages/maths.scm (lapack): Update to 3.5.0.

2014-01-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: sdl: Explicitly link against libXext.
	* gnu/packages/sdl.scm (sdl): Add #:configure-flags to 'arguments'.
	  Move PKG-CONFIG to 'native-inputs'.

2014-01-25  Andreas Enge  <andreas@enge.fr>

	gnu: apl: Update to 1.2.
	* gnu/packages/apl.scm (apl): Update to 1.2.

	gnu: global: Update to 6.2.10.
	* gnu/packages/global.scm (global): Update to 6.2.10.

	gnu: lightning: Update to 2.0.3.
	* gnu/packages/lightning.scm (lightning): Update to 2.0.3.

2014-01-25  Ludovic Courtès  <ludo@gnu.org>

	tests: Adjust to recent Binutils change.
	* tests/guix-package.sh: Refer to 'glibc:debug' instead of
	  'binutils:lib' since the latter no longer exists.

	Prefer local builds for "small" derivations.
	* gnu/system.scm (union, file-union, links): Pass #:local-build? #t to
	  'derivation-expression'.
	* guix/derivations.scm (imported-files, compiled-modules): Likewise.
	* guix/profiles.scm (profile-derivation): Likewise.

2014-01-25  Andreas Enge  <andreas@enge.fr>

	gnu: parallel: Update to 20140122.
	* gnu/packages/parallel.scm (parallel): Update to 20140122.

2014-01-25  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

	derivations: Add #:local-build? parameter for derivations.
	* guix/derivations.scm (derivation): Add #:local-build? parameter and
	  honor it.
	  (build-expression->derivation): Likewise.
	* doc/guix.texi (Derivations): Update documentation of these
	  procedures.

2014-01-25  John Darrington  <jmd@gnu.org>

	gnu: fltk: New module
	* gnu/packages/fltk.scm: New file
	* gnu-system.am: New file fltk.scm

	gnu: libxft: Propagate input.
	* gnu/packages/xorg.scm (libxft): Propagate input libxrender.

	gnu: ncdu: New module
	* gnu/packages/ncdu.scm: New file
	* gnu-system.am: New file ncdu.scm

2014-01-25  Sree Harsha Totakura  <sreeharsha@totakura.in>

	gnu: Add Corkscrew 2.0.
	* gnu/packages/ssh.scm (corkscrew): New variable.

	gnu: Add ncdc-1.18.1.
	* gnu/packages/dc.scm : New module.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add module.

2014-01-25  Ludovic Courtès  <ludo@gnu.org>

	profiles: Remove misleading message.
	Fixes <http://bugs.gnu.org/16484>.
	Reported by Andreas Enge <andreas@enge.fr>.

	* guix/profiles.scm (profile-derivation)[builder]: Remove "building
	  profile '~a' with ~a packages" message.

2014-01-25  Ludovic Courtès  <ludo@gnu.org>

	doc: More about offloading.
	* doc/guix.texi (Daemon Offload Setup): Start with "When desired".  Say
	  more on what can go in 'machines.scm', and mention Guile-Avahi.
	  (Invoking guix-daemon): Document '--no-build-hook'.
	  (Invoking guix build): Add xref to "Daemon Offload Setup".

	wget: Upgrade to 1.15.
	* gnu/packages/wget.scm (wget): Upgrade to 1.15.  Remove Gettext from
	  'inputs'.  Move Perl to 'native-inputs'.

2014-01-24  Andreas Enge  <andreas@enge.fr>

	gnu: ffmpeg: Update to 2.1.3.
	* gnu/packages/video.scm (ffmpeg): Update to 2.1.3.

	gnu: ffmpeg: Add input opus.
	* gnu/packages/video.scm (ffmpeg): Add input opus.

2014-01-24  Ludovic Courtès  <ludo@gnu.org>

	Add Sree to 'AUTHORS'.

2014-01-24  Sree Harsha Totakura  <sreeharsha@totakura.in>

	gnu: Add Opus 1.1.
	* gnu/packages/xiph.scm (opus): New variable.

2014-01-24  Ludovic Courtès  <ludo@gnu.org>

	Add 'guix offload' as a daemon build hook.
	* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_BUILD_HOOK): New macro.
	  (options): Add '--no-build-hook'.
	  (parse_opt): Handle it.
	  (main)[HAVE_DAEMON_OFFLOAD_HOOK]: Set 'useBuildHook' by default.
	  Set $NIX_BUILD_HOOK to our offload hook unless otherwise specified.
	  [!HAVE_DAEMON_OFFLOAD_HOOK]: Clear 'useBuildHook'.
	* pre-inst-env.in: Set and export NIX_BUILD_HOOK.
	* nix/scripts/offload.in, guix/scripts/offload.scm: New files.
	* guix/ui.scm (show-guix-help)[internal?]: Add "offload".
	* config-daemon.ac: Call 'GUIX_CHECK_UNBUFFERED_CBIP'.
	  Instantiate 'nix/scripts/offload'.  Set 'BUILD_DAEMON_OFFLOAD'
	  conditional, and optionally define 'HAVE_DEAMON_OFFLOAD_HOOK' cpp
	  macro.
	* daemon.am (nodist_pkglibexec_SCRIPTS)[BUILD_DAEMON_OFFLOAD]: Add it.
	* Makefile.am (MODULES)[BUILD_DAEMON_OFFLOAD]: Add
	  'guix/scripts/offload.scm'.
	  (EXTRA_DIST)[!BUILD_DAEMON_OFFLOAD]: Likewise.
	* m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): New macro.
	* doc/guix.texi (Setting Up the Daemon): Move most of the body to...
	  (Build Environment Setup): ... this.  New subsection.
	  (Daemon Offload Setup): New subsection.

	store: Add 'topologically-sorted'.
	* guix/store.scm (topologically-sorted): New procedure.
	* tests/store.scm ("topologically-sorted, one item",
	  "topologically-sorted, several items", "topologically-sorted, more
	  difficult"): New tests.

	nar: Add 'restore-file-set', for use by build hooks.
	* guix/nar.scm (&nar-invalid-hash-error, &nar-signature-error): New
	  condition types.
	  (&nar-error): Add 'file' and 'port' fields.
	  (&nar-read-error): Remove 'port' and 'file' fields.
	  (lock-store-file, unlock-store-file, finalize-store-file,
	  temporary-store-directory, restore-file-set): New procedures.
	* tests/nar.scm (%seed): New variable.
	  (random-text): New procedure.
	  ("restore-file-set (signed, valid)", "restore-file-set (missing
	  signature)", "restore-file-set (corrupt)"): New tests.
	* po/Makevars (XGETTEXT_OPTIONS): Add '--keyword=message'.nar fixes
	* po/POTFILES.in: Add guix/nar.scm.

	store: Add 'with-store' convenience macro.
	* guix/store.scm (with-store): New macro.

	hash: Add 'open-sha256-input-port', for Guile > 2.0.9.
	* guix/hash.scm (open-sha256-input-port): New procedure.
	* tests/hash.scm (supports-unbuffered-cbip?): New procedure.
	  ("open-sha256-input-port, empty", "open-sha256-input-port, hello",
	  "open-sha256-input-port, hello, one two",
	  "open-sha256-input-port, hello, read from wrapped port"): New tests.

	pki: Factorize signature manipulation procedures.
	* guix/pki.scm (signature-subject, signature-signed-data,
	  valid-signature?): New procedures.
	* guix/scripts/authenticate.scm (guix-authenticate): Adjust to use
	  them.

	utils: Add 'fcntl-flock'.
	* guix/utils.scm (%struct-flock, F_SETLKW, F_xxLCK): New variables.
	  (fcntl-flock): New procedure.
	* tests/utils.scm ("fcntl-flock"): New test.

	store: Add 'register-path' procedure.
	* guix/store.scm (register-path): New procedure.
	* tests/store.scm ("register-path"): New test.
	* guix/config.scm.in (%guix-register-program): New variable.
	* configure.ac: Compute and substitute 'guix_sbindir'.  Compute
	  'guix_prefix'.
	* pre-inst-env.in: Define 'GUIX_REGISTER'.

	guix-register: Support registration in the current store, without '--prefix'.
	* nix/guix-register/guix-register.cc (register_validity): Leave
	  'info.path' unmodified when PREFIX is empty.
	  (main): Call 'settings.processEnvironment' early on.
	  Leave 'settings.nixStore' unmodified when PREFIX is empty.

	store: Add comments for the %stderr constants.
	* guix/store.scm (process-stderr): Add comments for the various
	  constants, to help when stracing.

	ui: Filter out internal commands from '--help'.
	* guix/ui.scm (show-guix-help)[internal?]: New procedure.
	  Use it to filter out internal commands reported by '--help'.

2014-01-23  Andreas Enge  <andreas@enge.fr>

	gnu: Rename (gnu packages oggvorbis) to (gnu packages xiph).
	* gnu/packages/oggvorbis.scm: Rename this ...
	* gnu/packages/xiph.scm: ... to this. Adjust module name accordingly.
	* gnu-system.am (GNU_SYSTEM_MODULES): Update.
	* gnu/packages/{gnunet.scm, libcanberra.scm, mp3.scm, pulseaudio.scm, sdl.scm,
	    video.scm}: Use new module name.

2014-01-23  Sree Harsha Totakura  <sreeharsha@totakura.in>

	gnu: sqlite: Upgrade to 3.8.2.
	* gnu/packages/sqlite.scm (sqlite): Upgrade to 3.8.2.

2014-01-22  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-2.0: Switch to libgc 7.4.0.
	* gnu/packages/guile.scm (guile-2.0): Use LIBGC-7.4.
	  (guile-2.0/fixed): Keep using LIBGC.

	gnu: Add libatomic_ops 7.4.0 and libgc 7.4.0.
	* gnu/packages/bdw-gc.scm (libatomic-ops, libgc-7.4): New variables.

	gnu: libgc: Explicitly mark license as 'x11-style'.
	* gnu/packages/bdw-gc.scm (libgc)[license]: Use 'x11-style'.

	gnu: isc-dhcp: Fix license.
	* gnu/packages/admin.scm (isc-dhcp): Change license to ISC.

	gnu: gnubik: Synchornize synopsis and description.
	* gnu/packages/games.scm (gnubik): Synchornize synopsis and description.

	gnu: Add GNU V.E.R.A.
	* gnu/packages/dictionaries.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	licenses: Add GNU FDL 1.3+.
	* guix/licenses.scm (fdl1.3+): New variable.

2014-01-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: glib: Upgrade to 2.39.1.
	* gnu/packages/glib.scm (glib): Upgrade to 2.39.1.  Run tests
	  sequentially.
	* gnu/packages/patches/glib-tests-desktop.patch: Adjust for 2.39.1.  Add
	  hunk for gsettings.c.

2014-01-18  Ludovic Courtès  <ludo@gnu.org>

	doc: List what's in the chroot.
	* doc/guix.texi (Setting Up the Daemon): List what's in the chroot.

	Update 'nix-upstream' sub-module; adjust build system, doc, and substituter.
	* nix-upstream: Update sub-module.
	* daemon.am (libutil_a_SOURCES): Add affinity.cc.
	  (libutil_headers): Add affinity.hh.
	  (libexec_PROGRAMS, nix_setuid_helper_SOURCES,
	  nix_setuid_helper_CPPFLAGS, nix_setuid_helper_LDADD): Remove.
	* doc/guix.texi (Setting Up the Daemon): Remove paragraph about
	  'nix-setuid-helper'.
	* guix/scripts/substitute-binary.scm (guix-substitute-binary): Exit 0 when
	  %CACHE-URL has an HTTP scheme and looking up its host fails.
	  Always print a newline to stdout when starting.

2014-01-18  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Make /dev/{null,zero} world-writable.
	Reported by zerwas on #guix.

	* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
	  /dev/null and /dev/zero world-writable.

2014-01-18  Andreas Enge  <andreas@enge.fr>

	gnu: mesa: Propagate input.
	* gnu/packages/gl.scm (mesa): Propagate input libx11.

2014-01-18  Ludovic Courtès  <ludo@gnu.org>

	hydra: Add debugging for the Guix job set.
	* build-aux/hydra/guix.scm: Set '%load-verbosely'.

2014-01-18  Andreas Enge  <andreas@enge.fr>

	gnu: gl: Correct copyright notice. * gnu/packages/gl.scm: Add copyright notice for mesa, moved here from     module xorg in commit 200726e.

2014-01-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add DocBook DTD and XSL style sheets.
	* gnu/packages/docbook.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	doc: Distinguish between (gnu packages ...) and "GNU packages".
	* doc/guix.texi (Package Modules): Add a footnote stating that (gnu
	  packages ...) has nothing to do with "GNU packages."

	ui: Update copyright year in '--version' output.
	* guix/ui.scm (show-version-and-exit): Increment copyright year.

2014-01-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add libexif, libgphoto2, and gphoto2.
	* gnu/packages/photo.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-01-15  John Darrington  <john@darrington.wattle.id.au>

	gnu: pspp: Upgrade to 0.8.2
	* gnu/packages/maths.scm (pspp): Update to 0.8.2.
	* gnu/packages/patches/pspp-tests.patch: Deleted.
	* gnu-system.am: Removed pspp-tests.patch from the manifest.

2014-01-15  Andreas Enge  <andreas@enge.fr>

	gnu: mpc: Update to 1.0.2.
	* gnu/packages/multiprecision.scm (mpc): Update to 1.0.2.

2014-01-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: git: 'git-submodule' works even if Perl is not in $PATH.
	* gnu/packages/version-control.scm (git): Add 'native-inputs' field;
	  move Gettext there from 'inputs'.  In 'split' phase, wrap the
	  'git-submodule' script.

2014-01-15  Andreas Enge  <andreas@enge.fr>

	gnu: valgrind: Update to 2.9.0.
	* gnu/packages/valgrind.scm (valgrind): Update to 2.9.0.

2014-01-15  Ludovic Courtès  <ludo@gnu.org>

	Update 'sr.po'.

	gnu: Add Taylor UUCP.
	* gnu/packages/uucp.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2014-01-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: inetutils: Upgrade to 1.9.2.
	* gnu/packages/admin.scm (inetutils): Upgrade to 1.9.2.  Add Readline
	  as an input.

	doc: Fix another reference to (gnu packages admin).
	* doc/guix.texi (Using the Configuration System): Change module name
	  to (gnu packages admin).

	gnu: Add mpc123.
	* gnu/packages/mp3.scm (libmpcdec, mpc123): New variables.

2014-01-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: Changes references to (gnu packages admin).
	* gnu/packages/version-control.scm, gnu/packages/vim.scm,
	  gnu/system.scm, gnu/system/dmd.scm, gnu/system/shadow.scm,
	  gnu/system/vm.scm: Change references to (gnu packages system) to (gnu
	  packages admin).
	  This is a followup to commit 4aeea89.

	gnu: Rename (gnu packages system) to (gnu packages admin).
	* gnu/packages/system.scm: Rename to...
	* gnu/packages/admin.scm: ... this.  Adjust module name accordingly.
	* gnu-system.am (GNU_SYSTEM_MODULES): Update.

	gnu: Add ISC's DHCP implementation.
	* gnu/packages/system.scm (isc-dhcp): New variable.

	gnu: Add libtirpc.
	* gnu/packages/onc-rpc.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	guix package: Gracefully handle EPIPE on '--search'.
	* guix/scripts/package.scm (guix-package): Wrap body of 'search' in
	  'leave-on-EPIPE'.

	ui: Don't use hyphens in 'package->recutils' output.
	* guix/ui.scm (package->recutils): Rename recutils field from
	  'home-page' to 'homepage'.

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

	gnu: Add GnuPG's pinentry.
	* gnu/packages/gnupg.scm (pinentry): New variable.

	gnu: guile-ssh: Remove now unneeded cruft.
	* gnu/packages/ssh.scm (guile-ssh): Remove libssh version hack from
	  'autoreconf' phase.

2014-01-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Aspell dictionaries.
	* gnu/packages/aspell.scm (aspell-dictionary): New procedure.
	  (aspell-dict-en, aspell-dict-eo, aspell-dict-es, aspell-dict-fr): New
	  variables.

2014-01-11  Ludovic Courtès  <ludo@gnu.org>

	hydra: Add GCC, Binutils, and libc to the core package set.
	* build-aux/hydra/gnu-system.scm (%core-packages): Add GCC-FINAL,
	  GLIBC-FINAL, and BINUTILS.

2014-01-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: grep, coreutils: Upgrade.
	* gnu/packages/base.scm (grep): Upgrade to 2.16.
	  (coreutils): Upgrade to 8.22.

	gnu: gettext: Upgrade to 0.18.3.2.
	* gnu/packages/gettext.scm (gnu-gettext): Upgrade to 0.18.3.2.

	gnu: binutils: Upgrade to 2.24.
	* gnu/packages/patches/binutils-loongson-madd-fix.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.
	* gnu/packages/base.scm (binutils): Upgrade to 2.24.  Remove
	  'binutils-loongson-madd-fix.patch'.  Remove 'outputs' field.  Pass
	  '--enable-install-libbfd'.

	Merge branch 'master' into core-updates

	config: '%store-directory' always honors $NIX_STORE_DIR.
	* guix/config.scm.in (%store-directory): Honor $NIX_STORE_DIR.
	* guix/store.scm (%store-prefix): Use %store-directory directly.

	config: '%state-directory' always honors $NIX_STATE_DIR.
	* guix/config.scm.in (%state-directory): Honor $NIX_STATE_DIR.
	* guix/scripts/package.scm (%profile-directory): Use %state-directory
	  directly.
	* guix/store.scm (%default-socket-path, log-file): Likewise.

	store: Fix 'log-file' to support uncompressed logs.
	* guix/store.scm (log-file): Report the file without '.bz2' if it
	  exists.

2014-01-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: make: Build with Guile support.
	* gnu/packages/base.scm (gnu-make, gnu-make-boot0): Add 'native-inputs'
	  field.

	gnu: glibc: Build the Info pages.
	* gnu/packages/base.scm (glibc): Add 'native-inputs' field.
	  (perl-boot0): New variable.
	  (linux-libre-headers-boot0): Use it.
	  (texinfo-boot0): New variable.
	  (glibc-final-with-bootstrap-bash): Add 'native-inputs' field.

2014-01-06  Ludovic Courtès  <ludo@gnu.org>

	archive: Add '--missing'.
	* guix/scripts/archive.scm (show-help, %options): Add '--missing'.
	  (guix-archive)[lines]: New procedure.
	  Use it to honor '--missing'.
	* tests/guix-archive.sh: Add tests.
	* doc/guix.texi (Invoking guix archive): Document '--missing'.

2014-01-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: lsh: Move generic patching to 'snippet'.
	* gnu/packages/lsh.scm (lsh): Move generic patching to the 'snippet'
	  field of 'origin'.

	archive: Make sure $sysconfdir/guix exists.
	* guix/pki.scm (ensure-acl): Make sure the directory of %ACL-FILE
	  exists.
	* guix/scripts/archive.scm (generate-key-pair): Likewise for
	  %PUBLIC-KEY-FILE.

	guix build: Add '--no-build-hook'.
	* guix/scripts/build.scm (%default-options): Add 'build-hook?' pair.
	  (show-help, %options): Add --no-build-hook.
	  (guix-build): Pass the 'build-hook?' value to 'set-build-options'.
	* doc/guix.texi (Invoking guix build): Document '--no-build-hook'.

2014-01-04  Ludovic Courtès  <ludo@gnu.org>

	guix package: Gracefully deal with EPIPE on stdout for --list-*.
	* guix/scripts/package.scm (leave-on-EPIPE): New macro.
	  (guix-package): Use it for 'list-installed', 'list-available', and
	  '--list-generations'.
	* tests/guix-package.sh: Add test.

	gnu: lsh: Fix the absolute file name of 'sexp-conv'.
	* gnu/packages/lsh.scm (lsh): Rename 'fix-test-suite' phase to
	  'pre-configure'.  Set PATH_SEXP_CONV in environ.h.in.

	gnu: nettle: Set the RUNPATH on 'sexp-conv' and other programs.
	* gnu/packages/nettle.scm (nettle): Rename 'inputs' to 'native-inputs'.
	  Add 'arguments' field.

	gnu: lsh: Distinguish between native inputs and target inputs.
	* gnu/packages/lsh.scm (lsh): Move M4, Guile, gperf, and psmisc to
	  'native-inputs'.  Use GUILE-2.0 instead of GUILE-FINAL.

2014-01-03  Ludovic Courtès  <ludo@gnu.org>

	doc: Update 'ROADMAP'.
	* ROADMAP: Add link to the updated road map, and the a note on release
	  history.

	Thank Niels.

	gnu: pulseaudio: Add patch for 'volume-test'; re-enable tests.
	* gnu/packages/patches/pulseaudio-volume-test.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/pulseaudio.scm (pulseaudio): Use it.  Remove
	  #:tests? #t.

2013-12-30  John Darrington  <jmd@gnu.org>

	gnu: games: Add new package gnubg
	* gnu/packages/games.scm (gnubg): New variable

2013-12-30  Ludovic Courtès  <ludo@gnu.org>

	gnu: libgcrypt: Add "debug" output.
	* gnu/packages/gnupg.scm (libgcrypt): Add 'outputs' field.

	archive: Add '--authorize'.
	* guix/scripts/archive.scm (authorize-key): New procedure.
	  (guix-archive): Call it when OPTS contains 'authorize-key'.
	* tests/guix-archive.sh: Add test with invalid public key.
	* guix/pki.scm: Export '%acl-file'.
	* doc/guix.texi (Invoking guix archive): Make it clear that '--import'
	  works only with authorized keys.  Document '--authorize'.

	archive: Add '--generate-key'.
	* guix/pk-crypto.scm (error-source, error-string): New procedures.
	* guix/pki.scm (%private-key-file): New variable.
	* guix/scripts/archive.scm (show-help): Document '--generate-key'.
	  (%options): Add "generate-key".
	  (generate-key-pair): New procedure.
	  (guix-archive): Call 'generate-key' when OPTS contains a
	  'generate-key' pair.
	* doc/guix.texi (Setting Up the Daemon): Suggest generating a key pair.
	  (Invoking guix archive): Document '--generate-key'.

	pk-crypto: Fix 'canonical-sexp->sexp' for atoms.
	* guix/pk-crypto.scm (canonical-sexp->sexp): Add hack to extract an
	  atom's buffer.
	* tests/pk-crypto.scm ("sexp->canonical-sexp->sexp"): Add sample.

	pk-crypto: Work around Libgcrypt bug <https://bugs.g10code.com/gnupg/issue1594>.
	* guix/pk-crypto.scm (canonical-sexp-fold): Call 'nth-data' before
	  'nth' to work around <https://bugs.g10code.com/gnupg/issue1594>.
	* tests/pk-crypto.scm ("https://bugs.g10code.com/gnupg/issue1594"): New
	  test.

	authenticate: Consistently use 'leave' for fatal error reporting.
	* guix/scripts/authenticate.scm (guix-authenticate): Replace all uses of
	  'format' + 'exit' with 'leave'.

	Thank Kete.

2013-12-30  John Darrington  <jmd@gnu.org>

	gnu: mesa: Move out of xorg.scm and into gl.scm
	* gnu/packages/xorg.scm (mesa): Move to...
	* gnu/packages/gl.scm (mesa): ... here.  New variable.
	* gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm,
	  gnu/packages/qemu.scm, gnu/packages/qt.scm: Adjust accordingly.

2013-12-30  Ludovic Courtès  <ludo@gnu.org>

	doc: Invoke 'useradd' with '--system'.
	Reported by Kete <kete@ninthfloor.org>.
	Fixes <http://bugs.gnu.org/16289>.

	* doc/guix.texi (Setting Up the Daemon): Add '--system' to the 'useradd'
	  command line.  Suggested by Kete <kete@ninthfloor.org>.

2013-12-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: automake: Upgrade to 1.14.1.
	* gnu/packages/autotools.scm (automake): Upgrade to 1.14.1.

	gnu: gdbm: Upgrade to 1.11.
	* gnu/packages/gdbm.scm (gdbm): Upgrade to 1.11.

	build: Improve documentation of Nix-related options.
	* configure.ac: Add documentation for --with-nix and --with-nixpkgs.

2013-12-29  John Darrington  <jmd@gnu.org>

	gnu: games: New module
	* gnu/packages/games.scm (gnubik): New variable

	gnu: gnome: Add new package gtkglext
	* gnu/packages/gnome.scm (gtkglext): New variable.
	* gnu/packages/patches/gtkglext-disable-disable-deprecated.patch,
	  gnu/packages/patches/gtkglext-remove-pangox-dependency.patch: New
	  files.
	* gnu-system.am (dist_patch_DATA): Add them.

2013-12-29  Ludovic Courtès  <ludo@gnu.org>

	authenticate: Disallow imports signed with unauthorized keys.
	* guix/scripts/authenticate.scm (signature-sexp): Remove.
	  (guix-authenticate): Upon '-verify', check whether the signature's
	  public key passes 'authorized-key?'.

	Add (guix pki).
	* guix/pki.scm, tests/pki.scm: New files.
	* Makefile.am (MODULES): Add 'guix/pki.scm'.
	  (SCM_TESTS): Add 'tests/pki.scm'.

	config: Export '%config-directory'.
	* configure.ac: Define and substitute 'guix_sysconfdir'.
	* guix/config.scm.in (%config-directory): New variable.

	Move 'with-atomic-file-output' to (guix utils).
	* guix/scripts/substitute-binary.scm (with-atomic-file-output): Move to...
	* guix/utils.scm (with-atomic-file-output): ... here.

	pk-crypto: Add canonical-sexp to sexp conversion procedures.
	* guix/pk-crypto.scm (canonical-sexp-fold, canonical-sexp->sexp,
	  sexp->canonical-sexp): New procedures.
	* tests/pk-crypto.scm ("canonical-sexp->sexp",
	  "sexp->canonical-sexp->sexp"): New tests.

	pk-crypto: Add 'canonical-sexp-length' and related procedures.
	* guix/pk-crypto.scm (canonical-sexp-length, canonical-sexp-null?,
	  canonical-sexp-list?): New procedures.
	* tests/pk-crypto.scm ("canonical-sexp-length", "canonical-sexp-list?"):
	  New tests.

	pk-crypto: 'canonical-sexp-nth-data' returns a symbol for "tokens".
	* guix/pk-crypto.scm (token-string?): New procedure.
	  (canonical-sexp-nth-data): Return a symbol when the element is a
	  "token", and a bytevector otherwise.
	  (latin1-string->bytevector): Remove.
	  (hash-data->bytevector): Adjust accordingly.
	* tests/pk-crypto.scm ("canonical-sexp-nth"): Adjust accordingly.  Add
	  octet string example.

	authenticate: Store the public key as part of the signature.
	* guix/scripts/authenticate.scm (signature-sexp): New procedure.
	  (guix-authenticate): Use it to produce the signature.  Adjust
	  verification code accordingly.
	* tests/store.scm ("import corrupt path"): Adjust test accordingly.

	pk-crypto: Rename 'gcry-sexp' to 'canonical-sexp'.
	* guix/pk-crypto.scm: Rename procedures, variables, etc. from
	  'gcry-sexp' to 'canonical-sexp'.  Add comment with references.
	* guix/scripts/authenticate.scm, tests/pk-crypto.scm: Adjust
	  accordingly.

2013-12-28  Andreas Enge  <andreas@enge.fr>

	gnu: python: Update to 3.3.3.
	* gnu/packages/python.scm (python): Update to 3.3.3.

	gnu: python-2: Update to 2.7.6.
	* gnu/packages/python.scm (python-2): Update to 2.7.6.

	gnu: parallel: Update to 20131122.
	* gnu/packages/parallel.scm (parallel): Update to 20131122.

	gnu: xorriso: Update to 1.3.4.
	* gnu/packages/cdrom.scm (xorriso): Update to 1.3.4.

	gnu: libcdio: Update to 0.92.
	* gnu/packages/cdrom.scm (libcdio): Update to 0.92.

	gnu: libextractor: Update to 1.3.
	* gnu/packages/gnunet.scm (libextractor): Update to 1.3.

2013-12-22  Andreas Enge  <andreas@enge.fr>

	gnu: vim: Update to 7.4.
	* gnu/packages/vim.scm (vim): Update to 7.4.

2013-12-22  Ludovic Courtès  <ludo@gnu.org>

	Update 'TODO'.

	Add 'guix archive'.
	* guix/scripts/archive.scm, tests/guix-archive.sh: New files.
	* Makefile.am (MODULES): Add 'archive.scm'.
	  (SH_TESTS): Add 'guix-archive.sh'.
	* doc/guix.texi (Invoking guix archive): New section.
	* guix/scripts/build.scm: Export 'derivation-from-expression'.
	* guix/scripts/package.scm: Export 'specification->package+output'.

	build: Install 'guix-authenticate'.
	* daemon.am (nodist_libexec_SCRIPTS): New variable.

2013-12-21  Ludovic Courtès  <ludo@gnu.org>

	guix build: Improve procedural decomposition.
	* guix/scripts/build.scm (%store): Remove.
	  (derivation-from-expression): Add 'store' parameter.  Adjust caller
	  accordingly.
	  (register-root): New procedure, formerly within 'guix-build'.
	  (options->derivations): New procedure, formerly inline within
	  'guix-build'.
	  (guix-build): Adjust accordingly.

	Factorize package search between 'guix package' and 'guix build'.
	* guix/scripts/package.scm (newest-available-packages): Remove.
	  (find-best-packages-by-name): Move to...
	* gnu/packages.scm (find-best-packages-by-name): ... here.
	  (find-newest-available-packages): Memoize.
	* guix/scripts/build.scm (specification->package): New procedure,
	  formerly called 'find-package' within 'guix-build'.
	  (guix-build): Adjust accordingly.

	authenticate: Add test.
	* tests/guix-authenticate.sh: New file.
	* Makefile.am (SH_TESTS): Add it.

2013-12-21  Ludovic Courtès  <ludo@gnu.org>

	build: Adjust pk-crypto tests to Libgcrypt 1.5.3.
	Reported by Andreas Enge <andreas@enge.fr>.

	* tests/pk-crypto.scm ("string->gcry-sexp->string"): Remove "#C0FFEE#"
	  from SEXPS.
	  ("gcry-sexp-nth"): Start at index 1.

2013-12-20  Ludovic Courtès  <ludo@gnu.org>

	daemon: Implement signed archive import/export.
	* guix/scripts/authenticate.scm, nix/scripts/guix-authenticate.in,
	  tests/signing-key.pub, tests/signing-key.sec: New files.
	* po/POTFILES.in: Add 'guix/scripts/authenticate.scm'.
	* guix/store.scm (dump-port): New procedure.
	  (process-stderr): Add 'user-port' optional parameter.  Handle
	  the %STDERR-WRITE and %STDERR-READ cases as expected.
	  (import-paths, export-path, export-paths): New procedures.
	* tests/store.scm ("export/import several paths", "import corrupt
	  path"): New tests.
	* Makefile.am (MODULES): Add 'guix/scripts/authenticate.scm'.
	  (EXTRA_DIST): Add 'tests/signing-key.{pub,sec}'.
	* daemon.am (libstore_a_CPPFLAGS)[-DNIX_CONF_DIR]: Change 'NIX_CONF_DIR'
	  to .../guix.  Change 'OPENSSL_PATH' to 'guix-authenticate'.
	* config-daemon.ac: Instantiate 'nix/scripts/guix-authenticate'.
	* nix/nix-daemon/guix-daemon.cc (main): Augment $PATH to include
	  'settings.nixLibexecDir'.
	* test-env.in: Export 'NIX_CONF_DIR' and 'NIX_LIBEXEC_DIR'.  Populate
	  $NIX_CONF_DIR.

	pk-crypto: Add a few sexp utility procedures.
	* guix/pk-crypto.scm (gcry-sexp-car, gcry-sexp-cdr, gcry-sexp-nth,
	  gcry-sexp-nth-data, dereference-size_t, latin1-string->bytevector,
	  hash-data->bytevector): New procedures.
	* tests/pk-crypto.scm ("gcry-sexp-car + cdr", "gcry-sexp-nth",
	  "gcry-sexp-nth-data", "bytevector->hash-data->bytevector"): New tests.

	Update 'TODO'.

	Add (guix pk-crypto).
	* guix/pk-crypto.scm, tests/pk-crypto.scm: New files.
	* Makefile.am (MODULES, SCM_TESTS): Add them.

2013-12-19  Ludovic Courtès  <ludo@gnu.org>

	sync-with-upstream: Work around limitation of dash.
	Reported by Andreas Enge <andreas@enge.fr>.

	* nix/sync-with-upstream: Expand use of {cc,hh}, to placate dash.

2013-12-19  Ludovic Courtès  <ludo@gnu.org>

	daemon: Fix 'HashSink::currentHash()'.
	Before that, calls to 'HashSink::currentHash()' would eventually lead to
	a segfault because the underlying gcrypt handle has been closed.  (Note
	that this method is only used via 'importPaths' and 'exportPath', though.)

	* nix/libutil/gcrypt-hash.hh (struct guix_hash_context): Add a
	  constructor and a copy constructor; move out of 'extern "C"'.
	* nix/libutil/gcrypt-hash.cc (guix_hash_final): Clear 'md_handle' upon
	  exit.
	* nix/sync-with-upstream (top_srcdir): Change hash.{cc,hh} to read
	  'struct Ctx' instead of 'union Ctx'.

2013-12-19  Ludovic Courtès  <ludo@gnu.org>

	daemon: Add libgcrypt call to state that the initialization is over.
	* nix/nix-daemon/guix-daemon.cc (main): Add 'gcry_control' call.

2013-12-18  Andreas Enge  <andreas@enge.fr>

	gnu: xf86-video-vmware: Add input xorg-server.
	* gnu/packages/xorg.scm (xf86-video-vmware): Add input xorg-server.

	gnu: iso-codes: Update to 3.49.
	* gnu/packages/iso-codes.scm (iso-codes): Update to 3.49.

	gnu: shishi: Use libgcrypt-1.5.
	* gnu/packages/shishi.scm (shishi): Use input libgcrypt-1.5 instead of 1.6.

	gnu: libgcrypt: Make old version 1.5.3 public.
	* gnu/packages/gnupg.scm (libgcrypt-1.5): New variable.
	* gnu/packages/ssh.scm (libssh): Use libgcrypt-1.5 instead of defining it
	    ad-hoc.

2013-12-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: libssh: Upgrade to 0.5.5.
	* gnu/packages/ssh.scm (libssh): Upgrade to 0.5.5.

	gnu: libssh: Build against an older libgcrypt.
	* gnu/packages/ssh.scm (libssh): Use libgcrypt 1.5.3 as an input.

2013-12-17  John Darrington  <john@darrington.wattle.id.au>

	gnu: gnu-build-system: Add CC_FOR_BUILD to configure flags.
	* guix/build/gnu-build-system.scm: Add new configure flag: CC_FOR_BUILD=gcc

	* gnu/packages/gnupg.scm, gnu/packages/guile.scm, gnu/packages/make-bootstrap.scm:
	  remove CC_FOR_BUILD from these package descriptions.

2013-12-17  Andreas Enge  <andreas@enge.fr>

	gnu: ffmpeg: Modify runpath of binaries to include output library path.
	* gnu/packages/video.scm (ffmpeg): Patch binaries to add output library path
	    to runpath.

2013-12-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: tor: Upgrade to 0.2.4.19.
	* gnu/packages/tor.scm (tor): Upgrade to 0.2.4.19.

	gnu: freeipmi: Upgrade to 1.3.4.
	* gnu/packages/freeipmi.scm (freeipmi): Upgrade to 1.3.4.

	gnu: libgcrypt: Upgrade to 1.6.0.
	* gnu/packages/gnupg.scm (libgcrypt): Upgrade to 1.6.0.

	pull: Move build code to (guix build pull).
	* guix/build/pull.scm: New file.
	* Makefile.am (MODULES): Add it.
	* guix/scripts/pull.scm (unpack): Use it.

2013-12-16  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add gnome-desktop.
	* gnu/packages/gnome.scm (gnome-desktop): New variable.

2013-12-15  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add iso-codes.
	* gnu/packages/iso-codes.scm: New file.
	* gnu-system.am: Add it.

	gnu: Add libpeas.
	* gnu/packages/gnome.scm (libpeas): New variable.

	gnu: gtk+: enable introspection.
	* gnu/packages/gtk.scm (atk, gdk-pixbuf, gtk+, pango): enable introspection
	* guix/build/gnome.scm: New file.

	gnu: gobject-introspection: look for 'gcc' when no compiler seems available.
	* gnu/packages/patches/gobject-introspection.patch: New file.

2013-12-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: Move libelf and patchelf to (gnu packages elf).
	* gnu/packages/patchelf.scm (patchelf): Move to...
	* gnu/packages/elf.scm (patchelf): ... here.
	* gnu/packages/patchelf.scm: Remove.
	* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
	* gnu/packages/gcc.scm (libelf): Move to...
	* gnu/packages/elf.scm (libelf): ... here.
	* gnu/packages/cdrom.scm, gnu/packages/icu4c.scm,
	  gnu/packages/samba.scm, gnu/packages/scheme.scm, gnu/packages/ssh.scm:
	  Adjust references to (gnu packages patchelf).

	gnu: Add elfutils.
	* gnu/packages/elf.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-12-15  John Darrington  <jmd@gnu.org>

	gnu: Move numerous "inputs" which should be "native-inputs".
	* gnu/packages/avahi.scm, gnu/packages/cdrom.scm, gnu/packages/cryptsetup.scm,
	  gnu/packages/curl.scm, gnu/packages/emacs.scm, gnu/packages/fontutils.scm,
	  gnu/packages/gdb.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
	  gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
	  gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/graphviz.scm,
	  gnu/packages/groff.scm, gnu/packages/gstreamer.scm, gnu/packages/gtk.scm,
	  gnu/packages/gv.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm,
	  gnu/packages/kde.scm, gnu/packages/libcanberra.scm, gnu/packages/libtiff.scm,
	  gnu/packages/linux.scm, gnu/packages/lvm.scm, gnu/packages/mp3.scm,
	  gnu/packages/netpbm.scm, gnu/packages/parted.scm, gnu/packages/pdf.scm,
	  gnu/packages/pulseaudio.scm, gnu/packages/qemu.scm, gnu/packages/qt.scm,
	  gnu/packages/ratpoison.scm, gnu/packages/rdf.scm, gnu/packages/slim.scm,
	  gnu/packages/texlive.scm, gnu/packages/version-control.scm,
	  gnu/packages/video.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
	  gnu/packages/xml.scm, gnu/packages/xnee.scm, gnu/packages/xorg.scm,
	  gnu/packages/zip.scm:  Move some build-time dependencies from `inputs' to
	  `native-inputs'.

2013-12-15  John Darrington  <john@darrington.wattle.id.au>

	gnu: gnupg: Fix cross-compile issues.
	* gnu/packages/gnupg.scm (libgpg-error): Add gcc as a native input,
	  and set the CC_FOR_BUILD variable.

	* gnu/packages/gnupg.scm (libgcrypt): Add libgpg-error as a native input and
	  set the --with-gpg-error-prefix configure option.

	* gnu/packages/gnupg.scm (libksba): Add libgpg-error as a native input and
	  set the --with-gpg-error-prefix configure option.

2013-12-15  John Darrington  <jmd@gnu.org>

	gnu: openssl: Fix cross-compile issues.
	* gnu/packages/openssl.scm (openssl): Move perl from inputs to
	  native-inputs.
	  Replace reference to target bash with the native bash or target bash as
	  appropriate.

2013-12-15  Andreas Enge  <andreas@enge.fr>

	gnu: imagemagick: Add inputs.
	* gnu/packages/imagemagick.scm (imagemagick): Add inputs fftw and lcms.

	gnu: imagemagick: Update to 6.8.7-9.
	* gnu/packages/imagemagick.scm (imagemagick): Update to 6.8.7-9.

2013-12-14  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Update to 5.2.0.
	* gnu/packages/qt.scm (qt): Update to 5.2.0.

2013-12-14  Mark H Weaver  <mhw@netris.org>

	guix package: allow multiple arguments after -i, -r, and -u.
	* guix/scripts/package.scm (%options): Adapt option processors to accept and
	  return a second seed value: 'arg-handler', which handles bare arguments (if
	  not false).  The install, remove, and upgrade option processors return an
	  arg-handler that repeat the same operation.  All other option processors
	  return #f as the arg-handler.  Make the arguments to install and remove
	  optional.  The upgrade option processor deletes (upgrade . #f) from the
	  alist before adding a new entry.
	  (guix-package): Procedures passed to 'args-fold*' accept the new seed value
	  'arg-handler'.  The 'operand-proc' uses 'arg-handler' (if not false).

	* doc/guix.texi (Invoking guix package): Update docs.

	* tests/guix-package.sh: Add test.

2013-12-14  John Darrington  <john@darrington.wattle.id.au>

	gnu: libxml2: Fixed cross-compilation.
	* gnu/packages/xml.scm (libxml2): assign "cross-libc"
	  to the variable glibc.

2013-12-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: tzdata: Fix cross-compilation.
	Reported by John Darrington <john@darrington.wattle.id.au>.

	* gnu/packages/base.scm (tzdata): Use the 'source' keyword argument in
	  phases rather than the "source" input.  This fixes cross-compilation.

2013-12-14  Ludovic Courtès  <ludo@gnu.org>

	pull: Compile guix/ files before gnu/ files.
	* guix/scripts/pull.scm (unpack)[builder]: Build files under guix/
	  before files under gnu/.

	pull: Compile files in parallel.
	* guix/scripts/pull.scm (unpack)[builder](compile-file*): Remove.
	  (call-with-process, p-for-each): New procedures.  Use them to compile
	  files in parallel.

2013-12-14  Ludovic Courtès  <ludo@gnu.org>

	pull: Limit memory usage when compiling.
	Reported by Arne Babenhauserheide <arne.babenhauserheide@kit.edu>.

	* guix/scripts/pull.scm (unpack)[builder](compile-file*): Change to run
	  'compile-file' in a child process.  This limits memory usage; before
	  that memory usage was proportional to the number of files to compile.

2013-12-14  Andreas Enge  <andreas@enge.fr>

	gnu: icecat: Further analyse the failure of using system libpng and libjpeg.
	* gnu/packages/gnuzilla.scm (icecat): Add comments.

2013-12-13  John Darrington  <jmd@gnu.org>

	gnu: file: Fixed cross-compilation.
	* gnu/packages/file.scm (file): [(eq? (%current-target-system) #f)] Add native-inputs.

2013-12-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: icecat: Build without debugging symbols; use some of the system libs.
	* gnu/packages/gnuzilla.scm (icecat): Add 'native-inputs'.  Add bzip2,
	  libevent, libffi, and zlib as inputs.  Add #:configure-flags.  Change
	  'configure' phase to honor it.

	gnu: idutils: Add Emacs as an input so idutils.el gets compiled and installed.
	* gnu/packages/idutils.scm (idutils): Add Emacs to 'native-inputs'.

	gnu: global: Install the elisp file under $out/share/emacs/site-lisp.
	* gnu/packages/global.scm (global)[arguments]: Add #:phases.

2013-12-13  Andreas Enge  <andreas@enge.fr>

	gnu: ffmpeg: Check via "make fate".
	* gnu/packages/patches/ffmpeg-check.patch: Drop patch.
	* gnu-system.am (dist_patch_DATA): Unregister patch.
	* gnu/packages/video.scm (ffmpeg): Drop patch and use "fate" as test target
	    as recommended at http://trac.ffmpeg.org/ticket/3177#comment:11 .
	* gnu/packages/video.scm

2013-12-11  Ludovic Courtès  <ludo@gnu.org>

	gnu: libtasn1: Upgrade to 3.4.
	* gnu/packages/gnutls.scm (libtasn1): Upgrade to 3.4.  Add
	  'native-inputs' field.

	build: Skip one 'package-source-derivation' test when networking is missing.
	* tests/packages.scm ("package-source-derivation, snippet"): Skip when
	  networking is missing.

	gnu: guix: Upgrade to 0.5.
	* gnu/packages/package-management.scm (guix): Upgrade to 0.5.  Update
	  the bootstrap binaries; add mips64el; add
	  'guix-test-networking.patch'.

	build: Bump to version 0.6.
	* configure.ac: Switch to 0.6.

	Update 'NEWS'.

	build: Remove '..' from srcdir/builddir in 'pre-inst-env'.
	* pre-inst-env.in (abs_top_srcdir, abs_top_builddir): New variables.
	  Use them instead of @abs_top_srcdir@ and @abs_top_builddir@.
	  This fixes the "package-field-location, relative file name" test in
	  'make distcheck'.

	doc: Slightly improve the "System Configuration" node.
	* doc/guix.texi (System Configuration): Add paragraph on upgrades and
	  rollback, moved from "Using the Configuration System".
	  (Using the Configuration System): Change variable name to
	  'komputilo'.  Add xref to "Package Modules".

	gnu: gdb: Upgrade to 7.6.2.
	* gnu/packages/gdb.scm (gdb): Update to 7.6.2.

	gnu: vm: Increase size of VM image.
	* gnu/system/vm.scm (system-qemu-image): Add 'disk-image-size'
	  parameter; increase it.

	store: Optimize 'store-path-package-name' and 'store-path-hash-part'.
	* guix/store.scm (store-regexp*): New procedure.
	  (store-path-package-name, store-path-hash-part): Use it.

	store: Add tests for 'store-path-package-name'.
	* tests/store.scm ("store-path-package-name", "store-path-package-name
	  #f"): New tests.

2013-12-10  Ludovic Courtès  <ludo@gnu.org>

	Update '.po' files.

2013-12-10  Andreas Enge  <andreas@enge.fr>

	NEWS: Small changes.
	NEWS: Typos and very minor changes.

2013-12-10  Ludovic Courtès  <ludo@gnu.org>

	Update 'NEWS'.

	gnu: Honor the operating system's locale and timezone.
	* gnu/system.scm (etc-directory): Add 'locale' and 'timezone'
	  parameters.  Set 'LC_ALL', 'TZ', and 'TZDIR' in /etc/profile.
	  (operating-system-derivation): Adjust call accordingly.
	* gnu/system/vm.scm (%demo-operating-system): Change locale to
	  'en_US.UTF-8'.  Add TZDATA to 'packages'.

	hydra: Add zlib, gzip, and xz to the core package set.
	* build-aux/hydra/gnu-system.scm (%core-packages): Add zlib, gzip, and xz.

2013-12-10  John Darrington  <jmd@gnu.org>

	gnu: compression: Fix cross-compilation of zlib.
	* gnu/packages/compression.scm : Zlib uses a non-standard
	  way of configuring for cross-compilation.  Thanks to Ludovic
	  for showing me the correct way to fix this.

2013-12-10  Ludovic Courtès  <ludo@gnu.org>

	doc: First stab at documenting whole-system configuration.
	* doc/guix.texi (Features): Add xref to "Using the Configuration
	  System".
	  (System Configuration, Using the Configuration System, Defining
	  Services): New nodes.

	gnu: Allow a plain list of packages in 'operating-system'.
	* gnu/system.scm (union): Allow (PACKAGE OUTPUT), (PACKAGE), and
	  PACKAGE.
	  (<operating-system>)[packages]: Make the default a list of package?
	  objects.
	* gnu/system/vm.scm (%demo-operating-system): Likewise.  Add a few
	  packages.

	gnu: Add 'inputs' field to <user-account>; make 'shell' a monadic value.
	* gnu/system/shadow.scm (<user-account>)[inputs]: New field.
	  (passwd-file): Bind the 'shell' field of each account.
	* gnu/system/vm.scm (%demo-operating-system): Remove 'shell' field.
	* gnu/system/dmd.scm (guix-build-accounts): Store a monadic value in
	  'shell'.  Add 'inputs' field.
	* gnu/system.scm (operating-system-derivation): Remove 'shell' field for
	  'root' account.  Add all the 'user-account-inputs' to EXTRAS.

	gnu: dmd: Avoid "already exists" error on startup.
	* gnu/system/dmd.scm (dmd-configuration-file)[config]: Remove
	  "/var/nix/gcroots/etc-directory" before trying to recreate it.

	gnu: Add (gnu system).
	* gnu/system/vm.scm (lower-inputs): Move to monads.scm.
	  (qemu-image): Don't add GRUB-CONFIGURATION to the INPUTS-TO-COPY.
	  (union, file-union, etc-directory): Move to gnu/system.scm.
	  (%demo-operating-system): New variable.
	  (system-qemu-image): Add 'os' parameter.  Rewrite in terms of
	  'operating-system-derivation'.
	* guix/monads.scm (lower-inputs): New procedure.
	* gnu/system/grub.scm (grub-configuration-file): Change 'entries' to be
	  a plain list instead of a list of monadic values.
	* gnu/system.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	monads: Fix 'anym'.
	* guix/monads.scm (anym): Fix successful case.
	* tests/monads.scm ("anym"): New test.

2013-12-10  Andreas Enge  <andreas@enge.fr>

	gnu: perl-xml-dom: Propagate inputs.
	* gnu/packages/xml.scm (perl-xml-dom): Drop inputs that are obtained through
	    propagation, propagate the other inputs.

	gnu: perl-libxml: Propagate input.
	* gnu/packages/xml.scm (perl-libxml): Propagate input perl-xml-parser.

	gnu: perl-http-message: Propagate input perl-http-date.
	* gnu/packages/web.scm (perl-http-message): Propagate input perl-http-date.
	* gnu/packages/web.scm (perl-http-cookies, perl-http-daemon): Drop input perl-http-date.

2013-12-09  Andreas Enge  <andreas@enge.fr>

	gnu: perl-libwww: Propagate all inputs.
	* gnu/packages/web.scm (perl-libwww): Drop inputs that appear through
	    propagation, and propagate all others.

	gnu: perl-file-listing: Propagate input.
	* gnu/packages/web.scm (perl-file-listing): Propagate input perl-http-date.

	gnu: perl-www-robotrules: Propagate input.
	* gnu/packages/web.scm (perl-www-robotrules): Propagate input perl-uri.

	gnu: perl-http-negotiate: Propagate input.
	* gnu/packages/web.scm (perl-http-negotiate): Propagate input
	    perl-http-message, drop input perl-uri (propagated by perl-http-message).

	gnu: perl-http-daemon: Propagate inputs.
	* gnu/packages/web.scm (perl-http-daemon): Propagate inputs perl-http-date,
	    perl-http-message and perl-lwp-mediatypes; drop input perl-uri
	    (propagated by perl-http-message).

	gnu: perl-http-cookies: Propagate inputs.
	* gnu/packages/web.scm (perl-http-cookies): Propagate inputs perl-http-date
	    and perl-http-message; drop input perl-uri (itself propagated from
	    perl-http-message).

	gnu: perl-http-message: Propagate input perl-uri.
	* gnu/packages/web.scm (perl-http-message): Propagate input perl-uri,
	    since "perl -MHTTP::Message" complains that it is missing.

	gnu: Add perl-xml-dom.
	* gnu/packages/xml.scm (perl-xml-dom): New variable.

	gnu: Add perl-libwww.
	* gnu/packages/web.scm (perl-libwww): New variable.

	gnu: Add perl-encode-locale.
	* gnu/packages/web.scm (perl-encode-locale): New variable.

	gnu: Add perl-file-listing.
	* gnu/packages/web.scm (perl-file-listing): New variable.

	gnu: Add perl-file-list.
	* gnu/packages/perl.scm (perl-file-list): New variable.

	build-system/perl: Honour phases argument in perl build system.
	* guix/build-system/perl.scm (perl-build): Propagate phases argument to
	    builder.

2013-12-08  Andreas Enge  <andreas@enge.fr>

	gnu: rcs: Update to 5.9.2.
	* gnu/packages/version-control.scm (rcs): Update to 5.9.2.

	gnu: parallel: Update to 20131122.
	* gnu/packages/parallel.scm (parallel): Update to 20131122.

2013-12-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: Populate /etc upon startup.
	* gnu/packages/patches/dmd-getpw.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/system.scm (dmd): Use it.
	* gnu/system/vm.scm (system-qemu-image): Don't explicitly populate /etc;
	  don't add ETC to the GC roots.
	* gnu/system/dmd.scm (dmd-configuration-file): Add 'etc' parameter.
	  [config]: Populate /etc from there.

2013-12-08  Andreas Enge  <andreas@enge.fr>

	gnu: Add perl-net-http.
	* gnu/packages/web.scm (perl-net-http): New variable.

	gnu: Add perl-www-robotrules.
	* gnu/packages/web.scm (perl-www-robotrules): New variable.

	gnu: Add perl-http-negotiate.
	* gnu/packages/web.scm (perl-http-negotiate): New variable.

	gnu: bison: Update to 3.0.2.
	* gnu/packages/bison.scm (bison): Update to 3.0.2.

	gnu: Add perl-http-daemon.
	* gnu/packages/web.scm (perl-http-daemon): New variable.

2013-12-07  Andreas Enge  <andreas@enge.fr>

	gnu: Add perl-http-cookies.
	* gnu/packages/web.scm (perl-http-cookies): New variable.

	gnu: Add perl-http-message.
	* gnu/packages/web.scm (perl-http-message): New variable.

	gnu: Add perl-io-html.
	* gnu/packages/web.scm (perl-io-html): New variable.

	gnu: Add perl-lwp-mediatypes.
	* gnu/packages/web.scm (perl-lwp-mediatypes): New variable.

	gnu: Add perl-uri.
	* gnu/packages/web.scm (perl-uri): New variable.

	gnu: Add perl-http-date.
	* gnu/packages/web.scm (perl-http-date): New variable.

	gnu: Add perl-html-parser.
	* gnu/packages/web.scm (perl-html-parser): New variable.

	gnu: Add perl-html-tagset.
	* gnu/packages/web.scm (perl-html-tagset): New variable.

	gnu: Rename perl-xml-parser-perlsax to perl-libxml.
	* gnu/packages/xml.scm (perl-libxml): Rename from perl-xml-parser-perlsax.

2013-12-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: dmd: Add 'pam-services' field to <service>.
	* gnu/system/dmd.scm (<service>)[pam-services]: New field.
	  (mingetty-service): Add #:motd and #:allow-empty-passwords?
	  parameters.  Add MOTD to 'inputs' field; add 'pam-services' field.
	* gnu/system/vm.scm (system-qemu-image): Aggregate PAM entries from
	  SERVICES.

	gnu: vm: Fix inputs in 'file-union'.
	* gnu/system/vm.scm (file-union): Filter out members of FILES that are
	  outputs of INPUTS.

	gnu: dmd: Add 'user-accounts' and 'user-groups' fields to <service>.
	* gnu/system/shadow.scm (guix-build-accounts): Move to...
	* gnu/system/dmd.scm (guix-build-accounts): ... here.
	  (<service>)[user-accounts, user-groups]: New fields.
	  (guix-service): New #:build-user-id and #:build-accounts parameters.
	  Use 'guix-build-accounts' and set the 'user-accounts' and
	  'user-groups' fields accordingly.
	* gnu/system/vm.scm (system-qemu-image): Remove use of
	  'guix-build-accounts'.  Augment ACCOUNTS and GROUPS from what SERVICES
	  demand.

	doc: Adjust "Building from Git" instructions.
	* HACKING (Building from Git): As a follow-up to ff1cbb9, update the
	  error reported when pkg.m4 is missing.  Suggested by
	  John Darrington <john@darrington.wattle.id.au>.

	gnu: Move /etc/resolv.conf handling to the networking service.
	* gnu/system/vm.scm (etc-directory): Remove 'resolv.conf'.
	  (system-qemu-image): Use 'static-networking-service' with
	  #:name-servers.  Don't populate the image with /etc/resolv.conf.
	* gnu/system/dmd.scm (static-networking-service): Add #:name-servers
	  parameter.  Use it to populate /etc/resolv.conf.

	gnu: vm: Factorize /etc creation.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm)[lower-inputs]:
	  Move to top-level...
	  (lower-inputs): ... here.  New variable.
	  (file-union, etc-directory): New procedures.
	  (system-qemu-image): Use 'etc-directory'; remove redundant code, and
	  register the result of 'etc-directory' as a GC root.

2013-12-06  Andreas Enge  <andreas@enge.fr>

	gnu: pulseaudio: Disable tests on mips64el.
	* gnu/packages/pulseaudio.scm (pulseaudio): Drop tests also on mips64el.

	gnu: Add perl-xml-regexp.
	* gnu/packages/xml.scm (perl-xml-regexp): New variable.

	gnu: Add perl-xml-parser-perlsax.
	* gnu/packages/xml.scm (perl-xml-parser-perlsax): New variable.

	gnu: libmicrohttpd: Upgrade to 0.9.32.
	* gnu/packages/gnunet.scm (libmicrohttpd): Upgrade to 0.9.32.

	gnu: soprano: Add input raptor2.
	* gnu/packages/rdf.scm (soprano): Add input raptor2.

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

2013-12-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: pulseaudio: Fix typo introduced in 76dcc99.
	* gnu/packages/pulseaudio.scm (pulseaudio): Disable tests on i686.
	  (pavucontrol): Remove 'arguments'.

	monads: Remove erroneous comment.
	* guix/monads.scm (sequence): Remove erroneous comment.

	gnu: pulseaudio: Disable tests on i686.
	* gnu/packages/pulseaudio.scm (pavucontrol): New 'arguments' field.

2013-12-05  Ludovic Courtès  <ludo@gnu.org>

	build: Work around build problem on systems that lack (gnutls).
	Reported at <https://lists.gnu.org/archive/html/guix-devel/2013-12/msg00002.html>.

	* Makefile.am (MODULES): Shuffle modules to work around build failure
	  on systems that lack the (gnutls) module.

2013-12-05  Andreas Enge  <andreas@enge.fr>

	gnu: ffmpeg: Enable tests.
	* gnu/packages/video.scm (ffmpeg): Add upstream patch and re-enable tests.
	* gnu/packages/patches/ffmpeg-check.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.

2013-12-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: Move 'guile-ssh' to (gnu packages ssh).
	Reported by John Darrington <john@darrington.wattle.id.au>.

	* gnu/packages/guile.scm (guile-ssh): Move to...
	* gnu/packages/ssh.scm (guile-ssh): ... here.  New variable.
	  This fixes a circular dependency issue, as reported at
	  <https://lists.gnu.org/archive/html/guix-devel/2013-12/msg00024.html>.

2013-12-04  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Fix reference to Gettext in 'dist-package'.
	* guix/build-system/gnu.scm (dist-package): Change 'gettext' to
	  'gnu-gettext'.

	derivations: Use more keyword parameters for 'build-expression->derivation'.
	* guix/derivations.scm (build-expression->derivation): Turn 'system' and
	  'inputs' into keyword parameters.
	  Adjust callers accordingly.
	* gnu/system/linux.scm, gnu/system/vm.scm, guix/build-system/cmake.scm,
	  guix/build-system/gnu.scm, guix/build-system/perl.scm,
	  guix/build-system/python.scm, guix/build-system/trivial.scm,
	  guix/download.scm, guix/packages.scm, guix/profiles.scm,
	  guix/scripts/pull.scm, tests/derivations.scm, tests/guix-build.sh,
	  tests/monads.scm, tests/store.scm, tests/union.scm: Adjust users of
	  'build-expression->derivation' and 'derivation-expression'
	  accordingly.
	* doc/guix.texi (Derivations): Adjust 'build-expression->derivation'
	  documentation accordingly.
	  (The Store Monad): Likewise for 'derivation-expression'.

	Augment 'gitignore'.

	nls: Add Vietnamese translation.
	* po/vi.po: New file.
	* po/LINGUAS: Add 'vi'.

	Update 'eo.po'.

2013-12-04  Andreas Enge  <andreas@enge.fr>

	gnu: ffmpeg: Disable tests.
	* gnu/packages/video.scm (ffmpeg): Disable tests, see
	    https://trac.ffmpeg.org/ticket/3177 .

2013-12-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Guile-SSH.
	* gnu/packages/guile.scm (guile-ssh): New variable.

	gnu: libssh: Add $libdir to RUNPATH of libssh_threads.so.
	* gnu/packages/ssh.scm (libssh)[arguments]: Add #:phases, #:modules, and
	  #:imported-modules.
	  [native-inputs]: New field.

	gnu: Improve synopses in vpn.scm.
	* gnu/packages/vpn.scm (vpnc): Shorten synopsis, and fix spelling.
	  (openconnect): Fix synopsis spelling.

2013-12-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add missing copyright line.
	* gnu/packages/vpn.scm: Add copyright line lost in commit 7af8a9b.

	gnu: patchelf: Shorten synopsis.
	* gnu/packages/patchelf.scm (patchelf): Shorten synopsis.

2013-12-03  Eric Bavier  <bavier@member.fsf.org>

	Add GNU Serveez
	* gnu/packages/serveez.scm: New file
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it

2013-12-03  John Darrington  <jmd@gnu.org>

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

2013-12-03  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add gnu-pw-mgr
	* gnu/packages/gnu-pw-mgr.scm: New file
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it

2013-12-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: Move GVPE to vpn.scm.
	* gnu/packages/vpn.scm (gvpe): New variable, moved from...
	* gnu/packages/gvpe.scm: ... here.  Remove.
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove 'gvpe.scm'.

	gnu: Add Guile-WM.
	* gnu/packages/guile-wm.scm (guile-wm): New variable.

	gnu-maintenance: Ignore "redirect" blurbs.
	* guix/gnu-maintenance.scm (official-gnu-packages)[official-description]:
	  Return #f for blurbs that start with "redirect ".

2013-12-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: dmd: Update start/stop of standard service definitions.
	* gnu/system/dmd.scm (mingetty-service): Add 'stop' field.
	  (nscd-service): Run with '--foreground'.  Change 'stop' to use
	  'make-kill-destructor'.
	  (syslog-service): Run with '--no-detach'; change 'stop' similarly.
	  (guix-service): Likewise for 'stop'.
	  (static-networking-service): Remove 'sleep' call from 'start'.  Change
	  'stop' to return #f when networking was actually stopped.

	gnu: dmd: Upgrade to 0.1.
	* gnu/packages/system.scm (dmd): Upgrade to 0.1.  Move PKG-CONFIG to
	  'native-inputs'.

	gnu: Add Guile-XCB.
	* gnu/packages/guile-wm.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-12-02  John Darrington  <john@darrington.wattle.id.au>

	gnu: pspp: Enabled build of the gui
	* gnu/packages/math.scm (pspp): Removed the --without-gui flag
	and added the necessary inputs to build it.

	gnu: Add GtkSourceView.
	* gnu/packages/gtk.scm (gtksourceview): New variable.

2013-12-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: Synchronize descriptions with 'gnumaint'.

2013-11-29  gzg  <gzg@riseup.net>

	Update references from Guy's old name

2013-11-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add libssh.
	* gnu/packages/ssh.scm (libssh): New variable.

	build-system/cmake: Build out of source tree by default.
	* guix/build-system/cmake.scm (cmake-build): Change 'out-of-source?' to
	  default to #t.
	* guix/build/cmake-build-system.scm (configure): Add 'out-of-source?'
	  keyword parameter and honor it.

	gnu: dmd: Add service documentation.
	* gnu/system/dmd.scm (<service>): Add 'documentation' field.
	  (host-name-service, mingetty-service, nscd-service, syslog-service,
	  static-networking-service): Provide a 'documentation' value.
	  (dmd-configuration-file): Use it.

	gnu: qemu/smb-shares: Keep the original patches.
	* gnu/packages/qemu.scm (qemu/smb-shares): Keep the patches from
	  QEMU-HEADLESS.

2013-11-27  Andreas Enge  <andreas@enge.fr>

	gnu: luit: Accomodate stricter warnings of gcc-4.8.
	* gnu/packages/patches/luit-posix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.
	* gnu/packages/xorg.scm (luit): Apply patch.

	gnu: ffmpeg: Update to 2.1.1.
	* gnu/packages/video.scm (ffmpeg): Update to 2.1.1.

2013-11-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: qemu: Upgrade to 1.6.1.
	* gnu/packages/patches/qemu-make-4.0.patch: New file.
	* gnu/packages/qemu.scm (qemu-headless): Use it.  Upgrade to 1.6.1.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: mit-krb5: Build with GCC 4.7.
	* gnu/packages/mit-krb5.scm (mit-krb5): Make BISON and PERL native
	  inputs.  Add GCC-4.7 as a native input.

	substitute-binary: Work around Guile 2.0.5's broken 'n-par-map'.
	* guix/scripts/substitute-binary.scm (n-par-map*): New procedure.
	  (guix-substitute-binary): Use it instead of 'n-par-map'.
	  Reported by Nikita Karetnikov and Eric Bavier.

	Add Guy to 'AUTHORS'.

	gnu: xmodmap: Add patch to allow builds with GCC 4.8.
	* gnu/packages/patches/xmodmap-asprintf.patch: New file.
	* gnu/packages/xorg.scm (xmodmap): Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2013-11-25  Andreas Enge  <andreas@enge.fr>

	gnu: Correct typo in previous commit.
	* gnu/packages/rdf.scm: Name module rdf.

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

2013-11-25  gzg  <gzg@riseup.net>

	gnu: Add SLiM.
	* gnu/packages/slim.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-11-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: iproute2: Upgrade to 3.12.0.
	* gnu/packages/linux.scm (iproute): Upgrade to 3.12.0.

2013-11-24  Ludovic Courtès  <ludo@gnu.org>

	gnu: {binutils,bash,gnu-make}-final are private.
	* gnu/packages/base.scm (binutils-final, bash-final, gnu-make-final):
	  Use 'define', not 'define-public'.

	list-packages: Make 'snippet-link' more tolerant.
	* build-aux/list-packages.scm (package->sxml)[snippet-link]: If
	  'package-field-location' returns #f, use 'package-location.

	Add John to 'AUTHORS'.

2013-11-24  John Darrington  <john@darrington.wattle.id.au>

	gnu: pixman: Upgrade to 0.32.4.
	* gnu/packages/xorg.scm (pixman): Upgrade to 0.32.4.

2013-11-24  Ludovic Courtès  <ludo@gnu.org>

	guix package: Honor the current output when upgrading.
	* guix/scripts/package.scm (specification->package+output): Pass OUTPUT
	  to 'package-specification->name+version+output'.

2013-11-23  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'core-updates'
	Conflicts:
		gnu/packages/gnunet.scm

	doc: List the supported platforms.
	* doc/guix.texi (GNU Distribution): List the supported platforms.

	gnu: net-tools: Adjust to removal of the 'patch' phase.
	* gnu/packages/linux.scm (net-tools): Adjust to removal of the 'patch'
	  phase.  Reported by Mark H. Weaver <mhw@netris.org>.

2013-11-23  Andreas Enge  <andreas@enge.fr>

	gnu: libextractor: Add input.
	* gnu/packages/gnunet.scm (libextractor): Add input exiv2.

2013-11-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: qemu: Add GUI version.
	* gnu/packages/qemu.scm (qemu): Rename to...
	  (qemu-headless): ... this.
	  (qemu/smb-shares): Inherit from it.
	  (qemu): New variable.
	* gnu/packages/grub.scm (qemu-for-tests): Inherit from QEMU-HEADLESS.

	gnu: sdl: Propagate libx11.
	* gnu/packages/sdl.scm (sdl): Propagate LIBX11.
	  (sdl-gfx, sdl-ttf): Remove LIBX11 from 'inputs'.

2013-11-23  Ludovic Courtès  <ludo@gnu.org>

	build: Make sure pkg.m4 is present.
	Suggested by John Darrington <john@darrington.wattle.id.au>.

	* configure.ac: Forbid occurrences of 'PKG_CHECK_MODULES' in the
	  output.

2013-11-23  Andreas Enge  <andreas@enge.fr>

	gnu: libextractor: Add optional inputs.
	* gnu/packages/gnunet.scm (libextractor): Add inputs ffmpeg and gstreamer.

2013-11-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: make-bootstrap: Add missing inputs for Canadian cross of '%gcc-static'.
	* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'native-inputs'
	  field.

2013-11-23  David Thompson  <dthompson2@worcester.edu>

	gnu: Add SDL extension libraries.
	* gnu/packages/sdl.scm (sdl-gfx, sdl-image, sdl-mixer, sdl-net, sdl-ttf): New
	  variables.

2013-11-22  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add PowerTOP.
	* gnu/packages/linux.scm (powertop): New variable.

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

2013-11-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: apl: Adjust to gettext renaming.
	* gnu/packages/apl.scm (apl): Use GNU-GETTEXT.

2013-11-20  Ludovic Courtès  <ludo@gnu.org>

	hydra: Adjust to gettext package rename.
	* build-aux/hydra/gnu-system.scm (%core-packages): Change 'gettext' to
	  'gnu-gettext'.

	Merge branch 'master' into core-updates
	Conflicts:
		guix/packages.scm

	gnu: gettext: Rename binding to 'gnu-gettext'.
	* gnu/packages/gettext.scm (gettext): Rename to...
	  (gnu-gettext): ... this.  This is used to work around the circular
	  dependency introduced in commit c42a4b7, which users with a #:renamer
	  cannot cope with.
	* gnu/packages/acl.scm, gnu/packages/attr.scm, gnu/packages/cdrom.scm,
	  gnu/packages/fdisk.scm, gnu/packages/gkrellm.scm, gnu/packages/glib.scm,
	  gnu/packages/gnunet.scm, gnu/packages/grub.scm, gnu/packages/linux.scm,
	  gnu/packages/maths.scm, gnu/packages/nano.scm, gnu/packages/parted.scm,
	  gnu/packages/system.scm, gnu/packages/version-control.scm,
	  gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/wget.scm:
	  Adjust accordingly.

2013-11-20  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add GNU Parallel.
	* gnu/packages/parallel.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-11-20  Ludovic Courtès  <ludo@gnu.org>

	build-system/python: Add #:test-target parameter.
	* guix/build-system/python.scm (python-build): Add #:test-target
	  parameter.  Reported by Eric Bavier <ericbavier@gmail.com>.

	gnu: make-bootstrap: Simplify '%gcc-static'.
	* gnu/packages/make-bootstrap.scm (%gcc-static): Add a bunch of
	  --disable configure flags.  Remove useless 'inputs' field.

2013-11-20  David Thompson  <dthompson2@worcester.edu>

	gnu: Add SDL and SDL2.
	* gnu/packages/sdl.scm (sdl, sdl2): New variables.

2013-11-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: autogen: Upgrade to 5.18.2.
	* gnu/packages/autogen.scm (autogen): Upgrade to 5.18.2.

	gnu: bison: Upgrade to 3.0.1.
	* gnu/packages/bison.scm (bison): Upgrade to 3.0.1.

	gnu: hello: Upgrade to 2.9.
	* gnu/packages/base.scm (hello): Upgrade to 2.9.  Remove 'arguments' and
	  'inputs' fields, which were never needed.

	gnu: libextractor: Upgrade to 1.2.
	* gnu/packages/gnunet.scm (libextractor): Upgrade to 1.2.

	gnu: freeipmi: Upgrade to 1.3.3.
	* gnu/packages/freeipmi.scm (freeipmi): Upgrade to 1.3.3.

	gnu: rcs: Upgrade to 5.9.1.
	* gnu/packages/version-control.scm (rcs): Upgrade to 5.9.1.  Add ed as
	  an input.

	gnu: lightning: Upgrade to 2.0.2.
	* gnu/packages/lightning.scm (lightning): Upgrade to 2.0.2.

	gnu: linux-libre: Upgrade to 3.12.
	* gnu/packages/linux.scm (linux-libre): Upgrade to 3.12.

	gnu: vm: Really create a QCOW2-format image.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass "-f
	  qcow2" to 'qemu-img create'.

	doc: Link to package-list.html.
	* doc/guix.texi (GNU Distribution): Add link to package-list.html.

	list-packages: Produce link to the origin snippet, if any.
	* build-aux/list-packages.scm (package->sxml)[patches](snippet-link):
	  New procedure.
	  Use it to produce a link to the 'origin-snippet', if any.

2013-11-18  Ludovic Courtès  <ludo@gnu.org>

	packages: 'package-field-location' returns a relative file name.
	* guix/packages.scm (package-field-location): Set
	  %FILE-PORT-NAME-CANONICALIZATION.
	* tests/packages.scm ("package-field-location, relative file name"): New
	  test.

	guix build: '-e' can be passed a monadic thunk.
	* guix/ui.scm (read/eval): New procedure.
	  (read/eval-package-expression): Use it.
	* guix/scripts/build.scm (derivations-from-package-expressions): Rename to...
	  (derivation-from-expression): ... this.  Accept procedures, under the
	  assumption that they are monadic thunk.
	  (show-help): Adjust accordingly.
	  (guix-build): Ditto.
	* tests/guix-build.sh: Add test.
	* doc/guix.texi (Invoking guix build): Augment description of '-e'.

	doc: Mention Linux containers; emphasize reproducible builds.
	* doc/guix.texi (Introduction): Use "containers" instead of "chroots".
	  (Invoking guix-daemon): Add @cindex entries.  Mention the Linux
	  container features.
	  (Features): Add sentence on build reproducibility.

2013-11-18  Andreas Enge  <andreas@enge.fr>

	gnu: pspp: Add input cairo.
	* gnu/packages/maths.scm (pspp): Add cairo and further necessary inputs.
	* gnu/packages/patches/pspp-tests.patch: New file, thanks to
	  John Darrington <john@darrington.wattle.id.au>.
	* gnu-system.am (dist_patch_DATA): Register patch.

	gnu: gettext: Enable "xgettext --language=glade".
	* gnu/packages/gettext.scm (gettext): Add input expat, explicitly link with it.

2013-11-18  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc: Really always link against libgcc_s.so.
	* gnu/packages/gcc.scm (gcc-4.7): Add snippet to add -lgcc_s to the
	  "lib" spec.  Remove --as-needed trick from 65d3b7c: it had no effect
	  in cases where we have !static-libgcc && !shared-libgcc.

	gnu: gettext: Upgrade to 0.18.3.1.
	* gnu/packages/gettext.scm (gettext): Upgrade to 0.18.3.1.

	gnu: gcc: Always link against libgcc_s.so.
	* gnu/packages/gcc.scm (gcc-4.7)[pre-configure]: Add snippet to #undef
	  USE_LD_AS_NEEDED.

	gnu: tar: Upgrade to 1.27.1.
	* gnu/packages/base.scm (tar): Upgrade to 1.27.1.

2013-11-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: glibc: Really disable 'ldconfig' and /etc/ld.so.cache.
	* gnu/packages/base.scm (glibc): Add 'snippet' to set use_ldconfig=no.
	  Remove "glibc-no-ld-so-cache.patch"; that patch would still build
	  'ldconfig', and ld.so would still contain ld.so.cache-related code,
	  and would look for info in /etc/etc/ld.so.cache (sic).
	* gnu/packages/patches/glibc-no-ld-so-cache.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

2013-11-16  Ludovic Courtès  <ludo@gnu.org>

	tests: Adjust to bootstrap tarball updates.
	Reported by Mark H. Weaver <mhw@netris.org>.

	* tests/packages.scm ("package-source-derivation, snippet"): Change to
	  "guile-2.0.9.tar.xz".
	* tests/union.scm ("union-build"): Check or include/c++ being a symlink.

2013-11-16  Ludovic Courtès  <ludo@gnu.org>

	doc: Improve "Installing Guix from Guix" section.
	Reported by Mark H. Weaver <mhw@netris.org>.

	* README (Installing Guix from Guix): Explicitly mention $PATH
	  separately.  Mention $ACLOCAL_PATH, not $ACLOCAL.  Give the exact
	  command to install the dependencies.  Remove mention of
	  $GUIX_LD_WRAPPER_ALLOW_IMPURITIES, which is no longer needed.

2013-11-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: cflow: Install Emacs mode.
	* gnu/packages/cflow.scm (cflow): Add Emacs as an input.

	gnu: Switch to GCC 4.8 as the default compiler.
	* build-aux/download.scm (file-name->uri): Update URL to /20131110.
	* gnu-system.am (nodist_bootstrap_x86_64_linux_DATA,
	  nodist_bootstrap_i686_linux_DATA): Change base name to
	  'guile-2.0.9.tar.xz'.
	  (gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz,
	  gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz): New targets.
	  (gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
	  gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Remove.
	  (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): Update
	  hash.
	* gnu/packages/base.scm (gcc-boot0): Base upon GCC-4.8.  Enable C++, and
	  add a few --disable flags.  Remove MPFR workaround.
	  (cross-gcc-wrapper): Base upon GCC-4.8.  Wrap both 'gcc' and 'g++'.
	  (libstdc++): New variable.
	  (gcc-final): Add it as an input; pass corresponding -I and -L flags.
	* gnu/packages/bootstrap.scm (%bootstrap-guile): Always use
	  "guile-2.0.9.tar.xz.
	  (%bootstrap-coreutils&co): Update hashes.
	  (%bootstrap-binutils): Update URL and hashes.
	  (%bootstrap-glibc): Likewise.
	  (%bootstrap-gcc): Likewise.
	* gnu/packages/gcc.scm (gcc-4.7): Add LDFLAGS.
	  Add --disable-libstdcxx-pch.
	  Modify the GNU_USER*_SPEC macros from gnu-user*.h instead of the raw
	  _SPEC macros.

2013-11-14  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Adjust timeout handling for Guile > 2.0.9.
	* guix/scripts/substitute-binary.scm (with-timeout): Update comment to
	  mention the fix's commit ID.
	  (fetch): In the 'with-timeout' handler, close PORT only one Guile
	  versions < 2.0.9.39.  Before that, on Guile >= 2.0.9.39, the HTTP
	  client would end up trying to read from a closed file descriptor.

2013-11-13  Ludovic Courtès  <ludo@gnu.org>

	derivations: Allow 'map-derivations' to replace sources.
	* guix/derivations.scm (map-derivation)[input->output-paths]: Allow
	  non-derivation inputs.
	  Allow replacements to be store files.  Replace in SOURCES too.
	* tests/derivations.scm ("map-derivation, sources"): New test.

	packages: Suitably cope with indirect store paths as package sources.
	* guix/packages.scm (package-source-derivation): Don't let indirect
	  store paths pass through.
	* tests/packages.scm ("package-source-derivation, indirect store path"):
	  New test.

	store: Make 'direct-store-path?' public.
	* guix/store.scm (direct-store-path?): New procedure.
	* guix/derivations.scm (derivation)[direct-store-path?]: Remove.
	* tests/store.scm ("direct-store-path?"): New test.

	derivations: Add 'map-derivation'.
	* guix/derivations.scm (map-derivation): New procedure.
	* tests/derivations.scm ("map-derivation"): New test.

	utils: Add 'string-replace-substring'.
	* guix/utils.scm (string-replace-substring): New procedure.  Based on
	  code by Mark H. Weaver.
	* tests/utils.scm ("string-replace-substring"): New test.

2013-11-12  Andreas Enge  <andreas@enge.fr>

	gnu: Add IceCat.
	* gnu/packages/gnuzilla.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-11-12  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add GNU APL.
	* gnu/packages/apl.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-11-12  Ludovic Courtès  <ludo@gnu.org>

	guix build: Add '--log-file'.
	* guix/scripts/build.scm (show-help): Add '--log-file'.
	  (%options): Likewise.
	  (guix-build): Set %FILE-PORT-NAME-CANONICALIZATION.  Honor '--log-file'.
	* tests/guix-build.sh: Add '--log-file' tests.
	* doc/guix.texi (Invoking guix build): Document '--log-file'.

	store: Add 'log-file' procedure.
	* guix/store.scm (log-file): New procedure.
	* tests/store.scm ("log-file, derivation", "log-file, output file
	  name"): New tests.

2013-11-11  Andreas Enge  <andreas@enge.fr>

	gnu: Add phonon.
	* gnu/packages/kde.scm (phonon): New variable.

	gnu: qt: Enable SIMD instructions available on x86_64.
	* gnu/packages/qt.scm (qt, qt-4): Enable mmx, 3dnow, sse and sse2 on x86_64.

2013-11-11  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GVPE.
	* gnu/packages/gvpe.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add GNU complexity.
	* gnu/packages/complexity.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-11-09  Ludovic Courtès  <ludo@gnu.org>

	nls: Add Serbian translation.
	* po/sr.po: New file.
	* po/LINGUAS: Add 'sr'.

2013-11-08  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Increase lookup concurrency to reduce latency.
	* guix/scripts/substitute-binary.scm (%lookup-threads): New variable.
	  (guix-substitute-binary): Use 'n-par-map' instead of 'par-map' for
	  batch 'lookup-narinfo' calls.

	Merge branch 'master' into core-updates
	Conflicts:
		guix/packages.scm

2013-11-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: lapack: Use origin snippet to remove the non-free files.
	* gnu/packages/maths.scm (lapack): Add 'snippet' field with contents of
	  former 'remove-non-free-files' phase; remove that phase.

	packages: Add a 'snippet' field to <origin>.
	* guix/packages.scm (<origin>): Add 'snippet', 'modules', and
	  'imported-modules' fields.
	  (patch-and-repack): Make 'inputs' a keyword parameter.  Add 'snippet',
	  'modules', and 'imported-modules' parameters.  Accept SOURCE as a raw
	  file name.  Insert SNIPPET in BUILDER.  Pass IMPORTED-MODULES to
	  'build-expression->derivation'.
	  (package-source-derivation): Pass the extra arguments to
	  'patch-and-repack'.
	* tests/packages.scm ("package-source-derivation, snippet"): New test.
	* doc/guix.texi (Defining Packages): Mention the 'patches' and 'snippet'
	  fields.
	  (Invoking guix build): Tell that --source has patches and snippets
	  applied.
	  (Software Freedom): Mention packages that contain non-free code.

2013-11-07  Ludovic Courtès  <ludo@gnu.org>

	doc: Document current security issue with substitutes.
	Suggested by Mark H. Weaver <mhw@netris.org>.

	* doc/guix.texi (Features): Add note about unauthenticated binaries.

2013-11-07  Ludovic Courtès  <ludo@gnu.org>

	doc: Improve documentation of '--no-substitutes'.
	Suggested by Mark H. Weaver <mhw@netris.org>.

	* doc/guix.texi (Invoking guix package): Spell out the --no-substitutes
	  documentation.
	  (Invoking guix build): Use the more complete --no-substitutes
	  documentation.
	  (Invoking guix-daemon): Explain the interaction with what clients ask
	  for.

2013-11-07  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add LAPACK.
	* gnu/packages/maths.scm (lapack): New variable.

2013-11-07  Ludovic Courtès  <ludo@gnu.org>

	Add indentation rule for 'origin'.

2013-11-04  Ludovic Courtès  <ludo@gnu.org>

	tests: Fix max-silent-time test.
	* tests/derivations.scm ("build-expression->derivation and
	  max-silent-time"): Use STORE instead of %STORE.  Change BUILDER to
	  succeed by default.  Return #f when no exception is raised.

	tests: Add the builder as an input to raw derivations.
	* tests/derivations.scm ("build derivation with 1 source",
	  "derivation with local file as input",
	  "derivation with a fixed-output input",
	  "multiple-output derivation",
	  "multiple-output derivation, non-alphabetic order",
	  "user of multiple-output derivation"): Add %BASH as an input, needed
	  in chroot builds.

2013-11-04  Mark H Weaver  <mhw@netris.org>

	gnu: mit-krb5: don't assume arguments are evaluated right-to-left.
	* gnu/packages/patches/mit-krb5-init-fix.patch: New file.
	* gnu/packages/mit-krb5.scm (mit-krb5): Apply patch at the end of the custom
	  unpack phase.
	* gnu-system.am (dist_patch_DATA): Add patch.

	Add mips64el-linux to the list of supported systems.
	* m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): Add mips64el-linux to the list of
	  supported systems.

2013-11-04  Mark H Weaver  <mhw@netris.org>

	gnu: add bootstrap support for mips64el-linux using the MIPS N32 ABI.
	* .gitignore: Add entry for bootstrap/mips64el-linux/guile-2.0.9.tar.xz.

	* gnu-system.am (bootstrap_mips64el_linuxdir,
	  dist_bootstrap_mips64el_linux_DATA, nodist_bootstrap_mips64el_linux_DATA):
	  New variables.
	  (DISTCLEANFILES): Add $(nodist_bootstrap_mips64el_linux_DATA).
	  (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): New target.

	* build-aux/download.scm (file-name->uri): Adapt to the newer mips64el-linux
	  bootstrap tarballs.

	* gnu/packages/bootstrap.scm (%bootstrap-guile, %bootstrap-coreutils&co,
	  %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Adapt to the newer
	  mips64el-linux bootstrap tarballs.

	* gnu/packages/bootstrap/mips64el-linux/bash:
	* gnu/packages/bootstrap/mips64el-linux/mkdir:
	* gnu/packages/bootstrap/mips64el-linux/tar:
	* gnu/packages/bootstrap/mips64el-linux/xz: New files.

2013-11-04  Mark H Weaver  <mhw@netris.org>

	gnu: liboop: fix deplibs check method for mips64.
	* gnu/packages/patches/liboop-mips64-deplibs-fix.patch: New file.
	* gnu/packages/lsh.scm (liboop): Add patch.
	* gnu-system.am (dist_patch_DATA): Add patch.

	gnu: gd: fix deplibs check method for mips64.
	* gnu/packages/patches/gd-mips64-deplibs-fix.patch: New file.
	* gnu/packages/gd.scm (gd): Add patch.
	* gnu-system.am (dist_patch_DATA): Add patch.

	gnu: libmad: Fix MIPS assembler code to work with new GCC.
	* gnu/packages/patches/libmad-mips-newgcc.patch: New file.
	* gnu/packages/mp3.scm (libmad): Add patch.
	* gnu-system.am (dist_patch_DATA): Add patch.

	gnu: libtheora: patch ancient config.guess to support mips64.
	* gnu/packages/patches/libtheora-config-guess.patch: New file.
	* gnu/packages/oggvorbis.scm (libtheora): Add patch.
	* gnu-system.am (dist_patch_DATA): Add patch.

	gnu: alsa-lib: fix atomic op declarations for MIPS.
	* gnu/packages/patches/alsa-lib-mips-atomic-fix.patch: New file.
	* gnu/packages/linux.scm (alsa-lib): Add patch.
	* gnu-system.am (dist_patch_DATA): Add patch.

	gnu: gdb: patch-makefile-SHELL for all Makefile.in files.
	* gnu/packages/gdb.scm (gdb): patch-makefile-SHELL for all Makefile.in files
	  after configure.

	gnu: gdb: Fix opcode table for Loongson fused multiply-add.
	* gnu/packages/patches/gdb-loongson-madd-fix.patch: New file.
	* gnu/packages/gdb.scm (gdb): Add patch.
	* gnu-system.am (dist_patch_DATA): Add patch.

	gnu: libffi: fix handling of uint32_t arguments on MIPS N32.
	* gnu/packages/patches/libffi-mips-n32-fix.patch: New file.
	* gnu/packages/libffi.scm (libffi): Add patch.
	* gnu-system.am (dist_patch_DATA): Add patch.

	gnu: libtool: skip a test that fails on MIPS N32.
	* gnu/packages/patches/libtool-skip-tests-for-mips.patch: New file.
	* gnu/packages/autotools.scm (libtool): Add patch.
	* gnu-system.am (dist_patch_DATA): Add patch.

	gnu: binutils: apply fixes and workarounds for Loongson 2F CPUs.
	* gnu/packages/patches/binutils-loongson-madd-fix.patch: New file.
	* gnu/packages/patches/binutils-loongson-workaround.patch: New file.
	* gnu/packages/base.scm (binutils): Add patches.
	* gnu-system.am (dist_patch_DATA): Add patches.

2013-11-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: recutils: Upgrade to 1.6.
	* gnu/packages/recutils.scm (recutils): Upgrade to 1.6.  Add cURL and
	  libgcrypt as inputs.

	ui: Make '--version' output GCS-compliant.
	* guix/ui.scm (show-version-and-exit): Display copyright year, license,
	  and LACK OF WARRANTY.

	gnu: make-bootstrap: Build libc and Guile without a .gnu_debuglink.
	* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap, %guile-static):
	  Add 'outputs' field.

2013-11-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: make-bootstrap: Allow bit-reproducibility for 'glibc-stripped'.
	* gnu/packages/make-bootstrap.scm (%glibc-stripped): Remove '.install'
	  and '..install.cmd' files.

2013-11-02  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: cmake: Bump to 2.8.12
	* gnu/packages/cmake.scm: bump to 2.8.12

2013-11-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: make-bootstrap: Add C++ header files to the bootstrap GCC.
	* gnu/packages/make-bootstrap.scm (%gcc-stripped): Add $gcc/include/c++.

	gnu: cross-gcc: Fix build of 'gcc-cross-sans-libc'.
	* gnu/packages/cross-base.scm (cross-gcc): Add "--disable-libatomic".

	doc: Document the syntax of the '--remove' argument.
	* doc/guix.texi (Invoking guix package): Document the syntax of
	  '--remove' patterns.

2013-11-01  Ludovic Courtès  <ludo@gnu.org>

	guix package: Show the output name of what's being removed.
	* guix/scripts/package.scm (show-what-to-remove/install): Show the
	  output name of packages being removed.

	guix package: Fix indentation of "will be removed" messages.
	* guix/scripts/package.scm (show-what-to-remove/install): Remove extra
	  indentation from the removal sentences.

2013-11-01  Ludovic Courtès  <ludo@gnu.org>

	guix package: Allow removal of a specific package output.
	Fixes <http://bugs.gnu.org/15756>.

	* guix/profiles.scm (<manifest-pattern>): New record type.
	  (remove-manifest-entry): Remove.
	  (entry-predicate, manifest-matching-entries): New procedures.
	  (manifest-remove): Accept a list of <manifest-pattern>.
	  (manifest-installed?): Replace 'name' parameter by 'pattern', a
	  <manifest-pattern>.
	* guix/scripts/package.scm (options->removable): Return a list of
	  <manifest-pattern>.
	  (guix-package)[process-action]: Use 'manifest-matching-entries' to
	  compute the list of packages to remove.
	* tests/profiles.scm: New file.
	* Makefile.am (SCM_TESTS): Add it.

2013-11-01  Ludovic Courtès  <ludo@gnu.org>

	guix package: Separate '--remove' option processing.
	* guix/scripts/package.scm (options->removable): New procedure.
	  (guix-package)[process-actions]: Use it.  Rename 'remove*' to 'remove'
	  and 'install*' to 'install'.

	ui: Factorize package specification parsing.
	* guix/ui.scm (package-specification->name+version+output): New
	  procedure.
	* guix/scripts/package.scm (specification->package+output): Use it.
	* tests/ui.scm ("package-specification->name+version+output"): New test.

	Add (guix profiles).
	* guix/scripts/package.scm (show-what-to-remove/install): New procedure,
	  moved from...
	  (guix-package): ... here.
	  (<manifest>, make-manifest, <manifest-entry>,
	  profile-manifest, manifest->sexp, sexp->manifest, read-manifest,
	  write-manifest, remove-manifest-entry, manifest-remove,
	  manifest-installed?, manifest=?, profile-regexp, generation-numbers,
	  previous-generation-number, profile-derivation, generation-number,
	  generation-file-name, generation-time, lower-input): Move to...
	* guix/profiles.scm: ... here.  New file.
	* Makefile.am (MODULES): Add it.

2013-11-01  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add GCC front ends for Fortran, Go, Objective C, and Objective C++.
	* gnu/packages/gcc.scm (custom-gcc, gfortran-4.8, gccgo-4.8)
	  (gcc-objc-4.8, gcc-objc++-4.8): New variables.

2013-11-01  Andreas Enge  <andreas@enge.fr>

	gnu: ffmpeg: Fix typo in configure flags.
	* gnu/packages/video.scm (ffmpeg): Add "d" in "3d" in configure flags.

2013-11-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: Revert to GCC 4.7 as the default compiler.
	GCC 4.8 relies on C++ headers (<cstring>, <iosfwd>, etc.) that are
	missing from the current bootstrap GCC.

	* gnu/packages/base.scm (gcc-boot0, cross-gcc-wrapper, gcc-final): Base
	  on GCC-4.7.  This reverts part of commit 9ae7cee.

2013-11-01  Andreas Enge  <andreas@enge.fr>

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

2013-11-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: Switch to GCC 4.8 as the default compiler.
	* gnu/packages/base.scm (gcc-boot0, cross-gcc-wrapper, gcc-final): Base
	  on GCC-4.8.
	* gnu/packages/cross-base.scm (cross-gcc): Likewise.
	* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc,
	  %gcc-static, %gcc-stripped): Likewise.

	gnu: grep: Update to 2.15.
	* gnu/packages/base.scm (grep): Update to 2.15.

	Merge branch 'master' into core-updates

2013-11-01  Mark H Weaver  <mhw@netris.org>

	gnu: pulseaudio: increase timeout of thread test.
	* gnu/packages/patches/pulseaudio-test-timeouts.patch: New file.
	* gnu/packages/pulseaudio.scm (pulseaudio): Add patch.
	* gnu-system.am (dist_patch_DATA): Add patch.

2013-10-31  Ludovic Courtès  <ludo@gnu.org>

	union: Do not warn when identical files collide.
	* guix/build/union.scm (file=?): New procedure.
	  (union-build)[resolve-collision]: Do not warn when identical files
	  collide.

	gnu: Add bridge-utils.
	* gnu/packages/linux.scm (bridge-utils): New variable.

2013-10-30  Andreas Enge  <andreas@enge.fr>

	gnu: libmicrohttpd: Update to 0.9.31.
	* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.31,
	    synchronise the description with GNU SRC.

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

	gnu: gstreamer-0.10: Propagate input libxml2.
	* gnu/packages/gstreamer.scm (gstreamer-0.10): Propagate input libxml2.

2013-10-30  Ludovic Courtès  <ludo@gnu.org>

	guix package: Factorize generation file name computation.
	* guix/scripts/package.scm (generation-file-name): New procedure.
	  Change all occurrences of (format #f "~a-~a-link" profile number) to
	  use it.

	guix package: Specify inputs for each manifest entry.
	* guix/scripts/package.scm (<manifest-entry>): Add 'inputs' field.
	  (manifest=?, lower-input): New procedure.
	  (profile-derivation)[builder]: Add #:log-port argument to
	  'union-build'.
	  [ensure-valid-input]: Remove.
	  Add each entry's inputs to the input list.
	  (options->installable): Return just the list of entries.
	  [package->manifest-entry]: Set 'inputs' field.
	  [canonicalize-deps]: Rename to...
	  [deduplicate]: ... this.  Remove input fiddling.
	  (guix-package)[process-actions]: Use 'manifest=?' to compare the new
	  and old manifests.  Pass directly PROF-DRV to 'show-what-to-build'.
	  Pass #:print-build-trace #f to 'set-build-options'.

	union: Make the log port a parameter.
	* guix/build/union.scm (union-build): Add 'log-port' keyword parameter;
	  use it.

	derivations: 'derivation-path->output-path' honors the 'output' parameter.
	* guix/derivations.scm (derivation-path->output-path): Pass OUTPUT.
	* tests/derivations.scm ("multiple-output derivation,
	  derivation-path->output-path"): New test.

	guix package: Always use the term "profile", not "user environment".
	* guix/scripts/package.scm (%user-environment-directory): Rename to...
	  (%user-profile-directory): ... this.  Update users accordingly.
	  (profile-derivation): Use the term "profile" instead of "user
	  environment", and use "profile" as the derivation name.

	guix package: Introduce <manifest> and <manifest-entry> types.
	* guix/scripts/package.scm (<manifest>, <manifest-entry>): New record
	  types.
	  (make-manifest, read-manifest, manifest->sexp, sexp->manifest,
	  read-manifest, write-manifest, remove-manifest-entry, manifest-remove,
	  manifest-installed?): New procedures.
	  (profile-derivation): Take a manifest as the second parameter.  Use
	  'manifest->sexp'.  Expect <manifest-entry> objects instead of
	  "tuples".  Adjust callers accordingly.
	  (search-path-environment-variables): Changes 'packages' parameter to
	  'entries'.  Rename 'package-in-manifest->package' to
	  'manifest-entry->package'; expect <manifest-entry> objects.
	  (display-search-paths): Rename 'packages' to 'entries'.
	  (options->installable): Change 'installed' to 'manifest'.  Have
	  'canonicalize-deps' return name/path tuples instead of raw packages.
	  Rename 'package->tuple' to 'package->manifest-entry'.  Use
	  <manifest-entry> objects instead of tuples.
	  (guix-package)[process-actions]: Likewise.  Rename 'packages' to
	  'entries'.
	  [process-query]: Use 'manifest-entries' instead of
	  'manifest-packages'.

	guix package: Better separate option processing.
	* guix/scripts/package.scm (find-package): Rename to...
	  (specification->package+output): ... this.  Rename 'name' parmameter
	  to 'spec'.  Return a package and output name instead of a tuple.
	  (options->installable): New procedure
	  (guix-package)[process-actions]: Use it, and remove corresponding
	  code.

2013-10-30  Andreas Enge  <andreas@enge.fr>

	gnu: Add gstreamer-0.10.
	* gnu/packages/gstreamer.scm (gstreamer-0.10): New variable.
	* gnu/packages/patches/gstreamer-0.10-bison3.patch,
	  gnu/packages/patches/gstreamer-0.10-silly-test.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add patches.

2013-10-29  Andreas Enge  <andreas@enge.fr>

	gnu: mit-krb5: Update to 1.11.3.
	* gnu/packages/mit-krb5.scm (mit-krb5): Update to 1.11.3.

2013-10-29  Ludovic Courtès  <ludo@gnu.org>

	guix package: Declutter the entry point.
	* guix/scripts/package.scm (newest-available-packages,
	  find-best-packages-by-name, find-package, upgradeable?): New
	  procedures, moved from...
	  (guix-package): ... here.

2013-10-29  Mark H Weaver  <mhw@netris.org>

	Change indentation rule for 'package' for the common case.
	* .dir-locals.el: Change the indentation rule for 'package' to do the right
	  thing for packages without an inherit clause.

2013-10-29  Ludovic Courtès  <ludo@gnu.org>

	list-runtime-roots: List files referenced by environment variables.
	Inspired by <https://github.com/NixOS/nix/compare/772b70952f75...4ddd077bfa9a>.

	* nix/scripts/list-runtime-roots.in (%store-directory): New variable.
	  (proc-environ-roots): New procedure.
	  (<top-level>): Use it.

2013-10-29  Ludovic Courtès  <ludo@gnu.org>

	doc: Augment the "Porting" section.
	Reported by Andreas Enge <andreas@enge.fr>.

	* doc/guix.texi (Porting): Document needed changes to (gnu packages
	  bootstrap) and (gnu packages linux).

2013-10-29  Ludovic Courtès  <ludo@gnu.org>

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

2013-10-29  Ludovic Courtès  <ludo@gnu.org>

	build-system/{cmake,perl}: Don't use (guix build gnu-build-system).
	Previously references to '%standard-phases' in builder-side code would
	refer to the wrong one.

	* guix/build-system/cmake.scm (cmake-build): Remove (guix build
	  gnu-build-system) from the default MODULES value.
	* guix/build-system/perl.scm (perl-build): Likewise.

2013-10-28  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: gcc-4.8: Upgrade to 4.8.2.
	* gnu/packages/gcc.scm (gcc-4.8): Upgrade to 4.8.2.

2013-10-26  Andreas Enge  <andreas@enge.fr>

	gnu: mesa: Update URI.
	* gnu/packages/xorg.scm (mesa): Update URI.

	gnu: lzip: Update to 1.15.
	* gnu/packages/compression.scm (lzip): Update to 1.15.

2013-10-26  David Thompson  <dthompson2@worcester.edu>

	gnu: Add libmikmod.
	* gnu/packages/sdl.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-10-26  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add Pem.
	 * gnu/packages/pem.scm: New file.
	 * gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-10-26  Andreas Enge  <andreas@enge.fr>

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

2013-10-25  Andreas Enge  <andreas@enge.fr>

	gnu: rsync: Update to 3.1.0.
	* gnu/packages/rsync.scm (rsync): Update to 3.1.0.

2013-10-24  Andreas Enge  <andreas@enge.fr>

	gnu: gmp: Update to 5.1.3.
	* gnu/packages/multiprecision.scm (gmp): Update to 5.1.3.

2013-10-23  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Correct source uri.
	* gnu/packages/qt.scm (qt-4): Correct source uri (reported by
	    Cyril Roelandt <tipecaml@gmail.com>).

2013-10-22  Andreas Enge  <andreas@enge.fr>

	gnu: Add GLPK.
	* gnu/packages/maths.scm (glpk): New variable.

2013-10-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GNU Alive.
	* gnu/packages/system.scm (alive): New variable.

2013-10-18  Ludovic Courtès  <ludo@gnu.org>

	build: Build the bootstrap-graph.{png,eps,pdf} under $(top_srcdir).
	Fixes <http://bugs.gnu.org/15640>.
	Reported by Eric Bavier <ericbavier@gmail.com>.

	* doc.am (EXTRA_DIST): Add doc/images/bootstrap-graph.pdf to the
	  distribution.
	  (pdf-local, info-local, ps-local): Prepend $(top_srcdir) to the image
	  file names.

2013-10-18  Ludovic Courtès  <ludo@gnu.org>

	gnu: dfc: Add missing input.
	* gnu/packages/system.scm (dfc): Add 'native-inputs' field.

2013-10-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: glib: Work around test failure in 'gio/tests/network-address.c'.
	* gnu/packages/patches/glib-tests-newnet.patch: New file.
	* gnu/packages/glib.scm (glib): Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: evince: Set search path for MIME info.
	* gnu/packages/gnome.scm (evince): Add #:phases argument.  Remove "perl"
	  and "perl-xml-parser" inputs since they are not directly needed; move
	  "intltool" to 'native-inputs'.

	gnu: Add shared-mime-info.
	* gnu/packages/gnome.scm (shared-mime-info): New variable.

	gnu: Add SCons.
	* gnu/packages/python.scm (scons): New variable.

2013-10-17  Nikita Karetnikov  <nikita@karetnikov.org>

	doc: Improve the copyright notice.

2013-10-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: make: Update to 4.0, with Guile support.
	* gnu/packages/base.scm (gnu-make): Update to 4.0.  Add Guile as an input.
	  (gnu-make-boot0): Patch 'build.sh' so it does not attempt to build 'guile.c'.
	  (gnu-make-final): New variable.
	  (%final-inputs): Use it.
	  (glibc): Add 'glibc-make-4.0.patch'.
	* gnu/packages/patches/glibc-make-4.0.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: base: Fix circular dependency between %final-outputs and <origin> inputs.
	* gnu/packages/base.scm (%final-inputs): Add
	  'package-with-bootstrap-guile' to 'finalize'.

2013-10-16  Ludovic Courtès  <ludo@gnu.org>

	utils: 'find-files' always returns a proper list.
	Reported at <http://bugs.gnu.org/15608>.

	* guix/build/utils.scm (find-files): Change the 'error' procedure to
	  return RESULT.  Before we would end up with an improper list.

2013-10-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: readline: Turn 'patches' into a list.
	* gnu/packages/readline.scm (readline): Turn 'patches' into a list.

2013-10-16  Andreas Enge  <andreas@enge.fr>

	gnu: harfbuzz: Update to 0.9.22.
	* gnu/packages/gtk.scm (harfbuzz): Update to 0.9.22; should solve the test
	    problems on i686.

2013-10-16  Ludovic Courtès  <ludo@gnu.org>

	Update 'AUTHORS'.

2013-10-16  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add autogen package
	* gnu/package/autogen.scm: New file
	* gnu-system.am: Add it

2013-10-15  Ludovic Courtès  <ludo@gnu.org>

	Remove weirdnesses caused by 'letrec*' behavior of record field initializers.
	* gnu/packages/bootstrap.scm (package-from-tarball): Remove '*' from
	  parameter names.  Adjust accordingly.
	* gnu/packages/linux-initrd.scm (expression->initrd): Use 'name'
	  directly, removing the 'name*' alias.
	* gnu/packages/linux.scm (linux-libre-headers, linux-libre): Rename
	  'version*' to 'version'.

	records: define-record-type*: Field bindings are bound with 'let*'.
	* guix/records.scm (define-record-type*): Wrap field bindings in a
	  'let*', not in a 'letrec*', which turned out to be pointlessly
	  inconvenient.
	* tests/records.scm: Adjust test names accordingly.

	build: Add 'clean-go' target.
	* Makefile.am (clean-go): New phony target.

	guix package: '--search' matches against package names.
	* guix/scripts/package.scm (find-packages-by-description): Return
	  packages whose name matches RX.

2013-10-14  Ludovic Courtès  <ludo@gnu.org>

	Thank Jeffrin and David.

2013-10-14  David Thompson  <dthompson2@worcester.edu>

	gnu: Add libtheora.
	* gnu/packages/oggvorbis.scm (libtheora): New variable.

2013-10-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: subversion, cmake: Clean up descriptions.
	* gnu/packages/cmake.scm (cmake): Simplify the synopsis.
	* gnu/packages/version-control.scm (subversion): Remove "open-source"
	  from the description.

2013-10-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add libgnome-keyring and Evince.
	* gnu/packages/gnome.scm (libgnome-keyring, evince): New variables.

	gnu: poppler: Build the poppler-glib bindings.
	* gnu/packages/pdf.scm (poppler): Add Cairo and GLib as inputs.

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

	pull: Compile modules correctly regardless of the compilation order.
	* guix/scripts/pull.scm (unpack)[builder]: Work around
	  <http://bugs.gnu.org/15602>.

2013-10-13  Andreas Enge  <andreas@enge.fr>

	gnu: kde: Add module and automoc4 package.
	* gnu/packages/kde.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	guix: Make cmake build system aware of usual paths.
	*  guix/build/cmake-build-system.scm (configure): Set CMAKE_LIBRARY_PATH to
	     LIBRARY_PATH and CMAKE_INCLUDE_PATH to CPATH.

	gnu: cmake: Update patch to work with new system.
	* gnu/packages/patches/cmake-fix-tests.patch: Update to work with -p1.
	* gnu/packages/cmake.scm (cmake): Drop patch flag -p0.

	gnu: gsl: Update to 1.16.
	* gnu/packages/maths.scm (gsl): Update to 1.16, disable parallel tests
	    leading to a failure in vector.

	gnu: gtk+: Update to 3.10.1.
	* gnu/packages/gtk.scm (gtk+): Update to 3.10.1, drop no longer needed
	    configure flag.

2013-10-13  Ludovic Courtès  <ludo@gnu.org>

	pull: Simplify the builder.
	* guix/scripts/pull.scm (unpack)[builder]: Use 'copy-recursively' and
	  'copy-file' instead of 'file-system-fold'.

	doc: Document "guix pull --url".
	* doc/guix.texi (Invoking guix pull): Add --url.

2013-10-12  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Add patch to distribution.
	* gnu-system.am (dist_patch_DATA): Add qt patch.

2013-10-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: qemu-with-multiple-smb-shares: Fix typo.
	* gnu/packages/qemu.scm (qemu/smb-shares): Turn 'patches' into a list.

	build-system/perl: Lazily resolve (gnu packages perl).
	* guix/build-system/perl.scm (default-perl): New procedure.
	  (perl-build): Use it.

	pull: Add '--url' option.
	* guix/scripts/pull.scm (%default-options): Add 'tarball-url' pair.
	  (%options, show-help): Add '--url'.
	  (guix-pull): Honor it.

	download: Support 'file://' URLs.
	* guix/download.scm (download-to-store): When URL has a 'file' scheme or
	  no scheme, use 'add-to-store' directly.

	guix: Add missing call to 'bindtextdomain'.
	* scripts/guix.in (config-lookup): Add "localedir" entry.
	  (run-guix-main): Add call to 'bindtextdomain'.
	* guix/ui.scm (initialize-guix): Use %GETTEXT-DOMAIN instead of a
	  literal.

2013-10-12  Andreas Enge  <andreas@enge.fr>

	gnu: Add gp2c.
	* gnu/packages/algebra.scm (gp2c): New variable.

	gnu: Add Qt 4.8.5.
	* gnu/packages/qt.scm (qt-4): New variable.
	* gnu/packages/patches/qt4-tests.patch: New file, patch dropping tests
	    requiring a running X server.

2013-10-11  Arne Babenhauserheide  <arne.babenhauserheide@kit.edu>

	gnu: Add Mercurial.
	* gnu/packages/version-control.scm (mercurial): New variable.

2013-10-11  Ludovic Courtès  <ludo@gnu.org>

	gnu-maintenance: Adjust URL of package description file.
	* guix/gnu-maintenance.scm (%package-description-url): Adjust to the
	  new URL.

2013-10-11  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add GNU acct.
	* gnu/packages/acct.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-10-11  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Valgrind: make it work with glibc 2.18.
	* gnu/packages/patches/valgrind-glibc.patch: update it.

2013-10-10  Ludovic Courtès  <ludo@gnu.org>

	build-system/{gnu,cmake}: Remove #:patches and #:patch-flags parameters.
	* guix/build/gnu-build-system.scm (patch): Remove.
	  (%standard-phases): Remove 'patch'.
	* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Remove
	  #:patches and #:patch-flags parameters.
	* guix/build-system/cmake.scm (cmake-build): Likewise.
	* guix/build-system/python.scm (package-with-explicit-python): Update
	  comment.

	gnu: Use the 'patches' field of <origin>.
	* gnu/packages/autotools.scm (libtool): Add 'patches' field to the
	  origin.  Remove 'inputs' field.
	* gnu/packages/base.scm (findutils, gnu-make, binutils, glibc):
	  Likewise.
	* gnu/packages/m4.scm (m4): Likewise.
	* gnu/packages/perl.scm (perl): Likewise.
	* gnu/packages/readline.scm (readline): Likewise.

	gnu: bootstrap: Use the bootstrap tools for <origin> patching.
	* gnu/packages/bootstrap.scm (bootstrap-origin): Override the
	  'patch-guile' and 'patch-inputs' fields of SOURCE.

	packages: The 'patch-guile' field of <origin> is now a package.
	* guix/packages.scm (default-guile): Return a package instead of a
	  derivation.
	  (package-source-derivation): Adjust accordingly.

	gnu: tar: Update to 1.17.
	* gnu/packages/base.scm (tar): Update to 1.17.  Remove 'arguments' and
	  'inputs'.
	* gnu/packages/patches/tar-gets-undeclared.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove 'tar-gets-undeclared.patch'.

	gnu: linux-libre-headers: Support cross-compilation.
	* gnu/packages/linux.scm (linux-libre-headers):
	  When (%current-target-system) is true, pass it as the argument to
	  'build-phase'.  This fixes cross-compilation.
	  Reported by Mark H. Weaver <mhw@netris.org>.

	daemon: Set the umask to 022 when starting.
	* nix/nix-daemon/guix-daemon.cc (main): Add 'umask' call.
	* test-env.in: Remove use of 'umask'.

	gnu: Add pavucontrol.
	* gnu/packages/pulseaudio.scm (pavucontrol): New variable.

2013-10-10  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Propagate input mesa.
	* gnu/packages/qt.scm (qt): Propagate input mesa.

	gnu: qt: Do not use special SSE etc. instructions.
	* gnu/packages/qt.scm (qt): Add configure flags to disable machine specific
	    instructions.

	gnu: qt: Add input pulseaudio.
	* gnu/packages/qt.scm (qt): Add input pulseaudio.

2013-10-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Pangomm, ATKmm, and GTKmm.
	* gnu/packages/gtk.scm (atk)[synopsis]: Fix typo.
	  (pangomm, atkmm, gtkmm): New variables.

	list-packages: Show a list of patches for each package.
	* build-aux/list-packages.scm (list-join): New procedure.
	  (package->sxml)[patch-url]: New procedure.
	  Use it.

	snix: Prefer descriptions from the Womb rather than from Nixpkgs.
	* guix/snix.scm (snix-derivation->guix-package): Use
	  'gnu-package-doc-description' as the description for GNU packages.

	Synchronize package descriptions with the Womb.
	* gnu/packages/algebra.scm,
	  gnu/packages/aspell.scm,
	  gnu/packages/autotools.scm,
	  gnu/packages/base.scm,
	  gnu/packages/bash.scm,
	  gnu/packages/bison.scm,
	  gnu/packages/cdrom.scm,
	  gnu/packages/cflow.scm,
	  gnu/packages/compression.scm,
	  gnu/packages/cpio.scm,
	  gnu/packages/cppi.scm,
	  gnu/packages/ddrescue.scm,
	  gnu/packages/dejagnu.scm,
	  gnu/packages/ed.scm,
	  gnu/packages/emacs.scm,
	  gnu/packages/fdisk.scm,
	  gnu/packages/freeipmi.scm,
	  gnu/packages/gawk.scm,
	  gnu/packages/gcal.scm,
	  gnu/packages/gcc.scm,
	  gnu/packages/gdb.scm,
	  gnu/packages/gdbm.scm,
	  gnu/packages/gettext.scm,
	  gnu/packages/ghostscript.scm,
	  gnu/packages/global.scm,
	  gnu/packages/gnunet.scm,
	  gnu/packages/gnupg.scm,
	  gnu/packages/gnutls.scm,
	  gnu/packages/gperf.scm,
	  gnu/packages/gprolog.scm,
	  gnu/packages/groff.scm,
	  gnu/packages/grub.scm,
	  gnu/packages/gsasl.scm,
	  gnu/packages/guile.scm,
	  gnu/packages/gv.scm,
	  gnu/packages/help2man.scm,
	  gnu/packages/idutils.scm,
	  gnu/packages/indent.scm,
	  gnu/packages/less.scm,
	  gnu/packages/libidn.scm,
	  gnu/packages/libsigsegv.scm,
	  gnu/packages/libunistring.scm,
	  gnu/packages/lightning.scm,
	  gnu/packages/linux.scm,
	  gnu/packages/lsh.scm,
	  gnu/packages/m4.scm,
	  gnu/packages/mail.scm,
	  gnu/packages/maths.scm,
	  gnu/packages/multiprecision.scm,
	  gnu/packages/nano.scm,
	  gnu/packages/ncurses.scm,
	  gnu/packages/nettle.scm,
	  gnu/packages/ocrad.scm,
	  gnu/packages/oggvorbis.scm,
	  gnu/packages/parted.scm,
	  gnu/packages/plotutils.scm,
	  gnu/packages/pth.scm,
	  gnu/packages/readline.scm,
	  gnu/packages/recutils.scm,
	  gnu/packages/rush.scm,
	  gnu/packages/scheme.scm,
	  gnu/packages/screen.scm,
	  gnu/packages/shishi.scm,
	  gnu/packages/smalltalk.scm,
	  gnu/packages/system.scm,
	  gnu/packages/texinfo.scm,
	  gnu/packages/time.scm,
	  gnu/packages/unrtf.scm,
	  gnu/packages/version-control.scm,
	  gnu/packages/wdiff.scm,
	  gnu/packages/wget.scm,
	  gnu/packages/which.scm,
	  gnu/packages/xnee.scm,
	  gnu/packages/zile.scm: Change value of the 'description' field to that
	  of the Womb.

	build: 'sync-descriptions' now compares GNU package descriptions.
	* build-aux/sync-synopses.scm: Rename to...
	* build-aux/sync-descriptions.scm: ... this.  Compare the value of
	  'gnu-package-doc-description' and 'package-description' and report any
	  mismatch.
	* Makefile.am (EXTRA_DIST): Adjust accordingly.
	  (sync-synopses): Rename to...
	  (sync-descriptions): ... this.

	gnu-maintenance: Get descriptions from 'gnumaint/pkgdescr.txt'.
	* guix/gnu-maintenance.scm (%gnumaint-base-url): New variable.
	  (%package-list-url): Use it.
	  (%gsrc-package-list-url): Remove.
	  (%package-description-url): New variable.
	  (official-gnu-packages): Change to use %PACKAGE-DESCRIPTION-URL
	  instead of %GSRC-PACKAGE-LIST-URL.  Adjust recutils field names
	  accordingly.

	Update 'TODO'.

	gnu: Use the 'patches' field of <origin>.
	* gnu/packages/apr.scm,
	  gnu/packages/autotools.scm,
	  gnu/packages/avahi.scm,
	  gnu/packages/cdrom.scm,
	  gnu/packages/cmake.scm,
	  gnu/packages/cpio.scm,
	  gnu/packages/cross-base.scm,
	  gnu/packages/emacs.scm,
	  gnu/packages/flex.scm,
	  gnu/packages/fontutils.scm,
	  gnu/packages/glib.scm,
	  gnu/packages/grub.scm,
	  gnu/packages/guile.scm,
	  gnu/packages/idutils.scm,
	  gnu/packages/libevent.scm,
	  gnu/packages/linux.scm,
	  gnu/packages/mail.scm,
	  gnu/packages/make-bootstrap.scm,
	  gnu/packages/mp3.scm,
	  gnu/packages/oggvorbis.scm,
	  gnu/packages/pdf.scm,
	  gnu/packages/plotutils.scm,
	  gnu/packages/qemu.scm,
	  gnu/packages/recutils.scm,
	  gnu/packages/rush.scm,
	  gnu/packages/scheme.scm,
	  gnu/packages/system.scm,
	  gnu/packages/tcsh.scm,
	  gnu/packages/valgrind.scm,
	  gnu/packages/vpn.scm,
	  gnu/packages/w3m: Use the 'patches' field of <origin> instead of
	  adding a patch as input plus using #:patches.

2013-10-09  Ludovic Courtès  <ludo@gnu.org>

	packages: Add 'patches' and related fields to <origin>.
	See <https://lists.gnu.org/archive/html/guix-devel/2013-09/msg00137.html>
	for the rationale.

	* guix/packages.scm (<origin>)[patches, patch-flags, patch-inputs,
	  patch-guile]: New fields.
	  (%standard-patch-inputs, default-guile, patch-and-repack): New
	  procedures.
	  (package-source-derivation): When 'patches' is non-empty, call
	  'patch-and-repack'.
	* guix/utils.scm (file-sans-extension): New procedure.

2013-10-08  Andreas Enge  <andreas@enge.fr>

	gnu: Add Qt 5.1.1.
	* gnu/packages/qt.scm (qt): New variable.

2013-10-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Cairomm.
	* gnu/packages/gtk.scm (cairomm): New variable.

2013-10-06  Ludovic Courtès  <ludo@gnu.org>

	Update 'AUTHORS'.
	* AUTHORS: Add Alex, Joshua, and Aljosha.

	Augment 'TODO'.

	gnu: Add alsa-utils.
	* gnu/packages/linux.scm (alsa-utils): New variable.

	gnu: xmlto: Keep references to libxml2, libxslt, and util-linux programs.
	* gnu/packages/xml.scm (xmlto): Add 'arguments' field.
	  [inputs]: Add libxml2 and libxslt.

	gnu: Gracefully handle circular dependencies between 'base' and 'linux'.
	* gnu/packages/base.scm (linux-libre-headers-boot0): Turn into a thunk.
	  User updated.

2013-10-06  Andreas Enge  <andreas@enge.fr>

	gnu: pari-gp: Update to 2.5.5.
	* gnu/packages/algebra.scm (pari-gp): Update to 2.5.5.

	gnu: mutt: Add input gpgme.
	* gnu/packages/mail.scm (mutt): Add input gpgme.

	gnu: Add gpgme.
	* gnu/packages/gnupg.scm (gpgme): New variable.

	gnu: icu4c: Patch RUNPATH of libraries.
	* gnu/packages/icu4c.scm (icu4c): Elf-patch RUNPATH of libraries, for instance
	    of libicuuc.so.

	gnu: cdparanoia: Fix links of internal libraries into binary.
	* gnu/packages/cdrom.scm (cdparanoia): Use patchelf to link internal libraries
	    into binary.

2013-10-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add libsigc++ and glibmm.
	* gnu/packages/glib.scm (libsigc++, glibmm): New variable.

2013-10-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: gobject-introspection: Export via #:export.
	* gnu/packages/glib.scm: Export 'gobject-instrospection' via the
	  #:export clause.

2013-10-05  Joshua S. Grant  <youlysses@riseup.net>

	gnu: Add freeglut, glu, and FTGL.
	* gnu/packages/gl.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-10-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: ao: Build PulseAudio back-end.
	* gnu/packages/oggvorbis.scm (ao): Add PulseAudio as an input.

	gnu: oggvorbis: Use #:export clause.
	* gnu/packages/oggvorbis.scm: Use #:export clause instead of
	  'define-public'.

	gnu: pulseaudio: Add dependency on libcap.
	* gnu/packages/pulseaudio.scm (pulseaudio): Add dependency on libcap.

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

	download: Add Debian mirrors.
	* guix/download.scm (%mirrors)[debian]: New set of mirrors.

	gnu: gnupg: Upgrade to 2.0.22.
	* gnu/packages/gnupg.scm (gnupg): Update to 2.0.22. This release fixes
	  security issue CVE-2013-4402 in the OpenPGP packet parser.

2013-10-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add PulseAudio and related libraries.
	* gnu/packages/pulseaudio.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add FFTW.
	* gnu/packages/algebra.scm (fftw): New variable.

2013-10-04  Andreas Enge  <andreas@enge.fr>

	gnu: Add libxkbcommon.
	* gnu/packages/qt.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: xorg: Add xcb-util-renderutil.
	* gnu/packages/xorg.scm (xcb-util-renderutil): New variable.

	gnu: xorg: Add xcb-util-keysyms.
	* gnu/packages/xorg.scm (xcb-util-keysyms): New variable.

	gnu: xorg: Add xcb-util-image.
	* gnu/packages/xorg.scm (xcb-util-image): New variable.

	gnu: xorg: Add xcb-util.
	* gnu/packages/xorg.scm (xcb-util): New variable.
	* gnu/packages/xorg.scm (xcb-util-wm): Expand the description.

2013-10-03  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Add xcb-util-wm.
	* gnu/packages/xorg.scm (xcb-util-wm): New variable.

2013-10-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Netcat.
	* gnu/packages/system.scm (netcat): New variable.

	monads: Allow resolution of a monad's bind/return at expansion time.
	* guix/monads.scm (<monad>): Turn in a raw SRFI-9 record type.
	  (define-monad): New macro.
	  (with-monad): Add a case for when MONAD is a macro.
	  (identity-return, identity-bind, store-return, store-bind): Inline.
	  (%identity-monad, %store-monad): Use 'define-monad'.
	* tests/monads.scm ("monad?"): New test.

	gnu: vm: Rewrite helper functions as monadic functions.
	* gnu/system/dmd.scm (host-name-service, nscd-service, mingetty-service,
	  syslog-service, guix-service, static-networking-service): Rewrite as
	  monadic functions.
	  (dmd-configuration-file): Use 'text-file' instead of
	  'add-text-to-store'.
	* gnu/system/grub.scm (grub-configuration-file): Rewrite as a monadic
	  function.
	* gnu/system/linux.scm (pam-services->directory): Likewise.
	* gnu/system/shadow.scm (group-file, passwd-file, guix-build-accounts):
	  Likewise.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm, qemu-image,
	  union, system-qemu-image): Likewise.

	Add (guix monads).
	* guix/monads.scm: New file.
	* tests/monads.scm: New file.
	* Makefile.am (MODULES): Add guix/monads.scm.
	  (SCM_TESTS): Add tests/monads.scm.
	* doc/guix.texi (The Store Monad): New node.
	  (The Store): Reference it.

2013-10-03  Andreas Enge  <andreas@enge.fr>

	gnu: libxcb: Enable xcb-xkb.
	* gnu/packages/xorg.scm (libxcb): Add configure flag "--enable-xkb".

	gnu: gnome: Add brasero.
	* gnu/packages/gnome.scm (brasero): New variable; not totally usable due to
	    lacking inputs.

2013-10-02  Andreas Enge  <andreas@enge.fr>

	gnu: Add hicolor-icon-theme.
	* gnu/packages/gnome.scm (hicolor-icon-theme): New variable.

	gnu: gnome: Add gnome-icon-theme.
	* gnu/packages/gnome.scm (gnome-icon-theme): New variable.

	gnu: Add icon-naming-utils.
	* gnu/packages/gnome.scm (icon-naming-utils): New variable.

	gnu: Add perl-xml-simple.
	* gnu/packages/xml.scm (perl-xml-simple): New variable.

	gnu: gnome: Add gsettings-desktop-schemas.
	* gnu/packages/gnome.scm (gsettings-desktop-schemas): New variable.

	gnu: xnee: Drop input gtk+.
	* gnu/packages/xnee.scm (xnee): Drop unused input gtk+.

	gnu: itstool: Really push the modification announced in 9000d556.
	* gnu/packages/glib.scm (itstool): Do as announced in 9000d556.

	gnu: itstool: Add propagated inputs python-2 and libxml2.
	* gnu/packages/glib.scm (itstool): Add propagated input python-2; it is needed
	    to rewrite the shebang in the output python script and must be propagated
	    so that PYTHONPATH gets set when using itstool; and libxml2, imported as a
	    module by the script.

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

	gnu: libvorbis: Propagate input libogg.
	* gnu/packages/oggvorbis.scm (libvorbis): Propagate input libogg, as
	    stipulated by the pkg-config files.

	gnu: gnome: Add libnotify.
	* gnu/packages/gnome.scm (libnotify): New variable.

	gnu: racket: Revert input from gtk+-3 to gtk+-2.
	* gnu/packages/scheme.scm (racket): Revert input from gtk+-3 to gtk+-2.

2013-10-01  Andreas Enge  <andreas@enge.fr>

	gnu: gtk+: Propagate inputs.
	* gnu/packages/gtk.scm (gtk+): Propagate inputs at-spi2-atk, libxi and
	    libxinerama.

	gnu: Revert inputs from gtk+-3 to gtk+-2.
	* gnu/packages/cdrom.scm (dvdisaster): Replace input gtk+ by gtk+-2.
	* gnu/packages/emacs.scm (emacs): Replace input gtk+ by gtk+-2.
	* gnu/packages/geeqie.scm (geeqie): Replace input gtk+ by gtk+-2.
	* gnu/packages/gkrellm.scm (gkrellm): Replace input gtk+ by gtk+-2.
	* gnu/packages/mp3.scm (ripperx): Replace input gtk+ by gtk+-2.
	* gnu/packages/scheme.scm: Drop duplicate inclusion of module gtk.

	gnu: gtk+-2: Update to 2.24.21.
	* gnu/packages/gtk.scm (gtk+-2): Update to 2.24.21, add inputs perl and
	    python.

	gnu: Add Gtk+ 3.
	* gnu/packages/gtk.scm (gtk+): Switch to version 3.10.0.
	* gnu/packages/gtk.scm (gtk+-2): New name for version 2.24.20.

	gnu: Drop gtk+-3, erroneously pushed in the previous commit.
	* gnu/packages/gtk.scm (gtk+-3): Delete variable.

	gnu: Add at-spi2-atk.
	* gnu/packages/gtk.scm (at-spi2-atk): New variable.

	gnu: atk: Update to 2.10.0.
	* gnu/packages/gtk.scm (atk): Update to 2.10.0.

	gnu: Add at-spi2-core.
	* gnu/packages/gtk.scm (at-spi2-core): New variable.

2013-09-30  Andreas Enge  <andreas@enge.fr>

	gnu: libxi: Propagate inputs inputproto and libx11.
	* gnu/packages/xorg.scm (libxi): Propagate inputs inputproto and libx11,
	    as stipulated by xi.pc.

	gnu: glib: Update to 2.38.0.
	* gnu/packages/glib.scm (glib): Update to 2.38.0 and drop rewriting of GTESTER.
	* gnu/packages/patches/glib-tests-homedir.patch: Update patch for 2.38.0.
	* gnu/packages/patches/glib-tests-desktop.patch: Update patch for 2.38.0 and
	    drop test dbus-appinfo.

2013-09-29  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add gobject-introspection.
	* gnu/packages/glib.scm (gobject-introspection): New variable.

2013-09-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: git: Add graphical tools to the "gui" output.
	* gnu/packages/version-control.scm (git): Add "gui" output.  Add Tcl/Tk
	  as inputs.  Add #:configure-flags.  Augment 'split' phase to handle
	  graphical user interfaces.

	gnu: git: Do not retain reference from "out" to Subversion.
	* gnu/packages/version-control.scm (git): Wrap 'git-svn', not 'git', for
	  PERL5LIB and LD_LIBRARY_PATH.

2013-09-29  Aljosha Papsch  <misc@rpapsch.de>

	Add httpd
	* gnu/packages/web.scm (httpd): New variable
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it

2013-09-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: bzip2: Allow cross-compilation.
	Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	* gnu/packages/compression.scm (bzip2): Add 'set-cross-environment'
	  phase for cross-compilation.

2013-09-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: git: Add "svn" output for 'git-svn'.
	* gnu/packages/version-control.scm (git): Add SUBVERSION as an input.
	  Add 'split' phase.

	gnu: subversion: Install Perl bindings.
	* gnu/packages/version-control.scm (subversion): Add
	  'install-perl-bindings' phase.

	gnu: Add SWIG.
	* gnu/packages/swig.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: libmicrohttpd: Update to 0.9.30.
	* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.30.

	gnu: flex: Use Bison 2.7 for tests.
	* gnu/packages/bison.scm (bison): Move FLEX to 'inputs', and remove the
	  hack that turned off its test suite.
	* gnu/packages/flex.scm (flex): Add 'bison-for-tests' in 'inputs', and
	  use that to run the tests.

	Update 'pt_BR.po'.

2013-09-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Skribilo.
	* gnu/packages/skribilo.scm (skribilo): New variable.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add Guile-Cairo.
	* gnu/packages/gtk.scm (guile-cairo): New variable.

	gnu: xorriso: Update to 1.3.2.
	* gnu/packages/cdrom.scm (xorriso): Update to 1.3.2.

	gnu: lightning: Update to 2.0.1.
	* gnu/packages/lightning.scm (lightning): Update to 2.0.1.

	gnu: freeipmi: Update to 1.3.2.
	* gnu/packages/freeipmi.scm (freeipmi): Update to 1.3.2.

	gnu: gdb: Update to 7.6.1.
	* gnu/packages/gdb.scm (gdb): Update to 7.6.1.

2013-09-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: bison: Update to 3.0.
	* gnu/packages/bison.scm (bison): Update to 3.0.  Make Perl a native
	  input.  Add a variant of Flex as a native input.  Use #:export instead
	  of 'define-public'.
	* gnu/packages/flex.scm (flex): Use #:export instead of 'define-public'.

	gnu: units: Update to 2.02.
	* gnu/packages/maths.scm (units): Update to 2.02.

	gnu: texinfo: Update to 5.2.
	* gnu/packages/texinfo.scm (texinfo): Update to 5.2.

	gnu: global: Update to 6.2.9.
	* gnu/packages/global.scm (global): Update to 6.2.9.

	build: Bump version to 0.5.
	* configure.ac: Switch to 0.5.

	gnu: guix: Update to 0.4.
	* gnu/packages/package-management.scm (guix): Update to 0.4.
	  (guix-0.4): Remove.
	* gnu/system/vm.scm (qemu-image, system-qemu-image): Use GUIX instead of
	  GUIX-0.4.

	gnu: vm: Remove erroneous store reference.
	* gnu/system/vm.scm (system-qemu-image): Remove reference from BOOT to
	  MINGETTY since MINGETTY may not be valid yet.

	Update '.po' files.

	gnu: vm: Add more packages to the profile.
	* gnu/system/vm.scm (system-qemu-image): Add grep, sed, and Findutils to
	  the profile.

2013-09-27  Nikita Karetnikov  <nikita@karetnikov.org>

	doc: Fix typos.
	* doc/guix.texi: Fix typos.

2013-09-27  Ludovic Courtès  <ludo@gnu.org>

	Update 'NEWS'.

2013-09-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: module-init-tools: Remove reference to unavailable man page tarball.
	Fixes <http://bugs.gnu.org/15187>.
	Reported by Mark H. Weaver <mhw@netris.org>.

	* gnu/packages/linux.scm (module-init-tools): Remove reference to
	  Gentoo's pre-built man pages and 'unpack-man-pages' phase.  Add
	  'fake-docbook' phases.

2013-09-27  Ludovic Courtès  <ludo@gnu.org>

	Update 'NEWS'.

	gnu: guix: Remove warning about 0.4 hack.
	* gnu/packages/package-management.scm (guix-0.4): Remove warning.

	Merge branch 'core-updates'

	doc: Link from "guix gc" to '--delete-generations'.
	* doc/guix.texi (Invoking guix package): Mention that deleting
	  generations prevents roll-back.
	  (Invoking guix gc): Link to '--delete-generations'.

	guix package: '--delete-generations' deletes generations older than specified.
	* guix/scripts/package.scm (matching-generations): Add
	  'duration-relation' keyword parameter.
	  (guix-package)[process-action](delete-generations): Pass
	  #:duration-relation >.
	* tests/guix-package.sh: Add test.
	* doc/guix.texi (Invoking guix package): Clarify the meaning of
	  durations for '--list-durations' and '--delete-durations'.

	tests: Fix typo.
	* tests/guix-package.sh: Add missing "-p" option.

	gnu: vm: Add a few packages to the default profile.
	* gnu/system/vm.scm (system-qemu-image): Add procps, psmisc, and Zile to
	  the default profile.  Increase the image size to 550 MiB.

	gnu: dmd: Make the 'networking' service slightly more robust.
	* gnu/system/dmd.scm (static-networking-service)[start]: Sleep before
	  running 'route', to leave time for the interface to come up.
	  [stop]: Run "route del -net default".

	gnu: vm: Set the right permissions and ownership on directories.
	* gnu/system/vm.scm (qemu-image): Change the store's mode to #o1775.
	  Support 'populate' clauses that specify a UID and GID.
	  (system-qemu-image): Make sure /nix/store has owner 'root' and group
	  'guixbuild'.  Set the right owner for /home/guest.  Create
	  /var/nix/profiles/per-user/{root,guest}.

	gnu: linux-initrd: Mount /tmp as a tmpfs.
	* gnu/packages/linux-initrd.scm (gnu-system-initrd): Make sure /root/tmp
	  exists; mount it as a tmpfs.

	gnu: vm: Add build users.
	* gnu/system/shadow.scm (guix-build-accounts): New procedure.
	* gnu/system/vm.scm (system-qemu-image): Use it.  Add the "guixbuild"
	  group.
	* gnu/system/dmd.scm (guix-service): Add 'builder-group' parameter.
	  Pass 'guix-daemon' the '--build-users-group' option.

	gnu: vm: Add /etc/{services,protocols,rpc} to the image.
	* gnu/system/vm.scm (system-qemu-image): Link
	  /etc/{services,protocols,rpc}.  Add net-base as an input.

	Run 'guix' with '--no-auto-compile'.
	* scripts/guix.in: Change '-s' to '--no-auto-compile'.  This avoids
	  annoying messages about auto-compilation, and avoids permission denied
	  issues when running without write access in the usual places.

	gnu: vm: Add a 'guest' account.
	* gnu/system/vm.scm (system-qemu-image): Add a "guest" user and a
	  "users" user group.  Make /home/guest.  Add /etc/group.  Update
	  /etc/issue to mention it.

	gnu: shadow: Add record type for user groups.
	* gnu/system/shadow.scm (<user-group>): New record type.
	  (group-file): New procedure.
	* gnu/system/vm.scm (system-qemu-image): Use it.

	gnu: shadow: Add record type for user accounts.
	* gnu/system/shadow.scm (<user-account>): New record type.
	  (passwd-file): Use it.
	* gnu/system/vm.scm (system-qemu-image): Adjust accordingly.

	gnu: Add net-base.
	* gnu/packages/system.scm (net-base): New variable.

	build-system/trivial: Take the 'source' field into account.
	* guix/build-system/trivial.scm (trivial-build): When SOURCE is true,
	  add it to INPUTS.
	  (trivial-cross-build): Likewise.
	* tests/packages.scm ("trivial with source"): New test.

	gnu: vm: Set the default networking route.
	* gnu/system/dmd.scm (static-networking-service): Add #:gateway
	  parameter and honor it.
	* gnu/system/vm.scm (system-qemu-image): Pass #:gateway to
	  'static-networking-service'.

	gnu: Add net-tools.
	* gnu/packages/linux.scm (net-tools): New variable.

	gnu: dmd: Download from alpha.gnu.org.
	* gnu/packages/system.scm (dmd): Use the alpha.gnu.org URL.

2013-09-26  Andreas Enge  <andreas@enge.fr>

	gnu: harfbuzz: Update to 0.9.21.
	* gnu/packages/gtk.scm (harfbuzz): Update to 0.9.21.

	gnu: Add dvdisaster.
	* gnu/packages/cdrom.scm (dvdisaster): New variable.

2013-09-26  Nikita Karetnikov  <nikita@karetnikov.org>

	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'.

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

	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.

2013-09-26  Andreas Enge  <andreas@enge.fr>

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

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

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

2013-09-26  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

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

	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.

2013-09-25  Ludovic Courtès  <ludo@gnu.org>

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

	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.

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

	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.

	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.

	Update 'eo.po'.

	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.

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

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

	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.

	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.

	Update 'NEWS'.

2013-09-25  Nikita Karetnikov  <nikita@karetnikov.org>

	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.

	tests: Use 'test -z' to check that a string equals zero.

	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.

	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.

2013-09-25  Andreas Enge  <andreas@enge.fr>

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

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

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

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

	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.

2013-09-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: m4: Upgrade to 1.4.17.
	* gnu/packages/m4.scm (m4): Upgrade to 1.4.17.  Remove
	  'm4-s_isdir.patch' and 'm4-gets-undeclared.patch'.
	* gnu/packages/patches/m4-s_isdir.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

	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.

2013-09-24  Ludovic Courtès  <ludo@gnu.org>

	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.

	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.

	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.

2013-09-24  Ludovic Courtès  <ludo@gnu.org>

	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.

2013-09-24  Ludovic Courtès  <ludo@gnu.org>

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

2013-09-24  Andreas Enge  <andreas@enge.fr>

	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>).

2013-09-23  Ludovic Courtès  <ludo@gnu.org>

	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'.

2013-09-23  Alex Sassmannshausen  <alex.sassmannshausen@gmail.com>

	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.

2013-09-23  Andreas Enge  <andreas@enge.fr>

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

2013-09-23  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

	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'.

	nar: Fix file descriptor leak when writing a Nar.
	* guix/nar.scm (write-contents)[call-with-binary-input-file]: Always
	  close PORT.

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

2013-09-23  Ludovic Courtès  <ludo@gnu.org>

	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'.

2013-09-23  Ludovic Courtès  <ludo@gnu.org>

	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'.

	build: Build the daemon with -Wall.
	* daemon.am (AM_CXXFLAGS): New variable.

2013-09-22  Andreas Enge  <andreas@enge.fr>

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

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

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

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

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

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

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

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

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

2013-09-21  Ludovic Courtès  <ludo@gnu.org>

	guix package: Sort the list of generation numbers in '--list-generations'.
	* guix/scripts/package.scm (generation-numbers): Sort the result.

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

	Thank Cyrill.

2013-09-21  Ludovic Courtès  <ludo@gnu.org>

	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.

2013-09-21  Andreas Enge  <andreas@enge.fr>

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

2013-09-21  Ludovic Courtès  <ludo@gnu.org>

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

	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.

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

2013-09-19  Nikita Karetnikov  <nikita@karetnikov.org>

	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'.

2013-09-19  Andreas Enge  <andreas@enge.fr>

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

2013-09-18  Ludovic Courtès  <ludo@gnu.org>

	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'.

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

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

	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.

	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'.

	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.

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

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

2013-09-17  Ludovic Courtès  <ludo@gnu.org>

	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.

2013-09-16  Ludovic Courtès  <ludo@gnu.org>

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

2013-09-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: glibc: Fix 'ldd' on x86_64.
	Reported by Cyril Roelandt at
	<https://lists.gnu.org/archive/html/guix-devel/2013-09/msg00136.html>.

	* gnu/packages/patches/glibc-ldd-x86_64.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/base.scm (glibc): Use it.

2013-09-15  Ludovic Courtès  <ludo@gnu.org>

	utils: 'find-files' returns a sorted list.
	* guix/build/utils.scm (find-files): Sort the result lexicographically.
	* guix/scripts/pull.scm (unpack): Don't sort the result of 'find-files'.

2013-09-14  Andreas Enge  <andreas@enge.fr>

	Merge branch 'python'

2013-09-13  Ludovic Courtès  <ludo@gnu.org>

	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'.

2013-09-13  Ludovic Courtès  <ludo@gnu.org>

	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.

2013-09-13  Andreas Enge  <andreas@enge.fr>

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

2013-09-13  Nikita Karetnikov  <nikita@karetnikov.org>

	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'.

2013-09-12  Andreas Enge  <andreas@enge.fr>

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

2013-09-12  Ludovic Courtès  <ludo@gnu.org>

	Thank Matthias and Yutaka.

2013-09-12  Ludovic Courtès  <ludo@gnu.org>

	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.

2013-09-11  Ludovic Courtès  <ludo@gnu.org>

	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.

2013-09-11  Andreas Enge  <andreas@enge.fr>

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

2013-09-11  Ludovic Courtès  <ludo@gnu.org>

	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.

	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'.

2013-09-11  Andreas Enge  <andreas@enge.fr>

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

	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.

2013-09-11  Ludovic Courtès  <ludo@gnu.org>

	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.

	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.

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

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

	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.

	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.

2013-09-10  Andreas Enge  <andreas@enge.fr>

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

	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>.

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

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

2013-09-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: vm: Copy /etc/shadow to the guest.
	* gnu/system/vm.scm (example2): Add SHADOW to #:inputs-to-copy.

2013-09-08  Ludovic Courtès  <ludo@gnu.org>

	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.

	gnu: vm: Clear timestamps on the imported files, like in the store.
	* gnu/system/vm.scm (qemu-image): Clear timestamps on the copied files.

2013-09-08  Andreas Enge  <andreas@enge.fr>

	guix: python: Add package-with-python2, a procedure rewriting a package   to compile with Python 2 instead of the default Python 3.
	* guix/build-system/python.scm (default-python2, package-with-explicit-python,
	    package-with-python2): New procedures.
	* guix/build-system/python.scm (python2-pytz, python2-babel): Use
	    package-with-python2.

2013-09-08  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

	hydra: Support a 'subset' argument.
	* build-aux/hydra/gnu-system.scm (%core-packages): New variable.
	  (%packages-to-cross-build): Make an alias for %CORE-PACKAGES.
	  (hydra-jobs): Check for the 'subset' argument, and honor it for values
	  "all" and "core".

	gnu: glibc: Upgrade to 2.18.
	* gnu/packages/base.scm (glibc): Upgrade to 2.18.

	gnu: linux-libre: Upgrade to 3.11.
	* gnu/packages/linux.scm (linux-libre): Upgrade to 3.11.  Add bc as an
	  input.

2013-09-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: grub: Add support for building configuration files.
	* gnu/packages/grub.scm (<menu-entry>): New record type.
	  (grub-configuration-file): New procedure.
	* gnu/system/vm.scm (qemu-image): Remove parameters 'linux',
	  'linux-arguments', and 'initrd'.  Add 'grub-configuration' parameter.
	  Honor them, and remove grub.cfg generation code accordingly.
	  (example2): Use `grub-configuration-file', and adjust accordingly.

	doc: Add "Data Types and Pattern Matching" to the Coding Style.
	* HACKING (Data Types and Pattern Matching): New section.

2013-09-07  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add the 'license:' prefix.
	* gnu/packages/glib.scm (itstool): Change 'gpl3+' to 'license:gpl3+'.

2013-09-06  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add itstool.
	* gnu/packages/glib.scm (itstool): New variable.

2013-09-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: vm: Add /etc/shadow in the QEMU image.
	* gnu/system/vm.scm (qemu-image): Add 'populate' keyword parameter and
	  honor it; make it an input.
	  (/etc/shadow): New procedure.
	  (example2): Call it; build 'populate' script, and pass it to
	  'qemu-image'.

	gnu: vm: Remove unused 'qemu-image' argument.
	* gnu/system/vm.scm (qemu-image): Remove 'boot-expression' parameter,
	  superseded by 'linux-arguments'.

2013-09-05  Andreas Enge  <andreas@enge.fr>

	guix: python: Add build phase and factor out calls to setup.py.
	* guix/build/python-build-system.scm (call-setuppy): New procedure.
	* guix/build/python-build-system.scm (build): New procedure.
	* guix/build/python-build-system.scm (check, install): Use call-setuppy.
	* guix/build/python-build-system.scm (%standard-phases): Add call to build.

	gnu: python: Disable tests in python2-pytz and python2-babel.
	* gnu/packages/python.scm (python2-pytz, python2-babel): Disable tests.

	gnu: python: Disable tests in pytz and babel.
	* gnu/packages/python.scm (python-pytz, python-babel): Disable tests.

	gnu: python: Honour #:tests? and #:test-target in build system.
	* guix/build/python-build-system.scm (check): Use named parameters tests?
	    and test-target (default now: "test" instead of "check").

	gnu: git: Switch back to Python 2.
	* gnu/packages/version-control.scm (git): Switch back to Python 2.

2013-09-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: vm: First stab at building a populated QEMU image.
	* gnu/packages/linux-initrd.scm (gnu-system-initrd): New variable.
	* gnu/system/vm.scm (qemu-image): Add #:linux-arguments parameter.
	  [input->name+derivation]: Add case for 'store-path?' items.
	  Remove LOADER from `inputs'.

	gnu: linux-initrd: Fix creation of /dev/tty nodes.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
	  /dev/tty.  Change from 'block-special' to 'char-special' for /dev/tty*
	  nodes.

	gnu: vm: 'qemu-image' populates /dev on the target root file system.
	* gnu/system/vm.scm (qemu-image): Use (guix build linux-initrd).  Remove
	  'mknod' calls; use 'make-essential-device-nodes' to populate /dev on
	  the target image.
	* gnu/packages/linux-initrd.scm (qemu-initrd): When /root/dev exists,
	  don't call 'make-essential-device-nodes'.

2013-09-04  Andreas Enge  <andreas@enge.fr>

	gnu: python: Implement the python naming scheme for pytz and babel.
	* gnu/packages/python.scm (pytz): Rename this ...
	* gnu/packages/python.scm (python-pytz): ... to this
	* gnu/packages/python.scm (python2-pytz): New variable, input python-2.
	* gnu/packages/python.scm (babel): Rename this ...
	* gnu/packages/python.scm (python-babel): ... to this
	* gnu/packages/python.scm (python2-babel): New variable, input python-2.

	gnu: subversion: Switch back to Python 2.
	* gnu/packages/version-control.scm (subversion): Switch back to Python 2.

	gnu: qemu: Switch back to Python 2.
	* gnu/packages/qemu.scm (qemu): Switch back to Python 2.

	gnu: texlive: Switch back to Python 2.
	* gnu/packages/texlive.scm (texlive): Switch back to Python 2.

	gnu: rubber: Switch back to Python 2.
	* gnu/packages/texlive.scm (rubber): Switch back to Python 2.

	gnu: mesa: Switch back to Python 2.
	* gnu/packages/xorg.scm (mesa): Switch back to Python 2.

	gnu: libxml2: Switch back to Python 2.
	* gnu/packages/xml.scm (libxml2): Switch back to Python 2.

	gnu: zziplib: Switch back to Python 2.
	* gnu/packages/zip.scm (zziplib): Switch back to Python 2.

	gnu: bazaar: Switch back to Python 2.
	* gnu/packages/version-control.scm (bazaar): Switch back to Python 2.

	guix: python: Switch to python-wrapper as the default version for the python   build system (switches to Python 3) and compute python-version instead of   passing it as a parameter.
	* guix/build-system/python.scm (default-python): Switch to python-wrapper.
	* guix/build-system/python.scm (python-build): Drop parameter #:python-version.
	* guix/build/python-build-system.scm (wrap): Compute python version from input.

	gnu: xorg: Update comment for mesa.
	* gnu/packages/xorg.scm (mesa): New compilation trial with 9.2.

	gnu: libdrm: Update to 2.4.46.
	* gnu/packages/xorg.scm (libdrm): Update to 2.4.46.

2013-09-03  Ludovic Courtès  <ludo@gnu.org>

	hydra: Add Graphviz as an input to the "tarball" job.
	* build-aux/hydra/guix.scm (tarball-package): Add GRAPHVIZ to
	  `native-inputs'.

2013-09-03  Andreas Enge  <andreas@enge.fr>

	gnu: python: Replace input python by python-wrapper.
	* gnu/packages/{gdb.scm (gdb), cryptsetup.scm (cryptsetup),
	  ghostscript.scm (ghostscript), glib.scm (glib), gnupg.scm (pius),
	  gtk.scm (cairo, harfbuzz), libevent.scm (libevent), netpbm.scm (netpbm),
	  oggvorbis.scm (libkate), qemu.scm (qemu), samba.scm (samba),
	  texlive.scm (rubber, texlive), version-control.scm (subversion),
	  xml.scm (libxml2, libxslt), xorg.scm (libxcb, mesa, xcb-proto, xorg-server),
	  yasm.scm (yasm), zip.scm (zziplib)}:
	  Replace input python by python-wrapper.

2013-09-03  Ludovic Courtès  <ludo@gnu.org>

	hydra: Add Git as an input to the "tarball" job.
	* build-aux/hydra/guix.scm (tarball-package): Add `native-inputs' field.

2013-09-03  Andreas Enge  <andreas@enge.fr>

	gnu: python: Add package python-wrapper.
	* gnu/packages/python.scm (python-wrapper): New variable.

2013-09-03  Ludovic Courtès  <ludo@gnu.org>

	pull: Compile files in the lexicographic order.
	* guix/scripts/pull.scm (unpack): Print the name of the file being
	  compiled.  Sort the names of files to compile.

	build-system/cmake: Fix typo.
	* guix/build-system/cmake.scm (default-cmake): Add missing quote.

	build-system/gnu: Delay resolution of (@ (gnu packages cmake) cmake).
	* guix/build-system/cmake.scm (default-cmake): New procedure.
	  (cmake-build): Use it.

2013-09-02  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Show the Nar size, when available.
	* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--substitute"]:
	  Show the Nar size, when available.
	* guix/ui.scm (show-what-to-build): Add 'TODO'.

2013-09-02  Ludovic Courtès  <ludo@gnu.org>

	union: Don't traverse sub-directories only found in one element of the union.
	This significantly reduces I/O when building profiles, especially with
	lots of package-specific sub-directories (such as 'share/emacs/24.3',
	'texmf', etc.)

	* guix/build/union.scm (union-build)[file-tree](others-have-it?): New
	  procedure.  Use it in the 'enter?' parameter of 'file-system-fold';
	  change 'skip' parameter accordingly.
	* tests/union.scm ("union-build"): Ensure that 'include' is a symlink
	  and 'bin' is a directory.

2013-09-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: lzo: Build the shared library.
	* gnu/packages/compression.scm (lzo): Build the shared library.

2013-09-02  Andreas Enge  <andreas@enge.fr>

	gnu: python: Revert 77c7f8f4 and make Python 3 the default.
	* gnu/packages/python.scm (python-3): Rename this to...
	* gnu/packages/python.scm (python): ...this, rename this to...
	* gnu/packages/python.scm (python-2): ...this.

2013-09-02  Cyril Roelandt  <tipecaml@gmail.com>

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

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

2013-09-02  Ludovic Courtès  <ludo@gnu.org>

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

	store: Add a printer for <nix-server>.
	* guix/store.scm (<nix-server>): Set a printer.

	gnu: linux-initrd: Factorize device node creation.
	* guix/build/linux-initrd.scm (make-essential-device-nodes): New
	  procedure.
	* gnu/packages/linux-initrd.scm (qemu-initrd): Use it.

2013-09-01  Andreas Enge  <andreas@enge.fr>

	gnu: Add git.
	* gnu/packages/version-control.scm (git): New variable.

	gnu: cairo: Update to 1.12.16.
	* gnu/packages/gtk.scm (cairo): Update to 1.12.16.

	gnu: Update harfbuzz to 0.9.20.
	* gnu/packages/gtk.scm (harfbuzz): Update to 0.9.20.

	gnu: python: Temporarily make python 2 the default.
	* gnu/packages/python.scm (python-2): Rename this to...
	* gnu/packages/python.scm (python): ...this, rename this to...
	* gnu/packages/python.scm (python-3): ...this. Reverts to version 2 as the
	  default input for packages requiring Python.

2013-08-31  Ludovic Courtès  <ludo@gnu.org>

	gnu: vm: `qemu-image' can copy store closures into the target image.
	* gnu/system/vm.scm (qemu-image): Add #:inputs-to-copy and
	  #:boot-expression parameters.  Honor them.  Append INPUTS-TO-COPY to
	  the #:inputs argument for `expression->derivation-in-linux-vm'.
	  (example2): Add #:boot-expression and #:inputs-to-copy arguments.

	gnu: `expression->derivation-in-linux-vm' accepts files as inputs.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Accept items
	  in INPUTS that refer to a file instead of a package.

	gnu: `expression->derivation-in-linux-vm' export references graphs.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add
	  #:reference-graphs parameter.  Honor it.  Delete duplicates in
	  #:modules argument.

	gnu: linux-initrd: Make device nodes for QEMU's hard disk.
	* gnu/packages/linux-initrd.scm (qemu-initrd): Make /dev/vda*.

	gnu: linux-initrd: Make Guile modules accessible in the chroot.
	* gnu/packages/linux-initrd.scm (qemu-initrd): Add (guix build utils) to
	  #:modules, and use it.  Copy .scm and .go files to /root.
	* guix/build/linux-initrd.scm (bind-mount): New procedure.

2013-08-31  Andreas Enge  <andreas@enge.fr>

	gnu: python: Adapt native-search-paths for Python 3.3.
	* gnu/packages/python.scm (python): Modify native-search-paths.

	gnu: Add Python 3.
	*  gnu/packages/python.scm (python-2): Rename from python for version 2.
	*  gnu/packages/python.scm (python): New variable for version 3.

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

	gnu: Add xmlto.
	* gnu/packages/xml.scm (xmlto): New variable.

	gnu: Add dbus-glib.
	* gnu/packages/glib.scm (dbus-glib): New variable.

	gnu: pari-gp: Update to 2.5.4.
	* gnu/packages/algebra.scm (pari-gp): Update to 2.5.4.

	gnu: gsl: Disable numerically unstable test on i686.
	* gnu/packages/maths.scm (gsl): Disable test.

	doc: Stylistic changes to "Packaging Guidelines"

2013-08-30  Ludovic Courtès  <ludo@gnu.org>

	doc: Add note about .dir-locals.el.
	* HACKING (Coding Style): Mention special indentation rules and
	  .dir-locals.el.

	doc: Add a "Coding Style" section in 'HACKING'.
	* HACKING (Coding Style): New section.

	doc: Remove "Adding new packages" from `HACKING'.
	* HACKING (Adding new packages): Remove since it's now in the manual.

2013-08-30  Nikita Karetnikov  <nikita@karetnikov.org>

	doc: Remove an extra space after @ref.

2013-08-30  Ludovic Courtès  <ludo@gnu.org>

	gnu: hop: Allow compilation with Bigloo 4.0b.
	Fixes <http://bugs.gnu.org/15194>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* gnu/packages/patches/hop-bigloo-4.0b.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/scheme.scm (hop): Use it.

2013-08-29  Andreas Enge  <andreas@enge.fr>

	doc: Add duplicate copyright notice again.
	* doc/guix.texi: Add second copyright notice again inside @ifinfo, needed
	  since the first one does not appear in the info output.
	  Partially undoes commit da7cabd.

2013-08-29  Ludovic Courtès  <ludo@gnu.org>

	doc: Fix the image size in PDF/PS/DVI output.
	* doc/guix.texi (Bootstrapping): Specify an image width for the TeX
	  output.  Before that, the image would be much wider than the US Letter
	  page width.

	build: Have `pdf' depend on the PDF image.
	* doc.am (DOT_OPTIONS): Remove `-Tpng'.
	  (.dot.pdf): New rule.
	  (pdf-local): Depend on the .pdf.

	build: Use `missing' for `dot'.
	* configure.ac: Substitute `DOT'.
	* doc.am (.dot.png, .dot.eps): Use $(DOT).

2013-08-29  Ludovic Courtès  <ludo@gnu.org>

	build: Build docs from the top-level Makefile.
	This undoes commit 575ed8d ("doc: Create own Makefile.am in subdirectory."),
	and fixes a bug whereby "make pdf" or "make ps" wouldn't do anything.

	* doc/Makefile.am: Remove.
	* doc.am: New file.  Use `-local' rules to build the image.
	* Makefile.am: Include it.
	* configure.ac: Use `-Woverride' to avoid undesired overridding of
	  Automake rules.

2013-08-29  Andreas Enge  <andreas@enge.fr>

	gnu: gsl: Move from module algebra to maths.
	* gnu/packages/algebra.scm (gsl): Move variable from here...
	* gnu/packages/maths.scm (gsl): ...to here.

2013-08-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: linux-initrd: Add (guix build linux-initrd) and use it.
	* gnu/packages/linux-initrd.scm (qemu-initrd): Add #:modules argument.
	  Factorize and move some of the code to...
	* guix/build/linux-initrd.scm: ... here.  New file.
	* Makefile.am (MODULES): Add it.

	gnu: make-bootstrap: Remove the `debug' output from the static Coreutils.
	* gnu/packages/make-bootstrap.scm (%static-inputs)[coreutils]: Add
	  `outputs' field.

	gnu: linux-initrd: Allow Guile modules to be embedded in the initrd.
	* gnu/packages/linux-initrd.scm (raw-build-system): New macro.
	  (module-package, compiled-module-package): New procedures.
	  (expression->initrd): Add `modules' keyword parameter.
	  Add "modules" and "modules/compiled" inputs; copy them onto the
	  initrd.
	* guix/derivations.scm (imported-modules, compiled-modules): Publicize.

2013-08-28  Andreas Enge  <andreas@enge.fr>

	gnu: imagemagick: Update to 6.8.6-9.
	* gnu/packages/imagemagick.scm (imagemagick): Update to 6.8.6-9.

	doc: Add package guidelines for names and numbers.
	* doc/guix.texi: Three new subsections.

	doc: Shuffle some text around.
	* doc/guix.texi: Drop duplicate copyright notice, start section
	    "Packaging Guidelines" with existant text.

	doc: Create own Makefile.am in subdirectory.
	* doc/Makefile.am: New file.
	* Makefile.am: Reference subdirectory doc.

2013-08-28  Alex Sassmannshausen  <alex.sassmannshausen@gmail.com>

	list-packages: Tidy CSS in preparation for split into external file.
	* build-aux/list-packages.scm (insert-css): Tidy CSS alignment etc.

2013-08-28  Ludovic Courtès  <ludo@gnu.org>

	vm: Use more keyword parameters for `expression->derivation-in-linux-vm'.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Turn `system'
	  and `inputs' into keyword parameters.
	  (qemu-image, example1): Adjust accordingly.

	derivations: Rename #:dependency-graphs to #:references-graphs.
	* guix/derivations.scm (derivation, build-expression->derivation):
	  Rename #:dependency-graphs to #:references-graphs, for consistency in
	  the terminology.
	* tests/derivations.scm: Adjust accordingly.

2013-08-27  Andreas Enge  <andreas@enge.fr>

	gnu: Update python to 2.7.5.
	* gnu/packages/python.scm (python): Update to 2.7.5.

2013-08-26  Ludovic Courtès  <ludo@gnu.org>

	doc: Change `HACKING' to refer to guix-devel@gnu.org.
	Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

	* HACKING: Replace "bug-guix" by "guix-devel".

2013-08-26  Ludovic Courtès  <ludo@gnu.org>

	derivations: Add #:dependency-graphs to `build-expression->derivation'.
	* guix/derivations.scm (build-expression->derivation): Add
	  #:dependency-graphs keyword argument.  Pass it to `derivation'.
	* tests/derivations.scm ("build-expression->derivation with
	  #:dependency-graphs"): New test.
	* doc/guix.texi (Derivations): Update `build-expression->derivation'
	  description.

	derivations: Add #:dependency-graphs `derivation' parameter.
	* guix/derivations.scm (derivation): Add `dependency-graphs' keyword
	  parameter; honor it.
	* tests/derivations.scm (bootstrap-binary): New procedure.
	  (%bash): Use it.
	  (%mkdir): New variable.
	  (directory-contents): Add `slurp' optional parameter.
	  ("derivation with #:dependency-graphs"): New test.
	* doc/guix.texi (Derivations): Update accordingly.

	derivations: Move 3 positional parameters into keyword parameters.
	* guix/derivations.scm (derivation): Turn `system', `env-vars', and
	  `inputs' into keyword parameters.
	  (build-expression->derivation): Adjust accordingly.
	* gnu/packages/bootstrap.scm (%bootstrap-guile): Likewise.
	* tests/derivations.scm, tests/store.scm: Likewise.
	* doc/guix.texi (Derivations): Likewise.

	gnu: Add Guile-Lib.
	* gnu/packages/guile.scm (guile-lib): New variable.

2013-08-25  Ludovic Courtès  <ludo@gnu.org>

	download: Add kernel.org mirrors.
	Fixes <http://bugs.gnu.org/15182>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/download.scm (%mirrors)[kernel.org]: Add ftp.be.debian.org and
	  mirror.linux.org.au.

2013-08-25  Ludovic Courtès  <ludo@gnu.org>

	hydra: Comment out all Git invocations in `bootstrap'.
	* build-aux/hydra/guix.scm (tarball-package): Comment out all `git'
	  invocations.

	hydra: Add missing import.
	* build-aux/hydra/guix.scm: Use (srfi srfi-26).

	hydra: Add missing import.
	* build-aux/hydra/guix.scm: Use (srfi srfi-26).

	hydra: Return a symbol/thunk pair.
	* build-aux/hydra/guix.scm (hydra-jobs): Return a symbol/thunk pair.

	gnu: pius: Use the right `gpg' binary.
	* gnu/packages/gnupg.scm (pius): Add GnuPG as an input.  Patch the
	  installed binaries to refer to the right GnuPG executable.  Fix
	  synopsis.

2013-08-24  Ludovic Courtès  <ludo@gnu.org>

	hydra: Extract the actual file name from the Guix checkout.
	* build-aux/hydra/guix.scm (hydra-jobs): Extract the `file-name' part of
	  CHECKOUT.

	hydra: Add job to run "make distcheck" on Guix.
	* build-aux/hydra/guix.scm: New file.
	* Makefile.am (EXTRA_DIST): Add it.

	gnu: Add Guix.
	* gnu/packages/package-management.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	build-system/gnu: Add `dist-package'.
	* guix/build/gnu-dist.scm: New file.
	* Makefile.am (MODULES): Add it.
	* guix/build-system/gnu.scm (%default-modules): New variable.
	  (gnu-build): Use it.
	  (dist-package): New procedure.

	packages: Allow file names as package sources.
	* guix/packages.scm (package-source-derivation): Add cases for SOURCE as
	  a store path or user file.
	* tests/packages.scm ("package-source-derivation, file",
	  "package-source-derivation, store path"): New tests.

	doc: Mention what's in the chroot, and add a caveat about /dev/shm.
	* doc/guix.texi (Setting Up the Daemon): Document the default content of
	  the chroot, and the /dev/shm caveat.

2013-08-24  Andreas Enge  <andreas@enge.fr>

	gnu: Add pspp.
	* gnu/packages/maths.scm (pspp): New variable.
	* THANKS: Thank John Darrington for help with debugging.

	gnu: Add libmicrohttpd.
	* gnu/packages/gnunet.scm (libmicrohttpd): New variable.

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

	gnu: Add libextractor.
	* gnu/packages/gnunet.scm: New module.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add module.
	* THANKS: Thank Christian Grothoff for help with debugging.

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

2013-08-24  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Valgrind.
	* gnu/packages/valgrind.scm, gnu/packages/patches/valgrind-glibc.patch:
	  New files.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add valgrind.scm.
	  (dist_patch_DATA): Add valgrind-glibc.patch.

	gnu: Add GNU lightning.
	* gnu/packages/lightning.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2013-08-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: tzdata: Fix hash of tzcode tarball.
	Fixes <http://bugs.gnu.org/15153>.

	* gnu/packages/base.scm (tzdata): Update tzcode hash, which was modified
	  upstream.

2013-08-23  Ludovic Courtès  <ludo@gnu.org>

	utils: Add `guile-version>?', and use it.
	This fixes Guile version comparisons when (version) has a
	vendor-specific suffix.

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

	* guix/utils.scm (guile-version>?): New procedure.
	* tests/utils.scm ("guile-version>? 1.8", "guile-version>? 10.5"): New
	  tests.
	* guix/scripts/substitute-binary.scm (fetch, progress-report-port): Use
	  `guile-version>?' instead of `version>?'.
	* guix/http-client.scm (when-guile<=2.0.5, http-fetch): Likewise.

2013-08-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: Have `qemu-image' explicitly reboot when done.
	* gnu/system/vm.scm (qemu-image): Call `reboot' when we're done.  Change
	  `menuentry' title.

	Add TODO item.

2013-08-22  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Try hard to avoid port buffering.
	* guix/scripts/substitute-binary.scm (fetch): In the `file' case, open
	  with the `b' flag, so that the coding cookie reading thing doesn't
	  lead to buffering some of the data (on 2.0.5).
	* tests/utils.scm ("filtered-port, file"): Open with `r0b'.  Fixes a
	  test failure with Guile 2.0.5 whereby the first byte of FILE would be
	  missing from DECOMPRESSED.

2013-08-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-ncurses: Install modules under .../site/2.0.
	* gnu/packages/guile.scm (guile-ncurses): Append /2.0 to `guilesitedir'.

2013-08-21  Andreas Enge  <andreas@enge.fr>

	gnu: indent: Cosmetic change.
	* gnu/packages/indent.scm (indent): Use #:renamer on licenses to be better
	    suited as an example for packaging.

2013-08-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: make-bootstrap: Add a couple of synopses.
	* gnu/packages/make-bootstrap.scm (%guile-static,
	  %guile-static-stripped): Add synopsis.

	gnu: guile-static-stripped: Make sure the resulting binary works.
	* gnu/packages/make-bootstrap.scm (%guile-static-stripped): When
	  compiling natively, make sure the final binary works.

2013-08-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-static: Add missing hunk in guile-default-utf8.patch.
	Before that, the ‘guile’ binary from ‘guile-static-stripped’ would abort
	as it tries and fails to open an iconv descriptor for ISO-8859-1.

	* gnu/packages/patches/guile-default-utf8.patch: Add missing hunk for
	  Guile 2.0.9.

2013-08-21  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Don't pretend to report download progress on Guile 2.0.5.
	* guix/scripts/substitute-binary.scm (progress-report-port): On Guile
	  2.0.5, return PORT directly and emit a warning.

2013-08-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: grub: Use older QEMU to run the test suite.
	Fixes build failure <http://hydra.gnu.org/build/16064>.

	* gnu/packages/grub.scm (qemu-for-tests): New variable.
	  (grub): Use it.

2013-08-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: qemu: Install the Info manuals.
	* gnu/packages/qemu.scm (qemu): Add `install-info' phase.  Add Texinfo
	  as an input.

2013-08-20  Andreas Enge  <andreas@enge.fr>

	gnu: Move non-X11 fonts from module xorg to fonts.
	* gnu/packages/fonts.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add module fonts.
	* gnu/packages/xorg.scm (font-bitstream-vera-ttf): Move this...
	* gnu/packages/fonts.scm (ttf-bitstream-vera): ...to this.
	* gnu/packages/xorg.scm (freefont-ttf): Move this...
	* gnu/packages/fonts.scm (freefont-ttf): ...to this.

	gnu: xorg: Shorten commented out packages.
	* gnu/packages/xorg.scm: Shorten package definitions that are already
	    commented out, keeping only the reason for not including them.

	gnu: xorg: Remove non-free font font-bh-ttf/font-luxi-ttf.
	* gnu/packages/xorg.scm (font-luxi-ttf): Comment out variable.

2013-08-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: glib: Add `file' as a propagated input.
	* gnu/packages/glib.scm (intltool): Add FILE as an input.

	gnu: Add exiv2 and Geeqie.
	* gnu/packages/geeqie.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: bigloo: Update to 4.0b.
	* gnu/packages/scheme.scm (bigloo): Update to 4.0b.  Patch the
	  `configure-gc' scripts.  Remove `patch-absolute-file-names' phase.
	* gnu/packages/patches/bigloo-gc-shebangs.patch: Adjust to new version.

2013-08-19  Cyril Roelandt  <tipecaml@gmail.com>

	list-packages: properly specify the size of images.
	* build-aux/list-packages.scm (package->sxml, packages->sxml): specify the size
	  of images in pixels (see
	  http://www.w3.org/TR/html5/embedded-content-0.html#attr-dim-height)

2013-08-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GNU Ocrad.
	* gnu/packages/ocrad.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: freefont: Synchronize synopsis.
	* gnu/packages/xorg.scm (freefont-ttf): Synchronize synopsis with the
	  Womb.

2013-08-19  Alex Sassmannshausen  <alex.sassmannshausen@gmail.com>

	list-packages: Add missing closing </div> after footer include.
	* build-aux/list-packages.scm (list-packages): Add missing closing </div>
	  after footer include.

2013-08-17  Cyril Roelandt  <tipecaml@gmail.com>

	list-packages: Remove a useless "colspan" attribute.
	* build-aux/list-packages.scm (package->sxml): remove a useless "colspan"
	  attribute.

	list-packages: Add an "alt" attribute for the logos.
	* build-aux/list-packages.scm (package->sxml): add an alternative text for the
	  logos of the packages.

2013-08-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Shadow.
	* gnu/packages/system.scm (shadow): New variable.

	gnu: linux-pam: Install headers under $includedir/security.
	* gnu/packages/linux.scm (linux-pam): Add `--includedir' configure flag.

	gnu: Add GNU Freefont.
	* gnu/packages/xorg.scm (freefont-ttf): New variable.

2013-08-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: Remove QEMU-KVM, which is no longer needed.
	* gnu/packages/qemu.scm (qemu-kvm): Remove.
	  (qemu): Incorporate parts of QEMU-KVM that used to be inherited.
	  (qemu-kvm/smb-shares): Rename to...
	  (qemu/smb-shares): ... this.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Adjust
	  accordingly.

2013-08-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Bitstream Vera.
	* gnu/packages/xorg.scm (font-bitstream-vera-ttf): New variable.

	gnu: Correct name and description of the Luxi font package.
	* gnu/packages/xorg.scm (font-bitstream-type1): Rename to...
	  (font-luxi-ttf): ... this.  Change name to "font-luxi-ttf".  Adjust
	  synopsis and description.

2013-08-15  Cyril Roelandt  <tipecaml@gmail.com>

	Make "guix -h" work as "guix --help".
	* guix/ui.scm (guix-main): have the same behaviour for the "-h" and "--help"
	  options.

2013-08-15  Cyril Roelandt  <tipecaml@gmail.com>

	list-packages: remove useless "language" attribute of "script" element
	See http://www.w3.org/TR/html5-diff/#changed-attributes for more information.

	* build-aux/list-packages.html (insert-js): remove "language" attribute, useless for the
	  "script" element.

2013-08-15  Cyril Roelandt  <tipecaml@gmail.com>

	list-packages: remove deprecated "height" attribute on "td" element.
	See http://www.w3.org/TR/html5-diff/#obsolete-attributes for more information.

	* build-aux/list-packages.html(package-sxml)[description-id]: remove "height"
	  attribute for "td" elements.

2013-08-15  Alex Sassmannshausen  <alex.sassmannshausen@gmail.com>

	list-packages: Tidying and refactoring in preparation for substantive changes.
	* build-aux/list-packages.scm (package->sxml)[license, status]: Add
	  title for <a> element.
	  Add alt and title for gnu-logo <img> element.  Add title to package
	  website <a> element.
	  (packages->sxml): Wrap <div id="intro"> intro paragraph in <p> element.
	  Add table header row to <table id="packages">
	  Add <a> back to top of the page beneath table.
	  (insert-css, insert-js): New procedures.
	  (list-packages): Move JavaScript to 'insert-js', and CSS to 'insert-css'.

	list-packages: Centralise CSS styling in <head>.
	* build-aux/list-packages.scm (package-logo): Assign class of
	  'package-description' to package synopsis div; 'package-logo'.  Move inline
	  CSS where possible.
	  (packages->sxml): Assign id of 'intro' to intro div, 'packages' to the
	  table. Move inline CSS.
	  (list-packages): Create new <style> section, containing all inline CSS.
	  Move JavaScript <script> section to above banner include to place it in
	  <head>.

2013-08-15  Ludovic Courtès  <ludo@gnu.org>

	Update `eo.po'.

2013-08-07  Andreas Enge  <andreas@enge.fr>

	gnu: Add ripperX.
	* gnu/packages/mp3.scm (ripperx): New variable.
	* gnu/packages/patches/ripperx-libm.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add patch.

	gnu: Add cdparanoia.
	* gnu/packages/cdrom.scm (cdparanoia): New variable.
	* gnu/packages/patches/cdparanoia-fpic.patch: New file.
	* gnu-system.am: Add patch.

	gnu: Add lame.
	* gnu/packages/mp3.scm (lame): New variable.

	gnu: texlive: Update to 2013.
	* gnu/packages/texlive.scm (texlive): Update to 2013.

2013-08-06  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Install fonts into package output instead of into font-util.
	* gnu/packages/xorg.scm (font-adobe100dpi, font-adobe75dpi, font-misc-misc,
	    font-schumacher-misc): Add configure flag to modify FONTROOTDIR.

2013-08-05  Andreas Enge  <andreas@enge.fr>

	gnu: fontconfig: Update to 2.10.93.
	* gnu/packages/fontutils.scm (fontconfig): Update to 2.10.93.

	gnu: harfbuzz: Update to 0.9.19.
	* gnu/packages/gtk.scm (harfbuzz): Update to 0.9.19.

	gnu: mpfrcx: Update to 0.4.2.
	* gnu/packages/algebra.scm (mpfrcx): Update to 0.4.2.

	gnu: fplll: Update to 4.0.4.
	* gnu/packages/algebra.scm (fplll): Update to 4.0.4.

	gnu: emacs: Use gtk+.
	* gnu/packages/emacs.scm (emacs): Enable input gtk+ instead of libXaw.

	gnu: fontconfig: Look for fonts in user profile.
	* gnu/packages/fontutils.scm (fontconfig): Add configure flag.

	gnu: gtk+: Synchronise description with GSRC.
	* gnu/packages/gtk.scm (gtk+): Modify description.

	gnu: Rename "libapr" to "apr" and "libaprutil" to "apr-util".
	* gnu/packages/apr.scm: Rename file from libapr.scm.
	* gnu/packages/patches/apr-skip-getservbyname-test.patch: Rename file
	    from libapr-skip-getservbyname-test.patch.
	* gnu-system.am (GNU_SYSTEM_MODULES): Rename module libapr to apr.
	* gnu-system.am (dist_patch_DATA): Rename patch file.
	* gnu/packages/apr.scm (apr): Rename from libapr.
	* gnu/packages/apr.scm (apr-util): Rename from libaprutil, change
	    input name.
	* gnu/packages/version-control.scm (subversion): Change input name.

2013-07-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Xnee.
	* gnu/packages/xnee.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: ddrescue: Update to 1.17.
	* gnu/packages/ddrescue.scm (ddrescue): Update to 1.17.  Add lzip as a
	  native input.

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

2013-07-19  Ludovic Courtès  <ludo@gnu.org>

	Update `TODO'.

	build: Bump version to 0.4.
	* configure.ac: Switch to 0.4.

	doc: Improve build instructions in README and HACKING.
	* README (Requirements): Remove Nixpkgs.  Remove mentions of building
	  from Git.
	  (Installation): Refer to the manual.
	* HACKING: List requirements for when building from Git.
	  Remove the `dot: Command not found' error.

2013-07-17  Ludovic Courtès  <ludo@gnu.org>

	Update NEWS.

2013-07-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: linux-libre: Add alternate URLs.
	Fixes <http://bugs.gnu.org/14851>.
	Reported by Andreas Enge <andreas@enge.fr>.

	* gnu/packages/linux.scm (linux-libre-urls): New procedure.
	  (linux-libre-headers, linux-libre): Use it.

2013-07-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: tzdata: Update hash.
	Fixes <http://bugs.gnu.org/14890>.
	Reported by Andreas Enge <andreas@enge.fr>.

	* gnu/packages/base.scm (tzdata): Update hash.

2013-07-17  Ludovic Courtès  <ludo@gnu.org>

	doc: Add "Adding New Packages".
	* doc/guix.texi (Adding New Packages): New section.
	  (Packaging Guidelines): Make a subsection thereof.
	  (From the Source Tarball to the Package): New subsection.
	  (Contributing): Link to "Adding New Packages".
	  (Package Modules): Link to modules in Guile's manual.

	build: Check the availability of i686-linux binaries.
	* build-aux/check-available-binaries.scm (%supported-systems): New
	  variable.
	  (native): Map over these.

	build: Provide a replacement (srfi srfi-37) when the user's one is broken.
	* srfi/srfi-37.scm.in: New file, taken from Guile 2.0.9.
	* m4/guix.m4: New macro.
	* configure.ac: Use it.  Define Automake conditional `INSTALL_SRFI_37'.
	* Makefile.am (nobase_nodist_guilemodule_DATA)[INSTALL_SRFI_37]: Add
	  srfi/srfi-37.scm.
	  (GOBJECTS)[INSTALL_SRFI_37]: Add srfi/srfi-37.go.
	  (srfi/srfi-37.scm)[INSTALL_SRFI_37]: New target.
	  (EXTRA_DIST): Add srfi/srfi-37.scm.in.

	doc: Mark 2.0.5 as being the minimum Guile version.
	* doc/guix.texi (Requirements): Require Guile 2.0.5+.
	* README: Ditto.

	Update .po files.

2013-07-16  Ludovic Courtès  <ludo@gnu.org>

	Update NEWS.

	doc: Refer to guix-devel@gnu.org.
	* doc/guix.texi (Contributing): Refer to guix-devel@gnu.org.

	gnu: subversion: Fetch over plain HTTP.
	* gnu/packages/version-control.scm (subversion): Use the http:// URL
	  to work around <http://bugs.gnu.org/14884>.  Reported by Mark Weaver
	  and Andreas Enge.

	list-packages: Add links to hydra.gnu.org.
	* build-aux/list-packages.scm (package->sxml)[status]: New procedure.
	  Use it at the end of each description.
	  (packages->sxml): Add link to hydra.gnu.org.

	gnu: libphidget: Add "debug" output.
	* gnu/packages/libphidget.scm (libphidget): Add `outputs' field.

	hydra: Fix typo.
	* build-aux/hydra/gnu-system.scm (hydra-jobs): Use `cons', not `append'.

	hydra: Build for all the specified systems.
	* build-aux/hydra/gnu-system.scm (hydra-jobs): Pick all the `system'
	  keys in ARGUMENTS.
	  [cross-jobs]: Turn into a procedure, with a `system' parameter.
	  Build packages for all of SYSTEMS and %CROSS-TARGETS.

	hydra: Distinguish between jobs for different system types.
	* build-aux/hydra/gnu-system.scm (package-job, package-cross-job):
	  Append `.SYSTEM' to the job name.

	hydra: Honor the `system' argument.
	* build-aux/hydra/gnu-system.scm (hydra-jobs): Really look up the
	  `system' symbol in ARGUMENTS.

2013-07-16  Andreas Enge  <andreas@enge.fr>

	gnu: libapr, libaprutil: Upgrade.
	* gnu/packages/libapr.scm (libapr): Upgrade to 1.4.8.
	* gnu/packages/libapr.scm (libaprutil): Upgrade to 1.5.2.

2013-07-15  Ludovic Courtès  <ludo@gnu.org>

	guix package: Allow separate install of several outputs of the same package.
	* guix/scripts/package.scm (guix-package)[process-actions](same-package?):
	  New procedure.  Use it instead of `alist-delete' when filtering out
	  duplicate packages from the profile.

	build: Check for the availability of binaries upon "distcheck".
	* build-aux/check-available-binaries.scm: New file.
	* Makefile.am (EXTRA_DIST): Add it.
	  (distcheck-hook, assert-binaries-available): New target.

	Thank the translators.

	Add `pt_BR' translation.

2013-07-15  Andreas Enge  <andreas@enge.fr>

	gnu: pango, gtk+: Propagate inputs.
	* gnu/packages/gtk.scm (pango): Propagate input cairo.
	* gnu/packages/gtk.scm (gtk+): Propagate inputs atk, gdk-pixbuf and pango;
	    drop input cairo, propagated through pango.

	Add gtk+.
	* gnu/packages/gtk.scm (pango): Propagate input harfbuzz.
	* gnu/packages/gtk.scm (gtk+): New variable.

2013-07-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: make-bootstrap: Skip tests for the statically-linked gawk.
	* gnu/packages/make-bootstrap.scm (%static-inputs)[gawk]: Add #:tests? #f.

	Update `eo.po'.

	Rename (guix web) to (guix http-client).
	* guix/web.scm: Rename to...
	* guix/http-client.scm: ... this.
	* guix/gnu-maintenance.scm, guix/scripts/substitute-binary.scm,
	  Makefile.am, po/POTFILES.in: Update accordingly.

2013-07-13  Nikita Karetnikov  <nikita@karetnikov.org>

	doc: Add "Building from Git" to 'HACKING'.

2013-07-12  Ludovic Courtès  <ludo@gnu.org>

	guix package: Fix handling of `-e'.
	This fixes a bug whereby a command like

	  guix package -e '(@@ (gnu packages base) gnu-make-boot0)'

	would only succeed when the outputs of that package are available, and
	otherwise fail with "/nix/store/... is not valid".

	* guix/scripts/package.scm (guix-package)[process-action](package->tuple):
	  Leave P as is in the result.  Move `package->tuple' call from INSTALL*
	  to INSTALL.

2013-07-12  Ludovic Courtès  <ludo@gnu.org>

	ui: Ignore SIGPIPE and catch `system-error' exceptions.
	* guix/ui.scm (initialize-guix): Call `sigaction'.
	  (call-with-error-handling): Wrap `thunk' in a (catch 'system-error ...).

	guix package: Reuse FTP connections for subsequent `latest-release' calls.
	* guix/gnu-maintenance.scm (latest-release): Add `ftp-close' and
	  `ftp-open' keyword parameters.
	* guix/scripts/package.scm (ftp-open*): New variable.
	  (check-package-freshness): Call `latest-release' with `ftp-open*' and
	  a no-op procedure.

	gnu-maintenance: `latest-release' closes its connection.
	* guix/gnu-maintenance.scm (latest-release): Close CONN before
	  returning.

	gnu: plotutils: Allow compilation with newer libpng.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/patches/plotutils-libpng-jmpbuf.patch: New file.
	* gnu/packages/plotutils.scm (plotutils): Add
	  `plotutils-libpng-jmpbuf.patch' as an input, and apply it.

	gnu: freeipmi: Upgrade to 1.2.8.
	* gnu/packages/freeipmi.scm (freeipmi): Upgrade to 1.2.8.

	gnu: libidn: Upgrade to 1.28.
	* gnu/packages/libidn.scm (libidn): Upgrade to 1.28.

	gnu: gnupg: Upgrade support libraries.
	* gnu/packages/gnupg.scm (libgpg-error): Upgrade to 1.12.
	  (libassuan): Upgrade to 2.1.1.

2013-07-11  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Directly replace the global `regexp-exec'.
	* guix/scripts/substitute-binary.scm (%regexp-exec-mutex, string->uri):
	  Remove.
	  (regexp-exec): Replace this global binding by a thread-safety wrapper.
	  (fields->alist): Remove `with-mutex', and directly alias `recutils->alist'.

	gnu: help2man: Upgrade to 1.43.3.
	* gnu/packages/help2man.scm (help2man): Upgrade to 1.43.3.

	gnu: xorriso: Upgrade to 1.3.0.
	* gnu/packages/cdrom.scm (xorriso): Upgrade to 1.3.0.

	substitute-binary: Increase the default timeout.
	* guix/scripts/substitute-binary.scm (%fetch-timeout): Set to 5 seconds.

	gnu: automake: Upgrade to 1.14.
	* gnu/packages/autotools.scm (automake): Upgrade to 1.14.

	guix refresh: Keep only the newest versions of packages as upgrade candidates.
	* guix/scripts/refresh.scm (guix-refresh)[keep-newest]: New procedure.
	  Use it to keep only once copy of each package.

2013-07-10  Ludovic Courtès  <ludo@gnu.org>

	list-packages: Show the package logo, when available.
	* build-aux/list-packages.scm (lookup-gnu-package): New procedure.
	  (package->sxml): Add the package logo, when available, next to the
	  description.

	Update eo.po.

	gnu-maintenance: Add `doc-description' field to <gnu-package-descriptor>.
	* guix/gnu-maintenance.scm (%gsrc-package-list-url): New variable.
	  (<gnu-package-descriptor>): Add `doc-description' field.
	  (official-gnu-packages)[group-package-fields]: Rename to...
	  [read-records]: ... this.  Reverse the result.
	  [gsrc-description]: New procedure.
	  Add the "description" field to the alist passed to `alist->record'.

	records: `recutils->alist' recognizes lines starting with a `+'.
	* guix/records.scm (%recutils-plus-rx): New variable.
	  (recutils->alist): Use it to read + lines.
	* tests/records.scm ("recutils->alist with + lines"): New test.

	gnu-maintenance: Use `recutils->alist'.
	* guix/gnu-maintenance.scm (official-gnu-packages)[group-package-fields]:
	  Rewrite in terms of `recutils->alist'.  Remove `state' parameter.
	  Specify "doc-url" and "language" as multiple-value keys in the
	  `alist->record' call.

	records: `alist->record' supports multiple-field occurrences.
	* guix/records.scm (alist->record): Add `multiple-value-keys'
	  parameter.  Update docstring, and honor it.
	* tests/records.scm ("alist->record"): New record.

	records: `recutils->alist' recognizes comments.
	* guix/records.scm (%recutils-comment-rx): New variable.
	  (recutils->alist): Match comments.
	* tests/records.scm ("recutils->alist"): Add comments.

	records: Add `recutils->alist' for public consumption.
	* guix/records.scm (%recutils-field-rx): New variable.
	  (recutils->alist): New procedure, formerly known as `fields->alist'.
	* guix/scripts/substitute-binary.scm (fields->alist): Use it.
	* tests/records.scm ("recutils->alist"): New test.

	gnu: libpng: Upgrade to 1.5.17.
	* gnu/packages/libpng.scm (libpng): Upgrade to 1.5.17.

	list-packages: Write out the HTML page as UTF-8.
	* build-aux/list-packages.scm (list-packages): Install the "C" locale.
	  Write out as UTF-8.

	tests: Fix guix-package.sh in the presence of multiple-output `make'.
	* tests/guix-package.sh: For $boot_make_drv, take only the "out" output.
	  Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	Add `build-aux/list-packages.scm'.
	* build-aux/list-packages.scm: New file.
	* Makefile.am (EXTRA_DIST): Add it.

2013-07-09  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'core-updates'

	doc: Add "Installing Debugging Files".
	* doc/guix.texi (Installing Debugging Files): New node.
	  (Packages with Multiple Outputs): Add cross-reference.

2013-07-08  Ludovic Courtès  <ludo@gnu.org>

	doc: Add "Packages with Multiple Outputs" section.
	* doc/guix.texi (Packages with Multiple Outputs): New node.
	  (Invoking guix package): Refer to it.

	tests: Adjust `package-field-location' test for Guile <= 2.0.6.
	* tests/packages.scm ("package-field-location"): Check the result of
	  `read-at' against both VALUE and (FIELD VALUE).
	  Reported by Matthew Lien - 練喆明" <bluet@bluet.org>.

	build: Set the umask to 0022 before running the daemon for tests.
	* test-env.in: Run "umask 0022" before running the daemon.
	  Reported by Matthew Lien - 練喆明 <bluet@bluet.org>

	build: Set the umask to 0022 before running the daemon for tests.
	* test-env.in: Run "umask 0022" before running the daemon.
	  Reported by Matthew Lien - 練喆明 <bluet@bluet.org>

	gnu: gettext: Upgrade to 0.18.3.
	* gnu/packages/gettext.scm (gettext): Upgrade to 0.18.3.
	  Remove patch.  Change `patch-tests' phase to use (which "sh'); keep it
	  regardless of whether we're cross compiling.

2013-07-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: tzdata: Upgrade to 2013d.
	* gnu/packages/base.scm (tzdata): Upgrade to 2013d.

	doc: Move the packaging guidelines to the manual.
	* HACKING (Packaging Guidelines): Remove.
	* doc/guix.texi (Packaging Guidelines): New node.

	doc: Add a "Porting" section.
	* HACKING (Porting the Guix distro on a new platform): Remove.
	* doc/guix.texi (Porting): New node.  Describe cross-compilation as the
	  only approach.

	doc: Add a "Boostrapping" section.
	* doc/guix.texi (Package Modules): New node, with material formerly
	  under "GNU Distribution".
	  (Bootstrapping): New node.
	* Makefile.am (EXTRA_DIST): Add doc/images/bootstrap-graph.dot and
	  doc/images/bootstrap-graph.eps.
	  (infoimagedir, dist_infoimage_DATA, DOT_OPTIONS): New variable.
	  (.dot.png, .dot.eps, doc/guix.pdf, doc/guix.info, doc/guix.ps): New
	  targets.
	* doc/images/bootstrap-graph.dot: New file.

2013-07-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc: Add Texinfo to the native inputs.
	* gnu/packages/gcc.scm (gcc-4.7): Add `native-inputs' field.
	  (gcc-4.8): Remove outdated comment.
	* gnu/packages/base.scm (gcc-boot0): Add `native-inputs' field.

2013-07-05  Ludovic Courtès  <ludo@gnu.org>

	build: Bail out on unsupported platforms; add `--with-courage'.
	* m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): New macro.
	* configure.ac: Use it.

	gnu: make-bootstrap: guile-static-stripped has no "debug" output.
	* gnu/packages/make-bootstrap.scm (%guile-static-stripped): Add
	  `outputs' field.

	build: Correctly determine the system type for non-Linux systems.
	* m4/guix.m4 (GUIX_SYSTEM_TYPE): Find `sed'.  Fix sed pattern in the
	  non-Linux case.

2013-07-04  Ludovic Courtès  <ludo@gnu.org>

	store: Deal with unsupported `setsockopt' operation on GNU/Hurd.
	* guix/store.scm (open-connection): Silently ignore ENOPROTOOPT on
	  `setsockopt' calls, for the sake of GNU/Hurd.
	  Reported by Matthew Lien <bluet@bluet.org> at
	  <http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00020.html>.

	daemon: Make argp usage compatible with libc on GNU/Hurd.
	* nix/nix-daemon/guix-daemon.cc (parse_opt): Cast return value to
	  `error_t' for the sake of GNU/Hurd.
	  Reported by Matthew Lien <bluet@bluet.org> at
	  <http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00002.html>.

	Import (guix hash) in build-aux/download.scm.
	* build-aux/download.scm: Import (guix hash).
	  Reported by Matthew Lien <bluet@bluet.org>.

	build-system/gnu: Remove the "debug" output when `strip-binaries?' is #f.
	* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Delete "debug"
	  from OUTPUTS when STRIP-BINARIES? is false.
	* gnu/packages/cross-base.scm (cross-libc): Leave `outputs' unchanged.
	  This reverts commit a4627d4.

	gnu: cross-libc: Remove the "debug" output.
	* gnu/packages/cross-base.scm (cross-libc): Remove "debug" from the
	  `outputs' field.

2013-07-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add a "debug" output for some packages.
	* gnu/packages/base.scm (coreutils, gnu-make, glibc): Add a "debug" output.
	* gnu/packages/bdw-gc.scm (libgc): Likewise.
	* gnu/packages/guile.scm (guile-2.0): Likewise.
	* gnu/packages/libffi.scm (libffi): Likewise.
	* gnu/packages/multiprecision.scm (gmp, mpfr, mpc): Likewise.

	build-system/gnu: Write debug files to the "debug" sub-derivation, if any.
	* guix/build/gnu-build-system.scm (strip): Add `objcopy-command' keyword
	  parameter.
	  [debug-output, debug-file-extension]: New variables.
	  [debug-file, make-debug-file, add-debug-link]: New procedures.
	  [strip-dir]: Use them.

	utils: Re-export `alist-cons' and `alist-delete'.
	* guix/build/utils.scm: Re-export `alist-cons' and `alist-delete'.

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

	gnu: qemu: Upgrade to 1.5.1.
	* gnu/packages/qemu.scm (qemu-kvm): Add `--cc' configure option.
	  Add PIXMAN and ALSA-LIB as inputs.
	  (qemu): Upgrade to 1.5.1  Remove autotool hack for pixman.  Patch
	  tests/libqtest.c.  Remove Autoconf, Automake, and Libtool from the
	  inputs.  Fix `home-page'.

	Update `NEWS' and `TODO'.

	Use `port-sha256' and `open-sha256-port'.
	* guix/derivations.scm (derivation-hash): Add comment as to why we keep
	  the plain `sha256' call.
	* guix/scripts/download.scm (guix-download): Use `port-sha256' instead
	  of (compose sha256 get-bytevector-all).
	* guix/scripts/refresh.scm (update-package): Likewise.

2013-07-02  Ludovic Courtès  <ludo@gnu.org>

	hash: Add `open-sha256-port'.
	* guix/hash.scm (GCRY_MD_SHA256): New macro.
	  (sha256): Use it.
	  (open-sha256-md, md-write, md-read, md-close, open-sha256-port,
	  port-sha256): New procedures.
	* tests/hash.scm: New file.
	* Makefile.am (SCM_TESTS): Add it.

2013-07-01  Ludovic Courtès  <ludo@gnu.org>

	Move `sha256' to (guix hash).
	* guix/utils.scm (sha256): Move to...
	* guix/hash.scm: ... here.  New file.
	* Makefile.am (MODULES): Add it.
	* guix/derivations.scm, guix/scripts/download.scm,
	  guix/scripts/hash.scm, guix/scripts/refresh.scm, tests/base32.scm,
	  tests/derivations.scm, tests/store.scm: Use (guix hash).

	gnu: liboop: Fix & improve meta-data.
	* gnu/packages/lsh.scm (liboop): Fix home page.  Improve `synopsis' and
	  `description'.  Thanks to carl hansen <carlhansen1234@gmail.com>, who
	  raised it on bug-gsrc@gnu.org.

2013-07-01  Ludovic Courtès  <ludo@gnu.org>

	ui: Don't make substituter-related RPCs at all when substitutes are disabled.
	Reported by Nikita Karetnikov and Cyril Roelandt.

	* guix/ui.scm (show-what-to-build): Call `substitutable-path-info'
	  only when USE-SUBSTITUTES? is true.

2013-07-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GNU vc-dwim.
	* gnu/packages/version-control.scm (vc-dwim): New variable.

2013-06-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GNU Rush.
	* gnu/packages/rush.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	substitute-binary: Avoid dangling connections to the server.
	* guix/web.scm (open-socket-for-uri): New procedure.
	  (http-fetch): Add `port' keyword parameter; use it.
	* guix/scripts/substitute-binary.scm (%random-state): New variable.
	  (with-timeout): Wait a little before retrying.
	  (fetch): Use `open-socket-for-uri', and keep a copy of the socket in
	  variable `port'.  Close PORT upon timeout.

2013-06-28  Cyril Roelandt  <tipecaml@gmail.com>

	gnutls: fix the test-suite for 32 bits systems.
	* gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch: New file.
	* gnu-system.am: Add it here...
	* gnu/packages/gnutls.scm (gnutls): ... and use it here.

	Thanks to Nikos Mavrogiannopoulos for providing this patch:
	http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/6778

2013-06-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: lout: Upgrade to 3.40.
	* gnu/packages/lout.scm (lout): Upgrade to 3.40.

	download: Add Savannah's master site.
	* guix/download.scm (%mirrors): Add the "-noredirect" version of
	  Savannah.

	gnu: lsh: Upgrade to 2.1.
	* gnu/packages/lsh.scm (lsh): Upgrade to 2.1.  Add Nettle as an input.
	  Remove now unneeded patches.
	* gnu/packages/patches/lsh-guile-compat.patch,
	  gnu/packages/patches/lsh-no-root-login.patch,
	  gnu/packages/patches/lsh-pam-service-name.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove them.

2013-06-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc: Use `gcc-configure-flags-for-triplet' when cross-compiling GCC.
	* gnu/packages/cross-base.scm (gcc-configure-flags-for-triplet): Move to...
	* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): ... here.  New
	  procedure.
	  (gcc-4.7): Use it when (%current-target-system) is true.

	build: Add "mips64el-linux-gnuabi64" as a cross build target.
	* build-aux/hydra/gnu-system.scm (%packages-to-cross-build): Add
	  %bootstrap-tarballs.
	  (%cross-targets): Add "mips64el-linux-gnuabi64".

	gnu: cross-base: Add support for `mips64el-linux-gnu-gnuabi64' (N64 ABI).
	* gnu/packages/cross-base.scm (gcc-configure-flags-for-triplet): New
	  procedure.
	  (cross-gcc): Use it.
	  (xgcc-mips64el): Use *-gnuabi64 instead of the N32 ABI.

	gnu: make-bootstrap: Fix cross compilation of binutils-static.
	* gnu/packages/make-bootstrap.scm (%binutils-static): Inherit configure
	  flags from BINUTILS.

	gnu: make-bootstrap: Have %gcc-static actually static when cross building.
	* gnu/packages/make-bootstrap.scm (%gcc-static): Pass `-static' through
	  `LDFLAGS' when cross-compiling.

	gnu: gcc: Allow cross-compilation of GCC itself.
	* gnu/packages/gcc.scm (gcc-4.7): Define `CC_FOR_TARGET',
	  `AR_FOR_TARGET', etc. when cross-compiling.

	gnu: cross-base: Make `glibc-dynamic-linker' do the right thing.
	* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Determine SYSTEM
	  based on (%current-target-system) when it's true.
	* gnu/packages/cross-base.scm (cross-gcc): Directly call
	  (package-arguments gcc-4.7) from the body of `arguments'.

	gnu: cross-base: Build Binutils with `--with-sysroot=/'.
	* gnu/packages/cross-base.scm (cross-binutils): Use `--with-sysroot=/'.

2013-06-25  Ludovic Courtès  <ludo@gnu.org>

	build: Build the bootstrap tarballs on Hydra.
	* build-aux/hydra/gnu-system.scm (%packages-to-cross-build): Uncomment
	  the bootstrap tarball packages.

	gnu: make-bootstrap: Allow cross-compilation of the bootstrap tarballs.
	* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc): Turn
	  `inputs' into a thunk.  Add `native-inputs', and pass it to
	  `package-with-explicit-inputs'.
	  (%static-inputs): Add %BASH-STATIC as an input to gawk when cross
	  building.
	  (%glibc-stripped): When cross compiling,
	  use (glibc-for-bootstrap (cross-libc)) as the basis.
	  (%gcc-static): Base on GCC-4.7, not GCC-FINAL.
	  (tarball-package): TAR and XZ are native inputs.  Choose the tarball
	  file name based on (%current-target-system) too.

	build-system/gnu: `package-with-explicit-inputs' skips non-GBS packages.
	* guix/build-system/gnu.scm (package-with-explicit-inputs)[rewritten-input]:
	  Leave P unchanged if its build system is not GNU-BUILD-SYSTEM.

	gnu: cross-base: Make the cross tools native inputs.
	* gnu/packages/cross-base.scm (cross-gcc): Change `inputs' to
	  `native-inputs', and set `inputs' to the empty list.
	  (cross-libc): Likewise.

	build-system/gnu: Augment `package-with-explicit-inputs' for cross builds.
	* guix/build-system/gnu.scm (package-with-explicit-inputs): Add
	  `native-inputs' keyword parameter.  Allow INPUTS and NATIVE-INPUTS to
	  be thunks.

	gnu: bigloo: Explicitly link libbigloopthread against libgc.
	* gnu/packages/scheme.scm (bigloo): In `configure' phase, change
	  api/thread/src/Makefile to explicitly link against libgc.

	build-system/trivial: Don't bind `%target' in the builder.
	* guix/build-system/trivial.scm (trivial-cross-build): Don't bind
	  `%target' here since this causes problem when BUILDER
	  contains (use-modules ...) clauses, and can be achieved differently
	  anyway.

	gnu: gawk: Allow cross-compilation.
	* gnu/packages/gawk.scm (gawk)[arguments]: Annihilate the
	  `check-for-shared-lib-support' target when cross-compiling.

2013-06-24  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Disable test suite when cross building.
	* guix/build-system/gnu.scm (gnu-cross-build): Change #:tests? to
	  default to #f.

2013-06-23  Andreas Enge  <andreas@enge.fr>

	gnu: Add gdk-pixbuf.
	* gnu/packages/gtk.scm (gdk-pixbuf): New variable.

2013-06-22  Ludovic Courtès  <ludo@gnu.org>

	gnu: ed: Upgrade to 1.9.
	* gnu/packages/ed.scm (ed): Upgrade to 1.9.

	gnu: gcc-4.8: Upgrade to 4.8.1.
	* gnu/packages/gcc.scm (gcc-4.8): Upgrade to 4.8.1.

	gnu: libffi: Upgrade to 3.0.13.
	* gnu/packages/libffi.scm (libffi): Upgrade to 3.0.13.

	utils: `set-path-environment-variable' calls `unsetenv' for empty values.
	* guix/build/utils.scm (set-path-environment-variable): When VALUE is
	  the empty string, call `unsetenv' instead of `setenv'.
	* gnu/packages/guile.scm (guile-2.0)[arguments]: Remove `unsetenv'
	  trick.

	gnu: acl, attr: Make `gettext' a native input.
	* gnu/packages/acl.scm (acl): Make `gettext' a native input, always.
	* gnu/packages/attr.scm (attr): Likewise.

	gnu: gmp: Upgrade to 5.1.2.
	* gnu/packages/multiprecision.scm (gmp): Update to 5.1.2.

	gnu: gawk: Upgrade to 4.1.0.
	* gnu/packages/gawk.scm (gawk): Update to 4.1.0.  Remove wrong-headed
	  comments.

	gnu: gzip: Upgrade to 1.6.
	* gnu/packages/compression.scm (gzip): Upgrade.

	build-system/gnu: Set #:tests? to #f when cross-compiling.
	* guix/build/gnu-build-system.scm (check): Add `target' formal
	  parameter.  Change `tests?' to default to (not target).

	download: Don't fail when abbreviating `file://' URIs.
	* guix/build/download.scm (uri-abbreviation)[elide-path]: Handle the
	  case where URI has no `host' part.

2013-06-21  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Save `environment-variables' after each phase.
	* guix/build/gnu-build-system.scm (set-paths): Move `system' call to...
	  (gnu-build): ... here.

	build-system/gnu: Unify with (guix build-system gnu-cross-build).
	* guix/build/gnu-build-system.scm (set-paths): Add `native-inputs' and
	  `native-search-paths' keyword parameters.  Honor them.
	  (configure): Add `target' and `native-inputs' keyword parameters.
	  Look for Bash in NATIVE-INPUTS or INPUTS.  Pass `--host' when TARGET
	  is true.
	  (strip): Add `strip-command' keyword parameter.  Use it.
	* guix/build/gnu-cross-build.scm: Remove.
	* Makefile.am (MODULES): Adjust accordingly.
	* gnu/packages/acl.scm, gnu/packages/attr.scm, gnu/packages/base.scm,
	  gnu/packages/bash.scm, gnu/packages/gawk.scm,
	  gnu/packages/gettext.scm, gnu/packages/guile.scm,
	  gnu/packages/libffi.scm, gnu/packages/libsigsegv.scm,
	  gnu/packages/linux.scm, gnu/packages/ncurses.scm,
	  gnu/packages/readline.scm, guix/build-system/gnu.scm: Replace
	  `%standard-cross-phases' by `%standard-phases'.  Remove references
	  to (guix build gnu-cross-build).

2013-06-20  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates
	Conflicts:
		gnu/packages/make-bootstrap.scm

	gnu: libgc: Always build with -DUSE_LIBC_PRIVATES.
	* gnu/packages/bdw-gc.scm (libgc): Add `arguments' field.
	* gnu/packages/make-bootstrap.scm (%guile-static): Remove local `libgc'.

	gnu: libgc: Switch to 7.2d.
	* gnu/packages/bdw-gc.scm (libgc): Upgrade to 7.2d.
	  (libgc-7.2): Remove.

	build: Move Hydra recipe to build-aux/hydra.
	* hydra.scm: Rename to...
	* build-aux/hydra/gnu-system.scm: ... this.
	* Makefile.am (EXTRA_DIST): Adjust accordingly.

	package: Fix i18n of the number of packages message.
	* guix/scripts/package.scm (guix-package)[process-actions]: Use `N_' for
	  i18n of the number of packages message.

	substitute-binary: Report progress while downloading.
	* guix/scripts/substitute-binary.scm (decompressed-port): Improve docstring.
	  (progress-report-port): New procedure.
	  (guix-substitute-binary)["--substitute"]: Use it to report progress.
	* guix/build/download.scm: Export `progress-proc' and `uri-abbreviation'.

2013-06-19  Ludovic Courtès  <ludo@gnu.org>

	Update eo.po.

	build: Split Makefile.am into two parts.
	* Makefile.am (MODULES): Move gnu/* to gnu-system.am.
	  (patchdir, dist_patch_DATA, bootstrapdir,
	  bootstrap_x86_64_linuxdir, bootstrap_i686_linuxdir,
	  dist_bootstrap_x86_64_linux_DATA, dist_bootstrap_i686_linux_DATA,
	  nodist_bootstrap_x86_64_linux_DATA, nodist_bootstrap_i686_linux_DATA,
	  install-data-hook, DISTCLEANFILES, DOWNLOAD_FILE,
	  gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
	  gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Move to...
	* gnu-system.am: ... here.  New file.

	package: Display the number of installed packages upon completion.
	* guix/scripts/package.scm (guix-package)[process-actions]: Display the
	  number of packages in the profile upon completion.

	Add `substitute-binary.scm' to POTFILES.in.
	* po/POTFILES.in: Add guix/scripts/substitute-binary.scm.

	gnu: Add ImageMagick.
	* gnu/packages/imagemagick.scm: New file.
	* Makefile.am (MODULES): Add it.
	* guix/download.scm (%mirrors): Add `imagemagick' entry.

2013-06-18  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Provide feedback when the server is unresponsive.
	* guix/scripts/substitute-binary.scm (%fetch-timeout): New variable.
	  (with-timeout): New macro.
	  (fetch): Add `timeout?' keyword parameter.  Enclose `http-fetch' call
	  in `with-timeout'.
	  (guix-substitute-binary): Call `fetch' with #:timeout? #f.

	build: Fix `sync-with-upstream'.
	* nix/sync-with-upstream: Remove schema.sql.hh.

	gnu: Add Linux iproute2.
	* gnu/packages/bdb.scm (bdb): Add `--enable-compat185'.
	* gnu/packages/linux.scm (iproute): New variable.

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

	gnu: graphviz: Fix typo.
	* gnu/packages/graphviz.scm (graphviz): Fix typo in description.

2013-06-17  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Move subversion with the other version control systems.
	* gnu/packages/subversion.scm: Remove file.
	* gnu/packages/version-control.scm (subversion): New variable.
	* Makefile.am (MODULES): remove subversion.scm.

2013-06-17  Ludovic Courtès  <ludo@gnu.org>

	build: Remove non-existent git.scm from Makefile.am.
	* Makefile.am (MODULES): Remove git.scm.

	gnu: Add Graphviz.
	* gnu/packages/graphviz.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: libpng: Propagate zlib.
	* gnu/packages/libpng.scm (libpng): Propagate zlib.

2013-06-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GD.
	* gnu/packages/gd.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add Racket.
	* gnu/packages/scheme.scm (racket): New variable.

2013-06-15  Ludovic Courtès  <ludo@gnu.org>

	build-system/trivial: Fix introduction of `%target' when cross-building.
	* guix/build-system/trivial.scm (trivial-cross-build): Wrap BUILDER in a
	  `let' rather than in `begin'.

	gnu: linux-libre-headers: Allow cross-compilation.
	* gnu/packages/linux.scm (linux-libre-headers): Use (guix build
	  gnu-cross-build) and %standard-cross-phases when cross-compiling.

	gnu: pkg-config: Export package definition.
	* gnu/packages/pkg-config.scm (%pkg-config): Make public.
	  Reported by Andreas Enge <andreas@enge.fr>.

2013-06-14  Andreas Enge  <andreas@enge.fr>

	gnu: Add pango.
	* gnu/packages/gtk.scm (pango): New variable.

	gnu: Add harfbuzz.
	* gnu/packages/gtk.scm (harfbuzz): New variable.

	gnu: Add cairo.
	* gnu/packages/gtk.scm (cairo): New variable.

	gnu: Add libspectre.
	* gnu/packages/ghostscript.scm (libspectre): New variable.

2013-06-14  Ludovic Courtès  <ludo@gnu.org>

	Update `TODO'.

	Update upstream Nix sub-module.
	* nix-upstream: Update.
	* NEWS: Mention multiple-derivation output bug.

	derivations: Micro-optimize `derivation-hash'.
	* guix/derivations.scm (derivation-hash): Use a UTF-8-encoded string
	  output port.  This makes things deterministic, and slightly faster.

	gnu: make-bootstrap: Abstract things with `package-with-relocatable-glibc'.
	* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Replace with...
	  (glibc-for-bootstrap): ... this.  New procedure.
	  (%standard-inputs-with-relocatable-glibc): Replace with...
	  (package-with-relocatable-glibc): ... this.  New procedure.
	  (%static-inputs, %gcc-static, %guile-static): Use it.

	gnu: make-bootstrap: Keep Perl as an input only when needed.
	* gnu/packages/make-bootstrap.scm (%static-inputs)[coreutils]: Keep Perl
	  as an input only if it's an input of COREUTILS.

2013-06-13  Ludovic Courtès  <ludo@gnu.org>

	guix gc: Add `--requisites'.
	* guix/scripts/gc.scm (show-help, %options): Add `--requisites'.
	  (guix-gc): Handle it.
	* doc/guix.texi (Invoking guix gc): Document `--requisites'.
	* NEWS: Update.

	store: Add `requisites'.
	* guix/store.scm (fold-path, requisites): New procedures.
	* tests/store.scm ("requisites"): New test.

2013-06-12  Ludovic Courtès  <ludo@gnu.org>

	ld-wrapper: Unless in a build env., allow files that symlink to the store.
	* gnu/packages/ld-wrapper.scm (pure-file-name?): As a last resort, when
	  %BUILD-DIRECTORY is false, check whether FILE is a symlink, and loop
	  over it to check whether its target is in the store.

2013-06-12  Konrad Hinsen  <konrad.hinsen@fastmail.net>

	doc: Describe the build procedure in more detail.
	* README (Requirements): Replace "autoreconf" by "bootstrap".
	  (Installing Guix from Guix): Augment and update.

2013-06-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GNU gcal.
	* gnu/packages/gcal.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-06-12  Konrad Hinsen  <konrad.hinsen@fastmail.net>

	Ignore /po/Makevars.template

2013-06-10  Cyril Roelandt  <tipecaml@gmail.com>

	Fix Guile version checking in the "web" code.
	* guix/web.scm (http-fetch): fix Guile version checking. The previous version
	would use features from Guile 2.0.9+ when using Guile 2.0.7.

2013-06-10  Nikita Karetnikov  <nikita@karetnikov.org>

	guix refresh: Add '--key-download'.
	* guix/gnu-maintenance.scm (download-tarball): Add a 'key-download'
	  keyword argument and pass it to 'gnupg-verify*'.  Make
	  'archive-type' a keyword argument.
	  (package-update): Add a 'key-download' keyword argument.  Pass
	  'archive-type' and 'key-download' keyword arguments to
	  'download-tarball'.

	* guix/gnupg.scm: Import (ice-9 i18n) and (guix ui).
	  (gnupg-verify*): Add a 'key-download' keyword argument and adjust
	  'gnupg-verify*' to use it.  Make 'server' a keyword argument.

	* guix/scripts/refresh.scm (show-help, %options): Add and document
	  '--key-download'.
	  (update-package): Add a 'key-download' keyword argument and pass it
	  to 'package-update'.
	  (guix-refresh): Pass 'key-download' to 'update-package'.  Limit
	  lines to a maximum of 79 characters.

2013-06-10  Ludovic Courtès  <ludo@gnu.org>

	doc: Mention copyright/license auditing in `HACKING'.

2013-06-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add mpg321.
	* gnu/packages/mp3.scm (mpg321): New variable.

	gnu: Add ALSA-lib; use it.
	* gnu/packages/linux.scm (alsa-lib): New variable.
	* gnu/packages/oggvorbis.scm (ao): Add ALSA-lib as an input.

	gnu: glib: Fix URL.
	* gnu/packages/glib.scm (glib): Fix URL.

	doc: Update bootstrap-related info in `HACKING'.

2013-06-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: glib: Update to 2.37.1.
	* gnu/packages/glib.scm (glib): Update to 2.37.1.  Add Bash and tzdata
	  as inputs.  Remove `glib-tests-timezone.patch'.  Augment `pre-build'
	  phase to set `TZDIR', `XDG_CACHE_HOME', and to modify makefiles to
	  honor $(TESTS_ENVIRONMENT).
	* gnu/packages/patches/glib-tests-desktop.patch,
	  gnu/packages/patches/glib-tests-homedir.patch: Update.
	* gnu/packages/patches/glib-tests-timezone.patch: Remove.
	* Makefile.am (dist_patch_DATA): Update accordingly.

2013-06-08  Mark H Weaver  <mhw@netris.org>

	gnu: subversion: Download from apache archive site.
	* gnu/packages/subversion.scm (subversion): Download from archive.apache.org,
	  where versions are kept for a longer period of time.  Previously, we
	  downloaded from the mirrors, which keep only the most recent versions.

2013-06-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: plotutils: Add X client libraries as inputs.
	* gnu/packages/plotutils.scm (plotutils): Add libx11, libxt, and libxaw
	  as inputs.

	gnu: Add Privoxy.
	* gnu/packages/tor.scm (privoxy): New variable.

2013-06-06  Ludovic Courtès  <ludo@gnu.org>

	packages: Make the `propagated-inputs' field thunked.
	* guix/packages.scm (<package>): Make `propagated-inputs' thunked.

2013-06-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: bash-light: Allow cross-compilation.
	* gnu/packages/bash.scm (bash-light): Add (guix build gnu-cross-build)
	  to #:modules when (%current-target-system) is true.
	  Add `bash_cv_job_control_missing=no' to #:configure-flags
	  when (%current-target-system) is true.

	gnu: Fix `static-package' arguments overriding.
	* guix/build-system/gnu.scm (static-package): Call `package-arguments'
	  from within the `arguments' field, so it see the
	  right (%current-target-system).

	gnu: gnutls: Update to 3.2.1.
	* gnu/packages/gnutls.scm (gnutls): Update to 3.2.1.

	gnu: nettle: Update to 2.7.1.
	* gnu/packages/nettle.scm (nettle): Update to 2.7.1.

	gnu: automake: Update to 1.13.3.
	* gnu/packages/autotools.scm (automake): Update to 1.13.3.

2013-06-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add WordNet.
	* gnu/packages/wordnet.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add Tk.
	* gnu/packages/tcl.scm (tk): New variable.

	doc: Write about patch submission and packaging guidelines.
	* HACKING: Update the command names from `guix-build' to `guix build' & co.
	  (Submitting Patches, Packaging Guidelines): New sections.
	* doc/guix.texi (Contributing): New section.

	substitute-binary: Don't cache .narinfo lookups when lacking networking.
	* guix/scripts/substitute-binary.scm (lookup-narinfo): Don't cache
	  NARINFO when CACHE is #f.

	Update `NEWS'.

2013-06-03  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add Grue Hunter.
	* gnu/packages/grue-hunter.scm: New file.
	* Makefile.am (MODULES): Add it.

	licenses: Add 'agpl3' and 'agpl3+'.
	* guix/licenses.scm (agpl3, agpl3+): New variables.

2013-06-01  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add Babel.
	* gnu/packages/babel.scm (babel): New package.

2013-06-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add XLockMore.
	* gnu/packages/xlockmore.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: gawk: Refer to the target Bash in io.c.
	* gnu/packages/gawk.scm (gawk): Add Bash as an input
	  when (%current-target-system) is true.

	Fix name of Alexandru.

2013-05-30  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Rubber.
	* gnu/packages/texlive.scm (rubber): New variable.

	Thanks, Cojocaru.

	ui: define-diagnostic: Don't mark `_' and `N_' as literals.
	* guix/ui.scm (define-diagnostic): Use `free-identifier=?' to compare
	  the user's input with `_' and `N-".  This should fix builds with Guile 2.1.
	  Reported by Cojocaru Alexandru <xojoc@gmx.com>.

2013-05-30  Ludovic Courtès  <ludo@gnu.org>

	build-system/python: Avoid circular dependency.
	This fixes a circular dependency introduced in commit acc26ff ("gnu: Add
	pytz.").

	* guix/build-system/python.scm (default-python): New procedure.
	  (python-build): Use it.

2013-05-29  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Gracefully exit upon networking errors.
	Suggested by Andreas Enge <andreas@enge.fr>.

	* guix/scripts/substitute-binary.scm (with-networking): New macro.
	  (guix-substitute-binary): Wrap the body in `with-networking'.

2013-05-29  Ludovic Courtès  <ludo@gnu.org>

	build, package: Add `--fallback' option.
	* guix/scripts/build.scm (%options, show-help): Add `--fallback'.
	  (guix-build): Call `set-build-options' with #:fallback?.
	* guix/scripts/package.scm (%options, show-help): Add `--fallback'.
	  (guix-package): Call `set-build-options' with #:fallback?.
	* doc/guix.texi (Invoking guix package, Invoking guix build): Document
	  `--fallback'.

	store: Test the `fallback?' store option.
	* guix/store.scm (set-build-options): Rename #:try-fallback? to #:fallback?.
	* tests/store.scm ("substitute --fallback"): New test.

2013-05-29  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add pytz.
	* gnu/packages/python.scm (pytz): New package.

2013-05-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add torsocks.
	* gnu/packages/tor.scm (torsocks): New variable.

2013-05-28  Cyril Roelandt  <tipecaml@gmail.com>

	python-build-system: add a check phase.
	* guix/build/python-build-system.scm (check): New procedure.
	  (%standard-phases): Use it.

2013-05-27  Ludovic Courtès  <ludo@gnu.org>

	packages: Raise an error condition a cross builder is needed but unavailable.
	* guix/packages.scm (&package-cross-build-system-error): New condition type.
	  (package-cross-derivation): Raise &package-cross-build-system-error
	  when the build system doesn't support cross builds.
	* guix/ui.scm (call-with-error-handling): Add
	  package-cross-build-system-error? case.
	* tests/packages.scm ("package-cross-derivation, no cross builder"): New test.

	build-system/gnu: Fix typo in `gnu-cross-build'.
	* guix/build-system/gnu.scm (gnu-cross-build)[builder]: When
	  IMPLICIT-TARGET-INPUTS is #f, default to '().

	gnu: guile: More cross-compilation tweaks.
	* gnu/packages/guile.scm (guile-2.0): When cross-compiling, unset
	  GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH, and set
	  CC_FOR_BUILD=gcc.

	gnu: pkg-config: Provide a cross-build-friendly wrapper.
	* gnu/packages/pkg-config.scm (pkg-config): Rename to...
	  (%pkg-config): ... this.  Make private.
	  (cross-pkg-config, pkg-config-for-target): New procedures.
	  (pkg-config): New macro.

2013-05-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: cross-binutils: Build with `--with-sysroot'.
	This fixes resolution of DT_NEEDED entries in cross-built libraries.
	For instance, if ltdl.so needs libdl.so and has it in its RUNPATH, then
	libdl.so is searched for in the right place.

	* gnu/packages/cross-base.scm (cross-binutils): Pass
	  `--with-sysroot=/no-such-path'.

2013-05-27  Nikita Karetnikov  <nikita@karetnikov.org>

	doc: Improve wording and fix typos in "Introduction" and "Requirements".
	* doc/guix.texi (Introduction, Requirements): Rephrase and fix typos.

2013-05-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile: Add Bash as an input, to permit cross-compilation.
	* gnu/packages/guile.scm (guile-2.0): Add Bash as an input
	  when (%current-target-system) is true.  Use %standard-cross-phases as
	  a basis when (%current-target-system) is true.

	gnu: bash: Fix cross-compilation.
	* gnu/packages/bash.scm (bash): Pass "bash_cv_job_control_missing=no"
	  when (%current-target-system) is true.

	build: `hydra.scm' really cross-builds Gettext.
	* hydra.scm: Import (gnu packages gettext).

2013-05-25  Cyril Roelandt  <tipecaml@gmail.com>

	zlib: Add a sourceforge mirror.
	This is especially useful since the tarball is deleted from zlib.net as soon as
	a new version of zlib is released.

2013-05-25  Ludovic Courtès  <ludo@gnu.org>

	build: Add missing import in `hydra.scm'.
	* hydra.scm: Import (gnu packages gawk).

	build: `hydra.scm' cross-builds a few more packages.
	* hydra.scm (%packages-to-cross-build): Add a few packages.

	gnu: ncurses, readline: Allow cross-compilation.
	* gnu/packages/ncurses.scm (ncurses): Add `cross-pre-install-phase'.
	  Use different phases when (%current-target-system) is true.
	* gnu/packages/readline.scm (readline): Use %standard-cross-phases as
	  the base when (%current-target-system) is true.

	gnu: libffi: Allow cross-compilation.
	* gnu/packages/libffi.scm (libffi): Use %standard-cross-phases as the
	  base when cross-compiling.  Add (guix build gnu-cross-build) to the
	  #:modules when cross-compiling.  Improve synopsis.

	gnu: libtool: Allow cross-compilation.
	* gnu/packages/autotools.scm (libtool)[arguments]: Use #:phases argument
	  only when building natively.

	gnu: gawk: Allow cross-compilation.
	* gnu/packages/gawk.scm (gawk)[arguments]: Use `set-shell-file-name'
	  phase that works when cross-compiling; use `%standard-cross-phases' as
	  the base when (%current-target-system) is true.

	gnu: libsigsegv: Fix mips64el-linux-gnu (cross-)builds.
	* gnu/packages/libsigsegv.scm (libsigsegv): New `arguments' field.

	gnu: findutils: Fix cross-compilation.
	* gnu/packages/base.scm (findutils): Reinstate cross-compilation
	  #:configure-flags.

	gnu: sed: Allow cross-compilation.
	* gnu/packages/base.scm (sed): Keep the default phases
	  when (%current-target-system) is true.

	gnu: coreutils: Allow cross-compilation.
	* gnu/packages/base.scm (coreutils): Remove Perl input
	  when (%current-target-system) is true.  Use %standard-cross-phases as
	  the base when (%current-target-system) is true.

	gnu: gettext, attr, acl: Disable `check' phase twiddling when cross building.
	* gnu/packages/gettext.scm (gettext)[arguments]: Disable `check' phase
	  manipulations when (%current-target-system) is true.
	* gnu/packages/attr.scm (attr)[arguments]: Likewise.
	* gnu/packages/acl.scm (acl)[arguments]: Likewise.

	packages: Make `native-inputs' thunked.
	* guix/packages.scm (<package>): Make `native-inputs' thunked.

	packages: Re-export `%current-target-system'.
	* guix/packages.scm: Re-export `%current-target-system'.

	build-system/gnu: Make sure build input variables contain pairs.
	* guix/build-system/gnu.scm (gnu-cross-build)[builder]: Make sure
	  %build-host-inputs and %build-target-inputs always contain pairs, not
	  lists.

	build: `hydra.scm' cross-builds simpler packages.
	* hydra.scm (%packages-to-cross-build): Remove things from
	  make-bootstrap for now.

2013-05-24  Ludovic Courtès  <ludo@gnu.org>

	build-system/trivial: Implement the cross-build protocol.
	* guix/build-system/trivial.scm (guile-for-build): New procedure.
	  (trivial-build): Use it.
	  (trivial-cross-build): New procedure.
	  (trivial-build-system): Use it.

	package: Fix default profile ownership check when it's just been created.
	* guix/scripts/package.scm (guix-package)[ensure-default-profile]: Check
	  whether S is true before checking its owner.  Fixes the case where we
	  built %PROFILE-DIRECTORY just above.

	build: `hydra.scm' adds cross-build jobs.
	* hydra.scm (package->alist): Add `package-derivation' argument.
	  (package-cross-job): New procedure.
	  (%packages-to-cross-build, %cross-targets): New variables.
	  (hydra-jobs): Add cross jobs.

	build: Add `--target' option.
	* guix/scripts/build.scm (derivations-from-package-expressions): Add
	  `package-derivation' parameter.
	  (show-help, %options): Add `--target'.
	  (guix-build): Use `package-cross-derivation' when `--target' is
	  passed.
	* tests/guix-build.sh: Add dry-run test with `--target'.
	* doc/guix.texi (Invoking guix build): Document `--target'.

	build-system/gnu: Implement cross build.
	* guix/build-system/gnu.scm (inputs-search-paths): New procedure.
	  (standard-search-paths): Use it.
	  (expand-inputs): New procedure.
	  (standard-inputs): Use it.
	  (standard-cross-packages, standard-cross-inputs,
	  standard-cross-search-paths, gnu-cross-build): New procedures.
	  (gnu-build-system): Set `cross-build' field to `gnu-cross-build'.
	* gnu/packages/cross-base.scm: Export `cross-gcc', `cross-binutils', and
	  `cross-libc'.
	* guix/build/gnu-cross-build.scm: New file.
	* Makefile.am (MODULES): Add it.

	packages: Implement `package-cross-derivation'.
	* guix/packages.scm (package-transitive-target-inputs,
	  package-transitive-native-inputs): New procedures.
	  (package-derivation): Parametrize `%current-target-system'.
	  (package-cross-derivation): Implement.
	* guix/utils.scm (%current-target-system): New variable.
	* tests/packages.scm ("package-cross-derivation"): New test.
	* doc/guix.texi (Defining Packages): Document
	  `package-cross-derivation'.

	gnu: cross-gcc: Set the right search paths.
	* gnu/packages/cross-base.scm (cross-gcc): Override `search-paths' and
	  `native-search-paths'.

	gnu: cross-gcc: Change patch so that `CROSS_LIBRARY_PATH' is honored.
	* gnu/packages/patches/gcc-cross-environment-variables.patch: Add two
	  hunks, most notably one that changes GCC to honor LIBRARY_PATH_ENV
	  when cross-compiling.

	packages: Factorize things common to `package-{,cross-}derivation'.
	* guix/packages.scm (expand-input): New procedure, moved out of...
	  (package-derivation): ... here.  Adjust accordingly.
	  (package-cross-derivation): Add `cross-system' and `system'
	  parameters.

	nls: Add Esperanto translation.
	* po/eo.po, po/LINGUAS: New files.

	gnu: Add UnRTF.
	* gnu/packages/unrtf.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-05-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: libgc: Add 7.2d.
	* gnu/packages/bdw-gc.scm (libgc-7.2): New variable.

2013-05-22  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GNU Plotutils.
	* gnu/packages/plotutils.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-05-20  Ludovic Courtès  <ludo@gnu.org>

	Update `NEWS'.

	gnu: Add CVS.
	* gnu/packages/version-control.scm (cvs): New variable.

	Add `--max-silent-time' to `guix build' and `guix package'.
	* guix/scripts/build.scm (%default-options): Add default
	  `max-silent-time' value.
	  (show-help, %options):  Add `--max-silent-time'.
	  (guix-build): Pass `max-silent-time' to `set-build-options'.
	* guix/scripts/package.scm (%default-options): Add default
	  `max-silent-time' value.
	  (show-help, %options):  Add `--max-silent-time'.
	  (guix-package): Pass `max-silent-time' to `set-build-options'.
	* guix/ui.scm (string->number*): New procedure.
	* tests/derivations.scm ("build-expression->derivation and
	  max-silent-time"): New test.
	* doc/guix.texi (Invoking guix package, Invoking guix build): Document
	  `--max-silent-time'.

2013-05-18  Ludovic Courtès  <ludo@gnu.org>

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

	gnu: Improve synopses for Linux-related packages.
	* gnu/packages/linux.scm (util-linux, procps, e2fsprogs): Clarify and
	  shrink synopses.

	build: Switch to 0.3.
	* configure.ac: Bump to 0.3.  Use the full URL.

2013-05-17  Ludovic Courtès  <ludo@gnu.org>

	Update `TODO'.

	gnu: automake: Update to 1.13.2.
	* gnu/packages/autotools.scm (autoconf-wrapper): Wrap `configure' files
	  regardless of the exit code of `autoconf'.  Triggered by Automake's
	  `t/am-prog-cc-stdc.sh'.
	  (automake): Update to 1.13.2.

2013-05-16  Ludovic Courtès  <ludo@gnu.org>

	package: Make sure the profile directory is owned by the user.
	* guix/scripts/package.scm (guix-package)[ensure-default-profile]: Check
	  the owner of %PROFILE-DIRECTORY.  Report an error when the owner is
	  not the current user.  Add `rtfm' procedure.
	* doc/guix.texi (Invoking guix package): Mention the ownership test.

2013-05-15  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Pass `filtered-port' an unbuffered port.
	This fixes a bug whereby `read-response' would read more than just the
	response, with the extra data going into the port's buffer; the
	"bzip2 -dc" process spawned by `filtered-port' would not see the those
	buffered data, which are definitely lost, and would bail out with
	"bzip2: (stdin) is not a bzip2 file."

	* guix/utils.scm (filtered-port): Document that INPUT must be
	  unbuffered.
	* guix/web.scm (http-fetch): Add `buffered?' parameter.  Call
	  `open-socket-for-uri' explicitly, and call `setvbuf' when BUFFERED? is
	  false.  Pass the port to `http-get'.  Close it upon 301/302.
	* guix/scripts/substitute-binary.scm (fetch): Add `buffered?'
	  parameter.  Pass it to `http-fetch'; honor it for `file' URIs.
	  (guix-substitute-binary): Call `fetch' with #:buffered? #f for port RAW.
	* tests/utils.scm ("filtered-port, file"): Open FILE as unbuffered.

2013-05-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: texinfo: Don't propagate Perl.
	* gnu/packages/texinfo.scm (texinfo): Don't propagate Perl.

2013-05-14  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Work around thread-unsafe `regexp-exec'.
	* guix/scripts/substitute-binary.scm (%regexp-exec-mutex): New variable.
	  (string->uri): New procedure.
	  (fields->alist): Wrap `regexp-exec' call in `with-mutex'.

	package: Always clear the SIGINT handler.
	* guix/scripts/package.scm (call-with-sigint-handler): Wrap THUNK in
	  `dynamic-wind' so that the SIGINT handler is always cleared.

	ftp-client: Let callers handle `ftp-open' exceptions.
	* guix/ftp-client.scm (ftp-open): Let exceptions through.
	* guix/scripts/package.scm (waiting): Wrap EXP in a `dynamic-wind', so
	  the line is always cleared.

	Sort commands alphabetically in "guix --help".
	* guix/ui.scm (show-guix-help): Sort commands.

2013-05-14  Ludovic Courtès  <ludo@gnu.org>

	Fix "guix --help" on Guile 2.0.5.
	Reported at <http://linuxfr.org/news/sortie-de-gnu-guix-0-2>.

	* guix/ui.scm (command-files): Filter the result of `scandir' to make
	  sure only `.scm' files are present.

2013-05-12  Ludovic Courtès  <ludo@gnu.org>

	build: Use separate `AC_CONFIG_FILES' invocations for executable files.
	* configure.ac: Use separate AC_CONFIG_FILES invocations for files that
	  need to be made executable.
	* config-daemon.ac: Likewise.

	build: Add `gitlog-to-changelog'.
	* build-aux/gitlog-to-changelog: New file, from Gnulib.

	Update `NEWS'.

	build: Make sure the distribution doesn't embed store file names.
	* Makefile.am (assert-no-store-file-names): New target.
	  (dist-hook): Depend on it.

	build: Generate a ChangeLog file upon "make dist".
	* Makefile.am (sync-synopses): New rule, formerly `dist-hook.
	  (gen-ChangeLog): New rule.
	  (dist-hook): Depend on these two targets.

	Move record utilities to (guix records).
	* guix/utils.scm (define-record-type*): Move to...
	* guix/records.scm: ... here.  New file.
	* guix/build-system.scm, guix/packages.scm: Use it.
	* guix/gnu-maintenance.scm: Likewise.
	  (official-gnu-packages)[alist->record]: Remove.
	* guix/scripts/substitute-binary.scm: Likewise.
	  (alist->record, object->fields): Remove.
	* tests/utils.scm ("define-record-type*", "define-record-type* with
	  letrec* behavior", "define-record-type* & inherit",
	  "define-record-type* & inherit & letrec* behavior",
	  "define-record-type* & thunked", "define-record-type* & thunked &
	  default", "define-record-type* & thunked & inherited"): Move to...
	* tests/records.scm: ... here.  New file.

	release.nix: Revert back to before unchroot experiments.
	* release.nix: Revert to commit 4050e5d6cfe8f7af29f10b2f1b3c7febdc10946a.

	gnu: guile-reader: Install modules in the right place.
	* gnu/packages/guile.scm (guile-reader): Add `arguments' field.

2013-05-11  Ludovic Courtès  <ludo@gnu.org>

	Update `NEWS'.

	gnu: Add GNU RCS.
	* gnu/packages/bazaar.scm: Rename to...
	* gnu/packages/version-control.scm: ... this.
	  (rcs): New variable.
	* Makefile.am (MODULES): Adjust accordingly.

	build: Really clean .log files from SRFI-64.
	* Makefile.am (CLEANFILES): Really catch .log files from SRFI-64.

	build: Run `tests/guix-gc.sh' last to avoid test failures.
	* Makefile.am (tests/guix-gc.log): New target.  This should fix failures
	  that occurred with "make check -j" the first time.

	gnu: Add Scheme48.
	* gnu/packages/scheme.scm (scheme48): New variable.
	* gnu/packages/patches/scheme48-tests.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

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

	gnu: chicken: Clear description.
	* gnu/packages/scheme.scm (chicken): Remove unneeded part of the
	  description.

	doc: Document "guix download".
	* doc/guix.texi (Defining Packages): Linke to "Invoking guix download".
	  (Utilities): Add an overview paragraph.
	  (Invoking guix download): New node.

	gnu: Sync synopses with the Womb.
	* gnu/packages/bazaar.scm (bazaar): Use synopsis from the Womb.
	* gnu/packages/gv.scm (gv): Likewise.

	tests: Fix out-of-source builds.
	* tests/nar.scm (%test-dir): Compute relative to `pre-inst-env', which
	  is in $top_builddir.

	tests: Add `guix hash' test.
	* guix/scripts/hash.scm (guix-hash)[eof->null]: New procedure.
	  Use it to convert the EOF object to the empty bytevector.
	* tests/guix-hash.sh: New file.
	* Makefile.am (SH_TESTS): Add it.

	Update Nix sub-module.
	* nix-upstream: Update to 3a0cc43ac89ae8f778764c9f5e27b361e4986913
	  (Nix ~1.5.2).

	refresh: Add `--key-server' and `--gpg'.
	* guix/scripts/refresh.scm (%options): Add `--key-server' and `--gpg'.
	  (show-help): Update accordingly.
	  (update-package): New procedure, formerly in `guix-refresh'.
	  (guix-refresh): Use it.  Parameterize `%openpgp-key-server' and
	  `%gpg-command'.

	gnupg: Turn the GPG command name and keyserver into parameters.
	* guix/gnupg.scm (%gpg-command): Turn into a SRFI-39 parameter.
	  (%openpgp-key-server): Likewise.  Default to pgp.mit.edu, as
	  keys.gnupg.net is unreliable.
	  Update users.

	gnu: Add CHICKEN.
	* gnu/packages/scheme.scm (chicken): New variable.

2013-05-10  Ludovic Courtès  <ludo@gnu.org>

	ui: Invite users to try `--help' in the error message.
	* guix/ui.scm (show-guix-usage): Mention `guix --help'.
	  Suggested by Mark H. Weaver.
	  (run-guix-command): Invoke it when a command is not found.
	  (guix-main): Adjust accordingly.

	Update `NEWS'.

	package: Store the output path of packages installed with `-e'.
	* guix/scripts/package.scm (guix-package)[process-actions](package->tuple):
	  Put the output path in the tuple, not the derivation path.
	* tests/guix-package.sh: Add test.

2013-05-10  Ludovic Courtès  <ludo@gnu.org>

	package: Make sure the dependencies get built along with the manifest.
	Before this, something like "guix package -i glibc" could fail because
	glibc lists linux-libre-headers as a propagated input (which would be
	added as a dependency in the manifest) but the linux-libre-headers
	output could be unavailable, leading to an error like this:

	  path `/nix/store/4v2bk8sx5cm166gks3fi3q7d9zchibnk-linux-libre-headers-3.3.8' is not valid

	This patch adds such dependencies as inputs of the profile derivation.

	* guix/scripts/package.scm (profile-derivation): Accept package objects
	  in the `deps' field of an element of PACKAGES.  Convert them to their
	  output path for BUILDER, and add them to the inputs of the
	  `build-expression->derivation' call.
	  (input->name+path): When INPUT doesn't contain a package object,
	  return it as is.
	  (guix-package)[process-actions](canonicalize-deps): Expect DEPS to
	  contain package objects, and leave them as is.

2013-05-10  Ludovic Courtès  <ludo@gnu.org>

	Update `TODO'.

	refresh: Gracefully handle failure to download a tarball.
	* guix/scripts/refresh.scm (guix-refresh): When updating a source file,
	  gracefully handle the case where TARBALL is #f.
	  Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	ui: Implement `guix --help'.
	* guix/ui.scm (command-files, commands, show-guix-help): New procedures.
	  (guix-main): Invoke `show-guix-help' when passed `--help'.

	ui: Gracefully report "command not found" errors.
	* guix/ui.scm (run-guix-command): Can `resolve-interface' errors and
	  report them with `leave'.  Parameterize `program-name' from here.
	  (guix-main): Remove parameterization of `program-name'.

	gnu-maintenance: Add GnuTLS FTP server.
	* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Add GnuTLS.

2013-05-10  Ludovic Courtès  <ludo@gnu.org>

	download: Fix premature socket close on TLS connections.
	This would manifest when downloading a large file such as the Bazaar
	tarball, leading to an "Error in the pull function" GnuTLS exception.

	* guix/build/download.scm (add-weak-reference): New procedure.
	  (tls-wrap): Add (add-weak-reference record port).

2013-05-10  Ludovic Courtès  <ludo@gnu.org>

	package: Use ~/.guix-profile as the default for --search-paths.
	* guix/scripts/package.scm (search-path-environment-variables): Prefer
	  %USER-ENVIRONMENT-DIRECTORY when it points to PROFILE.
	  (display-search-paths): Use 3 spaces for indentation.

	build: Make sure the user's Guile has all the required features.
	* m4/guix.m4 (GUIX_ASSERT_GUILE_FEATURES): New macro.
	* configure.ac: Use it.

	gnu: geiser: Update to 0.4.
	* gnu/packages/emacs.scm (geiser): Update to 0.4.

2013-05-09  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add GNU Bazaar.
	* gnu/packages/bazaar.scm: New file.
	* Makefile.am (MODULES): Add it.

	Add 'python-build-system'.
	* guix/build-system/python.scm, guix/build/python-build-system.scm: New files.
	* Makefile.am (MODULES): Add them.

2013-05-08  Ludovic Courtès  <ludo@gnu.org>

	Add (guix build rpath).
	* guix/build/rpath.scm: New file.
	* Makefile.am (MODULES): Add it.
	* gnu/packages/python.scm (python): Use it; remove local copy of
	  the *rpath* procedures.
	* gnu/packages/samba.scm (samba): Likewise.

	gnu: Add tzdata.
	* gnu/packages/base.scm (tzdata): New variable.

2013-05-08  Andreas Enge  <andreas@enge.fr>

	gnu: Add cryptsetup.
	* gnu/packages/cryptsetup.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add lvm2.
	* gnu/packages/lvm.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-05-08  Ludovic Courtès  <ludo@gnu.org>

	doc: Update `NEWS'.
	* NEWS: Update.

	doc: Document `guix refresh'.
	* doc/guix.texi (Defining Packages): Add cross-reference to "Invoking
	  guix refresh".
	  (Invoking guix refresh): New node.

	package: Display the output of packages to be installed/removed.
	* guix/scripts/package.scm (guix-package)[show-what-to-remove/install]:
	  Display the output name.

	package: Preserve the installed package output when upgrading.
	* guix/scripts/package.scm (guix-package)[find-package]: Add optional
	  parameter `output'.  Use it.
	  [process-actions]: When computing UPGRADE, pass OUTPUT to
	  `find-package'.

	gnu: python: Build the shared library.
	* gnu/packages/python.scm (python): Add `--enable-shared'.  Add
	  #:modules and #:phases.  Add PatchELF as an input.

	gnu: gsasl: Propagate GnuTLS.
	* gnu/packages/gsasl.scm (gsasl): Move GnuTLS to `propagated-inputs'.

2013-05-07  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add Hugs.
	* gnu/packages/hugs.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-05-07  Ludovic Courtès  <ludo@gnu.org>

	ui: Capitalize informative messages.
	* guix/ui.scm (show-what-to-build): Capitalize user messages, as per the
	  GCS (info "(standards) Errors").

	package: Fix spacing in user messages.
	* guix/scripts/package.scm (guix-package)[process-actions]: Fix spacing.

	gnu: help2man: Update to 1.41.2.
	* gnu/packages/help2man.scm (help2man): Update to 1.41.2.

	gnu: guile-ncurses: Update to 1.4.
	* gnu/packages/guile.scm (guile-ncurses): Update to 1.4.

	gnu: Add GNU FreeIPMI.
	* gnu/packages/freeipmi.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-05-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: gv: Move to a separate file.
	* gnu/packages/ghostscript.scm (ghostscript): Remove libxext and libxt
	  as inputs.
	  (gv): Move to...
	* gnu/packages/gv.scm (gv): ... here.  New file.
	  (ghostscript/x): Variant of GHOSTSCRIPT with libxt and libxext as
	  inputs.

	gnu: freetype: Use mirror:// URL.
	* gnu/packages/fontutils.scm (freetype): Use mirror://savannah URL.

	refresh: Change default to not update source files.
	* guix/scripts/refresh.scm (%options): Change `--dry-run' to `--update'.
	  (show-help): Adjust accordingly.
	  (guix-refresh): Likewise.

2013-05-05  Andreas Enge  <andreas@enge.fr>

	gnu: Add GNU gv.
	* gnu/packages/ghostscript.scm (gv): New variable.

	gnu: ghostscript: Add X support.
	* gnu/packages/ghostscript.scm (ghostscript): Add X related inputs.

	gnu: Add libxaw3d.
	* gnu/packages/xorg.scm (libxaw3d): New variable.

	gnu: Add atk.
	* gnu/packages/gtk.scm: New module.
	* Makefile.am (MODULES): Add it.

2013-05-04  Andreas Enge  <andreas@enge.fr>

	gnu: Add id3lib.
	* gnu/packages/mp3.scm (id3lib): New variable.

2013-05-01  Andreas Enge  <andreas@enge.fr>

	gnu: Have python paths set automatically..
	* gnu/packages/xorg.scm (meas): Drop special handling of python paths.
	* gnu/packages/xml.scm (libxslt): Drop special handling of python paths.

	gnu: xorg: Have perl paths set automatically.
	* gnu/packages/xorg.scm (xkeyboard-config): Drop special handling of perl paths.

2013-04-30  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'core-updates'

2013-04-30  Nikita Karetnikov  <nikita@karetnikov.org>

	utils: Adjust 'wrap-program'.
	* guix/build/utils.scm (wrap-program): Fix computation of PROG-REAL and
	  PROG-TMP when PROG is an absolute file name.  Add "$@" in the
	  generated script, and quote PROG-REAL.

2013-04-29  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Support decompression from non-file ports.
	* guix/scripts/substitute-binary.scm (filtered-port): Move to utils.scm.
	  (decompressed-port): Upon "none", return '() as the second value.
	  (guix-substitute-binary): Expect `decompressed-port' to return a list
	  of PIDs as its second value.
	* guix/utils.scm (filtered-port): New procedure.  Add case for when
	  INPUT is not `file-port?'.
	* tests/utils.scm ("filtered-port, file", "filtered-port, non-file"):
	  New tests.

	build: Add silent-rules machinery for `guild compile'.
	* Makefile.am (AM_V_GUILEC, AM_V_GUILEC_, AM_V_GUILEC_0): New
	  variables.
	  (.scm.go): Use $(AM_V_GUILEC).

	build: Replace *.log in `CLEANFILES' by the exact list of files.
	* Makefile.am (SCM_TESTS, SH_TESTS): New variables.
	  (TESTS): Use them.
	  (CLEANFILES): Replace *.log by $(SCM_TESTS:%.scm=%.log).

	gnu: make-bootstrap: Fix %glibc-stripped.
	* gnu/packages/make-bootstrap.scm (%glibc-stripped): Add `outputs' field.

2013-04-28  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Fix default name for the "doc" output directory.
	* guix/build/gnu-build-system.scm (configure)[package-name]: Drop the
	  prefix corresponding to the hash part of OUT.

	guix package: Add `--search-paths' & co.
	* guix/scripts/package.scm (search-path-environment-variables,
	  display-search-paths): New procedures.
	  (show-help, %options): Add `--search-paths'.
	  (guix-package)[process-actions]: Call `display-search-paths' once the
	  profile is ready.
	  [process-query]: Honor `search-paths'.

	utils: Add `string-tokenize*'.
	* guix/utils.scm (string-tokenize*): New procedure.
	* tests/utils.scm ("string-tokenize*"): New test.

2013-04-28  Andreas Enge  <andreas@enge.fr>

	gnu: xpdf: Use gs-fonts to provide standard postscript fonts.
	* gnu/packages/pdf (xpdf): Add path to gs-fonts in xpdfrc.

	gnu: Add gs-fonts.
	* gnu/packages/ghostscript.scm (gs-fonts): New variable.

2013-04-27  Ludovic Courtès  <ludo@gnu.org>

	packages: Work around compiler bug in Guile 2.0.5.
	* guix/packages.scm (package-field-location): Work around compiler bug
	  in 2.0.5.  Reported by Andreas Enge <andreas@enge.fr>.

	web: Add workaround for <http://bugs.gnu.org/13095>.
	* guix/web.scm: Add workaround for <http://bugs.gnu.org/13095>.

	web: Add 2.0.5 workaround for responses without content-length.
	* guix/web.scm (read-response-body*)[when-guile<=2.0.5]: Support
	  responses without content-length.
	  Reported by Andreas Enge <andreas@enge.fr>.

	gnu-maintenance: Fix error message of `update-package-source'.
	* guix/gnu-maintenance.scm (update-package-source): In the (not loc)
	  case, pass the location first and convert it to a string.

	doc: Update `NEWS'.
	* NEWS: Populate.

	ui: Add `args-fold*' and use it.
	* guix/ui.scm (args-fold*): New procedure.
	* guix/scripts/build.scm, guix/scripts/download.scm,
	  guix/scripts/gc.scm, guix/scripts/hash.scm, guix/scripts/import.scm,
	  guix/scripts/package.scm, guix/scripts/pull.scm,
	  guix/scripts/refresh.scm: Use `args-fold*' instead of `args-fold'.

	ui: Use consistent spacing in `show-what-to-build' messages.
	* guix/ui.scm (show-what-to-build): Use consistent spacing in "the
	  following..." messages.

	gnu: Update libgpg-error and libassuan.
	* gnu/packages/gnupg.scm (libgpg-error): Update to 1.11.
	  (libassuan): Update to 2.1.0.

	gnu-maintenance: Fix `latest-release' for GnuPG.
	* guix/gnu-maintenance.scm (latest-release): Filter out directories
	  whose name does not contain digits early in the process.  This fixes
	  (latest-release "gnupg").

	ftp-client: `ftp-chdir' changes one step at a time.
	* guix/ftp-client.scm (%char-set:not-slash): New variable.
	  (ftp-chdir): Add docstring.  Change to DIR one step at a time.
	  (ftp-retr): Fix indentation.

	gnu: bison: Update to 2.7.1.
	* gnu/packages/bison.scm (bison): Update to 2.7.1.

	gnu: gprolog: Update to 1.4.4.
	* gnu/packages/gprolog.scm (gprolog): Update to 1.4.4.

	gnu: gdb: Update to 7.6.
	* gnu/packages/gdb.scm (gdb): Update to 7.6.

	pull: Use `download-to-store'.
	* guix/scripts/pull.scm (download-and-store): Remove.
	  (unpack): Use `download-to-store' instead.

	web: Backport chunked encoding support for Guile <= 2.0.5.
	* guix/web.scm (when-guile<=2.0.5): New macro.
	  (read-chunk-header, read-chunk, read-chunk-body,
	  make-chunked-input-port, read-response-body*)[when-guile<=2.0.5]: New
	  procedures.
	  (http-fetch): Clarify message when (not data).

	build: Explicitly require Guile >= 2.0.5.
	* configure.ac: Require guile-2.0 >= 2.0.5.

	gnu: gawk: Update to 4.0.2.
	* gnu/packages/gawk.scm (gawk): Update to 4.0.2.

	gnu: patch: Update to 2.7.1.
	* gnu/packages/base.scm (patch): Update to 2.7.1.

2013-04-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: Binutils 2.23.2 and GCC 4.7.3.
	* gnu/packages/base.scm (binutils): Update to 2.23.2.
	  (binutils-2.23, ld-wrapper-2.23): Remove.
	  (gcc-4.8): Move to...
	* gnu/packages/gcc.scm (gcc-4.8): ... here.
	  (gcc-4.7): Update to 4.7.3.  Add dependencies on ISL, CLooG, libelf,
	  and zlib.

	gnu: guile: Default to 2.0.9.
	* gnu/packages/guile.scm (guile-2.0/fixed): Switch to `guile-2.0'.

	gnu: diffutils: Update to 3.3.
	* gnu/packages/base.scm (diffutils): Update to 3.3.

	Merge branch 'master' into core-updates
	Conflicts:
		Makefile.am
		gnu/packages/autotools.scm
		gnu/packages/guile.scm
		gnu/packages/python.scm
		gnu/packages/shishi.scm
		guix/gnu-maintenance.scm
		guix/scripts/build.scm
		guix/scripts/gc.scm
		guix/scripts/package.scm
		guix/scripts/substitute-binary.scm
		guix/ui.scm
		nix/nix-daemon/guix-daemon.cc
		test-env.in
		tests/nar.scm
		tests/store.scm

2013-04-25  Ludovic Courtès  <ludo@gnu.org>

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

	gnu: dejagnu: Update to 1.5.1.
	* gnu/packages/dejagnu.scm (dejagnu): Update to 1.5.1.

	gnu: nano: Update to 2.3.2.
	* gnu/packages/nano.scm (nano): Update to 2.3.2.

	gnu: ed: Update to 1.8.
	* gnu/packages/ed.scm (ed): Update to 1.8.

	gnu-maintenance: Add newline in warning messages.
	* guix/gnu-maintenance.scm (download-tarball): Add newline in warning
	  messages.

	doc: Add note on installing Guix from Guix.
	* README (Installing Guix from Guix): New section.
	  Suggested by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

	refresh: Add `--select'.
	* guix/scripts/refresh.scm (%options): Add `--select'.
	  (show-help): Likewise.  Augment initial help text.
	  (guix-refresh)[core-package?]: New procedure.
	  Use it when selecting packages.

2013-04-25  Ludovic Courtès  <ludo@gnu.org>

	web: Factorize `http-get' hackery.
	This should fix `substitute-binary --query' on Guile 2.0.5.

	* guix/web.scm: New file.
	* Makefile.am (MODULES): Add it.
	* po/POTFILES.in: Add it.
	* guix/gnu-maintenance.scm (http-fetch): Remove.
	  (%package-list-url): Turn into a URI.
	  (official-gnu-packages): Add #:text? #t to `http-fetch' call.
	* guix/scripts/substitute-binary.scm (fetch): Remove `http' case, and
	  use `http-fetch' instead.

2013-04-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: wdiff: Update to 1.2.1.
	* gnu/packages/wdiff.scm (wdiff): Update to 1.2.1.  Add Texinfo as an input.

	gnu: nettle: Update to 2.7.
	* gnu/packages/nettle.scm (nettle): Update to 2.7.

	gnu: libtasn1: Update to 3.3.
	* gnu/packages/gnutls.scm (libtasn1): Update to 3.3.

	gnu-maintenance: Optimize `gnu-package?'.
	* guix/gnu-maintenance.scm (gnu-package?): Capture a memoizing version
	  of `gnu-package?'.

	gnu-maintenance: Optimize `release-file'.
	* guix/gnu-maintenance.scm (tarball-regexp): Remove.
	  (%tarball-rx): New variable.
	  (release-file): Adjust to use %TARBALL-RX.

	gnu-maintenance: Optimize `latest-release'.
	* guix/gnu-maintenance.scm (tarball-regexp, sans-extension,
	  release-file): New procedures.
	  (%alpha-tarball-rx): New variable.
	  (releases): Use them instead of local copies.
	  (latest-release): Rewrite to not do a recursive search of all
	  versions and instead jump directly to the latest.

	Add `guix refresh' and related auto-update tools.
	* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Add glib.
	  (package-update-path, download-tarball, package-update,
	  update-package-source): New procedures.
	* guix/gnupg.scm, guix/scripts/refresh.scm: New files.
	* Makefile.am (MODULES): Add them.
	* guix/utils.scm (file-extension): New procedure.

	packages: Use `read' and source properties for `package-field-location'.
	* guix/packages.scm (package-field-location): Rewrite using `read' and
	  source properties.  Change to return #f upon failure.
	* tests/packages.scm ("package-field-location"): Check for #f upon failure.
	* build-aux/sync-synopses.scm: Adjust accordingly.

	utils: Fix column number returned by `source-properties->location'.
	* guix/utils.scm (source-properties->location): Use COL, not COL + 1.

2013-04-24  Mark H Weaver  <mhw@netris.org>

	gnu: hop: Update hash to match hop-2.4.0.tar.gz, which was modified in place.
	* gnu/packages/scheme.scm (hop): Update the hash.

2013-04-22  Ludovic Courtès  <ludo@gnu.org>

	packages: Add `package-field-location'.
	* guix/packages.scm (package-field-location): New procedure.
	* build-aux/sync-synopses.scm: Use it instead of `package-location'.
	* tests/packages.scm ("package-field-location"): New test.

	ui: Move macro definitions before any use.
	* guix/ui.scm (define-diagnostic, warning, report-error, leave): Move
	  definitions before any use.  Reported by Nikita Karetnikov.
	  (install-locale): Move back close to `initialize-guix'.

2013-04-22  Mark H Weaver  <mhw@netris.org>

	gnu: xorriso: Update to 1.2.8.
	* gnu/packages/cdrom.scm (xorriso): Update to 1.2.8.

	gnu: smalltalk: Update to 3.2.5.
	* gnu/packages/smalltalk.scm (smalltalk): Update to 3.2.5.

	gnu: groff: Update to 1.22.2.
	* gnu/packages/groff.scm (groff): Update to 1.22.2.

2013-04-21  Mark H Weaver  <mhw@netris.org>

	gnu: gprolog: Update to 1.4.3 and download from GNU mirrors
	* gnu/packages/gprolog.scm (gprolog): Update to 1.4.3.
	  Download from GNU mirrors.

2013-04-21  Ludovic Courtès  <ludo@gnu.org>

	Factorize `download-and-store'.
	* guix/download.scm (download-to-store): New procedure.
	* guix/scripts/download.scm (fetch-and-store): Remove.
	  (guix-download): Use `download-to-store' instead.
	* guix/ui.scm (call-with-temporary-output-file): Move to...
	* guix/utils.scm (call-with-temporary-output-file): ... here.

2013-04-21  Nikita Karetnikov  <nikita@karetnikov.org>

	Add 'guix hash'.
	* guix/scripts/hash.scm: New file.
	* Makefile.am (MODULES): Add it.
	* po/POTFILES.in: Add it.
	* doc/guix.texi (Invoking guix hash): New node.
	  (Defining Packages): Add a cross-reference to the 'Invoking guix
	  hash' node.

2013-04-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: intltool: Fix typo.
	* gnu/packages/glib.scm (intltool): Fix typo.

2013-04-21  Nikita Karetnikov  <nikita@karetnikov.org>

	guix download: Add supported formats to '--help'.
	* guix/scripts/download.scm (show-help): Add supported formats.

2013-04-21  Ludovic Courtès  <ludo@gnu.org>

	ui: Move definition of `install-locale' after that of the `warning' macro.
	* guix/ui.scm (install-locale): Move definition after that of `warning'.

	gnu: guile: Update to 2.0.9.
	* gnu/packages/guile.scm (guile-2.0): Update to 2.0.9.
	  (guile-2.0/fixed): Keep at 2.0.7.

	gnu: intltool: Propagate gettext.
	* gnu/packages/glib.scm (intltool): Propagate gettext.

2013-04-21  Nikita Karetnikov  <nikita@karetnikov.org>

	ui: Add a 'define-diagnostic' macro.
	* guix/ui.scm (define-diagnostic): New macro, which is based on the
	  previous version of 'warning'.
	  (warning, leave): Redefine using 'define-diagnostic'.
	  (report-error): New macro.
	  (install-locale): Use 'warning' instead of 'format'.
	  (call-with-error-handling): Adjust 'leave'.
	* gnu/packages.scm (package-files): Use 'warning' instead of 'format'.
	* guix/gnu-maintenance.scm (http-fetch): Use 'warning' and 'leave'.
	* guix/scripts/build.scm (derivations-from-package-expressions, guix-build):
	  Adjust 'leave'.
	* guix/scripts/download.scm (guix-download): Adjust 'leave'.
	* guix/scripts/gc.scm (size->number, %options): Adjust 'leave'.
	* guix/scripts/package.scm (roll-back, guix-package): Adjust 'leave'.
	* po/POTFILES.in: Add 'guix/gnu-maintenance.scm'.

2013-04-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GCC 4.8.0 and Binutils 2.23.2.
	* gnu/packages/base.scm (binutils-2.23, ld-wrapper-2.23, gcc-4.8): New
	  variables.

	substitute-binary: Remove expired cache entries once in a while.
	* guix/scripts/substitute-binary.scm (%narinfo-expired-cache-entry-removal-delay):
	  New variable.
	  (obsolete?): New procedure, formerly in `lookup-narinfo'.
	  (lookup-narinfo): Adjust accordingly.
	  (remove-expired-cached-narinfos, maybe-remove-expired-cached-narinfo):
	  New procedures.
	  (guix-substitute-binary): Call `maybe-remove-expired-cached-narinfo'.

	snix: Prefer synopses from the Womb rather than from Nixpkgs.
	* guix/snix.scm (snix-derivation->guix-package): When NAME is
	  in (official-gnu-packages), use this synopsis instead of the one from
	  Nixpkgs.

	gnu: gdbm, nano: Synchronize synopses.
	* gnu/packages/gdbm.scm, gnu/packages/nano.scm: Synchronize synopses
	  with the Womb.

	daemon: Gracefully handle cases where the daemon does not return a status code.
	* guix/store.scm (process-stderr): Check for EOF before doing (read-int p).

2013-04-19  Andreas Enge  <andreas@enge.fr>

	gnu: Unify the two intltool packages.
	* gnu/packages/xml.scm (intltool): Delete variable.
	* gnu/packages/glib.scm (intltool): Update to version 0.50.2.

2013-04-18  Ludovic Courtès  <ludo@gnu.org>

	daemon: Add `--no-substitutes'.
	Suggested by Mark H. Weaver.

	* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_SUBSTITUTES): New macro.
	  (options): Add `--no-substitutes'.
	  (parse_opt): Add `GUIX_OPT_NO_SUBSTITUTES' case.
	  (main): Leave `settings.substituters' empty when
	  `settings.useSubstitutes' is false.

2013-04-18  Ludovic Courtès  <ludo@gnu.org>

	daemon: Really enable the substituter by default.
	* nix/nix-daemon/guix-daemon.cc (main): Really enable the substituter by
	  default.  Reported by Mark H. Weaver.

	doc: Mention the home page.
	* doc/guix.texi (Installation): Add a sentence pointing to the home
	  page.  Suggested by Arne Babenhauserheide.

2013-04-18  Nikita Karetnikov  <nikita@karetnikov.org>

	tests: Use a new synopsis of GNU Hello.
	* tests/guix-package.sh: Use a new synopsis of GNU Hello, which was
	  added in f50d2669e3e624365221cc81918ba55fdce94107.

2013-04-17  Ludovic Courtès  <ludo@gnu.org>

	doc: Transparent binary deployment is implemented.
	* doc/guix.texi (Features): Remove footnote saying that transparent
	  binary deployment is not implemented.

	guix package: Allow the search of the latest release to be interrupted.
	* guix/scripts/package.scm (%sigint-prompt): New variable.
	  (call-with-sigint-handler): New procedure.
	  (waiting): Use it.

	build: Add `sync-synopses.scm'.
	* build-aux/sync-synopses.scm: New file.
	* Makefile.am (EXTRA_DIST): Add it.
	  (dist-hook): New target.

2013-04-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: Use synopses from the Womb.
	* gnu/packages/algebra.scm,
	  gnu/packages/aspell.scm,
	  gnu/packages/autotools.scm,
	  gnu/packages/base.scm,
	  gnu/packages/bash.scm,
	  gnu/packages/bison.scm,
	  gnu/packages/cdrom.scm,
	  gnu/packages/cflow.scm,
	  gnu/packages/compression.scm,
	  gnu/packages/cpio.scm,
	  gnu/packages/cppi.scm,
	  gnu/packages/ddrescue.scm,
	  gnu/packages/dejagnu.scm,
	  gnu/packages/ed.scm,
	  gnu/packages/emacs.scm,
	  gnu/packages/fdisk.scm,
	  gnu/packages/gawk.scm,
	  gnu/packages/gcc.scm,
	packages/gcc.scm, b/gnu/packages/gcc.scm,
	4b982 100644
	s/gcc.scm,
	s/gcc.scm,
	@@
	         %standard-phases)))))

	 `((gcc-libc . ,(assoc-ref inputs "libc"))))
	The GNU Compiler Collection")
	GNU Compiler Collection")
	n
	ompiler Collection includes compiler front ends for C, C++,
	tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
	  gnu/packages/gdb.scm,
	  gnu/packages/gettext.scm,
	  gnu/packages/ghostscript.scm,
	  gnu/packages/glib.scm,
	  gnu/packages/global.scm,
	  gnu/packages/gnupg.scm,
	  gnu/packages/gnutls.scm,
	  gnu/packages/gperf.scm,
	  gnu/packages/gprolog.scm,
	  gnu/packages/groff.scm,
	  gnu/packages/grub.scm,
	  gnu/packages/gsasl.scm,
	  gnu/packages/guile.scm,
	  gnu/packages/help2man.scm,
	  gnu/packages/idutils.scm,
	  gnu/packages/indent.scm,
	  gnu/packages/less.scm,
	  gnu/packages/libidn.scm,
	  gnu/packages/libsigsegv.scm,
	  gnu/packages/libunistring.scm,
	  gnu/packages/linux.scm,
	  gnu/packages/lsh.scm,
	  gnu/packages/m4.scm,
	  gnu/packages/mailutils.scm,
	  gnu/packages/multiprecision.scm,
	  gnu/packages/nano.scm,
	  gnu/packages/ncurses.scm,
	  gnu/packages/nettle.scm,
	  gnu/packages/oggvorbis.scm,
	  gnu/packages/parted.scm,
	  gnu/packages/pth.scm,
	  gnu/packages/readline.scm,
	  gnu/packages/recutils.scm,
	  gnu/packages/scheme.scm,
	  gnu/packages/screen.scm,
	  gnu/packages/shishi.scm,
	  gnu/packages/smalltalk.scm,
	  gnu/packages/system.scm,
	  gnu/packages/texinfo.scm,
	  gnu/packages/time.scm,
	  gnu/packages/wdiff.scm,
	  gnu/packages/wget.scm,
	  gnu/packages/which.scm: Use synopses from the Womb.

2013-04-17  Ludovic Courtès  <ludo@gnu.org>

	ui: Fix format string in `warning'.
	* guix/ui.scm (warning)[augmented-format-string]: Add missing ~*.

	gnu: Add missing import in (gnu packages cross-base).
	* gnu/packages/cross-base.scm: Use (gnu packages gcc).
	  Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	scripts: Report what will be substituted.
	* guix/derivations.scm (derivation-input-output-paths): New procedure.
	  (derivation-prerequisites-to-build): New `use-substitutes?' keyword
	  argument.  Change two return the list of substitutable paths as a
	  second argument.
	* guix/ui.scm (show-what-to-build): Turn `dry-run?' into a keyword
	  argument.  New `use-substitutes?' keyword argument.  Use `fold2' and
	  adjust to use both return values of
	  `derivation-prerequisites-to-build'.  Display what will/would be
	  downloaded.
	* guix/scripts/build.scm (guix-build): Adjust accordingly.
	* guix/scripts/package.scm (guix-package): Likewise.
	* tests/derivations.scm ("derivation-prerequisites-to-build and
	  substitutes"): New test.

2013-04-16  Cyril Roelandt  <tipecaml@gmail.com>

	package: allow users to upgrade the whole system by not providing a regexp.
	* guix/scripts/packages.scm (guix-package) [process-actions]: When upgrading,
	use "" when REGEXP is #f.
	* doc/guix.texi: update the documentation accordingly.

	gnu: Python: bump to version 2.7.4.
	* gnu/packages/python.scm: bump to version 2.7.4, remove references to
	python-fix-dbm.patch.
	* Makefile.am: remove references to python-fix-dbm.patch
	* gnu/packages/patches/python-fix-dbm.patch: remove it.

2013-04-16  Ludovic Courtès  <ludo@gnu.org>

	build-system/{perl,cmake}: Keep the standard search paths of gnu-build-system.
	Reported by Andreas Enge <andreas@enge.fr>.

	* guix/build-system/gnu.scm (standard-search-paths): New procedure.
	  (gnu-build): Use it.
	* guix/build-system/perl.scm (perl-build):
	  Append (standard-search-paths) to the search paths of PERL.
	* guix/build-system/cmake.scm (cmake-build):
	  Append (standard-search-paths) to SEARCH-PATHS.

2013-04-15  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Skip servers that use a different store prefix.
	* guix/scripts/substitute-binary.scm (fetch-narinfo): Return #f when
	  CACHE uses a store directory different from (%store-prefix).

	substitute-binary: Call `open-cache' only when needed.
	* guix/scripts/substitute-binary.scm (lookup-narinfo): Force CACHE when
	  passing it to `fetch-narinfo'.
	  (guix-substitute-binary): Delay calls to `open-cache'.

	substitute-binary: Add a local cache.
	* guix/scripts/substitute-binary.scm (%narinfo-cache-directory,
	  %narinfo-ttl, %narinfo-negative-ttl): New variables.
	  (with-atomic-file-output, object->fields, read-narinfo,
	  write-narinfo, narinfo->string, string->narinfo, lookup-narinfo): New
	  procedures.
	  (fetch-narinfo): Adjust to use `read-narinfo'.
	  (guix-substitute-binary): Ensure the existence of
	  %NARINFO-CACHE-DIRECTORY.  Use `lookup-narinfo' instead of
	  `fetch-narinfo'.

2013-04-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: automake: Restore shebangs on files that end up in user tarballs.
	* gnu/packages/autotools.scm (automake): Add `unpatch-shebangs' phase.

	utils: Add `fold2'.
	* gnu/packages.scm (fold2): Remove.
	* guix/utils.scm (fold2): New procedure.  Generalization of the above to
	  one and two lists.
	* tests/utils.scm ("fold2, 1 list", "fold2, 2 lists"): New tests.

2013-04-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: emacs: Build the GUI with libXaw.
	* gnu/packages/emacs.scm (emacs): Add inputs: libX11, libXaw, libXt,
	  libtiff, libjpeg, libpng, zlib, libXpm, libxml2, and D-Bus.

	gnu: libXaw: Propagate libXt.
	* gnu/packages/xorg.scm (libxaw): Propagate libXt.

2013-04-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Ratpoison.
	* gnu/packages/ratpoison.scm: New file.
	* Makefile.am (MODULES): Add it.

	store: Remove unneeded and conflicting import.
	* guix/store.scm: Remove unneeded (ice-9 rdelim) import.  In Guile 2.0.9
	  that module exports `read-string', which conflicts with that of (guix
	  serialization).

	package: Being at the empty profile is not an error.
	* guix/scripts/package.scm (roll-back): Use `format', not `leave' when
	  indicating "already at the empty profile".  Fixes a regression
	  introduced in a2011be5dfaf2b94a1d0e3dfbcf4b512389b4711.  Reported by
	  Nikita Karetnikov <nikita@karetnikov.org>.

	Update `TODO'.

	guix package: Add `--no-substitutes'.
	* guix/scripts/package.scm (%default-options): Add `substitutes?'.
	  (show-help, %options): Add and document `--no-substitutes'.
	  (guix-package): Call `set-build-options' to honor `substitutes?'.

2013-04-12  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Implement `--substitute'.
	This allows build outputs to be transparently downloaded from
	http://hydra.gnu.org, for example.

	* config-daemon.ac: Check for `gzip', `bzip2', and `xz'.
	* guix/config.scm.in (%gzip, %bzip2, %xz): New variable.
	* guix/scripts/substitute-binary.scm (fetch): Return SIZE as a second value.
	  (<narinfo>): Change `url' to `uri'.
	  (make-narinfo): Rename to...
	  (narinfo-maker): ... this.  Handle relative URLs.
	  (fetch-narinfo): Adjust accordingly.
	  (filtered-port, decompressed-port): New procedures.
	  (guix-substitute-binary): Implement the `--substitute' case.
	* tests/store.scm ("substitute query"): Use (%store-prefix) instead
	  of (getenv "NIX_STORE_DIR").
	  ("substitute"): New test.

2013-04-12  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Correctly handle missing narinfos in `--query' mode.
	* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]("have",
	  "info"): Filter SUBSTITUTABLE through `narinfo?'.

	nar: Add support for symlinks.
	* guix/nar.scm (write-file): Add case for type `symlink'.
	  (restore-file): Likewise.
	* tests/nar.scm (random-file-size, make-file-tree, delete-file-tree,
	  with-file-tree, file-tree-equal?, make-random-bytevector,
	  populate-file): New procedures.
	  (%test-dir): New variable.
	  ("write-file + restore-file"): Use `%test-dir' and `file-tree-equal?'.
	  ("write-file + restore-file with symlinks"): New test.

	ui: Add a `warning' macro.
	* guix/ui.scm (program-name, guix-warning-port): New variables.
	  (warning): New macro.
	  (guix-main): Parametrize PROGRAM-NAME.
	* guix/scripts/build.scm, guix/scripts/download.scm,
	  guix/scripts/gc.scm, guix/scripts/package.scm: Adjust to use `leave'
	  and `warning' consistently.

	nar: Implement restoration from Nar.
	* guix/nar.scm (&nar-error, &nar-read-error): New condition types.
	  (dump): New procedure.
	  (write-contents)[dump]: Remove.  Use the one above instead.
	  (read-contents, write-file, restore-file): New procedures.
	  (%archive-version-1): New variable.

2013-04-12  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: shishi: Update to 1.0.2.
	* gnu/packages/shishi.scm (shishi): Update to 1.0.2.
	* gnu/packages/patches/shishi-gets-undeclared.patch: Remove it.
	* Makefile.am (dist_patch_DATA): Adjust accordingly.

2013-04-12  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Python: fix the compilation of some modules from the standard library.
	This commit enables the bz2, dbm, readline, ssl and zlib modules.

	* gnu/packages/gdbm.scm: Enable the compatibility mode.
	* gnu/packages/python.scm: Enable a few modules from the standard library.
	* gnu/packages/patches/python-fix-dbm.patch: New file.
	* Makefile.am: Add it.

2013-04-12  Ludovic Courtès  <ludo@gnu.org>

	Add (guix nar) and (guix serialization).
	* guix/store.scm (write-int, read-int, write-long-long, read-long-long,
	  write-padding, write-string, read-string, read-latin1-string,
	  write-string-list, read-string-list, write-store-path,
	  read-store-path, write-store-path-list, read-store-path-list): Move to
	  serialization.scm.
	  (write-contents, write-file): Move to nar.scm.
	* guix/nar.scm, guix/serialization.scm: New files.
	* Makefile.am (MODULES): Add them.

	substitute-binary: Fix communication of several store paths to the daemon.
	* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]:
	  Emit blank lines only after the complete list of store paths has been
	  returned.

	Add preliminary binary substituter.
	* guix/scripts/substitute-binary.scm: New file.
	* Makefile.am (MODULES): Add it.
	* nix/scripts/substitute-binary.in: New file.
	* config-daemon.ac: Produce nix/scripts/substitute-binary.
	* daemon.am (nodist_pkglibexec_SCRIPTS): Add
	  nix/scripts/substitute-binary.
	* guix/store.scm (substitutable-path-info): Use the
	  `query-substitutable-path-infos' RPC.
	* nix/nix-daemon/guix-daemon.cc (main): Honor `NIX_SUBSTITUTERS'.
	* pre-inst-env.in: Set `NIX_SUBSTITUTERS'.
	* test-env.in: Leave `NIX_SUBSTITUTERS' unchanged.  Set
	  `GUIX_BINARY_SUBSTITUTE_URL, and create
	  $NIX_STATE_DIR/substituter-data.
	  Run `guix-daemon' within `./pre-inst-env'.
	* tests/store.scm ("substitute query"): New test.

	gnu: bigloo: Add dependencies on Avahi and libphidget.
	* gnu/packages/scheme.scm (bigloo): Add Avahi and libphidget as inputs,
	  and pkg-config as a native input.

	gnu: Add libphidget.
	* gnu/packages/libphidget.scm: New file.
	* Makefile.am (MODULES): Add it.

	store: Add `store-path-hash-part'.
	* guix/store.scm (store-path-hash-part): New procedure.
	* tests/store.scm ("store-path-hash-part", "store-path-hash-part #f"):
	  New tests.

	gnu-maintenance: Adjust `http-fetch' to the various Guile versions.
	* guix/gnu-maintenance.scm (http-fetch): Try #:streaming? #t, or
	  'http-get*', or 'http-get' as a last resort.  Check whether DATA is
	  #f, a string, or an input port.

	pull: Switch to the cgit URL.
	* guix/scripts/pull.scm (%snapshot-url): Switch to the cgit URL, given
	  that the Hydra one is not currently available.

	tests: Remove temporary directory created by nar.scm.
	* tests/nar.scm ("write-file + restore-file with symlinks"): Add (rm-rf
	  output).

	store: Remove unneeded and conflicting import.
	* guix/store.scm: Remove unneeded (ice-9 rdelim) import.  In Guile 2.0.9
	  that module exports `read-string', which conflicts with that of (guix
	  serialization).

	package: Being at the empty profile is not an error.
	* guix/scripts/package.scm (roll-back): Use `format', not `leave' when
	  indicating "already at the empty profile".  Fixes a regression
	  introduced in a2011be5dfaf2b94a1d0e3dfbcf4b512389b4711.  Reported by
	  Nikita Karetnikov <nikita@karetnikov.org>.

	Update `TODO'.

	guix package: Add `--no-substitutes'.
	* guix/scripts/package.scm (%default-options): Add `substitutes?'.
	  (show-help, %options): Add and document `--no-substitutes'.
	  (guix-package): Call `set-build-options' to honor `substitutes?'.

2013-04-12  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Implement `--substitute'.
	This allows build outputs to be transparently downloaded from
	http://hydra.gnu.org, for example.

	* config-daemon.ac: Check for `gzip', `bzip2', and `xz'.
	* guix/config.scm.in (%gzip, %bzip2, %xz): New variable.
	* guix/scripts/substitute-binary.scm (fetch): Return SIZE as a second value.
	  (<narinfo>): Change `url' to `uri'.
	  (make-narinfo): Rename to...
	  (narinfo-maker): ... this.  Handle relative URLs.
	  (fetch-narinfo): Adjust accordingly.
	  (filtered-port, decompressed-port): New procedures.
	  (guix-substitute-binary): Implement the `--substitute' case.
	* tests/store.scm ("substitute query"): Use (%store-prefix) instead
	  of (getenv "NIX_STORE_DIR").
	  ("substitute"): New test.

2013-04-12  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Correctly handle missing narinfos in `--query' mode.
	* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]("have",
	  "info"): Filter SUBSTITUTABLE through `narinfo?'.

	nar: Add support for symlinks.
	* guix/nar.scm (write-file): Add case for type `symlink'.
	  (restore-file): Likewise.
	* tests/nar.scm (random-file-size, make-file-tree, delete-file-tree,
	  with-file-tree, file-tree-equal?, make-random-bytevector,
	  populate-file): New procedures.
	  (%test-dir): New variable.
	  ("write-file + restore-file"): Use `%test-dir' and `file-tree-equal?'.
	  ("write-file + restore-file with symlinks"): New test.

2013-04-11  Ludovic Courtès  <ludo@gnu.org>

	tests: Adjust `gnu-build' test to search path mechanism.
	Fixes a regression introduced in a18eda2.
	Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	* tests/builders.scm (%bootstrap-search-paths): New variable.
	  ("gnu-build"): Pass #:search-paths.

2013-04-11  Ludovic Courtès  <ludo@gnu.org>

	ui: Add a `warning' macro.
	* guix/ui.scm (program-name, guix-warning-port): New variables.
	  (warning): New macro.
	  (guix-main): Parametrize PROGRAM-NAME.
	* guix/scripts/build.scm, guix/scripts/download.scm,
	  guix/scripts/gc.scm, guix/scripts/package.scm: Adjust to use `leave'
	  and `warning' consistently.

2013-04-11  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add dwm.
	* gnu/packages/dwm.scm: New file.
	* Makefile.am: Add it.

2013-04-09  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Fix search path computation with implicit inputs.
	Reported by Andreas Enge <andreas@enge.fr>.

	* guix/build-system/gnu.scm (standard-packages): New procedure.
	  (standard-inputs): Use it instead of resolving things locally.
	  (gnu-build)[implicit-search-paths]: Map over (standard-packages), not
	  over STANDARD-INPUTS.

2013-04-08  Ludovic Courtès  <ludo@gnu.org>

	nar: Implement restoration from Nar.
	* guix/nar.scm (&nar-error, &nar-read-error): New condition types.
	  (dump): New procedure.
	  (write-contents)[dump]: Remove.  Use the one above instead.
	  (read-contents, write-file, restore-file): New procedures.
	  (%archive-version-1): New variable.

	build: Pass the appropriate flags when building `libstore.a'.
	* daemon.am (libstore_a_CFLAGS): Rename to...
	  (libstore_a_CXXFLAGS): ... this.

2013-04-08  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: shishi: Update to 1.0.2.
	* gnu/packages/shishi.scm (shishi): Update to 1.0.2.
	* gnu/packages/patches/shishi-gets-undeclared.patch: Remove it.
	* Makefile.am (dist_patch_DATA): Adjust accordingly.

2013-04-07  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Python: fix the compilation of some modules from the standard library.
	This commit enables the bz2, dbm, readline, ssl and zlib modules.

	* gnu/packages/gdbm.scm: Enable the compatibility mode.
	* gnu/packages/python.scm: Enable a few modules from the standard library.
	* gnu/packages/patches/python-fix-dbm.patch: New file.
	* Makefile.am: Add it.

2013-04-04  Ludovic Courtès  <ludo@gnu.org>

	Add (guix nar) and (guix serialization).
	* guix/store.scm (write-int, read-int, write-long-long, read-long-long,
	  write-padding, write-string, read-string, read-latin1-string,
	  write-string-list, read-string-list, write-store-path,
	  read-store-path, write-store-path-list, read-store-path-list): Move to
	  serialization.scm.
	  (write-contents, write-file): Move to nar.scm.
	* guix/nar.scm, guix/serialization.scm: New files.
	* Makefile.am (MODULES): Add them.

	substitute-binary: Fix communication of several store paths to the daemon.
	* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]:
	  Emit blank lines only after the complete list of store paths has been
	  returned.

2013-04-04  Andreas Enge  <andreas@enge.fr>

	Merge branch 'xorg' into core-updates

2013-04-03  Ludovic Courtès  <ludo@gnu.org>

	Add preliminary binary substituter.
	* guix/scripts/substitute-binary.scm: New file.
	* Makefile.am (MODULES): Add it.
	* nix/scripts/substitute-binary.in: New file.
	* config-daemon.ac: Produce nix/scripts/substitute-binary.
	* daemon.am (nodist_pkglibexec_SCRIPTS): Add
	  nix/scripts/substitute-binary.
	* guix/store.scm (substitutable-path-info): Use the
	  `query-substitutable-path-infos' RPC.
	* nix/nix-daemon/guix-daemon.cc (main): Honor `NIX_SUBSTITUTERS'.
	* pre-inst-env.in: Set `NIX_SUBSTITUTERS'.
	* test-env.in: Leave `NIX_SUBSTITUTERS' unchanged.  Set
	  `GUIX_BINARY_SUBSTITUTE_URL, and create
	  $NIX_STATE_DIR/substituter-data.
	  Run `guix-daemon' within `./pre-inst-env'.
	* tests/store.scm ("substitute query"): New test.

	gnu: bigloo: Add dependencies on Avahi and libphidget.
	* gnu/packages/scheme.scm (bigloo): Add Avahi and libphidget as inputs,
	  and pkg-config as a native input.

2013-04-02  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Re-enable tests for xorg-server.
	* gnu/packages/xorg.scm (xorg-server): Re-enable (failing) tests.

2013-04-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add libphidget.
	* gnu/packages/libphidget.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-04-01  Ludovic Courtès  <ludo@gnu.org>

	store: Add `store-path-hash-part'.
	* guix/store.scm (store-path-hash-part): New procedure.
	* tests/store.scm ("store-path-hash-part", "store-path-hash-part #f"):
	  New tests.

	gnu-maintenance: Adjust `http-fetch' to the various Guile versions.
	* guix/gnu-maintenance.scm (http-fetch): Try #:streaming? #t, or
	  'http-get*', or 'http-get' as a last resort.  Check whether DATA is
	  #f, a string, or an input port.

2013-03-31  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Remove inputs already available through propagation.
	* gnu/packages/xorg.scm: Remove inputs that are available through propagation.

	gnu: Add xpdf.
	* gnu/packages/pdf.scm (xpdf): New variable.
	* gnu/packages/patches/xpdf-constchar.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

	gnu: lesstif: Make package usable by adding propagated input.
	* gnu/packages/lesstif.scm (lesstif): Add propagated input printproto;
	     include/Xm/Print.h from lesstif includes X11/extensions/Print.h from
	     printproto.

	gnu: freetype: Make include file ft2build.h work without changing the CPATH      of dependent packages.
	* gnu/packages/fontutils.scm (freetype): Add link include/freetype to
	     include/freetype2/freetype.

	gnu: xorg: Add libxp and printproto, not included in X11R7.7.
	* gnu/packages/xorg.scm (libxp, printproto): New variables.

2013-03-31  Ludovic Courtès  <ludo@gnu.org>

	pull: Switch to the cgit URL.
	* guix/scripts/pull.scm (%snapshot-url): Switch to the cgit URL, given
	  that the Hydra one is not currently available.

	gnu: perl-xml-parser: Fix URL.
	* gnu/packages/xml.scm (perl-xml-parser): Fix URL.

2013-03-30  Ludovic Courtès  <ludo@gnu.org>

	gnu: Define `native-search-paths' for Automake, Guile, and Python.
	* gnu/packages/autotools.scm (automake)[native-search-paths]: New field.
	* gnu/packages/guile.scm (guile-1.8)[native-search-paths]: New field.
	  (guile-2.0)[native-search-paths]: New field.
	* gnu/packages/python.scm (python)[native-search-paths]: New field.

	packages: Add `native-search-paths' field and honor it.
	* guix/packages.scm (<search-path-specification>): New record type.
	  (search-path-specification->sexp): New procedure.
	  (<package>)[native-search-paths]: New field.
	  (package-derivation): Accumulate the search paths, and pass them
	  as #:search-paths toe BUILDER.
	* guix/build-system/gnu.scm (gnu-build): Add #:search-paths.  Compute
	  `implicit-search-paths'.  Pass #:search-paths in BUILDER.
	* guix/build-system/perl.scm (perl-build): Add #:search-paths, pass it
	  to BUILDER with the search paths of PERL.
	* guix/build-system/cmake.scm (cmake-build): Add #:search-paths, pass it
	  to BUILDER.
	* guix/build-system/trivial.scm (trivial-build): Add #:search-paths,
	  ignore it.
	* guix/build/gnu-build-system.scm (set-paths): Add #:search-paths.
	  Remove explicit settings of CPATH, LIBRARY_PATH, and PKG_CONFIG_PATH.
	  Instead, walk SEARCH-PATHS and call `set-path-environment-variable'
	  for them.
	* guix/build/perl-build-system.scm (perl-build): Remove PERL5LIB setting.
	* tests/packages.scm ("search paths"): New test.
	* gnu/packages/bootstrap.scm (%bootstrap-guile)[raw]: Add
	  #:search-paths.
	  (%bootstrap-gcc): Add `native-search-paths' field.
	* gnu/packages/perl.scm (perl): Likewise.
	* gnu/packages/pkg-config.scm (pkg-config): Likewise.
	* gnu/packages/glib.scm (intltool): Remove `arguments'.
	* gnu/packages/avahi.scm (avahi): Remove #:phases.

	build: Pass the appropriate flags when building `libstore.a'.
	* daemon.am (libstore_a_CFLAGS): Rename to...
	  (libstore_a_CXXFLAGS): ... this.

	build-system/gnu: Remove #:path-exclusions parameter.
	* guix/build/gnu-build-system.scm (set-paths): Remove `path-exclusions'
	  parameter.  Replace `relevant-input-directories' by
	  `input-directories'.
	* guix/build-system/gnu.scm (gnu-build): Remove `path-exclusions'
	  parameter; don't pass it in BUILDER.
	* guix/build-system/cmake.scm (cmake-build): Likewise.

2013-03-30  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Make font-adobe75dpi and font-adobe100dpi compile (not install).
	* gnu/packages/xorg/scm (font-adobe75dpi, font-adobe100dpi): Add inputs
	     bdftopcf, font-util and mkfontdir.

	gnu: xorg: Add mtdev and make xf86-input-synaptics compile (not install).
	* gnu/packages/xorg.scm (mtdev): New variable.
	* gnu/packages/xorg.scm (xf86-input-synaptics): Add inputs libx11, libxi
	     and mtdev.
	* gnu/packages/xorg.scm (libxi): Propagate input libxext.

	gnu: xorg: Disable not compiling xf86-video-geode.
	* gnu/packages/xorg.scm (xf86-video-geode): Comment out since not compiling
	     (assembler errors).

	gnu: xorg: Fix compilation of xorg-server.
	* gnu/packages/xorg.scm (mesa): Propagate input libxxf86vm.

	gnu: xorg: Disable xf86-video-glide.
	* gnu/packages/xorg.scm (xf86-video-glide): Comment variable; driver for
	     obsolete graphics cards, depends on libglide, last updated in 2003,
	     and which does not compile out of the box any more.

	gnu: xorg: Disable xf86-video-wsfb.
	* gnu/packages/xorg.scm (xf86-video-wsfb): Comment variable, only relevant
	     for the frame buffer on BSD systems.

	gnu: xorg: Make xgamma compile.
	* gnu/packages/xorg.scm (libxxf86vm): Propagate inputs libxext and
	     xf86vidmodeproto.

	gnu: xorg: Make xvinfo compile.
	* gnu/packages/xorg.scm (libxv): Propagate input videoproto.

2013-03-29  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates
	Conflicts:
		Makefile.am
		gnu/packages/base.scm

2013-03-29  Andreas Enge  <andreas@enge.fr>

	gnu: Really add lesstif.
	* Makefile.am (MODULES): Commit the module addition.

	gnu: Add lesstif.
	* gnu/packages/lesstif.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-03-29  Ludovic Courtès  <ludo@gnu.org>

	snix: Adjust import to current Nixpkgs input attribute names.
	* guix/snix.scm (snix-derivation->guix-package): Use the new names
	  `nativeBuildInputs' and `propagatedNativeBuildInputs'.

2013-03-28  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Make most xserver related packages compile.
	* gnu/packages/xorg.scm (xf86-*): Add input xorg-server.
	* gnu/packages/xorg.scm (xf86-video-glint, xf86-video-neomagic,
	     xf86-video-tga, xf86-video-trident, xf86-video-voodoo):
	     Add input xf86dgaproto.
	* gnu/packages/xorg.scm (xf86-video-ati, xf86-video-mach64,
	     xf86-video-mga, xf86-video-r128, xf86-video-savage, xf86-video-tdfx):
	     Add inputs mesa and xf86driproto.
	* gnu/packages/xorg.scm (xf86-video-i128): Add inputs libdrm and libx11.
	* gnu/packages/xorg.scm (xf86-video-openchrome): Add inputs libx11, libxext,
	     libxvmc, mesa and xf86driproto.
	* gnu/packages/xorg.scm (xf86-video-siliconmotion): Add inputs mesa,
	     xf86dgaproto and xf86driproto.
	* gnu/packages/xorg.scm (xf86-video-vmware): Add inputs libx11 and libxext.
	* gnu/packages/xorg.scm (libxvmc): Propagate input libxv.
	* gnu/packages/xorg.scm (mesa): Propagate input glproto.
	* gnu/packages/xorg.scm (xf86-video-geode): Correct source hash.

2013-03-28  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu-maintenance: Improve 'official-gnu-packages'; add related procedures.
	* guix/gnu-maintenance.scm (http-fetch): Return an input port.
	  (<gnu-package-descriptor>): Add it.
	  (official-gnu-packages): Use <gnu-package-descriptor>.
	  (find-packages): Add it.
	  (gnu-package?): Adjust accordingly.

2013-03-28  Cyril Roelandt  <tipecaml@gmail.com>

	Add (guix build-system cmake).
	* guix/build/cmake-build-system.scm, guix/build-system/cmake.scm: New files.
	* Makefile.am (MODULES): Add them.

2013-03-28  Ludovic Courtès  <ludo@gnu.org>

	build: Set `%fresh-auto-compile' in `hydra.scm'.
	* hydra.scm: Set `%fresh-auto-compile' to #t.

2013-03-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: make-bootstrap: Import (gnu packages gcc).
	* gnu/packages/make-bootstrap.scm: Import (gnu packages gcc).

	download: Remove unreliable GNU mirror.
	* guix/download.scm (%mirrors)[gnu]: Remove ftp.chg.ru.

	gnu: Add libelf.
	* gnu/packages/gcc.scm (libelf): New variable.

	gnu: Add ISL and CLooG.
	* gnu/packages/gcc.scm (%gcc-infrastructure, isl, cloog): New variables.

	gnu: Move GCC to its own module.
	* gnu/packages/base.scm (gcc-4.7): Move to...
	* gnu/packages/gcc.scm: ... here.  New file.
	* Makefile.am (MODULES): Add it.

	glib: Patch around prlimit(2) failure.
	* gnu/packages/glib.scm (glib)[source]: Switch to mirror://gnome.
	  [inputs]: Add `patch/tests-prlimit'.
	  [arguments]: Add it.
	* gnu/packages/patches/glib-tests-prlimit.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

	build: `hydra.scm' changes %load-path to refer to itself.
	* hydra.scm: Add `eval-when' clause.

	Update `TODO'.

2013-03-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add GNU cflow.
	* gnu/packages/cflow.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add GNU cppi.
	* gnu/packages/cppi.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-03-24  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: add dependencies to poppler.
	Add libpng and zlib to the inputs.

2013-03-22  Ludovic Courtès  <ludo@gnu.org>

	store: Really disable file name canonicalization for derivation inputs.
	* guix/store.scm (write-contents)[call-with-binary-input-file]: Set
	  %FILE-PORT-NAME-CANONICALIZATION to #f.
	* gnu/packages.scm (search-patch, search-bootstrap-binary): Leave
	  %FILE-PORT-NAME-CANONICALIZATION unchanged.  This reverts 9776ebb.

	store: Use `sendfile' when available.
	* guix/store.scm (write-contents)[call-with-binary-input-file]: New
	  procedure.
	  Use `sendfile' instead of `dump' when available.  Add `size'
	  parameter.
	  (write-file): Update caller.

2013-03-22  Andreas Enge  <andreas@enge.fr>

	gnu: Update mpfr to 3.1.2.
	* gnu/packages/multiprecision.scm (mpfr): Update to 3.1.2.

2013-03-21  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add cmake.
	* gnu/packages/cmake.scm: New file.
	* gnu/packages/patches/cmake-fix-tests.patch: New file.
	* Makefile.am: Add them.

2013-03-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: Disable file name canonicalization in `search-*'.
	* gnu/packages.scm (search-patch, search-bootstrap-binary): Make sure no
	  canonicalization occurs.  This reduces the number of 'stat' system
	  calls.

2013-03-19  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add lua.
	* gnu/packages/lua.scm: New file.
	* Makefile.am: add it.

2013-03-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: libgcrypt: Upgrade to 1.5.1.
	* gnu/packages/gnupg.scm (libgcrypt): Upgrade to 1.5.1.

	Work around <http://bugs.gnu.org/13095> in build-aux/download.scm.
	* build-aux/download.scm: Annihilate `shutdown' in (web client).
	  Reported by Aljosha Papsch.

2013-03-18  Ludovic Courtès  <ludo@gnu.org>

	release.nix: Hack to unchroot more stuff.
	* release.nix (unchrootedNixpkgs): New function.
	  (jobs)[tarball, build, build_disable_daemon, distro): Use it.
	  Should fix <http://hydra.gnu.org:3000/build/7279>.

	release.nix: Adjust to current Nixpkgs.
	* release.nix: s/buildNativeInputs/nativeBuildInputs/.

	guix package: Report packages to be removed/installed.
	* guix/scripts/package.scm (guix-package)[process-actions](show-what-to-remove/install):
	  New procedure.
	  Call it before `show-what-to-build'.

2013-03-17  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Enable xdriinfo.
	* gnu/packages/xorg.scm (xdriinfo): Enable input mesa.

	gnu: xorg: Arrange more inputs for x server related packages.
	* gnu/packages/xorg.scm (xf86-input-evdev): Add input xorg-server.
	* gnu/packages/xorg.scm (xorg-server): Propagate inputs and add normal and
	     propagated inputs.

	gnu: Add X.org as input to Texlive.
	* gnu/packages/texlive.scm (texlive): Add x.org inputs.

2013-03-16  Andreas Enge  <andreas@enge.fr>

	gnu: Add openconnect.
	* gnu/packages/vpn.scm (openconnect): New variable.

2013-03-16  Ludovic Courtès  <ludo@gnu.org>

	derivations: Optimize `build-expression->derivation'.
	This reduces the execution time of
	"guix build -e '(@ (gnu packages emacs) emacs)' -d" by 6%, from
	1.15s to 1.08s.

	* guix/derivations.scm (build-expression->derivation): Write the builder
	  as UTF-8.

2013-03-16  Ludovic Courtès  <ludo@gnu.org>

	derivations: Optimize `write-derivation'.
	This reduces the execution time of
	"guix build -e '(@ (gnu packages emacs) emacs)' -d" by 25%, from
	1.54 s. to 1.15s.

	* guix/derivations.scm (write-sequence, write-list, write-tuple): New
	  procedures.
	  (write-derivation)[list->string, write-list]: Remove.
	  [write-string-list, write-output, write-input, write-env-var]: New helpers.
	  Rewrite in terms of these new helpers.

2013-03-16  Ludovic Courtès  <ludo@gnu.org>

	guix package: Gracefully handle `official-gnu-packages' failure.
	* guix/gnu-maintenance.scm (http-fetch): Error out when DATA is #f.
	* guix/scripts/package.scm (check-package-freshness): Wrap
	  `gnu-package?' call in `false-if-exception'.
	  Reported by Cyril Roelandt <tipecaml@gmail.com>.

2013-03-15  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Change download location for xcb related packages.
	* gnu/packages/xorg.sm (libpthread-stubs, libxcb, xcb-proto): Replace broken
	     xorg mirrors by url of the xcb project.

2013-03-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: coreutils, sed: Update.
	* gnu/packages/base.scm (sed): Update to 4.2.2.
	  (coreutils): Update to 8.21.

	gnu: binutils: Update to 2.23.1.
	* gnu/packages/base.scm (binutils): Update to 2.23.1.  Add
	  `--disable-werror'.
	  (binutils-boot0): Augment BINUTILS's configure flags.

2013-03-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: emacs: Update to 24.3.
	* gnu/packages/emacs.scm (emacs): Update to 24.3.  Use the .xz tarball.
	* gnu/packages/patches/emacs-configure-sh.patch: Adjust.

	gnu: texinfo: Update to 5.1.
	* gnu/packages/texinfo.scm (texinfo): Update to 5.1.

2013-03-10  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Add xeyes (for testing purposes).
	* gnu/packages/xorg.scm (xeyes): New variable.

	gnu: xorg: Make xorg-server compilable (tests still fail).
	* gnu/packages/xorg.scm (mesa): Propagate inputs libdrm and libxdamage.
	* gnu/packages/xorg.scm (xorg-server): Add input videoproto.

	gnu: xorg: Make xkeyboard-config compile.
	* gnu/packages/xorg.scm (xkeyboard-config): Add inputs gettext, intltool,
	     perl-xml-parser.

	gnu: Add intltool.
	* gnu/packages/xml.scm (intltool): New variable.
	* gnu/packages/xml.scm (perl-xml-parser): Fix download location.

2013-03-09  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Add old versions of mesa and libdrm.
	* gnu/packages/xorg.scm (mesa): New variable, only version 8.0.5 compiles.
	* gnu/packages/xorg.scm (libdrm-2.4.33): New variable, required by mesa 8.0.5.

	gnu: xorg: Propagate input.
	* gnu/packages/xorg.scm (libxdamage): Propagate input damageproto.

2013-03-08  Andreas Enge  <andreas@enge.fr>

	gnu: libxslt: Add zlib and libxml2 python module to inputs.
	* gnu/packages/xml.scm (libxslt): Add input zlib and add libxml2 to PYTHONPATH.

	gnu: libxml2: Add python support.
	* gnu/packages/xml.scm (libxml2): Compile and install python module.

2013-03-07  Ludovic Courtès  <ludo@gnu.org>

	ui: Gracefully report failures to connect to the daemon.
	* guix/store.scm (&nix-connection-error): New condition type.
	  (open-connection): Translate `system-error' during the `connect' call
	  into `&nix-connection-error'.
	* guix/ui.scm (call-with-error-handling): Add case for `nix-connection-error?'.
	* guix/scripts/package.scm (guix-package): Move `open-connection' call
	  within `with-error-handling'.
	* guix/scripts/pull.scm (guix-pull): Likewise.
	* guix/scripts/download.scm (guix-download): Move body within
	  `with-error-handling'.

2013-03-07  Nikita Karetnikov  <nikita@karetnikov.org>

	utils: Add 'wrap-program'.
	* guix/build/utils.scm (wrap-program): New procedure.

2013-03-07  Ludovic Courtès  <ludo@gnu.org>

	packages: Remove the default value for `license'.
	* guix/packages.scm (<package>): Remove the default value for `license'.
	* gnu/packages/bootstrap.scm (package-from-tarball,
	  %bootstrap-glibc, %bootstrap-gcc): Initialize `license'.
	* tests/packages.scm (dummy-package): Likewise.

	Revert "utils: Add 'wrap-program'."
	This reverts commit 02065130de33e990969fe9b7cc19b9b1c24f3ff7.

2013-03-06  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Add libdrm.
	* gnu/packages/xorg.scm (libdrm): New variable.

	gnu: xorg: Add pixman.
	* gnu/packages/xorg.scm (pixman): New variable.
	* gnu/packages/xorg.scm (xorg-server): Enable input pixman.

	gnu: xorg: Comment applewmproto and libapplewm, compile only on macos.
	* gnu/packages/xorg.scm (applewmproto,libapplewm): Remove variables.

	gnu: xorg: Add inputs and propagated-inputs, propagate some inputs.            Rename two packages to avoid clashes between package names and versions.
	* gnu/packages/xorg.scm (font-adobe-100dpi): Rename to font-adobe100dpi.
	* gnu/packages/xorg.scm (font-adobe-75dpi): Rename to font-adobe75dpi.
	* gnu/packages/xorg.scm: Add pkg-xonfig as input to several packages.
	* gnu/packages/xorg.scm (encodings): Add input mkfontscale.
	* gnu/packages/xorg.scm (libx11): Add inputs inputprotoi, xextproto, xtrans.
	* gnu/packages/xorg.scm (libxpm): Add input gettext.
	* gnu/packages/xorg.scm (libxxf86dga): Add inputs libx11, libxext, xf86dgaproto.
	* gnu/packages/xorg.scm (libxxf86vm): Add inputs libx11i, libxext, xf86vidmodeproto.
	* gnu/packages/xorg.scm (x11perf): Add inputs libx11i, libxfti, libxmu, libxrender.
	* gnu/packages/xorg.scm (xcursor-themes): Add input xcursorgen.
	* gnu/packages/xorg.scm (xdpyinfo): Add input inputproto.
	* gnu/packages/xorg.scm (font-xfree86-type1): Add input mkfontdir.
	* gnu/packages/xorg.scm (libx11): Add propagated inputs kbproto, libxcb.
	* gnu/packages/xorg.scm (mkfontdir): Add propagated input mkfontscale.
	* gnu/packages/xorg.scm (fixesproto): Propagate input xextproto.
	* gnu/packages/xorg.scm (libice): Propagate input xproto.
	* gnu/packages/xorg.scm (libxau): Propagate input xproto.
	* gnu/packages/xorg.scm (libxaw): Propagate inputs libxext, libxmu, libxpm.
	* gnu/packages/xorg.scm (libxcb): Propagate inputs libpthread-stubs, libxaui, libxdmcp.
	* gnu/packages/xorg.scm (libxcursor): Propagate inputs libx11, libxfixes, libxrender, xproto.
	* gnu/packages/xorg.scm (libxext): Propagate input xextproto.
	* gnu/packages/xorg.scm (libxfixes): Propagate input fixesproto.
	* gnu/packages/xorg.scm (libxfont): Propagate inputs fontsproto, freetype, libfontenc, xproto.
	* gnu/packages/xorg.scm (libxinerama): Propagate input xineramaproto.
	* gnu/packages/xorg.scm (libxrandr): Propagate inputs libxext, randrproto.
	* gnu/packages/xorg.scm (libxrender): Propagate input renderproto.
	* gnu/packages/xorg.scm (libxt): Propagate inputs libx11, libice, libsm.
	* gnu/packages/xorg.scm (libxtst): Propagate input recordproto.
	* gnu/packages/xorg.scm (xbacklight): Propagate inputs libx11, libxrandr.
	* gnu/packages/xorg.scm (xkeyboard-config): Propagate inputs libx11, xkbcomp.
	* gnu/packages/xorg.scm (xproto): Propagate input util-macros.

2013-03-06  Nikita Karetnikov  <nikita@karetnikov.org>

	utils: Add 'wrap-program'.
	* guix/build/utils.scm (wrap-program): New procedure.

	gnu: Add GNU Fdisk.
	* gnu/packages/fdisk.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add w3m.
	* gnu/packages/w3m.scm,
	  gnu/packages/patches/w3m-fix-compile.patch: New files.
	* Makefile.am (MODULES): Add 'w3m.scm'.
	  (dist_patch_DATA): Add 'w3m-fix-compile.patch'.

	licenses: Add 'x11-style'.
	* guix/licenses.scm (x11-style): New variable.

2013-03-06  Andreas Enge  <andreas@enge.fr>

	gnu: xorg: Correct typo in download location.
	* gnu/packages/xorg.scm (xf86-video-glide): Correct typo.

	gnu: xorg: Uncomment dependencies on libxcb.
	* gnu/packages/xorg.scm (xbacklight, xdpyinfo, xlsatoms, xlsclients,
	     xwininfo): Uncomment dependency on libxcb.

	gnu: xorg: Add home-page, synopsis and description.
	* gnu/packages/xorg.scm: Add home-page and (generic) synopsis and description.

	gnu: xorg: Fix http mirror and uncomment xcb packages.
	* guix/download.scm (%mirrors): Fix main http mirror address.
	* gnu/packages/xorg.scm (libpthread-stubs, libxcb, xcb-proto): Uncomment
	     and add licenses.

	gnu: xorg: Downgrade package versions to those present in X11R7.7
	* gnu/packages/xorg.scm (dri2proto, libxcb, libxrandr, randrproto,
	     xbacklight, xcb-proto, xorg-server):
	     Use the versions present in X11R7.7.

	gnu: xorg: Add licenses.    Comment out packages with non-free license, without license, or    not available on the ftp servers.    Remove package not present in the distribution.
	* gnu/packages/xorg.scm (*): Add licenses.
	* gnu/packages/xorg.scm (libxp): Remove variable of package that is not
	     present in the R7.7 distribution.
	* gnu/packages/xorg.scm (libpthread, libxcb): Comment out variables, which
	     are referenced, but not present on the ftp servers.
	* gnu/packages/xorg.scm (font-adobe-utopia-100dpi, font-adobe-utopia-75dpi,
	     font-adobe-utopia-type1, font-bh-100dpi, font-bh-75dpi,
	     font-bh-lucidatypewriter-100dpi, font-bh-lucidatypewriter-75dpi,
	     font-bh-type1, font-bitstream-100dpi, font-bitstream-75dpi,
	     font-daewoo-misc, font-ibm-type1, font-jis-misc, font-misc-meltho,
	     xf86-video-dummy):
	     Comment out variables, packages have non-free licenses.
	* gnu/packages/xorg.scm (font-cursor-misc, xf86-video-v4l, xorg-docs):
	     Comment out variables, packages have no license.

	gnu: xorg: Add missing hashes.
	* gnu/packages/xorg.scm: Add hashes to all packages.

	gnu: xorg: Transform propagated into normal inputs.
	* gnu/packages/xorg.scm: Transform propagated into normal inputs;
	     allows to keep packages in alphabetical order.

	gnu: xorg: Add and remove packages to mirror X11R7.7/src/everything
	* gnu/packages/xorg.scm: Remove packages not from
	     ftp://ftp.freedesktop.org/pub/xorg/X11R7.7/src/everything/ .
	     Add missing packages, for the time being with a 0 hash and
	     without dependencies.
	     Correct spelling (all lower case for package names).

	gnu: xorg: Initial import from nix.
	* gnu/packages/xorg.scm: New module.
	* Makefile.am: Add it.

2013-03-05  Ludovic Courtès  <ludo@gnu.org>

	gnu-maintenance: Clarify `releases'.
	* guix/gnu-maintenance.scm (releases): Change to use `match' and
	  `match-lambda'.  Add `release-file' auxiliary function.

	gnu-maintenance: Fix `gnu-package?' for packages lacking a `source'.
	* guix/gnu-maintenance.scm (gnu-package?): Support PACKAGE when its
	  source is #f.

	guix package: Recover from freshness check transient errors.
	* guix/scripts/package.scm (check-package-freshness): Ignore
	  `getaddrinfo-error' and `ftp-error' exceptions.

	guix package: Inform about new upstream versions of GNU packages.
	* guix/gnu-maintenance.scm (gnu-package?): New procedure.
	* guix/scripts/package.scm (waiting): New macro.
	  (check-package-freshness): New procedure.
	  (guix-package)[process-actions]: Use it.
	* doc/guix.texi (Invoking guix package): Mention the feature.

	gnu: Add Avahi.
	* gnu/packages/avahi.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Update GnuTLS to 3.1.9.1.
	* gnu/packages/gnutls.scm (gnutls): Update to 3.1.9.1.

	gnu: Add intltool.
	* guix/download.scm (%mirrors): Add `gnome' mirrors.
	* gnu/packages/glib.scm (intltool): New variable.

	Update TODO.

	utils: Add a #:follow-symlinks? parameter to `copy-recursively'.
	* guix/build/utils.scm (copy-recursively): Turn `log' into a keyword
	  parameter.  Add the `follow-symlinks?' parameter and honor it.

	utils: Add `delete-file-recursively'.
	* guix/build/utils.scm (delete-file-recursively): New procedure.

	gnu: glibc: Install locale data.
	* gnu/packages/base.scm (glibc): Add `outputs' field.  Pass
	  `--localedir' and set `libc_cv_localedir'.  Add `install-locales'
	  phase.

2013-03-05  Andreas Enge  <andreas@enge.fr>

	gnu: Add lsof.
	* gnu/packages/lsof.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-03-04  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates
	Conflicts:
		Makefile.am
		guix/scripts/gc.scm
		guix/scripts/package.scm
		guix/ui.scm
		tests/guix-package.sh

2013-03-04  Andreas Enge  <andreas@enge.fr>

	guix: build: Add "share/pkgconfig" to PKG_CONFIG_PATH, as used by xorg.
	* guix/build/gnu-build-system.scm (set-paths): Add "share/pkgconfig"
	     to PKG_CONFIG_PATH.

2013-03-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Perl XML::Parser.
	* gnu/packages/xml.scm (perl-xml-parser): New variable.

	Add (guix build-system perl).
	* guix/build-system/perl.scm, guix/build/perl-build-system.scm: New files.
	* Makefile.am (MODULES): Add them.
	* guix/build-system/gnu.scm (standard-inputs): Make public.

	download: Add CPAN mirrors.
	* guix/download.scm (%mirrors)[cpan]: New URLs.

2013-03-03  Andreas Enge  <andreas@enge.fr>

	gnu: Add vpnc.
	* gnu/packages/vpn.scm: New file.
	* Makefile.am (MODULES): Add it.
	* gnu/packages/patches/vpnc-script.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

2013-03-02  Ludovic Courtès  <ludo@gnu.org>

	release.nix: Reduce the number of dependencies.
	* release.nix (tarball): Use a minimal Git.

	gnu: Add libdaemon.
	* gnu/packages/libdaemon.scm: New file.
	* Makefile.am (MODULES): Add it.

	release.nix: Unchroot recursively.
	* release.nix (unchroot): Operate recursively on build inputs.

	release.nix: Build outside of a chroot.
	* release.nix (unchroot): New function.
	  (jobs)[tarball, build, build_disable_daemon]: Use it.

2013-03-01  Ludovic Courtès  <ludo@gnu.org>

	ui: Factorize `read/eval-package-expression'.
	* guix/scripts/package.scm (read/eval-package-expression): Move to...
	* guix/ui.scm (read/eval-package-expression): ... here.
	* guix/scripts/build.scm (derivations-from-package-expressions): Use it.

	guix package: Add `--install-from-expression'.
	* guix/scripts/package.scm (read/eval-package-expression): New
	  procedure.
	  (show-help): Add `-e'.
	  (%options): Likewise.
	  (guix-package)[process-actions]: Handle ('install . p) pairs, where P
	  is a package.
	* tests/guix-package.sh: Add `boot_make_drv'.  Use `-i $boot_make_drv'
	  once, and then use `-e $boot_make'.
	* doc/guix.texi (Invoking guix package): Document `-e'.

	gnu: global: Update to 6.2.8.
	* gnu/packages/global.scm (global): Update to 6.2.8.

2013-02-27  Ludovic Courtès  <ludo@gnu.org>

	guix gc: Add `--references' and `--referrers'.
	* guix/scripts/gc.scm (show-help): Update.
	  (%options): Add `--references' and `--referrers'.
	  (guix-gc)[symlink-target, store-directory]: New procedures.
	  Handle the `list-references' and `list-referrers' actions.
	* tests/guix-gc.sh: Add tests for `--references'.
	* doc/guix.texi (Invoking guix gc): Document `--references' and
	  `--referrers'.

	store: Add queries for references & co.
	* guix/store.scm (operation-id)[query-valid-derivers]: New value.
	  (references, referrers, valid-derivers, query-derivation-outputs): New
	  procedures.
	* tests/store.scm ("references", "derivers"): New tests.

	gnu: Add cross tool chain.
	* gnu/packages/cross-base.scm: New file.
	* gnu/packages/patches/gcc-cross-environment-variables.patch: New file.
	* Makefile.am (MODULES): Add cross-base.scm.
	  (dist_patch_DATA): Add gcc-cross-environment-variables.patch.
	* gnu/packages/base.scm (gcc-4.7): Use `LDFLAGS_FOR_TARGET' instead of
	  `LDFLAGS_FOR_BUILD', and use `-B' instead of `-L'.
	* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
	  "mips64el-linux".

	gnu: linux: Make `system->linux-architecture' public, and add ARM.
	* gnu/packages/linux.scm (system->linux-architecture): Make public.  Add
	  "arm".

2013-02-27  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: linux-libre-headers: Set 'ARCH' to 'mips'.
	* gnu/packages/linux.scm (system->linux-architecture): New procedure.
	  (linux-libre-headers): Adjust accordingly.

	gnu: gcc: Remove extraneous newline in 'LIB_SPEC'.
	* gnu/packages/base.scm (gcc-4.7): Remove trailing newline when patching
	  'LIB_SPEC'.

2013-02-27  Ludovic Courtès  <ludo@gnu.org>

	pull: Distinguish "already up to date" from "updated".
	* guix/ui.scm (show-what-to-build): Return (length req*).
	* guix/scripts/pull.scm (guix-pull): Print an "already up to date"
	  message when there's nothing to build.

	pull: Build (guix build download) first, because of the (gnutls) autoload.
	* guix/scripts/pull.scm (unpack): Build (guix build download) first, as
	  done in 855a8ad71def2ebc594ed32c57bda0ca4e13d91c.
	  Reported by Andreas Enge <andreas@enge.fr>.

	guix: Make sure UPDATES-DIR is valid.
	* scripts/guix.in: Make sure UPDATES-DIR is not #f.

	Add "guix pull".
	* guix/scripts/pull.scm: New file.
	* Makefile.am (MODULES): Add it.
	* doc/guix.texi (Invoking guix pull): New node.
	  (Invoking guix package): Add cross-ref to it.
	* guix/ui.scm (config-directory): New procedure.
	* scripts/guix.in: When `GUIX_UNINSTALLED' is undefined, add
	  $XDG_CONFIG_HOME/guix/latest to the search path.
	* po/POTFILES.in: Add guix/scripts/pull.scm.

	ui: Factorize `show-what-to-build'.
	* guix/scripts/package.scm (guix-package)[show-what-to-build]: Move to..
	* guix/ui.scm (show-what-to-build): ... here.  Add a `store'
	  parameter'.  Adjust callers.
	* guix/scripts/build.scm (guix-build): Use it.  Remove `req' and `req*'
	  variables.

	build: Adjust guix.texi to Texinfo 5.0.
	* doc/guix.texi: Change @title and @subtitle syntax to please Texinfo 5.0.

	ui: Add temporary file handling and atomic symlink switch.
	* guix/scripts/download.scm (call-with-temporary-output-file): Move to
	  ui.scm.
	* guix/scripts/package.scm (switch-symlinks): Likewise.
	* guix/ui.scm (call-with-temporary-output-file, switch-symlinks): New
	  procedures.

	download: Adjust to `http-get*' deprecation.
	* guix/build/download.scm (http-fetch): Adjust to use #:streaming? when
	  using Guile 2.0.8+.

	derivations: Add a search path parameter for module derivations.
	* guix/derivations.scm (imported-modules, compiled-modules): Add a
	  `module-path' parameter.  Use it instead of %LOAD-PATH.

	gnu: texinfo: Make Perl a propagated input.
	* gnu/packages/texinfo.scm (texinfo): Make PERL a propagated input.

	build: Add missing -I flag for the daemon.
	* daemon.am (libstore_a_CPPFLAGS): Add missing -I, for schema.sql.hh.

	daemon: Add `--listen'.
	* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LISTEN): New macro.
	  (options): Add `--listen'.
	  (parse_opt): Handle it.
	* doc/guix.texi (Invoking guix-daemon): Mention it.

	Update from upstream Nix.

	store: Add the `%daemon-socket-file' parameter.
	* guix/store.scm (%daemon-socket-file): New variable.
	  (open-connection): Use it as the default value for FILE.

	Add Mark to `AUTHORS'.

	build: Build guix/scripts/download.go after guix/build/download.go.
	* Makefile.am (guix/scripts/download.go): Add dependency on
	  `guix/build/download.go'.
	  Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	scripts: Remove hyphen in the command name shown by `--version'.
	* guix/scripts/build.scm (%options): Remove hyphen from the name passed
	  to `show-version-and-exit'.
	* guix/scripts/download.scm (%options): Likewise.
	* guix/scripts/gc.scm (%options): Likewise.
	* guix/scripts/import.scm (%options): Likewise.
	* guix/scripts/package.scm (%options): Likewise.

2013-02-27  Mark H Weaver  <mhw@netris.org>

	gnu: guile-reader: Rename packages to avoid version number confusion.
	* gnu/packages/guile.scm (guile-reader): Change the character preceding the
	  guile version number from '-' to '_' so that it will not be misinterpreted
	  as the package version number.

	Update `TODO'.

2013-02-27  Ludovic Courtès  <ludo@gnu.org>

	scripts: Remove initialization now redundant with `initialize-guix'.
	* guix/scripts/build.scm (guix-build): Remove calls to `install-locale',
	  `textdomain', etc., now redundant with `initialize-guix'.
	* guix/scripts/download.scm (guix-download): Likewise.
	* guix/scripts/import.scm (guix-import): Likewise.
	* guix/scripts/package.scm (guix-package): Likewise.
	* guix/ui.scm: Remove export of `install-locale' and `initialize-guix'.
	  (initialize-guix): Add docstring.

	gnu: texinfo: Update to 5.0.
	* gnu/packages/texinfo.scm (texinfo): Update to 5.0.

2013-02-27  Mark H Weaver  <mhw@netris.org>

	Replace individual scripts with master 'guix' script.
	* scripts/guix.in: New script.

	* Makefile.am (bin_SCRIPTS): Add 'scripts/guix'.  Remove 'guix-build',
	  'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.

	  (MODULES): Add 'guix/scripts/build.scm', 'guix/scripts/download.scm',
	  'guix/scripts/import.scm', 'guix/scripts/package.scm', and
	  'guix/scripts/gc.scm'.

	* configure.ac (AC_CONFIG_FILES): Add 'scripts/guix'.  Remove 'guix-build',
	  'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.

	* guix-build.in, guix-download.in, guix-gc.in, guix-import.in,
	  guix-package.in: Remove shell script boilerplate.  Move to guix-COMMAND.in
	  to guix/scripts/COMMAND.scm.  Rename module from (guix-COMMAND) to
	  (guix scripts COMMAND).  Change "guix-COMMAND" to "guix COMMAND" in
	  usage help string.

	* pre-inst-env.in: Add "@abs_top_builddir@/scripts" to the front of $PATH.
	  Export $GUIX_UNINSTALLED.

	* tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh,
	  tests/guix-gc.sh, tests/guix-package.sh: Use "guix COMMAND" instead of
	  "guix-COMMAND".

	* doc/guix.texi: Replace all occurrences of "guix-COMMAND" with
	  "guix COMMAND".

	* po/POTFILES.in: Update.

2013-02-27  Ludovic Courtès  <ludo@gnu.org>

	Add (gnu system vm).
	* gnu/system/vm.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add support for Guile in Linux initrd.
	* gnu/packages/linux-initrd.scm: New file.

	gnu: qemu-kvm: Add patch to have multiple SMB shares.
	* gnu/packages/qemu.scm (qemu-kvm/smb-shares): New variable.
	* gnu/packages/patches/qemu-multiple-smb-shares.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

	packages: Add `package-output'.
	* guix/packages.scm (package-output): New procedure.
	* tests/packages.scm ("package-output"): New test.

	gnu: guile-static: Change `name' field.
	* gnu/packages/make-bootstrap.scm (%guile-static): Add `name' field with
	  `-static' suffix.

	gnu: guile-static: Add bindings for `reboot'.
	* gnu/packages/patches/guile-linux-syscalls.patch: Add `scm_reboot'.

	gnu: qemu: Add dependency on Samba.
	* gnu/packages/qemu.scm (qemu-kvm): Add dependency on Samba; pass
	  `--smbd' to ./configure.

	gnu: samba: Augment the RUNPATH of executables to point to $out/lib.
	* gnu/packages/samba.scm (samba): Add `add-lib-to-runpath' phase, and
	  PatchELF as an input.

2013-02-27  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add GNU Parted.
	* gnu/packages/parted.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-static: Add bindings for low-level Linux syscalls.
	* gnu/packages/make-bootstrap.scm (%guile-static): Add
	  `guile-linux-syscalls.patch' as an input, and use it.
	* gnu/packages/patches/guile-linux-syscalls.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

	gnu: linux-libre: Choose a config without debugging features.
	* gnu/packages/linux.scm (linux-libre): Choose "defconfig" instead of
	  "allmodconfig" since the latter enables all debugging features.  Add
	  `CONFIG_CIFS=m'.

2013-02-27  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add vim.
	* gnu/packages/vim.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-27  Mark H Weaver  <mhw@netris.org>

	Build newest versions unless specified, and implement upgrades.
	* gnu/packages.scm (find-newest-available-packages):
	  New exported procedure.

	* guix-build.in (newest-available-packages, find-best-packages-by-name):
	  New procedures.
	  (find-package): Use find-best-packages-by-name, to guarantee that
	  if a version number is not specified, only the newest versions will
	  be considered.

	* guix-package.in (%options): Add --upgrade/-u option.
	  (newest-available-packages, find-best-packages-by-name, upgradeable?):
	  New procedures.
	  (find-package): Use find-best-packages-by-name, to guarantee that
	  if a version number is not specified, only the newest versions will
	  be considered.
	  (process-actions): Implement upgrade option.

	* doc/guix.texi (Invoking guix-package): In the description of --install,
	  mention that if no version number is specified, the newest available
	  version will be selected.

2013-02-27  Mark H Weaver  <mhw@netris.org>

	Inhibit duplicates in fold-packages.
	* gnu/packages.scm (fold2): New procedure.
	  (fold-packages): Rework to suppress duplicates.

2013-02-27  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Make the strip behavior of `static-package' configurable.
	* guix/build-system/gnu.scm (static-package): Add #:strip-all? keyword
	  parameter.

	gnu: guile-static: Use libgc build with `USE_LIBC_PRIVATES'.
	* gnu/packages/make-bootstrap.scm (%guile-static): Use libgc build with
	  CPPFLAGS=-DUSE_LIBC_PRIVATES.
	* gnu/packages/bdw-gc.scm (libgc): Add TODO to always do it.

	gnu: Add missing patch for mcron.
	* gnu/packages/patches/mcron-install.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

2013-02-27  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add GNU Wdiff.
	* gnu/packages/wdiff.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-27  Mark H Weaver  <mhw@netris.org>

	Add version-compare and version>? to utils.scm.
	* guix/utils.scm (version-compare, version>?): New exported procedures,
	  based on version-string>?, which was formerly in gnu-maintenance.scm.

	* guix/gnu-maintenance.scm (version-string>?): Removed procedure.
	  (latest-release): Use 'version>?' instead of 'version-string>?'.

2013-02-27  Andreas Enge  <andreas@enge.fr>

	gnu: Add signing-party.
	* gnu/packages/gnupg.scm (signing-party): New variable.

2013-02-24  Andreas Enge  <andreas@enge.fr>

	gnu: wget: Drop manual handling of /usr/bin/env.
	* gnu/packages/wget.scm (wget): Drop patch-/usr/bin/env phase.

	gnu: curl: Let patch-shebang handle /usr/bin/env.
	* gnu/packages/curl.scm (curl): Drop manual rewriting of #!/usr/bin/env.

	gnu: openldap: Disable tests, they fail too randomly probably due to    timeouts in the server.
	* gnu/packages/openldap.scm (openldap): Drop all tests.

2013-02-23  Andreas Enge  <andreas@enge.fr>

	Patch-shebang: Do not add space after interpreter without argument.
	* guix/build/utils.scm (patch-shebang): Do not add a space after a command
	  interpreter not followed by an argument; this made two tests of
	  coreutils fail.

	Patch-shebang: Handle "#!/usr/bin/env command"
	* guix/build/utils.scm (patch-shebang): Handle replacement of
	   "#!.*/env CMD ARGS" by "#!/nix/store/path/.../to/CMD ARGS".

	download: Add X.org mirrors.
	* guix/download.scm (%mirrors): Add `xorg'.

	gnu: screen: Use GNU mirror.
	* gnu/packages/screen.scm (screen): Use GNU mirror.

	gnu: Update libpng to 1.5.14.
	* gnu/packages/libpng.scm (libpng): Switch to version 1.5.14.

2013-02-22  Ludovic Courtès  <ludo@gnu.org>

	pull: Distinguish "already up to date" from "updated".
	* guix/ui.scm (show-what-to-build): Return (length req*).
	* guix/scripts/pull.scm (guix-pull): Print an "already up to date"
	  message when there's nothing to build.

	pull: Build (guix build download) first, because of the (gnutls) autoload.
	* guix/scripts/pull.scm (unpack): Build (guix build download) first, as
	  done in 855a8ad71def2ebc594ed32c57bda0ca4e13d91c.
	  Reported by Andreas Enge <andreas@enge.fr>.

2013-02-21  Ludovic Courtès  <ludo@gnu.org>

	guix: Make sure UPDATES-DIR is valid.
	* scripts/guix.in: Make sure UPDATES-DIR is not #f.

2013-02-20  Ludovic Courtès  <ludo@gnu.org>

	Add "guix pull".
	* guix/scripts/pull.scm: New file.
	* Makefile.am (MODULES): Add it.
	* doc/guix.texi (Invoking guix pull): New node.
	  (Invoking guix package): Add cross-ref to it.
	* guix/ui.scm (config-directory): New procedure.
	* scripts/guix.in: When `GUIX_UNINSTALLED' is undefined, add
	  $XDG_CONFIG_HOME/guix/latest to the search path.
	* po/POTFILES.in: Add guix/scripts/pull.scm.

	ui: Factorize `show-what-to-build'.
	* guix/scripts/package.scm (guix-package)[show-what-to-build]: Move to..
	* guix/ui.scm (show-what-to-build): ... here.  Add a `store'
	  parameter'.  Adjust callers.
	* guix/scripts/build.scm (guix-build): Use it.  Remove `req' and `req*'
	  variables.

	build: Adjust guix.texi to Texinfo 5.0.
	* doc/guix.texi: Change @title and @subtitle syntax to please Texinfo 5.0.

	ui: Add temporary file handling and atomic symlink switch.
	* guix/scripts/download.scm (call-with-temporary-output-file): Move to
	  ui.scm.
	* guix/scripts/package.scm (switch-symlinks): Likewise.
	* guix/ui.scm (call-with-temporary-output-file, switch-symlinks): New
	  procedures.

	download: Adjust to `http-get*' deprecation.
	* guix/build/download.scm (http-fetch): Adjust to use #:streaming? when
	  using Guile 2.0.8+.

	derivations: Add a search path parameter for module derivations.
	* guix/derivations.scm (imported-modules, compiled-modules): Add a
	  `module-path' parameter.  Use it instead of %LOAD-PATH.

	gnu: texinfo: Make Perl a propagated input.
	* gnu/packages/texinfo.scm (texinfo): Make PERL a propagated input.

2013-02-19  Ludovic Courtès  <ludo@gnu.org>

	build: Add missing -I flag for the daemon.
	* daemon.am (libstore_a_CPPFLAGS): Add missing -I, for schema.sql.hh.

	daemon: Add `--listen'.
	* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LISTEN): New macro.
	  (options): Add `--listen'.
	  (parse_opt): Handle it.
	* doc/guix.texi (Invoking guix-daemon): Mention it.

	Update from upstream Nix.

2013-02-18  Ludovic Courtès  <ludo@gnu.org>

	store: Add the `%daemon-socket-file' parameter.
	* guix/store.scm (%daemon-socket-file): New variable.
	  (open-connection): Use it as the default value for FILE.

2013-02-17  Ludovic Courtès  <ludo@gnu.org>

	Add Mark to `AUTHORS'.

	build: Build guix/scripts/download.go after guix/build/download.go.
	* Makefile.am (guix/scripts/download.go): Add dependency on
	  `guix/build/download.go'.
	  Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	scripts: Remove hyphen in the command name shown by `--version'.
	* guix/scripts/build.scm (%options): Remove hyphen from the name passed
	  to `show-version-and-exit'.
	* guix/scripts/download.scm (%options): Likewise.
	* guix/scripts/gc.scm (%options): Likewise.
	* guix/scripts/import.scm (%options): Likewise.
	* guix/scripts/package.scm (%options): Likewise.

2013-02-17  Mark H Weaver  <mhw@netris.org>

	gnu: guile-reader: Rename packages to avoid version number confusion.
	* gnu/packages/guile.scm (guile-reader): Change the character preceding the
	  guile version number from '-' to '_' so that it will not be misinterpreted
	  as the package version number.

	Update `TODO'.

2013-02-17  Ludovic Courtès  <ludo@gnu.org>

	scripts: Remove initialization now redundant with `initialize-guix'.
	* guix/scripts/build.scm (guix-build): Remove calls to `install-locale',
	  `textdomain', etc., now redundant with `initialize-guix'.
	* guix/scripts/download.scm (guix-download): Likewise.
	* guix/scripts/import.scm (guix-import): Likewise.
	* guix/scripts/package.scm (guix-package): Likewise.
	* guix/ui.scm: Remove export of `install-locale' and `initialize-guix'.
	  (initialize-guix): Add docstring.

	gnu: texinfo: Update to 5.0.
	* gnu/packages/texinfo.scm (texinfo): Update to 5.0.

2013-02-17  Mark H Weaver  <mhw@netris.org>

	Replace individual scripts with master 'guix' script.
	* scripts/guix.in: New script.

	* Makefile.am (bin_SCRIPTS): Add 'scripts/guix'.  Remove 'guix-build',
	  'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.

	  (MODULES): Add 'guix/scripts/build.scm', 'guix/scripts/download.scm',
	  'guix/scripts/import.scm', 'guix/scripts/package.scm', and
	  'guix/scripts/gc.scm'.

	* configure.ac (AC_CONFIG_FILES): Add 'scripts/guix'.  Remove 'guix-build',
	  'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.

	* guix-build.in, guix-download.in, guix-gc.in, guix-import.in,
	  guix-package.in: Remove shell script boilerplate.  Move to guix-COMMAND.in
	  to guix/scripts/COMMAND.scm.  Rename module from (guix-COMMAND) to
	  (guix scripts COMMAND).  Change "guix-COMMAND" to "guix COMMAND" in
	  usage help string.

	* pre-inst-env.in: Add "@abs_top_builddir@/scripts" to the front of $PATH.
	  Export $GUIX_UNINSTALLED.

	* tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh,
	  tests/guix-gc.sh, tests/guix-package.sh: Use "guix COMMAND" instead of
	  "guix-COMMAND".

	* doc/guix.texi: Replace all occurrences of "guix-COMMAND" with
	  "guix COMMAND".

	* po/POTFILES.in: Update.

2013-02-16  Ludovic Courtès  <ludo@gnu.org>

	Add (gnu system vm).
	* gnu/system/vm.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add support for Guile in Linux initrd.
	* gnu/packages/linux-initrd.scm: New file.

	gnu: qemu-kvm: Add patch to have multiple SMB shares.
	* gnu/packages/qemu.scm (qemu-kvm/smb-shares): New variable.
	* gnu/packages/patches/qemu-multiple-smb-shares.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

	packages: Add `package-output'.
	* guix/packages.scm (package-output): New procedure.
	* tests/packages.scm ("package-output"): New test.

	gnu: guile-static: Change `name' field.
	* gnu/packages/make-bootstrap.scm (%guile-static): Add `name' field with
	  `-static' suffix.

	gnu: guile-static: Add bindings for `reboot'.
	* gnu/packages/patches/guile-linux-syscalls.patch: Add `scm_reboot'.

2013-02-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: qemu: Add dependency on Samba.
	* gnu/packages/qemu.scm (qemu-kvm): Add dependency on Samba; pass
	  `--smbd' to ./configure.

	gnu: samba: Augment the RUNPATH of executables to point to $out/lib.
	* gnu/packages/samba.scm (samba): Add `add-lib-to-runpath' phase, and
	  PatchELF as an input.

2013-02-15  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add GNU Parted.
	* gnu/packages/parted.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-static: Add bindings for low-level Linux syscalls.
	* gnu/packages/make-bootstrap.scm (%guile-static): Add
	  `guile-linux-syscalls.patch' as an input, and use it.
	* gnu/packages/patches/guile-linux-syscalls.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

	gnu: linux-libre: Choose a config without debugging features.
	* gnu/packages/linux.scm (linux-libre): Choose "defconfig" instead of
	  "allmodconfig" since the latter enables all debugging features.  Add
	  `CONFIG_CIFS=m'.

2013-02-14  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add vim.
	* gnu/packages/vim.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-14  Mark H Weaver  <mhw@netris.org>

	Build newest versions unless specified, and implement upgrades.
	* gnu/packages.scm (find-newest-available-packages):
	  New exported procedure.

	* guix-build.in (newest-available-packages, find-best-packages-by-name):
	  New procedures.
	  (find-package): Use find-best-packages-by-name, to guarantee that
	  if a version number is not specified, only the newest versions will
	  be considered.

	* guix-package.in (%options): Add --upgrade/-u option.
	  (newest-available-packages, find-best-packages-by-name, upgradeable?):
	  New procedures.
	  (find-package): Use find-best-packages-by-name, to guarantee that
	  if a version number is not specified, only the newest versions will
	  be considered.
	  (process-actions): Implement upgrade option.

	* doc/guix.texi (Invoking guix-package): In the description of --install,
	  mention that if no version number is specified, the newest available
	  version will be selected.

2013-02-14  Mark H Weaver  <mhw@netris.org>

	Inhibit duplicates in fold-packages.
	* gnu/packages.scm (fold2): New procedure.
	  (fold-packages): Rework to suppress duplicates.

2013-02-14  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Make the strip behavior of `static-package' configurable.
	* guix/build-system/gnu.scm (static-package): Add #:strip-all? keyword
	  parameter.

	gnu: guile-static: Use libgc build with `USE_LIBC_PRIVATES'.
	* gnu/packages/make-bootstrap.scm (%guile-static): Use libgc build with
	  CPPFLAGS=-DUSE_LIBC_PRIVATES.
	* gnu/packages/bdw-gc.scm (libgc): Add TODO to always do it.

	gnu: Add missing patch for mcron.
	* gnu/packages/patches/mcron-install.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

2013-02-13  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add GNU Wdiff.
	* gnu/packages/wdiff.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-13  Mark H Weaver  <mhw@netris.org>

	Add version-compare and version>? to utils.scm.
	* guix/utils.scm (version-compare, version>?): New exported procedures,
	  based on version-string>?, which was formerly in gnu-maintenance.scm.

	* guix/gnu-maintenance.scm (version-string>?): Removed procedure.
	  (latest-release): Use 'version>?' instead of 'version-string>?'.

2013-02-13  Andreas Enge  <andreas@enge.fr>

	gnu: Add signing-party.
	* gnu/packages/gnupg.scm (signing-party): New variable.

2013-02-12  Andreas Enge  <andreas@enge.fr>

	gnu: gmp: Update to version 5.1.1.
	* gnu/packages/multiprecision.scm (gmp): Update to version 5.1.1.

2013-02-12  Mark H Weaver  <mhw@netris.org>

	Add pre-inst-env and test-env to nodist_noinst_SCRIPTS in Makefile.am.
	* Makefile.am: Add nodist_noinst_SCRIPTS = pre-inst-env test-env.

2013-02-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Samba and iniparser.
	* gnu/packages/samba.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: bigloo: Install Emacs modes.
	* gnu/packages/scheme.scm (bigloo): Add `install-emacs-modes' phase.

2013-02-12  Andreas Enge  <andreas@enge.fr>

	gnu: gnupg: Add optional inputs curl and openldap.
	* gnu/packages/gnupg.scm (gnupg): Add inputs.

	gnu: gnupg: Patch out /bin/sh in generated file.
	* gnu/packages/gnupg.scm (gnupg): Modify configure phase.

	gnu: Rename module 'freetype' to the more general 'fontutils'.
	* gnu/packages/freetype.scm: Rename file to...
	* gnu/packages/fontutils.scm: ...this.
	* Makefile.am (MODULES): Rename module.
	* gnu/packages/{ghostscript,grub,pdf,texlive}.scm: Rename dependency.

2013-02-12  Ludovic Courtès  <ludo@gnu.org>

	doc: Add the commit policy to HACKING.
	* HACKING (Commit Access): New section.

	build: Export `NIX_ROOT_FINDER' and `NIX_SETUID_HELPER' from `pre-inst-env'.
	* pre-inst-env.in (NIX_ROOT_FINDER, NIX_SETUID_HELPER): New variables.
	  Reported by Cyril Roelandt <tipecaml@gmail.com>.

	gnu: Add popt.
	* gnu/packages/popt.scm (popt): New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add Linux-Libre.
	* gnu/packages/linux.scm (linux-libre): New variable.

	gnu: Add libunwind.
	* gnu/packages/libunwind.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add Linux module-init-tools.
	* gnu/packages/linux.scm (module-init-tools): New variable.

2013-02-11  Andreas Enge  <andreas@enge.fr>

	gnu: Add pius.
	* gnu/packages/gnupg.scm (pius): New variable.

2013-02-11  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add tmux.  licenses: add ISC.
	* gnu/packages/tmux.scm: New file.
	* Makefile.am (MODULES): Use it.
	* guix/licenses.scm: add ISC.

2013-02-11  Andreas Enge  <andreas@enge.fr>

	gnu: texlive: Add input (t)csh.
	* gnu/packages/texlive.scm (texlive): Add input tcsh.

2013-02-10  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add tcsh.
	* gnu/packages/tcsh.scm: New file.
	* gnu/packages/patches/tcsh-fix-autotest.patch: New file
	* Makefile.am: Add them.

2013-02-10  Ludovic Courtès  <ludo@gnu.org>

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

	gnu: Add GNU GRUB.
	* gnu/packages/grub.scm,
	  gnu/packages/patches/grub-gets-undeclared.patch: New files.
	* Makefile.am (MODULES): Add grub.scm.
	  (dist_patch_DATA): Add grub-gets-undeclared.patch.

	gnu: Add QEMU.
	* gnu/packages/autotools.scm (autoconf-wrapper): Make public.
	* gnu/packages/qemu.scm (qemu): New variable.

	Re-export `%current-system' from (guix packages).
	* guix/packages.scm: Re-export `%current-system'.
	* gnu/packages/bdw-gc.scm, gnu/packages/gawk.scm,
	  gnu/packages/gperf.scm, gnu/packages/libffi.scm,
	  gnu/packages/libsigsegv.scm, gnu/packages/libunistring.scm,
	  gnu/packages/lout.scm, gnu/packages/m4.scm,
	  gnu/packages/multiprecision.scm, gnu/packages/ncurses.scm,
	  gnu/packages/perl.scm, gnu/packages/pkg-config.scm,
	  gnu/packages/readline.scm, gnu/packages/recutils.scm,
	  gnu/packages/scheme.scm: Remove (guix utils) import.

	gnu: Add description and license for QEMU-KVM.
	* gnu/packages/qemu.scm (qemu-kvm): Add description and license.

	gnu: Add libcddb, GNU libcdio, and GNU xorriso.
	* gnu/packages/cdrom.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add QEMU-KVM.
	* gnu/packages/qemu.scm: New file.
	* Makefile.am (MODULES): Add it.

	build: Run `guild compile' under the C locale.
	* Makefile.am (.scm.go): Set LC_ALL=C.

2013-02-09  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add GNU Smalltalk.
	* gnu/packages/smalltalk.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-08  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Clarify docstring of `package-with-extra-configure-variable'.
	* guix/build-system/gnu.scm (package-with-extra-configure-variable): Add
	  "recursively" in the docstring.

	gnu: hop: Add `patch-rpath' phase.
	* gnu/packages/scheme.scm (hop): Add `patch-rpath' phase.

	gnu: Add PatchELF.
	* gnu/packages/patchelf.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-08  Ludovic Courtès  <ludovic.courtes@inria.fr>

	gnu: Add Hop.
	* gnu/packages/scheme.scm (hop): New variable.

2013-02-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: bigloo: Propagate GMP.
	* gnu/packages/scheme.scm (bigloo): Propagate GMP.

	gnu: Add GNU mcron.
	* gnu/packages/guile.scm (mcron): New variable.

	gnu: guile-1.8: Patch `ice-9/popen.scm'.
	* gnu/packages/guile.scm (guile-1.8): Rename `patch-loader-search-path'
	  to `patch-stuff'; patch `ice-9/popen.scm'.

2013-02-07  Ludovic Courtès  <ludo@gnu.org>

	doc: Document installation of propagated inputs.
	* doc/guix.texi (Invoking guix-package): Document installation behavior
	  with propagated inputs.

	gnu: ed: Update to 1.6.
	* gnu/packages/ed.scm (ed): Update to 1.6.

	gnu: ed: Patch /bin/sh in the test suite.
	* gnu/packages/ed.scm (ed): Add `patch-test-suite' phase.

2013-02-06  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Install propagated inputs.
	* guix-package.in (profile-manifest): Return "version 1" manifests.
	  (manifest-packages): Likewise.  When MANIFEST is "version 0", add
	  '() as the list of "propagated inputs" of each package.
	  (profile-derivation): Produce "version 1" manifests.  Pass each
	  PACKAGES item's propagated inputs as an input for BUILDER.
	  (input->name+path): New procedure.
	  (guix-package)[find-package]: Add the transitive propagated inputs of
	  each selected package as the last item of the tuple.
	  [canonicalize-deps]: New procedure.
	  [process-actions]: Adjust to support propagated inputs as the last item.
	  [process-query]: Likewise.

	union: Don't warn when colliding leaves point to the same file.
	* guix/build/union.scm (union-build)[resolve-collision]: Pass LEAVES
	  through `delete-duplicates'; warn iff the result contains more than
	  one item.

	union: Delete duplicates when passed the same input several times.
	* guix/build/union.scm (union-build): Prepend "." to the result of
	  `union-tree', to match the expectations of `delete-duplicate-leaves'.
	  Don't do mkdir when SUBDIR is ".".
	* tests/union.scm ("union-build"): Keep duplicates in %BOOTSTRAP-INPUTS.

	guix-package: Test installation of packages by name.
	* tests/guix-package.sh: Remove `boot_guile'.  Replace occurrences of
	  $boot_guile by the `guile-bootstrap' package name.

	build: `chmod +x' scripts as they are generated.
	* configure.ac: Add the `chmod +x' as a second argument to
	  `AC_CONFIG_FILES'.  Remove `AC_CONFIG_COMMANDS' invocation.

2013-02-06  Andreas Enge  <andreas@enge.fr>

	gnu: Add libmp3splt and mp3splt.
	* gnu/packages/mp3.scm (libmp3split, mp3splt): New variables.

2013-02-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: make-bootstrap: Fix `%binutils-static-stripped'.
	* gnu/packages/make-bootstrap.scm (%binutils-static-stripped): Add
	  distinguishing `name' field.  Add `output' field to have a single
	  "out" output (followup to 4873f8e).  Reported by Nikita.

2013-02-06  Andreas Enge  <andreas@enge.fr>

	gnu: Add TeXLive.
	* gnu/packages/texlive.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-05  Andreas Enge  <andreas@enge.fr>

	licenses: Add new meta-license fsf-free.
	* guix/licenses.scm (fsf-free): New record with constructor.

2013-02-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: Have MPFR and MPC propagate their input.
	* gnu/packages/multiprecision.scm (mpfr): Change GMP to a propagated input.
	  (mpc): Likewise for GMP and MPFR.
	  Reported by Andreas Enge <andreas@enge.fr>.

2013-02-05  Andreas Enge  <andreas@enge.fr>

	gnu: Add PCRE (Perl Compatible Regular Expression).
	* gnu/packages/pcre.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-05  Ludovic Courtès  <ludo@gnu.org>

	Thank Lluís and Daniel.

	gnu: Add GNU Guile-Ncurses.
	* gnu/packages/guile.scm (guile-ncurses): New variable.

2013-02-04  Andreas Enge  <andreas@enge.fr>

	gnu: Add libid3tag.
	* gnu/packages/mp3 (libid3tag): New variable.

	gnu: Add libmad.
	* gnu/packages/mp3.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-04  Ludovic Courtès  <ludo@gnu.org>

	store: Add substitute-related procedures.
	* guix/store.scm (has-substitutes?, substitutable-paths,
	  read-substitutable-path-list, substitutable-path-info): New
	  procedures.
	  (<substitutable>): New record type.
	  (read-arg): Add `substitutable-path-info'.  Change `hash' pattern
	  variable to `base16' literal.
	* tests/store.scm ("no substitutes"): New test.

	store: Update to protocol 1.12.
	* guix/store.scm (%protocol-version): Bump.
	  (operation-id): Comment out `query-substitutable-path-info'.
	  Rename `query-valid-paths' to `query-all-valid-paths'.  Add
	  `query-path-from-hash-part', `query-substitutable-path-infos',
	  `query-valid-paths', and `query-substitutable-paths'.
	  (set-build-options): Add `binary-caches' keyword parameter.  When
	  using a server >= 1.12, send the list of binary caches.
	  (query-path-hash): Use the `store-path' type, for clarity.

	SRFI-64: Make the log file's port line-buffered.
	* srfi/srfi-64.upstream.scm (test-on-group-begin-simple): Make LOG-FILE
	  line-buffered.

	tests: Fix thinko in `derivation' test.
	* tests/derivations.scm ("derivation with local file as input"): Return
	  a Boolean instead of a bytevector.  Don't attempt to compare the
	  content of the result with that of the input.

	store: Write string length as a 32-bit integer.
	* guix/store.scm (write-string): Write L as a 32-bit integer.  Bug
	  introduced in 82c38fe64c84fc3febcc5c5aa7fe86454ccaf456 ("store:
	  Micro-optimize `write-string'.")

2013-02-02  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: Add GNU Prolog.
	* gnu/packages/gprolog.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-02-01  Andreas Enge  <andreas@enge.fr>

	gnu: Add libxslt.
	* gnu/packages/xml.scm (libxslt): New variable.

2013-02-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: Fix invalid `license' fields.
	* gnu/packages/acl.scm (acl): Change `license' field to refer to the
	  `license' objects.
	* gnu/packages/attr.scm (attr): Likewise.
	* gnu/packages/compression.scm (xz): Likewise.
	* gnu/packages/global.scm (global): Likewise.
	* gnu/packages/linux.scm (linux-libre-headers): Likewise.

	guix-package: Make `--search' queries case-insensitive.
	* guix-package.in (guix-package)[process-query]: Use `regexp/icase' for
	  the `search' regexp.

	Augment `.dir-locals.el'.
	* .dir-locals.el: Add more Scheme settings.
	* guix-build.in, tests/base32.scm, tests/build-utils.scm,
	  tests/builders.scm, tests/derivations.scm, tests/packages.scm,
	  tests/snix.scm, tests/store.scm, tests/union.scm, tests/utils.scm:
	  Remove redundant Emacs local variable settings.

	guix-package: Report `--search' matches in recutils format.
	* guix/ui.scm (fill-paragraph, string->recutils, package->recutils): New
	  procedures.
	* guix-package.in (guix-package)[process-query]: Use `package->recutils'
	  to display package meta-data.
	* tests/guix-package.sh: Adjust test.
	* tests/ui.scm: New file.
	* Makefile.am (TESTS): Add it.
	* doc/guix.texi (Invoking guix-package): Adjust `--search'
	  documentation, and give an example.

	guix-package: Gracefully report non-existing outputs.
	* guix-package.in (guix-package)[find-package](ensure-output): New
	  procedure. Use it to validate SUB-DRV.

2013-01-31  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Reduce start-up time for queries.
	* guix-package.in (guix-package): Call `open-connection' and
	  `package-derivation' only after `process-query' has returned.

2013-01-31  Andreas Enge  <andreas@enge.fr>

	gnu: Add libkate.
	* gnu/packages/oggvorbis.scm (libkate): New variable.
	* gnu/packages/oggvorbis.scm (vorbis-tools): Add input libkate.

	gnu: Add flac.
	* gnu/packages/oggvorbis.scm (flac): New variable.
	* gnu/packages/oggvorbis.scm (vorbis-tools): Add flac input.
	* gnu/packages/patches/flac-fix-memcmp-not-declared.patch: New file.

2013-01-31  Ludovic Courtès  <ludo@gnu.org>

	gnu: bigloo: Update tarball's hash.
	* gnu/packages/scheme.scm (bigloo): Change hash.  The tarball was
	  recently modified in-place (!).

	store: Don't expect build logs to be UTF-8-encoded.
	* guix/store.scm (read-latin1-string): New procedure.
	  (process-stderr): Use it instead of `read-string'.
	  Reported by Andreas Enge <andreas@enge.fr>.

2013-01-30  Andreas Enge  <andreas@enge.fr>

	gnu: vorbis-tools: Enable ogg123.
	* gnu/packages/oggvorbis.scm (vorbis-tools): Add inputs ao and curl.

	gnu: Add libao.
	* gnu/packages/oggvorbis.scm (ao): New variable.

	gnu: Add curl.
	* gnu/packages/curl.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add openssh.
	* gnu/packages/ssh.cm (openssh): New variable.

2013-01-30  Ludovic Courtès  <ludo@gnu.org>

	.dir-locals.el: Fill at 78 columns.

	derivations: Memoize `read-derivation'.
	* guix/derivations.scm (read-derivation): Rename to...
	  (%read-derivation): ... this.
	  (read-derivation): New procedure.
	  This reduces the execution of "guix-build gdb" from 2.5s to 1.7s.

	store: Slightly improve memoization hashing.
	* guix/store.scm (open-connection): Call `make-hash-table' with 100.
	  (add-text-to-store): Move TEXT first in ARGS, for better `hash'
	  results.
	  (add-to-store): Likewise, move ST first.

	store: Remove the `fixed?' parameter from `add-to-store'.
	* guix/store.scm (add-to-store): Remove the `fixed?' parameter from the
	  public interface.
	* gnu/packages/bootstrap.scm, guix-download.in, guix/derivations.scm,
	  guix/packages.scm, tests/derivations.scm: Update all callers
	  accordingly.

	store: Avoid use of `set!'.
	* guix/store.scm (operation): New macro.
	  (define-operation): Define in terms of `operation'.
	  (add-text-to-store): Define using `operation', and remove now
	  unnecessary `set!'.
	  (add-to-store): Likewise.
	  (add-text-to-store/cached, add-to-store/cached): Remove.

	store: Micro-optimize `write-string'.
	* guix/store.scm (write-string): Optimize to write the length, contents,
	  and padding all at once.  This yields a 2% improvement on the
	  execution time of "guix-build gdb".

	Gracefully handle failure to install the current locale.
	* guix/ui.scm (install-locale): New procedure.
	* guix-build.in, guix-download.in, guix-gc.in, guix-import.in,
	  guix-package.in: Use it instead of (setlocale LC_ALL "").

	store: Cache `add-text-to-store' results.
	* guix/store.scm (<nix-server>)[atts-cache]: New field.
	  (add-text-to-store/cached): New procedure.  Use it as a wrapper around
	  `add-text-to-store'.
	  When running "guix-build gdb", this reduces the number of RPCs from
	  3048 to 289, and execution time from 4.7s to 2.6s.

	store: Make the `add-to-store' cache per-connection.
	* guix/store.scm (<nix-server>)[ats-cache]: New field.
	  (open-connection): Update accordingly.
	  (add-to-store/cached): Use (nix-server-add-to-store-cache SERVER)
	  instead of a weak hash table.

2013-01-29  Andreas Enge  <andreas@enge.fr>

	gnu: Add libssh2.
	* gnu/packages/ssh.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add openldap.
	* gnu/packages/openldap.scm: New file.
	* Makefile.am (MODULE): Add it.

2013-01-29  Ludovic Courtès  <ludo@gnu.org>

	store: Make `add-to-store' memoizing.
	* guix/store.scm (add-to-store/cached): New variable.
	  Use it as the new `add-to-store'.
	  This reduces the number of RPCs when doing "guix-build gdb" from 5009
	  to 3053, and the execution time from 7s to 3.9s.

2013-01-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: gdb: Update to 7.5.1.
	* gnu/packages/gdb.scm (gdb): Update to 7.5.1.

	build: Require Automake 1.12 or later.
	* configure.ac: Require Automake 1.12 or later.

2013-01-28  Nikita Karetnikov  <nikita@karetnikov.org>

	Update 'TODO'.

	guix-package: Add '--search'.
	* guix-package.in (find-packages-by-description): New procedure.
	  (show-help, %options): Add '--search'.
	  (guix-package)[process-query]: Add support for '--search'.
	* doc/guix.texi (Invoking guix-package): Document it.
	* tests/guix-package.sh: Add tests.

2013-01-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: automake: Update to 1.13.1.
	* gnu/packages/autotools.scm (automake): Update to 1.13.1.

	gnu: autoconf-wrapper: Fix "guile" input.
	* gnu/packages/autotools.scm (autoconf-wrapper): Remove `lambda' for
	  "guile" input..

2013-01-27  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Always use the next number for new generations.
	Suggested by Andreas Enge <andreas@enge.fr> at
	<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00325.html>.

	* guix-package.in (latest-profile-number): Remove.
	  (switch-symlinks): New procedure.
	  (roll-back)[switch-link]: Use it.
	  (guix-package)[process-actions]: Always choose NUMBER + 1 for the new
	  profile.  Use `switch-symlinks' instead of `symlink'.  Remove code to
	  delete PROFILE when it exists since `switch-symlinks' has the same
	  effect.
	* tests/guix-package.sh: Adjust existing `--roll-back' tests.
	* doc/guix.texi (Invoking guix-package): Document this `--roll-back'
	  behavior.

2013-01-27  Ludovic Courtès  <ludo@gnu.org>

	guix-package: When rolling back to nothingness, point to the empty profile.
	Suggested by Andreas Enge <andreas@enge.fr> at
	<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00316.html>.

	* guix-package.in (roll-back): Check whether PROFILE is valid using
	  `file-exists?'.  When NUMBER is zero, just emit a notice.  When
	  PREVIOUS-NUMBER is zero and PREVIOUS-PROFILE does not exist, build the
	  empty profile, and link to it.
	* tests/guix-package.sh: Add tests.
	* doc/guix.texi (Invoking guix-package): Document the new behavior.

2013-01-27  Ludovic Courtès  <ludo@gnu.org>

	Update `TODO'.

	Update `AUTHORS' and `THANKS'.

	gnu: python: Remove unnecessary module import.
	* gnu/packages/python.scm: Remove use of (gnu packages base).

2013-01-26  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add irssi.
	* gnu/packages/irssi.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-26  Andreas Enge  <andreas@enge.fr>

	gnu: Add zip, unzip and zziplib.
	* gnu/packages/zip.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add TECkit.
	* gnu/packages/freetype.scm (teckit): New variable.
	* gnu/packages/patches/teckit-cstdio.patch: New file.
	* Makefile.am (dist_patch_DATA): Add patch.

2013-01-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: Use `mirror://apache' where applicable.
	* gnu/packages/libapr.scm (libapr, libaprutil): Use `mirror://apache'.
	* gnu/packages/subversion.scm (subversion): Likewise.

	download: Add Apache mirrors.
	* guix/download.scm (%mirrors): Add `apache'.

2013-01-25  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add Subversion.
	* gnu/packages/subversion.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add SQLite.
	* gnu/packages/sqlite.scm: New file.
	* Makefile.am (MODULES): Add it.

	download: Follow HTTP redirection upon 301 "moved permanently".
	* guix/build/download.scm (http-fetch): Follow redirections upon 301.
	  This is what `downloads.sourceforge.net' returns, for instance.

2013-01-25  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add libaprutil.
	* gnu/packages/libapr: new variable.

	gnu: Add libapr.
	* gnu/packages/libapr.scm: New file.
	* gnu/packages/patches/libapr-skip-getservbyname-test.patch: New file
	* Makefile.am: Add them

2013-01-25  Andreas Enge  <andreas@enge.fr>

	gnu: fplll: Update to version 4.0.2.
	* gnu/packages/algebra.scm (fplll): Update to version 4.0.2.

2013-01-24  Andreas Enge  <andreas@enge.fr>

	gnu: Add poppler.
	* gnu/packages/pdf.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-24  Ludovic Courtès  <ludo@gnu.org>

	packages: Mark the `inputs' field of <package> as thunked.
	* guix/packages.scm (<package>)[inputs]: Mark as thunked.
	  (package-derivation)[expand-input]: Remove case where the input is a
	  procedure.
	* tests/packages.scm ("trivial with system-dependent input"): Remove
	  `lambda', and use (%current-system).
	* gnu/packages/bootstrap.scm (package-from-tarball): Likewise for `inputs'.
	  (%bootstrap-glibc, %bootstrap-gcc): Likewise.
	* gnu/packages/scheme.scm (mit-scheme): Likewise.

	guix-package: Error out when passed a non-option argument.
	* guix-package.in (guix-package)[parse-options]: Call `leave' when
	  passed a non-option argument.
	  Reported by Andreas Enge <andreas@enge.fr>.
	* tests/guix-package.sh: Add test.

2013-01-24  Andreas Enge  <andreas@enge.fr>

	gnu: Add t1lib.
	* gnu/packages/freetype.scm (t1lib): New variable.

2013-01-24  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Add OCaml. licenses: Add QPL.
	* gnu/packages/ocaml.scm: New file.
	* Makefile.am (MODULES): Add it.
	* guix/licenses.scm: New variable.

2013-01-23  Ludovic Courtès  <ludo@gnu.org>

	packages: Mark the `arguments' field of <package> as thunked.
	* guix/packages.scm (<package>): Mark `arguments' as thunked.
	  (package-derivation): Adjust accordingly.  Parameterize
	  %CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.

	* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
	  `package-arguments' to always return a list, and return a list.
	  (package-with-extra-configure-variable): Likewise.
	  (static-package): Likewise.
	* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
	  gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
	  static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
	  from a lambda to a list, and use (%current-system) as needed.
	  (nix-system->gnu-triplet, boot-triplet): Have the first argument
	  default to (%current-system).
	* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
	  default to (%current-system).
	  (%bootstrap-gcc): Change `arguments' to a list.
	* gnu/packages/gawk.scm (gawk): Likewise.
	* gnu/packages/m4.scm (m4): Likewise.
	* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
	  expect `package-arguments' to return a list.
	  (%static-inputs, %gcc-static, tarball-package): Likewise.
	* gnu/packages/ncurses.scm (ncurses): Likewise.

2013-01-23  Ludovic Courtès  <ludo@gnu.org>

	guix-build: Fix typo.
	* guix-build.in (guix-build)[find-package]: Use `x', not `_', to avoid
	  confusion with `gettext'.

	gnu: Remove unnecessary closures around `arguments' value.
	* gnu/packages/algebra.scm (pari-gp): Remove closure around the value of
	  `arguments'.
	* gnu/packages/bdb.scm (bdb): Likewise.
	* gnu/packages/mit-krb5.scm (mit-krb5): Likewise.
	* gnu/packages/openssl.scm (openssl): Likewise.
	* gnu/packages/perl.scm (perl): Likewise.

	define-record-type*: Add the `thunked' field definition keyword.
	* guix/utils.scm (define-record-type*)[make-syntactic-constructor]: Add
	  a `thunked' parameter.
	  (thunked-field?, field-bindings): New procedures.  Use the latter when
	  generating `letrec*' bindings.
	  [thunked-field?, thunked-field-accessor-name, field-spec->srfi-9,
	  thunked-field-accessor-name]: New procedures.
	  Use them when generating the `define-record-type' form, and to
	  generated thunk field accessors, along call to
	  `make-syntactic-constructor' with the new argument.
	* tests/utils.scm ("define-record-type* & thunked",
	  "define-record-type* & thunked & default",
	  "define-record-type* & thunked & inherited"): New tests.

	doc: Clarify that `guix-build' really is for developers.
	* doc/guix.texi (Invoking guix-build): Make it clear that `guix-build'
	  doesn't access the user's profile, and add cross-ref to `guix-package'.
	  Suggested by Nikita Karetnikov <nikita@karetnikov.org>.

2013-01-23  Andreas Enge  <andreas@enge.fr>

	gnu: Add fontconfig.
	* gnu/packages/freetype.scm (fontconfig): New variable.

	gnu: libjpeg: Correct name of libjpeg-8 package to allow installation.
	* gnu/packages/libjpeg (libjpeg-8): Switch name field to "libjpeg".

2013-01-23  Ludovic Courtès  <ludo@gnu.org>

	Update `THANKS'.

	doc: Improve wording and fix typos in "Features".
	* doc/guix.texi (Features): Fix typos, and rephrase according to the
	  suggestions of Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

2013-01-22  Andreas Enge  <andreas@enge.fr>

	gnu: ghostscript: Build and install shared library and header files.
	* gnu/packages/ghostscript (ghostscript): Extend build and install phases.

2013-01-22  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Fix `--roll-back' when `--profile' is not passed.
	* guix-package.in (roll-back): Fix file name of PREVIOUS-PROFILE, which
	  could end up containing the dirname twice.
	  Reported by Nikita and Andreas.
	* tests/guix-package.sh: Add test.

	guix-build: Allow version-qualified package names.
	* guix-build.in (guix-build)[find-package]: New procedure.
	  Use it instead of using `find-packages-by-name' directly.
	  Suggested by Andreas Enge <andreas@enge.fr>.
	* tests/guix-build.sh: Add tests.
	* doc/guix.texi (Invoking guix-build): Add `coreutils-8.20' as an
	  example.  Fix guile-1.8 example.

	Update `ROADMAP'.

	gnu: automake: Adjust test suite to lack of /bin/sh.
	* gnu/packages/autotools.scm (autoconf-wrapper): New variable.
	  (automake): Use AUTOCONF-WRAPPER instead of AUTOCONF.
	  Add `automake-skip-amhello-tests.patch' as an input.
	  Add #:patches and #:phases arguments.
	* gnu/packages/patches/automake-skip-amhello-tests.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

	packages: Remove redundant test for inputs-as-procedures.
	* guix/packages.scm (package-derivation)[expand-input]: Remove redundant
	  test when the input is a procedure.

	doc: Add "The Perfect Setup" in 'HACKING'.
	* HACKING (The Perfect Setup): New section.

	gnu: Add Geiser.
	* gnu/packages/emacs.scm (geiser): New variable.

	gnu: gnutls: Remove unneeded import.
	* gnu/packages/gnutls.scm: Remove import of (gnu packages base).

2013-01-21  Andreas Enge  <andreas@enge.fr>

	gnu: Add groff.
	* gnu/packages/groff.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add psutils.
	* gnu/packages/ghostscript.scm (psutils): New variable.

	gnu: Add netpbm.
	* gnu/packages/netpbm.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add missing libevent patch.
	* gnu/packages/patches/libevent-dns-tests.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

2013-01-21  Nikita Karetnikov  <nikita@karetnikov.org>

	Update 'HACKING'.
	* HACKING (When the platform is supported by Nixpkgs): Update the example.

2013-01-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Tor.
	* gnu/packages/tor.scm: New file.
	* Makefile.am (MODULES): Add it.

	Augment `.gitignore'.

	Update `NEWS'.
	* NEWS: Update.

	gnu: Add libevent.
	* gnu/packages/libevent.scm: New file.
	* Makefile.am (MODULES): Add it.

	download: Add HTTPS support.
	* guix/build/download.scm: Autoload (gnutls).
	  (tls-wrap): New procedure.
	  (open-connection-for-uri): Add support for `https'.  Wrap the socket
	  with `tls-wrap' in that case.
	  (url-fetch): Add `https'.
	* guix/download.scm (gnutls-derivation): New procedure.
	  (url-fetch)[need-gnutls?]: New variable.
	  Call `gnutls-derivation' when NEED-GNUTLS? is true, and add its output
	  to the `GUILE_LOAD_PATH' env. var. in that case.

	packages: Have `package-derivation' return a <derivation> as a second value.
	* guix/packages.scm (cache): Change the `drv' argument to `thunk'.
	  Memoize all the return values of THUNK.
	  (cached-derivation): Remove.
	  (cached): New macro.
	  (package-derivation): Use `cached' instead of `(or (cached-derivation) …)'.
	* doc/guix.texi (Defining Packages): Update accordingly.

2013-01-20  Andreas Enge  <andreas@enge.fr>

	gnu: mit-krb5: Patch and enable tests.
	* gnu/packages/mit-krb5.scm (mit-krb5): Enable patched tests.

2013-01-20  Ludovic Courtès  <ludo@gnu.org>

	Update `THANKS'.

	doc: Run `useradd -g guix-builder -G guix-builder'.
	* doc/guix.texi (Setting Up the Daemon): Add `-G guix-builder' when
	  invoking `useradd'.
	  Suggested by Aleix Conchillo Flaqué <aconchillo@gmail.com>.

2013-01-20  Andreas Enge  <andreas@enge.fr>

	gnu: screen: correct license to gpl2+
	* gnu/packages/screen.scm (screen): correct license field

2013-01-20  Cyril Roelandt  <tipecaml@gmail.com>

	Add GNU Screen.
	* gnu/packages/screen.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-19  Ludovic Courtès  <ludo@gnu.org>

	build: Use "nix-instantiate" as the default name for that program.
	* configure.ac: Have `NIX_INSTANTIATE' default to `nix-instantiate'.

	gnu: lout: Add missing dependency on Ghostscript.
	* gnu/packages/lout.scm (lout): Add GHOSTSCRIPT as an input.  Use a
	  mirror:// URL.

	gnu: freetype: Avoid license/package name clash.
	* gnu/packages/freetype.scm: Use a renamer for (guix licenses), to avoid
	  a name clash.

	distro: glib: Run the test suite; add DBus.
	* distro/packages/glib.scm: Rename to...
	* gnu/packages/glib.scm: ... this.  Update module declaration
	  accordingly.
	  (dbus): New variable.
	  (glib): Change version number to 2.34.3, and adjust URL accordingly.
	  Add a "doc" output.  Add #:configure-flags, #:patches, and #:phases
	  arguments. Add DBUS as an input, as well a three patches.
	* Makefile.am (MODULES): Adjust to file renaming.
	  (dist_patch_DATA): Add `glib-tests-timezone.patch',
	  `glib-tests-homedir.patch', and `glib-tests-desktop.patch'.

2013-01-19  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add GLib.
	* distro/packages/glib.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-19  Andreas Enge  <andreas@enge.fr>

	gnu: libtiff: Add zlib support.
	* gnu/packages/libtiff.scm (libtiff): Add input zlib.

	gnu: Add libxml2.
	* gnu/packages/xml.scm (libxml2): New variable.

	gnu: Add GNU Ghostscript and its dependencies libpaper and lcms.
	* gnu/packages/ghostscrip.scm: New file.
	* Makefile.am (MODULES): Add it.

	gnu: Add Freetype. licenses: Add freetype license.
	* gnu/packages/freetype.scm: New file.
	* guix/licenses.scm (freetype): New variable.
	* Makefile.am (MODULES): Add freetype.scm.

2013-01-19  Nikita Karetnikov  <nikita@karetnikov.org>

	gnu: ddrescue: Fix 'synopsis' and 'description'.
	* gnu/packages/ddrescue.scm (ddrescue): Fix 'synopsis' and 'description'.

	gnu: Add GNU Speex.
	* gnu/packages/oggvorbis.scm (speex): Add it.
	(vorbis-tools): Add 'speex' to 'inputs'.

2013-01-18  Andreas Enge  <andreas@enge.fr>

	gnu: Amended previous patch.
	* Makefile.am (MODULES): Add libpng.scm.

	gnu: Add libpng.
	* gnu/packages/libpng.scm: New file.
	* Makefile.am (MODULES): Add it.

	licenses: Add 'vim'.
	* guix/licenses.scm (vim): New variable.

	gnu: Add libogg, libvorbis and vorbis-tools.
	* gnu/packages/oggvorbis.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-18  Ludovic Courtès  <ludo@gnu.org>

	distro: tcl: Make a `tclsh' symlink.
	* gnu/packages/tcl.scm (tcl): Add a `tclsh' symlink.

	build: Bump to version 0.2.
	* configure.ac: Bump version number.

	distro: bigloo: Update to 4.0a.
	* gnu/packages/scheme.scm (bigloo): Update to 4.0a.

	distro: gnutls: Adjust to the latest version.
	* gnu/packages/gnutls.scm (gnutls): Remove the #:parallel-build?
	  argument, which is no longer needed.  Remove the commented-out LZO
	  input, since GnuTLS no longer supports it since 3.0.0.

	distro: gnutls: Use the GnuPG mirrors.
	* gnu/packages/gnutls.scm (gnutls): Use the gnutls.org/GnuPG URL.

	doc: Add a "GNU Distribution" node.
	* doc/guix.texi (Introduction): Add cross-reference to "GNU
	  Distribution".
	  (Features): Mention reproducibility.
	  (Invoking guix-package): Add cross-reference to "GNU Distribution".
	  (GNU Distribution): New node.

	distro: Rename (distro) to (gnu packages).
	* distro.scm: Rename to...
	* gnu/packages.scm: ... this.  Update all users accordingly.
	* Makefile.am (MODULES): Adjust accordingly.
	* po/POTFILES.in: Likewise.

	distro: Change the module name space to (gnu ...).
	* distro: Rename to...
	* gnu: ... this.  Update module names accordingly.
	* Makefile.am: Adjust accordingly.
	* po/POTFILES.in: Likewise.
	* distro.scm: Search for files under /gnu/packages instead of
	  /distro/packages.
	* gnu/packages/base.scm (ld-wrapper-boot3): Likewise.

	Update `HACKING'.
	* HACKING: Capitalize the title.
	  (Running Guix before it is installed): New section.
	  (Adding new packages): Update example.

	Move Andreas to `AUTHORS'.

	doc: Mark binary deployment as not implemented yet.
	* doc/guix.texi (Features): Add a footnote saying that binary deployment
	  is missing.

2013-01-18  Andreas Enge  <andreas@enge.fr>

	distro: Add libtiff.
	* distro/packages/libtiff.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add Libjpeg 8.
	* distro/packages/libjpeg.scm (libjpeg-8): New variable.

2013-01-17  Andreas Enge  <andreas@enge.fr>

	distro: Add file.
	* distro/packages/file.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add Libjpeg.
	* distro/packages/libjpeg.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: flex: Add dependency on Indent.
	* distro/packages/flex.scm (flex): Add Indent as input.

	distro: Add Indent.
	* distro/packages/indent.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-17  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Allow `--roll-back' to skip missing generations.
	* guix-package.in (profile-numbers): New procedure.
	  (latest-profile-number): Use it.
	  (previous-profile-number): New procedure.
	  (roll-back): Use it lieu of `1-'.  Check whether PREVIOUS-NUMBER is
	  zero, and raise an error when it is.
	* tests/guix-package.sh: Test whether we can roll back over a "hole".

2013-01-17  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Add `--roll-back'.
	Based on a patch by Nikita Karetnikov <nikita@karetnikov.org>.

	* guix-package.in (profile-regexp): New procedure.
	  (latest-profile-number): Remove `%profile-rx', and use
	  `profile-regexp' instead.
	  (profile-number, roll-back): New procedure.
	  (show-help): Add `--roll-back'.
	  (%options): Likewise.
	  (guix-package)[process-actions]: First check whether `roll-back?' is
	  among OPTS, and call `roll-back' if it is, followed by a recursive
	  call to `process-actions'.  Emit the "nothing to be done" message only
	  when INSTALL or REMOVE is non-empty.
	* tests/guix-package.sh (readlink_base): New function.
	  Add tests for `--roll-back'.
	* doc/guix.texi (Invoking guix-package): Document `--roll-back'.

2013-01-17  Andreas Enge  <andreas@enge.fr>

	distro: gnutls: Update to 3.1.6.
	* distro/packages/gnutls.scm (gnutls): Update to 3.1.6.

2013-01-17  Ludovic Courtès  <ludo@gnu.org>

	packages: Change `base32' to allow non-literal strings.
	* guix/packages.scm (base32): Allow arguments that are not literal strings.

	distro: nettle: Update to 2.6.
	* distro/packages/nettle.scm (nettle): Update to 2.6.

2013-01-16  Ludovic Courtès  <ludo@gnu.org>

	distro: gdb: Add dependency on Expat and Python.
	* distro/packages/gdb.scm (gdb): Add Expat and Python as inputs.

	distro: Add Expat.
	* distro/packages/xml.scm: New file.
	* Makefile.am (MODULES): Add it.

	doc: Start documenting derivations.
	* doc/guix.texi (Defining Packages): Add cross-reference to
	  "Derivations".
	  (The Store): Add `build-derivations'.
	  (Derivations): Populate.

	doc: Fix typos, and improve daemon documentation.
	* doc/guix.texi: Fix typos.
	  (Invoking guix-daemon): Add details about `--disable-log-compression'
	  and `--disable-store-optimization'.
	  Reported by Nikita Karetnikov <nikita@karetnikov.org>.

	doc: Remove @documentlanguage.
	* doc/guix.texi: Remove @documentlanguage, which confuses TeX.

2013-01-16  Andreas Enge  <andreas@enge.fr>

	distro: Add icu4c (International Components for Unicode).
	* distro/packages/icu4c.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-16  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add Python 2.7.3.
	* distro/packages/python.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-15  Ludovic Courtès  <ludo@gnu.org>

	doc: Start documenting (guix store).
	* doc/guix.texi (The Store): Populate.
	  (Introduction): Add cross-reference.  Change "package store" to "the
	  store".

	distro: recutils: Add 3 optional dependencies.
	* distro/packages/recutils.scm (recutils): Add Emacs, Check, and bc as
	  dependencies.

	distro: check: Fix source URL.
	* distro/packages/check.scm (check): Fix source URI.

	distro: Add patches forgotten in previous commits.
	* distro/packages/patches/bigloo-gc-shebangs.patch,
	  distro/packages/patches/emacs-configure-sh.patch,
	  distro/packages/patches/procps-make-3.82.patch: New files.
	* Makefile.am (dist_patch_DATA): Add them.

	distro: Add GNU bc.
	* distro/packages/algebra.scm (bc): New variable.

	guix-package: Connect to the daemon only after arguments have been processed.
	* guix-package.in (%store): Change to a SRFI-39 parameter.  Update all users.
	  (guix-package): Parametrize %STORE to an open connection after
	  `parse-options' has been called.

2013-01-15  Andreas Enge  <andreas@enge.fr>

	distro: Add Cyrus SASL.
	* distro/packages/cyrus-sasl.scm: New file.
	* Makefile.am (MODULES): Add it.

	Test commit.
	* Makefile.am: alphabetical ordering

2013-01-15  Ludovic Courtès  <ludo@gnu.org>

	Augment `TODO'.

	distro: Fetch bootstrap binaries from alpha.gnu.org.
	* build-aux/download.scm (%url-base): Change to alpha.gnu.org.
	* distro/packages/bootstrap.scm (%bootstrap-base-url): Rename to...
	  (%bootstrap-base-urls): ... this.  Add alpha.gnu.org as the first
	  URL.  Update users.

2013-01-15  Nikita Karetnikov  <nikita@karetnikov.org>

	licenses: Add 'psfl'.
	* guix/licenses.scm (psfl): New variable.

2013-01-15  Ludovic Courtès  <ludo@gnu.org>

	distro: Add MIT/GNU Scheme and Bigloo.
	* distro/packages/scheme.scm: New file.
	* Makefile.am (MODULES): Add it.

	build-system/gnu: Allow the `source' argument to be #f.
	* guix/build-system/gnu.scm (gnu-build): Allow SOURCE to be #f.

	daemon: Remove reference to immutable.{cc,hh}, which no longer exist.
	* daemon.am (libutil_a_SOURCES): Remove nix/libutil/immutable.cc.
	  (libutil_headers): Remove nix/libutil/immutable.hh.  These files were
	  removed in Nix commit def5160 (post 1.2).
	  Reported by Nikita Karetnikov <nikita@karetnikov.org>.

2013-01-14  Ludovic Courtès  <ludo@gnu.org>

	snix: When unable to determine the version number, leave the URI unchanged.
	* guix/snix.scm (snix-derivation->guix-package)[pretty-uri]: When
	  VERSION is #f, return URI.

2013-01-14  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Create or diagnose missing profile directory.
	Reported by Andreas Enge.

	* guix-package.in (%profile-directory): Honor $NIX_STATE_DIR.
	  (guix-package)[ensure-default-profile]: Use it.
	  [process-actions]: Call it when the `profile' option is
	  %CURRENT-PROFILE.
	* tests/guix-package.sh: Add installation test with $HOME set, using the
	  default profile.

2013-01-14  Ludovic Courtès  <ludo@gnu.org>

	tests: Use "binutils:lib" as the `guix-package' example.
	* tests/guix-package.sh: Use "binutils:lib" instead of "libsigsegv:lib",
	  since the latter no longer exists.

2013-01-13  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Fix check for ~/.guix-profile existence.
	* guix-package.in (guix-package): When testing whether
	  %USER-ENVIRONMENT-DIRECTORY exists, use `lstat' instead of
	  `file-exists?'.  Reported by Andreas Enge.

2013-01-13  Andreas Enge  <andreas@enge.fr>

	licenses: Add 'openldap2.8'.
	* guix/licenses.scm (openldap2.8): New variable.

	distro: Add PARI/GP
	* distro/packages/algebra.scm (pari-gp): New variable.

2013-01-13  Ludovic Courtès  <ludo@gnu.org>

	Update to Nix 1.3.

	store: In `open-connection', process all the server's stderr.
	* guix/store.scm (open-connection): Loop until `process-stderr' returns #t.

	distro: openssl: Fix the `license' field.
	* distro/packages/openssl.scm: Add renamer for (guix licenses).  Adjust
	  accordingly.

	distro: Add GNU Emacs.
	* distro/packages/emacs.scm: New file.
	* Makefile.am (MODULES): Add it.

	doc: Fix typos.
	* doc/guix.texi (Setting Up the Daemon): Use "useradd -c" for comments.
	  Reported by Andreas Enge.
	  (Invoking guix-gc): Fix typo.

	distro: Add GNU Mailutils.
	* distro/packages/mailutils.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: expect: Provide the right path to `stty'.
	* distro/packages/tcl.scm (expect): Add #:phases argument.

2013-01-12  Ludovic Courtès  <ludo@gnu.org>

	distro: gnutls: Add dependency on Which.
	* distro/packages/gnutls.scm (gnutls): Add dependency on Which.

	distro: Add GDB.
	* distro/packages/gdb.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: dejagnu: Add `expect' in the search path of `runtest'.
	* distro/packages/dejagnu.scm (dejagnu): In `check' phase, change `PATH'
	  in `runtest', to avoid "expect not found in PATH" error.

	distro: Add MySQL.
	* distro/packages/mysql.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: util-linux: Fix `license' field.
	* distro/packages/linux.scm (util-linux): Change `license' field to
	  refer to the actual license objects.

	distro: Add procps.
	* distro/packages/linux.scm (procps): New variable.

	distro: tcl, expect: Enable tests.
	* distro/packages/tcl.scm (tcl, expect): Remove #:tests? argument; add
	  #:test-target.

2013-01-11  Ludovic Courtès  <ludo@gnu.org>

	doc: Mention store sharing with Nix; update `package' example.
	* doc/guix.texi: Set @documentlanguage.
	  (Installation): Add reference to `INSTALL' and `README'.
	  (Requirements): Mention store sharing with Nix.
	  (Defining Packages): Update example to include `use-modules' clauses
	  and to use (guix licenses).

	Merge branch 'core-updates'
	Conflicts:
		guix/build/union.scm

	download: Abbreviate URLs when displaying the progress report.
	* guix/build/download.scm (uri-abbreviation): New procedure.
	  (ftp-fetch, http-fetch): Use it instead of `uri->string' when calling
	  `progress-proc'.  Reported by Andreas Enge.

2013-01-10  Ludovic Courtès  <ludo@gnu.org>

	distro: gawk: Adjust to the libsigsegv output change.
	* distro/packages/gawk.scm (gawk): Adjust the libsigsegv with a single
	  output.

	distro: libsigsegv: Use a single output.
	* distro/packages/libsigsegv.scm (libsigsegv): Use just a single output,
	  otherwise nothing ends up in `out' as a consequence of commit a06a99f.
	  Reported by Andreas Enge <andreas@enge.fr>.

	build: Print the Guix system type.
	* m4/guix.m4 (GUIX_SYSTEM_TYPE): Print the system type.

	distro: gmp: Update to 5.0.1.
	* distro/packages/multiprecision.scm (gmp): Update to 5.0.1.

	distro: binutils: Add a "lib" output.
	* distro/packages/base.scm (binutils): Add `outputs' field.

	build-system/gnu: Improve support for "lib" outputs; support "doc" outputs.
	* guix/build/gnu-build-system.scm (configure)[package-name]: New
	  procedure.
	  When LIBDIR is true and INCLUDEDIR is false, add
	  --includedir=LIBDIR/include.
	  Add support for --docdir when a "doc" output exists.

2013-01-09  Ludovic Courtès  <ludo@gnu.org>

	doc: Clarify package version specification example.
	* doc/guix.texi (Invoking guix-package): Use "guile-1.8.8" as the
	  example, not "guile-1.8" since there is no such version.

	Augment `TODO'.

	union: Detect collisions, and delete duplicate leaves.
	* guix/build/union.scm (delete-duplicate-leaves): New procedure.
	  (union-build)[leaf=?, resolve-collision]: New procedures.
	  Use `delete-duplicate-leaves' on the result of `tree-union'.
	* tests/union.scm ("delete-duplicate-leaves, default",
	  "delete-duplicate-leaves, file names"): New tests.

	guix-package: Create ~/.guix-profile when it doesn't exist.
	* guix-package.in (guix-package): Create the %USER-ENVIRONMENT-DIRECTORY
	  symlink if it doesn't exist yet.
	* doc/guix.texi (Invoking guix-package): Document it.

	guix-package: Show package outputs in `--list-available'.
	* guix-package.in (guix-package)[process-query]: For `list-available',
	  show the outputs of each package.
	* doc/guix.texi (Invoking guix-package): Update accordingly.

	doc: Update copyright years; add visible copyright statement.
	* doc/guix.texi (YEARS): New variable.
	  Use it for all copyright statements.
	  (Top): Add a copyright statement and license header here.

	doc: Documentation installation and the daemon.
	* doc/guix.texi (Installation): New node.

	daemon: Fix warning message when running as root without a build user group.
	* nix/nix-daemon/guix-daemon.cc (main): Fix warning message when running
	  as root without `--build-users-group'.

	guix-daemon: Rename `--build-cores' for consistency with `guix-build'.
	* nix/nix-daemon/guix-daemon.cc (options): Change `--build-cores' to
	  `--cores', and `-C' to `-c'.
	  (parse_opt): Adjust accordingly.

2013-01-09  Ludovic Courtès  <ludo@gnu.org>

	derivations: Fix `derivation-prerequisites-to-build' when outputs are there.
	Before it would list inputs not built, even if the outputs of the given
	derivation were already available.

	* guix/derivations.scm (derivation-prerequisites-to-build): Add
	  `outputs' keyword parameter.
	  [built?, derivation-built?]: New procedures.
	  [loop]: Add `sub-drvs' parameter.  Use `derivation-built?' to check if
	  the SUB-DRVS of DRV are built before checking its inputs.

2013-01-08  Ludovic Courtès  <ludo@gnu.org>

	doc: Update porting instructions in `HACKING'.
	* HACKING (When the platform is supported by Nixpkgs): Update
	  instructions.

	gnu-maintenance: Add `latest-release' and related tools.
	* guix/gnu-maintenance.scm (ftp-server/directory, releases,
	  version-string>?, latest-release, gnu-package-name->name+version): New
	  procedures.
	  (%package-name-rx): New variable.

	guix-package: Use `guile-final', not `guile-2.0' to build the environment.
	* guix-package.in (guix-package): Use either %BOOTSTRAP-GUILE or
	  GUILE-FINAL.

	guix-package: Be verbose when Guile itself needs to be built.
	* guix-package.in (guix-package)[guile-missing?]: New procedure.
	  (guix-package): Always redirect `current-build-output-port' to
	  `current-error-port' when (guile-missing?).

2013-01-07  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Remove `-b' shorthand for `--bootstrap'.
	* guix-package.in (%options): Remove #\b as an alternate for
	  "bootstrap".
	  (show-help): Adjust accordingly.
	* tests/guix-package.sh: Use `--bootstrap' instead of `-b'.

	snix: Update `license' check in unit test.
	* tests/snix.scm ("nixpkgs->guix-package"): Expect `license' to be a
	  symbol.  This is a follow-up to commit e7aa73e.

	snix: Use (guix licenses) variables.
	* guix/snix.scm (snix-derivation->guix-package)[license-variable]: New
	  procedure.
	  Use it to determine the variable name for the license.

	snix: Gracefully handle `null' in Nix build inputs.
	* guix/snix.scm (snix-derivation->guix-package)[convert-inputs]:
	  Gracefully handle `null' as an input.

	distro: Add GNU Aspell.
	* distro/packages/aspell.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add GSL.
	* distro/packages/algebra.scm (gsl): New variable.

	distro: Add GNU GLOBAL.
	* distro/packages/global.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add Tcl, Expect, and DejaGNU.
	* distro/packages/dejagnu.scm, distro/packages/tcl.scm: New files.
	* Makefile.am (MODULES): Add them.

2013-01-06  Ludovic Courtès  <ludo@gnu.org>

	distro: bdb: Adjust to lack of /bin/sh.
	* distro/packages/bdb.scm (bdb): Pass `CONFIG_SHELL' and `SHELL' to the
	  `configure' script.

	Update a few more license headers.
	* distro/packages/openssl.scm, m4/guix.m4, nix/sync-with-upstream:
	  Update headers.

	download: Report the progress of HTTP downloads.
	* guix/build/download.scm (http-fetch): Rename `bv' to `bv-or-port'.
	  Use `http-get*' followed by `dump-port' when the former is available,
	  and pass a progress procedure to `dump-port'.

	download: Report the progress of FTP downloads.
	* guix/build/download.scm (progress-proc): New procedure.
	  (ftp-fetch): Call `ftp-size' on URI.  Use `progress-proc', and pass
	  the result to `dump-port', along with #:buffer-size.

	ftp-client: Add `ftp-size'.
	* guix/ftp-client.scm (ftp-size): New procedure.

	distro: time: Adjust `configure' phase to old `configure' script.
	* distro/packages/time.scm (time): Add `arguments'.

	Merge branch 'master' into core-updates
	Conflicts:
		build-aux/download.scm
		distro/packages/autotools.scm
		distro/packages/base.scm
		distro/packages/bootstrap.scm
		distro/packages/lsh.scm
		distro/packages/make-bootstrap.scm
		distro/packages/ncurses.scm
		distro/packages/perl.scm
		tests/derivations.scm
		tests/union.scm

2013-01-06  Ludovic Courtès  <ludo@gnu.org>

	distro: Update bootstrap binaries to an nscd-less libc.
	Update bootstrap binaries following changes in commit d3b5972 ("Build
	glibc without nscd, and with static NSS modules.")

	* Makefile.am (distro/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
	  distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Update hashes.
	* build-aux/download.scm (file-name->uri): Update URL.
	* distro/packages/bootstrap.scm (%bootstrap-coreutils&co,
	  %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Update URLs
	  and hashes.

2013-01-06  Ludovic Courtès  <ludo@gnu.org>

	Update license headers.
	Change all license headers, except guix/build/* and ld-wrapper.scm, with
	this code:

	  (use-modules (guix build utils)
		       (srfi srfi-1))

	  (fluid-set! %default-port-encoding "UTF-8")

	  (substitute* (remove (lambda (f)
				 (or (string-contains f ".tar.")
				     (string-contains f ".git/")
				     (string-contains f ".so")
				     (string-suffix? ".o" f)
				     (string-suffix? ".a" f)
				     (string-suffix? ".go" f)
				     (string-suffix? ".pdf" f)
				     (string-suffix? ".png" f)
				     (string-suffix? ".info" f)
				     (equal? (basename f) "guix-daemon")
				     (equal? (basename f) "nix-setuid-helper")
				     (string-contains f "nix-upstream/")
				     (string-contains f "distro/packages/bootstrap/")))
			       (find-files "." "\\.[a-z]+$"))
	    (("^([[:graph:]]+) This file is part of Guix." _ comment-start)
	     (string-append comment-start " This file is part of GNU Guix."))
	    (("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start)
	     (string-append comment-start
			    " GNU Guix --- Functional package management for GNU\n"))
	    (("^([[:graph:]]+) Guix is " _ comment-start)
	     (string-append comment-start " GNU Guix is "))
	    (("^([[:graph:]]+) along with Guix." _ comment-start)
	     (string-append comment-start " along with GNU Guix."))
	    (("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start)
	     (string-append comment-start " Copyright ©")))

	Change headers using C-style comments manually.

2013-01-06  Ludovic Courtès  <ludo@gnu.org>

	Add `guix-gc'.
	* guix-gc.in, tests/guix-gc.sh: New files.
	* configure.ac: Output `guix-gc', and make it executable.
	* Makefile.am (bin_SCRIPTS): Add `guix-gc'.
	  (TESTS): Add `tests/guix-gc.sh'.
	* doc/guix.texi (Features): Add xref to "Invoking guix-gc".
	  (Invoking guix-gc): New node.
	* po/POTFILES.in: Add `guix-gc.in'.

	guix-build: Make `--root' effective for .drv files too.
	* guix-build.in (guix-build)[register-root]: Change first argument to
	  `paths', which should be a list of store paths.  Update caller to call
	  `derivation-path->output-paths' on DRV.  When `derivations-only?',
	  also register root for .drv files.

2013-01-05  Ludovic Courtès  <ludo@gnu.org>

	derivations: Add `derivation-path->output-paths'.
	* guix/derivations.scm (derivation-path->output-paths): New procedure.
	* tests/derivations.scm ("multiple-output derivation"): Test it.

2013-01-05  Ludovic Courtès  <ludo@gnu.org>

	Update license headers of builder-side code.
	Change license headers with this script:

	  (use-modules (guix build utils))

	  (fluid-set! %default-port-encoding "UTF-8")

	  (substitute* (cons "distro/packages/ld-wrapper.scm"
			     (find-files "guix/build" "\\.scm$"))
	    (("^([[:graph:]]+) This file is part of Guix." _ comment-start)
	     (string-append comment-start " This file is part of GNU Guix."))
	    (("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start)
	     (string-append comment-start
			    " GNU Guix --- Functional package management for GNU\n"))
	    (("^([[:graph:]]+) Guix is " _ comment-start)
	     (string-append comment-start " GNU Guix is "))
	    (("^([[:graph:]]+) along with Guix." _ comment-start)
	     (string-append comment-start " along with GNU Guix."))
	    (("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start)
	     (string-append comment-start " Copyright ©")))

	* distro/packages/ld-wrapper.scm, guix/build/download.scm,
	  guix/build/gnu-build-system.scm, guix/build/union.scm,
	  guix/build/utils.scm: Update license headers.

2013-01-05  Ludovic Courtès  <ludo@gnu.org>

	utils: Add `which'.
	* guix/build/utils.scm (which): New procedure.

	* distro/packages/lsh.scm (lsh): Use `which' instead of `search-path'.
	* distro/packages/perl.scm (perl): Likewise.
	* distro/packages/attr.scm (attr): Likewise.

2013-01-05  Ludovic Courtès  <ludo@gnu.org>

	ui: Factorize bug-report information in `--help'.
	* guix/config.scm.in (%guix-home-page-url): New variable.
	* guix/ui.scm (show-bug-report-information): New procedure.
	* guix-build.in (show-help): Use it.
	* guix-download.in (show-help): Likewise.
	* guix-import.in (show-help): Likewise.
	* guix-package.in (show-help): Likewise.

	distro: make-bootstrap: Add `%bootstrap-tarballs' package.
	* distro/packages/make-bootstrap.scm (%bootstrap-tarballs): New
	  variable.

	distro: make-bootstrap: Build glibc without nscd, and with static NSS modules.
	* distro/packages/make-bootstrap.scm (%glibc-with-relocatable-system):
	  Rename to...
	  (%glibc-for-bootstrap): ... this.  Add new configure flags.

2013-01-04  Ludovic Courtès  <ludo@gnu.org>

	distro: make-bootstrap: Make the Coreutils smaller.
	* distro/packages/make-bootstrap.scm (%static-inputs)[coreutils]: Remove
	  optional dependencies, except Perl; build with "-Os -g0"; disable
	  tests.

	distro: make-bootstrap: Fix arguments to gawk.
	* distro/packages/make-bootstrap.scm (%static-inputs)[gawk]: Use
	  `substitute-keyword-arguments' to preserve the #:phases argument of
	  GAWK.

2013-01-02  Ludovic Courtès  <ludo@gnu.org>

	distro: libtool: Add a "bin" output.
	* distro/packages/autotools.scm (libtool): Add a "bin" output.
	* distro/packages/base.scm (guile-final): Remove comment about retained
	  dependency.

	distro: ncurses: Don't retain a reference to the bootstrap Bash.
	* distro/packages/ncurses.scm (ncurses): Remove #:patch-shebangs?
	  argument since it now has no effect.  Simplify PATCH-MAKEFILE-PHASE.
	  Add `configure-phase', and use it.

	distro: coreutils: Enable tests; add dependency on ACL and GMP.
	* distro/packages/base.scm (coreutils): Set #:parallel-build? #f.  Add
	  `patch-shell-references' phase.  Add 'acl', 'gmp', and 'perl' as
	  inputs, as suggested by Nikita Karetnikov.

	distro: acl: Patch references to /bin/sh.
	* distro/packages/acl.scm (acl): Add `patch-makefile-SHELL' phase.

	distro: gettext: Fix references to /bin/sh.
	* distro/packages/gettext.scm (gettext): Add `patch-tests' phase.

	daemon: Show the chroot contents upon `--debug'.
	* nix/nix-daemon/guix-daemon.cc (main)[HAVE_CHROOT]: Display the
	  contents of `settings.dirsInChroot' at `lvlDebug'.

2013-01-02  Andreas Enge  <andreas@enge.fr>

	distro: Add Berkeley DB.
	* distro/packages/bdb.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-02  Ludovic Courtès  <ludo@gnu.org>

	distro: openssl: Build shared libraries.
	* distro/packages/openssl.scm (openssl): `configure' phase: pass
	  "shared --libdir=lib".

2013-01-02  Andreas Enge  <andreas@enge.fr>

	distro: Add OpenSSL.
	* distro/packages/openssl.scm: New file.  `patch-tests' phase added by
	  Ludovic Courtès.
	* Makefile.am (MODULES): Add it.

2013-01-02  Ludovic Courtès  <ludo@gnu.org>

	release.nix: Update to new bootstrap Guile tarball.
	* release.nix (bootstrap_guile): Update URLs and SHA256.
	  (build)[preBuild]: Adjust tarball name.

2013-01-02  Andreas Enge  <andreas@enge.fr>

	distro: Add MIT Kerberos 5.
	* distro/packages/mit-krb5.scm: New file.
	* Makefile.am (MODULES): Add it.

2013-01-02  Ludovic Courtès  <ludo@gnu.org>

	daemon: Properly initialize libgcrypt.
	* nix/nix-daemon/guix-daemon.cc (main): Call `gcry_check_version'.

	tests: Adjust to not rely on /bin/sh.
	* tests/derivations.scm (%bash): New variable.
	  Replace occurrences of "/bin/sh" by %BASH.
	* tests/union.scm ("union-build"): Delete duplicates from
	  %BOOTSTRAP-INPUTS.

	distro: sed: Patch references to /bin/sh in the test suite.
	* distro/packages/base.scm (sed): Add `patch-test-suite' phase.

2013-01-01  Ludovic Courtès  <ludo@gnu.org>

	distro: glibc: Build the statically-linked Bash embedded in glibc.
	* distro/packages/base.scm (glibc): Expect "static-bash" to be a
	  directory, not a single file.  Call `remove-store-references' on the
	  "bash" binary that is copied.  Add an `sh' -> `bash' symlink.  Change
	  the "static-bash" input to (static-package bash-light).
	  (glibc-final): Rename to...
	  (glibc-final-with-bootstrap-bash): ... this.  Change `name' to
	  "glibc-intermediate".  Remove #:patch-shebangs? setting.
	  (cross-gcc-wrapper): New procedure, with code formerly in
	  GCC-BOOT0-WRAPPED.
	  (gcc-boot0-wrapped): Use it.
	  (static-bash-for-glibc): New variable.
	  (glibc-final): Inherit from GLIBC-FINAL-WITH-BOOTSTRAP-BASH, and use
	  STATIC-BASH-FOR-GLIBC as the "static-bash" input.

	distro: glibc: Fix contradicting settings of `BASH_SHELL'.
	* distro/packages/base.scm (glibc-final): Remove `ac_cv_path_BASH_SHELL'
	  setting.
	  (glibc): Set `BASH_SHELL' instead of `ac_cv_path_BASH_SHELL'.

	utils: Use binary I/O primitives for `remove-store-references'.
	* guix/build/utils.scm (fold-port-matches)[get-char]: New procedure.
	  (remove-store-references): Use `put-u8' and `put-bytevector'.

	build-system/gnu: Add `static-package'.
	* distro/packages/make-bootstrap.scm (static-package): Move to...
	* guix/build-system/gnu.scm (static-package): ... here.  New procedure.

	distro: Move lightweight Bash to (distro packages bash).
	* distro/packages/make-bootstrap.scm (%bash-static): Move BASH-LIGHT to...
	* distro/packages/bash.scm (bash-light): ... here.  New variable.

	build-system/gnu: Add support for the "bin" output.
	* guix/build/gnu-build-system.scm (configure): Add support for "bin"
	  output.

2012-12-31  Ludovic Courtès  <ludo@gnu.org>

	build: Avoid error message during `make clean' when `test-tmp' doesn't exist.
	* daemon.am (clean-local): Check whether $(GUIX_TEST_ROOT) exists before
	  running `find'.

	utils: Restore the mtime/atime of patched files.
	* guix/build/utils.scm (set-file-time): New procedure.
	  (patch-shebang): New `keep-mtime?' parameter; call `set-file-time'
	  when it's true.
	  (patch-makefile-SHELL): Likewise.

	distro: bzip2: Patch `SHELL' in `Makefile-libbz2_so'.
	* distro/packages/compression.scm (bzip2): Call `patch-makefile-SHELL'
	  in BUILD-SHARED-LIB.

	distro: libc: Update to 2.17.
	* distro/packages/base.scm (glibc): Update to 2.17.

2012-12-30  Andreas Enge  <andreas@enge.fr>

	build-system/gnu: enable test-target during the check phase
	* guix/build-system/gnu.scm: add variable test-target

	distro: Add Libntlm, GNU GSS and GNU SASL.
	* distro/packages/gsasl.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: automake: Update to 1.12.6.
	* distro/packages/autotools.scm (automake): Update to 1.12.6.

	distro: Add GNU Libidn.
	* distro/packages/libidn.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Update libtasn1 and gnutls.
	* distro/packages/gnutls.scm: Update libtasn1 and gnutls.

2012-12-21  Ludovic Courtès  <ludo@gnu.org>

	distro: attr: Fix references to /bin/sh.
	* distro/packages/attr.scm (attr): Add `patch-makefile-SHELL'.  Patch
	  `test/run' in `check' phase.

	distro: Add GNU idutils.
	* distro/packages/idutils.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-12-21  Andreas Enge  <andreas@enge.fr>

	distro: Add rsync.
	* distro/packages/rsync.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-12-21  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Patch shebangs in all the source; patch SHELL in makefiles.
	* guix/build/utils.scm (call-with-ascii-input-file): New procedure.
	  (patch-shebang): Use it.
	  (patch-makefile-SHELL): New procedure.
	* guix/build/gnu-build-system.scm (patch-source-shebangs): Patch all the
	  files, not just executables; remove `po/Makefile.in.in' patching.
	  (patch-generated-files): Rename to...
	  (patch-generated-file-shebangs): ... this.  Patch executables and
	  makefiles.
	  (%standard-phases): Adjust accordingly.

	* distro/packages/autotools.scm (libtool): Remove call to `patch-shebang'.
	* distro/packages/base.scm (gcc-4.7): Likewise.
	  (guile-final): Remove hack to skip `test-command-line-encoding2'.
	* distro/packages/bash.scm (bash): Remove `pre-configure-phase'.
	* distro/packages/readline.scm (readline): Likewise.
	* distro/packages/ncurses.scm (ncurses): Remove `pre-install-phase'.

2012-12-21  Ludovic Courtès  <ludo@gnu.org>

	distro: coreutils: Update to 8.20.
	* distro/packages/base.scm (coreutils): Update to 8.20.

2012-12-20  Ludovic Courtès  <ludo@gnu.org>

	distro: guile: Patch (ice-9 popen) to use the right shell.
	* distro/packages/guile.scm (guile-2.0): Add `pre-configure'.
	* distro/packages/base.scm (guile-final): Adjust to preserve the
	  `pre-configure' phase.

	build-system/gnu: Patch shebangs after `configure'.
	* guix/build/gnu-build-system.scm (patch-generated-files): New
	  procedure.
	  (%standard-phases): Add it after `configure'.

	build-system/gnu: Report the execution time of each phase.
	* guix/build/gnu-build-system.scm (gnu-build): Report the success or
	  failure of each phase and its execution time.

	distro: m4: Patch references to /bin/sh.
	* distro/packages/m4.scm (m4): Add `pre-check' phase.

	distro: libtool: Run test suite in parallel; patch references to /bin/sh.
	* distro/packages/autotools.scm (libtool): Add `pre-check' phase.

	distro: bash, readline: Patch so that `make' uses the right shell.
	* distro/packages/readline.scm (readline): Add `pre-configure-phase' to
	  patch `MAKE_SHELL' in `configure.  Move `post-install-phase' body to
	  a variable.
	* distro/packages/bash.scm (bash): Likewise.

	distro: gawk: Use the right shell instead of /bin/sh.
	* distro/packages/gawk.scm (gawk): Patch shell file name in io.c.

2012-12-20  Andreas Enge  <andreas@enge.fr>

	distro: Add mpfrcx and fplll.
	* distro/packages/algebra.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-12-20  Ludovic Courtès  <ludo@gnu.org>

	distro: Update `guile-final' to not fail during `patch-source-shebangs' phase.
	* distro/packages/base.scm (guile-final): Add workaround on top of
	  GUILE-2.0/FIXED to avoid `patch-source-shebangs' failure on one of the
	  source files.

	distro: ncurses: Patch references to /bin/sh.
	* distro/packages/ncurses.scm (ncurses): Add `patch-makefile-phase' and
	  `pre-install-phase'.

	utils: Add a `progress' parameter to `dump-port'.
	* guix/build/utils.scm (dump-port): Add a `progress' keyword parameter.
	  Call it after each transfer.

2012-12-20  Ludovic Courtès  <ludo@gnu.org>

	distro: Update bootstrap binaries.
	Use bootstrap binaries that were generated with the `make-bootstrap'
	changes introduced in previous commit.

	* Makefile.am (nodist_bootstrap_x86_64_linux_DATA,
	  nodist_bootstrap_i686_linux_DATA): Change Guile tarball name.
	  (distro/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
	  distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): New targets.
	  (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz,
	  distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz):
	  Remove.
	* build-aux/download.scm (file-name->uri): Use "20121219" directory.
	* distro/packages/bootstrap.scm (%bootstrap-guile): Update file name.
	  (%bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc,
	  %bootstrap-gcc): Update directory name and hashes.

2012-12-20  Ludovic Courtès  <ludo@gnu.org>

	distro: make-bootstrap: Have libc's functions search for `sh' in $PATH.
	* distro/packages/make-bootstrap.scm (%glibc-with-relocatable-system,
	  %standard-inputs-with-relocatable-glibc): New variables.
	  (%static-inputs)[gawk]: Apply `gawk-shell.patch'.
	  [finalize]: New procedure.
	  Build all the packages against %STANDARD-INPUTS-WITH-RELOCATABLE-GLIBC.
	  (%glibc-stripped): Inherit from %GLIBC-WITH-RELOCATABLE-SYSTEM.
	  (%gcc-static, %guile-static): Build against
	  %STANDARD-INPUTS-WITH-RELOCATABLE-GLIBC.
	* distro/packages/patches/gawk-shell.patch,
	  distro/packages/patches/glibc-bootstrap-system.patch: New files.
	* Makefile.am (dist_patch_DATA): Add them.

	distro: glibc: Add a statically-linked Bash to $out/bin.
	* distro/packages/base.scm (glibc): Pass `ac_cv_path_BASH_SHELL' in the
	  configure flags.  During the `pre-configure' phase, copy the
	  "static-bash" input to $out/bin, and change `system' and `popen' to
	  use it instead of /bin/sh.  Add the "static-bash" input.
	  Suggested by Shea Levy <shea@shealevy.com> and
	  Lluís Batlle i Rossell <viric@viric.name>.

	distro: gcc: Patch to allow builds without /bin/sh.
	* distro/packages/base.scm (gcc-4.7): In `pre-configure' phase, patch
	  shebang in `gcc/exec-tool.in'.

	distro: ld-wrapper: Use the current Bash instead of /bin/sh.
	* distro/packages/ld-wrapper.scm: Use @BASH@ in shebang.  Change module
	  name to (gnu build-support ld-wrapper).
	* distro/packages/base.scm (ld-wrapper-boot3): Substitute @BASH@.
	  (ld-wrapper): Use BASH-FINAL.

2012-12-19  Ludovic Courtès  <ludo@gnu.org>

	distro: make: Change default shell from /bin/sh to the actual shell.
	* distro/packages/base.scm (gnu-make): Add `set-default-shell' phase.
	  (gnu-make-boot0): Adjust phases accordingly.

	build-system/gnu: Change the order of `patch-source-shebangs' and `patch'.
	* guix/build/gnu-build-system.scm (patch-source-shebangs): Add a newline
	  after the "SHELL =" line in po/Makefile.in.in.
	  (%standard-phases): Move `patch-source-shebangs' after `patch'.

	distro: Linux-Libre: Set $ARCH based on the actual system type.
	* distro/packages/linux.scm (linux-libre-headers): Set $ARCH based on
	  the `system' keyword argument.

2012-12-19  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add Usbutils.
	* distro/packages/linux.scm (usbutils): New variable.

2012-12-18  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add Libusb.
	* distro/packages/libusb.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-12-18  Ludovic Courtès  <ludo@gnu.org>

	distro: guile: Switch to 2.0.7.
	* distro/packages/guile.scm (guile-2.0/fixed): Alias GUILE-2.0.

2012-12-17  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add Check.
	* distro/packages/check.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-12-17  Ludovic Courtès  <ludo@gnu.org>

	download: Remove unreachable SourceForge mirror.
	* guix/download.scm (%mirrors)[sourceforge]: Remove kent.dl.*, which is
	  unreachable.

	download: Correctly detect "No route to host" conditions.
	* guix/build/download.scm (open-connection-for-uri): Delete addrinfos
	  with the same address.  Always open SOCK_STREAM/IPPROTO_IP sockets.
	  Fix the error handler's condition to determine what to do.
	  Reported by Nikita Karetnikov <nikita.karetnikov@gmail.com> at
	  <http://lists.gnu.org/archive/html/bug-guix/2012-12/msg00150.html>.

2012-12-16  Ludovic Courtès  <ludo@gnu.org>

	daemon: Gracefully handle Nix errors.
	* nix/nix-daemon/guix-daemon.cc (main): Run Nix code in an exception
	  handler; gracefully print error messages, and exit with EXIT_FAILURE.

	daemon: Warn against running as root without `--build-users-group'.
	* nix/nix-daemon/guix-daemon.cc (main): Recommend using
	  `--build-users-group' when running  as root without a build users
	  group.

	daemon: Add `--chroot-directory'.
	* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_CHROOT_DIR): New macro.
	  (options): Add `--chroot-directory'.
	  (parse_opt): Handle it.

2012-12-15  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Patch shebangs in executable source files.
	This allows many packages to build in a chroot that lacks /bin and
	thus /bin/sh.

	* guix/build/gnu-build-system.scm (patch-source-shebangs): New
	  procedure.
	  (%standard-phases): Add it.
	* guix/build/utils.scm (executable-file?): New procedure.
	* distro/packages/perl.scm (perl): Don't use /bin/sh to run `Configure'.

2012-12-15  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Make the error port line-buffered.
	* guix/build/gnu-build-system.scm (gnu-build): Make the error port
	  line-buffered.

	utils: Make the buffer size of `dump-port' a parameter.
	* guix/build/utils.scm (dump-port): Make `buffer-size' a keyword
	  parameter.

	Merge branch 'master' into core-updates
	Conflicts:
		distro/packages/multiprecision.scm

	guix-build: Add `--verbosity'.
	* guix-build.in (%default-options): Add `verbosity'.
	  (%options): Add `--verbosity'.
	  (guix-build): Pass it to `set-build-options'.
	  (show-help): Update accordingly.
	* doc/guix.texi (Invoking guix-build): Document `--verbosity'.

	daemon: Add `--debug' option.
	* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_DEBUG): New macro.
	  (options): Add `--debug'.
	  (parse_opt): Set `verbosity' upon GUIX_OPT_DEBUG.

2012-12-14  Ludovic Courtès  <ludo@gnu.org>

	daemon: Disable use of substitutes for now.
	* nix/nix-daemon/guix-daemon.cc (main): Set `settings.useSubstitutes' to
	  false, and `settings.substituters' to the empty list.

2012-12-14  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Use (guix licenses) instead of strings.
	* distro/packages/acl.scm, distro/packages/attr.scm,
	  distro/packages/autotools.scm, distro/packages/base.scm,
	  distro/packages/bash.scm, distro/packages/bdw-gc.scm,
	  distro/packages/bison.scm, distro/packages/bootstrap.scm,
	  distro/packages/compression.scm, distro/packages/cpio.scm,
	  distro/packages/ddrescue.scm, distro/packages/ed.scm,
	  distro/packages/flex.scm, distro/packages/gawk.scm,
	  distro/packages/gdbm.scm, distro/packages/gettext.scm,
	  distro/packages/gnupg.scm, distro/packages/gnutls.scm,
	  distro/packages/gperf.scm, distro/packages/guile.scm,
	  distro/packages/help2man.scm, distro/packages/less.scm,
	  distro/packages/libffi.scm, distro/packages/libsigsegv.scm,
	  distro/packages/libunistring.scm, distro/packages/linux.scm,
	  distro/packages/lout.scm, distro/packages/lsh.scm,
	  distro/packages/m4.scm, distro/packages/multiprecision.scm,
	  distro/packages/nano.scm, distro/packages/ncurses.scm,
	  distro/packages/nettle.scm, distro/packages/perl.scm,
	  distro/packages/pkg-config.scm, distro/packages/pth.scm,
	  distro/packages/readline.scm, distro/packages/recutils.scm,
	  distro/packages/shishi.scm, distro/packages/system.scm,
	  distro/packages/texinfo.scm, distro/packages/time.scm,
	  distro/packages/wget.scm, distro/packages/which.scm,
	  distro/packages/zile.scm: Use (guix licenses).

2012-12-14  Andreas Enge  <andreas@enge.fr>

	build: Avoid brace expansion in `nix/sync-with-upstream'.
	* nix/sync-with-upstream: Avoid brace expansion, for the sake of Dash.

2012-12-14  Ludovic Courtès  <ludo@gnu.org>

	daemon: Build `nix-setuid-helper'.
	* daemon.am (libexec_PROGRAMS, nix_setuid_helper_SOURCES,
	  nix_setuid_helper_CPPFLAGS, nix_setuid_helper_LDADD): New variables.
	* test-env.in: Set and export `NIX_SETUID_HELPER'.
	* README (Installing Guix as non-root): New section.

	download: Work around (web client) bug <http://bugs.gnu.org/13095>.
	* guix/build/download.scm: Annihilate `shutdown' in (web client).

	distro: Fix incorrect "bash" input for gcc-boot0-wrapped.
	* distro/packages/base.scm (gcc-boot0-wrapped): Fix incorrect "bash" input.

	release.nix: Remove trailing "/nix" from localstatedir.
	* release.nix (tarball, build): Use /nix/var as localstatedir, as a
	  follow-up to 7f4f065.

2012-12-13  Ludovic Courtès  <ludo@gnu.org>

	build: Fix default value of `%state-directory'.
	* guix/config.scm.in (%state-directory): Append `/nix'.
	  Reported by Andreas Enge <andreas@enge.fr>.

	build: Have `bootstrap' run all the necessary steps.
	* bootstrap: Always run "git submodule init".  Run
	  `nix/sync-with-upstream'.
	  Reported by Nikita Karetnikov and Andreas Enge.

	build-system/gnu: Avoid using /bin/sh.
	* guix/build/gnu-build-system.scm (configure): Add `inputs' keyword
	  parameter.  Take Bash from there, falling back to /bin/sh.  Set
	  `CONFIG_SHELL' and `SHELL' to that Bash.  Run "bash ./configure"
	  instead of just "./configure".
	* distro/packages/bootstrap.scm (%bootstrap-inputs): Add "bash".
	* distro/packages/base.scm (gcc-boot0-wrapped): Use "bash" from
	  %BOOT1-INPUTS instead of /bin/sh.

	guix-package: Avoid use of the `guix' sub-directory for profiles.
	* guix-package.in (%current-profile): Change to `guix-profile'.

	release.nix: tarball: Fix typo.
	* release.nix (tarball): Replace "gnulib" by "nix".

	guix-package: Use directory names from (guix config).
	* guix-package.in (%profile-directory): Use %STATE-DIRECTORY instead of
	  a hard-coded directory.

	release.nix: tarball: Fix typo.
	* release.nix (tarball): Replace "gnulib" by "nix".

	guix-package: Use directory names from (guix config).
	* guix-package.in (%profile-directory): Use %STATE-DIRECTORY instead of
	  a hard-coded directory.

2012-12-13  Andreas Enge  <andreas@enge.fr>

	distro: mpc: Update to 1.0.1.
	* distro/packages/multiprecision.scm (mpc): Update to 1.0.1.

2012-12-13  Ludovic Courtès  <ludo@gnu.org>

	distro: lout: Comment out dependency on Ghostscript.
	* distro/packages/lout.scm (lout): Temporarily comment out dependency on
	  Ghostscript as this was causing evaluation errors on Hydra.

	Merge branch 'nix-integration'
	Conflicts:
		tests/guix-package.sh

	release.nix: Add `build_disable_daemon'.
	* release.nix (build_disable_daemon): New job.

	release.nix: build: Allow builds within a chroot.
	* release.nix (build): Remove `__noChroot' and `preConfigure'.

	tests: Skip network-dependent tests when the network is unreachable.
	* tests/builders.scm (network-reachable?): New variable.
	  ("url-fetch", "gnu-build"): Skip unless NETWORK-REACHABLE?.
	* tests/derivations.scm (%coreutils): Check for network access.
	  ("build-expression->derivation with one input"): Skip when %COREUTILS
	  is #f.
	* tests/guix-package.sh: Skip installation of GNU Make when the network
	  is unreachable.
	* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
	* tests/union.scm ("union-build"): Likewise.

	release.nix: Build the daemon.
	* release.nix (tarball): Add `preAutoconf'.  Augment `buildInputs' and
	  `configureFlags' to allow daemon builds.
	  (build): Likewise.

	build: Make `--enable-daemon' the default.
	* configure.ac: Have $guix_build_daemon default to "yes".

	build: When `--enable-daemon', don't error out when Nix programs are missing.
	* config-daemon.ac: Move AC_ARG_ENABLE([daemon]...)...
	* configure.ac: ... here.
	  When Nix programs are not found, error out only when
	  $guix_build_daemon is no.

	tests: Arrange to have the socket file name fit in `sun_path'.
	* test-env.in (NIX_STATE_DIR): Choose a slightly smaller directory name.

	tests: base32: Work around `system*' bug.
	* tests/base32.scm (%nix-hash): When `getenv' returns the empty string,
	  ignore it.
	  (%have-nix-hash?): New variable.  Update `test-skip' clause to use it.

2012-12-12  Ludovic Courtès  <ludo@gnu.org>

	daemon: Use `openssl' from $PATH.
	* daemon.am (-DOPENSSL_PATH): Default to "openssl".
	* TODO: Mention removal of OpenSSL dependency.

	guix-package: Add `--verbose'; silence the environment's build by default.
	* guix-package.in (%options): Add `--verbose'.
	  (show-help): Update accordingly.
	  (guix-package): Parameterize `current-build-output-port' according to
	  VERBOSE?.  By default, silence the environment build's output.

	doc: Fix typos.
	* doc/guix.texi: Fix typos.  Reported by Andreas Enge <andreas@enge.fr>.

2012-12-12  Nikita Karetnikov  <nikita@karetnikov.org>

	licenses: Add 'bsd-style', 'expat', 'gpl1', 'gpl1+', 'lgpl2.0', and 'lgpl2.0+'.
	* guix/licenses.scm (bsd-style, expat, gpl1, gpl1+)
	  (lgpl2.0, lgpl2.0+): New variables.

2012-12-12  Ludovic Courtès  <ludo@gnu.org>

	tests: Remove `t-profile' files on exit.
	* tests/guix-package.sh: Use a trap on EXIT to remove profile-related
	  files.  Reported by Andreas Enge <andreas@enge.fr>.

	guix-package: Gracefully handle multiple installs of the same path.
	* guix-package.in (guix-package)[process-actions]: Compute PACKAGES such
	  that packages listed in INSTALL* are first removed from the remainder
	  of the list.  When PROF is equal to the previous profile's store path,
	  do nothing.  Reported by Andreas Enge <andreas@enge.fr>.
	* tests/guix-package.sh: Test the behavior of installing the same store
	  path twice.  When removing a package, omit its version number.

2012-12-10  Ludovic Courtès  <ludo@gnu.org>

	Have `%nixpkgs-directory' default to #f when $NIXPKGS is the empty string.
	* guix/utils.scm (%nixpkgs-directory): Set to #f when the `NIXPKGS'
	  environment variable is set but empty.  Reported by
	  Andreas Enge <andreas@enge.fr>.

	distro: lout: Delay use of of `nixpkgs-derivation'.
	* distro/packages/lout.scm (lout): Don't fork with `nixpkgs-derivation',
	  to avoid any issues in the absence of `nix-instantiate'.

	derivations: Distinguish direct store paths from files within a store path.
	* guix/derivations.scm (derivation)[direct-store-path?]: New procedure.
	  Use it to determine which inputs must be added to the store.

2012-12-09  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into nix-integration
	Conflicts:
		guix/store.scm

	store: Add GC-related operations.
	* guix/store.scm (gc-action): New enumerate type.
	  (read-long-long, read-string-list, write-store-path,
	  write-store-path-list, read-store-path-list): New procedures.
	  (write-arg): Add support for `store-path' and `store-path-list'.
	  (read-arg): Add support for `store-path-list'.
	  (define-operation): Add support for multiple-value returns.
	  (run-gc, live-paths, dead-paths, collect-garbage, delete-paths): New
	  procedures.
	  (%long-long-max): New macro.
	* tests/store.scm: New file.
	* Makefile.am (TESTS): Add it.

	store: Add `add-temp-root'.
	* guix/store.scm (add-temp-root): New procedure.

	Update `THANKS'.

	doc: Correct short name of `--install' option of `guix-package'.
	* doc/guix.texi (Invoking guix-package): Fix short form of `--install'.
	  Reported by Andreas Enge <andreas@enge.fr>.

	daemon: Update to Nix 1.2-1-ge087bfe.

	Update `TODO'.

	Change email address in `AUTHORS'.

2012-12-08  Ludovic Courtès  <ludo@gnu.org>

	Update `AUTHORS'.

2012-12-08  Nikita Karetnikov  <nikita@karetnikov.org>

	Add (guix licenses).
	* guix/licenses.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-12-07  Ludovic Courtès  <ludo@gnu.org>

	download: Fix the primary Savannah URL.
	* guix/download.scm (%mirrors)[savannah]: Use
	  "http://download.savannah.gnu.org/releases/" as the primary URL.

2012-12-07  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add ACL.
	* distro/packages/acl.scm: New file.  Dependency on Perl added by
	  Ludovic.
	* Makefile.am (MODULES): Add it.

	distro: Add Attr.
	* distro/packages/attr.scm: New file.  Dependency on Perl and
	  `patch-shebang' added by Ludovic.
	* Makefile.am (MODULES): Add it.

2012-12-06  Ludovic Courtès  <ludo@gnu.org>

	doc: Add new dependencies in `README'.
	* README (Hacking): Rename to...
	  (Requirements): ... this.  Add the daemon's dependencies.

	daemon: Add more options.
	* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_BUILD_USERS_GROUP,
	  GUIX_OPT_CACHE_FAILURES, GUIX_OPT_LOSE_LOGS,
	  GUIX_OPT_DISABLE_STORE_OPTIMIZATION, GUIX_OPT_IMPERSONATE_LINUX_26):
	  New macros.
	  (options)["build-users-group", "cache-failures", "lose-logs",
	  "disable-store-optimization", "impersonate-linux-2.6"]: New options.
	  (parse_opt): Handle them.

	build: Update skip count in `tests/derivations.scm'.
	* tests/derivations.scm: When %STORE if #f, skip 11 tests.

	build: Run `distcheck' with `--enable-daemon'.
	* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Add `--enable-daemon'.

	build: Add missing daemon header to the distribution.
	* daemon.am (guix_daemon_headers): New variable.
	  (noinst_HEADERS): Add it.

	build: Capture configure-time settings in (guix config).
	* configure.ac: Compute and substitute `guix_localstatedir'.
	* m4/guix.m4: Substitute `guix_system'.
	* guix/config.scm.in (%store-directory, %store-directory, %system): New
	  variables.
	* guix/store.scm (%nix-state-dir): Remove.
	  (%default-socket-path): Use %STATE-DIRECTORY as the default.
	  (%store-prefix): Use %STORE-DIRECTORY as the default.
	* guix/utils.scm (%current-system): Default to %SYSTEM.

	build: Run all the tests against the just-built daemon.
	* test-env.in: New file.
	* configure.ac: Add it to `AC_CONFIG_FILES' and `commands-exec'.
	* config-daemon.ac: Set and substitute `GUIX_TEST_ROOT'.
	* Makefile.am (SCM_LOG_COMPILER, SH_LOG_COMPILER): Use it in lieu of
	  `pre-inst-env'.
	* daemon.am (test_root): Remove
	  (AM_TESTS_ENVIRONMENT): Remove `TEST_ROOT'.
	  (clean-local): Use $(GUIX_TEST_ROOT); make files writable before
	  removing them.guix_test_root
	* tests/guix-daemon.sh: Remove `NIX_' variable settings; don't launch
	  `guix-daemon'.

2012-12-05  Ludovic Courtès  <ludo@gnu.org>

	tests: Remove hard-coded /nix/store.
	* tests/utils.scm ("store-path-package-name"): Use (%store-prefix)
	  instead of a hard-coded "/nix/store".

	daemon: Add `list-runtime-roots' script.
	* nix/scripts/list-runtime-roots.in: New file.
	* config-daemon.ac: Add `AC_CONFIG_FILES' invocation for it.
	* daemon.am (nodist_pkglibexec_SCRIPTS): New variable.
	  (AM_TESTS_ENVIRONMENT): Define `top_builddir'.
	* tests/guix-daemon.sh: Export `NIX_ROOT_FINDER'.
	* nix/sync-with-upstream: Substitute the path to the root finder in
	  libstore/gc.cc.

	daemon: Disable use of chroots when support is lacking.
	* nix/nix-daemon/guix-daemon.cc (options)[!HAVE_CHROOT]: Mention that
	  `--disable-chroot' has no effect.
	  (main)[!HAVE_CHROOT]: Set `useChroot' to false.

2012-12-05  Nikita Karetnikov  <nikita@karetnikov.org>

	Add (guix gnu-maintenance).
	* guix/gnu-maintenance.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-12-04  Ludovic Courtès  <ludo@gnu.org>

	daemon: Add test.
	* daemon.am (test_root, AM_TESTS_ENVIRONMENT): New variables.
	  (clean-local): New target.
	* tests/guix-daemon.sh: New file.

	build: daemon: Add missing feature tests.
	* config-daemon.ac: Add feature tests needed for the daemon code.  Taken
	  from Nix's `configure.ac'.

	build: daemon: Remove extraneous quotes in CPP macro `SYSTEM'.
	* config-daemon.ac: Remove extraneous quotes in definition of `SYSTEM'.

	daemon: Fix typo in libgcrypt bindings.
	* nix/libutil/md5.h (MD5_Final): Pass RESBUF as the first argument to
	  `guix_hash_final'.
	* nix/libutil/sha1.h (SHA1_Final): Likewise.
	* nix/libutil/sha256.h (SHA256_Final): Likewise.

	Merge branch 'master' into nix-integration

	guix-build: Don't connect to the daemon when run with `--version' or `--help'.
	* guix-build.in (%store): Turn into a SRFI-39 parameter.  Update users.
	  (guix-build): Set %STORE and call `open-connection' only after
	  `parse-options' has been called.

	store: Honor $NIX_STORE_DIR and $NIX_STATE_DIR.
	* guix/store.scm (%nix-state-dir): Honor $NIX_STATE_DIR.
	  (%store-prefix): Honor $NIX_STORE_DIR.

	derivations: Fix erroneous call to `add-to-store' for local files as input.
	* guix/derivations.scm (derivation)[inputs]: Fix typo in call to
	  `add-to-store'.
	* tests/derivations.scm ("derivation with local file as input"): New test.
	* tests/packages.scm ("trivial with local file as input"): New test.

	Augment `TODO'.

	distro: Add GNU lsh.
	* distro/packages/lsh.scm,
	  distro/packages/patches/lsh-guile-compat.patch:
	  distro/packages/patches/lsh-no-root-login.patch:
	  distro/packages/patches/lsh-pam-service-name.patch: New files.
	* Makefile.am (MODULES): Add lsh.scm.
	  (dist_patch_DATA): Add the above patches.

2012-12-04  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add util-linux.
	* distro/packages/linux.scm (util-linux): New variable.

2012-12-04  Ludovic Courtès  <ludo@gnu.org>

	distro: Add psmisc.
	* distro/packages/linux.scm (psmisc): New variable.

2012-12-03  Ludovic Courtès  <ludo@gnu.org>

	build: Add `bootstrap' and `sync-with-upstream' scripts.
	* bootstrap, nix/sync-with-upstream: New files.
	* Makefile.am (EXTRA_DIST): Add `bootstrap'.
	* daemon.am (EXTRA_DIST): Add `nix/sync-with-upstream'.

	build: Add Nix as a sub-module.
	* .gitmodules, nix-upstream: New files.

2012-12-03  Ludovic Courtès  <ludo@gnu.org>

	build: Include a copy of Nix's libstore and daemon; build it.
	* configure.ac: Call `AC_USE_SYSTEM_EXTENSIONS', and
	  `GUIX_SYSTEM_TYPE'.  Add `--with-store-dir' option, and substitute
	  `storedir'.  Include `config-daemon.ac'.
	* config-daemon.ac: New file.
	* Makefile.am [BUILD_DAEMON]: Include `daemon.am'.
	* daemon.am: New file.
	* m4/guix.m4 (GUIX_SYSTEM_TYPE): New macro.

	* nix/libutil/gcrypt-hash.cc, nix/libutil/gcrypt-hash.hh,
	  nix/libutil/md5.h, nix/libutil/sha1.h, nix/libutil/sha256.h,
	  nix/nix-daemon/guix-daemon.cc, nix/nix-daemon/shared.hh: New files.

2012-12-02  Ludovic Courtès  <ludo@gnu.org>

	distro: make-bootstrap: Use `linux' module.
	* distro/packages/make-bootstrap.scm: Use (distro packages linux).  This
	  is a followup to 80fe5c6.

2012-12-01  Ludovic Courtès  <ludo@gnu.org>

	distro: gnutls: Build sequentially.
	* distro/packages/gnutls.scm (gnutls)[arguments]: New field.

2012-11-30  Ludovic Courtès  <ludo@gnu.org>

	distro: guile-2.0: Update to 2.0.7.
	* distro/packages/guile.scm (guile-2.0): Switch to 2.0.7.
	  (guile-2.0/fixed): Stay at 2.0.6.

	distro: Add `guile-2.0/fixed', which should rarely change.
	* distro/packages/guile.scm (guile-2.0/fixed): New variable.
	* distro/packages/base.scm (guile-final): Use it.

2012-11-28  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Import 'gettext' under a different name.
	* distro/packages/nano.scm, distro/packages/wget.scm: Import 'gettext'
	  from (distro packages gettext) under 'guix:gettext'.

2012-11-27  Ludovic Courtès  <ludo@gnu.org>

	distro: linux-libre-headers: Move to (distro packages linux).
	* distro/packages/base.scm (linux-libre-headers): Move to...
	* distro/packages/linux.scm (linux-libre-headers): ... here.

	distro: Add Linux-PAM.
	* distro/packages/linux.scm: New file.
	* Makefile.am (MODULES): Add it.

	download: Add kernel.org mirrors.
	* guix/download.scm (%mirrors): Add `kernel.org' mirrors.

	download: Keep only one slash when concatenating URIs.
	* guix/build/download.scm (url-fetch)[uri-vicinity]: New procedure.
	  [maybe-expand-mirrors]: Use it.

	distro: flex: Fix module name.
	* distro/packages/flex.scm: Change the module name to (distro packages
	  flex).

2012-11-25  Nikita Karetnikov  <nikita.karetnikov@gmail.com>

	distro: Add GNU Cpio.
	* distro/packages/cpio.scm,
	  distro/packages/patches/cpio-gets-undeclared.patch: New files.
	* Makefile.am (MODULES): Add 'cpio.scm'.
	  (dist_patch_DATA): Add 'cpio-gets-undeclared.patch'.

2012-11-25  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add GNU Time.
	* distro/packages/time.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add GNU Which.
	* distro/packages/which.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-11-25  Ludovic Courtès  <ludo@gnu.org>

	build: Have `hydra.scm' return one job per package.
	* hydra.scm (hydra-jobs): Return one job for each non-bootstrap package.

	packages: Add missing export.
	* guix/packages.scm: Export `package-home-page'.

	distro: Search bootstrap binaries and patches in %LOAD-PATH.
	* Makefile.am (patchdir, bootstrapdir): Change to be sub-directories of
	  $(guilemoduledir).
	  (.scm.go): Remove `DISTRO_' environment variables.
	* distro.scm (not-colon): Remove.
	  (%patch-path, %bootstrap-binaries-path): Default to sub-directories of
	  the entries in %LOAD-PATH.
	* pre-inst-env.in: Remove definition of `DISTRO_' environment variables.

2012-11-25  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add GNU Less.
	* distro/packages/less.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add GNU Nano.
	* distro/packages/nano.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-11-25  Ludovic Courtès  <ludo@gnu.org>

	doc: Mention the pronunciation of "Guix".
	* README: Mention pronunciation of "Guix".
	* doc/guix.texi (Introduction): Likewise.

2012-11-25  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add GNU Wget.
	* distro/packages/wget.scm: New file; patch-shebang phase added by
	  Ludovic Courtès.
	* Makefile.am (MODULES): Add it.

2012-11-24  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add GNU Ddrescue.
	* distro/packages/ddrescue.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-11-24  Ludovic Courtès  <ludo@gnu.org>

	doc: Update `README'.
	* README: Update introductory summary.  Point to Savannah instead of
	  Gitorious.  Mention <bug-guix@gnu.org>.
	  (Guix & Nix): New section.

2012-11-24  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add GNU Gettext.
	* distro/packages/gettext.scm,
	  distro/packages/patches/gettext-gets-undeclared.patch: New files.
	* Makefile.am (MODULES): Add 'gettext.scm'.
	  (dist_patch_DATA): Add 'gettext-gets-undeclared.patch'.

2012-11-24  Ludovic Courtès  <ludo@gnu.org>

	build: Change bug-report address; add URL.
	* configure.ac: Change bug-report address in `AC_INIT'; add URL.

2012-11-24  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add GNU Shishi.
	* distro/packages/shishi.scm,
	  distro/packages/patches/shishi-gets-undeclared.patch: New files.
	* Makefile.am (MODULES): Add 'shishi.scm'.
	  (dist_patch_DATA): Add 'shishi-gets-undeclared.patch'.

2012-11-22  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Move (distro packages libtool) to (distro packages autotools).
	* distro/packages/autotools.scm (libtool): Add it.
	* distro/packages/libtool.scm: Remove it.
	* distro/packages/guile.scm (distro packages guile): Adjust accordingly.
	* Makefile.am (MODULES): Adjust accordingly.

	distro: Add GNU Autoconf and GNU Automake.
	* distro/packages/autotools.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-11-22  Ludovic Courtès  <ludo@gnu.org>

	distro: Add Flex.
	* distro/packages/flex.scm,
	  distro/packages/patches/flex-bison-tests.patch: New files.
	* Makefile.am (MODULES): Add `flex.scm'.
	  (dist_patch_DATA): Add `flex-bison-tests.patch'.

	distro: Add GNU Bison.
	* distro/packages/bison.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add GDBM.
	* distro/packages/gdbm.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-11-21  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add GNU Ed.
	* distro/packages/ed.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-11-21  Ludovic Courtès  <ludo@gnu.org>

	doc: Document basic package definitions.
	* doc/guix.texi (Programming Interface): Add introduction.
	  (Defining Packages): Populate.

	build: Fix `hydra.scm' recipe.
	* hydra.scm: Redirect the output port to the error port.
	  (package-job): Return a name/thunk pair.
	  (hydra-jobs)[system]: Use either the `system' key (a symbol) in
	  ARGUMENTS, or (%current-system)'.

2012-11-19  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Extract version strings when installing a direct store path.
	* guix-package.in (guix-package)[process-actions]: Extract the version
	  string from store paths.
	* tests/guix-package.sh: Adjust accordingly.

	guix-build: Use `location->string'.
	* guix-build.in (derivations-from-package-expressions): Use
	  `location->string'.

	guix-package: Record the correct version string in manifests.
	* guix-package.in (guix-package)[find-package]: Return (package-version p),
	  not VERSION.

2012-11-19  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Add `--list-available'.
	* guix-package.in (show-help, %options): Add `--list-available'.
	  (guix-package)[process-query]: Add support for `--list-available'.
	* doc/guix.texi (Invoking guix-package): Document it.
	* tests/guix-package.sh: Add test.

	* guix/ui.scm (location->string): New procedure.
	* guix/utils.scm: Export <location>.

2012-11-19  Ludovic Courtès  <ludo@gnu.org>

	distro: Add `fold-packages'.
	* distro.scm (fold-packages): New procedure.
	  (find-packages-by-name): Use it instead of hand-written traversal;
	  remove `package?' checks from `right-package?'.
	* tests/packages.scm ("fold-packages"): New test.

	guix-package: Add `--list-installed'.
	* guix-package.in (show-help, %options): Add `--list-installed'.
	  (guix-package): Move main body to...
	  [process-actions]: ... here.  New internal procedure.
	  [process-query]: New procedure.
	* tests/guix-package.sh: Add tests for `--list-installed'.
	* doc/guix.texi (Invoking guix-package): Document it.

	guix-package: Fix typo.
	* guix-package.in (guix-package)[find-package]: Don't use `_' as the
	  wildcard, to avoid collision with `gettext'.

	distro: Add GNU Zile.
	* distro/packages/zile.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add GNU help2man.
	* distro/packages/help2man.scm: New file.
	* Makefile.am (MODULES): Add it.

2012-11-18  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU Pies and GNU Inetutils.
	* distro/packages/system.scm: New file.
	* Makefile.am (MODULES): Add it.

	build: Add `hydra.scm'.
	* hydra.scm: New file.
	* Makefile.am (EXTRA_DIST): Add it.

	doc: Add `ROADMAP'.
	* ROADMAP: New file.
	* Makefile.am (EXTRA_DIST): Add it.

	doc: Add `TODO'.
	* TODO: New file.
	* Makefile.am (EXTRA_DIST): Add it.

	doc: Add a "Related software" section to `README'.
	* README (Related software): New section.

	Turn Guix into "GNU Guix".
	* configure.ac: Change package name to "GNU Guix", and bug-report
	  address to `gnu-system-discuss@gnu.org'.
	* doc/guix.texi: Replace "Guix" by "GNU Guix" in some places.
	  (Top, Introduction): Mention "for the GNU system".
	* HACKING, README: Use "GNU Guix" instead of "Guix" in some places.

2012-11-16  Ludovic Courtès  <ludo@gnu.org>

	distro: Rebuild bootstrap Binutils and GCC.
	These new binaries are built with the `--with-lib-path' and
	`--with-local-prefix' flags, respectively, as introduced in commit
	01d4540.

	* distro/packages/bootstrap.scm (%bootstrap-coreutils&co,
	  %bootstrap-glibc): Update URL.
	  (%bootstrap-binutils, %bootstrap-gcc): Update URL and hashes.
	* build-aux/download.scm (file-name->uri): Update URL.

2012-11-16  Ludovic Courtès  <ludo@gnu.org>

	distro: Configure ld and GCC to not look under /usr & co.
	This fixes impurities with non-chroot builds on LFS-style distros.

	* distro/packages/base.scm (binutils): Pass `--with-lib-path'.
	  (gcc-4.7): Pass `--with-local-prefix'.
	* distro/packages/make-bootstrap.scm (%binutils-static): Pass
	  `--with-lib-path'.

2012-11-13  Ludovic Courtès  <ludo@gnu.org>

	guix-download: Use code from (guix build download).
	* guix-download.in (http-fetch, ftp-fetch): Remove.
	  (fetch-and-store): Replace `uri' parameter with `name', for the output
	  file name.  Redirect the output of `fetch' to the error port.
	  (guix-download): Call `url-fetch' for all URI schemes except `file'.
	  Handle PATH equal to #f.
	* guix/download.scm: Export `%mirrors'.
	* tests/guix-download.sh: Change erroneous URL, because URLs at
	  example.com are all valid redirections.

	guix-download: Add support for file:// URIs.
	* guix-download.in (fetch-and-store): New procedure.
	  (guix-download): Use it to compute PATH.  Call `add-to-store' when
	  a `file' URI scheme is used.
	* Makefile.am (AM_TESTS_ENVIRONMENT): New variable.
	* tests/guix-download.sh: Add test.

	guix-download: Gracefully handle invalid URIs.
	* guix-download.in (guix-download): Error out when `string->uri'
	  returns #f.  Use `leave' when the scheme is unknown.
	* tests/guix-download.sh: Add tests.

	distro: Add GNU Texinfo.
	* distro/packages/texinfo.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add GNU Libtasn1 and GnuTLS.
	* distro/packages/gnutls.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add GNU Nettle.
	* distro/packages/nettle.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add LZO.
	* distro/packages/compression.scm (lzo): New variable.

	tests: Make sure to use the bootstrap Guile.
	* tests/builders.scm ("url-fetch", "gnu-build"): Pass `url-fetch'
	  #:guile %BOOTSTRAP-GUILE.

	tests: Remove extraneous test.
	* tests/derivations.scm ("build-expression->derivation for fixed-output
	  derivation"): Remove test.  It is redundant with that in builders.scm,
	  and doesn't work out of the box with the statically-linked
	  %BOOTSTRAP-GUILE.

	build: Add $(top_builddir) to the load path.
	* Makefile.am (DOWNLOAD_FILE): Add $(top_builddir) to the search path,
	  since that's where guix/config.scm is.
	  (.scm.go): Likewise.

	distro: Patch libc to avoid accessing /etc/ld.so.cache and friends.
	* distro/packages/base.scm (glibc): Apply `glibc-no-ld-so-cache.patch'.
	  (glibc-final): Inherit GLIBC's inputs.
	* distro/packages/patches/glibc-no-ld-so-cache.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

	distro: Use `mirror://' URLs.
	* distro/packages/base.scm, distro/packages/bash.scm,
	  distro/packages/compression.scm, distro/packages/gawk.scm,
	  distro/packages/gperf.scm, distro/packages/guile.scm,
	  distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
	  distro/packages/libunistring.scm, distro/packages/m4.scm,
	  distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
	  distro/packages/pth.scm, distro/packages/readline.scm,
	  distro/packages/recutils.scm: Use `mirror://gnu' URLs.
	* distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.

2012-11-13  Ludovic Courtès  <ludo@gnu.org>

	download: Add support for mirror:// URLs.
	* guix/download.scm (%mirrors): New variable.  Mirror lists taken from
	  Nixpkgs.
	  (url-fetch): New `mirrors' keyword parameter.
	  [builder]: Pass it.

	* guix/build/download.scm (url-fetch): New `mirrors' keyword parameter.
	  [maybe-expand-mirrors]: New procedure.
	  [uri]: Use it.

2012-11-13  Ludovic Courtès  <ludo@gnu.org>

	download: Follow HTTP redirections.
	* guix/build/download.scm (http-fetch): Follow the redirection when CODE
	  is 302.

	Remove (guix http) and (guix ftp).
	* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm:
	  Remove.
	* Makefile.am (MODULES): Likewise.
	* tests/builders.scm, distro/packages/base.scm,
	  distro/packages/bash.scm, distro/packages/bdw-gc.scm,
	  distro/packages/compression.scm, distro/packages/gawk.scm,
	  distro/packages/gnupg.scm, distro/packages/gperf.scm,
	  distro/packages/guile.scm, distro/packages/libffi.scm,
	  distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
	  distro/packages/libunistring.scm, distro/packages/lout.scm,
	  distro/packages/m4.scm, distro/packages/multiprecision.scm,
	  distro/packages/ncurses.scm, distro/packages/perl.scm,
	  distro/packages/pkg-config.scm, distro/packages/pth.scm,
	  distro/packages/readline.scm, distro/packages/recutils.scm: Use
	  `url-fetch' instead of `http-fetch' and `ftp-fetch'.
	* distro/packages/bootstrap.scm: Likewise
	  (bootstrap-origin): Remove references to `http-fetch' and
	  `ftp-fetch'.
	* guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.

2012-11-12  Ludovic Courtès  <ludo@gnu.org>

	Add (guix download) and (guix build download).
	* guix/download.scm, guix/build/download.scm: New files.
	* Makefile.am (MODULES): Add them.
	* tests/builders.scm ("url-fetch"): New test.
	* distro/packages/bootstrap.scm (bootstrap-origin): Support
	  `url-fetch'.
	* guix/snix.scm (snix-derivation->guix-package): Use `url-fetch' instead
	  of `http-fetch'.

2012-11-11  Ludovic Courtès  <ludo@gnu.org>

	Move base32 code to (guix base32).
	* guix/utils.scm (bytevector-quintet-ref, bytevector-quintet-ref-right,
	  bytevector-quintet-length, bytevector-quintet-fold,
	  bytevector-quintet-fold-right, make-bytevector->base32-string,
	  %nix-base32-chars, %rfc4648-base32-chars, bytevector->base32-string,
	  bytevector->nix-base32-string, bytevector-quintet-set!,
	  bytevector-quintet-set-right!, base32-string-unfold,
	  base32-string-unfold-right, make-base32-string->bytevector,
	  base32-string->bytevector, nix-base32-string->bytevector): Move to...
	* guix/base32.scm: ... here.  New file.

	* tests/utils.scm (%nix-hash, "bytevector->base32-string",
	  "base32-string->bytevector", "nix-base32-string->bytevector", "sha256
	  & bytevector->base32-string"): Move to...
	* tests/base32.scm: ... here.  New file

	* guix-download.in, guix/derivations.scm, guix/packages.scm,
	  guix/snix.scm, tests/builders.scm, tests/derivations.scm: Adjust
	  accordingly.
	* guix.scm (%public-modules): Add `base32'.

2012-11-09  Ludovic Courtès  <ludo@gnu.org>

	tests: Choose a less expensive test for packages.
	* tests/packages.scm (%bootstrap-inputs): Remove.
	  ("GNU Hello"): Rename to...
	  ("GNU Make, bootstrap"): ... this.  Build GNU-MAKE-BOOT0 instead of
	  HELLO.

	http: Add informative output.
	* guix/build/http.scm (http-fetch): Emit message indicating the
	  download.

	http: Check the HTTP response code, and bail if not 200.
	* guix/build/http.scm (http-fetch): Check RESP's code; error out when
	  it's not 200.

	derivations: build-expression->derivation: Builder only refers to sources.
	* guix/derivations.scm (build-expression->derivation)[source-path]: New
	  procedure.
	  [builder]: Pass only sources as references.  This fixes a bug whereby
	  changing a fixed-output drv referred to by a builder would cause the
	  builder's hash to change, thereby leading to a full rebuild.
	* tests/derivations.scm ("build-expression->derivation with a
	  fixed-output input"): New test.

2012-11-08  Ludovic Courtès  <ludo@gnu.org>

	derivations: Add tests relative to fixed-output derivations.
	* tests/derivations.scm ("fixed-output derivation"): Add comment that
	  the reference to BUILDER is optional.
	  ("fixed-output derivation: output paths are equal",
	  "derivation with a fixed-output input",
	  "build-expression->derivation: same fixed-output path"): New tests.

	store: Document `add-to-store' hack for `fixed?'.
	* guix/store.scm (add-to-store): Document that `fixed?' must be #t.

	guix-download: Print the hash of the file's contents, no that of the path.
	* guix-download.in (guix-download): Display the hash of the contents of
	  PATH, not the path hash.  Also, call `add-to-store' with FIXED? = #t.

2012-11-08  Ludovic Courtès  <ludo@gnu.org>

	guix-download: Error out when the HTTP response code is not 200.
	* guix-download.in (http-fetch): Leave with an error message when
	  RESPONSE's code is not 200.

	* tests/guix-download.sh: New file.
	* Makefile.am (TESTS): Add it.

2012-11-07  Ludovic Courtès  <ludo@gnu.org>

	guix-build: Error out when `-S' used for source-less package.
	* guix-build.in (derivations-from-package-expressions): Leave with an
	  error message when SOURCE? is #t and P has no source.

	* tests/guix-build.sh: Add test.

2012-11-07  Ludovic Courtès  <ludo@gnu.org>

	doc: Document the features and `guix-package'.
	* doc/guix.texi: Change the category to "Package management".  Add an
	  @direntry for "Invoking guix-package".
	  (Package Management): New chapter.

2012-11-07  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Fix handling of the PACKAGE:OUTPUT syntax.
	* guix-package.in (guix-package)[find-package]: Return the correct NAME
	  and SUB-DRV when NAME contains #\:.

	* tests/guix-package.sh (profile): Add test.

2012-11-07  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Fix invalid module use.
	* guix-package.in: Use (distro packages guile), not (... base).

	build: Remove now unnecessary dependency of downloads on guix/utils.go.
	* Makefile.am (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz,
	  distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz):
	  Remove dependency on guix/utils.go.

	doc: Document `guix-build'.
	* doc/guix.texi (Invoking guix-build): Populate.

	doc: Remove unnecessary @ifinfo.
	* doc/guix.texi: Remove @ifinfo around @dir{category,entry}.  Suggested
	  by Karl Berry <karl@freefriends.org>.

2012-11-06  Ludovic Courtès  <ludo@gnu.org>

	distro: Move bootstrap tarball packages to (distro packages make-bootstrap).
	* distro/packages/base.scm (binutils-final): Make public.
	  (static-package, %bash-static, %static-inputs, %static-binaries,
	  %binutils-static, %binutils-static-stripped, %glibc-stripped,
	  %gcc-static, %gcc-stripped, %guile-static, %guile-static-stripped,
	  tarball-package, %bootstrap-binaries-tarball,
	  %binutils-bootstrap-tarball, %glibc-bootstrap-tarball,
	  %guile-bootstrap-tarball): Move to...
	* distro/packages/make-bootstrap.scm: ... here.  New file.
	* Makefile.am (MODULES): Add it.

2012-11-05  Ludovic Courtès  <ludo@gnu.org>

	distro: bash-final: Link with `-static-libgcc'.
	* distro/packages/base.scm (bash-final): Pass through
	  `static-libgcc-package'.

	build-system/gnu: Add `static-libgcc-package' & supporting procedure.
	* guix/build-system/gnu.scm (package-with-extra-configure-variable,
	  static-libgcc-package): New procedures.

	distro: gcc: Don't add a RUNPATH to GCC when using `-static-libgcc'.
	* distro/packages/base.scm (gcc-4.7)[LIB_SPEC]: Add a `-rpath' to GCC
	  only when !static and !static-libgcc.

	distro: readline: Allow stripping of the libraires.
	* distro/packages/readline.scm (readline)[arguments]: Add `post-install'
	  phase to make libraries writable.

	utils: Add `default-keyword-arguments' and `substitute-keyword-arguments'.
	* distro/packages/base.scm (default-keyword-arguments,
	  substitute-keyword-arguments): Move to...
	* guix/utils.scm: ... here.

	distro: Add missing `package-with-bootstrap-guile'.
	* distro/packages/base.scm (binutils-final): Add missing
	  `package-with-bootstrap-guile'.

	distro: recutils: Comment out optional dependencies.
	* distro/packages/recutils.scm (recutils): Comment out optional
	  dependencies not packaged here.

	distro: Add GnuPG and companion libraries.
	* distro/packages/gnupg.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add zlib.
	* distro/packages/compression.scm (zlib): New variable.

2012-11-04  Ludovic Courtès  <ludo@gnu.org>

	distro: Add (distro packages compression).
	* distro/packages/base.scm (gzip, bzip2, xz): Move to...
	* distro/packages/compression.scm: ... here.  New file.
	* Makefile.am (MODULES): Add it.

	distro: Add GNU Pth.
	* distro/packages/pth.scm: New file.
	* Makefile.am (MODULES): Add it.

	distro: Add GNU gperf.
	* distro/packages/gperf.scm: New file.
	* Makefile.am (MODULES): Add it.
	* distro/packages/guile.scm (guile-reader): Use it.

2012-11-04  Ludovic Courtès  <ludo@gnu.org>

	distro: Split (distro packages base) into several files.
	* distro/packages/base.scm (libsigsegv, gawk, perl, m4, gmp, mpfr, mpc,
	  ncurses, readline, bash, libtool, libunistring, libffi, pkg-config,
	  libgc): Move to modules of their own.
	  (guile-1.8, guile-2.0): Move to...
	* distro/packages/guile.scm: ... here.

	* distro/packages/bash.scm, distro/packages/bdw-gc.scm,
	  distro/packages/gawk.scm, distro/packages/libffi.scm,
	  distro/packages/libsigsegv.scm, distro/packages/libtool.scm,
	  distro/packages/libunistring.scm, distro/packages/m4.scm,
	  distro/packages/multiprecision.scm, distro/packages/ncurses.scm,
	  distro/packages/perl.scm, distro/packages/pkg-config.scm,
	  distro/packages/readline.scm: New files.

2012-11-04  Ludovic Courtès  <ludo@gnu.org>

	distro: Move bootstrap packages to (distro packages bootstrap).
	* distro/packages/base.scm (glibc-dynamic-linker, %bootstrap-guile,
	  bootstrap-origin, package-from-tarball, %bootstrap-base-url,
	  %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc,
	  %bootstrap-gcc, %bootstrap-inputs, package-with-bootstrap-guile): Move
	  to ...
	* distro/packages/bootstrap.scm: ... here.  New file.
	* Makefile.am (MODULES): Add it.
	* tests/builders.scm: Use (distro packages bootstrap).
	  (%bootstrap-guile): Remove.
	* tests/packages.scm: Likewise.
	* tests/union.scm: Likewise, and remove @@ to access %bootstrap-inputs.
	* tests/derivations.scm: Use (distro packages bootstrap) and remove @@
	  to access %bootstrap-coreutils&co.
	* HACKING (When the platform is supported by Nixpkgs): Update
	  accordingly.

2012-11-04  Ludovic Courtès  <ludo@gnu.org>

	distro: Go for one module per package.
	The alternative, which was to use one module per category, would
	probably not scale well.  First, because many packages could fall into
	several categories (does GnuTLS go into "networking", "security", or
	"libraries"?).  Second, because that could easily lead to circular
	dependencies among modules ("security" and "networking" depend on each
	other, etc.)

	* distro/packages/databases.scm: Rename to...
	* distro/packages/recutils.scm: ... this.
	* distro/packages/typesetting.scm: Rename to...
	* distro/packages/lout.scm: ... this.
	* Makefile.am (MODULES): Adjust accordingly.
	* po/POTFILES.in: Likewise.

2012-11-04  Ludovic Courtès  <ludo@gnu.org>

	doc: Add "Adding new packages" in `HACKING'.
	* HACKING (Adding new packages): New section.

	Add (guix snix) and the `guix-import' command.
	* guix/snix.scm, tests/snix.scm, guix-import.in: New files.
	* configure.ac: Output `guix-import' and make it executable.
	* Makefile.am (bin_SCRIPTS): Add `guix-import'.
	  (MODULES): Add `guix/snix.scm'.
	  (TESTS): Add `tests/snix.scm'.

	guix-package: Remove extraneous procedures.
	* guix-package.in (_, N_): Remove.

	packages: `description' → `synopsis', `long-description' → `description'.
	* guix/packages.scm (<package>): Rename `description' to `synopsis', and
	  `long-description' to `description'.
	* tests/packages.scm, distro/packages/base.scm,
	  distro/packages/databases.scm, distro/packages/guile.scm,
	  distro/packages/typesetting.scm:  Update accordingly.
	* po/Makevars (XGETTEXT_OPTIONS): Update `--keyword' flags accordingly.

	release.nix: Pass `--with-libgcrypt-prefix' in the `tarball' job.
	* release.nix (jobs.tarball)[configureFlags]: Pass
	  `--with-libgcrypt-prefix'.

	utils: Add `package-name->name+version'.
	* guix/utils.scm (package-name->name+version): New procedure.
	* guix-package.in (guix-package)[find-package]: Use it.
	* tests/utils.scm ("package-name->name+version"): New test.

2012-11-03  Ludovic Courtès  <ludo@gnu.org>

	build: Require GNU libgcrypt.
	* guix/utils.scm (sha256): Remove Coreutils- and libchop-based
	  implementations.
	* README: Update accordingly.

	* m4/guix.m4: New file.
	* configure.ac: Use `GUIX_ASSERT_LIBGCRYPT_USABLE'.  Set and substitute
	  `LIBGCRYPT_PREFIX'.
	* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Pass
	  `--with-libgcrypt-prefix=$(LIBGCRYPT_PREFIX)'.

2012-11-03  Ludovic Courtès  <ludo@gnu.org>

	guix-package: Use more (guix ui) features.
	* guix-package.in (leave): Remove.
	  (guix-package): Wrap body in `with-error-handling'.

	ui: Factorize `--version'.
	* guix/ui.scm (show-version-and-exit): New procedure.
	* guix-build.in (show-version): Remove.
	  (%options)["version"]: Use `show-version-and-exit'.
	* guix-download.in: Likewise.
	* guix-package.in: Likewise.

2012-11-03  Ludovic Courtès  <ludo@gnu.org>

	build: Produce (guix config) instead of using compile-time tricks.
	* guix/config.scm.in: New file.
	* guix/utils.scm: Use it.
	  (%libgcrypt): Remove.
	  (%nixpkgs-directory): Don't capture the compile-time $NIXPKGS; use
	  %NIXPKGS instead.
	  (nixpkgs-derivation): Use %NIX-INSTANTIATE.
	* pre-inst-env.in (NIX_INSTANTIATE, NIXPKGS, LIBGCRYPT): Remove.

	* configure.ac: Emit `guix/config.scm'.
	* Makefile.am (GOBJECTS): Add `guix/config.go'.
	  (nobase_nodist_guilemodule_DATA): Add `guix/config.scm'.

2012-11-03  Ludovic Courtès  <ludo@gnu.org>

	build: Clearly mark Nixpkgs as optional.
	* configure.ac: Always show the result of checking for Nixpkgs.  Don't
	  warn when Nixpkgs is not found.
	* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Remove `--with-nixpkgs'
	  flag.
	* guix/utils.scm (%nixpkgs-directory): Use either the compile-time or
	  the run-time `NIXPKGS' environment variable.
	* release.nix (jobs.tarball, jobs.build): Remove `--with-nixpkgs'
	  configure flag.
	* README: Mark Nixpkgs as optional.

	* distro/packages/databases.scm, distro/packages/guile.scm,
	  distro/packages/typesetting.scm: Change uses of `nixpkgs-derivation*'
	  to `nixpkgs-derivation', to avoid failing at compile-time.

2012-11-02  Ludovic Courtès  <ludo@gnu.org>

	tests: Run without substitutes.
	* tests/builders.scm, tests/derivations.scm, tests/packages.scm: Set
	  #:use-substitutes? #f for %STORE.

2012-11-01  Ludovic Courtès  <ludo@gnu.org>

	Add a preliminary `guix-package' command-line tool.
	* guix-package.in, tests/guix-package.sh: New files.
	* configure.ac: Output `guix-package'.
	* Makefile.am (TESTS): Add `tests/guix-package.sh'.
	  (bin_SCRIPTS): Add `guix-package'.

	store: Add `store-path-package-name'.
	* guix/store.scm (store-path-package-name): New procedure.
	* tests/utils.scm ("store-path-package-name"): New test.

2012-11-01  Ludovic Courtès  <ludo@gnu.org>

	utils: Remove stuff committed by error.
	This was wrongfully committed in df1fab58.

	* guix/utils.scm (hash-set-proc, hash-ref*, memoizing-lambda): Remove.

2012-11-01  Ludovic Courtès  <ludo@gnu.org>

	build: Add unit test for the `guix-build' command.
	* tests/guix-build.sh: New file.
	* Makefile.am (TESTS): Add it.
	  (LOG_COMPILER): Rename to...
	  (SCM_LOG_COMPILER): ... this.  Move flags to...
	  (AM_SCM_LOG_FLAGS): ... this.
	  (TEST_EXTENSIONS, SH_LOG_COMPILER, AM_SH_LOG_FLAGS): New variables.

2012-11-01  Ludovic Courtès  <ludo@gnu.org>

	Add (guix ui).
	* guix/ui.scm: New file.
	* Makefile.am (MODULES): Add it.
	* po/POTFILES.in: Add it.

	* guix-build.in: Use it.
	  (_, N_, leave): Remove.
	  (guix-build): Use `with-error-handling' instead of the `guard' form.
	* guix-download.in: Use it.
	  (_, N_, leave): Remove.

2012-10-31  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Distinguish between imported modules and used modules.
	* guix/build-system/gnu.scm (gnu-build): Add the `imported-modules'
	  keyword parameter.  Pass it to `build-expression->derivation'.

	release.nix: Use `--no-substitutes' in `distro.hello'.
	* release.nix (distro.hello): Use `guix-build --no-substitutes', to
	  avoid failures due to unavailable stale substitutes on
	  hydra.nixos.org.

2012-10-30  Ludovic Courtès  <ludo@gnu.org>

	guix-build: Add `--root'.
	* guix/store.scm (add-indirect-root): New operation.
	* guix-build.in (show-help): Document `--root'.
	  (%options): Add `--root'.
	  (guix-build)[register-root]: New procedure.  Call it when `--root' is
	  passed.

2012-10-29  Ludovic Courtès  <ludo@gnu.org>

	Add (guix build union).
	* guix/build/union.scm, tests/union.scm: New files.
	* Makefile.am (MODULES): Add `guix/build/union.scm'.
	  (TESTS): Add `tests/union.scm'.

2012-10-28  Ludovic Courtès  <ludo@gnu.org>

	release.nix: Change `distro.hello' to produce something.
	* release.nix (distro.hello)[buildPhase]: Tee the log to $out.  Add a
	  `name' attribute; remove `buildInputs' and instead use the full path
	  to `guix-build'.

	distro: Build Bash sequentially.
	* distro/packages/base.scm (bash): Set `#:parallel-build?' and
	  `#:parallel-tests?' to #f.

	tests: Use our own bootstrap tools.
	* tests/builders.scm (%bootstrap-inputs): Use %BOOT0-INPUTS from the distro.
	* tests/packages.scm (%bootstrap-inputs): Likewise.
	* tests/derivations.scm (%coreutils): Alias for %BOOTSTRAP-COREUTILS&CO.

2012-10-27  Ludovic Courtès  <ludo@gnu.org>

	release.nix: Add a `distro.hello' job.
	* release.nix (distro.hello): New job.

	build: Preserve the executable bit of bootstrap binaries.
	* Makefile.am (install-data-hook): New target.

	build: Make sure scripts know where to find their modules.
	* guix-build.in, guix-download.in: Define `prefix' and `datarootdir', so
	  that `guilemoduledir' expands to something meaningful.

	release.nix: Pre-download the Guile bootstrap tarball.
	* release.nix (bootstrap_guile): New variable.
	  (build)[preBuild]: New attribute.

	build: Fix out-of-source-tree builds.
	* Makefile.am (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz,
	  distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz):
	  Make the target's parent directory.
	* pre-inst-env.in (DISTRO_BOOTSTRAP_PATH): Add the builddir-relative
	  directory.

2012-10-27  Ludovic Courtès  <ludo@gnu.org>

	distro: Change $DISTRO_{PATCH,BOOTSTRAP}_DIRECTORY to search paths.
	* distro.scm (not-colon): New variable.
	  (%patch-directory): Rename to...
	  (%patch-path): ... this.  Turn into a list.  Expect $DISTRO_PATCH_PATH
	  to be a colon-separated search path.
	  (%bootstrap-binaries-directory): Rename to...
	  (%bootstrap-binaries-path): ... this.  Likewise.
	  (search-patch, search-bootstrap-binary): Adjust accordingly.

	* pre-inst-env.in: Change to use `DISTRO_PATCH_PATH' and
	  `DISTRO_BOOTSTRAP_PATH'.

2012-10-27  Ludovic Courtès  <ludo@gnu.org>

	release.nix: Set succeed-on-failure and build-out-source-tree.
	* release.nix: Define `succeedOnFailure', `keepBuildDirectory', and
	  `buildOutOfSourceTree'.
	  (build): Inherit them.

	build: Move `distro/patches' to `distro/packages/patches'.
	* distro/patches: Move directory to...
	* distro/packages/patches: ... here.
	* Makefile.am (dist_patch_DATA): Adjust accordingly.
	* pre-inst-env.in (DISTRO_PATCH_DIRECTORY): Likewise.

	build: Use `pre-inst-env' to compile the source.
	* Makefile.am (.scm.go): Use `pre-inst-env' instead of re-defining the
	  environment variables, except for `DISTRO_INSTALLED_PATCH_DIRECTORY'
	  and `DISTRO_INSTALLED_BOOTSTRAP_DIRECTORY'.

	guix-build: Gracefully handle `&package-input-error' conditions.
	* guix/packages.scm: Export `package-error?' and `package-input-error?'.
	* guix-build.in (guix-build): Catch `&package-input-error' conditions,
	  print a human-readable message, and exit.

	location: Start column numbers at 1.
	* guix/utils.scm (source-properties->location): Use COL + 1.

2012-10-26  Ludovic Courtès  <ludo@gnu.org>

	distro: Add i686-linux port.
	* distro/packages/bootstrap/i686-linux/bash,
	  distro/packages/bootstrap/i686-linux/mkdir,
	  distro/packages/bootstrap/i686-linux/tar,
	  distro/packages/bootstrap/i686-linux/xz: New files.

	* distro/packages/base.scm (%bootstrap-coreutils&co,
	  %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add hashes of
	  the i686-linux tarballs.

	* Makefile.am (bootstrap_i686_linuxdir, dist_bootstrap_i686_linux_DATA,
	  nodist_bootstrap_i686_linux_DATA): New variables
	  (DISTCLEANFILES): Add $(nodist_bootstrap_i686_linux_DATA).
	  (distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz):
	  New rule.

2012-10-26  Ludovic Courtès  <ludo@gnu.org>

	distro: gcc: Adjust to support non-x86_64 architectures.
	* distro/packages/base.scm (gcc-4.7)[arguments]: In the `pre-configure'
	  phase, patch all the relevant gcc/config files, not just those for
	  x86_64-linux-gnu.

2012-10-26  Ludovic Courtès  <ludo@gnu.org>

	utils: Remove special `substitute*' syntax for lists of files.
	* guix/build/utils.scm (substitute*): Remove special syntax for
	  list-of-files; instead, check whether FILE is `list?' at run time.

	* distro/packages/base.scm (gcc-4.7, %binutils-static): Adjust
	  accordingly.

2012-10-25  Ludovic Courtès  <ludo@gnu.org>

	doc: Add `HACKING'.
	* HACKING: New file.
	* Makefile.am (EXTRA_DIST): Add it.

	Add a `system' parameter to `nixpkgs-derivation'.
	* guix/utils.scm (nixpkgs-derivation): Add a `system' parameter.  Pass
	  it in the `nix-instantiate' invocation.

2012-10-25  Ludovic Courtès  <ludo@gnu.org>

	packages: Pass `system' around.
	* guix/packages.scm (package-source-derivation): Add `system'
	  parameter.  Pass it to METHOD.
	  (package-derivation)[expand-input]: Pass SYSTEM to
	  `package-derivation' and `package-source-derivation'.

	* distro/packages/base.scm (package-with-bootstrap-guile)[boot]: Pass
	  SYSTEM to FETCH.

2012-10-25  Ludovic Courtès  <ludo@gnu.org>

	derivations: Make sure `build-expression->derivation' & co. pass `system'.
	* guix/derivations.scm (imported-files): Call
	  `build-expression->derivation' with SYSTEM, not (%current-system).
	  (build-expression->derivation): Pass SYSTEM to `imported-modules' and
	  `compiled-modules'.

2012-10-25  Ludovic Courtès  <ludo@gnu.org>

	derivations: Pass the derivation of guile-for-build to `imported-files' & co.
	* guix/derivations.scm (%guile-for-build): Initialize to #f.
	  (imported-files, imported-modules, compiled-modules): Add `guile'
	  keyword parameter.  Pass it down to `build-expression->derivation'.
	  (build-expression->derivation)[guile-drv]: New variable.  Pass it as
	  the #:guile parameter for `imported-modules' and `compiled-modules'.

	* tests/derivations.scm: Set %GUILE-FOR-BUILD to the derivation of
	  %BOOTSTRAP-GUILE.

2012-10-25  Ludovic Courtès  <ludo@gnu.org>

	distro: Build the final inputs against the final Bash, not the bootstrap Bash.
	* distro/packages/base.scm (%boot4-inputs): New variable.
	  (guile-final): Use it.
	  (%final-inputs): Build with %BOOT4-INPUTS, not %BOOT3-INPUTS.

	distro: ncurses: Don't patch shebangs.
	* distro/packages/base.scm (ncurses): Pass #:patch-shebangs? #f.

	distro: Bootstrap using our own binaries instead of those from Nixpkgs.
	* distro/packages/base.scm (%bootstrap-inputs): Switch to using our own
	  bootstrap binaries instead of those from Nixpkgs.

	distro: Build glibc with `--enable-obsolete-rpc'.
	* distro/packages/base.scm (glibc-final): Pass `--enable-obsolete-rpc'.
	  (%bootstrap-glibc): Update hash accordingly.

	distro: Add missing Linux-Libre headers to the bootstrap glibc.
	* distro/packages/base.scm (%glibc-stripped): Copy all of Linux-Libre's
	  `include/asm' directory; copy a few linux/ headers too.
	  (%bootstrap-glibc): Update tarball hash.

	distro: Add a bootstrap GCC that uses binaries from the tarball.
	* distro/packages/base.scm (%bootstrap-gcc): New variable.

	Add `guix-download'.
	* guix-download.in: New file.
	* configure.ac: Emit `guix-download' and make it executable.
	* Makefile.am (bin_SCRIPTS): Add `guix-download'.
	* po/POTFILES.in: Add `guix-download.in'.

2012-10-24  Ludovic Courtès  <ludo@gnu.org>

	store: Add `query-path-hash'.
	* guix/store.scm (write-arg, read-arg): Add `base16' literal and
	  corresponding rule.
	  (query-path-hash): New operation.

	* tests/derivations.scm ("fixed-output derivation"): Check whether
	  `query-path-hash' returns a bytevector.

2012-10-24  Ludovic Courtès  <ludo@gnu.org>

	distro: Add missing commands in the bootstrap binaries.
	* distro/packages/base.scm (%static-inputs): Add an `awk' -> `gawk', and
	  `sh' -> `bash' symlinks.  Add `fgrep' and `egrep'.
	  (%bootstrap-coreutils&co): Use new tarball that contains that
	  symlink.

	* distro/packages/bootstrap/x86_64-linux/bash,
	  distro/packages/bootstrap/x86_64-linux/mkdir,
	  distro/packages/bootstrap/x86_64-linux/tar,
	  distro/packages/bootstrap/x86_64-linux/xz: Use binaries from that
	  tarball (the previous binaries hadn't gone through
	  `remove-store-references', which is fixed now.)

2012-10-24  Ludovic Courtès  <ludo@gnu.org>

	guix-build: Change `--local-build' to `--no-substitutes'.
	* guix-build.in (%default-options): Add `substitutes?'.
	  (show-help): Change `--local-build' to `--no-substitutes'.
	  (guix-build): Adjust accordingly.

	distro: Update file name of initial Binutils tarball.
	* distro/packages/base.scm (%bootstrap-binutils): Update remote file
	  name.

2012-10-24  Ludovic Courtès  <ludo@gnu.org>

	derivations: Compile the #:modules passed to `build-expression->derivation'.
	* guix/derivations.scm (imported-files)[parent-dirs]: Move to...
	  (parent-directories): ... here.  New procedure.
	  (compiled-modules): New procedure.
	  (build-expression->derivation): Use it.

	* tests/derivations.scm ("build-expression->derivation with modules"):
	  New test.

2012-10-24  Ludovic Courtès  <ludo@gnu.org>

	distro: Update bootstrap glibc package.
	* distro/packages/base.scm (%bootstrap-glibc): Update initial regexp to
	  make it less Nixish.  Update hash to new tarball.

	distro: Add required Linux-Libre headers to the glibc tarball.
	* distro/packages/base.scm (%glibc-stripped): Include required headers
	  from Linux-Libre.

2012-10-23  Ludovic Courtès  <ludo@gnu.org>

	distro: gcc: No longer store the absolute path of crt files.
	* distro/packages/base.scm (gcc-4.7): Define
	  STANDARD_STARTFILE_PREFIX_[12] instead of storing the absolute path of
	  crt files.

	distro: Fix GCC tarball to include the `libexec' directory.
	* distro/packages/base.scm (%gcc-stripped): Copy $gcc/libexec to $out.

	distro: Fix glibc tarball to include *.so.*.
	* distro/packages/base.scm (%glibc-stripped): Fix regexp to
	  include *.so.* in the output.

2012-10-22  Ludovic Courtès  <ludo@gnu.org>

	distro: Add a statically-linked GCC for bootstrapping.
	* distro/packages/base.scm (%gcc-static): New variable.
	  (%gcc-stripped): Use it.

2012-10-21  Ludovic Courtès  <ludo@gnu.org>

	distro: Add a package that gets the bootstrap glibc from a tarball.
	* distro/packages/base.scm (%bootstrap-glibc): New variable.

	distro: Add packages that get Coreutils, Binutils & co. from tarballs.
	* distro/packages/base.scm (package-from-tarball): New procedure.
	  (%bootstrap-base-url, %bootstrap-coreutils&co, %bootstrap-binutils):
	  New variables.

2012-10-21  Ludovic Courtès  <ludo@gnu.org>

	packages: Add support for system-dependent inputs.
	* guix/packages.scm (package-derivation)[intern]: New procedure.  Pass
	  #t as the `recursive?' argument, instead of #f.
	  [expand-input]: New procedure, with code formerly in the body.
	  Support inputs where the input is a procedure returning a file name or
	  an <origin>.
	  Use `expand-input' in the body.

	* tests/packages.scm ("trivial with system-dependent input"): New test.

2012-10-21  Ludovic Courtès  <ludo@gnu.org>

	distro: Add a bootstrap GCC tarball.
	* distro/packages/base.scm (%gcc-stripped, %gcc-bootstrap-tarball): New
	  variables.

	distro: Add a bootstrap glibc tarball.
	* distro/packages/base.scm (%glibc-stripped, %glibc-bootstrap-tarball):
	  New variables.

2012-10-20  Ludovic Courtès  <ludo@gnu.org>

	distro: Add tools to build a tarball of statically-linked Binutils programs.
	* distro/packages/base.scm (%binutils-static, %binutils-static-stripped,
	  %binutils-bootstrap-tarball): New variables.

	distro: Add a package to build a tarball of the bootstrap binaries.
	* distro/packages/base.scm (tarball-package): New procedure.
	  (%bootstrap-binaries-tarball): New variable.
	  (%guile-bootstrap-tarball): Define in terms of `tarball-package'.

2012-10-18  Ludovic Courtès  <ludo@gnu.org>

	guix-build: Add `--system'.
	* guix-build.in (derivations-from-package-expressions): New `system'
	  parameter.  Pass it to `package-derivation'.
	  (%default-options): Add `system' pair.
	  (show-help): Describe `--system'.
	  (%options): Add it.
	  (guix-build): Check the `system' pair in OPTS; pass it to
	  `derivations-from-package-expressions' and `package-derivation'.

	distro: Provide a more descriptive report when a bootstrap binary is missing.
	* distro/packages/base.scm (%bootstrap-guile): Error out when
	  `search-bootstrap-binary' returns #f.

2012-10-18  Ludovic Courtès  <ludo@gnu.org>

	distro: Use the bootstrap Guile for the derivation of sources.
	* distro/packages/base.scm (bootstrap-origin,
	  package-with-bootstrap-guile): New procedures.
	  (gnu-make-boot0, diffutils-boot0, findutils-boot0, binutils-boot0,
	  gcc-boot0, linux-libre-headers-boot0, glibc-final, bash-final,
	  guile-final): Use `package-with-bootstrap-guile'.
	  (gcc-boot0-wrapped): Clear `source'.

	* guix/ftp.scm (ftp-fetch): Add a #:guile keyword parameter.  Honor it.
	* guix/http.scm (http-fetch): Likewise.

2012-10-18  Ludovic Courtès  <ludo@gnu.org>

	http/ftp: Tweak to avoid depending on libc's NSS.
	* guix/build/http.scm (open-connection-for-uri): New procedure.
	  (http-fetch): Use it.  Pass the result as a #:port argument to
	  `http-get'.
	  Add hack to modify the `set-port-encoding!' binding in (web response).

	* guix/ftp-client.scm (ftp-open): Add optional `port' parameter,
	  defaulting to 21.  When calling `getaddrinfo', convert PORT to a
	  string and pass AI_NUMERICSERV when PORT is a number.

2012-10-18  Ludovic Courtès  <ludo@gnu.org>

	guix-build: Add `--local-build'.
	* guix-build.in (show-help): Add `--local-build'.
	  (%options): Likewise.
	  (guix-build): Pass `set-build-options' the #:use-substitutes? argument
	  accordingly.

	distro: bzip2: Simplify installation phase with `find-files'.
	* distro/packages/base.scm (bzip2): Use `find-files' instead of rolling
	  our own with `file-system-fold'.

	distro: %static-binaries: Use (guix build utils).
	* distro/packages/base.scm (%static-binaries): Add missing
	  use of (guix build utils).

	distro: Fix bootstrapping regression recently introduced.
	* distro/packages/base.scm (gcc-boot0-wrapped): Fix typo introduced in
	  a52e429f76282080c58444ce2ac82a1968d5f29d ("distro: Add i686 support.")

2012-10-17  Ludovic Courtès  <ludo@gnu.org>

	distro: Clear references to the store in static binaries.
	* distro/packages/base.scm (%static-binaries): Clear references to the
	  store path for files in $out/bin.

	utils: Add `find-files'.
	* guix/build/utils.scm (find-files): New procedure.

2012-10-17  Ludovic Courtès  <ludo@gnu.org>

	utils: Add `copy-recursively'; use it.
	* guix/build/utils.scm (copy-recursively): New procedure.

	* distro/packages/base.scm (%guile-static-stripped): Use it.

2012-10-17  Ludovic Courtès  <ludo@gnu.org>

	utils: Add `mkdir-p'; use it.
	* guix/build/utils.scm (mkdir-p): New procedure.

	* distro/packages/base.scm (gnu-make-boot0, gcc-boot0-wrapped,
	  ld-wrapper-boot3, %static-binaries, %guile-static-stripped): Use it.
	* distro/packages/typesetting.scm (lout): Likewise.

2012-10-17  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Pass the system type to the builder.
	* guix/build-system/gnu.scm (gnu-build)[builder]: Pass SYSTEM to
	  `gnu-build' as a keyword argument.

2012-10-17  Nikita Karetnikov  <nikita@karetnikov.org>

	distro: Add i686 support.
	* distro/packages/base.scm (gcc-4.7): Turn `arguments' into a lambda.
	  Use `glibc-dynamic-linker' instead of the hard-coded linker name.

2012-10-17  Ludovic Courtès  <ludo@gnu.org>

	distro: Switch to Linux-Libre.
	* distro/packages/base.scm (linux-headers): Rename to...
	  (linux-libre-headers): ... this.  Change `name', `source', and
	  `description', and `home-page' accordingly.  Update users.
	  (linux-headers-boot0): Rename to...
	  (linux-libre-headers-boot0): ... this.  Update users.

2012-10-17  Ludovic Courtès  <ludo@gnu.org>

	distro: Use our own pre-built Guile to bootstrap.
	* distro/packages/base.scm (%bootstrap-guile): Build from a tarball
	  containing a pre-built Guile.

	* distro.scm (%bootstrap-binaries-directory): New variable.
	  (search-bootstrap-binary): New procedure.

	* Makefile.am (bootstrapdir, bootstrap_x86_64_linuxdir,
	  dist_bootstrap_x86_64_linux_DATA, DISTCLEANFILES, DOWNLOAD_FILE): New
	  variables.
	  (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz):
	  New rule.
	  (EXTRA_DIST): Add `build-aux/download.scm'.
	  (.scm.go): Define the `DISTRO_BOOTSTRAP_DIRECTORY' and
	  `DISTRO_INSTALLED_BOOTSTRAP_DIRECTORY' environment variables.

	* pre-inst-env.in: Define `DISTRO_BOOTSTRAP_DIRECTORY'.

	* build-aux/download.scm: New file.
	* distro/packages/bootstrap/x86_64-linux/{bash, mkdir, tar, xz}: New
	  files.

2012-10-17  Ludovic Courtès  <ludo@gnu.org>

	distro: Add package that builds a tarball of the bootstrap Guile.
	* distro/packages/base.scm (%guile-static-stripped): New variable.

2012-10-17  Ludovic Courtès  <ludo@gnu.org>

	distro: Add patch to allow the bootstrap Guile to work without iconv.
	* distro/patches/guile-default-utf8.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

	* distro/packages/base.scm (%guile-static): Use it.
	  (%guile-static-stripped): Add call to `remove-store-references'.

2012-10-17  Ludovic Courtès  <ludo@gnu.org>

	distro: Change relocatable-Guile patch to work around broken argv[0].
	* distro/patches/guile-relocatable.patch: Change to use /proc/self/exe
	  instead of PROGRAM_INVOCATION_NAME.  Useful because Nix itself passes
	  just the basename of builders that it executes.

	build: Use `pre-inst-env' to run tests.
	* Makefile.am (TESTS_ENVIRONMENT): Remove.
	  (LOG_COMPILER): Use `pre-inst-env'.

	release.nix: Add dependency on GNU Texinfo.
	* release.nix (tarball)[buildNativeInputs]: Add `texinfo'.

2012-10-16  Ludovic Courtès  <ludo@gnu.org>

	utils: Add `fold-port-matches' and `remove-store-references'.
	* guix/build/utils.scm (fold-port-matches, remove-store-references): New
	  procedures.

	* tests/build-utils.scm ("fold-port-matches", "fold-port-matches,
	  trickier", "fold-port-matches, with unmatched chars"): New tests.

2012-10-16  Ludovic Courtès  <ludo@gnu.org>

	utils: Add `with-atomic-file-replacement'.
	* guix/build/utils.scm (with-atomic-file-replacement): New procedure.
	  (substitute): Use it.

2012-10-13  Ludovic Courtès  <ludo@gnu.org>

	distro: Add a statically-linked, relocatable Guile 2.0 package.
	* distro/packages/base.scm (%guile-static, %guile-static-stripped): New
	  variables.

	* distro/patches/guile-relocatable.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

2012-10-13  Ludovic Courtès  <ludo@gnu.org>

	ftp-client: Try all the addresses returned by `getaddrinfo'.
	* guix/ftp-client.scm (ftp-open): Upon connection failure, try the other
	  addresses returned by `getaddrinfo'.

2012-10-13  Ludovic Courtès  <ludo@gnu.org>

	doc: Add the stub of a manual.
	* doc/guix.texi: New file.
	* doc/fdl-1.3.texi: New file, copied from Gnulib.

	* Makefile.am (info_TEXINFOS): New variable.
	  (EXTRA_DIST): Add `doc/fdl-1.3.texi'.

2012-10-11  Ludovic Courtès  <ludo@gnu.org>

	distro: Add missing bits from previous commit.
	* distro/packages/base.scm (default-keyword-arguments): New procedure.

	distro: First stab at building statically-linked bootstrap binaries.
	* distro/packages/base.scm (static-package): New procedure.
	  (%bash-static, %static-inputs, %static-binaries): New variables.

2012-10-08  Ludovic Courtès  <ludo@gnu.org>

	Remove non-existent module from (guix).
	* guix.scm (%public-modules): Remove `snix', since that modules doesn't
	  exist yet.

	packages: Fix and optimize memoization of `package-derivation'.
	* guix/packages.scm (%derivation-cache): Pass an initial size of 100.
	  (cache): Use `hashq-set!', and use a SYSTEM/DRV pair as the value.
	  (cached-derivation): Update accordingly.

	packages: Micro-optimize `package-derivation'.
	* guix/packages.scm (package-derivation): Move `cache' call before the
	  traversal of PACKAGE's inputs.

2012-10-07  Ludovic Courtès  <ludo@gnu.org>

	derivations: Set input port to UTF-8 in `read-derivation'.
	* guix/derivations.scm (read-derivation): Set DRV-PORT's encoding to
	  UTF-8.

	Update the (guix) module.
	* guix.scm (%public-modules): Update list of current second-level
	  modules.

2012-10-07  Ludovic Courtès  <ludo@gnu.org>

	tests: Use bootstrap and Nixpkgs inputs to be less costly.
	* tests/builders.scm (%bootstrap-inputs, %bootstrap-guile): New
	  variables.
	  ("gnu-build"): Use them, by setting `#:implicit-inputs? #f' and `#:guile'.

	* tests/packages.scm (%bootstrap-inputs, %bootstrap-guile): New
	  variables.
	  ("trivial"): Pass `#:guile %bootstrap-guile'.
	  ("GNU Hello"): Use `package-with-explicit-inputs' to use
	  %BOOTSTRAP-GUILE and %BOOTSTRAP-INPUTS.

2012-10-07  Ludovic Courtès  <ludo@gnu.org>

	build-system/{gnu,trivial-build}: Fix handling of #:guile argument.
	* guix/build-system/gnu.scm (gnu-build)[guile-for-build]: Check whether
	  GUILE matches string? before checking whether it matches
	  derivation-path?.
	* guix/build-system/trivial.scm (trivial-build)[guile-for-build]:
	  Likewise.

2012-10-06  Ludovic Courtès  <ludo@gnu.org>

	distro: Specify use of the bootstrap Guile for the initial derivations.
	* distro/packages/base.scm (%bootstrap-guile): New variable.
	  (gnu-make-boot0, diffutils-boot0, findutils-boot0, binutils-boot0,
	  gcc-boot0, linux-headers-boot0, glibc-final, gcc-boot0-wrapped,
	  gcc-final, ld-wrapper-boot3, bash-final, guile-final): Add
	  `#:guile %bootstrap-guile' to the builder's arguments.

2012-10-06  Ludovic Courtès  <ludo@gnu.org>

	build-system/{gnu,trivial}: Add a `#:guile' keyword parameter.
	* guix/build-system/gnu.scm (package-with-explicit-inputs): New `guile'
	  keyword parameter.  Add it to P's arguments, and pass it in recursive
	  calls.
	  (gnu-build): New `guile' keyword parameter; new `guile-for-build'
	  variable.  Pass it as the `#:guile-for-build' parameter of
	  `build-expression->derivation'.

	* guix/build-system/trivial.scm (trivial-build): Likewise.

2012-10-05  Ludovic Courtès  <ludo@gnu.org>

	Support build-cores = 0; change `guix-build' to default to 0.
	* guix/build/gnu-build-system.scm (%parallel-job-count): New variable.
	  (build, check): Use it instead of $NIX_BUILD_CORES.

	* guix-build.in (guix-build): Default to 0 for the #:build-cores option.

2012-10-05  Ludovic Courtès  <ludo@gnu.org>

	Augment `README'.
	* README (Hacking): Mention `--with-nixpkgs'.  List the autotools and
	  Gettext, as suggested by Nikita Karetnikov <nikita.karetnikov@gmail.com>.

2012-10-04  Ludovic Courtès  <ludo@gnu.org>

	distro: Fix typo in warning message.
	* distro.scm (package-files): Add missing newline in warning message.

	Add `pre-inst-env' script.
	* pre-inst-env.in: New file.
	* configure.ac: Add it to `AC_CONFIG_FILES' and `AC_CONFIG_COMMANDS'.

	Fix and update `POTFILES.in'.
	* po/POTFILES.in: Update.

2012-09-26  Ludovic Courtès  <ludo@gnu.org>

	distro: Add libgc.
	* distro/packages/base.scm (libgc): New variable.
	  (guile-2.0): Use it.

	distro: Add pkg-config.
	* distro/packages/base.scm (pkg-config): New variable.
	  (guile-2.0): Use it.
	* distro/packages/guile.scm (guile-reader): Likewise.

2012-09-26  Ludovic Courtès  <ludo@gnu.org>

	distro: Add the `guile', `typesetting', and `databases' package modules.
	* distro.scm (package-files): Adjust PREFIX-LEN to use the top-level
	  directory, not %DISTRO-MODULE-DIRECTORY.
	* distro/packages/base.scm (guile-reader, guile-reader/guile-1.8,
	  guile-reader/guile-2.0, lout, recutils): Move to...
	* distro/packages/guile.scm, distro/packages/typesetting.scm,
	  distro/packages/databases.scm: ... here.  New files.
	* Makefile.am (MODULES): Add them.
	  (EXTRA_DIST): Add `.dir-locals.el'.

	* .dir-locals.el: New file, with settings formerly in `base.scm'.

2012-09-26  Ludovic Courtès  <ludo@gnu.org>

	distro: Rename (distro ...) to (distro packages ...).
	* distro/base.scm, distro/ld-wrapper.scm: Move to `distro/packages'.
	  Adjust LD-WRAPPER-BOOT3 input file name accordingly.
	* Makefile.am (MODULES): Adjust accordingly.
	* distro.scm (%distro-module-directory): Change to "/distro/packages".
	* guix/build-system/gnu.scm (standard-inputs): Change module name
	  to (distro packages base).
	* tests/packages.scm (test-packages): Likewise.

	distro: GCC: Upgrade to 4.7.2.
	* distro/base.scm (gcc-4.7): Upgrade to 4.7.2.

2012-09-26  Ludovic Courtès  <ludo@gnu.org>

	distro: Add an `ld' wrapper, to pass missing `-rpath' flags.
	* distro/ld-wrapper.scm: New file.
	* Makefile.am (MODULES): Add it.

	* distro/base.scm (ld-wrapper-boot3): New variable.
	  (%boot3-inputs): Add LD-WRAPPER-BOOT3.
	  (bash-final, guile-final, ld-wrapper): New final.
	  (%final-inputs): Use BASH-FINAL; add LD-WRAPPER.
	  (gcc-4.7): Remove the `-rpath' trick from the `lib' spec string.

2012-09-14  Ludovic Courtès  <ludo@gnu.org>

	distro: gcc: Patch `lib' spec to add `-rpath' for each `-L'.
	* distro/base.scm (gcc-4.7): Patch `LIB_SPEC' to add `-rpath' for each
	  `-L'.  Spec string suggested by Marc Glisse <marc.glisse@inria.fr>.
	  (libtool): Add `libtool-skip-tests.patch'.

	* distro/patches/libtool-skip-tests.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

2012-09-12  Ludovic Courtès  <ludo@gnu.org>

	Add (guix ftp) and companion modules.
	* guix/ftp-client.scm, guix/ftp.scm, guix/build/ftp.scm: New files.
	* Makefile.am (MODULES): Add them.

	* distro/base.scm (libffi): Use `ftp-fetch'.

2012-09-12  Ludovic Courtès  <ludo@gnu.org>

	distro: Use our own Perl during bootstrap.
	* distro/base.scm (linux-headers-boot0): Use PERL with %BOOT0-INPUTS
	  instead of calling out to `nixpkgs-derivation*'.

	distro: gcc: Add a RUNPATH on libc.
	* distro/base.scm (gcc-4.7): Remove unnecessary "libc" input.
	  Add `-rpath LIBC/lib' to `LIB_SPEC'.

2012-09-11  Ludovic Courtès  <ludo@gnu.org>

	distro: Add Perl.
	* distro/base.scm (perl): New variable.
	* distro/patches/perl-no-sys-dirs.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

2012-09-11  Ludovic Courtès  <ludo@gnu.org>

	distro: Bootstrap via a cross-toolchain.
	This allows the final toolchain to be completely independent of
	%BOOTSTRAP-INPUTS.

	* distro/base.scm (glibc-dynamic-linker): New procedure.
	  (gcc-4.7): Remove #:path-exclusions argument.  Check whether LIBC is
	  #f before using it.
	  (glibc): Remove "libc_cv_as_needed" hack.  Patch `Makeconfig' to
	  remove `-lgcc_s'.
	  (nix-system->gnu-triplet, boot-triplet): New variables.
	  (binutils-boot0): Turn into a cross-Binutils targeting (boot-triplet
	  SYSTEM).
	  (gcc-boot0): Likewise.  Add configure options to make a smaller
	  build.  Remove "binutils-source" from the input, and use
	  BINUTILS-BOOT0 instead.
	  (glibc-final): Cross-build using GCC-BOOT0 and BINUTILS-BOOT0.
	  (gcc-boot0-wrapped): New variable.
	  (%boot2-inputs): Use it.
	  (m4-boot2, gmp-boot2, mpfr-boot2, mpc-boot2): Remove.
	  (binutils-final): New variable.
	  (gcc-final): Turn into a joint build with GMP/MPFR/MPC.  Use
	  BINUTILS-FINAL.
	  (%boot3-inputs): Adjust accordingly.
	  (%boot4-inputs): Remove.
	  (%final-inputs): Use %BOOT3-INPUTS.

2012-09-10  Ludovic Courtès  <ludo@gnu.org>

	Add (guix build-system trivial).
	* guix/build-system/trivial.scm: New file.
	* Makefile.am (MODULES): Add it.
	* tests/packages.scm ("trivial"): New test.

	* guix/packages.scm (package-derivation): Allow SOURCE to be #f.

2012-09-07  Ludovic Courtès  <ludo@gnu.org>

	distro: Reduce the bootstrap set.
	* distro/base.scm (%bootstrap-inputs): Remove `gnumake', `diffutils',
	  and `findutils'.
	  (gnu-make-boot0, diffutils-boot0, findutils-boot0, %boot0-inputs): New
	  variables.
	  (binutils-boot0, gcc-boot0, linux-headers-boot0, %boot1-inputs):
	  Replace %BOOTSTRAP-INPUTS by %BOOT0-INPUTS.

	  (final-inputs): Remove now unneeded call to
	  `source-properties->location'.

2012-09-06  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Fix `#:path-exclusions' handling.
	* guix/build/gnu-build-system.scm (set-paths)[relevant-input-directories]:
	  New procedure.  Use it.  This fixes #:path-exclusions handling.

	utils: Make `set-path-environment-variable' verbose.
	* guix/build/utils.scm (set-path-environment-variable): Print ENV-VAR
	  and its value.

	distro: Bootstrap with a joint GCC/Binutils/GMP/MPFR/MPC build.
	* distro/base.scm (%bootstrap-inputs): Remove GMP, MPFR, and MPC.
	  (substitute-keyword-arguments): New macro.
	  (gcc-boot0): Add dependency on the Binutils, GMP, MPFR, and MPC
	  tarballs.  Add a `unpack-binutils&co' phase to unpack them and symlink
	  them so they get built, and to patch errors in `configure'.
	  (glibc-final): Use `substitute-keyword-arguments' instead of a loop.
	  (gcc-final): Inherit from GCC-4.7 instead of GCC-BOOT0.

	distro: gcc: Avoid retention of reference to `sed'.
	* distro/base.scm (gcc-4.7)[pre-configure]: Patch fixincl.x.

	distro: glibc: Assume a recent Linux kernel.
	* distro/base.scm (glibc): Pass "--enable-kernel=2.6.30".

	packages: Accept <origin> as package inputs.
	* guix/packages.scm (package-derivation): Accept use of an <origin> as
	  an input.

2012-09-05  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Relax location handling in `package-with-explicit-inputs'.
	* guix/build-system/gnu.scm (package-with-explicit-inputs): Convert LOC
	  when it is a source-property list.

	distro: mpc: Upgrade to 1.0.
	* distro/base.scm (mpc): Upgrade to 1.0.

	packages: Add `package-full-name'.
	* guix/packages.scm (package-full-name): New procedure.
	  (package-derivation): Use it.

2012-09-04  Ludovic Courtès  <ludo@gnu.org>

	guix-build: Add `--derivations'.
	* guix-build.in (show-help): Add `--derivations'.
	  (%options): Likewise.
	  (guix-build): Handle it.

	guix-build: Add `--source'.
	* guix-build.in (derivations-from-package-expressions): Add `source?'
	  parameter.  Honor it.
	  (show-help): Add `--source'.
	  (%options): Likewise.
	  (guix-build): Honor `--source'.

2012-09-03  Ludovic Courtès  <ludo@gnu.org>

	Move <location> to (guix utils).
	* guix/packages.scm (<location>, location): Move to...
	* guix/utils.scm: ... here.

	distro: bash, readline: Correctly set RUNPATH to the dependencies.
	* distro/base.scm (readline): Add configure flags to set an rpath on
	  ncurses.
	  (bash): Add configure flags to set an rpath to readline and ncurses.

2012-09-02  Ludovic Courtès  <ludo@gnu.org>

	distro: Add bzip2.
	* distro/base.scm (bzip2): New variable.
	  (%final-inputs): Add bzip2.

2012-09-02  Ludovic Courtès  <ludo@gnu.org>

	distro: Bootstrap standard inputs from Nixpkgs.
	This is a first step towards bootstrapping from a set of pre-built,
	statically-linked binaries.

	* guix/build-system/gnu.scm (package-with-explicit-inputs,
	  standard-inputs): New procedure.
	  (%store): New variable.
	  (%standard-inputs): Remove.
	  (gnu-build): New `implicit-inputs?' keyword parameter.  Use it to
	  choose whether to use `(standard-inputs SYSTEM)' or the empty list.

	* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
	  implicit.
	  (%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
	  %boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
	  mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
	  %final-inputs): New variables.

2012-09-02  Ludovic Courtès  <ludo@gnu.org>

	packages: Add `package-transitive-propagated-inputs'.
	* guix/packages.scm (transitive-inputs): New procedure.
	  (package-transitive-inputs): Rewrite in terms of `transitive-inputs'.
	  (package-transitive-propagated-inputs): New procedure.

	packages: Cache the result of `package-derivation'.
	* guix/packages.scm (%derivation-cache): New variable.
	  (cache, cached-derivation): New procedures.
	  (package-derivation): Use them.

	distro: recutils: Allow builds with glibc 2.16+.
	* distro/base.scm (recutils): Apply. `diffutils-gets-undeclared.patch'.

	distro: glibc: Propagate Linux headers.
	* distro/base.scm (glibc): Move LINUX-HEADERS from `native-inputs' to
	  `propagated-inputs'.  Remove unnecessary `_' in /bin/pwd substitution.

2012-09-02  Ludovic Courtès  <ludo@gnu.org>

	distro: diffutils: Allow builds with glibc 2.16+.
	* distro/patches/diffutils-gets-undeclared.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

	* distro/base.scm (diffutils): Apply. `diffutils-gets-undeclared.patch'.

2012-09-02  Ludovic Courtès  <ludo@gnu.org>

	distro: tar: Allow builds with glibc 2.16+.
	* distro/patches/tar-gets-undeclared.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

	* distro/base.scm (tar): Apply. `tar-gets-undeclared.patch'.

2012-09-02  Ludovic Courtès  <ludo@gnu.org>

	packages: Add a printer for <package>.
	* guix/packages.scm (<package>): Add record printer.

	Optimize `write-derivation' and `derivation-path->output-path'.
	* guix/derivations.scm (write-derivation): Explicitly use
	  `simple-format'.
	  (derivation-path->output-path): Memoize.

2012-09-01  Ludovic Courtès  <ludo@gnu.org>

	Optimize `store-path?'.
	* guix/store.scm (store-path?): Check with `string-prefix?' instead of a
	  regexp.

	build-system/gnu: Really apply patches.
	* guix/build/gnu-build-system.scm (patch): Use `--input FILE', not just
	  `FILE'.

2012-09-01  Ludovic Courtès  <ludo@gnu.org>

	utils: Change `substitute*' to allow iteration over several matches.
	* guix/build/utils.scm (substitute): Do not pass the OUT to PROC; use
	  `list-matches' instead of `regexp-exec' and pass a list of matches to
	  PROC. Expect PROC to return a string, and output that.  Fold over
	  RX+PROC in order.  Use `(read-line p 'concat)' to include the trailing
	  delimiter in LINE.
	  (substitute*): Produce code to iterate over the matches, and return a
	  string, which includes anything from the original line that's in
	  between matches.

	* distro/base.scm (gcc-4.7, glibc): Adjust accordingly: remove use
	  of (ice-9 regex) and `regexp-substitute/global'; return a string.

2012-09-01  Ludovic Courtès  <ludo@gnu.org>

	distro: m4: Add patch to allow builds with glibc 2.16+.
	* distro/base.scm (m4): Use `m4-gets-undeclared.patch'.

	* distro/patches/m4-gets-undeclared.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

2012-09-01  Ludovic Courtès  <ludo@gnu.org>

	Add a `guile-for-build' parameter to `build-expression->derivation'.
	* guix/derivations.scm (%guile-for-build): Use `nixpkgs-derivation*'
	  instead of `nixpkgs-derivation'.
	  (build-expression->derivation): New `guile-for-build' keyword
	  parameter.  Use it.

	Add an `env-vars' keyword parameter to `build-expression->derivation'.
	* guix/derivations.scm (build-expression->derivation): New `env-vars'
	  keyword parameter; default to '().  Use it.

2012-09-01  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add `path-exclusions' parameter.
	* guix/build/gnu-build-system.scm (set-paths): Add new `path-exclusions'
	  parameter; honor it.
	* guix/build-system/gnu.scm (gnu-build): New `path-exclusions' keyword
	  parameter; pass it to BUILDER.

	* distro/base.scm (gcc-4.7): Exclude "libc" from $LIBRARY_PATH.

2012-09-01  Ludovic Courtès  <ludo@gnu.org>

	distro: gcc: Allow `libstdc++' to be found.
	* distro/base.scm (gcc-4.7): Add `-rpath' arguments to `LIB_SPEC' to
	  allow `libstdc++' to be found by users.

	distro: gcc: Pass #:strip-binaries?.
	* distro/base.scm (gcc-4.7): Pass #:strip-binaries?.

2012-08-31  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Honor the `patch-shebangs?' and `strip-binaries?' parameters.
	* guix/build/gnu-build-system.scm (patch-shebangs): Honor
	  PATCH-SHEBANGS?.
	  (strip): Honor STRIP-BINARIES?.  Display a message from `strip-dir'.

	guix-build: Fix the "unrecognized option" error message.
	* guix-build.in (guix-build): Show the option name when an unrecognized
	  option is passed.

2012-08-31  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add a `strip' phase.
	* guix/build/gnu-build-system.scm (strip): New procedure.
	  (%standard-phases): Add it.

	* guix/build-system/gnu.scm (gnu-build): New `strip-binaries?',
	  `strip-flags', and `strip-directories' keyword parameters.  Pass them
	  to BUILDER.

2012-08-30  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Always invoke `configure' with a relative path.
	* guix/build/gnu-build-system.scm (configure): Change SRCDIR to always
	  be a relative path.

	distro: gcc: Do not store configure flags in the resulting binaries.
	* distro/base.scm (gcc-4.7): Add a `post-configure' phase to clear
	  `TOPLEVEL_CONFIGURE_ARGUMENTS' in the top-level `Makefile'.

2012-08-30  Ludovic Courtès  <ludo@gnu.org>

	define-record-type*: Add the `inherit' syntactic constructor keyword.
	* guix/utils.scm (define-record-type*)[make-syntactic-constructor]: New
	  `type' parameter.  Add the `inherit' keyword and corresponding support
	  code.

	* tests/utils.scm ("define-record-type* & inherit", "define-record-type*
	  & inherit & letrec* behavior"): New tests.

2012-08-29  Ludovic Courtès  <ludo@gnu.org>

	distro: Add missing Binutils patch.
	* distro/patches/binutils-ld-new-dtags.patch: New file.
	* Makefile.am (dist_patch_DATA): Add it.

2012-08-28  Ludovic Courtès  <ludo@gnu.org>

	distro: Add the GNU C Library.
	* distro/base.scm (glibc): New variable.

	distro: Add Linux headers.
	* distro/base.scm (linux-headers): New variable.

2012-08-27  Cyprien Nicolas (fulax)  <c.nicolas+gitorious@gmail.com>

	configure.ac: Make 'guild' configure check fatal, otherwise one gets 'compile: command not found' during make

2012-08-25  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU Binutils.
	* distro/base.scm (binutils): New variable.

	distro: Add GCC.
	* distro/base.scm (gcc-4.7): New variable.

	utils: Change `substitute*' to accept a list of files to patch.
	* guix/build/utils.scm (substitute*): Support a list of files as the
	  first argument.

2012-08-23  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add `out-of-source?' keyword parameter.
	* guix/build/gnu-build-system.scm (configure): Add an `out-of-source?'
	  keyword parameter; build out-of-source-tree when #t.
	* guix/build-system/gnu.scm (gnu-build): Add `out-of-source?' keyword
	  parameter.  Pass it in BUILDER.

	packages: Raise an error condition upon invalid input.
	* guix/packages.scm (&package-error, &package-input-error): New
	  condition types.
	  (package-derivation): Raise a `&package-input-error' when no match is
	  made.

	distro: coreutils: Remove erroneous hack.
	* distro/base.scm (coreutils)[arguments]: Remove
	  "FORCE_UNSAFE_CONFIGURE" setting, since in fact, this is no problem
	  when using Nix with separate build users.

2012-08-22  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU Coreutils.
	* distro/base.scm (coreutils): New variable.

	distro: Add XZ.
	* distro/base.scm (xz): New variable.

	distro: Add GNU gzip.
	* distro/base.scm (gzip): New variable.

	distro: Add GNU Patch.
	* distro/base.scm (patch): New variable.

	distro: Add GNU Diffutils.
	* distro/base.scm (diffutils): New variable.

	build: Bump version number.
	* configure.ac: Switch to version 0.1.

	Add `close-connection'.
	* guix/store.scm (close-connection): New procedure.

2012-08-22  Ludovic Courtès  <ludo@gnu.org>

	distro: Move patches to their own directory.
	* Makefile.am (nobase_dist_guilemodule_DATA): Keep only $(MODULES).
	  (patchdir): New variable.
	  (dist_patch_DATA): New variable.  Patch files formerly
	  in $(nobase_dist_guilemodule_DATA).
	  (.scm.go): Define `DISTRO_PATCH_DIRECTORY' and
	  `DISTRO_INSTALLED_PATCH_DIRECTORY'.
	  (TESTS_ENVIRONMENT): Define `DISTRO_PATCH_DIRECTORY'.

	* distro.scm (%patch-directory): New variable.
	  (search-patch): New procedure.
	* distro/base.scm: Use `search-patch' instead of `(search-path
	  %load-path ...)'.

	* distro/findutils-absolute-paths.patch, distro/guile-1.8-cpp-4.5.patch,
	  distro/m4-readlink-EINVAL.patch, distro/m4-s_isdir.patch,
	  distro/make-impure-dirs.patch: Move to `distro/patches'.

2012-08-22  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU Findutils.
	* distro/base.scm (findutils): New variable.
	* distro/findutils-absolute-paths.patch: New file.
	* Makefile.am (nobase_dist_guilemodule_DATA): Add it.

	distro: Add GNU grep.
	* distro/base.scm (grep): New variable.

	distro: Add GNU tar.
	* distro/base.scm (tar): New variable.

	distro: Add GNU sed.
	* distro/base.scm (sed): New variable.

2012-08-21  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU Bash.
	* distro/base.scm (bash): New variable.

	distro: Add GNU Make.
	* distro/base.scm (gnu-make): New variable.
	* distro/make-impure-dirs.patch: New file.
	* Makefile.am (nobase_dist_guilemodule_DATA): Add it.

2012-08-19  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Augment $PATH with $out for `patch-shebangs'.
	* guix/build/gnu-build-system.scm (patch-shebangs): Add BINDIRS to
	  $PATH, and pass that to `patch-shebang'.

	utils: Add a `path' argument to `patch-shebang'.
	* guix/build/utils.scm (patch-shebang): Add an optional `path'
	  parameter.  Change SHEBANG-RX to match the whole interpreter file
	  name.  Don't patch when BIN and CMD are the same.  Add docstring.

	distro: gmp: Fix typo in URL.
	* distro/base.scm (gmp): Fix URL.

2012-08-19  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add a `patch-shebangs' phase.
	* guix/build/gnu-build-system.scm (patch-shebangs): New procedure.
	  (%standard-phases): Add it.

	* guix/build-system/gnu.scm (gnu-build): New `patch-shebangs?' keyword
	  parameter.  Pass it to the builder's `gnu-build'.

2012-08-19  Ludovic Courtès  <ludo@gnu.org>

	utils: Add `patch-shebang'.
	* guix/build/utils.scm (search-path-as-string->list): New procedure.
	  (dump-port, patch-shebang): New procedures.

2012-08-17  Ludovic Courtès  <ludo@gnu.org>

	release.nix: Add dependency on GNU libgcrypt.
	* release.nix (build)[configureFlags]: Add `--with-libgcrypt-prefix'.

2012-08-17  Ludovic Courtès  <ludo@gnu.org>

	build: Add `--with-libgcrypt-prefix'; capture the path to libgcrypt.
	* configure.ac: Add `--with-libgcrypt-prefix'.  Substitute `LIBGCRYPT'.

	* Makefile.am (.scm.go): Pass $(LIBGCRYPT).

	* guix/utils.scm (%libgcrypt): New variable.
	  (sha256): Use it.

2012-08-16  Ludovic Courtès  <ludo@gnu.org>

	packages: Add all non-derivation paths to the store.
	* guix/packages.scm (package-derivation): Add all non-derivation paths
	  to the store.

	packages: Allow store paths as inputs.
	* guix/packages.scm (package-derivation): Allow non-derivation store
	  paths as inputs.

2012-08-14  Ludovic Courtès  <ludo@gnu.org>

	release.nix: Build out of chroot.
	* release.nix: Add `preConfigure' and `__noChroot' attributes.

	build: Pass the right flags for "make distcheck".
	* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): New variable.
	* configure.ac: Define and substitute `NIX_PREFIX'.

	build: Add `test.drv' to the distribution.
	* Makefile.am (EXTRA_DIST): Add `tests/test.drv'.

2012-08-14  Ludovic Courtès  <ludo@gnu.org>

	build: Pass $(NIX_INSTANTIATE) to the build and test environments.
	* Makefile.am (.scm.go): Define $NIX_INSTANTIATE.
	  (TESTS_ENVIRONMENT): Likewise, and define $NIX_HASH.
	* guix/utils.scm (nixpkgs-derivation): Use $NIX_INSTANTIATE when
	  defined.

	* tests/utils.scm (%nix-hash): New variable.
	  ("sha256 & bytevector->nix-base32-string"): Use it.

2012-08-14  Ludovic Courtès  <ludo@gnu.org>

	build: Add SRFI-64 to the distribution.
	* Makefile.am (MODULES): Add `srfi/srfi-64.scm' and
	  `srfi/srfi-64.upstream.scm'.

	build: Add release.nix.
	* release.nix: New file.
	* Makefile.am (EXTRA_DIST): Add it.

2012-07-21  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU MPC.
	* distro/base.scm (mpc): New variable.

	distro: Add GNU MPFR.
	* distro/base.scm (mpfr): New variable.

	distro: Add GNU recutils.
	* distro/base.scm (recutils): New variable.

2012-07-13  Ludovic Courtès  <ludo@gnu.org>

	distro: Add libffi.
	* distro/base.scm (libffi): New variable.
	  (guile-2.0): Use it.

2012-07-12  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU Ncurses.
	* distro/base.scm (ncurses): New variable.
	  (readline): Use it.

2012-07-12  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU Readline.
	* distro/base.scm (readline): New variable.
	  (guile-1.8, guile-2.0): Use it.

	* distro/readline-link-ncurses.patch: New file.
	* Makefile.am (nobase_dist_guilemodule_DATA): Add it.

2012-07-12  Ludovic Courtès  <ludo@gnu.org>

	guix-build: Default the number of build cores to (current-processor-count).
	* guix-build.in (guix-build): Use (current-processor-count) build cores
	  by default.

2012-07-11  Ludovic Courtès  <ludo@gnu.org>

	Add `nixpkgs-derivation*'; use it in the distro.
	* guix/utils.scm (nixpkgs-derivation*): New macro.

	* distro/base.scm: Use it instead of `nixpkgs-derivation'.

2012-07-11  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU libunistring.
	* distro/base.scm (libunistring): New variable.
	  (guile-2.0): Use it.

	distro: Add GNU Libtool.
	* distro/base.scm (libtool): New variable.
	  (guile-1.8, guile-2.0): Use it.

	distro: Add GMP.
	* distro/base.scm (gmp): New variable.
	  (guile-1.8, guile-2.0): Use it.

2012-07-11  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU M4.
	* distro/base.scm (m4): New variable.

	* distro/m4-readlink-EINVAL.patch, distro/m4-s_isdir.patch: New files.
	* Makefile.am (nobase_dist_guilemodule_DATA): Add them.

2012-07-07  Ludovic Courtès  <ludo@gnu.org>

	build: Use Automake's `gnu' option.
	* configure.ac: Use Automake's `gnu' option.
	* ChangeLog, NEWS: New files.

	build: Adjust tests to Automake 1.12.
	* Makefile.am (TESTS_ENVIRONMENT): Remove `guile' invocation.  Add
	  semicolons, and export the variables as shown in the Automake 1.12
	  manual.
	  (LOG_COMPILER): New variable, with `guile' invocation.

	Add `THANKS'.

	build: Tell xgettext that the source is UTF-8.
	* po/Makevars (XGETTEXT_OPTIONS): Add `--from-code=UTF-8'.

	distro: Add Guile-Reader.
	* distro/base.scm (guile-reader): New procedure.
	  (guile-reader/guile-1.8, guile-reader/guile-2.0): New variables.

	Unset `LD_LIBRARY_PATH' in `build-expression->derivation'.
	* guix/derivations.scm (build-expression->derivation)[prolog]: Unset
	  `LD_LIBRARY_PATH'.

	build-system/gnu: Add dependency on GNU Findutils.
	* guix/build-system/gnu.scm (%standard-inputs): Add "findutils".

	distro: guile-2.0: Propagate libunistring and Libtool.
	* distro/base.scm (guile-2.0): Propagate libunistring and Libtool.

	distro: guile-1.8: Propagate GMP and Libtool.
	* distro/base.scm (guile-1.8): Propagate GMP and Libtool.

2012-07-07  Ludovic Courtès  <ludo@gnu.org>

	Add `package-transitive-inputs'; use it to honor propagated inputs.
	* guix/packages.scm (package-transitive-inputs): New procedure.
	  (package-derivation): Use it to compute INPUTS.

	* tests/packages.scm (dummy-package): New macro.
	  ("package-transitive-inputs"): New test.

2012-07-07  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU Guile 2.0, released today!
	* distro/base.scm (guile-2.0): New variable.

	build-system/gnu: Set $PKG_CONFIG_PATH.
	* guix/build/gnu-build-system.scm (set-paths): Add `PKG_CONFIG_PATH'.

	distro: Add Lout.
	* distro/base.scm (lout): New variable.

	build-system/gnu: Add `tests?' parameter.
	* guix/build-system/gnu.scm (gnu-build): Add `tests?' parameter.
	  [builder]: Inherit it.

	utils: Have `substitute' restore the file's permission bits.
	* guix/build/utils.scm (substitute): Restore FILE's mode before renaming
	  TEMPLATE.

2012-07-07  Ludovic Courtès  <ludo@gnu.org>

	utils: Change `substitute' and `substitute*' to work with several regexps.
	* guix/build/utils.scm (substitute): Change to accept a `pattern+procs'
	  parameter.  Iterate over it.
	  (substitute*): Adjust accordingly.

	* distro/base.scm (guile-1.8): Adjust accordingly.

2012-07-07  Ludovic Courtès  <ludo@gnu.org>

	distro: gawk: Disable parallel tests.
	* distro/base.scm (gawk): Explicitly disable parallel tests.

	guix-build: Add `--cores'.
	* guix-build.in (leave): New macro, formerly in `guix-build'.
	  (show-help): Document `--cores'.
	  (%options): Add `--cores'.
	  (guix-build): Remove `leave' macro from here.  Pass the `cores' option
	  value to `set-build-options'.

2012-07-07  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Support parallel builds and tests.
	* guix/build/gnu-build-system.scm (build): Add `parallel-build?'
	  parameter; honor it and $NIX_BUILD_CORES.
	  (check): Add `parallel-tests?' parameter; likewise.

	* guix/build-system/gnu.scm (gnu-build): Add `parallel-build?' and
	  `parallel-tests?' parameters.
	  [builder]: Inherit them.

2012-07-07  Ludovic Courtès  <ludo@gnu.org>

	utils: Introduce `substitute*', for easier sed-like syntax.
	* guix/build/utils.scm (let-matches, substitute*): New macros.

	* distro/base.scm (guile-1.8): Use `substitute*' instead of
	  `substitute'.  Remove the #:modules argument.

2012-07-06  Ludovic Courtès  <ludo@gnu.org>

	distro: Add GNU Guile 1.8.
	* distro/base.scm (guile-1.8): New variable.

	* distro/guile-1.8-cpp-4.5.patch: New file.
	* Makefile.am (nobase_dist_guilemodule_DATA): Add it.

2012-07-06  Ludovic Courtès  <ludo@gnu.org>

	utils: Make sure `substitute' writes all its output.
	* guix/build/utils.scm (substitute): Close OUT before renaming it.

	gnu-build-system: Dump the values of environment variables.
	* guix/build/gnu-build-system.scm (set-paths): Dump the value of
	  environment variables in the `environment-variables' files, similar to
	  what Nixpkgs does.

2012-07-05  Ludovic Courtès  <ludo@gnu.org>

	packages: Allow inputs that are local files.
	* guix/packages.scm (package-derivation): Add to the store inputs that
	  are local files.

2012-07-05  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add a `patch' phase.
	* guix/build/gnu-build-system.scm (patch): New procedure.
	  (%standard-phases): Add `patch'.

	* guix/build-system/gnu.scm (gnu-build): Add `patches' and `patch-flags'
	  parameters.  Pass them on.

2012-07-05  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Make the builder's module list a parameter.
	* guix/build-system/gnu.scm (gnu-build): Add a `modules' keyword
	  parameter; use it.

2012-07-05  Ludovic Courtès  <ludo@gnu.org>

	Add builder-side utilities for phases, stream editing, & co.
	* guix/build/utils.scm (with-directory-excursion): New macro.
	  (alist-cons-before, alist-cons-after, alist-replace): New procedures.
	  (substitute): New procedure.

	* tests/build-utils.scm: New file.

	* Makefile.am (TESTS): Add `tests/build-utils.scm'.

2012-07-05  Ludovic Courtès  <ludo@gnu.org>

	packages: Add a `self-native-input?' field.
	* guix/packages.scm (<package>)[self-native-input?]: New field.
	  (package-derivation): Update/fix pattern.

2012-07-03  Ludovic Courtès  <ludo@gnu.org>

	Rename <package-source> to <origin>; use the `letrec*' behavior in packages.
	* guix/packages.scm (<package-source>): Rename to...
	  (<origin>): ... this.  Update users.

	* distro/base.scm (libsigsegv, gawk, hello): Adjust to renaming; refer
	  to VERSION to build the URL.

2012-07-03  Ludovic Courtès  <ludo@gnu.org>

	define-record-type*: Add `letrec*' behavior.
	* guix/utils.scm (define-record-type*)[make-syntactic-constructor]: Bind
	  all the ((FIELD VALUE) ...) in a `letrec*'.  Adjust `field-value'
	  accordingly.

	* tests/utils.scm ("define-record-type* with letrec* behavior"): New
	  test.

2012-07-02  Ludovic Courtès  <ludo@gnu.org>

	Add a `base32' macro, for convenience.
	* guix/packages.scm (base32): New macro.

	* distro/base.scm (libsigsegv, gawk, hello): Use it.

2012-07-02  Ludovic Courtès  <ludo@gnu.org>

	packages: Allow the `arguments' field to be a procedure.
	* guix/packages.scm (package-derivation): When ARGS is a procedure, call
	  (ARGS SYSTEM).

	* distro/base.scm (gawk)[arguments]: Turn into a procedure, to disable
	  tests on Cygwin.

2012-07-02  Ludovic Courtès  <ludo@gnu.org>

	gnu-build-system: Improve the `configure' and `check' phases.
	* guix/build/gnu-build-system.scm (configure): Print the final list of
	  flags.
	  (check): Add `tests?' keyword parameter.

	gnu-build-system: Print the `configure' flags.
	* guix/build/gnu-build-system.scm (configure): Print CONFIGURE-FLAGS.

	Make `define-record-type*' error messages more informative.
	* guix/utils.scm (define-record-type*): In case of missing or extra
	  field initializers, raise a descriptive `syntax-error'.

	distro: libsigsegv: Use multiple outputs.
	* distro/base.scm (libsigsegv)[outputs]: New field
	  (gawk)[arguments]: Clear.
	  [inputs]: Add the "lib" output of LIBSIGSEGV.

	guix-build: Display multiple outputs when needed.
	* guix-build.in (guix-build): Display multiple outputs when there's more
	  than one.

2012-07-02  Ludovic Courtès  <ludo@gnu.org>

	derivation: Coalesce multiple occurrences of the same input.
	* guix/derivations.scm (write-derivation)[coalesce-duplicate-inputs]:
	  New procedure.
	  Use it to process INPUTS.

	* tests/derivations.scm ("user of multiple-output derivation"): New
	  test.

2012-07-02  Ludovic Courtès  <ludo@gnu.org>

	build: Don't auto-compile tests.
	* Makefile.am (TESTS_ENVIRONMENT): Add `--no-auto-compile'.

	gnu-build-system: Fix "libdir" and "includedir" for multiple-output drvs.
	* guix/build/gnu-build-system.scm (configure): Change `--libdir' and
	  `--includedir' to LIBDIR + "/lib" and INCLUDEDIR + "/include",
	  respectively.

2012-07-02  Ludovic Courtès  <ludo@gnu.org>

	Upgrade Nix worker protocol.
	We were already relying on the new version in `set-build-options', so
	this patch fixes that.

	* guix/store.scm (%protocol-version): Increase.
	  (open-connection)[reserve-space?]: New argument.  Pass it to the
	  server when it's recent enough.

2012-07-02  Ludovic Courtès  <ludo@gnu.org>

	derivation: Move sorting code to `write-derivation'.
	* guix/derivations.scm (write-derivation): Sorte OUTPUTS, INPUTS,
	  SOURCES, and ENV-VARS alphabetically.
	  (derivation-hash): Leave INPUTS, SOURCES, and OUTPUTS unsorted.
	  (derivation)[env-vars-with-empty-outputs]: Leave ENV-VARS unsorted.

	build: Use `AM_GNU_GETTEXT_VERSION'.
	* configure.ac: Add `AM_GNU_GETTEXT_VERSION'.  Suggested by
	  Antono Vasiljev.

	Fix `derivation-hash' for outputs not sorted alphabetically.
	* guix/derivations.scm (derivation-hash): Reorder OUTPUTS.
	* tests/derivations.scm ("multiple-output derivation, non-alphabetic
	  order"): New test.

	Add `propagated-inputs' and `properties' to <package>.
	* guix/packages.scm (<package>)[propagated-inputs, properties]: New
	  fields.
	  (package-derivation): Update `match' clause.

2012-07-01  Ludovic Courtès  <ludo@gnu.org>

	Update list of dependencies.
	* README: Require libgcrypt or libchop.

	build: Build (guix utils) first.
	* Makefile.am (MODULES): Move `guix/utils.scm' first.

	build: Capitalize the package name.
	* configure.ac: Use "Guix", not "guix", as the package name.

2012-07-01  Ludovic Courtès  <ludo@gnu.org>

	Add `guix-build'.
	* guix-build.in: New file.

	* configure.ac: Emit `guix-build'.  Add `commands-exec'.
	* Makefile.am (bin_SCRIPTS): New variable.
	* po/POTFILES.in: Add `guix-build.in'.

2012-07-01  Ludovic Courtès  <ludo@gnu.org>

	Add `derivation-prerequisites' and `derivation-prerequisites-to-build'.
	* guix/derivations.scm (derivation-prerequisites,
	  derivation-prerequisites-to-build): New procedures.

	* tests/derivations.scm ("build-expression->derivation and
	  derivation-prerequisites", "build-expression->derivation and
	  derivation-prerequisites-to-build"): New tests.

2012-07-01  Ludovic Courtès  <ludo@gnu.org>

	Add the `valid-path?' RPC.
	* guix/store.scm (valid-path?): New procedure.

	* tests/builders.scm ("http-fetch", "gnu-build"): Use it.
	* tests/derivations.scm ("add-to-store, flat", "add-to-store,
	  recursive", "derivation with no inputs", "build derivation with 1
	  source", "build derivation with coreutils",
	  "build-expression->derivation with expression returning #f"):
	  Likewise.

2012-07-01  Ludovic Courtès  <ludo@gnu.org>

	Add missing `set-build-options' parameters.
	* guix/store.scm (set-build-options)[build-cores, use-substitutes?]: New
	  keyword parameters.
	  [send]: Change to expect a type, and use `write-arg'.
	  Send settings for BUILD-CORES and USE-SUBSTITUTES? when the server
	  supports it.

2012-06-30  Ludovic Courtès  <ludo@gnu.org>

	Add (distro) with a package searching facility.
	* Makefile.am (MODULES): Add `distro.scm'.

	* distro.scm: New file.
	* po/POTFILES.in: Add it.

	* tests/packages.scm ("find-packages-by-name", "find-packages-by-name
	  with version"): New tests.

2012-06-29  Ludovic Courtès  <ludo@gnu.org>

	Add a libgcrypt-based implementation of `sha256'.
	* guix/utils.scm (sha256): Add a libgcrypt-based implementation using
	  the FFI.

2012-06-29  Ludovic Courtès  <ludo@gnu.org>

	Gettextize, with GNU Gettext 0.18.1.
	* Makefile.am (EXTRA_DIST): Add `build-aux/config.rpath'.
	  (SUBDIRS, ACLOCAL_AMFLAGS): New variables.

	* configure.ac: Use `AM_GNU_GETTEXT'.  Emit `po/Makefile.in'.

	* po/Makevars, po/POTFILES.in: New files.

2012-06-29  Ludovic Courtès  <ludo@gnu.org>

	distro: Add libsigsegv and GNU Awk.
	* guix/packages.scm (<package>)[arguments]: Default to '().

	* distro/base.scm (libsigsegv, gawk): New packages.
	  (hello): Use GAWK instead of (nixpkgs-derivation "gawk").

2012-06-29  Ludovic Courtès  <ludo@gnu.org>

	derivation: Remove duplicate inputs.
	* guix/derivations.scm (derivation): Remove duplicates from INPUT.

2012-06-28  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add GNU Awk to the standard inputs.
	* guix/build-system/gnu.scm (%standard-inputs): Add GNU Awk.

2012-06-28  Ludovic Courtès  <ludo@gnu.org>

	packages: Add a `home-page' field.
	* guix/packages.scm (<package>)[home-page]: New field.

	* distro/base.scm (hello)[home-page]: Initialize.

2012-06-28  Ludovic Courtès  <ludo@gnu.org>

	Track the source location of packages.
	* guix/packages.scm (<location>): New record type.
	  (location, source-properties->location): New procedures.
	  (<package>)[location]: New field.

	* tests/packages.scm ("GNU Hello"): Test `package-location'.

2012-06-28  Ludovic Courtès  <ludo@gnu.org>

	Add a sha256 fallback that uses Coreutils instead of libchop.
	* guix/utils.scm (compile-time-value): Move to the top.
	  (sha256): Add an implementation that uses Coreutils, for when libchop
	  is unavailable.

2012-06-28  Ludovic Courtès  <ludo@gnu.org>

	Introduce `compile-time-value' and use it.
	* guix/utils.scm (compile-time-value): New macro.
	  (%nixpkgs-directory): Use it.

	* guix/build-system/gnu.scm (%standard-inputs): Likewise.

2012-06-28  Ludovic Courtès  <ludo@gnu.org>

	Add a declarative packaging layer.
	* Makefile.am (MODULES): Add `guix/packages.scm' and `distro/base.scm'.
	  (TESTS): Add `tests/packages.scm'.
	  (EXTRA_DIST): New variable.

	* guix/packages.scm, distro/base.scm, tests/packages.scm: New files.

	* guix/http.scm (http-fetch): Make `name' an optional argument, to match
	  the expectations of `package-source-derivation'.

2012-06-28  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Have `configure-flags' and `make-flags' evaluated.
	* guix/build-system/gnu.scm (gnu-build): Double-quote the default value
	  of MAKE-FLAGS and CONFIGURE-FLAGS.  Don't quote them in BUILDER.

	build: Define $NIXPKGS when compiling.
	* Makefile.am (.scm.go): Define $NIXPKGS.

2012-06-27  Ludovic Courtès  <ludo@gnu.org>

	Abstract build systems.
	* Makefile.am (MODULES): Add `guix/build-system.scm' and
	  `guix/build-system/gnu.scm'.  Remove `guix/gnu-build-system.scm'.

	* guix/build-system.scm: New file.
	* guix/gnu-build-system.scm: Rename to...
	* guix/build-system/gnu.scm: ... this.
	  (gnu-build-system): New variable.

	* tests/builders.scm: Adjust `use-module' clauses.
	  ("gnu-build-system"): New test.

2012-06-27  Ludovic Courtès  <ludo@gnu.org>

	Add `define-record-type*'.
	* guix/utils.scm (define-record-type*): New macro.

	* tests/utils.scm ("define-record-type*"): New test.

2012-06-17  Ludovic Courtès  <ludo@gnu.org>

	build-expression->derivation: Move module forms at the top-level.
	* guix/derivations.scm (build-expression->derivation)[module-form?]: New
	  procedure.
	  [prologue]: Add any form of EXP that matches MODULE-FORM?.
	  [builder]: Remove any MODULE-FORM? from EXP.

2012-06-16  Ludovic Courtès  <ludo@gnu.org>

	gnu-build-system: Structure as a customizable sequence of phases.
	* guix/build/gnu-build-system.scm (set-paths, build, check, install):
	  New procedures.
	  (unpack): Make `source' a keyword arg; add `#:allow-other-keys'.
	  (configure): Likewise.
	  (%standard-phases): New variable.
	  (gnu-build): Make `source', `outputs', and `inputs' keyword arguments;
	  add `phases' keyword argument; #:allow-other-keys; add rest arguments
	  `args'.  Invoke each of PHASES in order within `every'.

	* guix/gnu-build-system.scm (gnu-build): Add `make-flags' and `phases'
	  keyword arguments.  Update builder's `gnu-build' call to match the new
	  convention.

2012-06-16  Ludovic Courtès  <ludo@gnu.org>

	gnu-build-system: Add GNU Diffutils and GNU Path to the standard inputs.
	* guix/gnu-build-system.scm (%standard-inputs): Add Diffutils and Patch.

2012-06-16  Ludovic Courtès  <ludo@gnu.org>

	build-expression->derivation: Have the build fail when EXP returns #f.
	* guix/derivations.scm (build-expression->derivation)[builder]: Pass the
	  result of EXP to `exit'.

	* tests/derivations.scm ("build-expression->derivation with expression
	  returning #f"): New test.

2012-06-16  Ludovic Courtès  <ludo@gnu.org>

	Remove leftover debugging expressions.
	* guix/build/utils.scm (directory-exists?): Remove leftover debugging
	  expressions.

	store: Wait for the server to be done sending output.
	* guix/store.scm (current-build-output-port): New variable.
	  (process-stderr): Add docstring.  Always return #f, except upon
	  %STDERR-LAST.  Upon %STDERR-NEXT, write to
	  `current-build-output-port', not `current-error-port'.
	  (set-build-options): Loop until `process-stderr' returns true.
	  (define-operation): Likewise.
	  (build-derivations): Update docstring to mention that it's
	  synchronous.

2012-06-15  Ludovic Courtès  <ludo@gnu.org>

	build: Be cross-compilation-ready.
	* Makefile.am (.scm.go): Pass `--target=$(host)'.

	* configure.ac: Use `AC_CANONICAL_HOST'.

2012-06-15  Ludovic Courtès  <ludo@gnu.org>

	build: Provide the right include path when building modules.
	* Makefile.am (.scm.go): Add missing `-L $(top_srcdir)'.

	Build (guix) last.
	* Makefile.am (MODULES): Move `guix.scm' last.

2012-06-13  Ludovic Courtès  <ludo@gnu.org>

	Add a build system.
	* configure.ac, Makefile.am: New files.

2012-06-13  Ludovic Courtès  <ludo@gnu.org>

	Change `build-expression->derivation' to support sub-derivation inputs.
	* guix/derivations.scm (build-expression->derivation): Change to expect
	  INPUTS to have the form (NAME DRV-PATH SUB-DRV) or (NAME DRV-PATH),
	  instead of (NAME . DRV-PATH).  Update callers accordingly.

	* guix/gnu-build-system.scm, tests/builders.scm, tests/derivations.scm:
	  Update accordingly.

2012-06-13  Ludovic Courtès  <ludo@gnu.org>

	Add supporting tools for the GNU Build System.
	* guix/derivations.scm (build-expression->derivation): Add all of INPUTS
	  as inputs to the final derivation.

	* guix/build/gnu-build-system.scm, guix/build/utils.scm,
	  guix/gnu-build-system.scm: New files.

	* tests/builders.scm ("gnu-build"): New test.

2012-06-13  Ludovic Courtès  <ludo@gnu.org>

	Fix the order of the derivation's sources in `derivation-hash'.
	* guix/derivations.scm (derivation-hash): Sort SOURCES alphabetically as
	  well.

2012-06-12  Ludovic Courtès  <ludo@gnu.org>

	Fix `imported-files' for files with a common prefix.
	* guix/derivations.scm (imported-files)[builder]: For TAIL, check
	  whether it exists before (mkdir TAIL).

	* tests/derivations.scm ("imported-files"): Add file with a common
	  prefix.

2012-06-12  Ludovic Courtès  <ludo@gnu.org>

	Add `add-to-store' test for flat files.
	* tests/derivations.scm ("add-to-store, flat"): New test.

2012-06-12  Ludovic Courtès  <ludo@gnu.org>

	Augment `build-expression->derivation' with #:modules; add `http-fetch'.
	* guix/derivations.scm (imported-modules): New procedure.
	  (build-expression->derivation): New keyword argument `modules'.
	  Use `imported-modules' when MODULES is non-empty, and pass it with
	  `-L' to GUILE.

	* guix/build/http.scm, guix/http.scm, tests/builders.scm: New files.

2012-06-11  Ludovic Courtès  <ludo@gnu.org>

	Add `imported-files'.
	* guix/derivations.scm (imported-files): New procedure.
	  (build-expression->derivation): Correctly handle inputs that are
	  sources and not derivation paths.

	* tests/derivations.scm ("imported-files"): New test.

2012-06-11  Ludovic Courtès  <ludo@gnu.org>

	Fix the `build-expression->derivation' fixed-output test.
	* tests/derivations.scm ("build-expression->derivation"): Fix the
	  builder to actually pass a bytevector to `put-bytevector'.

2012-06-11  Ludovic Courtès  <ludo@gnu.org>

	Add a `%current-system' fluid.
	* guix/utils.scm (gnu-triplet->nix-system): New procedure.
	  (%current-system): New variable.

	* tests/utils.scm ("gnu-triplet->nix-system"): New test.

	* tests/derivations.scm (%current-system): Remove.  Update users to
	  use (%current-system) instead.

2012-06-10  Ludovic Courtès  <ludo@gnu.org>

	Add `add-to-store' with recursive directory storage.
	* guix/store.scm (write-file): Implement directory recursive dump.
	  (add-to-store): Fix the parameter list.

	* tests/derivations.scm (directory-contents): New procedure.
	  ("add-to-store, recursive"): New test.

2012-06-10  Ludovic Courtès  <ludo@gnu.org>

	tests: Don't hard-code the system type.
	* tests/derivations.scm (%current-system): New variable.  Replace
	  occurrences of "x86_64-linux" by %CURRENT-SYSTEM.

2012-06-09  Ludovic Courtès  <ludo@gnu.org>

	Add multiple-output support to `build-expression->derivation'.
	* guix/derivations.scm (build-expression->derivation): Add `outputs'
	  keyword parameter; pass it to `derivation'.  Define `%outputs' in the
	  prologue.

	* tests/derivations.scm ("build-expression->derivation with two
	  outputs"): New test.

2012-06-09  Ludovic Courtès  <ludo@gnu.org>

	Add `derivation' test for multiple-output derivations.
	* tests/derivations.scm ("multiple-output derivation"): New test.

2012-06-09  Ludovic Courtès  <ludo@gnu.org>

	Sort environment variables alphabetically in `derivation'.
	* guix/derivations.scm (derivation)[env-vars-with-empty-outputs]: Sort
	  the result alphabetically.

	* tests/derivations.scm ("build derivation with 1 source"): Add
	  environment variables.

2012-06-09  Ludovic Courtès  <ludo@gnu.org>

	Add support for fixed-output derivations in `build-expression->derivation'.
	* guix/derivations.scm (build-expression->derivation): Pass HASH and
	  HASH-ALGO to `derivation'.

	* tests/derivations.scm ("build-expression->derivation for fixed-output
	  derivation"): New test.

2012-06-09  Ludovic Courtès  <ludo@gnu.org>

	Add support for fixed-output derivations.
	* guix/derivations.scm (read-derivation)[outputs->alist]: For
	  fixed-outputs, convert HASH with `base16-string->bytevector'.
	  (write-derivation): Likewise, convert HASH-ALGO to a string and HASH
	  to a base16 string.
	  (derivation-hash): Expect HASH to be a bytevector, not a string;
	  convert HASH with `bytevector->base16-string'.

	* tests/derivations.scm ("fixed-output derivation"): New test.

2012-06-09  Ludovic Courtès  <ludo@gnu.org>

	Add `base16-string->bytevector'.
	* guix/utils.scm (base16-string->bytevector): New procedure.

	* tests/utils.scm ("bytevector->base16-string->bytevector"): New test.

2012-06-09  Ludovic Courtès  <ludo@gnu.org>

	Add `base32-string->bytevector' and `nix-base32-string->bytevector'.
	* guix/utils.scm (bytevector-quintet-set!,
	  bytevector-quintet-set-right!, base32-string-unfold,
	  base32-string-unfold-right, make-base32-string->bytevector,
	  base32-string->bytevector, nix-base32-string->bytevector): New
	  procedures.

	* tests/utils.scm ("base32-string->bytevector",
	  "nix-base32-string->bytevector"): New tests.

2012-06-08  Ludovic Courtès  <ludo@gnu.org>

	Augment `README'.

2012-06-08  Ludovic Courtès  <ludo@gnu.org>

	Add `build-expression->derivation'.
	* guix/derivations.scm (%guile-for-build): New parameter.
	  (build-expression->derivation): New procedure.

	* tests/derivations.scm ("build-expression->derivation without inputs",
	  "build-expression->derivation with one input"): New tests.

2012-06-07  Ludovic Courtès  <ludo@gnu.org>

	Allow derivations with input derivations.
	* guix/derivations.scm (derivation-path->output-path): New procedure.
	  (derivation-hash): Call `memoize'.  In the fixed-output case, convert
	  HASH-ALGO to a string.  In the other case, sort inputs in the
	  alphabetical order of their hex hash.  For inputs with no sub-drvs,
	  add "out" as the sub-drv.

	* guix/utils.scm (%nixpkgs-directory): New parameter.
	  (nixpkgs-derivation, memoize): New procedures.

	* tests/derivations.scm ("build derivation with 1 source"): Remove
	  useless shebang.
	  (%coreutils): New variable.
	  ("build derivation with coreutils"): New test.

2012-06-07  Ludovic Courtès  <ludo@gnu.org>

	Fix the order of environment variables in `derivation'.
	* guix/derivations.scm (derivation)[env-vars-with-empty-outputs]:
	  Prepend new environment variables (as expected by Nix), and add them
	  to E.

2012-06-05  Ludovic Courtès  <ludo@gnu.org>

	SRFI-64: Remove use of (ice-9 syntax-case).
	* srfi/srfi-64.upstream.scm [guile]: Remove use of (ice-9 syntax-case).

	tests: Look up `test.drv' using `search-path'.
	* tests/derivations.scm ("parse & export"): Use `search-path' to find
	  `test.drv'.

	Test the `build-derivations' operation.
	* guix/derivations.scm (derivation): Return DRV as a second value.
	* tests/derivations.scm ("build derivation with 1 source"): New test.

2012-06-03  Ludovic Courtès  <ludo@gnu.org>

	Add the usual top-level files.

2012-06-03  Ludovic Courtès  <ludo@gnu.org>

	First stab at the `derivation' primitive.
	* guix/store.scm (%store-prefix): New parameter.
	  (store-path?, derivation-path?): New procedures.

	* guix/derivations.scm (write-derivation): Pass SOURCES through
	  `object->string'.
	  (compressed-hash, store-path, output-path, derivation): New
	  procedures.

	* tests/derivations.scm (%store): New global variable.
	  ("derivation with no inputs"): New test.

2012-06-03  Ludovic Courtès  <ludo@gnu.org>

	Add `bytevector->base16-string'.
	* guix/utils.scm (bytevector->base16-string): New procedure.

2012-06-03  Ludovic Courtès  <ludo@gnu.org>

	Fix `bytevector->nix-base32-string'.
	* guix/utils.scm (bytevector-quintet-ref-right,
	  bytevector-quintet-fold): New procedures.
	  (bytevector-quintet-fold-right): Add `quintet-fold' parameter; use it
	  instead of `bytevector-quintet-fold'.
	  (bytevector->base32-string): Pass BYTEVECTOR-QUINTET-FOLD as the
	  first parameter.
	  (bytevector->nix-base32-string): Pass BYTEVECTOR-QUINTET-FOLD-RIGHT as
	  the first parameter.

	* tests/utils.scm ("sha256 & bytevector->nix-base32-string"): New test.

2012-06-03  Ludovic Courtès  <ludo@gnu.org>

	Move `sha256' to (guix utils).
	* guix/derivations.scm (sha256): Move to...
	* guix/utils.scm (sha256): ... here.

2012-06-02  Ludovic Courtès  <ludo@gnu.org>

	store: Raise error conditions upon protocol errors.
	* guix/store.scm (&nix-error, &nix-protocol-error): New SRFI-35
	  condition types.
	  (process-stderr): Raise an error condition upon protocol errors
	  instead of returning to the caller.  This allows the connection to be
	  reused for further interactions.

2012-06-01  Ludovic Courtès  <ludo@gnu.org>

	Add (guix utils), with `bytevector->base32-string'.
	* guix/utils.scm, tests/utils.scm: New files.

	Use libchop for cryptographic hashes and related.
	* guix/derivations.scm (sha256): Rewrite using libchop's
	  `bytevector-hash'.
	  (derivation-hash): Add docstring.

2012-04-19  Ludovic Courtès  <ludo@gnu.org>

	Add unit test for derivation parsing and output.
	* guix/derivations.scm: Export `read-derivation' and `write-derivation'.

	* srfi/srfi-64.scm, srfi/srfi-64.upstream.scm: New files, from libchop.
	* tests/derivations.scm, tests/test.drv: New files.

2012-04-18  Ludovic Courtès  <ludo@gnu.org>

	Add `.gitignore'.

	Split (guix) in (guix store) and (guix derivations).
	* guix.scm: Move contents to other files.  Just aggregate these.
	* guix/derivations.scm, guix/store.scm: New files.

	Initial commit.
