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

	tests: Use the canonical current directory name.
	* tests/guix-environment-container.sh (current_dir): New variable.  Use
	  it when grepping "mounts".

	tests: Skip 'program-file' test when shebang is too long.
	* tests/gexp.scm ("program-file"): Skip when SHEBANG is too long.

	Update NEWS.

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

	doc: Back up on the claim of encrypted root partitions.
	Reported by 宋文武 <iyzsong@openmailbox.org>
	at <https://lists.gnu.org/archive/html/guix-devel/2015-11/msg00096.html>.

	* doc/guix.texi (System Installation): Comment out encrypted root
	  partition commands.
	* gnu/system/examples/desktop.tmpl (mapped-devices): Remove.
	  (file-systems): Refer to the root by label.
	* NEWS: Adjust.

2015-11-04  Efraim Flashner  <efraim@flashner.co.il>

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

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

	gnu: csound: Link against libmvec on x86_64.
	* gnu/packages/audio.scm (csound)[arguments]: New field.

	gnu: american-fuzzy-lop: Really build against QEMU 2.3.0.
	* gnu/packages/debug.scm (qemu-2.3.0): New variable.
	  (american-fuzzy-lop): Use it instead of QEMU-HEADLESS.

	gnu: clang-runtime: Mark MIPS as unsupported.
	* gnu/packages/llvm.scm (clang-runtime-from-llvm): Add
	  'supported-systems' field.

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

	gnu: font-adobe-source-han-sans: Update to 1.004.
	* gnu/packages/fonts.scm (font-adobe-source-han-sans): Update to 1.004.
	  [license]: Change to 'silofl1.1'.

	gnu: dosfstools: Update to 3.0.28.
	* gnu/packages/disk.scm (dosfstools): Update to 3.0.28.

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

2015-11-04  Efraim Flashner  <efraim@flashner.co.il>

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

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

	gnu: sipwitch: Update to 1.9.14.
	* gnu/packages/telephony.scm (sipwitch): Update to 1.9.14.

	gnu: ucommon: Update to 6.6.2.
	* gnu/packages/telephony.scm (ucommon): Update to 6.6.2.
	  [license]: Change to gpl3+.

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

2015-11-04  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add byobu.
	* gnu/packages/screen.scm (byobu): New variable.
	* gnu/packages/patches/byobu-writable-status.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: newt: Build python bindings.
	* gnu/packages/slang.scm (newt)[outputs]: New field.
	  [arguments]: Add #:make-flags argument.  Add 'move-python' phase.

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

	gnu: esmtp: Fix 'inputs' field.
	This is a followup to commit f8ae32a26a5f41466f5c7792261fdf2e78d1d35f.

	* gnu/packages/mail.scm (esmtp)[inputs]: Add missing parentheses.

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

	build-system/python: 'package-with-python2' preserves source location.
	* guix/build-system/python.scm (package-with-explicit-python): Add
	  'location' field.

	import: pypi: Make downloads silent.
	* guix/import/pypi.scm (pypi-fetch): Wrap body in
	  'call-with-output-file' and 'with-error-to-port'.

	import: pypi: Add missing copyright line.
	* guix/import/pypi.scm: Add missing copyright line for bab020d.

	doc: Fix typos.
	* doc/guix.texi (Invoking guix refresh): Fix typos.

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

	gnu: guile-ncurses: Mask test failure with ncurses 6.0.
	Fixes <http://bugs.gnu.org/21677>.

	* gnu/packages/guile.scm (guile-ncurses)[arguments]: Add #:make-flags.

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

	Update NEWS.

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

	gnu: cmake: Download over HTTPS.
	Reported by Gxsdnewb on #guix.

	* gnu/packages/cmake.scm (cmake)[source]: Use 'https' URL.

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

	doc: Explain that 'guix publish' relies on the key pair.
	* doc/guix.texi (Invoking guix publish): Mention 'guix archive
	  --generate-key'.

2015-11-04  David Thompson  <dthompson2@worcester.edu>

	scripts: container: Fix 'exec' command line parsing.
	* guix/scripts/container/exec.scm (partition-args): Reimplement such
	  that all args up to and including the PID are returned as the first of
	  the two values.

2015-11-03  Cyril Roelandt  <tipecaml@gmail.com>

	import: pypi: add updater
	* guix/import/pypi.scm (guix-package->pypi-name,
	  latest-release): New procedures.
	  (%pypi-updater): New variable.
	* guix/scripts/refresh.scm (%updaters): Add %PYPI-UPDATER.
	* doc/guix.texi (Invoking guix refresh): Mention PyPI

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

	gnu: python-oslotest: move mox3 to the propagated-inputs
	* gnu/packages/openstack.scm (python-oslotest): move mox3 to the propagated
	  inputs.

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

	gnu: paramiko: Move python-pycrypto to the propagated inputs.
	* gnu/packages/python.scm (python-paramiko): Move python-pycrypto to the
	  propagated-inputs.

	gnu: Add python-os-testr.
	* gnu/packages/openstack.scm (python-ostestr,
	  python2-ostestr): New variables.

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

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

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

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

	gnu: Update python-requests.
	* gnu/packages/python.scm (python-requests, python2-requests): Bump to 2.8.0.

	import: pypi: Use "pypi-uri" instead of building the URL manually.
	* guix/import/pypi.scm (make-pypi-sexp): Use "pypi-uri".
	* tests/pypi.scm: Update the tests accordingly.

	guix: Add a "pypi-uri" helper method.
	* guix/download.scm (mirrors): New "pypi" mirror.
	* guix/build-system/python.scm (pypi-uri): New method.

2015-11-03  Andy Wingo  <wingo@igalia.com>

	gnu: Add esmtp.
	* gnu/packages/mail.scm (esmtp): New public variable.

	gnu: Add libesmtp.
	* gnu/packages/mail.scm (libesmtp): New public variable.

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

	system: Rename (gnu system linux) to (gnu system pam).
	* gnu/system/linux.scm: Rename to...
	* gnu/system/pam.scm: ... this.
	* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
	* gnu.scm, gnu/services/base.scm, gnu/services/desktop.scm,
	  gnu/services/networking.scm, gnu/services/ssh.scm,
	  gnu/services/xorg.scm, gnu/system.scm, gnu/system/vm.scm: Likewise.

	services: Add 'guix-publish-service'.
	* gnu/services/base.scm (<guix-publish-configuration>): New record
	  type.
	  (guix-publish-dmd-service): New procedure.
	  (%guix-publish-accounts, guix-publish-service-type): New variables.
	  (guix-publish-service): New procedure.
	* doc/guix.texi (Invoking guix publish): Add xref to
	  'guix-publish-service' anchor.
	  (Base Services): Document 'guix-publish-service'.

2015-11-03  David Thompson  <dthompson2@worcester.edu>

	scripts: environment: Display friendly container error messages.
	* guix/scripts/environment.scm (assert-container-features): New
	  procedure.
	  (guix-environment): Use it.

	build: container: Add feature test predicates.
	* gnu/build/linux-container.scm (user-namespace-supported?,
	  unprivileged-user-namespace-supported?, setgroups-supported?): New
	  procedures.
	* tests/container.scm: Use predicates.
	* tests/syscalls.scm: Likewise.

2015-11-03  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: nestopia-ue: Use system zlib.
	* gnu/packages/games.scm (nestopia-ue): Remove bundled zlib, patch files
	  to include system zlib.h, and add zlib as input.

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

	gnu: gst-libav: Update to 1.6.1.
	* gnu/packages/gstreamer.scm (gst-libav): Update to 1.6.1.

	gnu: gst-plugins-ugly: Update to 1.6.1.
	* gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.6.1.

	gnu: gst-plugins-good: Update to 1.6.1.
	* gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.6.1.

	gnu: gst-plugins-base: Update to 1.6.1.
	* gnu/packages/gstreamer.scm (gst-plugins-base): Update to 1.6.1.
	  [arguments]: Disable parallel tests.

	gnu: gstreamer: Update to 1.6.1.
	* gnu/packages/gstreamer.scm (gstreamer): Update to 1.6.1.
	  [arguments]: Remove #:make-flags.

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

	gnu: guix: Do not retain dependency on Graphviz.
	* gnu/packages/package-management.scm (guix-devel)[arguments]: Add
	  ac_cv_path_DOT_USER_PROGRAM=dot to #:configure-flags.

2015-11-03  David Thompson  <dthompson2@worcester.edu>

	doc: Linux-libre 3.19 is needed for using containers.
	* doc/guix.texi ("invoking guix environment", "invoking guix system"):
	  3.10 is actually too old without backported patches, so change to 3.19.

2015-11-03  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add nestopia-ue.
	* gnu/packages/games.scm (nestopia-ue): New variable.

2015-11-03  Alex Vong  <alexvong1995@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	doc: './pre-inst-env guix pull' won't upgrade local source tree.
	* doc/contributing.texi (Running Guix Before It Is Installed): Clarify
	  './pre-inst-env guix pull' won't upgrade local source tree.
	* doc/guix.texi (Invoking guix pull): Mention ~/.config/guix/latest.

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

	gnu: guix: Update development snapshot.
	* gnu/packages/package-management.scm (guix-0.8.3)[arguments]: In
	  'disable-container-tests' phase, modify
	  "tests/guix-environment-container.sh".  Add 'set-SHELL' phase.
	* gnu/packages/package-management.scm (guix-devel): Update to b485f75.

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

	gnu: tcpdump: Update to 4.7.4.
	* gnu/packages/admin.scm (tcpdump): Update to 4.7.4.

	gnu: libpcap: Update to 1.7.4.
	* gnu/packages/admin.scm (libpcap): Update to 1.7.4.

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

	import: gnu: Update to the (guix upstream) API.
	This is a followup to 0a7c5a0.

	* guix/import/gnu.scm (preferred-archive-type): Use
	  'upstream-source-archive-types' instead of 'gnu-release-archive-types'.
	  (gnu-package->sexp): Use 'upstream-source-urls' et al.  Update call to
	  'download-tarball'.
	  (gnu->guix-package): Use <upstream-source> instead of <gnu-release>.
	* guix/upstream.scm (upstream-source-archive-types): Export.

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

	tests: Set 'SHELL' for 'guix environment'.
	* tests/guix-environment.sh: Export 'SHELL'.

2015-11-02  Ludovic Courtès  <ludo@gnu.org>
	    Mark H Weaver  <mhw@netris.org>

	guix system: Always build grub.cfg for 'init' and 'reconfigure'.
	Fixes <http://bugs.gnu.org/21068>.
	Reported by Germano Gabbianelli <tyrion.mx@gmail.com>
	and Mark H Weaver <mhw@netris.org>.

	* guix/scripts/system.scm (perform-action): Always add GRUB.CFG to DRVS
	  for 'init' and 'reconfigure'.

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

	services: udisks: Add UDisks to the system profile.
	* gnu/services/desktop.scm (udisks-service-type): Extend
	  PROFILE-SERVICE-TYPE.

	services: avahi: Add Avahi to the system profile.
	* gnu/services/avahi.scm (avahi-service-type): Extend
	  PROFILE-SERVICE-TYPE.
	  (avahi-service): Adjust docstring.
	* doc/guix.texi (Networking Services): Adjust accordingly.
	* gnu/system/examples/desktop.tmpl (packages): Remove AVAHI.

	services: slim: Add xterm to the system profile.
	* gnu/services/xorg.scm (slim-service-type): Extend
	  PROFILE-SERVICE-TYPE.
	* gnu/system/examples/desktop.tmpl (packages): Remove XTERM.

	services: wicd: Add Wicd to the system profile.
	* gnu/services/networking.scm (wicd-service-type): Extend
	  PROFILE-SERVICE-TYPE.
	  (wicd-service): Mention it in docstring.
	* doc/guix.texi (Networking Services): Update documentation
	  accordingly.
	* gnu/system/examples/desktop.tmpl (packages): Remove WICD.

	services: Add 'profile-service-type'.
	* gnu/services.scm (packages->profile-entry): New procedure.
	  (profile-service-type): New variable.
	* gnu/system.scm (operating-system-directory-base-entries): Remove
	  the "profile" entry.
	  (essential-services): Add a PROFILE-SERVICE-TYPE instance.
	  (operating-system-profile): Rewrite in terms of 'fold-services'.
	* doc/guix.texi (Service Reference): Add 'profile-service-type'.
	* doc/images/service-graph.dot: Likewise.

	services: Add 'system-service-type'.
	* gnu/services.scm (system-derivation): New procedure.
	  (system-service-type): New variable.
	  (boot-script-entry): New procedure.
	  (boot-service-type): Extend SYSTEM-SERVICE-TYPE.
	  (etc-entry): New procedure.
	  (etc-service-type): Extend SYSTEM-SERVICE-TYPE.
	  (fold-services): Change default #:target-type to SYSTEM-SERVICE-TYPE.
	* gnu/system.scm (operating-system-directory-base-entries): New procedure.
	  (essential-services): Use it.  Add an instance of
	  SYSTEM-SERVICE-TYPE.
	  (operating-system-boot-script): Pass #:target-type to 'fold-services'.
	  (operating-system-derivation): Rewrite in terms of 'fold-services'.
	* gnu/system/linux-container.scm (system-container): Remove.
	  (container-script): Use 'operating-system-derivation'.
	* guix/scripts/system.scm (export-extension-graph): Replace
	  BOOT-SERVICE-TYPE by SYSTEM-SERVICE-TYPE.
	* doc/images/service-graph.dot: Add 'system' node and edges.
	* doc/guix.texi (Service Composition): Mention SYSTEM-SERVICE-TYPE.
	  (Service Reference): Document it.  Update 'fold-services'
	  documentation.

	services: Clarify extend/compose of BOOT-SERVICE-TYPE.
	* gnu/services.scm (compute-boot-script): Add first placeholder
	  parameter.
	  (boot-service-type): Change 'compose' to APPEND, and 'extend' to
	  COMPUTE-BOOT-SCRIPT.

2015-11-02  Efraim Flashner  <efraim@flashner.co.il>

	gnu: gsl: Enable tests.
	* gnu/packages/maths.scm (gsl)[arguments]: Enable tests for i686-linux.

	gnu: gsl: Update to 2.0.
	* gnu/packages/maths.scm (gsl): Update to 2.0.
	  [source]: Remove patches.
	* gnu/packages/patches/gsl-poly-test-fix-pt1.patch,
	  gnu/packages/patches/gsl-poly-test-fix-pt2.patch: Remove files.
	* gnu-system.am (dist_patch_DATA): Remove patches.

2015-11-02  Alex Kost  <alezost@gmail.com>

	doc: Fix typos.
	* doc/guix.texi (Invoking guix environment): Fix typos.

2015-11-02  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add ruby-permutation.
	* gnu/packages/ruby.scm (ruby-permutation): New variable.

	gnu: Add ruby-listen.
	* gnu/packages/ruby.scm (ruby-listen): New variable.

	gnu: Add ruby-rb-inotify.
	* gnu/packages/ruby.scm (ruby-rb-inotify): New variable.

	gnu: Add ruby-simplecov-html.
	* gnu/packages/ruby.scm (ruby-simplecov-html): New variable.

	gnu: Add ruby-ffi.
	* gnu/packages/ruby.scm (ruby-ffi): New variable.

	gnu: Add ruby-rubygems-tasks.
	* gnu/packages/ruby.scm (ruby-rubygems-tasks): New variable.

	gnu: hisat: Disable build on non-x86_64.
	* gnu/packages/bioinformatics.scm (hisat)[supported-systems]: Add field.

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

	scripts: environment: Ignore user shell when spawning container.
	* guix/scripts/environment.scm (%default-options): Remove 'exec'
	  association.
	  (guix-environment): If the user didn't specify a command, use the
	  default shell, or use /bin/sh when a container is requested.

2015-11-02  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: python-simplegeneric: Add setuptools to native inputs.
	* gnu/packages/python.scm (python-simplegeneric)[native-inputs]: Add
	  python-setuptools.

	gnu: shogun: Disable build on non-x86_64.
	* gnu/packages/machine-learning.scm (shogun)[supported-systems]: Add
	  field.

2015-11-02  Alex Kost  <alezost@gmail.com>

	doc: Fix typo.
	* doc/guix.texi (Invoking guix container): Fix typo.

	emacs: Enable 'guix-build-log-minor-mode' in shell buffers.
	* emacs/guix-build-log.el (guix-build-log-minor-mode-activate): New variable.
	  (guix-build-log-minor-mode-activate-maybe): New function.
	* emacs/guix-init.el: Add it to 'shell-mode-hook'.
	* doc/emacs.texi (Emacs Build Log): Mention it.

	emacs: Enable 'guix-build-log-mode' for build log files.
	* emacs/guix-build-log.el (auto-mode-alist): Add 'guix-build-log-mode'
	  to 'auto-mode-alist'.

	emacs: Add completions for '--type' option of 'refresh' popup.
	* guix/scripts/refresh.scm: Export '%updaters'.
	* emacs/guix-main.scm (refresh-updater-names): New procedure.
	* emacs/guix-base.el (guix-refresh-updater-names): New function.
	* emacs/guix-read.el (guix-read-refresh-updater-names,
	  guix-read-refresh-updater-names-string): New functions.
	* emacs/guix-command.el (guix-command-improve-refresh-argument): Use
	  'guix-read-refresh-updater-names-string'.

2015-11-02  Efraim Flashner  <efraim@flashner.co.il>

	gnu: claws-mail: Update to 3.13.0.
	* gnu/packages/mail.scm (claws-mail): Update to 3.13.0.
	  [url]: Update to new location.

2015-11-02  Ben Woodcroft  <donttrustben@gmail.com>

	gnu: Add express-beta-diversity.
	* gnu/packages/bioinformatics.scm (express-beta-diversity): New variable.

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

	system: grub: Use a bigger background image.
	* gnu/system/grub.scm (grub-background-image): Increase the default
	  values of WIDTH and HEIGHT.  After all, it's 2015 already!

2015-11-02  Efraim Flashner  <efraim@flashner.co.il>

	gnu: links: Build with libevent.
	* gnu/packages/links.scm (links)[inputs]: Add libevent.

	gnu: links: Update to 2.12.
	* gnu/packages/links.scm (links): Update to 2.12.
	  Various whitespace and line length fixes.

2015-11-02  David Thompson  <davet@gnu.org>

	scripts: Add 'container' subcommand.
	* guix/scripts/container.scm: New file.
	* guix/scripts/container/exec.scm: New file.
	* po/guix/POTFILES.in: Add them.
	* Makefile.am (MODULES): Add them.
	* doc/guix.texi (Invoking guix container): New section.

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

	gnu: synergy: Upgrade to 1.7.4.
	* gnu/packages/synergy.scm (synergy): Upgrade to 1.7.4.

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

	doc: Mention minimum Linux-libre version for containers.
	* doc/guix.texi ("invoking guix environment", "invoking guix system"):
	  Mention Linux-libre requirements for container features.

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

	doc: Give an example with an encrypted root partition.
	* gnu/system/examples/desktop.tmpl: Add 'mapped-devices' field.
	  Use it in 'file-systems'.
	* doc/guix.texi (System Installation): Suggest encrypted partitions.
	  Give an example of a command sequence.

	nls: Add Danish translation for packages.

	nls: Update 'da' translation.

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

	gnu: xz: Add alternate URL.
	Fixes <http://bugs.gnu.org/21784>.

	* gnu/packages/compression.scm (xz)[source]: Add alternate URL.

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

	Revert "services: polkit: Use the right executable name for PAM."
	This reverts commit 7f39e181dfb34db8f245f3ffafe34eec9cee910d.

	Polkit actually uses the name "polkit-1" in calls to 'pam_start'.

2015-11-01  Efraim Flashner  <efraim@flashner.co.il>

	gnu: youtube-dl: Minor fixes.
	* gnu/packages/video.scm (youtube-dl)[url]: Change to http.
	  [description]: Fix capitalization.

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

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

	services: Add 'udisks-service'.
	* gnu/services/desktop.scm (<udisks-configuration>): New record type.
	  (udisks-service-type): New variable.
	  (udisks-service): New procedure.
	  (%desktop-services): Use it.
	* doc/guix.texi (Desktop Services): Document it.

	gnu: udisks: Separate HTML documentation.
	* gnu/packages/freedesktop.scm (udisks)[outputs]: New field.
	  [arguments]: Pass the --with-html-dir configure flag.

	gnu: udisks: Mount things under /media.
	* gnu/packages/freedesktop.scm (udisks)[arguments]: Add
	  --enable-fhs-media.

	gnu: udisks: Find the 'mount' command.
	* gnu/packages/freedesktop.scm (udisks)[inputs]: Add UTIL-LINUX.
	  [arguments]: Add 'set-mount-file-name' phase.

	services: 'polkit-service-type' can now be extended.
	* gnu/packages/polkit.scm (polkit)[source]: Adjust snippet so that rules
	  and actions are looked for under /etc/polkit-1.
	* gnu/services/desktop.scm (<polkit-configuration>): New record type.
	  (polkit-directory, polkit-etc-files, polkit-setuid-programs): New
	  procedures.
	  (polkit-service-type)[compose, extend]: New fields.
	  (polkit-service): Refine docstring.
	  (colord-service-type): Extend POLKIT-SERVICE-TYPE.
	  (elogind-configuration-file): Extend POLKIT-SERVICE-TYPE.
	* doc/guix.texi (Desktop Services): Update 'polkit-service'
	  documentation.

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

	gnu: hurd-headers: Update to 0.7
	* gnu/packages/hurd.scm (hurd-headers): Update to version 0.7.

	gnu: mig: Update to 1.6
	* gnu/packages/hurd.scm (mig): Update to version 1.6.

	gnu: gnumach-headers: Update to 1.6
	* gnu/packages/hurd.scm (gnumach-headers): Update to version 1.6.

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

	tests: Make sure the daemon dumps directory entries deterministically.
	* tests/store.scm ("write-file & export-path yield the same result"):
	  New test.

	doc: Suggest diffing things with --no-dereference.
	* doc/guix.texi (Invoking guix challenge): Add --no-dereference in
	  'diff' example.

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

	Remove unneeded HAVE_UNSHARE.
	* src/libstore/build.cc (CHROOT_ENABLED): Remove HAVE_UNSHARE.

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

	gnu: Remove aarddict.
	* gnu/packages/aarddict.scm: Remove file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Unregister file.

2015-10-31  Alex Kost  <alezost@gmail.com>

	emacs: Disable minor modes in 'guix-build-log-mode'.
	* emacs/guix-build-log.el (guix-build-log-mode-hook): Remove
	  'compilation-shell-minor-mode' as it is slow on big buffers, and
	  'view-mode' as it rebinds too many keys.
	  (guix-build-log-mode-map): Add "c" and "v" key bindings for the
	  removed minor modes.

	emacs: Add key bindings for 'guix-build-log-minor-mode'.
	* emacs/guix-build-log.el (guix-build-log-mode-map): Move keys to ...
	  (guix-build-log-common-map): ...here.  New variable.
	  (guix-build-log-minor-mode-map): New variable.
	  (guix-build-log-minor-mode): Use it.
	* doc/emacs.texi (Emacs Build Log): Document it.

	guix system: Fix typo in --help message.
	* guix/scripts/system.scm (show-help): Align 'container' the same way as
	  other actions.

	emacs: Add shell completions for 'guix refresh --type'.
	* emacs/guix-pcomplete.el (guix-pcomplete-refresh-updaters): New function.
	  (guix-pcomplete-complete-option-arg): Complete '-t/--type' option for
	  'guix refresh' command.

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

	Merge branch 'dbus-update'

	services: 'tor-service' takes a 'config-file' parameter.
	* gnu/services/networking.scm (tor-dmd-service): Take a 'config'
	  parameter and honor it.
	  (tor-service): Take a 'config-file' parameter.  Pass it in the
	  service's value.
	* doc/guix.texi (Networking Services): Adjust accordingly.

	gnu: guitarix: Compile in C++11 mode.
	* gnu/packages/patches/guitarix-c++11.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/audio.scm (guitarix)[source]: Use it.
	  [arguments]: Add --cxxflags to #:configure-flags.

	gnu: lablgtk: Build sequentially.
	* gnu/packages/ocaml.scm (lablgtk)[arguments]: Add #:parallel-build? #f.

2015-10-31  David Thompson  <dthompson2@worcester.edu>

	scripts: environment: Allow lists of packages in expressions.
	* guix/scripts/environment.scm (options/resolve-packages): Match against
	  lists of packages when evaluating expressions.
	* tests/guix-environment.sh: Add test.
	* doc/guix.texi ("invoking guix environment"): Add docs.

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

	build: Move 'guild compile' flags to a variable.
	* Makefile.am (GUILD_COMPILE_FLAGS): New variable.
	  (.scm.go): Use it.

	system: Add 'locale-libcs' field.
	* gnu/system/locale.scm (localedef-command)[maybe-version-directory]:
	  New procedure.
	  Use it.
	  (locale-directory): Rename to...
	  (single-locale-directory): ... this.  Check the version of LIBC to
	  determine whether to create a "X.Y" sub-directory or to make it a
	  symlink to ".".  Add the version number in the derivation name.
	  (locale-directory): New procedure.
	  (%default-locale-libcs): New variable.
	* gnu/system.scm (<operating-system>)[locale-libcs]: New field.
	  (operating-system-locale-directory): Pass it to 'locale-directory'.
	* doc/guix.texi (operating-system Reference): Document 'locale-libcs'.
	  (Locales)[Locale Data Compatibility Considerations]: New section.

	gnu: glibc: Add version 2.21.
	* gnu/packages/base.scm (glibc-2.21): New variable.

2015-10-30  Andy Patterson  <ajpatter@uwaterloo.ca>

	gnu: ffmpeg: Enable gnutls support.
	* gnu/package/video.scm (ffmpeg)[inputs]: Add gnutls.
	  [arguments]: Enable it.

2015-10-30  David Thompson  <davet@gnu.org>

	scripts: system: Add 'container' action.
	* guix/scripts/system.scm (show-help): Display 'container' action.
	  (system-derivation-for-action, guix-system): Add 'container' case.
	  (perform-action): Skip GRUB config generation when building a container.
	* doc/guix.texi (Invoking guix system): Document it.

2015-10-30  David Thompson  <dthompson2@worcester.edu>

	system: container: Adjust to changes in gexps.
	* gnu/system/linux-container.scm (system-container): 'etc' is no longer
	  a monadic value, and the result of 'file-union' must be lowered.

2015-10-30  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: openblas: Make substitutable on MIPS.
	* gnu/packages/maths.scm (openblas)[arguments]: Make package
	  substitutable when the system is MIPS.

	gnu: openblas: Set TARGET to SICORTEX on MIPS.
	* gnu/packages/maths.scm (openblas)[arguments]: Add "TARGET=SICORTEX" to
	  make-flags when building for MIPS.

2015-10-30  宋文武  <iyzsong@gmail.com>

	Merge branch 'master' into dbus-update

	gnu: mesa-utils: Fix build.
	* gnu/packages/gl.scm (mesa-utils)[arguments]: Pass "--disable-egl"
	  as #:configure-flags.

2015-10-30  David Thompson  <dthompson2@worcester.edu>

	gnu: xfce4-session: Fix xflock4.
	* gnu/packages/patches/xfce4-session-fix-xflock4.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xfce.scm (xfce4-session)[source]: Add patch.

2015-10-30  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add pcre2.
	* gnu/packages/pcre.scm (pcre2): New variable.

2015-10-30  宋文武  <iyzsong@gmail.com>

	gnu: telepathy-glib: Fix tests.
	* gnu/packages/glib.scm (telepathy-glib)[source]: Add a patch to
	  unique test names.

2015-10-30  Efraim Flashner  <efraim@flashner.co.il>

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

2015-10-29  Andreas Enge  <andreas@enge.fr>

	gnu: Remove ardour-3.
	* gnu/packages/audio.scm (ardour-3): Remove variable.
	  (ardour): Copy fields from the removed ardour-3 instead of inheriting
	  from it.

2015-10-29  Eric Bavier  <bavier@member.fsf.org>

	gnu: fish: Add python input.
	* gnu/packages/fish.scm (inputs): Add python.

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

	doc: Fix outdated description of the bare-bones example.
	Reported by fps on #guix.

	* doc/guix.texi (Using the Configuration System): Replace mention of
	  Emacs with tcpdump.

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

	services: Add 'linux-bare-metal-service-type'.
	* gnu/services.scm (modprobe-wrapper): Remove.
	  (activation-script): Do not use it.  Remove calls to
	  'activate-modprobe' and 'activate-ptrace-attach' in gexp.
	  (%modprobe-wrapper, %linux-kernel-activation,
	  linux-bare-metal-service-type, %linux-bare-metal-service): New
	  variables.
	* gnu/system.scm (essential-services): Add %LINUX-BARE-METAL-SERVICE to
	  the list, unless CONTAINER? is true.

2015-10-29  Andy Patterson  <ajpatter@uwaterloo.ca>

	gnu: ffmpeg: Move flags into their own argument.
	* gnu/packages/video.scm (ffmpeg)[arguments]: Move the configurable
	  configure flag literals into the configure-flags argument. Call
	  configure with these flags from the configure phase.

2015-10-29  David Thompson  <dthompson2@worcester.edu>

	scripts: environment: Allow mixing regular and ad-hoc packages.
	This patch changes the --ad-hoc flag to be positional.  That is, the
	packages that appear before --ad-hoc are interpreted as packages whose
	inputs should be in the environment; the packages that appear after are
	interpreted as packages to be directly added to the environment.

	* guix/scripts/environment.scm (tag-package-arg, compact): New
	  procedures.
	  (%options): Tweak the handlers for --load and --expression options.
	  (options/resolve-packages): Preserve package mode tag.
	  (parse-args): Tweak argument handler to use package tagging procedure.
	  (guix-environment): Apply ad-hoc behavior on a per package basis.
	* tests/guix-environment.sh: Add test.
	* doc/guix.texi ("invoking guix environment"): Document new behavior of
	  --ad-hoc.

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

	services: Add screen-locker service.
	* gnu/system/linux.scm (base-pam-services): Remove "xlock" and
	  "xscreensaver".
	* gnu/services/xorg.scm (<screen-locker>): New record type.
	  (screen-locker-pam-services, screen-locker-setuid-programs,
	  screen-locker-service): New procedures.
	  (screen-locker-service-type): New variable.
	* gnu/services/desktop.scm (%desktop-services): Use them.
	* doc/guix.texi (X Window): Document 'screen-locker-service'.
	  (Desktop Services): Mention it.

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

	system: File systems depend on their corresponding device mappings.
	Fixes a regression introduced in commit 0adfe95.

	* gnu/system.scm (other-file-system-services)[requirements]: Remove.
	  [add-dependencies]: New procedure.
	  Use it.
	* gnu/system/file-systems.scm (<file-system>)[dependencies]: Update
	  comment.
	* gnu/services/base.scm (mapped-device->dmd-service-name,
	  dependency->dmd-service-name): New procedures.
	  (file-system-service-type): Use it.

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

	gnu: Add libchop.
	* gnu/packages/backup.scm (libchop): New variable.

	gnu: Move gdbm to (gnu packages databases).
	* gnu/packages/gdbm.scm: Remove.
	* gnu/packages/databases.scm (gdbm): New variable, from gdbm.scm.
	* gnu/packages/avahi.scm, gnu/packages/cyrus-sasl.scm,
	  gnu/packages/guile.scm, gnu/packages/mail.scm,
	  gnu/packages/man.scm, gnu/packages/pulseaudio.scm,
	  gnu/packages/python.scm, gnu/packages/ruby.scm,
	  gnu/packages/sawfish.scm: Adjust accordingly.
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove gdbm.scm.

	doc: Mention Nix in the intro.
	* doc/guix.texi (Introduction): Mention Nix with a xref to
	  "Acknowledgments".
	  (Acknowledgments): Add link to nixos.org.

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

	system: grub: Let GRUB choose the best graphics mode.
	On PCs, it means that it will typically choose resolutions higher
	than 640x480, which is nicer.

	* gnu/system/grub.scm (eye-candy)[setup-gfxterm-body]: Leave 'gfxmode'
	  unset.

2015-10-29  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: openblas: Update to 0.2.15.
	* gnu/packages/maths.scm (openblas): Update to 0.2.15.

2015-10-29  宋文武  <iyzsong@gmail.com>

	gnu: leptonica: Disable parallel tests.
	* gnu/packages/image.scm (leptonica)[arguments]: Add #:parallel-tests?.

2015-10-29  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: icedtea7: Update to 2.6.2.
	* gnu/packages/java.scm (icedtea7): Update to 2.6.2.

2015-10-29  Paul van der Walt  <paul@denknerd.org>

	gnu: ghc-glut: Propagate freeglut input.
	* gnu/packages/haskell.scm (ghc-glut): Move freeglut to
	  propagated-inputs.

2015-10-28  Efraim Flashner  <efraim@flashner.co.il>

	gnu: bluez: Update to 5.35.
	* gnu/packages/linux.scm (bluez): Update to 5.35.

2015-10-28  Alex Kost  <alezost@gmail.com>

	gnu: magit-svn: Update to 2.1.1.
	* gnu/packages/emacs.scm (magit-svn): Update to 2.1.1.

	gnu: magit: Update to 2.3.0.
	* gnu/packages/emacs.scm (magit): Update to 2.3.0.

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

	services: Add 'modify-services'.
	* gnu/services.scm (%modify-service, modify-services): New macros.
	* gnu/services/base.scm (mingetty-service-type, guix-service-type):
	  Export.
	* emacs/guix-devel.el (guix-devel-keywords): Add 'modify-services'.
	  Ditto in 'guix-devel-scheme-indent' call.
	* doc/guix.texi (Using the Configuration System): Give an example of
	  'modify-services'.
	  (Service Reference): Document it.

	services: 'guix-configuration' has a 'substitute-urls' field.
	* gnu/services/base.scm (<guix-configuration>)[substitute-urls]: New
	  field.
	  (guix-dmd-service): Honor it.
	* doc/guix.texi (Base Services): Document it.

2015-10-28  Alex Kost  <alezost@gmail.com>

	refresh: Support comma-separated updater types.
	* guix/scripts/refresh.scm (%options): Handle comma-separated types for
	  '--type' option.
	  (guix-refresh): Adjust accordingly.
	  (show-help): Likewise.
	* doc/guix.texi (Invoking guix refresh): Document it.

2015-10-28  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: pbtranscript-tofu: Update to 2.2.3.
	* gnu/packages/bioinformatics.scm (pbtranscript-tofu): Update to 2.2.3.
	  [source]: Remove bundled Cython sources in a snippet.  Replace
	  ".tar.gz" extension in file-name field with "-checkout".
	  [arguments]: Replace "enter-directory-and-clean-up" phase with
	  "enter-directory" phase, and add "patch-setuppy" phase.
	  [inputs]: Add python2-h5py.  Move python2-cython ...
	  [native-inputs]: ... to this field.

2015-10-28  Andreas Enge  <andreas@enge.fr>

	gnu: pari-gp: Add X11 input.
	* gnu/packages/algebra.scm (pari-gp)[inputs]: Add libx11, which enables
	  plotting functions.

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

	tests: Print the mounts visible in the container.
	* tests/guix-environment-container.sh: Print the content of
	  $tmpdir/mounts.

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

	ui: Add 'make-regexp*'.
	Fixes <http://bugs.gnu.org/21773>.
	Reported by Jan Synáček <jan.synacek@gmail.com>.

	* guix/ui.scm (make-regexp*): New procedure.
	* guix/scripts/package.scm (options->installable, guix-package): Use it
	  when processing user-provided regexps.

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

	container: Remove unnecessary CLONE_CHILD_* flags.
	* gnu/build/linux-container.scm (namespaces->bit-mask): Remove
	  CLONE_CHILD_CLEARTID and CLONE_CHILD_SETTID, which are unneeded.
	  Discussed at <http://bugs.gnu.org/21694>.

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

	store: Use the daemon's substitute URLs by default.
	Partly fixes <http://bugs.gnu.org/20217>.

	* guix/store.scm (set-build-options): Change #:substitute-urls to
	  default to #f.  Send the 'substitute-urls' pair only if
	  SUBSTITUTE-URLS is true.
	* guix/scripts/build.scm (set-build-options-from-command-line): Do not
	  default to %DEFAULT-SUBSTITUTE-URLS for #:substitute-urls.
	* guix/scripts/size.scm (%default-options): Remove 'substitute-urls'.

2015-10-28  宋文武  <iyzsong@gmail.com>

	gnu: leptonica: Disable failing tests.
	* gnu/packages/image.scm (leptonica)[arguments]: Add 'disable-failing-tests' phase.

2015-10-28  David Thompson  <dthompson2@worcester.edu>

	scripts: build: Add --file option.
	* guix/scripts/build.scm (show-help): Add help text for --file option.
	  (%options): Add --file option.
	  (options/resolve-packages): Handle 'file' options.
	* tests/guix-build.sh: Add tests.
	* doc/guix.texi ("invoking guix build"): Add doc.

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

	gnu: python-debian: Avoid @itemize in description.
	* gnu/packages/python.scm (python-debian): Use @enumerate instead of
	  @itemize.

	substitute: Honor all the specified server URLs.
	* guix/scripts/substitute.scm (lookup-narinfos/diverse): New procedure.
	  (lookup-narinfo): Use it.
	  (process-query): Change #:cache-url to #:cache-urls.
	  [valid?]: Remove 'narinfo?' check, which is no longer necessary.
	  Use 'lookup-narinfos/diverse' instead of 'lookup-narinfos'.
	  (process-substitution): Change #:cache-url to #:cache-urls.
	  (%cache-url): Rename to...
	  (%cache-urls): ... this.  Turn into a list.
	  (guix-substitute): Remove 'getaddrinfo' test with early exit.  Adjust
	  calls to 'process-query' and 'process-substitution'.
	* tests/substitute.scm: Change '%cache-url' to '%cache-urls'.

	substitute: 'lookup-narinfos' returns exactly a list of narinfos.
	* guix/scripts/substitute.scm (lookup-narinfos): Filter out #f values
	  from CACHED, such that the end result is exactly a list of narinfos,
	  not interspersed with #f.
	* guix/scripts/challenge.scm (discrepancies): Assume REMOTE is a list of
	  narinfos.

	substitute: 'http-multiple-get' follows 'fold' style.
	* guix/scripts/substitute.scm (http-multiple-get): Add 'seed'
	  parameter.  Call PROC in 'fold' style.
	  (fetch-narinfos)[handle-narinfo-response]: Adjust accordingly.
	  Update 'http-multiple-get' call accordingly.

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

	gnu: grub: Install documentation.
	* gnu/packages/grub.scm (grub)[native-inputs]: Add help2man and texinfo.

	gnu: grub: Use modify-phases and other minor cleanups.
	* gnu/packages/grub.scm (grub)[arguments]: Use modify-phases.  Return #t from
	  'patch-stuff' phase.  Add 'patch-stuff' phase after 'unpack' instead of
	  before 'patch-source-shebangs'.
	  [inputs]: Add comment noting that 'fuse' would be a desirable input.

	doc: Add texinfo to the requirements when building from git.
	* doc/contributing.texi (Building from Git): Add GNU Texinfo to the list of
	  additional requirements.

	gnu: linux-libre: On MIPS, the linux image name is vmlinuz, not bzImage.
	* gnu/packages/linux.scm (linux-libre)[install-phase]: Add vmlinuz to the list
	  of file names to be copied.

	gnu: linux-libre: Add case for ARCH=mips.
	* gnu/packages/linux.scm (linux-libre)[build-phase]: When setting ARCH, add a
	  case for MIPS.

	gnu: linux-libre: Add 'supported-systems' field: Intel only for now.
	* gnu/packages/linux.scm (linux-libre)[supported-systems]: New field.

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

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

	linux-initrd: Use pata_acpi, pata_atiixp, and isci modules only on Intel.
	* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Include
	  "pata_acpi", "pata_atiixp", and "isci" on Intel systems only.

	system: grub: Adjust eye-candy to work on non-Intel systems.
	* gnu/system/grub.scm (eye-candy): Accept additional 'system' argument.  Add
	  local 'setup-gfxterm-body' variable.  Replace the 'load_video' grub function
	  with 'setup_gfxterm', which includes everything in the 'if loadfont' form on
	  Intel systems, but is empty on non-Intel.
	  (grub-configuration-file): Pass 'system' to 'eye-candy.

	system: grub: On MIPS, the linux image name is vmlinuz, not bzImage.
	* gnu/system/grub.scm (grub-configuration-file): Add 'linux-image-name'
	  internal procedure.  Use it from 'entry->gexp'.

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

	gnu: Add Diffoscope.
	* gnu/packages/package-management.scm (diffoscope): New variable.

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

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

2015-10-27  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Update to 5.5.1.
	* gnu/packages/qt.scm (qt): Update to 5.5.1.

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

	refresh: Add '--list-updaters' option.
	* guix/scripts/refresh.scm (list-updaters-and-exit): New procedure.
	  (%options, show-help): Add '--list-updaters' option.
	* doc/guix.texi (Invoking guix refresh): Document it.

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

	upstream: Add 'description' field to 'upstream-updater'.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* guix/upstream.scm (<upstream-updater>): Use 'define-record-type*'.
	  [description]: New field.
	  (lookup-updater): Adjust accordingly.
	* guix/gnu-maintenance.scm (%gnu-updater): Likewise.
	* guix/import/cran.scm (%cran-updater): Likewise.
	* guix/import/elpa.scm (%elpa-updater): Likewise.
	* po/guix/POTFILES.in: Add guix/scripts/import/cran.scm and
	  guix/gnu-maintenance.scm.

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

	emacs: Use 'switch-to-generation*'.
	This is a followup to commit 06d45f4566469364b4c1fe6d3c71ecf58f5d4838.

	* emacs/guix-base.el (guix-switch-to-generation): Replace
	  'switch-to-generation' with 'switch-to-generation*'.

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

	emacs: Add "Packages" option for 'guix challenge' popup.
	* emacs/guix-command.el (guix-command-rest-argument): Add "challenge".

	emacs: Add shell completions for 'guix challenge'.
	* emacs/guix-pcomplete.el (guix-pcomplete-complete-command-arg): Add
	  "challenge" to complete package names for it.

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

	gnu: gcj: Run libjava tests.
	* gnu/packages/gcc.scm (gcj)[native-inputs]: Add dejagnu.
	  [arguments]: Enable tests and set test target to
	  "check-target-libjava".

2015-10-27  Christopher Allan Webber  <cwebber@dustycloud.org>

	gnu: guile-next: Update to 20151025.e5bccb6
	* gnu/packages/guile.scm (guile-next): Update to 20151025.e5bccb6.

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

	gnu: leptonica: Update to 1.72.
	* gnu/packages/image.scm (leptonica): Update to 1.72.

	gnu: ganv, pavucontrol, jalv: Fix build by compile with C++11.
	* gnu/packages/audio.scm (jalv)[arguments],
	  gnu/packages/gtk.scm (ganv)[arguments],
	  gnu/packages/music.scm (non-sequencer)[arguments],
	  gnu/packages/pulseaudio.scm (pavucontrol)[arguments]: Set
	  'CXXFLAGS' to '-std=c++11'.

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

	gnu: subread: Use SSE optimizations on x86_64 only.
	* gnu/packages/bioinformatics.scm (subread)[arguments]: Override CC and
	  CCFLAGS conditionally dependent on target system.

	gnu: crossmap: Update to 0.2.1.
	* gnu/packages/bioinformatics.scm (crossmap): Update to 0.2.1.

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

	gnu: mu: Adjust to new GLib version.
	* gnu/packages/mail.scm (%mu-gtester-patch): New variable.
	  (mu)[source]: Use it.

	gnu: gtkmm: Add dependency on glib:bin.
	* gnu/packages/gtk.scm (gtkmm)[native-inputs]: Add glib:bin.
	  (gtkmm-2)[native-inputs]: New field.

	gnu: libwacom: Add dependency on libgudev.
	* gnu/packages/xdisorg.scm (libwacom)[inputs]: Add LIBGUDEV.

2015-10-27  Aljosha Papsch  <misc@rpapsch.de>

	gnu: Add yapet.
	* gnu/packages/password-utils.scm (yapet): New variable.

2015-10-27  Cyrill Schenkel  <cyrill.schenkel@gmail.com>

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

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

	profiles: Add generation manipulation procedures.
	* guix/scripts/package.scm (delete-generations): Use
	  'delete-generation*' instead of 'delete-generation'.
	  (guix-package)[process-actions]: Use 'roll-back*' instead of
	  'roll-back' and 'switch-to-generation*' instead of
	  'switch-to-generation'.
	  (link-to-empty-profile, switch-to-generation,
	  switch-to-previous-generation, roll-back, delete-generation): Move
	  to...
	* guix/profiles.scm: ... here.  Adjust to not print messages and to
	  return values that can be used by user interfaces.
	* guix/ui.scm (display-generation-change, roll-back*,
	  switch-to-generation*, delete-generation*): New procedures.

	utils: Add 'switch-symlinks', moved from (guix ui).
	* guix/ui.scm (switch-symlinks): Move to...
	* guix/utils.scm: ... here.  New procedure.
	* guix/scripts/pull.scm: Use it.

	guix system: Add the 'list-generations' command.
	* guix/scripts/system.scm (display-system-generation, list-generations):
	  New procedures.
	  (process-action): Clarify docstring.
	  (process-command): New procedure.
	  (guix-system)[parse-sub-command]: Add 'list-generations'
	  Call 'process-command' instead of 'process-action'.
	* doc/guix.texi (Using the Configuration System): Mention generations,
	  rollback, and 'list-generations'.
	  (Invoking guix system): Document 'list-generations'.

	guix system: Factorize boot parameter parsing.
	* guix/scripts/system.scm (<boot-parameters>): New record type.
	  (read-boot-parameters): New procedure.
	  (previous-grub-entries)[system->grub-entry]: Use it.

	ui: Add procedures to display a profile generation.
	* guix/scripts/package.scm (guix-package)[process-query](list-generations):
	  Move part of the body to 'delete-generation' and
	  'display-profile-content'.
	* guix/ui.scm (display-generation, display-profile-content): New
	  procedures.

	utils: Add 'readlink*'.
	* guix/scripts/package.scm (readlink*): Move to...
	* guix/utils.scm (readlink*): ... here.  New procedure.

	guix system: Extract action processing.
	* guix/scripts/system.scm (process-action): New procedure.  Extracted
	  from...
	  (guix-system): ... here.  Use it.

	ui: Add 'matching-generations'.
	* guix/scripts/package.scm (matching-generations): Move to...
	* guix/ui.scm (matching-generations): ... here.

	doc: Add a REPL example.
	* doc/contributing.texi (Running Guix Before It Is Installed): Add REPL
	  example.
	* doc/emacs.texi (Emacs General info): Add @cindex.

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

	gnu: Add RPM.
	* gnu/packages/package-management.scm (rpm): New variable.
	* gnu/packages/backup.scm (libarchive): Add comment.

2015-10-26  Paul van der Walt  <paul@denknerd.org>

	gnu: racket: Update to 6.2.1.
	* gnu/packages/scheme.scm (racket): Update to 6.2.1.

2015-10-26  Paul van der Walt  <paul@denknerd.org>

	gnu: haskell: Remove CONFIG_SHELL patches.
	A previous commit to the haskell-build-system made sure that if
	necessary, the CONFIG_SHELL environment variable is set.  That obviates
	the individual patches applied to some packages.  Remove them.

	* gnu/packages/haskell.scm (ghc-network, ghc-old-time, ghc-sdl-image,
	  ghc-sdl-mixer, ghc-sdl, ghc-unix-time, ghc-x11)[arguments]: Remove
	  ‘fix-/bin/sh’ phase.

2015-10-26  Paul van der Walt  <paul@denknerd.org>

	gnu: ghc-async: Fix description formatting.
	* gnu/packages/haskell.scm (ghc-async): Formatting.

2015-10-26  Paul van der Walt  <paul@denknerd.org>

	build-system/haskell: CONFIG_SHELL env variable.
	For Cabal packages with "build-type: Configure", a configure shell
	script is run to set up build parameters.  These scripts need the
	CONFIG_SHELL environment variable to be set to function properly.

	* guix/build/haskell-build-system.scm (configure): Set CONFIG_SHELL if
	  necessary.

2015-10-26  David Thompson  <davet@gnu.org>

	scripts: environment: Add --container option.
	* guix/scripts/system.scm (specification->file-system-mapping): Move from
	  here...
	* guix/ui.scm (specification->file-system-mapping): ... to here.
	* guix/scripts/enviroment.scm (show-help): Show help for new options.
	  (%options): Add --container --network, --expose, and --share options.
	  (%network-configuration-files): New variable.
	  (launch-environment, launch-environment/container, requisites*,
	  inputs->requisites): New procedures.
	  (guix-environment): Spawn new process in a container when requested.
	* doc/guix.texi (Invoking guix environment): Document it.
	* tests/guix-environment-container.sh: New file.
	* Makefile.am (SH_TESTS): Add it.

2015-10-25  Efraim Flashner  <efraim@flashner.co.il>

	gnu: youtube-dl: Upgrade to 2015.10.24.
	* gnu/packages/video.scm (youtube-dl): Upgrade to 2015.10.24.

2015-10-25  宋文武  <iyzsong@gmail.com>

	gnu: ardour: Build with '--cxx11'.
	* gnu/packages/audio.scm (ardour, ardour-3)[arguments]: Add '--cxx11'
	  as #:configure-flags.

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

	gnu: unzip: Reorganize security fixes for improved clarity.
	* gnu/packages/patches/unzip-fix-overflows-and-infloop.patch: Delete
	  file.  Its contents are now split into the following new files:
	* gnu/packages/patches/unzip-CVE-2015-7696.patch,
	  gnu/packages/patches/unzip-CVE-2015-7697.patch,
	  gnu/packages/patches/unzip-overflow-on-invalid-input.patch: New files.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.
	* gnu/packages/zip.scm (unzip)[source]: Adjust patches accordingly.

	Merge branch 'master' into dbus-update

2015-10-24  宋文武  <iyzsong@gmail.com>

	gnu: libgnomecanvasmm: Fix build by passing '-std=c++11'.
	* gnu/packages/gnome.scm (libgnomecanvasmm)[arguments]: Pass
	  '-std=c++11' as CXXFLAGS.

2015-10-24  宋文武  <iyzsong@gmail.com>

	gnu: gtk+: Remove rest from inputs.
	This broke building on mips64el.

	* gnu/packages/gtk.scm (gtk+)[inputs]: Remove rest.

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

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

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

	gnu: bluez: Update to 5.35, fix test.
	* gnu/packages/patches/bluez-tests.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/linux.scm (bluez): Update to 5.35.
	  [source]: Add patch.

2015-10-23  Paul van der Walt  <paul@denknerd.org>

	import: hackage: Fix grammar.
	Minor clarification regarding the test-dependencies command line option.

	* guix/scripts/import/hackage.scm (show-help): Minor grammatical fix.

2015-10-23  Paul van der Walt  <paul@denknerd.org>

	import: hackage: Update GHC libraries for 7.10.2.
	Update ghc-standard-libraries to match the output of `ghc-pkg list` when
	using GHC 7.10.2.

	* guix/import/hackage.scm (ghc-standard-libraries): Sort and update list
	  of core GHC libraries.

2015-10-23  Paul van der Walt  <paul@denknerd.org>

	gnu: Add Raincat.
	* gnu/packages/games.scm (raincat): New variable.

	gnu: Add ghc-sdl-image.
	* gnu/packages/haskell.scm (ghc-sdl-image): New variable.

	gnu: Add ghc-sdl-mixer.
	* gnu/packages/haskell.scm (ghc-sdl-mixer): New variable.

	gnu: Add ghc-sdl.
	* gnu/packages/haskell.scm (ghc-sdl): New variable.

	gnu: Add ghc-glut.
	* gnu/packages/haskell.scm (ghc-glut): New variable.

	gnu: Add ghc-opengl.
	* gnu/packages/haskell.scm (ghc-opengl): New variable.

	gnu: Add ghc-objectname.
	* gnu/packages/haskell.scm (ghc-objectname): New variable.

	gnu: Add ghc-gluraw.
	* gnu/packages/haskell.scm (ghc-gluraw): New variable.

	gnu: Add ghc-openglraw.
	* gnu/packages/haskell.scm (ghc-openglraw): New variable.

	gnu: Add ghc-half.
	* gnu/packages/haskell.scm (ghc-half): New variable.

	gnu: Add ghc-regex-compat.
	* gnu/packages/haskell.scm (ghc-regex-compat): New variable.

	gnu: Add ghc-regex-posix.
	* gnu/packages/haskell.scm (ghc-regex-posix): New variable.

	gnu: Add ghc-xhtml.
	* gnu/packages/haskell.scm (ghc-xhtml): New variable.

	gnu: Add ghc-haskell-src.
	* gnu/packages/haskell.scm (ghc-haskell-src): New variable.

	gnu: Add ghc-html.
	* gnu/packages/haskell.scm (ghc-html): New variable.

	gnu: Add ghc-cgi.
	* gnu/packages/haskell.scm (ghc-cgi): New variable.

	gnu: Add ghc-multipart.
	* gnu/packages/haskell.scm (ghc-multipart): New variable.

	gnu: Add ghc-alex.
	* gnu/packages/haskell.scm (ghc-alex): New variable.

	gnu: Add ghc-haddock.
	* gnu/packages/haskell.scm (ghc-haddock): New variable.

	gnu: Add ghc-haddock-api.
	* gnu/packages/haskell.scm (ghc-haddock-api): New variable.

	gnu: Add ghc-haddock-library.
	* gnu/packages/haskell.scm (ghc-haddock-library): New variable.

	gnu: Add Idris.
	* gnu/packages/haskell.scm (idris): New variable.

	gnu: Add ghc-trifecta.
	* gnu/packages/haskell.scm (ghc-trifecta): New variable.

	gnu: Add ghc-cheapskate.
	* gnu/packages/haskell.scm (ghc-cheapskate): Add variable.

	gnu: Add ghc-lens.
	* gnu/packages/haskell.scm (ghc-lens): Add variable.

	gnu: Add ghc-kan-extensions.
	* gnu/packages/haskell.scm (ghc-kan-extensions): New variable.

	gnu: Add ghc-vector-binary-instances.
	* gnu/packages/haskell.scm (ghc-vector-binary-instances): New variable.

	gnu: Add ghc-wai-extra.
	* gnu/packages/haskell.scm (ghc-wai-extra): New variable.

	gnu: Add ghc-wai-logger.
	* gnu/packages/haskell.scm (ghc-wai-logger): New variable.

	gnu: Add ghc-wai.
	* gnu/packages/haskell.scm (ghc-wai): New variable.

	gnu: Add ghc-cookie.
	* gnu/packages/haskell.scm (ghc-cookie): New variable.

	gnu: Add ghc-parsers.
	* gnu/packages/haskell.scm (ghc-parsers): New variable.

	gnu: Add ghc-xss-sanitize.
	* gnu/packages/haskell.scm (ghc-xss-sanitize): New variable.

	gnu: Add ghc-streaming-commons.
	* gnu/packages/haskell.scm (ghc-streaming-commons): New variable.

	gnu: Add ghc-resourcet.
	* gnu/packages/haskell.scm (ghc-resourcet): New variable.

	gnu: Add hlint.
	* gnu/packages/haskell.scm (hlint): New variable.

	gnu: Add ghc-haskell-src-exts.
	* gnu/packages/haskell.scm (ghc-haskell-src-exts): New variable.

	gnu: Add ghc-happy.
	* gnu/packages/haskell.scm (ghc-happy): New variable.

	gnu: Add ghc-cmdargs.
	* gnu/packages/haskell.scm (ghc-cmdargs): New variable.

	gnu: Add cpphs.
	* gnu/packages/haskell.scm (cpphs): New variable.

	gnu: Add ghc-simple-reflect.
	* gnu/packages/haskell.scm (ghc-simple-reflect): New variable.

	gnu: Add ghc-adjunctions.
	* gnu/packages/haskell.scm (ghc-adjunctions): New variable.

	gnu: Add ghc-free.
	* gnu/packages/haskell.scm (ghc-free): New variable.

	gnu: Add ghc-prelude-extras.
	* gnu/packages/haskell.scm (ghc-prelude-extras): New variable.

	gnu: Add ghc-reflection.
	* gnu/packages/haskell.scm (ghc-reflection): New variable.

	gnu: Add ghc-reducers.
	* gnu/packages/haskell.scm (ghc-reducers): New variable.

	gnu: Add ghc-semigroupoids.
	* gnu/packages/haskell.scm (ghc-semigroupoids): New variable.

	gnu: Add ghc-profunctors.
	* gnu/packages/haskell.scm (ghc-profunctors): New variable.

	gnu: Add ghc-extra.
	* gnu/packages/haskell.scm (ghc-extra): New variable.

	gnu: Add ghc-polyparse.
	* gnu/packages/haskell.scm (ghc-polyparse): New variable.

	gnu: Add HScolour.
	* gnu/packages/haskell.scm (hscolour): New variable.

	gnu: Add ghc-comonad.
	* gnu/packages/haskell.scm (ghc-comonad): New variable.

	gnu: Add ghc-distributive.
	* gnu/packages/haskell.scm (ghc-distributive): New variable.

	gnu: Add ghc-cereal.
	* gnu/packages/haskell.scm (ghc-cereal): New variable.

	gnu: Add ghc-zip-archive.
	* gnu/packages/haskell.scm (ghc-zip-archive): New variable.

	gnu: Add ghc-css-text.
	* gnu/packages/haskell.scm (ghc-css-text): New variable.

	gnu: Add ghc-aeson.
	* gnu/packages/haskell.scm (ghc-aeson): New variable.

	gnu: Add ghc-attoparsec.
	* gnu/packages/haskell.scm (ghc-attoparsec): New variable.

	gnu: Add ghc-scientific.
	* gnu/packages/haskell.scm (ghc-scientific): New variable.

	gnu: Add ghc-tasty-ant-xml.
	* gnu/packages/haskell.scm (ghc-tasty-ant-xml): New variable.

	gnu: Add ghc-tasty-smallcheck.
	* gnu/packages/haskell.scm (ghc-tasty-smallcheck): New variable.

	gnu: Add ghc-smallcheck.
	* gnu/packages/haskell.scm (ghc-smallcheck): New variable.

	gnu: Add ghc-tasty-golden.
	* gnu/packages/haskell.scm (ghc-tasty-golden): New variable.

	gnu: Add ghc-temporary-rc.
	* gnu/packages/haskell.scm (ghc-temporary-rc): New variable.

2015-10-23  Paul van der Walt  <paul@denknerd.org>

	gnu: Add ghc-clock.
	Add ghc-clock, which depends indirectly on ghc-clock-bootstrap for its
	test suite.

	* gnu/packages/haskell.scm (ghc-clock): New variable.

2015-10-23  Paul van der Walt  <paul@denknerd.org>

	gnu: Add ghc-tasty-quickcheck.
	* gnu/packages/haskell.scm (ghc-tasty-quickcheck): New variable.

	gnu: Add ghc-tasty-hunit.
	* gnu/packages/haskell.scm (ghc-tasty-hunit): New variable.

	gnu: Add ghc-tasty.
	* gnu/packages/haskell.scm (ghc-tasty): New variable.

2015-10-23  Paul van der Walt  <paul@denknerd.org>

	gnu: Add ghc-clock-bootstrap.
	The ghc-clock-bootstrap package has tests disabled, since they
	themselves indirectly require ghc-clock.  After adding ghc-tasty and
	ghc-tasty-quickcheck, ghc-clock is defined as a public package with
	tests enabled.

	* gnu/packages/haskell.scm (ghc-clock-bootstrap): New variable.

2015-10-23  Paul van der Walt  <paul@denknerd.org>

	gnu: Add ghc-stringsearch.
	* gnu/packages/haskell.scm (ghc-stringsearch): New variable.

	gnu: Add ghc-word8.
	* gnu/packages/haskell.scm (ghc-word8): New variable.

	gnu: Add ghc-lifted-base.
	* gnu/packages/haskell.scm (ghc-lifted-base): New variable.

	gnu: Add ghc-regex-tdfa-rc.
	* gnu/packages/haskell.scm (ghc-regex-tdfa-rc): New variable.

	gnu: Add ghc-charset.
	* gnu/packages/haskell.scm (ghc-charset): New variable.

	gnu: Add ghc-fast-logger.
	* gnu/packages/haskell.scm (ghc-fast-logger): New variable.

	gnu: Add ghc-bytestring-builder.
	* gnu/packages/haskell.scm (ghc-bytestring-builder): New variable.

	gnu: Add ghc-tagsoup.
	* gnu/packages/haskell.scm (ghc-tagsoup): New variable.

	gnu: Add ghc-digest.
	* gnu/packages/haskell.scm (ghc-digest): New variable.

	gnu: Add ghc-contravariant.
	* gnu/packages/haskell.scm (ghc-contravariant): New variable.

	gnu: Add ghc-statevar.
	* gnu/packages/haskell.scm (ghc-statevar): New variable.

	gnu: Add ghc-bifunctors.
	* gnu/packages/haskell.scm (ghc-bifunctors): Add variable.

	gnu: Add ghc-void.
	* gnu/packages/haskell.scm (ghc-void): New variable.

	gnu: Add ghc-semigroups.
	* gnu/packages/haskell.scm (ghc-semigroups): New variable.

	gnu: Add ghc-nats.
	* gnu/packages/haskell.scm (ghc-nats): New variable.

	gnu: Add ghc-http-types.
	* gnu/packages/haskell.scm (ghc-http-types): New variable.

	gnu: Add ghc-quickcheck-instances.
	* gnu/packages/haskell.scm (ghc-quickcheck-instances): New variable.

	gnu: Add ghc-unix-compat.
	* gnu/packages/haskell.scm (ghc-unix-compat): New variable.

	gnu: Add ghc-unix-time.
	* gnu/packages/haskell.scm (ghc-unix-time): New variable.

	gnu: Add ghc-iproute.
	* gnu/packages/haskell.scm (ghc-iproute): New variable.

	gnu: Add ghc-unbounded-delays.
	* gnu/packages/haskell.scm (ghc-unbounded-delays): New variable.

	gnu: Add ghc-tagged.
	* gnu/packages/haskell.scm (ghc-tagged): New variable.

	gnu: Add ghc-auto-update.
	* gnu/packages/haskell.scm (ghc-auto-update): New variable.

	gnu: Add ghc-doctest.
	* gnu/packages/haskell.scm (ghc-doctest): New variable.

	gnu: Add ghc-blaze-html.
	* gnu/packages/haskell.scm (ghc-blaze-html): New variable.

	gnu: Add ghc-blaze-markup.
	* gnu/packages/haskell.scm (ghc-blaze-markup): New variable.

	gnu: Add ghc-blaze-builder.
	* gnu/packages/haskell.scm (ghc-blaze-builder): New variable.

	gnu: Add ghc-base-compat.
	* gnu/packages/haskell.scm (ghc-base-compat): New variable.

	gnu: Add ghc-easy-file.
	* gnu/packages/haskell.scm (ghc-easy-file): New variable.

	gnu: Add ghc-byteorder.
	* gnu/packages/haskell.scm (ghc-byteorder): New variable.

	gnu: Add ghc-monad-control.
	* gnu/packages/haskell.scm (ghc-monad-control): New variable.

	gnu: Add ghc-transformers-base.
	* gnu/packages/haskell.scm (ghc-transformers-base): New variable.

	gnu: Add ghc-mmorph.
	* gnu/packages/haskell.scm (ghc-mmorph): New variable.

	gnu: Add ghc-vault.
	* gnu/packages/haskell.scm (ghc-vault): New variable.

	gnu: Add ghc-base-orphans.
	* gnu/packages/haskell.scm (ghc-base-orphans): New variable.

	gnu: Add ghc-optparse-applicative.
	* gnu/packages/haskell.scm (ghc-optparse-applicative): New variable.

	gnu: Add ghc-fingertree.
	* gnu/packages/haskell.scm (ghc-fingertree): New variable.

	gnu: Add ghc-uniplate.
	* gnu/packages/haskell.scm (ghc-uniplate): New variable.

	gnu: Add ghc-base64-bytestring.
	* gnu/packages/haskell.scm (ghc-base64-bytestring): New variable.

	gnu: Add ghc-ansi-wl-pprint.
	* gnu/packages/haskell.scm (ghc-ansi-wl-pprint): New variable.

	gnu: Add ghc-annotated-wl-pprint.
	* gnu/packages/haskell.scm (ghc-annotated-wl-pprint): New variable.

	gnu: ghc-split: Update dependencies.
	* gnu/packages/haskell.scm (ghc-split): Update package dependencies for
	  compatibility with new GHC.  Replicate Cabal-file patch from Hackage.

	gnu: Add ghc-quickcheck-unicode.
	* gnu/packages/haskell.scm (ghc-quickcheck-unicode): New variable.

	gnu: Add ghc-xml.
	* gnu/packages/haskell.scm (ghc-xml): New variable.

	gnu: Add ghc-logict.
	* gnu/packages/haskell.scm (ghc-logict): New variable.

	gnu: Add ghc-pcre-light.
	* gnu/packages/haskell.scm (ghc-pcre-light): New variable.

	gnu: Add ghc-generic-deriving.
	* gnu/packages/haskell.scm (ghc-generic-deriving): New variable.

	gnu: Add ghc-safe.
	* gnu/packages/haskell.scm (ghc-safe): New variable.

	gnu: Add ghc-appar.
	* gnu/packages/haskell.scm (ghc-appar): New variable.

	gnu: Add ghc-regex-base.
	* gnu/packages/haskell.scm (ghc-regex-base): New variable.

	gnu: Add ghc-hspec.
	* gnu/packages/haskell.scm (ghc-hspec): New variable.

	gnu: Add hspec-discover.
	* gnu/packages/haskell.scm (hspec-discover): New variable.

	gnu: Add ghc-hspec-meta.
	* gnu/packages/haskell.scm (ghc-hspec-meta): New variable.

	gnu: Add ghc-hspec-core.
	* gnu/packages/haskell.scm (ghc-hspec-core): New variable.

	gnu: Add ghc-hspec-expectations.
	* gnu/packages/haskell.scm (ghc-hspec-expectations): New variable.

	gnu: Add ghc-silently.
	* gnu/packages/haskell.scm (ghc-silently): New variable.

	gnu: Add ghc-temporary.
	* gnu/packages/haskell.scm (ghc-temporary): New variable.

	gnu: Add ghc-exceptions.
	* gnu/packages/haskell.scm (ghc-exceptions): New variable.

	gnu: Add ghc-transformers-compat.
	* gnu/packages/haskell.scm (ghc-transformers-compat): New variable.

	gnu: Add ghc-quickcheck-io.
	* gnu/packages/haskell.scm (ghc-quickcheck-io): Add variable.

	gnu: Add ghc-stringbuilder.
	* gnu/packages/haskell.scm (ghc-stringbuilder): New variable.

	gnu: Add ghc-setenv.
	* gnu/packages/haskell.scm (ghc-setenv): New variable.

	gnu: Add ghc-async.
	* gnu/packages/haskell.scm (ghc-async): New variable.

2015-10-23  Paul van der Walt  <paul@denknerd.org>

	gnu: Remove ghc-containers.
	Since GHC 7.10.2 provides containers, this package has become unneeded.

	* gnu/packages/haskell.scm (ghc-containers): Remove variable.

2015-10-23  Paul van der Walt  <paul@denknerd.org>

	gnu: Add ghc-ansi-terminal.
	* gnu/package/haskell.scm (ghc-ansi-terminal): New variable.

	gnu: cabal-install: Update to 1.22.6.0.
	* gnu/packages/haskell.scm (cabal-install): Update to 1.22.6.0.

	gnu: ghc-http: Update to 4000.2.20.
	* gnu/packages/haskell.scm (ghc-http): Update to 4000.2.20.  Add input
	  old-time, required in new GHC 7.10.2.

	gnu: ghc-network: Update to 2.6.2.1.
	* gnu/packages/haskell.scm (ghc-network): Update to 2.6.2.1.
	* gnu/packages/haskell.scm (ghc-network-uri): Update to 2.6.0.3.

	gnu: ghc-vector: Update to 0.11.0.0.
	* gnu/packages/haskell.scm (ghc-vector): Update to 0.11.0.0.

	gnu: ghc-syb: Update to 0.6.
	* gnu/packages/haskell.scm (ghc-syb): Update to 0.6.

	gnu: ghc-quickcheck: Update to 2.8.1.
	* gnu/packages/haskell.scm (ghc-quickcheck): Update to 2.8.1.

	gnu: ghc-primitive: Update to 0.6.1.0.
	* gnu/packages/haskell.scm (ghc-primitive): Update to 0.6.1.0.

	gnu: ghc-hashable: Update to 1.2.3.3.
	* gnu/packages/haskell.scm (ghc-hashable): Update to 1.2.3.3.

	gnu: ghc-text: Update to 1.2.1.3.
	* gnu/packages/haskell.scm (ghc-text): Update to 1.2.1.3.

	gnu: ghc-dlist: Enable tests.
	* gnu/packages/haskell.scm (ghc-dlist): Enable tests.

	gnu: ghc-dlist: Update to 0.7.1.2.
	* gnu/packages/haskell.scm (ghc-dlist): Update to version 0.7.1.2.

	gnu: ghc-xmonad-contrib: Update to version 0.11.4.
	* gnu/packages/wm.scm (ghc-xmonad-contrib): Update to version 0.11.4.
	  Add input ghc-old-time, required with new GHC 7.10.2.

	gnu: Add ghc-old-time.
	* gnu/packages/haskell.scm (ghc-old-time): New variable.

	gnu: xmonad: Patch for updated libraries.
	* gnu/packages/wm.scm (xmonad): Replicate patch from Hackage to compile
	  against GHC 7.10.2.

	gnu: Add ghc-old-locale.
	* gnu/packages/haskell.scm (ghc-old-locale): New variable.
	* gnu/packages/haskell.scm (ghc-data-default-instances-old-locale):
	  Patch to use new package ghc-old-locale.

	gnu: ghc-utf8-string: Update to 1.0.1.1.
	* gnu/packages/haskell.scm (ghc-utf8-string): Update to 1.0.1.1.

	gnu: ghc-mtl: Update to 2.2.1.
	* gnu/packages/haskell.scm (ghc-mtl): Update to 2.2.1.

2015-10-23  Paul van der Walt  <paul@denknerd.org>

	gnu: ghc: Update to 7.10.2.
	* gnu/packages/haskell.scm (ghc): Update to 7.10.2.  Correct bootstrap
	  compiler path.

	* gnu/packages/haskell.scm (ghc-unordered-containers): Fix long line.

2015-10-23  Efraim Flashner  <efraim@flashner.co.il>

	gnu: mplayer: Update to 1.2.
	* gnu/packages/video.scm (mplayer): Update to 1.2.
	  [inputs]: Add previously bundled ffmpeg, libdvdcss, libdvdnav.
	  [arguments]: Disable bundled ffmeg.

	gnu: pbzip2: Various fixes.
	* gnu/packages/compression.scm (pbzip)[uri]: Replace hardcoded version
	  with variable.
	  [arguments]: Remove configure phase. Add make flag.

2015-10-23  Eric Bavier  <bavier@member.fsf.org>

	gnu: evilwm: Add patch for lost-focus bug.
	* gnu/packages/patches/evilwm-lost-focus-bug.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/wm.scm (evilwm)[source]: Use it.

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

	Revert "gnu: unzip: Reorganize security fixes for improved clarity."
	This reverts commit c46c931ecfe7fd4a5cbd979263d28d3f1e02bcca.

	gnu: unzip: Reorganize security fixes for improved clarity.
	* gnu/packages/patches/unzip-fix-overflows-and-infloop.patch: Delete
	  file.  Its contents are now split into the following new files:
	* gnu/packages/patches/unzip-CVE-2015-7696.patch,
	  gnu/packages/patches/unzip-CVE-2015-7697.patch,
	  gnu/packages/patches/unzip-overflow-on-invalid-input.patch: New files.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.
	* gnu/packages/zip.scm (unzip)[source]: Adjust patches accordingly.

	gnu: ntp: Update to 4.2.8p4.
	* gnu/packages/ntp.scm (ntp): Update to 4.2.8p4.

2015-10-22  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

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

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

2015-10-22  Efraim Flashner  <efraim@flashner.co.il>

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

2015-10-22  Paul van der Walt  <paul@denknerd.org>

	gnu: dosbox: Add file-name property.
	* gnu/packages/games.scm (dosbox): Add file-name property, since the
	  package is built from an SVN checkout.

	gnu: cmus: Add file-name property.
	* gnu/packages/music.scm (cmus): Add file-name, since the downloaded
	  tar.gz only contains version number.

2015-10-22  Eric Bavier  <bavier@member.fsf.org>

	gnu: conkeror: Upgrade to 1.0pre1.20150730.
	* gnu/packages/conkeror.scm (conkeror): Upgrade to 1.0pre1.20150730.
	  [arguments]: Adjust #:make-flags and #:phases for new Makefile, and
	  use modify-phases.

2015-10-22  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

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

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

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

	services: Rely on D-Bus activation for colord, geoclue, and polkit.
	* gnu/services/desktop.scm (colord-dmd-service): Remove.
	  (colord-service-type): Adjust accordingly.
	  (geoclue-dmd-service): Remove.
	  (geoclue-service-type): Adjust accordingly.
	  (polkit-dmd-service): Remove.
	  (polkit-service-type): Adjust accordingly.

	services: dbus: Support service activation.
	* gnu/services/dbus.scm (system-service-directory): New procedure.
	  (dbus-configuration-directory)[services->sxml]: Add
	  /etc/dbus-1/system-services <servicedir> tag, and remove the
	  per-service "/share/dbus-1/system-services" tag.
	  Symlink OUTPUT/system-services.
	  (dbus-setuid-programs): New procedure.
	  (dbus-root-service-type): Extend SETUID-PROGRAM-SERVICE-TYPE.
	  (dbus-service): Default to DBUS/ACTIVATION.

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

	gnu: dosbox: Put the 'autogen.sh' phase after 'unpack'.
	* gnu/packages/games.scm (dosbox)[arguments]: Put the 'autogen.sh' phase
	  after 'unpack', instead of before 'configure'.

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

	gnu: dbus: Add variant with proper helper for service activation.
	* gnu/packages/patches/dbus-helper-search-path.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/glib.scm (dbus/activation): New variable.

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

	services: dbus: Honor the config's dbus package.
	* gnu/services/dbus.scm (dbus-dmd-service): Rewrite using 'match-lambda'
	  so that the config's dbus package is used.  Fixes a regression
	  introduced in 64643b9.

2015-10-21  Paul van der Walt  <paul@denknerd.org>

	gnu: Add dosbox x86 emulator.
	* gnu/packages/games.scm (dosbox): New variable.

	gnu: Add cmus.
	* gnu/packages/music.scm (cmus): New variable.

	gnu: Add opusfile.
	* gnu/packages/xiph.scm (opusfile): New variable.

	Revert "gnu: Add opusfile."
	This reverts commit c3c239e615371c2edd9c34589ea91bdfb8ff94d8.

	gnu: Add libcue.
	* gnu/packages/cdrom.scm (libcue): New variable.

	gnu: Add opusfile.
	* gnu/packages/xiph.scm (opusfile): New variable.

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

	packages: Update 'check-package-freshness' to use (guix upstream).
	This is a followup to 0a7c5a0.
	Reported by Efraim Flashner <efraim@flashner.co.il>.

	* gnu/packages.scm (check-package-freshness): Update to the new (guix
	  upstream) interface.

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

	gnu: gnu-pw-mgr: Update to 1.6.
	* gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Update to 1.6.

	gnu: help2man: Update to 1.47.2.
	* gnu/packages/man.scm (help2man): Update to 1.47.2.

	gnu: less: Update to 481.
	* gnu/packages/less.scm (less): Update to 481.

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

	import: cran: Add copyright notice.
	Add notice for commit d882c23.

	import: cran: Avoid HTTP redirect.
	* guix/import/cran.scm (cran-fetch): Add trailing slash in URL to avoid
	  HTTP redirect.

	import: cran: Add updater.
	* guix/import/cran.scm (downloads->url, nodes->text): New procedures.
	  (cran-sxml->sexp): Use them.  Remove equivalent local code.
	  (latest-release, cran-package?): New procedures.
	  (%cran-updater): New variable.
	* guix/scripts/refresh.scm (%updaters): Add %CRAN-UPDATER.
	* doc/guix.texi (Invoking guix refresh): Mention CRAN.

	refresh: Remove exception catch-all.
	* guix/scripts/refresh.scm (update-package): Remove 'catch #t'.

	refresh: Add '--type' option.
	* guix/scripts/refresh.scm (%options, show-help): Add --type.
	  (lookup-updater): New procedure.
	  (update-package): Add 'updaters' parameter and honor it.
	  (guix-refresh)[options->updaters]: New procedure.
	  Use it, and honor --type.

	import: elpa: Add updater.
	* guix/import/elpa.scm (latest-release, package-from-gnu.org?): New
	  procedures.
	  (%elpa-updater): New variable.
	* guix/scripts/refresh.scm (%updaters): Add %ELPA-UPDATER.

	import: elpa: Use 'http-fetch/cached' to retrieve the archive.
	* guix/import/elpa.scm (elpa-fetch-archive): Set %HTTP-CACHE-TTL to 6
	  hours.
	  (call-with-downloaded-file): Use 'http-fetch/cached' instead of
	  'url-fetch'.

	gnu-maintenance: Generalize, leading to (guix upstream).
	* guix/gnu-maintenance.scm (<gnu-release>): Remove.
	  (coalesce-releases): Move to upstream.scm.  Rename to
	  'coalesce-sources'; adjust callers.
	  (releases, latest-release): Return <upstream-source> objects instead
	  of <gnu-release> objects.
	  (latest-release*, non-emacs-gnu-package?): New procedures.
	  (gnu-release-archive-types): Remove.
	  (%gnu-updater): New variable.
	  (package-update-path, download-tarball, package-update,
	  update-package-source): Move to...
	* guix/upstream.scm: ... here.  New file.
	* Makefile.am (MODULES): Add it.
	* po/guix/POTFILES.in: Replace gnu-maintenance.scm with upstream.scm.
	* guix/scripts/refresh.scm (%updaters): New variable.
	  (update-package): Adjust to new 'package-update' interface.
	  (guix-refresh): Adjust to new 'package-update-path'.  Remove
	  'false-if-exception' around it.

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

	http-client: '%http-cache-ttl' is really a parameter.
	Fixes a typo in commit 739ab68 that made it a procedure returning a
	parameter.

	* guix/http-client.scm (%http-cache-ttl): Turn into a parameter.

2015-10-20  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add evilwm.
	* gnu/packages/wm.scm (evilwm): New variable.

	services: xorg: Include font-alias in default FontPath.
	* gnu/services/xorg.scm (xorg-configuration-file): Add font-alias directories
	  to xserver.conf FontPath.

	font-alias: Install dummy fonts.dir files.
	* gnu/packages/xorg.scm (font-alias)[arguments]: New 'install-fonts-dir'
	  phase.

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

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

	gnu: inkscape: Fix build with newer GLibmm.
	* gnu/packages/inkscape.scm (inkscape)[arguments]: Add #:configure-flags.

2015-10-20  Efraim Flashner  <efraim@flashner.co.il>

	gnu: giflib: Update to 5.1.1.
	* gnu/packages/image.scm (giflib): Update to 5.1.1.

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

	gnu: curl: Update to 7.45.0.
	* gnu/packages/curl.scm (curl): Update to 7.45.0.

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

	Merge branch 'master' into dbus-update

	Revert "gnu: giflib: Update to 5.1.1."
	This reverts commit a5d06c0c53a51a6fc4b5802cf282a961cc24655f.

	Revert "gnu: curl: Update to 7.45.0."
	This reverts commit 075c3ebd2dc3d8223e23025ceb5026810dfaa98d.

2015-10-20  Efraim Flashner  <efraim@flashner.co.il>

	gnu: giflib: Update to 5.1.1.
	* gnu/packages/image.scm (giflib): Update to 5.1.1.

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

	gnu: gnurl: Update to 7.45.0.
	* gnu/packages/gnunet.scm (gnurl): Update to 7.45.0.

	gnu: curl: Update to 7.45.0.
	* gnu/packages/curl.scm (curl): Update to 7.45.0.

2015-10-20  Alex Kost  <alezost@gmail.com>

	emacs: devel: Add indentation rules for 'modify-phases' keywords.
	* emacs/guix-devel.el: Add indentation rules for 'modify-phases' keywords.
	  (guix-devel-indent-modify-phases-keyword,
	  guix-devel-indent-modify-phases-keyword-1,
	  guix-devel-indent-modify-phases-keyword-2): New functions.

	emacs: config: Use "emacs-config-" prefix for constants.
	* emacs/guix-config.el.in (guix-emacs-interface-directory,
	  guix-state-directory): Rename to ...
	  (guix-config-emacs-interface-directory, guix-config-state-directory):
	  ...this.
	  (guix-config-guile-program): New constant.
	  (guix-guile-program): Move to ...
	* emacs/guix-external.el (guix-guile-program): ...here.  Make it a
	  'defcustom'.
	* emacs/guix-profiles.el (guix-default-profile): Use
	  'guix-config-state-directory'.
	* emacs/guix-backend.el (guix-load-path): Use
	  'guix-config-emacs-interface-directory'.

2015-10-20  Alex Kost  <alezost@gmail.com>

	build: Set DOT_USER_PROGRAM for Emacs interface.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* configure.ac: Set DOT_USER_PROGRAM variable.
	* emacs/guix-config.el.in (guix-config-dot-program): New constant.
	* emacs/guix-external.el (guix-dot-program): Use it.

2015-10-20  Efraim Flashner  <efraim@flashner.co.il>

	gnu: units: Update to 2.12.
	* gnu/packages/maths.scm (units): Update to 2.12.

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

	Add 'guix challenge'.
	* guix/scripts/challenge.scm, tests/challenge.scm: New files.
	* Makefile.am (MODULES): Add the former.
	  (SCM_TESTS): Add the latter.
	* doc.am (SUBCOMMANDS): Add 'challenge'.
	* doc/guix.texi (Substitutes): Add xref to 'guix challenge'.
	  (Invoking guix challenge): New node.
	* doc/contributing.texi (Submitting Patches): Add note about using 'guix
	  challenge'.
	* po/guix/POTFILES.in: Add guix/scripts/challenge.scm.

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

	substitute: Expose narinfo access.
	* guix/scripts/substitute.scm: Export <narinfo> accessors.
	  (narinfo-hash->sha256): New procedure.
	  (cache-narinfo!): Ignore EACCES exceptions.

	gnu: qemu: Adjust to newer GLib versions.
	* gnu/packages/qemu.scm (qemu-patch): New procedure.
	  (%glib-memory-vtable-patch, %glib-duplicate-test-patch): New
	  variables.

2015-10-19  宋文武  <iyzsong@gmail.com>

	gnu: mesa: Patch the dlopen call for 'libudev.so'.
	Fixes a regression introduced in d18c3c6.

	* gnu/packages/gl.scm (mesa)[arguments]: Update the 'substitute*'
	  call for 'libudev.so'.

2015-10-19  宋文武  <iyzsong@gmail.com>

	gnu: gtk+: Remove colord from inputs.
	This broke building on non-intel systems.

	* gnu/packages/gtk.scm (gtk+)[inputs]: Remove colord.

2015-10-19  宋文武  <iyzsong@gmail.com>

	services: dbus: Build '/etc/dbus-1/system-local.conf'.
	* gnu/services/dbus.scm (dbus-etc-files): New procedure.
	  (dbus-dmd-service): Remove the use of '--config-file'.
	  (dbus-configuration-directory): Adjust accordingly.
	  (dbus-root-service-type): Add extension of ETC-SERVICE-TYPE.

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

	guix archive: Add '--extract'.
	* guix/scripts/archive.scm (show-help, %options): Add --extract.
	  (guix-archive): Honor it.
	* tests/guix-archive.sh: Test it.
	* doc/guix.texi (Invoking guix archive): Document it.

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

	gnu: libdrm: Fix symbol check tests on mips64el and armhf.
	* gnu/packages/patches/libdrm-symbol-check.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xdisorg.scm (libdrm)[source]: Add patch.

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

	gnu: elogind: Provide the file name of 'halt' and 'reboot'.
	* gnu/packages/freedesktop.scm (elogind)[inputs]: Add DMD.

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

	gnu: gnurl: Update to 7.44.0.
	* gnu/packages/gnunet.scm (gnurl): Update to 7.44.0.

2015-10-18  宋文武  <iyzsong@gmail.com>

	gnu: gtk+: Add more inputs.
	* gnu/packages/gtk.scm (gtk+)[propagated-inputs]: Add libxcursor.
	  [inputs]: Add rest, json-glib and colord.

	gnu: colord: Add input libgudev.
	* gnu/packages/gnome.scm (colord)[inputs]: Add libgudev.

	gnu: json-glib: Update to 1.0.4, fix test.
	* gnu/packages/gnome.scm (json-glib): Update to 1.0.4.
	  [source]: Add snippet.

	gnu: elogind: Fix build by explicitly link with librt.
	* gnu/packages/freedesktop.scm (elogind)[arguments]: Pass
	  'LDFLAGS=-lrt' to configure.

	gnu: python-dbus: Fix test.
	* gnu/packages/python.scm (python-dbus)[arguments]: Run test with
	  'DBUS_FATAL_WARNINGS=0'.

	gnu: xfconf: Fix test.
	* gnu/packages/xfce.scm (xfconf)[arguments]: Run test with
	  'DBUS_FATAL_WARNINGS=0'.

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

	Merge branch 'master' into dbus-update

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

	gnu: calibre: Update to 2.41.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.41.0.

2015-10-17  Efraim Flashner  <efraim@flashner.co.il>

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

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

	gnu: ngs-sdk: Correct typo.
	* gnu/packages/bioinformatics.scm (ngs-sdk): Correct typo.

	gnu: ngs-sdk: Remove unsupported systems.
	* gnu/packages/bioinformatics.scm (ngs-sdk)[supported-systems]: Keep only x86
	  based systems.

2015-10-17  Efraim Flashner  <efraim@flashner.co.il>

	gnu: chess: Update to 6.2.2.
	* gnu/packages/games.scm (chess): Update to 6.2.2.

2015-10-17  Ricardo Wurmus  <rekado@elephly.net>

	gnu: non-sequencer: Disable SSE when not building on x86_64.
	* gnu/packages/music.scm (non-sequencer)[arguments]: Add "--disable-sse"
	  flag when not building on x86_64.

2015-10-17  Federico Beffa  <beffa@fbengineering.ch>

	gnu: fastcap: Remove non-free file.
	* gnu/packages/engineering.scm (fastcap): Do it.

	gnu: fastcap: Fix 'fix-doc phase.
	* gnu/packages/engineering.scm (fastcap): Adapt documentation generation to
	  change in TeXLive 2015.

2015-10-17  Alex Kost  <alezost@gmail.com>

	emacs: devel: Highlight Guix keywords.
	* emacs/guix-devel.el (guix-devel-keywords): New constant.
	  (guix-devel-font-lock-keywords): Use it.

	doc: emacs: Document "View graph" popup action.
	* doc/emacs.texi (Emacs Popup Interface): Document "View graph" action.

2015-10-17  Alex Kost  <alezost@gmail.com>

	emacs: Improve file names of generated graphs.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* emacs/guix-external.el (guix-png-file-name): Change prefix of a file
	  name to "guix-emacs-graph-" to avoid possible conflicts.

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

	gnu-maintenance: Fix file descriptor leak.
	* guix/gnu-maintenance.scm (official-gnu-packages): Close the port
	  returned by FETCH.

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

	gnu-maintenance: Use 'http-fetch/cached' by default.
	This speeds up operations like 'guix lint -c gnu-description'.

	* guix/gnu-maintenance.scm (official-gnu-packages): Add 'fetch'
	  parameter and honor it.  Default to 'http-fetch/cached'.

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

	http-client: Add 'http-fetch/cached'.
	* guix/utils.scm (cache-directory): New procedure.
	* guix/http-client.scm (%http-cache-ttl): New variable.
	  (http-fetch/cached): New procedure.

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

	install: Set the mtime in the binary tarball to 1.
	Reported by anthk_ on #guix in Sept. 2015.

	* gnu/system/install.scm (self-contained-tarball): Use --mtime=@1
	  instead of --mtime=@0.

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

	gnu: complexity: Update to 1.3.
	* gnu/packages/code.scm (complexity): Update to 1.3.

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

	file-systems: Do not truncate mount points that already exist.
	Reported by David Thompson <dthompson2@worcester.edu>
	at <https://lists.gnu.org/archive/html/guix-devel/2015-10/msg00284.html>.

	* gnu/build/file-systems.scm (mount-file-system): When SOURCE matches
	  'regular-file?', do not create MOUNT-POINT if it already exists.  This
	  fixes a bug whereby we would be truncating MOUNT-POINT if it already
	  existed.

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

	syscalls: Fix ABI mismatch for 'clone'.
	Fixes <http://bugs.gnu.org/21694>.

	* guix/build/syscalls.scm (clone): Change 'syscall' parameter types to
	  LONG, UNSIGNED-LONG, or '*; make sure it has 6 parameters.  Adjust
	  caller accordingly.

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

	gnu: at-spi2-atk: Fix test.
	* gnu/packages/gtk.scm (at-spi2-atk)[arguments]: Run test with
	  'DBUS_FATAL_WARNINGS=0'.

	gnu: graphite2: Update to 1.3.3.
	* gnu/packages/fontutils.scm (graphite2): Update to 1.3.3.

	gnu: freeglut: Update to 3.0.0.
	* gnu/packages/gl.scm (freeglut): Update to 3.0.0.

	gnu: cmake: Update to 3.3.2.
	* gnu/packages/cmake.scm (cmake): Update to 3.3.2.

	gnu: mesa: Update to 11.0.3.
	* gnu/packages/gl.scm (mesa): Update to 11.0.3.

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

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

	gnu: libva: Update to 1.6.1.
	* gnu/packages/video.scm (libva): Update to 1.6.1.

	gnu: libsoup: Update to 2.52.1, enable vala bindings.
	* gnu/packages/gnome.scm (vala): Update to 2.52.1.
	  [native-inputs]: Add vala.
	  [arguments]: Pass vapidir=$out/share/vala/vapi in the 'install' phase.

	gnu: glib-networking: Update to 2.46.1.
	* gnu/packages/gnome.scm (glib-networking): Update to 2.46.1.

	gnu: gsettings-desktop-schemas: Update to 3.18.0.
	* gnu/packages/gnome.scm (gsettings-desktop-schemas): Update to 3.18.0.

	gnu: vala: Update to 0.30.0.
	* gnu/packages/gnome.scm (vala): Update to 0.30.0.
	  [arguments]: Run tests with "DBUS_FATAL_WARNINGS=0'.

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

	gnu: librsvg: Fix tests.
	GLib doesn't allow duplicate test case paths any more.

	* gnu/packages/patches/librsvg-tests.patch: New file.
	* gnu/packages/gnome.scm (librsvg)[source]: Add patch.
	* gnu-system.am (dist_patch_DATA): Add it.

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

	gnu: mutt: Update to 1.5.24.
	* gnu/packages/patches/mutt-CVE-2014-9116.patch: Delete file.
	* gnu/packages/mail.scm (mutt): Update to 1.5.24.
	  [source]: Update and remove patch.
	* gnu-system.am (dist_patch_DATA): Unregister removed patch.

2015-10-16  xd1le  <elisp.vim@gmail.com>

	gnu: Add bspwm.
	* gnu/packages/wm.scm (bspwm): New variable.

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

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

	gnu: librsvg: Update to 2.40.11.
	* gnu/packages/gnome.scm (librsvg): Update to 2.40.11.

2015-10-16  Alex Kost  <alezost@gmail.com>

	emacs: Add "View graph" actions to system graph commands.
	* emacs/guix-command.el (guix-command-additional-execute-arguments,
	  guix-command-special-executors): Add "View graph" actions for
	  'dmd-graph' and 'extension-graph' commands.

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

	gnu: gtkmm-2: Fix build by passing '-std=c++11'.
	* gnu/packages/gtk.scm (gtkmm-2)[arguments]: Pass '-std=c++11' as
	  CPPFLAGS.

2015-10-16  Alex Kost  <alezost@gmail.com>

	emacs: Disambiguate "d" key in 'system' popup.
	* emacs/guix-command.el (guix-command-improve-system-argument): Use "D"
	  key for 'disk-image' action (leave "d" for 'dmd-graph').

2015-10-16  Alex Kost  <alezost@gmail.com>

	emacs: init: Add "share/emacs/site-lisp" to 'load-path'.
	Fixes a regression introduced in 7741139080a6b00aa4f1846fe7668859e91bec58.

	Reported by Ludovic Courtès <ludo@gnu.org>.

	Not all emacs packages have "...-autoloads.el" files, so there is a
	chance that "~/.guix-profile/share/emacs/site-lisp" will not be added to
	'load-path', so add it unconditionally.

	* emacs/guix-init.el: Add guix emacs directory to 'load-path'.  Move
	  requiring 'guix-emacs' to the top-level.

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

	gnu: eudev: Update to 3.1.5.
	* gnu/packages/linux.scm (eudev): Update to 3.1.5.
	* gnu/packages/patches/eudev-rules-directory.patch: Adapt to it.

	gnu: at-spi2-core: Fix test failure.
	* gnu/packages/gtk.scm (at-spi2-core)[arguments]: Run test with
	  'DBUS_FATAL_WARNINGS=0'.

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

	system: Define 'GST_PLUGIN_PATH' in /etc/profile.
	* gnu/system.scm (operating-system-etc-service)[profile]: Add
	  'GST_PLUGIN_PATH' definition.

	doc: Regenerate 'guix graph' examples.
	* doc/images/coreutils-bag-graph.dot, doc/images/coreutils-graph.dot:
	  Regenerate from current packages.  This removes the weird dependency
	  on 'sed'.

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

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

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

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

	gnu: atkmm: Update to 2.24.1.
	* gnu/packages/gtk.scm (atkmm): Update to 2.24.1.

	gnu: pangomm: Update to 2.38.1.
	* gnu/packages/gtk.scm (pangomm): Update to 2.38.1.

	gnu: cairomm: Update to 1.12.0.
	* gnu/packages/gtk.scm (cairomm): Update to 1.12.0.
	  [source]: Change to "mirror://gnome/".

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

	gnu: at-spi2-atk: Update to 2.18.1.
	* gnu/packages/gtk.scm (at-spi2-atk): Update to 2.18.1.

	gnu: at-spi2-core: Update to 2.18.1.
	* gnu/packages/gtk.scm (at-spi2-core): Update to 2.18.1.

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

	gnu: harfbuzz: Update to 1.0.5.
	* gnu/packages/gtk.scm (harfbuzz): Update to 1.0.5.

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

	gnu: poppler: Update to 0.37.0.
	* gnu/packages/pdf.scm (poppler): Update to 0.37.0.

	gnu: python-pygobject: Update to 3.18.0.
	* gnu/packages/glib.scm (python-pygobject): Update to 3.18.0.

	gnu: glibmm: Update to 2.46.1.
	* gnu/packages/glib.scm (glibmm): Update to 2.46.1.

	gnu: libsigc++: Update to 2.6.1.
	* gnu/packages/glib.scm (libsigc++): Update to 2.6.1.

	gnu: intltool: Update to 0.51.0.
	* gnu/packages/glib.scm (intltool): Update to 0.51.0.

	gnu: gobject-introspection: Update to 1.46.0.
	* gnu/packages/glib.scm (gobject-introspection): Update to 1.46.0.
	  [source]: Add a snippet to correct python shebang.

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

2015-10-15  Ben Woodcroft  <donttrustben@gmail.com>

	gnu: Add ruby-yard.
	* gnu/packages/ruby.scm (ruby-yard): New variable.

	gnu: Add ruby-rspec-2.
	* gnu/packages/ruby.scm (ruby-rspec-2): New variable.

	gnu: Add ruby-rspec-mocks-2.
	* gnu/packages/ruby.scm (ruby-rspec-mocks-2): New variable.

	gnu: Add ruby-rspec-expectations-2.
	* gnu/packages/ruby.scm (ruby-rspec-expectations-2): New variable.

	gnu: Add ruby-rspec-core-2.
	* gnu/packages/ruby.scm (ruby-rspec-core-2): New variable.

2015-10-15  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: python-scipy: Add phase to fix tests.
	* gnu/packages/python.scm (python-scipy)[arguments]: Add build phase
	  "fix-tests".

	gnu: python-scipy: Add numpydoc to native-inputs.
	* gnu/packages/python.scm (python-numpydoc)[native-inputs]: Add
	  python-numpydoc.

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

	services: Unmount user file systems after process termination.
	* gnu/services/base.scm (user-unmount-service-type): Change label and
	  dmd name to 'user-file-systems'.
	  (user-processes-service-type)[requirement]: Add 'user-file-systems'.

	guix system: Add 'dmd-graph' command.
	* guix/scripts/system.scm (dmd-service-node-label,
	  dmd-service-node-type, export-dmd-graph): New procedures.
	  (show-help): Add 'dmd-graph'.
	  (guix-system)[parse-sub-command]: Likewise.
	  Honor it.
	* doc/guix.texi (Invoking guix system): Document it.
	  (dmd Services): Add an illustration and explanation.
	* doc/images/dmd-graph.dot: New file.
	* doc.am (DOT_FILES): Add it.

	services: Add 'dmd-service-back-edges'.
	* gnu/services/dmd.scm (dmd-service-back-edges): New procedure.
	* tests/services.scm ("dmd-service-back-edges"): New test.

	services: Prefix <dmd-service> accessors with 'dmd-'.
	* gnu/services/dmd.scm (<dmd-service>): Prefix accessor identifiers with
	  'dmd-', as was intended.  Update users accordingly.

	guix system: Add 'extension-graph' command.
	* guix/scripts/system.scm (service-node-label, service-node-type,
	  export-extension-graph): New procedures.
	  (guix-system)[parse-sub-command]: Add 'extension-graph'.
	  Honor it.
	  (show-help): Add 'extension-graph'.
	* doc/guix.texi (Invoking guix system): Document it.
	  (Service Composition): Add cross-reference.

	graph: 'export-graph' takes a #:reverse-edges? parameter.
	* guix/scripts/graph.scm (export-graph): Add #:reverse-edges? parameter
	  and honor it.

	services: 'dmd-service-type' takes a service name.
	* gnu/services/dmd.scm (dmd-service-type): Add 'service-name'
	  parameter.
	* gnu/services/base.scm, gnu/services/networking.scm,
	  gnu/system/install.scm: Adjust callers.

	services: Export 'service-back-edges'.
	* gnu/services.scm: Export 'service-back-edges' and <service-type>
	  accessors.
	* tests/services.scm ("service-back-edges"): New test.

	build-system/gnu: dist-package: Use 'autoconf-wrapper'.
	* guix/build-system/gnu.scm (dist-package): Use AUTOCONF-WRAPPER instead
	  of AUTOCONF.

	hydra: Add Graphviz and help2man as inputs to the Guix job set.
	* build-aux/hydra/guix.scm (tarball-package): Add GRAPHVIZ and HELP2MAN
	  to 'native-inputs' of GUIX.

2015-10-14  Ben Woodcroft  <donttrustben@gmail.com>

	gnu: diamond: Restrict supported systems to x86_64-linux.
	* gnu/packages/bioinformatics.scm (diamond) [supported-systems]: Restrict to
	  x86_64-linux.

2015-10-14  Alex Kost  <alezost@gmail.com>

	gnu: abbaye: Use 'sdl-union'.
	* gnu/packages/games.scm (abbaye)[inputs]: Use 'sdl-union'.
	  [arguments]: Adjust 'set-sdl-paths' phase accordingly.

2015-10-14  Alex Kost  <alezost@gmail.com>

	emacs: devel: Add indentation rules.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* emacs/guix-devel.el: Add indentation rules for Guix macros/procedures.
	  (guix-devel-scheme-indent): New macro.
	  (guix-devel-indent-package): New function.

2015-10-14  宋文武  <iyzsong@gmail.com>

	gnu: Remove dbus-localstatedir.patch.
	This is a followup to 25087f.

	* gnu/packages/patches/dbus-localstatedir.patch: Remove file.

2015-10-14  宋文武  <iyzsong@gmail.com>

	gnu: dbus: Drop patch.
	* gnu/packges/patches/dbus-localstatedir.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/glib.scm (dbus): Remove patch.
	  [argumests]: Remove 'post-install' phase.  Don't create
	  localestatedir and sysconfdir in the 'install' phase.

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

	gnu: glib: Update to 2.46.0.
	* gnu/packages/glib.scm (glib): Update to 2.46.0.
	* gnu/packages/patches/glib-tests-desktop.patch: Add hunk to disable
	  'gdbus-unix-addresses' test.

	gnu: dbus: Update to 1.10.0.
	* gnu/packages/glib.scm (dbus)[source]: Update to 1.10.0.
	  [arguments]: Add --sysconfdir=/etc.
	* gnu/packages/patches/dbus-localstatedir.patch: Update.

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

	gnu: icecat: Update to 38.3.0-gnu1.
	* gnu/packages/patches/icecat-CVE-2015-4473-partial.patch,
	  gnu/packages/patches/icecat-CVE-2015-4482.patch,
	  gnu/packages/patches/icecat-CVE-2015-4488.patch,
	  gnu/packages/patches/icecat-CVE-2015-4489.patch,
	  gnu/packages/patches/icecat-CVE-2015-4491.patch,
	  gnu/packages/patches/icecat-CVE-2015-4492.patch,
	  gnu/packages/patches/icecat-CVE-2015-4495.patch,
	  gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch,
	  gnu/packages/patches/icecat-libvpx-1.4.patch: Delete files.
	* gnu/packages/patches/icecat-avoid-bundled-includes.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add new patch.  Remove the deleted ones.
	* gnu/packages/gnuzilla.scm (icecat): Update to 38.3.0-gnu1.
	  [source]: Add new patch.  Remove the deleted ones.
	  [inputs]: Add libxcomposite.
	  [arguments]: Add 'ensure-no-mtimes-pre-1980' phase.  Adapt
	  'remove-h264parse-from-blacklist' and
	  'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases to the
	  new version.

2015-10-13  Alex Kost  <alezost@gmail.com>

	gnu: geiser: Update to 0.8.1.
	* gnu/packages/emacs.scm (geiser): Update to 0.8.1.

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

	gnu: python-rpy2: Add "zlib" to native-inputs.
	* gnu/packages/python.scm (python-rpy2)[native-inputs]: Add "zlib".

	gnu: python-scipy, python2-scipy: Update to 0.16.0.
	* gnu/packages/python.scm (python-scipy, python2-scipy): Update to
	  0.16.0.

	gnu: python-scipy, python2-scipy: Propagate Python inputs.
	* gnu/packages/python.scm (python-scipy)[inputs]: Move "python-numpy",
	  "python-matplotlib", and "python-pyparsing" to propagated-inputs; move
	  "python-nose" and "python-sphinx" to native-inputs.
	  [propagated-inputs]: New field.
	  [native-inputs]: Move "python-nose" and "python-sphinx" from inputs
	  field here.
	  (python2-scipy): Modify propagated-inputs instead of inputs field.

	gnu: icedtea6: Update to 1.13.8.
	* gnu/packages/java.scm (icedtea6): Update to 1.13.8.

	gnu: icedtea6: Replace "ant-bootstrap" with "ant".
	* gnu/packages/java.scm (icedtea6)[native-inputs]: Replace
	  "ant-bootstrap" with "ant".
	  [arguments]: Remove steps to unpack and use "ant-bootstrap".
	  (icedtea7)[native-inputs]: Remove explicit references to
	  "ant-bootstrap" and "ant".

	gnu: ant: Build with GCJ.
	* gnu/packages/java.scm (ant)[native-inputs]: Replace "icedtea6" with
	  "gcj".

	gnu: gcj-4.8, gcj: Update to default GCC version.
	* gnu/packages/gcc.scm (gcj-4.8): Inherit from "gcc" package and rename
	  variable to...
	  (gcj): ...this new variable.
	  (ecj-bootstrap-4.8): Rename variable to...
	  (ecj-bootstrap): ...this, updating to version 4.9.
	* gnu/packages/java.scm (icedtea6)[native-inputs]: Replace "gcj-4.8"
	  with "gcj".
	* gnu/packages/music.scm (tuxguitar)[native-inputs]: Likewise.

2015-10-13  Alex Kost  <alezost@gmail.com>

	gnu: abbaye: Use 'modify-phases'.
	* gnu/packages/games.scm (abbaye)[arguments]: Use 'modify-phases'.

	gnu: Add manaplus.
	* gnu/packages/games.scm (manaplus): New variable.

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

	build-system/python: Memoize the results of 'package-with-python2'.
	Fixes <http://bugs.gnu.org/21675>.
	Reported by Cyril Roelandt <tipecaml@gmail.com>.

	Before this change, the command:

	  guix build python2-oslo.utils -n --no-substitutes

	would take 17.5s.  After, it is down to 2.9s.
	Likewise, the command:

	  guix graph python2-bandit | grep python2-setuptools.*Helve| wc -l

	would return 412 nodes before, all functionally equivalent, and returns
	a single one now.

	* guix/build-system/python.scm (package-with-explicit-python): Remove
	  'p' parameter.  Change to return a one-argument memoizing procedure.
	  (package-with-python2): Adjust accordingly.

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

	hydra: Update demo OS to new service interface.
	* build-aux/hydra/demo-os.scm: Import (gnu services dbus); remove
	  arguments to 'dbus-service'.

	doc: Update "Name Service Switch" to new service framework.
	* gnu/services/avahi.scm (avahi-service): Mention the extension of
	  nscd.
	* doc/guix.texi (Networking Services): Update accordingly.
	  (Name Service Switch): Remove '%my-base-services' example and
	  explanation.

2015-10-12  David Thompson  <dthompson2@worcester.edu>

	gnu: geiser: Update to 0.8.
	* gnu/packages/emacs.scm (geiser): Update to 0.8.

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

	Merge branch 'core-updates'

2015-10-12  Ricardo Wurmus  <rekado@elephly.net>

	gnu: lilypond: Hardcode path to "gs" executable.
	* gnu/packages/music.scm (lilypond)[arguments]: Add build phase
	  "hardcode-path-to-gs".

2015-10-12  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

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

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

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

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

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

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

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

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

	gnu: bwa: Disable on non-x86_64.
	* gnu/packages/bioinformatics.scm (bwa)[supported-systems]: Add field.

2015-10-12  Alex Kost  <alezost@gmail.com>

	gnu: sdl-union: Wrap into a procedure and export it.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* gnu/packages/sdl.scm (sdl-union): Make it a procedure returning
	  'sdl-union' package.
	  (guile-sdl): Use it.

2015-10-12  Alex Kost  <alezost@gmail.com>

	gnu: Add physfs.
	* gnu/packages/game-development.scm (physfs): New variable.

2015-10-12  Alex Kost  <alezost@gmail.com>

	emacs: Add 'guix-devel-build-package-source'.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* guix/scripts.scm (build-package-source): New procedure.
	* emacs/guix-devel.el (guix-devel-build-package-source): New command.
	  (guix-devel-keys-map): Add key binding for it.
	* doc/emacs.texi (Emacs Development): Document it.

2015-10-12  Christopher Allan Webber  <cwebber@dustycloud.org>

	gnu: guile: Add guile-wisp.
	* gnu/packages/guile.scm (guile-wisp): New variable.

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

	services: polkit: Use the right executable name for PAM.
	* gnu/services/desktop.scm (%polkit-pam-services): Change "polkit-1" to
	  "polkitd", which is the actual name of the executable.

	services: upower: Remove unused "upower" account.
	* gnu/services/desktop.scm (%upower-accounts): Remove.
	  (%upower-activation): Remove references to the "upower" account.
	  (upower-service-type): Remove extension of ACCOUNT-SERVICE-TYPE.

2015-10-11  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add MARS.
	* gnu/packages/games.scm (mars): New variable.
	* gnu/packages/patches/mars-install.patch: New file.
	* gnu/packages/patches/mars-sfml-2.3.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add them.

2015-10-11  Alex Kost  <alezost@gmail.com>

	doc: Fix typo.
	* doc/guix.texi (Defining Services): Fix typo.

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

	gnu: wicd: Install 'index.theme' file in the right place.
	This is a followup to 800d8d.

	* gnu/packages/wicd.scm (wicd)[arguments]: Install a copy of 'index.theme'
	  from 'hicolor-icon-theme' into $out/share/icons/hicolor.

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

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

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

	services: Introduce extensible services.
	This patch rewrites GuixSD services to make them extensible.

	* gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/dbus.scm.
	* gnu/services.scm (<service>): Replace with new record type.
	  (<service-extension>, <service-type>): New record types.
	  (write-service-type, compute-boot-script, second-argument): New
	  procedures.
	  (%boot-service, boot-service-type): New variables.
	  (file-union, directory-union, modprobe-wrapper,
	  activation-service->script, activation-script,
	  gexps->activation-gexp): New procedures.
	  (activation-service-type, %activation-service): New variables.
	  (etc-directory, files->etc-directory, etc-service): New procedures.
	  (etc-service-type, setuid-program-service, firmware-service-type): New
	  variables.
	  (firmware->activation-gexp): New procedure.
	  (&service-error, &missing-target-service-error,
	  &ambiguous-target-service-error): New condition types.
	  (service-back-edges, fold-services): New procedures.
	* gnu/services/avahi.scm (<avahi-configuration>): New record type.
	  (configuration-file): Replace keyword parameters with a single
	  'config' parameter.
	  (%avahi-accounts, %avahi-activation, avahi-service-type): New
	  variables.
	  (avahi-dmd-service): New procedure.
	  (avahi-service): Rewrite using 'service' and 'avahi-configuration'.
	* gnu/services/base.scm (%root-file-system-dmd-service,
	  root-file-system-service-type): New variables.
	  (root-file-system-service): Use them.
	  (file-system->dmd-service-name): New procedure.
	  (file-system-service-type): New variable.
	  (file-system-service): Use it.  Replace keyword parameters with a
	  single 'file-system' object.
	  (user-unmount-service-type): New variable.
	  (user-unmount-service): Use it.
	  (user-processes-service-type): New variable.
	  (user-processes-service): Use it.
	  (host-name-service-type): New variable.
	  (host-name-service): Use it.
	  (console-keymap-service-type): New variable.
	  (console-keymap-service): Use it.
	  (console-font-service-type): New variable.
	  (console-font-service): Use it.
	  (mingetty-pam-service, mingetty-dmd-service): New procedures.
	  (mingetty-service-type): New variable.
	  (mingetty-service): Use it.
	  (nscd-dmd-service): New procedure.
	  (nscd-activation, nscd-service-type): New variables.
	  (nscd-service): Use the latter.
	  (syslog-service-type): New variable.
	  (syslog-service): Use it.
	  (<guix-configuration>): New record type.
	  (%default-guix-configuration): New variable.
	  (guix-dmd-service, guix-accounts, guix-activation): New procedures.
	  (guix-service-type): New variable.
	  (guix-service): Replace list of keyword parameters with a single
	  'config' parameter.  Rewrite using 'service'.
	  (<udev-configuration>): New record type.
	  (udev-dmd-service): New procedure.
	  (udev-service-type): New variable.
	  (udev-service): Use it.
	  (device-mapping-service-type): New variable.
	  (device-mapping-service): Use it.
	  (swap-service-type): New variable.
	  (swap-service): Use it.
	* gnu/services/databases.scm (<postgresql-configuration>): New record
	  type.
	  (%postgresql-accounts, postgresql-activation): New variables.
	  (postgresql-dmd-service): New procedure.
	  (postgresql-service): Rewrite using 'service' and
	  'postgresql-configuration'.
	* gnu/services/dbus.scm: New file.
	* gnu/services/desktop.scm (dbus-configuration-directory, dbus-service):
	  Remove.
	  (wrapped-dbus-service): New procedure.
	  (<upower-configuration>): New record type.
	  (upower-configuration-file): Replace keyword parameters with single
	  <upower-configuration> parameter.
	  (%upower-accounts, %upower-activation): New variables.
	  (upower-dbus-service, upower-dmd-service): New procedures.
	  (upower-service-type): New variable.
	  (upower-service): Rewrite using 'service' and 'upower-configuration'.
	  (%colord-activation, %colord-accounts): New variables.
	  (colord-dmd-service): New procedure.
	  (colord-service-type): New variable.
	  (colord-service): Rewrite using 'service'.
	  (<geoclue-configuration>): New record type.
	  (geoclue-configuration-file): Replace keyword parameters with a single
	  'config' parameter.
	  (geoclue-dbus-service, geoclue-dmd-service): New procedures.
	  (%geoclue-accounts, geoclue-service-type): New variables.
	  (geoclue-service): Rewrite using 'service' and
	  'geoclue-configuration'.
	  (%polkit-accounts, %polkit-pam-services, polkit-service-type): New
	  variables.
	  (polkit-dmd-service): New procedure.
	  (polkit-service): Rewrite using 'service'.
	  (<elogind-configuration>)[elogind]: New field.
	  (elogind-dmd-service): New procedure.
	  (elogind-service-type): New variable.
	  (elogind-service): Rewrite using 'service'.
	  (%desktop-services): Remove argument to 'dbus-service'.  Remove 'map'
	  over %BASE-SERVICES.
	* gnu/services/dmd.scm (dmd-boot-gexp): New procedure.
	  (dmd-root-service-type, %dmd-root-service): New variables.
	  (dmd-service-type): New macro.
	  (<dmd-service>): New record type.
	* gnu/services/lirc.scm (<lirc-configuration>): New record type.
	  (%lirc-activation): New variable.
	  (lirc-dmd-service): New procedure.
	  (lirc-service-type): New variable.
	  (lirc-service): Rewrite using 'service' and 'lirc-configuration'.
	* gnu/services/networking.scm (<static-networking>): New record type.
	  (static-networking-service-type): New variable.
	  (static-networking-service): Rewrite using 'service' and
	  'static-networking'.
	  (dhcp-client-service-type): New variable.
	  (dhcp-client-service): Rewrite using 'service'.
	  (<ntp-configuration>): New record type.
	  (ntp-dmd-service): New procedure.
	  (ntp-service-type): New variable.
	  (ntp-service): New procedure.
	  (%tor-accounts, tor-service-type): New variable.
	  (tor-dmd-service): New procedure.
	  (tor-service): Rewrite using 'service'.
	  (<bitlbee-configuration>): New record type.
	  (bitlbee-dmd-service): New procedure.
	  (%bitlbee-accounts, %bitlbee-activation, bitlbee-service-type): New
	  variables.
	  (bitlbee-service): Rewrite using 'service'.
	  (%wicd-activation): New variable.
	  (wicd-dmd-service): New procedure.
	  (wicd-service-type): New variable.
	  (wicd-service): Rewrite using 'service'.
	* gnu/services/ssh.scm (<lsh-configuration>): New record type.
	  (activation): Rename to...
	  (lsh-initialization): ... this.
	  (lsh-activation, lsh-dmd-service, lsh-pam-services): New procedures.
	  (lsh-service-type): New variable.
	  (lsh-service): Rewrite using 'service' and 'lsh-configuration'.
	* gnu/services/web.scm (<nginx-configuration>): New record type.
	  (%nginx-accounts): New variable.
	  (nginx-activation, nginx-dmd-service): New procedures.
	  (nginx-service-type): New variable.
	  (nginx-service): Rewrite using 'service' and 'nginx-configuration'.
	* gnu/services/xorg.scm (<slim-configuration>): New record type.
	  (slim-pam-service, slim-dmd-service): New procedures.
	  (slim-service-type): New variable.
	  (slim-service): Rewrite using 'service' and 'slim-configuration'.
	* gnu/system.scm (file-union): Remove.
	  (other-file-system-services): Adjust to new 'file-system-service'
	  signature.
	  (essential-services): Add #:container? parameter.  Add
	  %DMD-ROOT-SERVICE, %ACTIVATION-SERVICE, and calls to
	  'pam-root-service', 'account-service', 'operating-system-etc-service',
	  and a SETUID-PROGRAM-SERVICE instance.
	  (operating-system-services): Pass #:container? to 'essential-services.
	  (etc-directory): Remove.
	  (operating-system-etc-service): New procedure.  Rewrite as a call to
	  'etc-service'.
	  (operating-system-accounts): Change to not return accounts required by
	  services.
	  (operating-system-etc-directory): Rewrite as a call to 'fold-services'
	  and 'etc-directory'.
	  (user-group->gexp, user-account->gexp, modprobe-wrapper): Remove.
	  (operating-system-activation-script): Rewrite as a call to
	  'fold-services' and 'activation-service->script'.
	  (operating-system-boot-script): Likewise.
	  (operating-system-derivation): Add call to 'lower-object'.
	  (emacs-site-file, emacs-site-directory, shells-file): Change to use
	  'computed-file' and 'scheme-file' instead of the monadic procedures.
	* gnu/system/install.scm (cow-store-service-type): New variable.
	  (cow-store-service): Rewrite using 'service'.
	  (/etc/configuration-files): New procedure.
	  (configuration-template-service-type,
	  %configuration-template-service): New variables.
	  (configuration-template-service): Remove.
	  (installation-services): Adjust accordingly.  Adjust argument to
	  'guix-service'.
	* gnu/system/linux.scm (/etc-entry, pam-root-service): New procedures.
	  (pam-root-service-type): New variable.
	* gnu/system/shadow.scm (user-group->gexp, user-account->gexp,
	  account-activation, etc-skel, account-service): New procedures.
	  (account-service-type): New variable.
	* tests/services.scm: New file.
	* doc/guix.texi (Base Services, Desktop Services): Adjust accordingly.
	  (Defining Services): Rewrite.
	* doc/images/service-graph.dot: New file.
	* doc.am (DOT_FILES): Add it.
	* po/guix/POTFILES.in: Add gnu/services.scm.

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

	system: Account skeleton API is non-monadic.
	* gnu/system/shadow.scm (default-skeletons): Use the non-monadic
	  procedures and turn into a regular procedure.
	  (skeleton-directory): Likewise.
	* gnu/system.scm (etc-directory): Adjust accordingly.

	guix system: Add '--derivation'.
	* guix/scripts/system.scm (perform-action): Add #:derivations-only?
	  parameter and honor it.
	  (show-help, %options): Add '--derivation'.
	  (guix-system): Pass #:derivations-only? to 'perform-action'.
	* tests/guix-system.sh: Test it.
	* doc/guix.texi (Invoking guix system): Document it.

	system: pam: Use 'computed-file' instead of 'gexp->derivation'.
	* gnu/system/linux.scm (pam-service->configuration): Use 'computed-file'
	  instead of 'gexp->derivation'.
	  (pam-services->directory): Likewise.
	* gnu/system.scm (etc-directory): Adjust accordingly.

	gexp: Add 'scheme-file'.
	* guix/gexp.scm (<scheme-file>): New record type.
	  (scheme-file, scheme-file-compiler): New procedures.
	* tests/gexp.scm ("scheme-file"): New test.
	* doc/guix.texi (G-Expressions): Document 'scheme-file'.

	services: nscd-service: Fit everything into <nscd-configuration>.
	* gnu/services/base.scm (<nscd-configuration>)[glibc, name-services]:
	  New fields.
	  (nscd-service): Remove #:glibc and #:name-services parameters.  Adjust
	  body to take those from CONFIG.
	* gnu/services/desktop.scm (%desktop-services): Adjust accordingly.
	* doc/guix.texi (Base Services): Adjust accordingly.
	  (Name Service Switch): Adjust example.

	services: mingetty-service: Use <mingetty-configuration> objects.
	* gnu/services/base.scm (<mingetty-configuration>): New record type.
	  (mingetty-service): Expect a single <mingetty-configuration> instead
	  of keyword arguments.
	  (%base-services): Adjust accordingly.
	* gnu/system/install.scm (installation-services): Likewise.
	* doc/guix.texi (Base Services): Adjust accordingly.

	system: Make service procedures non-monadic.
	* gnu/services/avahi.scm (configuration-file): Use 'plain-file' instead
	  of 'text-file'.
	  (avahi-service): Turn into a regular procedure that returns a <service>.
	* gnu/services/base.scm (root-file-system-service, file-system-service,
	  user-unmount-service, user-processes-service, host-name-service,
	  console-keymap-service, console-font-service, mingetty-service,
	  nscd.conf-file, nscd-service): Likewise.
	  (%default-syslog.conf): New variable.
	  (syslog-service): Use it.  Turn into a regular procedure.
	  (guix-service, udev-rules-union, kvm-udev-rule, udev-service,
	  device-mapping-service, swap-service): Likewise.
	* gnu/services/databases.scm (%default-postgres-hba,
	  %default-postgres-ident): Use 'plain-file' instead of 'text-file'.
	  (%default-postgres-config): Use 'mixed-text-file' instead of
	  'text-file*'.
	  (postgresql-service):  Use 'program-file' instead of 'gexp->script'.
	  Turn into a regular procedure.
	* gnu/services/desktop.scm (dbus-configuration-directory): Use
	  'computed-file' instead of 'gexp->derivation'.
	  (upower-configuration-file, geoclue-configuration-file,
	  elogind-configuration-file): Use 'plain-file' instead of 'text-file'.
	  (dbus-service, upower-service, colord-service, geoclue-service,
	  polkit-service, elogind-service): Turn into regular procedures.
	  (%desktop-services): Remove use of 'mlet' when iterating on
	  %BASE-SERVICES.
	* gnu/services/lirc.scm (lirc-service): Turn into a regular procedure.
	* gnu/services/networking.scm (static-networking-service,
	  dhcp-client-service, ntp-service, tor-service, bitlbee-service,
	  wicd-service): Likewise.
	* gnu/services/ssh.scm (lsh-service): Likewise.
	* gnu/services/web.scm (nginx-service): Likewise.
	* gnu/services/xorg.scm (xorg-configuration-file): Use 'mixed-text-file'
	  instead of 'text-file*'.
	  (xorg-start-command, slim-service): Turn into regular procedures.
	  (xinitrc): Use 'program-file' instead of 'gexp->script'.
	* gnu/system/install.scm (cow-store-service,
	  configuration-template-service): Turn into regular procedures.
	* gnu/system.scm (other-file-system-services, device-mapping-services,
	  swap-services, essential-services, operating-system-services,
	  user-shells, operating-system-accounts): Remove now unnecessary
	  'mlet' and turn into regular procedures.
	  (operating-system-etc-directory, operating-system-activation-script,
	  operating-system-boot-script): Adjust accordingly.
	* doc/guix.texi (Base Services, Networking Services, X Window, Desktop
	  Services, Database Services, Web Services, Various Services, Name
	  Service Switch): Adjust accordingly.

	services: 'mingetty-service' no longer takes monadic values.
	* gnu/services/base.scm (mingetty-service): Change default value of
	  #:motd from a monadic value to a <plain-file>.  Assume MOTD to be a
	  file-like object.  Assume LOGIN-PROGRAM is a gexp or #f.
	  (%base-services): Use 'plain-file' instead of 'text-file' for motd.
	* gnu/system/linux.scm (unix-pam-service): Update docstring to mention
	  that MOTD is a file-like object.
	* doc/guix.texi (Base Services): Adjust 'mingetty-service' documentation
	  accordingly.
	* gnu/system/install.scm (installation-services): Adjust accordingly.
	  (log-to-info): Use 'program-file' instead of 'gexp->script'.

	gexp: Add 'mixed-text-file'.
	* guix/gexp.scm (mixed-text-file): New procedure.
	* tests/gexp.scm ("mixed-text-file"): New test.
	* doc/guix.texi (G-Expressions): Document it.

	gexp: Add 'program-file'.
	* guix/gexp.scm (<program-file>): New record type.
	  (program-file, program-file-compiler): New procedures.
	* tests/gexp.scm ("program-file"): New test.
	* doc/guix.texi (G-Expressions): Document it.

	gexp: Add 'computed-file'.
	* guix/gexp.scm (<computed-file>): New record type.
	  (computed-file, computed-file-compiler): New procedures.
	* tests/gexp.scm ("lower-object, computed-file"): New test.
	* doc/guix.texi (G-Expressions): Document 'computed-file'.

2015-10-10  David Thompson  <dthompson2@worcester.edu>

	build: container: Fix call-with-clean-exit.
	Before, call-with-clean-exit would *always* return an exit code of 1.

	* gnu/build/linux-container.scm (call-with-clean-exit): Exit with status
	  code of 0 if thunk does not throw an exception.
	* tests/containers.scm: Add test.

2015-10-10  Cyril Roelandt  <tipecaml@gmail.com>

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

	gnu: Update python-fixtures
	* gnu/packages/python.scm (python-fixtures): Update.
	* gnu/packages/python.scm (python-fixtures-0.3.16,
	  python2-fixtures-0.3.16, python-pbr-0.11,
	  python2-pbr-0.11): New variables.
	* gnu/packages/python.scm (python-testrepository): Use python-fxitures-0.3.16
	  instead of python-fixtures in the inputs.

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

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

	Thank Chris.

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

	build: Fix libgcrypt detection on FHS systems.
	Reported by Christopher Allan Webber <cwebber@dustycloud.org>.

	* m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): Add "grep -e -L" to the pipeline
	  to account for cases where the output of "libgcrypt-config --libs"
	  lacks a -L flag.
	* configure.ac: When 'GUIX_LIBGCRYPT_LIBDIR' returns the empty string,
	  set LIBGCRYPT_LIBDIR to "no".
	* config-daemon.ac: Add missing space.

2015-10-09  David Thompson  <dthompson2@worcester.edu>

	scripts: environment: Use system* instead of system.
	This allows for direct program invokation without needing a shell to act
	as a command interpreter.

	* guix/scripts/environment.scm (%default-shell): New variable.
	  (show-help): Adjust description.  Remove '--exec' reference.
	  (%default-options): Use '%default-shell'.
	  (%options): Adjust '--exec' to run command via the default shell.
	  (parse-args): New procedure.
	  (guix-environment): Use 'parse-args'.  Use 'system*' instead of
	  'system'.
	* tests/guix-environment.sh: Add test for '--' command invokation.
	* doc/guix.texi ("Invoking guix environment"): Use new syntax.  Remove
	  '--exec' documentation.

2015-10-09  David Thompson  <dthompson2@worcester.edu>

	utils: Add split procedure.
	* guix/utils.scm (split): New procedure.
	* tests/utils.scm: Add tests.

2015-10-09  Alex Kost  <alezost@gmail.com>

	emacs: Add 'guix-devel-lint-package'
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* emacs/guix-devel.el (guix-devel-setup-repl): Add a workaround for
	  'guix-warning-port'.
	  (guix-devel-lint-package): New command.
	  (guix-devel-keys-map): Add key binding for it.
	* doc/emacs.texi (Emacs Development): Document it.

2015-10-09  Alex Kost  <alezost@gmail.com>

	lint: Export 'run-checkers'.
	* guix/scripts/lint.scm (run-checkers): Export.  Make 'checkers'
	  argument optional.

	emacs: Add 'guix-devel-with-definition'.
	* emacs/guix-devel.el (guix-devel-with-definition): New macro.
	  (guix-devel-build-package-definition): Use it.
	  (guix-devel-emacs-font-lock-keywords): New variable.

2015-10-09  Alex Kost  <alezost@gmail.com>

	emacs: Fix 'guix-devel-setup-repl'.
	Setting up guix ports needs to be done in Geiser REPL synchronously,
	otherwise this operation may not be finished before the further
	evaluating of guile code.

	* emacs/guix-guile.el (guix-guile-prompt?): New function.
	* emacs/guix-geiser.el (guix-geiser-eval-in-repl-synchronously): New
	  function.
	* emacs/guix-devel.el (guix-devel-setup-repl): Use it.

2015-10-09  Alex Kost  <alezost@gmail.com>

	emacs: Fix 'guix-build-log-phase-toggle-all'.
	* emacs/guix-build-log.el (guix-build-log-phase-toggle-all): Handle the
	  case when there are no characters before the first phase:
	  'guix-build-log-next-phase' moves to the second phase in such a case,
	  and the toggling is not done properly, so use 're-search-forward'
	  instead.

	emacs: devel: Fix 'modify-phases' highlighting.
	* emacs/guix-devel.el (guix-devel-modify-phases-font-lock-pre): Handle
	  the case when 'modify-phases' is commented.

2015-10-09  Alex Kost  <alezost@gmail.com>

	emacs: devel: Highlight gexp symbols.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* emacs/guix-devel.el (guix-devel-gexp-symbol): New face.
	  (guix-devel-font-lock-keywords): Adjust to handle gexp symbols.

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

	Revert "gnu: python: Do not retain references to build tools."
	This reverts commit 14f8dae6b1e42cfd37678d64c137932b91656a41, which
	was unintentionally pushed (it does not work with Python 3.)

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

	Merge branch 'master' into core-updates

	gnu: libunwind: Add fix for CVE-2015-3239.
	* gnu/packages/patches/libunwind-CVE-2015-3239.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/libunwind.scm (libunwind)[source]: Add patch.

	gnu: libwmf: Add fixes for several security flaws.
	* gnu/packages/patches/libwmf-CAN-2004-0941.patch,
	  gnu/packages/patches/libwmf-CVE-2007-0455.patch,
	  gnu/packages/patches/libwmf-CVE-2007-2756.patch,
	  gnu/packages/patches/libwmf-CVE-2007-3472.patch,
	  gnu/packages/patches/libwmf-CVE-2007-3473.patch,
	  gnu/packages/patches/libwmf-CVE-2007-3477.patch,
	  gnu/packages/patches/libwmf-CVE-2009-3546.patch: New files.
	* gnu/packages/patches/libwmf-CVE-2015-0848+4588+4695+4696.patch: Delete
	  file.  Replace with ...
	* gnu/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch,
	  gnu/packages/patches/libwmf-CVE-2015-4695.patch,
	  gnu/packages/patches/libwmf-CVE-2015-4696.patch: ... these new files.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.
	* gnu/packages/image.scm (libwmf)[source]: Adjust set of patches.

	gnu: unzip: Add various fixes.
	* gnu/packages/patches/unzip-increase-size-of-cfactorstr.patch: Delete
	  file.  Replace with ...
	* gnu/packages/patches/unzip-overflow-long-fsize.patch: ... this new file.
	* gnu/packages/patches/unzip-attribs-overflow.patch,
	  gnu/packages/patches/unzip-fix-overflows-and-infloop.patch,
	  gnu/packages/patches/unzip-format-secure.patch: New files.
	* gnu/packages/patches/unzip-CVE-2014-9636.patch: Replace contents with
	  fixed patch from Fedora.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.
	* gnu/packages/zip.scm (unzip)[source]: Adjust list of patches.

	gnu: wpa-supplicant: Update to 2.5.
	* gnu/packages/patches/wpa-supplicant-2015-2-fix.patch,
	  gnu/packages/patches/wpa-supplicant-2015-3-fix.patch,
	  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt1.patch,
	  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt2.patch,
	  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt3.patch,
	  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt4.patch,
	  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt5.patch,
	  gnu/packages/patches/wpa-supplicant-2015-5-fix.patch,
	  gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch: Delete files.
	* gnu-system.am (dist_patch_DATA): Remove them.
	* gnu/packages/admin.scm (wpa-supplicant-minimal): Update to 2.5.
	  Remove patches.

2015-10-08  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: python-h5py: Fix path to hdf5 library.
	* gnu/packages/python.scm (python-h5py)[arguments]: Add "fix-hdf5-paths"
	  phase.

	gnu: python-h5py, python2-h5py: Correct inputs.
	* gnu/packages/python.scm (python-h5py)
	  [inputs]: Remove python-cython and python-numpy.
	  [propagated-inputs]: New field.
	  [native-inputs]: Drop python-setuptools and add python-cython.
	  (python2-h5py): Replace "inputs" with "propagated-inputs".

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

2015-10-08  Efraim Flashner  <efraim@flashner.co.il>

	Correct "Revert "gnu: camlp4: Remove extra input.""
	This corrects a typo in 0d1c0660d7b446188b36f19d0dd79d8f97bd4360.

	Revert "gnu: camlp4: Remove extra input."
	This reverts commit d04efa0fff908de0f8822a27582b4b1c3dcae553.

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

	Merge branch 'master' into core-updates

	gnu: webkitgtk-2.4: Fix potential code execution vulnerability.
	* gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/webkit.scm (webkitgtk-2.4)[source]: Add patch.

	gnu: libvpx: Set size limit to avoid CVE-2015-1258.
	* gnu/packages/video.scm (libvpx)[arguments]: Add "--size-limit"
	  argument to configure.

	gnu: openjpeg-2.x: Add fix for CVE-2015-6581.
	* gnu/packages/patches/openjpeg-CVE-2015-6581.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/image.scm (openjpeg, openjpeg-2.0)[source]: Add patch.

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

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

	gnu: python: Simplify list of configure flags.
	* gnu/packages/patches/python-2.7-search-paths.patch,
	  gnu/packages/patches/python-3-search-paths.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/python.scm (python-2)[source]: Use first patch.
	  [arguments]: Remove now unneeded CPPFLAGS and LDFLAGS.
	  (python)[source]: Use second patch.
	  (python-minimal)[arguments]: Remove CPPFLAGS and LDFLAGS.

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

	gnu: python: Build the tkinter module.
	Fixes <http://bugs.gnu.org/20889>.
	Reported by Federico Beffa <beffa@ieee.org>.

	* gnu/packages/python.scm (python-2)[arguments]: Pass
	  --with-tcltk-includes and --with-tcltk-libs.
	  [inputs]: Add TCL and TK.

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

	gnu: python: Add "minimal" variants.
	* gnu/packages/python.scm (python2-minimal, python-minimal): New
	  variables.
	  (wrap-python3): New procedure.
	  (python-wrapper): Use it.
	  (python-minimal-wrapper): New variable.
	* gnu/packages/xml.scm (libxslt)[native-inputs]: Use
	  PYTHON-MINIMAL-WRAPPER instead of PYTHON-WRAPPER.
	* gnu/packages/xorg.scm (xcb-proto, libxcb, xorg-server): Likewise.

2015-10-07  Efraim Flashner  <efraim@flashner.co.il>

	gnu: camlp4: Remove extra input.
	* gnu/packages/ocaml.scm (camlp4)[inputs]: Removed duplicate "ocaml"
	  entry from native-inputs.

	gnu: gprolog: Remove armhf from supported architectures.
	* gnu/packages/gprolog.scm (gprolog)[supported-systems]: Remove
	  armhf-linux from the list of supported systems.

	gnu: mosh: Update to 1.2.5.
	* gnu/packages/ssh.scm (mosh): Update to 1.2.5.

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

	gnu: python-wrapper: Improve synopsis and description.
	* gnu/packages/python.scm (python-wrapper): Add 'synopsis' field; provide
	  literal 'description' value.

	gnu: python: Do not retain references to build tools.
	* gnu/packages/python.scm (python-2)[arguments]: Add
	  'do-not-record-configure-flags' and
	  'do-not-record-configure-flags-in-makefile' phases.

2015-10-07  Efraim Flashner  <efraim@flashner.co.il>

	gnu: enlightenment: Update to 0.19.12.
	* gnu/packages/enlightenment.scm (enlightenment): Update to 0.19.12.

2015-10-07  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add r-htmlwidgets.
	* gnu/packages/web.scm (r-htmlwidgets): New variable.

	gnu: Add r-htmltools.
	* gnu/packages/web.scm (r-htmltools): New variable.

	gnu: ibus-libpinyin: Add GTK+ and Glib inputs.
	* gnu/packages/ibus.scm (ibus-libpinyin)[inputs]: Add gtk+.
	  [native-inputs]: Add glib:bin.

2015-10-06  Eric Bavier  <bavier@member.fsf.org>

	gnu: imagemagick: Hard-code delegate paths.
	If --with-frozenpaths is given, then configure will retain absolute paths
	discovered for delegate programs, otherwise they are discarded.

	* gnu/packages/imagemagick.scm (imagemagick)[arguments]: Add
	  '--with-frozenpaths' to #:configure-flags.

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

	publish: Fix file descriptor leak.
	A client closing the connection while reading from a /nar URL would
	leave an open file descriptor in the server.  This patch fixes it.

	* guix/scripts/publish.scm (swallow-EPIPE): New macro.
	  (http-write): Use it around 'write-file' call.

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

	doc: Clarify how to run 'guix refresh -u'.
	* doc/guix.texi (Invoking guix refresh): Mention ./pre-inst-env.

	import: snix: Adjust names of license attributes.
	* guix/import/snix.scm (license-variable): Adjust names to current
	  Nixpkgs.

	utils: Remove Nixpkgs helpers.
	* guix/config.scm.in (%nixpkgs): Remove.
	* guix/utils.scm (%nixpkgs-directory, nixpkgs-derivation,
	  nixpkgs-derivation*): Remove.
	* test-env.in: Export 'NIXPKGS'.
	* tests/derivations.scm (%coreutils): Remove use of
	  'nixpkgs-derivation'.
	* tests/snix.scm (%nixpkgs-directory): New variable.
	  Adjust users accordingly.

2015-10-06  Ludovic Courtès  <ludo@gnu.org>
	    宋文武  <iyzsong@gmail.com>

	build: Automatically determine libgcrypt's file name.
	* m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): New macro.
	* configure.ac: Use it when no --with-libgcrypt-* option was passed.
	* README: Do not recommend --with-libgcrypt-prefix.

2015-10-06  Efraim Flashner  <efraim@flashner.co.il>

	gnu: elementary: Update to 1.15.2.
	* gnu/packages/enlightenment.scm (elementary): Update to 1.15.2.

	gnu: efl: Update to 1.15.2.
	* gnu/packages/enlightenment.scm (efl): Update to 1.15.2.

	gnu: libbluray: Remove java as native-input.
	* gnu/packages/video.scm (libbluray)[inputs]: Remove "ant" and "icedtea"
	  as native-inputs.
	  [arguments]: Remove environmental variable "JAVA_HOME". Add configure
	  flag to disable java.

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

	gnu: gmp: Skip unreliable test.
	* gnu/packages/patches/gmp-faulty-test.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/multiprecision.scm (gmp)[source]: Use it.

	gnu: gawk: Remove unneeded 'install-locale' phase.
	* gnu/packages/gawk.scm (gawk)[arguments]: Remove now unneeded
	  'install-locale' phase.

2015-10-06  Efraim Flashner  <efraim@flashner.co.il>

	gnu: libdvdcss: Update to 1.3.99.
	* gnu/packages/video.scm (libdvdcss): Update to 1.3.99.

	gnu: libbluray: Upgrade to 0.9.1.
	* gnu/packages/video.scm (libbluray): Upgrade to 0.9.1.
	  [inputs]: Add "ant" and "icedtea7" to native-inputs.
	  [arguments]: Set environment variable "JAVA_HOME".

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

	import: pypi: Remove unused procedure.
	* guix/import/pypi.scm (join): Remove.

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

	gnu: glibc: Look for locale data in versioned sub-directories.
	Suggested by Mark H Weaver <mhw@netris.org>.

	* gnu/packages/patches/glibc-versioned-locpath.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/base.scm (glibc)[source]: Use it.
	  [arguments]: Add explicit version sub-directory to
	  libc_cv_localedir.
	  [native-search-paths]: Use 'GUIX_LOCPATH' instead of 'LOCPATH'.
	  (glibc-locales, glibc-utf8-locales): Write to a VERSION
	  sub-directory.

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

	Revert "gnu: glibc: Honor 'GUIX_LOCPATH'."
	This reverts commits fbb909ac7e947ebc8aea2c2efca7df3a78dfc3c4
	and 2ebe938c2f943232955df889a72a6280c412a649.

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

	gnu: wine: Update to 1.7.52, add more inputs.
	* gnu/packages/wine.scm (wine): Update to 1.7.52.
	  [inputs]: Add cups, glu and openal.

	gnu: feh: Update to 2.14.
	* gnu/packages/feh.scm (feh): Update to 2.14.

2015-10-04  Andreas Enge  <andreas@enge.fr>

	gnu: calibre: Update to 2.40.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.40.0.

2015-10-04  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Remove bundled copy of sqlite.
	* gnu/packages/qt.scm (qt)[source]: Add snippet to remove the bundled
	  copy of sqlite.

	Partially fixes <http://bugs.gnu.org/21288>.

2015-10-04  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Compile with system harfbuzz.
	* gnu/packages/qt.scm (qt)[source]: Add a snippet to remove one of the two
	  bundled copies of harfbuzz.
	  [arguments]: Pass a configure flag to use harfbuzz from the system.

	Partially fixes <http://bugs.gnu.org/21288>.

2015-10-04  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Remove the sources of qtwebengine.
	* gnu/packages/qt.scm (qt)[source]: Add snippet to remove the qtwebengine
	  code, which was already not built anymore, and drop one patch used
	  previously only for qtwebengine.
	  [arguments]: Drop the configuration flag "-skip qtwebengine", since
	  deleted modules cannot be skipped.
	* gnu/packages/patches/qt5-runpath.patch: Delete file.
	* gnu-system.am (dist_patch_DATA): Unregister patch.

	Partially fixes <http://bugs.gnu.org/21288>.

2015-10-04  Mathieu Lirzin  <mthl@openmailbox.org>

	gnu: Add autobuild.
	* gnu/packages/autotools.scm (autobuild): New variable.

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

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

2015-10-04  Alex Kost  <alezost@gmail.com>

	gnu: rtorrent: Update to 0.9.6.
	* gnu/packages/bittorrent.scm (rtorrent): Update to 0.9.6.
	  [source]: Use new URL.

	gnu: libtorrent: Update to 0.13.6.
	* gnu/packages/bittorrent.scm (libtorrent): Update to 0.13.6.
	  [source]: Use new URL.
	  [native-inputs]: Uncomment "cppunit" (for tests).
	  [argument]: Remove (to enable tests).

	gnu: libtorrent, rtorrent: Update home pages.
	* gnu/packages/bittorrent.scm (libtorrent): Update 'home-page'.
	  (rtorrent): Likewise.

	gnu: lirc: Update to 0.9.3.
	* gnu/packages/lirc.scm (lirc): Update to 0.9.3.
	  [native-inputs]: Add "libxslt".

2015-10-04  Andreas Enge  <andreas@enge.fr>

	gnu: qt-4: Disable webkit build.
	* gnu/packages/qt.scm (qt-4)[source]: Add snippet to remove the webkit code
	  and drop one patch used previously for webkit.
	  [arguments]: Add configure flag to disable building the webkit module.
	* gnu/packages/patches/qt4-tests.patch: Delete file.
	* gnu-system.am (dist_patch_DATA): Unregister patch.

	Partially fixes <http://bugs.gnu.org/21288>.

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

	doc: Mention that /X.Y must be used for GUIX_LOCPATH.
	This is a followup to commit f2d7bbb.

	* doc/guix.texi (Application Setup): Mention the /X.Y sub-directory.

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

	packages: Use locales from the /X.Y sub-directory of the locale package.
	This is a followup to commit f2d7bbb.

	* guix/packages.scm (patch-and-repack)[build]: Append "/X.Y" to
	  LOCPATH.

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

	Use "normalized codesets" everywhere.
	In other words, change "xx_YY.UTF-8" to "xx_YY.utf8".

	* guix/profiles.scm (ca-certificate-bundle): Use "en_US.utf8" instead of
	  "en_US.UTF-8".
	* guix/packages.scm (patch-and-repack): Likewise.
	* guix/build/gnu-build-system.scm (install-locale): Likewise.
	* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise.
	* gnu/packages/python.scm (python-ipython): Likewise.
	* gnu/packages/gawk.scm (gawk): Likewise.
	* build-aux/hydra/demo-os.scm: Likewise.
	* gnu/packages/guile.scm (guile-ncurses)[arguments]: Remove
	  'change-locale' phase.

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

	gnu: glibc-utf8-locales: Use the normalized codeset.
	* gnu/packages/base.scm (glibc-utf8-locales)[argument]: Use the
	  normalized codeset by default.

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

	gnu: commencement: Remove the tricky locale compatibility handling.
	This is made unnecessary by the use of 'GUIX_LOCPATH'.

	* gnu/packages/commencement.scm (locale-proof-package): Remove.
	  (%boot5-inputs): Add on GLIBC-UTF8-LOCALES-FINAL.  This reverts parts
	  of commit 28cbc58.
	* gnu/packages/gawk.scm (gawk): Set 'GUIX_LOCPATH' instead of
	  'LOCPATH'.

2015-10-03  Andreas Enge  <andreas@enge.fr>

	gnu: libqtxdg: Fix download location.
	* gnu/packages/lxqt.scm (libqtxdg)[source]: Fix download location.

	gnu: liblxqt: Fix download location.
	* gnu/packages/lxqt.scm (liblxqt)[source]: Fix download location.
	  [description]: Fix typo.

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

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

	gnu: glibc: Look for locale data in versioned sub-directories.
	* gnu/packages/base.scm (glibc)[native-search-paths]: Add
	  'lib/locale/VERSION' for 'GUIX_LOCPATH'.
	  (glibc-locales, glibc-utf8-locales): Write to a VERSION
	  sub-directory.
	* guix/profiles.scm (ca-certificate-bundle): Adjust LOCPATH value
	  accordingly.

2015-10-03  Andreas Enge  <andreas@enge.fr>

	gnu: Add lxqt-common.
	* gnu/packages/lxqt.scm (lxqt-common): New variable.

	gnu: liblxqt: Fix download location.
	* gnu/packages/lxqt.scm (liblxqt)[source]: Use the .tar.xz release
	  exclusively; drop the alternative URI for .tar.gz and correct the hash.

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

	gnu: glibc: Honor 'GUIX_LOCPATH'.
	* gnu/packages/patches/glibc-guix-locpath.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/base.scm (glibc)[source]: Use it.
	  [native-search-paths]: Use 'GUIX_LOCPATH' instead of 'LOCPATH'.
	* doc/guix.texi (Application Setup): Introduce the term "foreign
	  distro".  Document 'GUIX_LOCPATH'.

2015-10-03  David Thompson  <dthompson2@worcester.edu>

	gnu: Add file-roller.
	* gnu/packages/gnome.scm (file-roller): New variable.

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

	gnu: texinfo: Claim 'INFOPATH'.
	Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>.

	* gnu/packages/texinfo.scm (texinfo)[native-search-paths]: New field.

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

	utils: Add 'every*'.
	* guix/build/gnu-build-system.scm (every*): Move to...
	* guix/build/utils.scm (every*): ... here.  New procedure.

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

	gnu: coreutils: Use upstream's fix for 'tail'.
	* gnu/packages/patches/coreutils-racy-tail-test.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.
	* gnu/packages/base.scm (coreutils)[source]: Replace this patch with
	  upstream's fix for 'tail'.

	gnu: glibc: Do not abort when incompatible locale data is found.
	* gnu/packages/patches/glibc-locale-incompatibility.patch: New file.
	* gnu/packages/base.scm (glibc)[source]: Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-10-03  Ben Woodcroft  <donttrustben@gmail.com>

	gnu: vsearch: Restrict supported systems to x86_64-linux.
	* gnu/packages/bioinformatics.scm (vsearch)[supported-systems]: Restrict
	  to x86_64-linux.

2015-10-02  Andreas Enge  <andreas@enge.fr>

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

	gnu: eigen: Update to 3.2.6.
	* gnu/packages/algebra.scm (eigen): Update to 3.2.6.

	gnu: valgrind: Enable the arm architecture during configuration.
	* gnu/packages/patches/valgrind-enable-arm.patch: New file.
	* gnu/packages/valgrind.scm (valgrind)[source]: Add patch.
	* gnu-system.am (dist_patch_DATA): Enable patch.

	gnu: valgrind: Update to 3.11.0.
	* gnu/packages/valgrind.scm (valgrind): Update to 3.11.0.
	  [source]: Remove the patches
	* gnu/packages/patches/valgrind-glibc-2.22.patch,
	  gnu/packages/patches/valgrind-linux-libre-4.x.patch: Delete files.
	* gnu-system.am (dist_patch_DATA): Unregister the patches.

	gnu: glpk: Update to 4.56.
	* gnu/packages/maths.scm (glpk): Update to 4.56.

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

	gnu: freeimage: Add fix for CVE-2015-0852.
	* gnu/packages/patches/freeimage-CVE-2015-0852.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/image.scm (freeimage)[source]: Add patch.

	gnu: freeimage: Update to 3.17.0.
	* gnu/packages/image.scm (freeimage): Update to 3.17.0.
	  [source]: Use 'string-concatenate' in URI computation.

	gnu: openjpeg-2.x: Add fix for use-after-free in opj_j2k_write_mco.
	* gnu/packages/patches/openjpeg-use-after-free-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/image.scm (openjpeg, openjpeg-2.0)[source]: Add patch.
	  [home-page]: Update.

	gnu: clipper: Add 'file-name' field to source origin.
	* gnu/packages/bioinformatics.scm (clipper)[source]: Add file-name.

2015-10-02  Andreas Enge  <andreas@enge.fr>

	gnu: orc: Update to 0.4.24.
	* gnu/packages/gstreamer.scm (orc): Update to 0.4.24.

2015-10-01  Ben Woodcroft  <donttrustben@gmail.com>

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

2015-10-01  Efraim Flashner  <efraim@flashner.co.il>

	gnu: powertop: Fix url.
	* gnu/packages/linux.scm (powertop): Fixed incorrect url.

2015-10-01  Andreas Enge  <privat@xobs-novena>

	gnu: openblas: Fix configure flags on armhf and take target system into account for cross building.
	* gnu/packages/maths.scm (openblas)[arguments]: Make package substitutable
	  and enable runtime cpu detection only on x86 systems. Take the target
	  system into account when cross compiling.

2015-10-01  Efraim Flashner  <efraim@flashner.co.il>

	gnu: powertop: Update to 2.7.
	* gnu/packages/linux.scm (powertop): Update to 2.7.
	  [arguments]: Add "pciutils" to inputs.

	gnu: graphviz: Add "doc" output.
	* gnu/packages/graphviz.scm (graphviz)[outputs, arguments]: New fields.

	gnu: graphviz: Update to 2.38.0.
	* gnu/packages/graphviz.scm (graphviz): Update to 2.38.0.

	gnu: mpg123: Update to 1.22.4.
	* gnu/packages/mp3.scm (mpg123): Update to 1.22.4.

	gnu: mpv: Update to 0.11.0.
	* gnu/packages/video.scm (mpv): Update to 0.11.0.

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

	gnu: terminology: Update to 0.9.1.
	* gnu/packages/enlightenment.scm (terminology): Update to 0.9.1.

	gnu: enlightenment: Update to 0.19.11.
	* gnu/packages/enlightenment.scm (enlightenment): Update to 0.19.11.

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

	gnu: Add GNU Unifont.
	* gnu/packages/fonts.scm (font-gnu-unifont): New variable.

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

	gnu: shroud: Update to 0.1.1.
	* gnu/packages/password-utils.scm (shroud): Update to 0.1.1.

	gnu: Add shroud.
	* gnu/packages/password-utils.scm (shroud): New variable.

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

	gnu: xterm: Update to 320.
	* gnu/packages/xorg.scm (xterm): Update to 320.

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

	download: Check whether HORIZONTAL ELLIPSIS can be encoded.
	* guix/build/download.scm (ellipsis): New procedure.
	  (store-path-abbreviation): Use it.

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

	gnu: emacs: Claim 'INFOPATH'.
	Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>.

	* gnu/packages/emacs.scm (emacs)[native-search-path]: New field.

2015-10-01  Ben Woodcroft  <donttrustben@gmail.com>

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

	gnu: Add cityhash.
	* gnu/packages/textutils.scm (cityhash): New variable.

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

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

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

	gnu: pixman: Update to 0.32.8.
	* gnu/packages/xdisorg.scm (pixman): Update to 0.32.8.
	* gnu/packages/patches/pixman-pointer-arithmetic.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

	gnu: libc: Look for locale data under /run/current-system/locale/X.Y.
	* gnu/packages/base.scm (glibc)[arguments]: Append VERSION to
	  'libc_cv_localedir'.
	* gnu/system/locale.scm (localedef-command): Write to the sub-directory
	  called (package-version libc) in #$output.
	  (locale-directory): Create said directory.
	* doc/guix.texi (Locales): Mention the per-version sub-directory.

2015-09-29  Julian Graham  <joolean@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: Add gzochi.
	* gnu/packages/game-development.scm (gzochi): New variable.

2015-09-29  Jeff Mickey  <jm@igneous.io>
	    Ludovic Courtès  <ludo@gnu.org>

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

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

	gnu: lsh: 'lsh-authorize' uses the absolute file name of 'sexp-conv'.
	Fixes <http://bugs.gnu.org/21516>.
	Reported by Andreas Enge <andreas@enge.fr>.

	* gnu/packages/lsh.scm (lsh)[arguments]: In 'pre-configure' phase,
	  change 'src/lsh-authorize' to use the absolute file name of
	  'sexp-conv'.

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

	guix gc: Add '--list-failures' and '--clear-failures'.
	Suggested by Mark H Weaver <mhw@netris.org>.

	* guix/scripts/gc.scm (show-help, %options): Add --list-failures and
	  --clear-failures.
	  (guix-gc): Honor them.
	* doc/guix.texi (Invoking guix gc): Document them.
	  (Invoking guix-daemon): Mention them.

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

	store: Add 'query-failed-paths' and 'clear-failed-paths' RPCs.
	Suggested by Mark H Weaver <mhw@netris.org>.

	* guix/store.scm (query-failed-paths, clear-failed-paths): New
	  procedures.
	* tests/guix-daemon.sh: Add test with daemon started with
	  --cache-failures.

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

	tests: 'open-connection-for-tests' takes an optional parameter.
	* guix/tests.scm (open-connection-for-tests): Add optional FILE
	  parameter; pass it to 'open-connection'.

2015-09-28  Pjotr Prins  <pjotr.public12@thebird.nl>

	gnu: Add bio-blastxmlparser.
	* gnu/packages/bioinformatics.scm (bio-blastxmlparser): New variable.

2015-09-28  Vicente Vera Parra  <vicentemvp@gmail.com>

	gnu: Add r-data.table.
	* gnu/packages/statistics.scm (r-data.table): New variable.

	gnu: Add r-chron.
	* gnu/packages/statistics.scm (r-chron): New variable.

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

	gnu: Add r-servr.
	* gnu/packages/web.scm (r-servr): New variable.

	gnu: Add r-jsonlite.
	* gnu/packages/web.scm (r-jsonlite): New variable.

	gnu: Add r-httpuv.
	* gnu/packages/web.scm (r-httpuv): New variable.

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

	doc: Fix spelling.
	This is a followup to commit ba7d6c763c6adac4cf26fef656c7f98296601d0b.

	* doc/guix.texi (Synopses and Descriptions): Fix spelling.

2015-09-28  Mathieu Lirzin  <mthl@openmailbox.org>

	lint: Fix 'check-texinfo-markup'.
	Fixes a regression introduced in 5d8d8f3.

	* guix/scripts/lint.scm (check-description-style): When no exception is
	  thrown in 'check-texinfo-markup', return the rendered description.

2015-09-28  Mathieu Lirzin  <mthl@openmailbox.org>

	doc: Add more recommandations for package descriptions.
	* doc/guix.texi (Synopses and Descriptions): Warn about special
	  characters in Texinfo.  Indicate how to help the translators.

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

2015-09-27  Andreas Enge  <andreas@enge.fr>

	gnu: avidemux: Build with Qt 5 instead of Qt 4.
	* gnu/packages/video.scm (avidemux)[inputs]: Replace qt-4 by qt.
	  [arguments]: Add build flag.

2015-09-26  Andreas Enge  <andreas@enge.fr>

	gnu: global: Update to 6.5.1.
	* gnu/packages/code.scm (global): Update to 6.5.1.

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

	gnu: ddrescue: Update to 1.20.
	* gnu/packages/disk.scm (ddrescue): Update to 1.20.

	gnu: sipwitch: Update to 1.9.10.
	* gnu/packages/telephony.scm (sipwitch): Update to 1.9.10.

	gnu: ucommon: Update to 6.6.0.
	* gnu/packages/telephony.scm (ucommon): Update to 6.6.0.

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

2015-09-26  Paul van der Walt  <paul@denknerd.org>

	gnu: xapian: Update to 1.2.21.
	* gnu/packages/search.scm (xapian): Update to 1.2.21.

2015-09-26  Alex Kost  <alezost@gmail.com>

	emacs: devel: Highlight 'modify-phases' keywords.
	* emacs/guix-guile.el (guix-guile-keyword-regexp): New function.
	* emacs/guix-devel.el (guix-devel-faces): New custom group.
	  (guix-devel-modify-phases-keyword): New face.
	  (guix-devel-modify-phases-keyword-regexp,
	  guix-devel-font-lock-keywords): New variables.
	  (guix-devel-modify-phases-font-lock-matcher,
	  guix-devel-modify-phases-font-lock-pre): New functions.
	  (guix-devel-mode): Adjust to add/remove font-lock-keywords.

2015-09-26  Paul van der Walt  <paul@denknerd.org>

	gnu: mu: Update to 0.9.13.
	* gnu/packages/mail.scm (mu): Update to 0.9.13.

	gnu: ncmpcpp: Update to 0.6.7.
	* gnu/packages/mpd.scm (ncmpcpp): Update to 0.6.7.

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

	gnu: qemu: Update to 2.4.0.1.  Include fix for CVE-2015-6855.
	* gnu/packages/patches/qemu-CVE-2015-3209.patch,
	  gnu/packages/patches/qemu-CVE-2015-4037.patch,
	  gnu/packages/patches/qemu-CVE-2015-4103.patch,
	  gnu/packages/patches/qemu-CVE-2015-4104.patch,
	  gnu/packages/patches/qemu-CVE-2015-4105.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt1.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt2.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt3.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt4.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt5.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt6.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt7.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt8.patch,
	  gnu/packages/patches/qemu-CVE-2015-5745.patch: Delete files.
	* gnu/packages/patches/qemu-CVE-2015-6855.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add the new patch and delete the old ones.
	* gnu/packages/qemu.scm (qemu-headless): Update to 2.4.0.1.  Add the new patch
	  and delete the old ones.

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

	Merge branch 'core-updates'

2015-09-26  Mathieu Lirzin  <mthl@openmailbox.org>

	lint: Improve 'check-texinfo-markup'.
	* guix/scripts/lint.scm (check-description-style): Set 'field' parameter
	  when emitting a warning in 'check-texinfo-markup'.  Catch any error
	  that may occur in during the 'texi->plain-text' conversion.  This is a
	  followup to commit 2748ee3.

2015-09-26  Andreas Enge  <andreas@enge.fr>

	gnu: ibus: Add input gtk+-3.
	* gnu/packages/ibus.scm (ibus)[inputs]: Add the required gtk+-3.

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

	http-client: Backport Guile fix for 'read-chunk-header'.
	Fixes the wrong-type-arg exception initially reported
	at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19976#5>
	by Ricardo Wurmus <rekado@elephly.net>.

	* guix/http-client.scm (read-chunk-header): Backport Guile commit 53b8d5f.

2015-09-26  宋文武  <iyzsong@gmail.com>

	gnu: Add squashfs-tools.
	* gnu/packages/compression.scm (squashfs-tools): New variable.

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

	offload: Use gzip instead of xz for compression on the master.
	* guix/scripts/offload.scm (send-files): Use gzip --fast instead of xz.

	utils: Add #:options parameter for compression output ports.
	* guix/utils.scm (compressed-output-port,
	  call-with-compressed-output-port): Add #:options parameter and honor
	  it.

2015-09-25  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add Gajim.
	* gnu/packages/messaging.scm (gajim): New variable.

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

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

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

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

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

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

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

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

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

	gnu: guix: Update development snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to abbe2c6.

	build: Bump version number.
	* configure.ac: Change version to 0.9.0.

	gnu: glibc-locales: Update to glibc 2.22.
	* gnu/packages/base.scm (glibc-locales)[arguments]: Remove
	  'delete-file-recursively' call from 'build' phase.
	* gnu/packages/patches/glibc-locales.patch: Adjust to glibc 2.22.

2015-09-25  Ben Woodcroft  <donttrustben@gmail.com>

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

2015-09-25  Alex Kost  <alezost@gmail.com>

	emacs: build-log: Improve regexp for the phase end.
	* emacs/guix-build-log.el (guix-build-log-phase-end-regexp): Handle
	  fractional number of seconds (like "0.8").

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

	gnu: tcl: Add missing -L flag in tk.pc and tkConfig.sh.
	* gnu/packages/tcl.scm (tk)[arguments]: Use 'modify-phases'.  Add
	  'add-fontconfig-flag' phase.
	  [inputs]: Add FONTCONFIG.

2015-09-24  Mathieu Lirzin  <mthl@openmailbox.org>

	lint: Accept '`' character.
	* guix/scripts/lint.scm (properly-starts-sentence?): Match Texinfo
	  highlighting commands as a sentence start.

	lint: Check non-translated package descriptions.
	* guix/ui.scm (texi->plain-text): Export.
	* guix/scripts/lint.scm (check-description-style): Use it instead of
	  'package-description-string'.

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

	Merge branch 'master' into core-updates

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

	profiles: Make profile-specific derivations non-substitutable.
	This avoids gratuitous queries of the substituter.

	* guix/profiles.scm (ghc-package-cache-file): Pass #:substitutable? #f
	  to 'gexp->derivation'.
	  (ca-certificate-bundle): Likewise.
	  (gtk-icon-themes): Likewise.
	  (profile-derivation): Likewise.
	  (info-dir-file): Likewise, plus #:local-build? #t.

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

	ui: Gracefully handle Unicode description strings.
	Fixes <http://bugs.gnu.org/21536>.
	Reported by Alex Kost <alezost@gmail.com>.

	* guix/ui.scm (texi->plain-text): Wrap body in 'with-fluids'.
	* tests/ui.scm ("package-description-string vs. Unicode"): New test.

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

	download: Don't abbreviate things that are not store items.
	Fixes a regression introduced in a8be7b9a.

	* guix/build/download.scm (store-path-abbreviation): Return STORE-PATH
	  if it's not an actual store path.  Fixes an out-of-range exception
	  when running tests/substitute.scm and tests/store.scm.

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

	tests: Unset 'LOCPATH' before running bootstrap program.
	Reported by Mark H Weaver <mhw@netris.org>.

	* tests/build-utils.scm ("wrap-program, one input, multiple calls"): Add
	  'unsetenv' call.

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

	doc: Mention /run/current-system/locale.
	* doc/guix.texi (Application Setup): Add anchor and index entry.
	  (Locales): Refer to it.  Mention /run/current-system/locale.

2015-09-24  Ricardo Wurmus  <rekado@elephly.net>

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

	gnu: python-cffi: Update to 1.2.1.
	* gnu/packages/python.scm (python-cffi): Update to 1.2.1.
	  [native-inputs]: Add python-pytest.
	  [arguments]: Enable tests.

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

	tests: cran: Use cran-uri in expected output.
	* tests/cran.scm: Expect output to use "cran-uri" procedure.

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

	tests: Adjust snippet test to '.file_list' hack.
	This is a followup to commit 140b4bc.

	* tests/packages.scm ("package-source-derivation, snippet")[source]: Add
	  'chmod' call for "..".

2015-09-24  Steve Sprang  <scs@stevesprang.com>

	download: Fix some minor progress-logging regressions.
	* guix/build/download.scm
	  (string-pad-middle): Allow resulting padded string to overflow.
	  (store-url-abbreviation): Remove unnecessary procedure.
	  (progress-proc): Use BASENAME as default for parameter 'abbreviation'.
	  (url-fetch): Display extra newlines for readability.

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

	emacs-build-system: Fix 'package-name-version->elpa-name-version'.
	Fixes a regression introduced in b7c7c03eb5e37fc3455e4e17b0898ffc4bca29c3.

	* guix/build/emacs-build-system.scm (package-name-version->elpa-name-version):
	  Remove unused 'name' binding.  Do not abuse 'strip-store-file-name' to
	  remove the "emacs-" prefix, which worked before b7c7c03eb5 but not after.

2015-09-23  Alex Kost  <alezost@gmail.com>

	emacs: Add 'guix-devel-build-package-definition'.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* emacs/guix-guile.el (guix-guile-definition-regexp): New variable.
	  (guix-guile-current-definition, guix-guile-boolean): New functions.
	* emacs/guix-devel.el: Require 'guix-base'.
	  (guix-devel-repl-processes): New variable.
	  (guix-devel-setup-repl, guix-devel-setup-repl-maybe): New functions.
	  (guix-devel-build-package-definition): New command.
	* doc/emacs.texi (Emacs Development): Document it.

2015-09-23  Alex Kost  <alezost@gmail.com>

	emacs: Add development utils.
	* emacs/guix-guile.el (guix-guile-current-module): New function.
	* emacs/guix-devel.el: New file.
	* emacs.am (ELFILES): Add it.
	* doc/emacs.texi (Emacs Development): New node.
	  (Emacs Interface): Add it.
	* doc/contributing.texi (The Perfect Setup): Mention it.
	* doc/guix.texi (Top): Add it.
	* emacs/guix-init.el: Add 'guix-devel-activate-mode-maybe' to
	  'scheme-mode-hook'.

	emacs: Add "View map" action to 'size' popup.
	* emacs/guix-command.el (guix-run-view-size-map): New function.
	  (guix-command-additional-execute-arguments,
	  guix-command-special-executors): Add entries for "View map" action.

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

	gnu: Import modules needed by openimageio.
	* gnu/packages/graphics.scm: Add missing imports.  This is a followup to
	  commit 71299c1.

2015-09-23  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add openimageio.
	* gnu/packages/graphics.scm (openimageio): New variable.

	gnu: Add XJackFreak.
	* gnu/packages/audio.scm (xjackfreak): New variable.

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

	Merge branch 'master' into core-updates

2015-09-22  Andreas Enge  <andreas@enge.fr>

	gnu: r-scales: Update to 0.3.0.
	* gnu/packages/statistics.scm (r-scales): Update to 0.3.0.

	gnu: csound: Update to 6.05.
	* gnu/packages/audio.scm (csound): Update to 6.05.

2015-09-22  Alex Kost  <alezost@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	scripts: Add 'build-package'.
	* guix/scripts/system.scm (maybe-build): Move to ...
	* guix/scripts.scm: ...here.
	  (build-package): New procedure.

2015-09-22  Alex Kost  <alezost@gmail.com>

	emacs: Add code to call guile procedures.
	* emacs/guix-guile.el (guix-guile-make-call-expression): New function.
	* emacs/guix-geiser.el: Require 'guix-guile'.
	  (guix-geiser-call, guix-geiser-call-in-repl): New functions.

	emacs: Move code for evaluating to "guix-geiser.el".
	* emacs/guix-backend.el: Adjust commentary. Move "eval" code to ...
	  (guix-eval, guix-eval-read, guix-eval-in-repl): Adjust to use new
	  functions.
	* emacs/guix-geiser.el: ...here.  New file.
	  (guix-geiser-eval, guix-geiser-eval-read, guix-geiser-eval-in-repl,
	  guix-repl-send): New functions.
	* emacs.am (ELFILES): Add "guix-geiser.el".

	emacs: Move guile related code to "guix-guile.el".
	* emacs/guix-backend.el (guix-make-guile-expression): Move to...
	* emacs/guix-guile.el: ... here.  New file.
	* emacs/guix-base.el: Use it.
	* emacs/guix-command.el: Use it.
	* emacs.am (ELFILES): Add it.

2015-09-22  Andreas Enge  <andreas@enge.fr>

	gnu: Add bitcoin-core.
	* gnu/packages/finance.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Register it.

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

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

2015-09-22  Andreas Enge  <andreas@enge.fr>

	gnu: cgal: Update to 4.6.3.
	* gnu/packages/graphics.scm (cgal): Update to 4.6.3.

2015-09-22  Leo Famulari  <leo@famulari.name>

	gnu: recutils: Add libuuid to native-inputs.
	* gnu/packages/databases.scm (recutils)[native-inputs]: Add "libuuid".

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

	licenses: Add Zope Public License.
	* guix/licenses.scm (zpl2.1): New variable.

2015-09-22  Alex Kost  <alezost@gmail.com>

	emacs: Improve 'guix-prettify-regexp'.
	* emacs/guix-prettify.el (guix-prettify-regexp): Modify to handle "nar"
	  and "log".

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

	gnu: python2-ipython: Override terminado in propagated inputs.
	* gnu/packages/python.scm (python2-ipython)[inputs, propagated-inputs]:
	  Override inherited "python-terminado" in propagated inputs instead of
	  regular inputs.

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

	gnu: pixman: Work around pointer arithmetic bug.
	* gnu/packages/patches/pixman-pointer-arithmetic.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xdisorg.scm (pixman)[source]: Use it.

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

	gnu: r-scales: Update to 0.3.0.
	* gnu/packages/statistics.scm (r-scales): Update to 0.3.0.

	Update CRAN mirrors.
	* guix/download.scm (%mirrors): Update mirror list for CRAN.

2015-09-21  Vicente Vera Parra  <vicentemvp@gmail.com>

	gnu: Add r-dplyr.
	* gnu/packages/statistics.scm (r-dplyr): New variable.

	gnu: Add r-r6.
	* gnu/packages/statistics.scm (r-r6): New variable.

	gnu: Add r-testthat.
	* gnu/packages/statistics.scm (r-testthat): New variable.

	gnu: Add r-crayon.
	* gnu/packages/statistics.scm (r-crayon): New variable.

	gnu: Add r-memoise.
	* gnu/packages/statistics.scm (r-memoise): New variable.

	gnu: Add r-pryr.
	* gnu/packages/statistics.scm (r-pryr): New variable.

	gnu: Add r-codetools.
	* gnu/packages/statistics.scm (r-codetools): New variable.

	gnu: Add r-microbenchmark.
	* gnu/packages/statistics.scm (r-microbenchmark): New variable.

	gnu: Add r-knitr.
	* gnu/packages/statistics.scm (r-knitr): New variable.

	gnu: Add r-yaml.
	* gnu/packages/statistics.scm (r-yaml): New variable.

	gnu: Add r-markdown.
	* gnu/packages/statistics.scm (r-markdown): New variable.

	gnu: Add r-mime.
	* gnu/packages/statistics.scm (r-mime): New variable.

	gnu: Add r-highr.
	* gnu/packages/statistics.scm (r-highr): New variable.

	gnu: Add r-formatr.
	* gnu/packages/statistics.scm (r-formatr): New variable.

	gnu: Add r-evaluate.
	* gnu/packages/statistics.scm (r-evaluate): New variable.

	gnu: Add r-bh.
	* gnu/packages/statistics.scm (r-bh): New variable.

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

	gnu: Use cran-uri in source expressions.
	* gnu/packages/statistics.scm (r-colorspace, r-dichromat, r-digest,
	  r-gtable, r-labeling, r-magrittr, r-munsell, r-rcpp, r-plyr, r-proto,
	  r-rcolorbrewer, r-stringi, r-stringr, r-reshape2, r-scales, r-ggplot2,
	  r-assertthat, r-lazyeval, r-dbi): Use cran-uri in source expressions.

	import: cran-sxml->sexp: Use cran-uri in package expression.
	* guix/import/cran.scm (cran-sxml->sexp): Use the cran-uri procedure in
	  the generated package expression.

	build: Add cran-uri procedure.
	* guix/build-system/r.scm (cran-uri): New procedure.

2015-09-21  Ricardo Wurmus  <rekado@elephly.net>

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

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

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

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

	gnu: autogen: Update to 5.18.6.
	* gnu/packages/autogen.scm (autogen): Update to 5.18.6.

	gnu: gnu-pw-mgr: Update to 1.5.
	* gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Update to 1.5.

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

	Thank Petter.

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

	linux-initrd: Add LUKS/dm-crypt modules to the initrd.
	Suggested by Petter <petter@mykolab.ch>
	and Mark H Weaver <mhw@netris.org>.

	Partly fixes <http://bugs.gnu.org/19190>.

	* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add dm-crypt
	  and xts.

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

	linux-boot: Mount /dev as a devtmpfs from the start.
	Suggested by Petter <petter@mykolab.ch>
	and Mark H Weaver <mhw@netris.org>.
	Reported by Duncan Keall <duncan@duncankeall.com>.

	Partly fixes <http://bugs.gnu.org/19190> by populating /dev/mapper
	early enough.

	* gnu/build/linux-boot.scm (mount-essential-file-systems): Mount /dev as
	  a devtmpfs.
	  (move-essential-file-systems): Add /dev.
	  (mount-root-file-system): Mount /rw-root/dev as a devtmpfs instead of
	  calling 'make-essential-device-nodes'.
	  (boot-system): Remove call to 'make-essential-device-nodes'.
	* gnu/system/file-systems.scm (%devtmpfs-file-system): Remove.
	* doc/guix.texi (File Systems): Adjust accordingly.

2015-09-20  Ricardo Wurmus  <rekado@elephly.net>

	gnu: openal: Use full path to audio backend libraries.
	* gnu/packages/audio.scm (openal)[arguments]: Add build phase to patch in the
	  full paths to backend audio libraries.

	gnu: vpnc: Use https for source URL.
	* gnu/packages/vpn.scm (vpnc)[source]: Use https protocol for source URL.

	gnu: lilypond: Update to 2.19.27.
	* gnu/packages/music.scm (lilypond): Update to 2.19.27.
	  [inputs]: Add font-tex-gyre.

	gnu: sfml: Update to 2.3.2.
	* gnu/packages/game-development.scm (sfml): Update to 2.3.2.
	  [native-inputs]: Remove.

2015-09-20  Cyril Roelandt  <tipecaml@gmail.com>

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

	gnu: Add python2-pyflakes and fix python2-pyflakes-0.8.1.
	* gnu/packages/python.scm (python2-pyflakes): New variable.
	* gnu/packages/python.scm (python2-pyflakes-0.8.1): Fix the definition.

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

2015-09-20  David Thompson  <dthompson2@worcester.edu>

	gnu: avahi: Enable libdns_sd compatibility.
	* gnu/packages/avahi.scm (avahi): Add '--enable-compat-libdns_sd' configure
	  flag.

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

	gnu: icu4c: Add fixes for CVE-2014-6585 and CVE-2015-1270.
	* gnu/packages/patches/icu4c-CVE-2014-6585.patch,
	  gnu/packages/patches/icu4c-CVE-2015-1270.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/icu4c.scm (icu4c)[source]: Add patches.

2015-09-20  Andreas Enge  <andreas@enge.fr>
	    Pjotr Prins  <pjotr.guix@thebird.nl>

	gnu: Add R/qtl.
	* gnu/packages/bioinformatics.scm (r-qtl): New variable.

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

	gnu: libmtp: Add additional MTP devices.
	* gnu/packages/patches/libmtp-devices.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.
	* gnu/packages/patches/libmtp-devices.patch (libmtp)[source]: Add patch.

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

	gnu: gtk+: Adapt pre-configure phase to version 3.16.6.
	This is a followup to commit a35b8fc6c4ca9b0810db9c8b20bb76158dd66995.

	* gnu/packages/gtk.scm (gtk+)[arguments]: In 'pre-configure' phase, remove
	  substitutions of 'gtk-update-icon-cache' in demo Makefiles.

2015-09-19  Pjotr Prins  <pjotr.public12@thebird.nl>

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

	gnu: Add ruby-libxml.
	* gnu/packages/ruby.scm (ruby-libxml): New variable.

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

	gnu: Add ruby-shindo.
	* gnu/packages/ruby.scm (ruby-shindo): New variable.

	gnu: Add ruby-formatador.
	* gnu/packages/ruby.scm (ruby-formatador): New variable.

	gnu: Add ruby-notiffany.
	* gnu/packages/ruby.scm (ruby-notiffany): New variable.

	gnu: Add ruby-shellany.
	* gnu/packages/ruby.scm (ruby-shellany): New variable.

	gnu: Add ruby-nenv.
	* gnu/packages/ruby.scm (ruby-nenv): New variable.

	gnu: Add ruby-lumberjack.
	* gnu/packages/ruby.scm (ruby-lumberjack): New variable.

2015-09-19  Pjotr Prins  <pjotr.public12@thebird.nl>

	gnu: Add ruby-docile.
	* gnu/packages/ruby.scm (ruby-docile): New variable.

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

	gnu: ifstatus: Fix license.
	* gnu/packages/networking.scm (ifstatus)[license]: Set to GPL2+.

	lint: Report lonely parentheses.
	* guix/scripts/lint.scm (%hanging-paren-rx): New variable.
	  (report-lone-parentheses): New procedure.
	  (%formatting-reporters): Use it.
	* tests/lint.scm ("formatting: lonely parentheses"): New test.

2015-09-18  Stefan Reichoer  <stefan@xsteve.at>

	gnu: Add ifstatus.
	* gnu/packages/networking.scm (ifstatus): New variable.

2015-09-18  Alex Kost  <alezost@gmail.com>

	store: Add 'set-build-options*'.
	Suggested by: Ludovic Courtès <ludo@gnu.org>.

	* guix/store.scm (set-build-options*): New procedure.

2015-09-18  Alex Kost  <alezost@gmail.com>

	ui: Add 'show-derivation-outputs'.
	* guix/scripts/build.scm (guix-build): Extract code from here and move to...
	* guix/ui.scm (show-derivation-outputs): ... here.  New procedure.

	Add (guix scripts).
	* guix/ui.scm: Add missing copyright lines.
	  (args-fold*, environment-build-options, %default-argument-handler,
	  parse-command-line): Move to ...
	* guix/scripts.scm: ...here.  New file.
	* guix/scripts/archive.scm: Use it.
	* guix/scripts/build.scm: Likewise.
	* guix/scripts/download.scm: Likewise.
	* guix/scripts/edit.scm: Likewise.
	* guix/scripts/environment.scm: Likewise.
	* guix/scripts/gc.scm: Likewise.
	* guix/scripts/graph.scm: Likewise.
	* guix/scripts/hash.scm: Likewise.
	* guix/scripts/import/cpan.scm: Likewise.
	* guix/scripts/import/cran.scm: Likewise.
	* guix/scripts/import/elpa.scm: Likewise.
	* guix/scripts/import/gem.scm: Likewise.
	* guix/scripts/import/gnu.scm: Likewise.
	* guix/scripts/import/hackage.scm: Likewise.
	* guix/scripts/import/nix.scm: Likewise.
	* guix/scripts/import/pypi.scm: Likewise.
	* guix/scripts/lint.scm: Likewise.
	* guix/scripts/package.scm: Likewise.
	* guix/scripts/publish.scm: Likewise.
	* guix/scripts/pull.scm: Likewise.
	* guix/scripts/refresh.scm: Likewise.
	* guix/scripts/size.scm: Likewise.
	* guix/scripts/system.scm: Likewise.
	* tests/ui.scm (with-environment-variable, "parse-command-line",
	  "parse-command-line and --no options"): Move to ...
	* tests/scripts.scm: ...here.  New file.
	* Makefile.am (MODULES): Add guix/scripts.scm.
	  (SCM_TESTS): Add tests/scripts.scm.
	* po/guix/POTFILES.in: Add guix/scripts.scm.

	emacs: Replace 'guix-any' with 'cl-some'.
	* emacs/guix-utils.el (guix-any): Remove.
	* emacs/guix-command.el (guix-command-improve-argument): Use 'cl-some'
	  instead of 'guix-any'.

2015-09-18  Alex Kost  <alezost@gmail.com>

	emacs: Add commands to show/hide build log phases.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* emacs/guix-build-log.el (guix-build-log-phase-end-regexp): New
	  variable.
	  (guix-build-log-phase-start, guix-build-log-phase-end,
	  guix-build-log-phase-hide, guix-build-log-phase-show,
	  guix-build-log-phase-hidden-p, guix-build-log-phase-toggle-function,
	  guix-build-log-phase-toggle, guix-build-log-phase-toggle-all): New functions.
	  (guix-build-log-mode-map): Add 'TAB'/'S-TAB' key bindings.
	* doc/emacs.texi (Emacs Build Log): Document them.

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

	gnu: Add scmutils.
	* gnu/packages/scheme.scm (scmutils): New variable.

2015-09-17  Pjotr Prins  <pjotr.public12@thebird.nl>

	gnu: Add ruby-bio-logger.
	* gnu/packages/ruby.scm (ruby-bio-logger): New variable.

2015-09-17  Steve Sprang  <scs@stevesprang.com>

	download: Only show hours in the elapsed time if necessary.
	* guix/build/download.scm
	  (seconds->string): Conditionally include hours in timestamp.

2015-09-17  Christopher Allan Webber  <cwebber@dustycloud.org>

	gnu: guile: Add guile-next
	* gnu/packages/guile.scm (guile-next): New variable.
	* gnu/packages/guile.scm (guile-for-guile-emacs):
	  Adjust to inherit from guile-next rather than guile-2.0

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

	gnu: harfbuzz: Comment on the "bin" output.
	* gnu/packages/gtk.scm (harfbuzz): Comment on why "bin" output.

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

	gnu: Add emacs-typo.
	* gnu/packages/emacs.scm (typo): New variable.

	gnu: Add emacs-butler.
	* gnu/packages/emacs.scm (butler): New variable.

	gnu: Add emacs-deferred.
	* gnu/packages/emacs.scm (emacs-deferred): New variable.

2015-09-17  Pjotr Prins  <pjotr.public12@thebird.nl>

	gnu: Add ruby-cucumber-core.
	* gnu/packages/ruby.scm (ruby-cucumber-core): New variable.

2015-09-16  Steve Sprang  <scs@stevesprang.com>
	    Ludovic Courtès  <ludo@gnu.org>

	substitute: Improve readability of download progress report.
	* guix/build/download.scm
	  (string-pad-middle, store-url-abbreviation, store-path-abbreviation):
	  New procedures.
	  (progress-proc): Add #:abbreviation parameter and use it.  Generate a
	  better indeterminate progress string.
	* guix/scripts/substitute.scm (assert-valid-narinfo): Add newlines to output.
	  (process-substitution): Use byte-count->string and store-path-abbreviation.

2015-09-16  Ben Woodcroft  <donttrustben@gmail.com>

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

2015-09-16  Efraim Flashner  <efraim@flashner.co.il>

	gnu: Add keepassx.
	* gnu/packages/password-utils.scm (keepassx): New variable.

2015-09-16  Cyril Roelandt  <tipecaml@gmail.com>

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

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

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

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

2015-09-16  Ricardo Wurmus  <rekado@elephly.net>

	gnu: sfarklib: Update to 2.24.
	* gnu/packages/compression.scm (sfarklib): Update to 2.24.

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

	gnu: imagemagick: Update to 6.9.2-1.
	* gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.2-1.
	  [source]: Add imagemagick-test-segv.patch.
	  [inputs]: Replace LIBJPEG-8 with LIBJPEG.

2015-09-16  Pjotr Prins  <pjotr.public12@thebird.nl>

	gnu: Add ruby-log4r.
	* gnu/packages/ruby.scm (ruby-log4r): New variable.

2015-09-16  Vicente Vera Parra  <vicentemvp@gmail.com>

	gnu: Add r-dbi.
	* gnu/packages/statistics.scm (r-dbi): New variable.

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

	gnu: valgrind: Adapt to glibc-2.22 and linux-libre-4.x.
	* gnu/packages/patches/valgrind-glibc-2.21.patch: Rename to ...
	  gnu/packages/patches/valgrind-glibc-2.22.patch: ... this, and add a case for
	  glibc-2.22.
	* gnu/packages/patches/valgrind-linux-libre-4.x.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add the new file, and rename the other one.
	* gnu/packages/valgrind.scm (valgrind)[source]: Add new patch.

2015-09-15  Andreas Enge  <andreas@enge.fr>

	gnu: cups-filters: Add glib:bin as a native input.
	* gnu/packages/cups.scm (cups-filters)[native-inputs]: Add the bin output
	  of the glib package.

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

	nls: Add "TRANSLATORS:" comment about Texinfo.
	* gnu/packages/abiword.scm: Add comment above 'description'.

	doc: Add guidelines for synopses and descriptions.
	* doc/guix.texi (Synopses and Descriptions): New node.
	* doc/contributing.texi (Submitting Patches): Add item that
	  cross-references it.

	doc: Change authorship to "The GNU Guix Developers".
	* doc/guix.texi: Replace outdated @author list with just "The GNU Guix
	  Developers".

2015-09-15  Vicente Vera Parra  <vicentemvp@gmail.com>

	gnu: Add r-lazyeval.
	* gnu/packages/statistics.scm (r-lazyeval): New variable.

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

	gnu: gcc-toolchain: Don't try to delete OUT/bin/sh, which no longer exists.
	* gnu/packages/commencement.scm (gcc-toolchain)[arguments]: Remove code that
	  deletes OUT/bin/sh and OUT/bin/bash, since those files no longer exist in
	  our libc package.

2015-09-15  Vicente Vera Parra  <vicentemvp@gmail.com>

	gnu: Add r-assertthat.
	* gnu/packages/statistics.scm (r-assertthat): New variable.

2015-09-15  pjotr.public12@thebird.nl  <pjotr.public12@thebird.nl>

	gnu: Add ruby-gherkin3.
	* gnu/packages/ruby.scm (ruby-gherkin3): New variable.

2015-09-15  Mathieu Lirzin  <mthl@openmailbox.org>

	lint: Add 'check-texinfo-markup' checker.
	* guix/script/lint.scm (check-description-style): Check for invalid
	  Texinfo markup.
	* tests/lint.scm: Test it.

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

	gnu: librsvg: Update to 2.40.10.
	* gnu/packages/gnome.scm (librsvg): Update to 2.40.10.

	gnu: libgsf: Update to 1.14.34.
	* gnu/packages/gnome.scm (libgsf): Update to 1.14.34.

	gnu: harfbuzz: Add "bin" output.
	* gnu/packages/gtk.scm (harfbuzz)[outputs]: New field.
	  [arguments]<#:configure-flags>: Pass '--bindir'.

2015-09-15  Alex Kost  <alezost@gmail.com>

	emacs: Add "View build log" action to build popup.
	* emacs/guix-command.el (guix-run-view-build-log): New function.
	  (guix-command-additional-execute-arguments,
	  guix-command-special-executors): Add entries for "View build log"
	  action.
	* emacs/guix-utils.el (guix-find-file-or-url): New function.

	emacs: Add modes for viewing build logs.
	* emacs/guix-build-log.el: New file.
	* emacs.am (ELFILES): Add it.
	* doc/emacs.texi (Emacs Build Log): Document it.  New node.
	  (Emacs Interface): Add it.
	* doc/guix.texi (Top): Likewise.

	emacs: Display guix command errors in the minibuffer.
	* emacs/guix-main.scm (output+error): New procedure.
	  (guix-command-output): Use it.
	* emacs/guix-base.el (guix-command-output): Display error output in the
	  minibuffer.

	emacs: Add customization groups for faces.
	* emacs/guix.el (guix-faces): New custom group.
	* emacs/guix-base.el (guix-operation-option-key): Use it.
	  (guix-define-buffer-type): Generate faces group.
	* emacs/guix-info.el: Adjust faces to use new groups.
	  (guix-info-faces): New custom group.
	* emacs/guix-list.el: Likewise
	  (guix-list-faces): New custom group.

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

	gnu: harfbuzz: Propagate graphite2 and icu4c.
	* gnu/packages/gtk.scm (harfbuzz): Move graphite2 and icu4c to 'propagated-inputs'.
	  [source]: Improve formatting.

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

	gnu: util-linux: Adapt util-linux-tests.patch to version 2.27.
	This is a followup to commit 57a66c2729b4c3f7363a48eed954386a96137119.

	* gnu/packages/patches/util-linux-tests.patch: Adapt to util-linux 2.27.

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

	gnu: util-linux: Update to 2.27.
	* gnu/packages/linux.scm (util-linux): Update to 2.27.

	gnu: util-linux: Minor fixes.
	* gnu/packages/linux.scm (util-linux)[source]: Return #t from the snippet.
	  [arguments]: Remove "--enable-ddate" from configure flags, as it is no
	  longer recognized (ddate is no longer included in util-linux).

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

	guix: lint: Check for meaningful origin file names.
	* guix/scripts/lint.scm (check-source-file-name): New procedure.
	  (%checkers): Add 'source-file-name' checker.
	* tests/lint.scm ("source-file-name", "source-file-name: v prefix")
	  ("source-file-name: valid", "source-file-name: bad checkout")
	  ("source-file-name: good checkout"): New tests.
	* doc/guix.texi (Invoking guix lint): Mention file name check.

	guix: packages: Add origin-actual-file-name.
	* guix/scripts/graph.scm (uri->file-name, node-full-name): Move origin file
	  name logic to...
	* guix/packages.scm (origin-actual-file-name): ...here.
	* tests/packages.scm ("origin-actual-file-name")
	  ("origin-actual-file-name, file-name"): New tests.

2015-09-15  Steve Sprang  <scs@stevesprang.com>

	download: Avoid type errors when formatting download progress output.
	* guix/build/download.scm (nearest-exact-integer): New procedure.
	  (seconds->string, byte-count->string): Use it.

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

	guix system: Gracefully handle incomplete commands.
	Fixes <http://bugs.gnu.org/21451>.
	Reported by Steve Sprang <steve.sprang@gmail.com>.

	* guix/scripts/system.scm (guix-system)[option-arguments]: Error out
	  when ACTION is #f.

2015-09-14  Mathieu Lirzin  <mthl@openmailbox.org>

	doc: Use the recommended Scheme format.
	Apply the recommended formatting rules from '.dir-locals.el' to the
	examples in the manual in order to fulfill it's purpose of being a
	reference.

	* doc/package-hello.scm: Indent it.
	* doc/guix.texi (Defining Packages, Version Numbers): Likewise.
	* gnu/packages/base.scm (hello): Be consistent with the manual.

2015-09-14  Pjotr Prins  <pjotr.public12@thebird.nl>

	gnu: Add bio-locus.
	* gnu/packages/bioinformatics.scm (bio-locus): New variable.

2015-09-14  David Thompson  <dthompson2@worcester.edu>

	Revert "gnu: Add bio-locus."
	This reverts commit b429c4fbb06299ce10ecc113a7818bf777c63a6e.

2015-09-14  Pjotr Prins  <pjotr.public12@thebird.nl>

	gnu: Add bio-locus.
	* gnu/packages/bioinformatics.scm (bio-locus): New variable.

2015-09-14  宋文武  <iyzsong@gmail.com>

	gnu: cmake: Update to 3.3.1.
	* gnu/packages/cmake.scm (cmake): Update to 3.3.1.  Enable parallel
	  tests.

2015-09-14  David Thompson  <davet@gnu.org>

	gnu: system: Add Linux container module.
	* gnu/system/linux-container.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* gnu/system.scm: Export 'operating-system-etc-directory',
	  'operating-system-boot-script', 'operating-system-locale-directory', and
	  'file-union'.
	  (operating-system-boot-script): Add #:container? keyword argument.
	  (operating-system-activation-script): Add #:container?  keyword argument.
	  Don't call 'activate-firmware' or 'activate-ptrace-attach' when activating a
	  container.

2015-09-14  David Thompson  <dthompson2@worcester.edu>

	build: ruby: Add support for tarball and directory sources.
	Previously, the Ruby build system only knew how to work with gem archives,
	which made it difficult to build unreleased gems from a Git repository or
	released gems in tarball form.

	* gnu/build/ruby-build-system.scm (gnu:unpack, gem-archive?): New procedures.
	  (unpack): Use GNU build system unpack phase for non-gem sources.
	  (build): Rebuild the gemspec iff the source is a gem archive.
	* guix.texi ("ruby-build-system"): Mention that tarballs and directories are
	  acceptable.

2015-09-14  宋文武  <iyzsong@gmail.com>

	gnu: pciutils: Update to 3.3.1.
	* gnu/packages/pciutils.scm (pciutils): Update to 3.3.1.

2015-09-14  宋文武  <iyzsong@gmail.com>

	Revert "gnu: libtasn1: Update to 4.6."
	Causes a test of GnuTLS to fail:
	<http://lists.gnu.org/archive/html/help-libtasn1/2015-09/msg00003.html>.

	This reverts commit 866ee34f7ef651a138e918fbebabeed5e7bab91b.

2015-09-14  Cyril Roelandt  <tipecaml@gmail.com>

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

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

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

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

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

2015-09-13  Cyril Roelandt  <tipecaml@gmail.com>

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

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

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

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

	gnu: libidn: Update to 1.32.
	* gnu/packages/libidn.scm (libidn): Update to 1.32.

	Merge branch 'master' into core-updates

2015-09-13  Mathieu Lirzin  <mthl@openmailbox.org>

	gnu: Add cvs-fast-export.
	* gnu/packages/version-control.scm (cvs-fast-export): New variable.

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

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

	gnu: cpio: Upgrade to 2.12.
	* gnu/packages/cpio.scm (cpio): Update to 2.12.
	  [source]: Remove 'patches' field.
	* 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,
	  gnu/packages/patches/cpio-fix-symlink-bad-length-test.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove.

2015-09-13  David Thompson  <dthompson2@worcester.edu>

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

	gnu: redis: Update to 3.0.4
	* gnu/packages/databases.scm (redis): Update to 3.0.4.

2015-09-13  宋文武  <iyzsong@gmail.com>

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

	gnu: cups: Update to 2.1.0.
	* gnu/packages/cups.scm (cups, cups-minimal): Update to 2.1.0.

	gnu: cups-filters: Update to 1.0.75.
	* gnu/packages/cups.scm (cups-filters): Update to 1.0.75.

	gnu: qpdf: Update to 5.1.3.
	* gnu/packages/pdf.scm (qpdf): Update to 5.1.3.

	gnu: python-setuptools: Update to 18.3.1.
	* gnu/packages/python.scm (python-setuptools): Update to 18.3.1.

	gnu: openldap: Update to 2.4.42.
	* gnu/packages/openldap.scm (openldap): Update to 2.4.42.

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

	Revert "services: 'mingetty-service' no longer takes monadic values."
	This reverts commit daa48c31797b27e3a0991d0db7406c951ebc86df.

2015-09-13  Leo Famulari  <leo@famulari.name>
	    Ludovic Courtès  <ludo@gnu.org>

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

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

	services: 'mingetty-service' no longer takes monadic values.
	* gnu/services/base.scm (mingetty-service): Change default value of
	  #:motd from a monadic value to a <plain-file>.  Assume MOTD to be a
	  file-like object.  Assume LOGIN-PROGRAM is a gexp or #f.
	  (%base-services): Use 'plain-file' instead of 'text-file' for motd.
	* gnu/system/linux.scm (unix-pam-service): Update docstring to mention
	  that MOTD is a file-like object.
	* doc/guix.texi (Base Services): Adjust 'mingetty-service' documentation
	  accordingly.

2015-09-12  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add ibus-libpinyin.
	* gnu/packages/ibus.scm (ibus-libpinyin): New variable.

	gnu: Add libpinyin.
	* gnu/packages/ibus.scm (libpinyin): New variable.

2015-09-12  David Thompson  <dthompson2@worcester.edu>

	gnu: minetest: Update to 0.4.13.
	* gnu/packages/games.scm (minetest-data, minetest): Update to 0.4.13.

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

	gnu: tk: Update to 8.6.4.
	* gnu/packages/tcl.scm (tk): Update to 8.6.4.

	gnu: tcl: Update to 8.6.4.
	* gnu/packages/tcl.scm (tcl): Update to 8.6.4.

	gnu: lzo: Update to 2.09.
	* gnu/packages/compression.scm (lzo): Update to 2.09.

	gnu: libtasn1: Update to 4.6.
	* gnu/packages/tls.scm (libtasn1): Update to 4.6.

	Revert "gnu: lzo: Update to 2.09."
	This reverts commit 5cfb91c7d40e66c9357734bbff0ec297a72c133d.

	gnu: lzo: Update to 2.09.
	* gnu/packages/compression.scm (lzo): Update to 2.09.

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

	gnu: sqlite: Update to 3.8.11.1.
	* gnu/packages/databases.scm (sqlite): Update to 3.8.11.1.
	  [source](uri): Add 'http://distfiles.gentoo.org'.

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

	gnu: coreutils: Skip racy 'tail' tests.
	This works around <http://bugs.gnu.org/21460>.

	* gnu/packages/patches/coreutils-racy-tail-test.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/base.scm (coreutils): Use it.

2015-09-11  Efraim Flashner  <efraim@flashner.co.il>

	gnu: enlightenment: Update to 0.19.9.
	* gnu/packages/enlightenment (enlightenment): Update to 0.19.9.

	gnu: emotion-generic-players: Update to 1.15.0.
	* gnu/packages/enlightenment.scm (emotion-generic-players):
	  Update to 1.15.0.

	gnu: evas-generic-loaders: Update to 1.15.0.
	* gnu/packages/enlightenment.scm (evas-generic-loaders):
	  Update to 1.15.0.

	gnu: elementary: Update to 1.15.1.
	* gnu/packages/enlightenment.scm (elementary): Update to 1.15.1.

	gnu: efl: Update to 1.15.1.
	* gnu/packages/enlightenment.scm (efl): Update to 1.15.1.

	gnu: terminology: Update to 0.9.0.
	* gnu/packages/enlightenment.scm (terminology): Update to 0.9.0.

	gnu: ncdu: Update to 1.11.
	* gnu/packages/ncdu.scm (ncdu): Update to 1.11.

2015-09-11  Andreas Enge  <andreas@enge.fr>

	gnu: bdb: Add configure flag to fix C++ header file.
	* gnu/packages/databases.scm (bdb): Build with "--enable-cxx", which causes
	  HAVE_CXX_STDHEADERS to be defined in db_cxx.h in the output.

	gnu: bdb: Fix indentation.
	* gnu/packages/databases.scm (bdb): Fix indentation.

	Revert "gnu: bdb: Fix indentation."
	This reverts commit 41996f22abd9a0f03893177f1fcf1a76731025bb.

	Revert "gnu: bdb: Add configure flag to fix C++ header file."
	This reverts commit e4c3e2cd439f6a330fbd459097a1b79be41b4e56.

	gnu: bdb: Add configure flag to fix C++ header file.
	* gnu/packages/databases.scm (bdb): Build with "--enable-cxx", which causes
	  HAVE_CXX_STDHEADERS to be defined in db_cxx.h in the output.

	gnu: bdb: Fix indentation.
	* gnu/packages/databases.scm (bdb): Fix indentation.

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

	gnu: Add emacs-debbugs.
	* gnu/packages/emacs.scm (emacs-debbugs): New variable.

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

	gnu: perl-xml-parser: Update to 2.44.
	* gnu/packages/xml.scm (perl-xml-parser): Update to 2.44.
	  [homepage]: Adjust accordingly.

	gnu: linux-pam: Update to 1.2.1.
	* gnu/packages/linux.scm (linux-pam): Update to 1.2.1.

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

	gnu: poppler: Update 0.36.0.
	* gnu/packages/pdf.scm (poppler): Update to 0.36.0.

	build-system/glib-or-gtk: Don't generate 'icon-theme.cache'.
	* guix/build-system/glib-or-gtk.scm (default-gtk+): Remove.
	  (lower): Adjust accordingly.
	* guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Remove.
	  (%standard-phases): Remove 'glib-or-gtk-icon-cache' phase.

2015-09-11  Siniša Biđin  <sinisa@bidin.eu>

	gnu: Add ghc-xmonad-contrib.
	* gnu/packages/wm.scm (ghc-xmonad-contrib): New variable.

2015-09-11  Siniša Biđin  <sinisa@bidin.eu>
	    Eric Bavier  <bavier@member.fsf.org>

	gnu: Add xmonad.
	* gnu/packages/wm.scm (xmonad): New variable.

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

	gnu: libxt: Add "doc" output.
	* gnu/packages/xorg.scm (libxt)[outputs, arguments]: New fields.

	gnu: libx11: Add "doc" output.
	* gnu/packages/xorg.scm (libx11)[outputs, arguments]: New fields.

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

	services: elogind-configuration: Disable hibernation key by default.
	* gnu/services/desktop.scm (<elogind-configuration>): Change the default value
	  of the 'handle-hibernate-key' field to 'ignore'.

	services: Add udev rules for (upower colord elogind) to %desktop-services.
	* gnu/services/desktop.scm (%desktop-services): Replace the 'udev-service'
	  from %base-services.
	* gnu/services/base.scm (%base-services): Add a comment to keep them in sync.

	file-systems: Add %elogind-file-systems; add it to %base-file-systems.
	* gnu/system/file-systems.scm (%elogind-file-systems): New variable.
	  (%base-file-systems): Add %elogind-file-systems.

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

	guix build: '--log-file' can return URLs.
	* guix/scripts/build.scm (%default-log-urls): New variable.
	  (log-url): New procedure.
	  (guix-build): Use it.
	* doc/guix.texi (Invoking guix build): Document it.

	http-client: Backport delimited input port fix from Guile.
	* guix/http-client.scm (make-delimited-input-port): Backport Guile
	  commit 5a10e41.
	  Monkey-patch 'make-delimited-input-port' for any Guile <= 2.0.11.

	http-client: Remove redundant import clause.
	* guix/http-client.scm: Remove redundant #:use-module (guix utils).

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

	gnu: perl: Fix autosplitting of 0-time source.
	* gnu/packages/patches/perl-autosplit-default-time.patch: New patch.
	* gnu/packages/perl.scm (perl): Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: gnucash: Add Finance::Quote support.
	* gnu/packages/patches/gnucash-price-quotes-perl.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/gnucash.scm (gnucash)[source]: Use it.
	  [inputs]: Add perl-date-manip and perl-finance-quote.
	  [arguments]: Add 'wrap-programs' phase.  Move below inputs.

	guix: packages: Add transitive-input-references.
	* guix/packages.scm (transitive-input-references): New procedure.
	* gnu/packages/version-control.scm (package-transitive-propagated-labels*)
	  (package-propagated-input-refs): Delete.
	  (git)[arguments]: Adjust to transitive-input-references.

	gnu: Add perl-finance-quote.
	* gnu/packages/web.scm (perl-finance-quote): New variable.
	* gnu/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: Add perl-date-manip.
	* gnu/packages/perl.scm (perl-date-manip): New variable.

	gnu: Add perl-html-tableextract.
	* gnu/packages/web.scm (perl-html-tableextract): New variable.

	gnu: Add perl-html-element-extended.
	* gnu/packages/web.scm (perl-html-element-extended): New variable.

2015-09-10  Efraim Flashner  <efraim@flashner.co.il>

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

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

	pull: Update to the new cgit snapshot URL.
	* guix/scripts/pull.scm (%snapshot-url): Update to the new URL.

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

	gnu: curl: Move man3 pages to "doc" output.
	* gnu/packages/curl.scm (curl)[outputs]: New field.
	  [arguments]: Add 'move-man3-pages' phase.

	gnu: curl: Use 'modify-phases'.
	* gnu/packages/curl.scm (curl)[arguments]: Use 'modify-phases'.

	gnu: gdb: Remove headers and libraries already in Binutils.
	* gnu/packages/gdb.scm (gdb)[arguments]: Add #:modules.  Rename
	  'post-install' phase to 'remove-libs-already-in-binutils'.  Change it
	  to compute the intersection of the set of headers and libraries of GDB
	  vs. Binutils and to remove each of the files found in both.

	gnu: gdb: Use 'modify-phases'.
	* gnu/packages/gdb.scm (gdb)[arguments]: Use 'modify-phases'.

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

	linux-initrd: Compress cpio archives deterministically.
	* gnu/build/linux-initrd.scm (write-cpio-archive): Use '--no-name'.

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

	hydra: Remove cross-builds from armhf-linux to mips64el-linux-gnuabi64.
	* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs]: Modify
	  'from-32-to-64?' to include 'armhf-linux' in the set of 32-bit systems.

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

	gnu: openssl: Remove run-time dependency on Perl.
	This shrinks the closure of OpenSSL from 154 MiB to 73 MiB.

	* gnu/packages/patches/openssl-c-rehash.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/tls.scm (openssl)[source]: Use it.
	  [arguments]: Add 'remove-miscellany' phase.
	* gnu/packages/certs.scm (nss-certs)[native-inputs]: Add PERL.

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

	gnu: openssl: Allow shared objects to be stripped.
	* gnu/packages/tls.scm (openssl)[arguments]: Add
	  'make-libraries-writable' phase.

	gnu: openssl: Install data and documentation to PREFIX/share.
	* gnu/packages/tls.scm (openssl)[arguments]: Add 'fix-man-dir' phase.
	  Pass --openssldir=PREFIX/share/openssl-VERSION to ./config.

	gnu: openssl: Use 'modify-phases'.
	* gnu/packages/tls.scm (openssl)[arguments]: Use 'modify-phases'.

	gnu: libtiff: Add "doc" output.
	* gnu/packages/image.scm (libtiff)[outputs, arguments]: New fields.

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

	gnu: xfce4-settings: Set the default icon theme to "gnome".
	Fixes <http://bugs.gnu.org/21217>.

	* gnu/packages/patches/xfce4-settings-defaults.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xfce.scm (xfce4-settings)[source]: Add patch.

2015-09-09  Ricardo Wurmus  <rekado@elephly.net>

	gnu: ibus: Suggest search path.
	* gnu/packages/ibus.scm (ibus)[native-search-paths]: Add path specification
	  for IBUS_COMPONENT_PATH.

	gnu: Add gMTP.
	* gnu/packages/libusb.scm (gmtp): New variable.

	gnu: ibus: Update to 1.5.11.
	* gnu/packages/ibus.scm (ibus): Update to 1.5.11.

	gnu: qsynth: Update to 0.4.0.
	* gnu/packages/audio.scm (qsynth): Update to 0.4.0.

2015-09-08  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: oslotest: Update to 1.10.0
	* gnu/packages/openstack.scm (python-oslotest): Update to 1.10.0.

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

	gnu: sqlite: Switch to alternate source URL.
	* gnu/packages/databases.scm (sqlite)[source]: Add fossies.org URL.

2015-09-08  Steve Sprang  <scs@stevesprang.com>

	build: Improve information density and appearance of download progress output.
	* guix/build/download.scm (seconds->string): New function.
	  (byte-count->string): New function.
	  (progress-bar): New function.
	  (throughput->string): Remove function.
	  (progress-proc): Display base file name, elapsed time, and progress bar.

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

	gnu: glibc: Patch 'openat64', which was buggy on 32-bit platforms.
	* gnu/packages/patches/glibc-o-largefile.patch: New file.
	* gnu/packages/base.scm (glibc)[source]: Add it to 'patches'.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-09-08  Mathieu Lirzin  <mthl@openmailbox.org>

	ui: Add package-description-string.
	Provide support for Texinfo's markup in package description.

	* guix/ui.scm (%text-width): New parameter.
	  (texi->plain-text): New variable.
	  (package->recutils): Use them.
	  (package-description-string): New variable.
	* emacs/guix-main.scm (%package-param-alist): Use it.
	* gnu/packages/perl.scm (perl-devel-globaldestruction)
	  (perl-devel-lexalias, perl-exporter-lite): Adapt to Texinfo's markup.
	* gnu/packages/python.scm (python2-empy): Likewise.

2015-09-08  Cyril Roelandt  <tipecaml@gmail.com>

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

	gnu: python-testtools: fix propagated inputs.
	* gnu/packages/python.scm (python-testools): turn python-fixtures and
	  python-testtools into propagated inputs.

	gnu: pbr: Update to 1.6.0
	* gnu/packages/openstack.scm (python-pbr): Update to 1.6.0.

2015-09-07  David Thompson  <dthompson2@worcester.edu>

	gnu: Add ruby-rack.
	* gnu/packages/ruby.scm (ruby-rack): New variable.

2015-09-07  David Thompson  <dthompson2@worcester.edu>

	build: container: Use the same clone flags as fork(3).
	The intent is to make 'clone' behave a lot more like 'primitive-fork', which
	calls clone(2) with SIGCHLD, CLONE_CHILD_CLEARTID, and CLONE_CHILD_SETTID
	flags.  Notably, running 'clone' at the REPL without these flags would break
	the REPL beyond repair.

	* guix/build/syscalls.scm (CLONE_CHILD_CLEARTID, CLONE_CHILD_SETTID): New
	  variables.
	* gnu/build/linux-container.scm (namespaces->bit-mask): Add
	  CLONE_CHILD_CLEARTID and CLONE_CHILD_SETTID to bit mask.

2015-09-07  David Thompson  <dthompson2@worcester.edu>

	build: container: Setup /dev/console.
	* gnu/build/linux-container.scm (mount-file-systems): Bind mount the
	  controlling terminal as /dev/console.

	gnu: Add ruby-byebug.
	* gnu/packages/ruby.scm (ruby-byebug): New variable.

	gnu: Add ruby-pg.
	* gnu/packages/ruby.scm (ruby-pg): New variable.

2015-09-07  David Thompson  <dthompson2@worcester.edu>

	build: ruby: Avoid long build directory names.
	Having the hash of the source gem in the source directory file name proved to
	be problematic when running the test suite for the 'pg' gem that creates
	UNIX-domain sockets in the source directory and exceeded the 108 character
	limit on GNU/Linux systems.

	* guix/build/ruby-build-system.scm (unpack): Rename unpacked gem directory to
	  "gem".

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

	packages: Build tarballs in sorted order even if tar doesn't support it.
	This is a followup to commit 92226a470ddc980e54863632e5b179bf40444bd7.

	* guix/packages.scm (patch-and-repack)[build]: Determine if tar supports the
	  "--sort=name" option using a run-time test.  If not supported, generate the
	  sorted file list with 'find-files' and pass it to tar using "--files-from".

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

	utils: find-files: Add DIRECTORIES? and FAIL-ON-ERROR? arguments.
	* guix/build/utils.scm (find-files): Add DIRECTORIES? and FAIL-ON-ERROR?
	  keyword arguments.

2015-09-06  Andreas Enge  <andreas@enge.fr>

	gnu: Add enblend-enfuse.
	* gnu/packages/photo.scm (enblend-enfuse): New variable.

	gnu: calibre: Update to 2.37.1.
	* gnu/packages/ebook.scm (calibre): Update to 2.37.1.

	gnu: Add FLANN.
	* gnu/packages/maths.scm (flann): New variable.

2015-09-06  Efraim Flashner  <efraim@flashner.co.il>

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

2015-09-06  Andreas Enge  <andreas@enge.fr>

	gnu: Add libpano13.
	* gnu/packages/photo.scm (libpano13): New variable.

2015-09-06  宋文武  <iyzsong@gmail.com>

	gnu: poppler: Update to 0.35.0.
	* gnu/packages/pdf.scm (poppler): Update to 0.35.0.

	gnu: harfbuzz: Update to 1.0.3.
	* gnu/packages/gtk.scm (harfbuzz): Update to 1.0.3.

	gnu: graphite2: Update to 1.3.1.
	* gnu/packages/fontutils.scm (graphite2): Update to 1.3.1.  Remove
	  unused PERL from inputs.
	  [native-inputs]: New field.

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

	gnu: fontconfig: Update to 2.11.94.
	* gnu/packages/fontutils.scm (fontconfig): Update to 2.11.94.
	  [arguments]: Pass '--with-cache-dir=/var/cache/fontconfig' to configure.
	  Add #:phases.

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

	ui: Change 'P_' to return the empty string when passed the empty string.
	Reported by Mathieu Lirzin <mathieu.lirzin@etu.u-bordeaux.fr>
	at <https://lists.gnu.org/archive/html/guix-devel/2015-09/msg00111.html>.

	* guix/ui.scm (P_): Check whether MSGID is empty, and return it if it is.

2015-09-06  David Thompson  <dthompson2@worcester.edu>

	Update copyright information in (gnu packages ruby).

	gnu: Add ruby-ox.
	* gnu/packages/ruby.scm (ruby-ox): New variable.

	gnu: Add ruby-activesupport.
	* gnu/packages/ruby.scm (ruby-activesupport): New variable.

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

	gnu: Add ruby-tzinfo.
	* gnu/packages/ruby.scm (ruby-tzinfo): New variable.

	gnu: Add ruby-thread-safe.
	* gnu/packages/ruby.scm (ruby-thread-safe): New variable.

	gnu: Add ruby-pry.
	* gnu/packages/ruby.scm (ruby-pry): New variable.

	gnu: Add ruby-slop-3.
	* gnu/packages/ruby.scm (ruby-slop-3): New variable.

	gnu: Add ruby-coderay.
	* gnu/packages/ruby.scm (ruby-coderay): New variable.

	gnu: Add ruby-method-source.
	* gnu/packages/ruby.scm (ruby-method-source): New variable.

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

	gnu: sound-theme-freedesktop: Specify the applicable licenses.
	* gnu/packages/libcanberra.scm (sound-theme-freedesktop)[license]:
	  Specify the actual licenses that apply.

	licenses: Add CC-BY-SA and CC-BY.
	* guix/licenses.scm (cc-by-sa4.0, cc-by3.0): New variables.

	gnu: Set license of the bootstrap tools.
	* gnu/packages/bootstrap.scm (package-from-tarball)[license]: Set to
	  GPL3+.
	* gnu/packages/make-bootstrap.scm (%static-binaries)[license]:
	  Likewise.

	lint: Add 'license' checker.
	* guix/scripts/lint.scm (check-license): New procedure.
	  (%checkers): Add 'license' checker.
	* tests/lint.scm ("license: invalid license"): New test.

	gnu: r-stringr: Provide valid 'home-page' URL.
	* gnu/packages/statistics.scm (r-stringr)[home-page]: Set to valid URL.

2015-09-06  Alex Kost  <alezost@gmail.com>

	gnu: coreutils-light: Rename to coreutils-minimal.
	* gnu/packages/base.scm (coreutils-light): Rename to ...
	  (coreutils-minimal): ...this.
	* gnu/packages/commencement.scm (%boot5-inputs): Use it.

	gnu: bash-light: Rename to bash-minimal.
	* gnu/packages/bash.scm (bash-light): Rename to ...
	  (bash-minimal): ...this.
	  (static-bash): Use it.
	* gnu/packages/make-bootstrap.scm (%bash-static): Use it.

	emacs-build-system: Fix a file name of info directory.
	* guix/build/emacs-build-system.scm (move-doc): Adjust to use
	  "/share/info" instead of its sub-directory.

	gnu: wpa-supplicant-light: Rename to wpa-supplicant-minimal.
	* gnu/packages/admin.scm (wpa-supplicant-light): Rename to ...
	  (wpa-supplicant-minimal): ...this.
	  (wpa-supplicant): Use it.
	* gnu/system/install.scm (installation-os): Use it.

2015-09-06  Leo Famulari  <leo@famulari.name>

	gnu: Add Anonymous Pro fonts.
	* gnu/packages/fonts.scm (font-anonymous-pro): New variable.

2015-09-06  David Thompson  <dthompson2@worcester.edu>

	gnu: Add ruby-nokogiri.
	Co-Authored-By: Pjotr Prins <pjotr.public01@thebird.nl>

	* gnu/packages/ruby.scm (ruby-nokogiri): New variable.

2015-09-06  David Thompson  <dthompson2@worcester.edu>

	gnu: Add ruby-mini-portile.
	* gnu/packages/ruby.scm (ruby-mini-portile): New variable.

	gnu: Add ruby-minitar.
	* gnu/packages/ruby.scm (ruby-minitar): New variable.

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

	tests: Fix typos.
	* tests/derivations.scm ("substitutable-derivation?",
	  "derivation-prerequisites-to-build and substitutes, local build"): Fix
	  harmless typos.

	download: Disable offloading for downloads.
	* guix/download.scm (url-fetch): Use #:local-build? #t.
	* guix/git-download.scm (git-fetch): Likewise.

2015-09-05  David Thompson  <dthompson2@worcester.edu>

	build: syscalls: Properly handle clone errors.
	* guix/build/syscalls.scm (clone): Catch -1 return value and throw error.

2015-09-05  Andreas Enge  <andreas@enge.fr>

	gnu: Remove #:select from module import in (gnu packages geeqie).
	* gnu/packages/geeqie.scm: Import all of (gnu packages ghostscript) instead
	  of selectively only the lcms variable; this helps resolve problems with
	  circular dependencies when including the module.

	gnu: libtiff: Build with the current libjpeg instead of libjpeg-8.
	* gnu/packages/image.scm (libtiff)[inputs]: Use libjpeg instead of libjpeg-9.
	  [arguments]: Drop the now unneeded field.

	gnu: libtiff: Update to 4.0.5.
	* gnu/packages/patches/libtiff-CVE-2012-4564.patch,
	  gnu/packages/patches/libtiff-CVE-2013-1960.patch,
	  gnu/packages/patches/libtiff-CVE-2013-1961.patch,
	  gnu/packages/patches/libtiff-CVE-2013-4231.patch,
	  gnu/packages/patches/libtiff-CVE-2013-4232.patch,
	  gnu/packages/patches/libtiff-CVE-2013-4243.patch,
	  gnu/packages/patches/libtiff-CVE-2013-4244.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8127-pt1.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8127-pt2.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8127-pt3.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8127-pt4.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8128-pt1.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8128-pt2.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8128-pt3.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8128-pt4.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8128-pt5.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8129.patch,
	  gnu/packages/patches/libtiff-CVE-2014-9330.patch,
	  gnu/packages/patches/libtiff-CVE-2014-9655.patch: Delete files.
	* gnu-system.am (dist_patch_DATA): Unregister the patches.
	* gnu/packages/image.scm (libtiff): Update to 4.0.5 and drop the patches.

2015-09-04  Andreas Enge  <andreas@enge.fr>

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

	gnu: vigra: Add support for OpenEXR.
	* gnu/packages/image.scm (vigra)[inputs]: Add ilmbase and openexr.
	  [arguments]: Augment #:configure-flags.

	gnu: Order module imports in (gnu packages photo) alphabetically.
	* gnu/packages/photo.scm: Order module imports alphabetically.

	gnu: Add prefix to license imports in (gnu packages photo).
	* gnu/packages/photo.scm: Import (guix licenses) with #:prefix license: to
	  avoid an impending clash with the import of zlib from both (guix licenses)
	  and (gnu packages compression).

2015-09-04  David Thompson  <dthompson2@worcester.edu>

	gnu: guix: Enable container tests.
	* gnu/packages/package-management.scm (guix-devel): Delete
	  'disable-container-tests' build phase.

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

	monads: Fix 'liftN' fallback case.
	Reported by Andy Wingo <wingo@igalia.com>.

	* guix/monads.scm (define-lift) <fallback case>: Add missing #'.  Remove
	  extra formal parameter.
	* tests/monads.scm ("lift"): Add test with 'lift1' as a procedure.

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

	gnu: Add 'patches'.
	* gnu/packages/patchutils.scm (patches): New variables.

	gnu: Add python2-notmuch.
	* gnu/packages/mail.scm (python2-notmuch): New variable.

	gnu: ath9k-htc-firmware: Update to 1.4.0.
	* gnu/packages/firmware.scm (ath9k-htc-firmware): Update to 1.4.0.

2015-09-04  宋文武  <iyzsong@gmail.com>

	gnu: Rename librest to rest.
	* gnu/packages/gnome.scm (rest): Rename from librest.

2015-09-04  Alex Kost  <alezost@gmail.com>

	emacs: Add support for "triplet" package inputs.
	Fixes <http://bugs.gnu.org/21399>.

	* emacs/guix-main.scm (full-name->name+version): Adjust to handle
	  "name-version:output" string.
	  (package-inputs-names): Support ("name" package "output") inputs.

2015-09-04  Manolis Ragkousis  <manolis837@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>
	    Mark H Weaver  <mhw@netris.org>

	gnu: base: Add glibc-hurd and hurd-minimal.
	* gnu/packages/base.scm (glibc/hurd, glibc/hurd-headers): New variables.
	* gnu/packages/hurd.scm (hurd-minimal): New variable.
	* gnu/packages/patches/glibc-hurd-extern-inline.patch: New file.
	* gnu/packages/patches/libpthread-glibc-preparation.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add them.

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

	packages: Define '%hurd-systems'.
	* guix/packages.scm (%hurd-systems): New variable.

2015-09-04  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: make-bootstrap: Remove unneeded configure flag from %gcc-static.
	With this commit "guix build bootstrap-tarballs --target=i686-pc-gnu" works.

	* gnu/packages/make-bootstrap.scm (%gcc-static): Remove unneeded
	  --disable-decimal-float.

2015-09-04  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: hurd: Add flex as an input to mig.
	* gnu/packages/hurd (mig): Add flex as an input.

	gnu: acl: Fix i686-gnu build.
	* gnu/packages/patches/acl-hurd-path-max.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-09-04  Marek Benc  <dusxmt@gmx.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc: Also substitute the dynamic linker name for GNU/Hurd.
	* gnu/packages/gcc.scm (gcc-4.7): Also substitute the dynamic linker name
	  for GNU (ie. Hurd) systems.

2015-09-04  Marek Benc  <dusxmt@gmx.com>

	gnu: bootstrap: Add the location of ld.so on GNU/Hurd.
	* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add the dynamic
	  linker for i686-gnu and i585-gnu.

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

	gnu: acl: Remove explicit 'sed' dependency.
	* gnu/packages/acl.scm (acl)[native-inputs]: Remove SED, which is
	  implicit.

	gnu: coreutils: Drop dependency on libcap when cross-compiling.
	* gnu/packages/base.scm (coreutils)[inputs]: Drop LIBCAP
	  when (%current-target-system) is true.

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

	gnu: r: Drop texlive from native-inputs.
	* gnu/packages/statistics.scm (r)[native-inputs]: Remove "texlive".

	gnu: r: Install info documentation.
	* gnu/packages/statistics.scm (r)[arguments]: Add phases "make-info" and
	  "install-info" to build and install info documentation.

	gnu: r: Drop IcedTea from inputs.
	* gnu/packages/statistics.scm (r)[inputs]: Remove "icedtea6".

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

	publish: Gracefully handle the lack of a deriver.
	* guix/scripts/publish.scm (narinfo-string): Catch 'system-error' around
	  'load-derivation' call; return BASE-INFO upon ENOENT.  This allows us
	  to return the narinfo even if DERIVER is missing.  Before that, the
	  exception would be uncaught, leading to 500 Internal Error on the
	  client side.

2015-09-03  Alex Kost  <alezost@gmail.com>

	gnu: magit: Update to 2.2.2.
	* gnu/packages/emacs.scm (magit): Update to 2.2.2.

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

	Build tarballs with deterministic file ordering.
	* guix/packages.scm (patch-and-repack)[build],
	  gnu/system/install.scm (self-contained-tarball)[build],
	  gnu/packages/make-bootstrap.scm (tarball-package),
	  gnu/packages/admin.scm (isc-dhcp),
	  gnu/packages/video.scm (avidemux): Pass "--sort=name" to 'tar'.

2015-09-03  宋文武  <iyzsong@gmail.com>

	gnu: tinc: Use /etc as the sysconfdir, and /var as the localstatedir.
	* gnu/packages/vpn.scm (tinc)[arguments]: New field.

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

	gnu: Add r-ggplot2.
	* gnu/packages/statistics.scm (r-ggplot2): New variable.

	gnu: Add r-scales.
	* gnu/packages/statistics.scm (r-scales): New variable.

	gnu: Add r-reshape2.
	* gnu/packages/statistics.scm (r-reshape2): New variable.

	gnu: Add r-stringr.
	* gnu/packages/statistics.scm (r-stringr): New variable.

	gnu: Add r-stringi.
	* gnu/packages/statistics.scm (r-stringi): New variable.

	gnu: Add r-rcolorbrewer.
	* gnu/packages/statistics.scm (r-rcolorbrewer): New variable.

	gnu: Add r-proto.
	* gnu/packages/statistics.scm (r-proto): New variable.

	gnu: Add r-plyr.
	* gnu/packages/statistics.scm (r-plyr): New variable.

	gnu: Add r-rcpp.
	* gnu/packages/statistics.scm (r-rcpp): New variable.

	gnu: Add r-munsell.
	* gnu/packages/statistics.scm (r-munsell): New variable.

	gnu: Add r-magrittr.
	* gnu/packages/statistics.scm (r-magrittr): New variable.

	gnu: Add r-labeling.
	* gnu/packages/statistics.scm (r-labeling): New variable.

	gnu: Add r-gtable.
	* gnu/packages/statistics.scm (r-gtable): New variable.

	gnu: Add r-digest.
	* gnu/packages/statistics.scm (r-digest): New variable.

	gnu: Add r-dichromat.
	* gnu/packages/statistics.scm (r-dichromat): New variable.

	gnu: Add r-colorspace.
	* gnu/packages/statistics.scm (r-colorspace): New variable.

2015-09-03  David Thompson  <dthompson2@worcester.edu>

	gnu: bundler: Update to 1.10.6.
	* gnu/packages/ruby.scm (bundler): Update to 1.10.6.

2015-09-03  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add libraw.
	* gnu/packages/photo.scm (libraw): New variable.

	gnu: sfml: Update to 2.3.1.
	* gnu/packages/game-development.scm (sfml): Update to 2.3.1.
	  [inputs]: Add flac, libvorbis, xcb-util-image.

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

	gnu: linux-libre: Update to 4.2.
	* gnu/packages/linux.scm (linux-libre): Update to 4.2.
	* gnu/packages/linux-libre-x86_64.conf, gnu/packages/linux-libre-i686.conf:
	  Update, based largely on https://jxself.org/git/kernel-configs.git

	packages: Add 'armhf-linux' to '%hydra-supported-systems'.
	* guix/packages.scm (%hydra-supported-systems): Do not remove 'armhf-linux'
	  from it.  It is now equal to '%supported-systems'.

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

	graph: Add '--expression'.
	* guix/scripts/graph.scm (%options, show-help): Add '--expression'.
	  (guix-graph): Call 'read/eval-package-expression' for 'expression'
	  pairs in OPTS.
	* tests/guix-graph.sh: Add tests.
	* doc/guix.texi (Invoking guix graph): Document it.

2015-09-02  Andy Wingo  <wingo@pobox.com>

	doc: Document polkit and elogind services.
	* doc/guix.texi (Desktop Services): Add polkit-service and
	  elogind-service documentation.

	gnu: Add polkit service.
	* gnu/services/desktop.scm (polkit-service): New function.
	  (%desktop-services): Add polkit service.

2015-09-02  Andy Wingo  <wingo@pobox.com>

	gnu: polkit: Look for rules in /run/current-system/profile.
	* gnu/packages/polkit.scm (polkit): Configure to look for actions and
	  rules in the system profile.  Arrange to look for the setuid helper in
	  /run/setuid-programs.  Fix introspection installation.

	Based on a patch by Mark H Weaver <mhw@netris.org>.

2015-09-02  Andy Wingo  <wingo@pobox.com>

	gnu: polkit: Use elogind for seat management.
	* gnu/packages/polkit.scm (polkit): Depend on elogind.

	gnu: Add elogind service.
	* gnu/services/desktop.scm (<elogind-configuration>): New record type.
	  (elogind-configuration-file, elogind-service): New functions.
	  (%desktop-services): Add elogind-service.

	gnu: elogind: Update to version 219.12.
	* gnu/packages/freedesktop.scm (elogind): Update to 219.12.  Use a tarball
	  instead of a git checkout.

2015-09-02  Leo Famulari  <leo@famulari.name>

	gnu: Add attic.
	* gnu/packages/backup.scm (attic): New variable.

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

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

2015-09-02  Alex Kost  <alezost@gmail.com>

	gnu: emacs-flycheck: Use the upstream release instead of MELPA.
	* gnu/packages/emacs.scm (flycheck): Change version to 0.23.
	  Replace MELPA tarball with the upstream release.

	emacs: Use "r" key for 'cran' action in 'import' popup.
	* emacs/guix-command.el (guix-command-improve-import-argument): New
	  variable and function.
	  (guix-command-argument-improvers): Add it.

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

	gnu: xfce: Add xfce4-pulseaudio-plugin.
	* gnu/packages/xfce.scm (xfce)[propagated-inputs]: Add xfce4-pulseaudio-plugin.

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

	gnu: xfce4-panel: Build with GTK+ 3 support.
	* gnu/packages/xfce.scm (xfce4-panel)[arguments]: New field.

	gnu: libxfce4ui: Build with GTK+ 3 support.
	* gnu/packages/xfce.scm (libxfce4ui)[propagated-inputs]: Add gtk+.

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

	gexp: Remove duplicate 'mkdir-p' definition.
	* guix/gexp.scm (%mkdir-p-definition): Remove.
	  (%utils-module): New variable.
	  (imported-files, compiled-modules): Have gexp load %UTILS-MODULE
	  instead of using %MKDIR-P-DEFINITION.

	gnu: coreutils: Add dependency on libcap.
	* gnu/packages/base.scm (coreutils)[inputs]: Add LIBCAP.

	gnu: libcap: Update to 2.24.
	* gnu/packages/linux.scm (libcap): Update to 2.24.  Fetch the source
	  from mirror://kernel.org.

	gnu: glibc: Upgrade to 2.22.
	* gnu/packages/base.scm (glibc): Upgrade to 2.22.
	  (coreutils-light): New variable.
	* gnu/packages/commencement.scm (locale-proof-package): New procedure.
	  (%boot5-inputs): Add LD-WRAPPER, BINUTILS-FINAL, BASH-FINAL, GNU-MAKE,
	  DIFFUTILS, FINDUTILS, COREUTILS-LIGHT (pass through
	  'new-libc-package'), and %BOOTSTRAP-COREUTILS&CO (passed through
	  'locale-proof-package'.)

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

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

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

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

	gnu: Add missing patch for Guile-Present.
	This patch should have been added in cdd383e.

	* gnu/packages/patches/guile-present-coding.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-09-02  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add ZynAddSubFX.
	* gnu/packages/music.scm (zynaddsubfx): New variable.

	gnu: Add minixml.
	* gnu/packages/xml.scm (minixml): New variable.

	gnu: Add gerbv.
	* gnu/packages/engineering.scm (gerbv): New variable.

	gnu: Add po4a.
	* gnu/packages/gettext.scm (po4a): New variable.

	gnu: Add TeX Gyre fonts.
	* gnu/packages/fonts.scm (font-tex-gyre): New variable.

	guix: Add GUST font license 1.0.
	* guix/licenses.scm (gfl1.0): New variable.

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

	import: gem: Fix minor bug and add unit test.
	* guix/import/gem.scm (make-gem-sexp): Properly handle an empty list of
	  licenses.  When rendering a list of licenses, cons 'list onto the front of
	  the expression.
	* tests/gem.scm: New file.
	* Makefile.am (SCM_TESTS): Add it.

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

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

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

	gnu: Add python-os-client-config
	* gnu/packages/openstack.scm (python-os-client-config,
	  python2-os-client-config): New variables.

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

	gnu: Add python-pbr.
	* gnu/packages/openstack.scm: New file.
	* gnu-system.am: Add it.

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

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

	gnu: guile-ssh: Update to 0.8.0.
	* gnu/packages/ssh.scm (guile-ssh): Update to 0.8.0.
	  [inputs]: Use LIBGCRYPT instead of LIBGCRYPT-1.5.

	gnu: libssh: Update to 0.6.5.
	* gnu/packages/ssh.scm (libssh): Update to 0.6.5.
	  [source]: Remove 'patches'.
	  [inputs]: Use LIBGCRYPT instead of LIBGCRYPT-1.5.

	gnu: Add emacs-flycheck.
	* gnu/packages/emacs.scm (flycheck): New variable.

	gnu: Add emacs-let-alist.
	* gnu/packages/emacs.scm (let-alist): New variable.

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

	emacs: Add "View graph" action to graph popup.
	* emacs/guix-command.el: Require 'guix-external'.
	  (guix-run-view-graph): New function.
	  (guix-command-additional-execute-arguments,
	  guix-command-special-executors): Add entries for "View graph" action.

	emacs: Allow users to choose a 'find-file' function.
	* emacs/guix-utils.el (guix-find-file-function): New variable.
	  (guix-find-file): Use it.

	emacs: Add code to run 'dot' program.
	* emacs/guix-external.el: New file.
	* emacs.am (ELFILES): Add it.

	emacs: Add code to pipe guix output to external program.
	* emacs/guix-main.scm: Use (ice-9 popen) module.
	  (pipe-guix-output): New procedure.

2015-08-31  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add Guile-Present.
	* gnu/packages/gtk.scm (guile-present): New variable.

	gnu: Add Guile-RSVG.
	* gnu/packages/gtk.scm (guile-rsvg): New variable.
	* gnu/packages/patches/guile-rsvg-pkgconfig.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-08-31  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add frescobaldi.
	* gnu/packages/music.scm (frescobaldi): New variable.

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

	gnu: Add python-poppler-qt4.
	* gnu/packages/pdf.scm (python-poppler-qt4): New variable.

	gnu: Add poppler-qt4.
	* gnu/packages/pdf.scm (poppler-qt4): New variable.

2015-08-31  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add ruby-thor.
	* gnu/packages/ruby.scm (ruby-thor): New variable.

	gnu: Add ruby-xml-simple.
	* gnu/packages/ruby.scm (ruby-xml-simple): New variable.

	gnu: Add ruby-orderedhash.
	* gnu/packages/ruby.scm (ruby-orderedhash): New variable.

	gnu: Add ruby-atoulme-antwrap.
	* gnu/packages/ruby.scm (ruby-atoulme-antwrap): New variable.

	gnu: Add ruby-rjb.
	* gnu/packages/ruby.scm (ruby-rjb): New variable.

	gnu: Add ruby-builder.
	* gnu/packages/ruby.scm (ruby-builder): New variable.

	gnu: libedit: Enable wide character support.
	* gnu/packages/libedit.scm (libedit)[arguments]: Add "--enable-widec" to
	  configure flags.

	gnu: libedit: Update to 20150325-3.1.
	* gnu/packages/libedit.scm (libedit): Update to 20150325-3.1.

	build: Add R build system.
	* guix/build-system/r.scm: New file.
	* guix/build/r-build-system: New file.
	* Makefile.am (MODULES): Add new files.
	* doc/guix.texi (Build Systems): Document r-build-system.

	import: Add 'cran' importer.
	* guix/import/cran.scm: New file.
	* guix/scripts/import.scm: Add "cran" to 'importers'.
	* guix/scripts/import/cran.scm: New file.
	* tests/cran.scm: New file.
	* Makefile.am (MODULES): Add 'guix/import/cran.scm' and
	  'guix/scripts/import/cran.scm'.
	  (SCM_TESTS): Add 'tests/cran.scm'.
	* doc/guix.texi (Invoking guix import): Document it.
	* po/guix/POTFILES.in: Add 'guix/scripts/import/cran.scm'.

2015-08-30  Mathieu Lirzin  <mthl@openmailbox.org>

	emacs: Use only one guix-load-path variable.
	emacs/guix-init.el (guix-load-path): Move to ...
	emacs/guix-backend.el (guix-load-path): ... Here. Redefine it.

2015-08-30  Mathieu Lirzin  <mthl@openmailbox.org>

	emacs: Fix guix-guile-program default value.
	Fixes <http://bugs.gnu.org/21127>.

	* emacs/guix-backend.el: Use guix-config.
	  (guix-guile-program): Move to ...
	* emacs/guix-config.el.in (guix-guile-program): ... here.  Use Guile
	  program file name from compile-time instead of depending on PATH.

2015-08-30  Mathieu Lirzin  <mthl@openmailbox.org>

	build: Produce 'guix-config' instead of using compile-time tricks.
	* emacs/guix-{init,profiles}.el.in: Rename to ...
	* emacs/guix-{init,profiles}.el: ... these.  New files.
	  Use 'guix-config'.
	* emacs/guix-config.el.in: New file.
	* emacs.am (nodist_lisp_DATA): Add it.  Move them to ...
	  (ELFILES): ... here.
	* .gitignore, configure.ac: Adjust accordingly.

2015-08-30  Ludovic Courtès  <ludo@gnu.org>

	utils: Move 'package-name->name+version' to (guix build utils).
	* guix/utils.scm (package-name->name+version): Move to...
	* guix/build/utils.scm (package-name->name+version): ... here.  New
	  procedure.
	* guix/build/emacs-build-system.scm (package-name->name+version):
	  Remove.

	utils: Add 'strip-store-file-name'.
	* guix/build/utils.scm (strip-store-file-name): New procedure.
	* guix/build/emacs-build-system.scm (store-directory->name-version):
	  Remove.  Update callers to use 'strip-store-file-name'.
	* gnu/packages/gcc.scm (make-libstdc++-doc)[arguments]: Use
	  'strip-store-file-name' instead of 'string-drop'.

	gnu: glibc: _PATH_BSHELL refers to our static bash.
	* gnu/packages/base.scm (glibc)[arguments]: Change _PATH_BSHELL in
	  paths.h to refer to STATIC-BASH.

2015-08-30  Alex Kost  <alezost@gmail.com>

	emacs: Use prompt for packages instead popup for edit action.
	* emacs/guix-base.el (guix-package-location): New function.
	  (guix-edit-package): Rename and move to ...
	* emacs/guix.el (guix-edit): ...here.  Make it interactive.
	* emacs/guix-command.el (guix-edit-action): New function (alias to
	  'guix-edit') to override the popup for edit command in "M-x guix".
	* emacs/guix-list.el (guix-list-edit-package): Adjust for 'guix-edit'
	  renaming.
	* emacs/guix-main.scm (package-location-string): Allow to accept package
	  id or package name as argument.

	emacs: Add popup interface for guix commands.
	* emacs/guix-command.el: New file.
	* emacs.am (ELFILES): Add it.
	* doc/emacs.texi (Emacs Initial Setup): Mention 'magit-popup' library.
	  (Emacs Popup Interface): New node.
	  (Emacs Interface): Add it.
	* doc/guix.texi (Top): Likewise.

	emacs: Add "guix-popup.el".
	* emacs/guix-popup.el: New file.
	* emacs.am (ELFILES): Add it.

	doc: Reorganize "Emacs Interface" node.
	* doc/guix.texi (Package Management): Move "Emacs Interface" node to ...
	  (Top): ...here, since it is not just about package management.
	* doc/emacs.texi: Shift all nodes one level up (@section -> @chapter, etc.).
	  Rename "Emacs Usage" node into "Emacs Package Management".  Move "Emacs
	  Configuration" node here.

	emacs: Add code to run guix command in shell.
	* emacs/guix-base.el (guix-run-in-shell, guix-run-in-eshell,
	  guix-run-command-in-shell): New functions.
	  (guix-run-in-shell-function, guix-shell-buffer-name): New variables.

	emacs: Add code to run guix command in REPL.
	* emacs/guix-base.el (guix-run-command-in-repl, guix-command-output,
	  guix-help-string): New functions.
	* emacs/guix-main.scm (guix-command, guix-command-output, help-string):
	  New procedures.

	ui: Add 'run-guix'.
	* guix/ui.scm (guix-main): Move the code to run guix command line to ...
	  (run-guix): ...here.  New procedure.  Export it.

	emacs: Add and use alist accessors.
	* emacs/guix-utils.el (guix-define-alist-accessor): New macro.
	  (guix-assq-value, guix-assoc-value): New functions.
	  (guix-get-key-val): Remove.
	* emacs/guix-base.el: Replace 'guix-get-key-val' with 'guix-assq-value'
	  everywhere.
	* emacs/guix-info.el: Likewise.
	* emacs/guix-list.el: Likewise.
	* emacs/guix-messages.el: Likewise.

	emacs: Add minibuffer readers.
	* emacs/guix-read.el: New file.
	* emacs.am (ELFILES): Add it.

	emacs: Add help variables.
	* emacs/guix-pcomplete.el (guix-pcomplete-parse-package-regexp,
	  guix-pcomplete-parse-command-regexp,
	  guix-pcomplete-parse-long-option-regexp,
	  guix-pcomplete-parse-short-option-regexp,
	  guix-pcomplete-parse-list-regexp, guix-pcomplete-parse-regexp-group,
	  guix-pcomplete-systems, guix-pcomplete-hash-formats,
	  guix-pcomplete-refresh-subsets, guix-pcomplete-key-policies): Move and
	  rename to ...
	* emacs/guix-help-vars.el (guix-help-parse-package-regexp,
	  guix-help-parse-command-regexp, guix-help-parse-long-option-regexp,
	  guix-help-parse-short-option-regexp, guix-help-parse-list-regexp,
	  guix-help-parse-regexp-group, guix-help-system-types,
	  guix-help-hash-formats, guix-help-refresh-subsets,
	  guix-help-key-policies): ...here.  New file.
	  (guix-help-parse-option-regexp, guix-help-source-types,
	  guix-help-verify-options, guix-help-elpa-archives): New variables.
	* emacs.am (ELFILES): Add "guix-help-vars.el".

	emacs: Add 'guix-package-names'.
	* emacs/guix-main.scm (package-names, package-names-lists): New procedures.
	* emacs/guix-base.el (guix-package-names): New function.

	emacs: Add 'guix-graph-type-names'.
	* emacs/guix-main.scm: Use (guix scripts graph) module.
	  (graph-type-names): New procedure.
	* emacs/guix-base.el (guix-graph-type-names): New function.

	guix graph: Export node types and <node-type> accessors.
	* guix/scripts/graph.scm (%node-types, node-type, node-type?,
	  node-type-identifier, node-type-label, node-type-edges,
	  node-type-convert, node-type-name, node-type-description): Export.

	emacs: Add 'guix-lint-checker-names'.
	* emacs/guix-main.scm: Use (guix scripts lint) module.
	  (lint-checker-names): New procedure.
	* emacs/guix-base.el (guix-lint-checker-names): New function.

	guix lint: Export checkers and <lint-checker> accessors.
	* guix/scripts/lint.scm (%checkers, lint-checker, lint-checker?,
	  lint-checker-name, lint-checker-description, lint-checker-check):
	  Export.

	emacs: Add 'guix-memoized-defalias' macro.
	* emacs/guix-utils.el (guix-memoized-defalias): New macro.
	  (guix-memoized-font-lock-keywords): New variable.

	emacs: Add 'guix-any'.
	* emacs/guix-utils.el (guix-any): New function.

	emacs: Add utils to copy guix command.
	* emacs/guix-utils.el (guix-copy-as-kill, guix-copy-command-as-kill):
	  New functions.

	emacs: Add utils to make symbol and string for guix command.
	* emacs/guix-utils.el (guix-shell-quote-argument, guix-command-symbol,
	  guix-command-string): New functions.

	emacs: Add and use 'guix-concat-strings'.
	* emacs/guix-utils.el (guix-concat-strings): New function.
	* emacs/guix-pcomplete.el (guix-pcomplete-short-options): Use it.
	* emacs/guix-base.el (guix-get-package-strings): Likewise.

	emacs: Add and use 'guix-while-search'.
	* emacs/guix-utils.el (guix-while-search): New macro.
	* emacs/guix-pcomplete.el (guix-pcomplete-run-guix-and-search): Use it.
	* emacs/guix-prettify.el (guix-prettify-decompose-buffer): Likewise.

	emacs: Add 'guix-prettify' to 'guix' custom group.
	* emacs/guix-prettify.el (guix-prettify): Add 'guix' group.

2015-08-30  Alex Kost  <alezost@gmail.com>

	emacs: Remove leftover internal variable.
	This is a followup to commit 74cc67372ec3771b157c015da4ba7ed5d921799f.

	* emacs/guix-base.el (guix-define-buffer-type): Remove 'mode-map'
	  variable.

2015-08-30  Ludovic Courtès  <ludo@gnu.org>

	gnu: glibc: Use 'modify-phases'.
	* gnu/packages/base.scm (glibc)[arguments]: Use 'modify-phases' instead
	  of 'alist-cons-before'.

	build-system/gnu: Use monotic time to measure elapsed time.
	* guix/build/gnu-build-system.scm (gnu-build)[elapsed-time]: New
	  procedure.
	  Use it, and use (current-time time-monotonic) instead
	  of (gettimeofday).  Show one digit after the comma for the elapsed
	  time.

	gnu: ncurses: Really install headers to OUT/include.
	* gnu/packages/ncurses.scm (ncurses)[arguments]: Pass --enable-overwrite.

	gnu: clutter: Add "doc" output.
	* gnu/packages/gnome.scm (clutter)[outputs]: New field.
	  [arguments]: Pass --with-html-dir.

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

2015-08-30  David Thompson  <dthompson2@worcester.edu>

	gnu: Make ruby-diff-lcs a public package.
	* gnu/packages/ruby.scm (ruby-diff-lcs-for-rspec): Rename this...
	  (ruby-diff-lcs): ... to this, and export it.
	  (ruby-rspec-expectation, ruby-rspec-mocks): Use new varaible.

2015-08-29  Ludovic Courtès  <ludo@gnu.org>

	download: Keep a single copy of the mirror file.
	This saves ~10% on 'guix build inkscape -Sd'.

	* guix/download.scm (%mirror-file): New variable.
	  (url-fetch): Remove #:mirrors parameter.
	  Remove 'mirror-file'; refer to '%mirror-file' instead.

2015-08-29  Ludovic Courtès  <ludo@gnu.org>

	doc: Mention the "normalized codeset" used in locale names.
	* doc/guix.texi (Locales): Introduce "codeset".
	  <%default-locale-definitions>: Mention the "normalized codeset", with
	  an xref to libc's manual.
	* gnu/system/locale.scm (%default-locale-definitions)[utf8-locale]:
	  Mention the "normalized codeset" in a comment.

2015-08-29  Ludovic Courtès  <ludo@gnu.org>

	refresh: Add missing newline in warning message.
	Reported by karhunkynsi on #guix.

	* guix/scripts/refresh.scm (update-package): Add missing newline in
	  string literal passed to 'warning'.

2015-08-29  David Thompson  <dthompson2@worcester.edu>

	gnu: ruby-i18n: Update to 0.7.0.
	* gnu/packages/ruby.scm (ruby-i18n): Update to 0.7.0.

2015-08-29  Ricardo Wurmus  <rekado@elephly.net>

	gnu: mpv: Replace "jack-2" with "jack-1".
	* gnu/packages/video.scm (mpv)[inputs]: Replace "jack-2" with "jack-1".

	gnu: gst-plugins-good: Replace "jack-2" with "jack-1".
	* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Replace "jack-2" with
	  "jack-1".

	gnu: audacity: Replace "jack-2" with "jack-1".
	* gnu/packages/audacity.scm (audacity)[inputs]: Replace "jack-2" with
	  "jack-1".

	gnu: rsound: Add file-name field to source origin.
	* gnu/packages/audio.scm (rsound)[source]: Add 'file-name' field.

	gnu: rsound: Replace "jack-2" with "jack-1".
	* gnu/packages/audio.scm (rsound)[inputs]: Replace "jack-2" with "jack-1".

2015-08-29  宋文武  <iyzsong@gmail.com>

	gnu: Add yelp-tools.
	* gnu/packages/gnome.scm (yelp-tools): New variable.

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

	gnu: Add yelp-xsl.
	* gnu/packages/gnome.scm (yelp-xsl): New variable.

2015-08-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: Use 'install-file' instead of 'mkdir-p' and 'copy-file' in obvious cases.
	* gnu/packages/bioinformatics.scm (bedtools, bowtie, bwa, hisat, samtools,
	  plink, star): Use 'install-file' instead of 'mkdir-p' + 'copy-file'.
	* gnu/packages/check.scm (catch-framework): Likewise.
	* gnu/packages/code.scm (global): Likewise.
	* gnu/packages/emacs.scm (magit-svn, haskell-mode, emacs-pdf-tools):
	  Likewise.
	* gnu/packages/engineering.scm (fastcap, fasthenry): Likewise.
	* gnu/packages/gnuzilla.scm (nss): Likewise.
	* gnu/packages/guile.scm (guile-minikanren): Likewise.
	* gnu/packages/java.scm (swt): Likewise.
	* gnu/packages/make-bootstrap.scm (%static-binaries): Likewise.
	* gnu/packages/maths.scm (lpsolve): Likewise.
	* gnu/packages/mp3.scm (mpc123): Likewise.
	* gnu/packages/ninja.scm (ninja): Likewise.
	* gnu/packages/python.scm (python-numpy, python-pyparsing): Likewise.
	* gnu/packages/screen.scm (dtach): Likewise.
	* gnu/packages/synergy.scm (synergy): Likewise.
	* gnu/packages/textutils.scm (utf8proc): Likewise.
	* gnu/packages/version-control.scm (git-test-sequence): Likewise.
	* gnu/packages/wicd.scm (wicd): Likewise.

	utils: Add 'install-file'.
	* guix/build/utils.scm (install-file): New procedure.

2015-08-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: glibc: Do not copy static Bash binary to bin/.
	This avoids problems when installing 'glibc' in a profile, where glibc's
	limited 'bash' would take precedence over the valid 'bash'.

	* gnu/packages/base.scm (glibc)[arguments]: Do not copy STATIC-BASH to
	  OUT/bin.  Instead, simply refer to it directly.
	  [inputs]: Use STATIC-BASH instead of BASH-LIGHT.
	* gnu/packages/commencement.scm (static-bash-for-glibc): Likewise.
	  (glibc-final)[arguments]: Add STATIC-BASH-FOR-GLIBC to
	  #:allowed-references.
	  (gcc-final)[arguments]: Likewise.
	  [native-inputs]: Add "static-bash".

2015-08-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: ncurses: Remove obsolete hack.
	* gnu/packages/ncurses.scm (ncurses)[arguments]: Remove obsolete Solaris
	  hack.

2015-08-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: ncurses: Rework trick to avoid reference to the bootstrap bash.
	This removes reliance on the availability of 'bin/sh' in glibc.

	* gnu/packages/ncurses.scm (ncurses): Remove 'configure-phase'.  Add
	  'remove-shebang-phase'.
	  [arguments]: Remove distinction between cross builds and native builds.  Use
	  'modify-phases'.  Add 'remove-unneeded-shebang' phase.

2015-08-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: ncurses: Upgrade to 6.0.
	* gnu/packages/ncurses.scm (ncurses): Upgrade to 6.0.  Change library names to
	  '.so.6'.

	gnu: binutils: Upgrade to 2.25.1.
	* gnu/packages/base.scm (binutils): Upgrade to 2.25.1.

	gnu: Add 'bash-static'.
	* gnu/packages/bash.scm (static-bash): New variable.

2015-08-29  Ludovic Courtès  <ludo@gnu.org>

	download: Keep only 2 store items for all the downloads.
	This significantly reduces churn in the store.  It also reduces run time
	of 'guix build inkscape -Sd' by ~10%.

	* guix/download.scm (url-fetch)[mirror-file]: New variable.
	  [builder]: Get URL from the "guix download url" env. var.  Get the mirrors
	  from MIRROR-FILE.  Pass #:script-name and #:env-vars to 'gexp->derivation'.

2015-08-29  Ludovic Courtès  <ludo@gnu.org>

	gexp: Add #:script-name parameter to 'gexp->derivation'.
	* guix/gexp.scm (gexp->derivation): Add #:script-name parameter.
	* doc/guix.texi (G-Expressions): Document it.

	monads: Inline the procedure returned by liftN.
	* guix/monads.scm (define-lift): Turn into a macro that open-codes the result
	  of its lift.

2015-08-28  宋文武  <iyzsong@gmail.com>

	gnu: shadow: Update to 4.2.1.
	* gnu/packages/admin.scm (shadow): Update to 4.2.1.
	  [source]: Use the release tarball.

2015-08-28  Leo Famulari  <leo@famulari.name>

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

2015-08-28  Siniša Biđin  <sinisa@bidin.eu>

	gnu: Add cabal-install.
	* gnu/packages/haskell.scm (cabal-install): New variable.

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

	gnu: conky: Fix license.
	* gnu/packages/conky.scm (conky)[license]: Set to LICENSE:GPL3+.

2015-08-28  David Thompson  <dthompson2@worcester.edu>

	gnu: services: Add nginx-service.
	* gnu/services/web.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* guix.texi ("Web Services"): New section.

	import: Add Ruby gem importer.
	* gnu/scripts/import.scm (importers): Add "gem".
	* gnu/import/gem.scm: New file.
	* gnu/scripts/import/gem.scm: New file.
	* Makefile.am (MODULES): Add them.
	* guix.texi ("invoking guix import"): Document it.

	import: pypi: Move generally useful procedures to utils module.
	* guix/import/pypi.scm (make-pypi-sexp): Factorize license to symbol
	  conversion code.
	  (string->license, snake-case, guix-hash-url): Move from here...
	* guix/import/utils.scm: ... to here.
	  (license->symbol): New procedure.

	gnu: Add ruby-arel.
	* gnu/packages/ruby.scm (ruby-arel): New variable.

2015-08-27  Siniša Biđin  <sinisa@bidin.eu>
	    Ludovic Courtès  <ludo@gnu.org>

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

2015-08-27  Siniša Biđin  <sinisa@bidin.eu>

	gnu: lua: Add patch to generate pkg-config file.
	* gnu/packages/patches/lua-pkgconfig.patch: New file.
	* gnu/packages/lua.scm (lua)[source]: Add patch.
	* gnu-system.am (dist_patch_DATA): Register patch.

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

	Thank Eric Hanchrow.

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

	emacs: Add completions for 'guix graph'.
	* emacs/guix-pcomplete.el (guix-pcomplete-parse-linter-regexp): Improve
	  and rename to ...
	  (guix-pcomplete-parse-list-regexp): ...this.  New variable.
	  (guix-pcomplete-lint-checkers): Use it.
	  (guix-pcomplete-graph-types): New function.
	  (guix-pcomplete-complete-command-arg): Complete package names for
	  'guix graph' command.
	  (guix-pcomplete-complete-option-arg): Complete '-t/--type' option.

	gnu: git-modes: Update to 1.2.0.
	* gnu/packages/emacs.scm (git-modes): Update to 1.2.0.
	  [arguments]: Disable tests.

	gnu: magit-svn: Update to 2.1.0.
	* gnu/packages/emacs.scm: Use (gnu packages base) module.  Remove
	  duplicated (gnu packages guile) and (gnu packages linux) modules.
	  (magit-svn): Update to 2.1.0.
	  [source]: Use 'url-fetch' method.
	  [inputs]: Remove.  Move "emacs" to 'native-inputs', move "magit" to
	  'propagated-inputs'.
	  [native-inputs]: Add "tar" and "gzip".
	  [propagated-inputs]: Add "dash".
	  [arguments]: Adjust builder for the new inputs and unpacking the source.

	gnu: magit: Update to 2.2.1.
	* gnu/packages/emacs.scm (magit): Update to 2.2.1.
	  [inputs]: Remove 'git:gui'.
	  [propagated-inputs]: Add 'dash', remove 'git-modes'.
	  [arguments]: Add PREFIX and DASH_DIR to 'make-flags'.  Remove
	  'configure', 'augment-load-path' and 'post-install' phases.

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

	daemon: Require a signature for imports made by root.
	This reinstates commit aa0f8409, which was inadvertently undone in commit
	322eeb87.

	Running 'guix archive --import' as root would have let corrupt or unauthentic
	store items through.

	Reported by Eric Hanchrow <eric.hanchrow@gmail.com>
	at <http://bugs.gnu.org/21354>.

	* nix/nix-daemon/nix-daemon.cc (performOp) <wopImportPaths>: Pass true as the
	  first argument to 'importPaths'.

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

	tests: Skip 'set-network-interface-address' test when running as root.
	Reported by Eric Hanchrow <eric.hanchrow@gmail.com>
	in <http://bugs.gnu.org/21354>.

	* tests/syscalls.scm ("set-network-interface-address"): Skip when (getuid)
	  returns zero.

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

	Add graph.scm to 'POTFILES'.
	* po/guix/POTFILES.in: Add guix/scripts/graph.scm.

	Add 'guix graph'.
	* guix/scripts/graph.scm, tests/graph.scm, tests/guix-graph.sh,
	  doc/images/coreutils-bag-graph.dot, doc/images/coreutils-graph.dot: New
	  files.
	* Makefile.am (MODULES): Add guix/scripts/graph.scm.
	  (SH_TESTS): Add tests/guix-graph.sh.
	  (SCM_TESTS): Add tests/graph.scm.
	* doc.am (DOT_FILES, DOT_VECTOR_GRAPHICS): New variables.
	  (EXTRA_DIST): Use them.
	  (dist_infoimage_DATA): Use $(DOT_FILES).
	  (pdf-local, info-local, ps-local): Likewise.
	* doc/guix.texi (Packages with Multiple Outputs): Add cross-reference to 'guix
	  graph'.
	  (Invoking guix gc): Likewise.
	  (Invoking guix graph): New section.

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

	build: Do not build (guix build syscalls) if 'mount' is missing from libc.
	This disables compilation of this module on GNU/Hurd.
	Reported by Manolis Ragkousis <manolis837@gmail.com>.

	* m4/guix.m4 (GUIX_CHECK_LIBC_MOUNT): New variable.
	* configure.ac: Use it.  Define 'BUILD_SYSCALLS_MODULE' conditional.
	* Makefile.am (MODULES, EXTRA_DIST): Make 'guix/build/syscalls.scm'
	  conditional on BUILD_SYSCALLS_MODULE.

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

	gexp: Add 'lower-object'.
	* guix/gexp.scm (lower-object): New procedure.
	  (lower-inputs, lower-references, gexp->sexp): Use it.
	* tests/gexp.scm ("lower-object"): New test.
	* doc/guix.texi (G-Expressions): Document it.

2015-08-26  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add BioPerl.
	* gnu/packages/bioinformatics.scm (bioperl-minimal): New variable.

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

	gnu: pius: Adjust to the new libpius.
	Prior to this commit the libpius modules would not be found and the default
	GnuPG file name would be /usr/bin/gpg.

	* gnu/packages/gnupg.scm (pius)[inputs]: Remove PYTHON-2.
	  [build-system]: Switch to PYTHON-BUILD-SYSTEM.
	  [arguments]: Add #:python.  Change to add a single phase,
	  'set-gpg-file-name'.

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

	tests: Work around Btrfs handling of nlink for empty directories.
	Fixes <http://bugs.gnu.org/21280>.
	Reported by Leo Famulari <leo@famulari.name>.

	* tests/nar.scm (file-tree-equal?): Use #t as the initial result.  Btrfs would
	  set nlink to 1 instead of 2 for an empty directory, thereby leading
	  'file-tree-equal?' to return #f.

2015-08-25  Mathieu Lirzin  <mthl@openmailbox.org>

	gnu: ratpoison: Clean definition.
	* gnu/packages/ratpoison.scm (ratpoison)[arguments]: Use modify-phases.
	  [inputs]: Sort alphabetically.  Move ratpoison.desktop to ...
	  [native-inputs]: ... here.

2015-08-25  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add Pure Data.
	* gnu/packages/music.scm (pd): New variable.

2015-08-25  宋文武  <iyzsong@gmail.com>

	gnu: tmux: Update to 2.0.
	* gnu/packages/tmux.scm (tmux): Update to 2.0.
	  Update source uri and home-page to github.

	gnu: weechat: Update to 1.3.
	* gnu/packages/weechat.scm (weechat): Update to 1.3.

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

	guix package: -s shows outputs.
	* guix/ui.scm (package->recutils): Print "outputs:".

2015-08-24  Andy Wingo  <wingo@igalia.com>

	gnu: llvm: Update to 3.6.2.
	* gnu/packages/llvm.scm (llvm, clang-runtime, clang): Update to 3.6.2.

	gnu: clang-runtime: New package, propagated by clang.
	* gnu/packages/llvm.scm (clang-runtime-from-llvm): New function.
	  (clang-from-llvm): Add clang-runtime argument and propagate clang-runtime
	  input.
	  (clang-runtime, clang-runtime-3.5): New variables.
	  (clang, clang-3.5): Adapt to propagate clang-runtime modules.

	gnu: Simplify LLVM build.
	* gnu/packages/llvm.scm (llvm)[arguments]: Remove phases argument.
	  Add to configure-flags "-DCMAKE_SKIP_BUILD_RPATH=FALSE" and
	  "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE".

2015-08-23  Siniša Biđin  <sinisa@bidin.eu>

	gnu: Add ghc-x11-xft.
	* gnu/packages/haskell.scm (ghc-x11-xft): New variable.

	gnu: Add ghc-x11.
	* gnu/packages/haskell.scm (ghc-x11): New variable.

	gnu: Add ghc-data-default.
	* gnu/packages/haskell.scm (ghc-data-default): New variable.

	gnu: Add ghc-utf8-string.
	* gnu/packages/haskell.scm (ghc-utf8-string): New variable.

	gnu: Add ghc-data-default-instances-dlist.
	* gnu/packages/haskell.scm (ghc-data-default-instances-dlist):
	  New variable.

	gnu: Add ghc-extensible-exceptions.
	* gnu/packages/haskell.scm (ghc-extensible-exceptions): New variable.

	gnu: Add ghc-dlist.
	* gnu/packages/haskell.scm (ghc-dlist): New variable.

	gnu: Add ghc-data-default-instances-old-locale.
	* gnu/packages/haskell.scm (ghc-data-default-instances-old-locale):
	  New variable.

	gnu: Add ghc-data-default-instances-containers.
	* gnu/packages/haskell.scm (ghc-data-default-instances-containers):
	  New variable.

	gnu: Add ghc-data-default-instances-base.
	* gnu/packages/haskell.scm (ghc-data-default-instances-base): New variable.

	gnu: Add ghc-data-default-class.
	* gnu/packages/haskell.scm (ghc-data-default-class): New variable.

2015-08-24  宋文武  <iyzsong@gmail.com>

	system: Make PAM store SHA-512 encrypted passwords in /etc/shadow.
	Fixes <http://bugs.gnu.org/21318>.

	* gnu/system/linux.scm (unix-pam-service)[password]: Add 'sha512' and
	  'shadow' to arguments.

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

	gnu: hwloc: Propagate libpciaccess.
	* gnu/packages/mpi.scm (hwloc)[inputs]: Move LIBPCIACCESS to...
	  [propagated-inputs]: ... here.  New field.

2015-08-23  Eric Dvorsak  <eric@dvorsak.fr>

	gnu: Add i3status.
	* gnu/packages/wm.scm (i3status): New variable.

	gnu: Add libconfuse.
	* gnu/packages/wm.scm (libconfuse): New variable.

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

	gnu: Add xcb-util-cursor.
	* gnu/packages/xorg.scm (xcb-util-cursor): New variable.

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

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

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

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

	gnu: Add LablGtk.
	* gnu/packages/ocaml.scm (lablgtk): New variable.

	gnu: libgnomeui: Propagate inputs.
	* gnu/packages/gnome.scm (libgnomeui): Propagate inputs libbonoboui and
	  libgnomecanvas as stipulated by libgnomeui-2.0.pc.

	gnu: libglade: Propagate inputs.
	* gnu/packages/gnome.scm (libglade): Propagate inputs gtk+-2 and libxml
	  as stipulated by libglade-2.0.pc.

	gnu: camlp4: Update to 4.02+6.
	* gnu/packages/ocaml.scm (camlp4): Update to 4.02+6.

	gnu: camlp5: Update to 6.14.
	* gnu/packages/ocaml.scm (camlp5): Update to 6.14.

	gnu: Add unison.
	* gnu/packages/ocaml.scm (unison): New variable.

	gnu: ocaml: Update to 4.02.3.
	* gnu/packages/ocaml.scm (ocaml): Update to 4.02.3.

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

	gnu: gnome-desktop, gnome-themes-standard: Update to 3.16.2.
	* gnu/packages/gnome.scm (gnome-desktop, gnome-themes-standard):
	  Update to 3.16.2.

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

	gnu: Fix build failures due to missing XMLLINT.
	This is a followup to commit 4b58d88.

	* gnu/packages/gnome.scm (eog, epiphany, evince, gnome-desktop,
	  gnome-klotski, gnome-mines, gnome-terminal, rhythmbox, seahorse,
	  simple-scan, totem): Add LIBXML2 to native-inputs.
	  (evince, gnome-desktop, rhythmbox): Move ITSTOOL to native-inputs.

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

	gnu: gdk-pixbuf: Merge the two 'arguments' fields.
	This is a followup to commit 0d5ddad.

	* gnu/packages/gtk.scm (gdk-pixbuf): Merge the two 'arguments' fields.

2015-08-23  David Thompson  <dthompson2@worcester.edu>

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

2015-08-22  宋文武  <iyzsong@gmail.com>

	gnu: Add accountsservice.
	* gnu/packages/freedesktop.scm (accountsservice): New variable.

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

	gnu: d-feet: Return booleans from phase procedures.
	* gnu/packages/gnome.scm (d-feet)[arguments]: Return booleans from phase
	  procedures.  Omit unused 'inputs' keyword argument from 'pre-check' phase.

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

	gnu: git-manpages: Update sha256 hash for version 2.5.0.
	This is a followup to commit c1b7ea1e24961b567221b8e29136fd77ed663d9b.

	* gnu/packages/version-control.scm (git-manpages)[source]: Update sha256 hash.

2015-08-22  宋文武  <iyzsong@gmail.com>

	gnu: Add d-feet.
	* gnu/packages/gnome.scm (d-feet): New variable.

	gnu: itstool: Wrap with PYTHONPATH.
	* gnu/packages/glib.scm (itstool): Change 'propagated-inputs' to 'inputs'.
	  [arguments]: New field.

2015-08-22  Efraim Flashner  <efraim@flashner.co.il>

	gnu: abcde: Update to 2.7.
	* gnu/packages/cdrom.scm (abcde): Update to 2.7.

2015-08-22  Jeff Mickey  <j@codemac.net>

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

2015-08-22  Efraim Flashner  <efraim@flashner.co.il>

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

2015-08-22  Leo Famulari  <leo@famulari.name>

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

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

	gnu: curl: Update to 7.44.0.
	* gnu/packages/curl.scm (curl): Update to 7.44.0.

	gnu: subversion: Update to 1.8.14.
	* gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch: Delete file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/version-control.scm (subversion): Update to 1.8.14.  Remove
	  patch.

	gnu: ruby: Update to 2.2.3.
	* gnu/packages/ruby.scm (ruby): Update to 2.2.3.

	gnu: gdk-pixbuf: Update to 2.31.6.
	* gnu/packages/gtk.scm (gdk-pixbuf): Update to 2.31.6.
	  [arguments]: Add 'disable-failing-tests' phase.

	gnu: gnutls: Update to 3.4.4.1.
	* gnu/packages/patches/gnutls-doc-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/tls.scm (gnutls): Update to 3.4.4.1.  Add patch.
	  [arguments]: Add 'delete-prebuilt-unfixed-info-file' phase.
	  In 'move-doc' phase, copy man pages to the correct directory.
	  [native-inputs]: Add 'texinfo'.

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

	gnu: libmtp: Update to 1.1.9.
	* gnu/packages/libusb.scm (libmtp): Update to 1.1.9.

2015-08-21  David Thompson  <dthompson2@worcester.edu>

	gnu: inconsolata: Fix typo in variable name.
	* gnu/packages/fonts.scm (font-incosolata): Rename to...
	  (font-inconsolata): ... this.

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

	gnu: Add fuse-exfat.
	* gnu/packages/linux.scm (fuse-exfat): New variable.

	gnu: Add exfat-utils.
	* gnu/packages/mtools.scm (exfat-utils): New variable.

	bash completion: Cache the list of subcommands and available packages.
	* etc/completion/bash/guix (_guix_complete_available_package): Cache the list
	  of available packages in '_guix_available_packages' and use it.
	  (_guix_complete): Cache the list of subcommands in '_guix_subcommands' and
	  use it.

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

	profiles: Remove duplicate entries in 'etc/profile'.
	Reported by Andy Wingo
	at <http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00109.html>.

	* guix/profiles.scm (profile-derivation)[builder]: Delete duplicates in
	  SEARCH-PATHS.

2015-08-20  Jeff Mickey  <j@codemac.net>

	gnu: Add tinc.
	* gnu/packages/vpn.scm (tinc): New variable.

	gnu: pavucontrol: Update to 3.0.
	* gnu/packages/pulseaudio.scm (pavucontrol): Update to 3.0.
	* gnu/packages/patches/pavucontrol-sigsegv.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove it.

2015-08-20  Andy Wingo  <wingo@igalia.com>

	gnu: Add GeoClue desktop service.
	* gnu/services/desktop.scm (bool): New top-level helper.
	  (upower-configuration-file): Use top-level `bool'.
	  (geoclue-application): New public function.
	  (%standard-geoclue-applications): New public variable.
	  (geoclue-service): New public variable.
	  (%desktop-services): Add GeoClue.  Add a comment about activation.
	* doc/guix.texi (Desktop Services): Document the GeoClue service.

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

	gnu: dmd: Apply 'make-forkexec-constructor' patch.
	Proposed by Andy Wingo <wingo@igalia.com>.

	* gnu/packages/admin.scm (dmd): Add 'base-version' and 'patch-level'
	  variables.
	  [source]: Use 'base-version' instead of 'version'.  Add 'patches' field.

2015-08-20  Eric Dvorsak  <eric@dvorsak.fr>

	gnu: Add font-inconsolata
	* gnu/packages/fonts.scm (font-inconsolata): New variable.

	gnu: Add font-ubuntu.
	* gnu/packages/fonts/scm (font-ubuntu): New variable.

2015-08-20  Siniša Biđin  <sinisa@bidin.eu>

	doc: Add missing gawk dependency to hello recipe.
	* doc/guix.texi (Defining Packages): Add gawk dependency.

2015-08-20  宋文武  <iyzsong@gmail.com>

	gnu: libinput: Update to 0.21.0.
	* gnu/packages/freedesktop.scm (libinput): Update to 0.21.0.

2015-08-20  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	guix: Add Sleepycat license.
	* guix/licenses.scm (sleepycat): New variable.

2015-08-20  Steve Sprang  <scs@stevesprang.com>

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

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

2015-08-20  David Thompson  <dthompson2@worcester.edu>

	scripts: package: Add --install-from-file option.
	* guix/scripts/package.scm (show-help): Add help text for --install-from-file
	  option.
	  (%options): Add --install-from-file option.
	* tests/guix-package.sh: Test it.
	* doc/guix.texi ("invoking guix package"): Document it.
	* doc/package-hello.scm: New file.
	* doc.am (EXTRA_DIST): Add it.

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

	size: Get the item's size from the daemon rather than compute it.
	This removes all I/O, which obviously makes things faster.

	* guix/scripts/size.scm (file-size, store-item-exists?): Remove.
	  (query-path-info*): New procedure.
	  (file-size*): Rename to...
	  (file-size): ... this; adjust caller.  Use 'query-path-info*' instead of
	  'file-size'.

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

	lint: Add 'formatting' checker.
	* guix/scripts/lint.scm (report-tabulations, report-trailing-white-space,
	  report-long-line, report-formatting-issues, check-formatting): New
	  procedures.
	  (%formatting-reporters): New variable.
	  (%checkers): Add 'formatting' checker.
	* tests/lint.scm ("formatting: tabulation", "formatting: trailing white
	  space", "formatting: long line", "formatting: alright"): New tests.
	* doc/guix.texi (Invoking guix lint): Mention the 'formatting' checker.

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

	gnu: qemu: Update to 2.3.1.  Add fix for CVE-2015-5745.
	* gnu/packages/patches/qemu-CVE-2015-5745.patch: New file.
	* gnu/packages/patches/qemu-CVE-2015-3456.patch,
	  gnu/packages/patches/qemu-CVE-2015-5154-pt1.patch,
	  gnu/packages/patches/qemu-CVE-2015-5154-pt2.patch,
	  gnu/packages/patches/qemu-CVE-2015-5154-pt3.patch,
	  gnu/packages/patches/qemu-CVE-2015-5158.patch: Delete files.
	* gnu-system.am (dist_patch_DATA): Add new file and remove the deleted ones.
	* gnu/packages/qemu.scm (qemu): Update to 2.3.1.  Add new patch and remove the
	  deleted ones.

	Revert "PRELIMINARY: gnu: Add ppp."
	This reverts commit ba139bd75bd783d2474e5f9ecc0dd6d3aac6a9c3.

	Revert "PRELIMINARY: dbus-service: Include system-services directories."
	This reverts commit e3484421cb159968fc6fb54f044f84bccfc555e8.

	Revert "PRELIMINARY: gnu: polkit: Work on making it functional in practice."
	This reverts commit e640340b9ec6c601720977820b2701d6cd99b74c.

	Revert "PRELIMINARY: Add dbus-fixed."
	This reverts commit 86e3f95a09d903debba38cd1ff5dfd953f34a765.

	Revert "PRELIMINARY: Add three programs to %setuid-programs."
	This reverts commit fb1e06fc5f7648ab3078876f009fa7a983b17c41.

	Revert "PRELIMINARY: Modify dbus-configuration to find setuid helper."
	This reverts commit fe1f2c80a170feee3e448277b9361092328d355c.

	Revert "PRELIMINARY: gnu: wpa-supplicant: Install dbus service files."
	This reverts commit 9243fdf7790b748d2efbbc69d9c3c2b0101a98d4.

	Revert "PRELIMINARY: gnu: Add network-manager."
	This reverts commit 0f402e4cf86de713286b3856d265de32d3785a36.

	PRELIMINARY: gnu: Add network-manager.
	* gnu/packages/patches/network-manager-platform-managed.patch,
	  gnu/packages/network-manager.scm: New files.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add network-manager.scm.
	  (dist_patch_DATA): Add network-manager-platform-managed.patch.

	PRELIMINARY: gnu: wpa-supplicant: Install dbus service files.

	PRELIMINARY: Modify dbus-configuration to find setuid helper.

	PRELIMINARY: Add three programs to %setuid-programs.

	PRELIMINARY: Add dbus-fixed.

	PRELIMINARY: gnu: polkit: Work on making it functional in practice.

	PRELIMINARY: dbus-service: Include system-services directories.

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

	PRELIMINARY: gnu: Add ppp.
	TODO: Fix 'license' field.

	* gnu/packages/networking.scm (ppp): New variable.

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

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

2015-08-19  宋文武  <iyzsong@gmail.com>

	gnu: tk: Build with Xft support.
	* gnu/packages/tcl.scm (tk)[inputs]: Add LIBXFT.
	  [native-inputs]: New field.

2015-08-19  Daniel Pimentel  <d4n1@member.fsf.org>

	gnu: Add Rage player.
	* gnu/packages/enlightenment.scm: Add Rage.

2015-08-18  David Thompson  <dthompson2@worcester.edu>

	build: ruby: Rewrite build system to use gem archives.
	Co-Authored-By: Pjotr Prins <pjotr.public01@thebird.nl>

	* guix/build-system/ruby.scm (lower): Remove git dependency.
	  (rubygems-uri): New procedure.
	* guix/build/ruby-build-system (gitify): Delete.
	  (unpack): Use 'gem unpack' utility.
	  (check): Add docstring.
	  (build): Repack modified gem.
	  (install): Rebuild unpacked gem and install it.
	  (%standard-phases): Remove gitify and build phases.
	* gnu/packages/ruby.scm (ruby-hoe, ruby-rake-compiler, ruby-i18n,
	  ruby-rspec-support, ruby-rspec-core, ruby-diff-lcs-for-rspec,
	  ruby-rspec-expectations, ruby-rspec-mocks, ruby-rspec, bundler,
	  ruby-useragent, ruby-bacon, ruby-arel, ruby-connection-pool,
	  ruby-net-http-persistent, ruby-minitest, ruby-minitest-sprint,
	  ruby-minitest-bacon, ruby-daemons, ruby-git, ruby-slop,
	  ruby-multipart-post): Convert to new build system.
	* doc/guix.texi (ruby-build-system): Document the gem archive requirement.

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

	gnu: calibre: Update to 2.35.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.35.0.

2015-08-17  David Thompson  <dthompson2@worcester.edu>

	syscalls: setns: Skip binding if there is no such C function.
	On systems with a glibc prior to 2.14, the 'setns' function is not available.

	Thanks to Eric Bavier for reporting the issue.

	* guix/build/syscalls.scm (setns): Wrap with 'false-if-exception'.

2015-08-17  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: r: Add R_LIBS_SITE to native-search-paths.
	* gnu/packages/statistics.scm (r)[native-search-paths]: Add
	  specification for "R_LIBS_SITE" variable.

	gnu: r: Update to 3.2.2.
	* gnu/packages/statistics.scm (r): Update to 3.2.2.

2015-08-17  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add American fuzzy lop.
	* gnu/packages/debug.scm (american-fuzzy-lop): New variable.

	gnu: qemu: Honor #:configure-flags argument.
	* gnu/packages/qemu.scm (qemu-headless)[arguments]: Honor #:configure-flags
	  arguments for configure phase.

2015-08-16  Ricardo Wurmus  <rekado@elephly.net>

	gnu: ardour: Update to 4.2.
	* gnu/packages/audio.scm (ardour): Update to 4.2.

2015-08-16  David Thompson  <dthompson2@worcester.edu>

	gnu: notmuch: Update to 0.20.2.
	* gnu/packages/mail.scm (notmuch): Update to 0.20.2.  Add python-sphinx native
	  input.  Rewrite phases using 'modify-phases' syntax.

	gnu: offlineimap: Update to 6.5.7.
	* gnu/packages/mail.scm (offlineimap): Update to 6.5.7.

2015-08-16  Ricardo Wurmus  <rekado@elephly.net>

	gnu: guitarix: Update to 0.33.0.
	* gnu/packages/audio.scm (guitarix): Update to 0.33.0.
	  [native-inputs]: Add faust.

2015-08-15  David Thompson  <dthompson2@worcester.edu>

	gnu: Add znc.
	* gnu/packages/messaging.scm (znc): New variable.

2015-08-15  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Remove mplayer2.
	* gnu/packages/video.scm (mplayer2): Removed variable.

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

	gnu: epiphany: Add dconf to propagated-inputs.
	* gnu/packages/gnome.scm (epiphany)[propagated-inputs]: New field.

2015-08-15  Andreas Enge  <andreas@enge.fr>

	gnu: flint: Disable parallel tests.
	* gnu/packages/algebra.scm (flint)[arguments]: Disable parallel tests,
	  which makes the build pass on arm.

2015-08-14  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add Gamine.
	* gnu/packages/games.scm (gamine): New variable.

2015-08-14  宋文武  <iyzsong@gmail.com>

	gnu: glib-networking: Prefer 'SSL_CERT_FILE' as TLS CA file.
	This is an improvement over commit af6100f.

	* gnu/packages/gnome.scm (glib-networking)[source](patches): New field.
	  [arguments]: Pass '/etc/ssl/certs/ca-certificates.crt' to configure.
	  Set 'SSL_CERT_FILE' to '/dev/null' in 'use-empty-ssl-cert-file' phase.
	  (libsoup)[arguments]: Set 'SSL_CERT_FILE' to '/dev/null' in
	  'pre-check' phase.
	* gnu/packages/patches/glib-networking-ssl-cert-file.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-08-14  Andreas Enge  <andreas@enge.fr>

	gnu: flint: Update to 2.5.2.
	* gnu/packages/algebra.scm (flint): Update to 2.5.2.
	* gnu/packages/patches/flint-ldconfig.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register the patch.

	gnu: flint: Rewrite using the modify-phases syntax.
	* gnu/packages/algebra.scm (flint)[arguments]: Rewrite the phases using
	  the modify-phases syntax.

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

	gnu: wireless-tools: Build shared library; remove non-free headers.
	* gnu/packages/linux.scm (wireless-tools)[source]: Replace unneeded
	  old snippet with a new one that removes non-free files.
	  [arguments]: Use modify-phases.  Remove custom 'configure' phase.  Add
	  make-flags.
	  [license]: Change to (list gpl2 lgpl2.1+).

2015-08-14  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: shogun: Move package to machine-learning.scm.
	* gnu/packages/bioinformatics.scm (shogun): Move from here...
	* gnu/packages/machine-learning.scm (shogun): ...to here.

2015-08-14  David Thompson  <dthompson2@worcester.edu>

	gnu: Add guile-redis.
	* gnu/packages/guile.scm (guile-redis): New variable.

	gnu: Add haunt.
	* gnu/packages/guile.scm (haunt): New variable.

2015-08-14  宋文武  <iyzsong@gmail.com>

	Revert "gnu: glib-networking: Use '/etc/ssl/certs/ca-certificates.crt' as TLS CA file."
	This broke libsoup tests.

	This reverts commit af6100f51bf79efef0f79f90245790c410545513.

2015-08-14  Eric Bavier  <bavier@member.fsf.org>

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

	gnu: calcurse: Update to 4.0.0.
	* gnu/packages/calcurse.scm (calcurse): Update to 4.0.0.
	  [arguments]: New field.

	gnu: c-reduce: Update to 2.3.0.
	* gnu/packages/debug.scm (c-reduce): Update to 2.3.0.
	  [inputs]: Use latest llvm and clang.

2015-08-14  宋文武  <iyzsong@gmail.com>

	gnu: glib-networking: Use '/etc/ssl/certs/ca-certificates.crt' as TLS CA file.
	* gnu/packages/gnome.scm (glib-networking)[arguments]: Pass
	  '--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt' to configure.
	  Add 'disable-failing-tls-tests' phase.

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

	gnu: webkitgtk: Update to 2.8.5.
	* gnu/packages/webkit.scm (webkitgtk): Update to 2.8.5.
	  [arguments]: Add 'add-gst-plugins-base-include-path' phase.

	gnu: webkitgtk/gtk+-2: Change name field to "webkitgtk-gtk2".
	* gnu/packages/webkit.scm (webkitgtk/gtk+-2)[name]: Change to
	  "webkitgtk-gtk2".

2015-08-13  宋文武  <iyzsong@gmail.com>

	gnu: Add wesnoth.
	* gnu/packages/games.scm (wesnoth): New variable.

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

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

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

	gnu: icecat: Add fixes for CVE-2015-{4473,4482,4488,4489,4491,4492}.
	WARNING: CVE-2015-4473 may not be fully addressed here, because I was unable
	to backport some of the patches (for upstream bugs 1182711 and 1146213).  I
	was also unable to backport CVE-2015-4484 (upstream bug 1171540) and
	CVE-2015-4487 (upstream bug 1171603).  I was unable to find any commit in the
	upstream repository that claims to address bug 1105914 (CVE-2015-4478).

	* gnu/packages/patches/icecat-CVE-2015-4473-partial.patch,
	  gnu/packages/patches/icecat-CVE-2015-4482.patch,
	  gnu/packages/patches/icecat-CVE-2015-4488.patch,
	  gnu/packages/patches/icecat-CVE-2015-4489.patch,
	  gnu/packages/patches/icecat-CVE-2015-4491.patch,
	  gnu/packages/patches/icecat-CVE-2015-4492.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/gnuzilla.scm (icecat)[source]: Add patches.

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

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

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

	gnu: sipwitch: Update to 1.9.9.
	* gnu/packages/telephony.scm (sipwitch): Update to 1.9.9.

	gnu: ucommon: Update to 6.5.1.
	* gnu/packages/telephony.scm (ucommon): Update to 6.5.1.

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

	gnu: openssh: Update to 7.0p1.
	* gnu/packages/ssh.scm (openssh): Update to 7.0p1.

2015-08-12  Mathieu Lirzin  <mthl@openmailbox.org>

	gnu: ratpoison: Update to 1.4.8.
	* gnu/packages/ratpoison.scm (ratpoison): Update to 1.4.8.
	* gnu/packages/patches/ratpoison-shell.patch: Adapt to it.

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

	gnu: avidemux: Update to 2.6.10. Disable GTK+ build.
	* gnu/packages/video.scm (avidemux): Update to 2.6.10. Disable the GTK+
	  build, which fails, and remove the gtk+ input.

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

	gnu: wicd: Fix bugs in curses interface program.
	* gnu/packages/patches/wicd-bitrate-none-fix.patch,
	  gnu/packages/patches/wicd-get-selected-profile-fix.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/wicd.scm (wicd)[source]: Add patches.

2015-08-11  Andreas Enge  <andreas@enge.fr>

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

2015-08-11  Alex Kost  <alezost@gmail.com>

	Add new entries to .mailmap.
	* .mailmap: Add new lines for Andy Wingo and Eric Dvorsak.

2015-08-11  Andreas Enge  <andreas@enge.fr>

	gnu: calibre: Update to 2.34.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.34.0.

	gnu: python-sip, python-pyqt: Fix computation of python library path.
	* gnu/packages/qt.scm (python-sip, python2-sip, python-pyqt, python2-pyqt,
	    python-pyqt-4, python2-pyqt-4)[arguments]: Fix computation of python
	    library path for multi-digit python versions.

2015-08-11  David Thompson  <dthompson2@worcester.edu>

	tests: containers: Skip if setgroups file does not exist.
	Fixes bug #21226.

	Linux 3.19 introduced a fix for a security vulnerability in user namespaces.
	This fix introduced a new proc file called 'setgroups' and was backported to
	many older kernels.  However, some users run a kernel that is new enough to
	support user namespaces yet old enough to not include the patch, so we must
	skip the tests.

	* tests/containers.scm: Skip all tests if /proc/self/setgroups does not exist.

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

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

2015-08-10  Andreas Enge  <andreas@enge.fr>

	gnu: python-pyqt-4: Update to 4.11.4.
	* gnu/packages/qt.scm (python-pyqt-4, python2-pyqt-4): Update to 4.11.4.

	gnu: python-pyqt: Update to 5.5.
	* gnu/packages/qt.scm (python-pyqt, python2-pyqt): Update to 5.5.

	gnu: python-sip: Update to 4.16.9.
	* gnu/packages/qt.scm (python-sip, python2-sip): Update to 4.16.9.

2015-08-10  Alex Kost  <alezost@gmail.com>

	import: elpa: Fix typo.
	Reported by Eric Dvorsak <eric@dvorsak.fr> on #guix.

	* guix/scripts/import/elpa.scm (%default-options): Remove redundant
	  quote which led to an error if --archive option was not specified.

2015-08-09  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: Bump python-six to 1.9.0.
	* gnu/packages/python.scm (python-six): Bump to 1.9.0.

2015-08-08  David Thompson  <davet@gnu.org>

	gnu: Add redis.
	* gnu/packages/databases.scm (redis): New variable.

2015-08-08  Andy Wingo  <wingo@igalia.com>

	gnu: Add simple-scan.
	* gnu/packages/gnome.scm (simple-scan): New variable.

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

2015-08-08  Andy Wingo  <wingo@igalia.com>

	gnu: Add gtk-doc.
	* gnu/packages/gtk.scm (gtk-doc): New variable.

	Modified-By: Mark H Weaver <mhw@netris.org>

2015-08-08  Andy Wingo  <wingo@igalia.com>

	gnu: sane-backends: Support USB scanners.
	* gnu/packages/scanner.scm (sane-backends): Build with libusb-compat as an
	  input and install a udev rule to give users access to scanners.

	Modified-By: Mark H Weaver <mhw@netris.org>

2015-08-08  Andy Wingo  <wingo@igalia.com>

	gnu: Add libusb-compat.
	* gnu/packages/libusb.scm (libusb-compat): New variable.

	Modified-By: Mark H Weaver <mhw@netris.org>

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

	gnu: Move ghostscript-with-x into (gnu packages ghostscript).
	* gnu/packages/gv.scm (ghostscript/x): Move ...
	* gnu/packages/ghostscript.scm (ghostscript/x): ... to here.

2015-08-08  David Thompson  <dthompson2@worcester.edu>

	build: container: Add #:host-uids argument to call-with-container.
	It's not always possible to map 65536 uids when creating a container as the
	root user within another user namespace.  This is true when building Guix
	within the build daemon's container.  By using a uid range of 1 by default,
	even as the root user, the tests now pass.

	* gnu/build/linux-container.scm (initialize-user-namespace, run-container):
	  Add 'host-uids' argument.
	  (call-with-container): Add #:host-uids keyword argument.
	* tests/containers.scm ("container-excursion"): Update 'run-container' call.

2015-08-08  David Thompson  <dthompson2@worcester.edu>

	build: file-systems: Allow for bind mounting regular files.
	* gnu/build/file-systems.scm (regular-file?): New procedure.
	  (mount-file-system): Create a regular file instead of a directory when bind
	  mounting a regular file.

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

	gnu: aalib: Pass --build to configure.
	* gnu/packages/video.scm (aalib)[arguments]: In configure phase, accept
	  'build' keyword argument and pass it to 'configure'.

	gnu: icecat: Add fix for CVE-2015-4495.
	* gnu/packages/patches/icecat-CVE-2015-4495.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/gnuzilla.scm (icecat)[source]: Add patch.  Move the 'patches'
	  field above the snippet.

2015-08-06  Eric Dvorsak  <yenda1@gmail.com>

	gnu: python-2: Update to 2.7.10.
	* gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch,
	  gnu/packages/patches/python-libffi-mips-n32-fix.patch: Remove files.
	* gnu-system.am (dist_patch_DATA): Remove them.
	* gnu/packages/python.scm (python-2): Update to 2.7.10.  Remove patches.
	  Update comment showing test failures.

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

	python-build-system: Fix 'get-python-version'.
	* guix/build/python-build-system.scm (get-python-version): Rewrite to handle
	  multiple-digit version number components.

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

	gnu: vamp: Update to new upstream source (without version number bump).
	Upstream changed the tarball contents without changing the version number.

	* gnu/packages/audio.scm (vamp)[source]: Update source URI and hash.

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

	gnu: Add pidgin-otr.
	* gnu/packages/messaging.scm (pidgin-otr): New variable.

	gnu: Add pidgin.
	* gnu/packages/patches/pidgin-add-search-path.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/messaging.scm (pidgin): New variable.

	gnu: libotr: Modify description to not rely on preservation of formatting.
	* gnu/packages/messaging.scm (libotr)[description]: Modify formatting.

	gnu: Remove linux-libre-4.0.
	* gnu/packages/linux.scm (linux-libre-4.0): Remove.

	system: Default to newest linux-libre.
	* gnu/system.scm (<operating-system>)[kernel]: Change default to
	  LINUX-LIBRE.

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

2015-08-03  David Thompson  <dthompson2@worcester.edu>

	gnu: node: Update to 0.12.7.
	* gnu/packages/node.scm (node): Update to 0.12.7.

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

	gnu: icu4c: Add fix for CVE-2015-4760.
	* gnu/packages/patches/icu4c-CVE-2015-4760.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/icu4c.scm (icu4c)[source]: Add patch.

2015-08-03  Steve Sprang  <scs@stevesprang.com>

	doc: Fix minor typos.
	* doc/guix.texi (Invoking guix-daemon, Application Setup, The Store): Fix
	  typos.

2015-08-02  Eric Dvorsak  <eric@dvorsak.fr>

	gnu: Move python2-ansible to (gnu packages admin).
	    * gnu/packages/python.scm (python2-ansible): Move to ...
	    * gnu/packages/admin.scm (ansible): ... here.

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

	gnu: ratpoison: Fix ratpoison.desktop URI.
	* gnu/packages/ratpoison.scm (ratpoison.desktop): Change URI to use https.

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

	gnu: texlive: Update to 2015.
	* gnu/packages/texlive.scm (texlive-extra-src, texlive-texmf-src,
	  texlive-bin, texlive-texmf, texlive): Update to 2015.
	  (texlive-bin): Add inputs gmp and mpfr. Add configure flags to use
	  system gmp and mpfr.
	  (texlive-texmf)[arguments]: Add tlpkg directory to PERL5LIB path during
	  the 'texmf-config phase.

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

	gnu: Add emacs-ob-ipython.
	* gnu/packages/emacs.scm (emacs-ob-ipython): New variable.

	gnu: python-ipython: Update to 3.2.1.
	* gnu/packages/python.scm (python-ipython, python2-ipython): Update to 3.2.1.
	  Add optional dependencies required for notebooks.
	  (python-ipython): Fix and enable tests (1 still failing).

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

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

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

	gnu: Add emacs-f.
	* gnu/packages/emacs.scm (emacs-f): New variable.

	build: emacs: Fix bug and improvement robustness.
	* guix/build/emacs-build-system.scm (emacs-inputs): Fix matching pattern.
	  (patch-el-files): Improve regexp pattern.

	gnu: Add emacs-s.
	* gnu/packages/emacs.scm (emacs-s): New variable.

	gnu: Add emacs-dash.
	* gnu/packages/emacs.scm (emacs-dash): New variable.

	import: elpa: Improve error message reporting.
	* guix/import/elpa.scm (filter-dependencies): Fix bug.
	  (call-with-downloaded-file): Add optional parameter 'error-thunk'.
	  (fetch-package-description): Use it.

	gnu: Add fasthenry.
	* gnu/packages/engineering.scm (fasthenry): New variable.
	* gnu/packages/patches/fasthenry-spAllocate.patch,
	  gnu/packages/patches/fasthenry-spBuild.patch,
	  gnu/packages/patches/fasthenry-spFactor.patch,
	  gnu/packages/patches/fasthenry-spSolve.patch,
	  gnu/packages/patches/fasthenry-spUtils.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.

	gnu: Add fastcap.
	* gnu/packages/engineering.scm (fastcap): New variable.
	  (broken-tarball-fetch): New function.  Suggested by Ludovic Courtès
	  <ludo@gnu.org>.
	* gnu/packages/patches/fastcap-mulGlobal.patch,
	  gnu/packages/patches/fastcap-mulSetup.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.

2015-07-31  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: cross-base: Disable libcilkrts in cross-gcc.
	* gnu/packages/cross-base.scm (cross-gcc-arguments): Add "--disable-libcilkrts".

2015-07-31  David Thompson  <dthompson2@worcester.edu>

	gnu: Add graphios.
	* gnu/packages/admin.scm (graphios): New variable.

2015-07-31  Eric Dvorsak  <eric@dvorsak.fr>

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

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

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

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

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

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

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

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

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

	gnu: expat: Add fix for CVE-2015-1283.
	* gnu/packages/patches/expat-CVE-2015-1283.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/xml.scm (expat)[source]: Add patch.

2015-07-29  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add Klick.
	* gnu/packages/music.scm (klick): New variable.

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

	gnu: qemu: Add fixes for CVE-2015-5154 and CVE-2015-5158.
	* gnu/packages/patches/qemu-CVE-2015-5154-pt1.patch,
	  gnu/packages/patches/qemu-CVE-2015-5154-pt2.patch,
	  gnu/packages/patches/qemu-CVE-2015-5154-pt3.patch,
	  gnu/packages/patches/qemu-CVE-2015-5158.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/qemu.scm (qemu-headless)[source]: Add patches.

2015-07-28  Mathieu Lirzin  <mthl@openmailbox.org>

	gnu: Move markdown to (gnu packages markdown).
	* gnu/packages/textutils.scm (markdown): Move to ...
	* gnu/packages/markdown.scm (markdown): ... here.

2015-07-27  Andreas Enge  <andreas@enge.fr>

	gnu: liblxqt: Fix build with Qt 5.5.
	* gnu/packages/patches/liblxqt-include.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.
	* gnu/packages/lxqt.scm (liblxqt)[source]: Use patch.

	gnu: libqtxdg: Update to 1.2.0.
	* gnu/packages/lxqt.scm (libqtxdg)[source]: Update to 1.2.0.
	  [arguments]: Enable test builds.

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

	gnu: Add newt.
	* gnu/packages/slang.scm (newt): New variable.

	gnu: Add ethtool.
	* gnu/packages/networking.scm (ethtool): New variable.

	gnu: Add libndp.
	* gnu/packages/networking.scm (libndp): New variable.

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

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

	gnu: libmtp: Propagate inputs.
	* gnu/packages/libusb.scm (libmtp): Propagate inputs libgcrypt and libusb.

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

	gnu: ghostscript: Add fix for CVE-2015-3228.
	* gnu/packages/patches/ghostscript-CVE-2015-3228.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/ghostscript.scm (ghostscript)[source]: Add patch.

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

	gnu: icedtea7: Update to 2.6.1.
	* gnu/packages/java.scm (icedtea7): Update to 2.6.1.

2015-07-27  Andreas Enge  <andreas@enge.fr>

	gnu: qt: Update to 5.5.0.
	* gnu/packages/qt.scm (qt): Update to 5.5.0. Update download location.
	  Drop patch and snippet.
	  [arguments]: Add configure flag to drop qtwebengine module bundling
	  chromium.
	  [native-inputs]: Drop ninja, needed only for qtwebengine.
	  [inputs]: Add harfbuzz to avoid use of bundled copy.
	  (qt-4)[inputs]: Remove inherited harfbuzz again.
	* gnu/packages/patches/qt5-conflicting-typedefs.patch: Delete file.
	* gnu-system.am (dist_patch_DATA): Unregister patch.
	* gnu/packages/patches/qt5-runpath.patch: Adapt patch.

2015-07-26  Christopher Allan Webber  <cwebber@dustycloud.org>

	gnu: Add pelican.
	* gnu/packages/python.scm (pelican): New variable.

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

2015-07-26  Ricardo Wurmus  <rekado@elephly.net>

	gnu: ntk: Add missing license import.
	* gnu/packages/fltk.scm: Import lgpl2.0+ license.

	gnu: portaudio: Build with jack-1.
	* gnu/packages/audio.scm (portaudio)[inputs]: Replace "jack-2" with "jack-1".

	gnu: jack-1: Propagate "bdb".
	* gnu/packages/audio.scm (jack-1)[inputs]: Move "bdb" from here...
	   [propagated-inputs]: ...to here.

	gnu: Add Non Sequencer.
	* gnu/packages/music.scm (non-sequencer): New variable.

	gnu: Add NTK.
	* gnu/packages/fltk.scm (ntk): New variable.

2015-07-26  Andreas Enge  <andreas@enge.fr>

	gnu: avidemux: Install libraries to lib.
	* gnu/packages/video.scm (avidemux)[source]: Add patch to install to lib
	  directory instead of lib64 or lib32 depending on the architecture.
	  [arguments]: Use the lib instead of the lib64 directory for flags in the
	  build phase, so that these flags should now also work on i686.
	* gnu/packages/patches/avidemux-install-to-lib.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register it.

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

	gnu: magit: Update to 1.4.2.
	* gnu/packages/emacs.scm (magit): Update to 1.4.2.

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

	gnu: openssl: Add reference to upstream GCC bug in comment.
	This is a followup to commit e12027179f136766609fb8dbc920f5705d62fc95.

	* gnu/packages/tls.scm (openssl)[arguments]: Add reference to upstream
	  GCC bug in comment.

2015-07-26  宋文武  <iyzsong@gmail.com>

	gnu: Add udisks.
	* gnu/packages/freedesktop.scm (udisks): New variable.

	gnu: Add libatasmart.
	* gnu/packages/freedesktop.scm (libatasmart): New variable.

	gnu: colord: Propagate inputs.
	* gnu/packages/gnome.scm (colord): Propagate inputs glib, eudev and lcms.

	gnu: Prefer libgudev as GUDEV (GObject bindings for libudev) provider.
	* gnu/packages/gnome.scm (upower, gnome-settings-daemon, rhythmbox)
	  gnu/packages/xfce.scm (thunar, thunar-volman): Switch to libgudev as
	  GUDEV provider.

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

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

	gnu: perl-data-stag: Fix typo in description.
	Reported by Anders Jonsson <anders.jonsson@norsjovallen.se>.

	* gnu/packages/perl.scm (perl-data-stag)[description]: Fix typo.

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

	vm: Make the list of partitions to build a parameter.
	* gnu/build/vm.scm (<partition>): New record type.
	  (fold2): New procedure.
	  (initialize-partition-table): Remove #:bootable? and
	  'partition-size' parameters.  Add 'partitions' parameter.  Invoke 'parted'
	  with '--script'.
	  (initialize-root-partition): Remove.
	  (initialize-partition, root-partition-initializer): New procedures.
	  (initialize-hard-disk): Remove #:system-directory, #:disk-image-size,
	  #:file-system-type, #:file-system-label, #:closures, #:copy-closures?,
	  #:bootable?, and #:register-closures? parameters.  Add #:partitions.
	  Rewrite to use 'initialize-partition' for each item of PARTITIONS.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add (guix records)
	  to #:modules default value.
	  (qemu-image): Adjust accordingly.

	system: Add 'ping6' to %SETUID-PROGRAMS.
	* gnu/system.scm (%setuid-programs): Add 'ping6'.

2015-07-25  Ben Woodcroft  <donttrustben@gmail.com>

	gnu: bedtools: Add patch to fix compilation on 32 bit systems.
	* gnu/packages/patches/bedtools-32bit-compilation.patch: New file.
	* gnu/packages/bioinformatics.scm (bedtools)[source]: Add patch.
	* gnu-system.am (dist_patch_DATA): Register patch.

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

	gnu: vlc: Update input Qt to version 5.
	* gnu/packages/video.scm (vlc)[inputs]: Switch from Qt version 4 to 5.

	gnu: vlc: Update to 2.2.1.
	* gnu/packages/video.scm (vlc): Update to 2.2.1.

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

	syscalls: Add 'network-interfaces', which wraps libc's 'getifaddrs'.
	Based on discussions with Rohan Prinja <rohan.prinja@gmail.com>.

	* guix/build/syscalls.scm (<interface>): New record type.
	  (write-interface, values->interface, unfold-interface-list,
	  network-interfaces, free-ifaddrs): New procedures.
	  (ifaddrs): New C struct.
	  (%struct-ifaddrs-type, %sizeof-ifaddrs): New macros.
	* tests/syscalls.scm ("network-interfaces returns one or more interfaces",
	  "network-interfaces returns \"lo\""): New tests.

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

	syscalls: 'define-c-struct' properly align reads.
	* guix/build/syscalls.scm (alignof*, align): New macros.
	  (write-types, read-types): Use 'align' to compute the actual offset to
	  read/write a value of TYPE0.

	syscalls: 'read-socket-address' gracefully handles unsupported families.
	* guix/build/syscalls.scm (PF_PACKET, AF_PACKET): New variables.
	  (read-socket-address): Make 'index' optional.  Return (vector FAMILY) when
	  FAMILY is neither AF_INET nor AF_INET6.

	syscalls: 'define-c-struct' distinguishes pointers from integers.
	* guix/build/syscalls.scm (read-type): Add special-case for when TYPE is '*.

	syscalls: Rename 'network-interfaces' and 'all-network-interfaces'.
	* guix/build/syscalls.scm (network-interfaces): Rename to...
	  (network-interface-names): ... this.
	  (all-network-interfaces): Rename to...
	  (all-network-interface-names): ... this.
	* gnu/services/networking.scm (dhcp-client-service): Adjust accordingly.
	* tests/syscalls.scm ("all-network-interfaces"): Rename to...
	  ("all-network-interface-names"): ... this, and adjust accordingly.
	  ("network-interfaces"): Rename to...
	  ("network-interface-names"): ... this, and adjust accordingly.

	doc: Make "Application Setup" more prominent.
	* doc/guix.texi (Binary Installation): Add reference to "Application Setup".

2015-07-25  Ben Woodcroft  <donttrustben@gmail.com>

	gnu: bedtools: Update to 2.24.0.
	* gnu/packages/bioinformatics.scm (bedtools): Update to 2.24.0.

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

	gnu: e2fsprogs: Update to 1.42.13.
	* gnu/packages/linux.scm (e2fsprogs): Update to 1.42.13.  Change the source
	  URI to use the .tar.xz file from kernel.org.

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

	gnu: Add liblxqt.
	* gnu/packages/lxqt.scm (liblxqt): New variable.

	gnu: Add kwindowsystem.
	* gnu/packages/kde-frameworks.scm (kwindowsystem): New variable.

	gnu: Add extra-cmake-modules.
	* gnu/packages/kde-frameworks.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Register it.

	gnu: ripperX: Update to 2.8.0.
	* gnu/packages/mp3.scm (ripperx): Update to 2.8.0. Drop one patch and
	  add another one.
	* gnu/packages/patches/ripperx-libm.patch: Remove file.
	* gnu/packages/patches/ripperx-missing-file.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register one patch and unregister the
	  other.

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

	gnu: algebra: Prefix imported licenses.
	* gnu/packages/algebra.scm (mpfrcx, fplll, pari-gp, gp2c, flint, arb,
	  bc, fftw, eigen)[license]: Prefix imported licenses.

	gnu: mpfrcx: Propagate inputs.
	* gnu/packages/algebra.scm (mpfrcx): Propagate inputs gmp, mpfr and mpc.

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

	gnu: clang: Disable distro detection and remove FHS assumptions.
	* gnu/packages/patches/clang-libc-search-path.patch: Disable distro detection
	  and remove hard-coded FHS file names, both of which would lead to breakage
	  on non-GuixSD systems.

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

	doc: Fix name of GNU FreeFont package.
	Fixes <http://bugs.gnu.org/21121>.
	Reported by Malcolm Cook <MEC@stowers.org>.

	* doc/guix.texi (Application Setup): Fix name of GNU FreeFont package.

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

	vm: Use the 'umount' procedure instead of util-linux's 'umount' command.
	* gnu/build/vm.scm (initialize-root-partition, initialize-hard-disk): Use the
	  'umount' procedure instead of invoking the 'umount' command.
	* gnu/system/vm.scm (qemu-image): Remove UTIL-LINUX from INPUTS.

	doc: Clarify that tar timestamp warnings affect tar <= 1.26.
	* doc/guix.texi (Binary Installation): Explain that warnings were triggered by
	  tar <= 1.26.

	gnu: guile-static: Add 'umount' procedure.
	* gnu/packages/patches/guile-linux-syscalls.patch: Add 'umount' subr.

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

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

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

	gnu: arb: Update to 2.7.0.
	* gnu/packages/algebra.scm (arb): Update to 2.7.0.

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

	gnu: ucommon: Update to 6.3.6.
	* gnu/packages/telephony.scm (ucommon): Update to 6.3.6.

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

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

	gnu: retroarch: Update to 1.2.2.
	* gnu/packages/games.scm (retroarch): Update to 1.2.2.

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

	Thank Anders.

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

	Fix typos in translatable strings.
	Reported by Anders Jonsson <anders.jonsson@norsjovallen.se>.

	* gnu/packages/backup.scm, gnu/packages/databases.scm,
	  gnu/packages/linux.scm, gnu/packages/perl.scm,
	  gnu/packages/web.scm, guix/scripts/lint.scm,
	  guix/scripts/publish.scm: Fix typos in translatable strings.

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

	doc: Fix typos in "Setuid Programs".
	* doc/guix.texi (Setuid Programs): Fix typos.

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

	gnu: tor: Update to 0.2.6.10.
	* gnu/packages/tor.scm (tor): Update to 0.2.6.10.

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

	Thank Malcolm.

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

	doc: Suggest unpacking with --warning=no-timestamp.
	Suggested by Malcolm Cook <MEC@stowers.org>.

	* doc/guix.texi (Binary Installation): Suggest --warning=no-timestamp.

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

	gnu: linux-libre: Update to 4.1.3 and 4.0.9.
	* gnu/packages/linux.scm (linux-libre): Update to 4.1.3.
	  (linux-libre-4.0): Update to 4.0.9.

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

	Thank Dave.

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

	doc: Mention zeroed mtimes in the binary tarball.
	Fixes <http://bugs.gnu.org/21111>.
	Reported by Dave Love <fx@gnu.org>.

	* doc/guix.texi (Binary Installation): Add paragraph about "implausibly old
	  time stamps" warning from tar.

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

	size: Add '--substitute-urls' option.
	* guix/scripts/size.scm (show-help, %options): Add --substitute-urls.
	  (%default-options): Add 'substitute-urls'.
	  (guix-size): Honor it.
	* doc/guix.texi (Invoking guix size): Document it.

	derivations: Improve docstring of 'substitution-oracle'.
	* guix/derivations.scm (substitution-oracle): Improve docstring.

	derivations: Improve complexity of 'substitution-oracle'.
	* guix/derivations.scm (substitution-oracle): Use a final 'concatenate'
	  instead of repeated 'append's.

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

	doc: Mention initial passwords in "System Installation".
	Suggested by remo_ on IRC.

	* doc/guix.texi (System Installation): Explicitly mention user account
	  passwords.
	  (User Accounts): Add 'user-account-password' anchor.

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

	import: hackage: Remove reference to unbound variable.
	* guix/scripts/import/hackage.scm (guix-import-hackage): Fix error message for
	  imports from stdin, which referred to unbound variable 'package-name'.

	size: Remove leftover 'pk'.
	* guix/scripts/size.scm (profile->page-map): Remove leftover 'pk'.

2015-07-22  Christopher Allan Webber  <cwebber@dustycloud.org>

	gnu: guile-minikanren: Fix README location.
	* gnu/packages/guile.scm (minikanren): Fix output location for README.org

2015-07-22  Andreas Enge  <andreas@enge.fr>

	gnu: teckit: Update to 2.5.4.
	* gnu/packages/fontutils.scm (teckit): Update to 2.5.4. Drop patch.
	  Use svn-fetch for download.
	  [arguments]: Add phase to call autogen.
	  [native-inputs]: New field.
	* gnu/packages/patches/teckit-cstdio.patch: Delete file.
	* gnu-system.am (dist_patch_DATA): Unregister patch.

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

	gnu: git-modes: Add file-name field to source origin.
	* gnu/packages/emacs.scm (git-modes)[source]: Add 'file-name' field.

2015-07-22  Mathieu Lirzin  <mthl@openmailbox.org>

	gnu: ratpoison: Add multiple monitors support.
	* gnu/packages/ratpoison.scm (ratpoison)[inputs]: Add "libxinerama".

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

	Merge branch 'version-0.8.3'

	gnu: guix: Update development snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to commit 5d09263.
	  Prefix version string with "0.8.3.".
	  (guix): Set to GUIX-DEVEL.

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

	gnu: libsbsms: Fix build on non-Intel platforms.
	* gnu/packages/audio.scm (libsbsms)[arguments]: Add "--disable-sse" to
	  configure-flags unless on x86_64.

	gnu: libsbsms: Use modify-phases.
	* gnu/packages/audio.scm (libsbsms)[arguments]: Use modify-phases.

2015-07-22  Mathieu Lirzin  <mthl@openmailbox.org>

	gnu: Add lxrandr.
	* gnu/packages/lxde.scm (lxrandr): New variable.

	gnu: Add lxtask.
	* gnu/packages/lxde.scm (lxtask): New variable.

	gnu: Add lxterminal.
	* gnu/packages/lxde.scm (lxterminal): New variable.

	gnu: Add pcmanfm.
	* gnu/packages/lxde.scm (pcmanfm): New variable.

	gnu: Add libfm.
	* gnu/packages/lxde.scm (libfm): New variable.
	  (libfm-extra): Inherit from it.

	gnu: Add menu-cache.
	* gnu/packages/lxde.scm (menu-cache): New variable.

	gnu: Add libfm-extra.
	* gnu/packages/lxde.scm (libfm-extra): New variable.

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

	gnu: guix: Update to 0.8.3.
	* gnu/packages/package-management.scm (guix-0.8.2): Rename to...
	  (guix-0.8.3): ... this.  Adjust users.  Add 'disable-container-tests'
	  phase.
	  (guix): Set to GUIX-0.8.3.

	check-available-binaries: Use 'substitutable-paths'.
	* build-aux/check-available-binaries.scm: Rewrite to use 'substitutable-paths'
	  instead of 'substitution-oracle'.  The latter does more than we need, and it
	  no longer check the substitutability of valid items, which is not what we
	  want.  Use 'lset-difference' instead of iterating over the items.

	Update NEWS.

	gnu: Add Camlp4.
	* gnu/packages/ocaml.scm (camlp4): New variable.

	import: pypi: Improve warning message.
	* guix/import/pypi.scm (guess-requirements): Add missing newline and quotes in
	  warning.

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

	gnu: hoedown: Replace 'fix-makefile' phase with make-flags.
	* gnu/packages/markdown.scm (hoedown)[arguments]: Remove 'fix-makefile' phase.
	  Add equivalent make-flags.

2015-07-21  Alex Kost  <alezost@gmail.com>

	gnu: Add sox.
	* gnu/packages/audio.scm (sox): New variable.

	gnu: man-db: Update to 2.7.1.
	* gnu/packages/man.scm (man-db): Update to 2.7.1.
	  [arguments]: Add '--with-systemdtmpfilesdir' to configure flags.

	gnu: libpipeline: Update to 1.4.0.
	* gnu/packages/man.scm (libpipeline): Update to 1.4.0.

	gnu: man-db: Pass --with-col to configure.
	* gnu/packages/man.scm (man-db)[inputs]: Add 'util-linux'.
	  [arguments]: Add '--with-col' to configure flags.

2015-07-21  Ben Woodcroft  <donttrustben@gmail.com>

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

2015-07-21  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: julia: Update to 0.3.10.
	* gnu/packages/julia.scm (julia): Update to 0.3.10.
	* gnu/packages/patches/julia-0.3.10-fix-empty-array.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

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

	gnu: mercurial: Change source URI scheme to https.
	* gnu/packages/version-control.scm (mercurial)[source]: Change URI scheme to
	  https.

	gnu: libmad: Apply fixes for ARMv7 Thumb, etc.
	* gnu/packages/patches/libmad-armv7-thumb-pt1.patch,
	  gnu/packages/patches/libmad-armv7-thumb-pt2.patch,
	  gnu/packages/patches/libmad-frame-length.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/mp3.scm (libmad)[source]: Add patches.

	gnu: tidy: Add fixes for CVE-2015-5522 and CVE-2015-5523.
	* gnu/packages/patches/tidy-CVE-2015-5522+5523.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/web.scm (tidy)[source]: Add patch.

	gnu: bind-utils: Update to 9.10.2-P2.
	* gnu/packages/dns.scm (bind-utils): Update to 9.10.2-P2.

	gnu: httpd: Update to 2.4.16.
	* gnu/packages/web.scm (httpd): Update to 2.4.16.

	gnu: postgresql: Update to 9.3.8.
	* gnu/packages/databases.scm (postgresql): Update to 9.3.8.

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

	gnu: pspp: Update to 0.8.5.
	* gnu/packages/maths.scm (pspp)[source]: Update to 0.8.5.
	  [native-inputs]: Add TEXINFO.

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

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

	gnu: nano: Update to 2.4.2.
	* gnu/packages/nano.scm (nano): Update to 2.4.2.

	Update NEWS.

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

	gnu: python-pillow: Disable egg compression.
	Partly fixes <http://bugs.gnu.org/20765>.

	* gnu/packages/python.scm (python-pillow)[arguments]: Rewrite using
	  'modify-phases'.  Add 'disable-egg-compression' phase.

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

	emacs: Require 'cl-lib'.
	* emacs/guix-emacs.el: Require 'cl-lib', for 'cl-pushnew'.

2015-07-20  David Thompson  <dthompson2@worcester.edu>

	tests: Skip container tests if namespaces are not available.
	* tests/containers.scm: Skip all tests if user namespaces do not exist.

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

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

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to 72cd8ec.

	tests: Make #:references-graphs gexp test more tolerant.
	* tests/gexp.scm ("gexp->derivation #:references-graphs"): Use 'lset=' instead
	  of 'equal?' since the order in which references are listed in not
	  guaranteed.

2015-07-20  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

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

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

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

2015-07-20  Christopher Allan Webber  <cwebber@dustycloud.org>

	emacs: Fix reference to directory variable.
	This is a followup to commit 7741139080a6b00aa4f1846fe7668859e91bec58.

	* emacs/guix-emacs.el (guix-emacs-find-autoloads): Fix variable
	  reference to 'elisp-root-dir'.

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

	gnu: gcc-5: Update to 5.2.0.
	* gnu/packages/gcc.scm (gcc-5): Update to 5.2.0.  Remove
	  gcc-arm-link-spec-fix.patch from patches.

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

	gnu: gcc-5.1, gcc-toolchain-5.1, libstdc++-doc-5.1: Rename to *-5.
	This reflects the new version numbering scheme for GCC 5 and up.
	See <https://gcc.gnu.org/develop.html>.

	* gnu/packages/gcc.scm (gcc-5.1): Rename to ...
	  (gcc-5): ... this.
	  (libstdc++-doc-5.1): Rename to ...
	  (libstdc++-doc-5): ... this, and use gcc-5.
	* gnu/packages/commencement.scm (gcc-toolchain-5.1): Rename to ...
	  (gcc-toolchain-5): ... this, and use gcc-5.
	* build-aux/hydra/gnu-system.scm (%core-packages): Use gcc-5.

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

	Merge branch 'core-updates'

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

	system: Default to Linux-libre 4.0.
	* gnu/system.scm (<operating-system>)[kernel]: Change default to
	  LINUX-LIBRE-4.0.

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

	publish: Do not load archive content in memory.
	Previously, before replying to a /nar/* request, 'guix publish' would first
	build up the whole nar into memory (as a consequence of
	<http://bugs.gnu.org/21093>), which obviously doesn't scale.

	* guix/scripts/publish.scm (render-nar): Return STORE-PATH instead of a
	  procedure that calls 'write-file'.
	  (sans-content-length): New procedure.
	  (http-write): For 'x-nix-archive', don't call '%http-write'.  Instead, call
	  'write-file' right from here, using BODY as the file name.

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

	Merge branch 'master' into core-updates

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

	publish: Serve /nar requests in a separate thread.
	* guix/scripts/publish.scm (%http-write): New variable.
	  (http-write): New procedure.
	  (concurrent-http-server): New variable.
	  (run-publish-server): Use it.

2015-07-19  Christopher Allan Webber  <cwebber@dustycloud.org>

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

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

	doc: Update the "Limitations" section.
	* doc/guix.texi (GNU Distribution): Use the new package list URL.
	  (Limitations): Mention Enlightenment and improve wording.  Update the
	  package count.

	gnu: Add gnu-c-manual.
	* gnu/packages/gcc.scm (gnu-c-manual): New variable.

	nls: Add package files for translation.
	* po/packages/POTFILES.in: Add a bunch of files.

	build: Ensure man pages are not rebuilt by users.
	* doc.am (doc/guix.1): Remove dependency on 'scripts/guix' since every user
	  would end up rebuilding 'guix.1'.  Add dependency on guix/scripts/*.scm.
	  (doc/guix-daemon.1): For the same reason, depend on 'guix-daemon.cc' instead
	  of 'guix-daemon'.
	  (doc/guix-$(1).1): Similarly, remove dependency on 'scripts/guix' and depend
	  on 'guix/scripts/$(1).scm' instead of the .go file.

	build: Fix instantiation of 'guix-daemon.service' when builddir != srcdir.
	* daemon.am (etc/guix-daemon.service): Add $(MKDIR_P) invocation.  Add
	  $(srcdir) when referring to the source file.

	build: Do not distribute the daemon's 'schema.sql.hh' file.
	* daemon.am (libstore_headers): Remove nix/libstore/schema.sql.hh.

	build: Build coreutils-size-map.eps for the sake of the PS and DVI outputs.
	* doc.am (EXTRA_DIST): Add coreutils-size-map.eps.
	  (.png.eps): New rule.
	  (ps-local): Add dependency on coreutils-size-map.eps.
	  (dvi-local): New target.

	build: Add 'generate-authors.scm' to the distribution.
	* Makefile.am (EXTRA_DIST): Add build-aux/generate-authors.scm.

	build: Adjust 'gen-AUTHORS' for 'distcheck' and when run from a tarball.
	* Makefile.am (gen-AUTHORS): Don't do anything if '.git' is missing.  Remove
	  "$(distdir)/AUTHORS" before invoking 'generate-authors.scm'.

	AUTHORS: Remove the hand-made list of people.
	* AUTHORS: Remove the list of people, and add a note saying that this file is
	  meant to be generated.

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

	gnu: metabat: Minor tweaks.
	* gnu/packages/bioinformatics.scm (metabat)[arguments]: Fix indentation in
	  'fix-includes' phase.
	  [license]: Fix misspelling.

2015-07-19  Ben Woodcroft  <donttrustben@gmail.com>

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

2015-07-19  Mathieu Lirzin  <mthl@openmailbox.org>

	gnu: lxappearance: Add missing slash.
	* gnu/packages/lxde.scm (lxappearance)[source]: Add missing slash.

2015-07-19  Alex Kost  <alezost@gmail.com>

	gnu: emacs-mmm-mode: Use gnu-build-system.
	* gnu/packages/emacs.scm (emacs-mmm-mode): Replace melpa-stable URL with
	  the github URL and use 'gnu-build-system' instead of
	  'emacs-build-system'.  Fix typo (add missing space before the
	  description).

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

	gnu: mariadb: Update to 10.0.20.
	* gnu/packages/databases.scm (mariadb): Update to 10.0.20.

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

	gnu: guile-opengl: Install compiled modules in the correct place.
	* gnu/packages/gl.scm (guile-opengl): Install compiled modules in the same
	  directory as the source modules.

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

	gnu: cross-base: Distinguish cross Linux headers from native headers.
	Commit c6d33a9 provided an incorrect fix, whereby the "linux-headers" key
	would be used twice in %BUILD-INPUTS and the 'set-cross-path' phase would
	refer to the first one of them, which happened to be the native headers, and
	not the target headers.  This patch solves the problem by removing the
	ambiguity.

	* gnu/packages/cross-base.scm (cross-gcc-arguments)[set-cross-path]: Remove to
	  "xlinux-headers" instead of "linux-headers".
	  (cross-gcc): When LIBC is true, add explicit "xlinux-headers" input, taken
	  from LIBC's propagated inputs.

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

	gnu: ninja: Do not report files with mtime = 0 as missing.
	This is a followup to 47f315a.

	* gnu/packages/patches/ninja-zero-mtime.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/ninja.scm (ninja)[source]: Reinstate 'patches' field and add
	  this patch.
	  [arguments]: Remove 'apply-ninja-tests.patch' phase.

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

	gnu: rapidjson: Build without -Werror.
	* gnu/packages/web.scm (rapidjson)[source]: Add 'snippet'.

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

	gnu: crda: Add forgotten patch.
	This file should have been added as part of commit cc205da.

	* gnu/packages/patches/crda-optional-gcrypt.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-07-18  pjotrp  <pjotr.public01@thebird.nl>
	    Ludovic Courtès  <ludo@gnu.org>

	build-system/ruby: Add #:gem-flags parameter.
	* guix/build-system/ruby.scm (build): add 'gem-flags' key
	* guix/build/ruby-build-system.scm (build): use 'gem-flags' key
	* doc/guix.texi (Build Systems): Mention #:gem-flags.

2015-07-18  David Thompson  <davet@gnu.org>

	gnu: dfu-programmer: Update to 0.7.2.
	* gnu/packages/flashing-tools.scm (dfu-programmer): Update to 0.7.2.  Add
	  pkg-config input.

2015-07-18  Alex Kost  <alezost@gmail.com>

	tests: Fix 'publish' test for nix-base32 format.
	This is a followup to commit 3b307162e892e0050836434b12e14376758419cc.

	* tests/publish.scm ("/*.narinfo"): Use 'bytevector->nix-base32-string',
	  not 'bytevector->base32-string'.

2015-07-18  Alex Kost  <alezost@gmail.com>

	gnu packages: Clean up synopses and descriptions.
	* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm,
	  gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bittorrent.scm,
	  gnu/packages/code.scm, gnu/packages/compression.scm,
	  gnu/packages/databases.scm, gnu/packages/enchant.scm,
	  gnu/packages/firmware.scm, gnu/packages/fonts.scm,
	  gnu/packages/freedesktop.scm, gnu/packages/games.scm, gnu/packages/gd.scm,
	  gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gsasl.scm,
	  gnu/packages/gstreamer.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm,
	  gnu/packages/haskell.scm, gnu/packages/language.scm,
	  gnu/packages/lesstif.scm, gnu/packages/libreoffice.scm,
	  gnu/packages/linux.scm, gnu/packages/llvm.scm, gnu/packages/maths.scm,
	  gnu/packages/mcrypt.scm, gnu/packages/mit-krb5.scm, gnu/packages/mp3.scm,
	  gnu/packages/ncdu.scm, gnu/packages/networking.scm, gnu/packages/ntp.scm,
	  gnu/packages/ocaml.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
	  gnu/packages/perl.scm, gnu/packages/pretty-print.scm,
	  gnu/packages/pulseaudio.scm, gnu/packages/python.scm,
	  gnu/packages/rdesktop.scm, gnu/packages/rdf.scm, gnu/packages/ruby.scm,
	  gnu/packages/slang.scm, gnu/packages/slim.scm, gnu/packages/telephony.scm,
	  gnu/packages/tls.scm, gnu/packages/tmux.scm, gnu/packages/tre.scm,
	  gnu/packages/unrtf.scm, gnu/packages/version-control.scm,
	  gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wget.scm,
	  gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xiph.scm:
	  Fix typos.  Trim long lines.  Add missing periods in the end of sentences.
	  Use double spaces between sentences.  Remove trailing whitespaces.

	gnu packages: Avoid description lines with leading "(".
	* gnu/packages/curl.scm (curl): Reformat description to avoid a line
	  beginning with "(" because such lines break font-lock highlighting
	  in Emacs.
	* gnu/packages/flashing-tools.scm (dfu-programmer): Likewise.
	* gnu/packages/games.scm (gnugo): Likewise.
	* gnu/packages/gnome.scm (json-glib): Likewise.
	* gnu/packages/image.scm (jbig2dec): Likewise.
	* gnu/packages/maths.scm (units): Likewise.
	* gnu/packages/pdf.scm (mupdf): Likewise.
	* gnu/packages/web.scm (perl-encode-locale): Likewise.
	* gnu/packages/wordnet.scm (wordnet): Likewise.
	* gnu/packages/xml.scm (libxml2):Likewise.

	gnu: Document xorg packages.
	* gnu/packages/xorg.scm: Add/improve 'synopsis'/'description' fields of
	  many packages.

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

	Revert "gnu: calibre: Update to 2.30.0."
	The new version requires the SSL package from Python >= 2.7.9.

	This reverts commit d5711017707b8e0e8a75c2e0b535fd73b8d78c6c.

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

	gnu: ninja: Apply the patch in a phase to avoid 'patch-and-repack'.
	* gnu/packages/ninja.scm (ninja)[source]: Comment out 'patches' field.
	  [native-inputs]: Add 'patch' and "ninja-tests.patch".  Move above
	  'arguments' field.
	  [arguments]: Add 'apply-ninja-tests.patch' phase.

	gnu: ninja: Use modify-phases.
	* gnu/packages/ninja.scm (ninja)[arguments]: Use modify-phases.  Return a
	  boolean result from all phase procedures.

	gnu: clisp: Do not pass --build=<triplet> to configure.
	* gnu/packages/lisp.scm (clisp)[arguments]: Add #:build #f.

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

	publish: Write hashes in nix-base32 format.
	* guix/scripts/publish.scm (narinfo-string): Use
	  'bytevector->nix-base32-string', not 'bytevector->base32-string'.

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

	syscalls: Struct deserializer can now return arbitrary objects.
	* guix/build/syscalls.scm (read-types): Add RETURN and VALUES parameters.
	  (define-c-struct): Add WRAP-FIELDS parameter and pass it to 'read-types'.
	  (sockaddr-in, sockaddr-in6): Add first argument that uses
	  'make-socket-address'.
	  (read-socket-address): Remove 'match' on the result of 'read-sockaddr-in'
	  and 'read-sockaddr-in6'.

	download: Remove spurious warning about 'https_proxy'.
	* guix/build/download.scm (open-connection-for-uri)[with-https-proxy]: Warn
	  about 'https_proxy' only when 'getenv' returns a non-empty string.

	gnu: libpsl: Fix source URL.
	* gnu/packages/web.scm (libpsl)[source]: Fix 'uri'.  Remove now
	  unneeded 'file-name'.

	file-systems: Subsystem cgroups now depend on /sys/fs/cgroup.
	* gnu/system/file-systems.scm (%control-groups): Define 'parent' variable.
	  Initialize the 'dependencies' field for all the subsystems.

	file-systems: Add a 'dependencies' field to <file-system>.
	* gnu/system/file-systems.scm (<file-system>)[dependencies]: New field.
	* gnu/system.scm (other-file-system-services)[requirements]: Honor
	  'file-system-dependencies'.
	* doc/guix.texi (File Systems): Document it.

	gnu: Add Linux-Libre 4.0.8.
	* gnu/packages/linux.scm (linux-libre-4.0): New variable.

	system: Use the CRDA udev rules.
	* gnu/services/base.scm (%base-services): Add CRDA to the #:rules of
	  'udev-service'.
	* gnu/system/install.scm (installation-services): Likewise.

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

	gnu: Add wireless-regdb.
	* gnu/packages/linux.scm (wireless-regdb): New variable.

	licenses: Add Fontana's copyleft-next.
	* guix/licenses.scm (copyleft-next): New variable.

2015-07-17  David Hashe  <david.hashe@dhashe.com>

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

	gnu: Add exempi.
	* gnu/packages/freedesktop.scm (exempi): New variable.

2015-07-17  Eric Bavier  <bavier@member.fsf.org>

	gnu: duplicity: Update to 0.6.26.
	* gnu/packages/backup.scm (duplicity): Update to 0.6.26.

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

	gnu: openssl: Work around GCC code generation bug on ARM with NEON.
	* gnu/packages/tls.scm (openssl)[arguments]: When compiling natively for
	  armhf, pass -mfpu=vfpv3 to ./config.

2015-07-17  Ricardo Wurmus  <rekado@elephly.net>
	    Alex Kost  <alezost@gmail.com>

	gnu: Add emacs-pdf-tools.
	* gnu/packages/emacs.scm (emacs-pdf-tools): New variable.

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

	gnu: icecat: Add patch to adapt to freetype 2.6.
	* gnu/packages/patches/icecat-freetype-2.6.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/gnuzilla.scm (icecat)[source]: Add patch.

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

	system: Add 'kernel-arguments' field.
	* gnu/system.scm (<operating-system>)[kernel-arguments]: New field.
	  (operating-system-grub.cfg): Honor it.
	  (operating-system-parameters-file): Add 'kernel-arguments' to the parameters
	  file.
	* guix/scripts/system.scm (previous-grub-entries)[system->grub-entry]: Read
	  the 'kernel-arguments' field of the parameters file, when available.
	* gnu/system/vm.scm (system-qemu-image/shared-store-script):
	  Use (operating-system-kernel-arguments os) in '-append'.
	* doc/guix.texi (operating-system Reference): Document it.

	system: Fix typo in 'PS1' in skeleton '.bashrc'.
	* gnu/system/shadow.scm (default-skeletons): Move misplaced backslash.

2015-07-16  Eric Bavier  <bavier@member.fsf.org>

	gnu: git:  Adjust to new handling of propagated inputs.
	This is a followup to 161094c, which gets rid of the "a/b" notation for
	propagated inputs.

	* gnu/packages/version-control.scm (package-transitive-propagated-labels*):
	  Do not prepend the package name to its input label.
	  (package-propagated-input-refs): Delete duplicate labels.
	  (git)[arguments]: Adjust wrapping of git-send-email accordingly.

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

	gnu: libpsl: Update to 0.7.1.
	Removing the 'snippet' allows us to avoid 'patch-and-repack', which resets all
	the mtimes, thereby breaking the expectation tested in
	'test-is-public-builtin.c' that the mtime returned by 'psl_builtin_file_time'
	is non-zero.

	* gnu/packages/web.scm (libpsl): Update to 0.7.1.
	  [source]: Remove 'modules' and 'snippet'.
	  [native-inputs]: Add PKG-CONFIG.

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

	gnu: subversion: Skip the faulty test.
	The added patch from upstream didn't help, nor did downgrading to SQLite
	3.8.9.  Thus, shamelessly skip the offending test.

	* gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch: Add one hunk to skip
	  the faulty test, and another one from upstream.

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

	gnu: libgnome: Leave only one 'propagated-inputs' field.
	* gnu/packages/gnome.scm (libgnome): Merge the two 'propagated-inputs'
	  fields (followup to 25338e9.)

2015-07-16  Mathieu Lirzin  <mthl@openmailbox.org>

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

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

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

	install: Reset the mtimes of all the files in the binary tarball.
	* gnu/system/install.scm (self-contained-tarball): Pass "--mtime=@0".  The
	  only files whose mtime was not already were those in /var/guix and
	  /gnu/store/.links.

	file-systems: 'uuid' raises a syntax error for invalid UUIDs.
	* gnu/system/file-systems.scm (uuid): Call 'syntax-violation' when
	  'string->uuid' returns #f.
	* tests/file-systems.scm ("uuid, syntax error"): New test.

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

	python-build-system: Add 'ensure-no-mtimes-pre-1980' phase.
	* guix/build/python-build-system.scm (ensure-no-mtimes-pre-1980):
	  New phase.
	  (%standard-phases): Add it after 'unpack'.

	gnu: perl-net-ssleay: Avoid patching source in 'origin'.
	* gnu/packages/tls.scm (perl-net-ssleay)[source]: Move patch to ...
	  [native-inputs]: ... here, and also add the 'patch' program.
	  [arguments]: Use 'modify-phases'.  Add 'apply-patch' phase.  Return
	  boolean result from 'set-ssl-prefix' phase.

	gnu: ghc: Don't pass --build=<triplet> to configure.
	* gnu/packages/haskell.scm (ghc)[arguments]: Add #:build #f.

	gnu: unzip: Fix CVE-2014-9636 and some other bugs.
	* gnu/packages/patches/unzip-CVE-2014-9636.patch,
	  gnu/packages/patches/unzip-allow-greater-hostver-values.patch,
	  gnu/packages/patches/unzip-increase-size-of-cfactorstr.patch,
	  gnu/packages/patches/unzip-initialize-symlink-flag.patch,
	  gnu/packages/patches/unzip-remove-build-date.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/zip.scm (unzip)[source]: Add patches.
	  [arguments]: Use 'modify-phases'.  Remove custom 'configure' phase; pass
	  additional make-flags instead.  Add custom 'build' phase that builds
	  "generic_gcc" target; remove "generic_gcc" from make-flags.

2015-07-15  Efraim Flashner  <efraim@flashner.co.il>

	gnu: Update livestreamer to 1.12.2.
	* gnu/packages/video (livestreamer): Update to 1.12.2.

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

	size: Gracefully handle EPIPE.
	* guix/scripts/size.scm (guix-size): Wrap body in 'leave-on-EPIPE'.

	ui: Add 'leave-on-EPIPE'.
	* guix/scripts/package.scm (leave-on-EPIPE): Move to...
	* guix/ui.scm (leave-on-EPIPE): ... here.

	Add 'guix-daemon.service' file for systemd.
	* etc/guix-daemon.service.in: New file, provided by Ricardo Wurmus.
	* daemon.am (CLEANFILES): Add etc/guix-daemon.service.
	  (systemdservicedir, nodist_systemdservice_DATA): New variables.
	  (EXTRA_DIST): Add etc/guix-daemon.service.in.
	* doc/guix.texi (Binary Installation, Build Environment Setup): Mention
	  'guix-daemon.service'.

	system: Make /dev/kvm 660.
	* gnu/services/base.scm (kvm-udev-rule): Change /dev/kvm mode to 0660 as a
	  followup to the resolution of <http://bugs.gnu.org/18994>.

	doc: Reinstate bit about creating build accounts.
	* doc/guix.texi (Binary Installation): Reinstate bit about creating group and
	  user accounts, which was inadvertently removed in 01dbc7e0.

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

	Merge branch 'master' into core-updates

	gnu: icecat: Update to 31.8.0-gnu1.
	* gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch: New file.
	* gnu/packages/patches/icecat-CVE-2015-2722-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2722-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2724-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2724-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2724-pt3.patch,
	  gnu/packages/patches/icecat-CVE-2015-2724-pt4.patch,
	  gnu/packages/patches/icecat-CVE-2015-2728-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2728-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2733-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2733-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2735.patch,
	  gnu/packages/patches/icecat-CVE-2015-2736.patch,
	  gnu/packages/patches/icecat-CVE-2015-2738.patch,
	  gnu/packages/patches/icecat-CVE-2015-2739.patch,
	  gnu/packages/patches/icecat-CVE-2015-2740.patch,
	  gnu/packages/patches/icecat-CVE-2015-2743.patch: Remove files.
	* gnu-system.am (dist_patch_DATA): Remove them, and add the new file.
	* gnu/packages/gnuzilla.scm (icecat): Update to 31.8.0-gnu1.  Remove the
	  outdated patches and add the new one.

	Merge branch 'master' into core-updates

	gnu: freetype: Update to 2.6.
	* gnu/packages/fontutils.scm (freetype): Update to 2.6.

	gnu: libgnome: Move popt to propagated-inputs.
	* gnu/packages/gnome.scm (libgnome)[inputs]: Move popt to ...
	  [propagated-inputs]: ... here.

	gnu: qt: On armhf, enable use of NEON.
	* gnu/packages/qt.scm (qt-4)[arguments]: Remove "-no-neon" from arguments
	  passed to configure.

	gnu: mplayer: Enable use of NEON on armhf.
	* gnu/packages/video.scm (mplayer)[arguments]: Remove "--disable-neon" from
	  arguments passed to configure.

	gnu: python: Set source file times to 1980 to fix test.
	* gnu/packages/python.scm (python-2)[arguments]: Use 'modify-phases'.  Return
	  true from phases where needed.  Add 'set-source-file-times-to-1980' phase.
	  Add (ice-9 ftw) to #:modules.

2015-07-15  Ricardo Wurmus  <rekado@elephly.net>

	gnu: libpcap: Enable plain "linux" backend.
	* gnu/packages/admin.scm (libpcap)[arguments]: Add "--with-pcap=linux"
	  configure flag.

	gnu: setbfree: Disable unsupported optimizations on non-x86.
	* gnu/packages/music.scm (setbfree)[arguments]: Override default OPTIMIZATIONS
	  variable on non-x86 systems.

2015-07-15  Eric Bavier  <bavier@member.fsf.org>

	gnu: eigen: Use parallel-job-count.
	* gnu/packages/algebra.scm (eigen)[arguments]: 'current-processor-count' ->
	  'parallel-job-count'.

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

	gnu: Build tarballs deterministically.
	* gnu/packages/make-bootstrap.scm (tarball-package)[arguments]: Build tarball
	  deterministically.
	* gnu/packages/admin.scm (isc-dhcp)[arguments]: In 'post-configure' phase,
	  create bind.tar.gz deterministically.
	* gnu/packages/video.scm (avidemux)[arguments]: In 'repack-ffmpeg' phase,
	  create ffmpeg-1.2.1.tar.bz2 deterministically.

	packages: patch-and-repack: Build tarballs deterministically.
	* guix/packages.scm (patch-and-repack)[build]: When invoking 'tar' to repack
	  the archive, pass "--mtime=@0", "--owner=root:0", and "--group=root:0".

2015-07-15  Eric Bavier  <bavier@member.fsf.org>

	gnu: ccache: Update to 3.2.2.
	* gnu/packages/ccache.scm (ccache): Update to 3.2.2.
	  [arguments]: Rename 'patch-test-shebangs phase to 'setup-tests.  Set the
	  SHELL environment variable.

2015-07-14  Ludovic Courtès  <ludo@gnu.org>
	    Alex Kost  <alezost@gmail.com>

	emacs: Fill package heading in Info buffers.
	* emacs/guix-info.el (guix-package-info-fill-heading): New variable.
	  (guix-package-info-insert-heading): Fill heading if needed.

2015-07-14  Alex Kost  <alezost@gmail.com>

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

	gnu: Add libxdg-basedir.
	* gnu/packages/freedesktop.scm (libxdg-basedir): New variable.

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

	gnu: Adjust packages to new handling of propagated inputs.
	This is a followup to 161094c, which gets rid of the "a/b" notation for
	propagated inputs.

	* gnu/packages/cross-base.scm (cross-gcc-arguments): Change reference from
	  "libc/linux-headers" to "linux-headers".
	* gnu/packages/emacs.scm (magit-svn): Change "magit/git-modes" to
	  "git-modes".

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

	file-systems: Allow users to specify file system UUIDs as strings.
	Fixes <http://bugs.gnu.org/19778>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* gnu/system/file-systems.scm (%uuid-rx): New variable.
	  (string->uuid): New procedure.
	  (uuid): New macro.
	* tests/file-systems.scm: New file.
	* Makefile.am (SCM_TESTS): Add it.
	* doc/guix.texi (File Systems): Give an example of UUID.

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

	file-systems: Implement partition lookup by UUID.
	* gnu/build/file-systems.scm (read-ext2-superblock*, partition-predicate): New
	  procedures.
	  (partition-label-predicate): Rewrite in terms of 'partition-predicate'.
	  (partition-uuid-predicate, find-partition-by-uuid, uuid->string): New
	  procedures.
	  (%network-byte-order): New macro.
	  (canonicalize-device-spec)[canonical-title]: Check whether SPEC is a string.
	  [resolve]: New procedure.
	  Add 'uuid' case and use it.

	gnu: nss: Upgrade to 3.19.2.
	* gnu/packages/gnuzilla.scm (nss): Upgrade to 3.19.2.

	file-systems: Use (guix build syscalls) at build time if needed.
	* gnu/build/file-systems.scm: Wrap 'module-use!' statement in 'eval-when'.

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

	gnu: util-linux: Fix file name of 'umount' in 'eject'.
	Fixes <http://bugs.gnu.org/21010>.
	Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

	* gnu/packages/linux.scm (util-linux)[arguments]: Add 'set-umount-file-name'.

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

	gnu: util-linux: Use 'modify-phases'.
	* gnu/packages/linux.scm (util-linux)[arguments]: Use 'modify-phases' instead
	  of 'alist-cons-before'.

2015-07-14  Jeff Mickey  <j@codemac.net>

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

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

	gnu: corkscrew: Pass triplet instead of system as --build and --host.
	This is a followup to commit 3c7d023d6458669c6bfa23bc85e098c91f699892,
	"build-system/gnu: Pass --build=<triplet> to configure by default"

	* gnu/packages/ssh.scm (corkscrew)[arguments]: In custom configure phase,
	  accept 'build' keyword argument and pass it to configure in --build argument
	  and, if not cross-compiling, the --host argument.  Previously, the nix
	  system string was passed.

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

	gnu: liba52: Remove --build from configure flags.
	This is a followup to commit 3c7d023d6458669c6bfa23bc85e098c91f699892,
	"build-system/gnu: Pass --build=<triplet> to configure by default"

	* gnu/packages/video.scm (liba52)[arguments]: Remove --build from configure
	  flags.

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

	gnu: sysfsutils-1: Remove --build from configure flags.
	This is a followup to commit 3c7d023d6458669c6bfa23bc85e098c91f699892,
	"build-system/gnu: Pass --build=<triplet> to configure by default"

	* gnu/packages/linux.scm (sysfsutils-1)[arguments]: Remove field.

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

	gnu: xbindkeys: Remove --build from configure flags.
	This is a followup to commit 3c7d023d6458669c6bfa23bc85e098c91f699892,
	"build-system/gnu: Pass --build=<triplet> to configure by default"

	* gnu/packages/xdisorg.scm (xbindkeys)[arguments]: Remove field.

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

	gnu: gmp: Remove --build from configure-flags.
	This is a followup to commit 3c7d023d6458669c6bfa23bc85e098c91f699892,
	"build-system/gnu: Pass --build=<triplet> to configure by default"

	* gnu/packages/multiprecision.scm (gmp)[arguments]: Remove field.

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

	build-system/gnu: Pass --build=<triplet> to configure by default.
	* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Accept #:build
	  keyword argument.  Pass it to 'gnu-build' on the build side.
	* guix/build/gnu-build-system.scm (configure): Accept #:build keyword
	  argument.  Unless it is false, pass --build to configure.

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

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

2015-07-13  Andreas Enge  <andreas@enge.fr>

	gnu: boost: Patch to avoid -m32 flag on mips.
	* gnu/packages/patches/boost-mips-avoid-m32.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.
	* gnu/packages/boost.scm (boost): Use it.

	gnu: boost: Update to 1.58.0.
	* gnu/packages/boost.scm (boost): Update to 1.58.0.

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

	substitute: Improve functional decomposition.
	* guix/scripts/substitute.scm (display-narinfo-data,
	  process-query, process-substitution): New procedures.  Code moved from...
	  (guix-substitute): ... here.  Use them.

	guix build: Add '--substitute-urls' client option.
	* guix/scripts/build.scm (%standard-build-options,
	  show-build-options-help): Add --substitute-urls=URLS.
	  (set-build-options-from-command-line): Honor it.
	* guix/store.scm (%default-substitute-urls): Make public.
	* doc/guix.texi (Substitutes): Add xref to the client --substitute-urls
	  option.
	  (Invoking guix build): Document it.
	  (Invoking guix-daemon): Add 'daemon-substitute-urls' anchor.

	substitute: Honor "substitute-urls" option passed by "untrusted" clients.
	* guix/scripts/substitute.scm (or*): New macro.
	  (%cache-url): Honor "untrusted-substitute-urls".
	* guix/tests.scm (%test-substitute-urls): New variable.
	  (open-connection-for-tests): Use it.
	* tests/derivations.scm ("derivation-prerequisites-to-build and substitutes",
	  "derivation-prerequisites-to-build and substitutes, non-substitutable
	  build", "derivation-prerequisites-to-build and substitutes, local build"):
	  Pass it to 'set-build-options'.
	* tests/guix-daemon.sh: Likewise.
	* tests/store.scm ("substitute query, alternating URLs"): New test.
	  ("substitute query", "substitute", "substitute + build-things with output
	  path", "substitute, corrupt output hash", "substitute --fallback"): Pass
	  #:substitute-urls to 'set-build-options'.

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

	substitute: Store cached narinfo in cache-specific sub-directories.
	This ensures that switching between different substitute servers doesn't lead
	to a polluted narinfo cache.

	* guix/scripts/substitute.scm (narinfo-cache-file): Add 'cache-url'
	  parameter.  Add the base32 of CACHE-URL as a sub-directory under
	  %NARINFO-CACHE-DIRECTORY.  Update callers.
	  (cached-narinfo): Likewise.  Call 'mkdir-p' on the dirname of the cache
	  file.  Update callers.
	  (remove-expired-cached-narinfos): Add 'directory' parameter and use it
	  instead of %NARINFO-CACHE-DIRECTORY.
	  (narinfo-cache-directories): New procedure.
	  (maybe-remove-expired-cached-narinfo): Call 'remove-expired-cached-narinfos'
	  for each item returned by 'narinfo-cache-directories'.

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

	substitute: Pass the cache URL instead of <cache> objects.
	* guix/scripts/substitute.scm (<cache>): Rename to...
	  (<cache-info>): ... this.
	  (open-cache): Rename to...
	  (download-cache-info): ... this.  Return a <cache-info> or #f.
	  (open-cache*): Remove.
	  (cache-narinfo!): Take a URL instead of a <cache> as the first parameter.
	  (fetch-narinfos): Likewise.  Call 'download-cache-info'.  Remove use of
	  'force'.
	  (guix-substitute): Replace calls to 'open-cache*' with %CACHE-URL.

	substitute: Remove unneeded conditionals.
	* guix/scripts/substitute.scm (guix-substitute): Remove unneeded (if cache
	  ...) forms since CACHE is always true (it's a promise.)

2015-07-13  Mathieu Lirzin  <mthl@openmailbox.org>

	gnu: file-systems: Fix typo.
	* gnu/system/file-systems.scm (%container-file-systems): Fix typo in a
	  comment.

2015-07-13  Alex Kost  <alezost@gmail.com>

	guix lint: Remove duplicated module lines.
	* guix/scripts/lint.scm (guix): Remove duplicated lines for using
	  'srfi-34' and 'srfi-35' modules.  These lines were introduced twice by
	  commits b210b35 and 002c57c.

2015-07-13  David Hashe  <david.hashe@dhashe.com>

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

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

	gnu: Add 'libstdc++-doc'.
	* gnu/packages/gcc.scm (make-libstdc++-doc): New procedure.
	  (libstdc++-doc-4.9, libstdc++-doc-5.1): New variables.

2015-07-12  Claes Wallin  <claes.wallin@greatsinodevelopment.com>

	gnu: Add execline.
	* gnu/package/skarnet.scm (execline): New variable.

	gnu: Add skalibs.
	* gnu/package/skarnet.scm (skalibs): New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: pumpa: Update to 0.9.1.
	* gnu/packages/pumpio.scm (pumpa): Update to 0.9.1.  Change URL.

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

	gnu: perl: Do not retain references to Binutils and other build-time tools.
	* gnu/packages/perl.scm (perl)[arguments]: Pass -Dlibpth and -Dplibpth to
	  ./Configure.

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

	packages: Rewrite 'transitive-inputs' to be linear and remove duplicates.
	There were two issues:

	  1. Use of 'delete-duplicates', which is quadratic, was a serious problem for
	     closures with lots of propagated inputs, such as that of the 'hydra'
	     package (several minutes for 'guix build hydra -n'!).

	  2. The 'delete-duplicates' call essentially had no effect since duplicate
	     inputs typically had a different label and were thus kept.  For
	     instance, (bag-transitive-inputs (package->bag inkscape)) would return
	     216 items whereas (delete-duplicates (map cdr THAT)) contains only 67
	     items.

	     The new implementation returns 67 items in this case.  For 'hydra', we're
	     down from 42211 items to 361, and roughly 13s for 'guix build hydra'.

	* guix/packages.scm (transitive-inputs): Rewrite as a breadth-first
	  traversal.  Remove duplicate propagated inputs.
	* tests/packages.scm ("package-transitive-inputs", "package->bag, propagated
	  inputs"): Adjust to use simple labels for propagated inputs, without "/".
	  ("package-transitive-inputs, no duplicates"): New test.

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

	tests: Adjust tests for new bootstrap Guile.
	This is a followup to commit 5d6792f ("gnu: bootstrap: Create a wrapper for
	guile to set the system load path.")

	* tests/size.scm ("store-profile"): Expect profile of 'bash' bootstrap binary.
	* tests/gexp.scm ("gexp->derivation #:references-graphs"): Expect GUILE-DRV to
	  depend on 'bash' bootstrap binary.

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

	gnu: Require NEON on armhf.
	* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): On armhf,
	  include --with-fpu=neon.
	* doc/guix.texi (GNU Distribution): Document that our armhf port
	  requires NEON.

	gnu: polkit: Update to 0.113.
	* gnu/packages/polkit.scm (polkit): Update to 0.113.

	gnu: openssh: Update to 6.9p1.
	* gnu/packages/ssh.scm (openssh): Update to 6.9p1.
	  [source]: Use http mirrors.  Add mirror from Erlangen.

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

	install: Fix variable reference to iproute2 package.
	This is a followup to commit d43002f64599fb80294d4c00e3a682a2776c885c.

	* gnu/system/install.scm (installation-os)[packages]: Refer to IPROUTE instead
	  of IPROUTE2.

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

	gnu: openssl: Update to 1.0.2d.
	* gnu/packages/tls.scm (openssl): Update to 1.0.2d.

	gnu: pcre: Enable more features.
	* gnu/packages/pcre.scm (pcre)[arguments]: To configure-flags, add
	  "--enable-unicode-properties", "--enable-pcre16", and "--enable-pcre32".

	gnu: ntp: Update to 4.2.8p3; use system libevent.
	* gnu/packages/ntp.scm (ntp): Update to 4.2.8p3.
	  [source]: Add snippet to remove bundled copy of libevent.
	  [inputs]: Add libevent.
	  [arguments]: Add 'disable-network-test' phase.

2015-07-11  Alex Kost  <alezost@gmail.com>
	    Federico Beffa  <beffa@fbengineering.ch>.

	emacs: Find autoloads in "guix.d" subdirectories.

	* emacs/guix-emacs.el (guix-emacs-find-autoloads-in-directory,
	  guix-emacs-subdirs): New functions.
	  (guix-emacs-find-autoloads): Search for autoloads in "guix.d"
	  subdirectories.
	  (guix-emacs-load-autoloads): Add subdirectories to 'load-path'.
	* emacs/guix-init.el.in: Do not add guix emacs directory to 'load-path'
	  because it will be done by 'guix-emacs-load-autoloads'.  Move
	  requiring 'guix-emacs' from the top-level to a clause for checking for
	  'guix-package-enable-at-startup'.

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

	install: Add iproute2 to the installation image.
	Fixes <http://bugs.gnu.org/21019>.
	Reported by <info@danieleparisi.me>.

	* gnu/system/install.scm (installation-os)[packages]: Add IPROUTE2.

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

	gnu: gnome-terminal: Move dconf to propagated-inputs.
	* gnu/packages/gnome.scm (gnome-terminal): Move dconf from inputs to
	  propagated-inputs.

	gnu: bash: Update to 4.3.39.
	* gnu/packages/bash.scm (%patch-series-4.3): Add patches 34-39.

	gnu: texinfo: Add procps to native-inputs to fix tests.
	* gnu/packages/texinfo.scm (texinfo)[native-inputs]: Add procps.
	  (texinfo-5, texinfo-4)[native-inputs]: Override to be empty.
	* gnu/packages/commencement.scm (texinfo-boot0)[texinfo]: Override
	  native-inputs to be empty.

	gnu: nss: Update to 3.19.2.
	* gnu/packages/gnuzilla.scm (nss): Update to 3.19.2.

2015-07-11  Paul van der Walt  <paul@denknerd.org>

	gnu: libgpg-error: Update to 1.19.
	* gnu/packages/gnupg.scm (libgpg-error): Update to 1.19.

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

	gnu: libidn: Update to 1.31.
	* gnu/packages/libidn.scm (libidn): Update to 1.31.

	gnu: texinfo: Use version 6.0 by default.
	* gnu/packages/texinfo.scm (texinfo): Update to 6.0.
	  (texinfo-6): Removed.
	  (texinfo-5): New variable.

	gnu: libunistring: Update to 0.9.6.
	* gnu/packages/libunistring.scm (libunistring): Update to 0.9.6.

	gnu: mpfr: Update to 3.1.3.
	* gnu/packages/multiprecision.scm (mpfr): Update to 3.1.3.

	gnu: ed: Update to 1.12.
	* gnu/packages/ed.scm (ed): Update to 1.12.

	gnu: gettext: Update to 0.19.5.
	* gnu/packages/patches/gettext-msgunfmt.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/gettext.scm (gnu-gettext): Update to 0.19.5.  Remove patch.

	gnu: coreutils: Update to 8.24.
	* gnu/packages/patches/coreutils-dummy-man.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/base.scm (coreutils): Update to 8.24.  Remove patch.

	gnu: gcc-4.9: Update to 4.9.3.
	* gnu/packages/gcc.scm (gcc-4.9): Update to 4.9.3.  Remove
	  "gcc-arm-link-spec-fix.patch" from patches.

	gnu: bootstrap: Create a wrapper for guile to set the system load path.
	* gnu/packages/bootstrap.scm (raw-build): After unpacking, use the bootstrap
	  guile to create its own wrapper that sets the guile system load path.

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

	tests: Skip namespace-related tests when that feature is missing.
	* tests/syscalls.scm ("clone", "setns", "pivot-root"): Skip
	  unless (user-namespace (getpid)) exists.

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

	gnu: openssl: Update to 1.0.2d.
	* gnu/packages/tls.scm (openssl): Update to 1.0.2d.

	Revert "gnu: boost: Update to 1.58.0."
	This reverts commit 16de69c950c473cc3d386cd7569bd1d6051614b6.

2015-07-10  David Thompson  <dthompson2@worcester.edu>

	gnu: Include (guix build syscalls) module in initrd/VM derivations.
	This bug was introduced in commit 85c3127.

	Thanks to Christopher Webber for reporting it.

	* gnu/syste/linux-initrd.scm (base-initrd): Include (guix build syscalls)
	  module in derivation.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.

2015-07-10  David Hashe  <david.hashe@dhashe.com>

	gnu: brasero: Update to 3.12.1, Add inputs.
	* gnu/packages/gnome.scm (brasero): Update to 3.12.1.
	  [inputs]: Add gobject-introspection, nettle, and totem-pl-parser.

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

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to dd91141.
	  [arguments]: Use 'modify-phases'.  Add 'disable-container-tests' phase.

	Revert "gnu: guix: Update snapshot."
	This reverts commit bfabd1fbb8c3b74b986147449727906f47115ec0.

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to 9f04196.

	Revert "gnu: libgpg-error: Update to 1.19."
	This reverts commit 552b98a20890905a3e756139aedf9b347a429988.

2015-07-09  Paul van der Walt  <paul@denknerd.org>

	gnu: libgpg-error: Update to 1.19.
	* gnu/packages/gnupg.scm (libgpg-error): Update to 1.19.

	gnu: pinentry: Update to 1.9.5; add input libassuan.
	* gnu/packages/gnupg.scm (pinentry): Update to 1.9.5. Add input libassuan.

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

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

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

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

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

	gnu: ncmpc: Update to 0.24.
	* gnu/packages/mpd.scm (ncmpc): Update to 0.24.

	gnu: ncmpcpp: Update to 0.6.5.
	* gnu/packages/mpd.scm (ncmpcpp): Update to 0.6.5.

	gnu: mpd-mpc: Update to 0.27.
	* gnu/packages/mpd.scm (mpd-mpc): Update to 0.27.

	gnu: mpd: Update to 0.19.10.
	* gnu/packages/mpd.scm (mpd): Update to 0.19.10.

	gnu: libmpdclient: Update to 2.10.
	* gnu/packages/mpd.scm (libmpdclient): Update to 2.10.

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

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

2015-07-09  David Thompson  <davet@gnu.org>

	gnu: system: Add Linux container file systems.
	* gnu/system/file-systems.scm (%container-file-systems): New variable.

	gnu: build: Add Linux container module.
	* gnu/build/linux-container.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* .dir-locals.el: Add Scheme indent rules for 'call-with-container', and
	  'container-excursion'.
	* tests/containers.scm: New file.
	* Makefile.am (SCM_TESTS): Add it.

2015-07-09  David Thompson  <dthompson2@worcester.edu>

	build: file-systems: Import (guix build syscalls) for non-static Guiles.
	* gnu/build/file-systems.scm: Import (guix build syscalls) when 'mount' is not
	  defined.
	* gnu/system.scm (operating-system-activation-script): Include (guix build
	  syscalls) module in derivation.

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

	gnu: preseq: Move "use-samtools-headers" phase.
	* gnu/packages/bioinformatics.scm (preseq)[arguments]: Move phase
	  "use-samtools-headers" after "enter-dir" phase.

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

	doc: Augment offloading documentation.
	* doc/guix.texi (Daemon Offload Setup): Mention that we're using lsh.  Mention
	  GUILE_LOAD_PATH settings on the target machine.  Explain that machines must
	  authorize each other.

	offload: Add 'ssh-options' field to <build-machine>.
	* guix/scripts/offload.scm (<build-machine>)[ssh-options]: New field.
	  (remote-pipe): Use it.
	  (send-files): Likewise.

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

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

	gnu: ffmpeg: Add libx264 support.
	* gnu/packages/video.scm (ffmpeg)[inputs]: Add libx264.
	  [arguments]: Add "--enable-libx264" to configure-flags.

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

2015-07-09  Andreas Enge  <andreas@enge.fr>

	gnu: libreoffice: Update to 5.0.0.2.
	* gnu/packages/libreoffice.scm (libreoffice): Update to 5.0.0.2.

	gnu: libwps: Update to 0.4.0.
	* gnu/packages/libreoffice.scm (libwps): Update to 0.4.0.

	gnu: libmwaw: Update to 0.3.5.
	* gnu/packages/libreoffice.scm (libmwaw): Update to 0.3.5.

	gnu: libetonyek: Update to 0.1.3.
	* gnu/packages/libreoffice.scm (libetonyek): Update to 0.1.3.
	  [native-inputs]: Add glm and mdds.

	gnu: mdds: Update to 0.12.1.
	* gnu/packages/boost.scm (mdds): Update to 0.12.1.

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

	gnu: Add grilo-plugins.
	* gnu/packages/gnome.scm (grilo-plugins): New variable.

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

	gnu: wpa-supplicant: Fix WPS and P2P NFC NDEF record payload length validation.
	* gnu/packages/patches/wpa-supplicant-2015-5-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/admin.scm (wpa-supplicant-light)[source]: Add patch.

2015-07-08  Andreas Enge  <andreas@enge.fr>

	gnu: boost: Update to 1.58.0.
	* gnu/packages/boost.scm (boost): Update to 1.58.0.

2015-07-08  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add preseq.
	* gnu/packages/bioinformatics.scm (preseq): New variable.
	* gnu/packages/patches/preseq-1.0.2-install-to-PREFIX.patch: New file.
	* gnu/packages/patches/preseq-1.0.2-link-with-libbam.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add them.

	gnu: samtools: Install headers.
	* gnu/packages/bioinformatics.scm (samtools)[arguments]: Add phase
	  "install-headers" to install header files.

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

	tests: Use the right identifier in tests/elpa.scm.
	* tests/elpa.scm: Change 'nil->empty' to 'ensure-list' in the whole file.

	doc: Remove extra quotes around URLs.
	* doc/guix.texi (Invoking guix import): Remove extraneous quotes around URLs.

2015-07-08  Federico Beffa  <beffa@fbengineering.ch>

	import: cabal: Make token recognition case-insensitive.
	* guix/import/cabal.scm (make-rx-matcher): Add optional parameter FLAG.
	  (is-property, is-flag, is-src-repo, is-exec, is-test-suite, is-benchmark,
	  is-lib, is-else, is-if): Make test case-insensitive.

	gnu: Add emacs-mmm-mode.
	* gnu/packages/emacs.scm (emacs-mmm-mode): New variable.

	gnu: Add emacs-auctex.
	* gnu/packages/emacs.scm: New variable.

	build: Add 'emacs-build-system'.
	* Makefile.am (MODULES): Add 'guix/build-system/emacs.scm' and
	  'guix/build/emacs-build-system.scm'.
	* guix/build-system/emacs.scm: New file.
	* guix/build/emacs-build-system.scm: New file.
	* doc/guix.texi (Build Systems): Document it.

	build: emacs-utils: Add 'emacs-byte-compile-directory'.
	* guix/build/emacs-utils.scm (emacs-byte-compile-directory): New procedure.

	import: Add 'elpa' importer.
	* guix/import/elpa.scm: New file.
	* guix/scripts/import.scm: Add "elpa" to 'importers'.
	* guix/scripts/import/elpa.scm: New file.
	* Makefile.am (MODULES): Add 'guix/import/elpa.scm' and
	  'guix/scripts/import/elpa.scm'.
	  (SCM_TESTS): Add 'tests/elpa.scm'.
	* doc/guix.texi (Invoking guix import): Document it.
	* tests/elpa.scm: New file.
	* po/guix/POTFILES.in: Add 'guix/scripts/import/elpa.scm'.

2015-07-08  David Thompson  <davet@gnu.org>

	gnu: system: Move file-system->spec to (gnu system file-systems).
	* gnu/system/linux-initrd.scm (file-system->spec): Move this...
	* gnu/system/file-systems.scm: ... to here.

	gnu: system: Move <file-system-mapping> into (gnu system file-systems).
	* gnu/system/vm.scm (<file-system-mapping>, %store-mapping): Move from here...
	* gnu/system/file-systems.scm: ...to here.
	* guix/scripts/system.scm: Import (gnu system file-systems).

	build: syscalls: Add pivot-root.
	* guix/build/syscalls.scm (pivot-root): New procedure.
	* tests/syscalls.scm ("pivot-root"): New test.

2015-07-08  David Thompson  <davet@gnu.org>

	build: syscalls: Add setns.
	* guix/build/syscalls.scm (setns): New procedure.
	* tests/syscalls.scm ("setns"): New test.

	squash: setns

2015-07-08  David Thompson  <davet@gnu.org>

	build: syscalls: Add clone.
	* guix/build/syscalls.scm (clone): New procedure.
	  (CLONE_NEWNS, CLONE_NEWUTS, CLONE_NEWIPC, CLONE_NEWUSER, CLONE_NEWPID,
	  CLONE_NEWNET): New variables.
	* tests/syscalls.scm ("clone"): New test.

2015-07-08  Cyril Roelandt  <tipecaml@gmail.com>

	gnu: python-testtools: make python-mimeparse a propagated input
	* gnu/packages/python.scm (python-testtools): move python-mimeparse from inputs
	  to propagated-inputs.

2015-07-08  David Thompson  <davet@gnu.org>

	utils: Add call-with-temporary-directory.
	* guix/utils.scm (call-with-temporary-directory): New procedure.

	build: syscalls: Add mkdtemp!
	* guix/build/syscalls.scm (mkdtemp!): New procedure.
	* tests/syscalls.scm ("mkdtemp!"): New test.

	build: syscalls: Add unmount flags.
	* guix/build/syscalls.scm (MNT_FORCE, MNT_DETACH, MNT_EXPIRE)
	  (UMOUNT_NOFOLLOW): New variables.

	build: syscalls: Add additional mount flags.
	* guix/build/syscalls.scm (MS_NOSUID, MS_NODEV, MS_NOEXEC, MS_STRICTATIME):
	  New variables.

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

	tests: Test the exit code of 'guix environment'.
	This is a followup to d2cef62.

	* tests/guix-environment.sh: Add test for the exit code.

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

	store: 'run-with-store' initializes %CURRENT-TARGET-SYSTEM to #f.
	* guix/store.scm (run-with-store): Set %CURRENT-TARGET-SYSTEM to #f.
	* tests/gexp.scm ("gexp->derivation vs. %current-target-system"): New test.

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

	gnu: cups-filters: Update to 1.0.71.
	* gnu/packages/cups.scm (cups-filters): Update to 1.0.71.

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

	gnu: zathura-{cb,ps,djvu,pdf-poppler}: Fix installation of desktop files.
	Based on a patch by Alex Kost <alezost@gmail.com>.

	* gnu/packages/pdf.scm (zathura-cb, zathura-ps, zathura-djvu)
	  (zathura-pdf-poppler)[arguments]: In make-flags, set PREFIX instead of
	  DESTDIR and adjust PLUGINDIR accordingly.

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

	gnu: libdvdnav: Update to 5.0.3.
	* gnu/packages/video.scm (libdvdnav): Update to 5.0.3.

	gnu: libdvdread: Update to 5.0.3.
	* gnu/packages/video.scm (libdvdread): Update to 5.0.3.

2015-07-07  Alex Kost  <alezost@gmail.com>

	system: Fix typo.
	* gnu/system.scm (etc-directory): Fix typo in a comment.

2015-07-07  Mathieu Lirzin  <mthl@openmailbox.org>

	Prevent Git from silently ignoring new files.
	* .gitignore: Ignore only specific files instead of the whole
	  'build-aux' directory.

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

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

	gnu: liba52: Build shared library.
	* gnu/packages/patches/liba52-enable-pic.patch,
	  gnu/packages/patches/liba52-link-with-libm.patch,
	  gnu/packages/patches/liba52-set-soname.patch,
	  gnu/packages/patches/liba52-use-mtune-not-mcpu.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/video.scm (liba52)[source]: Add patches.
	  [native-inputs]: Add autoconf, automake, and libtool.
	  [arguments]: Add "--enable-shared" to configure-flags.
	  Add 'bootstrap' phase.

2015-07-07  David Thompson  <dthompson2@worcester.edu>

	gnu: ruby: Remove custom 'rake gem' build phase from all gems.
	* gnu/packages/ruby.scm (ruby-hoe, ruby-rake-compiler,
	  ruby-net-http-persistent, ruby-minitest, ruby-minitest-sprint,
	  ruby-minitest-bacon): Remove custom 'rake gem' build phase that is now
	  handled automatically by the Ruby build system.

2015-07-07  pjotrp  <pjotr.public01@thebird.nl>

	build: ruby: Run 'rake gem' when gemspec is missing.
	* guix/build/ruby-build-system.scm (build): Run 'rake gem' when there is no
	  gemspec in the source tree.

	Co-Authored-By: David Thompson <davet@gnu.org>

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

	gnu: samtools: Update to 1.2.
	* gnu/packages/bioinformatics.scm (samtools): Update to 1.2.

2015-07-07  Andreas Enge  <andreas@enge.fr>

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

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

	gnu: icecat: Apply more libvpx-1.4 fixes.
	This is a followup to commit c803ffcb3a9d5669bf5bae62b66fa058d697545c.

	* gnu/packages/patches/icecat-libvpx-1.4.patch: Augment existing patch to
	  include fixes for content/media/encoder/VP8TrackEncoder.cpp.

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

	gnu: icecat: Fix build against libvpx 1.4.
	* gnu/packages/patches/icecat-libvpx-1.4.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/gnuzilla.scm (icecat)[source]: Add patch.

	gnu: gst-plugins-good: Disable rtprtx tests that frequently fail.
	* gnu/packages/gstreamer.scm (arguments): Add 'disable-failing-rtprtx-tests'
	  phase.

	gnu: libvpx: Update to 1.4.0.
	* gnu/packages/patches/libvpx-fix-armhf-link.patch,
	  gnu/packages/patches/libvpx-fix-ssse3-quantize.patch,
	  gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch: Remove files.
	* gnu-system.am (dist_patch_DATA): Remove them.
	* gnu/packages/video.scm (libvpx): Update to 1.4.0.  Remove patches.  Update
	  source URI.

	gnu: libwmf: Fix CVE-2006-3376, CVE-2009-1364, CVE-2015-{0848,4588,4695,4696}.
	* gnu/packages/patches/libwmf-CVE-2006-3376.patch,
	  gnu/packages/patches/libwmf-CVE-2009-1364.patch,
	  gnu/packages/patches/libwmf-CVE-2015-0848+4588+4695+4696.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/image.scm (libwmf)[source]: Add patches.

2015-07-07  Andy Patterson  <ajpatter@uwaterloo.ca>
	    Ludovic Courtès  <ludo@gnu.org>

	substitute: Avoid infinite loop when updating the substitute list.
	Reported
	at <http://lists.gnu.org/archive/html/guix-devel/2015-07/msg00119.html>.

	* guix/scripts/substitute.scm (http-multiple-get): When RESP has "Connection:
	  close", consume HEAD anyway; always call PROC to read from BODY.

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

	daemon: Flush upon '\r' when reading the substituter's stderr.
	This commit had been inadvertently reverted in 322eeb8.

	* nix/libstore/local-store.cc (LocalStore::getLineFromSubstituter):
	  Flush when the line contains '\r'.

2015-07-06  Alex Kost  <alezost@gmail.com>

	build: Generate 'AUTHORS'.
	* build-aux/generate-authors.scm: New file.
	* Makefile.am (gen-AUTHORS): New target.
	  (dist-hook, .PHONY): Add it.

2015-07-06  Andreas Enge  <andreas@enge.fr>

	gnu: libreoffice: Update to 4.4.4.3.
	* gnu/packages/libreoffice.scm (libreoffice): Update to 4.4.4.3.

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

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

	gnu: gcal: Update to 4.
	* gnu/packages/gcal.scm (gcal): Update to 4.

	gnu: gxmessage: Update to 3.4.3.
	* gnu/packages/gxmessage.scm (gxmessage): Update to 3.4.3.
	  [inputs]: Use GTK+ instead of GTK+-2.

	gnu: guile-sdl: Update to 0.5.2.
	* gnu/packages/sdl.scm (guile-sdl): Update to 0.5.2.
	  [arguments]: Augment 'fix-env-and-path' phase to modify 'test/Makefile.in'.

2015-07-05  Ricardo Wurmus  <rekado@elephly.net>

	gnu: powertabeditor: Update to 2.0.0-alpha8.
	* gnu/packages/music.scm (powertabeditor): Update to 2.0.0-alpha8.

	gnu: powertabeditor: Enable tests.
	* gnu/packages/music.scm (powertabeditor)[arguments]: Run "pte_tests" in
	  "check" phase; add phase "fix-tests".

2015-07-05  Andreas Enge  <andreas@enge.fr>

	download: Reference tls instead of renamed gnutls module.
	* guix/download.scm (gnutls-package): Use new module name tls instead
	  of gnutls.

	gnu: Add LibreSSL.
	* gnu/packages/tls.scm (libressl): New variable.

	gnu: Fix ambiguity between openssl package and license in tls module.
	* gnu/packages/tls.scm: Prefix imported licenses.

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

	gnu: icecat: Add support for WebGL, CUPS, Hunspell, startup-notification, etc.
	Also remove most bundled libraries from the source, add comments about
	libraries yet to be unbundled, explicitly link libxul.so with libraries that
	might try (and fail) to dlopen, and remove the h264parse gstreamer module from
	the blacklist.

	* gnu/packages/gnuzilla.scm (icecat)[source]: Add snippet.
	  [inputs]: Add cups, gdk-pixbuf, glib, hunspell, libcanberra, libgnome,
	  libxinerama, libxscrnsaver, mit-krb5, and startup-notification.
	  [arguments]<#:configure-flags>: add "--enable-default-toolkit=cairo-gtk2",
	  "--enable-pango", "--enable-gio", "--enable-svg", "--enable-canvas",
	  "--enable-mathml", "--enable-startup-notification", "--disable-gnomevfs",
	  "--disable-gconf", "--disable-gnomeui", and "--enable-system-hunspell".
	  Remove outdated comment about "--with-system-bz2" not being used.
	  <#:phases>: Use 'modify-phases'.  Add 'remove-h264parse-from-blacklist'
	  and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases.

2015-07-05  Andreas Enge  <andreas@enge.fr>

	gnu: Move content of openssl module into tls module.
	* gnu/packages/openssl.scm (openssl, perl-net-ssleay): Move to...
	* gnu/packages/tls.scm: ...here.
	* gnu/packages/openssl.scm: Delete file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Unregister deleted file.
	* gnu/packages/{admin.scm, bittorrent.scm, certs.scm, ci.scm,
	  cyrus-sasl.scm, databases.scm, dns.scm, ebook.scm, enlightenment.scm,
	  gnunet.scm, libreoffice.scm, links.scm, mail.scm, messaging.scm,
	  networking.scm, ntp.scm, openldap.scm, package-management.scm, pdf.scm,
	  python.scm, qt.scm, rdesktop.scm, rdf.scm, ruby.scm, ssh.scm,
	  synergy.scm, tor.scm, version-control.scm, video.scm, vpn.scm,
	  w3m.scm, web.scm, weechat.scm, xiph.scm}: Adapt module import.

	gnu: Rename module gnutls to tls.
	* gnu/packages/gnutls.scm: Rename to...
	* gnu/packages/tls.scm: ... this.  Change module name accordingly.
	* gnu/packages/{admin.scm, cups.scm, curl.scm, dc.scm, dns.scm, emacs.scm,
	  ftp.scm, gnome.scm, gnunet.scm, gnupg.scm, gsasl.scm, lynx.scm,
	  mail.scm, messaging.scm, package-management.scm, shishi.scm,
	  task-management.scm, version-control.scm, video.scm, vpn.scm,
	  webkit.scm, weechat.scm, wget.scm, wine.scm, xml.scm}: Adapt module
	  import to new name.
	* gnu-system.am (GNU_SYSTEM_MODULES): Rename gnutls module to tls.

	gnu: avidemux: Drop version 2.5.
	* gnu/packages/video.scm (avidemux-2.5): Delete variable.

2015-07-05  Ben Woodcroft  <donttrustben@gmail.com>

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

2015-07-04  Ricardo Wurmus  <rekado@elephly.net>

	gnu: shogun: Build with install RPATH.
	* gnu/packages/bioinformatics.scm (shogun)[arguments]: Add configure flag to
	  build with install RPATH.

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

	gnu: englightenment: Use https URLs.
	* gnu/packages/enlightenment.scm (efl, elementary, emotion-generic-players,
	  terminology, enlightenment): Use https instead of http since the latter
	  redirects to the former.

2015-07-04  Efraim Flashner  <efraim@flashner.co.il>

	gnu: enlightenment: Update to 0.19.5.
	* gnu/packages/enlightenment.scm (enlightenment): Update to 0.19.5.

	gnu: emotion-generic-loaders: Update to 1.14.0.
	* gnu/packages/enlightenment.scm (emotion-generic-loaders): Update
	  to 1.14.0.

	gnu: evas-generic-loaders: Update to 1.14.0.
	* gnu/packages/enlightenment.scm (evas-generic-loaders): Update
	  to 1.14.0.

	gnu: elementary: Update to 1.14.2.
	* gnu/packages/enlightenment.scm (elementary): Update to 1.14.2.

	gnu: efl: Update to 1.14.2.
	* gnu/packages/enlightenment.scm (efl): Update to 1.14.2.

2015-07-04  pjotrp  <pjotr.public01@thebird.nl>

	gnu: Add ruby-rake-compiler.
	* gnu/packages/ruby.scm (ruby-rake-compiler): New variable.

2015-07-04  Ricardo Wurmus  <rekado@elephly.net>

	gnu: eigen: Update to 3.2.5.
	* gnu/packages/algebra.scm (eigen): Update to 3.2.5.

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

	gnu: icecat: Fix CVE-2015-{2722,2724,2728,2733,2735,2736,2738,2739,2740,2743}.
	* gnu/packages/patches/icecat-CVE-2015-2722-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2722-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2724-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2724-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2724-pt3.patch,
	  gnu/packages/patches/icecat-CVE-2015-2724-pt4.patch,
	  gnu/packages/patches/icecat-CVE-2015-2728-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2728-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2733-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2733-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2735.patch,
	  gnu/packages/patches/icecat-CVE-2015-2736.patch,
	  gnu/packages/patches/icecat-CVE-2015-2738.patch,
	  gnu/packages/patches/icecat-CVE-2015-2739.patch,
	  gnu/packages/patches/icecat-CVE-2015-2740.patch,
	  gnu/packages/patches/icecat-CVE-2015-2743.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/gnuzilla.scm (icecat)[source]: Add patches.

2015-07-04  Alex Kost  <alezost@gmail.com>

	Add '.mailmap'.
	* .mailmap: New file.

	Clean up 'THANKS' and 'AUTHORS'.
	* THANKS: Add Konrad Hinsen, Cyprien Nicolas, Yakkala Yagnesh Raghava
	  and Alexander Shendi.  Remove Federico Beffa, Marek Benc, John
	  Darrington, rekado, Cyrill Schenkel and Andy Wingo because they are
	  placed in AUTHORS.  Move Amirouche Boubekki and Alex Kost to ...
	* AUTHORS: ... here.  Add Arne Babenhauserheide, Ian Denhardt, Kevin
	  Lemonnier, Mathieu Lirzin, Pierre-Antoine Rault and Ben Woodcroft.
	  Fix some names and emails.

2015-07-03  Andreas Enge  <andreas@enge.fr>

	gnu: unrtf: Fix download location.
	* gnu/packages/unrtf.scm (unrtf): Fix download location.

2015-07-03  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: r: Replace "atlas" with "openblas".
	* gnu/packages/statistics.scm (r)[inputs]: Replace "atlas" with "openblas".

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

	gnu: gnutls: Move man3 pages to "doc" output.
	* gnu/packages/gnutls.scm (gnutls)[arguments]: Add #:phases.

	gnu: qt-4: Remove reference from "out" to "doc".
	* gnu/packages/qt.scm (qt-4)[arguments]: Remove '-docdir' configure flag.
	  Add 'move-doc' phase.

	gnu: qt-4: Use a more standard directory layout.
	* gnu/packages/qt.scm (qt-4)[arguments]: Pass -datadir, -importdir,
	  -plugindir, and -translationdir.

	gnu: qt-4: Use 'modify-phases'.
	* gnu/packages/qt.scm (qt-4)[arguments]: Use 'modify-phases' instead of
	  'alist-replace'.

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

	gnu: cups-filter: Install backends and filters under lib/cups.
	This ensures that they are stripped during the 'strip' phase, thereby removing
	references to GCC and linux-libre-headers that would otherwise be found in
	debugging symbols.

	* gnu/packages/cups.scm (cups-filters)[source]: Change pkgbackenddir and
	  pkgfilterdir to $(PREFIX)/lib/cups/{filter,backend}.
	  (cups)[arguments]: Adjust accordingly.

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

	gnu: mysql: Remove unnecessary binaries.
	This saves ~42 MiB on x86_64.

	* gnu/packages/databases.scm (mysql)[arguments]: Add 'remove-extra-binaries'
	  phase.

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

	gnu: mysql: Strip references and GCC and other build-time dependencies.
	* gnu/packages/databases.scm (mysql)[arguments]: Add 'strip-extra-references'
	  phase.

	gnu: mutt: Don't retain reference to GCC.
	* gnu/packages/patches/mutt-store-references.patch: New file.
	* gnu/packages/mail.scm (mutt)[source]: Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: ghostscript: Add "doc" output.
	* gnu/packages/ghostscript.scm (ghostscript)[source](snippet): New field.
	  [outputs]: New field.
	  [arguments]: Add 'remove-doc-reference' phase.

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

	derivations: Add #:substitutable?, distinguished from #:local-build?.
	Fixes <http://bugs.gnu.org/18747>.

	* guix/derivations.scm (substitutable-derivation?): Rewrite to check for
	  "allowSubstitutes".
	  (derivation): Add #:substitutable? parameter.
	  [user+system-env-vars]: Honor it.
	  (build-expression->derivation): Add #:substitutable? and honor it.
	* guix/gexp.scm (gexp->derivation): Likewise.
	* tests/derivations.scm ("derivation-prerequisites-to-build and substitutes,
	  non-substitutable build"): Use #:substitutable? instead of #:local-build?.
	  ("substitutable-derivation?", "derivation-prerequisites-to-build and
	  substitutes, local build"): New tests.
	* guix/download.scm (url-fetch): Adjust comment.
	* guix/git-download.scm (git-fetch): Likewise.
	* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Use #:substitutable?
	  instead of #:local-build?.
	* doc/guix.texi (Derivations, G-Expressions): Adjust accordingly.

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

	Merge branch 'nix'.
	This is a squashed commit of the following:

	commit 0dccab9f417b406f5d4aedc81900fc7b2f16c9f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 2 00:30:16 2015 +0200

	    Typo

	commit 2cd28517b13524c242c7758783b0b2d8250fdded
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Jul 1 14:56:34 2015 +0200

	    Preserve supplementary groups of build users

	    The following patch is an attempt to address this bug (see
	    <http://bugs.gnu.org/18994>) by preserving the supplementary groups of
	    build users in the build environment.

	    In practice, I would expect that supplementary groups would contain only
	    one or two groups: the build users group, and possibly the “kvm” group.

	    [Changed &at(0) to data() and removed tabs - Eelco]

	commit 6e38685ef65284093df79ebe7378bac33b0e7e5d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jun 30 21:41:26 2015 +0200

	    GC: Handle ENOSPC creating/moving to the trash directory

	    Issue #564.

	commit 5e0a9ae2e25a1016389f4893a6ed6682aadcf51d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 22 15:54:55 2015 +0200

	    Use posix_fallocate to create /nix/var/nix/db/reserved

	commit 4e5ab98d6d14f8b0e3bd1d77b2f4f2354e7a49a8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 22 15:47:40 2015 +0200

	    Make /nix/var/nix/db/reserved bigger

	    Issue #564.

	commit 60bda60fc06135aa97a93301b1a9e2270768f5b3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 10 16:17:06 2015 +0200

	    Export outputPaths function

	    This is useful for the new hydra-queue-runner.

	commit 5dfea34048aa8541f20aeb2fbcd163561b609a49
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 2 22:51:33 2015 +0200

	    Use std::vector::data()

	commit 2459458bc8257734ca78cb7a2db3df20bd730ec0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 4 16:04:41 2015 +0200

	    Allow substitutes for builds that have preferLocalBuild set

	    Not substituting builds with "preferLocalBuild = true" was a bad idea,
	    because it didn't take the cost of dependencies into account. For
	    instance, if we can't substitute a fetchgit call, then we have to
	    download/build git and all its dependencies.

	    Partially reverts 5558652709f27e8a887580b77b93c705659d7a4b and adds a
	    new derivation attribute "allowSubstitutes" to specify whether a
	    derivation may be substituted.

2015-07-02  Cyril Roelandt  <tipecaml@gmail.com>

	scripts: environment: Return the exit status of the command.
	* guix/scripts/environment.scm (guix-environment): Return the exit
	  status of the command.

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

	gnu: gnupg: Enable TLS support.
	* gnu/packages/gnupg.scm (gnupg)[native-inputs]: Add pkg-config.
	  [inputs]: Add gnutls.
	  (gnupg-2.0, gnupg-1)[native-inputs]: Override inherited value to be '().

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

2015-07-02  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add WarpedLMM.
	* gnu/packages/bioinformatics.scm (python2-warpedlmm): New variable.

	gnu: r: Set default pager.
	* gnu/packages/statistics.scm (r)[arguments]: Add phase "set-default-pager" to
	  avoid "false" as a default pager.

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

	environment: Define 'GUIX_ENVIRONMENT'.
	* guix/scripts/environment.scm (create-environment): Define 'GUIX_ENVIRONMENT'.
	* doc/guix.texi (Invoking guix environment): Document it.
	* gnu/system/shadow.scm (default-skeletons): Adjust 'PS1' depending on whether
	  'GUIX_ENVIRONMENT' is defined.

	doc: Mention .bashrc vs. .bash_profile for 'guix environment'.
	* doc/guix.texi (Invoking guix environment): Add footnote about .bashrc
	  vs. .bash_profile.

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

	environment: Improve error reporting for '-l'.
	This fixes two problems:

	  1. Load errors would print an ugly backtrace.
	  2. When FILE was an absolute name, 'load' was passed an incorrect file
	     name.

	* guix/scripts/environment.scm (options/resolve-packages): Use 'load*' instead
	  of 'load'.

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

	environment: For --ad-hoc, allow users to specify an output.
	* guix/scripts/environment.scm (package+propagated-inputs): Add 'output'
	  parameter.  Use it in return value.
	  (options/resolve-packages): Use 'append-map' instead of 'map'.  For 'load'
	  and 'expression', return all the outputs of the resulting package.  For
	  'package', use 'specification->package+output' instead of
	  'specification->package'.
	  (guix-environment): Adjust uses of PACKAGES accordingly.
	* doc/guix.texi (Invoking guix environment): Document it.
	* tests/guix-environment.sh: Add test for --ad-hoc guile-bootstrap:out.

	environment: Add --system.
	* guix/scripts/environment.scm (show-help, %options): Add -s/--system.
	  (%default-options): Add 'system' pair.
	  (guix-environment): Pass 'system' value from OPTS to 'lower-inputs'.
	* doc/guix.texi (Invoking guix environment): Document it.

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

	environment: Add only the specified outputs of the dependencies.
	Before that, 'guix environment guile' (for instance) would define environment
	variables that would refer to the "include" output of Bash, the "debug" output
	of libgc, etc., even though these are not listed as inputs in the recipe of
	'guile'.

	* guix/gexp.scm (lower-inputs): Export.
	* guix/scripts/environment.scm (evaluate-input-search-paths): Remove
	  'derivations' parameter; add 'search-paths'.  Expect 'inputs' to be
	  a list of tuples.  Adjust callers.
	  (create-environment): Remove 'derivations' parameter; add 'search-paths'.
	  (show-search-paths): Likewise.
	  (package+propagated-inputs): New procedure.
	  (packages->transitive-inputs, packages+propagated-inputs): Remove.
	  (build-inputs): Expect INPUTS to be a list of derivation tuples.
	  (guix-environment): Compute INPUTS using 'package+propagated-inputs',
	  'package->bag', and 'bag-transitive-inputs'.  Move 'run-with-store' higher.
	* tests/guix-environment.sh: Add test with FINDUTILS-BOOT0.

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

	tests: Add tests for 'guix environment'.
	* tests/guix-environment.sh: New file.
	* Makefile.am (SH_TESTS): Add it.

2015-07-01  Ricardo Wurmus  <rekado@elephly.net>

	gnu: powertabeditor: Replace "gcc" with "libiberty".
	* gnu/packages/music.scm (powertabeditor)[inputs]: Replace "gcc" with
	  "libiberty".

	gnu: Add Hydrogen.
	* gnu/packages/music.scm (hydrogen): New variable.

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

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

2015-06-30  Eric Bavier  <bavier@member.fsf.org>

	gnu: git: Add inputs for send-email.
	* gnu/packages/version-control.scm (package-transitive-propagated-labels*)
	  (package-propagated-input-refs): New procedures.
	  (git)[inputs]: Add perl-authen-sasl, perl-net-smtp-ssl, and perl-io-socket-ssl.
	  [outputs]: Add send-email output.
	  [arguments]: Add #:modules argument with srfi-1.  In 'split phase, wrap
	  git-send-email.

	gnu: Add perl-authen-sasl.
	* gnu/packages/web.scm (perl-authen-sasl): New variable.

	gnu: Add perl-gssapi.
	* gnu/packages/web.scm (perl-gssapi): New variable.

	gnu: Add perl-net-smtp-ssl.
	* gnu/packages/web.scm (perl-net-smtp-ssl): New variable.

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

	gnu: curl: Disable test that fails on Hydra.
	* gnu/packages/curl.scm (arguments): Disable test 1510.

	gnu: curl: Update to 7.43.0.
	* gnu/packages/curl.scm (curl): Update to 7.43.0.

2015-06-29  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add deal.II.
	* gnu/packages/maths.scm (dealii, dealii-openmpi): New variables.
	* gnu/packages/patches/dealii-p4est-interface.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: Add SLEPc.
	* gnu/packages/maths.scm (slepc, slepc-complex, slepc-openmpi)
	  (slepc-complex-openmpi): New variables.

	gnu: Add arpack-ng-openmpi.
	* gnu/packages/maths.scm (arpack-ng-openmpi): New variable.

	gnu: petsc: Upgrade to 3.6.0.
	* gnu/packages/maths.scm (petsc): Upgrade to 3.6.0.
	* gnu/packages/patches/petsc-fix-threadcomm.patch: Delete patch.
	* gnu-system.am (dist_patch_DATA): Remove it.

	gnu: Add MUMPS.
	* gnu/packages/maths.scm (mumps, mumps-metis, mumps-openmpi)
	  (mumps-metis-openmpi): New variables.
	* gnu/packages/patches/mumps-build-parallelism.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: Add METIS.
	* gnu/packages/maths.scm (metis): New variable.

	gnu: Add p4est.
	* gnu/packages/maths.scm (p4est, p4est-openmpi): New variables.

	gnu: Add ScaLAPACK.
	* gnu/packages/maths.scm (scalapack): New variable.

	gnu: scotch, pt-scotch: Build esmumps libraries.
	* gnu/packages/maths.scm (scotch)[arguments]: Add 'build-esmumps
	  phase.  Install esmumps libraries and headers in 'install phase.
	  (pt-scotch)[arguments]: Build ptesmumps in 'build phase.  Add
	  make parallelism.

	gnu: scotch, pt-scotch: Use modify-phases.
	* gnu/packages/maths.scm (scotch, pt-scotch)[arguments]: Use modify-phases.

	gnu: Update scotch to 6.0.4.
	* gnu/packages/maths.scm (scotch): Update to 6.0.4.
	  [arguments]: Add -fPIC to CFLAGS.
	* gnu/packages/patches/scotch-test-threading.patch: Adjust patch for a
	  new set of test fixes.
	* gnu/packages/patches/pt-scotch-build-parallelism.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: openmpi: Upgrade to 1.8.5.
	* gnu/packages/mpi.scm (openmpi): Upgrade to 1.8.5.
	  [native-inputs]: Add perl.
	  [arguments]: Add configure flags for thread support.

	gnu: hwloc: Move numactl to inputs.
	* gnu/packages/mpi.scm (hwloc)[propagated-inputs]: Move numactl from here...
	  [inputs]: ...to here.
	  [arguments]: New 'refine-libnuma' phase.

	gnu: hwloc: Upgrade to 1.10.1.
	* gnu/packages/patches/hwloc-gather-topology-lstopo.patch: New patch.
	* gnu/packages/mpi.scm (hwloc): Upgrade to 1.10.1.
	  [source]: Use patch.
	  [propagated-inputs]: Remove libpci.
	  [inputs]: Add libpciaccess.
	* gnu-system.am (dist_patch_DATA): Add patch.

	gnu: python-mccabe: Fix license field.
	* gnu/packages/python.scm (python-mccabe)[license]: 'expat' ->
	  'license:expat'.

2015-06-30  Cyril Roelandt  <tipecaml@gmail.com>

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

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

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

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

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

	doc: Add 'guix environment' examples.
	* doc/environment-gdb.scm: New file.
	* doc.am (EXTRA_DIST): Add it.
	* doc/guix.texi (Invoking guix environment): Clarify wording of the first
	  example.  Add a --ad-hoc example upfront.  Add an example for '-e', and one
	  for '-l'.

2015-06-29  Ricardo Wurmus  <rekado@elephly.net>

	gnu: withershins: Use new "libiberty" package.
	* gnu/packages/code.scm (withershins)[inputs]: Replace "gcc" with "libiberty".
	   [arguments]: Simplify "find-libiberty" phase.

	gnu: Add libiberty.
	* gnu/packages/gcc.scm (make-libiberty, libiberty): New variables.

2015-06-29  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: r: Update to 3.2.1.
	* gnu/packages/statistics.scm (r): Update to 3.2.1.
	* gnu/packages/patches/r-fix-15899.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.

	gnu: Add Blast+.
	* gnu/packages/bioinformatics.scm (blast+): New variable.

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

	gnu: global: Update to 6.5.
	* gnu/packages/code.scm (global): Update to 6.5.

	gnu: help2man: Update to 1.47.1.
	* gnu/packages/man.scm (help2man): Update to 1.47.1.

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

	gnu: screen: Update to 4.3.1.
	* gnu/packages/screen.scm (screen): Update to 4.3.1.

	gnu: texinfo: Add version 6.0.
	* gnu/packages/texinfo.scm (texinfo-6): New variable.

	gnu: gcc-4.8: Update to 4.8.5.
	* gnu/packages/gcc.scm (gcc-4.8): Update to 4.8.5.

	doc: Add quote about running a monadic value.
	* doc/guix.texi (The Store Monad): Add funny quote about "running" a monadic
	  value.

2015-06-29  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add plink.
	* gnu/packages/bioinformatics.scm (plink): New variable.
	* gnu/packages/patches/plink-1.07-unclobber-i.patch: New file.

2015-06-28  Eric Bavier  <bavier@member.fsf.org>

	gnu: synergy: Upgrade to 1.7.3.
	* gnu/packages/synergy.scm (synergy)[version]: Upgrade to 1.7.3
	  [source]: Use github for source download.  Add snippet to remove
	  bundled source and binaries.
	  [inputs]: Add openssl.
	  [arguments]: Copy example configuration files to out during 'install
	  phase.

2015-06-28  Ricardo Wurmus  <rekado@elephly.net>

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

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

	gnu: Add Guitarix.
	* gnu/packages/audio.scm (guitarix): New variable.

	gnu: ardour: Update to 4.1.
	* gnu/packages/audio.scm (ardour): Update to 4.1.

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

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

	Add Claes Wallin to 'AUTHORS'.

2015-06-27  Claes Wallin  <claes.wallin@greatsinodevelopment.com>

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

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

	gnu: Refer to 'gcc' instead of 'gcc-4.9'.
	* gnu/packages/commencement.scm (gcc-boot0, cross-gcc-wrapper,
	  libstdc++, gcc-final): Refer to GCC instead of GCC-4.9.
	* gnu/packages/cross-base.scm (%xgcc): New variable.
	  (cross-gcc-arguments, cross-gcc): Refer to %XGCC instead of GCC-4.9.
	* gnu/packages/llvm.scm (clang-from-llvm): Refer to GCC instead of GCC-4.9.
	* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc,
	  %gcc-static, %gcc-stripped): Likewise.

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

2015-06-26  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

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

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

2015-06-26  Alex Kost  <alezost@gmail.com>

	emacs: Add 'guix-root-map'.
	* emacs/guix-base.el (guix-define-buffer-type): Move common key bindings
	  from here...
	  (guix-root-map): ... to here.  New variable.
	* emacs/guix-info.el (guix-info-mode-map): Use it.
	* emacs/guix-list.el (guix-list-mode-map): Use it.
	* doc/emacs.texi (Emacs Keymaps): Document it.

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

	gnu: nettle: Disable ifunc method of library initialization.
	* gnu/packages/nettle.scm (nettle)[arguments]: Add 'disable-ifunc-init-method'
	  phase.

2015-06-25  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Replace versioned gfortran inputs with just "gfortran".
	* gnu/packages/julia.scm (julia)[inputs]: Replace "gfortran-4.8" with
	  "gfortran".
	* gnu/packages/machine-learning.scm (randomjungle)[native-inputs]: Likewise.
	* gnu/packages/maths.scm (arpack-ng, lapack, petsc, superlu)
	   (superlu-dist, openblas, openspecfun, atlas)[inputs]: Likewise.
	   (octave)[native-inputs]: Likewise.
	   (gmsh)[propagated-inputs]: Likewise.
	* gnu/packages/mpi.scm (openmpi)[inputs]: Likewise.
	* gnu/packages/python.scm (python-numpy-bootstrap)[native-inputs]: Likewise.
	* gnu/packages/python.scm (python-scipy)[native-inputs]: Likewise.
	* gnu/packages/statistics.scm (r)[inputs]: Replace "gfortran-4.9" with
	  "gfortran".

	gnu: Add default GCC and default gfortran.
	* gnu/packages/gcc.scm (gcc): New variable.
	* gnu/packages/gcc.scm (gfortran): New variable.

2015-06-25  宋文武  <iyzsong@gmail.com>

	gnu: gstreamer: Add search path specification for 'GST_PLUGIN_SYSTEM_PATH'.
	This reverts commit e53fc0c8a, which add it wrongly to gst-plugins-base.

	* gnu/packages/gstreamer.scm (gstreamer)[native-search-paths]: New field.
	  (gst-plugins-base)[native-search-paths]: Remove.

2015-06-24  Cyril Roelandt  <tipecaml@gmail.com>

	import: pypi: Detect inputs.
	* guix/import/pypi.scm (python->package-name, maybe-inputs, compute-inputs,
	  guess-requirements): New procedures.
	* guix/import/pypi.scm (guix-hash-url): Now takes a filename instead of an
	  URL as input.
	* guix/import/pypi.scm (make-pypi-sexp): Now tries to generate the inputs
	  automagically.
	* tests/pypi.scm: Update the test.

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

	linux-initrd: Produce cpio archives with zeroed timestamps, etc.
	* guix/cpio.scm (file->cpio-header*): New procedure.
	* gnu/build/linux-initrd.scm (write-cpio-archive): Add #:file->header argument
	  to 'cpio:write-cpio-archive'.

	linux-initrd: Populate cpio archives in a deterministic order.
	* gnu/build/linux-initrd.scm (write-cpio-archive)[files]: Use 'sort' instead
	  of 'reverse'.

	linux-initrd: Use (guix cpio) instead of GNU cpio.
	* gnu/build/linux-initrd.scm (write-cpio-archive): Remove 'open-pipe*' and
	  related calls.  Compute list of files in 'files' variable.  Use
	  'cpio:write-cpio-archive'.  Remove #:cpio parameter.
	  (build-initrd): Remove #:cpio parameter.
	* gnu/system/linux-initrd.scm (expression->initrd): Likewise, and adjust
	  BUILDER accordingly.  Add (guix cpio) to #:modules.

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

	tests: Move 'file=?' to (guix tests).
	* tests/nar.scm (file-tree-equal?)[file=?]: Move to...
	* guix/tests.scm (file=?): ... here.  New procedure.

	gnu: pius: Depend on GnuPG 2.0 rather than 2.1.
	* gnu/packages/gnupg.scm (pius)[inputs]: Change GNUPG to GNUPG-2.0.

2015-06-24  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: julia: Use modify-phases syntax and add return values.
	* gnu/packages/julia.scm (julia)[arguments]: Use modify-phases syntax for
	  build phases and add missing return values.

	gnu: r: Use gfortran-4.9.
	* gnu/packages/statistics.scm (r)[inputs]: Replace gfortran-4.8 with
	  gfortran-4.9.

	gnu: Add gfortran 4.9.
	* gnu/packages/gcc.scm (gfortran-4.9): New variable.

2015-06-24  Ben Woodcroft  <donttrustben@gmail.com>

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

2015-06-24  宋文武  <iyzsong@gmail.com>

	gnu: screen: Install the Info manual.
	* gnu/packages/screen.scm (screen)[native-inputs]: New field.

2015-06-23  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add setBfree.
	* gnu/packages/audio.scm (setbfree): New variable.

	gnu: ftgl: Propagate "freetype".
	* gnu/packages/gl.scm (ftgl)[inputs,propagated-inputs]: Move "freetype" from
	  "inputs" to "propagated-inputs".

	gnu: faust: Remove prebuilt library in snippet.
	* gnu/packages/audio.scm (faust)[arguments]: Remove the phase
	  'remove-prebuilt-library...
	* gnu/packages/audio.scm (faust)[origin]: ...and move it here as a snippet.

2015-06-23  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: star: Update to 2.4.2a.
	* gnu/packages/bioinformatics.scm (star): Update to 2.4.2a.

	gnu: miso: Install executables.
	* gnu/packages/bioinformatics.scm (miso)[source]: Patch "setup.py" to use
	  "setuptools" so that executables are built.
	* gnu/packages/bioinformatics.scm (miso)[native-inputs]: Add "python2-mock"
	  and "python2-pytz".

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

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

	gnu: linux-libre: Update to 4.1.
	* gnu/packages/linux.scm (linux-libre): Update to 4.1.
	  [inputs]: Remove gcc-4.9, since it is now the default compiler.
	* gnu/packages/linux-libre-i686.conf, gnu/packages/linux-libre-x86_64.conf:
	  Update to 4.1 configs from <https://jxself.org/git/?p=kernel-configs.git>.

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

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

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

	system: emacs-site-file: Use 'geiser-install to load geiser.
	Suggested by Alex Kost <alezost@gmail.com>.

	* gnu/system.scm (emacs-site-file): Use 'geiser-install to load geiser
	  instead of setting 'geiser-guile-load-path' manually.

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

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

	gnu: Add clutter-gst.
	* gnu/packages/gnome.scm (clutter-gst): New variable.

	gnu: Add clutter-gtk.
	* gnu/packages/gnome.scm (clutter-gtk): New variable.

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

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

	licenses: Add the SGI Free Software License B, version 2.0.
	* guix/licenses.scm (sgifreeb2.0): New variable.

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

	gnu: sipwitch: Update to 1.9.8.
	* gnu/packages/telephony.scm (sipwitch): Update to 1.9.8.

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

	gnu: commencement: Make a few variables private.
	This removes ambiguity warnings when installing these packages.

	* gnu/packages/commencement.scm (glibc-final, gcc-final,
	  glibc-utf8-locales-final): Make private.

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

	gnu: imagemagick: Do not retain reference to "doc" output.
	* gnu/packages/imagemagick.scm (imagemagick)[arguments]: Use 'modify-phases'.
	  Add 'strip-configure-xml' phase.

	doc: Add "Application Setup" section.
	* doc/guix.texi (Application Setup): New node.

2015-06-22  Alex Kost  <alezost@gmail.com>

	emacs: Add "edit" command to a list of packages.
	* emacs/guix-base.el (guix-edit-package): New function.
	* emacs/guix-list.el (guix-list-edit-package): New command.  Bind it to
	  "e" key.
	* emacs/guix-main.scm (package-location-string): New procedure.
	* doc/emacs.texi (Emacs List buffer): Document "e" key binding.
	* doc/guix.texi (Invoking guix edit): Mention "package list" buffer.

	emacs: Simplify defining package ID in a list buffer.
	* emacs/guix-list.el: Always retrieve 'package-id' parameter for a list
	  of outputs.
	  (guix-list-current-package-id): New function.

2015-06-22  Andreas Enge  <andreas@enge.fr>

	gnu: ucommon: Update to 6.3.4.
	* gnu/packages/telephony.scm (ucommon): Update to 6.3.4.

2015-06-22  Alex Kost  <alezost@gmail.com>

	emacs: Complete 'guix size --map-file' properly.
	* emacs/guix-pcomplete.el (guix-pcomplete-complete-option-arg): Complete
	  file name for '-m/--map-file' option of 'guix size' command.

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

	size: Add '--map-file' option.
	* guix/scripts/size.scm (profile->page-map): New procedures.
	  (show-help, %options):  Add --map-file.
	  (guix-size): Honor it.
	* doc/guix.texi (Invoking guix size): Document it.
	* doc/images/coreutils-size-map.png: New file.
	* doc.am (dist_infoimage_DATA): Add it.

	nls: Update 'eo' translation.

	size: Remove unused variables.
	* guix/scripts/size.scm (ensure-store-item): Remove #:dry-run? parameter.
	  (%options): Remove 'dry-run?' variable.

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

	Merge branch 'master' into core-updates

	gnu: jemalloc: Build with gcc-4.8 on i686.
	* gnu/packages/jemalloc.scm (jemalloc)[native-inputs]: When compiling natively
	  on i686, add gcc-4.8.

	gnu: lame: Build with gcc-4.8 on i686.
	* gnu/packages/mp3.scm (lame)[native-inputs]: When compiling natively on i686,
	  add gcc-4.8.

2015-06-21  Ben Woodcroft  <donttrustben@gmail.com>

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

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

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

	gnu: totem-pl-parser: Add gobject-introspection support.
	* gnu/packages/gnome.scm (totem-pl-parser)[native-inputs]: Add
	  gobject-introspection.

	gnu: totem-pl-parser: Move glib, gmime, and libxml2 to propagated-inputs.
	* gnu/packages/gnome.scm (totem-pl-parser)[inputs]: Move glib, gmime, and
	  libxml2 to ...
	  [propagated-inputs]: ... here.

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

	gnu: gsl: Fix poly test on i686.
	* gnu/packages/patches/gsl-poly-test-fix-pt1.patch,
	  gnu/packages/patches/gsl-poly-test-fix-pt2.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/maths.scm (gsl)[source]: Add patches.

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

	gnu: gnome-doc-utils: Add python2-libxml2 to native-inputs.
	This is a followup to commit 7ce3224247d3acd559841f23d1b4b49d073b15f5.

	* gnu/packages/gnome.scm (gnome-doc-utils)[native-inputs]: Add
	  python2-libxml2.

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

	gnu: itstool: Add python2-libxml2 to propagated-inputs.
	This is a followup to commit 7ce3224247d3acd559841f23d1b4b49d073b15f5.

	* gnu/packages/glib.scm (itstool)[propagated-inputs]: Add python2-libxml2.

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

	gnu: mdadm: Add compilation fix for gcc-4.9.
	* gnu/packages/patches/mdadm-gcc-4.9-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/linux.scm (mdadm): Add patch.

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

	gnu: clang: Build without debugging symbols.
	* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Add #:build-type.

	gnu: clang: Allow 'clang' to link executables.
	* gnu/packages/patches/clang-libc-search-path.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/llvm.scm (clang-from-llvm)[source]: Use it.
	  [inputs]: Add "gcc-lib".
	  [arguments]. Add -DGCC_INSTALL_PREFIX and -DC_INCLUDE_DIRS to
	  #:configure-flags.  Add #:phases argument.

	gnu: clang: Add search path specifications.
	* gnu/packages/llvm.scm (clang-from-llvm)[native-search-paths]: New field.

	gnu: Add libstdc++ as a standalone package.
	* gnu/packages/gcc.scm (make-libstdc++): New procedure.
	  (libstdc++-4.9): New variable.
	* gnu/packages/commencement.scm (libstdc++): Add TODO comment.

2015-06-19  pjotrp  <pjotr.public01@thebird.nl>

	gnu: Add ruby 2.1.6
	* gnu/packages/ruby.scm (ruby-2.1): New variable.

2015-06-19  David Thompson  <davet@gnu.org>

	gnu: Add control group file systems.
	* gnu/system/file-systems.scm (%control-groups): New variable.
	  (%base-file-system): Include control group file systems.

2015-06-19  David Thompson  <davet@gnu.org>

	gnu: Make 'mount' interface in static Guile consistent with Guix API.
	Rather than expecting a pointer, the version of 'mount' in
	guile-static-stripped now takes a string for the 'options' argument, just like
	the 'mount' procedure in (guix build syscalls).

	* gnu/packages/patches/guile-linux-syscalls.patch (mount): Expect a string or
	  #f for 'options' argument.
	* gnu/build/file-systems.scm (mount-file-system): Use new 'mount' interface.

2015-06-19  Alex Kost  <alezost@gmail.com>

	emacs: Add completions for 'edit' and 'size' commands.
	* emacs/guix-pcomplete.el (guix-pcomplete-complete-command-arg):
	  Complete package names for 'guix edit' and 'guix size' commands.
	  (guix-pcomplete-complete-option-arg): Complete '-s/--system' option
	  for 'guix size'.

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

	gnu: unrtf: Update to 0.21.9.
	* gnu/packages/unrtf.scm (unrtf): Update to 0.21.9.
	  [source]: Add 'modules' and 'snippet' fields.
	  [arguments]: Remove.

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

	gexp: 'local-file' canonicalizes its file argument.
	Reported by Alex Kost <alezost@gmail.com>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00235.html>.

	* guix/gexp.scm (local-file): Add call to 'canonicalize-path'.
	* tests/gexp.scm ("one local file, symlink"): New test.

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

	store: Memoize 'add-to-store' based on the result of 'lstat', not 'stat'.
	* guix/store.scm (add-to-store): Change 'stat' call to 'lstat'.  Clarify
	  docstring.

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

	gexp: 'local-file' now defaults to non-recursive.
	Reported by Alex Kost <alezost@gmail.com>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00235.html>.

	* guix/gexp.scm (local-file): Change #:recursive? to default to #f.
	* tests/gexp.scm ("one local file", "gexp->derivation, local-file"): Adjust
	  calls to 'add-to-store' and 'interned-file' accordingly.

2015-06-19  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add Raul.
	* gnu/packages/audio.scm (raul): New variable.

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

	Merge branch 'master' into core-updates

2015-06-18  Ricardo Wurmus  <rekado@elephly.net>

	gnu: vamp: Update to 2.6.
	* gnu/packages/audio.scm (vamp): Update to 2.6.

	gnu: Add zita-resampler.
	* gnu/packages/audio.scm (zita-resampler): New variable.

	gnu: Add Faust.
	* gnu/packages/audio.scm (faust): New variable.

	gnu: Add Qsynth.
	* gnu/packages/audio.scm (qsynth): New variable.

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

	gnu: swig: Update to 3.0.5.
	* gnu/packages/swig.scm (swig): Update to 3.0.5.

	gnu: ocaml: Update gcc:lib input to gcc-4.9.
	* gnu/packages/ocaml.scm (ocaml)[inputs]: Use gcc:lib from gcc-4.9.

	Merge branch 'master' into core-updates

	hydra: Fix the demo OS.
	* build-aux/hydra/demo-os.scm: Don't try to import (gnu services dbus), which
	  no longer exists.  Use 'use-service-modules' and 'use-package-modules'.  Use
	  "en_US.UTF-8" as system locale.

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to 684bf7c.

	gnu: cpio: Fix symlink-bad-length test.
	* gnu/packages/patches/cpio-fix-symlink-bad-length-test.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/cpio.scm (cpio): Add patch.

2015-06-18  Ben Woodcroft  <donttrustben@gmail.com>

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

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

	Add 'guix size'.
	* guix/scripts/size.scm: New file.
	* Makefile.am (MODULES): Add it.
	  (SCM_TESTS): Add tests/size.scm.
	* doc.am (SUBCOMMANDS): Add 'size'.
	* po/guix/POTFILES.in: Add guix/scripts/size.scm.
	* tests/size.scm: New file.
	* doc/guix.texi (Packages with Multiple Outputs): Add xref to "Invoking guix
	  size".
	  (Invoking guix size): New node.
	  (Invoking guix gc): Add index for "closure" and xref to the above.
	* doc/contributing.texi (Submitting Patches): Use @enumerate for the check
	  list.  Add item about 'guix size'.

	Add 'guix edit'.
	* guix/scripts/edit.scm: New file.
	* Makefile.am (MODULES): Add it.
	* doc.am (SUBCOMMANDS): Add 'edit'.
	* doc/guix.texi (Defining Packages): Add xref to "Invoking guix edit".
	  (Invoking guix edit): New node.
	* po/guix/POTFILES.in: Add it.

	Move 'specification->package+output' to (gnu packages).
	* guix/scripts/package.scm (specification->package+output): Move to...
	* gnu/packages.scm (specification->package+output): ... here
	* guix/scripts/archive.scm (guix): Adjust accordingly.

	install: Turn off deduplication for the binary tarball.
	* gnu/build/install.scm (register-closure): Add #:deduplicate? parameter and
	  honor it.
	  (populate-single-profile-directory): Likewise.
	* gnu/system/install.scm (self-contained-tarball): Pass #:deduplicate? #f.
	  Invoke tar with --check-links.

	gnu: ocaml: Don't rely on (gnu packages commencement).
	* gnu/packages/ocaml.scm (ocaml)[inputs]: Use (canonical-package gcc-4.8)
	  instead of GCC-FINAL.

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

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to 2c04921.

2015-06-17  Mathieu Lirzin  <mthl@openmailbox.org>

	list-packages: Move to guix-artwork repository.
	In order to integrate the package list in the GuixSD website, the listing of
	packages has been moved into the website implementation.

	* build-aux/list-packages.scm: Remove file.
	* Makefile.am (EXTRA_DIST): Adapt to it.

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

	offload: Fix sorting bug in 'choose-build-machine'.
	* guix/scripts/offload.scm (choose-build-machine)[undecorate]: Return the
	  boolean result of pred instead of the best machine+slot.

2015-06-17  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: miso: Use HTTPS URL.
	* gnu/packages/bioinformatics.scm (miso)[source]: Use "https" protocol for
	  downloading the source tarball.

	gnu: bedops: Update to 2.4.14.
	* gnu/packages/bioinformatics.scm (bedops): Update to 2.4.14.

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

	gnu: Add wayland.
	* gnu/packages/freedesktop.scm (wayland): New variable.

2015-06-16  Alex Kost  <alezost@gmail.com>

	system: Rename 'sudoers' into 'sudoers-file'.
	* gnu/system.scm (<operating-system>): Rename record field.
	  (etc-directory): Rename argument.
	  (operating-system-etc-directory): Adjust accordingly.
	* doc/guix.texi (operating-system Reference): Likewise.

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

	gnu: talloc: Change source URI to use https.
	* gnu/packages/samba.scm (talloc)[source]: Change URI to use https.

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

	gnu: qt: Add more inputs.
	* gnu/packages/qt.scm (qt)[inputs]: Add cups, libmng, postgresql and unixodbc.

	gnu: Add libmng.
	* gnu/packages/image.scm (libmng): New variable.

	gnu: qt: Update to 5.4.2.
	* gnu/packages/qt.scm (qt): Update to 5.4.2.

	gnu: qt-4: Update to 4.8.7.
	* gnu/packages/qt.scm (qt-4): Update to 4.8.7.

	gnu: talloc: Update to 2.1.2.
	* gnu/packages/samba.scm (talloc): Update to 2.1.2.

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

	hydra: Remove GCC 4.7 from the core set, and add 4.9 and 5.1.
	* build-aux/hydra/gnu-system.scm (%core-packages): Remove GCC-4.7.  Add
	  GCC-4.9 and GCC-5.1.

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

	gnu: calibre: Update to 2.30.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.30.0.

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

	gnu-maintenance: Use 'home-page' as an additional hint of "GNUness".
	Reported by Rastus_Vernon on IRC.
	Fixes 'gnu-package?' for GNUcash.

	* guix/gnu-maintenance.scm (gnu-package?)[gnu-home-page?]: New procedure.  Use
	  it to determine whether PACKAGE is GNU.

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

	build: Don't build the guix-daemon man page when --disable-daemon.
	Fixes <http://bugs.gnu.org/20824>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* doc.am (dist_man1_MANS): Conditionalize doc/guix-daemon.1 on BUILD_DAEMON.

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

	gnu: libtiff: Add fixes for several CVEs.
	* gnu/packages/patches/libtiff-CVE-2012-4564.patch,
	  gnu/packages/patches/libtiff-CVE-2013-1960.patch,
	  gnu/packages/patches/libtiff-CVE-2013-1961.patch,
	  gnu/packages/patches/libtiff-CVE-2013-4231.patch,
	  gnu/packages/patches/libtiff-CVE-2013-4232.patch,
	  gnu/packages/patches/libtiff-CVE-2013-4243.patch,
	  gnu/packages/patches/libtiff-CVE-2013-4244.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8127-pt1.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8127-pt2.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8127-pt3.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8127-pt4.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8128-pt1.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8128-pt2.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8128-pt3.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8128-pt4.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8128-pt5.patch,
	  gnu/packages/patches/libtiff-CVE-2014-8129.patch,
	  gnu/packages/patches/libtiff-CVE-2014-9330.patch,
	  gnu/packages/patches/libtiff-CVE-2014-9655.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/image.scm (libtiff)[source]: Add patches.

	Merge branch 'master' into core-updates

	gnu: qemu: Add fixes for CVE-2015-{4037,4103,4104,4105,4106}.
	* gnu/packages/patches/qemu-CVE-2015-4037.patch,
	  gnu/packages/patches/qemu-CVE-2015-4103.patch,
	  gnu/packages/patches/qemu-CVE-2015-4104.patch,
	  gnu/packages/patches/qemu-CVE-2015-4105.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt1.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt2.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt3.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt4.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt5.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt6.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt7.patch,
	  gnu/packages/patches/qemu-CVE-2015-4106-pt8.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/qemu.scm (qemu-headless)[source]: Add patches.

	gnu: git: Update to 2.4.3.
	* gnu/packages/version-control.scm (git, git-manpages): Update to 2.4.3.

	gnu: ffmpeg: Update to 2.7.
	* gnu/packages/video.scm (ffmpeg): Update to 2.7.
	  [native-inputs]: Add texinfo.

	gnu: sqlite: Update to 3.8.10.2.
	* gnu/packages/databases.scm (sqlite): Update to 3.8.10.2.

2015-06-16  David Thompson  <davet@gnu.org>

	gnu: Add ruby-multipart-post.
	* gnu/packages/ruby.scm (ruby-multipart-post): New variable.

	gnu: Add ruby-slop.
	* gnu/packages/ruby.scm (ruby-slop): New variable.

	gnu: Add ruby-git.
	* gnu/packages/ruby.scm (ruby-git): New variable.

	gnu: Add ruby-minitest-bacon.
	* gnu/packages/ruby.scm (ruby-minitest-bacon): New variable.

	gnu: Add ruby-minitest-sprint.
	* gnu/packages/ruby.scm (ruby-minitest-sprint): New variable.

	gnu: Add ruby-minitest.
	* gnu/packages/ruby.scm (ruby-minitest): New variable.

	gnu: Add ruby-daemons.
	* gnu/packages/ruby.scm (ruby-daemons): New variable.

	gnu: Add ruby-net-http-persistent.
	* gnu/packages/ruby.scm (ruby-net-http-persistent): New variable.

	gnu: Add ruby-connection-pool.
	* gnu/packages/ruby.scm (ruby-connection-pool): New variable.

	gnu: Add ruby-arel.
	* gnu/packages/ruby.scm (ruby-arel): New variable.

	gnu: Add ruby-bacon.
	* gnu/packages/ruby.scm (ruby-bacon): New variable.

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

	gnu: tar: Skip tests that rely on undefined unlinkat(2) behavior.
	Fixes <http://bugs.gnu.org/20597>.
	Reported by Andrew Patterson <ajpatter@uwaterloo.ca>.

	* gnu/packages/patches/tar-skip-unreliable-tests.patch: New file.
	* gnu/packages/base.scm (tar)[source](patches): Add it.
	* gnu-system.am (dist_patch_DATA): Add it.

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

	gnu: gettext: Fix non-deterministic msgunfmt behavior.
	Suggested by Alírio Eyng <alirioeyng@gmail.com>.

	* gnu/packages/patches/gettext-msgunfmt.patch: New file.
	* gnu/packages/gettext.scm (gnu-gettext)[source]: Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-06-15  amz3  <amirouche@hypermove.net>

	gnu: Rename (gnu packages dwm) to (gnu packages suckless).
	* gnu/packages/dwm.scm: Rename this ...
	* gnu/packages/suckless.scm: ... to this.
	* gnu-system.am (GNU_SYSTEM_MODULES): Change dwm.scm to suckless.scm.

	gnu: Add st.
	* gnu/packages/dwm.scm (st): New variable.

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

	services: Remove lsh service from %DESKTOP-SERVICES.
	Suggested by Mark H Weaver and others
	at <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00227.html>.

	* gnu/services/desktop.scm (%desktop-services): Remove call to 'lsh-service'.
	* doc/guix.texi (Desktop Services): Adjust accordingly.

2015-06-15  Federico Beffa  <beffa@fbengineering.ch>

	gnu: Add haskell-mode.
	* gnu/packages/emacs.scm (haskell-mode): New variable.

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

	gnu: make-bootstrap: Build libbacktrace, required by cc1.
	Fixes <http://hydra.gnu.org/build/506982/nixlog/1/tail-reload>.

	* gnu/packages/make-bootstrap.scm (%gcc-static): Remove
	  --disable-libbacktrace.  It is needed by cc1-checksum.

2015-06-15  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: python-scikit-learn: Update to 0.16.1.
	* gnu/packages/python.scm (python-scikit-learn): Update to 0.16.1.

	gnu: orfm: Update to 0.4.1.
	* gnu/packages/bioinformatics.scm (orfm): Update to 0.4.1.

	gnu: python-scikit-learn: Use OpenBLAS instead of ATLAS.
	* gnu/packages/python.scm (python-scikit-learn)[inputs]: Replace "atlas" with
	  "openblas".
	* gnu/packages/python.scm (python-scikit-learn)[arguments]: Remove build phase
	  'set-environment-variables, which is only needed when ATLAS is used.

	gnu: python-scipy: Build with OpenBLAS and lapack.
	* gnu/packages/python.scm (python-scipy)[inputs]: Remove "atlas", add "lapack"
	  and "openblas".
	* gnu/packages/python.scm (python-scipy)[arguments]: Replace phase
	  "set-environment-variables" with "configure-openblas".

	gnu: python-numpy-bootstrap: Add lapack to inputs.
	* gnu/packages/python.scm (python-numpy-bootstrap)[inputs]: Add lapack to
	  inputs, because OpenBLAS does not include lapack functions.

2015-06-15  Ricardo Wurmus  <rekado@elephly.net>

	gnu: lv2: Update to 1.12.0.
	* gnu/packages/audio.scm (lv2): Update to 1.12.0.

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

	gnu: make-bootstrap: Update patching of gawk's configure.
	* gnu/packages/make-bootstrap.scm (%static-inputs)[gawk]: Change
	  "-export-dynamic" to "-Wl,-export-dynamic" to account for current
	  'configure' file.

	gnu: make-bootstrap: Switch to GCC 4.9.
	* gnu/packages/make-bootstrap.scm: Replace all occurrences of "gcc-4.8" with
	  "gcc-4.9".
	  (%gcc-static): Add --disable-libcilkrts, --disable-libvtv,
	  --disable-libbacktrace.

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

	gnu: screen: Update to 4.3.0.
	* gnu/packages/screen.scm (screen): Update to 4.3.0.

	gnu: openssl: Update to 1.0.2c.
	* gnu/packages/openssl.scm (openssl): Update to 1.0.2c.

	Merge branch 'master' into core-updates
	Conflicts:
		gnu/packages/commencement.scm
		gnu/packages/xml.scm

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

	gnu: gcc: Build libsanitizer's bundled libbacktrace without -Werror.
	* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Also patch
	  libsanitizer/libbacktrace/Makefile.in.

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

	gnu: openssl: Update to 1.0.2b.
	* gnu/packages/openssl.scm (openssl): Update to 1.0.2b.

	gnu: perl-net-ssleay: Disable test that fails with openssl-1.0.2b.
	* gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/openssl.scm (perl-net-ssleay): Add patch.

	gnu: python: Disable ssl test that fails with openssl-1.0.2b.
	* gnu/packages/patches/python-disable-ssl-test.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/python.scm (python): Add patch.

2015-06-14  Mathieu Lirzin  <mthl@openmailbox.org>

	doc: Move most 'HACKING' informations into the manual.
	* HACKING (Contributing): New section.
	  (Building from Git, The Perfect Setup, Coding Style, Submitting Patches):
	  Move to ...
	* doc/guix.texi (Running Guix Before It Is Installed): Likewise.
	* doc/contributing.texi: ... here. New file.
	* doc.am (EXTRA_DIST): Use it.
	* README (Installation): Adapt to it.
	* configure.ac (DOT): Likewise.

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

	ld-wrapper: Ignore .so files specified after "-plugin" for RUNPATH purposes.
	Reported by Mark H Weaver
	at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20102#58>.

	* gnu/packages/ld-wrapper.in (library-files-linked): Handle "-plugin"
	  similarly to "-dynamic-linker".

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

	gnu: guix: Wrap 'guix' so GUILE_LOAD_PATH includes the dependencies.
	* gnu/packages/package-management.scm (guix-0.8.2)[arguments]: Add
	  'wrap-program' phase.

	gnu: guix: Use 'modify-phases'.
	* gnu/packages/package-management.scm (guix-0.8.2)[arguments]: Use
	  'modify-phases' instead of 'alist-cons-before'.

2015-06-13  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add hydra.
	* gnu/packages/ci.scm: New file.
	* gnu/packages/patches/hydra-automake-1.15.patch,
	  gnu/packages/patches/hydra-disable-darcs-test.patch: New files.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add file.
	  (dist_patch_DATA): Add patches.

	gnu: Add Catalyst-Authentication-Store-DBIx-Class.
	* gnu/packages/web.scm (perl-catalyst-authentication-store-dbix-class):
	  New variable.

	gnu: Add Catalyst-Plugin-Authorization-Roles.
	* gnu/packages/web.scm (perl-catalyst-plugin-authorization-roles): New
	  variable.

	gnu: Add Set-Object.
	* gnu/packages/perl.scm (perl-set-object): New variable.

2015-06-12  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add powertabeditor.
	* gnu/packages/music.scm (powertabeditor): New variable.

	gnu: catch-framework: Update to 1.1.3.
	* gnu/packages/check.scm (catch-framework): Update to 1.1.3.

	gnu: Add rtmidi.
	* gnu/packages/audio.scm (rtmidi): New variable.

	gnu: Add pugixml.
	* gnu/packages/xml.scm (pugixml): New variable.

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

	gnu: Add withershins.
	* gnu/packages/code.scm (withershins): New variable.

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

	install: Use udev rules for device-mapper.
	Fixes <http://bugs.gnu.org/20791>.
	Reported by Benz Schenk <benz.schenk@uzh.ch>.

	* gnu/system/install.scm (installation-services): Add #:rules argument for
	  'udev-service'.

2015-06-12  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: patch: Set PATH_MAX for Hurd systems.
	* gnu/packages/patches/patch-hurd-path-max.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-06-12  Ben Woodcroft  <b.woodcroft@uq.edu.au>

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

2015-06-12  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: icedtea7: Bootstrap with GCJ.
	* gnu/packages/java.scm (icedtea7): Bootstrap with GCJ rather than compile
	  with IcedTea6.

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

	gnu: Add randomjungle.
	* gnu/packages/machine-learning.scm (randomjungle): New variable.

	gnu: Add python-libsvm.
	* gnu/packages/machine-learning.scm (python-libsvm): New variable.

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

	gnu: ngs-sdk: Update to version 1.1.1.
	* gnu/packages/bioinformatics.scm (ngs-sdk): Update to version 1.1.1.

2015-06-12  Eric Bavier  <bavier@member.fsf.org>

	gnu: ghc: Patch runtime references to /bin/sh.
	* gnu/packages/haskell.scm (ghc)[arguments]: Rename
	  'unpack-and-fix-testsuite' phase to 'unpack-testsuite-and-fix-bins'.
	  Patch source files that reference /bin/sh.

2015-06-12  Eric Bavier  <bavier@member.fsf.org>

	build-system/haskell: install config for any package that creates it.
	A Cabal package is allowed to declare an "empty" library, in an
	otherwise executable-only package, for the purpose of allowing Cabal
	to use it as a dependency for other packages.  See e.g. hspec-discover.

	* guix/build/haskell-build-system.scm (register): Unconditionally call
	  setup script with "register", and install any config file generated.

2015-06-12  Eric Bavier  <bavier@member.fsf.org>

	profiles: Process ghc conf files only once.
	A package may be listed in the manifest inputs multiple times.  Avoid
	copying ghc *.conf files twice by deleting duplicates.

	* guix/profiles.scm (ghc-package-cache-file)[conf-files]: Delete
	  duplicate manifest inputs before copying conf files.

2015-06-12  Eric Bavier  <bavier@member.fsf.org>

	profiles: Search for ghc conf files only if package db exists.
	This avoids having 'find-files' report warnings about searching in
	non-existent directories.

	* guix/profiles.scm (ghc-package-cache-file)[conf-files]: Only search
	  for *.conf files if the search directory exists.

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

	Revert "gnu: openssl: Update to 1.0.2b."
	This reverts commit 4f467e33de0b64b1afd935d14ec6a4839e03bdfc.

	gnu: openssl: Update to 1.0.2b.
	* gnu/packages/openssl.scm (openssl): Update to 1.0.2b.

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

	tests: Avoid sequence of zero expressions.
	* tests/records.scm ("define-record-type* with let* behavior"): Add missing
	  body for clause.

	records: Remove unnecessary 'begin'.
	* guix/records.scm (define-record-type*): Remove unnecessary 'begin'.

	tests: Write the random seed to the error port.
	* guix/tests.scm (random-seed): New procedure.
	  (%seed): Use it, and write the random seed to the error port.

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to a43b55f.
	  [source]: Add 'file-name' field.
	  [native-inputs]: Add HELP2MAN.

	packages: Make 'location' field innate.
	* guix/packages.scm (<package>)[location]: Add 'innate' property.
	* guix/build-system/gnu.scm (static-package): Remove 'loc' parameter and
	  'location' field.
	* gnu/packages/autotools.scm (autoconf-wrapper): Remove 'location' field.
	* gnu/packages/commencement.scm (gnu-make-boot0, diffutils-boot0, gcc-final):
	  Likewise.
	* gnu/packages/cross-base.scm (cross): Likewise.
	* gnu/packages/emacs.scm (emacs-no-x, emacs-no-x-toolkit): Likewise.
	* gnu/packages/make-bootstrap.scm (tarball-package): Likewise.
	* gnu/packages/maths.scm (petsc-complex): Likewise.

	records: Add support for 'innate' fields.
	* guix/records.scm (make-syntactic-constructor): Add #:innate parameter.
	  [record-inheritance]: Honor it.
	  [innate-field?]: New procedure.
	  (define-record-type*)[innate-field?]: New procedure.
	  Pass #:innate to 'make-syntactic-constructor'.
	* tests/records.scm ("define-record-type* & inherit & innate",
	  "define-record-type* & thunked & innate"): New tests.

	records: "options" → "properties".
	* guix/records.scm (define-record-type*): Change "options" to "properties".

	records: Factorize field property predicates.
	* guix/records.scm (define-field-property-predicate): New macro.
	  (define-record-type*)[thunked-field?, delayed-field?]: Use it.

	records: Separate default-value handling.
	* guix/records.scm (make-syntactic-constructor)[default-values]: New
	  variable.
	  [field-default-value]: New procedure.
	  Use them.

	records: Replace 'eval-when' with a proper 'define-syntax'.
	* guix/records.scm (make-syntactic-constructor): Remove enclosing
	  'eval-when'.  Turn into a 'syntax-rules' macro.

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

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

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

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

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

	gnu: inetutils: Update to 1.9.4.
	* gnu/packages/admin.scm (inetutils): Update to 1.9.4.

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

	guix build: Allow directories to be passed to --with-source.
	* guix/scripts/build.scm (package-with-source)[tarball-base-name]: Gracefully
	  handle file names that lack an extension.
	  Pass #:recursive? #t to 'download-to-store'.
	* guix/download.scm (download-to-store): Add #:recursive? parameter and pass
	  it to 'add-to-store'.
	* doc/guix.texi (Invoking guix build): Add an example of --with-source with a
	  directory.

	environment: Connect to the store after the command line has been parsed.
	* guix/scripts/environment.scm (guix-environment): Call 'parse-command-line'
	  outside of 'with-store'.  This allows things like --help to run even if the
	  daemon is not running.

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

	Merge branch 'master' into core-updates

	gnu: nettle: Update to 3.1.1.
	* gnu/packages/nettle.scm (nettle): Update to 3.1.1.

	gnu: which: Update to 2.21.
	* gnu/packages/base.scm (which): Update to 2.21.

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

	gnu: cross-base: Do not strip cross-gcc.
	Fixes a regression introduced in 9063ef0 whereby #:strip-binaries? would be
	left to #t, leading to an invalid cross-built libgcc.a (see
	<http://hydra.gnu.org/build/492479/nixlog/1/tail-reload>.)

	* gnu/packages/cross-base.scm (cross-gcc-arguments): Add #:strip-binaries? #f
	  unconditionally.  Replace 'install' phase to use "make install-strip".

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

	build: Build man pages after the corresponding code.
	* doc.am (doc/guix.1): Remove extraneous $(top_builddir)/.
	  (doc/guix-daemon.1): Fix dependency.
	  (doc/guix-$(1).1): Remove extraneous $(top_builddir)/.  Depend on the .go
	  files instead of the .scm file.  Add dependency on scripts/guix.

	daemon: Internationalize guix-daemon.
	* nix/nix-daemon/guix-daemon.cc (n_, _): New macros.
	  (guix_textdomain): New variable.
	  (doc): Use 'n_'.
	  (options): Likewise, and lowercase messages.
	  (argp): Add initializer for 'argp_domain' field.
	  (parse_opt): Use '_' for messages.
	  (main): Likewise, and add calls to 'setlocale', 'bindtextdomain', and
	  'textdomain'.
	* daemon.am (guix_daemon_CPPFLAGS): Add -DLOCALEDIR.
	* po/guix/Makevars (XGETTEXT_OPTIONS): Remove '--language' option.  Add
	  '--keyword=n_'.
	* po/guix/POTFILES.in: Add guix-daemon.cc.

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

	gnu: qemu: Add fix for CVE-2015-3209.
	* gnu/packages/patches/qemu-CVE-2015-3209.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/qemu.scm (qemu): Add patch.

	gnu: cups: Update to 2.0.3.
	* gnu/packages/cups.scm (cups): Update to 2.0.3.

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

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

	guix-register: Use C++11 range 'for' loop instead of 'foreach' macro.
	* nix/guix-register/guix-register.cc (register_validity): Use C++11 range
	  'for' loop instead of 'foreach'.

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

	guix-register: Perform deduplication even when --prefix is passed.
	Fixes <http://bugs.gnu.org/19044>.

	* nix/guix-register/guix-register.cc (register_validity): Change the (optimize
	  && prefix.empty ()) condition to just (optimize).  Change settings.nixStore
	  around the loop.  Prepend PREFIX to the argument passed to 'optimisePath'.
	* tests/guix-register.sh: Use 'guix-register -p' with duplicate files, and
	  make sure they are deduplicated on the target.  Adjust existing tests.

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

	tests: Make the daemon socket explicit in guix-register test.
	* tests/guix-register.sh: Define GUIX_DAEMON_SOCKET.  Pass it explicitly to
	  'open-connection'.

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

	guix system: init: Overwrite the items in the target store.
	Fixes <http://bugs.gnu.org/20722>.
	Reported by Eric Bavier <ericbavier@openmailbox.org>.

	* guix/scripts/system.scm (copy-item): Check whether DEST exists and remove it
	  if it does.

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

	install: Really overwrite TARGET/var/guix/profiles/system-1-link.
	* gnu/build/install.scm (populate-root-file-system): Delete system-1-link
	  under TARGET, not under /.  Use 'catch' and check for EEXIST instead of
	  (false-if-exception (delete-file ...)).

	ui: Replace the global 'symlink' binding.
	* guix/ui.scm (symlink): Set! the global symlink.

2015-06-10  Alex Kost  <alezost@gmail.com>

	doc: Add 'help2man' to HACKING.
	* HACKING: Mention 'help2man'.

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

	gnu: commencement: Remove "debug" output of GCC-FINAL.
	Fixes a regression introduced in 9063ef0.

	* gnu/packages/commencement.scm (gcc-final)[outputs]: New field.

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

	gnu: gcc: Build libbacktrace without -Werror.
	* gnu/packages/gcc.scm (gcc-4.7)[arguments] <pre-configure>: Remove -Werror
	  from libbacktrace/configure.

	gnu: gcc: Add "debug" output, debugging symbols of libraries.
	* gnu/packages/gcc.scm (gcc-4.7)[install-target]: Remove.
	  [outputs]: Add "debug".
	  [arguments]: Remove #:strip-binaries?.  Remove 'install' phase.

	gnu: gcc: Do not add -rpath=LIBDIR/lib64 to the "lib" spec.
	* gnu/packages/gcc.scm (gcc-4.7): Remove unneeded LIBDIR/lib64 from
	  GNU_USER_TARGET_LIB_SPEC.

	gnu: make-bootstrap: Adjust gawk patch to 4.1.3.
	* gnu/packages/patches/gawk-shell.patch: Update for gawk 4.1.3.

2015-06-09  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: guile-static: Use Linux syscalls only on Linux-based systems.
	* gnu/packages/patches/guile-linux-syscalls.patch: Use Linux
	  syscalls only on Linux-based systems.

2015-06-09  宋文武  <iyzsong@gmail.com>

	gnu: mysql: Update to 5.6.25.
	* gnu/packages/databases.scm (mysql): Update to 5.6.25.
	  [source]: Use 'version-major+minor'.
	  [build-system]: Change to cmake-build-system.  Adjust arguments
	  accordingly.
	  [inputs]: Add libaio.  Remove procps.  Move perl to 'native-inputs'.

2015-06-09  Federico Beffa  <beffa@fbengineering.ch>

	import: hackage: Refactor parsing code and add new options.
	* guix/import/cabal.scm: New file.
	* guix/import/hackage.scm: Update to use the new Cabal parsing module.
	* tests/hackage.scm: Update tests.
	* guix/scripts/import/hackage.scm: Add new '--cabal-environment' and '--stdin'
	  options.
	* doc/guix.texi: ... and document them.
	* Makefile.am (MODULES): Add 'guix/import/cabal.scm',
	  'guix/import/hackage.scm' and 'guix/scripts/import/hackage.scm'.
	  (SCM_TESTS): Add 'tests/hackage.scm'.

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

	gnu: Add proof-general.
	* gnu/packages/ocaml.scm (proof-general): New variable.

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

	doc: Suggest unpacking the binary tarball in /tmp.
	Suggested by Thomas Schwinge <thomas@codesourcery.com> and others.

	* doc/guix.texi (Binary Installation): Suggest unpacking in /tmp rather than /.

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

	install: Omit /root from the binary tarball.
	Suggested by Thomas Schwinge <thomas@codesourcery.com>.

	* gnu/system/install.scm (self-contained-tarball): Remove
	  "/root/.guix-profile" from the 'tar' arguments.
	* doc/guix.texi (Binary Installation): Add a step to create
	  ~root/.guix-profile.

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

	monads: Allow n-ary '>>=' expressions.
	Suggested by Federico Beffa <beffa@fbengineering.ch>.

	* guix/monads.scm (bind-syntax): New macro.
	  (with-monad): Use it instead of 'identifier-syntax'.
	* tests/monads.scm (">>= with more than two arguments"): New test.
	* doc/guix.texi (The Store Monad): Explain that there can be several MPROC.
	  Add an example.

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

	gnu: commencement: Use our Binutils as soon as possible.
	* gnu/packages/commencement.scm (binutils-boot0)[arguments]: Add
	  'add-symlinks' phase.

2015-06-08  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: sed: Set PATH_MAX for Hurd systems.
	* gnu/packages/patches/sed-hurd-path-max.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

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

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

2015-06-08  宋文武  <iyzsong@gmail.com>
	    David Hashe  <david.hashe@dhashe.com>

	gnu: evince: Update to 3.16.1, add more inputs.
	* gnu/packages/gnome.scm (evince): Update to 3.16.1.
	  [inputs]: Add djvulibre, libtiff, gnome-desktop and libsecret.

2015-06-08  宋文武  <iyzsong@gmail.com>

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

2015-06-08  Alex Kost  <alezost@gmail.com>

	doc emacs: Improve documentation on initial setup.
	Reported by ngz on #guix.

	* doc/emacs.texi (Emacs Initial Setup): Describe how to configure
	  "guix.el" in the case of binary installation and when Guix is not
	  installed.

2015-06-08  Alex Kost  <alezost@gmail.com>

	emacs: Add shell completions for "guix" command.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* emacs/guix-pcomplete.el: New file.
	* emacs.am (ELFILES): Add it.
	* doc/emacs.texi (Emacs Completions): New node.

2015-06-08  Alex Kost  <alezost@gmail.com>

	emacs: Add "memoization" code.
	* emacs/guix-utils.el (guix-memoize): New function.
	  (guix-memoized-defun): New macro.

	guix: Clean up --help messages.
	* guix/scripts/import.scm (show-help): Add newline before a list of
	  importers.
	* guix/scripts/lint.scm (show-help): Split a long description line.
	* guix/scripts/package.scm (show-help): Improve docstrings for --install
	  and --remove options.
	* guix/scripts/system.scm (show-help): Format actions the same way as
	  guix commands and importers are formatted.

2015-06-07  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: python-numpy: Build against OpenBLAS.
	* gnu/packages/python.scm (python-numpy)[inputs]: Use "openblas" instead of
	  "atlas".
	* gnu/packages/python.scm (python-numpy)[arguments]: Configure build against
	  OpenBLAS.

	Modified-By: Mark H Weaver <mhw@netris.org>

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

	Thank Thomas.

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

	doc: Explain where the number of build users comes from.
	Suggested by Thomas Schwinge <thomas@codesourcery.com>.

	* doc/guix.texi (Build Environment Setup): Explain where the number of build
	  users comes from.

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

	guix gc: Add '--verify'.
	* guix/scripts/gc.scm (show-help, %options): Add --verify.
	  (guix-gc): Handle it.
	* doc/guix.texi (Invoking guix gc): Document --verify, and move --optimize
	  description right below it.

	store: Add 'verify-store' RPC.
	* guix/store.scm (operation-id): Add 'verify-store'.
	  (verify-store): New procedure.
	  (set-build-options): Adjust comment.
	* tests/store.scm ("verify-store", "verify-store + check-contents"): New
	  tests.

	daemon: Always require a signature when importing an archive.
	* nix/nix-daemon/nix-daemon.cc (performOp): Pass true as the first argument to
	  'performOp'.

2015-06-06  Alex Kost  <alezost@gmail.com>

	guix package: Fix typo in --help message.
	* guix/scripts/package.scm (show-help): Align '--show' option properly.

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

	gnu: icecat: Update to 31.7.0-gnu1.
	* gnu/packages/patches/icecat-CVE-2015-0797.patch,
	  gnu/packages/patches/icecat-CVE-2015-2708-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2708-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2708-pt3.patch,
	  gnu/packages/patches/icecat-CVE-2015-2708-pt4.patch,
	  gnu/packages/patches/icecat-CVE-2015-2710-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2710-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2710-pt3.patch,
	  gnu/packages/patches/icecat-CVE-2015-2713-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2713-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2716.patch: Remove files.
	* gnu-system.am (dist_patch_DATA): Remove them.
	* gnu/packages/gnuzilla.scm (icecat): Update to 31.7.0-gnu1.  Remove patches.

	gnu: tor: Update to 0.2.6.8.
	* gnu/packages/tor.scm (tor): Update to 0.2.6.8.
	  [native-inputs]: Add python-2.

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

	system: 'hosts-file' is now a file-like object.
	Partly fixes <http://bugs.gnu.org/20720>.
	Reported by Alex Kost <alezost@gmail.com>.

	* gnu/system.scm (default-/etc/hosts): Change 'text-file' to 'plain-file'.
	  (maybe-file->monadic): New procedure.
	  (operating-system-etc-directory): Use it.
	* doc/guix.texi (operating-system Reference, Networking Services): Adjust
	  accordingly.

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

	system: 'sudoers' is now a file-like object.
	Partly fixes <http://bugs.gnu.org/20720>
	Reported by Alex Kost <alezost@gmail.com>.

	* gnu/system.scm (etc-directory): Change default #:sudoers value to a
	  'plain-file'.  Don't bind it.  Remove #~#$.
	  (maybe-string->file): New procedure.
	  (operating-system-etc-directory): Use it.
	  (%sudoers-specification): Use 'plain-file'.
	* doc/guix.texi (operating-system Reference): Adjust accordingly.

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

	doc: Explain "file-like objects".
	* doc/guix.texi (G-Expressions): Mention "file-like objects" and explain
	  more.

	gnu: Add magit-svn.
	* gnu/packages/emacs.scm (magit-svn): New variable.

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

	gnu: Add coq.
	* gnu/packages/ocaml.scm (coq): New variable.

	licenses: Add the Open Publication License 1.0.
	* guix/licenses.scm (opl1.0+): New variable.

	gnu: Add hevea.
	* gnu/packages/ocaml.scm (hevea): New variable.

	gnu: Add camlp5.
	* gnu/packages/ocaml.scm (camlp5): New variable.

	gnu: ocaml: Update to 4.02.1.
	* gnu/packages/ocaml.scm (ocaml)[version]: Update to 4.02.1.
	  [source]: Use 'version-major+minor'.  Use .xz tarball.
	  [home-page]: Update URI.
	  [license]: gpl2 -> lgpl2.0.
	  [inputs]: Add libx11, gcc:lib, and zlib.  Remove perl.
	  [native-inputs]: New field, with perl and pkg-config.
	  [arguments]: In #:modules, remove (srfi srfi-1), add (web server).  Use
	  'modify-phases'.  Enable parallel build.  Add 'patch-/bin/sh-references' and
	  'prepare-socket-test' phases.  Rename 'check-after-install' phase to
	  'check'.  Use 'with-directory-excursion' in 'check' phase.  Remove unused
	  keyword arguments from custom phases.

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

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

	gnu: guile-opengl: Patch dynamic-link call for 'libGLU' to glu.
	* gnu/packages/gl.scm (guile-opengl)[inputs]: Add glu.
	  [arguments]: Patch dynamic-link call for 'libGLU' to glu instead of
	  mesa in the 'patch-dynamic-link' phase.

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

	Document 'guix environment guix' in README.
	* README (Installing Guix from Guix): Replace complicated instructions with
	  'guix environment guix'.

2015-06-04  Andreas Enge  <andreas@enge.fr>
	    John Darrington  <jmd@gnu.org>

	gnu: Add LibreOffice.
	* gnu/packages/libreoffice.scm (xmlsec-src-libreoffice, libreoffice):
	  New variables.

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

	gnu: Switch to GCC 4.9 as the default cross-compiler.
	* gnu/packages/cross-base.scm: Replace all occurrences of "gcc-4.8" with
	  "gcc-4.9".

	gnu: Switch to GCC 4.9 as the default compiler.
	* gnu/packages/commencement.scm: Replace all occurrences of "gcc-4.8" with
	  "gcc-4.9".
	  (gcc-boot0)[arguments]: Add --disable-libcilkrts --disable-libvtv.

	gnu: linux-libre-headers: Do not retain reference to the bootstrap tools.
	* gnu/packages/linux.scm (linux-libre-headers)[install-phase]: Remove
	  ".install" files from the output.
	  [arguments]: Add #:allowed-references.

	gnu: findutils: Use /var as the localstatedir, for 'updatedb'.
	* gnu/packages/patches/findutils-localstatedir.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/base.scm (findutils)[source]: Use it.
	  [arguments]: Pass --localstatedir=/var.

	gnu: perl: Strip the DSOs.
	* gnu/packages/perl.scm (perl)[arguments]: Add 'make-shared-objects-writable'
	  phase.

	gnu: perl: Use 'modify-phases'.
	* gnu/packages/perl.scm (perl)[arguments]: Use 'modify-phases' instead of
	  'alist-replace'.

	gnu: gcc: Move patch upstream status in the patch itself.
	* gnu/packages/patches/gcc-arm-link-spec-fix.patch: Add bug and patch URLs.
	* gnu/packages/gcc.scm (gcc-4.8): Remove them.

	gnu: gawk: Update to 4.1.3.
	* gnu/packages/gawk.scm (gawk): Update to 4.1.3.

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

	doc: Build guix-daemon man page.
	* doc.am (doc/guix-daemon.1): New target.
	  (dist_man1_MANS): Add it.

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

	Merge branch 'nix'.
	* config-daemon.ac: Add check for sys/syscall.h, remove check
	  tr1/unordered_set.

	The nix/ part is a squashed commit of the following:

	commit e531520ddcd54903bbea0f3ce08dfbed830f40aa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jun 2 02:21:54 2015 +0200

	    Don't let unprivileged users repair paths

	commit 715478fe09a73cec70f5c6f869cac482f004596f
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon Jun 1 23:20:11 2015 +0200

	    Add a ‘verifyStore’ RPC

	    Hello!

	    The patch below adds a ‘verifyStore’ RPC with the same signature as the
	    current LocalStore::verifyStore method.

	    Thanks,
	    Ludo’.

	    >From aef46c03ca77eb6344f4892672eb6d9d06432041 Mon Sep 17 00:00:00 2001
	    From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
	    Date: Mon, 1 Jun 2015 23:17:10 +0200
	    Subject: [PATCH] Add a 'verifyStore' remote procedure call.

	commit 64a998ebcb6ebf8c11efa0a0332cce3d8f1c538e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 7 13:21:26 2015 +0200

	    Revert /nix/store permission back to 01775

	    This broke NixOS VM tests.

	    Mostly reverts 27b7b94923d2f207781b438bb7a57669bddf7d2b,
	    5ce50cd99e740d0d0f18c30327ae687be9356553,
	    afa433e58c3fe6029660a43fdc2073c9d15b4210.

	commit 44f1b1851ccf836411ca09f5ebc50fc08d92e7e8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 2 16:59:40 2015 +0200

	    Chroot builds: Provide world-readable /nix/store

	    This was causing NixOS VM tests to fail mysteriously since
	    5ce50cd99e740d0d0f18c30327ae687be9356553. Nscd could (sometimes) no
	    longer read /etc/hosts:

	    open("/etc/hosts", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)

	    Probably there was some wacky interaction between the guest kernel and
	    the 9pfs implementation in QEMU.

	commit b6ecbd266f614288db3468f9f054abea694105b1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 25 17:06:12 2015 +0100

	    addToStore(): Take explicit name argument

	commit 1f595ba474d8112e73df1ef7578014e59ebfccd0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 24 11:35:53 2015 +0100

	    Tighten permissions on chroot directories

	commit ba5888bccd2c5dfd0de73b91c3a5c18fa8c4866e
	Author: Daniel Hahler <git@thequod.de>
	Date:   Fri Mar 6 16:39:48 2015 +0100

	    Fix typos: s/the the/the/

	commit 67af480244250409c8cf41e66a4995258b8ccc9b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 23 15:41:41 2015 +0100

	    Use chroots for all derivations

	    If ‘build-use-chroot’ is set to ‘true’, fixed-output derivations are
	    now also chrooted. However, unlike normal derivations, they don't get
	    a private network namespace, so they can still access the
	    network. Also, the use of the ‘__noChroot’ derivation attribute is
	    no longer allowed.

	    Setting ‘build-use-chroot’ to ‘relaxed’ gives the old behaviour.

	    Note for Guix: unlike Nix commit 99897f6, we keep 'settings.useChroot'.

	commit 638f3675e140af1214b82ff162baadd3ef1bb6e6
	Author: Harald van Dijk <harald@gigawatt.nl>
	Date:   Fri Feb 13 16:05:49 2015 +0000

	    Use pivot_root in addition to chroot when possible

	    chroot only changes the process root directory, not the mount namespace root
	    directory, and it is well-known that any process with chroot capability can
	    break out of a chroot "jail". By using pivot_root as well, and unmounting the
	    original mount namespace root directory, breaking out becomes impossible.

	    Non-root processes typically have no ability to use chroot() anyway, but they
	    can gain that capability through the use of clone() or unshare(). For security
	    reasons, these syscalls are limited in functionality when used inside a normal
	    chroot environment. Using pivot_root() this way does allow those syscalls to be
	    put to their full use.

	commit 8ab23f2924b70ac572ad0bcf950b4649361bfae2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 3 18:56:47 2015 +0100

	    Simplify parseHash32

	commit 70c3d2f1767a724db1e66d137a1d6b4cdee00738
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 3 18:35:11 2015 +0100

	    Simplify printHash32

	commit 7a7a15877f8f391a8a8a74f7a6e919a07dc19237
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 8 16:59:22 2015 +0100

	    Doh^2

	commit 8c94a864d806647736410326d496a8d668109f5a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 8 16:49:31 2015 +0100

	    Doh

	commit 35605c4407a677752ed51a0f829cc0f42047b115
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 8 16:39:07 2015 +0100

	    Set /nix/store permission to 1737

	    I.e., not readable to the nixbld group. This improves purity a bit for
	    non-chroot builds, because it prevents a builder from enumerating
	    store paths (i.e. it can only access paths it knows about).

	commit 0b9c4a8b80b199ce82ca5bd08ed24b8d5d5c71f5
	Author: aszlig <aszlig@redmoonstudios.org>
	Date:   Fri Jan 2 03:45:47 2015 +0100

	    libutil: Limit readLink() error to only overflows.

	    Let's not just improve the error message itself, but also the behaviour
	    to actually work around the ntfs-3g symlink bug. If the readlink() call
	    returns a smaller size than the stat() call, this really isn't a problem
	    even if the symlink target really has changed between the calls.

	    So if stat() reports the size for the absolute path, it's most likely
	    that the relative path is smaller and thus it should also work for file
	    system bugs as mentioned in 93002d69fc58c2b71e2dfad202139230c630c53a.

	    Signed-off-by: aszlig <aszlig@redmoonstudios.org>
	    Tested-by: John Ericson <Ericson2314@Yahoo.com>

	commit 0fed5fde65e4a0cd600dc181e5b3c42d1147df51
	Author: aszlig <aszlig@redmoonstudios.org>
	Date:   Fri Jan 2 03:27:39 2015 +0100

	    libutil: Improve errmsg on readLink size mismatch.

	    A message like "error: reading symbolic link `...' : Success" really is
	    quite confusing, so let's not indicate "success" but rather point out
	    the real issue.

	    We could also limit the check of this to just check for non-negative
	    values, but this would introduce a race condition between stat() and
	    readlink() if the link target changes between those two calls, thus
	    leading to a buffer overflow vulnerability.

	    Reported by @Ericson2314 on IRC. Happened due to a possible ntfs-3g bug
	    where a relative symlink returned the absolute path (st_)size in stat()
	    while readlink() returned the relative size.

	    Signed-off-by: aszlig <aszlig@redmoonstudios.org>
	    Tested-by: John Ericson <Ericson2314@Yahoo.com>

	commit 7dfd3f5c8f1fd1e47a737fdb3be9255000862ddb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Dec 14 01:51:14 2014 +0100

	    Pedantry

	commit 45a145c8b2b60d8500ad9bbb7fed226c46af0d7e
	Author: Marko Durkovic <marko@miding.de>
	Date:   Tue Dec 9 12:16:27 2014 +0100

	    Explicitly include required C headers

	commit 66d086cc26c55bf317184b08dd8e04c9736c9514
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Dec 13 16:54:40 2014 +0100

	    Better error message

	commit b499d2efbfbe83c4683e2c778494541937c816f3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 12 17:14:28 2014 +0100

	    Silence some warnings on GCC 4.9

	commit 159b7103a7331db16f5db93e146217659e546cd8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 12 15:10:02 2014 +0100

	    Shut up a Valgrind warning

	commit 7930b2cb76d3d2f9874f99502f10114c9a413b08
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 12 15:01:16 2014 +0100

	    Fix some memory leaks

	commit 5c84e4950d8504e386fc1f454fb4653993a8fbea
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 12 14:35:44 2014 +0100

	    Ensure we're writing to stderr in the builder

	    http://hydra.nixos.org/build/17862041

	commit ccade8c120c53d56863aeda27bcd2f1f484779cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 12 14:01:14 2014 +0100

	    Get rid of unnecessary "interrupted by the user" message with -vvv

	commit 8d9a0be27880d690e8045d27ea2ff5edad967750
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 12 12:39:50 2014 +0100

	    Remove tabs

	commit 1f8456ff13dadb96c8540df240505a2d01a22f6c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Aug 21 15:31:43 2014 +0200

	    Use PR_SET_PDEATHSIG to ensure child cleanup

	commit 909f1260e269e354c86c833ffb4ca27c9fb135f4
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Jun 3 17:45:32 2015 +0200

	    Rename 'initChild' to 'runChild'.

	    This is similar to commit b5ed5b6 in upstream Nix.

	commit 3bfa70b7963e12be346900e64ae45fa019850675
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 10 13:53:04 2014 +0100

	    Don't wait for PID -1

	    The pid field can be -1 if forking the substituter process failed.

	commit 5241aec531e9c9a4b2dd5e5b6ee3f07ff049d9a5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 24 16:48:04 2014 +0100

	    Build derivations in a more predictable order

	    Derivations are now built in order of derivation name, so a package
	    named "aardvark" is built before "baboon".

	    Fixes #399.

	commit 9f355738e106f4ca49bba7276e8d520a2fc2955d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 24 16:44:35 2014 +0100

	    Don't create unnecessary substitution goals for derivations

	commit 554eaf5e8c82ddd6a42e4301f6d3dd5419c04060
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Nov 19 18:02:39 2014 +0100

	    Disable vacuuming the DB after garbage collection

	    Especially in WAL mode on a highly loaded machine, this is not a good
	    idea because it results in a WAL file of approximately the same size
	    ad the database, which apparently cannot be deleted while anybody is
	    accessing it.

	commit 4eb62b5230c29e2f6ab17352439521083846c259
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Nov 19 17:09:27 2014 +0100

	    nix-daemon: Call exit(), not _exit()

	    This was preventing destructors from running. In particular, it was
	    preventing the deletion of the temproot file for each worker
	    process. It may also have been responsible for the excessive WAL
	    growth on Hydra (due to the SQLite database not being closed
	    properly).

	    Apparently broken by accident in
	    8e9140cfdef9dbd1eb61e4c75c91d452ab5e4a74.

	commit f160a30d5612506de41a8206a57eccee1cd85fb7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Nov 19 17:07:29 2014 +0100

	    Clean up temp roots in a more C++ way

	commit a64744477d95e6932ae0fefc7cc358b56b8c397f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 17 01:00:39 2014 +0100

	    Fix message

	commit b73de6e49b64d01974649a1e67a77113b768c2b1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 14 14:16:20 2014 +0100

	    Don't use ADDR_LIMIT_3GB

	    This gives 32-bit builds on x86_64-linux more memory.

	commit e0825bd36b43f3c1d408745a9c61f92fdaf7dace
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Nov 12 11:35:53 2014 +0100

	    Make ~DerivationGoal more reliable

	commit 86b9e6d4575e5c93f428b8563ae259f0f4014173
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 4 10:41:29 2014 +0100

	    nix-store --gc: Don't warn about missing manifests directory

	commit 1129a982c4e77ff465fd6102627477900af2f7f4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 31 09:36:09 2014 +0100

	    Improve error message if the daemon worker fails to start

	commit bed17f40fce27e1a31f70957b1d0dd912b58700d
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Oct 20 12:15:50 2014 -0400

	    Fix build on gcc < 4.7

	commit ee8601cac4b353e551b238f546a0e7e8fcdcd3be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 14 10:51:19 2014 +0200

	    Improved error message when encountering unsupported file types

	    Fixes #269.

	commit c2b65dd197a1b2e14d517b0b5ff307b149538917
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 3 22:37:51 2014 +0200

	    Remove some duplicate code

	commit c95742283595cb01b44ddc8e6ff5e9c1d66db444
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 3 16:53:28 2014 +0200

	    createDirs(): Handle ‘path’ being a symlink

	    In particular, this fixes "nix-build -o /tmp/result" on Mac OS X
	    (where /tmp is a symlink).

	commit 6092a48603ea7888f8a1f69db87835bc339c973a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 25 18:45:43 2014 +0200

	    nix-daemon: Close unnecessary fd

	commit e74390a16f74233283572661f64ed4f03ae1650d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 19 15:07:22 2014 +0200

	    Remove bogus comment

	commit e63c8aaa0511d1d0a5487c45dec9f8cbd66b4cc6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 17 17:21:13 2014 +0200

	    On Linux, disable address space randomization

	commit 55939b1a4b34b904eedba90ac6c14efc6258f40d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 17 15:18:13 2014 +0200

	    Settings: Add bool get()

	commit 6621195e48f8e0cbbe6e19dbcde30bd8a7da0399
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon Sep 1 22:21:42 2014 +0200

	    Add an 'optimiseStore' remote procedure call.

	commit 3bb89c3a31b9cf6e056f3659389e2d2e7afd17fa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Aug 28 18:57:13 2014 +0200

	    Add disallowedReferences / disallowedRequisites

	    For the "stdenv accidentally referring to bootstrap-tools", it seems
	    easier to specify the path that we don't want to depend on, e.g.

	      disallowedRequisites = [ bootstrapTools ];

	commit abd9d61e6201ddbde3305dd27c286e883e950bec
	Author: Gergely Risko <errge@nilcons.com>
	Date:   Wed Aug 27 16:46:02 2014 +0200

	    Introduce allowedRequisites feature

	commit 8c766e48d5c4741b63a4f24dc91138f587c04a5a
	Author: Joel Taylor <me@joelt.io>
	Date:   Thu Aug 21 14:06:49 2014 -0700

	    fix disappearing bash arguments

	commit d4e7c195fabf0f24c2ffbd4ca8f189489bbbf44d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 19 17:44:59 2014 +0200

	    Make hook shutdown more reliable

	commit ea837e470f70900481d00b0d1cd73e6855c4f70d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 18 11:35:50 2014 +0200

	    Doh

	commit 790271559cb8b36cd8fcdc533f41be88ec15ad08
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 17 19:11:50 2014 +0200

	    Reduce verbosity

	commit 3f6d4f63ec0d1d6cfc3233998b7dd9608b2f6ff3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 17 19:09:03 2014 +0200

	    Propagate remote timeouts properly

	commit aa98ba506739b885b3ce0b392dade5e1e1bb07f7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 13 17:44:41 2014 +0200

	    Use regular file GC roots if possible

	    This makes hydra-eval-jobs create roots as regular files. See
	    1c208f2b7ef8ffb5e6d435d703dad83223a67bd6.

	commit 5fe5ff77800c2911c011f582d8dfa90c44d4a3a5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 5 16:41:42 2014 +0200

	    Remove unnecessary call to addTempRoot()

	commit 1820845c44c8cbe1121e78d5f16e7778532477f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 5 10:19:57 2014 +0200

	    Doh

	commit e9070bf4226b225a0b42798b20ea3947abf58a6f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 4 18:13:14 2014 +0200

	    Move some options out of globals

	commit 31909515634d74e4c3d92be6186c5c48244582ae
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 4 18:02:29 2014 +0200

	    Refactor

	commit f530ee6f356f4299ca343dde7f4c0742300ffa08
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 4 18:00:00 2014 +0200

	    Add option ‘build-extra-chroot-dirs’

	    This is useful for extending (rather than overriding) the default set
	    of chroot paths.

	commit 75f746f018e34868b8057bed87c90d2cbe2c0b6c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 4 17:27:45 2014 +0200

	    Get rid of "killing <pid>" message for unused build hooks

	commit 42c6246f674ca2d5ea166d1ae676b7087ea1b0d8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 19:38:21 2014 +0200

	    Remove ugly hack for detecting build environment setup errors

	commit b732ffd28ddf50d3150e4f276a0e8488e38eaacb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 19:29:03 2014 +0200

	    Call commonChildInit() before doing chroot init

	    This ensures that daemon clients see error messages from the chroot
	    setup.

	commit c51374c128cbe1f06acd95ba2d627a118a95aabf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 17:30:51 2014 +0200

	    Eliminate redundant copy

	commit 666c9b7108e460f0d3450015a3379bfeb3e3a497
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 17:20:25 2014 +0200

	    findRoots(): Prevent a call to lstat()

	    This means that getting the roots from /nix/var/nix/.../hydra-roots
	    doesn't need any I/O other than reading the directory.

	commit 82d463d9cacbf2a93b95ab5313567d593fd00d02
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 16:37:47 2014 +0200

	    Make readDirectory() return inode / file type

	commit a98fa2d9e2b06e2561330c5ef845ffaf131e95ac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 16:46:01 2014 +0200

	    Allow regular files as GC roots

	    If a root is a regular file, then its name must denote a store
	    path. For instance, the existence of the file

	      /nix/var/nix/gcroots/per-user/eelco/hydra-roots/wzc3cy1wwwd6d0dgxpa77ijr1yp50s6v-libxml2-2.7.7

	    would cause

	      /nix/store/wzc3cy1wwwd6d0dgxpa77ijr1yp50s6v-libxml2-2.7.7

	    to be a root.

	    This is useful because it involves less I/O (no need for a readlink()
	    call) and takes up less disk space (the symlink target typically takes
	    up a full disk block, while directory entries are packed more
	    efficiently). This is particularly important for hydra.nixos.org,
	    which has hundreds of thousands of roots, and where reading the roots
	    can take 25 minutes.

	commit 4ab4b0c109734bd6e265ca5f1b6415c31c03ab11
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 24 00:00:53 2014 +0200

	    Remove some dead code

	commit 1cffdf5847b065183c9aac86df3a9578020e6712
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 23 19:43:46 2014 +0200

	    nix-daemon: Less verbosity

	commit bb07dfe96f0d07aa18db385d3ec93b24b5568213
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 23 19:37:40 2014 +0200

	    nix-daemon: Simplify stderr handling

	commit 766481d606e4b1860307692d6a44723983662d45
	Merge: c69944c fdee1ce
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon May 11 17:04:26 2015 +0200

	    Merge commit 'fdee1ced43fb495d612a29e955141cdf6b9a95ba' into nix

	commit c69944c511b89d3fdbffe00353e27d1e1c5f670c
	Merge: a1dd396 8e9140c
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed May 6 23:22:04 2015 +0200

	    Merge commit '8e9140cfdef9dbd1eb61e4c75c91d452ab5e4a74' into nix

	    Conflicts:
	    	Makefile.config.in
	    	configure.ac
	    	dev-shell
	    	doc/manual/builtins.xml
	    	doc/manual/conf-file.xml
	    	doc/manual/local.mk
	    	doc/manual/nix-instantiate.xml
	    	doc/manual/nix-store.xml
	    	doc/manual/writing-nix-expressions.xml
	    	misc/emacs/nix-mode.el
	    	perl/lib/Nix/CopyClosure.pm
	    	release.nix
	    	scripts/nix-build.in
	    	scripts/nix-copy-closure.in
	    	src/download-via-ssh/download-via-ssh.cc
	    	src/libexpr/common-opts.cc
	    	src/libexpr/common-opts.hh
	    	src/libexpr/eval.cc
	    	src/libexpr/eval.hh
	    	src/libexpr/local.mk
	    	src/libexpr/nixexpr.cc
	    	src/libexpr/nixexpr.hh
	    	src/libexpr/parser.y
	    	src/libexpr/primops.cc
	    	src/libexpr/symbol-table.hh
	    	src/libmain/shared.cc
	    	src/libstore/local.mk
	    	src/nix-env/nix-env.cc
	    	src/nix-instantiate/nix-instantiate.cc
	    	src/nix-store/local.mk
	    	src/nix-store/nix-store.cc
	    	src/nix-store/serve-protocol.hh
	    	tests/lang.sh
	    	tests/lang/eval-okay-context.nix
	    	tests/lang/eval-okay-search-path.exp
	    	tests/lang/eval-okay-search-path.nix
	    	tests/local.mk
	    	tests/nix-copy-closure.nix

	commit a1dd396cc02922372314c35c8035a38bfeea08df
	Merge: 0a75126 8d5f472
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Sun Jan 4 23:01:14 2015 +0100

	    Merge commit '8d5f472f2c49c79a0d3ae2e506f4d4d76224b328' into nix

	    Conflicts:
	    	.gitignore
	    	Makefile
	    	doc/manual/installation.xml
	    	doc/manual/introduction.xml
	    	doc/manual/local.mk
	    	doc/manual/manual.xml
	    	doc/manual/nix-collect-garbage.xml
	    	doc/manual/nix-env.xml
	    	doc/manual/nix-install-package.xml
	    	doc/manual/nix-store.xml
	    	doc/manual/quick-start.xml
	    	doc/manual/release-notes.xml
	    	local.mk
	    	misc/emacs/nix-mode.el
	    	mk/functions.mk
	    	mk/install.mk
	    	mk/lib.mk
	    	mk/libraries.mk
	    	mk/patterns.mk
	    	mk/programs.mk
	    	nix.spec.in
	    	release.nix
	    	scripts/install-nix-from-closure.sh
	    	scripts/nix-build.in
	    	src/libexpr/eval-inline.hh
	    	src/libexpr/eval.cc
	    	src/libexpr/eval.hh
	    	src/libexpr/get-drvs.cc
	    	src/libexpr/nixexpr.cc
	    	src/libexpr/nixexpr.hh
	    	src/libexpr/parser.y
	    	src/libexpr/primops.cc
	    	src/libstore/local.mk
	    	src/nix-daemon/local.mk
	    	src/nix-env/nix-env.cc
	    	src/nix-env/user-env.cc
	    	src/nix-instantiate/nix-instantiate.cc
	    	src/nix-store/nix-store.cc
	    	tests/init.sh
	    	tests/nix-copy-closure.nix
	    	tests/remote-builds.nix
	    	version

	commit 0a751260ae54bb37ae33e0f4fc3bcda2a4ea3ceb
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Dec 17 11:10:25 2014 +0100

	    nix: Adjust code for Guix.

	    * nix/libstore/gc.cc (addAdditionalRoots): Refer to 'list-runtime-roots'
	      instead of 'find-runtime-roots.pl'.
	    * nix/libutil/hash.cc, nix/libutil/hash.hh: Change 'union Ctx' to
	      'struct Ctx', like 'nix/sync-with-upstream' did.
	    * nix/AUTHORS: New file.
	    * nix/COPYING: New file, from upstream Nix.
	    * nix/libutil/md32_common.h, nix/libutil/md5.c, nix/libutil/md5.h,
	      nix/libutil/sha1.c, nix/libutil/sha1.h, nix/libutil/sha256.c,
	      nix/libutil/sha256.h: Remove.

	commit d4e18b05e0ab149265d3d09ae017d7337fc4176f
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Dec 17 10:44:19 2014 +0100

	    Keep only libstore, nix-daemon, and related stuff.

	commit fdee1ced43fb495d612a29e955141cdf6b9a95ba
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 23 19:11:26 2014 +0200

	    startProcess: Make writing error messages from the child more robust

	commit 5989966ed3bd58cd362aed8cba6cd5c90b380a32
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 23 14:46:28 2014 +0200

	    Remove dead code

	commit ee3c5d7916b48d0c3b1cc08044e27209c14acfdc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jul 19 02:25:47 2014 +0200

	    Revert old useBuildHook behaviour

	commit 2e77bd70faee34cb2518529318a54b39f2d9143e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 18 12:54:30 2014 +0200

	    Better fix for strcasecmp on Darwin

	commit f609eec71a25a9bb8c32dd9620b7deb88633a22a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 18 00:01:06 2014 +0200

	    Bump

	commit 8ddffe7aac414756809f43732effb8951858243b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 17 23:57:17 2014 +0200

	    Ugly hack to fix building on old Darwin

	    http://hydra.nixos.org/build/12580878

	commit 049c0eb49c621ae50f49c8a06dc6c3a9839ef388
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 17 16:57:07 2014 +0200

	    nix-daemon: Add trusted-users and allowed-users options

	    ‘trusted-users’ is a list of users and groups that have elevated
	    rights, such as the ability to specify binary caches. It defaults to
	    ‘root’. A typical value would be ‘@wheel’ to specify all users in the
	    wheel group.

	    ‘allowed-users’ is a list of users and groups that are allowed to
	    connect to the daemon. It defaults to ‘*’. A typical value would be
	    ‘@users’ to specify the ‘users’ group.

	commit 0c730887c4ec4a03fb854490e422c134a1bf8139
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 17 15:49:33 2014 +0200

	    nix-daemon: Show name of connecting user

	commit 77c972c898b325997fa2f527264a9706f1e414a5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 17 15:41:11 2014 +0200

	    nix-daemon: Only print connection info if we have SO_PEERCRED

	commit 8f72e702a114458e92f644160950344a7bf7166a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 17 15:23:31 2014 +0200

	    nix-daemon: Fix compat with older clients

	commit 2304a7dd21639959dc4bcafa3e17374cc087cd0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 16:32:26 2014 +0200

	    Get rid of a compiler warning

	commit 985f1595fe9f61095c7bc94b49be1179811ec630
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 16:30:50 2014 +0200

	    Be more strict about file names in NARs

	commit 276a40b31f631c188d6dcbdf603a738e1380ff74
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 16:02:05 2014 +0200

	    Handle case collisions on case-insensitive systems

	    When running NixOps under Mac OS X, we need to be able to import store
	    paths built on Linux into the local Nix store. However, HFS+ is
	    usually case-insensitive, so if there are directories with file names
	    that differ only in case, then importing will fail.

	    The solution is to add a suffix ("~nix~case~hack~<integer>") to
	    colliding files. For instance, if we have a directory containing
	    xt_CONNMARK.h and xt_connmark.h, then the latter will be renamed to
	    "xt_connmark.h~nix~case~hack~1". If a store path is dumped as a NAR,
	    the suffixes are removed. Thus, importing and exporting via a
	    case-insensitive Nix store is round-tripping. So when NixOps calls
	    nix-copy-closure to copy the path to a Linux machine, you get the
	    original file names back.

	    Closes #119.

	commit bb65460feb265be4d938c7dc724a76ef41a8bfaf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 11:19:12 2014 +0200

	    Make dev-shell script work on Darwin

	commit de8be7c3e06b52c313e0b452b641ad5f90dca2fe
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 11:16:54 2014 +0200

	    Install systemd and Upstart stuff only on Linux

	commit 048be62484537633e2523dd4d200619649ff860d
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Jul 16 01:11:24 2014 -0400

	    Pass *_proxy vars to bootstrap fetchurl

	commit a2c85b2ef85a34bf8e5238c315a4ca73606f5ae6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 11:09:01 2014 +0200

	    Manual: Typo

	commit 5bcb98271103c6c2ca3b993d8b1b0eb9eadcbc1c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 14 12:39:33 2014 +0200

	    Remove cruft

	commit fa13d3f4f3d8fb6dc3e3fc87ac5a2e26d8b32d84
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 14 12:19:27 2014 +0200

	    build-remote.pl: Fix building multiple output derivations

	    We were importing paths without sorting them topologically, leading to
	    "path is not valid" errors.

	    See e.g. http://hydra.nixos.org/build/12451761

	commit b2e0293f022123b11759dfd498d4eff72233d3f7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jul 12 00:43:28 2014 +0200

	    build-remote.pl: Don't keep a shell process around

	commit a00a98548e994d1ea258e14793c7bcd8ea56cfdf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jul 12 00:09:43 2014 +0200

	    build-remote.pl: Fix build log

	commit 838138c5c4d21a207f3579c4f743698bd6dbb6b1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 11 16:20:12 2014 +0200

	    Fix test

	commit a5c6347ff06ba09530fdf0e01828aaec89f6ceb6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 11 16:02:19 2014 +0200

	    build-remote.pl: Use ‘nix-store --serve’ on the remote side

	    This makes things more efficient (we don't need to use an SSH master
	    connection, and we only start a single remote process) and gets rid of
	    locking issues (the remote nix-store process will keep inputs and
	    outputs locked as long as they're needed).

	    It also makes it more or less secure to connect directly to the root
	    account on the build machine, using a forced command
	    (e.g. ‘command="nix-store --serve --write"’). This bypasses the Nix
	    daemon and is therefore more efficient.

	    Also, don't call nix-store to import the output paths.

	commit b8f24f253527e1cb071785c3b2d677ed2f734ab1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 11 14:27:17 2014 +0200

	    Fix closure size display

	commit e196eecbe6552d5afed89ad480544c90cf959922
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 11 13:55:06 2014 +0200

	    Allow $NIX_BUILD_HOOK to be relative to Nix libexec directory

	commit d0eb970fb4d3b5c347506b77f9657fc5eb6229e2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 21:48:21 2014 +0200

	    Fix broken Pid constructor

	commit edbfe2232e275a9e6c10cd8eb4dc36ca992af084
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 21:30:22 2014 +0200

	    Replace message "importing path <...>" with "exporting path <...>"

	    This causes nix-copy-closure to show what it's doing before rather
	    than after.

	commit 42d91b079c5d0b468663511e7b2a8e2f4048c475
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 21:14:34 2014 +0200

	    Fix use of sysread

	commit 7bb632b02464febd8806ef4bd3fa0ac107f52650
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 20:43:04 2014 +0200

	    nix-copy-closure -s: Do substitutions via ‘nix-store --serve’

	    This means we no longer need an SSH master connection, since we only
	    execute a single command on the remote host.

	commit 7c3a5090bff4e9cfe70f1d89619563b55af13d89
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 17:44:18 2014 +0200

	    nix-copy-closure: Fix --dry-run

	commit 43b64f503844a66c344780a11289678a001572db
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 17:32:21 2014 +0200

	    Remove tabs

	commit 8e9140cfdef9dbd1eb61e4c75c91d452ab5e4a74
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 16:50:51 2014 +0200

	    Refactoring: Move all fork handling into a higher-order function

	    C++11 lambdas ftw.

	commit 1114c7bd57bcab16255d5db5e6f66ae8dece7b1e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 14:15:12 2014 +0200

	    nix-copy-closure: Restore compression and the progress viewer

	commit 7911e4c27a0020a61ace13cfdc44de4af02f315e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 23 09:15:35 2014 -0400

	    Remove maybeVfork

	commit 04170d06bf7d17f882c01d3ab98885e0f3e46d2f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 11:51:22 2014 +0200

	    nix-copy-closure: Fix race condition

	    There is a long-standing race condition when copying a closure to a
	    remote machine, particularly affecting build-remote.pl: the client
	    first asks the remote machine which paths it already has, then copies
	    over the missing paths. If the garbage collector kicks in on the
	    remote machine between the first and second step, the already-present
	    paths may be deleted. The missing paths may then refer to deleted
	    paths, causing nix-copy-closure to fail. The client now performs both
	    steps using a single remote Nix call (using ‘nix-store --serve’),
	    locking all paths in the closure while querying.

	    I changed the --serve protocol a bit (getting rid of QueryCommand), so
	    this breaks the SSH substituter from older versions. But it was marked
	    experimental anyway.

	    Fixes #141.

	commit 2c3a8f787ba9da49feafdec4022534184e0a96a3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 11:46:01 2014 +0200

	    Fix security hole in ‘nix-store --serve’

	    Since it didn't check that the path received from the client is a
	    store path, the client could dump any path in the file system.

	commit 66dbc0fdeebf509c5d919e9c12b2645136d6deeb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 01:50:29 2014 +0200

	    Add a test for the SSH substituter

	commit 0e5d0c15430cf82861a1ae213cbccff065f71107
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 9 12:14:40 2014 +0200

	    Fix compilation error on some versions of GCC

	    src/libexpr/primops.cc:42:8: error: looser throw specifier for 'virtual nix::InvalidPathError::~InvalidPathError()'
	    src/libexpr/nixexpr.hh:12:1: error:   overriding 'virtual nix::EvalError::~EvalError() noexcept (true)'

	    http://hydra.nixos.org/build/12385750

	commit beac05c206a801be6f83b4eaaffe75c30eeb7d37
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 8 20:41:25 2014 +0200

	    Don't build on Ubuntu 10.10

	    Its C++ compiler is too old.

	    http://hydra.nixos.org/build/12385722

	commit beaf3e90aff14664b98f2c7ab7387c9fa4354fd1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 4 13:34:15 2014 +0200

	    Add builtin function ‘fromJSON’

	    Fixes #294.

	commit e82951fe23daa961ef18b0c5cc9ba1f5d8906186
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 3 12:36:58 2014 +0200

	    Manual: html -> xhtml

	commit e477f0e9385d7825f005b7e9a32cd3ad6ee27aab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 27 11:36:23 2014 +0200

	    Style fix

	commit 858b8f9760a81540b0a95068d96dc5c1628673c3
	Author: Paul Colomiets <paul@colomiets.name>
	Date:   Tue Jun 24 00:30:22 2014 +0300

	    Add `--json` argument to `nix-instantiate`

	commit 8504e7d60488cb12dd2597734ebd1d3cadf5d153
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 27 11:20:16 2014 +0200

	    allow-arbitrary-code-during-evaluation -> allow-unsafe-native-code-during-evaluation

	commit d7be6d45d97e89653b77686bdb39b833afbcf6ca
	Merge: 9d0709e d62f46e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 27 11:18:54 2014 +0200

	    Merge branch 'shlevy-import-native'

	commit d62f46e500958bc97ae6837911e27c20a47cc181
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Jun 24 10:50:03 2014 -0400

	    Only add the importNative primop if the allow-arbitrary-code-during-evaluation option is true (default false)

	commit 5cd022d6c099c583c0494bdacd06f4eb32661135
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jun 1 10:42:56 2014 -0400

	    Add importNative primop

	    This can be used to import a dynamic shared object and return an
	    arbitrary value, including new primops. This can be used both to test
	    new primops without having to recompile nix every time, and to build
	    specialized primops that probably don't belong upstream (e.g. a function
	    that calls out to gpg to decrypt a nixops secret as-needed).

	    The imported function should initialize the Value & as needed. A single
	    import can define multiple values by creating an attrset or list, of
	    course.

	    An example initialization function might look like:

	    extern "C" void initialize(nix::EvalState & state, nix::Value & v)
	    {
	        v.type = nix::tPrimOp;
	        v.primOp = NEW nix::PrimOp(myFun, 1, state.symbols.create("myFun"));
	    }

	    Then `builtins.importNative ./example.so "initialize"` will evaluate to
	    the primop defined in the myFun function.

	commit 9d0709e8c47082cec35d6412053eacfadae23bcd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 12 17:30:37 2014 +0200

	    Don't use member initialisers

	    They're a little bit too recent (only supported since GCC 4.7).

	    http://hydra.nixos.org/build/11851475

	commit 48495f67ed893c4ee056099ae0ca5a2afacde93c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 12 13:15:35 2014 +0200

	    Fix bogus warnings about dumping large paths

	    Also, yay for C++11 non-static initialisers.

	commit 0960d674d48808eaaa3475899f45cfd6c7c3e51d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 12 13:00:54 2014 +0200

	    Drop ImportError and FindError

	    We're not catching these anywhere.

	commit 718f20da6d79466f91c49849bcf91a688aaa871e
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri May 30 15:43:31 2014 -0400

	    findFile: Realise the context of the path attributes

	commit a8fb575c98726f195d0cf5c7e6b7e51c75a0a9b3
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri May 30 15:04:17 2014 -0400

	    Share code between scopedImport and import

	    In addition to reducing duplication, this fixes both import from
	    derivation and import of derivation for scopedImport

	commit 61c464f252271d3d6343e1bfa1e3b39d2c8473cd
	Author: Steve Purcell <steve@sanityinc.com>
	Date:   Thu Jun 5 11:04:48 2014 +0100

	    Add autoloads, make code more concise & idiomatic

	    - Use define-derived-mode to declare nix-mode
	    - Use autoloads to ensure nix-mode is usable (and enabled) without needing `require`
	    - Use set + make-local-variable instead of longer 2-step equivalent

	commit ee7fe64c0ac00f2be11604a2a6509eb86dc19f0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jun 10 14:02:56 2014 +0200

	    == operator: Ignore string context

	    There really is no case I can think of where taking the context into
	    account is useful. Mostly it's just very inconvenient.

	commit b1beed97a0670befbfd5e105a81132e87e58ac37
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jun 10 13:45:50 2014 +0200

	    Report daemon OOM better

	    When copying a large path causes the daemon to run out of memory, you
	    now get:

	      error: Nix daemon out of memory

	    instead of:

	      error: writing to file: Broken pipe

	commit 829af22759b8a99c3b44697365390a945f3acc04
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jun 10 13:30:09 2014 +0200

	    Print a warning when loading a large path into memory

	    I.e. if you have a derivation with

	      src = ./huge-directory;

	    you'll get a warning that this is not a good idea.

	commit 3c6b8a521561f5341652ffe37b869d5ab457227b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 2 17:58:43 2014 +0200

	    nix-env -qa --json: Generate valid JSON even if there are invalid meta attrs

	commit ceed8192848760430c9c23659f9cb979aad1f9c3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 29 19:04:27 2014 +0200

	    Fix test

	commit becc2b01678c5742b3fe6c379430606a5ef8e34d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 29 19:02:14 2014 +0200

	    Sort nixPath attributes

	commit 54a34119f349d531557af9e90d21d04d689ee817
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 17:53:17 2014 +0200

	    Use std::unordered_set

	commit a457d5ad4d7f6cd4f817581de1b4f70cdad9c617
	Author: Aristid Breitkreuz <aristidb@gmail.com>
	Date:   Sun May 4 14:26:41 2014 +0200

	    nix-build: --add-root also takes 1 parameter

	commit b1d39d476544644b2de8addb5ad3289fede2f95a
	Author: Sönke Hahn <soenkehahn@gmail.com>
	Date:   Fri May 23 11:41:09 2014 +0800

	    dev-shell is a bash script, not sh

	    'type -p' does not work in e.g. dash

	commit 8ea9fd7aa6b2152f95724e504ac61c57d90b113c
	Author: Adam Szkoda <adaszko@gmail.com>
	Date:   Sun May 25 10:54:54 2014 +0200

	    Rephrase @ operator description

	commit d8c061e044a07f7516d76df12bc6920f4f04e5ff
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 17:14:28 2014 +0200

	    Remove ExprBuiltin

	    It's slower than ExprVar since it doesn't compute a static
	    displacement. Since we're not using the throw primop in the
	    implementation of <...> anymore, it's also not really needed.

	commit 62a6eeb1f3da0a5954ad2da54c454eb7fc1c6e5d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 17:02:22 2014 +0200

	    Make the Nix search path declarative

	    Nix search path lookups like <nixpkgs> are now desugared to ‘findFile
	    nixPath <nixpkgs>’, where ‘findFile’ is a new primop. Thus you can
	    override the search path simply by saying

	      let
	        nixPath = [ { prefix = "nixpkgs"; path = "/my-nixpkgs"; } ];
	      in ... <nixpkgs> ...

	    In conjunction with ‘scopedImport’ (commit
	    c273c15cb13bb86420dda1e5341a4e19517532b5), the Nix search path can be
	    propagated across imports, e.g.

	      let

	        overrides = {
	          nixPath = [ ... ] ++ builtins.nixPath;
	          import = fn: scopedImport overrides fn;
	          scopedImport = attrs: fn: scopedImport (overrides // attrs) fn;
	          builtins = builtins // overrides;
	        };

	      in scopedImport overrides ./nixos

	commit 39d72640c2459dc2fa689bfe8b756ee193f7b98a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 16:50:36 2014 +0200

	    Ensure that -I flags get included in nixPath

	    Also fixes #261.

	commit a8edf185a9e1677088c8c30acc9d281c8350bca7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 14:55:47 2014 +0200

	    Add constant ‘nixPath’

	    It contains the Nix expression search path as a list of { prefix, path
	    } sets, e.g.

	      [ { path = "/nix/var/nix/profiles/per-user/root/channels/nixos"; prefix = ""; }
	        { path = "/etc/nixos/configuration.nix"; prefix = "nixos-config"; }
	        { path = "/home/eelco/Dev/nix/inst/share/nix/corepkgs"; prefix = "nix"; }
	      ]

	commit c273c15cb13bb86420dda1e5341a4e19517532b5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 13:46:11 2014 +0200

	    Add primop ‘scopedImport’

	    ‘scopedImport’ works like ‘import’, except that it takes a set of
	    attributes to be added to the lexical scope of the expression,
	    essentially extending or overriding the builtin variables.  For
	    instance, the expression

	      scopedImport { x = 1; } ./foo.nix

	    where foo.nix contains ‘x’, will evaluate to 1.

	    This has a few applications:

	    * It allows getting rid of function argument specifications in package
	      expressions. For instance, a package expression like:

	        { stdenv, fetchurl, libfoo }:

	        stdenv.mkDerivation { ... buildInputs = [ libfoo ]; }

	      can now we written as just

	        stdenv.mkDerivation { ... buildInputs = [ libfoo ]; }

	      and imported in all-packages.nix as:

	        bar = scopedImport pkgs ./bar.nix;

	      So whereas we once had dependencies listed in three places
	      (buildInputs, the function, and the call site), they now only need
	      to appear in one place.

	    * It allows overriding builtin functions. For instance, to trace all
	      calls to ‘map’:

	      let
	        overrides = {
	          map = f: xs: builtins.trace "map called!" (map f xs);

	          # Ensure that our override gets propagated by calls to
	          # import/scopedImport.
	          import = fn: scopedImport overrides fn;

	          scopedImport = attrs: fn: scopedImport (overrides // attrs) fn;

	          # Also update ‘builtins’.
	          builtins = builtins // overrides;
	        };
	      in scopedImport overrides ./bla.nix

	    * Similarly, it allows extending the set of builtin functions. For
	      instance, during Nixpkgs/NixOS evaluation, the Nixpkgs library
	      functions could be added to the default scope.

	    There is a downside: calls to scopedImport are not memoized, unlike
	    import. So importing a file multiple times leads to multiple parsings
	    / evaluations. It would be possible to construct the AST only once,
	    but that would require careful handling of variables/environments.

	commit f0fdbd0897ce63c138ec663ed89a94709a8441a7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 12:34:15 2014 +0200

	    Shut up some signedness warnings

	commit 0321ef9bb261958fe4d63210e9a9d3350737ef18
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 23 14:43:55 2014 +0200

	    Ugly hack to allow --argstr values starting with a dash

	    Fixes #265.

	commit 3064a8215608eca391fcb9d492735a662f48242e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 22 11:38:50 2014 +0200

	    Disable parallel.sh test

	    It breaks randomly: http://hydra.nixos.org/build/11152871

	commit 9f9080e2c019f188ba679a7a89284d7eaf629710
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 21 17:19:36 2014 +0200

	    nix-store -l: Fetch build logs from the Internet

	    If a build log is not available locally, then ‘nix-store -l’ will now
	    try to download it from the servers listed in the ‘log-servers’ option
	    in nix.conf. For instance, if you have:

	      log-servers = http://hydra.nixos.org/log

	    then it will try to get logs from http://hydra.nixos.org/log/<base
	    name of the store path>. So you can do things like:

	      $ nix-store -l $(which xterm)

	    and get a log even if xterm wasn't built locally.

	commit eac5841970737b799c55ec78f6ace6d80762ff04
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu May 15 11:30:46 2014 -0400

	    Provide a more useful error message when a dynamic attr lookup fails

	commit 8d5f472f2c49c79a0d3ae2e506f4d4d76224b328
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 15 11:37:44 2014 +0200

	    lvlInfo -> lvlTalkative

	commit 84813af5b938246d9a4a785dfb08b86383ef62ae
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 15 11:33:46 2014 +0200

	    nix-store --optimise: Remove bogus statistics

	commit 690adeb03de039551c4d8b5b4e7dda21c9c8f9b9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 15 11:19:16 2014 +0200

	    Remove tab

	commit a1b66f316e980b4b7e755de47604bdc30371b67e
	Merge: e384e7b 3b9ea84
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 15 11:18:29 2014 +0200

	    Merge branch 'master' of github.com:wmertens/nix

	commit 3b9ea8452f102595874826e349fa38f85c00aa39
	Author: Wout Mertens <Wout.Mertens@gmail.com>
	Date:   Thu May 15 09:02:22 2014 +0200

	    Shortcut store files before lstat

	    readdir() already returns the inode numbers, so we don't need to call
	    lstat to know if a file was already linked or not.

	commit d73ffc552f78e0d9048e3bcc1e84452d1e8d2ede
	Author: Wout Mertens <Wout.Mertens@gmail.com>
	Date:   Wed May 14 22:52:10 2014 +0200

	    Use the inodes given by readdir directly

	commit e384e7b387c4745f30032ef431a06aa26cee73a5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 14 22:25:25 2014 +0200

	    Remove redundant code

	commit e974f20c9811c3efe09cfca9bda7816f9091c0d5
	Author: Wout Mertens <Wout.Mertens@gmail.com>
	Date:   Tue May 13 23:10:06 2014 +0200

	    Preload linked hashes to speed up lookups

	    By preloading all inodes in the /nix/store/.links directory, we can
	    quickly determine of a hardlinked file was already linked to the hashed
	    links.
	    This is tolerant of removing the .links directory, it will simply
	    recalculate all hashes in the store.

	commit 36662eb5629c31cfd1b8472c9b7eb136b3937a4d
	Author: Ricky Elrod <ricky@elrod.me>
	Date:   Sun May 11 18:57:53 2014 -0400

	    Prepare nix-mode to be uploaded to marmalade

	    Signed-off-by: Ricky Elrod <ricky@elrod.me>

	commit 95501c4deea1d945022df18475340232bc6980be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 13 12:54:28 2014 +0200

	    nix-instantiate --eval: Apply auto-arguments if the result is a function

	    Fixes #254.

	commit a55e77ae10a76336728be6fbb0f0d7957422b56a
	Author: Charles Strahan <charles.c.strahan@gmail.com>
	Date:   Mon May 12 14:31:16 2014 -0400

	    fix typo

	commit a84f503d863fd77de9b6ecf149399c2ca7642b75
	Author: wmertens <Wout.Mertens@gmail.com>
	Date:   Sat May 10 15:53:01 2014 +0200

	    Shortcut already-hardlinked files

	    If an inode in the Nix store has more than 1 link, it probably means that it was linked into .links/ by us. If so, skip.

	    There's a possibility that something else hardlinked the file, so it would be nice to be able to override this.

	    Also, by looking at the number of hardlinks for each of the files in .links/, you can get deduplication numbers and space savings.

	commit aa9b1cf48e6482a74dcc19e6aef1d8236b57abe4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 6 10:51:16 2014 +0200

	    Really fix the RPM builds

	    http://hydra.nixos.org/build/10840199

	commit 2c4affbaa88c8bfbee92093f0355b6e118fd5447
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 5 20:22:35 2014 +0200

	    Fix RPM build

	    We don't install a nix.conf anymore.

	    http://hydra.nixos.org/build/10826143

	commit 93506e60d2f86079a6db260d376a92773900d0d3
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Sat May 3 17:54:48 2014 +0200

	    Add ubuntu 14.04

	commit 40250f23a0a301bb758e7f0f21fcd09b702e0e1e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 19:04:10 2014 +0200

	    Don't install Upstart job on Fedora

	    Also, don't install a nix.conf anymore, it's not needed.

	    http://hydra.nixos.org/build/10775854

	commit 6dd10873961d45fd246b48ad82b7f05ad3d4d077
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 19:02:10 2014 +0200

	    Fix Debian tests

	    These actually run as root in a VM, so they get confused.

	    http://hydra.nixos.org/build/10775854

	commit a8c31d501185c42de477a7e833af956d68e095c3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 14:44:44 2014 +0200

	    Simplify multi-user installation instructions

	commit 696f960dee35889433adfa6c08a2dbfb6ea0724f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 14:31:15 2014 +0200

	    Set up directories and permissions for multi-user install automatically

	    This automatically creates /nix/var/nix/profiles/per-user and sets the
	    permissions/ownership on /nix/store to 1775 and root:nixbld.

	commit 20668b136329da92be7c63e7f7c4918968ff0015
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 13:14:10 2014 +0200

	    Install an Upstart service

	commit de4cdd0d47adc70a4db12397a42c18ee50b4e662
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 12:51:43 2014 +0200

	    Set build-max-jobs to the number of available cores by default

	    More zero configuration.

	commit ada3e3fa15bc14aebb2bafd1240c15cf1fd99351
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 12:46:03 2014 +0200

	    When running as root, use build users by default

	    This removes the need to have a nix.conf, and prevents people from
	    accidentally running Nix builds as root.

	commit eeffdb74dcdbd64bcdc44cff4e587b59c4f807b5
	Author: Charles Strahan <charles.c.strahan@gmail.com>
	Date:   Sun Apr 27 14:07:50 2014 -0400

	    doc fix: swap 'import' and 'export'

	commit 31fe55bb8e599702ac79b24b2109199be50a85a1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 25 14:55:13 2014 +0200

	    trunk -> master

	commit 700c678c2eed5e05c3e68d722c41c2b37d0a2f45
	Author: Ricardo M. Correia <rcorreia@wizy.org>
	Date:   Fri Apr 11 17:10:20 2014 +0200

	    nix-env: Minor change to '--delete-generations Nd' semantics

	    The option '--delete-generations Nd' deletes all generations older than N
	    days. However, most likely the user does not want to delete the
	    generation that was active N days ago.

	    For example, say that you have these 3 generations:

	    1: <30 days ago>
	    2: <15 days ago>
	    3: <1 hour ago>

	    If you do --delete-generations 7d (say, as part of a cron job), most
	    likely you still want to keep generation 2, i.e. the generation that was
	    active 7 days ago (and for most of the past 7 days, in fact).

	    This patch fixes this issue. Note that this also affects
	    'nix-collect-garbage --delete-older-than Nd'.

	    Thanks to @roconnor for noticing the issue!

	commit fb5d76b89e8b0084fb147d79af5481e09b889386
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 15 15:32:27 2014 +0200

	    Fix test evaluation

	commit a1917208c025e0a029cb33bbf3cf69e4d4128a39
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 11 15:11:28 2014 +0200

	    Bump date

	commit 742933116fd803afbf8c36dbc1eab51612d4bb55
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 11 11:15:24 2014 +0200

	    Bump version to 1.8

	commit 924e19341a5ee488634bc9ce1ea9758ac496afc3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 10 23:42:48 2014 +0200

	    Don't barf when installing as root

	commit b0a09a6f320d3a0ac186e87edb1c1782d8d168d5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Apr 9 14:52:43 2014 +0200

	    Add docbook icons to the distribution

	    Grmbl...

	commit dfa2f77d2e1118f32771c2fceefd683435554b9d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 19:24:29 2014 +0200

	    If a .drv cannot be parsed, show its path

	    Otherwise you just get ‘expected string `Derive(['’ which isn't very helpful.

	commit e0a947cde6d11b5182500f024719b04b8997189a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 16:28:39 2014 +0200

	    Simplify quick start section

	commit d23931f3a448fddc43d81f774fa83797729910e7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 16:10:25 2014 +0200

	    Remove redundant stuff

	commit 48460057419ce651c9484a66d83e6b987b261d8c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 16:09:56 2014 +0200

	    Update installation instructions

	commit 2b6c8ef40121fdc418551e9b780bb909477c9a3c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 14:08:57 2014 +0200

	    nix-shell --pure: Keep the user's $PAGER

	commit 76cbf55a6d8953e393ba39896ccbb0948bac96d6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 13:51:34 2014 +0200

	    Ensure that systemd units to into lib, not lib64

	    http://hydra.nixos.org/build/10170940

	commit 89f923281335f695d4199e1fafaaeeb1729ba2d3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 7 12:00:23 2014 +0200

	    Update release notes

	commit 84d6936371037559704337614c65007a8e61b5e1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 7 11:18:54 2014 +0200

	    Install systemd units

	commit 8e5fbf4d730b9fcf39eddf5539a206cf19d2cdce
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 22:52:14 2014 +0200

	    Show position info in attribute selection errors

	commit 4c5faad99408cdfc35a8b0923d1efdf288fd9990
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 22:43:52 2014 +0200

	    Show position info in Boolean operations

	commit bd9b1d97b42f307c8b595bb2de9b15bec1405b23
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 22:19:33 2014 +0200

	    Show position info in string concatenation / addition errors

	commit 8160f794e79a4a2a5269080b408d69fc93d7a305
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 21:53:47 2014 +0200

	    derivation: Don't require certain function arguments

	    Turns out that in Nixpkgs, derivation is actually called without a
	    ‘name’ argument in some places :-(

	commit a5fe73094016973a50741db0c5d51ca96c14147b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 21:14:11 2014 +0200

	    forceString: Show position info

	commit 27b44b8cf7072b09a1929ee44ba784b1c8d5211a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 19:11:40 2014 +0200

	    forceAttrs: Show position info

	commit 96b695ccab4a4c8c4ef7f14ac261df43dcc00743
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 19:05:36 2014 +0200

	    forceList: Show position info

	commit b62d36963c45ccaebb328fceaf0bb40f9c02a14b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 18:58:15 2014 +0200

	    forceInt: Show position info

	commit c28de6d96e7bfea834a44deac5217d4696fa8d86
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 18:51:01 2014 +0200

	    Pass position information to primop calls

	    For example:

	      error: `tail' called on an empty list, at
	        /home/eelco/Dev/nixpkgs/pkgs/applications/misc/hello/ex-2/default.nix:13:7

	commit 8b31ffd10de44871a3912184fedbeca57d8cf60f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 17:58:23 2014 +0200

	    Remove unnecessary quotes around file names

	commit b72c8d2e5b5bbdc218f7c00694027cdd75b6a584
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 17:53:52 2014 +0200

	    Include position info in function application

	    This allows error messages like:

	      error: the anonymous function at `/etc/nixos/configuration.nix:1:1'
	        called without required argument `foo', at
	        `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:77:59'

	commit 3f8e1f56825f3ec2a9d99715609e362fe5e5a218
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 14:51:07 2014 +0200

	    Update release notes

	commit 1f19fdbd45d902a48fd8bacb25ef1a88020a0cc7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 13:49:53 2014 +0200

	    Document that we require a C++11 compiler

	commit ae6b631dc48f4b923a6ed17b8d6e59524c4ea883
	Author: Danny Wilson <danny@decube.net>
	Date:   Thu Apr 3 16:59:25 2014 +0200

	    Fix compile errors on Illumos

	commit daa16cca11304a0e91a188176959e2af28be1f57
	Merge: f0de863 7191a73
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 3 17:37:14 2014 +0200

	    Sync with make-rules repo

	commit 7191a7394a3091ed2856508674f84f3a87eda5a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 3 17:35:16 2014 +0200

	    Support Illumos

	    From https://github.com/NixOS/nix/pull/236

	commit f0de86357c18e18eccd814c8bea3bfdaf10f75f5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 3 15:24:02 2014 +0200

	    Tweak error message

	commit e7720aa10a1da63bb15a4587837d649268944943
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Apr 2 23:41:11 2014 +0200

	    Make sure /dev/pts/ptmx is world-writable

	    While running Python 3’s test suite, we noticed that on some systems
	    /dev/pts/ptmx is created with permissions 0 (that’s the case with my
	    Nixpkgs-originating 3.0.43 kernel, but someone with a Debian-originating
	    3.10-3 reported not having this problem.)

	    There’s still the problem that people without
	    CONFIG_DEVPTS_MULTIPLE_INSTANCES=y are screwed (as noted in build.cc),
	    but I don’t see how we could work around it.

	commit ac6ceea7641d6c19c71079e22b03b4c1519c0c94
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 1 17:04:38 2014 +0200

	    Fix potential segfault

	    The newEnv variable was accessed (via the dynamicEnv) pointer after it
	    had gone out of scope.

	    Fixes #234.

	commit 034b6f60626be014d00f68e02d8614ddf7ba44a0
	Author: Ricardo M. Correia <rcorreia@wizy.org>
	Date:   Tue Mar 11 22:16:00 2014 +0100

	    nix-collect-garbage: Add --delete-older-than option

	commit 7ef7597f71b282265a9f79afe4608cd3b1bc4127
	Author: Ricardo M. Correia <rcorreia@wizy.org>
	Date:   Tue Mar 11 21:47:21 2014 +0100

	    nix-env: Add support for --delete-generations 15d

	    It will delete all generations older than the specified number of days.

	commit 59c90196850b6ac8c110e54c7f03d6417ed9bf61
	Author: Maxim Ivanov <ivanov.maxim@gmail.com>
	Date:   Sat Mar 29 11:43:11 2014 +0000

	    Fix nix-shell for derivation with multiple outputs

	    If derivation declares multiple outputs and first (default) output
	    if not "out", then "nix-instantiate" calls return path with output
	    names appended after "!". Than suffix must be stripped before
	    ant path checks are done.

	commit 1c2550a2ae826c422cf6d34f1c5c3e687474929d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Mar 30 00:49:23 2014 +0100

	    boost::shared_ptr -> std::shared_ptr

	commit 9becaa041f4a597dc085e58ebe8f66a4f95d018e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Mar 29 22:20:33 2014 +0100

	    Drop pointless #include

	commit acb8facbbc3ae0795987bd03a3dc2c17217d6172
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Mar 29 22:14:11 2014 +0100

	    Fix potential segfault in waitForInput()

	    Since the addition of build-max-log-size, a call to
	    handleChildOutput() can result in cancellation of a goal.  This
	    invalidated the "j" iterator in the waitForInput() loop, even though
	    it was still used afterwards.  Likewise for the maxSilentTime
	    handling.

	    Probably fixes #231.  At least it gets rid of the valgrind warnings.

	commit 90dc50b07c3939dda44fde79f696f64bf8f2f4d7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Mar 29 20:20:14 2014 +0100

	    restoreSIGPIPE(): Fill in sa_mask

	    Issue #231.

	commit 49009573bc2eacd823d57433daf1f59dfe415065
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 28 16:59:26 2014 +0100

	    Don't interpret strings as format strings

	    Ludo reported this error:

	      unexpected Nix daemon error: boost::too_few_args: format-string refered to more arguments than were passed

	    coming from this line:

	      printMsg(lvlError, run.program + ": " + string(err, 0, p));

	    The problem here is that the string ends up implicitly converted to a
	    Boost format() object, so % characters are treated specially.  I
	    always assumed (wrongly) that strings are converted to a format object
	    that outputs the string as-is.

	    Since this assumption appears in several places that may be hard to
	    grep for, I've added some C++ type hackery to ensures that the right
	    thing happens.  So you don't have to worry about % in statements like

	      printMsg(lvlError, "foo: " + s);

	    or

	      throw Error("foo: " + s);

	commit 24cb65efc3c34e24fc653779a4d42cf4f31c6737
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Fri Mar 21 13:54:53 2014 +0100

	    Make /dev/kvm optional

	    The daemon now creates /dev deterministically (thanks!).  However, it
	    expects /dev/kvm to be present.

	    The patch below restricts that requirement (1) to Linux-based systems,
	    and (2) to systems where /dev/kvm already exists.

	    I’m not sure about the way to handle (2).  We could special-case
	    /dev/kvm and create it (instead of bind-mounting it) in the chroot, so
	    it’s always available; however, it wouldn’t help much since most likely,
	    if /dev/kvm missing, then KVM support is missing.

	commit 3fc056927c962ec9778e94528f2f9ae316afca4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 18 23:23:55 2014 +0100

	    Fix tabs

	commit 51800e06dec91282b81fc41e56d1e9325849d2c2
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Tue Mar 18 23:17:14 2014 +0100

	    Allow recovery from isValidPath RPCs with an invalid path

	    Currently, clients cannot recover from an isValidPath RPC with an
	    invalid path parameter because the daemon closes the connection when
	    that happens.

	    More precisely:

	      1. in performOp, wopIsValidPath case, ‘readStorePath’ raises an
	         ‘Error’ exception;

	      2. that exception is caught by the handler in ‘processConnection’;

	      3. the handler determines errorAllowed == false, and thus exits after
	         sending the message.

	    This last part is fixed by calling ‘startWork’ early on, as in the patch
	    below.

	    The same reasoning could be applied to all the RPCs that take one or
	    more store paths as inputs, but isValidPath is, by definition, likely to
	    be passed invalid paths in the first place, so it’s important for this
	    one to allow recovery.

	commit f93e97517e449cb1b3c7bdf8076812276b4cb2cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 17 17:35:11 2014 +0100

	    Fix -j and other flags when using the daemon

	commit 77e2cc6c8ed1206c029218d3bc22575202a73b4c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 17 17:33:13 2014 +0100

	    nix-build: Fix --cores flag

	commit fb8d8f5428ec37a40656d64d9190fdc32b0c769b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 12 14:42:25 2014 +0100

	    Remove unnecessary null pointer checks

	    Fixes #225.

	commit 006f24c7faf146d97742c1d7cc270ec107fa2e56
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 12 14:25:48 2014 +0100

	    Document nix-env -q --json

	commit d435e46daa98ffd268b6bb7221b0f3841f3a63ef
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 12 14:15:37 2014 +0100

	    Generate release notes again

	commit e9934bb5ada1a974744c61479ca50c75c82e5836
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 12 13:58:06 2014 +0100

	    Update release notes for 1.7

	commit 25386e5edc2d65c84ce824d2c964a5c029f4c30d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 11 17:31:13 2014 +0100

	    Fix passing meta attribute to buildenv.nix

	    Since the meta attributes were not sorted, attribute lookup could
	    fail, leading to package priorities and active flags not working
	    correctly.

	    Broken since 0f24400d90daf65cf20142a662f8245008437e2c.

	commit 92a848f674f371d675f461d2a7a6810d492dd4ea
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 11 13:16:21 2014 +0100

	    Fix typos

	commit 2f2a20ed18535ba819225fabe9a4cf2f37d2edb1
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Mar 10 07:09:07 2014 -0400

	    Document null dynamic attrs

	commit 049a379ec6ca755bcc077fd0e8da186ff76b8679
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Mar 9 14:41:02 2014 -0400

	    The expr of AttrNames/DynamicAttrDefs is always an ExprConcatStrings

	commit 908e9ce259710037ae9824a3246143e46e27e867
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Mar 9 14:24:47 2014 -0400

	    If a dynamic attribute name evaluates to null, remove it from the set

	commit 2caab8166045135bb78fd93dc9778a4d25d9499f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 5 16:18:13 2014 +0100

	    Revert "Make ifs and asserts tail-recursive"

	    This reverts commit 273322c7732093a354e86df82cf75d6604b8bce8.

	commit f7e077ad275a0f405b750e2b19fedbeadc6f8a15
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 5 11:11:24 2014 +0100

	    Install missing Boost headers

	    http://hydra.nixos.org/build/9328376

	commit d6a45f6bdbf7c71eda9e4ab1ab78b373be5422b9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 3 15:29:58 2014 +0100

	    Don't set an absolute soname

	commit a3767628481eefc956eb9d9d70eda62930549205
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 3 15:19:04 2014 +0100

	    Add support for making relocatable packages using $ORIGIN

	commit 3a86888fd7da44782233adf9fde34b6605e015bd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 28 14:01:26 2014 +0100

	    Typo

	commit 4eac3b2471063a3726790368665df963e809fc4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 28 12:13:20 2014 +0100

	    Add a variable GLOBAL_CXXFLAGS_PCH for use by precompiled headers

	    You don't want to use GLOBAL_CXXFLAGS for passing flags like
	    "-include-pch" (clang), because that means you cannot use
	    GLOBAL_CXXFLAGS when generating the PCH.

	commit 4e7e498ff95b553227a26fc20549bd69995a0b08
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 28 12:01:42 2014 +0100

	    Add variable GLOBAL_COMMON_DEPS

	    This is a list of dependencies on which all C/C++ object files depend.
	    Primarily useful for global precompiled headers.

	commit 1017bd68ea9264afe8b9d672653ca8c6271611d5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 27 23:25:03 2014 +0100

	    Set up a private /dev/pts in the chroot

	commit 3fd01b171a74d28dc8e48b9ee5f2d0e9a3915fb8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 27 23:17:53 2014 +0100

	    Set up a minimal /dev in chroots

	    Not bind-mounting the /dev from the host also solves the problem with
	    /dev/shm being a symlink to something not in the chroot.

	commit c9f6232304558cbdafb14e13e316e539f5bed72e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 27 21:47:59 2014 +0100

	    Correctly detect infinite recursion in function application

	    If we're evaluating some application ‘v = f x’, we can't store ‘f’
	    temporarily in ‘v’, because if ‘f x’ refers to ‘v’, it will get ‘f’
	    rather than an infinite recursion error.

	    Unfortunately, this breaks the tail call optimisation introduced in
	    c897bac54954373f63511702731fe2cb23c0c98e.

	    Fixes #217.

	commit 29cde917fe6b8f2e669c8bf10b38f640045c83b8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 27 13:31:33 2014 +0100

	    Fix deadlock in SubstitutionGoal

	    We were relying on SubstitutionGoal's destructor releasing the lock,
	    but if a goal is a top-level goal, the destructor won't run in a
	    timely manner since its reference count won't drop to zero.  So
	    release it explicitly.

	    Fixes #178.

	commit 7c7707638a446f91893cdc21b9e0638d2ebd42d3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 22:41:29 2014 +0100

	    Doh

	commit 788097382743dccc2e6de02c0b0342c9bb693b37
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 19:12:31 2014 +0100

	    Test trace and addErrorContext

	commit 5ad263c26b5b9cc0ba067050e4a09b2491c9d40c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 19:08:44 2014 +0100

	    Test some more primops

	commit 3d0a9ec8258fc2a6ec6a73e249aa38fbd03207d8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:59:01 2014 +0100

	    Test executables in NARs

	commit 91f25f0510db32d627bf5ed7d4067b90e37f2f86
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:55:18 2014 +0100

	    And another one

	commit 432328cc550cea6b6ab23b3eeca69dc2307c5c74
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:49:36 2014 +0100

	    Remove another unused function

	commit 509993e5983e333f5a50ee75d71c742590d304fb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:48:32 2014 +0100

	    Remove unused function

	commit d58ceae022ad887686e55068db7229f931eb96af
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:45:26 2014 +0100

	    Test nix-env --switch-generation

	commit 7bbc68fdff0afe22a517b63f3ca37d9021a5799c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:42:19 2014 +0100

	    Test nix-env --set

	commit a0806389e909203d9c3c1c32a2cc95b50300da59
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:40:08 2014 +0100

	    Test the -b and -s flags of nix-store -q

	commit a9c4a987705b00a6d5e98e0ad7cc44c8bc96ba22
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:33:13 2014 +0100

	    Test ~/.nix-defexpr

	commit 045d3b2ed7aa7678779052a1d0accf53d47988b7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:28:55 2014 +0100

	    Test nix-store --switch-profile and more daemon actions

	commit fac6f8aac0802be4481e7dab53d4875ca8b60ee0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:00:46 2014 +0100

	    Test nix-store -q --roots

	commit 84143c4bd80b38a44443e06f1c8c33dc212ccef7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 17:58:53 2014 +0100

	    Test nix-store -l

	commit 19437785ebf515aa0ac63541566d28267f63a333
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 17:53:51 2014 +0100

	    Test nix-store --optimise

	commit fdff3a7eae8a4d2f0e6eae992d3c3cf64e1a3ad3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 17:47:54 2014 +0100

	    Add a test for nix-store --dump-db / --load-db

	commit 506d86394d463d862b212f2f203bdded98a8efab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 17:23:23 2014 +0100

	    Installer: Handle Darwin

	    "cp -r" doesn't copy symlinks properly on Darwin, but "cp -R" does.

	    Fixes #215.

	commit 6b9cd59a41f059bed393f512bf495be09c1d22f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 16:32:46 2014 +0100

	    nix-store -r: Respect --add-root for non-derivations

	    Fixes #68.
	    Fixes #117.

	commit 7f74513b4e5b632b4099702cf4fe2800de7b67f9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 16:07:43 2014 +0100

	    Also provide an option for setting the curl connection timeout

	commit 00d761016a33ff9aa0ea162402d0d846dd1927cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 15:58:37 2014 +0100

	    Respect $NIX_CONNECT_TIMEOUT properly

	    We were 1) using CURLOPT_TIMEOUT instead of CURLOPT_CONNECTTIMEOUT; 2)
	    not passing it to the curl child process.

	    Issue #93.

	commit d761009e3ccdcdd7b150b26f7f35eecf8f2fb59c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 15:24:48 2014 +0100

	    Add ~/.nix-profile/sbin to $PATH

	    Fixes #112.

	commit f14ef84a51e211b3924f59333d98d838ab500740
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 15:21:56 2014 +0100

	    Warn about missing -I paths

	    Fixes #121.  Note that we don't warn about missing $NIX_PATH entries
	    because it's intended that some may be missing (cf. the default
	    $NIX_PATH on NixOS, which includes paths like /etc/nixos/nixpkgs for
	    backward compatibility).

	commit 733214144a7a910001c1c82683db780853bac9b1
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Jan 22 00:33:18 2014 +0000

	    Document dynamic attributes

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 42eb4afd7a38f3024a66da037d9f39859f7bd8f3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 13:58:46 2014 +0100

	    Simplify getting use-ssh-substituter from untrusted users

	commit bf4a577a586d99b7bc4298ae662e312eb73815e2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 13:48:23 2014 +0100

	    Fix broken patch

	commit 8a02fdc38ef5d02115d152a2d3e79ebd8a462e3e
	Author: Ian-Woo Kim <ianwookim@gmail.com>
	Date:   Fri Feb 14 14:44:01 2014 -0800

	    use USER environmental variable if getting user id by getpwuid is failed in perl scripts: download-from-binary-cache.pl and nix-channel

	commit dcaea042fc895667bf6f529471ff9f449629774c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 13:40:08 2014 +0100

	    Only start download-via-ssh if it's enabled

	commit df5de9dfd72f9dc3d57157d0496443732a517491
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Feb 19 07:05:15 2014 -0500

	    Add use-ssh-substituter setting.

	    It defaults to false and can be overridden by RemoteStore.

	    Untested currently, just quickly put this together

	commit 36b90e72d7e09b983acfa08f9016e8b3ece5199d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 17:08:01 2014 +0100

	    nix-shell: Add --packages flag

	    This allows you to easily set up a build environment containing the
	    specified packages from Nixpkgs.  For example:

	      $ nix-shell -p sqlite xorg.libX11 hello

	    will start a shell in which the given packages are present.

	commit a897b583733aaf3ee7aa0efe495f9ea046567555
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 16:46:33 2014 +0100

	    nix-instantiate: Allow --dry-run as a synonym for --readonly-mode

	    --dry-run is more consistent with nix-env and nix-store.

	commit e1cf40fa9537162efe0dc19dcea9ae7d043fde66
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 16:34:24 2014 +0100

	    nix-instantiate: Rename --eval-only to --eval, --parse-only to --parse

	commit c31836008e45460513188a3fbeda4416f9153a05
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 16:30:19 2014 +0100

	    nix-instantiate: Add a flag --expr / -E to read expressions from the command line

	    This is basically a shortcut for ‘echo 'expr...' | nix-instantiate -’.
	    Also supported by nix-build and nix-shell.

	commit e707a8a526698de2237e6ac89e2f1ce6dbc63269
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 15:32:19 2014 +0100

	    Move manpages around

	commit 73f74ebba09f8bceed46a11f7348b4c398bde6f3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 15:01:04 2014 +0100

	    nix-shell: Don't leave a temporary directory in /tmp behind

	commit a7e70518b8d0cb9a72cb3733b563b49caf922966
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sat Feb 15 11:02:47 2014 -0500

	    lexer-tab.o and parser-tab.o require each other's headers

	commit 70a558e20250f7c865fd36c1c678192fe29d088f
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sat Feb 15 10:56:11 2014 -0500

	    Update ignores

	commit 7bef965d6f191efb9c671f49fd187f4214db6120
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 18 13:35:35 2014 +0100

	    Make it work on GNU Make > 3.81 again

	commit 79f699edca26c035a8bcd68c7d5a13b4fbcbf3be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 18 12:57:32 2014 +0100

	    More GNU Make 3.81 compatibility

	commit 8129cf33d959db44344fbffc34a981cc27b29bfb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 18 10:46:30 2014 +0100

	    Slight simplification

	commit 1aa19b24b27c6bbf4d46cdd7f6d06b534dd67c19
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 18 01:01:14 2014 +0100

	    Add a flag ‘--check’ to verify build determinism

	    The flag ‘--check’ to ‘nix-store -r’ or ‘nix-build’ will cause Nix to
	    redo the build of a derivation whose output paths are already valid.
	    If the new output differs from the original output, an error is
	    printed.  This makes it easier to test if a build is deterministic.
	    (Obviously this cannot catch all sources of non-determinism, but it
	    catches the most common one, namely the current time.)

	    For example:

	      $ nix-build '<nixpkgs>' -A patchelf
	      ...
	      $ nix-build '<nixpkgs>' -A patchelf --check
	      error: derivation `/nix/store/1ipvxsdnbhl1rw6siz6x92s7sc8nwkkb-patchelf-0.6' may not be deterministic: hash mismatch in output `/nix/store/4pc1dmw5xkwmc6q3gdc9i5nbjl4dkjpp-patchelf-0.6.drv'

	    The --check build fails if not all outputs are valid.  Thus the first
	    call to nix-build is necessary to ensure that all outputs are valid.

	    The current outputs are left untouched: the new outputs are either put
	    in a chroot or diverted to a different location in the store using
	    hash rewriting.

	commit 4ec626a286afd4a9596357fc6d36aaf8bc07442a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 23:24:12 2014 +0100

	    Test nix-store --verify-path and --repair-path

	commit 99f14c25842a897a1a352a3b3be7c0362cb0313f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 23:10:40 2014 +0100

	    Don't build on Debian 6.0

	    Its linker is too old to understand --no-copy-dt-needed-entries.

	    http://hydra.nixos.org/build/9113883

	commit b6def5b542d35eaed5e8cbc6eaa9bbf644262686
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 23:09:48 2014 +0100

	    Make --repair work on Darwin

	    Mac OS X doesn't allow renaming a read-only directory.

	    http://hydra.nixos.org/build/9113895

	commit dfbcb7c403363c21c1eab8082ffaade29bba9036
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 23:04:52 2014 +0100

	    Refactoring

	commit 71adb090f05532b2116e952b617048abd0a6081d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 22:58:21 2014 +0100

	    When using a build hook, only copy missing paths

	commit 69fe6c58faa91c3b8f844e1aafca26354ea14425
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 22:25:15 2014 +0100

	    Move some code around

	    In particular, do replacing of valid paths during repair later.  This
	    prevents us from replacing a valid path after the build fails.

	commit 1da6ae4f9904f7e09166085a2cfed8887e0e86d4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 14:48:50 2014 +0100

	    nix-store --gc --max-freed: Support a unit specifier

	    E.g. "--max-freed 10G" means "free ten gigabytes".

	commit 00d30496ca32145f55891364ddcf3d4af87f05d5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 14:15:56 2014 +0100

	    Heuristically detect if a build may have failed due to a full disk

	    This will allow Hydra to detect that a build should not be marked as
	    "permanently failed", allowing it to be retried later.

	commit e81d38c02b267eea93a91de3e8a00b185355d681
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 13:34:24 2014 +0100

	    nix-shell: Execute shellHook if it exists

	    Since normal builds don't execute shellHook, this allows nix-shell
	    specific customisation.  Suggested by Domen.

	commit 832377bbd6ccd43895ac346131cafe4901f7996b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 12:22:50 2014 +0100

	    Add a test for repairing paths

	commit 581a160c11dd3de66d9cd1a6e01c0641909546ef
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 14 20:12:04 2014 +0100

	    Add a function for looking up programs in $PATH

	commit a9d99ab55fdaa1c9dde87eaa8d289ecdb8cf9068
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 14 12:31:10 2014 +0100

	    download-via-ssh: Use readStorePath

	commit 4db572062ccf318a6524abb8da046592a570eb94
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 14 12:20:12 2014 +0100

	    download-via-ssh: Show where we're downloading from

	commit dba33d4018c07699b59f024ca61442c896579c64
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 14 11:48:42 2014 +0100

	    Minor style fixes

	commit 61fd494d760d667649fa48665f9aa75ba88a1eb6
	Merge: f9fc6ac f67f527
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 14 11:42:47 2014 +0100

	    Merge remote-tracking branch 'shlevy/ssh-substituter'

	commit f67f52751f21b2fe70b5a7352053f130eb6f0f59
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Feb 12 07:33:07 2014 -0500

	    Indendation fix

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 62eb9eb76ddacc1aa97400bef9f25b6ca4c50c8c
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Feb 12 07:27:45 2014 -0500

	    Remove relic of old code

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 7438f0bc2bc4b92bddf7159744ab2923e34b7457
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Feb 12 07:26:35 2014 -0500

	    error messages start in lowercase

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 2246aa77d291e07141f6a508e46730e2c28e1d84
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Feb 12 07:22:36 2014 -0500

	    Remove using declarations from download-via-ssh

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit f9fc6acbf4eadd2d9018d3da14394fdfbddde5f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 12 10:53:22 2014 +0100

	    Document current meaning of preferLocalBuild

	    Closes #208.

	commit a35c6eb4a2209716fe1d40cebad2b3adb5d05e0f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 11 14:15:57 2014 +0100

	    Support setting CFLAGS and CXXFLAGS for libraries/programs

	commit 1f841c9d50a100a3d40fec6260d36ec9ee309af3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 10 17:42:36 2014 +0100

	    Force use of Bash

	    "echo -n" doesn't work with /bin/sh on Darwin.

	commit 57386c9baee78e50eb0c4a901ca9e1c147dc9777
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 10 16:35:59 2014 +0100

	    Binary tarball: Automatically create /nix

	    The tarball can now be unpacked anywhere.  The installation script
	    uses "sudo" to create /nix if it doesn't exist.  It also fetches the
	    nixpkgs-unstable channel.

	commit c89d6b9b63b629ff936a56855be5689523910c58
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Feb 10 07:43:13 2014 -0500

	    nix-store --serve: Use a versioned protocol

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 38c3beac1a8ac9ddf4fdbbcafd400dabcf195076
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Feb 10 06:52:48 2014 -0500

	    Move StoreApi::serve into opServe

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 16146031659eae475cd5933b8553b13d725ca436
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Feb 10 06:49:37 2014 -0500

	    Pass in params by const ref

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 78d979567fa304fa4445fe7403932d9d97183ebd
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Feb 10 06:43:29 2014 -0500

	    Clarify comment

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit c5839752b9d5099d4b5e7bcfc853581673e779f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 10 10:50:29 2014 +0100

	    Binary tarball: Automatically fetch the Nixpkgs channel

	commit b632153ebd1bf8d773872eb36f9ad335d2c89fab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 10 10:25:13 2014 +0100

	    nix-shell: Use shell.nix as the default expression if it exists

	commit 64e23d0a38f316a07cef0960d0ed74a450214283
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sat Feb 8 00:05:46 2014 -0500

	    Add download-via-ssh substituter

	    This substituter connects to a remote host, runs nix-store --serve
	    there, and then forwards substituter commands on to the remote host and
	    sends their results to the calling program. The ssh-substituter-hosts
	    option can be specified as a list of hosts to try.

	    This is an initial implementation and, while it works, it has some
	    limitations:

	    * Only the first host is used
	    * There is no caching of query results (all queries are sent to the
	      remote machine)
	    * There is no informative output (such as progress bars)
	    * Some failure modes may cause unhelpful error messages
	    * There is no concept of trusted-ssh-substituter-hosts

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 5671188eb2822b7392a6affa5ebe2f1eb8f521a0
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Feb 7 16:56:00 2014 -0500

	    nix-store --serve: Flush out after every loop

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 73874629ef59dc3b237a2c316179e722f971bb5e
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Feb 7 16:17:52 2014 -0500

	    nix-store --serve: Use dump instead of export

	    Also remove signing support

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 188f96500bc16891b22c684ad96122635667a8ff
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Feb 7 15:29:32 2014 -0500

	    nix-store --serve: Don't fail if asked for info about non-valid path

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 94884475947ca8c44dda51d83f3c1fbfeff5ccc0
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Feb 7 14:07:31 2014 -0500

	    nix-store --serve: Don't loop forever

	    nix-store --export takes a tmproot, which can only release by exiting.
	    Substituters don't currently work in a way that could take advantage of
	    the looping, anyway.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 3a38d0f3565a02c034c29b264aceb0eb78dac005
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Feb 6 11:52:03 2014 -0500

	    Add the nix-store --serve command

	    This is essentially the substituter API operating on the local store,
	    which will be used by the ssh substituter. It runs in a loop rather than
	    just taking one command so that in the future nix will be able to keep
	    one connection open for multiple instances of the substituter.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 84a8b5e9af2df4ed7f7860a6768daf83f72724ca
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Feb 4 10:37:10 2014 -0500

	    nix-instantiate --eval-only --read-write-mode: Don't depend on ordering

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit e4058fab64d82ddb7723142c7c595e80eeba0f3e
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Feb 4 10:35:30 2014 -0500

	    Rename --no-readonly-mode --read-write-mode

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 0c3e8a616e8e243ee45c78491fe86f50230d82b9
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Feb 4 09:17:59 2014 -0500

	    nix-instantiate: Add a --no-readonly-mode flag

	    This allows running nix-instantiate --eval-only without performing the
	    evaluation in readonly mode, letting features like import from
	    derivation and automatic substitution of builtins.storePath paths work.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 0432bc52ea21bb7b60477965054362f7414c569f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 7 17:34:39 2014 +0100

	    Fix the RPM build

	commit 7fab23e237b36a7ca2df6f34eb5febe4c851db42
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 7 17:15:00 2014 +0100

	    Install header files

	commit 764d90597a2ef9f5f5a5041993b728e020fb08b0
	Merge: 2a469ad a210c99
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 7 16:27:34 2014 +0100

	    Merge commit 'a210c995cdd9279ed4137ec5d2e4cc928cb36097'

	commit a210c995cdd9279ed4137ec5d2e4cc928cb36097
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 7 15:06:21 2014 +0100

	    Support DESTDIR

	commit 97f8e9bc76b08ac6d63c6419490f8fcc9670a58b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 6 19:06:08 2014 +0100

	    Remove dead code

	commit 2a469ad31da7cac5c4ecab6838c364956319821f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 6 14:21:14 2014 +0100

	    Set a maintainer address

	    Issue #202.

	commit 1f94ec3924f132ae6d92b29631a59f9818ba4e31
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 6 13:54:44 2014 +0100

	    Clean up a test warning

	commit 20d059892819d2f06f4da8c1150c91e16df1f8cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 6 13:51:57 2014 +0100

	    Drop dependency on ‘expr’

	    http://hydra.nixos.org/build/8715639

	    Not sure why this causes a failure now.

	commit 4161fce472a8875427e73776d0e8665ca49c1835
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 6 10:59:58 2014 +0100

	    Create the target directory of libraries and programs

	commit 80b691316c4b15e69c63c285b8ed6cc72fb95e93
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 4 11:08:41 2014 +0100

	    Fix version in nix.spec

	    http://hydra.nixos.org/build/8715502

	commit 4ee6001f95908578a1693c0fbf7b7fdc309b86c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 4 11:02:49 2014 +0100

	    GNU Make 3.81 compatibility

	    3.81 doesn't understand the ‘define foo =’ syntax, which was added in
	    3.82.  So use ‘define foo’ instead.

	commit 0da82efa5d67ab1eb8b8cc066704d7f863451d5b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 4 11:02:49 2014 +0100

	    GNU Make 3.81 compatibility

	    3.81 doesn't understand the ‘define foo =’ syntax, which was added in
	    3.82.  So use ‘define foo’ instead.

	commit 143224f7cd6f6667047a1683c1ede4e1f7816843
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 4 10:09:45 2014 +0100

	    Add nix.spec to the distribution

	commit d210cdc4355bb48786b474e41a8ed7f1a152626f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 3 22:36:07 2014 +0100

	    Fix assertion failure in ‘nix-store --load-db’

	    Namely:

	      nix-store: derivations.cc:242: nix::Hash nix::hashDerivationModulo(nix::StoreAPI&, nix::Derivation): Assertion `store.isValidPath(i->first)' failed.

	    This happened because of the derivation output correctness check being
	    applied before the references of a derivation are valid.

	commit 73a775f3b757d105a9987c5e469d6a3e8f32024f
	Merge: d6582c0 8468806
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 3 19:57:02 2014 +0100

	    Merge commit '8468806552d6730abec6431c42b5b0e897c0222c'

	commit 8468806552d6730abec6431c42b5b0e897c0222c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 3 17:05:55 2014 +0100

	    Add a basic README

	commit d6582c04c169d7ac32820d855de92ca4e4969de3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 16:57:38 2014 +0100

	    Give a friendly error message if the DB directory is not writable

	    Previously we would say "error: setting synchronous mode: unable to
	    open database file" which isn't very helpful.

	commit 2f9bb5c7e744ddca3fbe5576e520a3e80c106c55
	Merge: c5ba081 6dca720
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 16:41:52 2014 +0100

	    Merge branch 'make'

	commit 6dca72006aa9b1cf2f226bb5b538e744fcab976f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 16:30:24 2014 +0100

	    Only run "git ls-files" when doing "make check"

	commit 2a97f7b039be4cd290076707e1b02d04d3b257b6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 16:08:59 2014 +0100

	    Fix logging test

	commit 965218a62a195632fe754307e09d4d4abd286c82
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 16:08:51 2014 +0100

	    Remove obsolete file

	commit b6465ae5d3efb057b82f31e10112cc359b9afdfd
	Merge: 762ef46 28dc488
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 15:37:59 2014 +0100

	    Merge commit '28dc4883356a50f2805a3e3c819a541c44a4ff0a' into make

	commit 762ef464f843a0fe50e25ba07d11296b1540080e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 15:37:50 2014 +0100

	    Fix the nix-profile test

	commit 28dc4883356a50f2805a3e3c819a541c44a4ff0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 15:33:27 2014 +0100

	    installcheck: Don't depend on install

	    This is a hack to prevent "installcheck" from clobbering files fixed
	    up by Nixpkgs' fixupPhase.

	commit 844d83352c23db4a3131ac2b11b9ed2af03cdfd6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 15:18:48 2014 +0100

	    More "make dist" fixes

	commit 74ca70da3a6d2f110a9dccf15c46422b1b078e3f
	Merge: 6ef32bd 1eff3ad
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 14:38:28 2014 +0100

	    Add 'mk/' from commit '1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545'

	    git-subtree-dir: mk
	    git-subtree-mainline: 6ef32bddc1f10034322966b3a5b85af7b9cdc4d8
	    git-subtree-split: 1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545

	commit 6ef32bddc1f10034322966b3a5b85af7b9cdc4d8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 14:28:31 2014 +0100

	    Fix "make dist"

	commit 1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 14:36:44 2014 +0100

	    Add missing file

	commit 6f8aa145d43d0453d74e70d1d33cfa6e21fddf89
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 14:22:08 2014 +0100

	    Improve "make dist"

	commit 0c6d62cf27b3b22fa60bddad16ea8e8d062e4a99
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 12:26:38 2014 +0100

	    Remove Automakefiles

	commit 16e7d692092449263880ee795ec419cecbe22d24
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 12:23:14 2014 +0100

	    Update Makefile variable names

	commit ec1738589a3aa1dd59e476de09ae2721d51b3e6e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 12:20:06 2014 +0100

	    Make variable names more regular

	commit 35107038f7c726f5ef8d7ab014ad45c73970e65d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 11:47:34 2014 +0100

	    Support adding "make help" text

	commit f324b49ea19e606f84b89ecb499f0e961646cd50
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 11:31:25 2014 +0100

	    Change dependency file names from foo.dep to .foo.o.dep

	commit ac8c2ef1aa30c50b568883d2051335a66437694f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 11:30:21 2014 +0100

	    Build/install manual

	commit 4271927c5be2c5b87ca83682d1f2bd71d5ce4a66
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jan 31 15:33:12 2014 +0100

	    Add support for installing man-pages

	commit e0234dfddc8343a6bca80ba6e6e93d083ce51a85
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 30 12:11:06 2014 +0100

	    Rename Makefile -> local.mk

	commit 4a2ec9c6598aafb98e5495c2cf3a24e166668790
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 30 12:08:26 2014 +0100

	    Install nix-worker symlink

	commit c5ba08133370f98de722c978bda3b446721985de
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 23 13:33:00 2014 +0100

	    nix-shell: Add --impure flag

	    This is currently the default, but I might change that to --pure in
	    the future.

	commit 79dee4283de798da8728dd8504cdc4ab5c9b9fe0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 23 13:31:29 2014 +0100

	    nix-shell: Preserve the TZ variable of the user

	commit 7fdee6e13695a1e85b0b3f476a33a9e934af3f0b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 23 13:27:22 2014 +0100

	    nix-build: Refactor

	commit 5311b2b25084e53ff132df96d66ab06efead0853
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 23 10:49:53 2014 +0100

	    Clang doesn't know the "-z defs" flag

	commit 94f9c14d526abfe9b18045fc638e8f5a3a670210
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 18:29:55 2014 +0100

	    Fix some clang warnings

	commit a26307b28192e61bc06b5f5ef42f0fb51858d822
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 17:39:19 2014 +0100

	    Fix build

	commit 625ffd441d8c98331ee357f4900fa50dd9be05bc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 16:38:03 2014 +0100

	    Ugly hack to fix building with clang

	commit 68cde53c47e5447d2c91f5fe4521b5209af7b73e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 15:34:04 2014 +0100

	    Fix building against Bison 3.0.2

	commit 81628a6ccc6ce496735b22492bee15c9ad46f072
	Merge: b1db599 5ef8508
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 15:30:01 2014 +0100

	    Merge branch 'master' into make

	    Conflicts:
	    	src/libexpr/eval.cc

	commit 5ef8508a92997dbd7f8aa501b64fd283fb1c7bb8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 15:11:57 2014 +0100

	    Remove unused type

	commit c8fff6a77fb63dc8043a7a468feea37b41bfec06
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 15:09:59 2014 +0100

	    Fix evaluation

	commit 0e2ca268187e0a1c17f2ba58ce53f59682df2fc4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 20 14:23:07 2014 +0100

	    nix.spec: Remove "make check" since it's a no-op

	commit 0f2f44bb0ff8aafc160d8b236201ce510ca0b876
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 20 14:22:59 2014 +0100

	    Build Fedora 20 RPMs

	commit bf0ad8aabca67b4faabe3a1ac3c57884ae9924f4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 15 14:34:49 2014 +0100

	    nix-profile.sh: Add the Nixpkgs channel to $NIX_PATH

	commit f5e5793cd2f32bc0f0d072b38cda742830f40f25
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jan 6 13:53:57 2014 -0500

	    Bare dynamic attrs: Match interpolation semantics

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit f9913f4422d1317af3c6b5aff37ad18b78083eb5
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jan 6 10:27:26 2014 -0500

	    Allow "bare" dynamic attrs

	    Now, in addition to a."${b}".c, you can write a.${b}.c (applicable
	    wherever dynamic attributes are valid).

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit e640d671443e291b3ca5cc0575919d6fcf14a157
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 13 13:50:12 2014 +0100

	    Document nulls

	commit f1357059a441a588b9a2b78d3500d7068238b478
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 13 13:46:44 2014 +0100

	    nix-shell: Don't set NIX_INDENT_MAKE

	    It generally is not useful in interactive environments (and messes up
	    some non-ANSI-compliant terminals).

	commit ea59f39326c8e9dc42dfed4bcbf597fbce58797c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 13 13:42:29 2014 +0100

	    nix-shell: Set $IN_NIX_SHELL before evaluating

	commit ca73c0102fc68ece171d7cc062e464b4d418d07c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jan 10 22:31:38 2014 +0100

	    Nicer Make output

	    E.g.

	      CXX    src/nix-log2xml/log2xml.o
	      CC     src/bsdiff-4.3/bsdiff.o
	      GEN    scripts/nix-channel
	      LD     src/libmain/libnixmain.so

	commit e991ab942b6ed1bc50a63afafe55ffe5cae8cbad
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 22:14:34 2014 +0100

	    Add support for building shared libraries on Mac OS X

	commit b1db599dd05e86f65e73dc40584913e6e78c2bac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 22:10:35 2014 +0100

	    Generate schema.sql.hh

	commit cf918b889b2ff30d1532a62d00c21007d0cb25cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 17:33:55 2014 +0100

	    Handle systems where "echo -n" doesn't work

	commit 70d8e8fdded9e21995fecc3ecc68e14cf4f53be7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 16:57:38 2014 +0100

	    Declare template_files as a simply expanded variable

	commit 814a73227f9571d8fbd831fedced5e87cd9c926b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 16:54:01 2014 +0100

	    Remove duplicate elements from *_SOURCES

	    This is useful when you do:

	      foo_SOURCES := $(wildcard *.cc) foo.cc

	    where foo.cc is a generated file.  In this case, if foo.cc already
	    exists, you get foo.cc twice in foo_SOURCES, leading to a link error.

	commit b4c684e0f9c6890e13f9a5cc90b5e379b3d1f75d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 16:53:47 2014 +0100

	    Update Makefiles

	commit 568b1b0a8a65cb255d6a7a33dfe2c15df3212103
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 16:15:16 2014 +0100

	    Remove mk subdirectory in preparation for "git subtree"

	commit 55c9a40613fefda6622aa9acd22cce4006fd1077
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 16:12:02 2014 +0100

	    Move stuff to top-level

	    This makes it easier to use with "git subtree".

	commit f4013b6189af731af42f99684ed7721076a54a0d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 8 17:56:58 2014 +0100

	    Fix signed-binary-caches test

	commit ea38e39a203a96451b1d0469103b737de5a85105
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 8 17:56:30 2014 +0100

	    Test whether Nix correctly checks the hash of downloaded NARs

	commit 11cb4bfb257f18c906ef1d6f14ed450be8fa49fe
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 8 17:32:40 2014 +0100

	    Fix checking of NAR hashes

	    *headdesk*
	    *headdesk*
	    *headdesk*

	    So since commit 22144afa8d9f8968da351618a1347072a93bd8aa, Nix hasn't
	    actually checked whether the content of a downloaded NAR matches the
	    hash specified in the manifest / NAR info file.  Urghhh...

	commit 0fdf4da0e979f992db75cc17376e455ddc5a96d8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 8 15:23:41 2014 +0100

	    Support cryptographically signed binary caches

	    NAR info files in binary caches can now have a cryptographic signature
	    that Nix will verify before using the corresponding NAR file.

	    To create a private/public key pair for signing and verifying a binary
	    cache, do:

	      $ openssl genrsa -out ./cache-key.sec 2048
	      $ openssl rsa -in ./cache-key.sec -pubout > ./cache-key.pub

	    You should also come up with a symbolic name for the key, such as
	    "cache.example.org-1".  This will be used by clients to look up the
	    public key.  (It's a good idea to number keys, in case you ever need
	    to revoke/replace one.)

	    To create a binary cache signed with the private key:

	      $ nix-push --dest /path/to/binary-cache --key ./cache-key.sec --key-name cache.example.org-1

	    The public key (cache-key.pub) should be distributed to the clients.
	    They should have a nix.conf should contain something like:

	      signed-binary-caches = *
	      binary-cache-public-key-cache.example.org-1 = /path/to/cache-key.pub

	    If all works well, then if Nix fetches something from the signed
	    binary cache, you will see a message like:

	      *** Downloading ‘http://cache.example.org/nar/7dppcj5sc1nda7l54rjc0g5l1hamj09j-subversion-1.7.11’ (signed by ‘cache.example.org-1’) to ‘/nix/store/7dppcj5sc1nda7l54rjc0g5l1hamj09j-subversion-1.7.11’...

	    On the other hand, if the signature is wrong, you get a message like

	      NAR info file `http://cache.example.org/7dppcj5sc1nda7l54rjc0g5l1hamj09j.narinfo' has an invalid signature; ignoring

	    Signatures are implemented as a single line appended to the NAR info
	    file, which looks like this:

	      Signature: 1;cache.example.org-1;HQ9Xzyanq9iV...muQ==

	    Thus the signature has 3 fields: a version (currently "1"), the ID of
	    key, and the base64-encoded signature of the SHA-256 hash of the
	    contents of the NAR info file up to but not including the Signature
	    line.

	    Issue #75.

	commit 405434e084fa994cc957249db7787731e9311fa8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 6 17:38:04 2014 +0100

	    Revert "nix-shell: Set $IN_NIX_SHELL before evaluation"

	    This reverts commit 0c1198cf08576f16633b2344dc6513cefb567cfc.

	commit 7a61c88dbb517453f73c5b4ede4a4468e38cae32
	Merge: 485f474 cd49fe4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 6 15:46:18 2014 +0100

	    Merge branch 'dynamic-attrs-no-sugar' of github.com:shlevy/nix

	commit 485f4740ee3ba4228ba3345873eb530466a8f42d
	Author: Domen Kožar <domen@dev.si>
	Date:   Wed Jan 1 18:10:48 2014 +0100

	    wording

	commit fe23e28f12f5eedf387c974c73813f6de8320b21
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 6 11:34:05 2014 +0100

	    Disable FreeBSD tests for now

	    The FreeBSD machines in the build farm are currently unreachable.

	commit 4252b5a645138e84fa8916dfc3f8d6af8e74fc28
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 6 11:32:22 2014 +0100

	    Disable the tail call test

	    On i686-linux, GCC stubbornly refuses to do tail-call optimisation.
	    Don't know why.

	    http://hydra.nixos.org/build/7300170

	commit cd49fe4f9b338242e1e404fd4dbb0a3ebc1c3a12
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Dec 31 23:56:26 2013 +0000

	    Don't use any syntactic sugar for dynamic attrs

	    This doesn't change any functionality but moves some behavior out of the
	    parser and into the evaluator in order to simplify the code.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 6f3a51809a2603574a16573bd46b95e4ff5233bd
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Dec 31 17:57:10 2013 -0500

	    Fold dynamic binds handling into addAttr

	    Since addAttr has to iterate through the AttrPath we pass it, it makes
	    more sense to just iterate through the AttrNames in addAttr instead. As
	    an added bonus, this allows attrsets where two dynamic attribute paths
	    have the same static leading part (see added test case for an example
	    that failed previously).

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 18fefacf7df570444b332a8a0c2dc4f9d98d4344
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 20 23:25:30 2013 -0400

	    Dynamic attrs

	    This adds new syntax for attribute names:

	    * attrs."${name}" => getAttr name attrs
	    * attrs ? "${name}" => isAttrs attrs && hasAttr attrs name
	    * attrs."${name}" or def => if attrs ? "${name}" then attrs."${name}" else def
	    * { "${name}" = value; } => listToAttrs [{ inherit name value; }]

	    Of course, it's a bit more complicated than that. The attribute chains
	    can be arbitrarily long and contain combinations of static and dynamic
	    parts (e.g. attrs."${foo}".bar."${baz}" or qux), which is relatively
	    straightforward for the getAttrs/hasAttrs cases but is more complex for
	    the listToAttrs case due to rules about duplicate attribute definitions.

	    For attribute sets with dynamic attribute names, duplicate static
	    attributes are detected at parse time while duplicate dynamic attributes
	    are detected when the attribute set is forced. So, for example, { a =
	    null; a.b = null; "${"c"}" = true; } will be a parse-time error, while
	    { a = {}; "${"a"}".b = null; c = true; } will be an eval-time error
	    (technically that case could theoretically be detected at parse time,
	    but the general case would require full evaluation). Moreover, duplicate
	    dynamic attributes are not allowed even in cases where they would be
	    with static attributes ({ a.b.d = true; a.b.c = false; } is legal, but {
	    a."${"b"}".d = true; a."${"b"}".c = false; } is not). This restriction
	    might be relaxed in the future in cases where the static variant would
	    not be an error, but it is not obvious that that is desirable.

	    Finally, recursive attribute sets with dynamic attributes have the
	    static attributes in scope but not the dynamic ones. So rec { a = true;
	    "${"b"}" = a; } is equivalent to { a = true; b = true; } but rec {
	    "${"a"}" = true; b = a; } would be an error or use a from the
	    surrounding scope if it exists.

	    Note that the getAttr, getAttr or default, and hasAttr are all
	    implemented purely in the parser as syntactic sugar, while attribute
	    sets with dynamic attribute names required changes to the AST to be
	    implemented cleanly.

	    This is an alternative solution to and closes #167

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 136f2f7046dfed18fde0b5f9933ddfafc1518ef5
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 13 16:55:33 2013 -0400

	    Add the ExprBuiltin Expr type to the AST

	    Certain desugaring schemes may require the parser to use some builtin
	    function to do some of the work (e.g. currently `throw` is used to
	    lazily cause an error if a `<>`-style path is not in the search path)
	    Unfortunately, these names are not reserved keywords, so an expression
	    that uses such a syntactic sugar will not see the expected behavior
	    (see tests/lang/eval-okay-redefine-builtin.nix for an example).

	    This adds the ExprBuiltin AST type, which when evaluated uses the value
	    from the rootmost variable scope (which of course is initialized
	    internally and can't shadow any of the builtins).

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 5ba5993470a6ad532fc8e842084a574a88876b0a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Dec 30 07:58:14 2013 -0500

	    nix-shell --pure: Don't clear IN_NIX_SHELL

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit b352fe2775d09993add893ebff8c0c4c8369182a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 14:18:24 2013 +0100

	    Revert "Scan /proc/<pid>/cmdline for GC roots"

	    This reverts commit 194e3374b89b8b2dec6296923877304bdb5c6ae2.
	    Checking the command line for GC roots means that

	      $ nix-store --delete $path

	    will fail because $path is now a root because it's mentioned on the
	    command line.

	commit 8931bf7168cbbc6a078bed6486b8081652663836
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 13:09:12 2013 +0000

	    Doh

	commit f1e5dedb611d39ecc600fccb4eba4b0de730c5fc
	Author: Petr Rockai <me@mornfall.net>
	Date:   Sun Nov 24 21:22:23 2013 +0100

	    perl: Call loadConfFile() in doInit to avoid screwing sqlite journal mode.

	    If the database is opened through perl bindings (and even though nix.conf has
	    use-sqlite-wal set to false), the database is automatically converted into WAL
	    mode. This makes the next nix process to access the database convert it back to
	    "truncate". If the database is still open at the time in wal mode by the perl
	    program, this fails and crashes the nix doing the wal -> truncate conversion.

	commit 7d203faff6d74d839324cd082236381d20444d8e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 13:56:42 2013 +0100

	    nix-env --set-flag: Barf if a selector doesn't match any installed package

	    Fixes #184.

	commit 194e3374b89b8b2dec6296923877304bdb5c6ae2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 13:31:31 2013 +0100

	    Scan /proc/<pid>/cmdline for GC roots

	commit 769f66216504cd882ac7b6bdfa0dd1ff26f3efe5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 12:19:10 2013 +0000

	    nix-shell: Don't warn about the lack of a GC root

	commit 0c1198cf08576f16633b2344dc6513cefb567cfc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 13:11:41 2013 +0100

	    nix-shell: Set $IN_NIX_SHELL before evaluation

	    This has some hacky applications.

	commit 65a64522403f353880a501b02aca10fb96ea1c26
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 13:10:14 2013 +0100

	    nix-shell: Handle --option correctly

	    Fixes #181.

	commit 259086de841d155f7951c2cc50f799a4631aa512
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 18 16:40:48 2013 +0100

	    Add support for building JARs from Java sources

	commit 99ed25accfd968003d3b0d294720828a1348ce47
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 18 15:01:14 2013 +0100

	    Add a function for doing recursive wildcard searches

	    Source: http://blog.jgc.org/2011/07/gnu-make-recursive-wildcard-function.html

	commit 7b0d8fb23d9c71f1efb119c1f267124349c82742
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 17 18:16:04 2013 +0100

	    nix-shell --pure: Keep $TERM

	commit 088552b319d8f5896e6cfd6a8e449b4239696ea2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 17 12:13:48 2013 +0100

	    Set default installation paths

	commit e81b82a2cf0c7e460d02c554c597a6cf9a144e8e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 16 16:51:05 2013 +0100

	    make dryclean: Sort names

	commit a630635d7f0e63a865ddd3b0a3cf2d44c603c0e5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 16 16:49:41 2013 +0100

	    No longer interpret $(..._SOURCES) relative to $(..._DIR)

	commit 4da804651378b612313c8fb71688f71a4717a26e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:39:58 2013 +0100

	    Don't include all *.dep files

	commit 034bbcafafdbec0b2c4d29b1d5018bec20120e77
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:27:47 2013 +0100

	    Add 'make help'

	commit 45131da736f21975e5b6d03f508b49f10621a30e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:24:03 2013 +0100

	    Get rid of whitespace in $(d)

	commit c34f3c5ba4f353d67ec4a88a32c3aa688347aa4d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:22:57 2013 +0100

	    Handle *.cpp extension

	commit dfcc64f556295481bfea0b68cab11604ec131189
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:22:25 2013 +0100

	    Only provide 'make dist' if PACKAGE_NAME is set

	commit 3560f52cc427a4eb368815ae7dd9badffba84f3f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:22:08 2013 +0100

	    dryclean: Show what actual files would be deleted

	commit 49a385096e08b42277b7105d5d8d1e0e62b6b7a4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 10 15:54:34 2013 +0100

	    Initial commit (imported from the Nix repo)

	commit e36229d27f9ab508e0abf1892f3e8c263d2f8c58
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Dec 5 12:07:05 2013 -0500

	    Bump language version for new storePath feature

	    This will allow e.g. channel expressions to use builtins.storePath IFF
	    it is safe to do so without knowing if the path is valid yet.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 22d665019a3770148929b7504c73bcdbe025ec12
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Dec 5 11:51:54 2013 -0500

	    builtins.storePath: Try to substitute the path if it is not yet valid

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit a6add93d734279db8503951ac6466c275b3c8e4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 10 13:13:59 2013 +0100

	    Garbage collector: Release locks on temporary root files

	    This allows processes waiting for such locks to proceed during the
	    trash deletion phase of the garbage collector.

	commit c5b8fe315162440c1d808bc0a684a412d78bfa76
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 5 14:31:57 2013 -0500

	    Print a trace message if a build fails due to the platform being unknown

	commit bf8b66adcfdc04f2f0f0a482c66dd419a355cad6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 4 13:41:32 2013 -0500

	    Add missing file

	commit f3cf0436b520918e061bf91efef3bb19b99bf726
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 2 20:21:31 2013 +0000

	    Install bsdiff and bspatch in $(libexecdir)/nix

	commit 0202ce6b94f287f70a6723473c73a4c7f135dae4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 18:47:03 2013 +0100

	    Add support for ‘make installcheck’

	commit 9285f0aa2b44427afef7c50f0efae8f74307a7a5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 16:38:33 2013 +0000

	    Add a Makefile for the Perl stuff

	commit 8f08046606c147004642a7569f78bc61ab450419
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 15:51:22 2013 +0000

	    Expand configure variables before writing config.status

	    This way, we can use config.status for generating scripts/* (without
	    ending up with lines like "#! /usr/bin/perl -I${libexecdir}/...").

	commit 7ce0e05ad875657a0fec10e192454b837146e190
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 15:25:13 2013 +0000

	    Rename Makefile.new -> Makefile

	commit 962551a071da87589a97a2f40d72b87d6e6ba9e2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 15:05:56 2013 +0000

	    Add a Makefile for the scripts directory

	commit 1a1d8b073a1d770c8de4f8eb274387b209b32782
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 11:39:21 2013 +0000

	    Add a Makefile for bsdiff

	commit 784feb68392ec4a0bdd45bf0d37f08c3eb1b61ac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 11:29:13 2013 +0000

	    Let ‘make clean’ delete instantiated template files

	commit cac06ed0a4b63bab62ba7629584db602222131f2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 11:26:51 2013 +0000

	    Remove obsolete setting of $CC_FOR_BUILD

	commit b225ccb65455b24141cffd6706b6fba8a4838525
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 11:26:02 2013 +0000

	    Add config.guess, config.sub and install-sh

	    Autoreconf doesn't install these if you're not using Automake.

	commit 0c504a756cbcf58f0fc4b1a9083d372e1dbb50ac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 11:18:41 2013 +0000

	    Don't install Libtool

	commit 2cc591c7b55a1d3e8f667871b0ddf216d81d6b47
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 10:56:14 2013 +0000

	    Don't instantiate Automake makefiles

	commit 79b7c596a994dd426807281c3c34d8cb6bc12e5f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 10:17:37 2013 +0000

	    Use create-dir for installing dynamic libraries

	commit ed0a8dd71ad58d16c24d714ab2b9419285d1ffc0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 10:16:07 2013 +0000

	    Add a function for instantiating Autoconf *.in files

	commit f980755766e7cd74c0c959eaa2a6d4655980e2ea
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 09:50:35 2013 +0000

	    Split Makefile.lib into several *.mk files

	commit e9b6397d2f902eb4f5bf0fd513013d92af074cfc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 09:17:02 2013 +0000

	    Add a rule for creating directories

	    The tricky thing here is that if you have a directory as a
	    prerequisite, you need to declare it as a "order-only prerequisite"
	    ("dir/prog: stuff | dir"), otherwise the target will be rebuilt every
	    time because the timestamp on the directory keeps changing.

	commit 4315acb8c0a40703b17f837ab82e9a691b5c14ab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 08:55:19 2013 +0000

	    Add a generic rule for installing files

	commit c7547cff1951aec5e36580a8497dd13020dfc8d3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 23:56:23 2013 +0000

	    Install into $(libdir) instead of $(pkglibdir)

	    We don't need $(pkglibdir) anymore, since the libraries themselves
	    have a "nix" prefix now.

	commit 2bd0fcc9663211cc480f61dc9e05f43ac9ecca69
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 23:53:41 2013 +0000

	    Use libnix as a prefix for all Nix libraries

	    In particular "libutil" was always a problem because it collides with
	    Glibc's libutil.  Even if we install into $(libdir)/nix, the linker
	    sometimes got confused (e.g. if a program links against libstore but
	    not libutil, then ld would report undefined symbols in libstore
	    because it was looking at Glibc's libutil).

	commit f267ff16b4527ca6c083014b93b4568d89221f49
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 23:49:34 2013 +0000

	    Allow libraries to set an actual name different from the symbolic name

	commit abb5bd66dee7afe9560b3a132da42b71d4801274
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 23:42:50 2013 +0000

	    Add Makefile for nix-log2xml

	commit 07c87a8e9ef7bd42995230700169c6a18cf26313
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Nov 24 00:15:25 2013 +0100

	    Consistent naming

	commit c1f3a1a89b717e73c2a8c2315067c495e246457c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Nov 24 00:10:00 2013 +0100

	    Disallow undefined symbols in dynamic libraries by default

	    This encourages that each library declares its own dependencies
	    properly.

	commit 5a1114ecdbbd115ec8aeb1a98326d793ff3e8058
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 20:19:36 2013 +0000

	    Drop the dependency on libgc in libmain

	    Instead, libexpr now depends on libgc.  This means commands like
	    nix-store that don't do any evaluation no longer require libgc.

	commit 06a8ac96e79547c092debfe3b93d78bcb862edc2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 20:15:57 2013 +0000

	    Initialise Boehm GC only once

	commit 90dfb37f147941e5edf262c27e269cdfd1e8dcfb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 20:11:02 2013 +0000

	    Allow (dynamic) libraries to depend on other libraries

	commit 14772783e66a6e67726872926834c0e9f7210e6d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 20:32:20 2013 +0100

	    Support installation of dynamically linked programs

	    Here we need to re-link programs so that their RPATH refers to the
	    installed libraries.

	commit 611868a90904ac233d8476682a4618fdd8c78c50
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 17:04:27 2013 +0000

	    Implement basic ‘make install’

	commit d1b3ca0b4a57f48f94a555c97f6a555c3a1f3639
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 17:20:15 2013 +0100

	    Improve building dynamic libraries

	    They now get a correct RPATH.

	commit 6dd74b48f8d587fcc215e9f4721eacace7f8f462
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 20:56:58 2013 +0000

	    Support building dynamic libraries

	commit 9b11a8bfbcfd9e6f40ae8b573d4de492a23b91b9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 20:05:00 2013 +0000

	    Fix building without Boehm GC

	commit 812b5a30ecc9d8f78b54644b37c5c2c4375555bc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 19:51:18 2013 +0000

	    Add a Makefile variable for enabling debug info

	commit ea2f7df5fac0b319b82a4a33ba8b992737fa8c56
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 20:38:30 2013 +0100

	    Introduce variables GLOBAL_CFLAGS and GLOBAL_CXXFLAGS

	    There are flags that must be set, so they shouldn't be overriden by
	    the user's CFLAGS or CXXFLAGS.

	commit 6b5f89f2cf954cae1623a6cd3a8f7eb78e19e85b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 19:30:24 2013 +0000

	    Drop the dependency on Automake

	commit 754c05ed6c3b88f8180ae8686e030b5b02b23d43
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 16:45:52 2013 +0000

	    Rename $(here) to $(d) for brevity, and remove trailing slash

	commit 9a14d5e2f3a0b6ab626b9d22256df8bcc1c585a3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 16:59:09 2013 +0100

	    Automatically regenerate Makefile.config

	    And move some stuff around.

	commit ffdc85fc8afba0828bd1f300fdb4f68de99d7000
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 15:47:47 2013 +0000

	    Respect configure flags

	commit 62e35cc3a893e3bc4ed1fe2a37ba67af9859b4cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 16:42:25 2013 +0100

	    Add ‘make dist’ support

	commit eff6c4b791ad0a8b9a8499fcbcc2add7154d4dca
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 15:41:48 2013 +0000

	    Add missing #include

	commit e0a108b203b40f81df4cb0f1e433476cd8a37491
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 15:25:10 2013 +0000

	    Remove unnecessary line

	commit eaf903f993094af27958b9935635710ffbf42bf6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 16:24:41 2013 +0100

	    Clean more aggressively

	commit 1474ecfe426ef69bbb376df82fd0c48e7dedf606
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 16:22:31 2013 +0100

	    Generate the parser and the lexer

	commit bc96c4518e4430f0cd996b2c77fe8e08d7694efa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 15:10:33 2013 +0000

	    Automatically emit make rules for header files

	commit b8e9efc476abc248a17c9e9cd117f3d53e4a7f63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 15:54:18 2013 +0100

	    New non-recursive, plain Make-based build system

	commit 709cbe4e76e7b0f1b8abddbeb7714e194f6f8a02
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 10:00:43 2013 +0000

	    Include <cstring> for memset

	    This should fix building on Illumos.

	commit d4a76ff0e45a609b3a878bc0ccf4ff95ff3e9ecb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 14:45:19 2013 +0100

	    Bump version number

	commit 30b986908eed5d8fd6a2b21da98878f2a0bf19c0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 14:29:39 2013 +0100

	    Check meta values and warn about bad ones

	commit 0f24400d90daf65cf20142a662f8245008437e2c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 14:09:03 2013 +0100

	    Generalise meta attributes

	commit 990126cde03428509191bed132f38050034d342e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 12:08:03 2013 +0000

	    Shorter error message

	commit af94a70ba6bb9ba2eac328133b2a97d405867f68
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 11:18:13 2013 +0100

	    Drop support for user environment manifests in ATerm format

	commit 245e26408fc0954974a1b30991af6d97c1d1e2ce
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 00:41:45 2013 +0100

	    nix-env -q: Add a --json flag

	commit 5fea98111b3cd9b94ed1ebe89953a7757d6d3a69
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 00:33:06 2013 +0100

	    Refactor JSON output

	commit 77c13cdf566ffedc70d8860571afae8a6d43b552
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 00:03:11 2013 +0100

	    Add a toJSON primop

	commit 285df765b91588e39d6f35a32e30b84c3cb5be75
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 18 22:22:35 2013 +0100

	    Add a primop unsafeGetAttrPos to return the position of an attribute

	commit fc33fd86b7727365caab44c05a90d5b52209131b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 18 20:14:54 2013 +0100

	    Add a symbol __curPos that expands to the current source location

	    I.e. an attribute set { file = <string>; line = <int>; column = <int>; }.

	commit 90b5e692846d9b7a951155c5ed4fc7cf72b08e31
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 18 10:21:12 2013 +0000

	    Support quoted attribute names in -A

	    This is requires if you have attribute names with dots in them.  So
	    you can now say:

	      $ nix-instantiate '<nixos>' -A 'config.systemd.units."postgresql.service".text' --eval-only

	    Fixes #151.

	commit a478e8a7bb8c24da0ac91b7100bd0e422035c62f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 14 11:57:37 2013 +0100

	    Remove nix-setuid-helper

	    AFAIK, nobody uses it, it's not maintained, and it has no tests.

	commit 89e6781cc5885cbf6284a51c0403dded62ce8bc0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 12 12:51:59 2013 +0100

	    Make function calls show up in stack traces again

	    Note that adding --show-trace prevents functions calls from being
	    tail-recursive, so an expression that evaluates without --show-trace
	    may fail with a stack overflow if --show-trace is given.

	commit 2bcb384e95500ff197fd4888c659ccf0034cf214
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 12 11:31:50 2013 +0000

	    Add a test to check that tail calls run in bounded stack space

	commit c897bac54954373f63511702731fe2cb23c0c98e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 7 17:04:36 2013 +0000

	    Make function calls tail-recursive

	commit 273322c7732093a354e86df82cf75d6604b8bce8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 7 14:33:35 2013 +0100

	    Make ifs and asserts tail-recursive

	    The local Value object prevented g++ from making a tail call.  Not
	    clear why.  In any case, not using a temporary makes g++ do the tail
	    call.

	commit 4badd7ed17b4628d3a8d96e21c900aa91004daaf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 7 12:44:14 2013 +0000

	    Get rid of an intermediary on the stack

	commit 8d6418d46e5f8a2f31417ba363efd2785c49b2eb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 28 22:51:12 2013 +0100

	    Fix building without a garbage collector

	    http://hydra.nixos.org/build/6695350

	commit dec2f195022bcc14f217aa20c1e05e4b7fe9e917
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 28 18:50:58 2013 +0100

	    Fix a segfault in genericClosure

	    It kept temporary data in STL containers that were not scanned by
	    Boehm GC, so Nix programs using genericClosure could randomly crash if
	    the garbage collector kicked in at a bad time.

	    Also make it a bit more efficient by copying points to values rather
	    than values.

	commit 61231449332154170eafc2b80c10328ba736f31e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 28 11:56:37 2013 +0000

	    Drop Cygwin and Solaris builds

	commit 1dacd427cd2d149fe46e0cb43ca45bb9344de2f7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 28 11:56:21 2013 +0000

	    Update release notes, set version for 1.6.1 release

	commit ea6bf0c21fc08ea269514fa9788f8f05fcc54fb5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 28 07:34:44 2013 +0100

	    Slightly optimize listToAttrs

	commit 36e67ff16bc6a4cb96466f58616a95a25250274d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 22:06:39 2013 +0200

	    Undocument obsolete form of "let"

	commit fba17a9043527aad89dbf53d3458ca14a86a421c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 22:05:58 2013 +0200

	    Doc fix

	commit 2d9bb56e554b17488c0f8984f34c026a66cdce67
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 19:10:38 2013 +0200

	    Fix segfault on Darwin

	    Ever since SQLite in Nixpkgs was updated to 3.8.0.2, Nix has randomly
	    segfaulted on Darwin:

	      http://hydra.nixos.org/build/6175515
	      http://hydra.nixos.org/build/6611038

	    It turns out that this is because the binary cache substituter somehow
	    ends up loading two versions of SQLite: the one in Nixpkgs and the
	    other from /usr/lib/libsqlite3.dylib.  It's not exactly clear why the
	    latter is loaded, but it appears to be because WWW::Curl indirectly loads
	    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation,
	    which in turn seems to load /usr/lib/libsqlite3.dylib.  This leads to
	    a segfault when Perl exits:

	      #0  0x00000001010375f4 in sqlite3_finalize ()
	      #1  0x000000010125806e in sqlite_st_destroy ()
	      #2  0x000000010124bc30 in XS_DBD__SQLite__st_DESTROY ()
	      #3  0x00000001001c8155 in XS_DBI_dispatch ()
	      ...
	      #14 0x0000000100023224 in perl_destruct ()
	      #15 0x0000000100000d6a in main ()
	      ...

	    The workaround is to explicitly load DBD::SQLite before WWW::Curl.

	commit 5bc41d78ffcd2952eaddb20ef129f48e94d60cb0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 16:41:04 2013 +0200

	    Rename "attribute sets" to "sets"

	    We don't have any other kind of sets so calling them attribute sets is
	    unnecessarily verbose.

	commit 9e4bb2045548e2166102f4a8eedf43741e1a6a98
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 16:02:08 2013 +0200

	    Manual: Fix broken URLs

	    Fixes #172.

	commit dc341811d6bfb2a33601fe22f11db0a97956f97e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 15:54:23 2013 +0200

	    Add rpm_fedora19i386 to the release-critical builds

	commit 69befd33a9e3600c125803694fbac96053f943b0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 03:08:34 2013 +0200

	    Remove unnecessary call to forceStringNoCtx

	commit a5684e09d34deb5c380c736ce520c030eb14bfc6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 02:56:00 2013 +0200

	    Document typeOf

	commit 411a3461dca6b26f1a1a6b0c7f1f322f1d8df506
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 02:51:28 2013 +0200

	    Add a test of the type primops

	commit 05d02f798f65bf18e8ca71f3d23bfdf9df63fb7c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 02:49:13 2013 +0200

	    Add a typeOf primop

	    We already have some primops for determining the type of a value, such
	    as isString, but they're incomplete: for instance, there is no isPath.
	    Rather than adding more isBla functions, the generic typeOf function
	    returns a string representing the type of the argument (e.g. "int").

	commit 6da92d96aec29ab09cf909ac6a270bc2753cd34a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 02:22:24 2013 +0200

	    Document NIX_SHOW_STATS and NIX_COUNT_CALLS

	commit 543d8a5942f503f5e49eecbf7e4e7a039472e9ea
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 02:20:54 2013 +0200

	    Don't require NIX_SHOW_STATS for NIX_COUNT_CALLS

	commit fe95650487d189bae2be198fe2cbbb0cb6c3788f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 23 11:16:46 2013 +0000

	    Memoize evalFile() lookups under both the original and resolved name

	    Previously we only used the resolved name, causing repeated resolution
	    (e.g. /dir to /dir/default.nix).

	commit 3139481822b770a5ad1f81f447ef31ed5446bc72
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 23 11:52:25 2013 +0200

	    Add an aggregate job

	    Also, build for Ubuntu 13.10 and Fedora 19.

	commit c0861838432ea9d8e5ea5750aadfbc59ebd6f3b4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 22 11:39:10 2013 +0200

	    For auto roots, show the intermediate link

	    I.e. "nix-store -q --roots" will now show (for example)

	      /home/eelco/Dev/nixpkgs/result

	    rather than

	      /nix/var/nix/gcroots/auto/53222qsppi12s2hkap8dm2lg8xhhyk6v

	commit 4f4a14453ae8dbfc24a1e580aa695165e9d81f0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 18 14:51:25 2013 +0200

	    Don't set $PS1 in non-interactive shells

	    Shouldn't really matter, but you never know.

	commit 4ea034a5c56a60ae0ceedf18a066c428a963c836
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Oct 17 11:07:34 2013 -0400

	    nix-shell: Play nicely with non-interactive shells

	    nix-shell with the --command flag might be used non-interactively, but
	    if bash starts non-interactively (i.e. with stdin or stderr not a
	    terminal), it won't source the script given in --rcfile. However, in
	    that case it *will* source the script found in $BASH_ENV, so we can use
	    that instead.

	    Also, don't source ~/.bashrc in a non-interactive shell (detectable by
	    checking the PS1 env var)

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 792fd51f41212b0bf1d8a121a4f228a92fec3906
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 11:53:40 2013 +0200

	    Fold two stack trace messages in derivations

	    Combined with the previous changes, stack traces involving derivations
	    are now much less verbose, since something like

	      while evaluating the builtin function `getAttr':
	      while evaluating the builtin function `derivationStrict':
	      while instantiating the derivation named `gtk+-2.24.20' at `/home/eelco/Dev/nixpkgs/pkgs/development/libraries/gtk+/2.x.nix:11:3':
	      while evaluating the derivation attribute `propagatedNativeBuildInputs' at `/home/eelco/Dev/nixpkgs/pkgs/stdenv/generic/default.nix:78:17':
	      while evaluating the attribute `outPath' at `/nix/store/212ngf4ph63mp6p1np2bapkfikpakfv7-nix-1.6/share/nix/corepkgs/derivation.nix:18:9':
	      ...

	    now reads

	      while evaluating the attribute `propagatedNativeBuildInputs' of the derivation `gtk+-2.24.20' at `/home/eelco/Dev/nixpkgs/pkgs/development/libraries/gtk+/2.x.nix:11:3':
	      ...

	commit f440558acc76c2939cf5f0744c6669279b6351a0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 11:47:38 2013 +0200

	    Don't show <nix/derivation.nix> in stack traces

	    Messages like

	      while evaluating the attribute `outPath' at `/nix/store/212ngf4ph63mp6p1np2bapkfikpakfv7-nix-1.6/share/nix/corepkgs/derivation.nix:18:9':

	    are redundant, because Nix already shows that it's evaluating a derivation:

	      while instantiating the derivation named `firefox-24.0' at `/home/eelco/Dev/nixpkgs/pkgs/applications/networking/browsers/firefox/default.nix:131:5':
	      while evaluating the derivation attribute `nativeBuildInputs' at `/home/eelco/Dev/nixpkgs/pkgs/stdenv/generic/default.nix:76:17':

	commit bb659bad8116d380271e5103e3bb5c8a6056ee58
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 11:40:20 2013 +0200

	    Nix 1.6.1 release notes

	commit f6a8e7f4c2897c131afe0beed199dc406b0f052a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 11:18:37 2013 +0200

	    Fix test

	commit b08f4b0da98d0a2534626c01cbb0c3c3eb4713a1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 01:12:43 2013 +0200

	    Test string semantics a bit more

	commit d7625b5c2d6d9fd23708057957172c0446ffdabc
	Author: goblin <github@uukgoblin.net>
	Date:   Sun Sep 22 13:36:23 2013 +0100

	    two typos

	commit b8034e5581ef40cc043da35ed01280b166da81ca
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 00:57:24 2013 +0200

	    Ensure proper type checking/coercion of "${expr}"

	    Now we only rewrite "${expr}" to expr if expr is a string literal.

	commit 9d8a80375d2d0581b53d270eb4d543fa0d3f0190
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 00:45:16 2013 +0200

	    Add a test for type correctness of antiquotes

	    Antiquotes should evaluate to strings or paths.  This is usually
	    checked, except in the case where the antiquote makes up the entire
	    string, as in "${expr}".  This is optimised to expr, which discards
	    the runtime type checks / coercions.

	commit d6a7aa8f4827f97856ed55226426c355e1d1b4d1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 00:39:59 2013 +0200

	    Revert the behaviour of antiquoted paths to pre-Nix 1.6

	    Commit 159e621d1a9c4391b53f3d822109c36931934698 accidentally changed
	    the behaviour of antiquoted paths, e.g.

	      "${/foo}/bar"

	    used to evaluate to "/nix/store/<hash>-foo/bar" (where /foo gets
	    copied to the store), but in Nix 1.6 it evaluates to "/foo/bar".  This
	    is inconsistent, since

	      " ${/foo}/bar"

	    evaluates to " /nix/store/<hash>-foo/bar".  So revert to the old
	    behaviour.

	commit b8571d68c4f2c0b4b0b8f3d7c7ef09668aab140f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 23:28:10 2013 +0200

	    Add a regression test for correct path antiquotation behavior

	    This broke in Nix 1.6.

	commit a737f51fd96be2866a33eb67732e034bcc65a659
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 15:58:20 2013 +0200

	    Retry all SQLite operations

	    To deal with SQLITE_PROTOCOL, we also need to retry read-only
	    operations.

	commit ff02f5336cd0cff0e97fbcf3c54b5b23827702d6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 14:51:20 2013 +0200

	    Fix a race in registerFailedPath()

	    Registering the path as failed can fail if another process does the
	    same thing after the call to hasPathFailed().  This is extremely
	    unlikely though.

	commit 4bd52825734face53df2ab00052d2457d31c3c68
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 14:46:35 2013 +0200

	    Convenience macros for retrying a SQLite transaction

	commit bce14d0f61801f0f1c3080970619e2ca11683a4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 14:36:53 2013 +0200

	    Don't wrap read-only queries in a transaction

	    There is no risk of getting an inconsistent result here: if the ID
	    returned by queryValidPathId() is deleted from the database
	    concurrently, subsequent queries involving that ID will simply fail
	    (since IDs are never reused).

	commit 7cdefdbe732c209e13f234eb71022791909a5518
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 14:27:36 2013 +0200

	    Print a distinct warning for SQLITE_PROTOCOL

	commit d05bf044441dbf8e000036d545df9689bdec0b72
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 14:03:22 2013 +0200

	    Treat SQLITE_PROTOCOL as SQLITE_BUSY

	    In the Hydra build farm we fairly regularly get SQLITE_PROTOCOL errors
	    (e.g., "querying path in database: locking protocol").  The docs for
	    this error code say that it "is returned if some other process is
	    messing with file locks and has violated the file locking protocol
	    that SQLite uses on its rollback journal files."  However, the SQLite
	    source code reveals that this error can also occur under high load:

	      if( cnt>5 ){
	        int nDelay = 1;                      /* Pause time in microseconds */
	        if( cnt>100 ){
	          VVA_ONLY( pWal->lockError = 1; )
	          return SQLITE_PROTOCOL;
	        }
	        if( cnt>=10 ) nDelay = (cnt-9)*238;  /* Max delay 21ms. Total delay 996ms */
	        sqlite3OsSleep(pWal->pVfs, nDelay);
	      }

	    i.e. if certain locks cannot be not acquired, SQLite will retry a
	    number of times before giving up and returing SQLITE_PROTOCOL.  The
	    comments say:

	      Circumstances that cause a RETRY should only last for the briefest
	      instances of time.  No I/O or other system calls are done while the
	      locks are held, so the locks should not be held for very long. But
	      if we are unlucky, another process that is holding a lock might get
	      paged out or take a page-fault that is time-consuming to resolve,
	      during the few nanoseconds that it is holding the lock.  In that case,
	      it might take longer than normal for the lock to free.
	      ...
	      The total delay time before giving up is less than 1 second.

	    On a heavily loaded machine like lucifer (the main Hydra server),
	    which often has dozens of processes waiting for I/O, it seems to me
	    that a page fault could easily take more than a second to resolve.
	    So, let's treat SQLITE_PROTOCOL as SQLITE_BUSY and retry the
	    transaction.

	    Issue NixOS/hydra#14.

	commit c1994fecf9f9ea129f6164db92ad242e392d987c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 14 15:20:45 2013 +0200

	    nix-shell: Fix bash completion

	    Nixpkgs's stdenv setup script sets the "nullglob" option, but doing so
	    breaks Bash completion on NixOS (when ‘programs.bash.enableCompletion’
	    is set) and on Ubuntu.  So clear that flag afterwards.  Of course,
	    this may break stdenv functions in subtle ways...

	commit 672c3acc7109a84abeae3d28dc907132f2bad953
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 11 10:57:23 2013 +0200

	    Adjust to the NixOS/Nixpkgs merge

	commit 7bdb85453d16106ebf4d4af106720d917e221ad9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 15:34:57 2013 +0200

	    printStats(): Print the size of the symbol table in bytes

	commit 9deb822180fb80638559fe3c45c6a77a2b56ff40
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 15:19:59 2013 +0200

	    Deduplicate filenames in Pos

	    This saves ~4 MiB of RAM for NixOS system instantiation, and ~18 MiB
	    for "nix-env -qa".

	commit b1e3b1a4ac8c276f503713f6002c3b42efef2ae8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 14:45:36 2013 +0200

	    Treat undefined variable errors consistently

	    Previously, a undefined variable inside a "with" caused an EvalError
	    (which can be caught), while outside, it caused a ParseError (which
	    cannot be caught).  Now both cause an UndefinedVarError (which cannot
	    be caught).

	commit 6b47de580ffe6101863a1054d9d47f9cbe691214
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 14:40:51 2013 +0200

	    Show the exact position of undefined variables

	    In particular, undefined variable errors in a "with" previously didn't
	    show *any* position information, so this should help a lot in those
	    cases.

	commit a5e0f64db3f7355e320ecda478b84f238bf8869c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 12:30:23 2013 +0000

	    Remove some unused functions

	commit 221a2daf34234c426fec8058f24b1093b2a61ba8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 14:24:53 2013 +0200

	    Merge VarRef into ExprVar

	commit 176c666f36afee12f5cbd1f9615cf21d781fdbde
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Oct 5 21:29:48 2013 +0000

	    Don't show calls to primops in stack traces

	    Since they don't have location information, they just give you crap
	    like:

	      while evaluating the builtin function `getAttr':
	      while evaluating the builtin function `derivationStrict':
	      ...

	commit c945f015de2149233c1e4fa1628f05567f3657ba
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 2 15:24:45 2013 +0200

	    Fix segfault in nix-repl / hydra-eval-jobs

	    If a "with" attribute set fails to evaluate, we have to make sure its
	    Env record remains unchanged.  Otherwise, repeated evaluation gives a
	    segfault:

	      nix-repl> :a with 0; { a = x; b = x; }
	      Added 2 variables.

	      nix-repl> a
	      error: value is an integer while an attribute set was expected

	      nix-repl> b
	      Segmentation fault

	commit 28e0742966e962f2672f5731ea3612f223bf3283
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 2 14:34:36 2013 +0200

	    Report OOM errors better

	commit a5fb4b5b7c1688c9b095bc1c278c17c20844302a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 2 14:22:49 2013 +0200

	    Fix typo

	commit faaae44f2e8bc5f8863de80a2585fec8f51d144d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 18 14:04:03 2013 +0200

	    build-remote.pl: Don't use substituters on the remote

	    It's kinda pointless to check substituters on the remote side, since
	    we just checked them locally.

	commit f53574ebd60e5a22dbaae7e2bec97f5993670c20
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 17 12:06:59 2013 +0000

	    RestoreSink: Slightly reduce the number of concurrent FDs

	commit d5529f5b85d4f093c6c051c060eb6feef9f8f76f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 10 17:47:39 2013 +0200

	    Version was called 1.6, not 1.6.0

	commit b072fc04a79c181af04fb1a07e221cb73f97cf48
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 10 17:41:49 2013 +0200

	    Bump version number

	commit fecad91b67ee3523a6d8c0ea16ab71925ab6ab6e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 10 11:21:30 2013 +0200

	    Update release notes

	commit 0220da3e10e76fd1ef46915493c0f5ed65482fa8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 6 17:20:19 2013 +0200

	    Remove stray debug line

	commit 936f9d45baf474358346666ed9ad7f56960bb455
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 6 16:36:56 2013 +0200

	    Don't apply the CPU affinity hack to nix-shell (and other Perl programs)

	    As discovered by Todd Veldhuizen, the shell started by nix-shell has
	    its affinity set to a single CPU.  This is because nix-shell connects
	    to the Nix daemon, which causes the affinity hack to be applied.  So
	    we turn this off for Perl programs.

	commit 4b83830d0c742b69b59c698a42948eaa6d214c1d
	Author: Domen Kožar <domen@dev.si>
	Date:   Tue Sep 3 11:42:55 2013 +0200

	    typo

	commit 5904262640199599122fcf563e7d1c7c3f3f3128
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 6 14:58:05 2013 +0200

	    nix-shell: Support a .drv as argument

	    Fixes #161.

	commit 2c1ecf8e81f8ea5a9fa228aa22a57a6ba0a0e4df
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 21:15:47 2013 +0200

	    nix-env -i: Add a flag ‘--remove-all’ / ‘-r’

	    This is equivalent to running ‘nix-env -e '*'’ first, except that it
	    happens in a single transaction.  Thus, ‘nix-env -i pkgs...’ replaces
	    the profile with the specified set of packages.

	    The main motivation is to support declarative package management
	    (similar to environment.systemPackages in NixOS).  That is, if you
	    have a specification ‘profile.nix’ like this:

	      with import <nixpkgs> {};
	      [ thunderbird
	        geeqie
	        ...
	      ]

	    then after any change to ‘profile.nix’, you can run:

	      $ nix-env -f profile.nix -ir

	    to update the profile to match the specification.  (Without the ‘-r’
	    flag, if you remove a package from ‘profile.nix’, it won't be removed
	    from the actual profile.)

	    Suggested by @zefhemel.

	commit 88c07341a6bf99f923cb3d6487b72afc025b7746
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 15:56:33 2013 +0200

	    nix-env: Use wildcard match by default

	    That is, you don't need to pass '*' anymore, so

	      nix-env -qa

	    is equivalent to

	      nix-env -qa '*'

	commit 07a08bddf001271b4b7eff2a119c395f40119966
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 15:45:32 2013 +0200

	    nix-env: Load files in ~/.nix-defexpr on demand

	    So if you do "nix-env -qa -A nixos", then other channels won't be
	    parsed/evaluated at all.

	commit c57ed84e286047a9f3c103cf689ae04381c23dad
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 15:25:51 2013 +0200

	    Check for name collisions in the input Nix expressions

	commit ef4f5ba85e487f567115d60e3cb4b53d81af6ea1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 13:17:51 2013 +0000

	    Work on Values instead of Exprs

	    This prevents some duplicate evaluation in nix-env and
	    nix-instantiate.

	    Also, when traversing ~/.nix-defexpr, only read regular files with the
	    extension .nix.  Previously it was reading files like
	    .../channels/binary-caches/<name>.  The only reason this didn't cause
	    problems is pure luck (namely, <name> shadows an actual Nix
	    expression, the binary-caches files happen to be syntactically valid
	    Nix expressions, and we iterate over the directory contents in just
	    the right order).

	commit 06bb2d95b4d8232ef0cd0059d2609d2211d0e3e6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 11:04:21 2013 +0000

	    Reformat

	commit 6f809194d7448c4ad50174bed9ba2419e2114352
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 12:56:33 2013 +0200

	    Get rid of the parse tree cache

	    Since we already cache files in normal form (fileEvalCache), caching
	    parse trees is redundant.

	    Note that getting rid of this cache doesn't actually save much memory
	    at the moment, because parse trees are currently not freed / GC'ed.

	commit 57d18df7d0005cf822368d9f1d0c33396c6b9f9f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 18:34:04 2013 +0200

	    Add some support code for nix-repl

	commit 92077b4547b473bb4ea7b38077299e8fba75ca62
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 16:39:17 2013 +0200

	    Get rid of a signedness warning

	commit 33972629d76b1b1059de5b89ce68ef37dce45cbd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 16:29:15 2013 +0200

	    Fix whitespace

	commit ac1b75413821c9ebaf317fb3fe1c695599e93818
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 13:32:51 2013 +0200

	    Lower xz compression level

	    Fixes #84.

	commit c28dfc030587cb5a4ccdc71e5f55e708a9aa901d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 13:23:07 2013 +0200

	    Manual: Make '' a bit clearer

	    Issue #162.

	commit e9b92169a5a9d187e32d0ce15ca785eb9f8dce56
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 13:19:34 2013 +0200

	    Fix manual error

	    Reported by Matija Šuklje.

	    Fixes #163.

	commit ecd830b3b9e189d0b41cfeadc993c17d5858a79b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 13:11:36 2013 +0200

	    Update the release notes

	commit 6ec8dab06abd08f3239c10b98d34a268cd0657cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 12:44:30 2013 +0200

	    Adda test for build-max-log-size

	commit b29d3f4aee9fa91f4ea1019d09bf63bc81b9f830
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 12:01:04 2013 +0200

	    Only show trace messages when tracing is enabled

	commit efe428946431c6c670151c949884fa8c1fa31794
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 11:58:18 2013 +0200

	    Add an option to limit the log output of builders

	    This is mostly useful for Hydra to deal with builders that get stuck
	    in an infinite loop writing data to stdout/stderr.

	commit afc6c1bad63e27d68adf49e673f8aafd36495a8a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jul 15 17:10:18 2013 -0400

	    Simplify inherited attribute handling

	    This reduces the difference between inherited and non-inherited
	    attribute handling to the choice of which env to use (in recs and lets)
	    by setting the AttrDef::e to a new ExprVar in the parser rather than
	    carrying a separate AttrDef::v VarRef member.

	    As an added bonus, this allows inherited attributes that inherit from a
	    with to delay forcing evaluation of the with's attributes.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 6cd6ce56083d0077485896a761520812d039bf10
	Author: Ivan Kozik <ivan@ludios.org>
	Date:   Fri Aug 16 20:18:38 2013 +0000

	    Fix nix-shell command

	commit 34bb806f747d5edc16119e38e2ac44e6b236ac12
	Author: Ivan Kozik <ivan@ludios.org>
	Date:   Sat Aug 10 21:36:16 2013 +0000

	    Fix typos, especially those that end up in the Nix manual

	commit c6c024ca6f587dab991589ad6fdf010b9f0e6d62
	Author: Gergely Risko <gergely@risko.hu>
	Date:   Thu Aug 22 17:57:39 2013 +0200

	    Fix personality switching from x86_64 to i686

	    On Linux, Nix can build i686 packages even on x86_64 systems.  It's not
	    enough to recognize this situation by settings.thisSystem, we also have
	    to consult uname().  E.g. we can be running on a i686 Debian with an
	    amd64 kernel.  In that situation settings.thisSystem is i686-linux, but
	    we still need to change personality to i686 to make builds consistent.

	commit 03eaef3d7a614872af309d1bfa5133845123720f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 23 10:12:20 2013 +0200

	    Manual: Don't use actual hashes of Nix dependencies

	    These cause an unnecessary runtime dependency :-)

	commit b3110a15e9ab898e14721655030e7f0f7e2ea6c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 21 12:52:44 2013 +0200

	    Fix corrupt PNG

	    Libpng used to accept this, but no longer does.

	commit 25a108bb9c5eb1999e1699d4e0727de1cbce30c7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 19 13:22:56 2013 +0200

	    Hack to clean up tests/test-tmp

	commit d308aeaf53b7324af98dfa949a747526c241ef30
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 19 12:35:03 2013 +0200

	    Store Nix integers as longs

	    So on 64-bit systems, integers are now 64-bit.

	    Fixes #158.

	commit 297b762513ad416582c0850095506f802ff5b1bb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 19 11:41:15 2013 +0200

	    Turn on -Wall

	commit 46222bbc43fa4d7b44a466bf7be435ea1a4d6fc0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 14 22:32:49 2013 +0200

	    Typo

	commit 58204a3c39614297e71a21a7633ea8293e8304ee
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Aug 14 15:35:13 2013 -0400

	    corepkgs/nar.nix: Prefer local builds

	    nar.nix's builder depends on coreutils and nix itself being in $PATH.
	    Unfortunately, there's no good way to ensure that these packages exist
	    in the same place on the remote machine: The local machine may have nix
	    installed in /usr, and the remote machine in /usr/local, but the
	    generated nar.sh builder will refer to /usr and thus fail on the remote
	    machine. This ensures that nar.sh is run on the same machine that
	    instantiates it.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 3fb7ae0586958a2404db41b8cf6ec4fe88f2f674
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 7 15:44:19 2013 +0000

	    Respect MINSIGSTKSZ when allocating an alternative stack

	    http://hydra.nixos.org/build/5663577

	commit 161a2ccf7af60acf8d04ba5d92f0116f6be19fba
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 7 17:26:41 2013 +0200

	    Fix build on non-Linux

	    http://hydra.nixos.org/build/5662914

	commit a583a2bc59a4ee2b067e5520f6c5bc0c61852c32
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 7 11:51:55 2013 +0000

	    Run the daemon worker on the same CPU as the client

	    On a system with multiple CPUs, running Nix operations through the
	    daemon is significantly slower than "direct" mode:

	    $ NIX_REMOTE= nix-instantiate '<nixos>' -A system
	    real    0m0.974s
	    user    0m0.875s
	    sys     0m0.088s

	    $ NIX_REMOTE=daemon nix-instantiate '<nixos>' -A system
	    real    0m2.118s
	    user    0m1.463s
	    sys     0m0.218s

	    The main reason seems to be that the client and the worker get moved
	    to a different CPU after every call to the worker.  This patch adds a
	    hack to lock them to the same CPU.  With this, the overhead of going
	    through the daemon is very small:

	    $ NIX_REMOTE=daemon nix-instantiate '<nixos>' -A system
	    real    0m1.074s
	    user    0m0.809s
	    sys     0m0.098s

	commit 263d6682224f516aed74286453c5e2e097a38aa6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 6 14:21:46 2013 +0200

	    Set the default GCC optimisation level to -O3

	commit fd7d979c79759e5db68e4b62b3550a3906f67d40
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 6 14:15:11 2013 +0200

	    Remove obsolete reference to ATerms

	commit 46ffcce0c355ee16075b4ba216bc0aea054143aa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 18:29:23 2013 +0000

	    In the profiler output, show function names (if available)

	commit 8e74c0bfd1b61b175f04a7e0a8f0a3d9db809f1a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 18:53:02 2013 +0200

	    Let the ordering operators also work on strings

	    E.g. ‘"foo" < "bar"’ now works.

	commit 3d77b28eacc940356e94c36017fb2d9f1a1b7ec2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 18:39:40 2013 +0200

	    Add comparison operators ‘<’, ‘<=’, ‘>’ and ‘>=’

	commit 47701677e88230abf7d9106c55f46aa660643ce7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 16:03:02 2013 +0000

	    Add integer ‘-’, ‘*’ and ‘/’ operators

	commit 5d147e125cea69e9a3b12f0ef64c64f42985c65e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 17:35:59 2013 +0200

	    Add a unary integer negation operator

	    This allows saying "-1" instead of "builtins.sub 0 1".

	commit 159e621d1a9c4391b53f3d822109c36931934698
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 15:21:17 2013 +0000

	    Overload the ‘+’ operator to support integer addition

	commit 511455965e1a17db3653147a4ac0d284a37915be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 31 13:17:50 2013 +0200

	    nix-shell: Don't disable Automake dependency tracking

	    Nixpkgs' stdenv disables dependency tracking by default.  That makes
	    sense for one-time builds, but in an interactive environment we expect
	    repeated "make" invocations to do the right thing.

	commit 7df4ef983e96f604fa84abe4aeb54dcb00a72add
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 31 13:12:35 2013 +0200

	    Test the delayed with a bit more

	commit 0a470fc3453f56a0a242d8f467b8079fe0040ff7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 31 12:44:21 2013 +0200

	    Make Env smaller

	    Commit 20866a7031ca823055a221653b77986faa167329 added a ‘withAttrs’
	    field to Env, which is annoying because it makes every Env structure
	    bigger and we allocate millions of them.  E.g. NixOS evaluation took
	    18 MiB more.  So this commit squeezes ‘withAttrs’ into values[0].
	    Probably should use a union...

	commit 8ae6d55db15bb0777e3d707afb994f6fcbcc6a65
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 31 12:11:14 2013 +0200

	    Don't use NULL

	commit e068f49f7dc59788cf356acfc77db614db6b28f0
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Jul 16 08:43:54 2013 -0400

	    Avoid thunks when a fromWith var can be looked up without evaluation

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 20866a7031ca823055a221653b77986faa167329
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jul 15 15:53:14 2013 -0400

	    Delay evaulation of `with` attrs until a variable lookup needs them

	    Evaluation of attribute sets is strict in the attribute names, which
	    means immediate evaluation of `with` attribute sets rules out some
	    potentially interesting use cases (e.g. where the attribute names of one
	    set depend in some way on another but we want to bring those names into
	    scope for some values in the second set).

	    The major example of this is overridable self-referential package sets
	    (e.g. all-packages.nix). With immediate `with` evaluation, the only
	    options for such sets are to either make them non-recursive and
	    explicitly use the name of the overridden set in non-overridden one
	    every time you want to reference another package, or make the set
	    recursive and use the `__overrides` hack. As shown in the test case that
	    comes with this commit, though, delayed `with` evaluation allows a nicer
	    third alternative.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 70e68e0ec604124bb248ea4d064307bbf96e7932
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 30 23:25:37 2013 +0200

	    Detect stack overflows

	    Previously, if the Nix evaluator gets a stack overflow due to a deep
	    or infinite recursion in the Nix expression, the user gets an
	    unhelpful message ("Segmentation fault") that doesn't indicate that
	    the problem is in the user's code rather than Nix itself.  Now it
	    prints:

	      error: stack overflow (possible infinite recursion)

	    This only works on x86_64-linux and i686-linux.

	    Fixes #35.

	commit e87d1a63bdef0ae08f2d94d67fd8daa8fbb63fb4
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Mar 18 11:13:53 2013 -0400

	    killUser: Don't let the child kill itself on Apple

	    The kill(2) in Apple's libc follows POSIX semantics, which means that
	    kill(-1, SIGKILL) will kill the calling process too. Since nix has no
	    way to distinguish between the process successfully killing everything
	    and the process being killed by a rogue builder in that case, it can't
	    safely conclude that killUser was successful.

	    Luckily, the actual kill syscall takes a parameter that determines
	    whether POSIX semantics are followed, so we can call that syscall
	    directly and avoid the issue on Apple.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 7cf539c728b8f2a4478c0384d3174842e1e0cced
	Author: Florian Friesdorf <flo@chaoflow.net>
	Date:   Mon Feb 20 04:09:46 2012 +0100

	    buildenv: remove special treatment of python files

	    buildPythonPackage does not leave easy_install.pth and site.py
	    anymore. A python package that leaves these files is broken. An
	    exception to this is setuptoolsSite which packages setuptools'
	    site.py. To include it into a buildenv, this patch is even needed, not
	    just cosmetic.

	commit 7b09e9f2c49aba7ced0e7fbac3994f6686b6a303
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 19 16:51:31 2013 +0200

	    Add hacking notes plus a script for running nix-shell

	commit 15e5ac80393f3b0a1be264e8cdaa8f048375b27d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 19 14:32:05 2013 +0200

	    nix-shell: Set $IN_NIX_SHELL

	    This allows scripts to distinguish between a real build and a Nix
	    shell.

	commit 48858ad5cabd03976330dff3d7aaa3d949ca09d6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 19 14:06:58 2013 +0200

	    nix-shell: Set some environment variables also set by build.cc

	    Setting $NIX_STORE causes the purity checks in gcc/ld-wrapper to kick
	    in, so that's why we unset $NIX_ENFORCE_PURITY.

	commit 2bc5de86357fddcc52e2ce0c1b432a9509dea27e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 19 12:02:44 2013 +0200

	    Rename ‘nix-build --run-env’ to ‘nix-shell’

	commit dc5f2e7da607bdf50bf710cbe0b5f6ff32980e19
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 19 11:23:32 2013 +0200

	    nix-build --run-env: Add a ‘--pure’ flag

	    This causes the environment to be (almost) cleared, thus giving a
	    shell that more closely resembled the actual Nix derivation.

	commit a4921b8ceb5bde3fbd1ae25ea4b367199796eded
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 18 12:52:16 2013 +0200

	    Revert "build-remote.pl: Enforce timeouts locally"

	    This reverts commit 69b8f9980f39c14a59365a188b300a34d625a2cd.

	    The timeout should be enforced remotely.  Otherwise, if the garbage
	    collector is running either locally or remotely, if will block the
	    build or closure copying for some time.  If the garbage collector
	    takes too long, the build may time out, which is not what we want.
	    Also, on heavily loaded systems, copying large paths to and from the
	    remote machine can take a long time, also potentially resulting in a
	    timeout.

	commit 16591eb3cccf86da8cd3f20c56e2dd847576ff5e
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Jul 12 09:35:33 2013 -0400

	    Allow bind-mounting regular files into the chroot

	    mount(2) with MS_BIND allows mounting a regular file on top of a regular
	    file, so there's no reason to only bind directories. This allows finer
	    control over just which files are and aren't included in the chroot
	    without having to build symlink trees or the like.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit c3f5413e806a22d3e664416649687e331b14f8b9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 12 14:06:05 2013 +0200

	    Fix syntax error in unpack-channel

	commit aeb810b01e17d040f9592681ee271f15874dce50
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 12 14:01:25 2013 +0200

	    Garbage collector: Don't follow symlinks arbitrarily

	    Only indirect roots (symlinks to symlinks to the Nix store) are now
	    supported.

	commit 25a00cae5bf702b9e844b05923a9c59de9df6788
	Author: Gergely Risko <gergely@risko.hu>
	Date:   Tue May 14 15:10:14 2013 +0200

	    Add gzip support for channel unpacking

	commit 620d57f036be5a8b8fa04ee1a2aa2329e652e0f0
	Author: Domen Kožar <domen@dev.si>
	Date:   Sat Jun 29 15:18:05 2013 +0200

	    doc: typo

	commit 6fcc2906194cbbc49a1e8d1862465e891b67d573
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 11 17:16:45 2013 +0200

	    build-remote.pl: Move "building ..." message to a better place

	commit ed09d0c0a436a412893ffe817c842827abbec6ed
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 11 14:40:29 2013 +0200

	    nix-build --run-env: Always use Bash

	    Fixes #113.
	    Fixes #131.

	commit 656390062a9b612df3238f9e6a0d5ce89c3de21c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 11 14:32:22 2013 +0200

	    nix-build --run-env: Source $stdenv/setup in the interactive shell

	    This ensures that not just environment variables are set, but also
	    shell functions such as unpackPhase, configurePhase and so on.

	commit 212e96f39c5120ef33b363647a58ebfd61fb3f5e
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Fri Jul 5 22:21:04 2013 +0200

	    Leave `HAVE_HUP_NOTIFICATION' undefined on GNU/Hurd.

	commit b584a42e3db8302095e786b4a12894d073fd75cf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 3 18:35:59 2013 +0200

	    Manual: auto-optimise-store is disabled by default

	commit 5116214343ecce70a3cb7037f223313314a0a614
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 1 21:02:36 2013 +0200

	    Add support for uncompressed NARs in binary caches

	    Issue NixOS/hydra#102.

	commit 798671163254d9766f711f4e8101bc72bcf4bd5c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 1 13:30:28 2013 +0200

	    copy-from-other-stores.pl: Respect $NIX_BIN_DIR

	commit 1917d750a0363f678a93c80c5a4e48e7493b1786
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 1 13:29:59 2013 +0200

	    copy-from-other-stores.pl: Report downloaded size as 0

	commit 7ccd9464077180f633e65c15906bdda707077e8c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 20 20:05:03 2013 +0200

	    Don't set $preferLocalBuild and $requiredSystemFeatures in builders

	    With C++ std::map, doing a comparison like ‘map["foo"] == ...’ has the
	    side-effect of adding a mapping from "foo" to the empty string if
	    "foo" doesn't exist in the map.  So we ended up setting some
	    environment variables by accident.

	commit 5558652709f27e8a887580b77b93c705659d7a4b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 20 19:26:31 2013 +0200

	    Don't substitute derivations that have preferLocalBuild set

	    In particular this means that "trivial" derivations such as writeText
	    are not substituted, reducing the number of GET requests to the binary
	    cache by about 200 on a typical NixOS configuration.

	commit 1906cce6fcea88d07b55c0b9734da39675e17a4d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 20 14:01:33 2013 +0000

	    Increase SQLite's auto-checkpoint interval

	    Common operations like instantiating a NixOS system config no longer
	    fitted in 8192 pages, leading to more fsyncs.  So increase this limit.

	commit 9b11165aec8639b021527978603423826b6b9cc3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 20 12:01:33 2013 +0200

	    Disable the copy-from-other-stores substituter

	    This substituter basically cannot work reliably since we switched to
	    SQLite, since SQLite databases may need write access to open them even
	    just for reading (and in WAL mode they always do).

	commit 22144afa8d9f8968da351618a1347072a93bd8aa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 20 11:55:15 2013 +0200

	    Don't keep "disabled" substituters running

	    For instance, it's pointless to keep copy-from-other-stores running if
	    there are no other stores, or download-using-manifests if there are no
	    manifests.  This also speeds things up because we don't send queries
	    to those substituters.

	commit 2b29e4b8529ec9f4d6904a5142266c02d1b24c99
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 17 15:39:45 2013 +0200

	    Bump version

	commit 6016bcd30ec32e2dfb92e197319ddbdbc4f520be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 17 11:47:38 2013 +0200

	    Update release notes for Nix 1.5.3

	commit 1b6ee8f4c7e74f75e1f49b43cf22be7730b30649
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 17:29:56 2013 +0200

	    Allow hard links between the outputs of a derivation

	commit cd49ee08970f0fa44053fb12cdf29668e8131a51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 17:12:24 2013 +0200

	    Fix a security bug in hash rewriting

	    Before calling dumpPath(), we have to make sure the files are owned by
	    the build user.  Otherwise, the build could contain a hard link to
	    (say) /etc/shadow, which would then be read by the daemon and
	    rewritten as a world-readable file.

	    This only affects systems that don't have hard link restrictions
	    enabled.

	commit 1e2c7c04b1125fb63fae733fc27abb86743b8224
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 17:12:06 2013 +0200

	    Fix assertion failure in canonicalisePathMetaData() after hash rewriting

	    The assertion in canonicalisePathMetaData() failed because the
	    ownership of the path already changed due to the hash rewriting.  The
	    solution is not to check the ownership of rewritten paths.

	    Issue #122.

	commit 6cc2a8f8ed7cb53e49bfbd08f462af062da18ce7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 16:43:20 2013 +0200

	    computeFSClosure: Only process the missing/corrupt paths

	    Issue #122.

	commit bfee9a25815d6f3b90e48ccf5aa4fc055005450a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 14:51:11 2013 +0200

	    Typo

	commit f9ff67e9487a0085ad6536016791242364ce70d9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 14:46:07 2013 +0200

	    In repair mode, update the hash of rebuilt paths

	    Otherwise subsequent invocations of "--repair" will keep rebuilding
	    the path.  This only happens if the path content differs between
	    builds (e.g. due to timestamps).

	commit 6b05f688ee6849b89e7fb0d3fb7b678f316039e7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 12 12:10:26 2013 +0200

	    nix-daemon: Trust options like binary-caches when the client is root

	    Fixes #127.

	commit 5c06e5297d3e8660abfa238b7244d958237e54e8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 16:21:48 2013 +0200

	    download-from-binary-cache.pl: Respect $NIX_CONNECT_TIMEOUT

	commit 24a356bf71e8c75bc7dbf9b4a619552b4ebe873c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 15:35:54 2013 +0200

	    Replace $NIX_DEBUG_SUBST with an option ‘debug-subst’

	    Thus passing ‘--option debug-subst 1’ allows daemon users to turn on
	    debug info and see what the substituter is doing.

	commit 24e063efdcdc42e6ea4ad0c49595ce60e834f3ab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 15:33:44 2013 +0200

	    download-from-binary-cache.pl: Show if we're waiting for a URL

	    Previously, if a binary cache is hanging/unreachable/slow,
	    download-from-binary-cache.pl would also hang without any indication
	    to the user.  Now, if fetching a URL takes more than 5 seconds, it
	    will print a message to that effect.

	commit ca70fba0bff82465a14ca0d29266b609851a6547
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 15:10:23 2013 +0200

	    Remove obsolete EOF checks

	commit 5959c591a0a6000b6de14eaec37e8139e36dfe0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 15:02:14 2013 +0200

	    Process stderr from substituters while doing have/info queries

	commit c5f9d0d08058bca4af0d22e8d46a7d84627c0aae
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 14:00:23 2013 +0200

	    Buffer reads from the substituter

	    This greatly reduces the number of system calls.

	commit 75e12b8e666aa0b689f6b654d37c84be912ff6d4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 5 16:17:06 2013 +0200

	    download-from-binary-cache.pl: Fix race condition

	    Fixes the error "DBD::SQLite::db do failed: column url is not unique".

	commit f0576d67756fedca0010d20aaed2e9cffd24a108
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 5 13:36:43 2013 +0200

	    Update the default binary cache URL to cache.nixos.org

	commit ff08306746e88e708612cdc6d2dac84bd76f1106
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jun 4 15:20:37 2013 +0200

	    download-from-binary-cache.pl: Treat a 403 error as a 404

	    Amazon S3 returns HTTP status code 403 if a file doesn't exist and the
	    user has no permission to list the contents of the bucket.  So treat
	    it as 404 (meaning it's cached in the NARExistence table).

	commit bc2e43f3c826eea5b92a4f255eee59c3bb253cbc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 29 18:18:59 2013 +0200

	    build-remote.pl: Remove meaningless signing when importing the output paths

	    The "$UID != 0" makes no sense: if the local side has write access to
	    the Nix store (which is always the case) then it doesn't matter if
	    we're root - we can import unsigned paths either way.

	commit 039d5a023f2fd0d28438ca1a9493237c95cc05e1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 29 12:36:56 2013 +0200

	    .bashrc -> .profile

	commit b09b87321c058f691fcf64babe56620277b68e63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 23 14:55:36 2013 -0400

	    nix-store --export: Export paths in topologically sorted order

	    Fixes #118.

	commit 107505e13ac83850fe01ef3e1a35e5bb2ab1ef52
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 23 14:39:58 2013 -0400

	    build-remote.pl: Copy all outputs in one operation

	commit 72d8209548f2ba16e41a2faa850ab9af3616453d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 23 14:04:46 2013 -0400

	    build-remote.pl: Indicate if remote machine is refusing builds

	    Fixes #120.

	commit 18a48d80a0686ba81959057e8becc6272acd6c46
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 16 19:08:02 2013 +0200

	    Show function names in error messages

	    Functions in Nix are anonymous, but if they're assigned to a
	    variable/attribute, we can use the variable/attribute name in error
	    messages, e.g.

	    while evaluating `concatMapStrings' at `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/strings.nix:18:25':
	    ...

	commit 1b3a03f1610b714adca41637ccd85a8157e236ab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 16 17:56:14 2013 +0200

	    Show which function argument was unexpected

	    Fixes #116.

	commit 229567293c4e0f31bc8c79f69b2ff25f8f6e5147
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 16 17:48:19 2013 +0200

	    Shut up a compiler warning

	commit a4cb62ac25931b269a9827beb1d1274b48c44f7c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 15 15:47:05 2013 +0200

	    download-from-binary-cache.pl: Get rid of an uninitialized value warning

	    Reported by Pablo Costa.

	commit 31a551a60fb8c8cc8f1887f764d88c121ac1a3cf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 13 23:50:31 2013 +0200

	    Bump version

	commit 6e85d1b5ba824d5a9eeb7ea3d065d1b8cc07e465
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 13 16:52:08 2013 +0200

	    Bump release date

	commit 3a0cc43ac89ae8f778764c9f5e27b361e4986913
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 10 02:38:05 2013 +0200

	    build-remote.pl: Properly close the SSH connection between attempts

	commit be0b9dda31ab42bb2e077751fc75abbc945e407f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 10 02:32:13 2013 +0200

	    build-remote.pl: Pass /dev/null as SSH's stdin

	    Otherwise it will set the parent's stdin to non-blocking mode, causing
	    the subsequent read of the set of inputs/outputs to fail randomly.
	    That's insane.

	commit 78206f06ecb2f5d6dba85b5f709251030e966f1c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 10 01:09:46 2013 +0200

	    build-remote.pl: Allow a machine to refuse a build

	    Before selecting a machine, build-remote.pl will try to run the
	    command "nix-builds-inhibited" on the machine.  If this command exists
	    and returns a 0 exit code, then the machine won't be used.  It's up to
	    the user to provide this command, but it would typically be a script
	    that checks whether there is enough disk space and whether the load is
	    not too high.

	commit 2ee9da9e22ecaad1cc5ad0f940e7b079a9e62cfa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 10 00:24:33 2013 +0200

	    In trace messages, don't print the output path

	    This doesn't work if there is no output named "out".  Hydra didn't use
	    it anyway.

	commit 6eba05613a2b794fead0cc9ef45eea036c5c5ea9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 9 18:39:04 2013 +0200

	    Communicate build timeouts to Hydra

	commit 7a03cbf09dc5ecf16a1036fc83ace0e0ccec5626
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 9 17:30:07 2013 +0200

	    build-remote.pl: Create one process fewer on the remote side

	commit 69b8f9980f39c14a59365a188b300a34d625a2cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 9 17:17:17 2013 +0200

	    build-remote.pl: Enforce timeouts locally

	    Don't pass --timeout / --max-silent-time to the remote builder.
	    Instead, let the local Nix process terminate the build if it exceeds a
	    timeout.  The remote builder will be killed as a side-effect.  This
	    gives better error reporting (since the timeout message from the
	    remote side wasn't properly propagated) and handles non-Nix problems
	    like SSH hangs.

	commit e93acab85298cf3433d1938828e7772e8faa55dc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 8 14:41:35 2013 +0200

	    Build Fedora 18 RPMs

	commit 806970349b494e03ecf531383874ee472810c07b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 7 15:46:25 2013 +0200

	    Update release date

	commit ea019e9a269ae35fdf8861485fe16e622f8293f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 7 15:37:28 2013 +0200

	    Add option ‘extra-binary-caches’

	    This allows providing additional binary caches, useful in scripts like
	    Hydra's build reproduction scripts, in particular because untrusted
	    caches are ignored.

	commit cc837e24586eec62d07e0cb078e02caa6ee42171
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 7 11:21:30 2013 +0200

	    Build Debian 7.0 debs

	commit 28034bfa49b258089d5e8d36e89677836acb8eab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 3 14:14:46 2013 +0200

	    Build Ubuntu 13.04 debs

	commit 93f4fa8a15ce6d4ff6b14843a712990ca0f23dc5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 3 11:28:32 2013 +0200

	    Update release notes

	commit c51b6a893ca6fcce86b40c4852cfa7f0ce3065fd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 3 11:12:11 2013 +0200

	    nix-copy-closure: Show a proper error message if no host name is given

	commit e6c44d166a63abe95a02382386246acea8757951
	Author: Lluís Batlle i Rossell <viric@viric.name>
	Date:   Wed May 1 22:44:37 2013 +0400

	    Fixing the pv position regarding compression

	    Problem noticed by niksnut.

	commit 7391533ea57268a7f0aab433dad41b905e156be6
	Author: Lluís Batlle i Rossell <viric@viric.name>
	Date:   Thu Apr 11 19:54:38 2013 +0200

	    Fixing the pv reference; I didn't mean to change it

	commit 5cc2fc46ecd4ad38a42591943fc29d412ad5cfc4
	Author: Lluís Batlle i Rossell <viric@viric.name>
	Date:   Thu Apr 11 19:52:21 2013 +0200

	    Adding ETA support to the --show-progress in nix-copy-closure

	    Based on https://github.com/NixOS/nix/pull/6 from shlevy

	commit 3628b61ce0aaff43daf37d086697c7c3f9c8ef13
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 1 13:31:33 2013 +0200

	    Nix 1.5.2 release notes

	commit 470553bd0572c4010407acb4e410b45a521e5f11
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 1 13:21:39 2013 +0200

	    Don't let stderr writes in substituters cause a deadlock

	commit 4ddd077bfa9ad497e795a7f60d7734daf62117c1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 26 12:15:54 2013 +0200

	    find-runtime-roots.pl: Don't hardcode /nix/store

	commit 0374d9443732c184ab054a926058b9c5b973198f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 26 12:07:25 2013 +0200

	    addAdditionalRoots(): Check each path only once

	commit 00f698eb8b93c9de50ebbadb946c5bf188e8fa98
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 26 12:06:39 2013 +0200

	    find-runtime-roots.pl: Search process environments for roots

	    For instance, this prevents paths from being deleted that are in use
	    by a "nix-build --run-env" session.

	commit 938092a21341b69604e9da6294fe76c13d6a1c07
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 26 11:44:19 2013 +0200

	    find-runtime-roots.pl: Use Nix::Utils::readFile

	commit 772b70952f7583cfbd6363b30f926d7ad164175c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 18:04:59 2013 +0200

	    Fix --timeout

	    I'm not sure if it has ever worked correctly.  The line "lastWait =
	    after;" seems to mean that the timer was reset every time a build
	    produced log output.

	    Note that the timeout is now per build, as documented ("the maximum
	    number of seconds that a builder can run").

	commit f9974f856ec8aff848b157da7dbe0415ec50ab8f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 17:16:29 2013 +0200

	    Show that --timeout doesn't work if the build produces log output

	commit 6955d41f2be32c3bb857703c3e006e24d787d540
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 17:16:01 2013 +0200

	    nix-build: Respect --timeout

	commit 934cf2d1f4c46ecd6afd30cfb14aa55a6bf3d790
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 16:59:06 2013 +0200

	    Nix daemon: respect build timeout from the client

	commit 08d96ffad094f4b686a2ad8f2a41a6b046b0f81b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 12:45:01 2013 +0200

	    Fix --fallback with the binary cache substituter

	    Reported by Peter Simons.

	commit a9b4e26b5c3ce6259526fe038c771b9325d3e99e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 12:44:01 2013 +0200

	    Test whether --fallback works if NARS have disappeared from the binary cache

	commit c642441beb504278819e43914516b5eda30f2c15
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 12:43:28 2013 +0200

	    Test NAR info caching

	commit 05420e788315f04212fe936313b3ff7b580a206c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 9 17:57:48 2013 +0200

	    Manual: Add a missing step to the build instructions

	    Reported by Johan Grande.

	commit 258897c265a6d6575f1669a896ab6f5ab92337c3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 4 11:16:26 2013 +0200

	    Complain if /homeless-shelter exists

	commit 239841787bfbf499256c0bb9358f058a8243d60a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 25 21:59:11 2013 +0100

	    Fix evaluation of the VM tests

	commit cc63db1dd5c37aead3e3d2e20e2d2f548cc24830
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Mar 7 22:53:49 2013 -0500

	    makeStoreWritable: Ask forgiveness, not permission

	    It is surprisingly impossible to check if a mountpoint is a bind mount
	    on Linux, and in my previous commit I forgot to check if /nix/store was
	    even a mountpoint at all. statvfs.f_flag is not populated with MS_BIND
	    (and even if it were, my check was wrong in the previous commit).

	    Luckily, the semantics of mount with MS_REMOUNT | MS_BIND make both
	    checks unnecessary: if /nix/store is not a mountpoint, then mount will
	    fail with EINVAL, and if /nix/store is not a bind-mount, then it will
	    not be made writable. Thus, if /nix/store is not a mountpoint, we fail
	    immediately (since we don't know how to make it writable), and if
	    /nix/store IS a mountpoint but not a bind-mount, we fail at first write
	    (see below for why we can't check and fail immediately).

	    Note that, due to what is IMO buggy behavior in Linux, calling mount
	    with MS_REMOUNT | MS_BIND on a non-bind readonly mount makes the
	    mountpoint appear writable in two places: In the sixth (but not the
	    10th!) column of mountinfo, and in the f_flags member of struct statfs.
	    All other syscalls behave as if the mount point were still readonly (at
	    least for Linux 3.9-rc1, but I don't think this has changed recently or
	    is expected to soon). My preferred semantics would be for MS_REMOUNT |
	    MS_BIND to fail on a non-bind mount, as it doesn't make sense to remount
	    a non bind-mount as a bind mount.

	commit 2c9cf5074642459b37f19a2d4c6bc0233248d3a4
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Mar 7 19:39:55 2013 -0500

	    makeStoreWritable: Use statvfs instead of /proc/self/mountinfo to find out if /nix/store is a read-only bind mount

	    /nix/store could be a read-only bind mount even if it is / in its own filesystem, so checking the 4th field in mountinfo is insufficient.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit c3fc60d9369fc802b33f75d2d9cd6ef22b916112
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 18 21:49:42 2013 +0100

	    Fix evaluation

	commit f72ed360250fd04138358463b5d1965d81160e0d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 15 14:21:05 2013 +0100

	    Bump version number

	commit 78d777ca15a5212bef7d6674adf0ed1abadce883
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 15 13:18:49 2013 +0100

	    Remove the "system" jobset input

	commit a68ebf8e376a2f712cb7b00442e66c0c416026b4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Mar 14 18:33:15 2013 +0100

	    Require Bison 2.6

	commit 804709706c56c207f1eb9033f98b213216672269
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Mar 14 18:31:08 2013 +0100

	    Fix building against Bison 2.6

	commit c56bc3d81cdcc09daf331b253a42cd155a9bd5f2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Mar 14 17:21:13 2013 +0100

	    Make sure that thunks are restored properly if an exception occurs

	    Fixes Hydra bug #67.

	commit 4b07476848f7738c07a5b0894ad7a848ee2e9c9d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 8 01:27:04 2013 +0100

	    Prevent config.h from being clobbered

	commit bdd4646338da296fdf3a8f9dc3cf5aff1dafa163
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 8 01:24:59 2013 +0100

	    Revert "Prevent config.h from being clobbered"

	    This reverts commit 28bba8c44f484eae38e8a15dcec73cfa999156f6.

	commit e73d9e948887621906363a35c980538294898a02
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 8 00:27:32 2013 +0100

	    Fix annoying Perl 5.16 warnings

	    I.e.

	    Subroutine Nix::Store::isValidPath redefined at /nix/store/clfzsf6gi7qh5i9c0vks1ifjam47rijn-perl-5.16.2/lib/perl5/5.16.2/XSLoader.pm line 92.

	    and so on.

	commit 28bba8c44f484eae38e8a15dcec73cfa999156f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Mar 7 23:55:55 2013 +0100

	    Prevent config.h from being clobbered

	commit 8057a192e3254c936fa0bcb5715e09600a28e8f8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 28 19:55:09 2013 +0100

	    Handle systems without lutimes() or lchown()

	commit 9fa1bee575886b76c3a23af37f9f3ce2ce52733c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 28 19:36:02 2013 +0100

	    Update release notes

	    Also use a point release version number as suggested by several
	    people.

	commit f45c731cd7740cfd479d8704de16ee49e51fe06e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 28 14:51:08 2013 +0100

	    Handle symlinks properly

	    Now it's really brown paper bag time...

	commit 88936411bcdd344d04e3a9ae0cd5389650551784
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 28 13:03:53 2013 +0100

	    Bump version number

	commit 0111ba98ea0a91965ebb215b408ee1c10286a245
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 27 17:18:41 2013 +0100

	    Handle hard links to other files in the output

	commit b008674e4616cd2596d8b02273deb52f8bcb7d6c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 27 16:35:46 2013 +0100

	    Refactoring: Split off the non-recursive canonicalisePathMetaData()

	    Also, change the file mode before changing the owner.  This prevents a
	    slight time window in which a setuid binary would be setuid root.

	commit 826dc0d07d3b1ea6669f4ba42f73d1d29fe49642
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 26 14:32:48 2013 +0100

	    Remove outdated file

	commit 97c6009c47d687fecbc0e49df421546b64a4c94b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 26 14:32:14 2013 +0100

	    Bump version number

	commit ca9c02dff1449ff4c05ce86200ef73c2ff2883ab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 26 13:23:09 2013 +0100

	    Update release notes

	commit 5526a282b5b44e9296e61e07d7d2626a79141ac4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 26 02:30:19 2013 +0100

	    Security: Don't allow builders to change permissions on files they don't own

	    It turns out that in multi-user Nix, a builder may be able to do

	      ln /etc/shadow $out/foo

	    Afterwards, canonicalisePathMetaData() will be applied to $out/foo,
	    causing /etc/shadow's mode to be set to 444 (readable by everybody but
	    writable by nobody).  That's obviously Very Bad.

	    Fortunately, this fails in NixOS's default configuration because
	    /nix/store is a bind mount, so "ln" will fail with "Invalid
	    cross-device link".  It also fails if hard-link restrictions are
	    enabled, so a workaround is:

	      echo 1 > /proc/sys/fs/protected_hardlinks

	    The solution is to check that all files in $out are owned by the build
	    user.  This means that innocuous operations like "ln
	    ${pkgs.foo}/some-file $out/" are now rejected, but that already failed
	    in chroot builds anyway.

	commit dadf7a5b46f08b59c7e15a40937a9039ef273d63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 19 16:56:31 2013 +0100

	    build-remote: Use the --quiet flag

	    ‘--option verbosity 0’ doesn't actually do anything.

	commit 3e067ac11c1621f989011432f619652a9c20e6f4
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon Feb 18 23:05:40 2013 +0100

	    Add `Settings::nixDaemonSocketFile'.

	commit 5ea138dc4b9822095723b75bc2962e3d899f5437
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon Feb 18 23:05:39 2013 +0100

	    Enable chroot support on old glibc versions.

	commit 79a3ba7fa3cd23b31ea43007899ed79f181d4faf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 8 20:02:58 2013 +0100

	    Document ‘hashString’

	commit 5f18cd2e84bb4d7405f7dbcc8b6554365556a3a1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 8 19:49:24 2013 +0100

	    Make "${./path} ..." evaluate to a string, not a path

	    Wacky string coercion semantics caused expressions like

	      exec = "${./my-script} params...";

	    to evaluate to a path (‘/path/my-script params’), because
	    anti-quotations are desuged to string concatenation:

	      exec = ./my-script + " params...";

	    By constrast, adding a space at the start would yield a string as
	    expected:

	      exec = " ${./my-script} params...";

	    Now the first example also evaluates to a string.

	commit 52172607cfc33867c0cdb526bef99c315e98baa2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 8 19:36:23 2013 +0100

	    Rename "hash" to "hashString" and handle SHA-1

	commit 01a5ea9914b3933e63a88184861900615be76e12
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Thu Feb 7 00:03:46 2013 +0100

	    experimental/hash

	    adding primop function calculating hash of a string

	    Signed-off-by: Marc Weber <marco-oweber@gmx.de>

	commit 8add116acd050bdcca84b8a092420566a6e6692c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 5 16:02:57 2013 +0100

	    Nix::Store::derivationFromPath: Return derivation outputs

	commit d6143801fdba7354180d8a56ae86f7825178dff2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 30 18:49:19 2013 +0100

	    Support the colonies

	commit 9842077cb2bd968e0b14502609cf41741e170d33
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 24 13:00:44 2013 +0100

	    Improve -I description

	    Issue #88.

	commit 5e9c3da41282970d5a496d1327de69cc1274d353
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 23 16:45:10 2013 +0100

	    Only warn about SQLite being busy once

	    No need to get annoying.

	commit 99ed558a93216288e50b11132f2a00a74cc6bb7f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 22 22:07:25 2013 +0100

	    Correctly handle missing logs

	commit 1943b60ad820730a74d1dffcdddac396d0c1cb00
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 21 22:36:23 2013 +0100

	    Fix the VM tests

	commit 96fbbbde55d6f226fc49299ed753761edfb6ad77
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 21 22:26:25 2013 +0100

	    build-remote.pl: Don't keep build logs on the build slave

	commit d6fd6d8aff06740f6c2595d13482d9183c11d243
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Jan 18 19:59:23 2013 -0500

	    corepkgs/fetchurl: Enable making the downloaded file executable

	commit 536c85ea49c16a2ecd5a1ba169975b296cd6158c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 17 15:37:52 2013 +0100

	    Store build logs in /nix/var/log/nix/drvs/<XX>

	    ...where <XX> is the first two characters of the derivation.
	    Otherwise /nix/var/log/nix/drvs may become so large that we run into
	    all sorts of weird filesystem limits/inefficiences.  For instance,
	    ext3/ext4 filesystems will barf with "ext4_dx_add_entry:1551:
	    Directory index full!" once you hit a few million files.

	commit 66fa9e6a4d7cf4c0a32d33adfc464f84c492f6d1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 7 14:48:44 2013 +0100

	    Bump version number to 1.4

	commit e42df686f309c5cd08a8653207e79e9caae37b67
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jan 5 00:13:29 2013 +0100

	    Delete a left-over trash directory before doing a GC

	commit 92926be2fe15b25759e8e3e129a093798f8c37b6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jan 4 15:17:19 2013 +0100

	    Fix "0 store paths deleted" message

	commit b424d29d1b2fb99c654f1cffe6cd57b298c0ab33
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 3 13:29:17 2013 +0100

	    Open the database after removing immutable bits

	commit 3007f5737734856b58768f83edefe8574f373333
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 3 13:00:46 2013 +0100

	    Remove tabs

	commit def5160b614a59a0aa96fe2252e3daa00146e061
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 3 12:59:23 2013 +0100

	    Clear any immutable bits in the Nix store

	    Doing this once makes subsequent operations like garbage collecting
	    more efficient since we don't have to call makeMutable() first.

	commit 0a4e90395c3286a246b816575351b9f2016976ba
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 23:52:15 2013 +0100

	    Urgggh

	    http://hydra.nixos.org/build/3661100

	commit f12492c66dc5c71c22ce2eb1788dacd86b1dfb1f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 22:36:08 2013 +0100

	    Manual: Fix "nix-store --export" example

	commit aebea2e489a21af260e7a654b0313efe042fbf9d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 22:16:37 2013 +0100

	    Reinstate the http://nixos.org/binary-cache default for the binary-caches setting

	commit 649bb60617e5413a87625a0c23e5ebd4f6229703
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 22:12:19 2013 +0100

	    Use sysconfdir=/etc

	commit 42d6f640c13e292593d4141b8bae0a2da4ee6ef8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 12:59:49 2013 +0100

	    Update release notes

	commit 299141ecbd08bae17013226dbeae71e842b4fdd7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 12:38:28 2013 +0100

	    If a substitute closure is incomplete, build dependencies, then retry the substituter

	    Issue #77.

	commit 1b3a78a4597c6c1d94fc51aa0520252aab21a2c8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 12:00:26 2013 +0100

	    Automatically fall back if the references of a substitute are not substitutable

	    Fixes #77.

	commit 82248abd8f2967f72b965c0ba7774815068c4962
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 11:45:23 2013 +0100

	    Add a test for incomplete closures in the binary cache

	    Issue #77.

	commit 12f9129f60651793e319171236e006aecfdc34be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Dec 29 23:21:46 2012 +0100

	    nix-build: Support talking to old daemons

	    Fixes #76.

	commit b7629778efcfeb9ea876616feb869457cd2bf071
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Dec 29 23:04:02 2012 +0100

	    Allow mounting a path in a different location in the chroot

	    Fixes #24.

	commit 68dcbb187e540034e85b5b77d1b37cec1759a587
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 21 15:00:07 2012 +0100

	    download-from-binary-cache: Use the channels of the calling user rather than root

	    This should make live easier for single-user (non-daemon)
	    installations.  Note that when the daemon is used, the "calling user"
	    is root so we're not using any untrusted caches.

	commit 5ee7d8fbab71b9eef94f1eecd38de511d00f6149
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 21 00:18:59 2012 +0100

	    Typo fix

	commit 2754a07eadfa3fe263f83830c701748bbd4c0420
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 20 18:41:44 2012 +0100

	    nix-store -q --roots: Respect the gc-keep-outputs/gc-keep-derivations settings

	    So if a path is not garbage solely because it's reachable from a root
	    due to the gc-keep-outputs or gc-keep-derivations settings, ‘nix-store
	    -q --roots’ now shows that root.

	commit 06f62defe640517267a6a16dd222076c822f3123
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 20 17:32:15 2012 +0100

	    Yet another rewrite of the garbage collector

	    But this time it's *obviously* correct!  No more segfaults due to
	    infinite recursions for sure, etc.

	    Also, move directories to /nix/store/trash instead of renaming them to
	    /nix/store/bla-gc-<pid>.  Then we can just delete /nix/store/trash at
	    the end.

	commit 9c29a2ed35d884cda182cea74aee2a7ee614de93
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 20 12:22:13 2012 +0100

	    Give a better error message if writeFile fails due to permission issues

	commit e775d4d84fe4b90464b00d560ceb79665301d79b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 19 15:33:09 2012 +0100

	    If gc-keep-derivations is set, only keep the actual deriver

	    This prevents zillions of derivations from being kept, and fixes an
	    infinite recursion in the garbage collector (due to an obscure cycle
	    that can occur with fixed-output derivations).

	commit fbf0b2fa45c883f1f5e0c8f5397fcf62a4df9207
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 19 11:47:42 2012 +0100

	    Kill the build hook rather than shutting it down cleanly

	    Waiting for the hook to shut down cleanly sometimes seems to lead to
	    hangs.

	commit 228ea7c2f988523d2c168f97975ab0e85f412e78
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 18 20:43:47 2012 +0100

	    Revert brain fart

	    This reverts commit cc511fd65b7b6de9e87e72fb4bed16fc7efeb8b7.

	commit cc511fd65b7b6de9e87e72fb4bed16fc7efeb8b7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 18 18:50:05 2012 +0100

	    Check for potential infinite select() loops when building

	commit a9045c727fab1cdcc530bc18e651334cf892d62c
	Author: Stuart Pernsteiner <stuart@pernsteiner.org>
	Date:   Wed Dec 12 21:13:26 2012 -0800

	    fix use-after-free bug in mkString(Value&, Symbol&)

	commit 9fa12fc2015c9cbc34bcf9d83e7396ba5dbc81a9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 12 16:01:46 2012 +0100

	    Allow setting the profile location using $NIX_PROFILE

	    Fixes #69.

	commit 3ad53e43c8ca35cc581ebc3dd880c11892c8e016
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 11 16:50:21 2012 +0100

	    Debian package: Add dependency on libwww-curl-perl

	    Fixes issue #70.

	commit 772778c0eced8f8d63bfe6b1e9801ad6aada65bf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 11 11:49:42 2012 +0100

	    On SQLITE_BUSY, wait a random amount of time

	    If all contending processes wait a fixed amount of time (100 ms),
	    there is a good probability that they'll just collide again.

	commit e087bfef5f36f309b1c8d01bfe297e4cf4decb34
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 7 13:14:04 2012 +0100

	    Bump version number

	commit a6ce6d9e7cc0b95b8fc45ebf011ec10cc8eb0ff4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 6 16:55:57 2012 +0100

	    Fix manual generation

	    Grmbl.

	commit 8cc19ed0892137a77d95250ffe1e5bc29ff2ebaf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 6 11:43:34 2012 +0100

	    Set a long SQLite timeout in the binary cache substituter

	commit 52edef34950354ecccbe8e1bf3f1aced3872b5c0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 23:25:40 2012 +0100

	    Fix RPM build

	    http://hydra.nixos.org/build/3436627

	commit 8d100dbef1f2aeb90b73d659e0c9691be182d9ac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 12:18:07 2012 +0100

	    Add a dependency on xz-utils

	commit 5c487761c4df2aafd2f7d0f33f15adcc3dd45a82
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 12:17:12 2012 +0100

	    Add a dependency on xz

	commit 3631dc6b2f8424018982f1b8a1c44e3d2f9e356e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 12:15:06 2012 +0100

	    Typo

	commit aa61bc74729e1b96f6f345ff65fa6bd5de03df91
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 12:05:43 2012 +0100

	    Fix RPM build

	    http://hydra.nixos.org/build/3436511

	commit 0f96966a44d76e0b625c0b17d02cc53b5233245d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 11:03:06 2012 +0100

	    Add release date

	commit 566afa1e9c804dd4a893960f30325a38c81a4c51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 11:02:44 2012 +0100

	    Support xz compression of nixexprs.tar in channels

	commit 444b03a36fc038f030241d3d006d13ba2ae12e6b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 10:23:53 2012 +0100

	    Produce an xz-compressed tarball

	    Footnote: doing "make dist-gzip dist-xz" doesn't work with Automake;
	    you have to do "make dist-gzip; dist-xz".  That's because the dist-*
	    targets delete the temporary distdir at the end.

	commit d5a01d0f9dfda5a47461ab81e381a7035881b3ef
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 09:54:41 2012 +0100

	    Build Debs for Ubuntu 12.10

	commit a7b4aaa2c342437b14b82f216613759acc1208d5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 17:41:51 2012 +0100

	    Updated release notes

	commit 3100b29fc51b46c76f6aca1fffc62881ca10de64
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 17:22:20 2012 +0100

	    Tiny optimisation in the filter primop

	commit 094a08f8396c913b6023ae2bf1c6615470e7cc45
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 17:15:32 2012 +0100

	    Document new primops

	commit 4387d19359780a03c8e60bf7b0687668c9ed88ca
	Author: Florian Friesdorf <flo@chaoflow.net>
	Date:   Tue Dec 4 16:32:38 2012 +0100

	    nix-channel --update needs bzip2

	commit 24d5875514ac4344643988077060e792252d135c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 16:03:56 2012 +0100

	    Document multiple output support

	commit b215b23e9ee481dff55f8f0acf1232f608e5babb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 14:47:50 2012 +0100

	    Test priorities

	commit 56d29dcd62ff5ff65b24da335a5119179c191806
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 14:45:32 2012 +0100

	    buildenv.pl: Create symlinks in priority order

	    This reduces unnecessary symlink/unlink steps.

	commit 2d5e8e267b58f531f00b043c9e3dbaefad62a4a1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 14:30:34 2012 +0100

	    Add a test for ‘nix-env --set-flag active ...’

	commit 5ad89398d12bf8bc83426036dedc2c601ff8f795
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 14:20:36 2012 +0100

	    nix-env: Install all outputs of a derivation

	    If you explicitly install a package, presumably you want all of it.
	    So symlink all outputs in the user environment.

	commit 21c2d8d102add45b8eda61c084aa072f8861a0ff
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 3 21:02:06 2012 +0100

	    Test the ‘--prebuilt-only’ flag

	commit d62fc71b851295b4c5692ec5fa362a06172e66ae
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 3 21:01:41 2012 +0100

	    Fix the ‘--prebuilt-only’ flag

	commit 4bb4d5479a8a2c2ed04bd65312ce1bfb6d2c0b13
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 3 18:19:49 2012 +0100

	    Whitespace

	commit 8eed07cda4c193bfcdd6ac4345ac6fb54aee0269
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Nov 28 13:49:44 2012 +0100

	    nix-env -q --out-path: Support multiple outputs

	    We now print all output paths of a package, e.g.

	      openssl-1.0.0i  bin=/nix/store/gq2mvh0wb9l90djvsagln3aqywqmr6vl-openssl-1.0.0i-bin;man=/nix/store/7zwf5r5hsdarl3n86dasvb4chm2xzw9n-openssl-1.0.0i-man;/nix/store/cj7xvk7fjp9q887359j75pw3pzjfmqf1-openssl-1.0.0i

	    or (in XML mode)

	      <item attrPath="openssl" name="openssl-1.0.0i" system="x86_64-linux">
	        <output name="bin" path="/nix/store/gq2mvh0wb9l90djvsagln3aqywqmr6vl-openssl-1.0.0i-bin" />
	        <output name="man" path="/nix/store/7zwf5r5hsdarl3n86dasvb4chm2xzw9n-openssl-1.0.0i-man" />
	        <output name="out" path="/nix/store/cj7xvk7fjp9q887359j75pw3pzjfmqf1-openssl-1.0.0i" />
	      </item>

	commit 6c98e6a5dec2bcbc25ddeb2c279aa4a0b274bd6a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 27 15:01:32 2012 +0100

	    Optionally ignore null-valued derivation attributes

	    This allows adding attributes like

	      attr = if stdenv.system == "bla" then something else null;

	    without changing the resulting derivation on non-<bla> platforms.

	    We once considered adding a special "ignore" value for this purpose,
	    but using null seems more elegant.

	commit 8b8ee53bc73769bb25d967ba259dabc9b23e2e6f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 27 13:29:55 2012 +0100

	    Add builtin constants ‘langVersion’ and ‘nixVersion’

	    The integer constant ‘langVersion’ denotes the current language
	    version.  It gets increased every time a language feature is
	    added/changed/removed.  It's currently 1.

	    The string constant ‘nixVersion’ contains the current Nix version,
	    e.g. "1.2pre2980_9de6bc5".

	commit 5943f41b8bd95b8559cb6768bb0a1151f6bee68d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 18:25:12 2012 +0100

	    queryMissing(): Handle partially valid derivations

	commit 08964d7328f09a703467e4045e34023837a4cc01
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 17:57:14 2012 +0100

	    Undo accidental debug change

	commit 69c88f5028b4b2d5d2500dc4f631d77ac1d2c5fd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 17:46:45 2012 +0100

	    Fix the multiple-outputs test

	commit 408a7bfac1f4282ff6647696dfbc7988eed3a2ca
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 17:39:09 2012 +0100

	    nix-instantiate: Fix read-only evaluation

	commit 8d8d47abd2a66898aa5d8999fcd75b29991e529d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 17:15:09 2012 +0100

	    Only substitute wanted outputs of a derivation

	    If a derivation has multiple outputs, then we only want to download
	    those outputs that are actuallty needed.  So if we do "nix-build -A
	    openssl.man", then only the "man" output should be downloaded.
	    Likewise if another package depends on ${openssl.man}.

	    The tricky part is that different derivations can depend on different
	    outputs of a given derivation, so we may need to restart the
	    corresponding derivation goal if that happens.

	commit 46a369ad9558939bc2c6ee588df483ca503bbb5a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 15:39:10 2012 +0100

	    Make "nix-build -A <derivation>.<output>" do the right thing

	    For example, given a derivation with outputs "out", "man" and "bin":

	      $ nix-build -A pkg

	    produces ./result pointing to the "out" output;

	      $ nix-build -A pkg.man

	    produces ./result-man pointing to the "man" output;

	      $ nix-build -A pkg.all

	    produces ./result, ./result-man and ./result-bin;

	      $ nix-build -A pkg.all -A pkg2

	    produces ./result, ./result-man, ./result-bin and ./result-2.

	commit a3d6585c5a1006d4f9ebd2163d06f86ab71a4a3e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 23 16:20:16 2012 +0100

	    nix-copy-closure: Add flag ‘--use-substitutes’

	commit 9de6bc5d05027363f968c20e53e8c3d5aa34f8b4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 20 00:27:25 2012 +0100

	    nix-store -r: Add ‘--ignore-unknown’ flag

	    This flag causes paths that do not have a known substitute to be
	    quietly ignored.  This is mostly useful for Charon, allowing it to
	    speed up deployment by letting a machine use substitutes for all
	    substitutable paths, instead of uploading them.  The latter is
	    frequently faster, e.g. if the target machine has a fast Internet
	    connection while the source machine is on a slow ADSL line.

	commit bf3725da2a1e4e91fc34b5faeb55bb3c02f68674
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 19 23:51:56 2012 +0100

	    nix-store -r: Don't quietly ignore missing paths

	commit 17dc306aa32c48dcde6bfc12ad5e4b48f6b88974
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 15 23:04:34 2012 +0100

	    Revert "prim_toPath: Actually make the string a path"

	    This reverts commit 2980d1fba97069805c3649c5d99d0356bce6c303.  It
	    causes a regression in NixOS evaluation:

	    string `/nix/store/ya3s5gmj3b28170fpbjhgsk8wzymkpa1-pommed-1.39/etc/pommed.conf' cannot refer to other paths

	commit f794465ca8bd2a8d41ee3b6928db5fb1479dc96d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 15 19:35:18 2012 +0100

	    Disable use of vfork()

	    vfork() is just too weird.  For instance, in this build:

	      http://hydra.nixos.org/build/3330487

	    the value fromHook.writeSide becomes corrupted in the parent, even
	    though the child only reads from it.  At -O0 the problem goes away.
	    Probably the child is overriding some spilled temporary variable.

	    If I get bored I may implement using posix_spawn() instead.

	commit 8541d27fce95f1f6a4a6c89bcbc09503ff7ea092
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 15 15:01:02 2012 +0100

	    Don't use std::cerr in a few places

	    Slightly scared of using std::cerr in a vforked process...

	commit 3acc8adcad4066329913cf9ad4e1ccc535f73032
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 15 13:55:02 2012 +0100

	    Add some debug code

	commit ea89df2b76811505239b508a570ac9c0ea591038
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 18:00:33 2012 +0100

	    Use vfork() instead of fork() if available

	    Hopefully this reduces the chance of hitting ‘unable to fork: Cannot
	    allocate memory’ errors.  vfork() is used for everything except
	    starting builders.

	commit 48c19c4633b1443015531ee3032b16b29b0a92f9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 17:59:41 2012 +0100

	    Remove definition of non-existant function

	commit 198dbe7fa1807f7464ef7c15c3fd0d230f7b844e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 16:58:51 2012 +0100

	    Remove some redundant close() calls

	    They are unnecessary because we set the close-on-exec flag.

	commit 10dcee99ed62a775c05f34aa70449945d537e1a2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 16:42:10 2012 +0100

	    Remove the quickExit function

	commit 4c9e3fa6412f736ce422f8deb0ba825999b66b0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 16:35:42 2012 +0100

	    Remove a Darwin hack that should no longer be needed

	commit 182e15b66135a83d60d662a9e480831018572073
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 16:30:15 2012 +0100

	    Manual: Don't use a store path in our closure

	    http://hydra.nixos.org/build/3313227

	commit 88164325fac228e8e27fdea27776416d67a85dd6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 15:09:31 2012 +0100

	    Fix a segfault when auto-calling a "a@{...}" function

	    Since the called function can return its argument attribute set
	    (e.g. "a"), the latter should not be allocated on the stack.

	    Reported by Shea.

	commit f581ce0b0cb86670db2b806f98ac0ec368b8cdc1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 14:58:10 2012 +0100

	    Don't start copy-from-other-stores if $NIX_OTHER_STORES is unset

	    Slight optimisation.

	commit 91ef4d9a81827177963bcf7708af3a46217fd0e9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 14:43:47 2012 +0100

	    Remove unnecessary call to closeMostFDs()

	    We have close-on-exec on all FDs now, and there is no security risk in
	    passing open FDs to substituters anyway.

	commit a9a8baaccbe1c8291d0cfd42fe3c87377b105381
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 13:33:35 2012 +0100

	    Use a shorter Nixpkgs channel URL

	commit c31ebc50aaaf011f020b7314baa9921aae1050a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 13:33:24 2012 +0100

	    Update release notes

	commit e28b683324388f33b89ee40d7a7e25dcd8f98109
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 17:55:53 2012 +0100

	    download-from-binary-cache: Try next cache if downloading a NAR fails

	commit bbc107ef1e850d73dbe9a21c567b34f5939570c6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 17:45:20 2012 +0100

	    Process binary caches in order of priority

	    Binary caches can now specify a priority in their nix-cache-info file.
	    The binary cache substituter checks caches in order of priority.  This
	    is to ensure that fast, static caches like nixos.org/binary-cache are
	    processed before slow, dynamic caches like hydra.nixos.org.

	commit 3a95e1a17cd2755f00c26eb16ffd066bc6aa1a8d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 15:49:53 2012 +0100

	    Update nix-push manpage and document the binary cache format

	commit 82951e5582ae7927cb90320accb989214ce07142
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 13:53:53 2012 +0100

	    nix-push: Handle pushing a symlink

	commit 620e92e880f8a011c5f465ea4fee2abf857d4ab2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 13:44:59 2012 +0100

	    Add an option ‘use-binary-caches’

	    This allows disabling the use of binary caches, e.g.

	      $ nix-build ... --option use-binary-caches false

	    Note that

	      $ nix-build ... --option binary-caches ''

	    does not disable all binary caches, since the caches defined by
	    channels will still be used.

	commit df27db712df658dc9b7548b55fd65a15515d4d85
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 13:43:46 2012 +0100

	    Fix "Not an ARRAY reference" error

	    It's a mystery why this error is not triggered in the build farm
	    (e.g. http://hydra.nixos.org/build/3265602).  Ah well.

	commit d0fc615af658cb83e858b3c3c5e0d4c6c539ad66
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Nov 5 23:00:21 2012 -0500

	    canonicalizePathMetaData: Fall-back to utimes if lutimes fails due to ENOSYS

	commit 4c34d384e68ce7e2c949a7588d80bbe7d5a96440
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 23 18:05:50 2012 +0200

	    If hashes do not match, print them in base-32 for SHA-1/SHA-256

	    Fixes #57.

	commit a28b4445a4eb8108dfc028083d3939d5f3a42685
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 23 18:04:00 2012 +0200

	    nix-prefetch-url: Improve option handling

	commit 2980d1fba97069805c3649c5d99d0356bce6c303
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Aug 28 22:12:05 2012 -0400

	    prim_toPath: Actually make the string a path

	commit dde6486eabbabf83e2d7aa65cde8eadfee108bdd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 18 10:36:16 2012 -0400

	    nix-push: Add a flag ‘--manifest-path’ to write the manifest to another directory

	commit c8daeba30328c83328b632f8f45920d85d7d1968
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 17 17:01:23 2012 -0400

	    nix-push: Add ‘--link’ flag

	    If ‘--link’ is given, nix-push will create hard links to the NAR files
	    in the store, rather than copying them.  This is faster and requires
	    less disk space.  However, it doesn't work if the store is on a
	    different file system.

	commit 167e36a5c3127da63d120d9fdaf5e046b829f287
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 17 16:45:04 2012 -0400

	    nix-push: Only generate and copy a NAR if it doesn't already exist

	    This prevents unnecessary and slow rebuilds of NARs that already exist
	    in the binary cache.

	commit ac238d619c2469ea89b8707ae340d3f19c77eadf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 12 10:21:04 2012 -0400

	    Typo

	    Reported by Shea.

	commit 600daf972f9157d358841f76b3292b667c97666f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 11 14:21:22 2012 -0400

	    download-from-binary-cache: Remove duplicate entries in trustedURLs

	commit e34518205533a90e9664d7ab3888818e669e11cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 11 14:03:06 2012 -0400

	    Shorten the names of temporary build directories

	commit ecedd9c50c50bb42accf27394193bb7ef80c75b0
	Author: Mats Erik Andersson <gnu@gisladisker.se>
	Date:   Wed Oct 10 11:10:28 2012 +0200

	    Out-of-tree building of perl modules.

	commit 70f75be199d8db959d313dc40111893fba56415f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 4 15:22:25 2012 -0400

	    getDerivation(): Don't always quietly ignore assertion failure

	    Ignoring assertion failures makes some sense for nix-env -qa, but not
	    for nix-instantiate/nix-build or hydra-eval-jobs.

	commit ad328bea15e2708e5aa784c33ba8bfbc86d02e0d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 4 14:07:36 2012 -0400

	    XML writer: flush after newlines

	    This is useful for hydra-eval-jobs.

	commit bfaa5635de8ed83085dfeb265227cc25a32ce07c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 4 13:37:30 2012 -0400

	    Manual: Don't use a store path that actually exists

	    http://hydra.nixos.org/build/3124130

	commit 904f50412cdd0b7d0ef4933e7a5b652a9454d644
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 4 10:20:23 2012 -0400

	    nix-store --verify: Continue on errors

	commit 90b8a34f821610a867b3a60d91c8e86267864be2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 4 09:46:10 2012 -0400

	    Fix regular expression

	    http://hydra.nixos.org/build/3123177

	commit d1de83693821c0cc46810e835509a89b46311d4a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 21:01:03 2012 -0400

	    Fix the tarball build

	commit f766e146f484a10e0bfd3f29b1ba59cc38007b63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 18:01:35 2012 -0400

	    Fix the test

	commit e35d6f78dc797150451f5134833afa0ecdf4a241
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 17:57:20 2012 -0400

	    Rename nix-worker to nix-daemon

	commit 522ecab9b83902de5a3010b50b9532e376cbba4c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 17:30:45 2012 -0400

	    Drop support for running nix-worker in "slave" mode

	    AFAIK nobody uses this, setuid binaries are evil, and there is no good
	    reason why people can't just run the daemon.

	commit 7586095504f238a35937426aa870cb6d2a7b2862
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 16:54:40 2012 -0400

	    Remove bin2c

	commit a562d544d8520a0f113ad1a348e28ea00f27b693
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 16:37:06 2012 -0400

	    When ‘--help’ is given, just run ‘man’ to show the manual page

	    I.e. do what git does.  I'm too lazy to keep the builtin help text up
	    to date :-)

	    Also add ‘--help’ to various commands that lacked it
	    (e.g. nix-collect-garbage).

	commit 9c41c66c5b877dbb529f6147b28384a57a591895
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 15:53:25 2012 -0400

	    Document ‘--repair’

	commit 2bbc4a214ee998816921cefb2d69f30d5f277d12
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 15:35:42 2012 -0400

	    nix-env: Support ‘--repair’ flag

	commit 2e90a5a2a7646f4ab36202d6a149518ccb6f750e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 15:14:02 2012 -0400

	    nix-build: Support ‘--repair’ flag

	commit 0a7084567fc4e7d077863075a7ea1bb82d843341
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 15:09:18 2012 -0400

	    Add a ‘--repair’ flag to nix-instantiate

	    This allows repairing corrupted derivations and other source files.

	commit a807edfae8428bf426ee6ae849a7a24d74d39202
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 11:20:16 2012 -0400

	    Handle repairing paths that are in build-chroot-dirs

	commit a3f205b24954c7f0983a937b0b9b3d64c22a2fa7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 10:38:09 2012 -0400

	    When repairing a derivation, check and repair the entire output closure

	    If we find a corrupted path in the output closure, we rebuild the
	    derivation that produced that particular path.

	commit 2001895f3d2668549feb60a182aa624a7b6292eb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 2 17:13:46 2012 -0400

	    Add a --repair flag to ‘nix-store -r’ to repair derivation outputs

	    With this flag, if any valid derivation output is missing or corrupt,
	    it will be recreated by using a substitute if available, or by
	    rebuilding the derivation.  The latter may use hash rewriting if
	    chroots are not available.

	commit cf46f194445c9abc0398dae908295dff794fee98
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 2 16:00:09 2012 -0400

	    nix-store -r: Get rid of an unnecessary call to buildPaths/ensurePaths

	commit 8e3a7bd71253f02eb1a9fbb996166727b1283887
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 2 15:04:59 2012 -0400

	    nix-store --verify: Add an option ‘--repair’ to repair all missing/corrupt paths

	    Also, return a non-zero exit code if errors remain after
	    verifying/repairing.

	commit 9958bd6992e2b3e7bacb493a372d17d5a5b95d90
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 2 14:08:59 2012 -0400

	    Add operation ‘nix-store --repair-path’

	    This operation allows fixing corrupted or accidentally deleted store
	    paths by redownloading them using substituters, if available.

	    Since the corrupted path cannot be replaced atomically, there is a
	    very small time window (one system call) during which neither the old
	    (corrupted) nor the new (repaired) contents are available.  So
	    repairing should be used with some care on critical packages like
	    Glibc.

	commit e666e1156fba936dce93ccfa2486f67369a97129
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 28 21:39:30 2012 -0400

	    Handle octal escapes in /proc/self/mountinfo

	commit f406288cc7cf648001a40b0a96cb97c31347cc5a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 28 21:26:36 2012 -0400

	    Print a more descriptive error message if setting up the build environment fails

	commit 95c74eae269b2b9e4bc514581b5caa1d80b54acc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 27 15:43:08 2012 -0400

	    Allow dashes in identifiers

	    In Nixpkgs, the attribute in all-packages.nix corresponding to a
	    package is usually equal to the package name.  However, this doesn't
	    work if the package contains a dash, which is fairly common.  The
	    convention is to replace the dash with an underscore (e.g. "dbus-lib"
	    becomes "dbus_glib"), but that's annoying.  So now dashes are valid in
	    variable / attribute names, allowing you to write:

	      dbus-glib = callPackage ../development/libraries/dbus-glib { };

	    and

	      buildInputs = [ dbus-glib ];

	    Since we don't have a negation or subtraction operation in Nix, this
	    is unambiguous.

	commit f46612be96a70a188cd48462ac94089d3e95a36b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 16:30:37 2012 -0400

	    Add "on Linux" qualifier

	commit d534f137f0b0bf6b8559731edcfc1e50bd15a427
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 16:30:08 2012 -0400

	    Make the store writable before creating /nix/store/.links

	commit 0f358ca5b6f1357e295020c3ed89fe877e809fd9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 16:11:58 2012 -0400

	    Document that Nix requires GNU Make

	    Fixes #44.

	commit cb6651e878b3f2d97ac5e2318d679957904105ef
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 16:04:50 2012 -0400

	    Update release notes

	commit e464b0247d9dd2c53770a851956dd34f82b7c9a6
	Merge: 28bf183 b9c2b4d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 15:38:00 2012 -0400

	    Merge branch 'readonly-store'

	commit 28bf183d2d2f775e653efe4cee98d7359ce65455
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 13:00:19 2012 -0400

	    Include <sys/types.h> for off_t

	    Reported by "gio" on IRC.

	commit c1f91570b39caa3cf8a533aa517e3812a8bb8dc3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 21 15:02:33 2012 -0400

	    Style fix

	commit 20582e9ae3c6eb14212a285489c1a573117d046c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 19 17:33:42 2012 -0400

	    Support xz compression in the download-using-manifests substituter

	commit b9c2b4d5b4cd5d52a950e6dd90eb2e2e79891fa0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 19 16:17:54 2012 -0400

	    Remove setting of the immutable bit

	    Using the immutable bit is problematic, especially in conjunction with
	    store optimisation.  For instance, if the garbage collector deletes a
	    file, it has to clear its immutable bit, but if the file has
	    additional hard links, we can't set the bit afterwards because we
	    don't know the remaining paths.

	    So now that we support having the entire Nix store as a read-only
	    mount, we may as well drop the immutable bit.  Unfortunately, we have
	    to keep the code to clear the immutable bit for backwards
	    compatibility.

	commit b9124a5c336fd231adaa548cf5be311731847848
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 19 15:45:29 2012 -0400

	    Support having /nix/store as a read-only bind mount

	    It turns out that the immutable bit doesn't work all that well.  A
	    better way is to make the entire Nix store a read-only bind mount,
	    i.e. by doing

	      $ mount --bind /nix/store /nix/store
	      $ mount -o remount,ro,bind /nix/store

	    (This would typically done in an early boot script, before anything
	    from /nix/store is used.)

	    Since Nix needs to be able to write to the Nix store, it now detects
	    if /nix/store is a read-only bind mount and then makes it writable in
	    a private mount namespace.

	commit 76e88871b21c47c0216e160a5fb926f763ba64fe
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 19 15:43:23 2012 -0400

	    Templatise tokenizeString()

	commit 00092b2d356293a7af9d4d8125a689f90c461591
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 18 10:11:42 2012 -0400

	    Keep build directory if not all expected outputs were produced

	    Fixes issue #123 in Nixpkgs.

	commit b67466576531959ca298fcfce4f0bf379515f8e5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 14 10:18:27 2012 -0400

	    Test whether GNU tar understands --warning=no-timestamp

	    http://hydra.nixos.org/build/3031618

	commit 09eb23090022fed689c6db6c485d7cc973e2b79e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 14 09:39:48 2012 -0400

	    Fix test

	    http://hydra.nixos.org/build/3031382

	commit 983220bcd46e89ee4d2ce0417eb514cd6c062f2d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 18:09:20 2012 -0400

	    nix-collect-garbage: Support --dry-run

	commit 9fd9dedf12bb64e02b35e9231173f9ebae5e1492
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 18:05:04 2012 -0400

	    nix-env --delete-generations: Support --dry-run flag

	    Fixes #43.

	commit 1bda006b748ffec371096af56a8fbf7125658f71
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 17:58:14 2012 -0400

	    Add a test for nix-profile.sh

	commit aac14222f52b15c9f4eea90359e9df09fb301739
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 17:48:19 2012 -0400

	    nix-profile.sh: Revert to single-user version

	    Commit 6a214f3e06fa1c5f0a4d40e555f14d87691af297 copied most of the Nix
	    shell initialisation code from NixOS to nix-profile.sh; however, that
	    code assumes a multi-user install and is Linux-specific (e.g. it calls
	    the "stat" command).  So go back to the simple single-user version.

	    Fixes #49.

	commit 54fe8e0773870631724b7325553f84637bb3e05a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 17:23:12 2012 -0400

	    Remove double Fedora release suffix

	commit 47ae3ce2ca1dc93e2539a04c690c18f4747c8e8d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 16:39:16 2012 -0400

	    Put a time-to-live on negative binary cache lookups

	    Negative lookups are purged from the DB after a day, at most once per
	    day.  However, for non-"have" lookups (e.g. all except "nix-env
	    -qas"), negative lookups are ignored after one hour.  This is to
	    ensure that you don't have to wait a day for an operation like
	    "nix-env -i" to start using new binaries in the cache.

	    Should probably make this configurable.

	commit e03a8a1c923365ca24ea63ac43d3e09f7f9fb3d8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 14:58:56 2012 -0400

	    Doh

	commit 8fbe96cb3154d5db11b15728ad037bed28f08aa9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 14:46:37 2012 -0400

	    RemoteStore::connectToDaemon(): Set close-on-exec flag

	    This ensures that "nix-build --run-env" doesn't keep a connection to
	    the worker open, preventing it from exiting.

	commit e6e495649cc1f324cd0a66cfaf3c4bdf21522e63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 14:33:41 2012 -0400

	    Vacuum the SQLite DB after running the garbage collector

	commit 2923b55f9d67bda340053a27e08f7bcddc025f7c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 13:08:27 2012 -0400

	    Delete paths in a component in topologically sorted order

	    The outputs of a derivation can refer to each other (even though they
	    cannot have cycles), so they have to be deleted in the right order.

	    http://hydra.nixos.org/build/3026118

	commit 31114ec3a5ce08ccf9526f62316f1cc60c8b399a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 12:54:23 2012 -0400

	    Fix the store optimisation test

	    http://hydra.nixos.org/build/3026118

	commit c845c0ccad9a835a69c63c2eadd71d7845dca111
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 12:11:40 2012 -0400

	    nix-channel: Add option to force fetching of manifests

	commit b14717ab9003452fda7afe0f9627673b9f331569
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 11:35:46 2012 -0400

	    Delete manifests in "nix-channel --remove" or when a binary cache is available

	commit 6c4ac299173e3b9772c96bef1e6463b22dcd0227
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 10:28:20 2012 -0400

	    Disable auto store optimisation for now

	    I've seen operations like "nix-store --import" take much longer on one
	    system.  So default to off until I've investigated this a bit further.

	commit e56f71edafce9c60fd5e0c3ed93771b7d911d334
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 10:06:24 2012 -0400

	    In startBuilder(), only print the new paths we're building

	commit 4fca02077c4cdea13d32b4665e817460f6502726
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 12 18:49:35 2012 -0400

	    Handle gc-keep-outputs and gc-keep-derivations both enabled

	    If the options gc-keep-outputs and gc-keep-derivations are both
	    enabled, you can get a cycle in the liveness graph.  There was a hack
	    to handle this, but it didn't work with multiple-output derivations,
	    causing the garbage collector to fail with errors like ‘error: cannot
	    delete path `...' because it is in use by `...'’.  The garbage
	    collector now handles strongly connected components in the liveness
	    graph as a unit and decides whether to delete all or none of the paths
	    in an SCC.

	commit 479e9172b3583cedcada90ed193cab156cdc56b5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 12 12:15:47 2012 -0400

	    Build hook: Pass the timeout to the remote builder

	    Note that this will only work if the client has a very recent Nix
	    version (post 15e1b2c223494ecb5efefc3ea0e3b926a6b1d7dc), otherwise the
	    --option flag will just be ignored.

	    Fixes #50.

	commit 4ba47205c687772cf73a490eac3a489931d4913b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 12 11:29:10 2012 -0400

	    Fix test failure on Darwin

	    Apparently our DBD::SQLite links against /usr/lib/libsqlite3.dylib,
	    which is an old version that doesn't respect foreign key constraints.
	    So manifests/cache.sqlite doesn't get updated properly when a manifest
	    disappears.  We should fix our DBD::SQLite, but in the meantime this
	    will fix the test.

	    http://hydra.nixos.org/build/3017959

	commit 6762424e2471e3e4f9ba9b6bb883d08911d352fb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 12 10:41:17 2012 -0400

	    Compatibility fix for WWW::Curl < 4.14

	    Older versions of WWW::Curl don't support scalar references for
	    CURLOPT_WRITEDATA directly.

	    http://hydra.nixos.org/build/3017188

	commit d4c3b6327ff88273462cec57b0e2805d333c386e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 19:14:15 2012 -0400

	    Don't put results symlinks in the tests directory

	commit 1f7901ec3b66fa80203bbac2cd6852eda389ba18
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 19:10:11 2012 -0400

	    Test hash rewriting

	commit 5e2ffd0b8a857da3239015d28f3a8b803566aecc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 19:09:01 2012 -0400

	    Fix "non-zero padding" error

	    Probably it's not a good idea to pass a temporary object to
	    StringSource.

	commit 8cf672091eb93fea5496aca2655436413f4d3c66
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 18:39:22 2012 -0400

	    Support building a derivation if some outputs are already valid (non-chroot case)

	    This uses scary hash rewriting.

	    Fixes #21.

	commit 9dbda2b3fe98014687ae5cbbf16866ca6cf34f64
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 17:05:35 2012 -0400

	    Remove debug line

	commit a2785b739169832f09285c81695c90a3aac3f731
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 16:59:59 2012 -0400

	    Support building a derivation if some outputs are already valid

	    This handles the chroot and build hook cases, which are easy.
	    Supporting the non-chroot-build case will require more work (hash
	    rewriting!).

	    Issue #21.

	commit 295027f533bb5a754bfc62f934c88b43e9c100a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 14:45:42 2012 -0400

	    Include config.h before any other header

	    "config.h" must be included first, because otherwise the compiler
	    might not see the right value of _FILE_OFFSET_BITS.  We've had this
	    before; see 705868a8a96a10f70e629433cfffc2d5cd2703eb.  In this case,
	    GCC would compute a different address for ‘settings.useSubstitutes’ in
	    misc.cc because of the off_t in ‘settings’.

	    Reverts 3854fc9b42d16b810f62b64194b699033b03aaf1.

	    http://hydra.nixos.org/build/3016700

	commit d3004c78d9816431224f7ac0416c5bfea0cc22cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 13:07:22 2012 -0400

	    Don't use -warning=no-timestamp unless we have GNU tar

	    http://hydra.nixos.org/build/2998485

	commit 360056e174db2171c47e065ae1e5f58ccee0236f
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Aug 26 14:48:47 2012 -0400

	    Document importing from a directory in the import documentation

	commit f7b650d234dffd72b2c70ee25d9e333d433feba6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 28 11:47:26 2012 -0400

	    Make "nix-instantiate -" interruptible

	commit 15e1b2c223494ecb5efefc3ea0e3b926a6b1d7dc
	Merge: a9e6752 9e2fc69
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 14:34:51 2012 -0400

	    Merge branch 'no-manifests'

	commit 9e2fc6951ca049b15149a2c4b75d2f5bff7f07e1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 14:20:14 2012 -0400

	    Disable the binary cache substituter by default for now

	commit cfd968dd94f35c5ef781be9bda883d8818fc1d6e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 14:17:13 2012 -0400

	    Fix stupid type error in calling std::max

	commit f3077fd88d6ec8f05a5471687f23589e34dfeaeb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 13:45:53 2012 -0400

	    Add libwww-curl-perl to the Debian/Ubuntu images

	commit cc8641815b018315ee444c58dd4bc6bfc38c7d0f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:47:49 2012 -0400

	    Add WWW::Curl to the RPM dependencies

	commit 2688fb73f1e0bd96003a82c89ac8de12eca2b49f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:47:04 2012 -0400

	    Add perl-WWW-Curl to the RPM image

	commit 8207359227740bfb2fe77cf843a81aa878fd39aa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:28:48 2012 -0400

	    Whitespace

	commit 8b8fe6139e05f990b9d2a35652fd9bdb79189f90
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:28:34 2012 -0400

	    Drop dependency on List::MoreUtils

	commit babe54bf97091441353f2219e7846afd0e0d9f16
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:11:30 2012 -0400

	    Add missing file

	commit e94806d03098f1d6e654542500bbea1eaa0ec60b
	Merge: 9c2deca a9e6752
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:09:07 2012 -0400

	    Merge branch 'master' into no-manifests

	commit a9e6752bbd888ab8fbc1cda6e4d539b2858c4cef
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 24 16:58:11 2012 -0400

	    Include the output name in the GC root link

	    Output names are now appended to resulting GC symlinks, e.g. by
	    nix-build.  For backwards compatibility, if the output is named "out",
	    nothing is appended.  E.g. doing "nix-build -A foo" on a derivation
	    that produces outputs "out", "bin" and "dev" will produce symlinks
	    "./result", "./result-bin" and "./result-dev", respectively.

	commit 4aa1e5c55484ac02d28883292ee5c5806f5e4664
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 22 10:58:24 2012 -0400

	    Receive reserveSpace before calling startWork()

	    Otherwise we can get a SIGPOLL.  Reported by Ludovic.

	commit d950cfe70b2b70e938ece672dbccedfd4413c295
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 20 15:55:49 2012 -0400

	    Check if MS_PRIVATE is defined

	    http://hydra.nixos.org/build/2955671

	commit 56e30e161cd309addb5aa95ba02a8d3371846228
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 20 15:27:30 2012 -0400

	    In the chroot, make all mounted filesystems private

	    This is required on systemd, which mounts filesystems as "shared"
	    subtrees.  Changes to shared trees in a private mount namespace are
	    propagated to the outside world, which is bad.

	commit f0eab0636b73a4f16b7639d30956d9072d5573cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 20 15:27:00 2012 -0400

	    Don't bind-mount /proc since we mount our own

	commit 862c4c5ec509e05815d99fb4b80558974148b8c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 19 16:32:42 2012 -0400

	    Fix 1755 permission on temporary directories left behind by ‘-K’

	commit 767101824af1fe41b6e50791b21112c6a8d7457f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 15:10:29 2012 -0400

	    Avoid concatenating lists of one string

	commit e5c589d271c62f57cd2e7eb7d9841f67d8845ff4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 15:02:09 2012 -0400

	    Don't allocate empty lists

	    This saves about 4 MB when evaluating a NixOS system configuration.

	commit 3e89ef597ce00dbf82a937aad9efab3c9c7b6dcf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 14:58:54 2012 -0400

	    Optimise concatenating a list to an empty list

	    More precisely, in concatLists, if all lists except one are empty,
	    then just return the non-empty list.  This reduces the number of list
	    element allocations by 32% when evaluating a NixOS system
	    configuration.

	commit 9c2d63084bd4f6a04210cd52b4fce054d248bc6b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 13:46:42 2012 -0400

	    Add a primop ‘elemAt’ to get an element from a list

	commit 198d0338be7c105b6dbd707f98e0c223a8358240
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 01:53:10 2012 -0400

	    Add a primop ‘concatLists’

	    This can serve as a generic efficient list builder.  For instance, the
	    function ‘catAttrs’ in Nixpkgs can be rewritten from

	      attr: l: fold (s: l: if hasAttr attr s then [(getAttr attr s)] ++ l else l) [] l

	    to

	      attr: l: builtins.concatLists (map (s: if hasAttr attr s then [(getAttr attr s)] else []) l)

	    Statistics before:

	      time elapsed: 1.08683
	      size of a value: 24
	      environments allocated: 1384376 (35809568 bytes)
	      list elements: 6946783 (55574264 bytes)
	      list concatenations: 37434
	      values allocated: 1760440 (42250560 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18273
	      number of thunks: 1297673
	      number of thunks avoided: 1380759
	      number of attr lookups: 430802
	      number of primop calls: 628912
	      number of function calls: 1333544

	    Statistics after (including new catAttrs):

	      time elapsed: 0.959854
	      size of a value: 24
	      environments allocated: 1010198 (26829296 bytes)
	      list elements: 1984878 (15879024 bytes)
	      list concatenations: 30488
	      values allocated: 1589760 (38154240 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18274
	      number of thunks: 1040925
	      number of thunks avoided: 1038428
	      number of attr lookups: 438419
	      number of primop calls: 474844
	      number of function calls: 959366

	commit b9e5b908ed29bfb6cd82837f9f57293c1f63e999
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 01:05:35 2012 -0400

	    Provide an efficient implementation of ‘elem’

	    The one in Nixpkgs is O(n^2), this one is O(n).  Big reduction in the
	    number of list allocations.

	    Statistics before (on a NixOS system config):

	      time elapsed: 1.17982
	      size of a value: 24
	      environments allocated: 1543334 (39624560 bytes)
	      list elements: 9612638 (76901104 bytes)
	      list concatenations: 37434
	      values allocated: 1854933 (44518392 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18272
	      number of thunks: 1392467
	      number of thunks avoided: 1507311
	      number of attr lookups: 430801
	      number of primop calls: 691600
	      number of function calls: 1492502

	    Statistics after:

	      time elapsed: 1.08683
	      size of a value: 24
	      environments allocated: 1384376 (35809568 bytes)
	      list elements: 6946783 (55574264 bytes)
	      list concatenations: 37434
	      values allocated: 1760440 (42250560 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18273
	      number of thunks: 1297673
	      number of thunks avoided: 1380759
	      number of attr lookups: 430802
	      number of primop calls: 628912
	      number of function calls: 1333544

	commit 4ccd48ce2478cbe1263605838969f89d5b745f0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 00:28:08 2012 -0400

	    Add a "filter" primop

	    Evaluation of a NixOS configuration spends quite a lot of time in the
	    "filter" function in Nixpkgs.  As implemented in Nixpkgs, this is a
	    O(n^2) operation, so it's a good candidate for providing a more
	    efficient (i.e. primop) implementation.  Using it gives a ~10% speed
	    increase and a significant reduction in the number of evaluations.

	    Statistics before (on a NixOS system config):

	      time elapsed: 1.3258
	      size of a value: 24
	      environments allocated: 1980939 (50127080 bytes)
	      list elements: 14679308 (117434464 bytes)
	      list concatenations: 50828
	      values allocated: 2098938 (50374512 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18271
	      number of thunks: 1645752
	      number of thunks avoided: 1921196
	      number of attr lookups: 430798
	      number of primop calls: 838807
	      number of function calls: 1930107

	    Statistics after:

	      time elapsed: 1.17982
	      size of a value: 24
	      environments allocated: 1543334 (39624560 bytes)
	      list elements: 9612638 (76901104 bytes)
	      list concatenations: 37434
	      values allocated: 1854933 (44518392 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18272
	      number of thunks: 1392467
	      number of thunks avoided: 1507311
	      number of attr lookups: 430801
	      number of primop calls: 691600
	      number of function calls: 1492502

	commit 62f72eb9e1a4421a9d4ea3e06f467e49869c0e51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 12 23:41:48 2012 -0400

	    Add some more evaluations stats

	commit e82767910c649f160d6701e47f606f3b8dde4b29
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 12 23:29:28 2012 -0400

	    Add some basic profiling support to the evaluator

	    Setting the environment variable NIX_COUNT_CALLS to 1 enables some
	    basic profiling in the evaluator.  It will count calls to functions
	    and primops as well as evaluations of attributes.

	    For example, to see where evaluation of a NixOS configuration spends
	    its time:

	    $ NIX_SHOW_STATS=1 NIX_COUNT_CALLS=1 ./src/nix-instantiate/nix-instantiate '<nixos>' -A system --readonly-mode
	    ...
	    calls to 39 primops:
	        239532 head
	        233962 tail
	        191252 hasAttr
	    ...
	    calls to 1595 functions:
	        224157 `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/lists.nix:17:19'
	        221767 `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/lists.nix:17:14'
	        221767 `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/lists.nix:17:10'
	    ...
	    evaluations of 7088 attributes:
	        167377 undefined position
	        132459 `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/attrsets.nix:119:41'
	         47322 `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/attrsets.nix:13:21'
	    ...

	commit 325d1cfebf6c8ad391dc318f984feb3e5731aa5a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 7 16:22:54 2012 -0400

	    Don't warn about maximum link count exceeded on 0-byte files

	commit d025142f529731f05868f5397f5617011963c8b4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 5 21:45:27 2012 -0400

	    Handle amount of disk space saved by hard linking being negative

	    Fixes bogus messages like "currently hard linking saves
	    17592186044416.00 MiB".

	commit b6c989b80198badf5f694340c07abc282365aaec
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 5 21:41:44 2012 -0400

	    Fix race condition when two processes create a hard link to a file in .links

	    This is a problem because one process may set the immutable bit before
	    the second process has created its link.

	    Addressed random Hydra failures such as:

	    error: cannot rename `/nix/store/.tmp-link-17397-1804289383' to
	    `/nix/store/rsvzm574rlfip3830ac7kmaa028bzl6h-nixos-0.1pre-git/upstart-interface-version':
	    Operation not permitted

	commit 108e14bb189fd0fb291d3494f9f3915070a7052e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 5 18:17:55 2012 -0400

	    Fix race condition when two processes create the same link in /nix/store/.links

	commit 6763084ae53fc0228d50ab94bbbced89c1b14f1c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 22:43:03 2012 -0400

	    Count bytes freed deleting unused links

	commit 01d56c1eeca497de247413a64a544605c53d9d41
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 22:34:46 2012 -0400

	    Drop the block count in the garbage collector

	commit 967d066d8e452e59507ebae7585d6f34a4edf687
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 19:14:30 2012 -0400

	    nix-store --gc: Make ‘--max-freed 0’ do the right thing

	    That is, delete almost nothing (it will still remove unused links from
	    /nix/store/.links).

	commit 1df702d34733e69599a6ae21cb366348a2534b7d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 19:01:50 2012 -0400

	    removeUnusedLinks(): Print stats on disk space saved by hard linking

	commit 9c2decaa1935ae4bf99a9b723d4eab188f8f88ef
	Merge: 5170c56 234ce61
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 18:03:49 2012 -0400

	    Merge branch 'master' into no-manifests

	commit 5170c5691aac1bd6abc69be65cf880316e11fe24
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 17:56:11 2012 -0400

	    nix-channel: Use binary caches advertised by channels

	    Channels can now advertise a binary cache by creating a file
	    <channel-url>/binary-cache-url.  The channel unpacker puts these in
	    its "binary-caches" subdirectory.  Thus, the URLS of the binary caches
	    for the channels added by root appear in
	    /nix/var/nix/profiles/per-user/eelco/channels/binary-caches/*.  The
	    binary cache substituter reads these and adds them to the list of
	    binary caches.

	commit 79bba3782c275f03954cc9fc03f92aff487db953
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 17:21:47 2012 -0400

	    Doh

	commit ca94b383718f2dc5f4f14ed6eddd8d04ac9d3fc2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 16:43:36 2012 -0400

	    nix-env: Ignore manifest.nix when recursing into ~/.nix-defexpr

	    Channels are implemented using a profile now, and profiles contain a
	    manifest.nix file.  This should be ignored to prevent bogus packages
	    from showing up in nix-env.

	commit 46f852cda013b818f113c7905f020131a44f2340
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 16:42:51 2012 -0400

	    Use a GNU tar flag to shut up warnings about implausibly old timestamp

	commit afa7e0187815d89c8af93fa9c1081bf67ab0f10e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 16:34:17 2012 -0400

	    Inline unpack-channel.sh

	commit 234ce610e0671410cb8a9ce4d8725e55472e8d47
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 16:09:47 2012 -0400

	    Doh

	commit 7b10562370919947c9df748a165587ec5fc6c2ea
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 16:06:49 2012 -0400

	    Make ‘nix-store --optimise’ interruptible

	commit 8a25d787d7f05d612521bd489510aa23d4ef2177
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 11:33:15 2012 -0400

	    download-from-binary-cache: Remove duplicate URLs

	commit c770a2422a47526d5eb336af6af4292df68dad2b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 11:19:24 2012 -0400

	    Report substituter errors to clients of the Nix daemon

	commit 4d1b64f118cf6ebcbf530bea4a3c531704d7d6ba
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 31 18:56:22 2012 -0400

	    Allow daemon users to override ‘binary-caches’

	    For security reasons, daemon users can only specify caches that appear
	    in the ‘binary-caches’ and ‘trusted-binary-caches’ options in
	    nix.conf.

	commit eb7849e3a281511a59abf72ae5c3133f903bbaab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 31 18:50:32 2012 -0400

	    Prevent an injection attack in passing untrusted options to substituters

	commit 90d9c58d4dabb370849cd523fb9ee471e8140b76
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 31 18:19:44 2012 -0400

	    Pass all --option flags to the daemon

	commit 89a8207029e7f6d5cfe3ab972c49ea46f5b9a784
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 31 17:56:02 2012 -0400

	    Add an option ‘build-fallback’ (equivalent to the --fallback flag)

	commit 157170059df39933d358d087d88f8b5bc4d5fde6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 22:29:42 2012 -0400

	    Manual: Remove reference to non-existent -I option

	commit 97421eb5ecde86b75441094fda017b12b5eca2a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 19:55:41 2012 -0400

	    Refactor settings processing

	    Put all Nix configuration flags in a Settings object.

	commit d50d7a287416da2086b0b24f9d998eabb24c1734
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 17:13:25 2012 -0400

	    Whitespace

	commit 9cd63d224468af87baf74228acc162873c649493
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 17:09:36 2012 -0400

	    Do some validation of URLs

	commit f3eb29c6530e990b18e9f04390f6fa7bfbc58078
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 17:09:13 2012 -0400

	    Fix the test

	commit 9de6d10d112665ba1c6d807dd3950ed4c43a4404
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 16:39:31 2012 -0400

	    Get rid of $NIX_BINARY_CACHES

	    You can use ‘--option binary-caches URLs’ instead.

	commit ab42bf1dab026d10b74e857a76feff475ae8a162
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 16:11:02 2012 -0400

	    nix-install-package: Support binary caches

	    The .nixpkg file format is extended to optionally include the URL of a
	    binary cache, which will be used in preference to the manifest URL
	    (which can be set to a non-existent value).

	commit d059bf48e4bd4d1f50593dbe60953de8b2d395c7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 16:09:54 2012 -0400

	    Pass configuration settings to the substituters

	    Previously substituters could read nix.conf themselves, but this
	    didn't take --option flags into account.

	commit f9613da18033d0a9835bc57ac2142aca754983cf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 15:43:37 2012 -0400

	    Remove unused variables

	commit 6183cf2f197edd079a0134ccb8d320bab083a624
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 15:42:18 2012 -0400

	    Fix whitespace

	commit f15083c10afaebb8f2a0e7fbc95dd4cc5208c992
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 29 14:37:40 2012 -0400

	    Document the --option flag

	    Pointed out by Daniel Santa Cruz on IRC.

	commit 66a3ac6a56cfa70e2ffeb911c1286ba84c2fa048
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 18:16:05 2012 -0400

	    Allow a binary cache to declare that it doesn't support "nix-env -qas"

	    Querying all substitutable paths via "nix-env -qas" is potentially
	    hard on a server, since it involves sending thousands of HEAD
	    requests.  So a binary cache must now have a meta-info file named
	    "nix-cache-info" that specifies whether the server wants this.  It
	    also specifies the store prefix so that we don't send useless queries
	    to a binary cache for a different store prefix.

	commit 6ecf4f13f6a71701f77018a852db2bd4bde0bb67
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 14:33:01 2012 -0400

	    Use "set -x" in the tests to see where a test fails

	commit e6ab52cdd1df207c7a007a9cba665ee8a031d94a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 14:15:03 2012 -0400

	    Test "nix-env -qas" with the binary cache substituter

	commit 73acb8b836affe5dfade9dd6e3339ad2f9191add
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 12:16:02 2012 -0400

	    Let build.cc verify the expected hash of a substituter's output

	    Since SubstitutionGoal::finished() in build.cc computes the hash
	    anyway, we can prevent the inefficiency of computing the hash twice by
	    letting the substituter tell Nix about the expected hash, which can
	    then verify it.

	commit fbf59d95f66012349fdcd2b60f34b9efb32e6319
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 10:56:33 2012 -0400

	    Remove more tabs

	commit 3a8f841612f08b9be11cc5346fa3c025413282d6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 10:47:36 2012 -0400

	    download-using-manifests: Don't use nix-prefetch-url

	    Instead call curl directly and pipe it into ‘nix-store --restore’.
	    This saves I/O and prevents creating garbage in the Nix store.

	commit b4ea83249b40dd910daa6a8ee32f13e023e9c858
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 09:59:18 2012 -0400

	    Remove trailing whitespace / tabs

	commit 7f8e805c8ef2d7728648553de6b762964730a09a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 09:57:42 2012 -0400

	    download-from-binary-cache: Only use the default cache for /nix/store

	commit 67c6f3eded7dcb7c79243ed41f177c960f2b6aad
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 18:28:12 2012 -0400

	    nix-push: Support generating a manifest again

	    This makes all the tests succeed.  Woohoo!

	commit 50395b71a90314abfcc39d8343dbaa8e9aa199a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:36:07 2012 -0400

	    Fix the substituter tests

	commit e3ce54cceedb9a3144c4eccfbafd63ed765d8913
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:13:38 2012 -0400

	    nix-push: Remove the upload feature

	commit 609586a16de90f8964b9c494aad3c1526feb514f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:13:14 2012 -0400

	    Add a test for the binary cache substituter

	commit 7861260a5ff33689b1b8f7a89489f5d5e5e4dfcb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:12:42 2012 -0400

	    Clear NIX_STORE when running the tests

	commit 7892ad15ab4b6db0eee619a1fdd14fed129db252
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:11:11 2012 -0400

	    download-from-binary-cache: Support file://

	    The file:// URI schema requires checking for errors in a more general
	    way.  Also, don't cache file:// lookups.

	commit dbce685e91c513341dedf8c1a916ef4c62f5650a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:10:28 2012 -0400

	    Add some .gitignore entries

	commit 8c7910083976e255300efa797030448f5a1cb864
	Merge: aa115e2 3a4623a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 15:14:33 2012 -0400

	    Merge branch 'master' into no-manifests

	commit 3a4623afbbc1bff85bde33167d36e8c5a4a3df0d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 15:04:40 2012 -0400

	    Set permissions on temporary build directories to 0700

	    Fixes #39.

	commit 2605f4f4e6a367df67bf8b33b252c350313699c9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 25 17:06:09 2012 -0400

	    nix-profile.sh: Don't set NIX_REMOTE on single user installations

	    Commit 6a214f3e06fa1c5f0a4d40e555f14d87691af297 reused the NixOS
	    environment initialisation for nix-profile.sh, but this is
	    inappropriate on systems that don't have multi-user support enabled.

	commit 477b0fbeca62bf1957bc0aad26f1a844ebd22231
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 25 16:56:56 2012 -0400

	    Subscribe to the Nixpkgs rather than NixOS channel

	commit f5954e2d940c3a41a6ed0cad45660e254eb381a3
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Jul 24 12:05:27 2012 -0400

	    prim_import: When importing .drvs, allocate the intermediate attrset on the heap just in case it escapes the stack frame.

	commit 1ef2d5765be35c3d3c13a2aea8748166f576ec8b
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jul 23 13:45:51 2012 -0400

	    Turn tests back on

	commit b1112bbef195bc8397c4e88aa8544537a6d84731
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jul 23 13:41:28 2012 -0400

	    import: If the path is a valid .drv file, parse it and generate a derivation attrset.

	    The generated attrset has drvPath and outPath with the right string context, type 'derivation', outputName with
	    the right name, all with a list of outputs, and an attribute for each output.

	    I see three uses for this (though certainly there may be more):

	    * Using derivations generated by something besides nix-instantiate (e.g. guix)

	    * Allowing packages provided by channels to be used in nix expressions. If a channel installed a valid deriver
	      for each package it provides into the store, then those could be imported and used as dependencies or installed
	      in environment.systemPackages, for example.

	    * Enable hydra to be consistent in how it treats inputs that are outputs of another build. Right now, if an
	      input is passed as an argument to the job, it is passed as a derivation, but if it is accessed via NIX_PATH
	      (i.e. through the <> syntax), then it is a path that can be imported. This is problematic because the build
	      being depended upon may have been built with non-obvious arguments passed to its jobset file. With this
	      feature, hydra can just set the name of that input to the path to its drv file in NIX_PATH

	commit 566a30c0072690900d4d55679a2981758d6fb888
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jul 23 12:51:04 2012 -0400

	    Disable tests temporarily

	commit e98c029717016dfa3e5c618c9fc46da9b2142dcc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 18:42:18 2012 -0400

	    Handle platforms that don't support linking to a symlink

	    E.g. Darwin doesn't allow this.

	commit fd63c8bfcd75624e7fbba8899365095400534e01
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 18:06:37 2012 -0400

	    Unlink the right file

	commit 0f65793f94bd89c973482ac949be1e96e876762b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 17:40:23 2012 -0400

	    Add a test for Nix store optimisation

	commit 680ab6f83def2b636200204542ca352631a46f85
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 15:48:30 2012 -0400

	    Garbage collect unused links in /nix/store/.links

	    Incremental optimisation requires creating links in /nix/store/.links
	    to all files in the store.  However, this means that if we delete a
	    store path, no files are actually deleted because links in
	    /nix/store/.links still exists.  So we need to check /nix/store/.links
	    for files with a link count of 1 and delete them.

	commit 619310571002fc74e428824bd603604d1055b61b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 15:02:52 2012 -0400

	    Automatically optimise the Nix store when a new path is added

	    Auto-optimisation is enabled by default.  It can be turned off by
	    setting auto-optimise-store to false in nix.conf.

	commit 564fb7d9fa80d06397a88d69f26439727cb922c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 12:08:34 2012 -0400

	    optimiseStore(): Use a content-addressed file store in /nix/store/.links

	    optimiseStore() now creates persistent, content-addressed hard links
	    in /nix/store/.links.  For instance, if it encounters a file P with
	    hash H, it will create a hard link

	      P' = /nix/store/.link/<H>

	    to P if P' doesn't already exist; if P' exist, then P is replaced by a
	    hard link to P'.  This is better than the previous in-memory map,
	    because it had the tendency to unnecessarily replace hard links with a
	    hard link to whatever happened to be the first file with a given hash
	    it encountered.  It also allows on-the-fly, incremental optimisation.

	commit ed59bf7a181bb382dea7dd72da52bf91f60deb8d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 17:11:12 2012 -0400

	    nix-build: Support the ‘-’ argument to build an expression from stdin

	commit 6852289c46cdfceb07b459cd1028722ffb124ca6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 16:52:25 2012 -0400

	    Use lutimes() if available to canonicalise the timestamp of symlinks

	    Also use utimes() instead of utime() if lutimes() is not available.

	commit 1832ab71dbb6b24965eb5a873a56a7231da7af4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 17:17:23 2012 -0400

	    Bump version

	commit 98193bb440561875d2829f9dd542e38972dbcf63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 16:50:56 2012 -0400

	    Remove RPM builds that don't evaluate

	commit b7fd2c28224a69476434d69b5d9da3d150c07226
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 14:59:03 2012 -0400

	    Use "#pragma once" to prevent repeated header file inclusion

	commit 58337e0e6122a97061dcf803954f72469f67afca
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 11:51:27 2012 -0400

	    Set release date

	commit aa115e22df1c80e8878237a9e704d7d70783a243
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 11:01:17 2012 -0400

	    download-from-binary-cache: Print correct URL

	commit fe241ece2932492866693d268d02a7912e766ac7
	Merge: a6f3485 ccc52ad
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 10:47:59 2012 -0400

	    Merge branch 'master' into no-manifests

	commit ccc52adfb2121ade510d35dc9b91193af9fa731e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 18:55:39 2012 -0400

	    Add function queryPathFromHashPart()

	    To implement binary caches efficiently, Hydra needs to be able to map
	    the hash part of a store path (e.g. "gbg...zr7") to the full store
	    path (e.g. "/nix/store/gbg...kzr7-subversion-1.7.5").  (The binary
	    cache mechanism uses hash parts as a key for looking up store paths to
	    ensure privacy.)  However, doing a search in the Nix store for
	    /nix/store/<hash>* is expensive since it requires reading the entire
	    directory.  queryPathFromHashPart() prevents this by doing a cheap
	    database lookup.

	commit 220818f758d2facc194f567f35ca677ef79393bd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 16:55:45 2012 -0400

	    queryPathInfo(): return hash in base-32 if desired

	    Cherry-picked from the no-manifests branch.

	commit a6f348599c94d8a5f7b41c7d8e43658dc6407be7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 16:19:40 2012 -0400

	    Print some debug output

	commit 3a9fdf2747bc7436fc3c1fd5f9accd5675d4295e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 15:55:30 2012 -0400

	    Return an exit code of 100 for cached failed builds

	    Exit code 100 should be returned for all permanent failures.  This
	    includes cached failures.

	    Fixes #34.

	commit 1217204c81b0b6f02df99adfc8414a181299535c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 14:07:52 2012 -0400

	    Remove dead code

	commit 51d71ad3d7527596dc22d6dd9e9e70f2cd9faea9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 11:49:47 2012 -0400

	    Manual: Don't claim we support Cygwin

	commit 6c01fb4d68a80f63c692492bb91c1aa2e17b5a8f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 10:06:20 2012 -0400

	    Update Nix 1.1 release notes

	commit 53b24f351852498c52377c2f011617af04bc76fa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 09:40:12 2012 -0400

	    Allow disabling log compression

	commit a7a43adb79393084a27589bc929e5a22877ba944
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 12 18:25:01 2012 -0400

	    builtins.storePath: resolve symlinks

	    Needed for Charon/Hydra interaction.

	commit 04559a0d45ad02fc760b09132cca0d875af035e5
	Merge: e4d6bcb eae8024
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 18:53:27 2012 -0400

	    Merge branch 'master' of github.com:NixOS/nix into no-manifests

	commit e4d6bcb6cdc34d204ccf49e137dd5070f664c523
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 18:52:23 2012 -0400

	    Update release notes

	commit f2bdc87595376efb2d05a8555b0686922a298929
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 18:52:09 2012 -0400

	    Update the other substituters

	commit 15c15da482eb30f95f4dab04b582a45edc10815b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 18:07:41 2012 -0400

	    Add some missing --version switches

	commit d287b62b6432ce3155e963c6471edf79ec70439a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 18:05:30 2012 -0400

	    Set the User-Agent header to "Nix/<version>"

	commit b74d92755d1ca6a1538f292dcb5a906f66af7b51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 17:53:20 2012 -0400

	    download-from-binary-cache: Use HEAD requests if possible

	    In "nix-env -qas", we don't need the substitute info, we just need to
	    know if it exists.  This can be done using a HTTP HEAD request, which
	    saves bandwidth.

	    Note however that curl currently has a bug that prevents it from
	    reusing HTTP connections if HEAD requests return a 404:

	    https://sourceforge.net/tracker/?func=detail&aid=3542731&group_id=976&atid=100976

	    Without the patch attached to the issue, using HEAD is actually quite
	    a bit slower than GET.

	commit 09a6321aeb7393cdb4b5af62d2e4106d83124fdf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 17:52:18 2012 -0400

	    Replace hasSubstitutes() with querySubstitutablePaths()

	    querySubstitutablePaths() takes a set of paths, so this greatly
	    reduces daemon <-> client latency.

	commit 58ef4d9a95584fb89ebcf6222fbac6e698aa6b0b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 11:08:47 2012 -0400

	    Add a function queryValidPaths()

	    queryValidPaths() combines multiple calls to isValidPath() in one.
	    This matters when using the Nix daemon because it reduces latency.
	    For instance, on "nix-env -qas \*" it reduces execution time from 5.7s
	    to 4.7s (which is indistinguishable from the non-daemon case).

	commit 667d5f1936616dc829f9f92f8e5d5141ba5285a7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 10:49:04 2012 -0400

	    Rename queryValidPaths() to queryAllValidPaths()

	commit eb3036da87659fe7cf384c2362e7f7b8b67189a1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 10:43:24 2012 -0400

	    Implement querySubstitutablePathInfos() in the daemon

	    Also removed querySubstitutablePathInfo().

	commit 6586414bc70c8373faefd49afc5172881f3aad53
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 10:14:06 2012 -0400

	    nix-env: Determine which paths have substitutes in parallel

	commit 5ee8944155f21a0ab5a100a184163d7bd0e72679
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 10:13:16 2012 -0400

	    Cleanup

	commit eae802459d7639a69baec555264f394adad043c0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 15:49:20 2012 -0400

	    Pass --insecure to curl so that https works

	commit 2dd3117c2723ff08c6226b71d569bcea50d58ad1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 15:48:55 2012 -0400

	    Inline fetchurl.sh

	commit 51f9f9924bcd0c30b45e370fc69dc43e6621ef61
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 15:41:43 2012 -0400

	    Add a test for the fetchurl function

	commit 035aa114037857b51968e62a1176f4086e2477ec
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 11:14:57 2012 -0400

	    Remove obsolete comment

	commit a2865f6b3d2af5593a100cba5c86ba62a1330bdb
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 11:11:02 2012 -0400

	    corepkgs/fetchurl: Build locally and outside of the chroot

	commit 53f52c2111bcf339bdaab703a263fd2c001da51c
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 11:04:11 2012 -0400

	    corepkgs/fetchurl: the 'system' argument can be optional

	commit 543bf742c9391bc49f59c52adb042bbd3c5e2364
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:55:35 2012 -0400

	    corepkgs: distribute fetchurl files

	commit f863673a903d17566be8a03bcf8655d9912428bd
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:33:40 2012 -0400

	    corepkgs/fetchurl: Call the shell directly instead of using the shebang

	commit a994eb92a4e0d8744b244cd421c855d76831bdc0
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:32:12 2012 -0400

	    corepkgs/fetchurl.sh: Use config.nix's curl

	commit 9d94a28bed39d0e9bcb3532cdac1a254a44efa97
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:29:18 2012 -0400

	    The fetchurl builder is now fetchurl.sh

	commit fd2630e1f739c12b4a1f01159e1230d9fb7fb997
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:26:50 2012 -0400

	    Remove old fetchurl makefile

	commit 6450f5699fa824934b92ca7ba1d345c36e9c009a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:25:58 2012 -0400

	    Move fetchurl files out of their subdirectory

	commit 40c01ec4671c09a6ceb61ef201dad48156000075
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:22:26 2012 -0400

	    corepkgs/config.nix.in: We'll need curl

	commit c4df7472676cac9bf5243ee8bc7cd0017f91a28d
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:19:17 2012 -0400

	    Resurrect old corepkgs fetchurl

	commit 27f0c34390d6680a843e2d4fad527dc672ed35c6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 13:16:09 2012 -0400

	    Really fix RPM builds

	commit ae72be1b8bf65e6b52bc0c9d534e55a79ca6712b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 13:11:37 2012 -0400

	    Add WWW::Curl as a dependency

	commit a560124cdf43a08733d85336f7c8172fea1cfc5a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 11:58:12 2012 -0400

	    Fix RPM builds

	    http://hydra.nixos.org/build/2784908

	commit 087dee6e1b673b1e49f7c49fa0f05eb651bb5e94
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 11:56:55 2012 -0400

	    Get rid of nix.conf.example

	    No need to duplicate the nix.conf manpage.

	commit 5755a5c354c8b622fae14a32b9f8f6f901fb9529
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 11:33:38 2012 -0400

	    Install a nix.conf manpage

	commit 099125435fc5ada63365a94ca153c711e706e225
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 10:57:28 2012 -0400

	    download-from-binary-cache: add nix.conf options

	commit 98a423b75aa9061f0164c316f9d2481ce6d5e2f1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 09:59:34 2012 -0400

	    prim_import(): prefetch substitute info in parallel using queryMissing()

	commit 425cc612ad4835d29bce081a67ad161d06063b51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 8 18:39:24 2012 -0400

	    build.cc: Don't use hasSubstitute()

	    Instead make a single call to querySubstitutablePathInfo() per
	    derivation output.  This is faster and prevents having to implement
	    the "have" function in the binary cache substituter.

	commit 400e556b34ff0563f34b191de5f632dc4377f0cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 8 18:39:07 2012 -0400

	    Cleanup

	commit 11800e61983677f92fd5a08f51beb9036f947d6e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 6 19:08:20 2012 -0400

	    download-from-binary-cache: parallelise fetching of NAR info files

	    Getting substitute information using the binary cache substituter has
	    non-trivial latency overhead.  A package or NixOS system configuration
	    can have hundreds of dependencies, and in the worst case (when the
	    local info cache is empty) we have to do a separate HTTP request for
	    each of these.  If the ping time to the server is t, getting N info
	    files will take tN seconds; e.g., with a ping time of 0.1s to
	    nixos.org, sequentially downloading 1000 info files (a typical NixOS
	    config) will take at least 100 seconds.

	    To fix this problem, the binary cache substituter can now perform
	    requests in parallel.  This required changing the substituter
	    interface to support a function querySubstitutablePathInfos() that
	    queries multiple paths at the same time, and rewriting queryMissing()
	    to take advantage of parallelism.  (Due to local caching,
	    parallelising queryMissing() is sufficient for most use cases, since
	    it's almost always called before building a derivation and thus fills
	    the local info cache.)

	    For example, parallelism speeds up querying all 1056 paths in a
	    particular NixOS system configuration from 116s to 2.6s.  It works so
	    well because the eccentricity of the top-level derivation in the
	    dependency graph is only 9.  So we only need 10 round-trips (when
	    using an unlimited number of parallel connections) to get everything.

	    Currently we do a maximum of 150 parallel connections to the server.
	    Thus it's important that the binary cache server (e.g. nixos.org) has
	    a high connection limit.  Alternatively we could use HTTP pipelining,
	    but WWW::Curl doesn't support it and libcurl has a hard-coded limit of
	    5 requests per pipeline.

	commit cd94665f38fbadde38d5d8ae5c9c14dff9aea0ac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 6 00:30:40 2012 -0400

	    download-from-binary-cache: use WWW::Curl

	    Using WWW::Curl rather than running an external curl process for every
	    NAR info file halves the time it takes to get info thanks to libcurl's
	    support for persistent HTTP connections.  (We save a roundtrip per
	    file.)  But the real gain will come from using parallel and/or
	    pipelined requests.

	commit ae60643c15a2eab2cf53230aa7c5fbc8af3430d1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 3 18:54:46 2012 -0400

	    download-from-binary-cache: do negative NAR info caching

	    I.e. if a NAR info file does *not* exist, we record it in the cache DB
	    so that we don't retry it later.

	commit 89380c03e99dc5ae8a4dcf9edb4f14483bd2f5fc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 3 18:35:39 2012 -0400

	    download-from-binary-cache: in queries, preferred cached info

	commit 2a8e5c8b11d23f3d56cc7548e21f47325a736b79
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 3 17:47:01 2012 -0400

	    download-from-binary-cache: strip trailing / from URLs

	commit d694c599e2b9eee71ade8cc4befb46ed911f4a10
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 3 17:29:33 2012 -0400

	    download-from-binary-cache: cache binary cache info in a SQLite DB

	commit 8319b1ab9f1e79ad32871dae602a59df5874d1a9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 2 18:53:04 2012 -0400

	    download-from-binary-cache: Verify NAR hashes

	commit cf49472d601a3d9d34ba92def1eca9a2d2c7c391
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 2 18:05:57 2012 -0400

	    nix-push: Always generate base-32 hashes

	commit 6ec7460af1103a23e4d331e0c8a56283350175c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 2 12:42:58 2012 -0400

	    Binary caches: use a better key

	    Use the hash part of the store path as a key rather than a hash of the
	    store path.  This is enough to get the desired privacy property.

	commit 6b1e671ac6cc0376474dd8c1403582ae1db01576
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 1 21:57:25 2012 -0400

	    Fix xz compression

	commit 440adfbdd1c99fdf7929db66b64ccf4dcd9097e3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 1 21:55:36 2012 -0400

	    Add an environment variable $NIX_BINARY_CACHES specifying URLs of binary caches

	commit f4190c38bac1efdbfec9b1ff9c524808d23fe1cc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 1 18:46:38 2012 -0400

	    Allow both bzip2 and xz compression

	commit 000132cbd1624a681a8114a117de07a56a7eed4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 29 18:30:28 2012 -0400

	    nix-push: Don't pollute the current directory with result symlink

	commit 37f70984645b4fc5e6ed9f30a858ba6fbf402441
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 29 18:28:52 2012 -0400

	    First attempt at the manifest-less substituter

	commit 91b8814f0d275bbb6c7de9546e5e8cb784dad10b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 29 17:16:00 2012 -0400

	    Doh

	commit 4911a10a4e51102a21a5d123a852c75d2ec92dbc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 29 14:26:31 2012 -0400

	    Use XZ compression in binary caches

	    XZ compresses significantly better than bzip2.  Here are the
	    compression ratios and execution times (using 4 cores in parallel) on
	    my /var/run/current-system (3.1 GiB):

	      bzip2: total compressed size 849.56 MiB, 30.8% [2m08]
	      xz -6: total compressed size 641.84 MiB, 23.4% [6m53]
	      xz -7: total compressed size 621.82 MiB, 22.6% [7m19]
	      xz -8: total compressed size 599.33 MiB, 21.8% [7m18]
	      xz -9: total compressed size 588.18 MiB, 21.4% [7m40]

	    Note that compression takes much longer.  More importantly, however,
	    decompression is much faster:

	      bzip2: 1m47.274s
	      xz -6: 0m55.446s
	      xz -7: 0m54.119s
	      xz -8: 0m52.388s
	      xz -9: 0m51.842s

	    The only downside to using -9 is that decompression takes a fair
	    amount (~65 MB) of memory.

	commit 49cd7387ad6546571ca31a41f208091b482defaa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 28 17:19:32 2012 -0400

	    nix-push: create a manifest-less binary cache

	    Manifests are a huge pain, since users need to run nix-pull directly
	    or indirectly to obtain them.  They tend to be large and lag behind
	    the available binaries; also, the downloaded manifests in
	    /nix/var/nix/manifest need to be in sync with the Nixpkgs sources.  So
	    we want to get rid of them.

	    The idea of manifest-free operation works as follows.  Nix is
	    configured with a set of URIs of binary caches, e.g.

	      http://nixos.org/binary-cache

	    Whenever Nix needs a store path X, it checks each binary cache for the
	    existence of a file <CACHE-URI>/<SHA-256 hash of X>.narinfo, e.g.

	      http://nixos.org/binary-cache/bi1gh9...ia17.narinfo

	    The .narinfo file contains the necessary information about the store
	    path that was formerly kept in the manifest, i.e., (relative) URI of
	    the compressed NAR, references, size, hash, etc.  For example:

	      StorePath: /nix/store/xqp4l88cr9bxv01jinkz861mnc9p7qfi-neon-0.29.6
	      URL: 1bjxbg52l32wj8ww47sw9f4qz0r8n5vs71l93lcbgk2506v3cpfd.nar.bz2
	      CompressedHash: sha256:1bjxbg52l32wj8ww47sw9f4qz0r8n5vs71l93lcbgk2506v3cpfd
	      CompressedSize: 202542
	      NarHash: sha256:1af26536781e6134ab84201b33408759fc59b36cc5530f57c0663f67b588e15f
	      NarSize: 700440
	      References: 043zrsanirjh8nbc5vqpjn93hhrf107f-bash-4.2-p24 cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 ...
	      Deriver: 4idz1bgi58h3pazxr3akrw4fsr6zrf3r-neon-0.29.6.drv
	      System: x86_64-linux

	    Nix then knows that it needs to download

	      http://nixos.org/binary-cache/1bjxbg52l32wj8ww47sw9f4qz0r8n5vs71l93lcbgk2506v3cpfd.nar.bz2

	    to substitute the store path.

	    Note that the store directory is omitted from the References and
	    Deriver fields to save space, and that the URL can be relative to the
	    binary cache prefix.

	    This patch just makes nix-push create binary caches in this format.
	    The next step is to make a substituter that supports them.

	commit 1aba0bf0fa831ffee628ae50730eade5b19a544f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 27 16:58:15 2012 -0400

	    nix-store -r: do substitutions in parallel

	    I.e. when multiple non-derivation arguments are passed to ‘nix-store
	    -r’ to be substituted, do them in parallel.

	commit 42f5a2fc297f841d982f07062c653b27557a3cd5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 27 09:52:27 2012 -0400

	    Mount an empty /dev/shm tmpfs in the chroot

	    This ensures that whatever the builder writes in /dev/shm is
	    automatically cleaned up.

	commit 3ee208516fbdd302b178d68a20dd44517a276a96
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 27 09:52:06 2012 -0400

	    Check the return code of the clone() call

	commit 1db38ae81bd91d781ece9c0cfb995e743e68e951
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 25 15:45:16 2012 -0400

	    When using chroots, use a private PID namespace

	    In a private PID namespace, processes have PIDs that are separate from
	    the rest of the system.  The initial child gets PID 1.  Processes in
	    the chroot cannot see processes outside of the chroot.  This improves
	    isolation between builds.  However, processes on the outside can see
	    processes in the chroot and send signals to them (if they have
	    appropriate rights).

	    Since the builder gets PID 1, it serves as the reaper for zombies in
	    the chroot.  This might turn out to be a problem.  In that case we'll
	    need to have a small PID 1 process that sits in a loop calling wait().

	commit 5489086456ca13b2e884edecf7505235d214a594
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 25 14:12:17 2012 -0400

	    Use a private UTS namespace to provide a deterministic host/domain name to builders

	    In chroot builds, set the host name to "localhost" and the domain name
	    to "(none)" (the latter being the kernel's default).  This improves
	    determinism a bit further.

	    P.S. I have to idea what UTS stands for.

	commit 8da6772ed48e2ee7082071b31c7afeb800195cdb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jun 23 14:59:13 2012 -0400

	    Update release notes

	commit 723a68c8262ec337e290e51265820ae90fe3ad18
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jun 23 00:57:14 2012 -0400

	    Improve error message

	commit 7ffa523fd15fcd9ab1a0ad85db860f467869946a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jun 23 00:51:40 2012 -0400

	    In chroot builds, use a private SysV IPC namespace

	    This improves isolation a bit further, and it's just one extra flag in
	    the unshare() call.

	    P.S. It would be very cool to use CLONE_NEWPID (to put the builder in
	    a private PID namespace) as well, but that's slightly more risky since
	    having a builder start as PID 1 may cause problems.

	commit df716c98d203ab64cdf05f9c17fdae565b7daa1c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jun 23 00:28:35 2012 -0400

	    In chroot builds, use a private network namespace

	    On Linux it's possible to run a process in its own network namespace,
	    meaning that it gets its own set of network interfaces, disjunct from
	    the rest of the system.  We use this to completely remove network
	    access to chroot builds, except that they get a private loopback
	    interface.  This means that:

	    - Builders cannot connect to the outside network or to other processes
	      on the same machine, except processes within the same build.

	    - Vice versa, other processes cannot connect to processes in a chroot
	      build, and open ports/connections do not show up in "netstat".

	    - If two concurrent builders try to listen on the same port (e.g. as
	      part of a test), they no longer conflict with each other.

	    This was inspired by the "PrivateNetwork" flag in systemd.

	commit 2f3f413e91620d2314be59870f4bd67292f7d2de
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 18 23:01:46 2012 -0400

	    Support socket-based, on-demand activation of the Nix daemon with systemd

	    Systemd can start the Nix daemon on demand when the Nix daemon socket
	    is first accessed.  This is signalled through the LISTEN_FDS
	    environment variable, so all we need to do is check for that and then
	    use file descriptor 3 as the listen socket instead of creating one
	    ourselves.

	commit 02fb6323e06502e410dd5d5f8fe10589a7c938d4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 31 09:50:58 2012 -0400

	    Add Emacs to the disk image

	commit 221626e7155c184d34c1e43ade92462b45c3992f
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Wed May 30 08:31:59 2012 +0700

	    fixes to nix-worker systemd service descriptor: - remove commented-out lines - register the file for distribution in Makefile.am

	commit a7ed1f67ee5dbbdbe45e15e6461b5f7c886747d8
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Sun May 27 17:34:49 2012 +0700

	    On systems with SystemD, install the service descriptor for nix-worker, and enable and start it

	commit 892234630594ea87a1b9bc945077c82c419af6d3
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Sun May 27 17:04:16 2012 +0700

	    Major spec update: - Fix license field - Split into subpackages - Update build dependencies - Configure users and groups for multi-user mode - Fix installation location of Perl modules

	commit 6a214f3e06fa1c5f0a4d40e555f14d87691af297
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Sun May 27 16:34:57 2012 +0700

	    Update nix profile: - incorporate NixOS's configuration so that nix is usable by normal users - install as a data file, not a program file

	commit d0308073c35799cce98bc853eba64f3922fadcfd
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Thu May 17 12:04:56 2012 +0800

	    - only enable deprecated spec sections when building on systems with older RPM versions - move tests to dedicated %check section - use standard build macros

	commit e545a7f9a881d9857360713d0d3b0edc54781875
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Thu May 17 11:56:29 2012 +0800

	    - replace %define with %global

	commit f5398d374beac34983bb639891ba3f1f50528c72
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 30 10:12:29 2012 -0400

	    Compress build logs on the fly using bzip2

	commit 881beb170d324f392a53168e6a76e2c5cfd24789
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 30 00:00:02 2012 -0400

	    "nix-store -l": support compressed logs

	commit 4bc4da331aae13be8a39e768524a854597addd8a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 29 22:59:12 2012 -0400

	    Reserve some disk space for the garbage collector

	    We can't open a SQLite database if the disk is full.  Since this
	    prevents the garbage collector from running when it's most needed, we
	    reserve some dummy space that we can free just before doing a garbage
	    collection.  This actually revives some old code from the Berkeley DB
	    days.

	    Fixes #27.

	commit 2c26985835cf82ed5d2979c3a400f72f6aeba32f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 29 16:42:05 2012 -0400

	    Add option ‘build-keep-log’ to enable/disable writing of build logs

	    Fixes #26.

	commit 8058dab26e90db54708d4c698db843dd703ecbb2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 24 12:04:07 2012 -0400

	    Clean up the installation section; document the generic binary tarballs

	commit 0301525e6cc7443b5cba2ccf4ef3f18b2b4beedb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 22 19:40:40 2012 -0400

	    Fix owner/group in tar invocation

	commit 6814b1dfa1efee2b801f13ec428c72b7245880ee
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 22 18:36:54 2012 -0400

	    Generate binary tarballs for installing Nix

	    For several platforms we don't currently have "native" Nix packages
	    (e.g. Mac OS X and FreeBSD).  This provides the next best thing: a
	    tarball containing the closure of Nix, plus a simple script
	    "nix-finish-install" that initialises the Nix database, registers the
	    paths in the closure as valid, and runs "nix-env -i /path/to/nix" to
	    initialise the user profile.

	    The tarball must be unpacked in the root directory.  It creates
	    /nix/store/... and /usr/bin/nix-finish-install.  Typical installation
	    is as follows:

	      $ cd /
	      $ tar xvf /path/to/nix-1.1pre1234_abcdef-x86_64-linux.tar.bz2
	      $ nix-finish-install
	      (if necessary add ~/.nix-profile/etc/profile.d/nix.sh to the shell
	      login scripts)

	    After this, /usr/bin/nix-finish-install can be deleted, if desired.

	    The downside to the binary tarball is that it's pretty big (~55 MiB
	    for x86_64-linux).

	commit 591aab7e2166f1c7208cccdda7ce50c3c362f12b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 22 14:00:08 2012 -0400

	    Remove $FONTCONFIG_FILE hack from nix-profile.sh

	    It's no longer needed because Nixpkgs' fontconfig uses
	    /etc/fonts/fonts.conf as a default, just like other distributions.

	commit e071f87dc5476983c557cf6185fbdeab0c4c67c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 21 09:37:49 2012 -0400

	    Add an experimental nix-make file

	    To use it, just do (e.g.) "nix-build build.nix -A nix_env".

	commit cac9eb39fe36ab28519f0b59d880fbcdc705ba95
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat May 12 00:07:08 2012 -0400

	    Bump version number

	commit dfc6a43b72e9f38dc58866c5a9e5900d0d0b66b4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 11 23:30:47 2012 -0400

	    Fix the install check

	commit 587b408210ee3707df78c78cca9d6082e44e0233
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 11 17:40:58 2012 -0400

	    Set release date

	commit 8a08813d6c92e583d9ed6ccaffc80effe0dc9669
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 11 17:39:06 2012 -0400

	    Manual updates

	commit 2b00e6990c7b6f7177bce76126c6c992f3f7a93e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 11 16:21:21 2012 -0400

	    CSS tweaks

	commit 58d1de08d9ec4ce1bfbfb65b0b74700f066af7d0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 11 09:41:39 2012 -0400

	    Use perl.libPrefix to (hopefully) fix the Cygwin build

	    http://hydra.nixos.org/build/2602599

	commit 37fa47908bff2495755410c96891623d60735464
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 10 22:12:20 2012 -0400

	    Build Ubuntu 12.04 packages

	commit 4d383f57f42af2c9316fa82ea61cb8a109c3f680
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 10 19:29:36 2012 -0400

	    Document "nix-build --run-env"

	commit 4f7bab7db1d0447e41f858633cddba1dcb2c9ea2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 10 19:03:23 2012 -0400

	    Support building with the Perl XS bindings disabled

	    Since the Perl bindings require shared libraries, this is required on
	    platforms such as Cygwin where we do a static build.

	commit 6a7b24a3f25548fe2b083555cd2117dd66557ab0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 10 18:09:45 2012 -0400

	    Document "nix-store --add"

	commit cda1fd8ec86553f2a76366ec56c3fa21788fc189
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 10 16:56:36 2012 -0400

	    Remove an obsolete hack

	commit 663c06e8cd7d44443b0495b13f2bb08e2cfab889
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 9 22:14:36 2012 -0400

	    Disable building in chroot for Nix's corepkgs

	    The dependencies of the corepkgs are not necessarily in the chroot (or
	    in the Nix store), so don't build them in a chroot.

	commit cb1248d2082ff8292e2516f124feea4427cf150a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 9 19:06:39 2012 -0400

	    Document some nix-store subcommands

	commit 7a213ffc6912794d2cc4374bb9bf2c1f59a384a3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 9 19:06:13 2012 -0400

	    Document $NIX_PATH / -I

	commit a58efdb69b0c018322bb773ce14dc33cb252b165
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 9 19:05:30 2012 -0400

	    Update the release notes

	commit 0c4c8f7a9d09c497d95771c894a5cc3d4276609b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 8 15:43:54 2012 -0400

	    Remove obsolete files (moved to release tree)

	commit afa7b8a479e48c5642a796563a615314c0261a1a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 7 17:55:56 2012 -0400

	    nix-channel --update: allow updating only the specified channels

	commit 147f10157fef48dcf3e32511e10f5ee00026b757
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 7 17:23:26 2012 -0400

	    Now *really* prevent accumulation of old manifests

	commit 464089365e2c72c83e5a8edb5611e537c4898501
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 4 21:40:56 2012 -0400

	    Fix some 32-bit builds

	    Perl on some 32-bit systems needs -D_FILE_OFFSET_BITS=64.  See also commit
	    02f1363e19b7df7cccc3523805bbf4fafe429529.

	commit c6acb219f9312ee3c8e1ac83d2b490401f8b9a9d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 4 18:50:34 2012 -0400

	    Drop the Perl-specific CFLAGS

	    This fixes the Darwin build (http://hydra.nixos.org/build/2517380).
	    Hopefully it doesn't break other builds.

	commit 56c82f3d9dec34eeaa124c61b20af4ae67f827a2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 4 17:45:21 2012 -0400

	    Don't build for old Debian/Ubuntu releases that don't have a sufficiently new SQLite

	commit 373e875ac2e403f1f790fbd9d2323e581a8aae21
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 4 17:25:25 2012 -0400

	    Don't build for old Fedora releases that don't have a sufficiently new SQLite

	commit d03a295192f8d7b7ced98d5bbab91a8aa9b0ca4d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 4 17:21:43 2012 -0400

	    Require SQLite >= 3.6.19

	    Nix needs SQLite's foreign key constraint feature, which was
	    introduced in 3.6.19.  Without it, the database won't be cleaned up
	    correctly when paths are deleted.  See
	    e.g. http://hydra.nixos.org/build/2494142.

	commit e060c99447a445bbf1c527b8c712e3bf809ee694
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 1 16:35:18 2012 -0400

	    Use mkpath instead of make_path

	    Perl <= 5.10 doesn't have make_path.  See
	    e.g. http://hydra.nixos.org/build/2493981.

	commit e19fb7ebedabf5109379b80c5e42e89fa4437276
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 1 16:31:56 2012 -0400

	    Do "make installcheck" for RPM builds

	commit e145ac30e32c3f2d4491c195daccdc15c722a005
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 1 15:48:17 2012 -0400

	    Do "make installcheck" for Debian builds

	commit db5b86ef13026d7f034527005ab231ddc2b7d2c1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 30 19:15:34 2012 -0400

	    * Add an option ‘build-use-substitutes’, which can be set to ‘false’
	      to disable use of substitutes; i.e., force building from source.
	      Fixes Nix/221.

	commit 59a26360c75f1cf5fe65fce5e3703df0b6645140
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 30 17:22:45 2012 -0400

	    Support mandatory system features in the build hook

	    Mandatory features are features that MUST be present in a derivation's
	    requiredSystemFeatures attribute.  One application is performance
	    testing, where we have a dedicated machine to run performance tests
	    (and nothing else).  Then we would add the label "perf" to the
	    machine's mandatory features and to the performance testing
	    derivations.

	commit 82ae0e688c21794bea583f9b48bb3639f7e2601a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 30 16:49:00 2012 -0400

	    Update the documentation of build-remote.pl

	commit 46cdc6ad51376e2f31ce806ee38e697d00a6e5cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 30 10:58:04 2012 -0400

	    Handle EPERM when creating a hard link for the chroot

	    There is a race condition when doing parallel builds with chroots and
	    the immutable bit enabled.  One process may call makeImmutable()
	    before the other has called link(), in which case link() will fail
	    with EPERM.  We could retry or wrap the operation in a lock, but since
	    this condition is rare and I'm lazy, we just use the existing copy
	    fallback.

	    Fixes #9.

	commit c722193a91cb32f2696d655cf6301cf5ccfae6ce
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 26 16:52:08 2012 +0200

	    Don't use the build hook for unpacking channels

	commit 6de5d534164d95b0c004cd4b2ed9bf97f9903029
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 24 12:56:30 2012 +0200

	    Fix a warning in the build hook about $progressViewer

	commit 6387830c3b12722e5962a99aa81f225ea0830076
	Merge: 259c6d3 85799bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 23 03:29:03 2012 -0700

	    Merge pull request #2 from viric/master

	    Again, adding the sync option

	commit 259c6d3fbb1298488cc9d437ae81f313dba585fd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Apr 18 13:40:18 2012 +0200

	    Fix URL set by nix-channel

	commit 9cd3ff1059e9daffe65e24dc826268f1e69e2593
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 17 17:19:43 2012 +0200

	    nix-instantiate: default to "default.nix" if no arguments are given

	commit 8745fade0387b2900a98b95798d9f12be7ef97ca
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 17 17:14:14 2012 +0200

	    Added utility command ‘nix-instantiate --find-file’ to look up a file in Nix's search path

	commit 8cf1719e3e02998c0d22ed9e505a4a98e3335627
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 16 19:52:31 2012 +0200

	    Hack to prevent accumulation of old manifests

	commit 1132dd27eaf6b32937f1e0508c84d08f5ae90470
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 16 18:47:01 2012 +0200

	    Fix obscure race condition in GC root creation

	    This should fix rare Hydra errors of the form:

	    error: symlinking `/nix/var/nix/gcroots/per-user/hydra/hydra-roots/7sfhs5fdmjxm8sqgcpd0pgcsmz1kq0l0-nixos-iso-0.1pre33785-33795' to `/nix/store/7sfhs5fdmjxm8sqgcpd0pgcsmz1kq0l0-nixos-iso-0.1pre33785-33795': File exists

	commit 154aa7f71ade55fe5ce43503ade85fc2a107a331
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Apr 15 00:42:16 2012 +0200

	    Set a few more close-on-exec flags

	commit 31e34fcf932e86c398a38b39facc268026736f0c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Apr 15 00:20:32 2012 +0200

	    Close almost all file descriptors in the builder

	    This regression was accidentally introduced in
	    35355fc1fcffbe859395e360c0a6a1463f137d63.

	commit 0b5107c016080e70d30ccba3afa0f9aa7a90a891
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Apr 14 21:05:28 2012 +0200

	    If the (redirected) channel URL contains a version number, use it

	commit 1d0bafb74d17f14778005a633ee332ad0ad9ba9e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Apr 14 21:04:22 2012 +0200

	    Follow redirects early to ensure consistency between the manifest and the tarball

	    Without this change, if the URL is a redirect that changes in between,
	    we can get a manifest that doesn't match the tarball.

	commit ca3d9f8b31378093ecfbce493aab979c97d5ba78
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Apr 14 19:52:58 2012 +0200

	    Urgh, modified the wrong file...

	commit ef902274fd4b1c13732851e6cbfa00d4d4e46821
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Apr 14 18:48:11 2012 +0200

	    Remove unnecessary "system" argument

	commit e855c7e2c9a9a5cbe4406c1f9351181a9ebe6283
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Apr 14 18:38:52 2012 +0200

	    nix-channel improvements

	    "nix-channel --add" now accepts a second argument: the channel name.
	    This allows channels to have a nicer name than (say) nixpkgs_unstable.
	    If no name is given, it defaults to the last component of the URL
	    (with "-unstable" or "-stable" removed).

	    Also, channels are now stored in a profile
	    (/nix/var/nix/profiles/per-user/$USER/channels).  One advantage of
	    this is that it allows rollbacks (e.g. if "nix-channel --update" gives
	    an undesirable update).

	commit 969a14599d2f7bfd02971475b5b2be49fb965117
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 13 14:41:33 2012 +0200

	    If "pv" is available at compile time, hard-code its path

	commit 34a85c5405a228860a7bbe77239fb0204bf6952c
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Mar 29 18:58:14 2012 +0200

	    nix-copy-closure: Move the progressViewer directly adjacent to the ssh call so that network progress is what's measured

	commit 055e803851e73bb94d341c3b4f25f52be167fef7
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Mar 29 18:20:31 2012 +0200

	    Add the '--show-progress' flag to nix-copy-closure

	commit 00c98a6befb70228c7ba2b7d5dc8684289915baa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 13 14:28:26 2012 +0200

	    Use Bison 2.5

	commit 209927bb2785920eff455adb97ba513080c6e8c0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 10 16:40:51 2012 +0200

	    Unconfuse Rob

	commit 1fb30e6d50c29adcc3a3d73381cd90f5f5989c31
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 10 13:52:37 2012 +0200

	    Handle the case where $SHELL is not set

	commit 8f6146a7bc7c5a2e8c03b127366eff7d82552eef
	Merge: 533250a 242a99c
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Mon Apr 9 00:24:08 2012 -0700

	    Merge pull request #5 from shlevy/doc-fix

	    Nix is on github now

	commit 242a99c95ae9a0e829c5b34b51d29614ff2cb788
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Apr 8 23:59:02 2012 -0400

	    Nix is on github now

	commit 533250a4a3f5767fdc647b133134b92e3c804025
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 22:54:15 2012 +0200

	    Fix building from the tarball

	commit 831c7aa4108d56246595cfbcefdb1113f159715c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 22:03:19 2012 +0200

	    Documentation fix

	commit 5863987bba9bc4c90d0d71204933ac90ac7a710b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 21:56:20 2012 +0200

	    Include environment variables in the manpages

	commit 998b977ede9948f78a6a913ecedf3361eb14f769
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 21:45:00 2012 +0200

	    Include common options in the manpages using some XInclude hackery

	commit d49ef039dd61dba160cb0b78c6b00152ff9e680e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 21:43:56 2012 +0200

	    Update affiliation

	commit 5a6d50998dffcf60b45fd35b858dbe37cf33d649
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 20:26:30 2012 +0200

	    Add a missing DocBook source file to the tarball

	    Reported on IRC by Adrian Siekierka.

	commit f2467eb6a0070176a5b1cd76aa330b84431f8258
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 5 13:03:19 2012 +0200

	    On Linux, pretend we're building on Linux 2.6

	    Setting the UNAME26 personality causes "uname" to return "2.6.x",
	    regardless of the kernel version.  This improves determinism in
	    a few misbehaved packages.

	commit 3b859ead376cb0aa6c7b27774c2d82ed3ecb370a
	Author: Hydra mirror <hydra-mirror@lucifer.(none)>
	Date:   Wed Apr 4 20:46:18 2012 +0000

	    nix-generate-patches: Optionally write new patches to $NIX_ALL_PATCHES

	commit 34ea91b25919d795b6d322059de274ddcf778763
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Apr 4 16:22:32 2012 +0200

	    Include --keep-going in --help

	commit 0837348049bbdd24378ad9376caad932712d5acd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Apr 4 15:41:35 2012 +0200

	    Follow redirects when checking for the existence of MANIFEST.bz2

	    If we don't follow redirects, we might think that MANIFEST.bz2 exists
	    just because the HEAD request succeeds on the redirector URI.

	commit b8fb0ce5634456ba987231fc755c32af6f4ada30
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 27 11:59:36 2012 +0200

	    Update "nix-build --help"

	commit 5144abe5b67628d6968d0ab829aa52a6428a77a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 27 11:40:47 2012 +0200

	    Add an option "--exclude" to filter dependencies in "nix-build --run-env"

	    Sometimes when doing "nix-build --run-env" you don't want all
	    dependencies to be built.  For instance, if we want to do "--run-env"
	    on the "build" attribute in Hydra's release.nix (to get Hydra's build
	    environment), we don't want its "tarball" dependency to be built.  So
	    we can do:

	      $ nix-build --run-env release.nix -A build --exclude 'hydra-tarball'

	    This will skip the dependency whose name matches the "hydra-tarball"
	    regular expression.  The "--exclude" option can be repeated any number
	    of times.

	commit 3e94ffffd61573624883c02744f20ac3544ff9cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 27 11:16:43 2012 +0200

	    Allow the command executed by "nix-build --run-env" to be overriden with --command

	commit 446b827baedde7ba3ca44f9ef51940e28e13fb87
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 26 23:18:36 2012 +0200

	    Mac OS X fix

	commit 480dda0e42e69be47434be5bce95be950bdb59b5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 26 20:56:30 2012 +0200

	    Delete non-directory valid paths right away

	    It's unlikely that rename() is faster than unlink() on a regular file
	    or symlink, so don't bother.

	commit 117670be570d775a18e4e35db3dae00abc24f729
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 26 20:43:33 2012 +0200

	    Make the garbage collector more concurrent

	    Make the garbage collector more concurrent by deleting valid paths
	    outside the region where we're holding the global GC lock.  This
	    should greatly reduce the time during which new builds are blocked,
	    since the deletion accounts for the vast majority of the time spent in
	    the GC.

	    To ensure that this is safe, the valid paths are invalidated and
	    renamed to some arbitrary path while we're holding the lock.  This
	    ensures that we when we finally delete the path, it's not a (newly)
	    valid or locked path.

	commit 8be1979f1ae4b85c36988f7b3cf8240c9682dc54
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 26 20:00:02 2012 +0200

	    Remove the --max-links GC option

	    We don't need this anymore now that current filesystems support more
	    than 32,000 files in a directory.

	commit 85799bf89ed2649d7f3e2298de0478c50a71776d
	Author: Lluís Batlle i Rossell <viric@viric.name>
	Date:   Thu Mar 22 20:05:54 2012 +0100

	    Fixing the default of sync-before-registering

	    Setting 'false' as default, as suggested by Eelco.

	    I also added a comment about the setting in the code.

	commit 25de80e2b61208850c4a39d8ee44967ada8f040e
	Author: Lluís Batlle i Rossell <viric@viric.name>
	Date:   Thu Mar 22 19:57:42 2012 +0100

	    Adding a nix option to sync before registering a path, for non-ext*
	    filesystems.

	commit 19d9762ad5fc8d8db3e9a545a89309f08572cc9f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 20 18:23:26 2012 +0100

	    nix-store --clear-failed-paths: Clear derivation outputs

	    If the argument to ‘nix-store --clear-failed-paths’ is a derivation,
	    then clear the failed state of its outputs.

	commit cb79e91ec3f63ac46d8f4361cb4db75e76a79981
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 17:05:42 2012 +0100

	    Fix the coverage build

	commit 457dd55962837fc3026686b58ad89721106356cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 15:11:22 2012 +0100

	    Fix the Deb builds

	commit 4b83483142c7442663ffee488789ffe572ceaea1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 14:30:59 2012 +0100

	    Fix the RPM

	commit 7f38087f35e6f74a73bfdb28da8acd8930565d51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 04:14:21 2012 +0100

	    Add a command "nix-build --run-env" to reproduce the environment of a derivation

	    This command builds or fetches all dependencies of the given
	    derivation, then starts a shell with the environment variables from
	    the derivation.  This shell also sources $stdenv/setup to initialise
	    the environment further.

	    The current directory is not changed.  Thus this is a convenient way
	    to reproduce a build environment in an existing working tree.

	    Existing environment variables are left untouched (unless the
	    derivation overrides them).  As a special hack, the original value of
	    $PATH is appended to the $PATH produced by $stdenv/setup.

	    Example session:

	    $ nix-build --run-env '<nixpkgs>' -A xterm
	    (the dependencies of xterm are built/fetched...)
	    $ tar xf $src
	    $ ./configure
	    $ make
	    $ emacs
	    (... hack source ...)
	    $ make
	    $ ./xterm

	commit ea402a255f9c03a644d256b0d1443a986a2bbebb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 01:20:02 2012 +0100

	    Replace "make check" with "make installcheck"

	    Ensuring that the tests work from the build tree requires a growing
	    number of nasty hacks.  The tests also don't verify that the installed
	    Nix actually works.  Thus, the tests now require "make install" to
	    have been run.

	commit 4b23900ff1568270c9a03ccadc1cbd0b872e4ef7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 01:06:13 2012 +0100

	    Fix the optional dependency on OpenSSL

	    http://hydra.nixos.org/build/2306540

	commit b006a31d52b8f1cb01f3d722a6e3411dc8b98d64
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Mar 18 23:54:57 2012 +0100

	    Drop the externals directory

	    Nix now requires SQLite and bzip2 to be pre-installed.  SQLite is
	    detected using pkg-config.  We required DBD::SQLite anyway, so
	    depending on SQLite is not a big problem.

	    The --with-bzip2, --with-openssl and --with-sqlite flags are gone.

	commit 2e0322efd14df7a1658201fb443c8e90687dcfda
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Mar 18 22:10:59 2012 +0100

	    Clean up when building from a working tree

	commit bd50c01972718167cf86d20dcd9c928b4c3cfbd8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 13 17:07:49 2012 +0100

	    Ensure that Perl processes delete their entry in the temproots directory

	    By moving the destructor object to libstore.so, it's also run when
	    download-using-manifests and nix-prefetch-url exit.  This prevents
	    them from cluttering /nix/var/nix/temproots with stale files.

	commit b461721f17d7104c7ef08a0840d80685b9ae853e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 12 21:41:45 2012 +0100

	    Fix tests

	commit 005d1e4ccb7917d1438dd8f14ddaeeff8eab0b30
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 6 20:03:20 2012 +0100

	    Update bzip2 dependency

	commit 605b16cd7bd9b29482d9029740c3a4595a483f21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 22:04:40 2012 +0100

	    Fix compilation on FreeBSD

	    http://hydra.nixos.org/build/2213576

	    Not sure why compilation doesn't fail on other platforms...

	commit d645633643ff806bff8fcd1677d6ac87509f40e9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 20:52:24 2012 +0100

	    nix-copy-closure: don't print copied path on stdout

	    We're already printing progress on stderr, so printing them on stdout
	    afterwards is kind of useless.

	commit 35355fc1fcffbe859395e360c0a6a1463f137d63
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 20:29:00 2012 +0100

	    Set the close-on-exec flag on file descriptors

	commit 7b22bec252a155514d811a8e2acc21562ac02bd4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 20:28:09 2012 +0100

	    Don't leak a file descriptor in commonChildInit()

	commit 1d487dc6a682468ae00402b3720ff412b6bfb6fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 19:19:29 2012 +0100

	    nix-worker: put the pid of the caller in argv[1]

	    This is useful for debugging.

	commit 2b4964f31979b5227a7a51b646d2e4bbb5ef6579
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 18:13:44 2012 +0100

	    Restore progress indication during nix-copy-closure

	commit 56042a120a3149ec7ddfb36c6f7d7b841ba6dfeb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 17:58:09 2012 +0100

	    build-remote.pl: don't wait forever for the upload lock

	    In the build hook, don't wait forever to get the upload lock.  This
	    ensures progress if another process gets stuck while holding the
	    upload lock.

	commit 8afd28a922c8d3a0113abad2b8071465c2d77fe9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 1 16:04:12 2012 +0100

	    Remove dependency on sqlite3_table_column_metadata

	    Not all SQLite builds have the function sqlite3_table_column_metadata.
	    We were only using it in a schema upgrade check for compatibility with
	    databases that were probably never seen in the wild.  So remove it.

	commit 1c94524458fda335739b163a76aedeb7bcc5f43a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 24 20:57:54 2012 +0100

	    Fix an uninitialised variable

	    The variable ‘useChroot’ was not initialised properly.  This caused
	    random failures if using the build hook.  Seen on Mac OS X 10.7 with Clang.
	    Thanks to KolibriFX for finding this :-)

	commit 6fe13e6aba771452e2637d9a8102569c1007d919
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 18 01:23:52 2012 +0100

	    Fix chroots builds

	    Chroots are initialised by hard-linking inputs from the Nix store to
	    the chroot.  This doesn't work if the input has its immutable bit set,
	    because it's forbidden to create hard links to immutable files.  So
	    temporarily clear the immutable bit when creating and destroying the
	    chroot.

	    Note that making regular files in the Nix store immutable isn't very
	    reliable, since the bit can easily become cleared: for instance, if we
	    run the garbage collector after running ‘nix-store --optimise’.  So
	    maybe we should only make directories immutable.

	commit bd013b6f987c23c3b99b639ba7cdbc7b694a13f5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 15 01:31:56 2012 +0100

	    On Linux, make the Nix store really read-only by using the immutable bit

	    I was bitten one time too many by Python modifying the Nix store by
	    creating *.pyc files when run as root.  On Linux, we can prevent this
	    by setting the immutable bit on files and directories (as in ‘chattr
	    +i’).  This isn't supported by all filesystems, so it's not an error
	    if setting the bit fails.  The immutable bit is cleared by the garbage
	    collector before deleting a path.  The only tricky aspect is in
	    optimiseStore(), since it's forbidden to create hard links to an
	    immutable file.  Thus optimiseStore() temporarily clears the immutable
	    bit before creating the link.

	commit 5e57047d874e0f01dcb3bbc8b809fcc1aa82755b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 15 01:00:30 2012 +0100

	    Fix a broken guard around utime()

	    Because of an outdated check for a timestamp of 0, we were calling
	    utime() even when it wasn't necessary.

	commit 58ac7a17a43587001331e4a0379d38c369b99057
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 15 00:28:01 2012 +0100

	    Don't use deletePath() to delete a single file

	commit e9fc91df45c28376960a6e38c8c5f04bf9312623
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 9 18:56:48 2012 +0100

	    Fix error message

	    This fixes the error message

	      error: file `' was not found in the Nix search path (add it using $NIX_PATH or -I)

	commit d5a5a83ad4fb8aba3b334039f567267a0463ee5a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 9 18:27:45 2012 +0100

	    Use data() instead of c_str() where appropriate

	commit ec2827f5fc4fc8081daacb197d40d22a5e429df4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 19:25:43 2012 +0100

	    Update .gitignore

	commit 4055a3b19c826dbf487599ee24116a042e37275e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 13:22:08 2012 +0100

	    Remove empty ChangeLog file

	commit fb95455c02c8c48d98a94fde62d666ab13b53edf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 12:31:14 2012 +0100

	    Set the versionSuffix to include the Git shortrev

	commit 67444f5e54163702e6c5f0dd7d85c1158291fe99
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 7 13:18:20 2012 +0000

	    * Build Nix for the latest Fedora and Ubuntu releases (and drop some
	      old ones).

	commit f491ae97d472bfd6305a8f3e8c58fac1fdc443a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 4 13:50:25 2012 +0000

	    * Inline some functions and get rid of the indirection through
	      EvalState::eval().  This gives a 12% speedup on ‘nix-instantiate
	      /etc/nixos/nixos/ -A system --readonly-mode’ (from 1.01s to 0.89s).

	commit 2bda12ef3b2b1d9a0fc59324d723e3fa883ab223
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 4 13:27:11 2012 +0000

	    * Print elapsed evaluation time.

	commit ce86a9a0ae928f8cdbe26021b6b757bf5b9d7693
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 2 12:25:56 2012 +0000

	    * nix-channel: fail if we don't have write permission to the manifests
	      directory.  Previously in this situation we did add the Nix
	      expressions from the channel to allow installation from source, but
	      this doesn't work for binary-only channels and leads to confusing
	      error messages.

	commit baa0501cc120619ac3b76eaa53fff10cffd02449
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 26 13:13:00 2012 +0000

	    * Fix importing a derivation.  This gave a segfault.

	commit 4c9fdd2cd63f2f3c4e87790c5cacfdf5cd88591f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 26 13:04:50 2012 +0000

	    * Add a test for importing derivations.

	commit 330df4b4dbb363b69e10fa96d1e22f62088bfc96
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 19 23:08:47 2012 +0000

	    * Allow comparisons between derivations by comparing the outPath
	      attributes.

	commit 18047d4625b46ae001abc649096ab9ecd4c54560
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 19 23:07:42 2012 +0000

	    * Add some debug output to print the derivation name once it's known.
	      This makes it easier to pinpoint the source of a crash.

	commit 126c7317bc2384e64e1c6d515061141718e2688f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 19 22:10:24 2012 +0000

	    * Add a test case for comparing derivations.

	commit ddd0ce534ad8ecf9dc57749f354ea6b88b82900f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 18 16:43:48 2012 +0000

	    * Don't distribute Store.cc, it's generated automatically by xsubpp.

	commit 02f1363e19b7df7cccc3523805bbf4fafe429529
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 18 16:39:54 2012 +0000

	    * Pass the appropriate flags to GCC when building the Perl bindings.
	      Without these, Nix fails on 32-bit Linux with Perl 5.14, with a
	      rather unhelpful error message:

	        Not a CODE reference at /nix/store/n6kpbacn6nn7i3i735v8j3di8aqyl07v-perl-5.14.2/lib/perl5/5.14.2/i686-linux-thread-multi/DynaLoader.pm

	      This is likely because the lack of -D_FILE_OFFSET_BITS=64 causes
	      various Perl structures to not match what the Perl interpreter
	      expects.

	commit 4e624849b686894f8a4c23a56098f4d47634a85c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 17 23:07:22 2012 +0000

	    * Added a command ‘nix-store --print-env $drvpath’ that prints out the
	      environment of the given derivation in a format that can be sourced
	      by the shell, e.g.

	      $ eval "$(nix-store --print-env $(nix-instantiate /etc/nixos/nixpkgs -A pkg))"
	      $ NIX_BUILD_TOP=/tmp
	      $ source $stdenv/setup

	      This is especially useful to reproduce the environment used to build
	      a package outside of its builder for development purposes.

	      TODO: add a nix-build option to do the above and fetch the
	      dependencies of the derivation as well.

	commit 2a3f4110c54a10ebee67403a699cb8f951fca858
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 13 23:35:07 2012 +0000

	    * nix-build: put the temporary derivation symlink in a temporary
	      directory rather than the current directory.
	    * nix-build: --drv-link now implies --add-drv-link.

	commit 7ae763e16b2a2524f50487ea7422e5412a080004
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 12 14:16:25 2012 +0000

	    * ‘-module’ causes the generated library to have an .so extension on
	      Mac OS X instead of .dylib, so don't do that.

	commit 6245f0d5298f613c39f999fd68bf21aee8d72945
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Jan 11 16:58:49 2012 +0000

	    tests: Run `download-using-manifests' via libtool so that dlopening works.

	commit c5d9ccd810e3d4c791a912767c4463f4bb44d52e
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Jan 11 16:44:42 2012 +0000

	    perl: Build libNixStore.la with `-module'.

	commit f86fca9b708ea98be0d508db90ec25d537fba246
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 11 15:41:42 2012 +0000

	    * Figure out the extension of dynamic libraries; don't hard-code .so.

	commit 9fe24c5a0d1e694c6338d584a101034cfbff10bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 7 17:26:33 2012 +0000

	    * Don't create thunks for simple constants (integers, strings, paths)
	      and allocate them only once.
	    * Move Value and related functions into value.hh.

	commit d4e6b9f2d62ef77ff46397bd130350f03723ce50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 5 21:07:12 2012 +0000

	    * Doh!

	commit a7366a764aa8d549a16b58e43181fe4ff7e598ab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 5 20:33:46 2012 +0000

	    * Add a -I flag to the Perl bindings to nix-build and some other
	      scripts.
	    * Include the version and architecture in the -I flag so that there is
	      at least a chance that a Nix binary built for one Perl version will
	      run on another version.

	commit b52966e821b05e0d2e379ed6bbbf748f22453108
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 21:47:48 2012 +0000

	    * Remove dead code.

	commit 35f2a6ba82419d48ed8ebce7b8c3e74e65ac74f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 21:24:11 2012 +0000

	    * Don't use dynamic_cast, it's very slow.  "nix-instantiate
	      /etc/nixos/nixos -A system" spent about 10% of its time in
	      dynamic_cast.

	commit adaf64a99b0a882249e35768c3f4fe3de104cbb2
	Merge: 63227d4 9936da6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 16:22:25 2012 +0000

	    * Merge the multiple-outputs-sandbox branch (svn merge --reintegrate
	      ^/nix/branches/multiple-outputs-sandbox).  Multiple output support
	      still isn't complete, but it wasn't complete in the trunk either, so
	      it doesn't hurt.

	commit 9936da6b546d1ce643eca21ac76c6e7d568de1c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 12:45:53 2012 +0000

	    * Check whether the outputName attribute works.

	commit 9d43a0238235cfbe914e2051db89095699a2df95
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 12:45:40 2012 +0000

	    * Let --disable-gc work.

	commit a0477a458fa9fd7fbe090ff8cebcfd162c090b43
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 12:00:39 2012 +0000

	    * currentOutput -> outputName.  "current" implies some temporal
	      aspect.

	commit b79b85ad7668783391538fe2cda2e896f4ea0c8e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 11:56:15 2012 +0000

	    * Export the original input attributes of the derivation in
	      ‘drvAttrs’.  This will simplify the implementation of functions such
	      as ‘overrideDerivation’ in Nixpkgs, which need to filter out any
	      added attributes such as outPath.

	commit 83647f4ef14f1ecf40b9fc6099fc77864b87cf41
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 11:04:19 2012 +0000

	    * Simplify the implementation of "derivation" a bit: lift out the
	      common attribution so that they're evaluated only once, etc.  Note
	      that the default output is now the first element of the "outputs"
	      attribute, rather than the first element of the sorted list of
	      outputs.  This seems more user-friendly.

	commit 71f3c46cf65c0638946c9bb57c36a2b5f177a672
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 15:27:18 2012 +0000

	    * Drop the inefficient "Path" suffix in output attribute names.

	commit 921111d1972388a0aa1841c545c753cb996c9257
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 14:01:47 2012 +0000

	    * Move the implementation of the ‘derivation’ primop into a separate
	      file.

	commit 6c31232e1494d1d68a31fb8433dbf593f831dff2
	Merge: 502d940 63227d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 12:59:31 2012 +0000

	    * Sync with the trunk.

	commit 502d94048ae848eda1fcda2d1e72b339eaa653aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 12:59:00 2012 +0000

	    * Ignore missing manifest symlinks.

	commit 63227d434cefaa9faeb14afe28ebeb9b2d449ee2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 12:18:41 2012 +0000

	    * FreeBSD tar defaults to the tape device instead of stdout.

	commit 9b7df1ef007d9209b17f7aa40a03be0250ea30d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 09:19:40 2012 +0000

	    * Forgot to add.

	commit 39d45a6b090b5105423b22b8ef39c2a4a000a4a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 01:51:38 2012 +0000

	    * Add a test for nix-channel.
	    * Refactor the nix-channel unpacker a bit.

	commit dadbb51d969517c1f2512015ab201dc99088d9a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 00:47:27 2012 +0000

	    * Use Nix::Config.

	commit 48cea0d01ef48733ab38a73a20611f63aeb1b5cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 00:16:29 2012 +0000

	    * Refactoring: Get rid of a few subdirectories in corepkgs/, and some
	      other simplifications.
	    * Use <nix/...> to locate the corepkgs.  This allows them to be
	      overriden through $NIX_PATH.
	    * Use bash's pipefail option in the NAR builder so that we don't need
	      to create a temporary file.

	commit 93e71e6ab68d9662441289a02448c47069beeb2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 17:39:03 2011 +0000

	    * Follow our own coding conventions.

	commit f2d65c9c80821616c4f5587d2bbfdec9e18bdbfd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 17:31:58 2011 +0000

	    * Remove a redundant dot (Nicolas Pierron).

	commit 93b56acb2dd90e106413f201c8025d2ffeba98e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 17:25:19 2011 +0000

	    * Support multiple outputs in nix-store (specifically the ‘--query’
	      and ‘--realise’ actions).

	commit a71d02440b03cdb5dad6e43f786c0cc86cbb87b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 17:13:25 2011 +0000

	    * Oops.

	commit 6f5e3326cef2a2049c8f4ea757accafe4fc9d53f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 15:02:50 2011 +0000

	    * Move topoSortPaths() out of gc.cc.

	commit b1004f40f7e4dd02feec2d0cb26bd6c95dd66dde
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 14:47:14 2011 +0000

	    * Reject a build if there is a cycle among the outputs.  This is
	      necessary because existing code assumes that the references graph is
	      acyclic.

	commit ed11b17b2e0e10b759ac051b53c29cc9f79574dc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 13:43:29 2011 +0000

	    * Fix doc error.

	commit 254b3399ba3d7cf161fa54f9cf6cdc65c17164fb
	Merge: 5679041 8c42a8c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 13:08:14 2011 +0000

	    * Sync with the trunk.

	commit 8c42a8c8ff2986940a41d46b0bdaa1c2ff0f15ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 25 16:38:37 2011 +0000

	    * Make sure that lock files are cleaned up properly when building
	      through the build hook.

	commit 524fa8a4f11826fdf22005f3304366856f72ffa5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 22 16:27:03 2011 +0000

	    * Oops.

	commit b33da599c5c1b06a32a3eeac58f95481d10f821d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 22 15:55:53 2011 +0000

	    * In the garbage collector, delete invalid paths before deleting
	      unreachable paths.  This matters when using --max-freed etc.:
	      unreachable paths could become reachable again, so it's nicer to
	      keep them if there is "real" garbage to be deleted.  Also, don't use
	      readDirectory() but read the Nix store and delete invalid paths in
	      parallel.  This reduces GC latency on very large Nix stores.

	commit 58d974336c733416756e5b396928602ea8ed8df2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 22 14:33:34 2011 +0000

	    * Drop unnecessary call to canonPath() (nixStore is already canonical).

	commit 66c99b0cf50bb1d6290f55c209e9541b50ce41e8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 22 10:58:27 2011 +0000

	    * ‘--disable-shared’ is no longer supported.  Fortunately it's not
	      needed for the coverage analysis.

	commit 2aac7cd0217ce3417b12574ca7f9930090da6c4c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 19:17:45 2011 +0000

	    * Another case of lock file permissions being too liberal.

	commit 4d728bc3e60a6d07858f7a881221688ccdebb7fe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 19:11:58 2011 +0000

	    * Security: make sure the lock files used by build-remote.pl are not
	      readable to other users.  Otherwise, any user can open the lock file
	      for reading and lock it, thus DoSing the remote build mechanism.

	commit 69d6f0936a59da5cc35040407f4b667437d61add
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 18:59:25 2011 +0000

	    * Use a lock to ensure that only one build-remote instance can copy a
	      closure to a given machine at the same time.  This prevents the case
	      where multiple instances try to copy the same missing store path to
	      the target machine, which is very wasteful.

	commit 56790411323eada03bacf37fe6fd328a7c84d32a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 18:19:05 2011 +0000

	    * The ‘foo.drvPath’ feature was already broken in read-only mode.
	      Since it's rarely used and fixing it is too much work right now,
	      just document it.

	commit f8e54b7874b73891e39aff11dac2a5ceabef2f02
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Dec 21 17:34:44 2011 +0000

	    Make the reference cycle in the cyclic outputs test indirect

	commit b4cee3f816ad53f9762f38c28b51a78732b249f2
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Dec 21 17:31:34 2011 +0000

	    Revert previous commit

	    It doesn't detect indirect references

	commit f3c88f297d837f73d8123cb12564d237d7d0df87
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Dec 21 17:14:28 2011 +0000

	    Detect and reject mutually-referential outputs

	    There is probably a more efficient way to do this.

	commit b19a0f63dbb0c4910f4d9dcb391ca424ff3faeaa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 15:33:30 2011 +0000

	    * Simplify the context handling logic.

	commit 4be5a2c096083234e62117ce6016c4c9aa573aff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 14:42:06 2011 +0000

	    * Add a test for unsafeDiscardOutputDependency.  Not really related to
	      multiple outputs, but good to have anyway.

	commit 179409b9112ee9d9f858a124e0b109a46fe835c9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 13:47:21 2011 +0000

	    * Add a test for referring to another derivation's ‘drvPath’.  This
	      currently fails in read-only mode.

	commit 38776198880d06dc6af0fbdfa7cb2c053000112a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 11:47:52 2011 +0000

	    * Add some accidentally committed files.

	commit edd9359bebe012ae40e9e1538dab8f91e2d58d3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 20 17:10:39 2011 +0000

	    * Doing a GC after building a derivation with cyclic outputs currently
	      segfaults.

	commit 1f3b0ede7d9b6292e054f8e5ecc52a83cbba1f09
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 20 17:08:43 2011 +0000

	    * Add a (currently failing) test that checks whether mutually
	      recursive outputs are properly rejected.
	    * Add a (also failing) test for "nix-build -A <output-name>".

	commit 46e42c92c1444e1dd3aec871b3750bcd7391f60e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 20 17:01:02 2011 +0000

	    * Refactor a bit so that more tests can be added.

	commit b5363810bbeea37df34a5cb0051e05161630a510
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 20 16:37:01 2011 +0000

	    * Fix the build.

	commit 194d21f9f63ceb034f3e8294f89aa6bf6a217bc9
	Merge: 3c3107d 273b288
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 16 23:33:01 2011 +0000

	    * Sync with the trunk.

	commit 273b288a7e862ac1918064537ff130cc751fa9fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 16 22:31:25 2011 +0000

	    * importPath() -> importPaths().  Because of buffering of the input
	      stream it's now necessary for the daemon to process the entire
	      sequence of exported paths, rather than letting the client do it.

	commit 8d3dfa2c1782e955d2b7796d19dc0d0381596b98
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 16 21:29:46 2011 +0000

	    * Avoid expensive conversions from char arrays to STL strings.

	commit e0bd307802d13476055f8ba99ab7808de0fd71e5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 16 19:44:13 2011 +0000

	    * Make the import operation through the daemon much more efficient
	      (way fewer roundtrips) by allowing the client to send data in bigger
	      chunks.
	    * Some refactoring.

	commit 78598d06f0240a15b74720d8f987daeb702318d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 16 15:45:42 2011 +0000

	    * Clean up exception handling.

	commit 5a1b9ed0aa3a0c240b667dbe504b61b2b68e4d16
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 16:19:53 2011 +0000

	    * Refactoring: move sink/source buffering into separate classes.
	    * Buffer the HashSink.  This speeds up hashing a bit because it
	      prevents lots of calls to the hash update functions (e.g. nix-hash
	      went from 9.3s to 8.7s of user time on the closure of my
	      /var/run/current-system).

	commit a67b8ae22450a0fe10698042b452f5f2f322e008
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 14:04:35 2011 +0000

	    * Typo.

	commit a3e0656cbbfadba28518e0a29c324edaabb9874a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 12:32:08 2011 +0000

	    * Buffer reads in FdSource.  Together with write buffering, this
	      significantly cuts down the number of syscalls (e.g., for "nix-store
	      -qR /var/run/current-system" via the daemon, it reduced the number
	      of syscalls in the client from 29134 to 4766 and in the daemon from
	      44266 to 20666).

	commit 3a48282b0681d68147e18f7464eaddf1d188c3be
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 14 23:30:06 2011 +0000

	    * Buffer writes in FdSink.  This significantly reduces the number of
	      system calls / context switches when dumping a NAR and in the worker
	      protocol.

	commit 893cac140232478e3ce9640ccf31dbfbfc2434c0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 14 22:41:10 2011 +0000

	    * Remove the terminate handler, which was only really needed because
	      of Berkeley DB (see r8632).

	commit 23bf700196b4fa05a2da55798644f8adc2e1d7b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 14 22:31:31 2011 +0000

	    * Oops, the daemon test wasn't actually using the daemon.

	commit c8c0380744afd107611bba17127a182ecebd4e0b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 5 21:04:20 2011 +0000

	    * Remove unnecessary quotes.  showPaths() already adds quotes.

	commit 000160f5b915ce784e740c139f81e0cbeda751c4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 2 17:52:18 2011 +0000

	    * In ‘nix-store --verify --check-contents’, repair missing hashes
	      rather than complain about them.

	commit 3964d95abff8af2dc88effcebf6d935805ee6265
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 2 12:09:50 2011 +0000

	    * nix-prefetch-url: rewritten in Perl.

	commit 92d6a5ed73e043aebe5029c1ed75449873d327ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 2 12:09:24 2011 +0000

	    * Add some more functions to the Perl bindings.

	commit 49f59dceca37636353cf2f5f60135d7705ea154e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 2 11:47:06 2011 +0000

	    * Move parseHash16or32 into libutil, and use in nix-hash.

	commit b12b21825c949ef9b9327c6a0c9e2d5601aaf0b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 1 16:41:43 2011 +0000

	    * Allow '<nixexpr>' syntax to be used in nix-instantiate, nix-build
	      and nix-env, e.g.,

	      $ nix-env -f '<nixpkgs>' -i patchelf

	      or

	      $ nix-build '<nixos/tests>' -A login.test

	commit 23c38a04ccba4469b9aa98167532c236beeee0a0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 1 13:51:05 2011 +0000

	    * Slight improvement.

	commit 24f863d86b0316c736fe9e89998cd442b8a400dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 1 13:48:48 2011 +0000

	    * When doing "nix-store --add-fixed" without "--recursive" via the Nix
	      daemon (which is an error), print a nicer error message than
	      "Connection reset by peer" or "broken pipe".
	    * In the daemon, log errors that occur during request parameter
	      processing.

	commit be9be4c1476a46e9d0996d89613ce44d9aaa6da4
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Dec 1 08:03:30 2011 +0000

	    doc/manual/nix-env.xml: fixed "nix-env -qaA" typo

	commit 3c7ec8fc1b1fe3c3bf48b957c2aafa6c3ea6d846
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Dec 1 08:02:37 2011 +0000

	    doc/manual/nix-env.xml: stripped trailing whitespace

	commit f35c4351e5f99f1960a6ca7a3fd6dae76dcca163
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 22:15:07 2011 +0000

	    * Don't require a specific Perl version.

	commit 4d0407ba087f8bc3a21865309291996084fd80eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 13:38:52 2011 +0000

	    * Fix make check.

	commit 1749a7b0ae943f6a208ffc3fd0f6e9506872c5b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 13:01:24 2011 +0000

	    * download-using-manifests: use the Perl bindings.

	commit b1eb8f4249dbf666afa046c45e903566e9eb2df9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 13:00:41 2011 +0000

	    * Get rid of some superfluous error messages if a substituter fails.
	    * Say "fetch" instead of "substitute".

	commit 216440b3ff1431beca7784c7ae76cb5e75446953
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 12:32:55 2011 +0000

	    * For consistency with "nix-store -q --hash", produce hashes in
	      base-32.  (This affects Hydra manifests.)

	commit 1df120cb05121124379676d805b8f1fb090d7e22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 10:51:22 2011 +0000

	    * Get rid of the shell in ssh calls.

	commit 784083176a6c2bbda84095de97cb59126fe7c7a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 25 17:04:26 2011 +0000

	    * Fix race.

	commit f3bc98b0015fe333f7b1ef342143c23d0d6a2aa5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 23 15:39:54 2011 +0000

	commit 10e2b2b79e77fffed95d55a4c0b8150d4a852ec4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 23 15:39:02 2011 +0000

	    * Document the --include-outputs option.

	commit d5ac78e0d6f21dc60bd4f4f3990a18dc2bc12c4c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 23 15:29:58 2011 +0000

	    * Add bzip2 and xz support to nix-copy-closure.

	commit 5bbd693caedd5d50994938555b3a4b535875347e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 23 15:13:37 2011 +0000

	    * Add an API function exportPaths() that provides the functionality of
	      ‘nix-store --export’.
	    * Add a Perl module that provides the functionality of
	      ‘nix-copy-closure --to’.  This is used by build-remote.pl so it no
	      longer needs to start a separate nix-copy-closure process.  Also, it
	      uses the Perl API to do the export, so it doesn't need to start a
	      separate nix-store process either.  As a result, nix-copy-closure
	      and build-remote.pl should no longer fail on very large closures due
	      to an "Argument list too long" error.  (Note that having very many
	      dependencies in a single derivation can still fail because the
	      environment can become too large.  Can't be helped though.)

	commit ab20af3e6f83f320232d0e5f6bcfcb279c0047c0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 23 12:21:35 2011 +0000

	    * build-remote.pl: drop a hard-coded reference to /nix/etc/nix.

	commit 993fa94fb489f46e127ef760bea8c65ef281ef7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 22 17:28:41 2011 +0000

	    * Move initialisation of variables like nixConfDir from libmain to
	      libstore so that the Perl bindings can use it as well.  It's vital
	      that the Perl bindings use the configuration file, because otherwise
	      nix-copy-closure will fail with a ‘database locked’ message if the
	      value of ‘use-sqlite-wal’ is changed from the default.

	commit 4e1ea17052b4cc2445bc2ece2136f248112b4e45
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Mon Nov 21 15:19:51 2011 +0000

	    nix: add /etc/hosts with localhost entry to chroot builds.

	commit 4de3e2a0db8d043324e9799ada181f7e73356908
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 21 13:22:34 2011 +0000

	    * Doh.

	commit 23e933b3b3e881515993538ab774c8c7b54f8370
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 21 12:23:48 2011 +0000

	    * Put back the "sys_name" variable which got removed somewhere.  This
	      broke building on Cygwin and Solaris.

	commit a6abade8e832217c27fade5ab8b7c28003c2ac46
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 21 12:18:26 2011 +0000

	    * Escape the [ and ] characters in the sed call, otherwise autoconf
	      will eat them.

	commit 964399c079f312312f75c41d6f58d323822b6cf0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 20 19:23:50 2011 +0000

	    * "sed" on FreeBSD doesn't know the "+" operator.

	commit b92f76374f34068e3a41130cdba88ac2c5924804
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 18 17:25:40 2011 +0000

	    * In the platform, canonicalise "amd64" to "x86_64".  FreeBSD 8.2's
	      uname reports amd64.
	    * Drop the FreeBSD version number, e.g. "i686-freebsd" instead of
	      "i686-freebsd8.2".

	commit 42164d6de493fa2e0acbf1ebaf9ee0d7502b4f0b
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Nov 16 20:58:21 2011 +0000

	    configure: Change i*86 to i686 as has always been done.

	commit 45ec69cbdf7e5e7ff19d28c8f25c7f650105b253
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Nov 16 20:39:59 2011 +0000

	    configure: Rely on `AC_CANONICAL_HOST' to determine the Nix system name.

	    This should be more robust and also plays better with
	    cross-compilation---it uses the host name, instead of using the build
	    name.

	commit f8e609c3413e38d403d986020079f24a2b82c063
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 16 16:41:48 2011 +0000

	    * nix-pull: update the Nix manifest cache if necessary.  Also, don't
	      read the manifest just to check the version and print the number of
	      paths.  This makes nix-pull very fast for the cached cache (speeding
	      up nixos-rebuild without the ‘--no-pull’ or ‘--fast’ options).

	commit d7d7910ba48d898bda2db92a4f16a6179c855f7d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 16 16:25:38 2011 +0000

	    * Don't decompress the manifests in /nix/var/nix/manifest.  This saves
	      disk space, and, since they're typically only decompressed once (to
	      fill the manifest cache), doesn't make things slower.

	commit 63ee5e4d2a46c3619c59307d7dbb08f25d32c3e8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 16 11:56:19 2011 +0000

	    * Remove obsolete line.

	commit a5952405d2803ae0d29955fe6725cd9195327a07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 16 11:37:40 2011 +0000

	    * Re-use prepared statements across insertions into the manifest cache
	      DB.  This speeds up creating the cache from 16.1s to 7.9s on my
	      system.

	commit c0b706213dad330bd51607ff73059c87f0ec5b93
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 7 21:11:59 2011 +0000

	    * Boldly make SQLite WAL mode the default again.  Hopefully the
	      intermittent problems are gone by now.  WAL mode is preferrable
	      because it does way fewer fsyncs.

	commit 3c3107da86ff71a08ce44027ee5899acf486796a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 07:18:19 2011 +0000

	    There's no need to mess with drvPath at all

	commit 2ab29be70c99483dbd8cf12eece4d553c7f953f3
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 07:03:14 2011 +0000

	    Fix faulty reversion of my changes to unsafeDiscardOutputDependency

	commit ca0d47a70c37999f8cc9c2e82c76661826cfd50a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:54:05 2011 +0000

	    Respect all outputs passed to the derivation, not just the last one

	commit 24b65937e103c5cb1232c3cbcbffc12322cb8ae3
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:34 2011 +0000

	    Remove the unused sCurrentOutput symbol

	commit 3522730316dbb3a9ee5a690188f02435e7260406
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:30 2011 +0000

	    Embed output name into the context of the *OutPath attributes and extract it for input derivations

	    Multiple outputs test passes!

	commit 46876ff2037541613dc17c986f9b68b8f257cb3b
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:25 2011 +0000

	    Fix stupid typo in multiple outputs test

	commit af2e53fd481994cca46b9c003a6a8eae50cf951c
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:20 2011 +0000

	    Include all outputs of derivations in the closure of explicitly-passed derivation paths

	    This required adding a queryOutputDerivationNames function in the store API

	commit 981edeab7b6b415c71d3421da6967ec7fc232e54
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:14 2011 +0000

	    The 'insert output between = signs' approach was not helpful

	commit f883afa1a1bc6c48bbb3d9c150e357c35e40c921
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:08 2011 +0000

	    The nixinstantiate and nixstore env vars are no longer set in common.sh

	commit 2721e9f56f92f5bd630dcbb0104fc56159cb28d4
	Merge: bffe35a a6a3f3a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 00:13:09 2011 +0000

	    Merge from trunk

	commit a6a3f3a8c26fdd6900880c13e924e6879d6c714c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 5 21:23:01 2011 +0000

	    * Fix race condition in the test.

	commit fa69ff57269dfd24ff04810c04d130e3e5d94154
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 5 21:06:24 2011 +0000

	    * Fix the broken reference to bunzip2 in the channel unpack script.

	commit daed9aeac557af4ec8d3d8f00b4f3f2b8f90408a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 3 19:22:24 2011 +0000

	commit d7b87bebe3ac8f47e387c79e03ceb5915e71d249
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 3 18:47:10 2011 +0000

	    * The Nix configuration file is usually /etc/nix/nix.conf.

	commit 325b5a8aee89a12c30fbfcf74503f5105be0b230
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 2 19:14:54 2011 +0000

	    * Fix permission on /nix/store in the manual for multi-user installs
	      (reported by Silvio Frischknecht).

	commit a12095d3be095ba9d88631e21ef6d43f1ddb5cee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 27 19:06:23 2011 +0000

	    * In printValueAsXML, handle the case where a "type" attribute is not
	      a string.  This happens in the NixOS option system.
	    * Remove a bogus comparison of a unsigned integer with -1.

	commit 00b41e46ed02d16aeea1375c14a84df02a91efba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 19 21:34:13 2011 +0000

	    * Print a consistent message.

	commit f186a9141efd20b1236b9df29de1bf4b1f2098ce
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 18 21:21:22 2011 +0000

	    * nix-copy-closure: support ‘--dry-run’ and ‘--include-outputs’.

	commit 67617574280a5db534e5b5c643a3b880d1b9336c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 15:41:13 2011 +0000

	    * Use the Store API bindings in nix-copy-closure.

	commit d43a148204a983bf676750f50640969f8edf7350
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 13:58:47 2011 +0000

	    * Add a test for nix-copy-closure.

	commit 2492914fbcd1d616c89b83fda0ee08551486273e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 13:06:59 2011 +0000

	    * Move the remote building test from the NixOS tree to the Nix tree.

	commit c362e4d718cb31e532a4e2d708d07a57bc3bdf55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 11:45:36 2011 +0000

	    * Move SSH.pm.

	commit 7d314b8c959ca5c3dda8aea9c74079f4be63e19e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 11:14:30 2011 +0000

	    * Work around a race condition starting the Nix daemon.

	commit 5193db048e06578191ddd3085d76aab1d2e15ad3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 09:32:34 2011 +0000

	    * Set svn:ignore.

	commit a2a317eb0bc418577461105790c70b363a10cc34
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 09:31:55 2011 +0000

	    * Distribute GeneratePatches.pm.

	commit 5090c34ee1251dd8f0a57332feff0c99489f7faa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 22:40:17 2011 +0000

	    * Set the executable bit on scripts.

	commit 8af7d766f0244d5b15d89ab2d2d66b0d63e8f576
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 21:32:34 2011 +0000

	    * Refactoring: remove unnecessary variables from the tests.

	commit cd6d02c366af43bccdd2ef345193e4fdeca78a13
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 21:30:59 2011 +0000

	commit 6fcdbcac202e40e5de7147ff64b34d6aaad16249
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 21:11:08 2011 +0000

	    * Install NixManifest.pm, NixConfig.pm and GeneratePatches.pm under
	      the Nix:: namespace.

	commit 659c427caa39e44e5861ff1345425e4c34c9ced3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 18:58:49 2011 +0000

	    * Hopefully perl-devel contains the required headers (untested).

	commit 73fe6871c479f7670f8c93b0cc9ef7bb1a851777
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 18:12:40 2011 +0000

	    * Include the Nix Perl bindings in Nix itself.  This will allow the
	      bindings to be used in Nix's own Perl scripts.

	      The only downside is that Perl XS and Automake/libtool don't really
	      like each other, so building is a bit tricky.

	commit bffe35acedafcd7c7237cb1415798362bff8a180
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Sep 19 04:36:49 2011 +0000

	    Update gitignore

	commit 6c38cc9025591655b893bbd2437bfd1453c0c2fa
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Sep 19 04:15:26 2011 +0000

	    Ignore everything created during build

	commit 55481c44d4767ffde561c02b039717916e0536f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Sep 17 09:53:31 2011 +0000

	    * Don't assume that we want a shared Nix store.

	commit e81c09edbf6b352ec96668be35a68037df2f6342
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 16 11:31:00 2011 +0000

	    Remove the current output metadata from the string for unsaveDiscardOutputDependency

	commit bf50d6ad3271aaa6ac93b68e99f5acb1d9a158c7
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 16 11:30:52 2011 +0000

	    Add information about which output is active to drvPath's context

	    This will break things that depend on being able to just strip away an equals sign, so those have to be updated next

	commit ffa038f66dc0dfcfaf16c523830490bb606af04c
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 16 11:30:44 2011 +0000

	    Add an sCurrentOutput member to EvalState

	commit f3e410d4bffc109718d8a108258710a543ecfca6
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 16 11:30:03 2011 +0000

	    Add a currentOutput attribute to derivations keep track of which output is active

	commit 8f28a3ba25dd0dad6411a039bc01ad87c61a6e59
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Sep 14 05:59:29 2011 +0000

	    Add a test for multiple outputs

	    This currently fails. Yay test-driven development!

	commit c172d16b00dd2126eb7c4f12c26f1e30e4356f07
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Sep 14 05:59:17 2011 +0000

	    First attempt at the output-as-derivation semantics

	    For each output, this adds a corresponding attribute to the derivation that is
	    the same as the derivation except for outPath, which is set to the path specific
	    to that output. Additionally, an "all" attribute is added that is a list of all
	    of the output derivations. This has to be done outside of derivationStrict as
	    each output is itself a derivation that contains itself (and all other outputs)
	    as an attribute. The derivation itself is equivalent to the first output in the
	    outputs list (or "out" if that list isn't set).

	commit 0b34e57eb80dbadd8f24426c4486af97cbfe40bf
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Sep 14 00:41:02 2011 +0000

	    Create a branch for me to play around with finishing off the multiple outputs implementation

	commit 13114daa3e38abc5c84987830d9276b93251592f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 12 09:07:43 2011 +0000

	    * Ouch.  A store upgrade could cause a substituter to be triggered,
	      causing a deadlock.

	commit 281e3ed0590f253ef717a1f82123dfc569a110a1
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Tue Sep 6 12:11:05 2011 +0000

	    bootstrap: Simplify & make more robust.

	commit e6cb3d0a0dcfe13e9b493afdc4e2107668ec99ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 6 12:06:30 2011 +0000

	    * Added a command ‘nix-store --verify-paths PATHS’ to check whether
	      the contents of any of the given store paths have been modified.
	      E.g.

	        $ nix-store --verify-path $(nix-store -qR /var/run/current-system)
	        path `/nix/store/m2smyiwbxidlprfxfz4rjlvz2c3mg58y-etc' was modified! expected hash `fc87e271c5fdf179b47939b08ad13440493805584b35e3014109d04d8436e7b8', got `20f1a47281b3c0cbe299ce47ad5ca7340b20ab34246426915fce0ee9116483aa'

	      All paths are checked; the exit code is 1 if any path has been
	      modified, 0 otherwise.

	commit 82710f96f7ea72bc0f6fcc6d736e3ad4434c1988
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 6 12:00:11 2011 +0000

	    * Add some -f flags, never hurts.

	commit 93227ff65c73e726c4ceef0cdd9439e7a4301417
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 31 21:11:50 2011 +0000

	    * Eliminate all uses of the global variable ‘store’ from libstore.
	      This should also fix:

	        nix-instantiate: ./../boost/shared_ptr.hpp:254: T* boost::shared_ptr<T>::operator->() const [with T = nix::StoreAPI]: Assertion `px != 0' failed.

	      which was caused by hashDerivationModulo() calling the ‘store’
	      object (during store upgrades) before openStore() assigned it.

	commit 5bcdc7e3517e6d679cad1aaba41e4deb76d5a6e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 27 16:59:32 2011 +0000

	    * Update the cleanup script.

	commit a95ba4cdd9aa9f9c98928732dd26fba2757ade26
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 17 14:17:19 2011 +0000

	    * Use last_insert_id instead of sqlite_last_insert_rowid, which you're
	      not really supposed to use according to the DBD::SQLite docs, and
	      fails on some systems (e.g. http://hydra.nixos.org/build/1246662).

	commit da18b11b05b6196376d5387b879d28b8da20f734
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 8 14:08:38 2011 +0000

	    * On FreeBSD, ‘touch’ is not in the test $PATH, so don't use it.

	commit 76e0029f7ae03f30a2fa534e1eaf141437877398
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 8 14:06:10 2011 +0000

	    * Add perl-DBD-SQLite as a dependency of the RPM builds.

	commit d374be551df964f000a04061e6ad9c81a7a8341c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 8 13:19:00 2011 +0000

	    * Add DBD-SQLite as a dependency to the Debian/Ubuntu builds.
	    * Drop some old Fedora/Debian/Ubuntu releases.

	commit 2d663b502da16d6dc480bff7f58297d176d04246
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 19:45:43 2011 +0000

	    * Cache the result of file evaluation (i.e, memoize evalFile()).  This
	      prevents files from being evaluated and stored as values multiple
	      times.  For instance, evaluation of the ‘system’ attribute in NixOS
	      causes ‘nixpkgs/pkgs/lib/lists.nix’ to be evaluated 2019 times.

	      Caching gives a modest speedup and a decent memory footprint
	      reduction (e.g., from 1.44s to 1.28s, and from 81 MiB to 59 MiB with
	      GC_INITIAL_HEAP_SIZE=100000 on my system).

	commit 510033e78376987ca358cebfa020754e61733543
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 18:54:29 2011 +0000

	    * Handle <path> syntax.

	commit 9d091ee99a9b962c72b3cb9485a89ba028dd1155
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 18:45:28 2011 +0000

	    * Handle the case where the search path element is a regular file.

	commit 00a724ebc6f049009ce0810b0ac44dd11199d88b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 18:24:43 2011 +0000

	    * Remove a debug statement.

	commit 07340b8be742e08f1a000475eb1f389d5525d6c8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 18:23:38 2011 +0000

	    * Add the Nix corepkgs to the end of the search path.  This makes it
	      possible for other Nix expressions to use corepkgs (mostly useful
	      for the buildenv function).

	commit c7101dac0bd2631e50846194fc841ef5ef77461f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 17:48:57 2011 +0000

	    * Allow redirections in search path entries.  E.g. if you have a
	      directory

	        /home/eelco/src/stdenv-updates

	      that you want to use as the directory for import such as

	        with (import <nixpkgs> { });

	      then you can say

	        $ nix-build -I nixpkgs=/home/eelco/src/stdenv-updates

	commit 1578b2261d28003c8c1459041302e1f3c1921c43
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 16:18:54 2011 +0000

	    * Add lang/dir* to the distribution.

	commit 1ecc97b6bdb27e56d832ca48cdafd3dbb5185a04
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 16:05:24 2011 +0000

	    * Add a Nix expression search path feature.  Paths between angle
	      brackets, e.g.

	        import <nixpkgs/pkgs/lib>

	      are resolved by looking them up relative to the elements listed in
	      the search path.  This allows us to get rid of hacks like

	        import "${builtins.getEnv "NIXPKGS_ALL"}/pkgs/lib"

	      The search path can be specified through the ‘-I’ command-line flag
	      and through the colon-separated ‘NIX_PATH’ environment variable,
	      e.g.,

	        $ nix-build -I /etc/nixos ...

	      If a file is not found in the search path, an error message is
	      lazily thrown.

	commit 54945a2950174ded83d58336061b4a9990cdbbfd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 13:02:55 2011 +0000

	    * Refactoring: move parseExprFromFile() and parseExprFromString() into
	      the EvalState class.

	commit c8606664abe952f74985503c831d31ae7a7369bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 20 18:26:00 2011 +0000

	    * Don't allow derivations with fixed and non-fixed outputs.

	commit b2027f70d992bd2d088e71ee5cea7637445766f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 20 18:10:47 2011 +0000

	    * Fix a huuuuge security hole in the Nix daemon.  It didn't check that
	      derivations added to the store by clients have "correct" output
	      paths (meaning that the output paths are computed by hashing the
	      derivation according to a certain algorithm).  This means that a
	      malicious user could craft a special .drv file to build *any*
	      desired path in the store with any desired contents (so long as the
	      path doesn't already exist).  Then the attacker just needs to wait
	      for a victim to come along and install the compromised path.

	      For instance, if Alice (the attacker) knows that the latest Firefox
	      derivation in Nixpkgs produces the path

	        /nix/store/1a5nyfd4ajxbyy97r1fslhgrv70gj8a7-firefox-5.0.1

	      then (provided this path doesn't already exist) she can craft a .drv
	      file that creates that path (i.e., has it as one of its outputs),
	      add it to the store using "nix-store --add", and build it with
	      "nix-store -r".  So the fake .drv could write a Trojan to the
	      Firefox path.  Then, if user Bob (the victim) comes along and does

	        $ nix-env -i firefox
	        $ firefox

	      he executes the Trojan injected by Alice.

	      The fix is to have the Nix daemon verify that derivation outputs are
	      correct (in addValidPath()).  This required some refactoring to move
	      the hash computation code to libstore.

	commit d2bfe1b071d0d71bb981535a53e9c5de43aaac81
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 20 12:15:40 2011 +0000

	    * Added a test that make sure that users cannot register
	      specially-crafted derivations that produce output paths belonging to
	      other derivations.  This could be used to inject malware into the
	      store.

	commit 4bdb51e621e2690e561b7581d5670af08e7b3170
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 20 11:50:13 2011 +0000

	    * Refactoring.

	commit 0243eea4b92ca1598353e31b7e3c0d195c903221
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 20 11:47:00 2011 +0000

	    * Create a symlink to /nix/var/nix/manifests in /nix/var/nix/gcroots
	      if it doesn't exist.

	commit d329c3ea9dde17a665b32a1716d02eb13627826d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 18 23:31:03 2011 +0000

	    * Support multiple outputs.  A derivation can declare multiple outputs
	      by setting the ‘outputs’ attribute.  For example:

	        stdenv.mkDerivation {
	          name = "aterm-2.5";

	          src = ...;

	          outputs = [ "out" "tools" "dev" ];

	          configureFlags = "--bindir=$(tools)/bin --includedir=$(dev)/include";
	        }

	      This derivation creates three outputs, named like this:

	        /nix/store/gcnqgllbh01p3d448q8q6pzn2nc2gpyl-aterm-2.5
	        /nix/store/gjf1sgirwfnrlr0bdxyrwzpw2r304j02-aterm-2.5-tools
	        /nix/store/hp6108bqfgxvza25nnxfs7kj88xi2vdx-aterm-2.5-dev

	      That is, the symbolic name of the output is suffixed to the store
	      path (except for the ‘out’ output).  Each path is passed to the
	      builder through the corresponding environment variable, e.g.,
	      ${tools}.

	      The main reason for multiple outputs is to allow parts of a package
	      to be distributed and garbage-collected separately.  For instance,
	      most packages depend on Glibc for its libraries, but don't need its
	      header files.  If these are separated into different store paths,
	      then a package that depends on the Glibc libraries only causes the
	      libraries and not the headers to be downloaded.

	      The main problem with multiple outputs is that if one output exists
	      while the others have been garbage-collected (or never downloaded in
	      the first place), and we want to rebuild the other outputs, then
	      this isn't possible because we can't clobber a valid output (it
	      might be in active use).  This currently gives an error message
	      like:

	        error: derivation `/nix/store/1s9zw4c8qydpjyrayxamx2z7zzp5pcgh-aterm-2.5.drv' is blocked by its output paths

	      There are two solutions: 1) Do the build in a chroot.  Then we don't
	      need to overwrite the existing path.  2) Use hash rewriting (see the
	      ASE-2005 paper).  Scary but it should work.

	      This is not finished yet.  There is not yet an easy way to refer to
	      non-default outputs in Nix expressions.  Also, mutually recursive
	      outputs aren't detected yet and cause the garbage collector to
	      crash.

	commit d9a5959139302781d1f4ac740b1af97c18a5fd08
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 13 15:57:44 2011 +0000

	    * Show the default for --with-store-dir (Nix/211).

	commit d5d4dcd4c988363beb2bb408ac31750e4c027176
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 13 15:53:24 2011 +0000

	    * Allow attribute names to be strings.  Based on the
	      allow-arbitrary-strinsg-in-names patch by Marc Weber.

	commit e649f3168bb03053c8201489ca52f9077c0d8b17
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 13 14:05:54 2011 +0000

	    * Fix concurrency issues in download-using-manifests' handling of the
	      SQLite manifest cache.  The DBI AutoCommit feature caused every
	      process to have an active transaction at all times, which could
	      indefinitely block processes wanting to update the manifest cache.

	    * Disable fsync() in the manifest cache because we don't need
	      integrity (the cache can always be recreated if it gets corrupted).

	commit 0a623a10c7e89a80b6dc74445a0ae6240f65723e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 13 12:19:57 2011 +0000

	    * Allow a default value in attribute selection by writing

	        x.y.z or default

	      (as originally proposed in
	      https://mail.cs.uu.nl/pipermail/nix-dev/2009-September/002989.html).

	      For instance, an expression like

	        stdenv.lib.attrByPath ["features" "ckSched"] false args

	      can now be written as

	        args.features.ckSched or false

	commit 2b9e29b1c8b6b8e4884a46a3ba71ee795f1f97cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 6 12:28:57 2011 +0000

	    * Change the right-hand side of the ‘.’ operator from an attribute to
	      an attribute path.  This is a refactoring to support default values.

	commit 5580f3817c37135dcc633d84d1360a17a8878a58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 6 10:58:53 2011 +0000

	    * Test case.

	commit 56370378023fc84eb0153b991f4138f6acd011e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 6 10:58:17 2011 +0000

	    * In the ‘?’ operator, allow attribute paths.  For instance, you can
	      write ‘attrs ? a.b’ to test whether ‘attrs’ has an attribute ‘a’
	      containing an attribute ‘b’.  This is more convenient than ‘attrs ?
	      a && attrs.a ? b’.

	      Slight change in the semantics: it's no longer an error if the
	      left-hand side of ‘?’ is not an attribute set.  In that case it just
	      returns false.  So, ‘null ? foo’ no longer throws an error.

	commit 34f4b91820796381d04c6e00ea5e805cf53d25da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 4 14:44:53 2011 +0000

	commit 1ea6e064454d10b722c2fd9361f00e6cf3561f08
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Jun 30 15:48:40 2011 +0000

	    doc: Fix typo.

	commit 5c9e9f732df6d95d712f25de9880b7461c53d6ca
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Jun 30 15:19:13 2011 +0000

	    Add support for the `build-timeout' and `--timeout' options.

	commit 9c99aa2620b8f86c0e7f99ebfe868e8ccb306f71
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 27 09:01:09 2011 +0000

	commit e4d814858559f10900eff26bb7a87fb986a87c48
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 27 08:04:54 2011 +0000

	commit 4891b21f34548a362df842e5d88914f6a70b5a39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 3 16:17:24 2011 +0000

	    * Use SQLite 3.7.6.2.

	commit d94cb02bfe4119a91948d31b1b9082328955dae1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 19 10:52:35 2011 +0000

	    * nix-install-package: unset NIX_REMOTE because $NIX_MANIFESTS_DIR
	      doesn't work when building through the Nix daemon.  This also
	      ensures an error message when the user doesn't have sufficient
	      privileges to do nix-pull.

	commit 8c69dac8a1d25c043ddb27d5c8dde5b072030667
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 19 10:44:44 2011 +0000

	    * Handle error messages from the Nix worker containing the `%'
	      character.  (Nix/216)

	commit 4ba6afaf48db8d4cece83a6e22de26829907834f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 16:27:05 2011 +0000

	    * `nix-env -ub' (`--prebuilt-only') didn't really work because it
	      checked too soon whether substitutes are available.  That is, it did
	      so for every available package, rather than those matching installed
	      packages.  This was very slow and subject to assertion failures.  So
	      do the check much later.  Idem for `nix-env -qab' and `nix-env -ib'.

	commit 412914d004462977e869e610172305d33fb4d335
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 13:16:54 2011 +0000

	    * Read manifests directly into the database, rather than first reading
	      them into memory.  This brings memory use down to (more or less)
	      O(1).  For instance, on my test case, the maximum resident size of
	      download-using-manifests while filling the DB went from 142 MiB to
	      11 MiB.

	commit 08c89714984ca64b9ddfe53c99254c70a784e81c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 12:40:13 2011 +0000

	    * Lock the database during updates.

	commit b2c11b9ed05d33bb938d83fbcb367256427450f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 10:23:15 2011 +0000

	commit 3cbf680f5d2bfb2ed4592dd24ff8ce2b7e5765bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 10:13:53 2011 +0000

	    * configure: detect whether DBD::SQLite is present.  If necessary the
	      location to DBI and DBD::SQLite can be passed with --with-dbi and
	      --with-dbd-sqlite.

	commit 83252b4ca9cb9de45bf4a069b20d1c2d1412396e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 08:21:30 2011 +0000

	    * Subtle bug: if you import File::stat in one module, it affects other
	      modules as well.  So use symbolic field names everywhere (which is
	      nicer anyway).

	commit b1882c3ef75afdaa7b0926cd146aa2857ba0d40a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 08:06:14 2011 +0000

	    * Create $manifestDir if it doesn't exist.

	commit 5591fcc5292616e99d9d2478ffeb4f1b51f1899e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 10 23:22:46 2011 +0000

	    * Cache the manifests in /nix/var/nix/manifests in a SQLite database.
	      This significantly speeds up the download-using-manifests
	      substituter, especially if manifests are very large.  For instance,
	      one "nix-build -A geeqie" operation that updated four packages using
	      binary patches went from 18.5s to 1.6s.  It also significantly
	      reduces memory use.

	      The cache is kept in /nix/var/nix/manifests/cache.sqlite.  It's
	      updated automatically when manifests are added to or removed from
	      /nix/var/nix/manifests.  It might be interesting to have nix-pull
	      store manifests directly in the DB, rather than storing them as
	      separate flat files, but then we would need a command line interface
	      to delete manifests from the DB.

	commit 1e7e4f21ba910bcf9da89b14cf2424a4b0955bed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 6 09:16:22 2011 +0000

	    * Remove the localPaths feature in manifests since it's no longer used
	      and redundant anyway.

	commit 0423d0692abebf16a19b65b37d4926de2539bf1c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 16 15:55:57 2011 +0000

	    * Print a better error message.

	commit 48bdbbf07042f130996c0d9116893cc9f8ed2488
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 13:12:59 2011 +0000

	    * Fix a bug in the documentation (reported by Olexiy Buyanskyy,
	      Nix/215).

	commit 802c2651c84b73a54b2a89484aa463f1f0df3b94
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 15:08:33 2011 +0000

	commit e945b52a31ab339b253df40e35828582eff77e54
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 13:26:33 2011 +0000

	    * nix-push: handle the case where the hash is not set in the DB.

	commit c3cee5395bec0dd9db3fb60662a170ebb7453ee1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 14:56:02 2011 +0000

	    * Build for Ubuntu 10.04.

	commit 8fcaf3e9c6d820175d124be0af06c481104222a1
	Author: Florian Friesdorf <flo@chaoflow.net>
	Date:   Mon Feb 14 03:11:56 2011 +0000

	    make nix-mode provide 'nix-mode

	    this enables (require 'nix-mode)

	commit 538b7caab013e6ec78bed2b65a7c5d345f1c737e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 10 14:31:04 2011 +0000

	    * Don't allocate a big initial GC address space on machines with
	      little RAM.  Even if the memory isn't actually used, it can cause
	      problems with the overcommit heuristics in the kernel.  So use a VM
	      space of 25% of RAM, up to 384 MB.

	commit 5a6b0398026a8a24b206a4b4d43894f9c683792c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 22:59:50 2011 +0000

	    * Don't call GC_expand_hp unless we're actually using the garbage
	      collector.

	commit f1462c208ba5d4efda864875f814c268366f4803
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Feb 9 21:23:13 2011 +0000

	    Use $BDW_GC_LIBS instead of a custom variable.

	commit 1876ab764f5b6e42fce67bdb46a8b03131653900
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 14:13:09 2011 +0000

	    * A better fix.  $boehmgc isn't set anywhere, we should use the flags
	      returned by pkg-config.

	commit dfc4117e901f27276ea1ce81c852bf4d52959961
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 14:08:32 2011 +0000

	    * The GC library can't be found on Solaris
	      (http://hydra.nixos.org/build/890714), so don't build with GC
	      support for now.

	commit d159ea1b7ec007fa5e4d4bef540453c9c09c3984
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 14:03:16 2011 +0000

	    * Urgh, FreeBSD doesn't have a "seq" command.

	commit 3087b3f7513ce713e0b759f63b9a4e9142e46f82
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:48:54 2011 +0000

	    * Obsolete.

	commit eb94581d399b8d0945b883b14c4a892fdab95dfc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:43:44 2011 +0000

	    * Remove obsolete directory.

	commit 7bba67c4013c1eb17c3f2f0a7015dbb57aae8ac8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:42:15 2011 +0000

	    * Remove obsolete file.

	commit d0eda1f3e9b2030e373038fd8997f033f2d7aedd
	Merge: 3854fc9 5439885
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:41:54 2011 +0000

	    * Merged the SQLite branch.

	commit 543988572e2abc85767da315b2acc1f971c5d07f
	Merge: c0340ee 3854fc9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:25:53 2011 +0000

	    * Sync with the trunk.

	commit c0340eec5ac175f7b757d883aca71d1a4382c641
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 8 12:30:28 2011 +0000

	commit 0304fda3cfdbd1e0cbc939b667cbe833eb726be1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 5 16:40:15 2011 +0000

	    * Propagate the CC setting.

	commit aeae0beba49e98655861c5c50e573bd7d9cfb5c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 5 16:29:10 2011 +0000

	    * Clang compatibility fix.  Clang actually checks template definitions
	      when they are defined

	commit 3854fc9b42d16b810f62b64194b699033b03aaf1
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Fri Jan 14 13:55:58 2011 +0000

	    Remove useless <config.h> inclusion from public header.

	commit 9db190eb31d4adc412d50bc03574951f9a1f9dae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 12:47:10 2011 +0000

	    * builtins.substring: if "start" is beyond the end of the string,
	      return the empty string.

	commit d6c8b995c5c08a6c6a6b18f0b2cf5b4b95cfc1b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 22 10:32:32 2010 +0000

	    * In Hydra manifests the Size field is missing, so don't rely on it.
	      This caused a lot of "Use of uninitialized value" warnings from
	      Perl.

	commit c931a7aec5ccb2209d3c4bcf4452c807fe894d94
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 17 17:23:15 2010 +0000

	    * Do a short sleep after SQLITE_BUSY.

	commit b1eb25217217087cb70a730da5311bd0890cf6ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 17 11:28:26 2010 +0000

	    * Propagate the "100" exit status for failed builds through the Nix
	      daemon.

	commit eac93d6efeba68d9da95f01e10cd859eef6d85dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 17 09:28:51 2010 +0000

	    * Use the right `make'.

	commit a0be433fec792216ac5d9af68ec1fea6c21c7c1d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 15 14:25:54 2010 +0000

	    * Disable X11 forwarding, it's not needed.

	commit f1a6b97639474dbb13a1f96b4adf77c987a97d07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 15 08:39:37 2010 +0000

	    * nix-copy-closure: make sure that the shell doesn't do globbing of
	      `+' and `?' in filenames.  This is very slow if /nix/store is very
	      large.  (This is a quick hack - a cleaner solution would be to
	      bypass the shell entirely.)

	commit 3dd02580e324d04ebfe999779978b4aa0f999ccd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 14 13:25:20 2010 +0000

	    * I forgot to catch SQLiteBusy in registerValidPaths().  So
	      registerValidPaths() now handles busy errors and registerValidPath()
	      is simply a wrapper around it.

	commit d787285af997a607bb678f39f340e663fafd3122
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 16:53:23 2010 +0000

	    * nix-instantiate: return exit status 100 to denote a permanent build
	      failure.  The build hook can use this to distinguish between
	      transient and permanent failures on the remote side.

	commit 5833243c92f28759ff0fc1ff9266535a3230e2d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 13:42:34 2010 +0000

	    * Create /nix/var/nix/db if it's missing.

	commit 100becf8d1b95055c73a024f1a2b318690de72f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 13:32:58 2010 +0000

	    * createDirs(path): if path already exists, make sure it's a
	      directory.
	    * Provide a C++ wrapper around lstat().

	commit d7ca6f44eb506ec315db2ba59216de59de2758b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 13:19:46 2010 +0000

	    * Update some comments.

	commit 542fc6906297fcb72cbcb01d688c2f27819e0cf7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 08:39:10 2010 +0000

	    * When doing a query (e.g. `nix-store -r --dry-run'), don't make a lot
	      of expensive calls to `nix-store --check-validity'.

	commit 4d5777681309947041ecc297074f4ce537547553
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 10 11:45:56 2010 +0000

	    * Use SQLite 3.7.4.

	commit e4720b1a79f549b3bcb0e33fe999d02d12e3ed23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 8 18:19:15 2010 +0000

	    * Ignore the result of sqlite3_reset().

	commit 7d0444e2446c71e79e49f46f371c62f6d20488d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 7 12:33:42 2010 +0000

	    * Bad things happen when a filehandle has the same name as a module.

	commit 8062d3af30b27eb4d617c14856d4f3a173f8012e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 6 15:29:38 2010 +0000

	    * `nix-store --verify --check-contents': don't hold the global GC lock
	      while checking the contents, since this operation can take a very
	      long time to finish.  Also, fill in missing narSize fields in the DB
	      while doing this.

	commit de79d23f76c13da820f7167cd980264b2de28bd2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 5 18:23:19 2010 +0000

	    * Retry a transaction if SQLite returns SQLITE_BUSY.  This can happen
	      even with a very long busy timeout, because SQLITE_BUSY is also
	      returned to resolve deadlocks.  This should get rid of random
	      "database is locked" errors.  This is kind of hard to test though.
	    * Fix a horrible bug in deleteFromStore(): deletePathWrapped() should
	      be called after committing the transaction, not before, because the
	      commit might not succeed.

	commit 365f3028ddfb5487f35ebbb9adc42ddf9459113d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 5 17:50:29 2010 +0000

	    * Use CamelCase for the Perl modules.

	commit f42a505ab71ba421797ac511e1221ccbefef8ab9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 5 17:36:02 2010 +0000

	    * Add a script `nix-generate-patches'.
	    * Fix the binary patching test.

	commit 77f7a6d591e32a4a475552f3e67e3e67b7f71a10
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 17:07:04 2010 +0000

	    * Quick hack around one of the pathological cases in bsdiff
	      (namely, when there is a long region of 0s).  On one 86 MiB
	      case, this cut patch generation time from 44m to 2m.

	commit d3bba0c2d8b879950d55d508ef3fc8dec3559f8f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 15:26:28 2010 +0000

	    * Move the patch generator into a module.

	commit 9737a7eba0844e317591f16092879696c4f3feae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 09:26:05 2010 +0000

	    * Don't generate patches if the system type differs.

	commit bd48fd97f646f068ae2725b5b2f048d45866119b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 09:15:45 2010 +0000

	    * Impose a configurable time limit on patch generation.  This is
	      necessary because bsdiff has some pathological worst-case behaviour,
	      e.g. O(n^2) on files consisting only of 0s.

	commit 703e5a2ce2f111c5329a8448ba47a7fbe11ad6cd
	Merge: d92ccbf 812fae4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 25 14:09:13 2010 +0000

	    * Sync with the trunk.

	commit 812fae424ee7139cf9bc0d17815ee68aa3cab517
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 25 13:47:34 2010 +0000

	    * DrvInfo contains pointers to expressions, so DrvInfos should be
	      traced by the garbage collector.  Otherwise "nix-env -u" can crash
	      randomly.

	commit d92ccbf1ac5ab68937a0e411f4daee7e427865bd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 18:01:37 2010 +0000

	    * Test whether sequences of patches work.

	commit 1a211d812f1808a5a9128cbfd74bb59d07487b1c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 17:54:49 2010 +0000

	    * Oops.

	commit a4f0365b2dfc95b60c42a702937fc801dcc8d81b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 17:41:59 2010 +0000

	    * When checking whether a patch is applicable, for efficiency, use
	      `nix-store -q --hash' to get the hash of the base path rather than
	      `nix-hash'.  However, only do this for estimating the size of a
	      download, not for the actual substitution, because sometimes the
	      contents of store paths are modified (which they shouldn't, of
	      course).

	commit 3d38a498404bf842ca479d42d18def1f472a6fb0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 17:32:25 2010 +0000

	    * In the download size indication, take binary patches into account.
	      Hopefully this doesn't slow things down too much.

	commit f69626ed3eb9314bbdf9b0fe5497a0c3a3465d31
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 15:45:09 2010 +0000

	commit a07c68f05edd754e389e0757ed2deefd70aad364
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 15:30:07 2010 +0000

	    * Finally, a test for the binary patch functionality.

	commit bf658f016ff16af79535358c8e609a933b86e6d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 14:39:02 2010 +0000

	    * Test that download sizes are shown correctly.

	commit 1e24cbaba3a7b553569c72afddeb825001ae1dd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 14:35:14 2010 +0000

	    * Fix the test.

	commit bdf089f46362b8c9defefa0a14e3198582e12818
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 14:31:42 2010 +0000

	    * Before a build, show the disk space that the downloaded store paths
	      will approximately require.

	commit 06699d4219019182d9e45ebc613ae1a1df23f257
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 12:57:52 2010 +0000

	    * Store the NAR size in the manifest.

	commit 5693b8a7e246af352c26c258e2af6402601839ed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 12:51:54 2010 +0000

	    * nix-push: no need to compute the NAR hash, since the Nix database
	      already has it (`nix-store -q --hash').

	commit e60c962fb8dd3d8be37c1f4ae08d5247901fa129
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 12:40:52 2010 +0000

	    * Add an operation `nix-store -q --size'.

	commit 1db6259076b1b8f667451da8d2e44a55ece19056
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 12:08:01 2010 +0000

	    * Implement RemoteStore::queryPathInfo().

	commit a3883cbd28057a3dd2573f77dcda9a26faaac555
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 16 17:11:46 2010 +0000

	    * Store the size of a store path in the database (to be precise, the
	      size of the NAR serialisation of the path, i.e., `nix-store --dump
	      PATH').  This is useful for Hydra.

	commit fb9368b5a0b2457b28f19d4902bc0790123338a2
	Merge: 64fd298 4aced7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 16 12:49:47 2010 +0000

	    * Sync with the trunk.

	commit 4aced7f8d0d5d2c1057b0f46a70a37a577f81fa5
	Merge: 8dadced 26def53
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 15:04:39 2010 +0000

	    * Merge the GC branch.

	commit 26def5392f6f6364aa0939a2d4fc7705e786d38d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 14:44:02 2010 +0000

	    * Document Boehm GC support.

	commit 3d71c8013efa5d347b9767af54160b3d0fd9127b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 14:00:47 2010 +0000

	    * Use pkgconfig to locate the Boehm GC (as suggested by Ludo), if
	      --enable-gc is given.

	commit 14fbf85380b23efcc19c8479b65336fc7275d90b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 13:11:50 2010 +0000

	    * Set libgc's initial heap size to 384 MiB to prevent garbage
	      collection in most cases (and therefore its performance overhead).

	commit 0c4828ea05798b9e070e233884739736115a830d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 28 12:50:01 2010 +0000

	    * new(UseGC) is inexplicably slower than GC_MALLOC, so prefer the
	      latter.

	commit e11e6fb1c6709ca3f0e596a7b1fb988df2fbd9b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 28 12:29:40 2010 +0000

	    * Handle out of memory condition.

	commit 8a788e38ac7efc785ffe4fcf49a4e031c7784216
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 10:47:02 2010 +0000

	    * Install config.h.

	commit 11ccd44e95c16b9f7fcf51e75b511b1b6587397b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 24 21:48:59 2010 +0000

	    * We need Bison 2.4 now.

	commit 43535499f38acc04367eeb4dd0d9938e9f8666f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 24 20:09:37 2010 +0000

	    * When allocating an attribute set, reserve enough space for all
	      elements.  This prevents the vector from having to resize itself.

	commit e0b7fb8f2710ec3012afe6b9d2096f770429a389
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 24 19:52:33 2010 +0000

	    * Keep attribute sets in sorted order to speed up attribute lookups.
	    * Simplify the representation of attributes in the AST.
	    * Change the behaviour of listToAttrs() in case of duplicate names.

	commit 2dc6d5094183edee523a48d449eab1a376e839a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 24 14:20:02 2010 +0000

	    * Don't create thunks for variable lookups (if possible).  This
	      significantly reduces the number of values allocated (e.g. from 8.7m
	      to 4.9m for the Bittorrent test).

	commit 0b305c534f989dbc3645ff03e070b0e4665fdeb7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 24 00:41:29 2010 +0000

	    * Store attribute sets as a vector instead of a map (i.e. a red-black
	      tree).  This saves a lot of memory.  The vector should be sorted so
	      that names can be looked up using binary search, but this is not the
	      case yet.  (Surprisingly, looking up attributes using linear search
	      doesn't have a big impact on performance.)

	      Memory consumption for

	        $ nix-instantiate /etc/nixos/nixos/tests -A bittorrent.test --readonly-mode

	      on x86_64-linux with GC enabled is now 185 MiB (compared to 946
	      MiB on the trunk).

	commit a247d20604a97ff6e84b87f66e3338714e7964f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 23 22:58:24 2010 +0000

	    * Fix compiling without Boehm.
	    * Fix the stats.

	commit 02934b12000d5a837ef4cac78025cb531330c2b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 23 22:55:30 2010 +0000

	    * Regression test for listToAttr's behaviour if an attribute name
	      occurs multiple times.

	commit b2ba62170cc8359d2f8bbbd9dbacf331b98151fe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 23 21:11:59 2010 +0000

	    * Optimise string constants by putting them in the symbol table.

	commit 8ac06726b92fff66714ceee8af89068ac876875a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 23 20:07:47 2010 +0000

	    * Make Value smaller by not storing redundant PrimOp info.
	    * Clear pointers in Values after overwriting them to make sure that no
	      objects are kept alive unnecessarily.

	commit 3f66cfb96b6f4bbddc8bf3b15e364fd522e028bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 23 18:18:07 2010 +0000

	    * Remove allocValues().

	commit 4dee289550d11950d6d17482484061a4792b2eef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 22 15:51:52 2010 +0000

	    * In environments, store pointers to values rather than values.  This
	      improves GC effectiveness a bit more (because a live value doesn't
	      keep other values in the environment plus the parent environments
	      alive), and removes the need for copy nodes.

	commit cf7e645a48a31e04428778a8d39924a3da8a30f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 22 15:15:12 2010 +0000

	    * Regression test for __overrides.

	commit 41c45a9b319a5578e2731505ca3de2b9c50b4988
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 22 14:47:42 2010 +0000

	    * Store Value nodes outside of attribute sets.  I.e., Attr now stores
	      a pointer to a Value, rather than the Value directly.  This improves
	      the effectiveness of garbage collection a lot: if the Value is
	      stored inside the set directly, then any live pointer to the Value
	      causes all other attributes in the set to be live as well.

	commit 64c3325b0bef8c0234bf797033e129323b36ad1e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 22 13:39:15 2010 +0000

	    * Make building against the Boehm GC a configure option.

	commit 76feaf016a7e9a9b019148df5ff84a63e48dbda7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 15:48:00 2010 +0000

	    * Keep some more stats.

	commit e879a0371ba7ef99da2d82547823c3f96b445fdb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 11:38:30 2010 +0000

	    * Use the Boehm garbage collector to reclaim unused memory in the Nix
	      expression evaluator.

	commit b0c11cda7ef9eaef46f9868e3f3736aa72fa641c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 09:08:39 2010 +0000

	    * Evaluator garbage collection branch.

	commit 64fd29855a8ae49cacdaff424679821b4fd3bf57
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 14 15:55:51 2010 +0000

	    * Wrap deleteFromStore() in a transaction.  Otherwise there might be a
	      race with other processes that add new referrers to a path,
	      resulting in the garbage collector crashing with "foreign key
	      constraint failed".  (Nix/4)
	    * Make --gc --print-dead etc. interruptible.

	commit 8dadcede65c75488da4cc5e5d8266c4b176cb7e5
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Wed Oct 6 19:04:04 2010 +0000

	    nix manual: fix 'install' -> 'uninstall' in garbage collection section of introduction

	commit 7119d38287659ec665a1a542c23edd1758ad3a1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 22:26:38 2010 +0000

	    * In the referrers test, lower the nesting depth from 2500 to 1000 to
	      prevent hitting a stack overflow bug in the garbage collector.

	commit 705868a8a96a10f70e629433cfffc2d5cd2703eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 17:55:38 2010 +0000

	    * Make sure that config.h is included before the system headers,
	      because it defines _FILE_OFFSET_BITS.  Without this, on
	      OpenSolaris the system headers define it to be 32, and then
	      the 32-bit stat() ends up being called with a 64-bit "struct
	      stat", or vice versa.

	      This also ensures that we get 64-bit file sizes everywhere.

	    * Remove the redundant call to stat() in parseExprFromFile().
	      The file cannot be a symlink because that's the exit condition
	      of the loop before.

	commit 95f4f2cf6102f95abf6948d74907c44c3540eddd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 16:16:19 2010 +0000

	    * If std::tr1::unordered_set is unavailable, use std::set.

	commit 36a23e86b6ab1265bbf883dd71bc844f7c9183f3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 15:50:08 2010 +0000

	    * "type -P" isn't portable.

	commit bfa6ee7d919b84a105f6376116e82240e44b990d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 12:30:46 2010 +0000

	    * Don't use SSH's `-tt' flag because it doesn't seem to work
	      on OpenSolaris when using connection sharing.  Instead have
	      the remote side check for disconnection and kill the process
	      group when that happens.

	commit 71dfe4b90bec29075f01cfbc45f8f521535bf460
	Merge: e490741 450837b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 11:44:47 2010 +0000

	    * Sync with the trunk.

	commit 450837bcc887a47260817611d01c22e35aba92b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 11:23:07 2010 +0000

	    * In printMsg(), ignore failing writes to stderr if we're in an
	      exception handler, otherwise throw an exception.  We need to ignore
	      write errors in exception handlers to ensure that cleanup code runs
	      to completion if the other side of stderr has been closed
	      unexpectedly.

	commit 4aa92450832e87018513a2453e39858fab00833a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 10:51:16 2010 +0000

	    * Hack needed for GCC 4.3.2 on OpenSolaris.

	commit 923736df38c1415150afbe62983daf3fee8726b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 14 12:47:19 2010 +0000

	    * Doh.  Remove debug message.

	commit e4907411c2d902215d1a18456ce8b0c653650461
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 1 11:36:22 2010 +0000

	    * Only do "pragma journal_mode = ..." if the current journal mode
	      differs from the desired mode.  There is an open SQLite ticket
	      `Executing "PRAGMA journal_mode" may delete journal file while it is
	      in use.'

	commit bf0dde959771661c6893001a7e0779b65d7be490
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 31 12:36:24 2010 +0000

	    * Always print hook output on stderr, even if --no-build-output is
	      set.
	    * In the build hook, print a trace message to allow Hydra to pick up
	      the name of the remote machine used for the build.

	commit e2e168f7c27f5239badf6e8705264bd907d6b82c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 31 11:47:31 2010 +0000

	    `nix-store --verify' improvements:
	    * If a path has disappeared, check its referrers first, and don't try
	      to invalidate paths that have valid referrers.  Otherwise we get a
	      foreign key constraint violation.
	    * Read the whole Nix store directory instead of statting each valid
	      path, which is slower.
	    * Acquire the global GC lock.

	commit 80e722278ca03bf303961e2f27487dc98d042803
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 30 14:53:03 2010 +0000

	    * When using the build hook, distinguish between the stderr of the
	      hook script proper, and the stdout/stderr of the builder.  Only the
	      latter should be saved in /nix/var/log/nix/drvs.
	    * Allow the verbosity to be set through an option.
	    * Added a flag --quiet to lower the verbosity level.

	commit 20acd43c25a388f5c31c2ee601f1cac88cf12f7b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 30 14:11:57 2010 +0000

	    * Disable the GC reachability check for now (when creating new roots),
	      as it's hopelessly inefficient.

	commit 766f7084188d8c0dd0595bbbfc50fbc4f9d67a50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 27 13:18:13 2010 +0000

	    * Experimental feature: allow a derivation to tell the build hook that
	      it requires a certain feature on the build machine, e.g.

	        requiredSystemFeatures = [ "kvm" ];

	      We need this in Hydra to make sure that builds that require KVM
	      support are forwarded to machines that have KVM support.  Probably
	      this should also be enforced for local builds.

	commit df50916e46d80e640a36076f1c38c355b89999d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 27 12:10:56 2010 +0000

	    * Oops - "null" was displayed as "true".

	commit e41ecbf7303a181fd37026edb72f2f23dde7e73b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 27 11:09:04 2010 +0000

	commit e437b0825018b1935f9a849382c12b1df0aeae06
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 20:44:28 2010 +0000

	    * Made the build hook mechanism more efficient.  Rather than starting
	      the hook every time we want to ask whether we can run a remote build
	      (which can be very often), we now reuse a hook process for answering
	      those queries until it accepts a build.  So if there are N
	      derivations to be built, at most N hooks will be started.

	commit 1a396f3789feefc20bdcd8a355939eb1ec5126c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 12:19:30 2010 +0000

	    * Don't call "cat".

	commit 95deba581dc3a93874b13406fb5c4dfb6747bbc3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 11:54:11 2010 +0000

	    * In the build hook, temporarily register the derivation and its
	      output as GC roots.  This prevents a race if the garbage collector
	      is running during the build.

	commit 1e5f5ea2e9f522397c05e710ae32ff7c0b0f1611
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 14:27:07 2010 +0000

	    * Correctly handle SSH failing to establish a connection.  Because
	      this didn't work right, the build hook wouldn't fall back to using
	      other machines of the desired type.

	commit 034f608e004c3206ff99c55c107139c38bfe9408
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 14:25:33 2010 +0000

	    * Don't complain if the stored hash of a path is zero (unknown).

	commit f58f51f38007f8bfb1089c3b4c88b6e66da15f39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 11:45:44 2010 +0000

	    * Handle the unlikely case where a derivation has no dependencies at
	      all.

	commit 955d11aae738f7f9c56c51e8ab2eabdf8732aab1
	Merge: 5c5ab2b c67eccc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 09:56:28 2010 +0000

	    * Sync with the trunk.

	commit c67eccc26d42bce9496024ac77eaa7e4ff725d01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 09:21:59 2010 +0000

	    * nix-build: pass --cores.

	commit 2c8e070e5d75e1d1f610c8493b359a194c30e3b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 17 15:39:35 2010 +0000

	    * Bump the version number.

	commit ed133e6e6443646a21d87cf9a8eb0263f7c3f3fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 17 14:08:44 2010 +0000

	    * rpmBuild already includes the disk image in the output name.

	commit 2de17f4edcd7ee66b1094d777cdb62ec4a786a8c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 17 10:06:26 2010 +0000

	    * Update date.

	commit 86f65edf4e519224eaa35ebc6bcf98bffe04b3d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 17 07:22:05 2010 +0000

	    * Document --cores in the manual.

	commit b75e1043a3a4bd72086e4007a53f0a1c3211c9fa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 16 13:23:45 2010 +0000

	    * Typo.

	commit 8ec6594d6d77d73c7f961881f6575a56d81ca77f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 16 13:01:31 2010 +0000

	    * Remove the "tarball" jobset argument.

	commit 12721a3a9a5b6f64b9150833a2e682daf9c03e4d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 16 12:38:32 2010 +0000

	    * Nix 0.16 release notes.

	commit 5fb824e896630741b6ca2c1c27d5f293f7d1f84e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 12 13:36:56 2010 +0000

	    * Urgh, this was supposed to go in the trunk...

	commit 5c5ab2bc12472f63a33cc841dcdc57f1ed8ddea5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 12 13:34:34 2010 +0000

	    * Don't link against pthreads.  This was added way back in r211
	      because Berkeley DB needed it on some platforms, but we don't use
	      BDB anymore.

	      On FreeBSD, if you link against pthreads, then the main thread gets
	      a 2 MB stack which cannot be overriden (it ignores "ulimit -s"):

	        http://www.mail-archive.com/freebsd-hackers@freebsd.org/msg62445.html

	      This is not enough for Nix.  For instance, the garbage collector can
	      fail if there is a pathologically deep chain of references
	      (http://hydra.nixos.org/build/556199).  2 MB is also not enough for
	      many Nix expressions.

	      Arguably the garbage collector shouldn't use recursion, because in
	      NixOS unprivileged users can DOS the garbage collector by creating a
	      sufficiently deeply nested chain of references.  But getting rid of
	      recursion is a bit harder.

	commit 6846ed8b442c20430b816a6b2ec926c841e38e0d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 12 09:21:50 2010 +0000

	    * Make --cores work when building through the Nix daemon.

	commit 5f9aad44caff5b2a2fb22fcf93d6ca129656984d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 11 15:28:02 2010 +0000

	    * nix-build: recognise --cores.

	commit d7875d164884b1a42d9b5ed0d92b55beeeb89a99
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 6 07:51:27 2010 +0000

	    * Use SQLite 3.7.0.1.

	commit 587dc8aa003cc5f676cc7d01b4fea984f5033107
	Merge: fd9c77d 750be19
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 17:48:29 2010 +0000

	    * Sync with the trunk.

	commit fd9c77dfc7b90d447e6bfdb4f0d5b521184aeddb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 17:35:59 2010 +0000

	    * Use SQLite 3.7.0's write-ahead logging (WAL mode).  This is a lot
	      faster than the old mode when fsyncs are enabled, because it only
	      performs an fsync() when doing a checkpoint, rather than at every
	      commit.  Some timings for doing a "nix-instantiate /etc/nixos/nixos
	      -A system" after modifying the stdenv setup script:

	        42.5s - SQLite 3.6.23 with truncate mode and fsync
	         3.4s - SQLite 3.6.23 with truncate mode and no fsync
	        32.1s - SQLite 3.7.0 with truncate mode and fsync
	        16.8s - SQLite 3.7.0 with WAL mode and fsync, auto-checkpoint
	                every 1000 pages
	         8.3s - SQLite 3.7.0 with WAL mode and fsync, auto-checkpoint
	                every 8192 pages
	         1.7s - SQLite 3.7.0 with WAL mode and no fsync

	      The default is now to use WAL mode with fsyncs.  Because WAL doesn't
	      work on remote filesystems such as NFS (as it uses shared memory),
	      truncate mode can be re-enabled by setting the "use-sqlite-wal"
	      option to false.

	commit 750be19ae865da3ee03c132a287148f2402ad72b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 12:23:59 2010 +0000

	    * Remove "auto" and "guess" as synonyms for 0 in the handling of
	      build-cores and --cores.  They're superfluous and just complicate
	      the parsing.

	commit 7f893b7a43fdca728fd1f7a72e51d31d2a6e7147
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 12:13:58 2010 +0000

	    * Allow derivations to hint that they should not be built remotely
	      using the build hook mechanism, by setting the derivation attribute
	      "preferLocalBuild" to true.  This has a few use cases:

	      - The user environment builder.  Since it just creates a bunch of
	        symlinks without much computation, there is no reason to do it
	        remotely.  In fact, doing it remotely requires the entire closure
	        of the user environment to be copied to the remote machine, which
	        is extremely wasteful.

	      - `fetchurl'.  Performing the download on a remote machine and then
	        copying it to the local machine involves twice as much network
	        traffic as performing the download locally, and doesn't save any
	        CPU cycles on the local machine.

	commit 315d8fbd7570532e008b03d50226f53fa9e460db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 09:32:42 2010 +0000

	    * Set the default system filter to "*".  This ensures that (for
	      instance) "nix-env -i wine" works on x86_64-linux, even though Wine
	      is built on i686-linux.  In the event that there are multiple
	      matching derivations, prefer those built for the current system.

	commit 6d6200f37afe10e8da3b08582a926245538af5d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 2 16:31:05 2010 +0000

	    * Optimisation in the // operator: if one of the sets is empty, return
	      the other set.

	commit 7af6a2fd71e95bdc28e0015b1e89a9b81ef32711
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 2 11:54:44 2010 +0000

	    * intersectAttrs: optimise for the case where the second set is larger
	      than the first set.  (That's usually the case with callPackage.)

	commit 532d766c279daf190728b4815b92f04623e7fb7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 21 11:30:23 2010 +0000

	    * Don't barf if the source NAR for a patch has disappeared.

	commit 7e043d28a64b38e18511140a9a42494977ca6015
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jul 15 14:35:20 2010 +0000

	    src/bsdiff-4.3/Makefile.am: include the 'compat-include' directory in distribution tarballs

	commit 60b632b173e633cc5346f8a5491ef637e1f78166
	Author: Peter Simons <simons@cryp.to>
	Date:   Fri Jun 25 14:05:37 2010 +0000

	    tests/build-hook.hook.sh: prefer more portable `...` syntax over $(...) for running sub-shells

	    The /bin/sh interpreter on Solaris doesn't understand $(...) syntax for running
	    sub-shells. Consequently, this test fails on Solaris. To remedy the situation,
	    the script either needs to be run by /bin/bash -- which is non-standard --, or
	    it needs to use the ancient but portable `...` syntax.

	commit a0d29040f79b365598fe75d01f72d29ab538206b
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 22:22:24 2010 +0000

	    Revert "configure.ac: make flex and bison required programs"

	    This reverts commit 22405. Apparently, these programs aren't necessarily
	    required when building from a release archive.

	commit af09fe12ddf356d93855cfe7b84d607e3103103a
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 17:51:31 2010 +0000

	    Fix build of bsdiff-4.3 on machines that don't have <err.h>, such as Solaris.

	commit d63375d52998e91c4d79563727baa29eb0753251
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 17:51:24 2010 +0000

	    configure.ac: Incredibly enough, tr(1) on Solaris doesn't understand A-Z syntax for ranges.

	commit 4c21c016c578ced9d612ea3040ea225e57c477ec
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 17:51:19 2010 +0000

	    configure.ac: make flex and bison required programs

	    The build fails if these tools aren't available.

	commit bcec46057c0a99be3f0094cddfe0b06f27919f74
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 17:51:13 2010 +0000

	    src/libutil/util.cc: include <limit.h> to ensure that PATH_MAX is defined

	commit a17071fef15115dc0e7052ebe091ffe8457f77d0
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 17:51:04 2010 +0000

	    Include <cstring> to ensure that strcpy(), strlen(), and memset() are declared.

	    An "using namespace std" was added locally in those functions that refer to
	    names from <cstring>. That is not pretty, but it's a very portable solution,
	    because strcpy() and friends will be found in both the 'std' and in the global
	    namespace.

	commit 560ab22f7db8238672ed3117ef8bf0de8baf9155
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 23 21:11:33 2010 +0000

	    * Ignore packages that don't have a version.
	    * Work on a manifest instead of a channel directory.

	commit 8b7f8b56f11145c1be5188113cbcdbea27e99525
	Author: Peter Simons <simons@cryp.to>
	Date:   Wed Jun 23 14:34:08 2010 +0000

	    Added support for passing an (impure) NIX_BUILD_CORES variable to build expressions.

	    This patch adds the configuration file variable "build-cores" and the
	    command line argument "--cores". These settings specify the number of
	    CPU cores to utilize for parallel building within a job, i.e. by passing
	    an appropriate "-j" flag to GNU Make. The default value is 1, which
	    means that parallel building is *disabled*. If the number of build cores
	    is specified as 0 (synonymously: "guess" or "auto"), then the actual
	    value is supposed to be auto-detected by builders at run-time, i.e by
	    calling the nproc(1) utility from coreutils.

	    The environment variable $NIX_BUILD_CORES is available to builders, but
	    the contents of that variable does *not* influence the hash that goes
	    into the $out store path, i.e. the number of build cores to be utilized
	    can be changed at will without requiring any re-builds.

	commit 87ef5907e97f455bd4064f4d6e5f3c972402a8b9
	Merge: 3e5e0fa 819548d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 14:42:34 2010 +0000

	    * Sync.

	commit 819548d92f45d8aea671ca9a3e938ff928679063
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 14:41:22 2010 +0000

	    * Pass `--fallback' to the remote build to ignore failing
	      substituters.

	commit 3e5e0faf9cf93c01fb621774c0c3c50ce51bdd91
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 11:08:09 2010 +0000

	    * Okay, putting a lock on the temporary directory used by importPath()
	      doesn't work because the garbage collector doesn't actually look at
	      locks.  So r22253 was stupid.  Use addTempRoot() instead.  Also,
	      locking the temporary directory in exportPath() was silly because it
	      isn't even in the store.

	commit bf87cc44b4484df74388b526c89884fea166ab7f
	Merge: d1f6c0c b571891
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 07:55:38 2010 +0000

	    * Sync with the trunk.

	commit b57189174f6e11c3e9e0f7c65c08a72f689fe194
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 14 08:34:48 2010 +0000

	    * In importPath() and exportPath(), lock the temporary directory to
	      prevent it from being deleted by the garbage collector.

	commit f16fe2af8d59fef156c29077a240a832d3e60ef2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 10 10:29:50 2010 +0000

	    * builtins.toXML: propagate the string context.  This is a regression
	      from the old ATerm-based evaluator.

	commit d1f6c0cbe39b509545f809f08cbd580859f38e34
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 8 13:38:28 2010 +0000

	    * Replacing ValidPath rows doesn't work because it causes a constraint
	      violation of the Refs table.  So don't do that.

	commit 07ca66cf242eef3c7a6396e9353e48037034498b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 4 13:56:11 2010 +0000

	    * Applied a patch from David Brown to prevent `nix-store --optimise'
	      from failing on rename() on BtrFS.

	commit 1ab67cf437704f51f514e2ab7856e3c87f3c88b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 2 09:43:04 2010 +0000

	commit 89865da76d87292e5bc61f324b1ac892d40236e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 1 11:19:32 2010 +0000

	    * Turn build errors during evaluation into EvalErrors.

	commit a443c7573b3d76a6db107e6de974205e605a2738
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 1 10:01:14 2010 +0000

	    * Hack to allow derivations to disable chroot builds by setting the
	      attribute "__noChroot = true" (requested by Rob).

	commit 8bcdd36f10c5adfd312493c822c95c6fa5fbd110
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon May 31 16:36:24 2010 +0000

	    Add XML output to `nix-store'.

	    * src/nix-store/Makefile.am (nix_store_SOURCES): Add `xmlgraph.cc' and
	      `xmlgraph.hh'.

	    * src/nix-store/help.txt (Operations): Document `--xml'.

	    * src/nix-store/nix-store.cc (opQuery): Handle `--xml'.

	    * src/nix-store/xmlgraph.cc, src/nix-store/xmlgraph.hh: New files.

	commit da52f8bea0620cd55e10a8ec90306fa169f2d14f
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon May 31 16:36:20 2010 +0000

	    Comment out dead code in `nix-store'.

	    * src/nix-store/dotgraph.cc (pathLabel): Move within #if 0 section.

	commit 7343e6c8ae6d18f38f42a0714212ca5deb957c39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 30 20:29:56 2010 +0000

	    * Remove an accidentally committed debug statement.

	commit b92a2e5cc2c4f6a14ceea75dfd3bcf5f64743b2f
	Merge: 32539e4 93cd5a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 20 12:36:03 2010 +0000

	    * Sync with the trunk.

	commit 93cd5a4a13742b48bb1db0cafe36dd90b7abc10d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 18 10:36:37 2010 +0000

	    * The << operator on values should be const.

	commit 32539e41d5aac3daef4a02ad47da785cbaa651e2
	Merge: aa45027 b2235d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 16 17:16:00 2010 +0000

	    * Sync with trunk.

	commit b2235d81d1b3733a93fdd1397a62d0f49409dcb0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat May 15 08:10:12 2010 +0000

	    * Restore the __overrides feature that was lost somewhere in the
	      fast-eval branch.

	commit aa45027818af8976dc73e6a299d5d918e5c51df1
	Merge: a0e3b84 8032f26
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 22:13:09 2010 +0000

	    * Sync with the trunk.

	commit 8032f26ca0bd2233de066ce5786ff976bbd641ae
	Merge: 4750065 bd25ac2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 13:59:36 2010 +0000

	    * Merged the `fast-eval' branch.

	commit bd25ac2260267abd2181324e1650820da70e5e60
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 12:15:49 2010 +0000

	    * Print attributes in sorted order.

	commit 81a4b4e49bf82f17eef20d78c4f505874cf5532e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 11:23:44 2010 +0000

	    * Implemented tryEval, the last missing primop in the fast-eval
	      branch.  Also added a test for tryEval.

	commit 1a8eb6e3ec9329ee7b61ac2345c6e1d994905813
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 7 15:26:33 2010 +0000

	commit 83dfa898706e1faa491b3a50ea20baf60abda387
	Merge: 01e58ad 4750065
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 7 14:46:47 2010 +0000

	    * Sync with the trunk.

	commit 01e58adce0767f1a484d80fcbcf67c7945cbc146
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 7 12:43:57 2010 +0000

	    * Store position info for inherited attributes.

	commit 83d7b89660ebb942ad844b9be260492b2ea9fb24
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 7 12:33:14 2010 +0000

	    * Updated addErrorContext.

	commit e2d5e40f4fdd98e5d2ad7b77c00fb97caa3aa259
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 7 12:11:05 2010 +0000

	    * Keep track of the source positions of attributes.

	commit 84ce7ac76feab6e9a5c074bd1b9550ae543d1db8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 6 16:46:48 2010 +0000

	    * Store attribute positions in the AST and report duplicate attribute
	      errors with position info.
	    * For all positions, use the position of the first character of the
	      first token, rather than the last character of the first token plus
	      one.

	commit 4750065ada362bd46e85879975a3148e18df5b0c
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed May 5 20:46:41 2010 +0000

	    buildenv: Special-case Python's `site.py' and `site.pyc'.

	    * corepkgs/buildenv/builder.pl.in (createLinks): Skip `site.py' and
	      `site.pyc' files.

	commit a0e3b84fac56cad6377ecd1462058a6b29bb1ea8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 12:42:58 2010 +0000

	    * Revert r15436.  This was a workaround for a bug in btrfs which seems
	      to have been fixed now.

	commit f92c9a0ac585d30e245c6667cbce4b035659cb11
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 10:45:10 2010 +0000

	    * Allow unprivileged users to do `nix-store --clear-failed-paths' and
	      `nix-store --query-failed-paths'.

	commit 4bab25a28d32f0551ac20b8b9b33e79af5decf0a
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon May 3 13:13:38 2010 +0000

	    buildenv: Special-case Python's `easy-install.pth' files.

	    * corepkgs/buildenv/builder.pl.in (createLinks): Skip `easy-install.pth'
	      files.  Comment the hack.

	commit 7fa338f4bac16f83b65b95fb0397b534d5ba5d5b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 2 21:27:50 2010 +0000

	    * Don't use smart quotes where normal ASCII quotes are intended.
	      Actually, don't use quotes at all.  (Reported by Howard B. Golden.)

	commit c82782f9a5190c7489fb8e9bd6876b247b0de0bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 27 09:05:11 2010 +0000

	commit c778ed17687a506c46c107a7adb1f3173d8136da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 13:39:55 2010 +0000

	    * Fix the copy-from-other-stores substituter.

	commit ef337f7089e484929be92114dac5455d00cebb45
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 12:58:12 2010 +0000

	commit 6199f9b93ee234139906792c8c1b4908a35df146
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 12:56:42 2010 +0000

	    * Added a command `nix-store --clear-failed-paths <PATHS>' to clear
	      the "failed" status of the given store paths.  The special value `*'
	      clears all failed paths.

	commit 2398af13c53217b5de5821bac0f0c44e9081c23d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 12:43:42 2010 +0000

	    * Add an command `nix-store --query-failed-paths' to list the cached
	      failed paths (when using the `build-cache-failure' option).

	commit d77331d32f33cc17398d3e1422d0114309ef62de
	Author: Lluís Batlle i Rossell <viric@vicerveza.homeunix.net>
	Date:   Sun Apr 25 20:52:49 2010 +0000

	    Fixing a typo in the nix-store manual, that could confuse a bit too much (--delete/--gc)

	commit 2be6118f4c7e909f36d5563ad0ea70780f30cc10
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 23 09:09:32 2010 +0000

	    * Don't need the test program anymore.

	commit 0bc468f195e37a8a5f4f8b36ae6c92459e8ca652
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 15:08:09 2010 +0000

	    * Simplify the implementation of `with'.  This gives a 7% speedup in
	      evaluating the NixOS system configuration.

	commit ee0384fb966b7a9bd202fa6fb447788be30c4ce4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 11:34:15 2010 +0000

	commit ebade9ff8b8557bdae7cdaf9f70c12ceeb3dc02c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 11:02:24 2010 +0000

	    * Check for duplicate attribute names / function arguments.  `make
	      check' now succeeds :-)
	    * An attribute set such as `{ foo = { enable = true; };
	      foo.port = 23; }' now parses.  It was previously rejected, but I'm
	      too lazy to implement the check.  (The only reason to reject it is
	      that the reverse, `{ foo.port = 23; foo = { enable = true; }; }', is
	      rejected, which is kind of ugly.)

	commit 2d7636529f782b552b634497fd8ac876aae72fcc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 09:54:11 2010 +0000

	    * String equality tests should take the context into account.  All the
	      evaluation test cases now succeed.

	commit 6bbfe95e3012effa0df79066ae129ce9828a8ff2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 19:25:50 2010 +0000

	    * Don't use an ostringstream in unparseDerivation(), because it's
	      slow.  A `nix-env -qa --drv-path \*' on Nixpkgs was spending 40% of
	      its time in unparseDerivation() because of this (now 11%).

	commit 7148df797174ff742fdd8cee3c2d92e6340ee930
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 16:22:03 2010 +0000

	    * Update the expected test output (no longer an ATerm).

	commit 6f0f16497a8ce671c2aa9ff3cd9a27eb1f931cf2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 16:18:27 2010 +0000

	    * Fix the interpretation of ''\<character> in indented strings.

	commit cae4efdca3a207b97244aef96161ad2974ec4e50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 16:02:12 2010 +0000

	    * Because --parse-only no longer produces an ATerm, don't check the
	      output.  Whether it parses at all should be enough.

	commit 0777448ca68175b6daf3d8f5374cf43523828c47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 15:57:11 2010 +0000

	    * Fixed builtins.genericClosure.

	commit fe2d869e04372de69719c3989a75247ff44b8fd4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 15:08:58 2010 +0000

	    * Store user environment manifests as a Nix expression in
	      $out/manifest.nix rather than as an ATerm.

	      (Hm, I thought I committed this two days ago...)

	commit d66ea83a763a36e7e7b9558b90abcfe09bec1b85
	Merge: f71ea9c aac5fcf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 20 09:20:29 2010 +0000

	    * Sync with the trunk.

	commit f3b8833a48472c3545ea8673d687ea9cadcedd61
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 19 14:51:58 2010 +0000

	    * Drop the dependency on the ATerm library.

	commit efc7a579e880ec15ebe9afc0d8766c85c7d53ec2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 19 13:46:58 2010 +0000

	    * Don't use the ATerm library for parsing/printing .drv files.

	commit 55b5ddd3ca1ff4dfe4cfbfab92a4025d88ef6443
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 19 12:10:04 2010 +0000

	    * Added parsing of manifests in ATerm format.

	commit b7ff69eb7c3f97c33ec18c51ab87b7f3dd967052
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 19 10:47:56 2010 +0000

	    * Refactoring: move the user environment stuff into its own module.

	commit 5c31995bb8adb9189152ebd4f3c41ca9e8049749
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 16 15:13:47 2010 +0000

	    * Updated some more primops.

	commit 8bb0210fea89f2df70b3c10c431b1383e74093df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 16 14:07:52 2010 +0000

	    * _combineChannels shouldn't be an integer.

	commit 8ca4a001cb9e8ca2556c26a1b559b0322a8fb46a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 16 14:03:26 2010 +0000

	    * Improve sharing a bit.

	commit 497e4ad12650e27ecbaf0e056fe0c54bc12a138b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 16 13:51:01 2010 +0000

	    * Remove some redundant tests.

	commit 02c1dac90934e1b833c4d6bd9280bda27c146d80
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 16 13:44:02 2010 +0000

	    * In an nested `with' where the inner with is a variable (`with ...;
	      with someVar; ...'), the contents of the variable would be
	      clobbered.  (The attributes in the outer `with' were added to the
	      variable.)

	commit 04c4bd3624b094043ff0f2410c1e376a51f457f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 15 00:37:36 2010 +0000

	    * Store lists as lists of pointers to values rather than as lists of
	      values.  This improves sharing and gives another speed up.
	      Evaluation of the NixOS system attribute is now almost 7 times
	      faster than the old evaluator.

	commit e41b5828db0c154e4a3f0ed6299a987fde5bc03f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 23:48:46 2010 +0000

	    * Better stats.

	commit d39d3c6264707c466b21dfadd4d48653842a9156
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 23:25:05 2010 +0000

	    * Implemented inherit.

	commit 267dc693d2ca8dea13199f92c265fc35fdb047f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 22:59:39 2010 +0000

	    * Fix builtins.

	commit 81de12bc8fa09a89dae958a3ffc93e7a4c245db1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 15:14:23 2010 +0000

	    * Refactoring: move variable uses to a separate class.

	commit 110d1557782fac4f8cafa27e5cbbcdebefb7a4c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 15:01:04 2010 +0000

	    * Implemented withs.

	commit 9985230c00226826949473c3862c0c3afea74aaf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 14:42:32 2010 +0000

	    * After parsing, compute level/displacement pairs for each variable
	      use site, allowing environments to be stores as vectors of values
	      rather than maps.  This should speed up evaluation and reduce the
	      number of allocations.

	commit 816dd3f0612111718c338842283c1ee6577b9f0a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 12:49:05 2010 +0000

	    * Remove more obsolete code.

	commit 011b5da0f46e9796fc68bc5daf5fe4dd4b57f933
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 09:39:06 2010 +0000

	    * Get nix-env to compile again.

	commit 85d13c8f93c8b251f5883d9b38051b33bab1ad3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 08:37:08 2010 +0000

	    * Change the semantics of "with" so that inner "withs" take
	      precedence, i.e. `with {x=1;}; with {x=2;}; x' evaluates to 2'.
	      This has a simpler implementation and seems more natural.  There
	      doesn't seem to be any code in Nixpkgs or NixOS that relies on the
	      old behaviour.

	commit 816f9c0f6fae0229961bb573dfa0f75ff42c14eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 13 14:34:11 2010 +0000

	    * Use std::tr1::unordered_set instead of std::set for the symbol
	      table.  This gives a 10% speed increase on `nix-instantiate
	      /etc/nixos/nixos -A system --readonly-mode'.

	commit 7d47498b5ea1ad4685bad954e5407f628f7f5595
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 13 13:42:25 2010 +0000

	    * Evaluate lets directly (i.e. without desugaring to `rec { attrs...;
	      <let-body> = e; }.<let-body>).  This prevents the unnecessary
	      allocation of an attribute set.

	commit ac1e8f40d4a5c380d68bb6f1c7cef6f1e7987c1a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 13 12:25:42 2010 +0000

	    * Use a symbol table to represent identifiers and attribute names
	      efficiently.  The symbol table ensures that there is only one copy
	      of each symbol, thus allowing symbols to be compared efficiently
	      using a pointer equality test.

	commit 10e8b1fd15d59dc541c15f6da56f8baf58eb3aa3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 23:33:23 2010 +0000

	    * Finished the ATerm-less parser.

	commit 0d272fca799f7e6da955875b2935c19542cd6b4d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 23:31:47 2010 +0000

	    * Remove some obsolete functions.

	commit d4f0b0fc6cdb9ae2fd5fc057d621bc80b36a7b18
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 22:03:27 2010 +0000

	    * Indented strings.

	commit a60317f20fbc8be8e339060d932946f6d99ece6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 21:21:24 2010 +0000

	    * More missing constructs.

	commit 4d6ad5be1738c64b1de4274cafbd4b8f23ca287c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 18:30:11 2010 +0000

	    * Don't use ATerms for the abstract syntax trees anymore.  Not
	      finished yet.

	commit ed711f73bce8786b1a37bd718eb97276d0916484
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 10:38:18 2010 +0000

	    * Don't use ATerms to represent integers in the lexer.

	commit db90b88e655a0d8e501beddee966a124b2f097d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 09:50:20 2010 +0000

	    * Hack to support builderDefs expressions.

	commit 4e490025767093e287a8b7b01de52fee7ae36830
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 09:45:00 2010 +0000

	    * Doh.

	commit c3f228f296321991ef54e46fc621a292824b13e1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 09:14:27 2010 +0000

	commit aac5fcfbb54ff64c593d8919f7f52025415ea996
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Fri Apr 9 21:30:55 2010 +0000

	    Re-add `drvPath' and `outPath' attributes to <derivation> XML nodes.

	    This fixes a regression introduced in r20882 ("Add source location
	    information to the XML output.").

	    * src/libexpr/expr-to-xml.cc (nix::printTermAsXML): Dereference the
	      attribute RHS from "drvPath" and "outPath".

	commit f3dc7ab877c736ec1500f6b503ab71a62ce90305
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 9 12:00:49 2010 +0000

	    * Keep more statistics about stack space usage.
	    * Reduce stack space usage.

	commit b7b3dd55f9e30e2eccb54aca22830852c5c2b514
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 8 11:41:19 2010 +0000

	    * Remove a lot of dead code.

	commit 7e048eddf55637b9e81d704f6b9f1fdeca98a5ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 8 11:25:14 2010 +0000

	    * Fix blackholing.  If evaluation fails due to an assertion failure,
	      then the blackhole has to be removed to ensure that repeated
	      evaluation of the same value gives an assertion failure again rather
	      than an "infinite recursion" error.

	commit af2a372bb000d4d5aeec37e43ee0f6245c1bba54
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 7 15:47:06 2010 +0000

	    * Update autoCallFunction() and findAlongAttrPath().

	commit 9a64454faae2ab4ccedeeaad85a0e094726b4765
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 7 13:59:45 2010 +0000

	    * expr-to-xml -> value-to-xml.

	commit fc92244ba81d884e099d467a3b82fbdcbff7fc40
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 7 13:55:46 2010 +0000

	    * Implemented the primops necessary for generating the NixOS manual.

	commit a353aef0b157e7c628fd18640bd6c45215f3e606
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 6 14:15:29 2010 +0000

	    * In eval(), don't use the target value `v' as a temporary.
	      Overwriting `v' breaks when the expression evaluation to an
	      assertion failure or throw.

	commit a5ece7d016e72a61ca69a401e833314f538518f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 1 16:59:07 2010 +0000

	    * Removed the `~' operator.

	commit c172274e170a87a30420842ee07ed1f7226d7f2e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 1 14:35:03 2010 +0000

	    * Quick hack to make coerceToString work more or less correctly on
	      nested lists.  `nix-instantiate' can now evaluate the NixOS system
	      derivation attribute correctly (in 2.1s on my laptop vs. 6.2s for
	      the trunk).

	commit 7b851915bfbad1c561191a037a2924d2b3d2d398
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 1 12:04:57 2010 +0000

	    * Improve sharing.

	commit 95cc417d76f7d374ef63e0b49a2f83e7b9202b0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 1 10:55:36 2010 +0000

	    * Functions are incomparable.

	commit 71f026292ba1b401237a16ab6e0fb57c36c93df5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 1 09:55:57 2010 +0000

	    * Make `derivation' lazy again for performance.  It also turns out
	      that there are some places in Nixpkgs (php_configurable /
	      composableDerivation, it seems) that call `derivation' with
	      incorrect arguments (namely, the `name' attribute missing) but get
	      away with it because of laziness.

	commit dc31305b381f69de5ac5fd4776df1a802045ff00
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 20:09:20 2010 +0000

	    * Fixed the trace primop and path comparison.
	    * Removed exprToString and stringToExpr because there is no ATerm
	      representation to work on anymore (and exposing the internals of the
	      evaluator like this is not a good idea anyway).

	commit 979f163615745db74f3a94a71818e66c75baf9ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 19:52:29 2010 +0000

	    * Handle string contexts.  `nix-instantiate' can now correctly compute
	      the `firefoxWrapper' attribute in Nixpkgs, and it's about 3 times
	      faster than the trunk :-)

	commit d8cd3115d8e1acc9e866c67265668d5268f2c1ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 19:12:08 2010 +0000

	    * Get nix-env to compile.

	commit 55e207b2dc43e426bd0dfbc2065b8853a1fc59b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 16:14:32 2010 +0000

	    * Cache parse trees to prevent repeated parsing of imported Nix
	      expressions.

	commit 3d94be61ea562dea2098b6570f711386179913ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 15:38:03 2010 +0000

	    * Implemented derivations.

	commit 51876789131e81dca9807c00773158160c3824c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 15:14:23 2010 +0000

	commit f061086a93400c34f19eb54f0b34637af9f0d9cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 13:35:29 2010 +0000

	    * Fix the broken test for listToAttrs.

	commit 09381cccffe675ccbc8d183f043788f99dc018cd
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Mar 31 12:38:31 2010 +0000

	    Make source location info in the XML output optional.

	    * src/libexpr/expr-to-xml.cc (nix::showAttrs): Add `location'
	      parameter.  Provide location XML attributes when it's true.  Update
	      callers.
	      (nix::printTermAsXML): Likewise.

	    * src/libexpr/expr-to-xml.hh (nix::printTermAsXML): Update prototype;
	      have `location' default to `false'.

	    * src/nix-instantiate/nix-instantiate.cc (printResult, processExpr): Add
	      `location' parameter; update callers.
	      (run): Add support for `--no-location'.

	    * src/nix-instantiate/help.txt: Update accordingly.

	    * tests/lang.sh: Invoke `nix-instantiate' with `--no-location' for the
	      XML tests.

	    * tests/lang/eval-okay-toxml.exp, tests/lang/eval-okay-to-xml.nix: New
	      files.

	commit 13c2adc897b7f18e9a7784efbd46fabd995d2798
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 11:05:39 2010 +0000

	    * Implemented `rec { inherit ...; }'.

	commit 4c53ca2692f0a1325ec2d085ac3a6ee313b3cdb2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 09:54:12 2010 +0000

	    * Compare nulls.

	commit 471419d1fac21412dea9a47eff200d44cd75d825
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Mar 31 08:29:05 2010 +0000

	    Add source location information to the XML output.

	    * src/libexpr/expr-to-xml.cc (nix::showAttrs): Dereference the attribute
	      RHS.  Add "path", "line", and "column" XML attributes to the node when
	      source location information is available.
	      (nix::printTermAsXML): Likewise for functions.

	commit eb07a4f1ee532833407b40a9992bfe65c8a4d1d2
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Mar 31 08:29:01 2010 +0000

	    Escape `>' signs in the XML output.

	    * src/libutil/xml-writer.cc (nix::XMLWriter::writeAttrs): Escape `>'.

	commit 7f19e03c65693ae6a5eefc7e681b3003676d38eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 22:39:48 2010 +0000

	    * More primops.

	commit 47df476daa568af9f645b6a039c028e602a7e44b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 18:05:54 2010 +0000

	    * More operators / primops.

	commit c9170be2bd2e735b37db7e7b4ccaca86835cb5c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 15:18:20 2010 +0000

	    * More primops.

	commit c3aa615a5f4a8bdde5d836ce91d5daa743ded065
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 14:39:27 2010 +0000

	    * More primops.

	commit 5b72d8a749e6718986f6e2bfef2ae725981a26ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 13:47:59 2010 +0000

	    * Implemented `map'.

	commit d78a05ab4014d75fd1e394961376f02cff20ed88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 09:22:33 2010 +0000

	    * Make `import' work.

	commit 31428c3a0675f7223470af726bc697dc7a228927
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 29 14:37:56 2010 +0000

	    * Started integrating the new evaluator.

	commit 52090d24185f5092bfd5f8f1fdf0d0890e19a09d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 29 10:13:51 2010 +0000

	commit e3f32ac5af69641d12ad07a52f3ab495f61938f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 29 09:43:55 2010 +0000

	commit 807a67bc7430f13e23f28d70780da0e9090e5cf2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 29 09:43:39 2010 +0000

	commit 392811eb8fb8125a6ae9661d5a0fb2a8ced31a94
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 18:27:07 2010 +0000

	    * Strings.

	commit d96cdcea6b910b9ca169bea0b0b71e65532e70cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 16:57:16 2010 +0000

	commit 3d2b835f30bf97f2e9ac8a76c4e19be384803219
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 16:37:39 2010 +0000

	    * Implemented multi-argument primops.

	commit 45d822f29c84644d1b795bd36999e97f30cfb8ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 26 15:45:53 2010 +0000

	    * Primops (not yet finished).

	commit cad8726b2c7fcefae6b629320283b0f1ee4072a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 26 13:27:26 2010 +0000

	    * Implemented the `==' and `!=' operators.  These now use a deep
	      equality test, so they also work for (finite) attribute sets and
	      lists.

	commit 8da118e4d03a9ecbd2116eadabd992cfef0479c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 16:35:24 2010 +0000

	    * Measure stack usage.

	commit c2ba4313fb7f2e257f6205eb3fa366376c3010b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 15:38:37 2010 +0000

	    * Implemented lists.

	commit 25eedf085d9b3a1ad7d0e6969b050a2f73234ae3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 14:51:04 2010 +0000

	    * Quick and dirty implementation of `with'.  `with e1; e2' is
	      basically desugared to `let <with> = e1; e2', and `lookupVar' looks
	      in each <with> in the environment chain for an attribute with the
	      specified name.

	commit 3c9f8fc9b609b13986a1d59d08a7a79ad42d0bd5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 13:10:04 2010 +0000

	    * Don't convert variable names to strings.

	commit f450384ded92cb68cf4b60b5bd9be64556aff339
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 12:51:14 2010 +0000

	    * Implement blackholing.

	commit ef8bd919fc8e895df402502ffb1727bad0db07b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 12:45:23 2010 +0000

	    * Implement `...' and default function arguments.

	commit 8a10360c912bc344ea9ce7f8871a47a6e036552f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 12:19:41 2010 +0000

	    * Simplify @-patterns: only `{attrs}@name' or `name@{attrs}' are now
	      allowed.  So `name1@name2', `{attrs1}@{attrs2}' and so on are now no
	      longer legal.  This is no big loss because they were not useful
	      anyway.

	      This also changes the output of builtins.toXML for @-patterns
	      slightly.

	commit 7482349fe8ba9f285f6c7e53d8573fc367ecff8b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 24 23:40:00 2010 +0000

	    * Implemented attribute set pattern matches.

	commit 0fd3648d34b3ce52d4b55c7d7aedcc81ae32754d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 24 12:41:08 2010 +0000

	    * Store values in environments.

	commit b70bd8fe566a40f3b7c1b4dd96a7d5032d6da9c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 24 12:11:38 2010 +0000

	    * Reduce the number of value allocations in eval() by moving
	      responsibility for allocation of the result to the caller.

	commit d31c59eb17d181082c955391f4e83a2cff1850a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 24 11:06:05 2010 +0000

	    * Plain lambdas.

	commit e8f7978274708a8e0c29903910f4942da955c926
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 19:19:52 2010 +0000

	commit 0910ae95680011915211769577a4219384b695af
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 17:30:50 2010 +0000

	    * Start of an evaluator that uses call-by-need (with thunk updating)
	      instead of (memoised) call-by-name.

	commit 90039e0863469da7892830b122ccab017b29e2c8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 15:09:29 2010 +0000

	    * Branch for experimenting with faster / less memory-hungry
	      Nix expression evaluation.

	commit 71be50cc25544f742db2275b4621b92c4e938400
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 14:51:32 2010 +0000

	    * Doh.

	commit 3bfd3a4e9511e16d8a826cb271fc95acc2fb9845
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 14:26:27 2010 +0000

	    * Test "with as; with bs;" since nobody knows what its semantics is.

	commit f71ea9c911294ec72f52137175ad088a2f50ab97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 10:38:59 2010 +0000

	    * Use SQLite 3.6.23.

	commit 141294ff38fb3623ae24c2d47cf0c3180cc363d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 19 11:36:34 2010 +0000

	    * Clean up error messages in killUser().

	commit 74299c1cfb770fee1860e62701cd093faffa0119
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 17 12:12:45 2010 +0000

	    * Bump version number.

	commit c4cfb392d381dd68122d0fcbba71e192d0d11690
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 17 10:08:34 2010 +0000

	commit 8e3d98eb41ab0516814fa34cba6198d2472bdd3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 16 13:12:18 2010 +0000

	    * Release notes for Nix 0.15.

	commit f0c473c5f70b8d6dc072da3d6d53a898766546a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 16 13:01:52 2010 +0000

	    * Fix building on Cygwin (http://hydra.nixos.org/build/325071).

	commit fe1b8781ae310bfa6baea80ed475b6c3ae00d991
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 16 12:58:20 2010 +0000

	    * Fix a broken link (reported by Peter Koppstein).

	commit 741b7577c14911fed71b6d52d8d90e88ef2e05ef
	Author: Nicolas Pierron <nicolas.b.pierron@gmail.com>
	Date:   Sun Mar 14 11:58:07 2010 +0000

	    Merge r20344 & r20346.

	commit 2fb0df83e960d6b39dd43b47cc6168cad3732746
	Author: Lluís Batlle i Rossell <viric@vicerveza.homeunix.net>
	Date:   Thu Mar 11 21:22:52 2010 +0000

	    Uh. somehow a Makefile tab got in as spaces. Fixing.

	commit 13cce8ec45fd59bd8a1f1101a92576796cba97d2
	Author: Lluís Batlle i Rossell <viric@vicerveza.homeunix.net>
	Date:   Thu Mar 11 20:56:25 2010 +0000

	    Making 'bin2c' to be built with the compiler for the local system.
	    I copied the configure.ac code about CC_FOR_BUILD from libX11.

	commit e020d80e4e7b9c8850fbee378e7bd2118a351a50
	Merge: 070057c 05e1504
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 11 15:45:05 2010 +0000

	    * Sync with the trunk.

	commit 05e15049a5f42ca7222c7557d7257352fe711d2e
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Mar 11 14:47:04 2010 +0000

	    Show the build user's group in /etc/group in chroots.

	    * src/libstore/build.cc (nix::DerivationGoal::startBuilder): Create
	      /etc/group showing the build user's group.

	commit 070057c1b9335ef2c5ff0fe12adb76e214f945ba
	Merge: 03afc34 c752c9f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 11 10:52:52 2010 +0000

	    * Sync with the trunk.

	commit c752c9f41aa88ff2129cdc0863fe74f76328835c
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Mar 11 10:33:04 2010 +0000

	    Fix thinko in r20547.

	    * src/libstore/build.cc (nix::DerivationGoal::startBuilder): Fix the GID
	      of the build user in /etc/passwd.

	commit 2e8eaca573ccda707ff42c136a6f38a34f2975b4
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Mar 11 10:21:23 2010 +0000

	    Clear supplementary groups of `nixbld' in /etc/passwd in chroots.

	    * src/libstore/build.cc (nix::DerivationGoal::startBuilder): Don't
	      display any supplementary groups for `nixbld' in /etc/passwd.

	commit 03afc34805c0dbd5f354b823cb8391fed99c6539
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 10 13:07:37 2010 +0000

	    * Simplify.

	commit 1a65142ec40c92b2df9973a1fc8d948e146e05d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 10 12:46:25 2010 +0000

	    * Remove a debug statement.

	commit 4c356acd044dffbf459ac895b483b49959042931
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 9 14:32:03 2010 +0000

	    * In `nix-store --export', abort if the contents of a path has
	      changed.  This prevents corrupt paths from spreading to other
	      machines.  Note that checking the hash is cheap because we're
	      hashing anyway (because of the --sign feature).

	commit 44f6e6de77dd318800775d594b1f33cffa2be9a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 8 21:31:42 2010 +0000

	    * Set `gc-keep-outputs' or `gc-keep-derivations' to false with
	      `--delete --ignore-liveness'.

	commit 2e4ef03aa3247782339f3d5af8547b448d38b8d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 8 10:35:45 2010 +0000

	    * Increase the sqlite timeout.

	commit 05fbf61f0e4f2670d23929235e2da5342599d447
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 5 18:26:47 2010 +0000

	    * nix-prefetch-url depends on sed (see
	      http://hydra.nixos.org/build/311170).

	commit 04791840f4dd4d6bcc96aea133e9fda7c03897de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 5 12:54:58 2010 +0000

	    * Emit warning='1' or error='1' attributes for lines marked as
	      warnings or errors with \e[w or \e[e.

	commit bc6f7fc139b5a72306a54c89db74bf126cca9ca7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 4 13:03:26 2010 +0000

	    * Remove some unused functions.

	commit fb6e223ddce9b7ff157c5b89569a54562e9eabd1
	Merge: 5ff87c9 84a4dd5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 4 12:15:00 2010 +0000

	    * Synced with the trunk.

	commit 5ff87c982e913d14adeba1c4ee833738a6b58293
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 3 16:17:09 2010 +0000

	commit e14e2399ed5b1ffc30f08d1f30f19d2ceb24dabb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 20:23:42 2010 +0000

	    * Prevent a potential memory corruption problem if an ATerm garbage
	      collection happens during fixAttrs().

	commit 158aa8931776c61e19cec62e7cea7c45961fdcc7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 20:22:46 2010 +0000

	    * Ensure that `make install' works without a prior `make'.

	commit 56af8e86e3e00d8417838f582221e60e1d5f5fdb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 20:09:12 2010 +0000

	    * Protect the `true', `false' and `__overrides' constants.  Without
	      an ATprotect call, these could be garbage collected, leading to
	      weird crashes or wrong results.

	commit 3f9e647ae8c4928a8fc4de0d704119245f58ff45
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 19:04:17 2010 +0000

	    * checkInterrupt() shouldn't be called from a destructor.

	commit d8c5745c41de1a1217cfeac2d4af85146cb87e0f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 17:12:47 2010 +0000

	    * Support static builds.

	commit e07d7284a221a11ceda340dea80ed392e0a8a381
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 16:55:07 2010 +0000

	    * Fix DESTDIR builds.

	commit 5414b3b2dbb539a5d1f3cd48c59178ff1bb3aa08
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 16:40:40 2010 +0000

	    * Remove the --enable-static-nix flag.

	commit 594eaddd1157db8abe2e1c47cdf2180f027559ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 15:58:13 2010 +0000

	    * When using the included sqlite/aterm libraries, build with
	      --enable-shared.
	    * In libutil/libstore/libexpr etc., link against sqlite and aterm.
	    * Some more header file hygiene.

	commit 966ffb29a7a7de00f3521da05f325ae8c7e8e35e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 26 13:10:57 2010 +0000

	    * Update the Valgrind suppressions for ATerm 2.5.

	commit 24035b98b155dd2d35414bdf015b3d7ab9a57af7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 26 12:05:01 2010 +0000

	    * Implement RemoteStore::queryValidPaths().

	commit e42401ee7b0c0b166677595d4fd1255176ba33c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 25 15:52:22 2010 +0000

	    * Implement RemoteStore::queryDerivationOutputs().

	commit af565c348a286fb55ad17f8c3c4233465d32a9f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 16:44:43 2010 +0000

	    * Support read-only access to the database.

	commit e33f67ff0b02cc8fc2e0024dd87a6d61467df177
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 16:30:20 2010 +0000

	    * Refactor the upgrade / database initialisation logic a bit.

	commit 84a4dd5ff08ceb7894d8dce662265d7d188e615c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 15:46:06 2010 +0000

	    * Don't use fdatasync since it doesn't work on Snow Leopard.
	    * Don't refer to config.h in util.hh, because config.h is not
	      installed (http://hydra.nixos.org/build/303053).

	commit cfe742cfc50e40b590e75200179013dd62b07bde
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 15:07:23 2010 +0000

	    * A function to query just the database id of a valid path.

	commit 6baa2a2f5ef5b11859b95f453338efaf7c5b2724
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 14:39:52 2010 +0000

	commit 9fd85c94de90ec91ccf8a4bf04e8911e6e3e483b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 14:22:34 2010 +0000

	    * Use `truncate' journal mode, which should be a bit faster.

	commit fefd467539683e45e3682a54cefc67ead33eb346
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 13:24:27 2010 +0000

	    * `helpText' is now zero-terminated.

	commit 21b134b4e5d150690bc56ede1da3790705d637aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 13:13:39 2010 +0000

	commit a3c63d0d6c2570ce3218be809f67dddc5239cdff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 13:12:57 2010 +0000

	    * Disable fsync() in SQLite if the fsync-metadata option is set to
	      false.
	    * Change the default for `fsync-metadata' to true.
	    * Disable `fsync-metadata' in `make check'.

	commit 90b6352d0a5d08dc7feabcfde92653dd1f6e324b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 12:48:00 2010 +0000

	    * Do registerValidPaths() in one transaction, which is much faster.
	      E.g. it cuts the runtime of the referrers test from 50s to 23s.

	commit fae0427324269e420d8ea5774f2fab2330acda9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 12:25:48 2010 +0000

	    * ADDITIONAL_NETWORK_LIBS -> LIBS.

	commit fa6a4fcb11fa6db1c35cd1199ce8d1dc794e6cd4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 12:18:48 2010 +0000

	    * Add ${sqlite_lib} everywhere.  Just adding it in `libstore' doesn't
	      work on x86_64 when sqlite is compiled statically.

	commit 5954eadf6741e0b4cdab23c414d7a6b470cd06db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 12:16:50 2010 +0000

	    * Remove the fdatasync check since it's no longer needed.

	commit bb82310dba8a70b539122db20712fbd8fd9e840e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 11:06:17 2010 +0000

	    * Set the path to sqlite3 properly.

	commit 69d9df7fe6a0c4043e6f913137b5322bc5c48073
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 11:04:03 2010 +0000

	    * Don't fork so much.

	commit 462bd50aefca3d70e76ccf17f42c2aef4714c95b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 10:57:57 2010 +0000

	    * Use normal (rather than full) synchronous mode, which I gather from
	      the description at http://www.sqlite.org/atomiccommit.html should be
	      safe enough.

	commit 8520de4720a798701a41b6ab3e6cf8d6cc71caa3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 10:48:57 2010 +0000

	    * Include the sqlite tarball in the Nix tarball.

	commit dc6d1ec67ea7af4e509c171852620befb9184441
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 23:24:49 2010 +0000

	commit 63b09c5e414f9592f52d4f3a19185df6f8c00e42
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 22:31:38 2010 +0000

	commit 0efc986ba1c0de97fd0bdb97db2ca6b7a77ee7d4
	Merge: b4e6d98 7db2831
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 22:14:33 2010 +0000

	    * Sync with the trunk.

	commit b4e6d98fc33df055c8230903bb7d9633042a6374
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 22:12:46 2010 +0000

	    * configure: flag --with-sqlite.

	commit 7db2831d3a76bc239bb7a9f7573152ce12413c29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 16:17:21 2010 +0000

	    * Use ATerm 2.5.

	commit 5ccb6f64f44671a01d457bcd3afd863055347363
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 12:26:35 2010 +0000

	    * Run ATerm's `make check'.

	commit 2b20318b0e968432438a7528b2d11d05585877c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 22 14:24:37 2010 +0000

	commit 9cda61694957f2f0428779319f85f626578d0cf0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 22 14:18:55 2010 +0000

	    * The database needs a trigger to get rid of self-references to
	      prevent a foreign key constraint violation on the Refs table when
	      deleting a path.

	commit c4d388add4942f6f99a8df12f4e49149005047e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 22 12:44:36 2010 +0000

	    * Get derivation outputs from the database instead of the .drv file,
	      which requires more I/O.

	commit 103cfee056cbc8f002929fd5958e305c1a75fe45
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 22 11:44:17 2010 +0000

	    * Revert r19650 (implement gc-keep-outputs by looking for derivations
	      with the same name as the output) and instead use the
	      DerivationOutputs table in the database, which is the correct way to
	      to do things.

	commit 299ff64812ce166d230f1b630f794be226c7a178
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 22 11:15:50 2010 +0000

	    * Put the derivation outputs in the database.  This is useful for the
	      garbage collector.

	commit 1930570ad96e47de9e8557a7734c7bfd9f36f942
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 19 17:15:22 2010 +0000

	    * Foreign key support in SQLite is not a persistent setting, so enable
	      it at startup.
	    * Implement negative caching.  Now `make check' passes.

	commit 9c9a88e9e25bdc4456368a40691e61acf5d3b330
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 19 16:43:25 2010 +0000

	    * Implement more stuff.

	commit 762cee72ccd860e72c7b639a1dd542ac0f298bb2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 19 16:04:51 2010 +0000

	    * Implement registerValidPath().

	commit 268f9aaf286294c05f34be338ac4ec75e20d1442
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 16:51:27 2010 +0000

	    * Implemented queryValidPaths() and verifyStore().

	commit 836e5b6f5741c845da08490a6fd8ad9a3f37726e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 16:21:59 2010 +0000

	    * Implemented queryReferrers().

	commit 77cb9e3fb19005a40724cb42773d2b11e2528858
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 15:52:57 2010 +0000

	    * Implement queryPathInfo().

	commit 885e22b16e3a6ea2a94014d33de31d756fa32eda
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 15:11:08 2010 +0000

	    * Implement isValidPath().

	commit cfb09e0fadf7db240f4f8c35c35c13b192456b89
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 14:40:07 2010 +0000

	    * Automatically abort transactions if they go out of scope without
	      committing.

	commit e0305bb7a8b24fe1ea8b36cc2e5fe77ab151ae2f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 14:30:42 2010 +0000

	    * Some wrapper objects to ensure that SQLite objects are properly
	      destroyed.

	commit a053d2d8e53f2967c64ab2b204727e4c27f06c0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 13:48:18 2010 +0000

	    * Add the deriver to the ValidPaths table.  In principle we could now
	      store all the derivers of a path efficiently.  But that opens a big
	      can of worms with respect to garbage collector semantics.

	commit dbddac0fe91072b402ccb3801c952e3159f0cba4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 13:40:46 2010 +0000

	    * Assign an integer id to every row in the ValidPaths table in order
	      to make the Refs table more space-efficient.  For instance, this
	      reduces the size of the database on my laptop from 93 MiB to 18
	      MiB.  (It was 72 MiB with the old schema on an ext3 disk with a 1
	      KiB block size.)

	commit c1a07f94451cfa93aa9ac986188d0e9a536e4b9f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 13:16:59 2010 +0000

	    * Convert the Nix database to SQLite.

	commit eaaa13ce475687ac0d0e2d3c22c7de73a9a83a49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 13:14:51 2010 +0000

	    * Experimental branch for using SQLite to store the Nix database.

	commit 68e55cd9da7902ac8c8859507657cb013e234da4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 16 00:10:39 2010 +0000

	    * Since Hydra now escapes `+', `=' and `?' to %NN in URIs,
	      nix-prefetch-url should unescape them, because `%' is not a valid
	      character in store path names.

	commit 3b3e1025c3d94dacb4c19c89f02e6a8684f93e58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 12 10:50:30 2010 +0000

	    * Typo.  Reported by Peter Koppstein.

	commit 20186a40791f662696857720d414dd7cd2ace8a2
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Feb 10 15:55:50 2010 +0000

	    Don't rely on `PATH_MAX' on GNU.

	commit d0bf4adb1f8c72640c9e80dee30f96e173dfab87
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Feb 10 15:55:46 2010 +0000

	    Add `.gitignore'.

	commit e08dbff9a891ad2ba29c65612780f2a6c7e88750
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 5 10:17:13 2010 +0000

	    * Fix a broken link (reported by Bjorn Buckwalter).

	commit e1e91a37316b97627705864cb4828c17b2e2bfce
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 15:46:04 2010 +0000

	    * Bump.

	commit 817f4f7908c4f4a77a9bcd05aeef1b600a115300
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 14:43:43 2010 +0000

	    * Grmbl. Timing-sensitive tests are evil.

	commit f36b7e7579a72d145ce84a654c5d95a315bb6115
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 14:00:47 2010 +0000

	commit 719cebcac2e31e6c9e4f747ae35b8e6800952e0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 09:38:09 2010 +0000

	    * "Fix" incorrect help message.

	commit 443673620d908cb35c569c929701ba6b4c9dfc69
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 02:38:40 2010 +0000

	    * Don't use ssh's -f flag since it leads to lots of lingering ssh
	      processes.

	commit 7ec5a659252148ad87191108622e9ab7e9712605
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 02:18:29 2010 +0000

	    * Doh!  The scope of $slotLock should extend to the end of the script,
	      because otherwise the lock will be released at the end of the while
	      loop.

	commit c9b2d80bcda33e3e26c1a2afc7b76e3bc0a8489d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 02:05:34 2010 +0000

	    * Typo.

	commit 3cfe65e516a75696addcf0281674f644a0933ea5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 02:05:22 2010 +0000

	    * Doh!  Calling `system' in an END block causes the exit status in $?
	      to be changed to 0.

	commit e51a276907f46daf8dbc177829f8db05c0e43372
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 01:39:23 2010 +0000

	    * Remove the `cat' calls when not using --gzip.

	commit 408913bbafefdd5a4058013ce1d8791e6c3123f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 00:12:57 2010 +0000

	    * Revert r19796 for now.

	commit 4e17be7981026f0317fb12f166282be2d972889e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 21:38:41 2010 +0000

	    * Revert r19797, and use a simpler solution: just don't monitor build
	      hooks for silence.  It's unnecessary because the remote nix-store
	      command is already monitoring the real build.

	commit f859a8d3c33cc275f41d983bfeff2a21a9f88f1b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 21:22:57 2010 +0000

	    * While waiting for a lock, print a sign of life every 5 minutes.
	      This prevents remote builders from being killed by the
	      `max-silent-time' inactivity monitor while they are waiting for a
	      long garbage collection to finish.  This happens fairly often in the
	      Hydra build farm.

	commit c45de33c67a7273fc87a654696d15010df0f5c6d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 21:13:37 2010 +0000

	    * Respect @sysconfdir@.

	commit d0c32dc135f147ad352e28ff8c648e611516edec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 20:35:37 2010 +0000

	    * In the build hook, if connecting to a machine fails, try the other
	      machines of the right type (if available).  This makes the build
	      farm more robust to failures.

	commit f56a039775930d4ba2b4504440b7ab37dfefeb75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 20:12:18 2010 +0000

	    * Use SSH connection sharing in the remote build script.
	    * Removed the Cygwin password hack since the problem is apparently
	      fixed in Visual Studio.

	commit bc1e478db160059753c4bf4cb28dd50437a76b27
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 15:34:52 2010 +0000

	    * nix-copy-closure: start only one SSH connection to the server, or
	      recycle an already existing connection (using  OpenSSH's connection
	      sharing feature).

	commit 4d8a85b8f56625616c993d0bace0a4e856e7f2c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 11:00:35 2010 +0000

	    * Updated the release notes.

	commit 3ce5f07793c22c95ebc8b0ddc9b105f5e72623f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 2 17:01:16 2010 +0000

	    * Ugly hack to make `nix-channel' work on Cygwin.

	commit e839802720af75e5af321b46a3921695ed696e79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 2 15:29:18 2010 +0000

	    * Don't do a chdir to $tmpDir.  It's not necessary, and Windows doesn't
	      support deleting the current directory.

	commit 4bbbe25802ee5d625d05b9566bcc488b93974692
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 2 15:28:36 2010 +0000

	    * Remove most Cygwin-specific code.  Cygwin 1.7 implements advisory
	      POSIX locks, and simulates Unix-style file deletion semantics
	      sufficiently.  Note that this means that Nix won't work on Cygwin
	      1.5 anymore.

	commit 2723d9b56e2ea15c0c753ae579849806102f4ce0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 2 11:57:49 2010 +0000

	    * If fdatasync() isn't available, use fsync().

	commit 07ffdc28629e537c3811f86b83a93655b73909ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 29 12:22:58 2010 +0000

	    * Added an option "fsync-metadata" to fsync() changes to
	      /nix/var/nix/db.
	    * Removed the function writeStringToFile since it does (almost) the
	      same thing as writeFile.

	commit ad529fb89fb34bea9762eccfc9c2ee6f1f2865c0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 29 11:53:58 2010 +0000

	    * Don't consider a store path valid if its info file exists but is
	      zero bytes long.  That makes Nix more robust in case of crashes
	      (especially on ext4).

	commit fdcaf37361126793a1416ef5b348e5bf2f0fd1a0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 25 17:18:44 2010 +0000

	    * Made `nix-store -qR --include-outputs' much faster if there are
	      multiple paths specified on the command line (from O(n * m) to O(n +
	      m), where n is the number of arguments and m is the size of the
	      closure).

	commit 50e34891f0e11f400bd50390ede3b7700a2b4db9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 25 16:14:45 2010 +0000

	    * Disable gzip compression in build-remote.pl because it puts too much
	      load on the Hydra build farm (where it's unnecessary anyway because
	      it has a fast connection to the build machines).  In any case,
	      compression can be enabled by using the `-C' option to ssh.

	commit 5388944e8d1ca61e23d42a6a0769b925f099f4e1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 25 16:04:32 2010 +0000

	    * Make the garbage collector do the right thing when `gc-keep-outputs'
	      is enabled by not depending on the deriver.

	commit f0c0277970f8283428b599d8da8089756583a26c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 12 12:22:38 2010 +0000

	    * On startup, set the default SIGCHLD handler.  This is so that Nix
	      works correctly in weird environments where the SIGCHLD handler is
	      set to "ignore".

	commit ef92a14bfea7a16102b04711c9c18ad717e82ea1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 17 14:12:44 2009 +0000

	    * Include config.h before the C library headers, because it defines
	      _FILE_OFFSET_BITS=64.  Without it, functions like stat() fail on
	      large file sizes.  This happened with a Nix store on squashfs:

	      $ nix-store --dump /tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds > /dev/null
	      error: getting attributes of path `/tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds': Value too large for defined data type

	      $ stat /tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds
	      File: `/tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds'
	      Size: 0               Blocks: 36028797018963968 IO Block: 1024   regular empty file

	      (This is a bug in squashfs or mksquashfs, but it shouldn't cause Nix
	      to fail.)

	commit 945d8218fbcab4e546213f420125bf521ff3306d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 16 15:29:50 2009 +0000

	    * Build correctly against newer ATerm releases.  Fixes "error: 'union'
	      tag used in naming 'struct _ATerm'".

	commit d8a5dc02fc2efbbd386edb4be960d741c0650b8a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 10 13:14:22 2009 +0000

	    * Build on Fedora 12.

	commit 3a78af1e2435074292eb0694afe66ccd64448099
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 9 21:02:24 2009 +0000

	    * Release notes.

	commit 7ca997263680025a7cf5386a44efcb0a9949315e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 9 19:36:54 2009 +0000

	    * When doing a nix-pull, remove old manifests downloaded from the same
	      URL.  This prevents lots of old cruft accumulating in
	      /nix/var/nix/manifests.

	commit c4c84d1edb4e0dd4ed77a9b2d1386834cdfaaa34
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 9 18:08:28 2009 +0000

	    * nix-build: be less verbose.

	commit bcd6cdf0d8d52bb5d459911bc552260d67c1bb38
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 9 17:45:22 2009 +0000

	    * Give a better error message when trying to build something and
	      readOnlyMode is set.

	commit 13618b191e923a7ccc861a46be378fd85b0c8412
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 24 13:28:46 2009 +0000

	    * Grrr.

	commit aa5a768720f92076b024c551527e2abfd7ad9848
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 24 12:56:26 2009 +0000

	    * GCC 4.4 is stricter about the EOF macro
	      (http://hydra.nixos.org/build/156340).

	commit 9b8fda796b620a5476e8a50edcc29a3462667fc3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 24 12:26:25 2009 +0000

	    * Templatise getIntArg / string2Int.

	commit 80220155523fb21c938d595e96597f6511aa7bd0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 24 10:51:52 2009 +0000

	    * In the garbage collector, don't count files with a link count > 1 in
	      the "bytes/blocks freed" statistics.

	commit f9e766db9875e7ab390df8d405d9719b279efe3c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 24 09:53:18 2009 +0000

	    * Randomise the order in which we delete entries to make the collector
	      less biased towards deleting paths that come alphabetically first
	      (e.g. /nix/store/000...).  This matters when using --max-freed etc.

	commit ca50c83fbb8f3bfbbcc60203a518d4e5a7aa8349
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 23 21:21:29 2009 +0000

	commit 3d55f1eb57c04efc10a093379ea38d6c0aefa588
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 23 18:16:25 2009 +0000

	    * A command `nix-store --query --roots <paths>' to find the garbage
	      collector roots that point (directly or indirectly) to the given
	      paths.

	commit ae6bf87273b30258408dc292611f3f50015b843c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 23 17:23:12 2009 +0000

	    * `nix-store --gc --print-roots': also print the path of the actual
	      root symlink, not just its target.  E.g.:

	      /nix/var/nix/profiles/system-99-link -> /nix/store/76kwf88657nq7wgk1hx3l1z5q91zb9wd-system

	commit c364d5d1e36a9f790b0d610aae1d30d8732b58ce
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 23 16:34:24 2009 +0000

	    * Made the garbage collector a lot faster.  It no longer computes the
	      complete set of live and dead paths before starting the actual
	      deletion, but determines liveness on demand.  I.e. for any path in
	      the store, it first tries to delete all the referrers, and then the
	      path itself.  This means that the collector can start deleting paths
	      almost immediately.

	commit 4f7e5f5810380ba4bcdd3c32c37dafb75d8e2f8d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 23 12:48:54 2009 +0000

	    * Don't create /nix/var/nix/gcroots/{tmp,channels}, since they don't
	      seem to be used anymore.

	commit 8824d60fe549e2fc9b5a852fc1b967eca241ea77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 20 17:12:38 2009 +0000

	    * Remove the --use-atime / --max-atime garbage collector flags.  Many
	      (Linux) machines no longer maintain the atime because it's too
	      expensive, and on the machines where --use-atime is useful (like the
	      buildfarm), reading the atimes on the entire Nix store takes way too
	      much time to make it practical.

	commit 997db91e07882f0555e224a2687189a362567577
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 17 16:22:39 2009 +0000

	    * Don't pass -K.  It should really inherit the setting of the calling
	      Nix though.

	commit 3392d32e8b4202da8d3b013edd6f585e98aa7b02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 13 10:08:31 2009 +0000

	    * In nix-pull/nix-channel, create the manifests directory if it
	      doesn't exist.  The Debian packages don't include the manifests
	      directory, so nix-channel would silently skip doing a nix-pull,
	      resulting in everything being built from source.  Thanks to Juan
	      Pedro Bolívar Puente.

	commit 327a232c85de3faa56f9a6117c86e1aa22f88bd6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 6 01:15:44 2009 +0000

	    * Remove support for old (before Nix 0.12pre12020) databases.

	commit c60d796f04f81b17330fbfc1e438ed207b1047f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 5 22:23:38 2009 +0000

	    * Version bump.

	commit e8bad77c7cd3ab11e0c131f138c3d18cdf80dbba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 5 15:20:19 2009 +0000

	commit 7680904839bcf6a68c2e772d5d7c4e6e28d952e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 5 14:53:01 2009 +0000

	    * Build on Karmic.

	commit 58f3338bfafe27795995ffc35dc0ecd3ec331197
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 5 14:40:42 2009 +0000

	    * The Nix .deb package depends on curl.

	commit 268d90a03eaab95d13c1326d58fb2287c628aedc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 5 09:07:43 2009 +0000

	    * Various updates.

	commit 1ff8758f762367ffd2517ce7d9d63c6c9746a0ee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 4 16:52:35 2009 +0000

	    * Manual updates.

	commit 8520542071d9ec4c5cc088f9a604d051f4880796
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 22 08:28:33 2009 +0000

	    * When building in a chroot, make a copy of a file if hard-linking
	      fails.  This is likely to happen after a `nix-store --optimise',
	      because some files may have 32000 links (NIX-111).

	commit 6b9f6b02225035c016cf73868a12aa26bc0ad225
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 22 08:12:38 2009 +0000

	    * Remove a prototype for a function that no longer exists.

	commit deb342fb08fb7b366af482664f44e52f749e63b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 22 08:10:12 2009 +0000

	    * builtins.trace: in the common case that the value is a string, then
	      show the string, not the ATerm, so we get `trace: bla' instead of
	      `trace: Str("bla",[])'.

	commit 437077c39dd7abb44b2ab02cb9c6215d125bef04
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 21 15:05:30 2009 +0000

	    * Added a primop unsafeDiscardOutputDependency needed by Disnix to
	      pass derivation paths to a builder without actually building them.

	commit 6f7d7bc1de110c49e7b41926e4669ce44bc86617
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 13 09:30:17 2009 +0000

	    * Give a useful error message when an evaluation error occurs while
	      trying to upgrade a package.

	commit 53a4981fa28a9f13758554b643c06e871ede8dbd
	Author: Sander van der Burg <s.vanderburg@tudelft.nl>
	Date:   Thu Oct 8 14:50:37 2009 +0000

	    Added optional parameter which adds -lnsl -lsocket to make the Nix package manager work on OpenSolaris

	commit 18f0ff003d711f88a8682131108b101debec3737
	Author: Peter Simons <simons@cryp.to>
	Date:   Tue Oct 6 09:14:06 2009 +0000

	    configure.ac: use AC_SYS_LARGEFILE to determine how to enable 64-bit file size support

	    Defining -D_FILE_OFFSET_BITS=64 works on most platforms, but not on all (i.e.
	    Solaris). Also, the Autoconf macro offers the user a switch to disable the
	    functionality in case of problems.

	commit 96f151783153c62bb19f39d9675b35601003f4d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 30 11:32:04 2009 +0000

	    * Support platforms that don't have O_ASYNC (e.g. OpenSolaris
	      apparently).

	commit 1a8f8fd86fb89222f6fadab0d9f8a0fb850c8f6f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 30 09:54:29 2009 +0000

	    * OpenSolaris compatibility.

	commit 0f79ad47c5af646ad7a42f86759170df8081899c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 25 12:36:03 2009 +0000

	commit c7057fc1f2232a530709a1596b2fe8722ed19aef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 24 07:39:55 2009 +0000

	    * And some more.

	commit 193f59e0771f35e977a4b4606c91c90d5c50ae0a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 24 07:21:29 2009 +0000

	    * Fix a build failure on Fedora 11.  rename() needs <stdio.h>.

	commit 0ae2be56927729c251c7a4a45130eba672821af0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 24 07:05:06 2009 +0000

	commit 1332dd1ed34b45b7e970111da561f20ffe6bc6b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 23 19:19:26 2009 +0000

	    * tryEval shouldn't catch all exceptions of type Error, since not all
	      of them leave the evaluator in a continuable state.  Also, it should
	      be less chatty.

	commit 63a17d4bd5e0a9c0f896221017ab518a6cc4c79b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 23 18:52:18 2009 +0000

	    * Don't build against BDB on Cygwin, it's been broken for unknown
	      reasons for a while (e.g. http://hydra.nixos.org/build/79164).

	commit 676e07902e175666208b5c644ed8427f7684d3d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 23 18:04:55 2009 +0000

	    * Darwin hack.

	commit 64e89980e880826fec3e973e50edebf24278c7b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 23 17:05:51 2009 +0000

	    * Create some state directories automatically as a convenience.

	commit 48b58617e9e84fd1a0e4bd11798bd6b9d04a1633
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Wed Sep 23 12:57:15 2009 +0000

	     * include wait.h for WEXITSTATUS

	commit 51ad64cc0791f797c936d8d7b1cef0dec64c0ce3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 18 11:45:56 2009 +0000

	    * Use xmllint (>= 2.7.4) for RelaxNG validation instead of Jing.

	commit df05a759e4b73058ade82b6008c405cc5c75b104
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 18 11:01:30 2009 +0000

	    * In "make init-state", ignore errors creating /nix/store.  Hack to
	      get the Debian VM builds to work (where /nix/store is a mount point
	      containing the store of the host).

	commit d3de71efc935ac5744dedf22528a6f0c4e38aaf4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 17 17:44:13 2009 +0000

	commit e1df4ef73c442ad0fa175a19341bcbab0c2b6450
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 17 17:02:14 2009 +0000

	commit 86408b3f47d7b77067c8d35f1488ccdddb0f304b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 17 15:48:17 2009 +0000

	    * build-remote.pl: Pick machines in a round-robin order, rather than
	      giving jobs to the first machine until it hits its job limit, then
	      the second machine and so on.  This should improve utilisation of
	      the Hydra build farm a lot.  Also take an optional speed factor
	      into account to cause fast machines to be preferred over slower
	      machines with a similar load.

	commit 57e0d73c776ef672afe2a20b1f7b39a495894c4a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 17 13:51:04 2009 +0000

	    * build-remote.pl: allow the system type to be a comma-separated list
	      of system types.  Don't treat the x86_64-linux system type
	      specially.

	commit 0dbd4638e07d224e642b52c1dd0468c3752e2479
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 15 13:01:46 2009 +0000

	    * Two primops: builtins.intersectAttrs and builtins.functionArgs.
	      intersectAttrs returns the (right-biased) intersection between two
	      attribute sets, e.g. every attribute from the second set that also
	      exists in the first.  functionArgs returns the set of attributes
	      expected by a function.

	      The main goal of these is to allow the elimination of most of
	      all-packages.nix.  Most package instantiations in all-packages.nix
	      have this form:

	        foo = import ./foo.nix {
	          inherit a b c;
	        };

	      With intersectAttrs and functionArgs, this can be written as:

	        foo = callPackage (import ./foo.nix) { };

	      where

	       callPackage = f: args:
	         f ((builtins.intersectAttrs (builtins.functionArgs f) pkgs) // args);

	      I.e., foo.nix is called with all attributes from "pkgs" that it
	      actually needs (e.g., pkgs.a, pkgs.b and pkgs.c).  (callPackage can
	      do any other generic package-level stuff we might want, such as
	      applying makeOverridable.)  Of course, the automatically supplied
	      arguments can be overriden if needed, e.g.

	        foo = callPackage (import ./foo.nix) {
	          c = c_version_2;
	        };

	      but for the vast majority of packages, this won't be needed.

	      The advantages are to reduce the amount of typing needed to add a
	      dependency (from three sites to two), and to reduce the number of
	      trivial commits to all-packages.nix.  For the former, there have
	      been two previous attempts:

	        - Use "args: with args;" in the package's function definition.
	          This however obscures the actual expected arguments of a
	          function, which is very bad.

	        - Use "{ arg1, arg2, ... }:" in the package's function definition
	          (i.e. use the ellipis "..." to allow arbitrary additional
	          arguments), and then call the function with all of "pkgs" as an
	          argument.  But this inhibits error detection if you call it with
	          an misspelled (or obsolete) argument.

	commit 3bca8931e8861fa4694b1ca31ecc023149e7aa81
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Tue Aug 25 16:06:46 2009 +0000

	    Adding tryEval builtin. It allows to catch presence of errors in an expression.

	commit 5e9a4e5101a76655dd7f1bcd2c1c3afc200552b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 3 13:32:13 2009 +0000

	commit 9b46d1ae6fe37f4caf24a39541553c07b5c07342
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 3 12:24:20 2009 +0000

	commit 20b6f94b65204f3a7b2e93c31b35f7554f2823a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 15 09:10:38 2009 +0000

	    * nix-build: pass the --show-trace flag.

	commit d413612029ee44628dea3598f3a67042acf05d50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 14 14:58:12 2009 +0000

	    * Remove the redundant <sections> around refentries.

	commit 1f169f43b31d02c1fad39df16bb4e61c8cb593df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 10 13:42:12 2009 +0000

	    * Leave out the collaborators / revision history page.

	commit 5e2e2f10efab3ba3e0504fb4d1b374a57dfaeb0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 10 11:48:49 2009 +0000

	commit c6890d6b5cf6bb57afd6431382a6459eee47f5b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 2 08:52:12 2009 +0000

	    * Replace newlines in table output with spaces.

	commit 749dd97a54f50467d266dde2b833f272cb556145
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 30 15:53:39 2009 +0000

	    * Support integers and lists of strings in meta fields.  This is
	      useful for fields like meta.maintainers, meta.priority (which can be
	      a proper integer now) and even meta.license (if there are multiple
	      licenses).

	commit f2c3fc519190b021f0bb3b66f58d0fe7fc40b0e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 30 13:28:29 2009 +0000

	    * Don't show trace information by default (`--show-trace' to enable).
	      NixOS evaluation errors in particular look intimidating and
	      generally aren't very useful.  Ideally the builtins.throw messages
	      should be self-contained.

	commit a2fc3a53ba87d3688dae0554bfdb2fe3fb3dbf2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 18 10:04:14 2009 +0000

	    * Highlight URLs containing "=" properly.

	commit d53603c928ae98eee54bdd06241e898e02efef0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 18 09:56:50 2009 +0000

	    * Attributes names in attrsets can contain dots now.

	commit 14bc3ce3d6d5745717fa19b8b43b5fdd117ff757
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jun 13 16:30:58 2009 +0000

	    * Canonicalise timestamps in the Nix store to 1 (1970-01-01 00:00:01
	      UTC) rather than 0 (00:00:00).  1 is a better choice because some
	      programs use 0 as a special value.  For instance, the Template
	      Toolkit uses a timestamp of 0 to denote the non-existence of a file,
	      so it barfs on files in the Nix store (see
	      template-toolkit-nix-store.patch in Nixpkgs).  Similarly, Maya 2008
	      fails to load script directories with a timestamp of 0 and can't be
	      patched because it's closed source.

	      This will also shut up those "implausibly old time stamp" GNU tar
	      warnings.

	commit f24cf5d303dac3e82068f80091d2f312455ba8cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 10 11:30:34 2009 +0000

	    * nix-build: if nix-instantiate or nix-store fails due to a signal
	      (e.g. out of memory or a segfault), print an error message.
	      Otherwise the user doesn't see anything.

	commit c6cb792d48a8b4290df15202ec30b06a3383dc6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 26 16:32:02 2009 +0000

	commit a64bbe049e19618c33a878154f2e69029d45ecd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 15 13:46:13 2009 +0000

	    * Change the scoping of "inherit (e) ..." in recs so that the
	      attributes of the rec are in scope of `e'.  This is useful in
	      expressions such as

	        rec {
	          lib = import ./lib;
	          inherit (lib) concatStrings;
	        }

	      It does change the semantics of expressions such as

	        let x = {y = 1;}; in rec { x = {y = 2;}; inherit (x) y; }.y

	      This now returns 2 instead of 1.  However, no code in Nixpkgs or
	      NixOS seems to rely on the old behaviour.

	commit d407d572fdc72f4eb14cc0f37d7d61446425b663
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 15 12:35:23 2009 +0000

	    * Some syntactic sugar for attribute sets: allow {x.y.z = ...;} as a
	      shorthand for {x = {y = {z = ...;};};}.  This is especially useful
	      for NixOS configuration files, e.g.

	        {
	          services = {
	            sshd = {
	              enable = true;
	              port = 2022;
	            };
	          };
	        }

	      can now be written as

	        {
	          services.sshd.enable = true;
	          services.sshd.port = 2022;
	        }

	      However, it is currently not permitted to write

	        {
	          services.sshd = {enable = true;};
	          services.sshd.port = 2022;
	        }

	      as this is considered a duplicate definition of `services.sshd'.

	commit e42975490fa96e811c9fd80435ce20c26f8603f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 14 14:29:45 2009 +0000

	    * Check for duplicate attributes in fixAttrs, rather than doing a
	      separate traversal after parsing.  Likewise, check for duplicate
	      pattern variables right away.

	commit 50d11b90caf6545556fc090858c694e19f3c7683
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 12 11:06:24 2009 +0000

	    * Allow unsafe (unspecified) comparisons between attrsets unless
	      NIX_NO_UNSAFE_EQ is set, for now.

	commit c34e6d71bc62bb83f3bfed69f781ded4d5a46d3a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 11 15:50:14 2009 +0000

	    * Disallow equality tests between attribute sets.  This was always
	      broken, but now the evaluator checks for it to prevent Nix
	      expressions from relying on undefined behaviour.  Equality tests are
	      implemented using a shallow pointer equality test between ATerms.
	      However, because attribute sets are lazy and contain position
	      information, this can give false positives.  For instance,
	      previously

	        let y = {x = 1;}; in y == y

	      evaluated to true, while the equivalent expression

	        {x = 1;} == {x = 1;}

	      evaluated to false.  So disallow these tests for now.  (Eventually
	      we may want to implement deep equality tests for attribute sets,
	      like lib.eqStrict.)

	    * Idem: disallow comparisons between functions.

	    * Implemented deep comparisons of lists.  This had the same problem as
	      attribute sets - the elements in the list weren't evaluated.  For
	      instance,

	        ["xy"] == [("x" + "y")]

	      evaluated to false.  Now it works properly.

	commit 9536ba19d437a82d4b521709b49ef6977321b692
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 13:22:26 2009 +0000

	commit 83bd320b39c5d12ff4a40bea47177011fa1c7599
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 13:12:46 2009 +0000

	    * Build a PDF version of the manual in the tarball job (it's not
	      included in the tarball though).

	commit f751c2966b98d14bbb0337abeca1cb1106e09136
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 13:11:58 2009 +0000

	    * Don't have a bugs section in the manual.  Bugs should be kept in the
	      bug tracker.

	commit 404996ca1f2089511b90666ce092377ade830139
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 12:57:04 2009 +0000

	    * Produce the manual in the tarball job.

	commit 7660e2a0684e57c2f7f014a6f457b7866e2b9e22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 11:35:52 2009 +0000

	    * Remove a right recursion that causes the parser to barf on very long
	      lists.  The comment about ATreverse requiring unbounded stack space
	      was unfounded anyway.

	commit 52a9ba96f53be0a36f8229a14126302c5de966a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 11:34:08 2009 +0000

	    * Include the version file.

	commit 6a5599fd014af87ccffd20e5fa172d8b561636d1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 11:33:57 2009 +0000

	    * Typo.

	commit 098cb9d233ff7e1568b55e88dacf52e1dc8eebab
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Mon May 4 08:10:24 2009 +0000

	    Add an ftruncate call paired with fallocate to play safe with  some FSes (namely, BtrFS fallocate sets file size to allocated size, i.e. multiple of block size)

	commit c710fe540e3763d821eab74621b43d9422cb7e92
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 21 12:42:47 2009 +0000

	    * Machines of type x86_64-linux can do i686-linux builds.

	commit d5eab2fc8293e0d14c7fd297bf7512257442295b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 21 11:52:16 2009 +0000

	    * Use foreach in a lot of places.

	commit 8f1bf28505e6ba8fae35859391cbab7264b0014a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 21 11:06:27 2009 +0000

	    * nix-store --verify: don't bail out if a referenced path is missing.
	      (It can't fix it though.)

	commit 4e646b0ddb81e1fbf1159ad66a41de848fe93930
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 16 12:03:17 2009 +0000

	    * Fix a few "comparison is always false/true due to limited range of
	      data type" warnings on 64-bit platforms.  The one in parser.y is
	      likely to be a real bug.

	commit 0460ea4c395cc45e510d13fbf12930dd3d221305
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 16 09:27:33 2009 +0000

	    * Cleanup.

	commit dfb863f3339ee7e43c83803ade2d9fdf418399b7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 15 06:25:02 2009 +0000

	    * Don't cache transient build hook problems.

	commit 435a93b5d845a6fa90675675060ca3cc2d2a650d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 14 13:03:27 2009 +0000

	    * Remove references to __XXX primops.

	commit 8b2a01a8c238f36a71157e4c2f8e6cf6ee6f5309
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 14 12:02:22 2009 +0000

	    * Release notes.

	commit 50cb6f978218c00f2fee52cef8939f2ef8d4f2b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 2 08:16:15 2009 +0000

	    * Debian packages: use /etc, not /usr/etc.

	commit 351bf658f99e91b41d2b11f994f799dd34a600e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 31 21:14:07 2009 +0000

	    * Do a substitution even if --max-jobs == 0.

	commit cff2b2a13aea7cf30c0ef5be449e355594dc80c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 31 15:50:03 2009 +0000

	    * Doh!

	commit 160a60d663039cc26e73d0359fcbce12b30a7d3d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 30 19:35:55 2009 +0000

	commit 805144b705305fc6ba22645cebf52daaf835ca49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 30 11:34:03 2009 +0000

	    * Make the poll interval configurable.

	commit 096affb55b06c1280df9ff6b1fd5111d5745b57a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 29 18:40:44 2009 +0000

	    * Update the mtime on the lock file to make it easy to see when a slot
	      was last used.

	commit cbc1f57b48dc9b8f0c679e004ee407d3cf27d5c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 29 18:08:32 2009 +0000

	    * Undocument the "system" option.  No sane person would use it :-)

	commit 7377195297e66c02e91caab700e7984e4c6a904a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 29 18:06:00 2009 +0000

	    * With `--max-jobs 0', print a nicer error message than "Assertion
	      `!awake.empty()' failed."

	commit 737423a89c4b5f666fb4daf61775764b66911cf1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 29 18:00:45 2009 +0000

	    * Use polling to wait for a remote build slot when using a build hook
	      (that is, call the build hook with a certain interval until it
	      accepts the build).
	    * build-remote.pl was totally broken: for all system types other than
	      the local system type, it would send all builds to the *first*
	      machine of the appropriate type.

	commit 47706e3924cf592a4e0085eb2e45f0e84b67f933
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 21:10:29 2009 +0000

	    * nix-copy-closure: compute the closure in one call to nix-store,
	      which is much faster.

	commit 6e946c8e72e0fd2baa58cab484a34debd2ae906d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 20:51:33 2009 +0000

	    * Scan for references and compute the SHA-256 hash of the output in
	      one pass.  This halves the amount of I/O.

	commit c7152c8f97d01dda4eeb70869a0d28cc9a04df1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 19:41:53 2009 +0000

	    * Don't use the non-standard __gnu_cxx::stdio_filebuf class.

	commit 3a2bbe7f8ad7ec8b2896ff5e666b8f5525691c6f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 19:29:55 2009 +0000

	    * Simplify communication with the hook a bit (don't use file
	      descriptors 3/4, just use stdin/stderr).

	commit 7fb548aa2621375559f980b4627955dbc6fe9914
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 16:12:46 2009 +0000

	    * Clean up the output a bit.

	commit f54e800366b3c8540c60f0a35c407ad701e2f622
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 16:12:27 2009 +0000

	    * The `fixedOutput' variable didn't get initialised when using a build
	      hook, causing negative caching to fail randomly.

	commit 38f98b32822efa35a050b26d7ab5bbd561c9e529
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 27 22:40:22 2009 +0000

	    * Argh, stupid timing sensitive tests...

	commit e23a7a8b7b37f493327b7f73350140811cccdb37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 27 14:20:03 2009 +0000

	    * Debian 5.0, Ubuntu 8.10 builds.

	commit cb85bc396e7ee291bfd5c22b2a9edf3c85b49c5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 27 14:19:04 2009 +0000

	    * Create /nix/store if it doesn't exist.

	commit 61686926d12e55052480bd0ff2297e69cd6c364f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 26 14:12:42 2009 +0000

	    * A job for creating a fully statically linked binary tarball.

	commit 9856efc7b0d5653aea17f1f7e58c6ff97a0b6b35
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 26 12:22:08 2009 +0000

	    * Support doing a fully static build.  Statically linked Nix binaries
	      will be useful as a fallback on platforms for which there are no
	      RPMs/Debs available.

	commit 5dd8fb20691c375778fd73bf613d4988df72fb50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 26 11:02:07 2009 +0000

	    * Don't use ULLONG_MAX in maxFreed - use 0 to mean "no limit".
	      18446744073709551615ULL breaks on GCC 3.3.6 (`integer constant is
	      too large for "long" type').

	commit 92f525ecf4ea8a9bd356acd1d3845074b1e5b918
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 25 21:05:42 2009 +0000

	    * Negative caching, i.e. caching of build failures.  Disabled by
	      default.  This is mostly useful for Hydra.

	commit 7024a1ef076cedf4596c9f4b107e85d315242cea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 25 16:43:38 2009 +0000

	    * Removed the locking.sh test; it's redundant because of the extended
	      parallel.sh test.  Also, don't call multiple nix-builds in parallel,
	      since they can race creating .nix-build-tmp-derivation.

	commit 8146a0c7313b95b4cc24776cc609efc846b0a38e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 25 16:11:04 2009 +0000

	    * Use bash in the tests.

	commit a046858a22751ce87014aa5cc2a619ea83668ed9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 24 23:40:24 2009 +0000

	    * Doh.

	commit 12c8c64efaefd36d32e5e7c028496c5ae9172acc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 24 14:07:37 2009 +0000

	commit 7aedcf946043468c169ab9b0a131be908804789b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 23 15:16:36 2009 +0000

	    * Make this test a bit more robust.  It's still timing dependent
	      though.

	commit 3a87163b2480eaf47d626580d20049387d942066
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 23 13:52:52 2009 +0000

	    * Shut up a GCC warning.

	commit cacff1be886ed975bbef1b17151b25c633711256
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 23 01:05:54 2009 +0000

	    * No longer block while waiting for a lock on a store path.  Instead
	      poll for it (i.e. if we can't acquire the lock, then let the main
	      select() loop wait for at most a few seconds and then try again).
	      This improves parallelism: if two nix-store processes are both
	      trying to build a path at the same time, the second one shouldn't
	      block; it should first see if it can build other goals.  Also, it
	      prevents the deadlocks that have been occuring in Hydra lately,
	      where a process waits for a lock held by another process that's
	      waiting for a lock held by the first.

	      The downside is that polling isn't really elegant, but POSIX doesn't
	      provide a way to wait for locks in a select() loop.  The only
	      solution would be to spawn a thread for each lock to do a blocking
	      fcntl() and then signal the main thread, but that would require
	      pthreads.

	commit 58969fa2bf9d5e662c372bdf970470b8226bd4c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 22 23:53:05 2009 +0000

	    * Refactoring.

	commit d7b2d11255d048dd9aa59e49848baa5977b718e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 22 23:16:18 2009 +0000

	    * Test case (currently fails): multiple Nix builds shouldn't block
	      waiting on the same lock when there are other builds that can be
	      done.

	commit 7a57b2920b7f04ab0cdd42687dd183217231549e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 22 17:51:45 2009 +0000

	    * Better error message when nix-store --import is applied to garbage
	      (previously it would likely say "implementation cannot deal with >
	      32-bit integers").

	commit 77d272623fb4fd57cf27d4b92a7dc1713a2d4098
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 22 17:36:43 2009 +0000

	    * NAR archives: handle files larger than 2^32 bytes.  Previously it
	      would just silently store only (fileSize % 2^32) bytes.
	    * Use posix_fallocate if available when unpacking archives.
	    * Provide a better error message when trying to unpack something that
	      isn't a NAR archive.

	commit 7e05b8b75e0f4b370cc7d4b78b3fb18a3678b360
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 19 10:02:02 2009 +0000

	    * Future proofing: assume we can read manifests up to version 10
	      (which should therefore be backwards compatible).

	commit b88460bcbc05ec7c164cb6ce6015b193d3c2d6c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 19 09:47:34 2009 +0000

	    * Disregard the Hash field in manifests.

	commit 28972864879a63c4110211d9852b692672869a2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 17:36:42 2009 +0000

	    * Unify exportReferencesGraph and exportBuildReferencesGraph, and make
	      sure that it works as expected when you pass it a derivation.  That
	      is, we have to make sure that all build-time dependencies are built,
	      and that they are all in the input closure (otherwise remote builds
	      might fail, for example).  This is ensured at instantiation time by
	      adding all derivations and their sources to inputDrvs and inputSrcs.

	commit e530e0a35041b3135b521f1b2dbc21fabfb00d47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 16:36:13 2009 +0000

	    * Improve the test.

	commit 9485ec31ea3b4ad9f2b31c350cd24f2fa6ec5484
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 16:35:35 2009 +0000

	    * Better cleanup after tests.

	commit 13df3915ef7b967b3889e2bf5f66ca8de1adc8b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 16:23:29 2009 +0000

	    * Missing file.

	commit c183ee5c79dd356262c3d7c31e3aace09045671f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 14:48:42 2009 +0000

	    * Acquire the locks on the output paths before trying to run the build
	      hook.  This fixes a problem with log files being partially or
	      completely filled with 0's because another nix-store process
	      truncates the log file.  It should also be more efficient.

	commit 1dcf208f562d853909ad53772c208dcb2a73de88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 13:15:55 2009 +0000

	    * Clean up some tests (use nix-build where appropriate).

	commit 93b6926054b0b339d310a3075a677a65676c7c11
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 17 17:38:32 2009 +0000

	    * Regression test for exportBuildReferencesGraph.  It currently fails.

	commit 51e7e32c3bf7c2fb5045b0655c2edc1fbf347455
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 17 17:11:55 2009 +0000

	    * Refactoring: renamed *.nix.in to *.nix.

	commit 2d5114452d8a8f73c858f9beb6bfaafe35e7bf9a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 17 16:33:48 2009 +0000

	    * Regression test for the `exportReferencesGraph'
	      derivation attribute.

	commit 33ecb4299107da91f5d61131ead37afabe496649
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 17 11:42:55 2009 +0000

	    * Cleanup.

	commit be88248add7ac96137a323acb111a301048e37bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 9 15:05:08 2009 +0000

	    * Make the version available to release.nix.

	commit a96cac0d18e291057e79dab36d3e2030d1bbafc9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 6 17:00:58 2009 +0000

	commit d4753c944f62cd92ee05947a5881b8ae4dc0aa21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 6 11:01:45 2009 +0000

	commit 0e6f6041784ed6d3a3851b20a1d93604e3ae27aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 5 14:57:50 2009 +0000

	    * Install some headers in the right location.

	commit 7f254706b065889c444a555ab13fbf75c1c3feee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 3 14:47:39 2009 +0000

	    * Allow the channel to declare a name for itself.

	commit 1273d355ac91f502654aba0df07068d330064e83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 14:06:38 2009 +0000

	    * nix-install-package: don't pollute /nix/var/nix/manifests.

	commit d4ca5c395290da9a517df99dfbb79d2186930c83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 13:55:11 2009 +0000

	    * Use the regular progress bar; the hash bar isn't very useful when
	      the size of the download isn't known in advance.

	commit fd2e14b3c886c4ff6a702f22bb7f4494b1fbec39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 12:09:30 2009 +0000

	    * nix-build: support --option.

	commit 60cb7de336035768089cc764a3fd7e8867a8d298
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 11:04:41 2009 +0000

	    * Allow options from the Nix config file to be overriden from the
	      command line (e.g. "--option build-use-chroot true").

	commit 8ab6bc5a49686aedf85adffe322c4f016764af5f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 11:01:03 2009 +0000

	    * nix-channel: use nix-build.

	commit f052c10eedf8701e746bbacac63a8ac0d4a8bc0f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 09:53:58 2009 +0000

	    * Check the manifest version.

	commit a7cee528c5967ffe20e50fb9dc329987843d42ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 26 21:12:35 2009 +0000

	    * Handle base-16 hashes in manifests.

	commit 041717eda399de5ddbe2a147bafedf1a39993f8e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 19 23:46:37 2009 +0000

	    * download-using-manifests: don't check the cryptographic hash of
	      downloaded files; rather, check the hash of the unpacked store
	      path.

	      When the server produces bzipped NAR archives on demand (like Hydra
	      does), the hash of the file is not known in advance; it's streamed
	      from the server.  Thus the manifest doesn't contain a hash for the
	      bzipped NAR archive.  However, the server does know the hash of the
	      *uncompressed* NAR archive (the "NarHash" field), since it's stored
	      in the Nix database (nix-store -q --hash /nix/store/bla).  So we use
	      that instead for checking the integrity of the download.

	commit 621093cb1c142e125ed1c534fc0c23c1e8404a66
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Thu Feb 19 20:46:45 2009 +0000

	    Replace wrong (w.r.t. PATH) sed call with in-shell substitution

	commit 824b154ce82a76bfc604b3084b18e06af4e3d007
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 16 09:24:20 2009 +0000

	    * Release output locks as soon as possible, not when the destructor of
	      the DerivationGoal runs.  Otherwise, if a goal is a top-level goal,
	      then the lock won't be released until nix-store finishes.  With
	      --keep-going and lots of top-level goals, it's possible to run out
	      of file descriptors (this happened sometimes in the build farm for
	      Nixpkgs).  Also, for failed derivation, it won't be possible to
	      build it again  until the lock is released.

	    * Idem for locks on build users: these weren't released in a timely
	      manner for failed top-level derivation goals.  So if there were more
	      than (say) 10 such failed builds, you would get an error about
	      having run out of build users.

	commit 2ef579d1aa62501d59957783665f997e3c6f475b
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Thu Feb 5 19:35:44 2009 +0000

	    documentation for previous commit

	commit 1407a1ec99163bf3323fbd223396a124336a861a
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Thu Feb 5 19:35:40 2009 +0000

	    added primop functions __isBool, __isString, __isInt

	commit 1bb0f1e84b7c9444a2fd922a658d721da3da00fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 3 10:34:15 2009 +0000

	    * Build hook: compress the transferred data.

	commit b682fae9d93037af65282e02b88a9ce34129026e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 2 17:24:10 2009 +0000

	    * Build hooks: use nix-store --import.  This prevents a redundant
	      scan for runtime dependencies (i.e. the local machine shouldn't do a
	      scan that the remote machine has already done).  Also pipe directly
	      into `nix-store --import': don't use a temporary file.

	commit 6f8c96d12399b747b5f41b5211a635d2801247c8
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Wed Jan 28 12:14:53 2009 +0000

	    vim syntax:  support for indented strings ('' .. '')

	commit 110606d470c22928a505296b694751c7d17a5c03
	Author: Nicolas Pierron <nicolas.b.pierron@gmail.com>
	Date:   Tue Jan 27 14:36:44 2009 +0000

	    Add the "addErrorContext" builtin to add more information in the stack trace.

	commit 061141e63256842bd72160a30302b31463222411
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 27 13:36:59 2009 +0000

	    * Make it compile on Debian 4.0 (which doesn't define PER_LINUX32_3GB
	      in sys/personality.h).

	commit 019176137f49eba826e08c6b0f0a5c35ecdde81d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 11:39:09 2009 +0000

	    * When using a build hook, distinguish between transient failures
	      (e.g. an SSH connection problem) and permanent failures (i.e. the
	      builder failed).  This matters to Hydra (it wants to know whether it
	      makes sense to retry a build).

	commit 4ce692df88b4a9b32767ee6c0223d789d83712cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 10:42:13 2009 +0000

	commit c504d90c1159bd0fadd37bb3098ecf8622d0b13c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 12 16:30:32 2009 +0000

	    * Support i686-linux builds directly on x86_64-linux Nix
	      installations.  This is implemented using the personality() syscall,
	      which causes uname to return "i686" in child processes.

	commit 8e39d9bdb30cbe2e7c3f7d9b30ac64c3a2e32684
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 12 12:51:28 2009 +0000

	    * Make Nix build with Bison 2.4.

	commit 28355dafcf49dddf707499fc99b18c5071cf8eb6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 5 12:14:43 2009 +0000

	    * Removed reference to losser.st-lab.cs.uu.nl, which is RIP after 9
	      years of loyal service :-)

	commit 8fce03e0adc719930de4f4aebd5dd17b7d59402a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 16 13:28:18 2008 +0000

	    * nix-store --verify: repair bad hash fields in the metadata file.

	commit 60ec75048ae0e0bc72ea2fe47e8b48fcf40a2b86
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 16 12:23:35 2008 +0000

	    * Pass --use-atime / --max-atime to the daemon.

	commit 6f6bb1fdea9dcd4c6f6c0b8059b05d56ea7c16f3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 15 23:55:11 2008 +0000

	    * Delete the chroot if it already exists (e.g. left over from an
	      interrupted build).

	commit 92cb7c4dfe036ed4c13d45128a21838a039d840f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 17:14:57 2008 +0000

	    * Put chroots in the Nix store.  This ensures that we can create hard
	      links to the inputs.

	commit 0008b0006db59ea8fccfe041cf8d87f05abb427d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 17:03:18 2008 +0000

	    * Simplify deleting .lock files in /nix/store: just don't delete them
	      if they belong a path that's currently being built.  This gets rid
	      of some Cygwin-specific code.

	commit ac36c6cd44e8f46573ce3df0749d2f062fa35f3b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 15:36:18 2008 +0000

	    * Some hackery to make "make check" succeed on Cygwin.

	commit 2b70a8e7c98adebdac1e546e17ee1d909b4e5989
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 13:41:36 2008 +0000

	    * Detect whether unshare() is available.

	commit 9122dcecbba9d5268d1087918ffe5a3b970625b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 12:59:27 2008 +0000

	    * We can't use string objects in signal handlers because they might
	      allocate memory, which is verboten in signal handlers.  This caused
	      random failures in the test suite on Mac OS X (triggered by the spurious
	      SIGPOLL signals on Mac OS X, which should also be fixed).

	commit 6776a52bb380bb2567847c6e50e1d7880ad7847a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 11:49:42 2008 +0000

	    * Use a PathSet for the chroot directories so that we don't
	      accidentally bind-mount a directory twice.

	commit d86bd22d247227e36de9577f25ad35f8fd4c65e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 10:20:19 2008 +0000

	    * Define _GNU_SOURCE.  Hopefully this fixes the build on Debian 4.0
	      (http://hydra.nixos.org/nixlog/384/1).

	commit ac5478eb525f85e560d822ab3b5cb6ccb664d56e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 11 18:57:10 2008 +0000

	    * Don't provide the whole Nix store in the chroot, but only the
	      closure of the inputs.  This really enforces that there can't be any
	      undeclared dependencies on paths in the store.  This is done by
	      creating a fake Nix store and creating bind-mounts or hard-links in
	      the fake store for all paths in the closure.  After the build, the
	      build output is moved from the fake store to the real store.  TODO:
	      the chroot has to be on the same filesystem as the Nix store for
	      this to work, but this isn't enforced yet.  (I.e. it only works
	      currently if /tmp is on the same FS as /nix/store.)

	commit 652817046b2f999e29de8109fce9c61b5b18d22c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 11 17:52:34 2008 +0000

	    * Revert r13150: now that we use private namespaces for the chroot, we
	      don't have to put the chroot in /nix/var/nix/chroots anymore.
	      They're back in /tmp now.

	commit 5a569509b491d43bfcb5c72e85a6d7374a583228
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 11 17:44:02 2008 +0000

	    * Provide a minimal /etc/passwd in the chroot to keep some builders
	      happy.

	commit 7c54f1603f0c793bfc1f191aaa0ec71441038515
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 11 17:00:12 2008 +0000

	    * Do chroot builds in a private namespace.  This means that all the
	      bind-mounts we do are only visible to the builder process and its
	      children.  So accidentally doing "rm -rf" on the chroot directory
	      won't wipe out /nix/store and other bind-mounted directories
	      anymore.  Also, the bind-mounts in the private namespace disappear
	      automatically when the builder exits.

	commit 07cdfb09fb74cf8e1c3c70c070ad20b5d1119fcf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 11 14:30:25 2008 +0000

	    * Open the connection to the daemon lazily (on demand) so that
	      read-only operations (like nix-env -qa) work properly when the
	      daemon isn't running.

	commit a0766eca270390c2181c7f31f27f93629b19f4a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 21:07:29 2008 +0000

	    * Build on Debian 4.0 (GCC 4.1.1).

	commit cd16d5dc3d86c6c877514c291ce56b09746708af
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 17:56:12 2008 +0000

	    * Doh.

	commit 5b949241a59c417b05dcbde3d65bd02cbcdf7d84
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 17:54:14 2008 +0000

	    * Build some 64-bit RPMs/Debs.

	commit 67958f21df2cac2adfb8b8ae33a4200f49d6add6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 16:55:22 2008 +0000

	    * Be sure to clean up the daemon if the test fails.

	commit d91dc086bb61613f42fa5c2663e1c82e0567f78a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 16:51:36 2008 +0000

	commit 9ac3f5df9c29e35b38539c3dca753eacc9b1393d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 16:51:16 2008 +0000

	    * Propagate --max-silent-time to remote machines.

	commit bcfe98acffbefea734f51523b386868ae443c111
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 16:35:47 2008 +0000

	    * Prefer building on a remote machine over a local machine.  This
	      makes more sense for the build farm, otherwise every nix-store
	      invocation will lead to at least one local build.  Will come up with
	      a better solution later...

	commit 9850262a72d1eb77c8f36cf44a9a4aaffedc5d6b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 15:25:28 2008 +0000

	    * Build RPMs, Debs, coverage analysis.

	commit 909fbb9de1e3e2d020a3dd000b9009a5ff1aaeca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 14:29:41 2008 +0000

	    * When using build hooks, for any nix-store -r build operation, it is
	      necessary that at least one build hook doesn't return "postpone",
	      otherwise nix-store will barf ("waiting for a build slot, yet there
	      are no running children").  So inform the build hook when this is
	      the case, so that it can start a build even when that would exceed
	      the maximum load on a machine.

	commit 5dfba0b4db24f4943c5b529eb3b092a64bcd6b18
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 13:36:52 2008 +0000

	    * Force allocation of a pseudo-terminal to clean up the remote
	      nix-store process when the connection is interrupted.

	commit 9ccdb80de32cf8ff4e0f84c7011b5fbbfaf73c01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 13:13:31 2008 +0000

	    * Don't ignore errors from writing to stderr.  That way, when
	      nix-store -r (or some other operation) is started via ssh, it will
	      at least have a chance of terminating quickly when the connection is
	      killed.  Right now it just runs to completion, because it never
	      notices that stderr is no longer connected to anything.  Of course
	      it would be better if sshd would just send a SIGHUP, but it doesn't
	      (https://bugzilla.mindrot.org/show_bug.cgi?id=396).

	commit 9fd9c4c63559e21dde62b719a1665f9bc6c2155e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 12:20:06 2008 +0000

	    * Support multiple system types per remote machine, e.g. a machine
	      list like

	        root@example.org x86_64-linux /root/.ssh/id_buildfarm 1
	        root@example.org i686-darwin  /root/.ssh/id_buildfarm 1

	      This is possible when the Nix installation on example.org itself has
	      remote builds enabled.

	commit 63b8f09d8d8532e67009b7233f8f81e9326353ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 10:45:47 2008 +0000

	commit f8713e1287e2641c3d2550f7af1a445c77b8552a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 10:40:41 2008 +0000

	    * Dirty hack to make nix-push work properly on derivations: the
	      derivation should be a source rather than a derivation dependency of
	      the call to the NAR derivation.  Otherwise the derivation (and all
	      its dependencies) will be built as a side-effect, which may not even
	      succeed.

	commit 82ae85de2759eaa68bb2411a1f0a640cf9f8e76a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 18:05:14 2008 +0000

	    * addToStore() in nix-worker: don't write the NAR dump received from
	      the client to a temporary directory, as that is highly inefficient.

	commit 5eaf644c99c78ed89b2cab1d10d630435fd55d28
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 17:30:32 2008 +0000

	    * A simple API for parsing NAR archives.

	commit cdee3174190c237bbf36955a5faa3896f564b7a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 17:02:29 2008 +0000

	    * Backwards compatibility.

	commit d95b68fde32ab9f6b6aac052604b90b5ce4523d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 16:15:38 2008 +0000

	commit ff762fb499be220ccd680f3bf68dca44a902a5ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 16:10:17 2008 +0000

	    * Pass HashType values instead of strings.

	commit 1307b222239da8e503d22ad9316789e30b4e2431
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 15:51:17 2008 +0000

	    * Made addToStore() a lot more efficient: it no longer reads the path
	      being copied 3 times in the worst case.  It doesn't run in constant space,
	      but it didn't do that anyway.

	commit 64519cfd657d024ae6e2bb74cb21ad21b886fd2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 15:06:30 2008 +0000

	    * Unify the treatment of sources copied to the store, and recursive
	      SHA-256 outputs of fixed-output derivations.  I.e. they now produce
	      the same store path:

	      $ nix-store --add x
	      /nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x

	      $ nix-store --add-fixed --recursive sha256 x
	      /nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x

	      the latter being the same as the path that a derivation

	        derivation {
	          name = "x";
	          outputHashAlgo = "sha256";
	          outputHashMode = "recursive";
	          outputHash = "...";
	          ...
	        };

	      produces.

	      This does change the output path for such fixed-output derivations.
	      Fortunately they are quite rare.  The most common use is fetchsvn
	      calls with SHA-256 hashes.  (There are a handful of those is
	      Nixpkgs, mostly unstable development packages.)

	    * Documented the computation of store paths (in store-api.cc).

	commit 09bc0c502c4a52baf0bd363d8ee5f18d49244f73
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 29 00:31:39 2008 +0000

	    * Install the release notes.

	commit 5d4eb9dd07ddd589ec03582c3eeb82d490023282
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 01:13:29 2008 +0000

	    * Moved the build farm job for building Nix to the Nix tree.

	commit 0c478d2f4d7459c4af4e7608ed45ae3b2f09c7dc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 02:30:35 2008 +0000

	    * Ignore carriage returns.

	commit 5024bde8f407582c9cb5a916f3b5603184f76eb7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 01:06:15 2008 +0000

	    * Handle prematurely ended logfiles, i.e. make sure we emit enough
	      close tags.

	commit 2ab09a55cf06f547f7b6e94870259e1a51dbcf18
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 21:51:58 2008 +0000

	    * Bump the version number.

	commit 6bbff48079b27b529f0359bb9e6731dba1ad71db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 17:22:42 2008 +0000

	commit b8eb32f4d22e42d7c17a7da7aed4cb864eee8902
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 16:42:52 2008 +0000

	    * Urgh.

	commit bba87589cce9629891c0094e5b5566d15a09c515
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 16:28:04 2008 +0000

	commit f3e2e6076abdd60dc6d6a4237c0cb0f130cc5271
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 16:10:55 2008 +0000

	commit 53cca4a445e9dd429302765805d9563a8a176832
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 16:06:13 2008 +0000

	commit 4213b8d8ec8cf478e43b0ec3dc4068e5e55f097a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 15:44:59 2008 +0000

	    * Urgh.

	commit eb86b6f5a5429075866eca40d3cc4b864e7499ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 15:08:39 2008 +0000

	commit 3d2035ea86ce70c3a9f90120578271399ffd961e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 15:08:34 2008 +0000

	    * Blindly doing a replacement of occurences of $bindir (when running
	      the tests) is a bad idea when $bindir = /usr and some programs (like
	      perl) live there.  Fortunately it doesn't seem to be needed anymore.

	commit 285d26374aac69d2bbd1df31bc76686ad39171a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 14:14:35 2008 +0000

	    * Don't set the prefix to /nix by default, rather use the Autoconf
	      default of /usr/local.  However, localstatedir and storedir are set
	      to /nix/var/nix and /nix/store respectively unless they're
	      explicitly overriden.

	commit a55113411fe8e6ef39e24c79564e39f07f5a8fdf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 12:25:11 2008 +0000

	    * Nix daemon: reload the configuration file after forking (NIX-100).

	commit c202523e5304c41ef9a6c7a54951bf39a33ff26e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 12:01:05 2008 +0000

	commit aab530e9712baf802bcb48f03440a915dbc37ee9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 23:26:19 2008 +0000

	    * Primop builtins.storePath for declaring a store path as a
	      dependency.  `storePath /nix/store/bla' gives exactly the same
	      result as `toPath /nix/store/bla', except that the former includes
	      /nix/store/bla in the dependency context of the string.

	      Useful in some generated Nix expressions like nix-push, which now
	      finally does the right thing wrt distributed builds.  (Previously
	      the path to be packed wasn't an explicit dependency, so it wouldn't
	      be copied to the remote machine.)

	commit 60564410ef34db8fd3c9be759bdc687366f24e8e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 17:50:25 2008 +0000

	    * Patterns.

	commit 2668a43388d26d9ce740a54e8c4f0ec583ebf120
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 17:27:52 2008 +0000

	commit 63ccd724968569455bb7d54f0badcfec18d18e9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 17:00:32 2008 +0000

	    * Updated the manual.

	commit e13da525a7c16200f451fafb832993b47d407418
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 16:27:07 2008 +0000

	    * Files in the info directory starting with "." are temporary files
	      and don't indicate path validity.

	commit 5d250ad1eae704106c7030ab984c929d7aef8f8f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 16:26:34 2008 +0000

	    * nix-store --dump-db: be more streamy.

	commit 7509d70f9ddec7d28911e6b6f2145bc50a923e9f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 15:20:46 2008 +0000

	    * Documented some of the sharing mechanisms.

	commit 2369b122d19c7a08fc6e38e5a8aab90636ed4132
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 13:19:09 2008 +0000

	    * Install documentation in $(docdir) (i.e. share/doc/nix).

	commit 6c2c771af7b1fc35a33e1faf0e4e7b266fe44e79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 13:18:46 2008 +0000

	    * Removed obsolete option.

	commit 07d3a38726aeb9544212c14c8db5bdcdb7da785b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 11:58:33 2008 +0000

	    * Remove references to Berkeley DB, including most of the
	      troubleshooting section.  W00t.

	commit f5325d292d79f174f73b35ed886ae83bb80896cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 10:59:36 2008 +0000

	    * Release notes.

	commit fa791116a35479bd295f5666c8d35fba60e0c98d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 14:43:40 2008 +0000

	    * Get rid of nix-pack-closure / nix-unpack-closure, they're redundant.

	commit 3f4ed681c2e16ab7a73e31835a6a7e29d5857dd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 14 16:50:01 2008 +0000

	    * Prevent zombies.  Previous the SIGCHLD handler only reaped one
	      zombie at a time, so if multiple children died before the handler
	      got to run, some of them would not be cleaned up.

	commit 6fedb7aa0f76c34bccedd14095bcc7824006489d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 14 15:46:45 2008 +0000

	    * Restore SIGPIPE to SIG_DFL when running the builder.  This prevents
	      subtle and often hard-to-reproduce bugs where programs in pipes
	      either barf with a "Broken pipe" message or not, depending on the
	      exact timing conditions.  This particularly happened in GNU M4 (and
	      Bison, which uses M4).

	commit a519bb063505a8d39e6b1e12f130d66771676e23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 12 11:08:27 2008 +0000

	    * Some somewhat ad hoc mechanism to allow the build farm to monitor
	      build progress.

	commit 96598e7b06dad0de082730cab8992eacc440e535
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 11 15:11:10 2008 +0000

	    * Pass the --no-build-output flag to the daemon.

	commit 4166b11a53f16365f9becfa4f29f15047fc221af
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 11 14:59:20 2008 +0000

	    * Add /dev/pts to the default nix.conf.

	commit 2b7c839b4e20d53e097036d854fbd52dbbc16dd6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 11 14:58:37 2008 +0000

	    * Typo.

	commit 709b55ee0281bc2d587dff6f60ec189b010800f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 29 15:34:48 2008 +0000

	    * Put the chroots under /nix/var/nix/chroots to reduce the risk of
	      disasters involving `rm -rf' on bind mounts.  Will try the
	      definitive fix (per-process mounts, apparently possible via the
	      CLONE_NEWNS flag in clone()) some other time.

	commit c98ea254dcb6384b686a88657fd800ad7655e4a5
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Oct 16 21:04:32 2008 +0000

	    libstore: Always mount `/dev/pts' individually.

	    This fixes problems such as Tcl's PTY handling:

	      ERROR: The system has no more ptys.  Ask your system administrator to
	      create more.

	commit 9d6d50269bef214473580a879f6194e02692fe16
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 14:16:03 2008 +0000

	    * Bug fix for building on some old installations (contributed by Pjotr).

	commit fa61ee70ee80b2b223fae86ee197987aa70499b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 18 09:08:54 2008 +0000

	    * Fix `--from-profile'.

	commit f32fef1b075f63ecf8c7351c5e67d4dd95c0fb80
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 17 14:52:35 2008 +0000

	    * GC option `--max-atime' that specifies an upper limit to the last
	      accessed time of paths that may be deleted.  Anything more recently
	      used won't be deleted.  The time is specified in time_t,
	      e.g. seconds since 1970-01-01 00:00:00 UTC; use `date +%s' to
	      convert to time_t from the command line.

	      Example: to delete everything that hasn't been used in the last two
	      months:

	      $ nix-store --gc -v --max-atime $(date +%s -d "2 months ago")

	commit 4af2fdba6d709d0b9bb77dd58ceb6e16d6cd4cfa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 17 13:00:55 2008 +0000

	    * Typo.

	commit c987061aa401eaad984aaa3058aa0506df4f46da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 17 12:54:07 2008 +0000

	    * Some refactoring.  Better output with `-v' for --use-atime.

	commit 77afd97a996a0bde569140b512879fbde83bf4a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 17 12:53:33 2008 +0000

	    * nix-store --gc / --delete: show how many store paths were deleted.

	commit 7ab68961e4d7c30485efde1fb9dcb6edbdea9b5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 17 10:02:55 2008 +0000

	    * Garbage collector: added an option `--use-atime' to delete paths in
	      order of ascending last access time.  This is useful in conjunction
	      with --max-freed or --max-links to prefer deleting non-recently used
	      garbage, which is good (especially in the build farm) since garbage
	      may become live again.

	      The code could easily be modified to accept other criteria for
	      ordering garbage by changing the comparison operator used by the
	      priority queue in collectGarbage().

	commit 2b2aa8a820b10aeaf8bb8f1eb70937d04869c045
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 8 11:02:15 2008 +0000

	    * Doh.

	commit 7933cdc6dcbc5e6bc64e38c986b952e5ecd2dfa1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 2 09:21:38 2008 +0000

	    * When writing the user environment manifest, filter out non-string
	      attributes from the meta attribute.  Not doing so caused nix-env to
	      barf on the "psi" package, which has a meta.function attribute,
	      the textual serialisation of which causes a gigantic string to be
	      produced --- so big that it causes nix-env to run out of memory.

	      Note however that "meta" really only should contain strings.
	      meta.function should be passthru.function.

	commit 0f0dbe8c0c958f14461ad998c0847a06f95eca1d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 29 14:38:04 2008 +0000

	    * Extend the ATerm suppressions to 64-bit.

	commit 311c222f472e93c9eb9987526b6caf80774c3d49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 29 13:59:03 2008 +0000

	commit 2a01d06da6a5e7f4eda3f13c5c4c1a20d0e02d94
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Fri Aug 29 08:34:38 2008 +0000

	    Added nix-http-export.cgi to extra distributed scripts; so it can be installed from releases, not only from SVN.

	commit 7718b19389fd02407860ce587196adc04f80bb5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 27 17:20:25 2008 +0000

	    * Explicitly set PWD to prevent problems with chroot builds.  In
	      particular, dietlibc cannot figure out the cwd because the inode of
	      the current directory doesn't appear in .. (because getdents returns
	      the inode of the mount point).

	commit 9cc0da84533f1ced2ed89ea807ac18b1078f7f88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 27 16:03:03 2008 +0000

	    * Create a /tmp with 1777 permission in the chroot.  Some builders
	      need a writable /tmp (they don't respect $TMPDIR).

	commit 99dc3e613a2ce30474fff92151abf165d017c26d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 26 14:05:59 2008 +0000

	    * Require that __overrides is defined as a non-recursive attribute
	      (which means it can only be defined via "inherit"), otherwise we get
	      scoping bugs, since __overrides can't be recursive (or at least, it
	      would be hard).

	commit d06be428f6dd046c89a69995d5328b8250bec3d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 15:49:22 2008 +0000

	    * Disable chroot builds for fixed-output derivations so that we don't
	      need /etc in the chroot (in particular, /etc/resolv.conf for
	      fetchurl).  Not having /etc/resolv.conf in the chroot is a good
	      thing, since we don't want normal derivations to download files.

	commit abec1c000410a1533f9c80357be6061730d8c6aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 14:31:29 2008 +0000

	    * Evaluate attributes in sorted order for better determinism.

	commit c4f1c2114b520f5c9d589780dd7662efbfd9cf63
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 14:15:56 2008 +0000

	    * Minor simplification.

	commit 49829da8b450a1e869168428171334e6d9d0eb45
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 13:32:27 2008 +0000

	    * Doh.

	commit b428adc267f23441be2f801239641aaf8419e4ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 13:31:57 2008 +0000

	    * Strip off the `.nix' suffix from the attribute name for files in
	      ~/.nix-defexpr,  otherwise the attribute cannot be selected with the
	      `-A' option.  Useful if you want to stick a Nix expression directly
	      in ~/.nix-defexpr.

	commit cc826dc03e738c1d6c6fd6de0dfd9600f6289b72
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 22 14:32:29 2008 +0000

	    * Simplify the Valgrind suppressions using wildcards.

	commit 51e2dda58c4aa08c4833bdab6b0bb0fad8e1c595
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 19 12:46:43 2008 +0000

	    * Some more ATerm Valgrind suppressions.

	commit b7ff182b6ef1f9d8db87de040b4ffc75db1cb9bc
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Thu Aug 14 22:01:43 2008 +0000

	    Fixing an obvious typo in override code. I do not know whether it works correctly after the change, but at least it ca nbe compiled now.

	commit ca07f3e37015fa85fbfc5afd868249d457e649c9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 16:59:37 2008 +0000

	    * Another experimental feature: a way to truly override attributes in
	      a rec.  This will be very useful to allow end-user customisation of
	      all-packages.nix, for instance globally overriding GCC or some other
	      dependency.  The // operator doesn't cut it: you could replace the
	      "gcc" attribute, but all other attributes would continue to
	      reference the original value due to the substitution semantics of
	      rec.

	      The syntax is a bit hacky but this is to allow backwards
	      compatibility.

	commit 9279174dde3e1a450e63e866d2683352dd8238d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 14:00:44 2008 +0000

	    * Added an experimental feature suggested by Andres: ellipses ("...")
	      in attribute set pattern matches.  This allows defining a function
	      that takes *at least* the listed attributes, while ignoring
	      additional attributes.  For instance,

	        {stdenv, fetchurl, fuse, ...}:

	        stdenv.mkDerivation {
	          ...
	        };

	      defines a function that requires an attribute set that contains the
	      specified attributes but ignores others.  The main advantage is that
	      we can then write in all-packages.nix

	        aefs = import ../bla/aefs pkgs;

	      instead of

	        aefs = import ../bla/aefs {
	          inherit stdenv fetchurl fuse;
	        };

	      This saves a lot of typing (not to mention not having to update
	      all-packages.nix with purely mechanical changes).  It saves as much
	      typing as the "args: with args;" style, but has the advantage that
	      the function arguments are properly declared (not implicit in what
	      the body of the "with" uses).

	commit db4f4a842515392a6b40f5c86b2ef885c1278451
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 13:02:19 2008 +0000

	    * Backward compatibility check to prevent nixos-rebuild from barfing
	      when upgrading Nix.

	commit 1b962fc7206bf3134b2a2097d3db0ee6d2863c47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 12:53:29 2008 +0000

	    * @-patterns as in Haskell.  For instance, in a function definition

	        f = args @ {x, y, z}: ...;

	      `args' refers to the argument as a whole, which is further
	      pattern-matched against the attribute set pattern {x, y, z}.

	commit e8188384129bda7c8cdd5e17023ab05047551e6e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 10:14:34 2008 +0000

	    * "pattern" non-terminal.

	commit efe4b690ae4de5f0adea99abb1176a64a099d433
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 10:04:22 2008 +0000

	    * Refactoring: combine functions that take an attribute set and
	      functions that take a single argument (plain lambdas) into one AST
	      node (Function) that contains a Pattern node describing the
	      arguments.  Current patterns are single lazy arguments (VarPat) and
	      matching against an attribute set (AttrsPat).

	      This refactoring allows other kinds of patterns to be added easily,
	      such as Haskell-style @-patterns, or list pattern matching.

	commit c03b729319997b4e38c3f586d7c76352228b22e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 09:26:30 2008 +0000

	    * Increase the sleep periods a bit to make the test less likely to
	      fail on slow machines.  Of course it would be better if this test
	      wasn't timing dependent...

	commit 5664b6d7ba28453ccdd6d1c07a707f98608500ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 11 13:36:40 2008 +0000

	    * Removed the "valid values" feature.  Nobody uses it anyway.

	commit b455c4c45cba49397952e662cace85aedb6848fe
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Wed Aug 6 19:43:53 2008 +0000

	    Updates to nix-reduce-build

	    Common code in local build package sources refactored out in a function; before building the real set of derivations needed is found (slightly slower for only one build strategy, but less garbage on output and better performance for multiple build strategies).

	    Now you have full choice of best-effort build regardless of method (substituters or actual build), using substituters, building only fixed derivations (should get you all the downloads) and local build without even trying substituters.

	    Some minor fix in the help text about behavior with no package sources.

	commit 72f3ea7358f2c85ced46da3b958505951657f9d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 11:03:05 2008 +0000

	    * Moved some stuff to the Nixpkgs manual.
	    * Updated the release notes.

	commit 98b07466fbb9fc736bba0b93731117fd650e7349
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 10:57:53 2008 +0000

	    * Better error checking of the data from the substituters.

	commit 339c1420096c254b20b5b16b79a075b2c646ee70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 16:21:45 2008 +0000

	    * Use optimistic profile locking for nix-env operations like `-i' and
	      `-u'.  Instead of acquiring an exclusive lock on the profile for the
	      entire duration of the operation, we just perform the operation
	      optimistically (without an exclusive lock), and check at the end
	      whether the profile changed while we were busy (i.e., the symlink
	      target changed).  If so, the operation is restarted.  Restarting is
	      generally cheap, since the build results are still in the Nix store.
	      Most of the time, only the user environment has to be rebuilt.

	commit a87b5256e27bb4ac359aa98ce11ff19c5cecd9fa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 16:16:49 2008 +0000

	    * Fix the tests.

	commit 001b3f06ecf7356cdef53f4ece4ba1cd87b97e77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 14:58:50 2008 +0000

	    * `nix-env --set': support --dry-run.

	commit 7592f48c83b2f333fa7c5e85fd2fb64445b1c6ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 13:46:01 2008 +0000

	    * nix-build: `--dry-run' flag.

	commit a1d310b6b5c710215265c1cd0d5893248ed50f92
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 13:44:46 2008 +0000

	    * `nix-store --realise': print what paths will be built/downloaded,
	      just like nix-env.
	    * `nix-store --realise': --dry-run option.

	commit 42043953c3558f054dc5b9bb3da605a4a3ed6314
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 13:15:47 2008 +0000

	    * Doh.

	commit 5adbb0aabe54479304453bf5e544f84b40ee7dd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 13:15:35 2008 +0000

	    * build.cc: only use a substituter if it returns info for a path.

	commit 5b1052663a35940fc99ae6a8fcf6e707ae939fef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 13:11:09 2008 +0000

	    * Always show what paths we're going to build/download (as in
	      --dry-run).  Maybe there should be an option to turn this on/off?

	commit c4f98941ed7e5e07786d92fc0be4435878f9b3cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 12:29:04 2008 +0000

	    * nix-env --dry-run: show the total size of the substituter
	      downloads.

	commit 03427e76f11fe1d918020d28bdb69b2fb348ee96
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 11:44:50 2008 +0000

	    * querySubstitutablePathInfo: work properly when run via the daemon.
	    * --dry-run: print the paths that we don't know how to build/substitute.

	commit b3c26180e33856f16e1e5ceea30b951065b4ebc1
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sat Aug 2 16:43:25 2008 +0000

	    Updates to nix-reduce-build: only realize fixed derivations if user asks so, or only use substituters. Oh, and add possibility to use : for things like /etc/nixos/nixpkgs:-A:gnused

	commit 3c92ea399d717dc45b3fa91424c0dadc0239ebf2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 2 12:54:35 2008 +0000

	    * Make nix-env --dry-run print the paths to be substituted correctly
	      again.  (After the previous substituter mechanism refactoring I
	      didn't update the code that obtains the references of substitutable
	      paths.)  This required some refactoring: the substituter programs
	      are now kept running and receive/respond to info requests via
	      stdin/stdout.

	commit fc691e1cbdcddb8c553cba06d4089bc1b60e3d98
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 14:52:25 2008 +0000

	    * Print a better error message when a non-derivation attribute set is
	      coerced to a string.

	commit 096198d11f14a1fff2eb335a572c0b20ae52dbf8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 23 16:02:58 2008 +0000

	    * A quick hack to make nix-prefetch-url support mirror:// URLs.  It
	      requires that $NIXPKGS_ALL points at a Nixpkgs tree.

	commit 660244f65f5d3cb445c874b25fcf6494b3c1df3a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 23 09:38:38 2008 +0000

	    * Make sure that copy-from-other-stores.pl is built.

	commit e139d7fc6896ec9eaca3944828e37ec61894d8e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 18 20:03:12 2008 +0000

	    * Fix the tests.

	commit 989176c56e1996a7df87bb501ad09aed1f3b395d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 18 15:34:46 2008 +0000

	    * Allow read-only access to the store (e.g., non-root users on NixOS
	      can do operations like "nix-store -qR <path>" even without the Nix
	      daemon).

	commit 8bc591a6f07ee577b5aa594dfa705f3ddabd269d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 18 13:05:10 2008 +0000

	    * Use the copy-from-other-stores substituter by default.  Of course,
	      it only does something if $NIX_OTHER_STORES (not really a good
	      name...) is set.
	    * Do globbing on the elements of $NIX_OTHER_STORES.  E.g. you could
	      set it to /mnts/*/nix or something.
	    * Install substituters in libexec/nix/substituters.

	commit 15f39aba8ceb2dabc4f019bd1c985ca9d13bfdb4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 12 18:58:24 2008 +0000

	    * Quick prototype of a substituter that copies paths from other Nix
	      stores (typically remote Nix stores mounted via e.g. NFS, or the Nix
	      store on the NixOS installation CD).  Example use:

	      $ sshfs foo@example.org:/ /mnt
	      $ NIX_OTHER_STORES=/mnt/nix \
	        NIX_SUBSTITUTERS=.../copy-from-other-stores.pl \
	        nix-env -i foo

	      This will be especially useful for the installation CD since it
	      doesn't require a manifest for the CD contents.

	commit 7cd88b1dec29f33188e789d780ec2e4ebb155d20
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 11 13:29:04 2008 +0000

	    * Generalised the dependencyClosure primop to builtins.genericClosure,
	      which is hopefully more useful.
	    * New primops: length, mul, div.

	commit d567baabbd99fdb92e67295a77aef76ef970e65c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 1 10:10:32 2008 +0000

	    * Export the nix-env derivation name parsing and version comparison
	      logic through the `parseDrvName' and `compareVersions' primops.
	      This will allow expressions to easily check whether some dependency
	      is a specific needed version or falls in some version range.  See
	      tests/lang/eval-okay-versions.nix for examples.

	commit b3b0b2a29e2842784f80cf839f84af18b0b83e90
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 23 13:52:28 2008 +0000

	    * `make ext-clean': remove the bzip2 build.

	commit 6c8641a542aef69698ae05f568e8b8d67abfea8b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 19:17:05 2008 +0000

	commit 5af84139a8d04ad9fdb2c02bc242ce5cd50b87b9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 15:20:33 2008 +0000

	    * --max-freed: support values >= 4 GB.

	commit d3aa183beb774c20cb77052248cf45e684d134fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 14:20:16 2008 +0000

	    * Garbage collector: option `--max-freed' to stop after at least N
	      bytes have been freed, `--max-links' to stop when the Nix store
	      directory has fewer than N hard links (the latter being important
	      for very large Nix stores on filesystems with a 32000 subdirectories
	      limit).

	commit a8f3b02092fcc08fb25fb327d0188ffc888120bb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 14:13:00 2008 +0000

	    * `nix-store --optimise': handle files with >= 32000 hard links.
	      (There can easily be more than 32000 occurrences of the empty file.)

	commit a72709afd8ffe35613a6bacd698a36395e095a48
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 09:34:17 2008 +0000

	    * Some refactoring: put the GC options / results in separate structs.
	    * The garbage collector now also prints the number of blocks freed.

	commit 934c58aa381f5eacc86304ba7f5c6775ff456cd5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 17 08:12:12 2008 +0000

	    * Use bzip2 1.0.5.

	commit ee8f15930d9b2fb31b0125aac3ccd9a92d04c556
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jun 15 15:10:03 2008 +0000

	    * Test instrumentation.

	commit f351834f77441e14238b3348cfe211fa6f6f4e3a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jun 14 16:03:02 2008 +0000

	    * nix-worker: clean up the temporary root for the worker processes
	      in /nix/var/nix/temproots.

	commit 94fd46fa1c4655a609b3a67bef447c9547eb5080
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jun 14 16:02:31 2008 +0000

	    * Note.

	commit 955b8841cd2a32afd7f2be56b198ce4d163f3b46
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sat Jun 14 08:48:40 2008 +0000

	    Also trying to build derivers in case we cannot get substituters

	commit 18e27629d301ceef4c6f896f22197f8daee24da3
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sat Jun 14 08:30:35 2008 +0000

	    Added local best-effort builds (i.e. one failure does not ruin all packages you would like to see built)

	commit 826b271d9aead1a0f8e1678e7c2814066fffb983
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 13 18:25:24 2008 +0000

	    * Garbage collector: don't do a complete topological sort of the Nix
	      store under the reference relation, since that means that the
	      garbage collector will need a long time to start deleting paths.
	      Instead just delete the referrers of a path first.

	commit 30c9f909b24d64d8fabc2bb450e03744cc69c9a0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 13 17:21:20 2008 +0000

	    * Print some progress info during the early GC stages.

	commit 194c66eeebdd6920716c82eeb259083d7bbd84c5
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Fri Jun 13 14:34:19 2008 +0000

	    Stupid error in script

	commit f903d86740c918176bf299a114a03a49a17aa0b9
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Fri Jun 13 13:53:14 2008 +0000

	    OK, I will believe that fix does no worse..

	commit ce85b55cf0c81b9de1a1633bc8f200f1d0ed0d4c
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Thu Jun 12 17:45:38 2008 +0000

	    Updated help text

	commit 4532e4b90da3f4410e3c6ea4766e4e8912aa2cab
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Thu Jun 12 16:26:53 2008 +0000

	    Added verbosity for nix-reduce-build

	commit 2818b7cee6729043b9eeef5b6eb6bba68e93b1e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 11 15:39:38 2008 +0000

	    * Updated some URLs.

	commit 997b95a4af9b70bc36c57a681c1637499c5ed18c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 10 10:08:15 2008 +0000

	    * Fixed compatibility with old versions of "wc" that print whitespace
	      before the count.

	commit b0e92f6d474ce91d7f071f9ed62bbb2015009c58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 9 13:52:45 2008 +0000

	    * Merged the no-bdb branch (-r10900:HEAD
	      https://svn.nixos.org/repos/nix/nix/branches/no-bdb).

	commit 4ed01ed791b3bb7a4010049c6128aa2d49a81a29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 9 13:42:13 2008 +0000

	    * Updated some URLs (did this a long time ago but forgot to
	      commit...).

	commit c41a3ec3a9ebf0bfde5fe23fa10d800afe2d9bd9
	Author: Sander van der Burg <s.vanderburg@tudelft.nl>
	Date:   Wed Jun 4 14:36:46 2008 +0000

	    First attempt to update Nix SDF grammar to match the actual bison grammar

	commit bd955e15e1aac8a1490a680b9f5cfcce29f2331a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 21 11:17:31 2008 +0000

	    * GCC 4.3.0 (Fedora 9) compatibility fixes.  Reported by Gour and
	      Armijn Hemel.

	commit 9819bb20da130509ab62f303267331c2403b043c
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sun May 11 15:54:30 2008 +0000

	    Added support for file:// archive (.nar.gz) repositories to nix-reduce-build. /tmp/nix-export created by nix-http-export.cgi is OK.

	commit b4bc8b76160ff81e0e5489b88ff3ca8cbd587131
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Wed May 7 14:18:28 2008 +0000

	    --proxy=proxy:3128

	commit b1e321d6ce0b4ef2e042021939a3d6be160841f8
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Tue Apr 29 04:03:54 2008 +0000

	    Added http alternative transport for nix-reduce-build

	commit 658816ddc9b6c22ddb9de27b82fc15af2a473723
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 10 09:54:23 2008 +0000

	    * Make really sure that we use bash.  The line

	        NEED_PROG(shell, bash)

	      actually uses the content of $shell if set, which often points at
	      /bin/sh.

	commit 72034ab35d5ba8c2b229fe36375a15b2a8b5b68c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 9 05:57:01 2008 +0000

	    * sockaddr_un doesn't allow path names of more than 108 characters.
	      This isn't usually a problem, except that it causes tests to fail
	      when performed in a directory with a very long path name.  So chdir
	      to the socket directory and use a relative path name.

	commit f8985d195e600387fd03137872bb27cec65b2492
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 28 17:52:33 2008 +0000

	    * Fix for NIX-101 (should use an absolute path for call to nix-hash).

	commit 329025253d38361ee3d13af0728f99c756c86b7a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 27 13:45:17 2008 +0000

	    * Use /tmp/nix-build-<drvpath>-<counter> instead of
	      /tmp/nix-<pid>-<counter> for temporary build directories.  This
	      increases purity a bit: many packages store the temporary build path
	      in their output, causing (generally unimportant) binary differences.

	commit 5bb08db55b57b03608b15f599f0d5d9dbda13d74
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 14:57:16 2008 +0000

	    * Updated URL.

	commit 98968fbb63a1a049b2439bfc2a7d53e5b51471e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 18:15:20 2008 +0000

	    * Disable the don't-run-as-root sanity check because it breaks RPM
	      builds (which are done as root...).

	commit 2f1e2cf6326d25befc9962add29d6fe2e7246b1a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 14:59:33 2008 +0000

	    * Note that the SDF grammar isn't used.

	commit f10686811053f79b5c60c97a70dde4f638fad840
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 10:16:36 2008 +0000

	    * Cleanup.

	commit f789ea1d098c2755e97f7ee6ebc418f71e5f56f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 1 21:05:33 2008 +0000

	    * A transaction is unnecessary since the path cannot be
	      garbage-collected (it's a temporary root).

	commit d7caac3e811c0c9b284c8bbbdf5bc1dd5badd040
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 28 21:27:47 2008 +0000

	    * Don't install nix-reduce-build by default yet please, I first want
	      to understand better what it does...

	commit 11d512e7a812e750deccf616b461876fb0a342c2
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Wed Feb 27 21:26:47 2008 +0000

	    Added nix-reduce-build. You point it to some path you want to build and it fetches whatever it can from specified computers via nix-copy-closure. NOTE: You do want to set up RSA keys or ssh-agent or something... You really do want it. It will run separate ssh instances insane number of times.

	commit 0a84137c4512e0a31802e94de7795e04f8ee2198
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 21 12:01:24 2008 +0000

	    * checkVarDefs: don't check in closed terms, which don't have
	      undefined variables by definition.  This matters for the
	      implementation of "with", which does a call to checkVarDefs to see
	      if the body of the with has no undefined variables.  (It can't be
	      checked at parse time because you don't know which variables are in
	      the "with" attribute set.)  If we check closed terms, then we check
	      not just the with body but also the substituted terms, which are
	      typically very large.  This is the cause of the poor nix-env
	      performance on Nixpkgs lately.  It didn't happen earlier because
	      "with" wasn't used very often in the past.

	      This fix improves nix-env performance roughly 60x on current Nixpkgs.
	      nix-env -qa is down from 29.3s to 0.5s on my laptop, and nix-env -qa
	      --out-path is down from 229s to 3.39s.  Not bad for a 1-line fix :-)

	commit 0ed89c569f95d884fb8107a555f8a03672a0fffd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 5 13:38:07 2008 +0000

	    * Fix the parsing of

	        ''
	          '${foo}'
	        ''

	      where the antiquote should work as expected, instead of giving the
	      string "'${foo}'".

	commit 4066f450c2ea56f90eba819564a112ec5ba2ee09
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 5 13:35:49 2008 +0000

	    * Doh.

	commit e7bdde981f9460994baa805beb6906bb4aa4f947
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 5 13:25:18 2008 +0000

	    * Regression test.

	commit 66c51dc21558c6ac5149c5158df7e5b580029e84
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 29 18:17:36 2008 +0000

	    * nix-store --dump-db / --load-db to dump/load the Nix DB.
	    * nix-store --register-validity: option to supply the content hash of
	      each path.
	    * Removed compatibility with Nix <= 0.7 stores.

	commit 5b5a3af98372029f3a870cf18cc1442f1434be85
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sun Jan 20 20:44:03 2008 +0000

	    Probably fixed __exprToString

	commit 5eb5c23447b5c2bfa097416aab340d172eb416d3
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Tue Jan 15 04:32:08 2008 +0000

	    Fixed exportBuildReferenceGraph

	commit 7d0f6aed59b11ef1037e7b0ee4dae1c7288ebb45
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 4 14:22:49 2008 +0000

	    * New primop `unsafeDiscardStringContext' to get rid of string
	      contexts.  Needed to prevent unnecessary dependencies when building
	      the NixOS manual.

	commit 895c9538173a1c1d7e5f6c82e5b7a58b7d904683
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 17:53:59 2007 +0000

	    * Bumped the version number to 0.12.

	commit d4117859d61ed9560d0d6ab468735a22bfa6d076
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 16:57:12 2007 +0000

	commit e0ca6714911e34f86f6a644634ebaef86666e6dc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 02:52:17 2007 +0000

	    * More documentation.

	commit 6bdecfacbbebfaa4aa588941844713d2b31ae95c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 01:52:57 2007 +0000

	    * Documented a bunch of nix-store commands.

	commit 454f571f873eef151f382ef4ada7692d9680da77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 01:22:09 2007 +0000

	commit 4c82983010214f2588fbd7cf73265a816b7d8ac9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 01:17:25 2007 +0000

	commit f60aa2aa21f59de0d741ecb7d8a46d1bff82513c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 00:34:44 2007 +0000

	commit dedd62dd0ca0c066dd0fce32eaa7bff442bd15da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 00:08:09 2007 +0000

	    * More release notes.

	commit b5ddcf58ad1283d462fd10935708f8b24bc05135
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 30 23:59:10 2007 +0000

	    * Fix the hashDerivationModulo test.  I should really investigate
	      *why* the test failed...

	commit 59707975a39b0a444444df4eb6c2e6d19ff5e050
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 30 23:36:09 2007 +0000

	    * Documented indented string literals.
	    * Release notes.

	commit de012e76e2502cd5513cf7e7417aff6db3951cb2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 30 23:35:45 2007 +0000

	    * Don't use "store expression", it's obsolete.

	commit 2196cb67c5a47eeb822351f1669c201e16ea6ebc
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sun Dec 30 09:30:56 2007 +0000

	    Added a way to include derivation with its outputs and dependencies - exportBuildReferenceGraph

	commit df303666bceb5715e706478fad0325447a2a52f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 14 14:49:35 2007 +0000

	    * Use strsignal if available to give better error messages for
	      builders that fail due to a signal.

	commit 1e90b4189d5b922479a10eac550736d608b038fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 14 14:15:30 2007 +0000

	    * Another insane Mac OS X 10.5 compatibility hack.

	commit 485d71c54a323e967ef4f0b4c5ebf97e97d7d725
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 14 14:08:09 2007 +0000

	    * Mac OS X 10.5 compatibility: `echo -n foo' suddenly prints `-n foo'
	      instead of `foo' without a newline (with /bin/sh, not /bin/bash,
	      even though /bin/sh is also bash...).  So use printf instead.

	commit 30e4653783096c8349ef12512df12f0829764e65
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 13 22:06:19 2007 +0000

	    * Mac OS X 10.5 compatibility.

	commit 4ff1335b2e7f69c33fa3d4223fe51e109338aa90
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Wed Dec 12 02:12:58 2007 +0000

	    small udpate

	commit 3a2833daffcaf22894220837d9f9985580f5823a
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Mon Dec 10 22:16:47 2007 +0000

	    corrected --help message for nix-store a bit

	commit 764b0115d5abd529d08d16f7bac2976e4a7e0cda
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Mon Dec 10 21:17:29 2007 +0000

	    Very basic nix vim syntax highlighting

	commit b42ef9c0544009b372e3da0275553ce08cf0ea2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 6 10:20:58 2007 +0000

	    * Syntax to escape '', ${.

	commit d4950f207f18e635cc13e3ee33103fd501456384
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 4 11:42:58 2007 +0000

	    * component -> package.

	commit 6d6c68c0d29310b6eca35f58b1e68f495d6cd33a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 30 16:48:45 2007 +0000

	    * Added a new kind of multi-line string literal delimited by two
	      single quotes.  Example (from NixOS):

	        job = ''
	          start on network-interfaces

	          start script

	            rm -f /var/run/opengl-driver
	            ${if videoDriver == "nvidia"
	              then "ln -sf ${nvidiaDrivers} /var/run/opengl-driver"
	              else if cfg.driSupport
	              then "ln -sf ${mesa} /var/run/opengl-driver"
	              else ""
	            }

	            rm -f /var/log/slim.log

	          end script
	        '';

	      This style has two big advantages:

	      - \, ' and " aren't special, only '' and ${.  So you get a lot less
	        escaping in shell scripts / configuration files in Nixpkgs/NixOS.
	        The delimiter '' is rare in scripts (and can usually be written as
	        "").  ${ is also fairly rare.

	        Other delimiters such as <<...>>, {{...}} and <|...|> were also
	        considered but this one appears to have the fewest drawbacks
	        (thanks Martin).

	      - Indentation is intelligently stripped so that multi-line strings
	        can follow the nesting structure of the containing Nix
	        expression.  E.g. in the example above 6 spaces are stripped from
	        the start of each line.  This prevents unnecessary indentation in
	        generated files (which sometimes even breaks things).

	      See tests/lang/eval-okay-ind-string.nix for some examples.

	commit 633518628f48fb9c06bfd570eeca6f62696aba05
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 29 16:18:24 2007 +0000

	    * nix-env -e: support uninstalling by path, so that one can say

	        $ nix-env -e $(which firefox)

	      or

	        $ nix-env -e /nix/store/nywzlygrkfcgz7dfmhm5xixlx1l0m60v-pan-0.132

	    * nix-env -i: if an argument contains a slash anywhere, treat it as a
	      path and follow it through symlinks into the Nix store.  This allows
	      things like

	        $ nix-build -A firefox
	        $ nix-env -i ./result

	    * nix-env -q/-i/-e: don't complain when the `*' selector doesn't match
	      anything.  In particular, `nix-env -q \*' doesn't fail anymore on an
	      empty profile.

	commit 12d0a1eb753567bb2083aadb4ee3d325d3f29c70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 29 14:15:33 2007 +0000

	    * Troubleshooting entry about running out of locks.

	commit 06f95dd07ce691a1f12c8ec7fa5ad84858d81cd0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 21 13:49:59 2007 +0000

	    * New primop `readFile' to get the contents of a file as a string.

	commit c370755583d7350f4b96136eb0a6a8a7b08551b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 16 16:15:26 2007 +0000

	    * Flag `--no-build-hook' to disable distributed builds.
	    * queryDeriver in daemon mode: don't barf if the other side returns an
	      empty string (which means there is no deriver).

	commit c05783ad67ee95b5dd76d160efedc23b3acb0905
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 16 16:10:27 2007 +0000

	    * nix-store --import: add a flag --require-signature.

	commit 6784b14241c916943cd9b1b0fa0af66fb574605c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 15 16:52:40 2007 +0000

	    * nix-build: pass --argstr to nix-instantiate.

	commit ca210d2a581622e0276c5e98420189374652d24a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 15 15:33:30 2007 +0000

	    * Doh!

	commit 149e27302334b6a83bfe293c15426d1a4abf958d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 15 15:07:27 2007 +0000

	    * Don't need gc.hh.

	commit bfec245efa68f010b8687c1eee8dcf909c4d1343
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 15 14:28:08 2007 +0000

	    * Add build-remote.pl to the Nix distribution.

	commit 6fc60e2060be5958c2aad1c859ee60bae5e23980
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Thu Nov 15 03:47:12 2007 +0000

	    Added possibility to specify garbage collection levels for store paths; so packages can share intermediate results of compilation and GC will collect it automatically while never touching tarballs, for example.

	commit 5b74a5957023bd51b7ba32fc244cb08931507a52
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 5 18:12:29 2007 +0000

	    * nix-prefetch-url: don't fail if /tmp/nix-prefetch-url-<pid> exists,
	      instead use a counter just like we do for temporary build
	      directories.

	commit 5f8a203b556c649ef25b4b855ee795b6cff23e98
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 1 14:42:44 2007 +0000

	    * A rule to make a PDF version of the manual.

	commit 1511aa11ce8a529ebf7210a9090653a7d7e885d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 1 13:28:33 2007 +0000

	    * Documented some of the more obscure derivation attributes (including
	      fixed-output derivations).

	commit fa44e401a8ca5cddc2c5506984f0cd476e0b7d57
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 31 18:01:56 2007 +0000

	    * Documented multi-user Nix.

	commit e007b50eb7ba070c039fc438f49a72bd248e1b5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 29 22:16:36 2007 +0000

	commit bfea7b1f3514e4b3b4fd094969de92efa46c415d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 29 14:31:45 2007 +0000

	    * Make the `--prebuilt-only' / `-b' option work not just for queries
	      but installations/upgrades as well.  So `nix-env -ub \*' will
	      upgrade only those packages for which a substitute is available (or
	      to be precise, it will upgrade each package to the highest version
	      for which a substitute is available).

	commit 0b95603595511db693378404b0f84d4033030dec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 29 10:46:45 2007 +0000

	    * Depend on bash instead of sh (since we use a few bashisms).

	commit 42d80d11705579dbb1e8b9029e2beaa1e86baf91
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 29 10:03:07 2007 +0000

	    * On FreeBSD, sys/mount.h needs sys/param.h.

	commit d91cd305634bfe0de200cb0b062a56349249d26e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 27 16:51:55 2007 +0000

	    * Detect whether chroot / bind-mount support is available.

	commit dc6f373842ae65d6c407d8169089367d9c0d4e1a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 27 16:06:38 2007 +0000

	    * Delete the chroot directory automatically.
	    * Removed some debug messages.

	commit 9397cd30c8a6ffd65fc3b85985ea59ecfb72672b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 27 00:46:59 2007 +0000

	    * Support for doing builds in a chroot under Linux.  The builder is
	      executed in a chroot that contains just the Nix store, the temporary
	      build directory, and a configurable set of additional directories
	      (/dev and /proc by default).  This allows a bit more purity
	      enforcement: hidden build-time dependencies on directories such as
	      /usr or /nix/var/nix/profiles are no longer possible.  As an added
	      benefit, accidental network downloads (cf. NIXPKGS-52) are prevented
	      as well (because files such as /etc/resolv.conf are not available in
	      the chroot).

	      However the usefulness of chroots is diminished by the fact that
	      many builders depend on /bin/sh, so you need /bin in the list of
	      additional directories.  (And then on non-NixOS you need /lib as
	      well...)

	commit 0b4ed64d295316146fc4de8a5a2e971b771058b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 26 18:25:50 2007 +0000

	    * "trace" primop: write the trace to standard error.

	commit cd08fb3fdeaeb80f8d980f7ef2ace93cf5194c0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 24 13:54:06 2007 +0000

	commit d423968ba1d4f13abd469aa5b2e7ee5facac71d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 23 16:34:04 2007 +0000

	    * Improved introduction (actually copied mostly from the homepage).

	commit 612b3e8fa35dde4893f92b4d0a5cfb5aa040f551
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 22 15:28:32 2007 +0000

	    * Document the new primops in Nix 0.11.

	commit 35ac16e75e1fb7c948adecd64904f40b96d1d8fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 22 12:58:28 2007 +0000

	    * Move list of built-in functions to a separate file.

	commit 1db187ff690e6673433eb073088fe5169e12a4d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 22 12:46:15 2007 +0000

	commit f90d85107e5ea092f125b8e83c0cce9eddae766e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 22 12:05:30 2007 +0000

	commit f8ed2e64a5d77badf68263ac239ad9d991f23ea8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 22 12:05:18 2007 +0000

	commit f529a3be8a1c1eab6af06171c498f38508e7a729
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Mon Oct 22 01:10:19 2007 +0000

	    Added comment telling about setup-hook and propagatedBuildInputs

	commit 14e47e9c2caa7bec5778dd740ebb4a200b2b5c2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 10 14:58:00 2007 +0000

	    * Doh.

	commit d04291cfabd81f3c9e06b2dba68a4edaf6f8df87
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 10 13:52:38 2007 +0000

	    * Doh! Don't change the permissions on /nix/store.

	commit 315183f194881591480d9acd1eef685d6b64d7f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 10 13:43:04 2007 +0000

	    * nix-store --optimise: flag "--dry-run" to just query what the disk
	      savings would be.

	commit a8629de827e4d5a67372614727ce6fcc26423f8c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 9 22:14:27 2007 +0000

	    * New command `nix-store --optimise' to reduce Nix store disk space
	      usage by finding identical files in the store and hard-linking them
	      to each other.  It typically reduces the size of the store by
	      something like 25-35%.  This is what the optimise-store.pl script
	      did, but the new command is faster and more correct (it's safe wrt
	      garbage collection and concurrent builds).

	commit 27a0662828cb5ac9da198f35754750f12628d546
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 9 12:51:25 2007 +0000

	    * listToAttrs: the list now should consist of {name, value} attribute
	      sets instead of {attr, value}.  "name" is better than "attr" because
	      the *combination* of the two forms the attribute.

	commit 8a9fe6c11c4cf6ae9f3648ece844a8f392fc1cc0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 19 14:01:41 2007 +0000

	    * Manpage for nix-copy-closure.

	commit 27f57c901800c085ecc4667748b2c3a2485ee8cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 18 14:01:14 2007 +0000

	    * Ignore dangling symlinks in ~/.nix-defexpr.

	commit f3441e6122c3ce8f81576bfe79897a638c8f82e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 18 09:11:20 2007 +0000

	    * Pass various options to the worker so that flags like -K or -j work
	      in multi-user Nix (NIX-72).
	    * Client/worker: exchange a protocol version number for future
	      compatibility.

	commit 26f981c2e52bb8dc91311f9a4ca53f7e37233e5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 18 08:26:55 2007 +0000

	    * Remove garbage.

	commit c8ea8a09b88ec89ef9749e9d8bae09c7cada5d1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 17 19:24:07 2007 +0000

	    * nix-env -qa: make the "-A" flag do the expected thing, namely follow
	      the given attribute path (just as -A does with other option)
	      (NIX-83).  So you can now say

	      $ nix-env -qa -A nixpkgs_unstable.gnome \*
	      atk-1.12.4
	      esound-0.2.36
	      ...

	      to see the packages in the "gnome" attribute in Nixpkgs.

	      To *print* the attribute path, you should now use "--attr-path" /
	      "-P" (running out of letters...).

	commit 055608227f5a003825a905b0eb2aea39cba5ca16
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 17 16:08:24 2007 +0000

	    * nix-env: allow ~/.nix-defexpr to be a directory.  If it is, then the
	      Nix expressions in that directory are combined into an attribute set
	      {file1 = import file1; file2 = import file2; ...}, i.e. each Nix
	      expression is an attribute with the file name as the attribute
	      name.  Also recurses into directories.

	    * nix-env: removed the "--import" (-I) option which set the
	      ~/.nix-defexpr symlink.

	    * nix-channel: don't use "nix-env --import", instead symlink
	      ~/.nix-defexpr/channels.  So finally nix-channel --update doesn't
	      override any default Nix expressions but combines with them.

	      This means that you can have (say) a local Nixpkgs SVN tree and use
	      it as a default for nix-env:

	      $ ln -s .../path-to-nixpkgs-tree ~/.nix-defexpr/nixpkgs_svn

	      and be subscribed to channels (including Nixpkgs) at the same time.
	      (If there is any ambiguity, the -A flag can be used to
	      disambiguate, e.g. "nix-env -i -A nixpkgs_svn.pan".)

	commit 3339f854473863c8780e537626f457be0b2b33e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 11 13:32:04 2007 +0000

	    * Test the impureEnvVars feature.

	commit 9441550acb34cf35f6cd3859d3672adca79551d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 4 15:38:09 2007 +0000

	    * nix-push / generate-patches: bzip the manifest.

	commit 7b20c0ed4b3ef518c1f55bfbb2ece932539f35ea
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Sun Sep 2 10:36:59 2007 +0000

	    explanation what happens when passing true / false and null values to derivation builders added

	commit 0d65fc08e2f7e69976ab91271024a87dbeef380d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 30 09:50:44 2007 +0000

	    * Create the Nix daemon socket in a separate directory
	      (/nix/var/nix/daemon-socket).  This allows access to the Nix daemon
	      to be restricted by setting the mode/ownership on that directory as
	      desired, e.g.

	        $ chmod 770 /nix/var/nix/daemon-socket
	        $ chown root.wheel /nix/var/nix/daemon-socket

	      to allow only users in the wheel group to use Nix.

	      Setting the ownership on a socket is much trickier, since the socket
	      must be deleted and recreated every time the daemon is started
	      (which would require additional Nix configuration file directives to
	      specify the mode/ownership, and wouldn't support arbitrary ACLs),
	      some BSD variants appear to ignore permissions on sockets, and it's
	      not clear whether the umask is respected on every platform when
	      creating sockets.

	commit cb1c1004cdd582abe67146ab3904bd88de3a1d4e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 28 16:22:08 2007 +0000

	    * When there are multiple substituters, make sure to release the
	      lock on the output path after trying each.  Otherwise the
	      pathIsLockedByMe() test gets confused.

	commit c970b28ba0f8866bde800849120d429d781ccb5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 28 11:36:17 2007 +0000

	    * Fix a race condition with parallel builds where multiple
	      fixed-output derivations or substitutions try to build the same
	      store path at the same time.  Locking generally catches this, but
	      not between multiple goals in the same process.  This happened
	      especially often (actually, only) in the build farm with fetchurl
	      downloads of the same file being executed on multiple machines and
	      then copied back to the main machine where they would clobber each
	      other (NIXBF-13).

	      Solution: if a goal notices that the output path is already locked,
	      then go to sleep until another goal finishes (hopefully the one
	      locking the path) and try again.

	commit bc0429b1cd94289ac8d8a51f562b920999002b89
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 28 11:31:44 2007 +0000

	    * Doh! Broken test.

	commit e0d7e47862aa1b33292fb8d05e5d50ad4ebf3590
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 28 09:39:03 2007 +0000

	    * PathLocks::lockPaths: don't allow reacquiring a lock we already
	      hold.

	commit 455a7b95776440a56fd5d545d3b9a01cbae1d8e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 28 09:21:47 2007 +0000

	    * Test case to show that parallel builds of different fixed-output
	      derivations that produce the same output path don't work properly
	      wrt locking.  This happens a lot in the build farm when fetchurl
	      derivations downloading the same file on different platforms are
	      executed in parallel and then copied back to the main machine.

	commit 7d5836b34df363c2b2e7fc1574aaba1dde9a697e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 22 14:52:22 2007 +0000

	    * nix-channel: supports users who don't have write permission to the
	      manifests directory.  In that case, we don't do a nix-pull, so the
	      user gets pure source deployment.

	      The directory /nix/var/nix/gcroots/per-user/$USER should be
	      writable.  (It's created automatically if
	      /nix/var/nix/gcroots/per-user is writable, e.g. if it has 1777
	      permission.)

	commit 2629998e9167b2d7897a2f34a6f531affc4033db
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Sat Aug 18 22:12:00 2007 +0000

	    primop functions listToAttrs (+test), __isAttrs, __trace added
	    new configuration style proposal in lib/default-unstable.nix

	commit dbc0170ed998484178780d9390ae0d4434bf93b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 15 09:24:06 2007 +0000

	    * Show errors in nix-prefetch-url.

	commit 5c793ad03e08f8f795397af1d49034ac6f616ade
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 14 13:43:51 2007 +0000

	    * Hopefully this fixes the test on FreeBSD.

	commit ffa1c61cd50a512685b44c55261c1539890482f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 14 13:15:59 2007 +0000

	    * Fix the tests.

	commit a7e1a51fdf5d93b0a158a120595443fe9c7c6687
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 13 14:56:40 2007 +0000

	    * A test for the nix-worker.

	commit 550ba9ebb4b1b2415c9930879cfa6937f7fa916a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 13 13:15:02 2007 +0000

	    * Fix the tests.

	commit 3757ee589f46a401fdacaa2126e6bf4902eee23d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 13 11:37:39 2007 +0000

	    * Bump the Nix database schema version number; delete the substitutes
	      table.

	commit 59afc1a15cfb90c333aa7423e46be32cc0635b12
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 13 11:15:13 2007 +0000

	    * Backwards compatibility.

	commit 9e975458b48d9eb041a6484c634be2ee8ee1649d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Aug 12 00:29:28 2007 +0000

	    * Get rid of the substitutes database table (NIX-47).  Instead, if we
	      need any info on substitutable paths, we just call the substituters
	      (such as download-using-manifests.pl) directly.  This means that
	      it's no longer necessary for nix-pull to register substitutes or for
	      nix-channel to clear them, which makes those operations much faster
	      (NIX-95).  Also, we don't have to worry about keeping nix-pull
	      manifests (in /nix/var/nix/manifests) and the database in sync with
	      each other.

	      The downside is that there is some overhead in calling an external
	      program to get the substitutes info.  For instance, "nix-env -qas"
	      takes a bit longer.

	      Abolishing the substitutes table also makes the logic in
	      local-store.cc simpler, as we don't need to store info for invalid
	      paths.  On the downside, you cannot do things like "nix-store -qR"
	      on a substitutable but invalid path (but nobody did that anyway).

	    * Never catch interrupts (the Interrupted exception).

	commit 4695f4edd6925147a59befefce1c66d34bb2d0e4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 10 01:42:00 2007 +0000

	    * nix-pull: support bzipped manifests: when doing a nix-pull on $url,
	      try $url.bz2 first.

	commit 911bc01454fba42b531f3f8dd0781845b045be63
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 10 00:28:44 2007 +0000

	    * Enable nix-prefetch-url caching in nix-channel.

	commit 5e52df18fefb188b7c7a8e917ebeb8ea1f5ed95a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 10 00:22:21 2007 +0000

	    * Don't rely on /dev/stdin.

	commit c5e934dcc9f3c0e75cd14fd7dbab6048abf907d1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 9 23:52:53 2007 +0000

	    * nix-pull: using nix-prefetch-url (so that we get caching for free),
	      and store the manifests in the Nix store.  (So now
	      /nix/var/nix/manifests/ just contains symlinks to the store and is
	      searched for GC roots.)

	commit f881f7a017059fb501668aa85d41e873fe8f5285
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 9 23:16:44 2007 +0000

	    * nix-prefetch-url: support caching.  If the environment variable
	      NIX_DOWNLOAD_CACHE is set, then nix-prefetch-url will store the hash
	      and timestamp of downloaded files in the directory
	      $NIX_DOWNLOAD_CACHE.  This allows it to figure out if the file is
	      still in the Nix store.

	commit ef240bc0d564d8de8877724756c1e7765c74ff75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 7 23:40:39 2007 +0000

	    * Use the new patched version of the aterm library.

	commit d71cc503a6f50f8c576eb8665ce3cf08d74e035b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 7 15:00:13 2007 +0000

	    * Don't allocate input files on the stack.

	commit 4cad125e088576035ea8f7955d7770278aa6ed24
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 6 16:08:09 2007 +0000

	    * Optionally warn about packages that give an assertion failure.

	commit 6da6fbfbe940feb807eeef20035d6603448d4d5e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 5 20:33:04 2007 +0000

	    * Properly keep packages during upgrades.

	commit 6d1a1191b053645fa0277830524bf085a7fe0956
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 12 16:53:44 2007 +0000

	    * Support queryDeriver() in multi-user installations.

	commit 9d9e1c5c41023e03ed5069ba6fc17ad3cfeab9f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 11 13:59:07 2007 +0000

	    * Distribute bzip2 1.0.4.

	commit 9bff7ad7287dafff1e06f3c3db6a5ec295d7c152
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 11 11:36:22 2007 +0000

	    * Check against creation of GC roots in the store.  Those roots don't
	      work, because findRoots() stops when it encounters a symlink to the
	      store.  And of course the store is supposed to be read-only.

	commit f3ebd03bb17533806d38fe871200b1dc4688acdc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 4 12:03:33 2007 +0000

	    * Remove debug statement.

	commit 40b6f06f09ce1faa5fb7532475623dfd5e4d6208
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Sat Jun 2 15:03:54 2007 +0000

	    change default NIX_HASH_ALGO

	commit b47da5ea21df9ba558f05516198d401f76719cf5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 16 22:07:39 2007 +0000

	commit bddc83a1487e9f3c1bb3ac2279c0238e8e6c3ff3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 16 16:17:04 2007 +0000

	    * New builtin function "isFunction".  You're not supposed to use it
	      ;-)
	    * Channels: fix channels that are plain lists of derivations (like
	      strategoxt-unstable) instead  of functions (like nixpkgs-unstable).
	      This fixes the error message "error: the left-hand side of the
	      function call is neither a function nor a primop (built-in
	      operation) but a list".

	commit ca00aa11714921804afb490d0613086f549fb894
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 15 12:14:37 2007 +0000

	    * Allow empty argument lists in function definitions (e.g., `{}:
	      bla').  Also allow trailing commas (`{x, y,}: ...') as a unintented
	      consequence.  Hopefully the reduce/reduce conflict won't cause any
	      problems.

	commit 7046c35843af7c6232efc7e7ee23b26096e0c692
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 14 12:16:41 2007 +0000

	    * Typo (reported by Marc Weber).

	commit e5da9c88039c360065f20cfd513f2fe68430f04a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 7 16:59:19 2007 +0000

	    * Create the database directory if it doesn't exist.

	commit 30beeb27a9729366cb4a93d602815827a6153d06
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 2 19:38:02 2007 +0000

	    * Set the right priorities when recovering from a directory
	      collision.

	commit 34d4c9388b31f21710939399376f3ade08ab2162
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 2 16:06:04 2007 +0000

	commit 93aefd9fc0250eda2c47d22a88922d319cde34b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 1 23:16:38 2007 +0000

	    * Give unpacked channels more sensible names than 0, 1, ...  They now
	      get the basename of the channel URL (e.g., nixpkgs-unstable).  The
	      top-level Nix expression of the channel is now an attribute set, the
	      attributes of which are the individual channels (e.g.,
	      {nixpkgs_unstable = ...; strategoxt_unstable = ...}).  This makes
	      attribute paths ("nix-env -qaA" and "nix-env -iA") more sensible,
	      e.g., "nix-env -iA nixpkgs_unstable.subversion".

	commit a9d15d4f434fece269852a65be836d1338ed787d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 1 20:33:18 2007 +0000

	    * nix-env -i: instead of breaking package ties by version, break them
	      by priority and version install.  That is, if there are multiple
	      packages with the same name, then pick the package with the highest
	      priority, and only use the version if there are multiple packages
	      with the same priority.

	      This makes it possible to mark specific versions/variant in Nixpkgs
	      more or less desirable than others.  A typical example would be a
	      beta version of some package (e.g., "gcc-4.2.0rc1") which should not
	      be installed even though it is the highest version, except when it
	      is explicitly selected (e.g., "nix-env -i gcc-4.2.0rc1").

	    * Idem for nix-env -u, only the semantics are a bit trickier since we
	      also need to take into account the priority of the currently
	      installed package (we never upgrade to a lower priority, unless
	      --always is given).

	commit cbfac2fdccc83b04d9c2027e9e21070d4ac7c7e5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 1 15:16:17 2007 +0000

	    * Set a terminate() handler to ensure that we leave the BDB
	      environment cleanly even when an exception is thrown from a
	      destructor.  We still crash, but we don't take all other Nix
	      processes with us.

	commit 644946feed146396c00c288337bad26428970aa4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 1 13:21:05 2007 +0000

	    * Make --verify more interruptable.

	commit bd1f66453a7a1900f9fa850a7052b3fbe3e26933
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 1 11:30:52 2007 +0000

	    * `nix-env -q --xml --meta' to show all meta attributes.

	commit e20f0da22ccb28d94bfd82fa66e2a723c75951f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 30 18:41:27 2007 +0000

	    * Doh.

	commit 89c1d2b202dccbf91c40586ac33efee515f7e93d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 27 23:48:14 2007 +0000

	    * Package flag "keep" that prevents a package from being removed from
	      a user environment by an install or upgrade action.  This is
	      particularly useful if you have a version installed that you don't
	      want to upgrade (e.g., because the newer versions are broken).
	      Example:

	        $ nix-env -u zapping --dry-run
	        (dry run; not doing anything)
	        upgrading `zapping-0.9.6' to `zapping-0.10cvs6'

	        $ nix-env --set-flag keep true zapping

	        $ nix-env -u zapping --dry-run
	        (dry run; not doing anything)

	      However, "-e" will still uninstall the package.  (Maybe we should
	      require the keep flag to be explicitly set to false before it can be
	      uninstalled.)

	commit a46db5d013a5c3ab5b041824bfb935e5c042886c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 27 23:28:44 2007 +0000

	    * Package conflict resolution through priority levels.  If there is a
	      user environment collission between two packages due to overlapping
	      file names, then a package with a higher priority will overwrite the
	      symlinks of a package with a lower priority.  E.g.,

	        $ nix-env --set-flag priority 5 gcc
	        $ nix-env --set-flag priority 10 binutils

	      gives gcc a higher priority than binutils (higher number = lower
	      priority).

	commit 3d05166086682b39e013001bdaedb3e8b68a769f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 27 22:40:59 2007 +0000

	    * Allow conflicting packages to be kept in a user environment, and
	      allow switching between them (NIX-80).

	      Example: two versions of Pan:

	        $ nix-env -q pan
	        pan-0.128
	        pan-0.14.2.91

	        $ readlink $(which pan)
	        /nix/store/l38jrbilw269drpjkx7kinhrxj6fjh59-pan-0.14.2.91/bin/pan

	      At most one of them can be active any given time.  Assuming than
	      0.14.2.91 is active, you can active 0.128 as follows:

	        $ nix-env --set-flag active false pan-0.14.2.91
	        $ nix-env --set-flag active true pan-0.128

	        $ readlink $(which pan)
	        /nix/store/nziqwnlzy7xl385kglxhg75pfl5i936n-pan-0.128/bin/pan

	      More flags to follow.

	commit b7f0f65c1934851b038826b2ab78c0378a36143a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 26 14:20:31 2007 +0000

	    * nix-env -q now has a flag --prebuilt-only (-b<) that causes nix-env
	      to show only those derivations whose output is already in the Nix
	      store or that can be substituted (i.e., downloaded from somewhere).
	      In other words, it shows the packages that can be installed “quickly”,
	      i.e., don’t need to be built from source.

	commit 5dc05b76ab88a332521a777d6a42974b3f432f02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 16 16:08:44 2007 +0000

	    * Updated dependency information.

	commit 5f2492eaecfe8d3451812e894852b1330492e827
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 16 15:03:19 2007 +0000

	    * New primop "throw <string>" to throw an error.  This is like abort,
	      only thrown errors are caught by the top-level derivation evaluation
	      in nix-env -qa / -i.

	commit 0a8eeea9d8060b9d25891ccc5a9d55e32bf829ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 16 14:45:25 2007 +0000

	    * Remove a warning.

	commit 2716f9bc5f947ffdd2835c2a820ca8d35544630e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 16 12:00:13 2007 +0000

	    * It seems that svnversion prints a carriage return on Cygwin, so we
	      get a invalid #define VERSION.  Use "svnversion -n" to leave out the
	      newline.  Fix provided by Marc Weber.

	commit ae7990cc88dcc6a61edfe9e442174bc5b1bc3299
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 30 13:24:35 2007 +0000

	    * Work around a bug in Apple's GCC preprocessor.

	commit 4caca58ff7cc2edae110a11b9c47d14fea345eca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 30 09:01:05 2007 +0000

	    * Make the maximum patch size configurable.

	commit 17b506c0c7a927da1befc62100c5354e4b3147f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 28 15:46:21 2007 +0000

	    * Handle ECONNRESET from the client.  Also, don't abort() if there are
	      unexpected conditions in the SIGPOLL handler, since that messes up
	      the Berkeley DB environment (which a client must never be able to
	      trigger).

	commit efd31139dfd07600c909fa14870c82d90c6ca9de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 27 09:53:58 2007 +0000

	    * Forgot a @bindir@.

	commit d303b389a9dbd44fe60deba5e98e68ec98bdddd3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 26 21:05:17 2007 +0000

	    * `nix-copy-closure --from': copy from a remote machine instead of to
	      a remote machine.

	commit 7edd2e2cd281cadbc9b7a5afbb279e5570caf77a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 26 20:49:22 2007 +0000

	    * Refactoring.

	commit f3584ff535f4244f6df7d0eadf9695fd8a747c8d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 21 12:39:55 2007 +0000

	    * Fix URL/description.

	commit 803cb6e3b9c0719add9a977e76ab3fadb78858f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 20 22:04:25 2007 +0000

	    * Override the setuid helper using NIX_SETUID_HELPER.

	commit a8ea4cbcc8337e0fd4d423201794891fdf6e8677
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 20 11:13:15 2007 +0000

	    * Scan /proc/sys/kernel/modprobe for roots to prevent the kernel
	      modules for the running kernel from being garbage-collected.  Idem
	      for /proc/sys/kernel/fbsplash.

	commit 8ab229ddf2383ec6455836f342539b8c89356f76
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 19 12:48:45 2007 +0000

	    * Terminate build hooks and substitutes with a TERM signal, not a KILL
	      signal.  This is necessary because those processes may have joined
	      the BDB environment, so they have to be given a chance to clean up.
	      (NIX-85)

	commit b2b6cf3fc83f0e1625214ae31b0b088a266234bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 19 09:16:47 2007 +0000

	    * Undocumented option `gc-check-reachability' to allow reachability
	      checking to be turned off on machines with way too many roots.

	commit eb2dd4815c05fcc592d049bddcd2f42d13216eab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 13 11:30:57 2007 +0000

	    * Remove old generations in all directories under
	      /nix/var/nix/profiles, not just in that directory itself.  (NixOS
	      puts profiles in /nix/var/nix/profiles/per-user.)

	commit 917e06bf6398ed77a23e5e1fc894321a7fc7f86e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 7 15:53:11 2007 +0000

	    * Delete the output paths before invoking the build hook.

	commit df0283ae86afd1a40a83b2abc3705146ab0a6cb8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 1 13:55:47 2007 +0000

	    * Get rid of those stupid --login tricks, it's the responsibility of
	      the remote system to make sure that Nix is in the $PATH.

	commit 30394a4f3f99ccfffb6935b47433c320f00e2a67
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 1 13:49:20 2007 +0000

	    * sh -> bash.

	commit db1973d01277278b58253676337e568d5591c01f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 1 13:30:46 2007 +0000

	    * Look for the openssl program at compile time.  If not found, call
	      openssl through $PATH at runtime.

	commit b4a040e52b607e019515e9339f90a2e5c6c21ad5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 1 12:30:24 2007 +0000

	    * Don't check the signature unless we have to.

	commit 2ea3bebc23b2d13475c00191f6005740fbdc7771
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 27 23:18:57 2007 +0000

	    * Doh!  The deriver can be empty.

	commit 044b6482c185ba8966d9d893b033d97d66b5f225
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 27 19:10:45 2007 +0000

	    * Greatly reduced the amount of stack space used by the Nix expression
	      evaluator.  This was important because the NixOS expressions started
	      to hit 2 MB default stack size on Linux.

	      GCC is really dumb about stack space: it just adds up all the local
	      variables and temporaries of every scope into one huge stack frame.
	      This is really bad for deeply recursive functions.  For instance,
	      every `throw Error(format("error message"))' causes a format object
	      of a few hundred bytes to be allocated on the stack.  As a result,
	      every recursive call to evalExpr2() consumed 4680 bytes.  By
	      splitting evalExpr2() and by moving the exception-throwing code out
	      of the main functions, evalExpr2() now only consumes 40 bytes.
	      Similar for evalExpr().

	commit adce01a8d05ee21890a5be699a26f1835594cb5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 27 17:28:51 2007 +0000

	    * When NIX_SHOW_STATS=1, show the amount of stack space consumed by
	      the Nix expression evaluator.

	commit 363e307fd360c32a932b9bcb1d620d3add259f79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 26 23:32:10 2007 +0000

	    * Error message to stdout.

	commit ddde8e2f32b5c6785e9ac7c6ea6eb84813cca293
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 22 18:15:29 2007 +0000

	    * Handle EINTR in select().

	commit 27bb0ac7d2571d32c28cd09bf23cf916905d2557
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 22 17:00:58 2007 +0000

	    * /man -> /share/man

	commit fa2be32034dcb25f9382dda91514a7785211f443
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 22 16:42:01 2007 +0000

	    * nix-copy-closure: force a login shell on the remote machine to make
	      sure that nix-store is in the PATH.
	    * nix-copy-closure: option --gzip to compress data.

	commit 4c5e6d1a2f48a26c22ee5b515f8ac672d3d2e7ab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 22 15:48:20 2007 +0000

	    * nix-copy-closure: option --sign.
	    * nix-copy-closure: set SSH options through NIX_SSHOPTS..

	commit 024a8ed3822867c5f9b9498bd8b27fa5dc180846
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 23:14:53 2007 +0000

	    * New command `nix-copy-closure' to copy a closure to a Nix store on
	      another machine through ssh.  E.g.,

	        $ nix-copy-closure xyzzy $(which svn)

	      copies the closure of Subversion to machine `xyzzy'.  This is like
	      `nix-pack-closure $(which svn) | ssh xyzzy', but it's much more
	      efficient since it only copies those paths that are missing on the
	      target machine.

	commit 7f6161ab3af81e0adf834d9cfb6d232ad5c54ec2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 23:08:55 2007 +0000

	    * Flush cout to show progress.

	commit 0db450024dbeadf0c595a6de8743b7cb8f3dcbcd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 23:00:31 2007 +0000

	    * Export/import many paths in one go.

	commit 9da367b7d5e7c71efd802b87c99c11faff141499
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 22:45:10 2007 +0000

	    * `nix-store -qR' and friends: print the paths sorted topologically
	      under the references relation.  This is useful for commands that
	      want to copy paths to another Nix store in the right order.

	commit 881feb96987dace75f983c16fec1013b70602d4f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 17:57:59 2007 +0000

	    * Flag `--print-invalid' in `nix-store --check-validity' to print out
	      which paths specified on the command line are invalid (i.e., don't
	      barf when encountering an invalid path, just print it).  This is
	      useful for build-remote.pl to figure out which paths need to be
	      copied to a remote machine.  (Currently we use rsync, but that's
	      rather inefficient.)

	commit 65f195f4c7eec4f0880e7c3953aa5e78eeffbebf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 17:51:10 2007 +0000

	    * Check that the file containing the secret key is secret.

	commit bdadb98de8fcd5ed99cca97071741e2775f3ada2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 17:34:02 2007 +0000

	    * `nix-store --import' now also works in remote mode.  The worker
	      always requires a signature on the archive.  This is to ensure that
	      unprivileged users cannot add Trojan horses to the Nix store.

	commit 0f5da8a83c227879566ed87623617fe195bc6f88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 16:34:00 2007 +0000

	    * Support exportPath() in remote mode.

	commit dc7d59477613e88b18133208f6c8b2f646e66260
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 16:23:25 2007 +0000

	    * importPath(): set the deriver.
	    * exportPath(): lock the path, use a transaction.

	commit 43c4d18c6a4e1a8b129114439718e26c12b49ca8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 15:45:32 2007 +0000

	    * `nix-store --import': import an archive created by `nix-store
	      --export' into the Nix store, and optionally check the cryptographic
	      signatures against /nix/etc/nix/signing-key.pub.  (TODO: verify
	      against a set of public keys.)

	commit 46e0919ced4646004cc0701b188d0a68e24e8924
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 14:31:42 2007 +0000

	    * `nix-store --export --sign': sign the Nix archive using the RSA key
	      in /nix/etc/nix/signing-key.sec

	commit 6c9fdb17fbda181fc09a9ce1f49662ef522d006b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 14:00:46 2007 +0000

	    * Don't use $SHELL.

	commit b824a1daeefd1611c8d84432dc0b2b38f24bbbfd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 20 23:17:20 2007 +0000

	    * Start of `nix-store --export' operation for serialising a store
	      path.  This is like `nix-store --dump', only it also dumps the
	      meta-information of the store path (references, deriver).  Will add
	      a `--sign' flag later to add a cryptographic signature, which we
	      will use for exchanging store paths between build farm machines in a
	      secure manner.

	commit 3390c1be76f648ac0b18199c6204a32d1d6d5fbb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 20 22:57:46 2007 +0000

	    * Temporary notes on how we're going to use OpenSSL.

	commit 8181a1c3bbb35642d8242f13c3bbd17fe468c8e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 20 22:49:08 2007 +0000

	    * Close the file - just in case.

	commit 46605fb4f5024120f894f9894b8873c6a666a7a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 6 20:03:53 2007 +0000

	    * Fix 64-bit compiler warnings.

	commit 52d03276dd035aab2fc5c0c6e462866b6f96d6fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 5 12:10:10 2007 +0000

	    * Compatibility with docbook5-xsl.

	commit 451dbf687f65b42d70e64c3858771abaab51b356
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 2 01:52:42 2007 +0000

	    * nix-env now maintains meta info (from the `meta' derivation
	      attribute) about installed packages in user environments.  Thus, an
	      operation like `nix-env -q --description' shows useful information
	      not only on available packages but also on installed packages.

	    * nix-env now passes the entire manifest as an argument to the Nix
	      expression of the user environment builder (not just a list of
	      paths), so that in particular the user environment builder has
	      access to the meta attributes.

	    * New operation `--set-flag' in nix-env to change meta info of
	      installed packages.  This will be useful to pass per-package
	      policies to the user environment builder (e.g., how to resolve
	      collision or whether to disable a package (NIX-80)) or upgrade
	      policies in nix-env (e.g., that a package should be "masked", that
	      is, left untouched by upgrade actions).  Example:

	      $ nix-env --set-flag enabled false ghc-6.4

	commit f52de527c7743d8fe28574f02b632566a1006244
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 15:55:49 2007 +0000

	    * Doh!

	commit b618fa6eb6aa4cc128286ab748bfb100fa46a888
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 15:51:37 2007 +0000

	    * computeStorePathForText: take the references into account when
	      computing the store path (NIX-77).  This is an important security
	      property in multi-user Nix stores.

	      Note that this changes the store paths of derivations (since the
	      derivation aterms are added using addTextToStore), but not most
	      outputs (unless they use builtins.toFile).

	commit c558b1583c0e23bf4e19e916ef0ba223b61405a3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 15:15:37 2007 +0000

	    * Don't capitalise the primop functions.

	commit 18e60961057f67995bf76b1952c8673b89f59bc2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 15:11:32 2007 +0000

	    * Organise primops.cc a bit better.

	commit 7349bd0176b8a8ced3a017bb5d0e9ebb30570722
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 14:23:09 2007 +0000

	    New primitives:
	    * `sub' to subtract two numbers.
	    * `stringLength' to get the length of a string.
	    * `substring' to get a substring of a string.  These should be enough
	      to allow most string operations to be expressed.

	commit 7dedbd896ade732ab2fe88a5fe88e069cb329fa5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 13:32:50 2007 +0000

	    * filterSource: pass strings to the predicate function instead of
	      paths.  Paths can have unexpected semantics.

	commit 84a84afb0ec60551c606fa95699afb6153465704
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 24 13:31:20 2007 +0000

	    * Nasty: Glibc clears the TMPDIR environment variable in setuid
	      programs, so if a builder uses TMPDIR, then it will fail when
	      executed through nix-setuid-helper.  In fact Glibc clears a whole
	      bunch of variables (see sysdeps/generic/unsecvars.h in the Glibc
	      sources), but only TMPDIR should matter in practice.  As a
	      workaround, we reinitialise TMPDIR from NIX_BUILD_TOP.

	commit fac63d6416ae0f7aec6c986d9d258b25047a24e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 23 16:57:43 2007 +0000

	    * exportReferencesGraph: work on paths within store paths as well.

	commit bae75ca5a18edbb9fb959e2e48065a1987ffb61a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 23 16:50:19 2007 +0000

	    * New kind of manifest object: "localPath", which denotes that a store
	      path can be created by copying it from another location in the file
	      system.  This is useful in the NixOS installation.

	commit 36d9258c0dbfeab095dc5727b6ebcb55afacb0a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 23 16:05:59 2007 +0000

	    * Successors have been gone for ages.

	commit 7bc30e1ca8e20ee54175881364663ce5aaf1fa1c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 22 09:53:36 2007 +0000

	    * nix-prefetch-url: change the default hash to SHA-256 (in base-32).

	commit 71ceb1c16102f82e15375afb44e0ac59e39eaa23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 15 14:50:25 2007 +0000

	    * Handle multiple indirect symlinks when loading a Nix expression.

	commit e4b0666f8eee3fc48f37c0cd3fd194c27652173c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 15 08:54:51 2007 +0000

	    * builtins.filterSource: pass the type of the file ("regular",
	      "directory", "symlink") as the second argument to the filter
	      predicate.

	commit 63f3ce6d9a26cb46a2f066dd9c5f2af25b3610df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 14 17:28:30 2007 +0000

	    * `nix-store --verify': revive checking the referrers table.  This is
	      important to get garbage collection to work if there is any
	      inconsistency in the database (because the referrer table is used to
	      determine whether it is safe to delete a path).
	    * `nix-store --verify': show some progress.

	commit 8f67b3588603483402440538d7dc326451bbe60d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 14 16:24:49 2007 +0000

	    * Make the garbage collector more resilient to certain consistency
	      errors: in-use paths now cause a warning, not a fatal error.

	commit 8659edc0981373a42f123cd7d84b9925be0123bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 14 12:33:04 2007 +0000

	    * Don't forget the .flags files.

	commit e418976107ed1581c108c82cd5b3b06c2f4ba9db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 14 12:32:44 2007 +0000

	    * Option --argstr for passing string arguments easily. (NIX-75)

	commit 4e329f173f738dfc83e58bdb8ad2ced6c452a395
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 14 12:16:58 2007 +0000

	    * Doh.

	commit afe23b5f385901ba5972ce88b2f053526c5097a9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 19:50:42 2007 +0000

	    * nix-pack-closure: store the top-level store paths in the closure.
	    * nix-unpack-closure: extract the top-level paths from the closure and
	      print them on stdout.  This allows them to be installed, e.g.,
	      "nix-env -i $(nix-unpack-closure)".  (NIX-64)

	commit f25f9000451ec5b9fb3221cdf2a297fe24ab7357
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 18:25:30 2007 +0000

	    * Allow multiple --attr / -A arguments in nix-build / nix-instantiate
	      (NIX-74).

	commit 215505bb46503b083fd64dd9a65e7b79d6eadf21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 17:54:01 2007 +0000

	    * Removed chroot support.

	commit f23dcdd60330c3b2f83b5b4278e38c245c397468
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 16:17:07 2007 +0000

	    * Canonicalise ASTs in `nix-instantiate --eval': remove position
	      info, sort attribute sets.

	commit 05879db628a31f53c69a0fc29311c840c80837e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 15:41:54 2007 +0000

	    * Memoize strict evaluation.

	commit 501158845919c8bdf4297a8a76a916dc5b9a7943
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 15:11:10 2007 +0000

	    * printTermAsXML: treat derivations specially; emit an element
	      <derivation outPath=... drvPath=...> attrs </derivation>.  Only emit
	      the attributes of any specific derivation only.  This prevents
	      exponententially large XML output due to the absense of sharing.

	commit 792878af911bd1913706a1a8ee5a18f7230352ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 14:48:41 2007 +0000

	    * Make printing an expression as XML interruptible.

	commit 11158028be348ed9eb58bf78f4cc9711e8bfe664
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 14:21:49 2007 +0000

	    * Cleanup.

	commit 1b7840b949f038d44f31492bd59e0e189e17ef9c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 11 19:28:28 2007 +0000

	commit 69c8b5b8a7165e1b9468c2b98a56b0e5af092a69
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 11 16:19:45 2007 +0000

	    * Install generate-patches into libexec.

	commit 1f3722bd4ad2ee0b97f9622574547f144dad6932
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 8 15:32:15 2007 +0000

	    * Reject patches that are larger than a certain fraction of the full archive
	      (currently 60%).  Large patches aren't very economical.

	commit 50bdec410adaf4acacd40444203799ac110e34d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 8 15:17:18 2007 +0000

	    * Huge speedup in patch propagation (20 minutes or so to 3 seconds).

	commit 4c63f9fe0493e07039c2a75a0926d2aab8cb6549
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 29 22:23:51 2006 +0000

	    * Another great success.

	commit 57969b95b321ca9527de9e4625db5fb6ad709e01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 29 20:37:55 2006 +0000

	    * Testing 1 2 3.

	commit cafaceb70721e9a5aea478501eb3b572bbacaa68
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 15 21:27:26 2006 +0000

	    * Handle weird cases when the server redirects us while setting a cookie.

	commit 1073b1780a68522a5cad0fe0e1e6735365034118
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 13 14:29:05 2006 +0000

	    * Remove debug message.

	commit a3e6415ba8cf1b8d2a1db40c06997d997eac8afc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 12 23:05:01 2006 +0000

	    * New primop builtins.filterSource, which can be used to filter files
	      from a source directory.  All files for which a predicate function
	      returns true are copied to the store.  Typical example is to leave
	      out the .svn directory:

	        stdenv.mkDerivation {
	          ...
	          src = builtins.filterSource
	            (path: baseNameOf (toString path) != ".svn")
	            ./source-dir;
	          # as opposed to
	          #   src = ./source-dir;
	        }

	      This is important because the .svn directory influences the hash in
	      a rather unpredictable and variable way.

	commit b438d37558eab56a2927771013c9080675381ba8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 12 21:51:02 2006 +0000

	    * In dumpPath(): pass a function object that allows files to be
	      selectively in/excluded from the dump.

	commit 3130f1f0fa484495ebca89bd458cf7fffa522687
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 12 20:17:14 2006 +0000

	    * Push.

	commit 7ace29dae7bc928e5511c148408825f6d846771e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 12 19:06:02 2006 +0000

	    * New operation `nix-env --set' which sets a user environment to a
	      single derivation specified by the argument.  This is useful when we
	      want to have a profile for a single derivation, such as a server
	      configuration.  Then we can just say (e.g.)

	      $ nix-env -p /.../server-profile -f server.nix --set -A server

	      We can't do queries or upgrades on such a profile, but we can do
	      rollbacks.  The advantage over -i is that we don't have to worry
	      about other packages having been installed in the profile
	      previously; --set gets rid of them.

	commit 1a7e88bbd9290987e72616d42c9e9d344acc2a86
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 12 16:14:31 2006 +0000

	    * New built-in function `builtins.attrNames' that returns the
	      names of the attributes in an attribute set.

	commit 5e6699188fba38619dc23c0b65ee70849f90ea6c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 9 23:14:55 2006 +0000

	commit b17677462c56161bb00fb2d90f2c8e3e2a855229
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 9 20:02:27 2006 +0000

	    * Use lchown() instead of chown() in canonicalisePathMetaData().  This
	      matters when running as root, since then we don't use the setuid
	      helper (which already used lchown()).

	    * Also check for an obscure security problem on platforms that don't
	      have lchown.  Then we can't change the ownership of symlinks, which
	      doesn't matter *except* when the containing directory is writable by
	      the owner (which is the case with the top-level Nix store directory).

	commit 5f681988f210dd8edbb0d13da7d00e1c0e2a1769
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 9 00:26:24 2006 +0000

	    * Use deletePathWrapped() in more places.

	commit fa333031464ca394317a55a0e7c6b773f068aae2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 8 18:41:48 2006 +0000

	    * Goal cancellation inside the waitForInput() loop needs to be handled
	      very carefully, since it can invalidate iterators into the
	      `children' map.

	commit 06c4929958c60b085cbe18a558df9ef58c8f8689
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 8 17:26:21 2006 +0000

	    * Some refactoring.
	    * Throw more exceptions as BuildErrors instead of Errors.  This
	      matters when --keep-going is turned on.  (A BuildError is caught
	      and terminates the goal in question, an Error terminates the
	      program.)

	commit 9dbfe242e3bdbfc7728a36c8a2b9fbbea2c8ed68
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 8 15:44:00 2006 +0000

	    * Kill a build if it has gone for more than a certain number of
	      seconds without producing output on stdout or stderr (NIX-65).  This
	      timeout can be specified using the `--max-silent-time' option or the
	      `build-max-silent-time' configuration setting.  The default is
	      infinity (0).

	    * Fix a tricky race condition: if we kill the build user before the
	      child has done its setuid() to the build user uid, then it won't be
	      killed, and we'll potentially lock up in pid.wait().  So also send a
	      conventional kill to the child.

	commit d3fe6ab024df7764f4de2a9dcf88e2daa981f786
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 8 00:19:50 2006 +0000

	    * Also for convenience, change the ownership of the build output even
	      in case of failure.

	commit 096194ab29db244fe791404e02b729a3e38eee8d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 23:58:36 2006 +0000

	    * Remove ancient terminology.

	commit 6833e8bbe89dc61bda59a1e04c01415501ad4133
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 23:27:40 2006 +0000

	    * When keeping the temporary build directory (-K), change the owner
	      back to the Nix account.

	commit e24d0201c29b09483944b462bd62b71a90c99c97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 22:07:05 2006 +0000

	    * Doh!

	commit 2819eb36a43488c348942de5ef4dca4442b999db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 21:43:35 2006 +0000

	    * Be less verbose.

	commit 4ca01065c3df106eb9610c425b2c604ba96db365
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 20:47:30 2006 +0000

	    * Rename all those main.cc files.

	commit d03f0d411740aebd5b27e5a1ac57d8533843ff6b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 18:51:11 2006 +0000

	    * Check for lchown.

	commit c3286ec020dfa20edcad6ad3cea519546e5207f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 17:52:58 2006 +0000

	    * Don't count on the Pid deconstructor to kill the child process,
	      since if we're running a build user in non-root mode, we can't.  Let
	      the setuid helper do it.

	commit a82d80ddeb6f68ff136124dfb591a404bb195ea3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 16:40:41 2006 +0000

	    * Move setuidCleanup() to libutil.

	commit f76fdb6d42a1b539fcf0b77d8efc5262283a19ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 16:33:31 2006 +0000

	    * If not running as root, let the setuid helper kill the build user's
	      processes before and after the build.

	commit ec23ecc64d40b7f65585c23592db123127967221
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 15:54:52 2006 +0000

	    * In the garbage collector, if deleting a path fails, try to fix its
	      ownership, then try again.

	commit a0a43c32062f756b32feca7d04e89fb5d01767db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 15:18:14 2006 +0000

	    * When not running as root, call the setuid helper to change the
	      ownership of the build result after the build.

	commit 6a07ff1ec068c6255d45644eb182dea5c0027286
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 14:14:35 2006 +0000

	    * Change the ownership of store paths to the Nix account before
	      deleting them using the setuid helper.

	commit 7d8cf316eec3b5b1f2cf5ae8558a80bcaa69437f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 11:27:32 2006 +0000

	    * Pass the actual build user to the setuid helper.

	commit a45c498e4e1109e0147b46df1230db718e5bceb1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 00:42:30 2006 +0000

	    * If Nix is not running as root, call the setuid helper to start the
	      builder under the desired build user.

	commit 813a7c65c99951a946e8342713884d46af1f2966
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 00:19:27 2006 +0000

	    * Sanity check.

	commit 6a8e60913ac470c704510a733d40d3fab3ecb00d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 00:16:07 2006 +0000

	    * Move killUser() to libutil so that the setuid helper can use it.

	commit 79875c5e42eca2e2d05f439da4b0da778385678a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 23:52:25 2006 +0000

	    * Change the ownership of the current directory to the build user.

	commit 62ab1314127a164c7e71e77551d549b27ce82e6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 23:15:26 2006 +0000

	    * Verify that the desired target user is in the build users group (as
	      specified in the setuid config file).

	commit f07ac41656fbc4349ec0dda9d072b06a8b38e53b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 22:45:41 2006 +0000

	    * Check that the caller is allowed to call the setuid helper.  The
	      allowed uid is specified in a configuration file in
	      /etc/nix-setuid.conf.

	commit 173d328351b2c59c313177d8d984df506760ada3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 20:19:25 2006 +0000

	    * Urgh.

	commit ef281b93c22580c3ccbcb598e3dd734402adce39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 20:18:29 2006 +0000

	    * Fix the safety check.

	commit a14d491f09e4f1908e916be507def744be11d1c0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 20:16:28 2006 +0000

	    * Oops.

	commit 6e5ec1029ad279c1ac69e14730afb4d2d9964b5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 20:00:15 2006 +0000

	    * Get rid of `build-users'.  We'll just take all the members of
	      `build-users-group'.  This makes configuration easier: you can just
	      add users in /etc/group.

	commit 751f6d2157a1b89f2463b68a90f8515deb3f942c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 17:29:10 2006 +0000

	    * nix-setuid-helper: allow running programs under a different uid.

	commit 9f0efa6611d010bf2fb88a2f6a583c4f32fd89ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 01:24:02 2006 +0000

	    * Start of the setuid helper (the program that performs the operations
	      that have to be done as root: running builders under different uids,
	      changing ownership of build results, and deleting paths in the store
	      with the wrong ownership).

	commit 2b558843a2228051bec475a016e7bb2565433330
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 19:01:19 2006 +0000

	    * Be less chatty.

	commit 44cad9630f25f7f1c6a9263c031e453170b2f489
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 18:28:15 2006 +0000

	    * Urgh.  Do setgid() before setuid(), because the semantics of setgid()
	      changes completely depending on whether you're root...

	commit 6f0d05032410873bd5cdb573b998c7a7939d09b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 18:21:16 2006 +0000

	    * Tricky: child processes should not send data to the client since
	      that might mess up the protocol.  And besides, the socket file
	      descriptor is probably closed.

	commit 4c1c37d0b6f4f8e7331b359617d7071c5e6e42fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 18:07:46 2006 +0000

	    * FreeBSD returns ESRCH when there are no processes to kill.

	commit 8d1854c3f19848fa6435aaa0fc688230ccc478c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 17:44:19 2006 +0000

	    * Oops!  In daemon mode, we can't run as root either if build-users is empty.

	commit 99655245ae21dd18403ce79f54199c13574da9aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 17:21:42 2006 +0000

	    * Use an explicit handler for SIGCHLD, since SIG_IGN doesn't do the
	      right thing on FreeBSD 4 (it leaves zombies).

	commit 62b0497c0f2e1b269c7284684524d20c39c1d519
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 16:17:01 2006 +0000

	    * Better message.

	commit c808e6252f7ba6d02834c591e0e4bcfbc8476635
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 15:36:31 2006 +0000

	    * Ugly hack to handle spurious SIGPOLLs.

	commit fd4a9db91fc82ddc399f3be73ba65188a63cd7d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 14:15:51 2006 +0000

	    * Some renaming.

	commit fc1c20d11b5e95690ad5acf6bebd5cea129618e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 13:57:35 2006 +0000

	    * Redundant.

	commit a9c4f66cfb1618833cc70ceaf13733730b634193
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 02:18:46 2006 +0000

	    * Allow unprivileged users to run the garbage collector and to do
	      `nix-store --delete'.  But unprivileged users are not allowed to
	      ignore liveness.
	    * `nix-store --delete --ignore-liveness': ignore the runtime roots as
	      well.

	commit 29cf434a35d82529f56c085c9cd50858c148d086
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 01:31:45 2006 +0000

	    * The determination of the root set should be made by the privileged
	      process, so forward the operation.
	    * Spam the user about GC misconfigurations (NIX-71).
	    * findRoots: skip all roots that are unreadable - the warnings with
	      which we spam the user should be enough.

	commit 8623256f483f77e090e689ae332165a530a489a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 00:48:36 2006 +0000

	    * findRoots: return a map from the symlink (outside of the store) to
	      the store path (inside the store).

	commit d27a73b1a95a911077947f39fab42c628c722c0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 00:34:42 2006 +0000

	    * In addPermRoot, check that the root that we just registered can be
	      found by the garbage collector.  This addresses NIX-71 and is a
	      particular concern in multi-user stores.

	commit 74033a844fe57e3e91c71ae37f9a65f6b2f22aa9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 23:29:16 2006 +0000

	    * Add indirect root registration to the protocol so that unprivileged
	      processes can register indirect roots.  Of course, there is still
	      the problem that the garbage collector can only read the targets of
	      the indirect roots when it's running as root...

	commit 0d40f6d7bb226e69f65f8ca8e6d0597baf3eec9a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 22:58:44 2006 +0000

	    * Not every OS knows about SIGPOLL.

	commit 7751160e9f560e7063d3e6e6e0e57b1432037b4c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 19:10:23 2006 +0000

	    * Don't redirect stderr.

	commit 40c3529909a929e03ebd943d87dd00e3fce93c9e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 17:55:14 2006 +0000

	    * Handle exceptions and stderr for all protocol functions.
	    * SIGIO -> SIGPOLL (POSIX calls it that).
	    * Use sigaction instead of signal to register the SIGPOLL handler.
	      Sigaction is better defined, and a handler registered with signal
	      appears not to interrupt fcntl(..., F_SETLKW, ...), which is bad.

	commit 0130ef88ea280e67037fa76bcedc59db17d9a8ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 17:17:13 2006 +0000

	    * Daemon mode (`nix-worker --daemon').  Clients connect to the server
	      via the Unix domain socket in /nix/var/nix/daemon.socket.  The
	      server forks a worker process per connection.
	    * readString(): use the heap, not the stack.
	    * Some protocol fixes.

	commit 4740baf3a61c48c07f12f23927c84ca9892088a8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 14:21:39 2006 +0000

	    * When NIX_REMOTE=daemon, connect to /nix/var/nix/daemon.socket
	      instead of forking a worker.

	commit f5f0cf423fda5e030d9be6fd6500a1b06d3a60bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 13:28:14 2006 +0000

	    * Refactoring.

	commit 052b6fb1495cd606d35cd3eb1806f9fe0019e6ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 13:15:29 2006 +0000

	    * Pass the verbosity level to the worker.

	commit 1e16d2065503e213189d58db14de893f51545597
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 13:09:16 2006 +0000

	    * Install the worker in bindir, not libexecdir.
	    * Allow the worker path to be overriden through the NIX_WORKER
	      environment variable.

	commit 9322b399f3a6fe3e0d60dfa991b06012c35b72f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 20:41:22 2006 +0000

	    * Doh.

	commit f4279bcde0934c221df081c366c8fc776aa2be99
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 16:25:19 2006 +0000

	    * Don't run setuid root when build-users is empty.
	    * Send startup errors to the client.

	commit 35247c4c9f55fd49d8838b0df963016fdcde0420
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 15:32:38 2006 +0000

	    * Removed `build-allow-root'.
	    * Added `build-users-group', the group under which builds are to be
	      performed.
	    * Check that /nix/store has 1775 permission and is owner by the
	      build-users-group.

	commit 84d6459bd5a0820729c57d710f886af6f423259b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 14:32:22 2006 +0000

	    * Use setreuid if setresuid is not available.

	commit a9f92410541e15e994c3306215608cb33ff101e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 03:16:27 2006 +0000

	    * Handle a subtle race condition: the client closing the socket
	      between the last worker read/write and the enabling of the signal
	      handler.

	commit 3ed9e4ad9b72dfbe59d47823beec829fe550351e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 03:03:36 2006 +0000

	    * Some hardcore magic to handle asynchronous client disconnects.
	      The problem is that when we kill the client while the worker is
	      building, and the builder is not writing anything to stderr, then
	      the worker never notice that the socket is closed on the other side,
	      so it just continues indefinitely.  The solution is to catch SIGIO,
	      which is sent when the far side of the socket closes, and simulate
	      an normal interruption.  Of course, SIGIO is also sent every time
	      the client sends data over the socket, so we only enable the signal
	      handler when we're not expecting any data...

	commit 4251f94b32daed2abb0324439466876a97acdb77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 02:36:44 2006 +0000

	    * Use a Unix domain socket instead of pipes.

	commit 8c76df93e6fe021df6a6aa2b2c710202db326a34
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 02:22:04 2006 +0000

	    * Better error message if the worker doesn't start.

	commit 363f40022f08b3a7f5571574ddecf785db39584a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 02:12:26 2006 +0000

	    * Pid::kill() should be interruptable.

	commit 7951c3c5460324c652d42f5f92bcae44e0a0b9c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 02:08:13 2006 +0000

	    * Some hackery to propagate the worker's stderr and exceptions to the
	      client.

	commit 714fa24cfb5afeb144549e0cc4808cc2a1c459cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 00:52:27 2006 +0000

	    * Run the worker in a separate session to prevent terminal signals
	      from interfering.

	commit e25fad691aa3ccb492c4fb8840289f76151e553e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 16:41:36 2006 +0000

	    * Move addTempRoot() to the store API, and add another function
	      syncWithGC() to allow clients to register GC roots without needing
	      write access to the global roots directory or the GC lock.

	commit 30bf547f4f5bc881eb60c9e11020d077fbb8b899
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 15:46:17 2006 +0000

	    * Doh.

	commit 536595b072e73f72c421400c35d09089e7d54ca4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 15:45:51 2006 +0000

	    * Remove most of the old setuid code.
	    * Much simpler setuid code for the worker in slave mode.

	commit 9c9cdb06d095ea91e10be8dae3a85f06a99c51bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 14:34:14 2006 +0000

	    * Remove SwitchToOriginalUser, we're not going to need it anymore.

	commit 626f8ee42f0b984ebc1cbf0b39938bcb3edf3bd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 14:33:39 2006 +0000

	    * Clear NIX_REMOTE in the tests.

	commit 8ba5d32769560d32cb5e1e83fd30fb6da0b145f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 14:27:24 2006 +0000

	    * Remove queryPathHash().
	    * Help for nix-worker.

	commit fcd9900d74b0eb3d57402c448ede2a411133fa46
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 1 21:00:39 2006 +0000

	    * Replace read-only calls to addTextToStore.

	commit a824d58b566752b2a89a718fd628053754968d72
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 1 20:51:18 2006 +0000

	    * Merge addToStore and addToStoreFixed.
	    * addToStore now adds unconditionally, it doesn't use readOnlyMode.
	      Read-only operation is up to the caller (who can call
	      computeStorePathForPath).

	commit ceb982a1be381d59532d0405451f38d263abb617
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 1 18:02:05 2006 +0000

	    * Right name.

	commit b0d8e05be16e9887dbf3edcd6167c7f0b36dee5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 1 18:00:01 2006 +0000

	    * More operations.
	    * addToStore() and friends: don't do a round-trip to the worker if
	      we're only interested in the path (i.e., in read-only mode).

	commit 0565b5f2b35dc153dc98e1e3bd37476aa13ee4f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 22:43:55 2006 +0000

	    * More remote operations.
	    * Added new operation hasSubstitutes(), which is more efficient than
	      querySubstitutes().size() > 0.

	commit aac547a8b3f481fda48cc1fe1082ce4c32be0e03
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 21:32:46 2006 +0000

	    * Doh.

	commit 02632790713eaabd5250ba04283233c8bc078067
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 20:45:20 2006 +0000

	    * More operations.

	commit a711689368fe0915a2f18ea61fe6e953647d0174
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 20:13:59 2006 +0000

	    * First remote operation: isValidPath().

	commit 765bdfe542d3250329dea98b69db2271419f31b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 19:54:43 2006 +0000

	    * When NIX_REMOTE is set to "slave", fork off nix-worker in slave
	      mode.  Presumably nix-worker would be setuid to the Nix store user.
	      The worker performs all operations on the Nix store and database, so
	      the caller can be completely unprivileged.

	      This is already much more secure than the old setuid scheme, since
	      the worker doesn't need to do Nix expression evaluation and so on.
	      Most importantly, this means that it doesn't need to access any user
	      files, with all resulting security risks; it only performs pure
	      store operations.

	      Once this works, it is easy to move to a daemon model that forks off
	      a worker for connections established through a Unix domain socket.
	      That would be even more secure.

	commit 40b3f64b55f98e03b3173541b8d94cd924099223
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 19:19:59 2006 +0000

	    * Skeleton of the privileged worker program.
	    * Some refactoring: put the NAR archive integer/string serialisation
	      code in a separate file so it can be reused by the worker protocol
	      implementation.

	commit 9adc074dc3e135356c2390038bf72264c29c1e03
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 18:35:50 2006 +0000

	    * Oops.

	commit 9cf1948993659cc394eccea5890e14df82eff8bb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 18:35:36 2006 +0000

	    * Skeleton of remote store implementation.

	commit 6ecb840fd118019f879de60007e13321b7c080d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 18:02:04 2006 +0000

	    * Put building in the store API.

	commit e2ef5e07fdc142670f7f3161d3133ff04e99d342
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 17:43:04 2006 +0000

	    * Refactoring.  There is now an abstract interface class StoreAPI
	      containing functions that operate on the Nix store.  One
	      implementation is LocalStore, which operates on the Nix store
	      directly.  The next step, to enable secure multi-user Nix, is to
	      create a different implementation RemoteStore that talks to a
	      privileged daemon process that uses LocalStore to perform the actual
	      operations.

	commit 5f0b9de6d837daf43c6ab26d41c829621c3ca727
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 15:06:46 2006 +0000

	    * Benchmarking Unix domain sockets.

	commit fe15f991e3a65021442b682f187fcbdad06358a8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 11:24:10 2006 +0000

	    * Troubleshooting information on fixing a b0rked Berkeley DB database.

	commit 80b742dd520bffd3895b4dadef83d64e70309375
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 29 22:07:49 2006 +0000

	    * Don't spam.

	commit 92417600a1f26510d50310afef19b75c541d05df
	Author: Roy van den Broek <rbroek@cs.uu.nl>
	Date:   Wed Nov 29 21:58:09 2006 +0000

	    * Example script to set permissions for setuid operation.

	commit 71e867c5f5ee2c188244da33366e506935abffb7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 29 21:06:58 2006 +0000

	    * Remove --enable-setuid, --with-nix-user and --with-nix-group.
	      Rather, setuid support is now always compiled in (at least on
	      platforms that have the setresuid system call, e.g., Linux and
	      FreeBSD), but it must enabled by chowning/chmodding the Nix
	      binaries.

	commit c6a97e3b74289fdc8e57189212a0db3d0e6896e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 24 20:24:14 2006 +0000

	    * Doh!  Path sizes need to be computed recursively of course.
	      (NIX-70)

	commit a76efaeb3f2c1d7de6d41bd0e883b92e2d0f3d7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 24 20:07:30 2006 +0000

	    * Dead files.

	commit d94118628919ee5b6d8e52cd6dcf89ba13a54360
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 18 19:03:45 2006 +0000

	    * Show more progress.

	commit 0541ddc7e33c35a35efe85b6d6f603efb5bac8c8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 18 18:56:30 2006 +0000

	    * Turn off synchronisation between C and C++ I/O functions.  This
	      gives a huge speedup in operations that read or write from standard
	      input/output.  (So libstdc++'s I/O isn't that bad, you just have to
	      call std::ios::sync_with_stdio(false).)  For instance, `nix-store
	      --register-substitutes' went from 1.4 seconds to 0.1 seconds on a
	      certain input.  Another victory for Valgrind.

	commit 471749ca7eb594660488954d23391f5329d638a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 14 19:18:52 2006 +0000

	    * Grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...

	commit 17d18b1a9c821c234f5b0df7f4dec41a7ec537c1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 14 19:11:36 2006 +0000

	    * Doh!

	commit 0ddaee756e6e6b1d3802969162a90d4ff7ef886b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 14 19:08:46 2006 +0000

	    * Doh.

	commit bce9ff7ece912d18f1d92e6759b82ef5b8ad20aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 14 15:36:27 2006 +0000

	    * Use the patched ATerm library.

	commit 745e354b19a00dba9fd6d058036ce412ba30e23a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 14 10:23:21 2006 +0000

	    * Push.

	commit f459a5bb3a7142dee5d82c5d385bc3c4654c8e2c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 13 18:19:05 2006 +0000

	    * Remove the undocumented `noscan' feature.  It's no longer necessary
	      now that reference scanning is sufficiently streamy.

	commit e2a70b7ec04db604e9eaadfa6446bd360473163a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 13 18:18:13 2006 +0000

	    * Magic attribute `exportReferencesGraph' that allows the references
	      graph to be passed to a builder.  This attribute should be a list of
	      pairs [name1 path1 name2 path2 ...].  The references graph of each
	      `pathN' will be stored in a text file `nameN' in the temporary build
	      directory.  The text files have the format used by `nix-store
	      --register-validity'.  However, the deriver fields are left empty.

	      `exportReferencesGraph' is useful for builders that want to do
	      something with the closure of a store path.  Examples: the builders
	      that make initrds and ISO images for NixOS.

	      `exportReferencesGraph' is entirely pure.  It's necessary because
	      otherwise the only way for a builder to get this information would
	      be to call `nix-store' directly, which is not allowed (though
	      unfortunately possible).

	commit e40d4a5604a75540d94782d405dfff2000143f61
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 13 16:48:27 2006 +0000

	    * Option `--reregister' in `nix-store --register-validity'.  We need
	      this in the NixOS installer (or in the buildfarm) to ensure that the
	      cryptographic hash of the path contents still matches the actual
	      contents.

	commit e7904043184ed08b1c4f206bd67c9e84305220f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 13 14:54:18 2006 +0000

	    * Don't use the result of `uname -p' on x86_64 as it gives wacky
	      results on some machines. (NIX-69)

	commit 983c5e3fce1fb688ec086a5d6664a30f492f700d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 7 14:51:28 2006 +0000

	    * Fix the locking patch for Berkeley DB 4.5.

	commit 7e85a2af5f2cf6c19fc582c6cec77c0eefef2c31
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 3 16:17:39 2006 +0000

	    * Fix importing of derivation outputs.

	commit b3f916995af379ac1964e0459fb805803794ba39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 31 18:45:17 2006 +0000

	    * Oops, `nix-build --no-out-link' was broken.

	commit 005eecfc4d0a26694b521e999e4985c452c4b3f3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 30 16:29:05 2006 +0000

	    * Release notes.

	commit 8478cd260f31e8592aacdfaf99c1a4e53e4eb400
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 30 11:56:09 2006 +0000

	    * readFile: don't overflow the stack on large files.

	commit 8d17265ac4f9202d924a109a38db33dac5619f9f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 28 22:07:09 2006 +0000

	    * Don't use EPSV.

	commit ae6fb27f18fff6639f3b51ace4789537255a43a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 28 16:33:54 2006 +0000

	    * `nix-store --read-log / -l PATH' shows the build log of PATH, if
	      available.  For instance,

	        $ nix-store -l $(which svn) | less

	      lets you read the build log of the Subversion instance in your
	      profile.

	    * `nix-store -qb': if applied to a non-derivation, take the deriver.

	commit 99b0ea7c67e9e545bdf8b8bb050ce63dc9440e95
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 26 23:06:47 2006 +0000

	    * Typo reported by Arie Middelkoop.
	    * Left out close-quote in example.

	commit dd300fb48dd2048d056a5f25dda7d4c1f5515d46
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 23 16:45:19 2006 +0000

	    * Some better error messages.

	commit 1d694eef4ce022a99a3fb552804a1f26f686cc55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 19:20:18 2006 +0000

	    * Require Perl 5.8.0 or newer.  I mean, it *is* more than four years
	      old...

	commit 7a4497d98ca10a3e92d4f94fd62075f336b299b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 17:44:51 2006 +0000

	    * Checks for allowedReferences and some other features.
	    * Use nix-build in a test.

	commit 17f4883bfeb27c3fb6f28bd8ff8c6bbf65e6ea84
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 17:43:58 2006 +0000

	    * Better message.

	commit 9bd93f76069fdf25688ce984a17798ab0834202f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 17:39:02 2006 +0000

	    * toFile: maintain the references.

	commit b3d3700e113c584329473dbfbd3149c9ef8566e8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 17:30:09 2006 +0000

	    * nix-build: check the exit status of `nix-store -r'.

	commit 6a67556f7192108d612560992e97a14b0fe16a22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 16:09:24 2006 +0000

	    * Special derivation attribute `allowedReferences' that causes Nix to
	      check that the references of the output of a derivation are in the
	      specified set.  For instance,

	        allowedReferences = [];

	      specifies that the output cannot have any references.  (This is
	      useful, for instance, for the generation of bootstrap binaries for
	      stdenv-linux, which must not have any references for purity).  It
	      could also be used to guard against undesired runtime dependencies,
	      e.g.,

	        {gcc, dynlib}: derivation {
	          ...
	          allowedReferences = [dynlib];
	        }

	      says that the output can refer to the path of `dynlib' but not
	      `gcc'.  A `forbiddedReferences' attribute would be more useful for
	      this, though.

	commit daa8f85fcd3d5d7c48a51305818e05bee866b936
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 14:13:15 2006 +0000

	    * Backwards compatibility hack for user environments made by Nix <= 0.10.

	commit 24737f279e6f1e0fd079609b9397deb867925324
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 14:01:45 2006 +0000

	    * Backwards compatibility with old user environment manifests.

	commit 4bd5cdb90b980bd5e0eec86bf3fcfdd3b07946d1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 14:01:28 2006 +0000

	    * Print out the offending path.

	commit 58ff6939f4713063dabd77d485689691a82dbb3b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 12:58:42 2006 +0000

	    * An awful backwards compatibility hack.

	commit 3059df0f1e7c70da8b63e09420af84014ef96295
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 12:34:13 2006 +0000

	    * baseNameOf: paths don't have to be absolute.

	commit 822dba2210a03144510df357c4c38229b1e4c211
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 12:15:15 2006 +0000

	    * Maintain the references for the user environment properly.

	commit dfc042a0c1786596554f30d628555845ab4539d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 11:16:02 2006 +0000

	    * Another test.

	commit 9e30694f9838ff16533f614788c782503fe20967
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 11:08:59 2006 +0000

	    * Fix the tests wrt the AST changes, i.e., Str(s) -> Str(s, []), and
	      the semantic changes.

	commit be1961c9f8fbf71ab8ba7ba7a2da5dbb21be54b4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 11:07:11 2006 +0000

	    * toPath: should be the identity on paths.

	commit cba913c5217fd4071419279da81fd02599715b6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 11:05:34 2006 +0000

	    * dirOf: return a path if the argument is a path.

	commit cf705eaf78df646116f2fc14e6fa07d88f1607fe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 10:58:12 2006 +0000

	    * toString: don't copy paths.  So toString can be used to pass
	      non-store paths to a builder.

	commit 7de5fe2fc2cf4ceafc421697ad0bfb0a6e2d994d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 10:57:25 2006 +0000

	    * Do the path check on the normal form.

	commit 46b631b6c4a743b88bf2d6bb779c0f677e9b8318
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 10:15:42 2006 +0000

	    * Don't generate an empty drvPath attribute in the manifest.

	commit d7efd7639420f4c840cbfdfcbbb3c45292f3ac54
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 16 15:55:34 2006 +0000

	    * Big cleanup of the semantics of paths, strings, contexts, string
	      concatenation and string coercion.  This was a big mess (see
	      e.g. NIX-67).  Contexts are now folded into strings, so that they
	      don't cause evaluation errors when they're not expected.  The
	      semantics of paths has been clarified (see nixexpr-ast.def).
	      toString() and coerceToString() have been merged.

	      Semantic change: paths are now copied to the store when they're in a
	      concatenation (and in most other situations - that's the
	      formalisation of the meaning of a path).  So

	        "foo " + ./bla

	      evaluates to "foo /nix/store/hash...-bla", not "foo
	      /path/to/current-dir/bla".  This prevents accidental impurities, and
	      is more consistent with the treatment of derivation outputs, e.g.,
	      `"foo " + bla' where `bla' is a derivation.  (Here `bla' would be
	      replaced by the output path of `bla'.)

	commit 4c9aa821b985b8e334790a03497a56af3a021f3b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 13 14:08:14 2006 +0000

	    * Fix version.

	commit 142863a89d1652d6e634b5fb7f3084c9bc37b023
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 13 12:11:30 2006 +0000

	    * Use Berkeley DB 4.5.

	commit 37c8a664f3af9d67ecdc200d4a6b5ced1009c25f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 13 11:49:55 2006 +0000

	    * A helpful message.

	commit e4af398681576d62df29cfee018dea800a7dfa17
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 13 11:15:53 2006 +0000

	    * Don't crash when upgrading the Berkeley DB environment.

	commit 2a535689fe801441ef8e4a5c6659925528cce106
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 12 20:13:29 2006 +0000

	    * Reduce the maximum archive size for patch generation to 100 MB to
	      prevent trashing on nix.cs.uu.nl.

	commit 7d4567f2cc16959e827f542e6de76a28ff11789e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 11 21:59:33 2006 +0000

	    * Removed URIs from the evaluator (NIX-66).  They are now just another
	      kind of notation for strings.

	commit b4e012ab4d8ef2f9091c1e8d14e059b38a2e4529
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 11 13:39:00 2006 +0000

	    * Merge 0.10.1 release notes.

	commit 0c4c5c2020383db9c2d39d7a3420195568d06312
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 10 21:23:35 2006 +0000

	    * Quick hack to fix NIX-67: evaluation result differing if the Nix
	      expression resides in the store.

	commit bd0c40e1e93d2239b44bd1f73c2587cd62e66e4d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 10 15:07:23 2006 +0000

	    * `import': unwrap the context.  Necessary to make `import (x + y)'
	      work, where x is a store path.

	commit 7bada48b36a091bb30c905229e16df3c36c90d7d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 6 13:45:29 2006 +0000

	    * Bumped the version number to 0.11.

	commit e1cc84259ce38f0639f6304f04e1747c00fd43cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 6 09:59:02 2006 +0000

	    * Too lazy to document nix-push --copy.

	commit b3fc0160618d89bf63ce87ccad27fc68360c9731
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 6 09:03:39 2006 +0000

	    * Translate Unicode quote characters to ASCII equivalents when
	      generating NEWS.txt.

	commit 3815d2d463d6cd130e96497e66ff50b9243e59fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 6 07:47:56 2006 +0000

	    * Typos etc.
	    * Set the release date.

	commit beee18de881040e3d7861be694fc3c66e9bf4159
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 23:13:15 2006 +0000

	    * Document nix-store --delete.

	commit eff573f5638e8eefd682d0a8860728fe53791f22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 23:01:50 2006 +0000

	    * Work around a weird bug in the manpage generation.

	commit 9e08f5efe105fb1314e3bb052a819696ed2adee1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 22:57:07 2006 +0000

	    * Documented nix-store --dump / --restore.

	commit 8791ffbc886520e02017f854342922a624b61fb5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 22:56:52 2006 +0000

	    * Documented new nix-env options.

	commit 99ef620c8c453949719c45229a8bd4f1cd5a66a8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 20:41:57 2006 +0000

	    * Documented nix-instantiate --xml, --strict.
	    * Added an example to the nix-build section.

	commit 8396b592860bcb7b6394e7201b20d63ea92887d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 20:07:41 2006 +0000

	    * Documented --attr / -A.

	commit 5d769de8a34474f4e76911927118312b69b47136
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 09:08:52 2006 +0000

	    * Document --arg.

	commit 6f2bfd92b695a31b35d8d515cd4ee12f9fc2c786
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 08:21:52 2006 +0000

	    * Manual.

	commit d98f750fd8de5a0546903061e94b9bda3f68681f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 18:58:11 2006 +0000

	    * tmpnam() -> File::Temp::tempdir().

	commit 34427a7b43382215774b1a164fd784a0f7804d33
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 17:07:58 2006 +0000

	    * Weird.

	commit a3fd53b9eb767c9b9f2c8f3824a1aea1c25544a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 17:07:52 2006 +0000

	    * Style tweak.

	commit 59ef0aaf3fc6707d25f7f4fcabab4f1ceaaef9e1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 16:02:18 2006 +0000

	    * Strings.

	commit 407c9fd520e8084f3a313297cdd6e99e56247f07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 15:20:19 2006 +0000

	    * Explanation of toXML example.

	commit 0ef3bd3c376a2d48e98dfb8712a7d376743b0498
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 12:20:07 2006 +0000

	    * Use GIF callouts instead of PNG since the GIFs have transparency.

	commit 4a7ece698ba27e8957fed071434e3e66c337b03b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 08:26:05 2006 +0000

	commit bd4f1b4bb8fb20b0752677c52f28ff951205d513
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 08:14:35 2006 +0000

	    * Style tweaks.

	commit 96fa456a0ae624a30a3cfded21e91e690056eda2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 3 15:39:34 2006 +0000

	    * An example of using toXML to pass structured information to a
	      builder and generate a Jetty configuration file with XSLT.

	commit 5fd44654dbca02f188957279eb25a33a3ecfe96b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 3 15:38:59 2006 +0000

	    * toXML: propagate the context to allow derivations to be used in the
	      argument.

	commit 3837fb233cccc8f65629749f07820afba04952a0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 3 15:19:05 2006 +0000

	    * Document the built-in functions.

	commit d20c3011a06a49d229c92c49447eb21b5a1f110d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 3 14:55:54 2006 +0000

	    * toFile: added an additional argument to specify the store path
	      suffix, e.g., `builtins.toFile "builder.sh" "..."'.
	    * toFile: handle references to other files correctly.

	commit 84e6c43e85cab83ee033bf13c1e58c0f30ca1de9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 22:11:44 2006 +0000

	    * Documented nix-hash.

	commit cfe35ca0e04fe486394d8505646cf7dff5d627be
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 20:28:52 2006 +0000

	    * Manual.

	commit 853252ac6699ec339f0692c913361b0df417ded6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 16:14:30 2006 +0000

	    * Document the new let.

	commit ac19b333b38b2ac4b633bc1203e59c153bbb5c91
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 15:52:44 2006 +0000

	    * Finally, a real "let" syntax: `let x = ...; ... z = ...; in ...'.

	commit 7581cfdee4001cba719d4d72f8f17f1b4c04ed51
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 14:43:15 2006 +0000

	    * Hack for Bison 2.3 compatability.

	commit f316b6c1a91e596b2717bc4db76c6513e3ef5f85
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 11:50:55 2006 +0000

	    * Manual updates (especially how nix-build makes testing packages much
	      easier; no longer need a helper expression).

	commit 91a01e6fcf88edfff5cd1b25651452d4385b1fbd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 09:01:36 2006 +0000

	    * Manual.

	commit 88d422567eb018b8b050a662bdaa6b0faa6a4be0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 29 14:59:10 2006 +0000

	    * One-click installs.

	commit 0212feeed66d2eb0a9365ca4d55cb2dad3bc4ade
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 29 14:16:41 2006 +0000

	    * Document nix-install-package and the nixpkg file format.

	commit 070e07ed5aeac9918b9ec4cb6944f31b2b1aeeae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 29 11:03:16 2006 +0000

	    * Manual.

	commit 30c7db85d81840d9d99841ab72e95c5267a925a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 29 10:31:56 2006 +0000

	    * Manual updates, some style improvements.

	commit e2eed05224ed9bbc64014db9158bbc42bd3d9bef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 28 09:10:53 2006 +0000

	    * Manual updates.
	    * Documented nix-{pack,unpack}-closure.

	commit 4ad6fb7ea3e18361b6021a23a7401af4085d3602
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 27 21:04:07 2006 +0000

	    * Fix setuid builds.

	commit 015ac7c7da6dfc93d287b89e443648656a88665d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 27 13:27:26 2006 +0000

	    * Release notes.

	commit a9a6356ffceeb346b9de1f7640932a27bf90ce1d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 27 12:43:00 2006 +0000

	    * Release notes.

	commit e47d42536fbee59598951f1e007b7fa5884459e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 26 09:57:27 2006 +0000

	    * Release notes.

	commit 5ca45d085e0ecf44f5362272b89a8532c2fffdc8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 15:11:59 2006 +0000

	    * Use "propagated-user-env-packages", not "propagated-build-inputs"
	      for packages that should be propagated to the user environment.

	commit 02f2335712c6448b10f8a2828a22c663bf8d9579
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 15:07:45 2006 +0000

	    * Propagated packages now have lower priority; they are symlinked
	      *after* the packages that have been explicitly installed, and
	      collisions are ignored.

	commit 3632019b737d1c570a3c30f4f3f07763b5b1d23c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 14:00:59 2006 +0000

	    * Quick hack to let nix-install-package set the package name properly
	      (e.g., "java-front-0.9pre15899" instead of "java-front";
	      particularly important when doing upgrades later on).

	commit d43565c3e837feea478aaa71bad7e0a92c1911f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 11:11:16 2006 +0000

	    * In `nix-channel --update', skip manifests that assume a Nix store at
	      a different location than the user's.  This makes channels usable as
	      a source deployment mechanism for people who install Nix under
	      non-standard prefixes.  (NIX-57)

	commit 68ae953d8a492061bcda7c4d7bf2f5b9432f791c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 10:44:27 2006 +0000

	    * Clean up calls to system().

	commit 76c971009149f73453ccec66392625f2b67f8785
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 10:29:25 2006 +0000

	    * Use builtins.toPath.

	commit e347033f718e23d1ae6821207124465fedc73db1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 24 21:39:57 2006 +0000

	    * The result of a concatenation with a derivation on the left-hand
	      side should be a path, I guess.
	    * Handle paths that are in the store but not direct children of the
	      store directory.
	    * Ugh, hack to prevent double context wrapping.

	commit 0e705391dbe5340154d59106e591671923d107d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 24 18:23:32 2006 +0000

	    * Primop `toPath' to convert a string to a path.
	    * Primop `pathExists' to check for path existence.

	commit e47e0c2dbe808f299eb912da94640b95954703f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 24 17:48:41 2006 +0000

	    * Builtin function `getEnv' for getting environment variables.

	commit df8873e14ad071812e27f38b69783f04dbae5f44
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 24 15:21:48 2006 +0000

	    * lessThan primitive for integer comparison.

	commit 2ab4bc44c780d2e28647f7559664675b756f38b9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 15:29:21 2006 +0000

	    * Builtin function `add' to add integers.
	    * Put common test functions in tests/lang/lib.nix.

	commit d315210612a8d5eb52654407903544b72222130b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 14:55:19 2006 +0000

	    * Added a builtin function `isList' to test whether a value is a list.
	      With this primitive, a list-flattening function can be implemented
	      (NIX-55, example is in tests/lang/eval-okay-flatten.nix).

	commit c02a44183fcff7c28cfed1c84c142cc2cf80f167
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 14:46:36 2006 +0000

	    * Builtin functions `head' and `tail' to return the head and tail of
	      list.  Useful for lots of things, such as implementing a fold
	      function (see NIX-30, example is in tests/lang/eval-okay-list.nix).

	commit 8a1ab709a47f0896cb5b47521e31c8c27f88b2b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 14:31:55 2006 +0000

	    * New builtin functions builtins.{hasAttr, getAttr} to check for
	      attribute existence and to return an attribute from an attribute
	      set, respectively.  Example: `hasAttr "foo" {foo = 1;}'.  They
	      differ from the `?' and `.' operators in that the attribute name is
	      an arbitrary expression.  (NIX-61)

	commit 666babbbfa2fc168b8d511a35065d352b4979dae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 13:10:30 2006 +0000

	    * Use a bounded amount of memory in scanForReferences() by not reading
	      regular files into memory all at once.

	commit 385c6f87373303f6e4c9f4e67e02507641a268f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 12:07:41 2006 +0000

	    * Supply the 64-bit ATerm patch, but don't apply it (since that
	      requires rerunning Autoconf/Automake).  Interested users should do
	      that themselves.

	commit d22d7565f3a1848552f9459e18cb4be4e6d08018
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 11:28:23 2006 +0000

	    * Don't allocate the buffer twice.

	commit b43aeadbc9a42c845a50c28ceb1c148e39e77cb9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 11:13:35 2006 +0000

	    * Don't allocate more than SIZE_MAX bytes.

	commit 4cab35d1a691009b43fb0c47574ae0e4baa0b65d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 11:13:12 2006 +0000

	    * Build with -D_FILE_OFFSET_BITS=64 to support files >= 2^31 bytes
	      (NIX-22).

	commit 25df5017046ca5d4f753787532b747cb2c44fec6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 21 19:06:34 2006 +0000

	    * GC options in nix-store --help (NIX-15).

	commit 0bd5eb71a0a23b27a02af591ba46e4cf2c34aa04
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 21 18:54:08 2006 +0000

	    * `nix-install-package --url': install from a URL (NIX-12).
	    * `nix-install-package --help' (NIX-9).
	    * `nix-install-package --non-interactive': don't prompt or pause.
	    * Tests for nix-install-package.
	    * Security fixes: filter the values obtained from the nixpkg.

	commit 4e91d8621f6620f8b15535002309882fd7794a1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 21 18:52:05 2006 +0000

	    * Fix comment.

	commit ee5040421ff442ec62db25f35874d9a27f9a646f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 21 11:29:14 2006 +0000

	    * Try konsole and gnome-terminal in addition to xterm.

	commit 1bdc152931b2da66d896199e22defa70eaec9eff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 16:36:29 2006 +0000

	    * Shut up a warning.

	commit 1b804f88e44e7f6760e9c43e329a8a6eb368c52e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 16:23:14 2006 +0000

	    * Absolute path to rm (NIX-51).
	    * Don't hardcore /nix/bin and /nix/store.

	commit 0623359fbc67c421bf76b7433f92c7ef58050321
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 16:15:32 2006 +0000

	    * Print a better error message for wrong hashes (NIX-49).

	commit 22d13d6ec27b02f98ca4e398fbae4f3273e97794
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 15:28:47 2006 +0000

	    * Check for patch (NIX-59).

	commit 947e64578969e95e96157c7e2e52fd7299027184
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 15:14:19 2006 +0000

	    * Hide warnings about a missing "lsof" (NIX-54).

	commit a060adf165e24a585da0301e88ad41e674f3e9db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 15:04:04 2006 +0000

	    * Use paths, not strings, when calling the function that generates
	      NARs.  Fixes the impurity of nix-push (NIX-21).
	    * Better help.

	commit 7dd342e482b230d0042f8f2dee6ccb44232a3d3b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 19 16:40:22 2006 +0000

	    * Doh.

	commit ee6cf99660bbef843145731fbcdce9880c3bdb21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 19 16:14:15 2006 +0000

	    * Doh!  Of course we have to take execute permission into account.
	    * Restore the mtime on modified directories.

	commit 6dbed1bf38cd881ebf13aae39a4d988e4bd57f79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 19 14:58:35 2006 +0000

	    * `optimise-store.pl' reduces disk space consumption by hard-linking
	      all identitical files in the Nix store to each other.  (Previously
	      it only computed the size that would be saved by doing so.)

	commit 07cec27848014244c8f62985c5c0eb045bc86634
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 19 14:27:28 2006 +0000

	    * Cleanups.

	commit 9488ae7357b718e09362c22f075cc5553c758214
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 19 13:53:35 2006 +0000

	    * `show-duplication.pl', a small utility that shows the amount of
	      package duplication present in (e.g.) a profile.  It shows the
	      number of instances of each package in a closure, along with the
	      size in bytes of each instance as well as the "waste" (the
	      difference between the sum of the sizes of all instances and the
	      average size).

	      $ ./show-duplication.pl /nix/var/nix/profiles/default
	      gcc 11
	        3.3.6 19293318
	        3.4.4 21425257
	        ...
	        average 14942970, waste 149429707
	      coreutils 6
	      ...
	      average package duplication 1.87628865979381, total size 3486330471, total waste 1335324237, 38.3017114443825% wasted

	      This utility is useful for measuring the cost in terms of disk space
	      of the Nix approach.

	commit e0afaf18576e8c04110f4ae8499a311cae261215
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 14 22:48:59 2006 +0000

	    * Wow, that bug has been there since r764.

	commit 86cbd93ec1e439fba3e33016272db45d9597fba4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 14 22:33:53 2006 +0000

	    * nix-env --switch-generation / --list-generations /
	      --delete-generations: lock the profile to prevent (extremely
	      unlikely) race conditions.

	commit 5c38c863bdb6904f28a929b97e91d283e29aea70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 14 22:30:33 2006 +0000

	    * Fix a huge gaping hole in nix-env w.r.t. the garbage collector.
	      Nix-env failed to call addPermRoot(), which is necessary to safely
	      add a new root.  So if nix-env started after and finished before the
	      garbage collector, the user environment (plus all other new stuff)
	      it built might be garbage collected, leading to a dangling symlink
	      chain in ~/.nix-profile...

	    * Be more explicit if we block on the GC lock ("waiting for the big
	      garbage collector lock...").

	    * Don't loop trying to create a new generation.  It's not necessary
	      anymore since profiles are locked nowadays.

	commit f00bc4c94ca4122d432ae516f8d1d7b405d5d05e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 12 09:29:28 2006 +0000

	    * "Too many links" error.

	commit 01d169f817649796aad94180beadbf54bb636161
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 11 13:05:15 2006 +0000

	    * Support `++'.
	    * More follow restrictions on layout.

	commit feb63da431eae72087fb57d723e62573ee0c4e14
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 8 09:31:07 2006 +0000

	    * Remove debug message.

	commit a04a65d7a5ef904ff8465bd4e63e17a88d75be2f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 6 14:29:49 2006 +0000

	    * Release notes.

	commit 2e210b2387904ada0417ad5a7502e4e40b852e02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 6 14:23:04 2006 +0000

	    * Convenience option `nix-collect-garbage -d' (--delete-old): removes
	      old generations of *all* profiles in /nix/var/nix/profiles, then
	      runs the garbage collector.  Quick way to get rid of all old stuff.
	      Of course, one cannot roll back to earlier points in time after
	      this.

	commit 89ac8db74f1241c56b05f579cc1e04056de1a6ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 5 11:34:50 2006 +0000

	    * Package the include directory.

	commit a89a2015981ed32354ff1cc29ea41ae8d0221fbe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 5 10:32:47 2006 +0000

	    * Missing #include.

	commit fc195519b5dfbb8e7901cf6672fb4af36df9b350
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 5 08:54:48 2006 +0000

	    * Sone missing #includes.

	commit bafc1690fc4a2a2c3ff81ff1c1a677f208d3b1b7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 22:55:28 2006 +0000

	    * Move setuid stuff to libutil.
	    * Install libexpr header files.

	commit e5a6c09b12a9a68ba604d4e95adf28482ae8fc8d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 22:41:36 2006 +0000

	    * Install header files in /nix/include/nix.

	commit 4be5443882cfbe7c2aa09b1c373c220400a5133f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 22:08:40 2006 +0000

	    * Remove unnecessary inclusions of aterm2.h.

	commit 2382a729e07ae09abb278cc28b137b9c4060101e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 21:50:39 2006 +0000

	    * Don't need extern "C".

	commit e3ce954582f56b9d853ea379c783cf6cd5571c83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 21:36:15 2006 +0000

	    * Compile the lexer as C++ code.  Remove all the redundant C/C++
	      marshalling code.

	commit 75068e7d753cf6cbe45a4bf294000dca9bd41d8b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 21:06:23 2006 +0000

	    * Use a proper namespace.
	    * Optimise header file usage a bit.
	    * Compile the parser as C++.

	commit aab88127321344d5818d823bff515d127108d058
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 15:12:24 2006 +0000

	    * Store the Nix libraries in ${libdir}/nix instead of ${libdir}.

	commit 7974aae81ced67b2aee0b537a37d813f6c67a1ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 1 12:07:31 2006 +0000

	    * New primop: builtins.toFile, which writes a string into the store
	      and returns its path.  This can be used to (for instance) write
	      builders inside a Nix expression, e.g.,

	      stdenv.mkDerivation {
	        builder = "
	          source $stdenv/setup
	          ...
	        ";
	        ...
	      }

	commit de90fdf908f2504e1a89a5d4660552cbcc1a15d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 1 12:04:06 2006 +0000

	    * Allow "$" in strings as long as they are not followed by "{".  (Too
	      bad flex doesn't have lexical restrictions, the current solution
	      isn't quite right...)

	commit c9586b6c3f32b22eec8791fd9b49c81ec3f5fcf6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 1 12:02:39 2006 +0000

	    * Fix race condition in the test.

	commit c25f688e237cbd3329b2479202ad7a6a5e438b8a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 31 15:38:43 2006 +0000

	    * Doh! Doh! Doh!

	commit 354d58b3d71d8b3723ff3cb6e8311469e9548417
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 31 11:40:39 2006 +0000

	    * Better error checking.

	commit f93f7b75be7851affd1288dc36d6d4c4f0d43743
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 30 13:10:04 2006 +0000

	    * Okay, that's a bit harder than expected.

	commit dce1afdc67b36e1b06d03c541758cb3cd97ccedd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 30 12:25:27 2006 +0000

	    * TDD: == should do a deep equality test, i.e., it should strictly
	      evaluate its arguments.

	commit 3151bdea55ceb341b08998d2b29d9451e81c2143
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 30 12:00:27 2006 +0000

	    * Uninitialised variable.

	commit 547b119f25dea97ff06cf754f2720e11b50f079f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 29 15:40:49 2006 +0000

	    * Support singleton values and nested lists again in `args', but print
	      a warning.

	commit 2132d9ddeba14ea2ddcbb16fa51ddb16c45c3c6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 29 15:29:38 2006 +0000

	    * Fix the ~ operator.

	commit 1f6616dabff48028b2b08fc50889707928201ea6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 29 15:29:19 2006 +0000

	    * Backwards compatibility test for ~.

	commit 1ec9f55741ae54f5e618e248ee49aff132017247
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 28 21:47:42 2006 +0000

	    * In toString, deal with nested lists properly (i.e., flatten them).

	commit 1fca76870b7a96d1eb33abb8ad4e4cc5ba656253
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 28 13:31:06 2006 +0000

	    * Removed processBinding, instead we now apply toString to all
	      derivation attributes to flatten them into strings.  This is
	      possible since string can nowadays be wrapped in contexts that
	      describe the derivations/sources referenced by the evaluation of the
	      string.

	commit 8a6080eb1400b9b7414e2ec8b995268315448cb5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 26 16:48:01 2006 +0000

	    * Refactoring.

	commit 4b66cebe7bf1a8c03fb8f1e0052c19e91820c66c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 25 17:09:55 2006 +0000

	    * Remove those storePath attribute sets, we don't need 'em.

	commit e5678b3435d44a610517246f95c7626d36965389
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 25 16:23:42 2006 +0000

	    * Map "ppc" to "powerpc" so that Linux on PowerPC will be reported as
	      "powerpc-linux".

	commit e64c4f5742dbe830ab9048aeef386a4eb0c62622
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 25 13:36:17 2006 +0000

	    * Doh! (NIX-58)

	commit bf738f00707d57a1e8ecbdf77b68df84f710b53b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 25 12:14:57 2006 +0000

	    * Honour DESTDIR so that bzip2/bunzip2 get installed in the right
	      location when building RPMs (fixes NIX-58).

	commit 3e8dccf6ab0918e89c4275ea9bf454d34e01534b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 24 15:02:39 2006 +0000

	    * Escape newlines in XML attributes to prevent them from being
	      normalised away.

	commit 215ec2ddc6088be2291722a544c6ab5a1b00a5a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 24 14:34:29 2006 +0000

	    * New primop __toXML (or builtins.toXML) to convert an expression to
	      an XML representation stored in a string.  This should be useful to
	      pass structured information to builders.

	commit f793caf93674350f8c1e6fa740ab6cce649d0db8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 24 14:16:55 2006 +0000

	    * Refactoring.

	commit da25d80152fb6e51fe695dcd2ebaa4e00a7ee646
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 24 14:03:39 2006 +0000

	    * Strict evaluation and XML printing of lists.

	commit 943ab38a0d0969004de231a6b3e89df88ffc6ccf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 24 13:39:22 2006 +0000

	    * Refactoring: move strictEval to libexpr.

	commit f41297fdcecaa1ba12d238d1754457d319426579
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 23 16:33:21 2006 +0000

	    * Allow --arg in nix-env as well, example:

	      $ nix-env -qa --system-filter \* --arg system '"powerpc-darwin"'

	      to override the system from the default value (__currentSystem in
	      all-packages.nix).

	commit 9638f3f3930bffab8a547ec59502ae72e203d9ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 23 16:20:14 2006 +0000

	    * Pass the autoArgs to findAlongAttrPath so that "nix-instantiate
	      foo.nix -A attr --arg name value" will work if (name, value) is
	      needed in the evaluation leading up to "attr".

	commit b19cebc513c2d513ee1f91b5ce12f30c5dd095f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 23 15:46:27 2006 +0000

	    * Quotes.

	commit 38f18aa6d418515e42b688fa9b3e4f3ab61bb89e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 23 15:46:00 2006 +0000

	    * New primop: abort "error message".

	commit 4a053bfdfd85915a2a659a337bd171bc22c49138
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 23 14:39:11 2006 +0000

	    * A new primop `builtins', which returns an attribute set containing
	      all the primops.  This allows Nix expressions to test for new
	      primops and take appropriate action if they're not available.  For
	      instance, rather than calling a primop `foo' directly, they could
	      say `if builtins ? foo then builtins.foo ... else ...'.

	commit 68515b5a96d0d7c114570434f605e5077b7d3166
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 22 13:19:06 2006 +0000

	    * Release notes.

	commit 561a07f51d9710ecea006b18463c8119e04d3806
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 22 13:18:51 2006 +0000

	    * Revert unintentional commit.

	commit 93d9797eda419cd9f9fc059af3e1a765adeb50dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 22 09:34:38 2006 +0000

	    * Urgh (see NIX-56).

	commit 1a9a1f2768bac5defe4c2e39e5a9ccdee0e05d55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 21 16:05:11 2006 +0000

	    * Convert to DocBook 5.
	    * Use Jing for RelaxNG validation, xmllint seems buggy.

	commit cc0505f033f9d7f55837dca7b3bb4fb3d2969afb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 17 12:21:39 2006 +0000

	    * Distribute *.exp.xml.

	commit 4874fd2d9a698170adfd22c69e8e38b5afb7d03c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 17 11:28:29 2006 +0000

	    * Test for `nix-instantiate --eval-only --xml'.

	commit 24e234a2fabd8930f1ef71a5bb03010725d0773a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 17 08:53:08 2006 +0000

	    * Print attributes in sorted order, rather than the arbitrary order
	      produced by ATermMap.  Necessary for testing.
	    * `--strict' should also work on stdin.

	commit 22ba63df162d3ac980f5c33210929177e0a3dfe0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 16 21:59:53 2006 +0000

	    * More XML output.  `--strict' to strictly evaluate attribute sets and
	      so on.
	    * Removed `--print-args', it's subsumed by `--eval-only --xml'.

	commit 18e4ac0fc6bd1bc01d92d011e4629cacc3bec016
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 16 10:32:30 2006 +0000

	    * `nix-instantiate --{eval|parse}-only --xml': print an XML
	      representation instead of an ATerm.
	    * Indent XML output.

	commit fe101fa7851c3eccb79441ed7f5805e13934254f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 16 10:29:43 2006 +0000

	    * Meh.

	commit 267064273301ee9547589fd5874eee693415352f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 16 10:28:44 2006 +0000

	    * Handle carriage returns.  Fixes NIX-53.

	commit bfe19b3c3728d90cad7575c5d2571d48f0ef0d14
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 16 10:23:02 2006 +0000

	    * A test for NIX-53.

	commit 3e5b68068bf5cfdc671a2900eeb0dc70fae49cf6
	Author: Martin Bravenboer <martin.bravenboer@logicblox.com>
	Date:   Tue Aug 15 21:37:48 2006 +0000

	    On cygwin, disable the check that the output is not group or world
	    writable. File permissions on Cygwin are rather complex, and in this
	    case this check introduced a problem with build jobs invoke from
	    outside of Cygwin (MSYS). It seemed almost impossible to fix the
	    permissions of the directory, so for now this safety check is disabled
	    on Cygwin.

	commit 7455fd88356fdb58db3fbf01c68de86b06c18747
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 14 14:24:18 2006 +0000

	    * Put the value in an attribute.

	commit 4250b641d8e8edc4cb7def9bc463c7e4ff82e144
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 11 20:26:49 2006 +0000

	    * `nix-store --gc --print-dead': print the total size of the store
	      objects that would be freed.

	commit 92f7dfa5b73e44f7584eaed726927450a29a48b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 11 20:15:20 2006 +0000

	    * Don't assume that paths returned by the runtime root finder are
	      valid.

	commit d19b6521fc5f28f821562f2f93cf9c772a5d4582
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 10 20:19:13 2006 +0000

	    * New configuration setting `build-max-jobs' which sets the default
	      for the `-j' flag (i.e., the maximum number of jobs to execute in
	      parallel).  Useful on multi-processor machines.

	commit 3e239a37ff6f19f2072f70881f8bce748d447c68
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 9 19:37:23 2006 +0000

	    * file:/ -> file://

	commit f1aa71a92f9914ac04141d9d0338391acedd6dea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 9 15:12:34 2006 +0000

	    * Fix the help message wrt --attr.

	commit a18d02e0b076a8a936c3c1660d93f941a9f3183f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 9 15:08:47 2006 +0000

	    * Print a warning that the subpath operator (~) is deprecated.

	commit c0bfcbdd45bfe3c45ab8bf188df926d214675a18
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Tue Aug 8 15:42:33 2006 +0000

	    rework the --target flag. If this flag is used, a URI should be given. Default
	    values are not changed.

	commit a0607be7f4ca2d54332cd9e557b21f6ed7a763d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 7 19:48:38 2006 +0000

	    * Workaround for a bug (?) in GCC 2.95.

	commit 5a6b45e2523c29c215f77135c6866baa83f1a7d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 7 18:22:57 2006 +0000

	    * In nar.nix, path -> storePath, otherwise we get a collision between
	      environment variable names on Cygwin (where they are case
	      insensitive).

	commit a61129c48cfc11f1b836f42e178aaf231c1fed82
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Sat Aug 5 00:33:52 2006 +0000

	    add coreutils to the default PATH for this scripts, so we know for sure we have tools like rm, mkdir, and so on

	commit f1947cce9375745b63f7f0512fd1bd4a0f5c1639
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Sat Aug 5 00:31:04 2006 +0000

	    prevent doing recursive chroots, by unsetting NIX_ROOT in the scripts.

	commit 1854f84e830a5282ae1ad1d0c85ed641af6bcf33
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 4 17:07:13 2006 +0000

	    * Fix a few warnings.

	commit dcff8cdb76b37da8978fecee3398d3b541d11ccb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 4 16:01:26 2006 +0000

	    * Weird issue on Cygwin with the include file order.

	commit f4a502a09a8f4dd0f4ac393798e66f0df03937d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 4 11:51:46 2006 +0000

	    * Use old-school pipe opens; the new style is Perl >= 5.8.0.

	commit 981eff065b8c5b8833ecb81e29b57944b493be01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 4 11:45:50 2006 +0000

	    * Remove the dependency on `date', use strftime instead.

	commit 339e6f0e1d8a8eddcaa58ceb3e7396eca9714087
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 3 15:52:09 2006 +0000

	    * `nix-env -q --xml': show query result in XML format for easier
	      automated processing.

	commit 0e267e2625dba2c771996bcf537d1ebb6956ba58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 3 14:49:57 2006 +0000

	    * `nix-instantiate --print-args': produce XML output so that the
	      result can be used more easily by scripts.

	commit 4750f6c5ed8f74683ebaa013079e24598a753cbe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 3 13:21:21 2006 +0000

	    * Simple class for writing XML files.

	commit fcb784051f5a2d502951722b09cb714d3b397ff4
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Thu Aug 3 11:48:09 2006 +0000

	    urgh...for some weird reason this one-liner was not in svn. PEBKAC!

	commit a29b64a231468174dcc693979fe40bd482b040b4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 1 13:50:10 2006 +0000

	    * Better error checking.

	commit 4fde308ec047df9691bbfb6f6c1b1fd8d56e8404
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Tue Aug 1 13:15:55 2006 +0000

	    add a flag --target, so we can override the URL in the MANIFEST file. This
	    is only for local copies (so file:///)

	commit 601a8eab79bd2822235bcf508574be668a036f18
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 1 12:00:37 2006 +0000

	    * Ugh.  Darwin's chmod insists that flags come before the mode
	      specification.

	commit 6ac237e242260385168046ad95ebc7db2f3538b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 1 09:43:41 2006 +0000

	    * Show some progress.

	commit 4661282fde9f37780877fbeeb34b06b0c221e6bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 28 16:03:28 2006 +0000

	    * `nix-instantiate ... --arg NAME VALUE': allow arguments to be passed
	      to functions from the command line.
	    * nix-build: started removing backticks.

	commit c11839d7b24993f9639d59f9fa3420e8ccc22e02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 28 14:01:29 2006 +0000

	    * `nix-instantiate --print-args': print out the valid values for
	      functions arguments that have a domain.

	commit ca2238cf818e27ebb663c83a9fe9ae7f58eb830f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 26 15:05:15 2006 +0000

	    * Refactoring: get the selection path stuff out of getDerivations()
	      and put it into a separate function findAlongAttrPath().

	commit 2317d8f6712b2d4e249b8b1206f9e0a9c4269fc0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 25 21:21:50 2006 +0000

	    * `nix-instantiate --print-args' prints out the arguments of a
	      top-level function.

	commit 0e6dc72a7a4d29b7f1a1458670581a29d573e479
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 25 16:40:38 2006 +0000

	    * Applied rbroek's patch from the branch at
	      https://svn.cs.uu.nl:12443/repos/trace/buildfarm-control/trunk/ext/nix/,
	      with some modifications.  This allows `nix-env -qa' to show the
	      attribute path that can be used to unambiguously install a package
	      using `nix-env -i -A'.  Example:

	        $ nix-env -f top-level/all-packages.nix -qaA subversion xorg-server
	        subversionWithJava  subversion-1.2.3
	        subversion          subversion-1.3.2
	        subversion14        subversion-1.4.0pre-rc1
	        xorg.xorgserver     xorg-server-1.1.0

	commit b11aeb2c4bce28dca0f0b266eff732ea80628aed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 25 13:15:23 2006 +0000

	    * Doh.

	commit 5744dd548039b9a8666a414dcb66629322e5af21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 25 11:53:22 2006 +0000

	    * Support the --attr / -A flag in nix-env as well.  So now we can do,
	      e.g.,

	      $ nix-env -i -A subversion xorg.xorgserver

	      The main advantage over using symbolic names is that using attribute
	      names is unambiguous and much, much faster.

	commit 7a3a5d1608254565030ae8ceb593605962a2614e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 24 16:49:28 2006 +0000

	    * When there is a domain check, we have to evaluate the argument.
	      Can't be lazy!

	commit f4c5531d928caadee75d66bba40994f55f839be7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 24 16:35:34 2006 +0000

	    * New language feature: domain checks, which check whether a function
	      argument has a valid value, i.e., is in a certain domain.  E.g.,

	        { foo : [true false]
	        , bar : ["a" "b" "c"]
	        }: ...

	      This previously could be done using assertions, but domain checks
	      will allow the buildfarm to automatically extract the configuration
	      space from functions.

	commit 88acffa20ac45fd13b65a1d9143e0400ae0bde47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 24 16:19:08 2006 +0000

	    * `touch' might not be in $PATH.

	commit b545c669a0d6b6ab7b1aa56560001e43fe9c0956
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 24 15:50:29 2006 +0000

	    * Tests for domain checks.

	commit 57751fdb55ad04d82542165417511d26304cadc2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 24 15:16:03 2006 +0000

	    * Refactoring to support domain checks.

	commit 9c3099d3286b7bc8582b1685ba1917db409cac0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 21 13:21:43 2006 +0000

	    * Purify `make check'.

	commit 7adaa6d4466063893c9ac6b5b7d71c423be34b69
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 21 12:46:54 2006 +0000

	    * Test for runtime root finding.

	commit dcded7da4704ae66ebbb4343597868a7eb992aa7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 21 12:28:25 2006 +0000

	    * Don't try to do DNS lookups.

	commit a4273156c43db7325d27cb21e460b57a998ee882
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 20 13:21:37 2006 +0000

	    * Use $(libexecdir) to find find-runtime-roots.pl.

	commit 410760c5ab696779bfd26bbd8026827ec436a201
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 20 12:58:51 2006 +0000

	    * Doh.

	commit ee2cf45d76a12542fa7c29563cfd9a67524479d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 20 12:19:55 2006 +0000

	    * Use debug().

	commit eca30e12e1c970e4e82ad8fec45d9e2db26b236d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 20 12:18:10 2006 +0000

	    * svn:ignore.

	commit c15f544356dfebf6d08887e73fa156d4e70e2bbc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 20 12:17:25 2006 +0000

	    * Call find-runtime-roots.pl from the garbage collector to prevent
	      running applications etc. from being garbage collected.

	commit ebcccbd3581d34d7fefb975c0255a39a3e39e122
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 19 16:49:59 2006 +0000

	    * Added a tool to find additional roots for the garbage collector,
	      such as open files, current directories, mmaped files, etc.  This is
	      inherently unportable, but it's easy to adapt this script to other
	      platforms.  Currently we call `lsof' and try to read various bits in
	      /proc/NNN.

	      The goal is to prevent the garbage collector from removing store
	      paths that are no longer reachable from a permanent root but that
	      are still in use (for instance, after the user has done "nix-env -e"
	      on a running program).

	commit 88e54153dce2cdba9a075d9dbc81ad81e7e73435
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 19 15:49:29 2006 +0000

	    * Add a precise test for hashDerivatioModulo.

	commit 4f3725b167cc0080c570a814e28c6181ef5c7f52
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 19 15:36:15 2006 +0000

	    * Better error messages (especially wrt types).

	commit e10b830251af37951109113d88ddf203ae95645c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 11 10:29:52 2006 +0000

	    * Doh!  Of couse we cannot memoize across scopes.

	commit 2b4b0658fa3f959f3b25dc75a3aa0a9814e63962
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 10 17:35:00 2006 +0000

	    * This expression has an undefined variable which isn't detected, so
	      evaluation fails:

	        error: impossible: undefined variable `gcc'

	commit d51aede4afeb49182879f257b56394b70938028f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 6 15:30:37 2006 +0000

	    * Allow the canonical system name to be specified at runtime in the
	      Nix config file.

	commit a945fb7905597ff67f285b39004f607f737b14e9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 27 12:17:25 2006 +0000

	    * `nix-env --upgrade --eq': only upgrade if the old version is equal
	      to the new version.  This is actually useful.

	commit f4a3a280dbd5c723d13cf74d71aab1993d0f0a9e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 22 13:01:42 2006 +0000

	    * Apply the ATerm aliasing patch so that Nix works correctly with gcc 4.1.x.

	commit dbf6d7e783ff86c60d39f5000e341082d2604e85
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 20 17:48:10 2006 +0000

	    * Concurrent GC on Cygwin.

	commit cc51f9c539a3822c84a2285efcec11b577727234
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 19 16:35:35 2006 +0000

	    * Oops.

	commit 5bb3444032ad92b98a4a58051fec1f2b31d2e3da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 19 16:24:15 2006 +0000

	    * _exit() doesn't seem to work right on Cygwin.

	commit b35735d8b28af206fa0b293c796bf44c62dde678
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 19 14:43:13 2006 +0000

	    * On Windows we cannot delete open (lock) files, so we delete lock
	      files after we've closed them.  Since this only succeeds if the lock
	      is no longer opened by any process, the token trick used on Unix is
	      not necessary.

	commit 0e783e557941f77d5b4bcf2a6c6423ed583991a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 19 14:37:35 2006 +0000

	    * Write messages to stderr in a slightly more atomic way.  Useful when
	      there are several parallel processes.

	commit d7f40357e328c54694edd24e5b2687fe5789528e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 16 13:27:36 2006 +0000

	    * Skip this test on Cygwin, too slow (and doesn't test anything Cygwin-specific).

	commit c937b736227384e6c2f4f477796fc3ce02d1229a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 16 10:13:03 2006 +0000

	    * Show when we're blocked waiting for a lock.

	commit 588cb0eade0c14acdf4a20dfec5678715cc6542e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 15 11:56:49 2006 +0000

	    * In `nix-env -i|-u|-e', lock the profile to prevent races between
	      concurrent nix-env operations on the same profile.  Fixes NIX-7.

	commit 49de87132f3f1685fcdd4157f89ca817647028b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 15 09:16:55 2006 +0000

	    * Removed.

	commit 48e4a3231b5c3b5b91305b246aec7e7c07fe291d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 14 13:31:23 2006 +0000

	commit b454977909f31cf560518042f22d930c375caaac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 14 11:53:55 2006 +0000

	    * Fix for a problem with BSD's group ownership semantics when the user
	      is not in the "wheel" group.

	commit 3a68622dda35d448d1baa61825edda45ca846b97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 14 11:52:22 2006 +0000

	    * Oops.

	commit 370af25efff8be8582bb810c9e4d980989668ffb
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Wed Jun 7 15:27:17 2006 +0000

	    * Fix for a locking bug in Berkeley DB on Cygwin.

	commit 23960e92df736d3c87db861fcaf2dd7981cfc4ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 1 18:13:33 2006 +0000

	    * Minor cleanup.

	commit 2d456fc35a57f3433ce228433dc8c034359cb605
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 31 11:50:14 2006 +0000

	    * On Cygwin, set the system type to i686-cygwin, and disable dynamic
	      linking.

	commit bb84984f3ff1fa8fbf3842c1331c4bb660a2714a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 31 10:58:47 2006 +0000

	    * svn:ignore.

	commit 50fe85f016d2d9cb6be512918d648f6376932903
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 31 09:51:45 2006 +0000

	    * For fixed-output derivations, pass the environment variables listed
	      in the attribute variable `impureEnvVars' from the caller to the
	      builder.

	commit 04cf72287bc27e4eca69d527ce44a88b7fcbebb2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 31 09:24:54 2006 +0000

	    * This may be useful in the future.

	commit 1390ce4142d511b284b354f984d84fdb12ae850b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 30 11:37:21 2006 +0000

	    * Not all platforms have sys/select.h.

	commit b1c63dc36230bfe4ac4d128f6647846a995feb40
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 30 11:31:33 2006 +0000

	    * Don't use badTerm, it gives awful error messages.

	commit c7d9397fc911997ff10192662bfdaf419167b142
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 29 21:53:58 2006 +0000

	    * Handle $PATHs with spaces.

	commit 58b4198ed8134ec246c0d0689ac46667fc389a97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 29 20:46:51 2006 +0000

	    * Disable the concurrent garbage collector on Cygwin for now.

	commit d764409d9714562f74b378f3eea666528aae3130
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 24 13:23:20 2006 +0000

	    * Some Cygwin fixes.

	commit b5988004d64d6c533e8bb09732a6f7cd4fb1194f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 12 11:47:45 2006 +0000

	    * Support for srcdir != builddir (NIX-41).

	commit 9d72bf8835f3012169aaa88ec608172d5a056b9e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 11 02:19:43 2006 +0000

	    * 64-bit compatibility fixes (for problems revealed by building on an Athlon
	      64 running 64-bit SUSE).  A patched ATerm library is required to run Nix
	      succesfully.

	commit e3c07782d124cdd8d0aab2b498225cdca28cad66
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 8 20:00:28 2006 +0000

	    * Remove old manifests in `nix-channel --update'.

	commit c54287eafe8435e71634df3957cd5e30b97bb6a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 8 15:15:13 2006 +0000

	    * GCC 2.95 compatibility.

	commit 8b5aa91aa7da149c0a734bd7a3353658aded9838
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 8 14:00:39 2006 +0000

	commit 5cabd47394a5bb3076f3f5b5a98425665cddef23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 8 12:52:47 2006 +0000

	    * Allow function argument default values to refer to other arguments
	      of the function.  Implements NIX-45.

	commit 310e605995dc104bee29d330ac135e3e2bb82f97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 8 10:00:37 2006 +0000

	    * Show evaluation stats when NIX_SHOW_STATS=1.

	commit 0832956089516d32371060c98df4f8d0cbff2b0f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 4 12:21:08 2006 +0000

	    * Use the new ATermMap.

	commit 9840368cad6088e4221fb323202861c97d70bb37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 4 09:22:29 2006 +0000

	    * Iterators.

	commit 6980544467b42aaefc5b588d8be2f1d7a2badef3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 4 08:32:30 2006 +0000

	    * Keep some statistics about memory allocation.

	commit b803fb95cbce33cf37496e1fc947d9721714de44
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 3 23:17:42 2006 +0000

	    * Maintain the count field properly.

	commit db0d865ec4fb646856731000d540d968011f4daf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 3 23:07:38 2006 +0000

	    * New ATermMap, seems more-or-less finished.

	commit 052cefe1bdb6be0257ef2f1c1f128b7e635814ed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 3 17:29:48 2006 +0000

	    * Started hacking on a ATermTable replacement, since ATermTable uses
	      gigantic amounts of memory --- 65536 bytes per table at least ---
	      which makes it unsuitable for representing short-lived substitution
	      tables and attribute sets.

	commit d300b4383dabb007db08c7165fb327c12dbe8e71
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 21:58:46 2006 +0000

	    * Optimise null-ary term builders.  Also declare all term builder
	      functions as pure, which might improve performance a bit.

	commit 68174bdc7d68746c5471e87bb74909c552e98644
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 21:39:02 2006 +0000

	    * Use a linked list of substitutions.  This reduces the amount of
	      copying.

	commit c791e94aee07ad98ec29df18498ad85241e1e96d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 17:51:50 2006 +0000

	    * Removed a bunch of ATreverses.

	commit b52e71191094f564d7b7484b89e47e710bb94bdc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 17:12:03 2006 +0000

	    * Huge reduction in memory use (2/3 or so on large nix-env -qas
	      operations): share ATermMaps between DrvInfos.

	commit 11ae2d1e7af05c3410a368338c7d13a49c2d2ccd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 14:07:28 2006 +0000

	    * Memory reduction: replaced expensive calls to ATmakeApplList by
	      ATmakeApplArray, and got rid of ATreverse in substitute().

	commit dc719e6ba57fc877574bd3bc023a25676c555b3c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 13:39:55 2006 +0000

	    * Some preliminaries towards NIX-45.

	commit ae55e79541ffbce7a051794d6d25e9e8c7b63b2d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 11:20:55 2006 +0000

	    * More tests.

	commit dca43ef795c0589d47620241823393c739b99498
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 11:15:04 2006 +0000

	    * Tests for NIX-45.

	commit 7276e194eefc807600e1dcd10566a57e557ed1ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 1 15:29:46 2006 +0000

	    * Disallow unescaped $ in string literals.

	commit 0064599a27ec44880e4ff6fa19f453e610b5ef07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 1 14:01:47 2006 +0000

	    * String interpolation.  Expressions like

	        "--with-freetype2-library=" + freetype + "/lib"

	      can now be written as

	        "--with-freetype2-library=${freetype}/lib"

	      An arbitrary expression can be enclosed within ${...}, not just
	      identifiers.

	    * Escaping in string literals: \n, \r, \t interpreted as in C, any
	      other character following \ is interpreted as-is.

	    * Newlines are now allowed in string literals.

	commit 6cecad2be0f7ced82658ec2a86bcf61583487959
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 1 09:56:56 2006 +0000

	    * Allow string concatenations involving derivations, e.g.,

	        configureFlags = "--with-freetype2-library="
	          + freetype + "/lib";

	commit cce31b739c6d3e381824ac6fde3f06ccb02782af
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Apr 29 11:54:45 2006 +0000

	    * svn:ignore

	commit 6fca1b82ae39dd45bdd155c7211dc16629a5e11a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 25 16:41:06 2006 +0000

	    * Change this to LGPL to keep the government happy.

	commit de8f2d061ca7646521b67fcbde5b474abaf9438b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 25 11:52:24 2006 +0000

	    * Install only the header file and libraries from Berkeley DB.

	commit e18c93169c35dba6863ffb9fb51c7b775bac9d89
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 25 11:33:27 2006 +0000

	    * Create libexec.

	commit 0748331b708deec8319a3e0dcb075b4c396b5665
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 25 10:57:08 2006 +0000

	    * Typo.

	commit 03162f8f477fb7634edbf53ad4e9dfca433dd9d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 25 10:45:53 2006 +0000

	    * Unless --with-bzip2 is specified, use a copy of bzip2 in the
	      externals directory.  This is in particular useful because though
	      most systems have bzip2/bunzip2, they don't always have libbz2,
	      which we need for bsdiff/bspatch.

	commit ef2d4a2da9c14c15985bdd27c02d2d30093a3e56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 24 14:02:44 2006 +0000

	    * Print a more useful stack trace when an error occurs deep in the
	      derivation dependency graph.

	commit b69e4693287d481ee75f948227a2c508391ef055
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 23 16:43:07 2006 +0000

	    * In `nix-env', look for derivations inside attribute sets that have
	      the `recurseForDerivations' attribute set to `true'.

	commit 49ce8b57ddc459faef8192be04f69b9e777afc75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 23 16:37:49 2006 +0000

	    * Hm.

	commit 20675feeab7501bd9ca78a699509b4de89885ec9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 15 12:58:22 2006 +0000

	    * Update copyright.

	commit 05bb644890b2c5b46f1e69072873a276dccaa191
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 14 16:35:01 2006 +0000

	    * Allow the resulting symlink of nix-build to be named, e.g.,

	      $ nix-build .../i686-linux.nix -A apacheHttpd -o apache

	commit fdea084c365083a65eb363973400416107b5e32b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 22:27:26 2006 +0000

	    * Allow `make check' to work in directories that have symlink
	      components.

	commit 37d1b1cafd17a18dc7dbef3b4ba7fb204158d58b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 16:20:42 2006 +0000

	    * `nix-env -qa --description' shows human-readable descriptions of
	      packages (provided that they have a `meta.description' attribute).
	      E.g.,

	      $ ./src/nix-env/nix-env -qa --description gcc
	      gcc-4.0.2   GNU Compiler Collection, 4.0.x (cross-compiler for sparc-linux)
	      gcc-4.0.2   GNU Compiler Collection, 4.0.x (cross-compiler for mips-linux)
	      gcc-4.0.2   GNU Compiler Collection, 4.0.x (cross-compiler for arm-linux)
	      gcc-4.0.2   GNU Compiler Collection, 4.0.x

	commit a33fb2d28738376d377ea8473f6cffc39bc784c4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 16:14:30 2006 +0000

	    * Oops.

	commit 2b3b6c9b3428856b215545efd3abb9b8f42cf8b4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 16:14:13 2006 +0000

	    * In theory, this should reduce the number of ATermMap
	      re-allocations.

	commit 4ada6db1fc9cee9c0e51fb54af8770dd28243dff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 10:24:46 2006 +0000

	    * `nix-env -q' now accepts arguments that allow specific derivations
	      to be queried, e.g., `nix-env -qa firefox'.  This does require the
	      argument '*' to be passed if one wants information about all
	      derivations, so the old `nix-env -qa' now is `nix-env -qa "*"'.

	commit 9811815429f613b4ab64794a3b95144f9aa5b41d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 09:41:28 2006 +0000

	    * Write messages to stderr, not stdout.

	commit 18c321308d2e71db7355a83200c0ef4d00900d0b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 9 17:07:25 2006 +0000

	    * Ugh, printHash() was very inefficient because it used
	      ostringstreams.  Around 11% of execution time was spent here (now
	      it's 0.5%).

	commit b90c00e63fb476d8587ca29f15cbe8008760a584
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 9 15:10:01 2006 +0000

	    * Regression: semantics of the result of getDerivation() changed.

	commit 922697c8b27570b6c76a472266507b73f6b79f7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 9 15:09:18 2006 +0000

	    * Big speedup (factor > 2.5) in all nix-env operations that do actual
	      instantiation, e.g. "nix-env -i" and "nix-env -qas" (but not
	      "nix-env -qa").  It turns out that many redundant calls to
	      addToStore(path) were made, which reads and hashes the entire path.
	      For instance, the bash bootstrap binary in Nixpkgs would be read and
	      hashed many times.  As a result nix-env would spend around 92% of
	      its time in the function sha256_block (according to callgrind).
	      Some simple memoization fixes this.

	commit 6dca5c9099b92b6a93071197aa606a31ccd83a37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 8 16:03:58 2006 +0000

	    * When obtaining derivations from Nix expressions, ignore all
	      expressions that cause an assertion failure (like `assert system ==
	      "i686-linux"').  This allows all-packages.nix in Nixpkgs to be used
	      on all platforms, even if some Nix expressions don't work on all
	      platforms.

	      Not sure if this is a good idea; it's a bit hacky.  In particular,
	      due to laziness some derivations might appear in `nix-env -qa' but
	      disappear in `nix-env -qas' or `nix-env -i'.

	      Commit 5000!

	commit 9088dee9e265db8176b61e53ac43a916fdd34a3d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 8 14:11:19 2006 +0000

	    * Some refactoring of the exception handling code so that we can catch
	      Nix expression assertion failures.

	commit fa72ae1e9cad0dded28b965fe97293bbeeac031e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 6 14:40:10 2006 +0000

	    * GCC 4.1 compatibility.

	commit c8bfb11b34e4b8d3cfd714c54e7436c80e4d72ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 6 11:21:15 2006 +0000

	    * `nix-env (-i|-u) --dry-run' now shows exactly which missing paths
	      will be built or substituted.

	commit 7ba1fd2029c1290d89f0218157e597885926ca80
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 6 11:04:39 2006 +0000

	    * Regularise help text a bit.

	commit 120f00c04fcc1cf1239e88b605f34da551e0bacf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 3 14:25:07 2006 +0000

	    * More online help.

	commit 2d54312f876c4810db4c3c0006bace686db4948b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 3 14:15:02 2006 +0000

	    * Rewrote nix-build in Perl, since sh is just too limited (turns out
	      that arrays are a bash extension, so it didn't work on FreeBSD).
	      Also fixes NIX-8 (readlink(1) dependency).

	commit 78d84f5631eb1d0e4b665dbaacbbb1669ba899f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 18:26:21 2006 +0000

	    * Tests for fixed-output derivations (and attribute selection, incidentally).

	commit 2167bf6b72dde2bb574ac72da0fad145504a4d3f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 18:11:41 2006 +0000

	    * Tests to prevent a repeat of the parseHash32 debacle.

	commit 70dee0f8ca9d7236008e161d1d1210b945ec832e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 18:05:47 2006 +0000

	    * Flags `--to-base32' and `--to-base16' to convert between hex and
	      base-32 hashes.

	commit e136532800113902432c451f0a38bf6d77e5801a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 17:59:08 2006 +0000

	    * Ouch, parseHash32 was completely broken.  All digits >= 4 were
	      parsed as 4.

	      For a moment I worried that printHash32 was broken, and that would
	      have been really, *really* bad ;-)

	commit 74166f2f44a9d2de6dc7862a99e9c2f2bcc9b54b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 17:44:28 2006 +0000

	    * db.hh shouldn't depend on the Berkeley DB headers.

	commit 1bdceb421fe0082213e012362c1ac6a47ee6e4bb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 16:52:55 2006 +0000

	    * Doh!

	commit d822bf32e470e46a3634638fee3c4b1472d2cd26
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 16:36:35 2006 +0000

	    * Close the database before the destructor runs.

	commit fa95f4be3f4df6ebe4d49ec57a66129f645e36c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 16:26:13 2006 +0000

	    * More test coverage.

	commit 80b5c7168436d4fa34952c2d7d8c26d9894afe3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 16:03:32 2006 +0000

	    * Doh!

	commit e3daee919d0335d2c41fc556ff55d8289ade10d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 15:46:22 2006 +0000

	    * Test `nix-store -q --binding'.

	commit ea9c35d3cc2ef65643718e696007ba3569099e1e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 15:43:37 2006 +0000

	    * Test `nix-store --add' and `nix-store -q --hash'.

	commit 30d051ff14d5a0f8912c9ba3c3a6ca97c2b7dbf0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 15:40:01 2006 +0000

	    * New suppressions.

	commit b6780b9e1079cdb3eec2aedcd7d9e510edfd95f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 14:39:42 2006 +0000

	    * Uninitialised variable.  Fixes the --delete test.

	commit b602d2dfdf79d5e00595f78701b54339e15bf7d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 14:39:10 2006 +0000

	    * Wrong delete.  Thanks valgrind.

	commit b90787290df216f511ec296c85390e645ca1e89f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 14:26:03 2006 +0000

	    * TDD! Woohoo!

	commit 089c41a0c2ecf91c55495547a5462d75f36be5f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 14:17:00 2006 +0000

	    * Oops!

	commit ca0b23c831e28ef344e71ffd342452700b1b9109
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 14:00:27 2006 +0000

	    * Test the nix-store --gc subflags.

	commit 5cb6c42088347bf7ba513cdd68b20c91035c7db9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 13:49:12 2006 +0000

	    * Test nix-build.  This also tests indirect roots.

	commit 8cd646b6af87dad97d326e5f0d7b1e9ecff17c97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 13:33:12 2006 +0000

	    * Clear the substitutes prior to running the test.

	commit e48bd8c8b50e48db297e49fb325a94e854d6bdad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 13:25:08 2006 +0000

	    * Add a test for nix-log2xml.

	commit 458820df6cb976e0642c67ca775d8e7095c091f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 13:24:47 2006 +0000

	    * Generate valid HTML.

	commit 6b8bb8d74ab500eb6dddecbdf578c9cdf14a748c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 12:51:39 2006 +0000

	    * Remove dead code.

	commit 84c4631221bc65643830173b4affe58b0dc58202
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 12:51:18 2006 +0000

	    * Simplification.

	commit a4c63c6e8e161d55778b797e566d9eca7c47f34f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 12:15:33 2006 +0000

	    * Make it easy to run individual tests from the command line.

	commit 85793fa438847974330123a8d4160283fcfa18f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 24 17:10:38 2006 +0000

	    * Remove debug statement.

	commit e2f16b9cae0f9904daeb94ac0ecee1fd9ae2c9b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 24 16:05:55 2006 +0000

	    * A script to remove from a manifest those patches whose base or
	      target no longer applies to any available release.  This is a
	      partial fix for NIX-34 (when producing linear patch sequences
	      between releases, the number of patches grows without bound).

	commit 5168f9bb005aa0d25cb31fdd7aba1bac951b2251
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 24 16:02:36 2006 +0000

	    * Canonicalise manifests a bit by sorting them.

	commit 9d3bee50ad9e52cd46eefe06a4c6b55794e83a9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 15:20:11 2006 +0000

	    * Aha!

	commit 17f39049cf13450c86b62a5782f28e678849bc33
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 15:09:47 2006 +0000

	    * WTF?

	commit 43fa1c20e7e98819925b16d60d6b7c9e87c93fca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 14:35:19 2006 +0000

	    * Separate the cache reading code.

	commit 928cce592279615fbe7b29fc0f47bb2506297116
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 14:13:02 2006 +0000

	    * Directory for nix.cs.uu.nl manifest / cache maintenance scripts.

	commit fcec32a2c56589da9224aa62daf94c6492250015
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 14:10:02 2006 +0000

	    * Use right directories for NAR files and patches.
	    * Print errors to STDERR.

	commit f0d6318dd1227dff81b84d62796371904e5c5b5f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 14:02:44 2006 +0000

	    * More tests.

	commit ddb78dfc3d209f96101da242f90e5031918af355
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 13:55:41 2006 +0000

	    * Check whether "nix-store -q --graph" generates a valid dot graph.
	    * Test "nix-store -q --tree" as well.

	commit 46f0cb08692713954a4d452da6d7c07e17eb0cac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 17 18:11:45 2006 +0000

	    * In "nix-env -i", print a warning if there are multiple derivations
	      with the same name *and* version number, and pick the first one
	      (this means that the order in which channels appear in
	      ~/.nix-channels matters).  E.g.:

	        $ nix-env ii aterm
	        warning: there are multiple derivations named `aterm-2.4.2'; using the first one
	        installing `aterm-2.4.2'

	commit 7a3e715980c3fcd84b6d12f54a18a920ebba208d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 17 17:47:54 2006 +0000

	    * Fix for NIX-31: "nix-env -i foo" installing all derivations named
	      foo.  Now it will only install the one with the highest version
	      number.

	commit 58fc420b365b8f8d6faaa332ab3ba4e97ad584e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 17 17:05:34 2006 +0000

	    * And another test.

	commit 4ddd5ff39cddf46acb23eedc9638f9709da0c47d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 17 17:03:19 2006 +0000

	    * Regression test for NIX-31.

	commit 889ef564fd0aca2814659f28fc7b9dc0191a6656
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 17 16:26:28 2006 +0000

	    * Fix the infamous NIX-17: nix-env -i prints misleading messages
	      ("installing `foo'" followed by "uninstalling `foo'").

	commit 345a95afe9e265bc433eea46c32c507ea84a72a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 16 13:58:10 2006 +0000

	    * Allow the size of the GC reserved file to be specified in nix.conf
	      through the new `gc-reserved-space' option.

	commit 651ab439cf5b0c6ab2044257a30b0d94406d57d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 16 13:19:15 2006 +0000

	    * A simple hack to fix NIX-18: the garbage collector cannot run when
	      the disk is full (because to delete something from the Nix store, we
	      need a Berkeley DB transaction, which takes up disk space).  Under
	      normal operation, we make sure that there exists a file
	      /nix/var/nix/db/reserved of 1 MB.  When running the garbage
	      collector, we delete that file before we open the Berkeley DB
	      environment.

	commit d6f586d0eaa9344a99248cc4dfb7825972f2a174
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 13 19:52:43 2006 +0000

	    * Optional switch "--with-openssl=<PATH>" to use OpenSSL's
	      implementations of MD5, SHA-1 and SHA-256.  The main benefit is that
	      we get assembler-optimised implementations of MD5 and SHA-1 (though
	      not SHA-256 (at least on x86), unfortunately).  OpenSSL's SHA-1
	      implementation on Intel is twice as fast as ours.

	commit e8475bbd5b0c5505bb0536929e89efc8b0d4da5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 13 18:00:08 2006 +0000

	    * Use a union.

	commit 2d2e28d02c18668856b7d55fad40cac4f875fa3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 13 13:09:23 2006 +0000

	    * Override YYMALLOC and YYFREE so that we can call AT[un]protectMemory
	      on the Bison parse stack.  Otherwise, a garbage collect during
	      parsing could lead to a crash.

	commit 0ca0a4da9f63c8c036d82c2366f4c794bcd327d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 13 12:48:59 2006 +0000

	    * Valgrind suppressions for the ATerm library.  The ATerm library uses
	      a conservative garbage collector that scans the stack and parts of
	      the heap for pointers to ATerms.  This scan can touch uninitialised
	      memory, which is harmless.  Use:

	      $ valgrind --suppressions=aterm-gc.supp ...

	commit da0a6b6499ea89bc9858d32970da8f26c5f3c56b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Feb 12 21:00:36 2006 +0000

	    * Doh.

	commit 982399bb144ca1c6d21834fd9a6f61b49db1bfce
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 10 17:37:35 2006 +0000

	    * Enable the --attr in nix-build as well (and add -A as an alias).
	      Example:

	        $ nix-build ./all-packages.nix -A xlibs.libX11

	      So finally it's easy to perform a test build of a Nix expression!

	commit c6120352b3fd25380ff21726982e22b97ee43e0b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 10 17:25:59 2006 +0000

	    * In nix-instantiate, allow us to specify a "path" to the
	      derivation(s) we're interested, e.g.,

	        $ nix-instantiate ./all-packages.nix --attr xlibs.libX11

	      List elements can also be selected:

	        $ nix-instantiate ./build-for-release.nix --attr 0.subversion

	      This allows a non-ambiguous specification of a derivation.  Of
	      course, this should also be added to nix-env and nix-build.

	commit b505f9eaf57c7badeacb176a1946b5f5f145f816
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 10 15:29:17 2006 +0000

	    * Document that nix-instantiate can read from stdin.

	commit 9e51abc7dc13ece2a561cdd41c0304cffbba67d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 10 15:28:47 2006 +0000

	    * Make --parse-only work when *not* reading from stdin.

	commit f848a457391488544abc6b405d33ab5334eb19d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 10 15:14:57 2006 +0000

	    * Cleanup: use the code shared with nix-env.

	commit 4eb637c799bddfcff7661164f98cd604fe4120f5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 16:15:07 2006 +0000

	    * When querying all derivations, filter out syntactically equal derivations.

	commit 8688e83194c11f66df2d38dfa9b274d2216773b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 15:22:30 2006 +0000

	    * When evaluating, automatically call functions with default arguments.

	commit f8aadf14c3426f7ab2b7a934b602f812bcc5b8ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 15:21:57 2006 +0000

	    * Test-driven development, woohoo!  nix-env should work on functions,
	      provided that all arguments have defaults.

	commit 287d0ef41c347d91c0cd2f74ab4e48df7c125cc8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 14:32:33 2006 +0000

	    * Oops, fix breakage.

	commit e771e59178f42fd1c6005c8a35f2ecfebf0e4ce4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 14:32:06 2006 +0000

	    * Tests for nix-env, finally!

	commit 39f50db731bb1924d3c18b153dfe4258208b8812
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 13:21:16 2006 +0000

	    * Refactoring: move derivation evaluation to libexpr.

	commit 4db4b61380d94c2626b7c4ee2e613b6b6223f803
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 7 14:47:26 2006 +0000

	    * Don't install nix.conf (so it won't be overriden when you upgrade an RPM).

	commit 81de538e46c154267c4fb7e87cf6804aed63f3df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 3 14:20:59 2006 +0000

	    * Use setsid instead of setpgrp in child processes.  This not only
	      creates a new process group but also a new session.  New sessions
	      have no controlling tty, so child processes like ssh cannot open
	      /dev/tty (which is bad).

	commit b90daaaf6c1f52fe93f4f845da20b122cfea2936
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 2 16:27:31 2006 +0000

	    * When killing a build hook, kill the entire process group (as
	      intended).  This ensures that any ssh child processes to remote
	      machines are also killed, and thus the Nix process on the remote
	      machine also exits.  Without this, the remote Nix process will
	      continue until it exists or until its stdout buffer gets full and it
	      locks up.  (Partially fixes NIX-35.)

	commit 6e2eaaec96e96ce593dd1e38d03fcf8d1f62eb55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 17:28:13 2006 +0000

	    * Print a better error message when writing the patched file (e.g.,
	      "No space left on device" instead of "Success").  Reported by Karina
	      Olmos.

	commit d9d6ff9f8eb4269bb697912154ef9d6d96ab1481
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 16:49:52 2006 +0000

	    * Doh.

	commit 8291f6d96845163850a2451fff4a03a292fa71b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 16:48:49 2006 +0000

	    * bsdiff updated to 4.3.  This makes Nix depend on libbz2.

	commit 9e4ffc43a2a6b67643765efd48198f218fcf0530
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 16:47:51 2006 +0000

	    * The "S" bit should be based on the output path, not the derivation path.

	commit 3eba483692f6c353dd20341b9d3fea144271ba69
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 14:52:58 2006 +0000

	    * Use Berkeley DB 4.4.20.

	commit 151f10dbc758a8bbc15bd941bd10bfdfe4c925a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 12:41:54 2006 +0000

	    * Add @bindir@.

	commit 83424eb71b2c9656061b01617230e433a4b27d83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 26 23:18:46 2006 +0000

	    * Don't force a build of derivations.

	commit db2275cb9968fc337bfac14805651d6c78c7213a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 26 23:18:26 2006 +0000

	    * Oops, the "I" bit in "nix-env -qas" was broken.  Reported by Nicolae Vintila.

	commit 1029716a8a8934fe1f0502e3da0d65646f45c911
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 19 15:35:34 2006 +0000

	    * Don't show cycles, they're not very useful.

	commit e4d4969ae929682aea936e035cc24d56949a82ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 12 15:17:51 2006 +0000

	    * New tools nix-pack-closure and nix-unpack-closure.  These provide a
	      useful way to transfer the closure of a store path to another
	      machine.

	      These commands provide functionality previously possible through
	      `nix-push --copy'.  However, they are much more convenient in many
	      situations (though possibly less efficient).

	      Example:
	      $ nix-pack-closure /nix/store/hj232g1r...-subversion-1.3.0 > svn.closure
	      (on another machine:)
	      $ nix-unpack-closure < svn.closure

	      Note that Subversion is added to the store, but not installed into a
	      user environment.  One should do `nix-env -i
	      /nix/store/hj232g1r...-subversion-1.3.0' for that.

	      Another example: copy the application Azureus to the machine
	      `scratchy' through ssh:

	      $ nix-pack-closure $(which azureus) | ssh scratchy nix-unpack-closure

	commit 5b527901ae625675f525dd65b82f90bcb2001afd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 9 14:52:46 2006 +0000

	    * dirOf: return "/", not "", for paths in the root directory.  Fixes NIX-26.

	commit 04be39734f6a5fe2e724a0c7b813ea1dd6ed3a29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 8 17:16:03 2006 +0000

	    * Resolve all symlink components in the location of the temporary
	      build directory (TMPDIR, i.e., /tmp).  Fixes NIX-26.

	commit 0f8d3c871bfad0f83f4469c26aaa37927a525fe0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 25 11:29:12 2005 +0000

	    * More GCC 2.95 compatibility.

	commit 52d20ef124bafc51d982b34d127e7d9524d1a409
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 25 02:02:29 2005 +0000

	    * Hack around a GCC 2.95 bug.

	commit 1440419b45dec876497b982f945bcfff8d0aea4b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 24 23:32:59 2005 +0000

	    * GCC 2.95 compatibility.

	commit 1d2460ee5da0f026807ac645aebdd8ab811058cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 24 23:22:05 2005 +0000

	    * Documentation fixes.

	commit f96d2dea266760e5587356e72d1cadaace5f7d5b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 23 21:36:44 2005 +0000

	    * Added a flag `--ignore-liveness' to `nix-store --delete'.  It
	      deletes a path even if it is reachable from a root.  However, it
	      won't delete a path that still has referrers (since that would
	      violate store invariants).

	      Don't try this at home.  It's a useful hack for recovering from
	      certain situations in a somewhat clean way (e.g., holes in closures
	      due to disk corruption).

	commit 4b9e7f59ca14c3de7b0cfdaebca98fa2639bbbf9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 23 21:08:42 2005 +0000

	    * Revived the old "nix-store --delete" operation that deletes the
	      specified paths from the Nix store.  However, this operation is
	      safe: it refuses to delete anything that the garbage collector
	      wouldn't delete.

	commit 3c5619c7e496b0ce7b7bc16cbcf11668cf7a69fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 21:11:55 2005 +0000

	    * Begin release notes.

	commit 530b27df1e71852580d8b0d474543aeffe65618f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 21:11:39 2005 +0000

	    * `nix-store --gc' prints out the number of bytes freed on stdout
	      (even when it is interrupted by a signal).

	commit 5144f750c471cdb629750e96ddc913fb01fb9eef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 17:04:02 2005 +0000

	    * Typo.

	commit b1eed6b5862644fe8fdb8b7d3897fdcf227abe71
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 16:53:21 2005 +0000

	    * Split the database upgrade into multiple transactions to prevent
	      Berkeley DB from running out of locks.

	commit 11a8dc76d6262c8da601cf640516b9e9669850a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 13:45:10 2005 +0000

	    * Doh!

	commit ab5c6bb3a3deef29c6fe0a86017d35bc4f3de506
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 13 21:04:48 2005 +0000

	    * Change `referer' to `referrer' throughout.  In particular, the
	      nix-store query options `--referer' and `--referer-closure' have
	      been changed to `--referrer' and `--referrer-closure' (but the old
	      ones are still accepted for compatibility).

	commit d87549c1c7bb6f85ff0a019b33b315ace0013e6b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 12 19:14:38 2005 +0000

	    * Automatically delete the old referers table.

	commit 8463f27d8cd09d54648de21c747f895cdb558f83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 12 18:24:42 2005 +0000

	    * Fix NIX-23: quadratic complexity in maintaining the referers
	      mapping.  The referer table is replaced by a referrer table (note
	      spelling fix) that stores each referrer separately.  That is,
	      instead of having

	        referer[P] = {Q_1, Q_2, Q_3, ...}

	      we store

	        referer[(P, Q_1)] = ""
	        referer[(P, Q_2)] = ""
	        referer[(P, Q_3)] = ""
	        ...

	      To find the referrers of P, we enumerate over the keys with a value
	      lexicographically greater than P.  This requires the referrer table
	      to be stored as a B-Tree rather than a hash table.

	      (The tuples (P, Q) are stored as P + null-byte + Q.)

	      Old Nix databases are upgraded automatically to the new schema.

	commit 18bbcb1214caf75c0190e610d7eb34e971366c7c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 11 19:25:48 2005 +0000

	    * Add a test to demonstrate the quadratic complexity of referrer
	      (de)registration, in particular garbage collection (NIX-23).

	commit a33b561a6b2e5cbc805f903817a3a3d5df03b747
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 9 22:55:07 2005 +0000

	    * Use Berkeley DB 4.4's process registry feature to recover from
	      crashed Nix instances, and toss out our own recovery code.

	commit eb268a7f959ff558fcbb72f2c2c3b3c3df97eb6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 8 22:14:15 2005 +0000

	    * Apply the patch.

	commit dfffd9256813701e64685227bdfb75f0a694c70d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 8 18:18:20 2005 +0000

	    * A patch to make the DB_REGISTER feature work when debug info is not on.

	commit 760264bffe7f233f7c1fd5e9fccb9b3c189afd58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 6 15:00:04 2005 +0000

	    * Require Berkeley DB 4.4.
	    * Checkpoint after an upgrade.

	commit dc528128cc5230c9eb7da0abb0a791f94e0e3b56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 17 13:58:23 2005 +0000

	    * FreeBSD compatibility fix.

	commit 44409f52c1984542d1e565b55e5b94f29c686c7b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 17 11:58:22 2005 +0000

	    * "Fix" the test, since we cannot feasibly support the intended semantics.

	commit b7f008fc353ea05c423fb571047144052ce691c3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 16 08:27:06 2005 +0000

	    * Did something useful while waiting at IAD: reference scanning is now
	      much faster.

	commit 9311ab76a523de516b6bc98afda9e4b790225514
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 4 15:34:09 2005 +0000

	    * Install signal handlers for SIGTERM and SIGHUP.  This ensures that
	      Nix is properly shut down when it receives those signals.  In
	      particular this ensures that killing the garbage collector doesn't
	      cause a subsequent database recovery.

	commit 5bf939885a8bfca9b66a2440bf52330c5fde6477
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 4 15:17:05 2005 +0000

	    * Memoise checkVarDefs since internally produced terms (i.e., not the
	      result of parsing) can have very heavy sharing, causing exponential
	      complexity if we naively recurse into them.  ATerms are graphs, not
	      trees!

	commit 1f285cf5563047f236213c8eadc91324b69af42b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 4 14:50:33 2005 +0000

	    * Scoping bug in `with'.

	commit 221c79013f105612222cd7df3415bf63abcc7412
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 29 18:17:45 2005 +0000

	    * Turn off build hooks in nix-push because of an impurity (NIX-21).

	commit f0856fd905ea727e88f3fc14d3c717679ce8359b
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Sat Oct 29 15:44:02 2005 +0000

	    * Repair the referers table from the references table.

	commit 92d599c6a7e7d197fa41167967860628b0f51e60
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 20 16:58:34 2005 +0000

	    * Prevent uids from being used for more than one build
	      simultaneously.  We do this using exclusive locks on uid files in
	      /nix/var/nix/userpool, e.g., /nix/var/nix/userpool/123 for uid 123.

	commit e932c40f8e1fb6aa6edb155fbca1c1273798a20e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 19 14:27:44 2005 +0000

	    * Oops.  Fixed-output derivations were broken.

	commit 1b43fbd8e4c97dfed5f0679feccdb7ff576f6bbe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 18 14:09:43 2005 +0000

	    * Oops, that should be Berkeley DB 4.3.  Reported by Gerco Ballintijn.

	commit 13b089c890bac229e7c3accfd9299f3fdac95e27
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 17 17:43:21 2005 +0000

	    * Also kill all processes of the build user after the build.  This is
	      critical to prevent certain kinds of 0wnage.

	commit f1b3a418fa86e3204c47d4b33873b57a19e9f47c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 17 17:35:37 2005 +0000

	    * Before starting a build under some uid, kill all current processes
	      running under that uid.

	commit 439823ae803444052442ad6ceb7191ba22cbc4cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 17 16:59:25 2005 +0000

	    * Check that the build result is owned by the build user, and that
	      nobody else has write permission to the build result.  This catches
	      most hack attempts.

	commit 7ef574e5d0568a27a3f30b68af6d0a744aff90ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 17 16:52:29 2005 +0000

	    * Don't use FIFOs to make Nix create the output path on behalf of the
	      builder.  Instead, require that the Nix store has sticky permission
	      (S_ISVTX); everyone can created files in the Nix store, but they
	      cannot delete, rename or modify files created by others.

	commit 32282abceaebbe574fa83c074aa8dbff19f937bb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 17 15:33:24 2005 +0000

	    * Beginning of secure multi-user Nix stores.  If Nix is started as
	      root (or setuid root), then builds will be performed under one of
	      the users listed in the `build-users' configuration variables.  This
	      is to make it impossible to influence build results externally,
	      allowing locally built derivations to be shared safely between
	      users (see ASE-2005 paper).

	      To do: only one builder should be active per build user.

	commit 15ff877438a57936d620622cee8fb98cea607d08
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Tue Oct 11 17:30:57 2005 +0000

	    add @coreutils@ to correctly use coreutils to create a profile. This is needed
	    for NixOS, where we might not know our PATH in advance.

	commit 0f133ae8d280c33db21d0aab7269c647de016b23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 12:41:12 2005 +0000

	    * Use ATerm 2.4.2.

	commit dfbf520ec2748b17638fdc5a911f7b091f1b74a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 6 15:51:59 2005 +0000

	    * Swap the system and version comparion columns.

	commit 62412c5874583364a95eece820744bed53d155cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 6 15:51:43 2005 +0000

	    * Document `nix-env --compare-versions'.

	commit cec2be64f36dce184986cbe69adf80a3fac6985a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 6 15:01:46 2005 +0000

	    * Only colorise if we are attached to a terminal.

	commit b87b9c0d1fcbce045f05379d0efe9ae14d0f87e6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 6 14:44:54 2005 +0000

	    * New query option: `--compare-versions' or `-c' to compare installed
	      versions to available versions, or vice versa.

	      For example, the following compares installed versions to available
	      versions:

	        $ nix-env -qc
	        autoconf-2.59            = 2.59
	        automake-1.9.4           < 1.9.6
	        f-spot-0.0.10            - ?
	        firefox-1.0.4            < 1.0.7
	        ...

	      I.e., there are newer versions available (in the current default Nix
	      expression) for Automake and Firefox, but not for Autoconf, and
	      F-Spot is missing altogether.

	      Conversely, the available versions can be compared to the installed
	      versions:

	        $ nix-env -qac
	        autoconf-2.59                  = 2.59
	        automake-1.9.6                 > 1.9.4
	        bash-3.0                       - ?
	        firefox-1.0.7                  > 1.0.4
	        ...

	      Note that bash is available but no version of it is installed.

	      If multiple versions are available for comparison, then the highest
	      is used.  E.g., if Subversion 1.2.0 is installed, and Subversion
	      1.1.4 and 1.2.3 are available, then `nix-env -qc' will print `<
	      1.2.3', not `> 1.1.4'.

	      If higher versions are available, the version column is printed in
	      red (using ANSI escape codes).

	commit 0e0041b2b674e94ae7846474c536ad49239f9e36
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 5 13:01:45 2005 +0000

	    * Update NEWS in the root directory properly.

	commit 0e38578433f5626a33647d8d1332affe1b10b94c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 5 09:42:13 2005 +0000

	    * log2xml -> nix-log2xml.

	commit d47e03fccd1807edb6199cbe0736872d0db3b017
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 5 09:37:58 2005 +0000

	    * Install the XSL stylesheets for log to html conversion.

	commit ed4de220d29414be504a9f73bf86e0cef2e8dfba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 28 09:00:07 2005 +0000

	    * Use "source" instead of ".".

	commit ebfe57166dcf14b0033b4f3d3be3bb1289a19c07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 22 17:23:43 2005 +0000

	    * Lets not go wild with templates.

	commit 4578a490ce5a5a6325b4ff2b8f44468464de2d94
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 22 15:43:22 2005 +0000

	    * Parse multi-valued options.

	commit fbedf6056eb2acb5049b0372350b2c93b8185ab7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 22 12:23:22 2005 +0000

	    * Merge release notes.

	commit 607a2f01e6e171ab31c31aef3220dc69736309c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 21 17:14:52 2005 +0000

	    * Remove other uses of IPC::Open2.

	commit 95304172a581a1052a3b6bcda2ef1a8531f88949
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 21 17:06:06 2005 +0000

	    * Don't use IPC::Open2, it has a subtle race bug on Mac OS X 10.4.  If
	      the parent runs before the child, it closes some pipe file
	      descriptors which causes the child to fail due to a bad file
	      descriptor.  So we just use the normal open() function instead.

	      This fixes NIX-14 (intermittent nix-pull failures).

	commit a864aca44cf2eb0b6b39f5e06ac4112250a05358
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 21 17:02:48 2005 +0000

	    * This doesn't parse for now.

	commit 8d06842a761bab72a2886420c6c47f9daedf30e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 21 12:19:39 2005 +0000

	    * Configuration options for trusted local builds.

	commit 89cd0f57b174ec4dc7e0a4e6015ed401272d9aad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 21 11:12:43 2005 +0000

	    * Use -all_load on Mac OS X.

	commit ef9e2c8e733c4cd4f98ebc704527a54588f4a3ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 20 16:14:00 2005 +0000

	    * Typo.

	commit 25d217684b06b368923d8f683c9b561cdfded255
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 18 20:27:02 2005 +0000

	    * Use a statically linked ATerm library and build it at -O1, since
	      higher optimisation levels cause statically linked libraries to
	      barf.

	commit f4fe3bd5b1b92007f2023f841a468c64592b6fd0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 13:47:03 2005 +0000

	    * Bump the version number to 0.10.

	commit db1a4227a3303d6bda5ea0f28716ca9141a5b25e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 11:28:29 2005 +0000

	    * Updated release notes.

	commit c28b8eb6996ee1fa6cf0755dcb745b7382650011
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 10:35:48 2005 +0000

	    * svn:ignores.
	    * Add missing file to dist.

	commit 6f044ab39ceec0a53ccc6995d0c0ec43603ba9b9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 09:05:54 2005 +0000

	    * svn:ignore.

	commit d34fa9a6cc62f8a98a64a269843f0480ceaed8b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 09:05:18 2005 +0000

	    * Remove dead file.

	commit 846b53bde42614e30bbb260d4ba97140eb503f49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 09:03:24 2005 +0000

	    * Set the current directory to something well-defined.  Might help in
	      setuid installations.

	commit 5c0770ac847e3eb0ed004b75a52e2a94463b550f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 08:47:34 2005 +0000

	    * Include the release notes in the manual.

	commit 1b62c2eba3f735c8e31200446735f53568a12ff3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 15 20:29:08 2005 +0000

	    * Force release notes in ASCII, not UTF-8.

	commit d1d027199672f514253cbd7ddef1903fdf2c3710
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 15 15:21:57 2005 +0000

	    * Check for w3m.

	commit 7f384d9c1b4699af2e2ea71c644d6e9bd72be581
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 15 15:21:35 2005 +0000

	    * Use a proper temporary directory.

	commit 896c0b92f35c61079050beec483587f10fd79ad5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 15 09:18:21 2005 +0000

	    * This is not a GNU project :-P

	commit 5818e8eeaf91789d997cdbc1b62b4f9888354215
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 14 18:51:02 2005 +0000

	    * Remove dead code.

	commit 025086edeaa6fc39ee8b5bc6fcad3cc64c2fd0c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 14 18:50:45 2005 +0000

	    * Release notes in Docbook; ASCII release notes (i.e., the `NEWS'
	      file) is now generated from that using `w3m' and some XSL hackery.

	commit ed1db42915dc13cff9b940ae2b12ff9e38b28961
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 14 11:41:59 2005 +0000

	    * List concatenation must be right-associative for efficiency.

	commit deb75bb414c6c7a6d1209efd86738fdd147db13d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 13 15:54:36 2005 +0000

	    * Remove debugging code.

	commit 116e939d5731f89821a6777fb2b458508fd85e29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 13 14:07:22 2005 +0000

	    * More debugging.

	commit 55b84357a1859f5606c655ca52b44591c986cb7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 13 13:17:14 2005 +0000

	    * Debugging.

	commit cf2bb91ec8abd866ff69cb1d20b3549381bd4577
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 13 13:17:01 2005 +0000

	    * Missing #include.

	commit 699073c337d022aa32eac6e840035dbd324d5120
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 13 10:57:24 2005 +0000

	    * Release notes.

	commit cb44aa03b85c3622b3ffe5879e73f46ce78ffba0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 1 20:48:18 2005 +0000

	    * Use aterm 2.4.

	commit 2bcd65ecf6a8505ade08aa39efe41a0361eaf84a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 1 18:14:04 2005 +0000

	    * `nix-env -e' corrupts memory due to incorrect use of iterators.
	      Reported by Rob Vermaas.

	commit e1a6fb787059848c815a8154da23b7da794c6231
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Aug 14 14:00:39 2005 +0000

	    * `dependencyClosure' now allows a search path, e.g.,

	        dependencyClosure { ... searchPath = [ ../foo ../bar ]; ... }

	    * Primop `dirOf' to return the directory part of a path (e.g., dirOf
	      /a/b/c == /a/b).

	    * Primop `relativise' (according to Webster that's a real word!) that
	      given paths A and B returns a string representing path B relative
	      path to A; e.g., relativise /a/b/c a/b/x/y => "../x/y".

	commit 08c53923dba9c7fe6c2676be862744dc1f90f660
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Aug 14 12:38:47 2005 +0000

	    * A primitive operation `dependencyClosure' to do automatic dependency
	      determination (e.g., finding the header files dependencies of a C
	      file) in Nix low-level builds automatically.

	      For instance, in the function `compileC' in make/lib/default.nix, we
	      find the header file dependencies of C file `main' as follows:

	        localIncludes =
	          dependencyClosure {
	            scanner = file:
	              import (findIncludes {
	                inherit file;
	              });
	            startSet = [main];
	          };

	      The function works by "growing" the set of dependencies, starting
	      with the set `startSet', and calling the function `scanner' for each
	      file to get its dependencies (which should yield a list of strings
	      representing relative paths).  For instance, when `scanner' is
	      called on a file `foo.c' that includes the line

	        #include "../bar/fnord.h"

	      then `scanner' should yield ["../bar/fnord.h"].  This list of
	      dependencies is absolutised relative to the including file and added
	      to the set of dependencies.  The process continues until no more
	      dependencies are found (hence its a closure).

	      `dependencyClosure' yields a list that contains in alternation a
	      dependency, and its relative path to the directory of the start
	      file, e.g.,

	        [ /bla/bla/foo.c
	          "foo.c"
	          /bla/bar/fnord.h
	          "../bar/fnord.h"
	        ]

	      These relative paths are necessary for the builder that compiles
	      foo.c to reconstruct the relative directory structure expected by
	      foo.c.

	      The advantage of `dependencyClosure' over the old approach (using
	      the impure `__currentTime') is that it's completely pure, and more
	      efficient because it only rescans for dependencies (i.e., by
	      building the derivations yielded by `scanner') if sources have
	      actually changed.  The old approach rescanned every time.

	commit 714b7256cd5a6783813c3d3a7468f36ba637f567
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Aug 14 10:19:55 2005 +0000

	    * Cleanup; sync with thesis.

	commit 039936567539c1d6d7a3b824b94726b3fed3343b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Aug 14 10:09:56 2005 +0000

	    * nix-hash: option `--truncate' to truncate the hash to 160 bits.  Hmm,
	      kind of ad hoc ;-)

	commit 2fd22c63600a3c91d25316b566fc00aa2415bfee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 1 13:39:56 2005 +0000

	    * Add .libs to svn:ignore.  Commit 3500 ;-)

	commit c680f835c9bf3e357fbe6c655b721da68946c90a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 1 13:39:19 2005 +0000

	    * Escape ASCII characters < 32 to Unicode FFFD (REPLACEMENT CHARACTER)
	      so that we don't produce un-wellformed XML.

	commit f450c8ea2f0917f3a8df77d8c849eed713f96cbd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 1 13:24:04 2005 +0000

	    * Oops.  XSL stylesheet to mark errors.

	commit 800a6ff845ff951ff54a43fd4098b2e505f6eb02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 1 13:23:43 2005 +0000

	    * Mark error lines in red, and expand subtrees containing errors
	      automatically.

	commit 78c72bf10eee4db5f2eb3f7caba8f46e5be51a0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 1 07:30:35 2005 +0000

	    * channels -> channels-v3, catamaran -> nix.cs.uu.nl.

	commit 991a130b1e71b3b849b3640264f8834d6e13da22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 25 15:05:34 2005 +0000

	    * Added a list concatenation operator:
	        [1 2 3] ++ [4 5 6] => [1 2 3 4 5 6]

	commit e6899794ae9ce3924b818721d5caff463bccd60c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 25 10:10:24 2005 +0000

	    * Add $prefix/lib to the RPM.

	commit 33efb52e022a815d88f79e31edd5209837cbee3c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 25 07:25:18 2005 +0000

	    * Hack to get around the libtool wrapper script around nix-store not
	      working when PATH is unset.

	commit 3fae65d4ccea78eeb0aef5acb4b613a0547a4c6d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 22 20:37:39 2005 +0000

	    * Adhockery.

	commit 4c20a0829304631cf7282937bd6a0789701f40a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 22 14:52:45 2005 +0000

	    * Build dynamic libraries.

	commit 1a67154d416d3408ac35ddb5a197d1b76f57aab8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 19 12:00:38 2005 +0000

	    * Release notes.

	commit 0f827cc6076ae3c395537a0c9bd806b0d42947c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 19 11:48:05 2005 +0000

	    * Prevent repeated wrapping of closed terms
	      (closed(closed(closed(...)))) since this reduces performance by
	      producing bigger terms and killing caching (which incidentally also
	      prevents useful infinite recursion detection).

	commit 2135e7c0417b366b4161d01ebf794d25e96b61ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 16 23:19:20 2005 +0000

	    * Wat cleanups.

	commit 6f82a78de7ac02ec5665f17248c4fe98bd4f5847
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 16 21:38:15 2005 +0000

	    * Define paths using regexps, as is done in the Flex definition.

	commit 6f91f02f757f069b939b09eed51ff95de850b2c9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 16 20:43:58 2005 +0000

	    * Make the rejects a bit more compact.
	    * Add lexical restrictions for keywords.

	commit 9590009a74a99100f6718f108098c066e4a0204f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 16 15:41:27 2005 +0000

	    * Fix ambiguity.

	commit f797cb5855d149c679525f55b1558a5dcc27d996
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 16 14:07:35 2005 +0000

	    * Revive and update the SDF grammar for Nix expressions.

	commit a5ceb5bc0b2d7fd796cb49e29d45bf568dc0df2f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 13 17:39:10 2005 +0000

	    * nix-build: default to `./default.nix' if no paths are specified.
	      So when using Nix as a build tool, you can just say `nix-build' and
	      it will build the top-level derivation defined in `default.nix'.

	commit d4879b4dfe05708eb174129141299fb343ceb946
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 12 16:08:10 2005 +0000

	    * Add curl to the RPM dependencies.  Should fix NIX-11.

	commit 22d3587f3b850e8fc34add4d8e62911c6598ad78
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 12 16:06:25 2005 +0000

	    * In nix-instantiate, at top-level, call functions that have arguments
	      with default values automatically.  I.e., e -> e {}.

	      This feature makes convenience expressions such as
	      pkgs/system/i686-linux.nix in Nixpkgs obsolete, since we can just do

	      $ nix-instantiate ./pkgs/system/all-packages.nix

	      since all-packages.nix takes a single argument (system) that has a
	      default value (__thisSystem).

	commit 928a7c06dc830455c246e1ccb8fd980c882b1637
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jun 18 14:20:24 2005 +0000

	    * Don't create patches for archives >= 150 MB because bsdiff can't
	      handle it.  It crashed on the 234 MB tetex archive.  Probably we
	      will never be able to handle archives of that size on 32-bit
	      machines (because bsdiff does everything in memory requiring
	      max(17*n,9*n+m)+O(1) bytes, so the address space simply isn't
	      there).

	commit 040140dd1c3c11e3aa1ca486c3f3596cbe99c008
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 18 17:19:21 2005 +0000

	    * Added a primop `removeAttrs' to remove attributes from a set, e.g.,
	      `removeAttrs attrs ["x", "y"]' returns the set `attrs' with the
	      attributes named `x' and `y' removed.  It is not an error for the
	      named attributes to be missing from the input set.

	commit 109cde670629a0f022de1d875b55bb2f5243b271
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 10 14:56:10 2005 +0000

	    * Ignore (with a warning) invalid garbage collector roots.

	commit c09e47c68f6d32d78df482929295ac0acaf6b387
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 10 14:43:17 2005 +0000

	    * Some svn:ignores.

	commit 8be1db899ec3b2e6270da06421e2c055f874c3b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 10 14:24:48 2005 +0000

	    * Another typo.

	commit cbc8d083acce04a1be6bce23f97956c4c87bbcda
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 10 14:22:36 2005 +0000

	    * Make unpacking of patch sequences much faster by not doing redundant
	      unpacking and repacking of intermediate paths.

	commit 456f3251d2af6e7f4e21f317e217c035d9d6f967
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 10 14:21:46 2005 +0000

	    * Typo.

	commit 9ec7e58aa44d413df071a07aae45e4c32b331274
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 9 17:55:35 2005 +0000

	    * Handle store path arguments in `nix-env -i' correctly again.

	commit bfe4875a5e1058462345cd791061a332e510e033
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 9 15:30:13 2005 +0000

	    * Use Berkeley DB 4.3.38.

	commit 8f57634c1457ced226942024c31e8c3759b1655b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 9 15:25:47 2005 +0000

	    * Automatically upgrade the Berkeley DB environment if necessary.

	commit 88dea78cdfbbf584d8d1de51a7660654de464530
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 9 09:58:00 2005 +0000

	    * Crazy: don't use real hashes of real components in examples, since
	      they cause Nix builds to have unnecessary retained dependences
	      (e.g., on Subversion).

	commit edd145d2fb2960fab414bfe2c4a1221b976815ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 8 10:32:09 2005 +0000

	    * Lazily compute the derivation and output paths of derivations.  This
	      makes most query and installation operations much faster (e.g.,
	      `nix-env -qa' on the current Nixpkgs is about 10 times faster).

	commit 426593162ee4b22443dfca428083047ca1e39ac7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 8 10:28:19 2005 +0000

	    * ATermMap needs an assignment operator, otherwise we are screwed.

	commit 77557a6f06500e0a464f54c7b4b4f5162d0359bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat May 7 21:48:49 2005 +0000

	    Commit 3000!

	    * Make the `derivation' primitive much more lazy.  The expression
	      `derivation attrs' now evaluates to (essentially)

	        attrs // {
	          type = "derivation";
	          outPath = derivation! attrs;
	          drvPath = derivation! attrs;
	        }

	      where `derivation!' is a primop that does the actual derivation
	      instantiation (i.e., it does what `derivation' used to do).  The
	      advantage is that it allows commands such as `nix-env -qa' and
	      `nix-env -i' to be much faster since they no longer need to
	      instantiate all derivations, just the `name' attribute.  (However,
	      `nix-env' doesn't yet take advantage of this since it still always
	      evaluates the `outPath' and `drvPath' attributes).

	      Also, this allows derivations to cyclically reference each other,
	      for example,

	        webServer = derivation {
	          ...
	          hostName = "svn.cs.uu.nl";
	          services = [svnService];
	        };

	        svnService = derivation {
	          ...
	          hostName = webServer.hostName;
	        };

	      Previously, this would yield a black hole (infinite recursion).

	commit 6057b51835596ed282a2ad11f6f6fb8bdec13f7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat May 7 21:33:31 2005 +0000

	    * Don't try to register GC roots in read-only mode.

	commit 6c88d67780c1f009f6ffce46d95f5195c82790f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat May 7 15:45:38 2005 +0000

	    * Build .tar.bz2 files in `make dist'.

	commit d8cda7c3dc8e0fa38694ccdd8b93786ffad72deb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 6 14:43:14 2005 +0000

	    * Mac OS X (and POSIX) doesn't have readlink.

	commit 52a2f41320d1fe35ceccaef35db9fd661f8bffb6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:33:20 2005 +0000

	    * Include some required header files.

	commit 26fd28432d61a88dcef5f3f79657c2caa9461a78
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:32:54 2005 +0000

	    * FreeBSD 4.x doesn't have stdint.h, use inttypes.h instead (which is
	      also part of ISO C).

	commit 5dea0622d1d673bf60f47781c33f343ce9979a7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:31:49 2005 +0000

	    * Idem (constness fix).
	    * `compare' in GCC 2.95 is broken.

	commit 4a266e35d4c756af6163a314585e55ecb65a4c0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:31:24 2005 +0000

	    * GCC 2.95 compatibility fix in constness; strangely, I think this
	      should not have worked at all.

	commit d7b3cdbd9142ed702a98ebb6a3f6759410d27773
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:30:35 2005 +0000

	    * GCC 2.95 compatibility.  Prevents internal compiler error in member
	      template friends.

	commit ae6d9033a1c6b0b863b94c239c35a2df1a58948a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:29:44 2005 +0000

	    * The eof() state isn't guaranteed to be set non-lazily.  GCC 2.95
	      compatibility fix.

	commit d8a31da1ea418de9c1fb7968b95d74d700a7a54f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:28:39 2005 +0000

	    * Use `$(MAKE)' instead of `make' for systems where `make' isn't GNU
	      make (such as FreeBSD).

	commit 36fb29f8f0317144a0074d7b6689912a4dc40325
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 2 15:25:28 2005 +0000

	    * Merge remaining stuff from the nix-make branch.
	    * Add support for the creation of shared libraries to `compileC',
	      `link', and `makeLibrary'.
	    * Enable the ATerm library to be made into a shared library.

	commit 02f2da01426b338c75051397dcbdcb0c75913670
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 2 14:44:58 2005 +0000

	    * Merging from nix-make branch:
	      - Add __currentTime primitive (dangerous!).
	      - Allow imports of derivations.

	commit 6842bc9ac4fda9e4ef6b7e71d23b5050357bc1cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 1 09:36:28 2005 +0000

	    * Be quiet when untarring a channel file.

	commit f913283570aabb2e968a4f6bd06f74c03a5d772c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 13 09:20:27 2005 +0000

	    * Remove redundant message.

	commit 9f3601a36cbc4a3c322f48c5ec3487df441105bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 12 10:51:38 2005 +0000

	    * Argh!  The patch downloader was broken due to the renaming of the
	      `--isvalid' flag in nix-store.

	commit f3660b1c8cba8e701689c82fc3fcaf3a3b8283da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 12 10:51:00 2005 +0000

	    * Garbage collector fix: allow deletion of paths that have invalid
	      (but substitutable) referers.

	commit d5219a351af4429ce0ca339940b7ae81717df4a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 12 10:07:02 2005 +0000

	    * Damn.  Disable the USE heuristic for now, since the deriver in the
	      database isn't always in the manifest (so the reference graph cannot
	      be reconstructed fully).

	commit 1d86790910c204f074626916e8d17508d8d633be
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 13:04:54 2005 +0000

	    * Bump the version number to 0.9.

	commit bc5e26dcda9e264bf8d873e30a3ad530003a0d7b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 11:34:49 2005 +0000

	    * Mark date.

	commit cab7816b56f75dab579c75f8178e7dd20773b1a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 08:07:41 2005 +0000

	    * Slightly nicer message.

	commit 82d771f6e66e3f8a7101574d9c606553b490fe71
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 10 20:54:21 2005 +0000

	    * Manual updates.

	commit c9c58dba55fc9e46375bb67fdc9e2b55ef3805ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 10 17:38:19 2005 +0000

	    * Primop `__currentSystem' to return the current platform identifier.

	commit b4b51c9f933055e416505e54e446cc27f5f27f56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Apr 9 19:31:12 2005 +0000

	    * NEWS.

	commit fb45b0f5482546b98c984fb9fa753332ba84f72d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Apr 9 17:16:00 2005 +0000

	    * Document nix-channel.

	commit c702dfca3f5a437866faf190ce7b0869fd1058cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 8 13:48:41 2005 +0000

	    * nix-store: `--substitute' -> `--register-substitutes'.

	commit 8b70f138e02d62214715f144b133bf1b981911df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 8 13:00:38 2005 +0000

	    * Lots of manual updates, in particular the new `nix-store --query'
	      options were documented, as well as the Nix configuration file.

	commit 4271385a73d5e073ddfa7e4a75ab0ae5bef50439
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 8 12:57:16 2005 +0000

	    * Make `nix-store --query --tree' work on non-derivations (i.e., on
	      any store path).

	commit 90905634edbbf55447f2eebd84524e556b3f0750
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 8 09:28:50 2005 +0000

	    * Doh.

	commit b9d8ecbc6a76779d0c63729a21628965cafcc4cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 15:51:27 2005 +0000

	    * More doc updates.

	commit 7d876f8fa7b6c3ce120a66b59f69b70ae526538b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 14:35:44 2005 +0000

	    * Get rid of fetchurl, we don't need it anymore.

	commit 10c429c757625c4c36319751f6d87b8990677c1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 14:35:01 2005 +0000

	    * If store paths are specified as sources in Nix expressions, don't
	      copy them, but use them directly.

	commit f9848d4f3122b8a43b69d53277b606806bdba9dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 14:33:32 2005 +0000

	    * Support base-32 hash representations.

	commit c815aff21b668f5fe7bbd04086a988df51281840
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 14:01:51 2005 +0000

	    * `nix-store --add-fixed' to preload the outputs of fixed-output
	      derivations.  This is mostly to simplify the implementation of
	      nix-prefetch-{url, svn}, which now work properly in setuid
	      installations.

	    * Enforce valid store names in `nix-store --add / --add-fixed'.

	commit 57d023a184bdc2f30cd7052c157e43ba1bca8288
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 10:47:58 2005 +0000

	    * More manual updates.

	commit f1ae10b992cf8b3b5f13c5bf69f264872c0a4f4f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 09:36:35 2005 +0000

	    * Build hook documentation.
	    * nix-store options.

	commit 806b91f1040d75ca5331445272ecc46adac1c9ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 08:17:04 2005 +0000

	    * GC docs.

	commit 128c174295680097b28d5f578873ded2696caf40
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 5 15:28:30 2005 +0000

	    * Manual updates.

	commit 229252941aeef2bf2292bf3bb47aa477727d03f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 5 11:30:56 2005 +0000

	    * Some GC documentation.

	commit 6c8cf567b824ddb267578ce0105d374cae755420
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 5 11:29:46 2005 +0000

	    * Use `--nonet' flag.

	commit 31e140d70be780d410e697c0ed12b6d84da2cd04
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 4 15:18:19 2005 +0000

	    * I said it couldn't be done.  I was wrong.

	commit 4a83c12c5db250ca0946497420d3e5cac1fbcd57
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 1 15:34:23 2005 +0000

	    * Added a glossary to the manual.

	commit 6f788880b692834655c8679ed58e9131ca2fdfa1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 26 22:06:57 2005 +0000

	    * Re-enable dot graph generation.

	commit 298dd487bb7bc0e0f4f12a3df91906263e506db4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 25 14:31:12 2005 +0000

	    * When finding live paths, the deriver need not be valid.

	commit ebe342c9c14a06bdc90096847529e744265fae3a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 25 14:30:01 2005 +0000

	    * Better error checking.

	commit 7eaf0387639b3108f2351c513801b0d4e0b18be4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 25 14:21:49 2005 +0000

	    * `nix-store --verify': repair bad referer mappings.

	commit c6178f0b038097584cbbac970ebdb3772de27763
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 24 17:46:38 2005 +0000

	    * Create missing log and temproots directories automatically (reported
	      by Rob).

	commit d1487d9015222c33680c7727c31e3b499c620610
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 24 14:07:02 2005 +0000

	    * This is a better location to keep the blacklist, since it can evolve
	      separately from Nix or Nixpkgs.

	commit 009752ca70f2db7775d279d46dd7cf1b127fad88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 24 13:44:47 2005 +0000

	    * Blacklist Firefox 1.0.1.

	commit cff6bc06df81d325b0c99c98cb28ab54b8d8c597
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 19:18:22 2005 +0000

	    * Fix endianness bug.

	commit 590e5a0d654c2ba85839978eb4ee69e5a4678e6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 17:13:42 2005 +0000

	    * Add a test for base-32 encoding of hashes since it seems to be
	      broken on Mac OS X.

	commit 0df9f08078e0588b3bb699465263aa3b80deb771
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 13:16:36 2005 +0000

	    * Export the references graph to the build hook.

	commit 3f236f01ae7e9abe58a591071698a9a9840af7c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 13:07:28 2005 +0000

	    * `nix-store --register-validity': allow a path to refer to a path
	      listed later in the list of new valid paths.

	commit a04c62e0c4f0f8d3bd9cda21173a0193be9eda8a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 12:06:57 2005 +0000

	    * Canonicalise path meta-data in `nix-store --register-validity'.

	commit f20f08156031f04a60025bc7a41dd3fcc117baa7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 11:25:20 2005 +0000

	    * nix-store: `--isvalid' -> `--check-validity', `--validpath' ->
	      `--register-validity'.
	    * `nix-store --register-validity': read arguments from stdin, and
	      allow the references and deriver to be set.

	commit a1e00bf6aa8eb581ff4d47a6287800cf224c6a41
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 21 16:28:58 2005 +0000

	    * Remove non-POSIX flag.

	commit ab75a50ba43a2e8c82eb85142134b27a2d7ed0eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 21 10:06:11 2005 +0000

	    * Fink compatibility.

	commit 7272c3f8178b6509e6d949b1e7538bbde49de58a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 18 09:43:25 2005 +0000

	    * Ignore hash conflicts in gc-releases.pl.

	commit 67eff20906899e315a6fbbaab02f18326ac5afb8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 17 10:30:53 2005 +0000

	    * Manual updates.

	commit ad3121a52dacba417387df543df573816cd15b55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 16 16:45:29 2005 +0000

	    * Documented common environment variables.

	commit f982df3cd766072fdb9d36ba6501eaa246381092
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 16 14:40:48 2005 +0000

	    * Update the user environments figure to show multiple profiles and
	      users.
	    * Change to base-32 hashes.

	commit afc3a7b79be9f7aa3dea83633cd1c7c64b484beb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 16 10:46:33 2005 +0000

	    * Automake 1.9 compatibility.

	commit 693ff4f6bff7c2f2f708d908dcbf52fc402c62ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 15:42:11 2005 +0000

	    * Some more updates.

	commit 62dbfbc45bd4e58b88ae21c21b80db16b257711a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 14:38:22 2005 +0000

	    * Remove Docbook EBNF dependency.

	commit e30133469665d02588118594d4db8b6148249cd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 13:55:41 2005 +0000

	    * XInclude all the way.

	commit b376565b86717c4da2bdea5ee0bc73978ff9bc78
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 13:21:32 2005 +0000

	    * Manual updates.

	commit bacd3a6cfa3af1879ef01e693178c74839d66f70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 12:03:15 2005 +0000

	    * Purify all corepkgs builders.

	commit e52ae1c0ffed6af893438cb456c5c38a272c8b21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 11:12:48 2005 +0000

	    * Use SHA-256 for nix-push.

	commit 155c91b335c4041db5c9e83b8314757bdf7137b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 18:56:02 2005 +0000

	    * Upgrade information.

	commit 5675d5f48819b84e297d3577d6e9b1694f9b6192
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 18:55:46 2005 +0000

	    * Idem.

	commit 6fb5f7e532bf43ecf02004a4010496e9f98d09bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 18:55:29 2005 +0000

	    * Pass `--base32' unless using MD5.

	commit c757d16c8c180bc8a7d74494a2fc92aee7993631
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 18:54:40 2005 +0000

	    * Bug in clearSubstitutes().

	commit bb2e53699fb413d5808ee285d2194a33006a19b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 17:05:42 2005 +0000

	    * Parse new hash format properly.

	commit 5863f2472233ac3991bbd5e659b990f662b340d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 17:05:20 2005 +0000

	    * Print SHA-1 hashes in base-32 by default.

	commit bd333b939cc2fd2006466507ffc78976f85323b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 16:46:19 2005 +0000

	    * Prefix hash algorithm in patch generator too.

	commit 8eff18cd4321f6282e3880da09010ccc9242962e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 15:09:53 2005 +0000

	    * Set NAR name to content hash; previous nix-push names were not
	      unique.
	    * Drop `hashAlgo' attribute in manifests; prefix hashes with the hash
	      algorithm instead.

	commit 1562dfe9bad119e58296f35c1982fc539a97ac30
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 14:03:41 2005 +0000

	    * Script to garbage collect nix-push directories.  It prints out all
	      file names in the directory not included in any of the manifests
	      specified on the command line.

	commit 012b812698e9b2d8cdb43ffd41e46cc160256d77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 11 18:35:58 2005 +0000

	    * Preliminary NEWS for 0.8.

	commit 536f3241775c21566d68a0581c78154a908da35f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 11 15:27:37 2005 +0000

	    * nix-install-package: install outPath, not drvPath, for now.
	    * nix-prefecth-url: print out in base-16.

	commit 08df4436182a12a25aa45fcab2a13dbe71f7f10a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 10 11:33:46 2005 +0000

	    * Check for duplicate attributes and formal parameters in Nix
	      expressions.

	commit 97c93526da4dfba1b92a11fb8522c07456d9e1ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 7 16:26:05 2005 +0000

	    * In the checker, do traversals of the dependency graph explicitly.  A
	      conditional expression in the blacklist can specify when to
	      continue/stop a traversal.  For example, in

	        <condition>
	          <within>
	            <traverse>
	              <not><hasAttr name='outputHash' value='.+' /></not>
	            </traverse>
	            <hasAttr name='outputHash' value='ef1cb003448b4a53517b8f25adb12452' />
	          </within>
	        </condition>

	      we traverse the dependency graph, not following the dependencies of
	      `fetchurl' derivations (as indicated by the presence of an
	      `outputHash' attribute - this is a bit ugly).  The resulting set of
	      paths is scanned for a fetch of a file with the given hash, in this
	      case, the hash of zlib-1.2.1.tar.gz (which has a security bug).  The
	      intent is that a dependency on zlib is not a problem if it is in a
	      `fetchurl' derivation, since that's build-time only.  (Other
	      build-time uses of zlib *might* be a problem, e.g., static linking.)

	commit bfbc55cbc6b72aa14805131553c6b2547d3b6ee7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 7 14:54:52 2005 +0000

	    * Use XML::LibXML.

	commit 543d7a41dcb76406e433fde7f5e26c61ac65cc3c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 7 13:27:56 2005 +0000

	    * Automatically add propagated build inputs to user environments.
	      Maybe this is a bad idea.

	commit 9a7f95882c5e32ad5c41799016f749964221cad4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 4 11:12:48 2005 +0000

	    * Basic blacklist checker.  Each element in a user environment is
	      checked against every item in a blacklist.

	commit 4bbdcfbb45112fc3b025f0feff7b995ee373b091
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 3 13:58:02 2005 +0000

	    * Don't use fork() in copyPath(), but a string buffer.

	commit 9e6bca876518fbcd32c67d72721310f6b60f6f75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 3 13:10:52 2005 +0000

	    * Channel fix.

	commit 86cb3cc55468a9e83e3646acedfaedb6a0253b05
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 3 13:10:44 2005 +0000

	    * Increase Berkeley DB limits a bit more.
	    * Maintain the cleanup invariant in clearSubstitutes().

	commit 0107fba48e9466855af2ed8fc84edfec2e0de1ee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 2 15:57:35 2005 +0000

	    * Concept for a simple blacklist.

	commit 07b4399fb6f04d0cae58b8cf0a13efeeaf9d590b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 2 15:57:06 2005 +0000

	    * `nix-store -q --hash' to quickly query the hash of the contents of a
	      store path (which is stored in the database).

	commit 9e50e648a47c1ef3b734bf12945c8b29a8c8f9f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 1 11:27:38 2005 +0000

	    * Doh!

	commit 8d364e5baa53060fb039d8d30f96520781625efe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 1 11:27:22 2005 +0000

	    * Add missing file to dist.

	commit db322a47ffb17be3f75ea864e0732d8f948aaf19
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 1 10:33:55 2005 +0000

	    * Use a weighted use heuristic to disambiguate between multiple
	      occurances of a component.  If the shortest path distance between a
	      component P and Q in the referers graph is D, then the contribution
	      of Q to the use of P is 1 / R^D, where R >= 1, typically 2.  This
	      expresses that distant indirect uses are less important than nearby
	      uses.

	      For instance, this can disambiguate between the bootstrap GCC in
	      Nixpkgs and the GCC of the final stdenv (the former has more uses,
	      but they are further away),  and between the GCC of the final stdenv
	      and the GCC+G77 build (the latter has very few uses).

	commit 2c4302dd7a437c3153d6de704fb5ddec004ea308
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 28 14:12:06 2005 +0000

	    * Added a disambiguation heuristic: if two components have the same
	      name but differ to much in sice (by more than a factor of 3), then
	      never generate a patch.

	commit 8376fff1518415a0d48b34e91298c846b0ab6b95
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 25 16:12:52 2005 +0000

	    * Add a version number to manifests.

	commit 8d3c346559a2528e4606d8a5b61c8a4d5457697d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 25 15:58:00 2005 +0000

	    * Pause if errors occur.

	commit 6bafeafb884d72ac920ec667eeea143309ed64b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 25 15:42:52 2005 +0000

	    * nix-install-package: Use the new (trivial) package format generated
	      by the build farm.  See e.g.,
	      http://catamaran.labs.cs.uu.nl/dist/nixpkgs-0.8/nixpkgs-0.7pre2302/;
	      the user can click on packages, and they will be installed (assuming
	      the `application/nix-package' MIME type has been associated with
	      `nix-install-package').

	      Nix expressions are no longer involved: a "package" is just a
	      pointer to a manifest, and the top-level store derivation to be
	      added to the user environment.  This makes these packages
	      independent from Nix expression evolution.

	      Note that we install the store derivation ($drvPath), not the
	      resulting output path ($outPath).  This is equivalent, except that
	      installing the derivation maintains the back-link from the output
	      path to the derivation that built it.  This is useful for
	      maintenance.

	    * Automatically re-exec in an xterm so that the user sees something
	      when `nix-install-package' is run from a browser.

	commit 3259ae58119b93ca48a267ec90d7e1efb929fef8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 24 17:36:42 2005 +0000

	    * Properly specify the hash algorithm in the manifests, and read it
	      too.
	    * Change the default hash for nix-prefetch-url back to md5, since
	      that's what we use in Nixpkgs (for now; a birthday attack is rather
	      unlikely there).

	commit 95e870a113e98bf23222535d842e525021a15f10
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 24 14:06:18 2005 +0000

	    * (Unnecessary) refactoring.

	commit bfaf83a0fd19cec3354a0d957ae5c58040f75c56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 23 11:19:27 2005 +0000

	    * When multiple derivations are specified in `nix-store -r', don't
	      continue building when one fails unless `--keep-going' is
	      specified.
	    * When `--keep-going' is specified, print out the set of failing
	      derivations at the end (otherwise it can be hard to find out which
	      failed).

	commit 3a2c3f0cf265075b130d9d2a25b9c8334c560b33
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 22 21:14:41 2005 +0000

	    * Support for fixed-output hashes over directory trees (i.e., over the
	      NAR dump of the path).

	commit eda2c3c2537562e3b18c02a47b19e47ba3d37598
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 22 15:23:24 2005 +0000

	    * Compatibility hack so that Nixpkgs can continue to do hash checking
	      in `fetchurl' in Nix <= 0.7, but doesn't in Nix 0.8.

	commit 3c1630131e26efc90164bd8ca57870d9c4ad402b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 18 09:50:20 2005 +0000

	    * Subtle bug in the builder: if a subgoal that is instantiated
	      multiple times is also a top-level goal, then the second and later
	      instantiations would never be created because there would be a
	      stable pointer to the first one that would keep it alive in the
	      WeakGoalMap.
	    * Some tracing code for debugging this kind of problem.

	commit 398463a72adf95b29bd86ba2ea66a08ed4e49541
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 18 08:40:52 2005 +0000

	    * `make check' fix.

	commit e0181f56be2384b4ed93c0cacd5b2bbd13795dba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 15:57:46 2005 +0000

	    * `nix-store -q --tree' shows a tree representing the dependency graph
	      of the given derivation.  Useful for getting a quick overview of how
	      something was built.  E.g., to find out how the `baffle' program in
	      your user environment was built, you can do

	        $ nix-store -q --tree $(nix-store -qd $(which baffle))

	      Tree nesting depth is minimised (?) by topologically sorting paths
	      under the relation A < B iff A \in closure(B).

	commit 74ab0695b5bec5c7239744a89df5b2a7112e916b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 15:48:50 2005 +0000

	    * Compatibility hack with older user environments.

	commit 8a3a96dd5b009d337c0cd12b58a41c943d0aa516
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 13:55:18 2005 +0000

	    * Switch to the calling user context for some more operations in a
	      setuid installation.

	commit 88273f9574fc137301b6a65669eb20f18d7a3b61
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 13:54:45 2005 +0000

	    * Put build logs in $prefix/var/nix/log/drvs/.

	commit fb5dae8694acbabab68aaccbc64796719fcb7b02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 10:06:12 2005 +0000

	    * Fix nix-channel.
	    * Add `--help' flag; fixes NIX-5.
	    * Add `--remove' flag; fixes NIX-6.
	    * Add `--list' flag.

	commit 202d5bbda578fcc8ff564c107f5f9dcfd5b1bc2b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 15 12:05:47 2005 +0000

	    * Compatibility with older GCCs.

	commit e17910cfb5ddeca2c136bc0a951318beea2e8a13
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 15 10:49:31 2005 +0000

	    * And yet another installation source: the ability to copy user
	      environment elements from one user environment to another, e.g.,

	        $ nix-env -i --from-profile /nix/var/nix/profiles/other-profile aterm

	      copies the `aterm' component installed in the `other-profile' to the
	      user's current profile.

	commit 0083562f759223f3ef7ace4f269137cf68bf1295
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 15 09:39:12 2005 +0000

	    * Fix broken GC test.

	commit 8992fce3da844e3cfc7cbc563cbf5313980c16dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 17:35:10 2005 +0000

	    * It is now possible to add store derivations or paths directly to a
	      user environment, e.g.,

	        $ nix-env -i /nix/store/z58v41v21xd3ywrqk1vmvdwlagjx7f10-aterm-2.3.1.drv

	      or

	        $ nix-env -i /nix/store/hsyj5pbn0d9iz7q0aj0fga7cpaadvp1l-aterm-2.3.1

	      This is useful because it allows Nix expressions to be bypassed
	      entirely.  For instance, if only a nix-pull manifest is provided,
	      plus the top-level path of some component, it can be installed
	      without having to supply the Nix expression (e.g., for obfuscation,
	      or to be independent of Nix expression language changes or context
	      dependencies).

	commit e446d342b77e0babb200afd6b6275df2c70cfaee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 17:07:43 2005 +0000

	    * Added an installation source `--from-expression' (or `-E') to
	      install derivations from a Nix expression specified on the command
	      line.  This is particularly useful for disambiguation if there are
	      multiple derivations with the same name.  For instance, in Nixpkgs,
	      to install the Firefox wrapper rather than the plain Firefox
	      component:

	        $ nix-env -f .../i686-linux.nix -i -E 'x: x.firefoxWrapper'

	      The Nix expressions should be functions to which the default Nix
	      expression (in this case, `i686-linux.nix') is passed, hence `x:
	      ...'.

	      This might also be a nice way to deal with high-level (user-level)
	      variability, e.g.,

	        $ nix-env -f ./server.nix -i -E 'x: x {port = 8080; ssl = false;}'

	commit 0cb016c209a6cbfc57a93a3f353a556924d31b50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 16:16:02 2005 +0000

	    * Refactoring.  Hope this doesn't break the semantics of `-u' ;-)

	commit a04a5de8f70e5c34be0f0f7ea3c6f2cd50d56982
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 14:16:56 2005 +0000

	    * Implement the `gc-keep-derivations' global configuretion flag.

	commit 6a8ef36fe62c1b53572b0cf64685ece6190b22e5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 13:07:09 2005 +0000

	    * Global configuration option `env-keep-derivations' to store pointer
	      to derivations in user environments.  Nice for developers (since it
	      prevents build-time-only dependencies from being GC'ed, in
	      conjunction with `gc-keep-outputs').  Turned off by default.

	commit b0aba6ec2ac09d5ecdf0068b91010cdee1caae9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 10:44:57 2005 +0000

	    * Don't keep the derivation symlink when creating profile generations.

	commit 32429142cd267196d68b6706b5d340d03c0a1dc2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 09:53:11 2005 +0000

	    * Type error in constructor call (caught by GCC 3.3, but not 3.4!).

	commit 20ce2642fc0052a9f70faf194cc0c31d3f88926e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 11 16:56:45 2005 +0000

	    * Refactoring to support different installation sources in nix-env.
	    * Set the references for the user environment manifest properly.
	    * Don't copy the manifest (this was accidental).
	    * Don't store derivation paths in the manifest (maybe this should be
	      made optional).  This cleans up the semantics of nix-env, which were
	      weird.
	    * Hash on the output paths of activated components, not on derivation
	      paths.  This is because we don't know the derivation path of already
	      installed components anymore, and it allows the installation of
	      components by store path (skipping Nix expressions entirely).
	    * Query options `--out-path' and `--drv-path' to show the output and
	      derivation paths of components, respectively (the latter replaces
	      the `--expr' query).

	commit 80870d9291813f265a6e078c92aa535ef0b70a47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 11 16:03:47 2005 +0000

	    * Input sources should be in the set of all referenceable paths too.

	commit 3a99616968a7ffcc8f51bda7a781d3233aa9b428
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 14:37:24 2005 +0000

	    * Commit more often to prevent out-of-memory errors.

	commit 98df735b5149bc1e39ce6b0bae13fbf7cebcdc05
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:57:13 2005 +0000

	    * Propagate the deriver of a path through the substitute mechanism.
	    * Removed some dead code (successor stuff) from nix-push.
	    * Updated terminology in the tests (store expr -> drv path).
	    * Check that the deriver is set properly in the tests.

	commit 582e01c06f9ecee25a31c34562926b41dc2856eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 09:50:29 2005 +0000

	    * Automatically upgrade <= 0.7 Nix stores to the new schema (so that
	      existing user environments continue to work).
	    * `nix-store --verify': detect incomplete closures.

	commit c5474398433225e40c8868b0952aebe36da2c849
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 8 13:48:53 2005 +0000

	    * Subflag in `--verify': `nix-store --verify --check-contents' checks
	      that the contents of store paths has not changed by comparing hashes
	      of their current contents to the hashes stored in the database.

	commit 3d74274b37a0f3b841ad860143f9c17401c3d7c4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 8 13:23:55 2005 +0000

	    * Updated `nix-store --verify' to the new schema.

	commit 60feff82cf4dd89c9039914c5b3ef8e1b8acf8e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 8 13:00:39 2005 +0000

	    * Set umask to prevent permission problems.

	commit 48ebe4527e5af974832bc39f15fcd46ac740effa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 8 11:40:19 2005 +0000

	    * Better error reporting in readmanifest.
	    * Use force flag in `mv' to prevent silly interactive questions (this
	      happens with shared Nix stores).

	commit fbc434ee4c39e7516f3634371442899864786584
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 7 14:32:44 2005 +0000

	    * `nix-store -qb' to query derivation environment bindings.  Useful
	      for finding build-time dependencies (possibly after a build).  E.g.,

	        $ nix-store -qb aterm $(nix-store -qd $(which strc))
	        /nix/store/jw7c7s65n1gwhxpn35j9rgcci6ilzxym-aterm-2.3.1

	    * Arguments to nix-store can be files within store objects, e.g.,
	      /nix/store/jw7c...-aterm-2.3.1/bin/baffle.

	    * Idem for garbage collector roots.

	commit 450c358e2055488897349bf50951cce16ad9bc90
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 7 13:40:40 2005 +0000

	    * Maintain a database table (`derivers') that maps output paths to the
	      derivation that produced them.
	    * `nix-store -qd PATH' prints out the derivation that produced a path.

	commit a37338815de6affd44f927712143f626c8e6d79d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 22:07:48 2005 +0000

	    * A GC setting `gc-keep-outputs' to specify whether output paths of
	      derivations should be kept.

	commit 2e6bf723e4d63d661d26443a4477a040a96c7257
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 20:53:14 2005 +0000

	    * Added a global configuration file (/nix/etc/nix/nix.conf).  It
	      contains options for the garbage collector right now, but other
	      stuff can be added here later.

	commit 9f6835c2829310f3c58abb39002a4a580e3ae35e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 17:52:11 2005 +0000

	    * Remove debug code.

	commit c3981d81f65eda945f7a48d10ce7600fc0419f58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 17:50:48 2005 +0000

	    * Make check fixes.

	commit 65b6c8ab4c7832abdad46a29ce2ef18d289b2471
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 15:05:32 2005 +0000

	    * Move root finding from `nix-collect-garbage' to `nix-store --gc'.
	      This was necessary becase root finding must be done after
	      acquisition of the global GC lock.

	      This makes `nix-collect-garbage' obsolete; it is now just a wrapper
	      around `nix-store --gc'.

	    * Automatically remove stale GC roots (i.e., indirect GC roots that
	      point to non-existent paths).

	commit 630ae0c9d7f65a2d6bef85a5194b4d704e54eded
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 13:48:46 2005 +0000

	    * nix-build: use an indirection scheme to make it easier for users to
	      get rid of GC roots.  Nix-build places a symlink `result' in the
	      current directory.  Previously, removing that symlink would not
	      remove the store path being linked to as a GC root.  Now, the GC
	      root created by nix-build is actually a symlink in
	      `/nix/var/nix/gcroots/auto' to `result'.  So if that symlink is
	      removed the GC root automatically becomes invalid (since it can no
	      longer be resolved).  The root itself is not automatically removed -
	      the garbage collector should delete dangling roots.

	commit dcc37c236c66ba463bd61fec23d046485d8a412f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 12:36:25 2005 +0000

	    * nix-store, nix-instantiate: added an option `--add-root' to
	      immediately add the result as a permanent GC root.  This is the only
	      way to prevent a race with the garbage collector.  For instance, the
	      old style

	        ln -s $(nix-store -r $(nix-instantiate foo.nix)) \
	          /nix/var/nix/gcroots/result

	      has two time windows in which the garbage collector can interfere
	      (by GC'ing the derivation and the output, respectively).  On the
	      other hand,

	        nix-store --add-root /nix/var/nix/gcroots/result -r \
	          $(nix-instantiate --add-root /nix/var/nix/gcroots/drv \
	            foo.nix)

	      is safe.

	    * nix-build: use `--add-root' to prevent GC races.

	commit a6b65fd5e107416588a6572a88518d8816abcb12
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 09:54:56 2005 +0000

	    * Get rid of hardcoded paths.

	commit 06b44242860d62e12f9abe018c6f974ceaa30bb9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 09:23:38 2005 +0000

	    * Add missing files to dist.
	    * Fix GC and substitute bugs related to self-references.  Add a
	      regression test.

	commit 32fa82a56a2c4a937c91f72be16339b4ddf7cdf1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 22:23:49 2005 +0000

	    * Acquire a global GC lock to prevent new temporary root files from
	      being created after the garbage collector has read the temproots
	      directory.  This blocks the creation of new processes, but the
	      garbage collector could periodically release the GC lock to allow
	      them to run.

	commit 89c9bc11abc02cc746838bfef101e5fecc59a6c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 22:01:55 2005 +0000

	    * Add a test for a more subtle race: a process starting after the
	      temporary root files have been read but creating outputs before the
	      store directory has been read.

	commit 207bdcbe86bac5fb9e650d26b22ae33c667151e4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 21:20:59 2005 +0000

	    * Automatically remove temporary root files.

	commit 252c9c91abe146e9c6b16d795c6566df4adafe56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 14:00:43 2005 +0000

	    * Topologically sort paths under the references relation to ensure
	      that they are deleted in an order that maintains the closure
	      invariant.
	    * Presence of a path in a temporary roots file does not imply that all
	      paths in its closure are also present, so add the closure.

	commit 33c5d23b814e16687808d5f2d79798fef7dc2a8a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 12:19:53 2005 +0000

	    * Don't delete active lock files.

	commit 1328aa33077fd1cf84869e366c82b8ea1d1abb5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 10:27:25 2005 +0000

	    * Start of concurrent garbage collection.  Processes write temporary
	      roots to a per-process temporary file in /nix/var/nix/temproots
	      while holding a write lock on that file.  The garbage collector
	      acquires read locks on all those files, thus blocking further
	      progress in other Nix processes, and reads the sets of temporary
	      roots.

	commit a7668411a10c79ad40c9c18caf2570d5c9f52182
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 28 20:36:46 2005 +0000

	    * Add a test to check whether concurrent garbage collection (i.e.,
	      running the collector while builds are in progress) works
	      correctly.  The test currently fails.

	commit 22cfdfa2460921a282fc924cce5fb26378b9fc9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 28 13:19:16 2005 +0000

	    * Use NIX_STORE environment variable to locate the store (in addition
	      to NIX_STORE_DIR) so that Nix invocations in builders in `make
	      check' work correctly if the store doesn't exist.

	commit 9ab0bc9395e8e9af453b649142c98242bb890ac8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 28 11:05:56 2005 +0000

	    * Another horrible `make check' hack.

	commit 0ea8b6993a76a24afb1a1f38699d80193249fa71
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 28 11:05:46 2005 +0000

	    * Only invalidate paths when they are in fact valid.

	commit ac2f665853331088b5b48f9edad609df9f79f78f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 19:15:12 2005 +0000

	    * Set execute permission.

	commit a85d1849af4ce25cb283a62e4ba9e3d5ccf92c25
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 19:00:48 2005 +0000

	    * Missing dependency; only a problem when building from Subversion.

	commit e5c16c95829f4f14763ba1f66f6e26f5f1792b29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 17:48:50 2005 +0000

	    * Add missing substitutes files to dist.
	    * Add a garbage collector test.

	commit 8a3eef22e38136513370f0dfb3cf7866ec2abaa3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 17:48:14 2005 +0000

	    * Fix deadlock.

	commit c60a4943ba913a282a35b18e725b69859270dc22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 16:18:39 2005 +0000

	    * Update referers mappings when updating/clearing the references
	      mapping.
	    * Do things in the right order in invalidatePath().

	commit 4e37548a1ed23bc46aa803257608b6e66ee00879
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 15:31:49 2005 +0000

	    * Remove deleted files from EXTRA_DIST (again).

	commit c505702265833a762d681952bcc72562d64a242e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 15:21:29 2005 +0000

	    * Fix and simplify the garbage collector (it's still not concurrent,
	      though).  In particular it's now much easier to register a GC root.
	      Just place a symlink to whatever store path it is that you want to
	      keep in /nix/var/nix/gcroots.

	commit 59682e618805701f9c249736514df6db457895f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 12:19:25 2005 +0000

	    * Make lock removal safe by signalling to blocked processes that the
	      lock they are waiting on has become stale (we do this by writing a
	      meaningless token to the unlinked file).

	commit a24b78e9f1a7326badb6c38d5d63aeb6ccdf9970
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 21:28:25 2005 +0000

	    * Maintain the references/referers relation also for derivations.
	      This simplifies garbage collection and `nix-store --query
	      --requisites' since we no longer need to treat derivations
	      specially.

	    * Better maintaining of the invariants, e.g., setReferences() can only
	      be called on a valid/substitutable path.

	commit 2a2756b85643de6355b7b9e3cc47574e7df82303
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 20:27:40 2005 +0000

	    * Simplification: registerSubstitutes -> registerSubstitute.  We no
	      longer need the former since there we no longer have the
	      substitutes-rev table (which triggered a O(n^2) cost in updating
	      them).

	commit a9340fa67222bf7ab9057d132af387031b00997d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 17:25:20 2005 +0000

	    * Remove removed files from EXTRA_DIST.

	commit 498f4915cc9dc461b18789288063759e0aded805
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 17:24:14 2005 +0000

	    * Re-enable all tests.

	commit 066da4ab852ebe4288536149824ea175dc36cad4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 17:08:52 2005 +0000

	    * Really fix the substitute mechanism, i.e., ensure the closure
	      invariant by registering references through the manifest.
	    * Added a test for nix-pull.

	commit c6290e42bc8890e2036013773a98e3551352c91a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 13:00:12 2005 +0000

	    * Fix the `--fallback' switch.
	    * Fix the substitutes tests.

	commit 581fc477838e9cf9e5d9657920ef63ea836050ee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 11:55:43 2005 +0000

	    * Fix the build hook mechanism; pass the pointer graph to the hook.

	commit 52bf9b86bb79369b7f7b5b8a5726b83ee154da6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 11:18:03 2005 +0000

	    * In nix-store: added query `--referers-closure' that returns the
	      closure of the referers relation rather than the references
	      relation, i.e., the set of all paths that directly or indirectly
	      refer to the given path.  Note that contrary to the references
	      closure this set is not fixed; it can change as paths are added to
	      or removed from the store.

	commit 80faa2f98af8616ab89ac2af63431b887a84fb32
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 10:55:33 2005 +0000

	    * In nix-store: change `--build' back to `--realise'.  Also brought
	      back the query flag `--force-realise'.
	    * Fixed some of the tests.

	commit 6a0a2d559336b3a7a165fb0f87f5e70caa9d8d72
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 20 16:01:07 2005 +0000

	    * Terminology fixes.

	commit 6bb5efadeceb8c4666c227a44113709bb47d23cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 20 15:25:01 2005 +0000

	    * Ensure that derivation names and sources don't end in `.drv'.

	commit 05f0430de1d8eeae222a1306d4d0f7f407c8ce7d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 20 14:10:19 2005 +0000

	    * Another change to low-level derivations.  The last one this year, I
	      promise :-) This allows derivations to specify on *what* output
	      paths of input derivations they are dependent.  This helps to
	      prevent unnecessary downloads.  For instance, a build might be
	      dependent on the `devel' and `lib' outputs of some library
	      component, but not the `docs' output.

	commit 6ff48e77f6da3c523a29c254b315d83e310290b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 21:55:02 2005 +0000

	    * Set the Perl search path properly (reported by Roy van den Broek).

	commit e0f4e587c3a5110f57fbf4e85e14fdc606b1eaf6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 16:59:56 2005 +0000

	    * Nix-store queries `--references' and `referers' to query the pointer
	      graph.  That is, `nix-store --query --references PATH' shows the set
	      of paths referenced by PATH, and `nix-store --query --referers PATH'
	      shows the set of paths referencing PATH.

	commit 96de272b48f8e9bdabffddb699ed4f2292d4f1d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 16:39:47 2005 +0000

	    * Renamed `normalise.cc' -> `build.cc', `storeexprs.cc' ->
	      `derivations.cc', etc.
	    * Store the SHA-256 content hash of store paths in the database after
	      they have been built/added.  This is so that we can check whether
	      the store has been messed with (a la `rpm --verify').
	    * When registering path validity, verify that the closure property
	      holds.

	commit ef5f254a55a2d6db09d3d0549ed45701558027e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 15:02:02 2005 +0000

	    * `nix-store --build' now builds its arguments in parallel instead of
	      sequentially (within the limits set by `--jobs').  This should
	      greatly improve the utilisation of the build farm when doing Nixpkgs
	      builds.

	commit 06c77bf7a861221d41b5db9fad3002f13a14ed0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 14:36:00 2005 +0000

	    * Change extension `.store' to `.drv'.
	    * Re-enable `nix-store --query --requisites'.

	commit 863dcff6c5ffc163010ec1f9e6819bb9aaaadc29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 11:16:11 2005 +0000

	    * Started removing closure store expressions, i.e., the explicit
	      representation of closures as ATerms in the Nix store.  Instead, the
	      file system pointer graph is now stored in the Nix database.  This
	      has many advantages:

	      - It greatly simplifies the implementation (we can drop the notion
	        of `successors', and so on).

	      - It makes registering roots for the garbage collector much easier.
	        Instead of specifying the closure expression as a root, you can
	        simply specify the store path that must be retained as a root.
	        This could not be done previously, since there was no way to find
	        the closure store expression containing a given store path.

	      - Better traceability: it is now possible to query what paths are
	        referenced by a path, and what paths refer to a path.

	commit e9762e2d10c4a837e3d75d53e3a24452f07f47ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 11:04:24 2005 +0000

	    * Support arities > 6.

	commit 6d493751c331e7b695f82e9c259423efa7741f59
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 18 11:15:50 2005 +0000

	    * Get --readonly-mode to work again.

	commit 32aac8748a1439289af6b80efe9d518e123d6cc7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 17 19:01:48 2005 +0000

	    * Actually check that the result of fixed-output derivations matches
	      the specified hash.

	commit f3dc2312501358e29b70bec977fd96f626c46392
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 17 16:55:19 2005 +0000

	    * Removed the `id' attribute hack.

	    * Formalise the notion of fixed-output derivations, i.e., derivations
	      for which a cryptographic hash of the output is known in advance.
	      Changes to such derivations should not propagate upwards through the
	      dependency graph.  Previously this was done by specifying the hash
	      component of the output path through the `id' attribute, but this is
	      insecure since you can lie about it (i.e., you can specify any hash
	      and then produce a completely different output).  Now the
	      responsibility for checking the output is moved from the builder to
	      Nix itself.

	      A fixed-output derivation can be created by specifying the
	      `outputHash' and `outputHashAlgo' attributes, the latter taking
	      values `md5', `sha1', and `sha256', and the former specifying the
	      actual hash in hexadecimal or in base-32 (auto-detected by looking
	      at the length of the attribute value).  MD5 is included for
	      compatibility but should be considered deprecated.

	    * Removed the `drvPath' pseudo-attribute in derivation results.  It's
	      no longer necessary.

	    * Cleaned up the support for multiple output paths in derivation store
	      expressions.  Each output now has a unique identifier (e.g., `out',
	      `devel', `docs').  Previously there was no way to tell output paths
	      apart at the store expression level.

	    * `nix-hash' now has a flag `--base32' to specify that the hash should
	      be printed in base-32 notation.

	    * `fetchurl' accepts parameters `sha256' and `sha1' in addition to
	      `md5'.

	    * `nix-prefetch-url' now prints out a SHA-1 hash in base-32.  (TODO: a
	      flag to specify the hash.)

	commit d58a11e019813902b6c4547ca61a127938b2cc20
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 16:04:03 2005 +0000

	    * Shorten SHA-256 hashes used in store path name generation to 160
	      bits, then encode them in a radix-32 representation (using digits
	      and letters except e, o, u, and t).  This produces store paths like
	      /nix/store/4i0zb0z7f88mwghjirkz702a71dcfivn-aterm-2.3.1.  The nice
	      thing about this is that the hash part of the file name is still 32
	      characters, as before with MD5.

	      (Of course, shortening SHA-256 to 160 bits makes it no better than
	      SHA-160 in theory, but hopefully it's a bit more resistant to
	      attacks; it's certainly a lot slower.)

	commit 9530cc31700f68fd229eee69eabd2baa099f404a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 13:51:38 2005 +0000

	    * Start move towards SHA-256 hashes instead of MD5.
	    * Start cleaning up unique store path generation (they weren't always
	      unique; in particular the suffix ("-aterm-2.2", "-builder.sh") was
	      not part of the hash, therefore changes to the suffix would cause
	      multiple store objects with the same hash).

	commit a7b94e87d7d28f763a708876cba46c8f2484b526
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 13:50:09 2005 +0000

	    * Missing file.

	commit 9ee88bb2f2fed3bcf34eb5e5caadced2e77a85da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 13:50:00 2005 +0000

	    * Use absolute paths.

	commit 63791eb05b236afcea510d769a8943f8be3dbc9c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 12:03:04 2005 +0000

	    * Add SHA-256.
	    * Tests for the various hashes.

	commit 37b51a9aa6d5d0fb97bad0d1a27d27304da277c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 10:16:33 2005 +0000

	    * Removed some dead code.

	commit 7e8961f72056f53ccf78eba0ee8c240bc2310ab8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 13 17:39:26 2005 +0000

	    * Added SHA-1 support.  `nix-hash' now has an option `--type sha1' to
	      select SHA-1 hashing.

	commit 73992371a3bc16b27b22e53d5f7ae600dea9cf60
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 13 15:44:44 2005 +0000

	    * Refactoring to support SHA-1.

	commit d46b4262dc84689c3916583b91ed9fc6dafefdd6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 12 13:23:12 2005 +0000

	    * Bump version number to 0.8.

	commit b17e7cf9794b406aa26dd2ccbe2f64c1ba981d99
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 12 10:40:59 2005 +0000

	    * Script to remove patches from manifests.

	commit 0bc41f632b22814514b1d6784fa02454febd2fd4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 12 10:37:18 2005 +0000

	    * Print out less garbage.

	commit 7d75616f2ca4e72db7088767e052b66de5718a80
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 12 10:27:46 2005 +0000

	    * NEWS and manual update for release 0.7.

	commit 6af4a5a71ffee704c4760be4259d69bb7e21b870
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 5 09:58:12 2005 +0000

	    * Prototype store optimiser.  It searched the Nix store for identical
	      files and hard-links them to each other to save disk space.

	      Currently it doesn't actually do the hard-linking, it just reports
	      the amount of space saved if it did.

	commit a03397be4c176c142871e7337dfef7734cd508ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 4 17:38:26 2005 +0000

	    * Cygwin compatibility.

	commit f28ea27d83741caf38b8ac7de317d13a2904f54a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 31 11:07:32 2004 +0000

	    * Remove old stuff.

	commit c53898cb650d14f9d888e28e48496e15db00fb47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 31 11:07:12 2004 +0000

	    * If a patch already exists, it must still be included in the manifest.

	commit 35b76a81c42df1f07f4de711eb1bcf681eac3c3a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 30 17:19:47 2004 +0000

	    * More instrumentation (statistics go to /nix/var/log/nix/downloads).

	commit 3745cecc6a569f09a7fdb95363b2c7eeaf59b687
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 30 17:09:57 2004 +0000

	    * Fix handling of chained patches: don't skip patches if intermediate
	      paths are missing, etc.

	commit 581bcb986f22e2d60f2c01b4be27f50d478df587
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 30 16:34:54 2004 +0000

	    * Some logging for evaluation.

	commit 6270aa727d63ce4a4d27280f233a55f4c67d8285
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 22:17:26 2004 +0000

	    * Propagate patches from the source distribution to the destination
	      distribution insofar they are applicable.

	commit 4f07ebc67e74629724c441352a58b12143383129
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 22:08:48 2004 +0000

	    * Integrated bsdiff/bspatch 4.2 (from
	      http://www.daemonology.net/bsdiff/bsdiff-4.2.tar.gz) into the source
	      tree.  The license is a bit peculiar, but it does allow verbatim
	      copying, which is what we do here (i.e., so don't make any changes
	      to the sources).

	commit 54d8f0858825e9ae4c8fdf54b7c2019edee05237
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 19:32:55 2004 +0000

	    * Reject patches larger than the full archives they produce.

	commit 2fdb27e7f21c99174d35556575e3d25bf2bdc23e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 19:04:21 2004 +0000

	    * Atomic file replacement is good.

	commit e1e9c036f9313ac6bf160dba67e694b7868f1567
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 18:58:15 2004 +0000

	    * A utility to generate patches between releases based on their
	      manifests.

	commit 77fc1c6c5c4f662ab9b15ff09300f2a626597bc8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 17:29:24 2004 +0000

	    * Use aterm 2.3.1.

	commit 9022cf9adfd3504e40d52fa2891663bf33fa2f9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 28 21:12:00 2004 +0000

	    * A small utility to add the Size and NarHash fields to old manifests.

	commit 4bf58d53795d53331094e5cc83187602d8d37730
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 28 21:11:28 2004 +0000

	    * Added a function to write manifests.

	commit 3d1b2101ccfd34f15b108f54a563a616cb679109
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 20 16:38:50 2004 +0000

	    * Place manifests in /nix/var/nix/manifests.
	    * Use the new patch downloader.

	commit 7eed57e784068ae6e2e9bf4409639067df467cd3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 20 14:57:03 2004 +0000

	    * Sync with changed substitute mechanism.
	    * Accept the NarHash line.
	    * Clear substitutes in `nix-channel --update'.

	commit 96c3d8a61550545549dfa31c62e68d16f4e89c0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 20 14:38:04 2004 +0000

	    * I love test sets.

	commit 8b9697e57596aaf142799ae6bec8bb53155dba78
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 20 14:16:55 2004 +0000

	    * An operation `nix-store --clear-substitutes' to remove all
	      registered substitute mappings.

	commit fa9259f5f519386b4f32ac9490bc73459773e589
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 20 13:43:32 2004 +0000

	    * Simplify the substitute mechanism:
	      - Drop the store expression.  So now a substitute is just a
	        command-line invocation (a program name + arguments).  If you
	        register a substitute you are responsible for registering the
	        expression that built it (if any) as a root of the garbage
	        collector.
	      - Drop the substitutes-rev DB table.

	commit 015beb7cd04ee75d58bf09ef89816f9301cda646
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 17 13:46:07 2004 +0000

	    * Typo: genericBuilder -> genericBuild.

	commit 4d25b0b0bb9977598802b0d9647530f7c2fde430
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 16 15:31:50 2004 +0000

	    * Fix nix-pull.

	commit f4041cc175df8bc3fa5810948cc2a33eb1159a06
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 16 14:59:05 2004 +0000

	    * Commit old changed to bdiff.sh - but bdiff.sh is obsolete.

	commit 77970f8dafb540a598fd90ad360c42fbea36bf30
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 16 14:31:49 2004 +0000

	    * Remove `prebuilts.conf' file, it's not like anybody was using it.
	    * Add /nix/var/nix/manifests directory.

	commit e3b051aeeb968528d918b6af6c1e1df0bd7de958
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 16:56:18 2004 +0000

	    * Include the size of the bzipped archive (necessary for computing the
	      cheapest download path), as well as the hash of the contents of the
	      path (necessary for checking patch applicability).

	commit 862f4c154e883611ba9dfefe921c87e6423075ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 13:47:38 2004 +0000

	    * Patch deployment.  `download.pl' (intended to be used in the
	      substitute mechanism) creates a store path by downloading full NAR
	      archives and/or patches specified in the available manifests.

	      Any combination of present paths, full downloads, and patches can be
	      used to construct the target path.  In particular, patches can be
	      chained in sequence; and full NAR archives of the target path can be
	      omitted (i.e., patch-only deployment is possible).  A shortest path
	      algorithm is used to find the smallest set of files to be downloaded
	      (the edge weights are currently file sizes, but one can imagine
	      taking the network speed to the various source into account).

	      Patches are binary deltas between two store paths.  To be precise,
	      they are the output of the `bsdiff' program applied to the NAR
	      archives obtained by dumping (`nix-store --dump') the two store
	      paths.  The advantage of diff'ing NAR archives (and not, say, doing
	      file-by-file diffs) is that file renames/moves are handled
	      automatically.  The disadvantage is that we cannot optimise creation
	      of unchanged files (by hard-linking).

	commit dca48aed349375b8515a32ac58dce48f48f7264e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 13:35:36 2004 +0000

	    * Allow an optional hash to be provided.  This prevents redundant
	      fetches.

	commit 71926ee18803071e64754465faf3d57d6dc9bbda
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 21:04:28 2004 +0000

	    * Print out statistics comparing our performance to bzip2.

	commit 13f77276d11610171bc7774406b65b6cb73d453a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 19:22:16 2004 +0000

	    * utime() follows symlinks, so don't change the mtime if the file is a
	      symlink.

	commit eee6fe478e5a0275b2da382216a5b8ec24e04290
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 19:12:55 2004 +0000

	    * Proof-of-concept for binary patch deployment.

	commit f17553a212e726abdfc96af5657968c24a829d0d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 15:30:44 2004 +0000

	    * Remove debug statement.

	commit 4115d8d8ce29113d9cb4efe7018dfb11f8038978
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 15:09:29 2004 +0000

	    * Canonicalise metadata of all files in store paths (set the mtime to
	      0, set the mode to either 444 or 555, set the group to the default).

	commit 5d5318c2ff57a110883a0d404f3673c76cd491b4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 14 14:00:45 2004 +0000

	    * Bump version number to 0.7.

	commit 9f8964a0622716e68935ce7e25e860a63f609f49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 14 10:42:16 2004 +0000

	    * More manual fixes.

	commit 0b79a1208228298d3abda7c03153c1abec2406d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 14 00:24:57 2004 +0000

	    * Manual fixes.

	commit 54c7a870d5b6324462ea293e3e5a8bb59c7d5ac3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 12 23:56:37 2004 +0000

	    * Document --delete-generations and other nix-env options.

	commit c2b0d6b02ffaaa6e47eb24c3dca30beeea387aff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 12 23:22:08 2004 +0000

	    * Document --eval-only and --parse-only options in nix-instantiate.

	commit 32c73268502e35af54953e23038018edb8ce5685
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 9 14:06:56 2004 +0000

	    * Typos.

	commit 92ee003dc985e6f8331270068b10ca52e9cef793
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 8 15:20:52 2004 +0000

	    * Fix broken format string.

	commit d6db574ec127757c05c24f53c71e4116caaa762b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 8 11:32:10 2004 +0000

	    * Check exit status of pipe elements.

	commit b8aaef5e4e25daa838157c7b3a8165b633901646
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 22:12:16 2004 +0000

	    * Documented the standard environment, including the generic builder.

	commit 2c3b29c5cabfafe340eda9104d34d28c2a4f2e90
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 20:36:45 2004 +0000

	    * Everything you always wanted to know about functions and derivations
	      but were afraid to ask.

	commit ea6581b691136f8545e9ab48d9ad339ad7019333
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 20:36:10 2004 +0000

	    * Drop the grammar appendix.

	commit 09e7f06818bb29c19ce395876860e57444e836c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 20:30:02 2004 +0000

	    * Put something in here.

	commit 1bac7a10e64049361f4ebdb592aa07ad3dbb4c53
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 18:58:49 2004 +0000

	    * Operators, comments.

	commit 55b35d6d776e6f204d446fdadf9e30ed712f0899
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 13:53:07 2004 +0000

	    * Lets, inheritance, assertions.

	commit 0b1ee4802b00124e785693c84f508c4f9f3fffdd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 5 21:12:23 2004 +0000

	    * Typo fix.

	commit 5f0300d18c41234c0edb93e04b98e3473ad8021e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 5 21:11:01 2004 +0000

	    * Generic builders.

	commit 3e9d2038b46cc479a97f0c0e0f280b2f83b3c544
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 5 15:39:30 2004 +0000

	    * Start of language reference.

	commit 6ca9c7f0a91a2998ecd0063ff68f01e6eca12759
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 5 13:10:08 2004 +0000

	    * Finished GNU Hello walkthrough.

	commit 8b934694f27c309b6f39ae2dede8130dc591ed49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 4 20:21:08 2004 +0000

	    * Manual: writing Nix expressions.

	commit feb3ceaee034cf5783264eb9dc6bd2dd62298341
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 4 20:20:39 2004 +0000

	    * Better error messages.

	commit cb7ccb528bbaeb30d09fbb41e57ab75d3121e1bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 3 18:12:03 2004 +0000

	    * string2ATerm -> overloaded toATerm.

	commit 4cbd845aa491b5cf534f8c031d285fc454933868
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 3 16:51:09 2004 +0000

	    * Don't propagate our CFLAGS to the ATerm library since it breaks at
	      -O2.

	commit 5f2c5a306cf59d3b2400aba5c1be403e4b6e79c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 2 08:25:29 2004 +0000

	    * chapter -> appendix.

	commit 0913f5a6151cd9ef84c6cd82fcc71c55699ddacb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 1 16:21:37 2004 +0000

	    * Section about channels.

	commit ee5dcfade2a1c5ee47313b4a971245ec6c07cfa2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 1 16:03:35 2004 +0000

	    * Section about garbage collection.

	commit cbe8de592d747e603c8657247d280faf5eb584a3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 1 12:02:44 2004 +0000

	    * Profiles section.

	commit b05a596d61a5e062fc07380f8e6421fcfcb37f07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 31 17:08:48 2004 +0000

	    * Document setuid Nix installs.

	commit 0d80d237c5d817c60c420a8a7870e296f202c1b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 31 16:13:25 2004 +0000

	    * Add figures to `make install' / `make dist'.

	commit 2aa1f4717bdf9432a75f13088ec79644be9a7d88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 31 12:01:16 2004 +0000

	    * Fix `File exists' errors if the `result' symlink exists but is
	      dangling.

	commit f8ac8d1ec835cf070afd62c0cef14a81e9a49302
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 15:26:26 2004 +0000

	    * Began adding build farm docs.

	commit a69534fc217666d53a418605de0ebb0879cbb2f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 11:22:49 2004 +0000

	    * Drop ATmake / ATMatcher also in handling store expressions.

	commit ed09821859e8e585c8479a3c3bf95e76d518d66f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 13:12:58 2004 +0000

	    * Use `atdiff' instead of `cmp' for checking test output.
	    * Don't use local file names in tests since they will produce
	      different parse trees depending on the current directory.

	commit 3277c9432ab718c8b80c54b228f8d5fbf94fb033
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 13:00:31 2004 +0000

	    * Bug fix in parsing of /* ... */ comments; due to longest match
	      regexp there could be only one such comment per file.

	commit 463e2817c55fbd5b026d7dd630541b990b82418a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 12:41:53 2004 +0000

	    * Remove ancient Fix tests.
	    * Add automated Nix expression language tests.

	commit f09618b63a3e842adc59360c9bb4cf0ad37246ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 10:24:44 2004 +0000

	    * Turn on read-only mode in queries.  This prevents redundant store I/O.

	commit c7bea941b04710b4a4f1b64c1274207d355633dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 10:05:51 2004 +0000

	    * Oops, I did it again.

	commit 210ab0296dc340e5dd0829e282ad02d5d36bca62
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 00:02:31 2004 +0000

	    * Add file to `make dist'.

	commit c52dda95a69e02cd62d5ddac6ecf2229fe0c478f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 23:30:18 2004 +0000

	    * Bug: check that term is an application.

	commit 5fe9222b36ad49d74c84edb04d6bc4a7d844be01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 22:54:26 2004 +0000

	    * Don't use ATmake / ATmatch anymore, nor the ATMatcher class.
	      Instead we generate data bindings (build and match functions) for
	      the constructors specified in `constructors.def'.  In particular
	      this removes the conversions between AFuns and strings, and Nix
	      expression evaluation now seems 3 to 4 times faster.

	commit eb8284ddaa66448d369647f68cb9f89b93a187de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 17:10:09 2004 +0000

	    * Evaluate argument to `import'.

	commit 033d7c65930c7613fa21510f03984d764fcdb7d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 17:04:55 2004 +0000

	    * Doh!

	commit 9fa07b376dd52ee8bbcc074e59d36af3f3f2536d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 17:01:35 2004 +0000

	    * String/path concatenation operator (`+').

	commit ee401afad81dc7759c66829372826f98268ae606
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 16:59:36 2004 +0000

	    * Mode `--parse-only' to parse the input (on stdin, `-'), and print
	      out the AST as an ATerm.
	    * Mode `--eval-only' to parse and evaluate the input, and print the
	      resulting normal form as an ATerm.

	    Neither of these modes require store/DB write permission.

	commit 37d7abd69402f0e7a78d4d2f2d78996409a8563a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 25 16:54:56 2004 +0000

	    * New language feature: with expressions.

	      The expression `with E1; E2' evaluates to E2 with all bindings in
	      the attribute set E1 substituted.  E.g.,

	        with {x = 123;}; x

	      evaluates to 123.  That is, the attribute set E1 is in scope in E2.

	      This is particularly useful when importing files containing lots
	      definitions.  E.g., instead of

	        let {
	          inherit (import ./foo.nix) a b c d e f;

	          body = ... a ... f ...;
	        }

	      we can now say

	        with import ./foo.nix;

	        ... a ... f ...

	      I.e., we don't have to say what variables should be brought into scope.

	commit f4d44a002688262d33093494a7fea1bb11b97ac9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 25 14:38:23 2004 +0000

	    * Allow certain operations to succeed even if we don't have write
	      permission to the Nix store or database.  E.g., `nix-env -qa' will
	      work, but `nix-env -qas' won't (the latter needs DB access).  The
	      option `--readonly-mode' forces this mode; otherwise, it's only
	      activated when the database cannot be opened.

	commit 3ade3e7721df981614bbb2420baeb84e58085967
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 25 13:51:34 2004 +0000

	    * Revert r1594 - it didn't solve the problem.  Instead add
	      svn-revision to distributions, which should fix it.

	commit 2248becfd3363a5de52ef6b10edf4c2d774bfa1e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 25 12:15:50 2004 +0000

	    * Make sure that the prerelease version is included in `--version'.

	commit 50b9caac14bff656b6705efbb09e15ba9dc22d22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 21 09:22:16 2004 +0000

	    * Updated NEWS for the upcoming 0.6 release.

	commit 2155c0a673ee1d72a9961ec5e4a864b7c797ec44
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 14:42:38 2004 +0000

	    * Register channels as roots of the garbage collector (in
	      $(localstatedir)/nix/gcroots/channels).
	    * In setuid installations, create gcroots/tmp and gcroots/channels
	      group-writable.

	commit 88888160d239ed68118ba1d5f94cad0a0ca7521f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 14:40:54 2004 +0000

	    * Fix nix-prefetch-url in setuid Nix installations.

	commit 99da51d4debda195d8d264b9c060fe4304359e4f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 14:05:48 2004 +0000

	    * Show error messages from curl.

	commit 2cd590d96c7bfa6843384073102099b545097c93
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 18 12:22:14 2004 +0000

	    * Instead of &mdash; use the actual Unicode character.  By the way, to
	      edit the manual, you should have something like

	        (modify-coding-system-alist 'file "\\.xml\\>" 'utf-8)

	      in your ~/.emacs.

	commit 692204e0c5565d14fce0a62527bf2b0b91f82753
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 14 16:43:09 2004 +0000

	    * Rewrite of package management stuff.

	commit d830b2c1df3b80a1dffec40cbea8e9af7d0e0a11
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 14 15:09:55 2004 +0000

	    * In `nix-env -q', sort derivations by name *without* case
	      sensitivity.

	commit febd8bed1b341b56d58d43ebb09710504f997da9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 14 11:55:12 2004 +0000

	    * Split overview chapter into a chapter on package management and a
	      chapter on writing Nix expressions.

	commit 98c69e51728d18ff528b8873ef63c87dbe430772
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 14 11:54:41 2004 +0000

	    * Unindent.

	commit 371c57d8a7c0ee58de82f68c9dfb116cee7e00a9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 13 15:35:47 2004 +0000

	    * Updated the quick start section.  Use channels instead of
	      downloading Nix expressions and calling nix-pull.  This is so
	      user-friendly that even a Mac user can do it! :-)

	commit 2b20701f7895101c8ef8c989fccf702081615120
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 13 15:08:35 2004 +0000

	    * Better introduction.
	    * Set notes in a different color than warnings.

	commit 13172427806ad41fb3896c2e3ced1cf9672bb081
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 22 12:15:04 2004 +0000

	    * Make store objects created by substitutes read-only.

	commit 995d08208eb52dfa42451733c4b20add2730de9f
	Author: Niels Janssen <njanssen@cs.uu.nl>
	Date:   Sun Sep 19 15:53:37 2004 +0000

	    * prevent collision on log directory

	commit b357284a323b86b96828e38dcb2d86b67f172de5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 12 19:08:57 2004 +0000

	    * Fallback didn't work for subderivations of an unnormalised the main
	      derivation, since NormalisationGoal would first run a
	      NormalisationGoal on the subderivation (a no-op, since in a
	      situation where we need fallback the successor is known), and then
	      runs a RealisationGoal on the normal form, which then cannot do a
	      fallback because it doesn't know the derivation expression for which
	      it is a normal form.

	      Tossed out the 2-phase normalisation/realisation in
	      NormalisationGoal and SubstitutionGoal since it's no longer needed -
	      a RealisationGoal will run a NormalisationGoal if necessary.

	commit dcc433de47d4bf4a27fe63bc8996e946164ae885
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 10 13:32:08 2004 +0000

	    * Operation `--delete-generations' to delete generations of a
	      profile.  Arguments are either generation number, or `old' to delete
	      all non-current generations.  Typical use:

	      $ nix-env --delete-generations old
	      $ nix-collect-garbage

	    * istringstream -> string2Int.

	commit c16be6ac92b86981e8e4bb6703e694b675a28b0d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 9 21:19:20 2004 +0000

	    * Remove write permission from store objects after they have been
	      added to the store.  Bug reported by Martin.

	commit 47f87072ad42338a9b6397a250abf2775d051d8e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 9 21:12:53 2004 +0000

	    * A very dirty hack to make setuid installations a bit nicer to use.
	      Previously there was the problem that all files read by nix-env
	      etc. should be reachable and readable by the Nix user.  So for
	      instance building a Nix expression in your home directory meant that
	      the home directory should have at least g+x or o+x permission so
	      that the Nix user could reach the Nix expression.  Now we just
	      switch back to the original user just prior to reading sources and
	      the like.  The places where this happens are somewhat arbitrary,
	      however.  Any scope that has a live SwitchToOriginalUser object in
	      it is executed as the original user.

	    * Back out r1385.  setreuid() sets the saved uid to the new
	      real/effective uid, which prevents us from switching back to the
	      original uid.  setresuid() doesn't have this problem (although the
	      manpage has a bug: specifying -1 for the saved uid doesn't leave it
	      unchanged; an explicit value must be specified).

	commit 5396304c73190c6898981caf653fc1b28be71f70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 9 15:55:31 2004 +0000

	    * Use setre[ug]id() instead of setres[ug]id(), since the former is
	      more common than the latter (which exists only on Linux and
	      FreeBSD).  We don't really care about dropping the saved IDs since
	      there apparently is no way to quiry them in any case, so it can't
	      influence the build (unlike the effective IDs which are checked by
	      Perl for instance).

	commit e043fc7d0b68bedaabe236c2f2080a33bb967ee5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 9 14:16:02 2004 +0000

	    * Set the umask to known value (0022).  This is important in a
	      setuid installation, since the calling user may have a more fascist
	      umask (say, 0077), which would cause the store objects built by Nix
	      to be unreadable to anyone other than the Nix user.

	commit 550d960586c1532ea1066b8df418c6629f0e7288
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 8 12:07:19 2004 +0000

	    * Hack for perl(readmanifest) dependency.

	commit 17c8252fc932874b7ca9b7269c96b178022302f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 6 10:05:21 2004 +0000

	    * Spec file options to create the Nix user and group in the RPM
	      pre-install script.  By default this is turned off; you should edit
	      the spec file to enable it.

	commit fb28cfc86dff6bbacb71f69a862afd3384aee986
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 6 08:17:55 2004 +0000

	    * Add some variability to RPM spec files: allow setuid options to be
	      set on the rpmbuild command line.

	commit 5c443b65501903f636b00b908bb8eb10e022402e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 31 16:13:10 2004 +0000

	    * Main the `substitutes-rev' table again, but now in a way that
	      doesn't take \Theta(n^2) space/time complexity.

	commit c25f2883b149bf71931f963d29241fe012360633
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 31 10:50:08 2004 +0000

	    * Quadruple the Berkeley DB locking limits to get rid of out of memory
	      errors while running `nix-store --verify'.

	commit fe122c5a15db5399a10fcfd97b3bbb97c782c8b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 30 11:51:36 2004 +0000

	    * Removed nrWaitees field.  It was redundant with waitees.size() and
	      could get out of sync if multiple input derivations mapped to the
	      same closure expression (since waitees is a set).

	commit eb233e728f06ec2b5cbcfc85059fa91a1150f291
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 16:54:08 2004 +0000

	    * `--min-age' flag in nix-store and nix-collect-garbage to only delete
	      unreachable paths that haven't been used for N hours.  For instance,
	      `nix-collect-garbage --min-age 168' only deletes paths that haven't
	      been accessed in the last week.

	      This is useful for instance in the build farm where many derivations
	      can be shared between consecutive builds, and we wouldn't want a
	      garbage collect to throw them all away.  We could of course register
	      them as roots, but then we'd to unregister them at some point, which
	      would be a pain to manage.  The `--min-age' flag gives us a sort of
	      MRU caching scheme.

	      BUG: this really shouldn't be in gc.cc since that violates
	      mechanism/policy separation.

	commit fdec72c6cc720be899431c32f99221e8c4b88cd0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 15:39:13 2004 +0000

	    * `nix-collect-garbage' now actually performs a garbage collection, it
	      doesn't just print the set of paths that should be deleted.  So
	      there is no more need to pipe the result into `nix-store --delete'
	      (which doesn't even exist anymore).

	commit 818047881e4906c670104851f69c3179ecc7fb1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 11:43:49 2004 +0000

	    * Put the garbage collector in nix-store: operation `--gc',
	      suboperations `--print-live', `--print-dead', and `--delete'.  The
	      roots are not determined by nix-store; they are read from standard
	      input.  This is to make it easy to customise what the roots are.

	      The collector now no longer fails when store expressions are missing
	      (which legally happens when using substitutes).  It never tries to
	      fetch paths through substitutes.

	      TODO: acquire a global lock on the store while garbage collecting.

	    * Removed `nix-store --delete'.

	commit 9994c1dd9fe19a3bb8f7bbddbcd5622c9c30d85b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 11:46:05 2004 +0000

	    * Validate derivation names.  In particular don't allow spaces.
	    * Drop support for the outPath attribute in derivations.

	commit 8f58733ef16bdefe3cdb004bea986b6a0b893331
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 20 15:47:58 2004 +0000

	    * The gid should also match.

	commit 1c90fabccc0b859d9a357c96bfbc0c19a4ce17da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 20 15:31:46 2004 +0000

	    * Unbreak programs that are not setuid (such as nix-hash).

	commit e77fbe0fa2f7c2cfaee734dba049f0d8dd3dae15
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 20 15:22:33 2004 +0000

	    * On systems that have the setresuid() and setresgid() system calls to
	      set the real uid and gid to the effective uid and gid, the Nix
	      binaries can be installed as owned by the Nix user and group instead
	      of root, so no root involvement of any kind is necessary.

	      Linux and FreeBSD have these functions.

	commit 2d35116c13e0c11210cb712f9ce6e8a38058f350
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 20 14:49:05 2004 +0000

	    * Setuid support for sharing a Nix installation between multiple
	      users.

	      If the configure flag `--enable-setuid' is used, the Nix programs
	      nix-env, nix-store, etc. are installed with the setuid bit turned on
	      so that they are executed as the user and group specified by
	      `--with-nix-user=USER' and `--with-nix-group=GROUP', respectively
	      (with defaults `nix' and `nix').

	      The setuid programs drop all special privileges if they are executed
	      by a user who is not a member of the Nix group.

	      The setuid feature is a quick hack to enable sharing of a Nix
	      installation between users who trust each other.  It is not
	      generally secure, since any user in the Nix group can modify (by
	      building an appropriate derivation) any object in the store, and for
	      instance inject trojans into binaries used by other users.

	      The setuid programs are owned by root, not the Nix user.  This is
	      because on Unix normal users cannot change the real uid, only the
	      effective uid.  Many programs don't work properly when the real uid
	      differs from the effective uid.  For instance, Perl will turn on
	      taint mode.  However, the setuid programs drop all root privileges
	      immediately, changing all uids and gids to the Nix user and group.

	commit 8f1dcdfc0ae05c403fe59b592093d3e61e87f1b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 19 09:09:09 2004 +0000

	    * Make sure that no build hook is set by default in the tests.
	    * Don't use `seq' - some primitive, obsolete operating systems
	      (Darwin) don't have it.

	commit 1eddee59f22b56a4b098921083780990dc1f0468
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 18 12:19:06 2004 +0000

	    * The default verbosity level of all Nix commands is now lvlInfo.
	    * Builder output is written to standard error by default.
	      * The option `-B' is gone.
	      * The option `-Q' suppresses builder output.

	    The result of this is that most Nix invocations shouldn't need any
	    flags w.r.t. logging.

	commit 937ce0cd214c12276a2c373b515dc2541d1582fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 18 12:11:31 2004 +0000

	    * Flag `--no-link' suppresses symlinking to the output path.
	    * Handle multiple derivations correctly.

	commit 966bd9d19fb43b6a6022572eb7d80c1e03bfaf3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 13 09:57:51 2004 +0000

	    * WTF?  More canonical system name problems ("athlon-linux" instead of
	      "i686-linux").

	commit 62fe5c4a22453c763e967f04bda062df8241c487
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 11 19:03:13 2004 +0000

	    * The predecessor of a successor need not be present.  This in
	      particular happens on distributed builds or when using push/pull.

	commit ae1a1efa410fa66a0afbfae25ad423feee4b1e77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 5 14:53:27 2004 +0000

	    * Clean up the temporary directory for hook communication (and don't
	      print out incorrect "build failed" messages).

	commit d8989b1fb482fc7b6f29945e5c3b8bb197f4539c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 11:27:53 2004 +0000

	    * Every real language has a `map' function.

	commit bbfdd64741546863c2412d780097b1fe2457395e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 10:59:20 2004 +0000

	    * Allow primops with more that 1 arguments.

	commit e3a50f7e25c552a78974fae684484d27a36b7c60
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 09:25:21 2004 +0000

	    * Creating a file nix-support/no-scan in the output path of a
	      derivation disables scanning for dependencies.  Use at your own
	      risk.  This is a quick hack to speed up UML image generation (image
	      are very big, say 1 GB).

	      It would be better if the scanner were faster, and didn't read the
	      whole file into memory.

	commit 18ebd7b03071ebbb38cea9eca39a5e7e2e0cf2ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 30 14:18:48 2004 +0000

	    * Doh!

	commit 5373aed1a8087a7f6f7e428f693d0f2d36d35eca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 30 14:17:05 2004 +0000

	    * Use ATerm 2.2.
	    * Include bootstrap.sh in dist.

	commit 16c8b4c8e533292aef40b83a40eea2b0f621e534
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 30 13:45:13 2004 +0000

	    * A script to generate the Auto* stuff.

	commit e8a95108c0df56b95de9252e1cef1f74546f7f40
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 28 13:32:45 2004 +0000

	    * Nix-build places a symlink `result' in the current directory to the
	      store object just built.

	commit 9bf7a5f516c9f6a9445e76d3166d173f5ab958bb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 18 21:08:24 2004 +0000

	    * Don't pass `--with-system'.

	commit 39eaecbc982246a511810be578ef1ebbe9fd3c10
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 18 21:07:27 2004 +0000

	    * Slightly better heuristic for picking the canonical system type.
	      Now SuSE and Red Hat should yield the same type (`i686-linux').  Mac
	      OS X should now give `powerpc-darwin' (i.e., the version number is
	      gone).

	commit 064a36cb5454f32a45aac55f2a47532fc96dda25
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 9 13:06:12 2004 +0000

	    * Hardcode the system id to be `i686-linux'.

	commit c1a18f543e8f94568d085f88c66f0312c9d362d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 6 11:21:34 2004 +0000

	    * Fixed format string error.

	commit 056cd1d3b7778bbe177d74aea3aadca9e1a7be79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 16:24:35 2004 +0000

	    * Don't go into a (sometimes infinite) loop calling the build hook.

	commit 638ce339a52da893693f667c8b330a2adefdd92a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 14:25:26 2004 +0000

	    * Nix-instantiate now accepts sets of derivations (just like nix-env).

	commit 292d6468ec73212a2ada3bd5f7f3f6e897f9086e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 13:56:56 2004 +0000

	    * Nix-env operations now by default filter out any derivations for
	      system types other than the current system.  I.e., `nix-env -i'
	      won't install derivations for other system types, and `nix-env -q'
	      won't show them.  The flag `--system-filter SYSTEM' can be used to
	      override the system type used for filtering (but not for
	      building!).  The value `*' can be used not to filter anything.

	commit 8f6254e8234c5f4a16b1b7d632065ebb0162b307
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 13:35:10 2004 +0000

	    * Align the columns in the output of `nix-env -q'.

	commit 593bc23d8b310b32b66227b36b72fd525087df83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 13:13:37 2004 +0000

	    * Allow the system attribute of derivations to be queried in
	      `nix-env -q'.
	    * Queries can now be combined, e.g., `nix-env -q --status --system'.

	commit b584253af461b02f70ea3244a10d2569c85f2095
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 11:11:16 2004 +0000

	    * Include some missing headers.

	commit f5d5ffe536398fa1b0612a3613ed68734ebe8a60
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 29 09:41:50 2004 +0000

	    * Write build logs to disk again.

	commit 00aadf478b61264247df3c0c6e43304d9fa0c053
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 14:51:42 2004 +0000

	    * Use ATerm 2.1.

	commit 151e61fa5a94950d3701f6df0b40fa970e3cf320
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 14:40:26 2004 +0000

	    * By default, `nix-env -i' now deletes previously installed
	      derivations with names matching the derivations being installed.
	      The option `--preserve-installed / -P' overrides this behaviour.

	commit 4d2946c516aefd26daec8b2f4c4248e43ce85a62
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 13:51:24 2004 +0000

	    * In a realisation goal, check the result of the corresponding
	      normalisation goal.

	commit 24286e15c9822833c39d268e521522b9933db28e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 13:37:05 2004 +0000

	    * `nix-env -u' now allows a specific version to be specified when
	      upgrading.

	      This fixes a bug reported by Martin:

	        $ nix-env -i foo-1.0
	        $ nix-env -u foo-1.0
	        upgrading foo-1.0 to foo-1.1

	commit 2746a879e23a97639b23fe6e5335e0cfcc7d5085
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 12:07:07 2004 +0000

	    * Typo.

	commit 91dc023665e22eb5637bf08c405e91ac9060c357
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 10:42:57 2004 +0000

	    * Added a switch `--fallback'.  From the manual:

	      Whenever Nix attempts to realise a derivation for which a closure is
	      already known, but this closure cannot be realised, fall back on
	      normalising the derivation.

	      The most common scenario in which this is useful is when we have
	      registered substitutes in order to perform binary distribution from,
	      say, a network repository.  If the repository is down, the
	      realisation of the derivation will fail.  When this option is
	      specified, Nix will build the derivation instead.  Thus, binary
	      installation falls back on a source installation.  This option is
	      not the default since it is generally not desirable for a transient
	      failure in obtaining the substitutes to lead to a full build from
	      source (with the related consumption of resources).

	commit b113edeab780216b0590045b932be685d1399e9b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 25 15:36:09 2004 +0000

	    * A flag `--keep-going / -k' to keep building goals if one fails, as
	      much as possible.  (This is similar to GNU Make's `-k' flag.)

	    * Refactoring to implement this: previously we just bombed out when
	      a build failed, but now we have to clean up.  In particular this
	      means that goals must be freed quickly --- they shouldn't hang
	      around until the worker exits.  So the worker now maintains weak
	      pointers in order not to prevent garbage collection.

	    * Documented the `-k' and `-j' flags.

	commit e4883211f9482ec3255bd4e682635493e03466ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 25 10:21:44 2004 +0000

	    * Don't throw an exception when a build fails.  Just terminate the
	      goal and allow the problem to be handled elsewhere (e.g., at
	      top-level).

	commit 795d9f8b08a266ef99f9668f9b060db1282cd622
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 24 14:36:50 2004 +0000

	    * Obsolete.

	commit a29c8ac51ca813a34eebb497340807e4b274170c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 24 14:35:01 2004 +0000

	    * Add a test to check that when we cannot realise a closure
	      expression, we should invalidate it and go back to the derivation
	      for which it is a successor.

	commit ec326276217ad5b7761327da567f79bb5cc17f32
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 24 13:40:38 2004 +0000

	    * Multiple and/or failing substitutes now work.

	commit 8052aef4866e236ef0bb5d5675bbae330abb9b9b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 24 12:56:24 2004 +0000

	    * A test for multiple and/or failing substitutes.

	commit 66c7f347591c0c4e26e018672c487a3090e36e5e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 17:07:32 2004 +0000

	    * Arghhhhhh

	commit 05a5362d63dd2fc85bb74321244fc0e94689a4bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 17:04:10 2004 +0000

	    * Some more diagnostics changes.

	commit d051cd40e16119ed441276f5b2cb74b7983062c3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 15:17:04 2004 +0000

	    * Nix-instantiate can return multiple store expressions.

	commit 3093af58a7e9d3f0315a1a1040d3cfeaea051ba6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 15:12:34 2004 +0000

	    * A utility script `nix-build' that builds Nix expressions and prints
	      their output paths (and only that) on standard output.

	commit b302e5f63b96c945fa66d391c2d3165d7003a297
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 15:06:43 2004 +0000

	    * We don't really need this here.

	commit 83ae1723da5d905a24894a4a1edb25ffc77f6fc4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 15:01:01 2004 +0000

	    * Well, it's better than printf.

	commit 72bc9a522f04cc8d8cb761a02bb9bf281b94567d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 14:48:59 2004 +0000

	    * Started making Nix's diagnostic messages a bit more useful.

	commit 5e2cf44a4d5d70f0dbed7b21257bd6d15538b3b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 11:03:41 2004 +0000

	    * Put WEXITSTATUS stuff somewhere else.

	commit 84007a09588b21487cbd3869bcb26c3e2c05b605
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 10:21:44 2004 +0000

	    * Reduce gratuitous cut & pasting.

	commit c9fbd2dfd51eebcb561f9b548c10c68ad89652e5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 09:51:44 2004 +0000

	    * Wrapper class around pids.

	commit 155d7c8dfa46da054beaf37d6415d52613e2bb17
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 09:00:31 2004 +0000

	    * Substitutes should occupy a build slot.

	commit c4cb6ea2bc77f1f9239ce81ffc7a0fa6b540b1ab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 08:50:25 2004 +0000

	    * Refactoring.

	commit 88fb4f6e537ebea37fe0aaa4a2b044cf70d32178
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 12:20:47 2004 +0000

	    * Missing files added to `make dist'.

	commit 2db9748221ce285ac434c849eeed249950dd0d39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 10:01:17 2004 +0000

	    * Remove debug output.

	commit 37ee6cef992c1a80e790a294b75db8c116be8bbb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 09:51:23 2004 +0000

	    * Adapted nix-pull to use the new substitute mechanism.

	commit 3f3a3ae87b3d72d52842d9a2ffe7010f5b0066b9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 09:35:50 2004 +0000

	    * Acquire a lock on the output path when running a substitute.  Also
	      delete obstructing invalid paths.

	commit 72c857f0eb923c3126600a5c97bfb30fedd859c1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 08:51:55 2004 +0000

	    * Ugh, nasty Heisenbug due to an uninitialiased variable.  The bug
	      only caused a crash if the program was *not* invoked with a high
	      verbosity level.

	commit be1a917beb4577dd359a5e8ea17ca69dd228e6ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 07:46:02 2004 +0000

	    * Remove obstructing invalid store paths add[Text]ToStore().

	commit daf0a923c7c77300dfb09ee34c1ae31c87002a0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 07:38:17 2004 +0000

	    * Wrap calls to registerSubstitute() in a single transaction to
	      improve throughput.
	    * Don't build the `substitute-rev' table for now, since it caused
	      Theta(N^2) time and log file consumption when adding N substitutes.
	      Maybe we can do without it.

	commit 15c60ca1b64a4e5dc874f60c764f0ccc8899d740
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 07:36:01 2004 +0000

	    * Disable calls to fsync() since Berkeley DB's DB_TXN_WRITE_NOSYNC
	      flag doesn't seem to work as advertised.

	commit 112ee89501a936ad9c492780be6b63f53b2eb9ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jun 20 19:17:54 2004 +0000

	    * Re-enable support for substitutes in the normaliser.

	    * A better substitute mechanism.

	      Instead of generating a store expression for each store path for
	      which we have a substitute, we can have a single store expression
	      that builds a generic program that is invoked to build the desired
	      store path, which is passed as an argument.

	      This means that operations like `nix-pull' only produce O(1) files
	      instead of O(N) files in the store when registering N substitutes.
	      (It consumes O(N) database storage, of course, but that's not a
	      performance problem).

	    * Added a test for the substitute mechanism.

	    * `nix-store --substitute' reads the substitutes from standard input,
	      instead of from the command line.  This prevents us from running
	      into the kernel's limit on command line length.

	commit bafb2357d1ab5f7aef8ce4495f5ab8b835359f63
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jun 20 19:08:59 2004 +0000

	    * README for the Emacs mode (written a while ago, but forgot to commit).

	commit 85ae78176520fbba0420e5dc772d76144b564605
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jun 20 13:37:51 2004 +0000

	    * Refactoring.

	commit 23bb902d1f65831d74a33051fdb8c0230b7a3e37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jun 19 21:45:04 2004 +0000

	    * Re-enable build hooks.

	commit 41ec982f3132c32991a48a82735a036f844e7299
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 18 18:09:32 2004 +0000

	    * Big refactoring.  Move to a much more explicitly state machine based
	      approach.  This makes it much easier to add extra complexity in the
	      normaliser / realiser (e.g., build hooks, substitutes).

	commit 3454c685eec2aebe6f61f7deebc40162bab22e69
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 18 16:52:31 2004 +0000

	    * This is also useful.

	commit 6ba26f27c3665ec5f72638a8c658b0aa68068410
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 18 09:20:51 2004 +0000

	    * Shared (garbage collecting) pointers.  Copied from Boost.

	commit 0b70231b9d9f2dfa5a9447fcd01fdb5c8f1fa0ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 15 13:49:42 2004 +0000

	    * Refactoring.

	commit 1bc6afefac7af8d4c917e898d6670d9b9d7f29f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 8 13:21:03 2004 +0000

	    * Cleanup.

	commit e8411948ff9a2017d6c50093076a538a113de8c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 4 14:31:57 2004 +0000

	    * A Nix mode for Emacs.

	commit 5e4a2272bfb30f3e0e1d39a8cb7c6d2e7bfba161
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 18 14:52:35 2004 +0000

	    * Drain the output of the build hook to show error messages.  Ugly
	      hack.

	commit 19479899fb2f78f9cc1c40caf017a1bbeb6d8d3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 18 12:57:26 2004 +0000

	    * Don't set the rpath here --- it's not portable.

	commit 1d08093b4894e4ded9eaf591a2547a74d33e1bfb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 18 09:45:46 2004 +0000

	    * Go back to the old way of generating the system name, and allow it
	      to be specified in configure (using `--with-system=SYSTEM').

	commit 8e9fd57ef9aa47214418212916e54c5644721335
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 18 09:45:18 2004 +0000

	    * setpgrp() is not POSIX (and on Mac OS X it's different than on
	      Linux), so use setpgid().

	commit ace8872706a1ddbefde39ee66f0746df6861cc11
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 14 12:24:29 2004 +0000

	    * execl() requires a terminating 0.
	    * When a fast build wakes up a goal, try to start that goal in the
	      same iteration of the startBuild() loop of run().  Otherwise no job
	      might be started until the next job terminates.

	commit 4fc00cbec139487e63a7edf6225a8590ed58a9f3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 13 22:52:37 2004 +0000

	    * Distributed builds and load balancing now seem to work pretty well.
	      (Though the `build-remote.pl' script has a gigantic race condition).

	commit 2fa33049338aed07465f73b25c95168d6a61c8b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 13 20:28:20 2004 +0000

	    * Set the executable bit.

	commit 25db6224544be0df483a661f5e2cc1ed595525ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 13 19:35:46 2004 +0000

	    * Load balancing.  `build-remote.pl' will only execute up to a
	      per-machine maximum number of parallel jobs on a remote machine.

	commit 3426d19547c889700a00e97fb62966ebd755f88b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 13 19:16:48 2004 +0000

	    * Perform all tests.

	commit a8306cb98ff920b38db5e5bbfcbe71bb36859b3f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 13 19:14:49 2004 +0000

	    * The build hooks used to implement distributed builds can now be run
	      in parallel.  Hooks are more efficient: locks on output paths are
	      only acquired when the hook says that it is willing to accept a
	      build job.  Hooks now work in two phases.  First, they should first
	      tell Nix whether they are willing to accept a job.  Nix guarantuees
	      that no two hooks will ever be in the first phase at the same time
	      (this simplifies the implementation of hooks, since they don't have
	      to perform locking (?)).  Second, if they accept a job, they are
	      then responsible for building it (on the remote system), and copying
	      the result back.  These can be run in parallel with other hooks and
	      locally executed jobs.

	      The implementation is a bit messy right now, though.

	    * The directory `distributed' shows a (hacky) example of a hook that
	      distributes build jobs over a set of machines listed in a
	      configuration file.

	commit 5087c8f645cf971ee6dfd11c5c56c6b2b752d7ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 14:30:57 2004 +0000

	    * Use `-j0'.

	commit efa5fa1a91d5c4b29094d99b65e18b583d86dbc7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 14:20:32 2004 +0000

	    * A switch `-j NUMBER' to set the maximum number of parallel jobs (0 =
	      no limit).
	    * Add missing file to distribution.

	commit 1f48aa0be7f1fe120cee44a208480b879583c5f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 13:49:10 2004 +0000

	    * Broken test.

	commit aa5a5084e4855ff612d27913a920ffab073e7b42
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 13:32:26 2004 +0000

	    * Pass to the build hook all sorts of information useful for
	      distributing a build action to another machine.  In particular, the
	      paths in the input closures, the output paths, and successor mapping
	      for sub-derivations.

	commit 8c0b42f857b53993d95c5bc077e8f8a71028c5ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 09:35:51 2004 +0000

	    * An quick and dirty hack to support distributed builds.

	commit c8d3882cdc8f9e22c58af285c1996265c1af75d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 11 18:05:44 2004 +0000

	    * True parallel builds.  Nix can now run as many build jobs in
	      parallel as possible (similar to GNU Make's `-j' switch).  This is
	      useful on SMP systems, but it is especially useful for doing builds
	      on multiple machines.  The idea is that a large derivation is
	      initiated on one master machine, which then distributes
	      sub-derivations to any number of slave machines.  This should not
	      happen synchronously or in lock-step, so the master must be capable
	      of dealing with multiple parallel build jobs.  We now have the
	      infrastructure to support this.

	      TODO: substitutes are currently broken.

	commit aea436503e9126b06cd15acf1f0c6b738ffbc7de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 11 13:48:25 2004 +0000

	    * Ignore interrupt signals while handling an exception.
	    * Ignore EINTR in reads and writes.

	commit a9858c9f26c5be743e0bbe1949954f6bd2497306
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 17:04:17 2004 +0000

	    * A test to verify that Nix executes build jobs in parallel, if
	      possible.

	      This test fails right now because this hasn't been implemented right
	      now.  Yes, I'm doing Test-Driven Development! ;-)

	commit f044ccf7025137ec541e165e7988772f27080a23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 13:56:30 2004 +0000

	    * 1000th revision!
	    * A test to verify that locking of output paths (caused by concurrent
	      invocations of Nix) works correctly.

	commit a7bbe739717c7419a374b29e6e4887325b1af7fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 13:22:33 2004 +0000

	    * Another test.

	commit ef093aac8f24535f6d0c75332ac7aeafbbe8c161
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 12:45:04 2004 +0000

	    * Grrr.  TESTS are not included in EXTRA_DIST.

	commit 256eeab7112da2d5fe1629ffb8b86640a894ee6d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 12:15:30 2004 +0000

	    * Allow the location of the store etc. to be specified using
	      environment variables.
	    * Started adding some automatic tests.
	    * Do a `make check' when building RPMs.

	commit fd927c5d25f1518dcbf99a57223f46fe098d9011
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 13:44:26 2004 +0000

	    * Bump the version number.

	commit 22371cbd3f382fd00e4f90bc88b28893d211b3f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 09:54:37 2004 +0000

	    * Fixed URL.

	commit bcce9c1ff5d5bfeb1d9c51554e432b6bef91ac97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 09:52:06 2004 +0000

	    * Only add `-preRELEASE' to the version if STABLE != 1.
	    * Documented release procedures.

	commit d4779abc042710638fb4afe419f83d4627c94004
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 23 15:16:08 2004 +0000

	    * Pass SYSTEM through config.h, and allow spaces.

	commit 759c953196c75b7728bb2d946227f1597b99a4a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 14:17:57 2004 +0000

	    * Look for GC roots in @localstatedir@/nix/gcroots.

	commit d7238bc84ebd8356db6d73a80171f1129bbe3d44
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 07:47:41 2004 +0000

	    * Don't create $(localstatedir)/nix/profiles if --disable-init-state
	      is specified.

	commit b6df68c9429896ba6017f60d1ce3a95ede9afe72
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 14:57:46 2004 +0000

	    * Dist error.

	commit 21655a70f5a6e80b477d8bf758aa24eb0fcbdbfe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 14:54:05 2004 +0000

	    * Channels.  These allow you to stay current with an evolving set of
	      Nix expressions.

	      To subscribe to a channel (needs to be done only once):

	        nix-channel --add \
	          http://catamaran.labs.cs.uu.nl/dist/nix/channels/nixpkgs-unstable

	      This just adds the given URL to ~/.nix-channels (which can also be
	      edited manually).

	      To update from all channels:

	        nix-channel --update

	      This fetches the latest expressions and pulls cache manifests.  The
	      default Nix expression (~/.nix-defexpr) is made to point to the
	      conjunction of the expressions downloaded from all channels.

	      So to update all installed derivations in the current user
	      environment:

	        nix-channel --update
	        nix-env --upgrade '*'

	      If you are really courageous, you can put this in a cronjob or
	      something.

	      You can subscribe to multiple channels.  It is not entirely clear
	      what happens when there are name clashes between derivations from
	      different channels.  From nix-env/main.cc it appears that the one
	      with the lowest (highest?) hash will be used, which is pretty
	      meaningless.

	commit f79e9c2d22345eeb0c721a8cf5375101d33dc4c9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 10:54:46 2004 +0000

	    * Do initialise state (the DB etc.) when doing a `make install',
	      unless `--disable-init-state' is passed to configure.

	commit 8e459d919dbce7c6d45d90ef9a9385133cfae15e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 09:37:37 2004 +0000

	    * Recurse into attribute sets and lists when getting derivations from
	      an expression.

	commit 7cce0c34e1821b08c066a25e2cffcf0910d1f145
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 15 15:14:16 2004 +0000

	    * Allow extra parameters to be passed to Curl through the `CURL_FLAGS'
	      environment variable.  This is useful for passing authentication
	      information (it won't show up in `ps').  Hacky - nix-push should
	      abstract over the use of Curl.

	commit 2c5a8bf49f6ed5f6584bac6b8abae1def86f95f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 10:45:11 2004 +0000

	    * Use @storedir@, not @prefix@/store.

	commit b275f2ed3b2ae8fc22912122a5a4cdd5ef0fe0cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 08:09:27 2004 +0000

	    * `*.gcroot' files can now containing multiple roots.

	commit a4d2b22c8ca5064f1da614914c7ea336eedd65c4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 08:08:55 2004 +0000

	    * Be stricter in verifying store paths.

	commit 87bf541f23723f6a8c7f05c89984c5df0c450ec2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 8 15:51:26 2004 +0000

	    * Documented the primops.

	commit b0c9baf1b5843acbb954d21bcb5cacc897236c3b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 8 13:31:57 2004 +0000

	    * EBNF grammar for the Nix expression language.

	commit 153429520a8d2ed906a272f6d0e23c6c2b54fa41
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 6 15:55:27 2004 +0000

	    * Distributed the wrong file.

	commit 2be8ac48bb4349bdd61e993ccf325a7b9e167627
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 6 11:42:28 2004 +0000

	    * Make the creation of user environments much faster and more storage
	      efficient by creating only a single symlink to entire directory
	      trees unless a collission occurs.

	commit bf3863b546dcb9bd62e86c0f17d8b12b2d08b874
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 6 08:40:19 2004 +0000

	    * Fail if prerequisites are missing.

	commit 03f1d1ecb5ef69c8c065c83373f9f9f749995c50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 6 08:18:51 2004 +0000

	    * Switched from wget to curl.
	    * Made the dependencies on bzip2 and the shell explicit.

	commit 59b94ee18ac0cba5c7b261ee72550a4d3db0acb5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 5 22:27:41 2004 +0000

	    * When something goes wrong in the evaluation of a Nix expression,
	      print a nice backtrace of the stack, rather than vomiting a gigantic
	      (and useless) aterm on the screen.  Example:

	        error: while evaluating file `.../pkgs/system/test.nix':
	        while evaluating attribute `subversion' at `.../pkgs/system/all-packages-generic.nix', line 533:
	        while evaluating function at `.../pkgs/applications/version-management/subversion/default.nix', line 1:
	        assertion failed at `.../pkgs/applications/version-management/subversion/default.nix', line 13

	      Since the Nix expression language is lazy, the trace may be
	      misleading.  The purpose is to provide a hint as to the location of
	      the problem.

	commit a520b1cbc3327dfb8e3c6f503dfd0bd41e0a6d55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 2 10:49:37 2004 +0000

	    * Print a more useful error message in case of an invalid derivation
	      binding.

	commit c4ac2a164af1c4198852844ae4fcfb99c7e8c110
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 15:05:35 2004 +0000

	    * The recent change in nixpkgs of calling `stdenv.mkDerivation'
	      instead of `derivation' triggered a huge slowdown in the Nix
	      expression evaluator.  Total execution time of `nix-env -qa' went up
	      by a factor of 60 or so.

	      This scalability problem was caused by expressions such as

	        (x: y: ... x ...) a b

	      where `a' is a large term (say, the one in
	      `all-packages-generic.nix').  Then the first beta-reduction would
	      produce

	        (y: ... a ...) b

	      by substituting `a' for `x'.  The second beta-reduction would then
	      substitute `b' for `y' into the body `... a ...', which is a large
	      term due to `a', and thus causes a large traversal to be performed
	      by substitute() in the second reduction.  This is however entirely
	      redundant, since `a' cannot contain free variables (since we never
	      substitute below a weak head normal form).

	      The solution is to wrap substituted terms into a `Closed'
	      constructor, i.e.,

	        subst(subs, Var(x)) = Closed(e) iff subs[x] = e

	      have substitution not descent into closed terms,

	        subst(subs, Closed(x)) = Closed(x)

	      and otherwise ignore them for evaluation,

	        eval(Closed(x)) = eval(x).

	    * Fix a typo that caused incorrect substitutions to be performed in
	      simple lambdas, e.g., `(x: x: x) a' would reduce to `(x: a)'.

	commit df101d6fca1d60d4159056e87dd1b3d6c2855661
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 29 12:10:15 2004 +0000

	    * Specify Perl as a dependency for the RPM.

	commit ac4d39f9db28743b6c1e9def7a61241a50b02335
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 21:15:01 2004 +0000

	    * Added an operator `?' to test for attribute existence, e.g.,
	      `attrs ? x' yields true iff `attrs' has an attribute named `x'.

	commit f958bcdf1f9f66759a2512e4b7c0b0ba5647960a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 20:58:28 2004 +0000

	    * Added an operator `~' to select paths within a derivation.  E.g.,

	        {stdenv, bash}: derivation {
	          builder = bash ~ /bin/sh;
	          args = ["-e" "-x" ./builder.sh];
	          ...
	        }

	      Here the attribute `builder' will evaluate to, e.g.,
	      `/nix/store/1234abcd...-bash-2.0.1/bin/sh'.

	commit db3e644c1ce7d856dbaca7718fa0af8231c486d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 20:34:22 2004 +0000

	    * Added plain lambdas, e.g., `let { id = x: x; const = x: y: x; }'.
	      `bla:' is now no longer parsed as a URL.

	    * Re-enabled support for the `args' attribute in derivations to
	      specify command line arguments to the builder, e.g.,

	        ...
	        builder = /usr/bin/python;
	        args = ["-c" ./builder.py];
	        ...

	commit f8cd904e05b95c5a3ca7cf570c0503a25a2095ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 27 17:58:04 2004 +0000

	    * Disallow the Nix store or any of its parents from being symlinks.
	      This is because the contents of these symlinks are not incorporated
	      into the hashes of derivations, and could therefore cause a mismatch
	      between the build system and the target system.  E.g., if
	      `/nix/store' is a symlink to `/data/nix/store', then a builder could
	      expand this path and store the result.  If on the target system
	      `/nix/store' is not a symlink, or is a symlink that points somewhere
	      else, we have a dangling pointer.

	      The trigger for this change is that gcc 3.3.3 does exactly that (it
	      applies realpath() to some files, such as libraries, which causes
	      our impurity checker to bail out.)

	      An annoying side-effect of this change is that it makes it harder to
	      move the Nix store to a different file system.  On Linux, bind
	      mounts can be used instead of symlink for this purpose (e.g., `mount
	      -o bind /data/nix/store /nix/store').

	commit f0f7a9f29962c55a6c2082b44c9befbd912c2f53
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 27 15:33:19 2004 +0000

	    * Do not close a nesting level twice after close() has been
	      called explicitly on a Nest object.

	commit 7823db2137d8079bcf512aba4ce46f1373693517
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 22 21:42:28 2004 +0000

	    * Some more nesting.

	commit 777e13b94b2da466c16a5836b52413aa9d246cd5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 22 20:53:49 2004 +0000

	    * Nix now has three different formats for the log information it
	      writes to stderr:

	      - `pretty': the old nested style (default)
	      - `escapes': uses escape codes to indicate nesting and message
	        level; can be processed using `log2xml'
	      - `flat': just plain text, no nesting

	      These can be set using `--log-type TYPE' or the NIX_LOG_TYPE
	      environment variable.

	commit 79bb0008ec9afa8d8cee9e6b807a579bcb1c92ab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 19 14:45:45 2004 +0000

	    * `null' is a normal form.

	commit e6253b58cdb6b3836a616821b7f5dc66790ac989
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 18 21:32:15 2004 +0000

	    * Escape codes to force line breaks to be ignored.

	commit 3f3c4cce5a6552016a040999f64dc989d203a9ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 18 21:04:14 2004 +0000

	    * Added an extra escape code to signal "unimportant" messages.  If a tree only has
	      unimportant messages, it is collapsed by the default.
	    * Also added an optional integer argument to the escape code for opening a nesting
	      level to indicate lack of importance.  If set, the tree is collapsed by default.

	commit 84c617966b8a78b7385aff04f1ac9b3bb7391898
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 18 18:26:22 2004 +0000

	    * Collapsable trees.

	commit c2fc2c13c981e28ff673221da47cc93a7ed9291f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 18 14:58:16 2004 +0000

	    * Use unordered lists, which is more sensible semantically for
	      representing tree structures.

	commit a784fd5792a5447ad2b7dac63bea2a0b2fc379c3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 18 13:04:05 2004 +0000

	    * Don't use tables.  Konqueror likes this much better.

	commit 8ce3dd488711d0eca43c64ccc04903eeba135836
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 17 16:55:53 2004 +0000

	    * Display the popup directly over the abbreviation.

	commit 8330c8202aa77ab65ce6344a45c5ecce287fd988
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 17 16:52:48 2004 +0000

	    * A simpler way of implementing the store reference popups, thanks to
	      Martin and CSS guru Martijn Vermaat.

	commit b5539e7a30da963af3e5967e2af2524a5e99efbb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 16 12:47:09 2004 +0000

	    * Store paths are now abbreviated in the generated HTML file.
	      Hovering over the abbreviated path will reveal the full path.  This
	      probably only works in Mozilla.

	commit 9d2669d218d03d64c69a702a96fc87ee1fd3a9d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 15 21:51:14 2004 +0000

	    * Added a utility that can be used to produce nice HTML pages from Nix
	      build logs.  The program `log2xml' converts a Nix build log (read
	      from standard input) into XML file that can then be converted to
	      XHTML by the `log2html.xsl' stylesheet.  The CSS stylesheet
	      `logfile.css' is necessary to make it look good.

	      This is primarily useful if the log file has a *tree structure*,
	      i.e., that sub-tasks such as the various phases of a build (unpack,
	      configure, make, etc.) or recursive invocations of Make are
	      represented as such.  While a log file is in principle an
	      unstructured plain text file, builders can communicate this tree
	      structure to `log2xml' by using escape sequences:

	      - "\e[p" starts a new nesting level; the first line following the
	        escape code is the header;

	      - "\e[q" ends the current nesting level.

	      The generic builder in nixpkgs (not yet committed) uses this.  It
	      shouldn't be to hard to patch GNU Make to speak this protocol.

	      Further improvements to the generated HTML pages are to allow
	      collapsing/expanding of subtrees, and to abbreviate store paths (but
	      to show the full path by hovering the mouse over it).

	commit beda10f5a2a69ac32ad91c8a80477fde19be6a83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 15 15:23:53 2004 +0000

	    * Make perl a dependency of Nix.

	commit a5619f1dffbf3600dd16b51e84ae3c999edc439c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 12 10:45:08 2004 +0000

	    * Set the NIX_STORE and NIX_BUILD_TOP environment variables in
	      builders to point to the store and the temporary build directory,
	      respectively.  Useful for purity checking.
	    * Also set TEMPDIR, TMPDIR, TEMP, and TEMP to NIX_BUILD_TOP to make
	      sure that tools in the builder store temporary files in the right
	      location.

	commit 7f0ed370da62b867d90ba5346f4b9f217fbbe10f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 20 11:32:30 2004 +0000

	    * Use $(storedir) instead of $(prefix)/store.

	commit dbf547645d26baee030d7db0535e0c0be72c13cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 19 13:11:12 2004 +0000

	    * Resolve an ambiguity between ifs and attribute selection, e.g., `if
	      b then x else y.z'.

	commit 86b7efbdbe3c2da0f788df3ee7839cf3b88f7120
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 16 16:48:06 2004 +0000

	    * Don't build ATerm library if we don't need to.

	commit 0dfdafdf6de4f741ff60637843f0e7900384cd9f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 16 16:37:16 2004 +0000

	    * Allow linking against an external Berkeley DB / ATerm library.

	commit f34de121401bb43c6cfab892b2b254e42652ba90
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 16 15:23:19 2004 +0000

	    * Allow the location of the store to be specified (--with-store-dir).
	    * Do not create stuff in localstatedir when doing `make install'
	      (since we may not have write access).  In general, installation of
	      constant code/data should be separate from the initialisation of
	      mutable state.

	commit fbc48a469c80201f0d159a9b9f48a22ce5f36984
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 16 09:18:35 2004 +0000

	    * Inherited attributes in recursive attribute sets are in scope of the
	      non-inherited attributes.

	commit 76c0e85929dc747288a8fe66a7bb77673cf2aa7e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 14 21:44:18 2004 +0000

	    * The environment variable NIX_ROOT can now be set to execute Nix in a
	      chroot() environment.
	    * A operation `--validpath' to register path validity.  Useful for
	      bootstrapping in a pure Nix environment.
	    * Safety checks: ensure that files involved in store operations are in
	      the store.

	commit 6f5a5ea5ea7fa80bc709c4a2b14ea4395ebe7469
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 13 10:45:09 2004 +0000

	    * Regression fix: realise substitutes and detect cycles.

	commit 1ad9d1124727dd48beaec36b006bba856350905d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 13 10:43:31 2004 +0000

	    * Only include predecessors that are themselves being pushed.
	      Otherwise the substitute mechanism can break in subtle ways.

	commit 00fe1a506f045e612b0564ab0b5aff3917e26bd3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 11 10:25:31 2004 +0000

	    * When creating a new generation, also make the normal form of the
	      derivation (i.e., the closure store expression) a root of the
	      garbage collector.  This ensures that running `nix-collect-garbage
	      --no-successors' is safe.

	commit 92e832348db13637875c4f529ed0aa83d3d34493
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 10 16:14:47 2004 +0000

	    * Lots of manual stuff.  Reference pages for most Nix commands.
	    * nix-pull now requires the full url to the manifest, i.e.,
	      `/MANIFEST/' is no longer automatically appended.
	    * nix-prefetch-url works again.

	commit 6551b36790d47477087fc3a7f7bb779f28e42d8e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 10 13:42:58 2004 +0000

	    * Print what generation we are switching to; honour --dry-run flag.

	commit 0616b7feea26786c298052b0779614b2888b482a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 10 11:51:16 2004 +0000

	    * Documented the most important nix-env flags.

	commit 618aa69b015bd3ee1f6e19f3025e31fae0241826
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 9 11:59:39 2004 +0000

	    * In `--upgrade': added flags `--lt', `--leq', `--always' to specify
	      whether we want to upgrade if the current version is less than the
	      available version (default), when it is less or equal, or always.

	    * Added a flag `--dry-run' to show what would happen in `--install',
	      `--uninstall', and `--upgrade', without actually performing the
	      operation.

	commit 06a75a7e0c1813d90c205e654da43a32812ce5f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Feb 8 14:07:43 2004 +0000

	    * A command `--switch-generation' to switch to a specific generation
	      of the current profile, e.g.,

	        $ nix-env --list-generations
	        ...
	        39   2004-02-02 17:53:53
	        40   2004-02-02 17:55:18
	        41   2004-02-02 17:55:41
	        42   2004-02-02 17:55:50   (current)

	        $ nix-env --switch-generation 39

	        $ ls -l /nix/var/nix/profiles/default
	        ... default -> default-39-link

	    * Also a command `--rollback' which is just a convenience operation to
	      rollback to the oldest generation younger than the current one.

	      Note that generations properly form a tree.  E.g., if after
	      switching to generation 39, we perform an installation action,
	      a generation 43 is created which is a descendant of 39, not 42.  So
	      a rollback from 43 ought to go back to 39.  This is not currently
	      implemented; generations form a linear sequence.

	commit b8675aee5470c5387e4bfe4906e4ab1e94b610b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 16:16:55 2004 +0000

	    * In `--list-generations', show what the current generation is.

	commit 73ab2ed4fd1c3cd974851be4f13e7a276ab16acf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 16:03:27 2004 +0000

	    * A command `--list-generations' to show all generations for a
	      profile.

	commit 7c0fa4474f0010f8266b85e891ca6049595ecb32
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 14:57:10 2004 +0000

	    * More refactoring.

	commit 7abf9911d997b241f1e6b58805140fbfe1f2771d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 14:49:41 2004 +0000

	    * Refactoring.

	commit 49bafe1faf4eedf0f059740be4f99c700ee93fe7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 10:59:06 2004 +0000

	    * Use the profile pointed to by ~/.nix-profile if no --profile
	      argument is specified.

	commit 66e94d3275e9a0a549c28b7d0ad5f3f897e2fbf0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 10:30:20 2004 +0000

	    * Improvements to profiles.  Generations are now per-profile, e.g.,

	      default -> default-94-link
	      default-82-link -> /nix/store/cc4480...
	      default-83-link -> /nix/store/caeec8...
	      ...
	      default-94-link -> /nix/store/2896ca...
	      experimental -> experimental-2-link
	      experimental-1-link -> /nix/store/cc4480...
	      experimental-2-link -> /nix/store/a3148f...

	    * `--profile' / `-p' -> `--switch-profile' / `-S'
	    * `--link' / `-l' -> `--profile' / `-p'
	    * The default profile is stored in $prefix/var/nix/profiles.
	      $prefix/var/nix/links is gone.  Profiles can be stored anywhere.
	    * The current profile is now referenced from ~/.nix-profile, not
	      ~/.nix-userenv.
	    * The roots to the garbage collector now have extension `.gcroot', not
	      `.id'.

	commit d445da7a7b3cbb4822bcad3904a36f0d914917d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 4 17:23:26 2004 +0000

	    * Extended the `inherit' syntax to optionally select attributes from
	      other attribute sets, rather than the current scope.  E.g.,

	        {inherit (pkgs) gcc binutils;}

	      is equivalent to

	        {gcc = pkgs.gcc; binutils = pkgs.binutils;}

	      I am not so happy about the syntax.

	commit 9d25466b34a5f7c1c8b1c273976cf59c33961a6c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 4 16:49:51 2004 +0000

	    * An attribute set update operator (//).  E.g.,

	      {x=1; y=2; z=3;} // {y=4;}  =>  {x=1; y=4; z=3;}

	commit 6d46e647ba16e19100dcd0abda9ca5a81ccf764f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 4 16:20:51 2004 +0000

	    * Fixed the old envpkgs filename.

	commit 9b44480612dd30a7292ec94a88e4018b8f18e3f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 4 16:03:29 2004 +0000

	    * Use a map to lookup primops.
	    * Various performance improvements in the evaluator.
	    * Do not link against unused (and missing!) libraries (-lsglr, etc.).

	commit c4f7ae4aa5fc7071cfa853ec5d75aaf00e7a97fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 3 14:45:34 2004 +0000

	    * Verify that all variables in a Nix expression are defined.

	commit 1c9c0a5a46822be60c999f0196567c9e17cf5fa3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 2 21:39:33 2004 +0000

	    * Added syntactic sugar to the construction of attribute sets to
	      `inherit' variables from the surrounding lexical scope.

	      E.g.,

	        {stdenv, libfoo}: derivation {
	          builder = ./bla;
	          inherit stdenv libfoo;
	          xyzzy = 1;
	        }

	      is equivalent to

	        {stdenv, libfoo}: derivation {
	          builder = ./bla;
	          stdenv = stdenv;
	          libfoo = libfoo;
	          xyzzy = 1;
	        }

	      Note that for mutually recursive attribute set definitions (`rec
	      {...}'), this also works, that is, `rec {inherit x;}' is equivalent
	      to `let {fresh = x; body = rec {x = fresh;};}', *not*
	      `rec {x = x}'.

	commit d9f30fe7c74ae8518a575c0d15ee00aa46a2229a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 2 10:51:54 2004 +0000

	    * Sort `nix-env -q' output by derivation name.
	    * `--version' flag for all commands.
	    * Manual updates.

	commit 47c003cb5999344aa2e4cb9f912551e33a94cd41
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 30 17:14:08 2004 +0000

	    * Doh!

	commit 619f20775dae99ad5cd04ff6e7f7cde693d912f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 30 17:06:03 2004 +0000

	    * Parser numbers again.
	    * Include missing files in distributions.

	commit c6257185139bf5f298b19177867f3afa8e5472b7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 30 16:32:14 2004 +0000

	    * Detect flex and bison; updated the manual.

	commit c5baaafae69394082817ede9e6eb3910c4601a72
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 30 15:21:42 2004 +0000

	    * Replaced the SDF parser by a substantially faster Bison/Flex
	      parser (roughly 80x faster).

	      The absolutely latest version of Bison (1.875c) is required for
	      reentrant GLR support, as well as a recent version of Flex (say,
	      2.5.31).  Note that most Unix distributions ship with the
	      prehistoric Flex 2.5.4, which doesn't support reentrancy.

	commit abd1878b26200ba3fa75592637aa87e04f52100d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 29 14:24:53 2004 +0000

	    * Optimised the SDF grammar.

	commit 3648d1c732379ef5d0f74cc3c2e5b876a7f2c9a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 22 13:04:57 2004 +0000

	    * Explicitly compute the release name.

	commit cdb50886f40e879d7b9abcfdd3ff4ac9d66f6242
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 22 09:35:35 2004 +0000

	    * Typos.

	commit 3c4bc7276a4599867c46e872858550499a94c641
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 22 09:17:55 2004 +0000

	    * Added a note about adding /nix/etc/profile.d/nix.sh to the profile.

	commit 4f72b408a5b0cf4401362960000763322eeb1846
	Author: Martin Bravenboer <martin.bravenboer@logicblox.com>
	Date:   Thu Jan 22 08:47:59 2004 +0000

	    Typos and url losser -> catamaran

	commit 840551ebdb6ca09ab733081dd0e92daee73ba900
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 21 16:41:17 2004 +0000

	    * Extra bit `S' in `--query --status' output: show whether there are
	      any substitutes for the derivation.

	commit 1109ea068097d4c5e3a4dfdeececf4590c52329a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 21 14:49:32 2004 +0000

	    * Fixed a subtle uninitialised variable bug in ATermMaps copied from
	      ATermMaps.  Found thanks to Valgrind!

	commit 47f19b6293357a8bdc3a2290813765170f241b58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 20 20:36:58 2004 +0000

	    * Absolutise the specified path in `--import' and `--profile'.

	commit 4db7ef3fcc7c392dc03fc02a22886a8c9bcbcacb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 20 17:18:41 2004 +0000

	    * Fixed URL.

	commit 3778586b2aaf2b5c905866d91d6f67e617ceb203
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 20 15:37:55 2004 +0000

	    * Nix Quick Start guide.

	commit 8baf50f10821e6def3006af8ff8b8739c66b028a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 20 11:49:32 2004 +0000

	    * Manual updates.
	    * Updated the README.  Now it just refers to the manual.

	commit 699989b2168bed80cc1383e5bf3c8326d55a3cc1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 19 09:01:28 2004 +0000

	    * Ignore exit code from strip.

	commit 3a4a4aaa8820e3483b64b3e2d25ee523c0a0cb44
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 19 08:49:25 2004 +0000

	    * Strip binaries in RPMs.

	commit f899e8ce4df3e700ae5b47279c16edc0efb4aeed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 16 15:17:36 2004 +0000

	    * Test whether the symlink, not its target, exists.

	commit b1c5f3c10dbcbbb9469ba7147bb26acf6a9aa733
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 16 14:54:39 2004 +0000

	    * Doh!  Edited `readmanifest.pm' instead of `readmanifest.pm.in'.

	commit 291030b900ffe5b9934729a3dce9b73c4effe715
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 15 20:58:44 2004 +0000

	    * Remove debug message.

	commit 447089a5f699f085661287dec4b3d88219f67068
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 15 20:23:55 2004 +0000

	    * Catch SIGINT to terminate cleanly when the user tries to interrupt
	      Nix.  This is to prevent Berkeley DB from becoming wedged.

	      Unfortunately it is not possible to throw C++ exceptions from a
	      signal handler.  In fact, you can't do much of anything except
	      change variables of type `volatile sig_atomic_t'.  So we set an
	      interrupt flag in the signal handler and check it at various
	      strategic locations in the code (by calling checkInterrupt()).
	      Since this is unlikely to cover all cases (e.g., (semi-)infinite
	      loops), sometimes SIGTERM may now be required to kill Nix.

	commit 08719c6c97e25fb362eeb7463d8b764ecefc53cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 15 20:13:54 2004 +0000

	    * Obsolete.

	commit 55e11bc0d3e3c440503ee71d21c3ef5e34431cbb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 15 14:43:00 2004 +0000

	    * In `nix-env --query --status', determine the `I' bit by looking at
	      the output path of a derivation, not the path of its store
	      expression.  This ensures that changes that affect the path of the
	      store expression but not the output path, do not affect the
	      `installed' state of a derivation.

	commit 9a404e45c9e8257e2d353d569e189a4b003159b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 14 14:20:33 2004 +0000

	    * Synchronous `nix-pull' with `nix-push'.
	    * Use curl instead of wget.

	commit 16f9b133ec8c1fc6226d486e5170dd3a43aa35a7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 14 11:13:08 2004 +0000

	    * Improved `nix-push': it now uses HTTP PUT (instead of rsync) to copy
	      files.  Target location is no longer hard-coded; it accepts a number
	      of URLs on the command line.

	    * `nix-install-package': compatibility fixes.

	commit ff9af107d3aa1362af906972c490773eeaaad4b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 16:35:43 2004 +0000

	    * Option `-B' to always show the output of builders, regardless of
	      verbosity level.

	commit 3495d153b317a0853abd7114f29b44517f7c3813
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 13:37:25 2004 +0000

	    * Periodically checkpoint the log.

	commit 698e880c9f03b3aaade13897de3498a5915ea8fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 12:36:43 2004 +0000

	    * Tricky: make sure that the accessor count is not reset to 0 if
	      recovery fails.

	commit 23fbc72f5d65725dd1804efe695aaa84580a8637
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 11:53:12 2004 +0000

	    * Print error messages, not debug messages.

	commit 4c4fe7a114968a9c7accd86499f029314530f44c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 12 10:44:48 2004 +0000

	    * Changed the extension for store expressions from ".nix" to ".store"
	      (following the Usenix paper).

	commit 46a71c857c617b5acbf3d1fdb8fb7e676a4881a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 9 14:18:28 2004 +0000

	    * Option `--force-realise' in `nix-store --query'.

	commit 30b31a8f6190dad40ca972b445420e10f47a9afc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 8 16:56:40 2004 +0000

	    * Start of nix-env reference.
	    * Some CSS tweaks.

	commit b5942155314ea4b479fabde6ce236866f5ef4b97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 8 15:01:37 2004 +0000

	    * Manual updates.

	commit 5346536b626a047d53f9c44d6562cfaeffe27f14
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 8 10:45:23 2004 +0000

	    * Include version number in manual.

	commit 7959354379416bd8513cb00e636c0310e42eaa01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 7 15:53:14 2004 +0000

	    * Upgraded to Berkeley DB 4.2.52.  The main advantage of 4.2 is that
	      it automatically removes log files when they are no longer needed.

	      *** IMPORTANT ***

	      If you have an existing Nix installation, you must checkpoint the
	      Nix database to prevent recent transactions from being undone.  Do
	      the following:

	      - optional: make a backup of $prefix/var/nix/db.

	      - run `db_checkpoint' from Berkeley DB 4.1:

	        $ db_checkpoint -h $prefix/var/nix/db -1

	      - optional (?): run `db_recover' from Berkeley DB 4.1:

	        $ db_recover -h $prefix/var/nix/db

	      - remove $prefix/var/nix/db/log* and $prefix/var/nix/db/__db*

	commit abe8c8c2aa24646955b78cd2c826483d8d8a1149
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 7 10:59:38 2004 +0000

	    * Include images/ in distribution.

	commit 1ff986d51a4fc7f77a80f5c23351f9d2cbb26550
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 6 16:38:32 2004 +0000

	    * book -> manual

	commit 2f0b93904bf88e9d2bf9d623b35991dd6dd0c521
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 6 16:35:07 2004 +0000

	    * Install images.

	commit 4a373a3e9ac07a2d4c43d495c0a44883106ecfde
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 5 16:26:43 2004 +0000

	    * Implemented Eelco V.'s `nix-env -I' command to specify the default
	      path of the Nix expression to be used with the import, upgrade, and
	      query commands.  For instance,

	      $ nix-env -I ~/nixpkgs/pkgs/system/i686-linux.nix

	      $ nix-env --query --available   [aka -qa]
	      sylpheed-0.9.7
	      bison-1.875
	      pango-1.2.5
	      subversion-0.35.1
	      ...

	      $ nix-env -i sylpheed

	      $ nix-env -u subversion

	      There can be only one default at a time.

	    * If the path to a Nix expression is a symlink, follow the symlink
	      prior to resolving relative path references in the expression.

	commit f83c5e3e5f3e6b33c095d6559a4b3cd5922e88ce
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 5 11:18:59 2004 +0000

	    * Implemented Eelco V.'s `-p' command to switch profiles.  It switches
	      the symlink ~/.nix-userenv to the given argument (which defaults to
	      .../links/current).  /etc/profile.d/nix-profile creates this symlink
	      if it doesn't exist yet.  Example use:

	      $ nix-env -l my_profile -i foo.nix subversion quake
	      $ nix-env -p my_profile

	      I don't like the term "profile".  Let's deprecate it :-)

	commit 0e68af0ce380b09c14ff36084499c0d8a6590b25
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 2 16:09:59 2004 +0000

	    * RPM sucks.

	commit 9ff365709541b8f50fddcf667ded07a5b9f774de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 2 16:04:53 2004 +0000

	    * Generate RPM spec file.

	commit 0e09cc12c08ad2db0b8620ca537bd81ca45c05df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 2 14:58:25 2004 +0000

	    * Add $prefix/store to the RPM.
	    * Allow extra flags to be passed to RPM.

	commit 94175e978a87a79f3362879898dc1cf7d08d7791
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 30 20:09:00 2003 +0000

	    * RPM spec file.
	    * Respect DESTDIR variable.

	commit 68f2fadb788f8d401fad6fd1db1cfac283e5e337
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 23 22:15:12 2003 +0000

	    * nix-pull requires libexecdir to be substituted.

	commit 392b7e0f8ecd50f98017021253386714f0771752
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 23 22:13:36 2003 +0000

	    * Fixed a bug in the upgrade operation.

	commit 833f2fc92da8d31c62eb35dae8b3861829a1383a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 22 16:40:46 2003 +0000

	    * GCC 2.95 compatibility.

	commit cf0287c09e8b5816c65dd265c4ef167865d70172
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 22 16:04:00 2003 +0000

	    * Upgrade operation in `nix-env'.  For instance, you can say

	        nix-env -u foo.nix strategoxt

	      to replace the installed `strategoxt' derivation with the one from `foo.nix', if
	      the latter has a higher version number.  This is a no-op if `strategoxt' is not
	      installed.  Wildcards are also accepted, so

	        nix-env -u foo.nix '*'

	      will replace any installed derivation with newer versions from `foo.nix', if
	      available.

	      The notion of "version number" is somewhat ad hoc, but should be useful in most
	      cases, as evidenced by the following unit tests for the version comparator:

	        TEST("1.0", "2.3", -1);
	        TEST("2.1", "2.3", -1);
	        TEST("2.3", "2.3", 0);
	        TEST("2.5", "2.3", 1);
	        TEST("3.1", "2.3", 1);
	        TEST("2.3.1", "2.3", 1);
	        TEST("2.3.1", "2.3a", 1);
	        TEST("2.3pre1", "2.3", -1);
	        TEST("2.3pre3", "2.3pre12", -1);
	        TEST("2.3a", "2.3c", -1);
	        TEST("2.3pre1", "2.3c", -1);
	        TEST("2.3pre1", "2.3q", -1);

	      (-1 = less, 0 = equal, 1 = greater)

	    * A new verbosity level `lvlInfo', between `lvlError' and `lvlTalkative'.  This is
	      the default for `nix-env', so without any `-v' flags users should get useful
	      output, e.g.,

	    $ nix-env -u foo.nix strategoxt
	    upgrading `strategoxt-0.9.2' to `strategoxt-0.9.3'

	commit f3c978384698a0b9b0f5dee41f98e6208f269347
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 23:58:56 2003 +0000

	    * Version numbers can be omitted in install/uninstall.  E.g.,

	        nix-env -i foo.nix subversion

	      The version number part of a derivation name is defined as everything following the
	      first dash not followed by a letter.

	commit a81b621202844f58ae7202e592324f1232107810
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 22:34:41 2003 +0000

	    * `-u' -> `-e'.
	    * `--link' / `-l' flag to specify the switch symlink to use (by default,
	      /nix/var/nix/links/current).

	commit 0a753e182aa0f50ea7062f2d9e02306b34266e37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 22:02:58 2003 +0000

	    * Oops.

	commit df7a718786c83e1eca908864820bb05ab964c451
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 21:57:09 2003 +0000

	    * Man pages in sections.

	commit 397c8ba898a522512ea56a3d2ae78dedda01bd77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 21:56:54 2003 +0000

	    * Missing semicolons.

	commit 528f1d1867de8b653eed516f8448096d7d138978
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 17:09:16 2003 +0000

	    * Bug fix: parallel builds of the same derivation failed due to lock file removal.

	commit 06c5a7075d85636ba1fedce1fc5b131cdcffd5f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 5 11:25:38 2003 +0000

	    * Refactoring: put the manifest-reading code in a separate file.

	commit cff6fd22ebfbfdbbda9b30c68cb61e25db718147
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 5 11:05:19 2003 +0000

	    * Allow successors that don't exist but have a substitute.
	    * Integrity: check in successor / substitute registration whether
	      the target path exists or has a substitute.

	commit feaab52203a51a4abec23f5d878f6f4dea29dcd5
	Author: Martin Bravenboer <martin.bravenboer@logicblox.com>
	Date:   Thu Dec 4 14:38:31 2003 +0000

	    * Fix for too long command lines when calling `nix-store
	      --register-[substitutes|successors].

	commit 00d4f907e1b9bfab0c51a4459d5f0e6a105fc1d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 09:33:03 2003 +0000

	    * Get rid of the icons in warnings etc.

	commit 31fd72ee1722e10dac4e3f4f55f8270ffd1ba22d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 2 16:29:41 2003 +0000

	    * Epigraph ;-)

	commit 16d971bce70a2b3aab1d3c60101e00f264159c07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 2 15:36:49 2003 +0000

	    * A nice stylesheet for the manual.

	commit 0d3a1a8582a7b0120e35c507165db6d02ceea258
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 2 12:37:37 2003 +0000

	    * Add missing files to `make dist'.

	commit 0c804c677543350a2f80206a4f47adc9b7d460e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 2 10:21:40 2003 +0000

	    * Regression fix: query flags (e.g., "-qsf") were broken.

	commit a3ca74a1c34d68c94fb3c723fb75f3f27f81e2a9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 1 16:34:35 2003 +0000

	    * Bug fix in nix-push.

	commit 078e20885e0805e04669f9b334a516a6d8d12763
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 1 15:55:05 2003 +0000

	    * Help text for all (non-script) programs, so no more:

	    $ nix-instantiate --help
	    error: unknown flag `--help`
	    Try `nix-instantiate --help' for more information.

	    :-)

	commit 905d5b91fa6fa64e549f9019f9fab4150f00c13a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 1 14:52:51 2003 +0000

	    * Manual fixes (thanks to Merijn).

	commit 83ffd4f282ea78c77c69f6b0719daa87fdc20efc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 1 14:40:24 2003 +0000

	    * Fix `make check'.

	commit 5d2b424804ec93567ddf15639f84c4098d80f659
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 1 14:36:50 2003 +0000

	    * Use a system name that does not include the OS manufacturer (i.e.,
	      "i686-linux" instead of "i686-suse-linux").

	commit dc05f29cf6e1c5ee557441951116ee3fb35e0e00
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 27 14:58:32 2003 +0000

	    * Manual updates.

	commit 7b0e29b4dc42946b64fc3d616caa33ae442d94c6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 16:09:27 2003 +0000

	    * Overview of nix-env.  Recommended reading. :-)

	commit 62d9b31d0a86fc0fc5b198e4d46722573432918c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 14:25:39 2003 +0000

	    * Updates.

	commit f6a30ab264506ca966180666dff45310d176659d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 12:30:16 2003 +0000

	    * Updates.

	commit 2a4bac5459f42764b39ac70f906f5dd3330a3ac5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 11:24:13 2003 +0000

	    * Refactoring.
	    * Convert tabs to spaces.

	commit bd0ce1a4be6612cf53d9d31f1cbe1b25085ccf75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 10:47:54 2003 +0000

	    * Minor fix.

	commit 80f8c38384605f99ac43bdd3ae637e72996ca2da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 10:41:59 2003 +0000

	    * Typo fix.

	commit c38ba181ede6b46f28d5a70bf0243bcd003f943b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 10:41:21 2003 +0000

	    * Configure flags to specify the location of the DocBook DTD / stylesheets.

	commit 4da9316c8fa576cad77bf398785765e165f6865c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 16:49:23 2003 +0000

	    * Use svn-revision to construct package version.

	commit 6d5877ea122f1d8aede4f9b9d2ac247d1b896093
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 13:43:48 2003 +0000

	    * Use --nonet flag to prevent fetching of DTD.

	commit 12e805cfb032e403e4dd6f410b7e3f24bbc89a98
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 13:06:12 2003 +0000

	    * Don't hardcode the path to the DocBook DTD/stylesheets.

	commit ba73f94b3bba9c19726443556b0124fe63dccee6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 13:03:48 2003 +0000

	    * Another fix.

	commit 66c115ef5faabb1bcd47ac0d375aeee39b300c43
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 13:01:21 2003 +0000

	    * More `make dist' fixes.

	commit c3ee8c9166e32031a61c397594be4aef127862d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 12:35:52 2003 +0000

	    * `make dist' fix.

	commit 6e8c19714af00b8340eea6eecf1c38fc6b09f6de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 12:05:48 2003 +0000

	    * Allow integer bindings in derivations.

	commit d1d87badf6d07c9d319c555593be5c6d0bd08bb4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 16:38:46 2003 +0000

	    * Bug fix.  Hmm, I thought I'd fixed this before :-|

	commit 604c45e960f27be9e26e44dbc85fa0f00a097670
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 12:10:16 2003 +0000

	    * Autoconf sucks.

	commit e7ea52d3b336e6336c801eb8f868c0b8dd464910
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 11:11:40 2003 +0000

	    * One-click installation :-)

	      The script nix-install-package takes a `Nix package file' (which
	      contains one or more derivations, along with URLs of Nix caches),
	      unpacks it, pulls the caches, and installs the derivations in the
	      user's environment.

	      For best results, associate the command `xterm -e
	      /nix/bin/nix-install-package' with the MIME type
	      `application/x-nix-package' and visit
	      http://losser.st-lab.cs.uu.nl/~eelco/test/.

	commit b8572678930568efcf0b44523e6a2a65afef7c43
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 11:01:19 2003 +0000

	    * Allow the top-level expression to be a derivation.
	    * Hack: `nix-env -i *' installs all available derivations.

	commit 496934a99ce509ac94a99a938d7d79d1b38461ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 09:25:08 2003 +0000

	    * Fix nix-pull.

	commit c9cb1fa21f4454a214f4cd62aef2ccc35a8f89af
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 09:24:52 2003 +0000

	    * Bug fix in path invalidation.
	    * More consistency checks.

	commit 60e86b124f09763b1f0f55fc4c635a255bd028d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 08:20:49 2003 +0000

	    * Get rid of tab characters.

	commit af7e6fe22e8db606eb92c044140c00e6d8fe61cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 22 21:12:36 2003 +0000

	    * Don't use a hard-coded path.

	commit 9486dda1152d18b502fc31ff1d6aed4eba6f2fe3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 22 20:39:51 2003 +0000

	    * Fix nix-push.

	commit ab0bc4999a49efbc8e1c25989662a96e32fa0cc5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 22 18:45:56 2003 +0000

	    * Maintain integrity of the substitute and successor mappings when
	      deleting a path in the store.
	    * Allow absolute paths in Nix expressions.
	    * Get nix-prefetch-url to work again.
	    * Various other fixes.

	commit 40d9eb14dfb842c51e9f86818b43ae7711e1a5d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 22 15:58:34 2003 +0000

	    * Fix the garbage collector.

	commit 7a02d954186d6ba1ea41d9917d63f9fab84736b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 21 16:05:19 2003 +0000

	    * Remove lock files after building.

	commit 06208d1d8677eaea1fb56dd09832f43154bbab5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 21 14:23:18 2003 +0000

	    * Uninstallation.

	commit 2e9042bd1e7e3a322f072f0bf98510698afa626a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 13:48:48 2003 +0000

	    * Uninstall command (doesn't work yet).

	commit e0b5a492f537cacee7eadc47f44817908a0ab05a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 21:32:03 2003 +0000

	    * Installation: add the previously installed packages.  Switch to the new
	      configuration.
	    * Status queries.

	commit 9898746ef3732979bf30e9048021b6232ddf15ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 17:27:16 2003 +0000

	    * nix-env: a tool to manage user environments.
	    * Replace all directory reading code by a generic readDirectory()
	      function.

	commit fd7ac09f1073179d9ac439c3e9fb12a1bf00a7d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 12:03:01 2003 +0000

	    * Refactoring (step 2).

	commit ac68840e79ce74f05ee8b31bb1d528c98b9c7f76
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 11:35:41 2003 +0000

	    * Refactoring: put the Nix expression evaluator in its own library so
	      that it can be used by multiple programs.

	commit 2be8b5917a8040fac72e7970e94bbb436e8c35d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 10:04:03 2003 +0000

	    * Use `sdftable -s' to get warnings about the grammar.
	    * Several bug fixes in the grammar.
	    * Allow one-line comments (#... and //...) to end in EOF.

	commit 38946e1378d50cf2921c509635e2119216fc9b0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 12:07:39 2003 +0000

	    * Forgot this one.

	commit dfc9c64ead7f24d51ed1a232e4b3ecafa8384f2e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 12:06:07 2003 +0000

	    * "Fix expression" -> "Nix expression".
	    * More refactoring.

	commit b1117ef29d35822647bda32f8cd3887f4f6eaede
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 11:38:25 2003 +0000

	    * nix -> nix-store, fix -> nix-instantiate.

	commit ce92d1bf1434562f5b80320c503768c4d06f1f8d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 11:22:29 2003 +0000

	    * "Nix expression" -> "store expression".
	    * More refactoring.

	commit 9f0f020929c9e093405cc6193d2f227cab763912
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 10:55:27 2003 +0000

	    * libnix -> libstore.

	commit 8798fae30450a88c339c8f23d7e0c75f5df2ef1c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 10:47:59 2003 +0000

	    * Source tree refactoring.

	commit 45610ae675f6f8d6ecbd48c495cb7012b143d531
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 16 18:31:29 2003 +0000

	    * An forward non-random access input iterator class for ATermLists.

	commit 3e5a019a070cbaac7d1248e208c66da9fdb23313
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 16 17:46:31 2003 +0000

	    * Some utility functions for working with ATerms.

	commit 06ae269c7c5cdda32072f3f00cf644e540ba12cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 10 11:00:38 2003 +0000

	    * Do not filter when parsing.  This is much faster.
	    * Add some rejections and lexical restrictions to the grammar to make
	      this work.

	commit 15801c88fad38253b19ac2ea77e7597deab5fd6b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 9 10:35:45 2003 +0000

	    * Turned the msg() and debug() functions into macros, since they
	      turned out to be a huge performance bottleneck (the text to printed
	      would always be evaluated, even when it was above the verbosity
	      level).  This reduces fix-ng execution time by over 50%.

	      gprof(1) is very useful. :-)

	commit d2e3a132fe6796b2ac038ccb20e7aa32afc1a85f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 9 10:31:56 2003 +0000

	    * Pass CFLAGS to the subpackages.

	commit 90e26d392c7ac4c2a69163f881f73916e6fba3c1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 6 15:24:31 2003 +0000

	    * Allow null in derivation bindings.

	commit cfaea07444a0011aa7d91ce1bcc8f105b8f283fa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 6 14:41:49 2003 +0000

	    * `null' is a nullary primop.

	commit 569e7940f878f27b0fb9d3c8e8abfc29f3379103
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 6 14:41:29 2003 +0000

	    * Allow `+' in path names.

	commit fa18f1f184ba89b3dfe592e77a276da42d326f42
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 5 16:27:40 2003 +0000

	    * Assertions.
	    * Logical operators (!, &&, ||, ->).

	commit e17e95a82892b31c8063f2ace1b21c79e82e6f6d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 5 16:20:57 2003 +0000

	    * Print a shared textual ATerm if the term if very large.  Due to
	      substitutions, Fix terms are very large when printed as trees (in
	      memory, they are quite compact due to sharing).

	commit 80bb477cc4ea5226ae760726730b3e09d21559de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 5 15:34:12 2003 +0000

	    * Default function arguments.

	commit 0690c1c9c01dd5889dbfccf2da6cb99f5c4e151b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 3 20:30:40 2003 +0000

	    * Work around problems with the ATerm library.

	      The ATerm library doesn't search the heap for pointers to ATerms
	      when garbage collecting.  As a result, C++ containers such as
	      `map<ATerm, ATerm>' will cause pointer to be hidden from the garbage
	      collector, causing crashes.  Instead, we now use ATermTables.

	commit ff3132427839888933c3779844bf35ca9e189cb9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 3 18:21:53 2003 +0000

	    * Ignore options passed to the aterm library.

	commit e2655aa332a33b56d9168928511a598fc9b0c1e6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 3 11:59:35 2003 +0000

	    * Shorter list syntax ([a b c] instead of [a, b, c]).

	commit ad0976f8d5f2afbca4e2fe6cbb3d2c2e53760222
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 3 10:21:30 2003 +0000

	    * Grammar changes.  Attributes in attribute sets are now delimited with
	      semicolons instead of comma's.  Final semicolon in the set is optional.

	commit 40986312bb00f0101a6634db42080daee03f887b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 2 17:36:15 2003 +0000

	    * Boolean constants.

	commit adf9a45469f55258446d383333aa2ca79cfb0536
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 2 16:31:35 2003 +0000

	    * Primops: baseNameOf, toString.

	commit c8268ca9917061466a3448028ea524d9842e1ac9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 1 23:29:02 2003 +0000

	    * Fast builds.

	commit 7de1b2a6980f71cfbf36f7250e247f6eafd763d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 1 21:11:52 2003 +0000

	    * Print the exit code of the builder.

	commit 16104446712acf7e381039199eaf39dfa0fcea35
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 1 19:15:08 2003 +0000

	    * Conditions, string equality.

	commit 1b4184ccbb01634792897d3412c489b989674567
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 1 19:10:41 2003 +0000

	    * Let syntax.

	commit a2a9bacd8296ed1ddb6105b649a062fe65c27759
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 1 19:10:19 2003 +0000

	    * Filter the substitution list when descending into a recursive
	      attribute set.

	commit 449411e5113084da323d265f1b1313d9a5ca64aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 31 19:20:03 2003 +0000

	    * Typo fix.

	commit 9210d4d530b68b5f19ac7062f129c88ccdc03e04
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 31 17:09:31 2003 +0000

	    * Working evaluator.
	    * Mutually recursive attribute sets.
	    * Print evaluator efficiency statistics.

	commit f1c1a3c97f1dc81b2d9b19f58589b4b8a5ed196e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 31 12:21:01 2003 +0000

	    * Allow empty attribute (argument) sets.

	commit 7db08cc9244c374903180c8e816ecf81f6ff1d79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 31 11:22:56 2003 +0000

	    * Use SGparseString() instead of SGparseFile() because the latter is
	      buggy.  It fails to clear an internal variable (SG_textIndex)
	      between invocations, so it can be called only once during a program
	      execution.

	commit 403cb9327f5c298cb6a85a87241962df4a90857b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 30 16:48:26 2003 +0000

	    * Factor out evaluation into a separate file.

	commit 9f8f39aa3cdb54532a85e41f14985fc6a530fb36
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 30 16:18:40 2003 +0000

	    * Clean up the imploded parse tree.  Quotes around strings are
	      removed, paths are absolutised relative to the path containing the
	      expression we just parsed, and integer literals are converted to
	      actual integers.

	commit e537844f4ebc53df13f52722fb16bbeb1f4cbd18
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 30 16:11:24 2003 +0000

	    * Bottomup rewrite function.

	commit 442b09ea33dcf516a6f5244ed2c362682e1347b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 30 16:10:56 2003 +0000

	    * Don't use a search path.

	commit 933b3f677d0338b264d4e758f8932bb7f2454c46
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 30 16:10:20 2003 +0000

	    * Attribute selection operator.

	commit b95a3dc45bcbbe8a0985bab82146ed00afcf0239
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 29 16:05:03 2003 +0000

	    * Basic grammar and parser for the Fix language.  We use libsglr and
	      friends to do the parsing.  The parse table is embedded in the Fix
	      executable using bin2c, which converts an arbitrary file into a C
	      character array.

	commit 4d728f6a36c83ff684426788df775b385fae9e88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 29 15:05:18 2003 +0000

	    * Forked new version of Fix.

	commit f31661a3b593a15fe061bb398f1814d9c37902a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 29 15:04:50 2003 +0000

	    * Add sdf2-bundle to externals.

	commit 7102455cba5ceb13e7f3558716ee0a49fff1c58f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 27 18:43:09 2003 +0000

	    * Don't cache the manifest.

	commit 92eea8fc4e7a2e4d6d0dda604ecd22c60367b76e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 23 10:51:55 2003 +0000

	    * Fix a race condition in addTextToStore().

	commit c4e7d324b826d1197a90bf7f4f4b593e406e1087
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 22 13:29:40 2003 +0000

	    * Use writeFull().

	commit 9d95aafe8ccf9d037dc97bb875bc62b919d8b123
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 22 11:04:57 2003 +0000

	    * Ad hoc per-package logging.  When Nix performs a derivation, it now
	      writes stdout/stderr of the builder to ${prefix}/var/log/nix/x,
	      where x is the file name of the derivation expression, e.g.,

	        /nix/var/log/nix/54256391624be04fcb426048ae3ea0a4-d-pan-0.14.2.nix

	      Note that consecutive builds of the same expression overwrite,
	      rather than append to, existing log files.

	commit 143427f90b9b54bd957cd50a2110157ddfedeeaf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 22 10:53:46 2003 +0000

	    * Dead code removal.

	commit 4a8948b7a60e751dd809f279f1baa434ea09a4d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 22 10:48:22 2003 +0000

	    * Some wrapper classes to ensure that file descriptors / directory
	      handles are closed when they go out of scope.

	commit c62433751d5fce8c25a802989c50fee993f39c2d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 20 10:05:01 2003 +0000

	    * Finished refactoring the tree.

	commit 53e376d836133a660223198c7bb8308fb912375e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 20 09:20:11 2003 +0000

	    * Refactored the source tree.

	commit 0eab306466fdb186c692521dd1f2b949e56c54da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 20 09:08:44 2003 +0000

	    * NarPath -> NarName.

	commit a0a7a4e0875c2cfdd2895bb1b4a16c998cde576e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 19:24:04 2003 +0000

	    * Remove some debug output.

	commit 0791282b2f42313c94dd9bc85b24428e585cd099
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 16:29:57 2003 +0000

	    * Substitutes and nix-pull now work again.
	    * Fixed a segfault caused by the buffering of stderr.
	    * Fix now allows the specification of the full output path.  This
	      should be used with great care, since it by-passes the normal hash
	      generation.
	    * Incremented the version number to 0.4 (prerelease).

	commit ab5e8767fafb2d62213e3f1558ead2882bc65c05
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 13:13:39 2003 +0000

	    * Get nix-push to work again.
	    * Fixed svn:ignore on externals/.

	commit c78bf115248f62fa355e7a9b2b9532b37e693085
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 11:55:37 2003 +0000

	    * Enable buffering of stderr in C++.

	commit f7c7aad1351a0ed58f458e485968af498d542b5b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 08:52:44 2003 +0000

	    * Upgraded to Berkeley DB 4.1.25 and do not synchronously flush the
	      log on commit.  This means that there is a small change that some
	      transactions may be rolled back in case of a system crash, but this
	      should not be a problem (it merely might cause some expression
	      realisations to be rolled back), and it vastly improves performance.

	    * Upgraded to ATerm 2.0.5 (which also includes Armijn's 64-bit
	      patches).

	commit 181aa3dc4198d2e2cfa89d3ebb53a96fa567e12f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 08:06:19 2003 +0000

	    * Don't sort the result of `--query --list'.

	commit ebff82222c7b946e70e539389c0027529b6c7ad0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 15 12:42:39 2003 +0000

	    * Refactoring: move all database manipulation into store.cc.
	    * Removed `--query --generators'.

	commit 5fc71276430e8e6a4588fa54da692f81d5ada585
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 15 10:34:50 2003 +0000

	    * Keep sources (derivation expression) by default, `--no-source' to
	      override.

	commit c190f051ac34b2df51402bf593150de97f491d86
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 14 15:33:00 2003 +0000

	    * Automatically recover the database in case of a crash.

	commit 1d61e473c88568fae7ef5edebc77acd53e4126f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 10 15:25:21 2003 +0000

	    * New query `nix --query --predecessors' to print the predecessors of
	      a Nix expression.

	commit 0abe185688aa19c9ca87c9d22e24a54b4b359969
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 10 15:14:29 2003 +0000

	    * `nix --verify': check and repair reverse mapping for successors.

	commit d3d5e77810cca11cca95bbb6f0f5e15d23f31eea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 10 14:46:28 2003 +0000

	    * Reverse mappings for the successor and substitute mappings.

	commit 1eb4da156cca1b1981ab1f60bb9797ed1e93101a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 10 13:22:29 2003 +0000

	    * Performance improvement: don't register already registered terms,
	      thus greatly reducing the number of db transactions.

	commit 08b7319f5bca01f46916faaec0f9de420404a5ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 9 15:38:31 2003 +0000

	    * Follow successors by default (use `--no-successors' to override).

	commit 6409c215e56cbcd10177edf358f7d0702d687099
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 9 15:37:20 2003 +0000

	    * Fixed nix-switch.

	commit 6baa2c442035fb06652a7fad9d51df1ce41c05f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 8 15:06:59 2003 +0000

	    * Get rid of identifiers since they are redundant now.  This greatly
	      simplifies stuff.

	    * The format of Nix expressions and the database schema changed
	      because of this, so it's best to delete old Nix installations.

	commit b9f4942bd2f8aae44db6caa5a4ebe5680880fec2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 7 14:37:41 2003 +0000

	    * string -> Path.

	commit 5d4171f7fb548e06ecd2440f57322b3c77f1074e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 7 12:27:49 2003 +0000

	    * Synchronise terminology with the ICSE paper (e.g., slice -> closure,
	      fstate -> Nix expression).
	    * Fix src/test.cc.

	commit 563afb7fcc9d6aabec9b867372ea8d651fd12e89
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 2 15:48:47 2003 +0000

	    * Use passive FTP in wget.

	commit e78f753aa830e795fcb05920f30b0bd6d04bed0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 2 12:22:19 2003 +0000

	    * Include the right files in a distribution.

	commit 4193d62e08964e2c26b27674e33327bf0417bab5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 2 11:55:38 2003 +0000

	    * Nix now respects $TMPDIR for the creation of temporary build directories.
	    * Retry creation of a temporary directory (with a different name) in the
	      case of EEXIST.

	commit 6d478597c7672efc546b6720c8404ffb5f998612
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 24 08:40:40 2003 +0000

	    * Argggg...

	commit 9fb94f4f2f33b8fe26e4842558a13c6c62e6eded
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 24 08:39:49 2003 +0000

	    * Forgot a file.

	commit 9ba2397ea971aba101235413afe27518e0b7a2ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 24 08:28:04 2003 +0000

	    * Added missing files to `make dist'.

	commit 41730f57798a9acba1fa07397cb06ba6a260ea70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 23 14:26:58 2003 +0000

	    * Put the SVN revision number in the version string.

	commit 1c7d6bf5fcddae13b6226d61fe60cfccb8d2c359
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 11 10:23:55 2003 +0000

	    * Removed references to char_traits so that boost/format also works on
	      GCC 2.95.

	commit d930a9bc5a69b33dc7fe707838ccdd72e89f8079
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 11 08:31:29 2003 +0000

	    * Added some missing #includes.

	commit 803a924b77730f6f7e04dde0cbfda2522f06a2b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 3 14:49:58 2003 +0000

	    * Make nicer dot graphs.  Also show the inner structure of slices.

	commit c0bbed0959665bc51909b285654db2a3cf120502
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 3 11:20:18 2003 +0000

	    * Factored out dot graph generation into a separate file.

	commit 0d2bc686817306502b71f5ca2cd49cb1d501247c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 29 13:12:30 2003 +0000

	    * Do not show the output of the builder unless the verbosity is at
	      least at debug level (-vvv).  The output is still appended to the
	      build log in /nix/var/log/nix.

	commit 25304af72ed5c8fd50aa1da01c5872567ebe6ba2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 28 10:51:52 2003 +0000

	    * Set a path.

	commit b0185173147c3eb629cc6b996459cf6ce2d608fe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 28 10:51:14 2003 +0000

	    * Do not try to remove write permission from symlinks, since chmod()
	      follows symlinks.  (Note that the permissions on symlinks are
	      ignored anyway.)

	commit c4f1f49574b4fe55bef7952bd0fcc2bd626b0db2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 28 10:10:12 2003 +0000

	    * nix-push generated invalid (old-style) slices.
	    * nar.sh needs a path.

	commit 31be53cd0a50ef9e3ddf64f79222e8e8dd1d05aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 14:56:11 2003 +0000

	    * Fix the atrocious (exponential? factorial?) time complexity in
	      `nix --query --requisites'.

	commit 920193beb1a7b8894d100c63adadf00ad855dd64
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 14:36:04 2003 +0000

	    * Don't continue when the call to nix fails.

	commit a88144215c263e62528108dfae1e781058344ef2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 22 20:12:44 2003 +0000

	    * Remove write permission from output paths after they have been built.
	    * Point $HOME to a non-existing path when building to prevent certain tools (such as
	      wget) from falling back on /etc/passwd to locate the home directory (which we
	      don't want them to look at since it's not declared as an input).

	commit 56b98c3857b89d4f81f0127c53cfce6d8e48a71f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 22 11:29:20 2003 +0000

	    * Some work on the introduction.

	commit 956801fcc2ac75fd4041f61619451d2935fa2598
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 20 14:11:40 2003 +0000

	    * Use maps and sets in the FState data type.  This ensures normalisation of
	      slices and derivations w.r.t. order of paths, slice elements, etc.

	commit 624c48260f1b4eec86daa0da5f33d4cbb963a361
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 20 12:39:56 2003 +0000

	    * Change the abstract syntax of slices.  It used to be that ids were used as
	      keys to reference slice elements, e.g.,

	        Slice(["1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["8c99..."]), ...])

	      This was wrong, since ids represent contents, not locations.  Therefore we
	      now have:

	        Slice(["/nix/store/1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["/nix/store/8c99-..."]), ...])

	    * Fix a bug in the computation of slice closures that could cause slice
	      elements to be duplicated.

	commit 710175e6a0f737f108e802d6b0c3de0af04e500c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 20 11:31:15 2003 +0000

	    * Bumped the version number to 0.3.

	commit ed0db2e0d80ac538fbb1f9869922be4fbf7bfeab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 20 11:30:45 2003 +0000

	    * Fixed a serious bug in the computation of slices.  Sometimes the slices
	      would not be properly closed under the path reference relation.

	commit 1472cc482503a39d173b5dcd34686fd6c3c644d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 19 13:07:38 2003 +0000

	    * Pipe /dev/null into stdin.

	commit 2de850479101e5a378c87d1392ea03c63ce224cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 19 09:04:47 2003 +0000

	    * Delete the temporary directories of failed builds by default, and an
	      option `--keep-failed' to override this behaviour.

	commit 31e4aa64396858e3b6ef8477397c84cbd80670fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 18 16:32:55 2003 +0000

	    * Allow lists in package bindings, e.g.,

	        ("srcs", [Relative("foo/bar.c"), Relative("foo/baz.h")])

	      The result is an environment variable that contains the path names of the
	      inputs separated by spaces (so this is not safe for values containing
	      spaces).

	commit ebbb6ce578ab383bec7a61c364d2be27c0bad22f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 18 14:54:54 2003 +0000

	    * Most shells initialise PATH to some default (/bin:/usr/bin:...)
	      when PATH is not set.  We don't want this, so fill it in with
	      some dummy value.

	commit c32e01eab2363085160bfebc2d9ab506d265c7e4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 18 08:52:49 2003 +0000

	    * Revision 300!
	    * Put `@' in front of echo's in the Makefile.

	commit 08f9cfe267934dac5a7da869e9ebadf215220217
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 18 08:35:16 2003 +0000

	    * No longer automatically download Berkeley DB / ATerm.

	commit 96c7b98bf0f852d7afee9251c4ce9492310e6a87
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 15 13:01:45 2003 +0000

	    * Argument support in Fix.  Arguments can be passed through the
	      builder using the `args' binding:

	      ("args", ["bla", True, IncludeFix("aterm/aterm.fix")])

	      Note that packages can also be declared as inputs by specifying them
	      in the argument list.

	commit 555347744d116b0152a04d4fdb08258276d34199
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 15 12:32:37 2003 +0000

	    * Derivation expressions now can specify arguments to be passed to the
	      builder.  Note that this unfortunately causes all Fix-computed
	      hashes to change.

	commit e374dbf89b0ba9a4f5835ef9ac30eda6df1dce6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 15 10:13:41 2003 +0000

	    * A script `nix-prefetch-url' to fetch a URL, place it in the Nix
	      store, and print its hash.

	commit 01e30360d46ce940d8b83f4ff7a71e8464c1422b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 15 09:39:33 2003 +0000

	    * Don't use a temporary file.

	commit 163db7367fb45955069b46014e60224b1bc037b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 15 09:21:19 2003 +0000

	    * Fix can now read expressions from stdin (by saying `fix -').

	commit 161aab582bb3d794414c0275ff8216292f85ab5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 18:24:40 2003 +0000

	    * Use a catalog when calling xsltproc.

	commit a24cb1936141981c3b3d5cd30433bb1e57d7dc76
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 18:17:02 2003 +0000

	    * Use xmllint instead of nsgmls to validate the manual.

	commit 9ee3b7a37a658dc5d3d1831e4155629e18a866f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 12:37:50 2003 +0000

	    * Function application test cases.

	commit dc0ef2ca98ddf21586b68089d28df59ef3e756dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 12:37:31 2003 +0000

	    * Detect infinite loops using blackholing.

	commit 2e16ff22ac6f3a4ea6684026a609856f29d86499
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 11:27:02 2003 +0000

	    * Fix man page.

	commit 5cde23f8698e7cdde220f30504b339b7237fd5f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 09:49:31 2003 +0000

	    * Function() takes a list of formals.

	commit 0a2de7f543ac23b8576a232c0ecf6a5f49c1884a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 09:29:07 2003 +0000

	    * Lam -> Function. Doh!

	commit 95b49f804456cf532e61478d7f604aed381173d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 13 15:17:57 2003 +0000

	    * Manual updates.

	commit 68022552d295e5a223b87a1a96814fd2586350ed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 13 15:17:36 2003 +0000

	    * Put the pre-built manual and man pages in the tar distribution.

	commit c34a153ae5614ab879ff19194ff396ffb21b7b55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 13 10:45:01 2003 +0000

	    * Documented the `--query' operation.

	commit b4f88d0ec364f00196127ea29e8db5033368e23a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 13 09:13:52 2003 +0000

	    * Split the book.xml into several xml files.

	commit 469f1eba561403639e777721cacd59e0a6cdc39d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 12 15:06:49 2003 +0000

	    * Documented some Nix operations.

	commit e405ca506efa608c3636023a98994c05f09ecf0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 12 13:54:42 2003 +0000

	    * Generate man pages from the manual.

	commit c602930e08a508fce76b16f6f7f1fdfaed3b91ab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 8 14:55:56 2003 +0000

	    * deletePath(): some operating systems (e.g., Mac OS X) don't like it
	      when we delete entries from a directory while we are reading it.
	      So read the directory into memory, then delete its contents.

	commit 4b7b0bd12ca59f84b7adada64818086ece684447
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 7 15:27:14 2003 +0000

	    * Started on the introduction.

	commit 74867e72f29f8850892bd30b9c5aa5272bc49d75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 7 14:17:18 2003 +0000

	    * Start of manual; installation instructions.

	commit f8035d06f2031fb1bdf30eee82a1beb707bbe044
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 14:48:29 2003 +0000

	    * Allow a name to be given to a system configuration through `--name
	      NAME'.  E.g., on the losser Subversion server, I do `nix-switch --name
	      svn $(fix ...)' to atomically upgrade the server (the SVN server
	      uses the Apache and Subversion installations in /nix/var/nix/links/svn).

	commit 9ad39df2823ea11ac670dd3006ab2b8fcf73e6a8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 10:00:30 2003 +0000

	    * `==' is not a valid operator.

	commit d551062ec4cf33b73df4e0d38671cbe6ca03abc5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 09:35:05 2003 +0000

	    * Scan for wget and use the full path in fetchurl.sh.
	    * Use nix-hash (not md5sum) in fetchurl.sh.

	commit 236eb59293194071ac518c12d0cc6fe0a3f0ac5f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 09:34:04 2003 +0000

	    * Allow locks on paths to be acquired recursively (that is, if the
	      process is already holding a lock on a path, it may acquire the lock
	      again without blocking or failing).  (This might be dangerous, not
	      sure).  Necessary for fast builds to work.

	commit 720f06e3b05502df2dc84afb7a3ad2ea5518246a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 09:06:32 2003 +0000

	    * A flag `--flat' to just compute the MD5 checksum of the contents of
	      a regular file.  I.e., `nix-hash --flat' is equivalent to the
	      coreutils `md5sum' command (which doesn't exist on all systems).

	commit 37483672d425bc3b7be8e1deb049fd04c80be0cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 09:05:04 2003 +0000

	    * App -> Call.
	    * Allow booleans in package environment bindings (True maps to "1",
	      False maps to "").

	commit d34b4d4f287a62de915a4bf75caf18d236e9b7e4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 13:05:30 2003 +0000

	    * Conditionals.

	commit b9c9b461ea3a90d7344a76c072b1f9a3e9d77144
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 12:30:06 2003 +0000

	    * Made nix-push much faster.

	commit 4ce652640b01c97d4df287cbc0ec6766a1438fd2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 12:29:47 2003 +0000

	    * Cache result of fstatePaths().  TODO: do this in fstore.cc.

	commit fd30f52cfca861d109652b6ad5a533e5c108f3e9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 11:14:24 2003 +0000

	    * Made nix-pull much faster by performing all Fix instantiations at
	      the same time.

	commit 17f05dba775bb95858d9ac60ab9a9abcbe88b2fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 11:13:38 2003 +0000

	    * Allow the top-level expression to be a list of expressions that
	      normalise to Nix expression.

	commit d6b6b2d3a83aa2afe3cae361954d8aa640fd77da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 09:47:20 2003 +0000

	    * Delete obstructed paths prior to building.

	commit d2e963f7a39cebcc4c937f9060763386d72ce4db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 07:09:36 2003 +0000

	    * Path locking in addToStore() and expandPath().

	commit c95b4ad2906ce4076f04e0969b7080c0589a8cea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 1 15:41:47 2003 +0000

	    * In normaliseFState(), wrap registration of the output paths and the
	      normal form in a single transaction to ensure that if we crash,
	      either everything is registered or nothing is.  This is for
	      recoverability: unregistered paths in the store can be deleted
	      arbitrarily, while registered paths can only be deleted by running
	      the garbage collector.

	commit d99d04e6442dcc39a24cebac01af117ce00a5006
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 1 15:06:23 2003 +0000

	    * Defensive programming against POSIX locking idiocy.
	    * Simplified realiseSlice().

	commit 545145cd582cd80b857760ec11bb5a91b6271506
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 1 14:11:19 2003 +0000

	    * normaliseFState() now locks all output paths prior to building, thus
	      ensuring that simultaneous invocations of Nix don't clobber
	      each other's  builds.

	    * Fixed a bug in `make install'.

	commit 9df93f30bda81ffa3cf040c146347e02d3a56666
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 1 09:01:51 2003 +0000

	    * Don't use substitutes in addToStore().

	commit 06434072e7860f2eaac9581e979801b7b3493a1e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 19:49:11 2003 +0000

	    * Put the database verifier in a transaction.

	commit 06d3d7355d1b0ec05e61d2e7fe67f8d7153c1ff9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 16:05:35 2003 +0000

	    * Enclose most operations that update the database in transactions.

	    * Open all database tables (Db objects) at initialisation time, not
	      every time they are used.  This is necessary because tables have to
	      outlive all transactions that refer to them.

	commit 177a7782aee4c4789ad5377b5993bfa0b692282e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 14:28:49 2003 +0000

	    * Use a more reasonable log file size (256 KB instead of 10 MB).
	    * Checkpoint on exit.

	commit 4a013962bdd08ee0cf285136e4eca0f2c9c76b98
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 13:47:13 2003 +0000

	    * Started using Berkeley DB environments.  This is necessary for
	      transaction support (but we don't actually use transactions yet).

	commit 758bd4673a3553fcbd78c8f895d6efe839d3d538
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 13:13:27 2003 +0000

	    * Set execute bit.

	commit 9f4c19276d023433ea05f6cc3637b4327bd23fbe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 13:13:13 2003 +0000

	    * Basic makefile.

	commit 26ff1cdf89cae33918dfdef2027d135e099ed3b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 30 14:40:46 2003 +0000

	    * A better test case for Nix race conditions.

	commit 64c617e9840b820b1d2d3ce2dd86a95506013b56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 30 14:40:18 2003 +0000

	    * Directories for the manual.

	commit 2ac02440dc065d19e5bd00b9a0c538525e12909d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 30 13:35:46 2003 +0000

	    * Test cases for races.

	commit aaee69cfdef287406715fb3befd7debd3a5c6ce9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 30 10:14:58 2003 +0000

	    * INSTALL_DATA -> INSTALL_PROGRAM to ensure that the execute bit
	      remains set.

	commit 83075304e5639dcab3d386eb7813c73b97c67685
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 30 09:49:47 2003 +0000

	    * Don't make the builder executable.

	commit 1cb030736ec1e844b3bfce32def3725c8a422a1c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 17:56:39 2003 +0000

	    * Bug: Fix does not allow empty names, so don't generate them.

	commit a01629894db0d961622b06c9c691c7cc0fbedff0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 15:19:03 2003 +0000

	    * Use `--query --requisites' and include successors when pushing.  Don't
	      use `--query --generators' anymore.

	commit 40f32ae00ac60885e7c0d8dcb4522895cba8e550
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 14:42:14 2003 +0000

	    * Typo: if -> elsif.

	commit 884646593488bfacd851bec72b7ac1a4841bf458
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 14:28:17 2003 +0000

	    * Get garbage collection and cache population to work *properly*.
	      Renamed `fstateRefs' to `fstateRequisites'.  The semantics of this
	      function is that it returns a list of all paths necessary to realise
	      a given expression.  For a derive expression, this is the union of
	      requisites of the inputs; for a slice expression, it is the path of
	      each element in the slice.  Also included are the paths of the
	      expressions themselves.  Optionally, one can also include the
	      requisites of successor expressions (to recycle intermediate
	      results).

	    * `nix-switch' now distinguishes between an expression and its normal
	      form.  Usually, only the normal form is registered as a root of the
	      garbage collector.  With the `--source-root' flag, it will also
	      register the original expression as a root.

	    * `nix-collect-garbage' now has a flag `--keep-successors' which
	      causes successors not to be included in the list of garbage paths.

	    * `nix-collect-garbage' now has a flag `--invert' which will print all
	      paths that should *not* be garbage collected.

	commit dc14a3de46ee08a28158a886b6abba2c4144f6cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 10:53:27 2003 +0000

	    * Nicer dot graphs.

	commit 79ba0431db223c1c08b46e8f3d1819e3457f21a0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 10:43:12 2003 +0000

	    * `fstateRefs' now works on derive expressions as well.  TODO: make
	      this more efficient.
	    * A flag `-n' in 'nix --query' to normalise the argument.  Default is
	      not to normalise.

	commit 5acb45446e756c023bcb6f052331181671580a5e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 09:45:03 2003 +0000

	    * Let `nix --install' print out the id of the normal form.
	    * Some minor refactoring.

	commit ce5fd1cc12f678627163d532acd7dd4251758198
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 28 16:07:01 2003 +0000

	    * Do not set LD_LIBRARY_PATH; it breaks many things.  E.g., SuSE's ssh
	      dynamically links against libdb4 (?!), due to LD_LIBRARY_PATH it picks
	      up our libdb4 instead of SuSE's libdb4, but our libdb4 uses another
	      glibc so loading barfs.

	      Instead, all packages should use rpaths to store library locations in
	      executables/libraries.  The disadvantage is that overriding rpaths is
	      harder.  (It is possible by invoking the dynamic linker directly, e.g.,
	      `/lib/ld-linux.so.2 --ignore-path LIST program args...' to ignore the
	      rpath for the libraries in LIST).  It would be better to use DT_RUNPATH,
	      which is consulted by the dynamic linker *after* LD_LIBRARY_PATH but
	      *before* ld.so.cache and the system directories.

	commit dec8fbc52bab9cc19ac97c422e79e40fa70c2b13
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 28 14:13:42 2003 +0000

	    * Check for the pthread library (db4 needs it on some platforms).

	commit 949c4fa1a863a804bdf1f985b55d5259f18838ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 28 12:19:23 2003 +0000

	    * `nix --help'.
	    * `nix --query --graph' to print a dot dependency graph of derive
	      expressions.

	commit f21b3419575eec2b5bbcc12b035f21c23d57e24d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 15:03:36 2003 +0000

	    * Fix message.

	commit 5d7a20dac3c7fd728fa885dd8dab6e170b860db9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 14:31:39 2003 +0000

	    * Prevent spurious rebuilds of db/aterm.

	commit 0a0c1fcb4d0e42577ac0c7ac23bd9b908ecde49f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 13:43:16 2003 +0000

	    * The `-v' flag no longer takes an argument; it should be repeated
	      instead (e.g., `-vvvv' for lots of output).  Default is to only
	      print error messages.

	commit 3b521bb1bd53479896de89e7a24938039f92aace
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 13:35:17 2003 +0000

	    * Do sync the database, since not doing so caused database changes not
	      to reach the disk at all.  Looks like a bug.

	commit 1a7468a57a11288a007c40d50ed28718d757a546
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 08:53:43 2003 +0000

	    * Debug levels.  Use `--verbose / -v LEVEL' to display only messages
	      up to the given verbosity levels.  These currently are:

	        lvlError = 0,
	        lvlNormal = 5,
	        lvlDebug = 10,
	        lvlDebugMore = 15

	      although only lvlError and lvlDebug are actually used right now.

	commit b75719b98457c61857689ab135559a17034dd8ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 08:24:32 2003 +0000

	    * Don't sync the database on close.  This was killing performance.
	      (Of course, the real problem is that we open the database for
	      *every* operation; we should only open it once.  And we should use
	      transactions.)

	commit 39ce70025b59a545127d1ffdefa83b7cbfcd8be1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 23 15:53:34 2003 +0000

	    * Incorporated Berkeley DB and ATerm into the source tree.
	    * `make dist'.

	commit 9202570f8c40f58f6444c2ec512104b305058977
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 22 20:02:33 2003 +0000

	    * libdb_cxx-4 -> libdb_cxx

	commit e877c69d78fe75ae3531b3ed3cb4a4d7b390ccec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 22 15:15:15 2003 +0000

	    * Substitutes now should produce a path with the same id as they are
	      substituting for (obvious, really).

	    * For greater efficiency, nix-pull/unnar will place the output in a
	      path that is probably the same as what is actually needed, thus
	      preventing a path copy.

	    * Even if a output id is given in a Fix package expression, ensure
	      that the resulting Nix derive expression has a different id.  This
	      is because Nix expressions that are semantically equivalent (i.e.,
	      build the same result) might be different w.r.t. efficiency or
	      divergence.  It is absolutely vital for the substitute mechanism
	      that such expressions are not used interchangeably.

	commit df648c4967af7298fe55f75c7616e39e5b5e7d37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 22 10:24:22 2003 +0000

	    * `nix --query --expansion' (`-qe') to get any path with content
	      corresponding to the given id.

	commit d84931ee5607c152b4bc7eb23b7ab94ded9f85c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 22:05:19 2003 +0000

	    * Changed nix-pull to match nix-push.

	commit c7bdb76fe461e2335caeea01c16b39a2784fa506
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 21:34:56 2003 +0000

	    * Syntax fixes.
	    * When pushing, put the hash in the file name so that the
	      client can verify (proof-carrying file names?).

	commit d5ee6f8700c7225a4ce34f6d92aae0d57bee3355
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 21:31:03 2003 +0000

	    * In `--query --generators', print out paths, not ids.
	      (There should really be a switch for this).

	commit 2616e6a6f3f8c39e62071cf1c22cce5be90a1d9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 20:58:34 2003 +0000

	    * Check for errors.

	commit 9f4ad99e92096981c5dc9401aa241a2314078b47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 20:58:21 2003 +0000

	    * Canonicalise path.

	commit 249988a787d26046bf7b389594ff25029229e3d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 20:07:12 2003 +0000

	    * Allow the output/expression id to be forced to a certain
	      value; this potentially dangerous feature enables better
	      sharing for those paths for which the content is known in
	      advance (e.g., because a content hash is given).
	    * Fast builds: if we can expand all output paths of a derive
	      expression, we don't have to build.

	commit 49231fbe419d37717b0d951377fbfc9bf445dd55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 14:46:01 2003 +0000

	    * Changes to the command line syntax of Nix.
	    * A function to find all Nix expressions whose output ids are
	      completely contained in some set.  Useful for uploading relevant Nix
	      expressions to a shared cache.

	commit 401452e57ae897d3e5829ed12bfcccac82548e91
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 08:55:49 2003 +0000

	    * Memoize the evaluation of Fix expressions to speed up computation.

	commit 7984cfc7c18c85c5db42c5c7d57927b12c846ce0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 20 21:11:43 2003 +0000

	    * Argh, another short-write problem.  Added wrappers around
	      read()/write() to fix this once and for all.

	commit 667a6afb9dabcb3e5c851b910705b7eb1c87c9b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 20 19:30:53 2003 +0000

	    * Remove accidentally added file.

	commit 6f1a0f948dc5a98f2efcdafb0fdde96bebbf90da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 20 19:29:38 2003 +0000

	    * Refactorings.

	commit ab350eafd2c1a98ea98090fdb3bd9b7ae4f7336b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 18 07:42:57 2003 +0000

	    * Generate nar.sh, fetchurl.sh.

	commit b3fc38bf6a407f962b83089b2e13cbc90dd53042
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 17 12:27:55 2003 +0000

	    * For debugging: `nix --verify' to check the consistency of the
	      database and store.

	commit 71cc3ceae5c5dd97a0faa2dab3da3dd0c479b0b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 17 11:25:14 2003 +0000

	    * Preserve the executable bit.

	commit 54664b6fb74e964d70530d13e25459751d0c63fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 21:24:02 2003 +0000

	    * The write() system call can write less than the requested
	      number of bytes, e.g., in case of a signal like SIGSTOP.
	      This caused `nix --dump' to fail sometimes.

	      Note that this bug went unnoticed because the call to `nix
	      --dump' is in a pipeline, and the shell ignores non-zero
	      exit codes from all but the last element in the pipeline.
	      Is there any way to check the result of the initial elements
	      in the pipeline?  (In other words, is it at all possible to
	      write reliable shell scripts?)

	commit 335aa1c35d8835619b465df3f5629b435bac157d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 20:49:59 2003 +0000

	    * Doh!

	commit 6822fd7bf472c9edc27c0e851f3efd67c2a99952
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 20:33:29 2003 +0000

	    * Bug fix: slices are transitive, so if we detect that an
	      input path is referenced in an output paths, we also have to
	      add all ids referenced by that input path.
	    * Better debug assertions to catch these sorts of errors.

	commit 9d56ca219fb7af1c209458f81a8ce35a1b6afd28
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 20:00:51 2003 +0000

	    * Substitute fixes.

	commit b9ecadee6e32eddac07d09a228f0dda2b340c7ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 11:05:59 2003 +0000

	    * Fix the -qr query.

	commit c11bbcfd26e554ca044c1cce293097e4e87ef31e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 08:30:26 2003 +0000

	    * Fix self-referential outputs.
	    * Fix -qp query.

	commit d41d085b771d0f87658fe22512178603b3a0c633
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 15 22:28:27 2003 +0000

	    * Get Fix and Nix to work again.

	commit 7b3f44e05baa49b26dd7c1ed71265c6bbc946aa4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 15 21:24:05 2003 +0000

	    * The new normaliser now passes the unit tests.

	commit f5b6fa5256efce5f7a963386cd16e441446f5746
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 15 16:28:54 2003 +0000

	    * Basic work on allowing derive expressions to build multiple paths.
	      This is not entirely trivial since this introduces the possibility
	      of mutual recursion.
	    * Made normal forms self-contained.
	    * Use unique ids, not content hashes, for content referencing.

	commit 8898e86b4fe1ecf8b34a5cca2a7b9b38d395678c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 14 10:45:04 2003 +0000

	    * Get the garbage collector to work again.

	commit 3509299aca833ed50faab146f985853255041cb2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 14 10:23:11 2003 +0000

	    * After building, scan for actual file system references as
	      opposed to declared references.  This prunes the reference
	      graph, thus allowing better garbage collection and more
	      efficient derivate distribution.

	commit 135b7d54db4e0ca56bda67946432fcf9d4f3ac5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 13 21:43:57 2003 +0000

	    * Don't check for staleness by default.

	commit e6363b05ae72ffd9d977ec3f0981ff9123c404a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 13 19:26:00 2003 +0000

	    * Pass $(prefix) and other variables through -D..., not
	      through config.h, to prevent silly Autoconf problems.

	commit 9c620e4afa03e63ddaff2979396144de8d9298a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 13 18:58:03 2003 +0000

	    * Generate the scripts so that we can substitute the prefix
	      etc. correctly.
	    * Fixed nix-switch.

	commit 5304a1eb3a2bbcc379924d3f5a58b64ce77f4849
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 12 11:03:14 2003 +0000

	    * Fetchurl: check md5 checksum.

	commit 73b163c1a10f2ce675d9fc3d7ad02fad4bc6511f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 11 08:41:03 2003 +0000

	    * Fix a bug that caused Fix not to be deterministic (due to addToStore
	      returning different paths if the hash of the path to be added was
	      already available in the store under a different name).

	commit c834a5c5975b9a62413b4aa9446f73d1c573c909
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 11 08:16:15 2003 +0000

	    * Fix handling of pipes (read(2) may not return the required
	      number of bytes in one call).

	commit 822c072cfa0f1e4ac304343d78e024ba19da34a8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 20:34:29 2003 +0000

	    * Compress Nix archives when pushing them.

	commit 9bcc31c94168717c8bd27b83bfab686264f63745
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 20:13:32 2003 +0000

	    * Working derivate sharing.

	commit 81304a6bb595e64d868ef4eb4bfcc08014ced939
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 19:27:46 2003 +0000

	    * Convert tabs to spaces.

	commit e5fbf5804192fa62d0edab0f6b323cc0c8d890f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 18:48:11 2003 +0000

	    * A command to register successor fstate expressions.

	      Unifying substitutes and successors isn't very feasible for now,
	      since substitutes are only used when no path with a certain is
	      known.  Therefore, a normal form of some expression stored as a
	      substitute would not be used unless the expression itself was
	      missing.

	commit 8511571f653fcfbb724061dac330c544b6048722
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 15:24:50 2003 +0000

	    * Performance enhancement.

	commit 1d1c3691d2fdf5aad0baceadd8596f23c1e0e1fa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 15:11:48 2003 +0000

	    * The policy-free derivate sharing now *almost* works. :-)  For any
	      hash for which no local expansion is available, Nix can execute a
	      `substitute' which should produce a path with such a hash.

	      This is policy-free since Nix does not in any way specify how the
	      substitute should work, i.e., it's an arbitrary (unnormalised)
	      fstate expression.  For example, `nix-pull' registers substitutes
	      that fetch Nix archives from the network (through `wget') and unpack
	      them, but any other method is possible as well.  This is an
	      improvement over the old Nix sharing scheme, which had a policy
	      (fetching through `wget') built in.

	      The sharing scheme doesn't work completely yet because successors
	      from fstate rewriting have to be registered on the receiving side.
	      Probably the whole successor stuff can be folded up into the
	      substitute mechanism; this would be a nice simplification.

	commit d072485d2895d01dbbab1d899418726e3349343f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 13:41:28 2003 +0000

	    * Get `nix-push' working again.  It now uses Nix/Fix to create Nix
	      archives (using the package in corepkgs/nar).
	    * queryPathByHash -> expandHash, and it takes an argument specifying
	      the target path (which may be empty).
	    * Install the core Fix packages in $prefix/share/fix.  TODO: bootstrap
	      Nix and install Nix as a Fix package.

	commit 5d4b90b689b09965be39c69aceddaf0b165598d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 09:21:40 2003 +0000

	    * Actually go through the search directories when looking for files.

	commit 089b43617501b19b94523b2211877841ed09e70e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 09:12:52 2003 +0000

	    * Deleted the sys directory.

	commit b96239c65703afba195a952d9f21b9588c136ac7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 09:11:30 2003 +0000

	    * Moved the fetchutl package to corepkgs.

	commit 9ebd78144a9c996e39ffc209c05a511f119f55ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 09:09:48 2003 +0000

	    * Added a directory for standard Fix descriptors.

	commit 6011bd0da24c100f86239ed826fa7b496bbdddf8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 9 16:12:40 2003 +0000

	    * Outline of the new scheme for derivate distribution.

	commit 2b95a9dc05d0a943859ba92bb301c294473758f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 9 15:02:03 2003 +0000

	    * When computing the set of paths referenced by an expression, also
	      include the paths of the subterms.

	commit 9a99dc736d814f41d2b3ceb92da2435ae2dd5632
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 20:26:22 2003 +0000

	    * Canonicalise paths so that Fix produces identical Nix
	      expressions for identical inputs.

	commit cab3f4977a412681a77767ec7307ee642b61332d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 19:58:41 2003 +0000

	    * A path canonicaliser that doesn't depend on the existence of paths
	      (i.e., it doesn't use realpath(3), which is broken in any case).
	      Therefore it doesn't resolve symlinks.

	commit 333f4963de6d174d852774a88ada852f77f57994
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 15:33:06 2003 +0000

	    * The output of a Derive() node is not a referenced path.

	commit 40274c1f4f763e634dd031f7a6b4ba8ce2de7a82
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 13:22:08 2003 +0000

	    * A command to query the paths referenced by an fstate expression.
	    * Use a temporary directory for build actions.

	commit a279137327ad5762bb26a23ce8ed7863812254ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 10:00:46 2003 +0000

	    * Get `--dump' and `--delete' to work again.

	commit 85a913a3e78e43f7f90ef46ac041350bb5d61d1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 09:59:00 2003 +0000

	    * Renamed `id' -> `name' to remove the implication of uniqueness.

	commit 0b38b43bab28dd733e057d42853d57e44ec9a7c9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 09:54:47 2003 +0000

	    * deletePath() now removes the path from the hash2paths mapping.

	commit ab644ad10b00a5fd23e8d8a705a7a8a8aaf53c57
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 09:53:46 2003 +0000

	    * BaseName() primitive for the generation of more sensible names
	      (especially in fetchurl.fix).

	commit a5a90f501e471383a8dfccfe8af3c804cefa77cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 08:35:06 2003 +0000

	    * Get rid of the `netsources' database.
	    * Rename the `refs' database to `hash2paths'.

	commit be96c2189ca017612277ab6301164a5e2facfca5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 7 09:29:40 2003 +0000

	    * `--realise' -> `--install'.

	commit 5895c160c466c0a97716ffdf5ef654eb1c3c6009
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 7 09:25:26 2003 +0000

	    * Make dbRefs a mapping from Hash to [Path].

	commit 609a224848dd08cea35a89b03b64274c82f0a2a7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 7 07:44:57 2003 +0000

	    * Fixed `make check' as well.

	commit 224c585aba5e450fa47e41c4cc19dac2d0c6fe2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 7 07:43:58 2003 +0000

	    * Refactoring on the file names.

	commit 7952a8053c474e771d6ee14e3ab6dc15c9ddd895
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 6 15:11:02 2003 +0000

	    * A utility `nix-hash' to compute Nix path hashes.

	commit bfa5d77211385cd8abe5d0833f84a8151ccab37d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 6 15:08:39 2003 +0000

	    * Bug fix: properly check result of open().

	commit 82e3d8fafe0ac08589349094e3ea11022d995959
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 6 14:20:47 2003 +0000

	    * Got Fix working again.

	commit f826e432aa442e569faaf3cb04d83bfa28bcf260
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 4 15:42:03 2003 +0000

	    * Refactoring: move initialisation and argument parsing into a shared
	      file.

	commit 01b34fe5843df9888737699ee9f9fe2f161a1fa3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 4 15:29:58 2003 +0000

	    * Cleanup.

	commit 207ff2caf0f48db0fb539e228ec5c3938a279f2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 4 12:18:06 2003 +0000

	    * Caching of expression successors.

	commit 40b5936691fe2448dea0080e2319cc340bc7c65c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 27 14:56:12 2003 +0000

	    * Realisation of Derive(...) expressions.

	commit 3da9687854e029e9df3b612fd592d2d5a622bb20
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 27 13:55:12 2003 +0000

	    * Realisation of File(...) expressions.

	commit bb03c45ca03e038c8b74fc1410f48d02ade4c59b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 27 13:41:42 2003 +0000

	    * Added the Boost format library which provides a safe printf
	      replacement.

	commit d4c3edfaba91a0e5e1e9528749e5b1e178511a6d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 27 09:55:31 2003 +0000

	    * Normalisation.

	commit 3ec525258258ea50a411eb6b7d3c6aa7ecac708b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 25 15:50:37 2003 +0000

	    * Improved syntax and semantics for Nix expressions.

	commit 2b07b0e7ebee69e6a64013dcdda363c393d3f4fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 25 14:58:56 2003 +0000

	    * Minor cleanups.

	commit 692b562342ac7ead43ef06497f6a8b4b6e724ae5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 23 14:40:49 2003 +0000

	    * `nix --delete' command.

	commit c0cbaef4bece0c2447828739dd9622c329948064
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 23 14:08:34 2003 +0000

	    * `nix --restore' command.

	commit 5f5cab0ac7c26783a4544feb31708d4f8e0f4a51
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 23 13:27:59 2003 +0000

	    * A function to restore from a Nix archive.
	    * addValue() can now import any dumpable FS object.

	commit 85effedca3e4cc3c10ccd835c9ea4fb712418cb9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 20 14:11:31 2003 +0000

	    * Flags to indicate how values are specified on the command line
	      (--hash, --file, --name).

	commit 5079ccb45537fe8de4b9579e274523734a3f634e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 20 10:53:04 2003 +0000

	    * Move most of Nix into a library (libnix.a).
	    * Run `test' on `make check'.

	commit 1849aa2a72d7f530e2c18d640528075bcdf8991c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 20 10:40:25 2003 +0000

	    * Refactoring: move dump function into archive.cc.

	commit 38e12df631cc45fda97942070d7ebea1bb9c7f2f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 14:34:43 2003 +0000

	    * `nix --dump' command.

	commit aeaffec7857301a6d20d7901041918484666d567
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 14:34:03 2003 +0000

	    * Dump symlinks.

	commit 94cf1f86bb5d8516583f0d39ad22dbc853019798
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 12:36:12 2003 +0000

	    * Lambdas, applications, substitutions.

	commit bc57eb3c8a54df819bad9c300ff5569762f15c28
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 12:35:32 2003 +0000

	    * Set CPLUS_INCLUDE_PATH as well as C_INCLUDE_PATH.  Otherwise g++
	      won't see header files under Nix control.

	commit fab7b128b9890cf563fa3cab5578757241902ac2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 08:07:28 2003 +0000

	    * Automake sucks.

	commit 34fcf5fa0c0cc02edc6820b99d98e7ae278c6c00
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 17 21:12:58 2003 +0000

	    * Started integrating the new evaluation model into Nix.
	    * Cleaned up command-line syntax.

	commit 7a96da3627220d11a985662446e8a75fb8cc2d40
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 17 15:47:25 2003 +0000

	    * Test for expression dereferencing.

	commit 6656993f83fa125e7b72de3962fbb5dd71cc31a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 17 15:45:43 2003 +0000

	    * Derefencing of hashed expressions.

	commit a7ab242fb42dad81dc1bccdca4b432587e0957dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 17 13:37:44 2003 +0000

	    * Simplify the evaluator.

	commit c739e2058560ad018dcf68e16fa683ca404d548c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 21:01:18 2003 +0000

	    * Argument processing.

	commit 727beb798a701ff546adc65030f1562b87283947
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 16:16:09 2003 +0000

	    * Canonicalization: when hashing directories, sort the directory
	      entries by name.

	commit 2f04e7102eaad3159073019af96e6e5c4f2c9bcf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 15:59:23 2003 +0000

	    * Path hashing.

	commit a09e66da5af348dc25e3b372ec9f518d3532f863
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 14:19:32 2003 +0000

	    * Description of path hashing algorithm.

	commit 822794001cb4260b8c04a7bd2d50d890edae709a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 13:33:38 2003 +0000

	    * Started implementing the new evaluation model.
	    * Lots of refactorings.
	    * Unit tests.

	commit b9f09b3268bf0c3d9ecd512dd3a0aa1247550cc2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 07:03:40 2003 +0000

	    * AST for Nix expressions.

	commit 21fe717ce2027187e553d1edec65ef68b5d3c702
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jun 15 13:41:32 2003 +0000

	    * Refactoring: hash class.

	commit f66055fa1ef3eb208666b5ace7b5ab16bf7e8980
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 20:53:36 2003 +0000

	    * Set umask to 0022 on startup.

	commit 5908663f4209eed632b3973c97b25ff5a3dd3b17
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 17:01:21 2003 +0000

	    * Send log output to stderr.

	commit d1f5fd7216066d4ed04df27546e3d3e0d362c71b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 15:21:52 2003 +0000

	    * Log the output of builders to $prefix/var/log/nix.

	commit 64582f54be099eb92a75ed301c72681afa4db741
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 15:18:30 2003 +0000

	    * Open the database read-only when enumerating tables.

	commit 383297e0e835b69e0f4d7c97a9b8d441c2872251
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 15:17:40 2003 +0000

	    * Don't set MANPATH.  It's not necessary.

	commit 84e235eae8581403716a87b37e9dc6210b8ad515
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 11:49:06 2003 +0000

	    * Set MANPATH and PKG_CONFIG_PATH.

	commit 5e01b220b363524e02ec07da3943e02042218167
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 27 11:58:14 2003 +0000

	    * Fix the rsync destination.

	commit 4d21cda0cd44db75f6b9f5942440a07303c06b4a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 27 09:55:47 2003 +0000

	    * Fix for big-endian platforms: check for endianness in MD5 computations.
	      This is done at runtime, which is inefficient, but I can't be bothered
	      to write an Autoconf test right now.

	commit 9efad7659568ad2eeee5e2cf9cf1df9322d9eb33
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 26 15:09:10 2003 +0000

	    * FreeBSD / ISO C++ compatibility fixes.

	commit d8bdf5b06e50ea4a618f2b69c4839f92086ebb29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 26 14:19:25 2003 +0000

	    * Removed some debug code that prevented packages from building.

	commit a9f2928ed6edb15faa1ad5fc563662a08a92ced1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 26 13:57:19 2003 +0000

	    * Moved the package descriptors and build scripts out of the Nix tree.

	commit 8b930a0c94ba9013d015c735cfc38c40b151f491
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 26 13:45:00 2003 +0000

	    * Some refactoring.

	commit f8d91f20e6c88510282263715a1b87c99afad5a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 26 09:44:18 2003 +0000

	    * Nix can now fetch prebuilts (and other files) from the network, iff
	      a mapping from the hash to a url has been registered through `nix
	      regurl'.

	    * Bug fix in nix: don't pollute stdout when running tar, it made
	      nix-switch barf.

	    * Bug fix in nix-push-prebuilts: don't create a subdirectory on the
	      target when rsync'ing.

	commit 13176d74cc522951e2c8ed6a878a04ddfce778ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 25 22:43:33 2003 +0000

	    * Updated Fix descriptors to reflect the new Fix abstract syntax.

	commit 7dd91d3779b4f806ac0085e0ccc60416d81c1148
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 25 22:42:19 2003 +0000

	    * Prebuilt package sharing.  We allow transparent binary deployment by
	      sharing package directories (i.e., the result of building a Nix
	      descriptor).

	      `nix-pull-prebuilts' obtains a list of all known prebuilts by
	      consulting the paths and URLs specified in
	      $prefix/etc/nix/prebuilts.conf.  The mappings ($pkghash,
	      $prebuilthash) and ($prebuilthash, $location) are registered with
	      Nix so that it can use the prebuilt with hash $prebuilthash when
	      installing a package with hash $pkghash by downloading and unpacking
	      $location.

	      `nix-push-prebuilts' creates prebuilts for all packages for which no
	      prebuilt is known to exist.  It can then optionally upload these
	      to the network through rsync.

	      `nix-[pull|push]-prebuilts' just provide a policy.  Nix provides the
	      mechanism through the `nix [export|regprebuilt|regurl]' commands.

	commit 0ef4b6d0f8dcaec093e3db366b6dfb6ba47f73a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 25 15:33:50 2003 +0000

	    * Cleaned up the semantics of Fix expressions.

	    * Conditionals and variables in Fix expressions.  This allows, e.g.,

	        Descr(
	        [ Bind("pkgId", "subversion-0.21.0")

	        , Bind("httpsClient", Bool(True))
	        , Bind("httpServer", Bool(True))

	        , Bind("ssl", If(Var("httpsClient"), Fix("./openssl-0.9.7b.fix"), ""))

	        , Bind("httpd", If(Var("httpServer"), Fix("./httpd-2.0.45.fix"), ""))
	        ...
	        ])

	      which introduces domain feature variables httpsClient and httpServer
	      (i.e., whether Subversion is built with https client and webdav
	      server support); the values of the variables influences package
	      dependencies and the build scripts.

	      The next step is to allow that packages can express constraints on
	      each other.  E.g., StrategoXT is dependent on an ATerm library with
	      the "gcc" variant enabled.  In fact, this may cause several
	      Nix instantiations to be created from a single Fix descriptor.  If
	      possible, Fix should try to find the least set of instantiations
	      that obeys the constraints.

	commit d6d930a975cf0bfacb8a3117752452b89921b6ee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 25 15:20:05 2003 +0000

	    * Bug fix: deleting the old links didn't work properly.

	commit fcc5ae151bb78006e7acc5ab8bf6b54692281777
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 25 15:01:15 2003 +0000

	    * Remove build directory from a package directory after building it.

	commit 76205df09cd6ac700f002f22e285440364d96ccd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 24 11:45:23 2003 +0000

	    * Removed old Nix descriptors.

	commit 243370bc52b6ecc706cd7ad3a3c8075f74ac1fc0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 24 11:43:11 2003 +0000

	    * nix-switch now removes the link to the previously activated system
	      package as a root of the garbage collector, unless `--keep' is
	      specified.

	commit 24b3d0759e864fdf92fee1085e234535311029ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 24 11:41:50 2003 +0000

	    * File removed.

	commit 9713e8577f752ef70c18a9cad62a4b0e88c769de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 24 11:41:24 2003 +0000

	    * getpkg, delpkg, and so on now accept multiple arguments.

	commit 49e0d743d7348ba15f6c8125138c4e17b271d8c3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 23 21:21:06 2003 +0000

	    * Fix descriptors for Pan and its dependencies.

	commit f546e0cda450642177da02895f39f34e3ce1a6ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 23 09:02:53 2003 +0000

	    * Fix descriptor for Subversion 0.21.0.

	commit 6faa154c89220792afbee534e4d7e26b6cba7e90
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 23 07:23:01 2003 +0000

	    * Add "... || exit 1" to every command to catch failure.

	commit e59c3246b96492b84c77aebe293ec68d96fe9305
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 23 07:21:57 2003 +0000

	    * Redirect stdout to stderr when executing the build script.

	commit f7526febe4e60e3da61664a5fb58ff19a5882ded
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 9 13:03:00 2003 +0000

	    * A garbage collector for installed packages.  nix-collect-garbage
	      doesn't actually delete any packages, it just prints their
	      descriptor hashes.  So we can do

	        nix info $(nix-collect-garbage)

	      to print out the ids of the packages that would be deleted, and

	        nix delpkg $(nix-collect-garbage)

	      to actually delete them.

	commit 30a6122f8061e8c3ac2d96078b75aafa63101f02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 9 12:46:44 2003 +0000

	    * When we activate a descriptor in nix-switch, remember its hash.
	      This allows us to find out all `live' packages on the system by
	      doing

	        nix closure $(cat /nix/var/nix/links/*.hash)

	      which will print out the activated configurations and all packages
	      referenced by them.  We could then garbage collect unused packages
	      by deleting the difference between `nix listinst' and the set
	      returned by `nix closure ...'.

	commit b762f4df7f6b8d0a4b306fc7e1c2633c4802d1c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 9 12:37:49 2003 +0000

	    * In `fix --instantiate', only print out the hashes of the Nix
	      descriptors generated out of Fix descriptors specified on the
	      command line.  This allows us to say:

	        nix-switch $(fix -i ./test/fixdescriptors/system.fix)

	commit aa8fda4b54fbd84b7bc6b11904c156367683e8f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 9 12:26:48 2003 +0000

	    * We no longer use nix-populate standalone, rather we use it as a
	      build action for `system' packages (like system.fix) that have
	      dependencies on all packages we want to activate.

	      So the command sequence to switch to a new activation configuration
	      of the system would be:

	        $ fix -i .../fixdescriptors/system.fix
	        ...
	        system.fix -> 89cf4713b37cc66989304abeb9ea189f

	        $ nix-switch 89cf4713b37cc66989304abeb9ea189f

	    * A nix-profile.sh script that can be included in .bashrc.

	commit f56b7312b273546871a1eca7d34c60474d3c4050
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 8 15:36:54 2003 +0000

	    * Descriptor importing in Fix.

	commit cc6eafb3d0a53c8bb02746411d3d41403ce9eb83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 8 14:05:15 2003 +0000

	    * FreeBSD / gcc 2.95 compatibility fixes.
	    * A script to generate prebuilt registration scripts.

	commit f7ef88df1fd6087deae02a53b8f18b64050f75db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 8 12:13:57 2003 +0000

	    * Added some installation instructions to the readme.

	commit 0d2b24cdd103f21861ad42fd6d98e5d1cb252646
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 8 12:00:51 2003 +0000

	    * `Fix' is a high-level descriptor instantiator for Nix.  It replaces
	      nix-instantiate.

	commit 814b256da43ebdad79fe9544a59f6ae680da7cb9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 6 22:19:26 2003 +0000

	    * Better installation: make directories, create database.
	    * Fixed the register script.

	commit 2eea8832f0bc5f15979b5f091c3ac5f04593f0ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 6 22:17:47 2003 +0000

	    * The latest version of Pan.

	commit 1447cf35bd633c365bb7584dedb41327951d0c07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 6 22:09:47 2003 +0000

	    * Delete source after building.

	commit 136c00e881dd290d470923b0ce7760de2df5e0ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 4 16:14:56 2003 +0000

	    * Autoconf / Automake configuration and building.

	commit ab723e341aab021624e93b7687c252acaeef9394
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 4 12:02:40 2003 +0000

	    * Minor refactoring: use iterators to process arguments.

	commit c68dca5dac87f710c880bcf78710a7be9609d29c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 2 15:34:44 2003 +0000

	    * Script to register pre-built packages.

	commit 5bc26fb73fe997b05c2e43593d17de102c4249b7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 2 15:34:05 2003 +0000

	    * Importing and exporting of pre-built packages.

	commit 383f9bb0f19f76fa4cdbdfb5327d82e77212c1b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 1 14:00:47 2003 +0000

	    * Use ATerms for Nix descriptors.

	commit ced20f187e36927adc88ab628b67838f51155244
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 31 14:28:15 2003 +0000

	    * Nix descriptor for Subversion.

	commit 31f177ef0a7463f59a28342032eb8948994ce1a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 28 16:27:23 2003 +0000

	    * Check for collissions.

	commit 278ea4097e4deca33da1a08d746e8d80a620ce95
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 28 10:33:34 2003 +0000

	    * Don't fork in `nix run'.

	commit f915f773495e9675a6cd514742666c8c12f005e6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 28 09:53:22 2003 +0000

	    * Allow arguments to be passed to programs in `nix run'.

	commit 0f40a560cab23f70881e5af405ea112a869dc39a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 25 16:36:25 2003 +0000

	    * Added a script nix-activate which builds a list of "activated"
	      packages (i.e., the packages that should appear in the user's $PATH,
	      and so on).  Based on this list, the script nix-populate creates a
	      hierarchy of symlinks to the relevant files in those packages (e.g.,
	      for pkg/bin and pkg/lib).

	      A nice property of nix-populate is that on each run it creates a
	      *new* tree, rather than updating the old one.  It then atomically
	      switches over to the new tree.  This allows atomic upgrades or
	      rollbacks on the set of activated packages.

	commit 3f1a1457e9ad91f93151200fe43c7c33ea95417b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 25 11:39:51 2003 +0000

	    * Integrate hash into instantiated descriptor file names.
	    * Use MD5::Digest.

	commit 73c53935d00660301e9408beabf1c80d6ef48610
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 24 17:49:56 2003 +0000

	    * For efficiency: md5 integrated into nix.
	    * Command `nix ensure' which is like `nix getpkg' except that if the
	      has refers to a run action it will just ensure that the imports are
	      there.
	    * Command `nix closure' to print out the closure of the set of
	      descriptors under the import relation, starting at a set of roots.
	      This can be used for garbage collection (e.g., given a list of
	      `activated' packages, we can delete all packages not reachable from
	      those).
	    * Command `nix graph' to print out a Dot graph of the dependency
	      graph.
	    * `nix-addroot' adds a root for the (unimplemented) garbage collector.

	commit eeab86e0acbb32cdb360443dd6efe7031fed7295
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 24 16:43:52 2003 +0000

	    * Typo fix.

	commit 2dc84e556911407fe75e1ceb6a9fe34ed21725db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 24 12:49:40 2003 +0000

	    * Descriptors now have a "system" field specifying the platform that
	      the build or run action should be perfomed on.  This ensures that
	      descriptors have different hashes on different platforms.

	commit 9d2f128252ea9dc9b706bec2bfdaa35600190385
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 24 11:50:20 2003 +0000

	    * Refactoring.

	commit 8d682ba551c44daecd427999114b9c520eef0296
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 23 23:28:28 2003 +0000

	    * A descriptor for running the Pan newsreader.
	    * Added descriptors for gtkspell and its support package pspell.
	      Gtkspell is an optional dependency of Pan, so we should add the
	      ability to nix-instantiate to instantiate variants of a package
	      based on a selection of features.

	commit 20d165c34467338f07c4808783cd50318c38a47b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 23 23:24:09 2003 +0000

	    * A command to run programs in Nix packages, that is, to execute a run
	      action.  Run actions are described by uniquely hashed descriptors,
	      just like build actions.  Therefore run actions can have
	      dependencies, but these need not be the same as the build time
	      dependencies (e.g., at runtime we can link against a different
	      version of a dynamic library).  Example:

	        nix run 31d6bf4c171282367065e0deecd7c579

	      will run the Pan 0.13.91 newsreader with gtkspell support.

	commit 800d8e950f13b9cb9099c5d1270a4385d5ae55da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 15:58:40 2003 +0000

	    * Added a command to list installed packages.

	commit 2e59698b78d3fcba6908d8478c15943834d9635f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 15:53:35 2003 +0000

	    * Added a command to verify the consistency of the database.

	commit fa51d6fcd9ee7efc897e8e07a2db7a41f974d6a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 14:11:44 2003 +0000

	    * Forgot to commit this one.

	commit e582ee67cd682c13667daccf33e8071189ef946c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 14:10:06 2003 +0000

	    * Fetch sources from the network.

	commit 88d257b17f0f668798568d68e2d2063f31fe8a2f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 09:58:01 2003 +0000

	    * Renamed dist -> build.

	commit 4c43711810c73a3899066b9401a9517f53e1b0f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 22:25:01 2003 +0000

	    * Descriptor templates for the Pan newsreader and all its
	      dependencies.

	commit cadc3852e44bc625872ef18f4407bff6797ac5dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 22:23:48 2003 +0000

	    * nix-instantiate now instantiantes the closure of the set of
	      descriptor templates under the import relation.  I.e., we can now
	      say:

	        nix-instantiate outdir foo.nix

	      which will create descriptors for foo.nix and all imported packages
	      in outdir/.

	commit f7a98e081dac20858cda21a6190f8d0222e59728
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 16:53:00 2003 +0000

	    * Various updates.

	commit b3594e9eaf2b80c7c585035c5538ee59c608688f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 16:52:30 2003 +0000

	    * A script to instantiate package descriptors from templates.

	commit 8999f923ea1a459b3e4d404745b001323647711a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 14 16:43:14 2003 +0000

	    * Improved Nix.  Resources (package descriptors and other source
	      files) are now referenced using their cryptographic hashes.

	      This ensures that if two package descriptors have the same contents,
	      then they describe the same package.  This property is not as
	      trivial as it sounds: generally import relations cause this property
	      not to hold w.r.t. temporality.  But since imports also use hashes
	      to reference other packages, equality follows by induction.

	commit 18ebf518de325c7059648bfd6df464d8d5204bb3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 13 16:28:32 2003 +0000

	    * Converted to C++.

	commit 75d788b0f24e8de033a22c0869032549d602d4f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 13 14:24:49 2003 +0000

	    * Initial version of nix.

	commit 841fcbd04755c7a2865c51c1e2d3b045976b7452
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 12 13:32:24 2003 +0000

	    * And a trunk to go along with that.

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

	build: Bump version number.
	* configure.ac: Change version to 0.8.3.

	gexp: Add 'plain-file'.
	* guix/gexp.scm (<plain-file>): New type.
	  (plain-file, plain-file-compiler): New procedures.
	* tests/gexp.scm ("one plain file"): New test.
	* doc/guix.texi (G-Expressions): Document 'plain-file'.

	gexp: Export <local-file> accessors.
	* guix/gexp.scm (local-file-file, local-file-name, local-file-recursive?):
	  Export.

	gnu: guile-reader: Update to 0.6.1.
	* gnu/packages/guile.scm (guile-reader)[source, version]: Update to 0.6.1.
	  [arguments]: Remove #:locale argument.

2015-06-03  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add Data::Stag.
	* gnu/packages/perl.scm (perl-data-stag): New variable.

	gnu: Add IO::String.
	* gnu/packages/perl.scm (perl-io-string): New variable.

2015-06-03  David Thompson  <davet@gnu.org>

	Ignore man page build artifacts.

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

	gnu: gnupg-2.0: Update to 2.0.28.
	* gnu/packages/gnupg.scm (gnupg-2.0): Update to 2.0.28.

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

	gnu-maintenance: latest-release: Honor releases that are not in subdirs.
	Reported by Mark H Weaver.

	* guix/gnu-maintenance.scm (latest-release): Add 'result' parameter to
	  'loop'.  When entering a sub-directory, use the current directory's latest
	  release as 'result'.  This fixes the code for 'gnu-pw-mgr' and 'sharutils'.

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

	gnu: gnu-pw-mgr: Update to 1.4.
	* gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Update to 1.4.  Use .xz tarball.
	  Move 'which' to native-inputs.  Add 'autogen' to native-inputs.

	gnu: sharutils: Update to 4.15.2.
	* gnu/packages/compression.scm (sharutils): Update to 4.15.2.

2015-06-02  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

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

	gnu: ncbi-vdb: Use "i386" instead of "i686" in directory name.
	* gnu/packages/bioinformatics.scm (ncbi-vdb)[arguments]: Copy libraries from
	  "linux/gcc/i386" directory instead of "linux/gcc/i686" when building on
	  i686.

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

	build: Build and install manual pages.
	* configure.ac: Use 'AM_MISSING_PROG' for 'help2man'.
	* doc.am (subcommand-manual-target, SUBCOMMANDS, dist_man1_MANS): New
	  variables.
	  (doc/guix-$(1).1, doc/guix.1): New targets.

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

	gnu: flex: Fix native-inputs field.
	This is a followup to ba42199eb3 and dedaf76f66.

	* gnu/packages/flex.scm (flex)[native-inputs]: Add another layer of
	  parentheses.

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

	gnu: libxml2: Build python bindings separately.
	* gnu/packages/xml.scm (libxml2)[native-inputs]: Remove python.
	  [arguments]: Remove.
	  (python-libxml2, python2-libxml2): New variables.

	gnu: libxml2: Update to 2.9.2.
	* gnu/packages/xml.scm (libxml2): Update to 2.9.2.

2015-05-31  Christopher Allan Webber  <cwebber@dustycloud.org>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: Add guile-gdbm-ffi.
	* gnu/packages/guile.scm (guile-gdbm-ffi): New variable.

2015-05-31  Andreas Enge  <andreas@enge.fr>

	gnu: avidemux: Add output lib dir to rpath.
	* gnu/packages/video.scm (avidemux): Set -DCMAKE_SHARED_LINKER_FLAGS
	    in the call to cmake.

2015-05-31  Ludovic Courtès  <ludo@gnu.org>

	lint: source: Warn only when all the URIs are unreachable.
	* guix/scripts/lint.scm (call-with-accumulated-warnings): New procedure.
	  (with-accumulated-warnings): New macro.
	  (check-source): Add 'try-uris' and use it.  Emit warnings only upon
	  failure.

	lint: 'validate-uri' really returns #f on failure.
	* guix/scripts/lint.scm (validate-uri): Always return #f on failure.

2015-05-31  Ludovic Courtès  <ludo@gnu.org>

	base32: Use a custom error condition instead of 'misc-error'.
	Suggested by Christopher Allan Webber <cwebber@dustycloud.org>.

	* guix/base32.scm (&invalid-base32-character): New error condition.
	  (make-base32-string->bytevector): Use it instead of 'error'.
	* tests/base32.scm ("&invalid-base32-character"): New test.

2015-05-31  Ludovic Courtès  <ludo@gnu.org>

	ui: Do not call 'display-error' for SRFI-34 exceptions.
	* guix/ui.scm (report-load-error, warn-about-load-error, read/eval): Add
	  clause for SRFI-34 exceptions.

2015-05-31  Ludovic Courtès  <ludo@gnu.org>

	gnu: tcsh: Add alternate URL for old tarballs.
	Reported by Alexander Vorobiev <alexander.vorobiev@gmail.com>.

	* gnu/packages/tcsh.scm (tcsh)[source]: Add alternate URL.

2015-05-30  David Thompson  <davet@gnu.org>

	gnu: Add ruby-useragent.
	* gnu/packages/ruby.scm (ruby-useragent): New variable.

	gnu: Add bundler.
	* gnu/packages/ruby.scm (bundler): New variable.

	gnu: Add ruby-rspec.
	* gnu/packages/ruby.scm (ruby-rspec): New variable.

	gnu: Add ruby-rspec-mocks.
	* gnu/packages/ruby.scm (ruby-rspec-mocks): New variable.

	gnu: Add ruby-rspec-expectations.
	* gnu/packages/ruby.scm (ruby-diff-lcs-for-rspec, ruby-rspec-expectations):
	  New variables.

	gnu: Add ruby-rspec-core.
	* gnu/packages/ruby.scm (ruby-rspec-support, ruby-rspec-core): New variables.

2015-05-29  Ludovic Courtès  <ludo@gnu.org>

	gnu: openldap: Update list of source URLs.
	* gnu/packages/openldap.scm (openldap)[source]: Remove former URI (domain name
	  vanished) and add an up-to-date list of URLs.  Reported by Alexander
	  Vorobiev <alexander.vorobiev@gmail.com>.

2015-05-29  Andreas Enge  <andreas@enge.fr>

	gnu: calibre: Update to 2.29.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.29.0. Add input openssl.

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

	gnu: nss: Update to 3.19.1.
	* gnu/packages/gnuzilla.scm (nss): Update to 3.19.1.
	  [properties]: Set the timeout to 40 hours.

	hydra: Support per-package absolute build timeouts.
	* build-aux/hydra/gnu-system.scm (package->alist): Use the 'timeout' value in
	  the package 'properties' alist, if present.

2015-05-29  Alex Kost  <alezost@gmail.com>

	emacs: Report about "search paths" after operation.
	* guix/scripts/package.scm: Export 'display-search-paths'.
	* emacs/guix-main.scm (process-package-actions): Use it.

	emacs: Add 'guix-apply-manifest'.
	* emacs/guix-base.el (guix-apply-manifest): New command.
	  Bind it to "M" key.
	* doc/emacs.texi (Emacs General info): Document it.

	emacs: Remove "M" key binding for marking all lines.
	* emacs/guix-list.el: Split 'guix-list-mark' into internal and
	  interactive functions.  Remove "M" key binding, use "C-u m" instead.
	  (guix-list--mark): New function.  Use it in other marking functions.
	  (guix-list-mark): Mark all lines with a prefix argument.
	* doc/emacs.texi (Emacs List buffer): Document changes in the key
	  bindings.

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

	python-pillow: Update to 2.8.1, remove duplicated ones.
	* gnu/packages/python.scm (python-pillow): Update to 2.8.1.
	  [inputs]: Add freetype and libwebp.
	  (python-pillow, python2-pillow): Remove duplicated variables.

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

	gnu: webkitgtk: Update to 2.8.3.
	The version (2.8.9) mentioned in the previous commit (e7e8ea0) message
	was wrong.  Should be '2.4.9'.

	* gnu/packages/webkit.scm (webkitgtk): Update to 2.8.3.

2015-05-29  宋文武  <iyzsong@gmail.com>
	    Feng Shu  <tumashu@163.com>

	gnu: webkitgtk-2.4: Update to 2.8.9, build with gtk3.
	* gnu/packages/webkit.scm (webkitgtk-2.4): Update to 2.8.9, build with gtk3.
	  Move flex and which to 'native-inputs'.  Remove #:configure-flags.
	  (webkitgtk/gtk+-2): New variable.
	* gnu/packages/gnucash.scm (gnucash): Use webkitgtk/gtk+-2.
	* gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.

2015-05-29  David Thompson  <davet@gnu.org>

	guix environment: Add --ad-hoc option.
	* guix/scripts/environment.scm (%options): Add "ad-hoc" option.
	  (show-help): Display help for "--ad-hoc".
	  (packages+propagated-inputs): New procedure.
	  (guix-environment): Create ad hoc environment when asked.
	* doc/guix.texi ("invoking guix environment"): Document it.

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

	profiles: Deal with non-directory items in share/icons.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/profiles.scm (gtk-icon-themes)[build]: Check whether DIR is a directory
	  before calling 'ensure-writable-directory'.

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

	profiles: Export 'ensure-writable-directory' and use it.
	* guix/build/profiles.scm (ensure-writable-directory): Export.
	* guix/profiles.scm (gtk-icon-themes)[build]: Remove '@@' form and use (guix
	  build profiles).

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

	profiles: Don't assume all the inputs are of a package are packages.
	Reported by Ricardo Wurmus.

	* guix/profiles.scm (gtk-icon-themes)[entry-lookup-gtk+](find-among-packages):
	  Rename to...
	  (find-among-inputs): ... this.  Check whether INPUT is a package before
	  calling 'package-name'.  Fixes a regression introduced in b04af0e.

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

	doc: Clarify that --disable-chroot is needed for non-root users.
	* doc/guix.texi (Build Environment Setup, Invoking guix-daemon): Mention
	  --disable-chroot as needed for non-root users.

	install: Use the actual store name when building the tarball.
	* gnu/system/install.scm (self-contained-tarball): Use (%store-directory)
	  instead of "/gnu".

2015-05-27  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: chibi-scheme: Update to 0.7.3.
	* gnu/packages/scheme.scm (chibi-scheme): Update to 0.7.3.  Change URL.

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

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

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

	profiles: Use 'derivation?' to filter hooks.
	Fixes a regression introduced in 07eaecfa.

	* guix/profiles.scm (profile-derivation): Use 'derivation?' instead of
	  'gexp?' to filter hooks.

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

	profiles: Add gtk-icon-themes hook.
	* guix/profiles.scm (gtk-icon-themes): New function.
	  (%default-profile-hooks): Add it.

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

	gnu: shogun: Remove non-free source files.
	* gnu/packages/bioinformatics.scm (shogun)[source]: Add snippet to remove
	  non-free sources.

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

	monads: 'foldm', 'mapm', and 'anym' now take a list of regular values.
	* guix/monads.scm (foldm, mapm, anym): Change to take a list of regular
	  values as is customary.
	* tests/monads.scm ("mapm", "anym"): Adjust accordingly.

	tests: Make sure %BOOTSTRAP-GUILE is available when we need it.
	* tests/derivations.scm ("derivation-prerequisites and
	  valid-derivation-input?"): Renamed from "derivation-prerequisites and
	  derivation-input-is-valid?".  Build %BOOTSTRAP-GUILE.  This fixes a
	  regression introduced in cdb5b07 when running the whole test suite.

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

	profiles: Hooks always return a monadic value.
	Suggested by 宋文武 <iyzsong@gmail.com>.

	* guix/profiles.scm (ghc-package-cache-file): Return a monadic #f, not just
	  #f, when MANIFEST contains no GHC package.
	  (profile-derivation): Do not filter based on the return value of HOOK;
	  instead filter based on the value of items in EXTRAS.

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

	ui: Improve error reporting for 'read/eval'.
	The effect is visible on commands like:

	  guix build -e '(+ 2 "foo")'
	  guix build -e '()'

	* guix/ui.scm (read/eval): Change handler to properly report syntax errors and
	  use 'display-error' for other errors.

2015-05-26  Cyrill Schenkel  <cyrill.schenkel@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gc: ignore trailing slash or subdirectories for `guix gc -d'
	Fixes <http://bugs.gnu.org/19757>.

	* guix/scripts/gc.scm (guix-gc): Convert paths to direct store paths.
	* guix/store.scm (direct-store-path): Get rid of subdirectories in store path.
	* tests/guix-gc.sh: New tests.

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

	gnu: Add wxmaxima.
	* gnu/packages/maths.scm (wxmaxima): New variable.

	gnu: maxima: Update to 5.36.1.
	* gnu/packages/patches/maxima-defsystem-mkdir.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/maths.scm (maxima): Update to 5.36.1.  Add patch.

	gnu: imagemagick: Update to 6.9.1-3.
	* gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.1-3.

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

	Merge branch 'gtk-rebuild'

2015-05-25  Ludovic Courtès  <ludo@gnu.org>

	Augment '.gitignore'.

	guix system: Add '--on-error'.
	* guix/ui.scm (load*): Add #:on-error parameter.
	  [tag, error-string]: New variables.
	  Wrap 'load' call in 'call-with-prompt'.  Pass TAG to 'make-stack'.  Honor
	  ON-ERROR after 'report-load-error' call.
	  (report-load-error): Change to not exit on error.  Make private.
	* guix/scripts/system.scm (show-help, %options): Add --on-error.
	  (guix-system): Use 'load*' and pass it #:on-error.

	guix package: --manifest DTRT when combined with --dry-run.
	* guix/scripts/package.scm (guix-package)[process-actions]: Process 'manifest
	  action regardless of whether 'dry-run? is set.  Adjust the message
	  accordingly.
	* tests/guix-package.sh: Add error-reporting test.

2015-05-25  Ludovic Courtès  <ludo@gnu.org>

	ui: Auto-compile user code, and improve error reporting.
	Reported by Christian Grothoff.

	* guix/ui.scm (load*): Add 'frame-with-source'.  Set
	  %load-should-auto-compile.  Change error handle to just (exit 1).  Add
	  pre-unwind handler to capture the stack and call 'report-load-error'.
	  (report-load-error): Add optional 'frame' parameter and pass it to
	  'display-error'.
	* tests/guix-system.sh: Add "unbound variable" test.

2015-05-25  Ludovic Courtès  <ludo@gnu.org>

	doc: Fix inaccurate wording in "operating-system Reference".
	* doc/guix.texi (operating-system Reference): Add missing "kernel".

	system: Define '%base-user-accounts'.
	* gnu/system/shadow.scm (%base-user-accounts): New variable.
	* gnu/system.scm (<operating-system>)[users]: Use it as the default value.
	* gnu/system/examples/bare-bones.tmpl (users): Use it.
	* gnu/system/examples/desktop.tmpl (users): Likewise.
	* doc/guix.texi (operating-system Reference, User Accounts): Adjust
	  accordingly.

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

	gnu: Add xmlsec.
	* gnu/packages/xml.scm (xmlsec): New variable.

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

	system: Make sure user accounts refer to existing groups.
	Fixes <http://bugs.gnu.org/20646>.
	Reported by David Thompson <davet@gnu.org>.

	* gnu/system/shadow.scm (assert-valid-users/groups): New procedure
	* gnu/system.scm (operating-system-activation-script): Use it.
	* tests/guix-system.sh (make_user_config): New function.
	  Add 3 tests using it.
	* po/guix/POTFILES.in: Add gnu/system/shadow.scm.

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

	ui: Make 'symlink' replacement more future-proof.
	* guix/ui.scm (symlink): Change next-to-last 'throw' argument to explicitly
	  ignore ARGS; change last argument to (list errno).

	ui: Add 'copy-file' replacement with better error reporting.
	* guix/ui.scm (copy-file): New procedure.

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

	guix system: init: Copy the closure of 'grub.cfg', not that of the system.
	Fixes <http://bugs.gnu.org/20591>.
	Reported by Daniel Pimentel <d4n1@openmailbox.org>.

	* guix/scripts/system.scm (install): Copy the closure of GRUB.CFG rather than
	  that of OS-DIR.

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

	guix system: Always add zero previous entries in grub.cfg for 'init'.
	* guix/scripts/system.scm (grub.cfg): Remove.
	  (perform-action): Call 'operating-system-grub.cfg' with the empty list as
	  the 2nd argument when ACTION is 'init.

2015-05-24  Ricardo Wurmus  <rekado@elephly.net>

	gnu: seahorse: Add SSH support.
	* gnu/packages/gnome.scm (seahorse)[inputs]: Add "openssh".

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

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

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

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

	Merge branch 'master' into gtk-rebuild

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

	guix system: init: Make sure the target is root-owned.
	Suggested by Mark H Weaver <mhw@netris.org>.

	* guix/scripts/system.scm (install): Add 'chown' and 'chmod' calls for TARGET
	  when running as root, and warn otherwise.

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

	gnu: linux-boot: Remove outdated and misleading comment.
	* gnu/build/linux-boot.scm (boot-system): Remove outdated comment.

2015-05-23  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: base: Fix a bug that occurs in non-Linux systems.
	* gnu/packages/base.scm (tar): Apply patch.
	* gnu/packages/patches/tar-d_ino_in_dirent-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

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

	gnu: bluez: Install the library and header files.
	* gnu/packages/linux.scm (bluez)[arguments]: Add --enable-library to
	  #:configure-flags.

	gnu: dbus-glib: Propagate inputs dbus and glib.
	* gnu/packages/glib.scm (dbus-glib): Propagate inputs dbus and glib.
	* gnu/packages/audio.scm (patchage),
	  gnu/packages/gnuzilla.scm (icecat),
	  gnu/packages/python.scm (python-dbus): Drop inputs dbus and glib.
	* gnu/packages/gnome.scm (colord, gconf, gnome-vfs, upower),
	  gnu/packages/mail.scm (claws-mail),
	  gnu/packages/messaging.scm (hexchat),
	  gnu/packages/wicd.scm (wicd): Drop input dbus.

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

	doc: Add "Running Guix Before It Is Installed".
	* doc/guix.texi (Running Guix Before It Is Installed): New node.
	  (Packaging Guidelines): Refer to it.

	doc: Update detailed node list.
	* doc/guix.texi (Top): Add "package Reference" and "origin Reference" in
	  detailed node list.

	doc: Change "GSD" to "GuixSD".
	* doc/emacs.texi (Emacs Initial Setup): Change "GSD" to "GuixSD".

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

	gnu: gnutls: Update to 3.4.1.
	* gnu/packages/patches/gnutls-fix-duplicate-manpages.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/gnutls.scm (gnutls): Update to 3.4.1.  Remove patch.

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

	gnu: librsvg: Update to 2.40.9.
	* gnu/packages/gnome.scm (librsvg): Update to 2.40.9.

	gnu: Add adwaita-icon-theme.
	* gnu/packages/gnome.scm (adwaita-icon-theme): New variable.

	gnu: gtk+: Add SVG support to 'gtk-encode-symbolic-svg'.
	* gnu/packages/gtk.scm (gtk+)[inputs]: Add librsvg.
	  [arguments]: Add 'wrap-gtk-encode-symbolic-svg' phase.

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

	gnu: gnutls: Update to 3.4.1.
	* gnu/packages/patches/gnutls-fix-duplicate-manpages.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/gnutls.scm (gnutls): Update to 3.4.1.  Remove patch.

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

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

	gnu: gtk+-2: Update to 2.24.28.
	* gnu/packages/gtk.scm (gtk+-2): Update to 2.24.28.

	gnu: harfbuzz: Enable GObject integration.
	* gnu/packages/gtk.scm (harfbuzz): Add glib to propagated-inputs.
	  [native-inputs]: Add gobject-introspection.
	  [arguments]<#:configure-flags>: Add "--with-gobject".

	gnu: harfbuzz: Update to 0.9.40.
	* gnu/packages/gtk.scm (harfbuzz): Update to 0.9.40.

	Merge branch 'master' into gtk-rebuild
	Conflicts:
		gnu/packages/gtk.scm

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

	gnu: postgresql: Update to 9.3.7.
	* gnu/packages/databases.scm (postgresql): Update to 9.3.7.

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

	doc: Clarify the module file name convention.
	* doc/guix.texi (Package Modules): Clarify the footnote about the module file
	  names convention.  Tweak the wording.

2015-05-22  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

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

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

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

	gnu: Add rsem.
	* gnu/packages/bioinformatics.scm (rsem): New variable.
	* gnu/packages/patches/rsem-makefile.patch: New file.

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

	doc: More cross-references.
	* doc/guix.texi (Invoking guix package): Add xref to "package Reference".
	  (package Reference): Add xref to "Invoking guix package".
	  Expound 'native-inputs' example, and add xref to "Invoking guix lint".

	doc: Add a cross-reference to "origin Reference".
	* doc/guix.texi (Defining Packages): Add xref to "origin Reference".

	doc: Make '--manifest' more visible.
	* doc/guix.texi (Invoking guix package): Mention the declarative approach and
	  --manifest in the intro.  And an anchor for --manifest.  Explain why/how it
	  can be used.  Tweak wording.

	gnu: guix: Update development snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to c2ee19e.

	services: swap: Use 'restart-on-EINTR'.
	* gnu/services/base.scm (swap-service)[start, stop]: Use 'restart-on-EINTR'.
	* guix/build/syscalls.scm (swapoff): Fix typo in 'throw' arguments.

	syscalls: Add 'restart-on-EINTR'.
	* guix/build/syscalls.scm (call-with-restart-on-EINTR): New procedure.
	  (restart-on-EINTR): New macro.

2015-05-22  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

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

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

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

	gnu: fuse: Add fix for CVE-2015-3202.
	* gnu/packages/patches/fuse-CVE-2015-3202.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/linux.scm (fuse): Add patch.

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

	services: xorg: Add xf86-input-libinput to the server's module path.
	* gnu/services/xorg.scm (xorg-configuration-file): Add XF86-INPUT-LIBINPUT.

	services: xorg: Assume STARTX is a regular value.
	* gnu/services/xorg.scm (slim-service): Expect STARTX to be a regular value,
	  not a monadic value.

	services: xorg: Allow extra config text to be added verbatim.
	* gnu/services/xorg.scm (xorg-configuration-file): Add #:extra-config and
	  honor it.
	* doc/guix.texi (X Window): Adjust accordingly.

	services: xorg: Make 'xorg-configuration-file' public.
	* gnu/services/xorg.scm (xorg-configuration-file): New procedure, with code
	  formerly in 'xorg-start-command'.
	  (xorg-start-command): Remove #:drivers and #:resolutions; add
	  #:configuration-file; use it as well as 'xorg-configuration-file'.

	guix package: Adjust --help message.
	* guix/scripts/package.scm (show-help): Add KIND parameter for
	  --search-paths as a followup to dbc31ab.

2015-05-21  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: flex: Add missing quasiquote.
	* gnu/packages/flex.scm (flex): Add missing quasiquote at native-inputs.

	gnu: flex: Add m4 as a native input.
	* gnu/packages/flex (flex): Add m4 as a native input.

	gnu: bison: Add m4 as a native input.
	* gnu/packages/bison (bison): Add m4 as a native input.

2015-05-21  David Thompson  <dthompson2@worcester.edu>

	scripts: Move 'set-build-options-from-command-line*' to (guix scripts build) module.
	* guix/scripts/build.scm (set-build-options-from-command-line*): New
	  procedure.
	* guix/scripts/environment.scm (set-build-options-from-command-line*): Delete.

	ui: Deduplicate 'show-what-to-build*'.
	* guix/ui.scm (show-what-to-build*): New procedure.
	* guix/scripts/environment.scm (show-what-to-build*): Delete.
	* guix/scripts/system.scm (show-what-to-build*): Likewise.
	* build-aux/make-binary-tarball.scm (show-what-to-build*): Likewise.

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

	packages: Use packages from '%final-inputs' as the default patch inputs.
	Reported by Manolis Ragkousis <manolis837@gmail.com>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-05/msg00059.html>.

	* guix/packages.scm (%standard-patch-inputs): Add 'canonical', and use
	  it in 'ref'.

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

	gnu: Add fizmo.
	* gnu/packages/games.scm (fizmo): New variable.

2015-05-21  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: r: Apply patch to fix linking against R.
	* gnu/packages/patches/r-fix-15899.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/statistics.scm (r)[source]: Use it.

2015-05-21  Paul van der Walt  <paul@denknerd.org>

	gnu: zathura: Update to 0.3.3.
	* gnu/packages/pdf.scm (zathura): Update to 0.3.3.

	gnu: girara: Update to 0.2.4.
	* gnu/packages/gtk.scm (girara): Update to 0.2.4.

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

	gnu: gconf: Propagate input glib.
	* gnu/packages/gnome.scm (gconf): Propagate input glib.
	  (gnome-vfs): Drop input glib.
	  (libgnome): Drop propagated input glib.
	* gnu/packages/ibus.scm (ibus): Drop input glib.

	gnu: Add lpsolve.
	* gnu/packages/maths.scm (lpsolve): New variable.

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

	gnu: bitlbee: Update to 3.4.
	* gnu/packages/patches/bitlbee-configure-doc-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/messaging.scm (bitlbee): Update to 3.4.  Add patch.
	  [inputs]: Remove 'zlib'.

	Revert "gnu: mozjs: Mark as unsupported on mips64el-linux."
	This reverts commit 4bfeb0ca74fca75febe62b8e059b0c5a6ddd622f.

	Revert "doc: Suggest how to preserve /var and /root owner and permissions."
	This reverts commit 8c3a5d7059a24e9c6d7bf14be296169cdcf06ad6, which is no
	longer needed due to commit b2a5fa594e66b9d929df11fc7a38e4b367a00a5e.

	install: Omit /, /root, and /var from binary tarball.
	* gnu/system/install.scm (self-contained-tarball): Pass
	  "./root/.guix-profile", "./var/guix", and "./gnu" to 'tar' command instead
	  of ".".

2015-05-20  David Thompson  <dthompson2@worcester.edu>

	package: Add --manifest option.
	* guix/scripts/package.scm (show-help): Add help text.
	  (%options): Add manifest option.
	  (guix-package): Add manifest option handler.
	* doc/guix.texi ("Invoking guix package"): Document it.
	* tests/guix-package.sh: Add test.

	profiles: Add 'packages->manifest' procedure.
	* guix/profiles.scm (packages->manifest): New procedure.

	ui: Factorize user-provided Scheme file loading.
	* guix/ui.scm (make-user-module, load*): New procedures.
	* guix/scripts/system.scm (%user-module): Define in terms of
	  'make-user-module'.
	  (read-operating-system): Define in terms of load*'.

	gnu: Add sfxr.
	* gnu/packages/game-development.scm (sfxr): New variable.

2015-05-20  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: openblas: Disable DYNAMIC_ARCH on MIPS.
	* gnu/packages/maths.scm (openblas)[arguments]: Do not pass DYNAMIC_ARCH when
	  building for MIPS.  Also make non-substitutable for MIPS.

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

	daemon: Correctly print substituter's stderr.
	* nix/libstore/local-store.cc (LocalStore::getLineFromSubstituter): Reinstate
	  commit 9ba0b8d.  Fixes a regression introduced in 2bb0490.

	ftp-client: Throw when log-in fails.
	* guix/ftp-client.scm (ftp-open): When '%ftp-listen' returns something
	  different from 220, throw instead of writing an error message.

	guix package: Add optional argument to --search-paths.
	* guix/scripts/package.scm (search-path-environment-variables): Add #:kind
	  parameter.  Pass it to 'environment-variable-definition'.
	  (display-search-paths): Add #:kind parameter and pass it to
	  'search-path-environment-variables'.
	  (%options): Add an optional parameter for "--search-paths".
	  (guix-package)[process-query]: Handle it.
	* tests/guix-package-net.sh: Adjust existing test.
	* tests/guix-package.sh: Adjust existing tests and add new test.
	* doc/guix.texi (Invoking guix package): Document it.

	guix package: --search-paths mentions $PATH.
	* guix/scripts/package.scm (search-path-environment-variables): Add $PATH to
	  SEARCH-PATHS.

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

	gnu: feh: Update to 2.13.
	* gnu/packages/feh.scm (feh): Update to 2.13.

2015-05-20  Alexander Shendi  <Alexander.Shendi@web.de>

	gnu: mit-scheme: Add libx11 to inputs.
	* gnu/packages/scheme.scm (mit-scheme)[inputs]: Add libx11.

2015-05-19  Christopher Allan Webber  <cwebber@dustycloud.org>

	gnu: Add guile-emacs and guile-for-guile-emacs.
	* gnu/packages/guile.scm (guile-for-guile-emacs): New variable.
	* gnu/packages/emacs.scm (guile-emacs): New variable.

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

	gnu: xorriso: Update to 1.4.0.
	* gnu/packages/cdrom.scm (xorriso): Update to 1.4.0.

2015-05-19  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	doc: Add "package Reference" and "origin Reference" sections.
	* doc/guix.texi (Defining Packages): Link to "package Reference".  Add menu.
	(package Reference, origin Reference): New subsections.

2015-05-19  Eric Bavier  <bavier@member.fsf.org>

	gnu: fltk: Use system zlib, libjpeg, and libpng.
	* gnu/packages/fltk.scm (fltk)[inputs]: Add libjpeg, libpng, and zlib.
	  [arguments]: Add 'patch-config' phase.

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

	gnu: Add xfce4-clipman-plugin.
	* gnu/packages/xfce.scm (xfce4-clipman-plugin): New variable.
	  (xfce)[propagated-inputs]: Add it.

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

	guix gc: Add '--optimize'.
	* guix/scripts/gc.scm (show-help, %options): Add --optimize.
	  (guix-gc): Handle it.

	store: Add 'optimize-store' RPC.
	* guix/store.scm (operation-id): Add 'optimize-store'.
	  (optimize-store): New procedure.

	build: Make sure $CXX supports C++11.
	* m4/guix.m4 (GUIX_CHECK_CXX11, GUIX_ASSERT_CXX11): New macros.
	* config-daemon.ac: Use 'AC_LANG([C++])' and 'GUIX_ASSERT_CXX11'.C
	* doc/guix.texi (Requirements): Mention C++11 support.

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

	Merge branch 'nix'.
	* daemon.am (AM_CXXFLAGS): Change -std=c++0x to -std=c++11.
	  (libstore_a_CPPFLAGS): Add -DDEFAULT_CHROOT_DIRS.
	  (parse_opt): Use 'settings.get' instead of 'settings.dirsInChroot'.
	  (main): Likewise.
	* tests/guix-archive.sh: Don't grep for the "importing ..." message since it
	  is no longer produced.

	The nix/ part is a squashed commit of the following:

	commit 3bfa70b7963e12be346900e64ae45fa019850675
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 10 13:53:04 2014 +0100

	    Don't wait for PID -1

	    The pid field can be -1 if forking the substituter process failed.

	commit 5241aec531e9c9a4b2dd5e5b6ee3f07ff049d9a5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 24 16:48:04 2014 +0100

	    Build derivations in a more predictable order

	    Derivations are now built in order of derivation name, so a package
	    named "aardvark" is built before "baboon".

	    Fixes #399.

	commit 9f355738e106f4ca49bba7276e8d520a2fc2955d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 24 16:44:35 2014 +0100

	    Don't create unnecessary substitution goals for derivations

	commit 554eaf5e8c82ddd6a42e4301f6d3dd5419c04060
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Nov 19 18:02:39 2014 +0100

	    Disable vacuuming the DB after garbage collection

	    Especially in WAL mode on a highly loaded machine, this is not a good
	    idea because it results in a WAL file of approximately the same size
	    ad the database, which apparently cannot be deleted while anybody is
	    accessing it.

	commit 4eb62b5230c29e2f6ab17352439521083846c259
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Nov 19 17:09:27 2014 +0100

	    nix-daemon: Call exit(), not _exit()

	    This was preventing destructors from running. In particular, it was
	    preventing the deletion of the temproot file for each worker
	    process. It may also have been responsible for the excessive WAL
	    growth on Hydra (due to the SQLite database not being closed
	    properly).

	    Apparently broken by accident in
	    8e9140cfdef9dbd1eb61e4c75c91d452ab5e4a74.

	commit f160a30d5612506de41a8206a57eccee1cd85fb7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Nov 19 17:07:29 2014 +0100

	    Clean up temp roots in a more C++ way

	commit a64744477d95e6932ae0fefc7cc358b56b8c397f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 17 01:00:39 2014 +0100

	    Fix message

	commit b73de6e49b64d01974649a1e67a77113b768c2b1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 14 14:16:20 2014 +0100

	    Don't use ADDR_LIMIT_3GB

	    This gives 32-bit builds on x86_64-linux more memory.

	commit e0825bd36b43f3c1d408745a9c61f92fdaf7dace
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Nov 12 11:35:53 2014 +0100

	    Make ~DerivationGoal more reliable

	commit 86b9e6d4575e5c93f428b8563ae259f0f4014173
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 4 10:41:29 2014 +0100

	    nix-store --gc: Don't warn about missing manifests directory

	commit 1129a982c4e77ff465fd6102627477900af2f7f4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 31 09:36:09 2014 +0100

	    Improve error message if the daemon worker fails to start

	commit bed17f40fce27e1a31f70957b1d0dd912b58700d
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Oct 20 12:15:50 2014 -0400

	    Fix build on gcc < 4.7

	commit ee8601cac4b353e551b238f546a0e7e8fcdcd3be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 14 10:51:19 2014 +0200

	    Improved error message when encountering unsupported file types

	    Fixes #269.

	commit c2b65dd197a1b2e14d517b0b5ff307b149538917
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 3 22:37:51 2014 +0200

	    Remove some duplicate code

	commit c95742283595cb01b44ddc8e6ff5e9c1d66db444
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 3 16:53:28 2014 +0200

	    createDirs(): Handle ‘path’ being a symlink

	    In particular, this fixes "nix-build -o /tmp/result" on Mac OS X
	    (where /tmp is a symlink).

	commit 6092a48603ea7888f8a1f69db87835bc339c973a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 25 18:45:43 2014 +0200

	    nix-daemon: Close unnecessary fd

	commit e74390a16f74233283572661f64ed4f03ae1650d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 19 15:07:22 2014 +0200

	    Remove bogus comment

	commit e63c8aaa0511d1d0a5487c45dec9f8cbd66b4cc6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 17 17:21:13 2014 +0200

	    On Linux, disable address space randomization

	commit 55939b1a4b34b904eedba90ac6c14efc6258f40d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 17 15:18:13 2014 +0200

	    Settings: Add bool get()

	commit 6621195e48f8e0cbbe6e19dbcde30bd8a7da0399
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon Sep 1 22:21:42 2014 +0200

	    Add an 'optimiseStore' remote procedure call.

	commit 3bb89c3a31b9cf6e056f3659389e2d2e7afd17fa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Aug 28 18:57:13 2014 +0200

	    Add disallowedReferences / disallowedRequisites

	    For the "stdenv accidentally referring to bootstrap-tools", it seems
	    easier to specify the path that we don't want to depend on, e.g.

	      disallowedRequisites = [ bootstrapTools ];

	commit abd9d61e6201ddbde3305dd27c286e883e950bec
	Author: Gergely Risko <errge@nilcons.com>
	Date:   Wed Aug 27 16:46:02 2014 +0200

	    Introduce allowedRequisites feature

	commit 8c766e48d5c4741b63a4f24dc91138f587c04a5a
	Author: Joel Taylor <me@joelt.io>
	Date:   Thu Aug 21 14:06:49 2014 -0700

	    fix disappearing bash arguments

	commit d4e7c195fabf0f24c2ffbd4ca8f189489bbbf44d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 19 17:44:59 2014 +0200

	    Make hook shutdown more reliable

	commit ea837e470f70900481d00b0d1cd73e6855c4f70d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 18 11:35:50 2014 +0200

	    Doh

	commit 790271559cb8b36cd8fcdc533f41be88ec15ad08
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 17 19:11:50 2014 +0200

	    Reduce verbosity

	commit 3f6d4f63ec0d1d6cfc3233998b7dd9608b2f6ff3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 17 19:09:03 2014 +0200

	    Propagate remote timeouts properly

	commit aa98ba506739b885b3ce0b392dade5e1e1bb07f7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 13 17:44:41 2014 +0200

	    Use regular file GC roots if possible

	    This makes hydra-eval-jobs create roots as regular files. See
	    1c208f2b7ef8ffb5e6d435d703dad83223a67bd6.

	commit 5fe5ff77800c2911c011f582d8dfa90c44d4a3a5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 5 16:41:42 2014 +0200

	    Remove unnecessary call to addTempRoot()

	commit 1820845c44c8cbe1121e78d5f16e7778532477f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 5 10:19:57 2014 +0200

	    Doh

	commit e9070bf4226b225a0b42798b20ea3947abf58a6f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 4 18:13:14 2014 +0200

	    Move some options out of globals

	commit 31909515634d74e4c3d92be6186c5c48244582ae
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 4 18:02:29 2014 +0200

	    Refactor

	commit f530ee6f356f4299ca343dde7f4c0742300ffa08
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 4 18:00:00 2014 +0200

	    Add option ‘build-extra-chroot-dirs’

	    This is useful for extending (rather than overriding) the default set
	    of chroot paths.

	commit 75f746f018e34868b8057bed87c90d2cbe2c0b6c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 4 17:27:45 2014 +0200

	    Get rid of "killing <pid>" message for unused build hooks

	commit 42c6246f674ca2d5ea166d1ae676b7087ea1b0d8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 19:38:21 2014 +0200

	    Remove ugly hack for detecting build environment setup errors

	commit b732ffd28ddf50d3150e4f276a0e8488e38eaacb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 19:29:03 2014 +0200

	    Call commonChildInit() before doing chroot init

	    This ensures that daemon clients see error messages from the chroot
	    setup.

	commit c51374c128cbe1f06acd95ba2d627a118a95aabf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 17:30:51 2014 +0200

	    Eliminate redundant copy

	commit 666c9b7108e460f0d3450015a3379bfeb3e3a497
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 17:20:25 2014 +0200

	    findRoots(): Prevent a call to lstat()

	    This means that getting the roots from /nix/var/nix/.../hydra-roots
	    doesn't need any I/O other than reading the directory.

	commit 82d463d9cacbf2a93b95ab5313567d593fd00d02
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 16:37:47 2014 +0200

	    Make readDirectory() return inode / file type

	commit a98fa2d9e2b06e2561330c5ef845ffaf131e95ac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 1 16:46:01 2014 +0200

	    Allow regular files as GC roots

	    If a root is a regular file, then its name must denote a store
	    path. For instance, the existence of the file

	      /nix/var/nix/gcroots/per-user/eelco/hydra-roots/wzc3cy1wwwd6d0dgxpa77ijr1yp50s6v-libxml2-2.7.7

	    would cause

	      /nix/store/wzc3cy1wwwd6d0dgxpa77ijr1yp50s6v-libxml2-2.7.7

	    to be a root.

	    This is useful because it involves less I/O (no need for a readlink()
	    call) and takes up less disk space (the symlink target typically takes
	    up a full disk block, while directory entries are packed more
	    efficiently). This is particularly important for hydra.nixos.org,
	    which has hundreds of thousands of roots, and where reading the roots
	    can take 25 minutes.

	commit 4ab4b0c109734bd6e265ca5f1b6415c31c03ab11
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 24 00:00:53 2014 +0200

	    Remove some dead code

	commit 1cffdf5847b065183c9aac86df3a9578020e6712
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 23 19:43:46 2014 +0200

	    nix-daemon: Less verbosity

	commit bb07dfe96f0d07aa18db385d3ec93b24b5568213
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 23 19:37:40 2014 +0200

	    nix-daemon: Simplify stderr handling

	commit 766481d606e4b1860307692d6a44723983662d45
	Merge: c69944c fdee1ce
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon May 11 17:04:26 2015 +0200

	    Merge commit 'fdee1ced43fb495d612a29e955141cdf6b9a95ba' into nix

	commit c69944c511b89d3fdbffe00353e27d1e1c5f670c
	Merge: a1dd396 8e9140c
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed May 6 23:22:04 2015 +0200

	    Merge commit '8e9140cfdef9dbd1eb61e4c75c91d452ab5e4a74' into nix

	    Conflicts:
	    	Makefile.config.in
	    	configure.ac
	    	dev-shell
	    	doc/manual/builtins.xml
	    	doc/manual/conf-file.xml
	    	doc/manual/local.mk
	    	doc/manual/nix-instantiate.xml
	    	doc/manual/nix-store.xml
	    	doc/manual/writing-nix-expressions.xml
	    	misc/emacs/nix-mode.el
	    	perl/lib/Nix/CopyClosure.pm
	    	release.nix
	    	scripts/nix-build.in
	    	scripts/nix-copy-closure.in
	    	src/download-via-ssh/download-via-ssh.cc
	    	src/libexpr/common-opts.cc
	    	src/libexpr/common-opts.hh
	    	src/libexpr/eval.cc
	    	src/libexpr/eval.hh
	    	src/libexpr/local.mk
	    	src/libexpr/nixexpr.cc
	    	src/libexpr/nixexpr.hh
	    	src/libexpr/parser.y
	    	src/libexpr/primops.cc
	    	src/libexpr/symbol-table.hh
	    	src/libmain/shared.cc
	    	src/libstore/local.mk
	    	src/nix-env/nix-env.cc
	    	src/nix-instantiate/nix-instantiate.cc
	    	src/nix-store/local.mk
	    	src/nix-store/nix-store.cc
	    	src/nix-store/serve-protocol.hh
	    	tests/lang.sh
	    	tests/lang/eval-okay-context.nix
	    	tests/lang/eval-okay-search-path.exp
	    	tests/lang/eval-okay-search-path.nix
	    	tests/local.mk
	    	tests/nix-copy-closure.nix

	commit a1dd396cc02922372314c35c8035a38bfeea08df
	Merge: 0a75126 8d5f472
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Sun Jan 4 23:01:14 2015 +0100

	    Merge commit '8d5f472f2c49c79a0d3ae2e506f4d4d76224b328' into nix

	    Conflicts:
	    	.gitignore
	    	Makefile
	    	doc/manual/installation.xml
	    	doc/manual/introduction.xml
	    	doc/manual/local.mk
	    	doc/manual/manual.xml
	    	doc/manual/nix-collect-garbage.xml
	    	doc/manual/nix-env.xml
	    	doc/manual/nix-install-package.xml
	    	doc/manual/nix-store.xml
	    	doc/manual/quick-start.xml
	    	doc/manual/release-notes.xml
	    	local.mk
	    	misc/emacs/nix-mode.el
	    	mk/functions.mk
	    	mk/install.mk
	    	mk/lib.mk
	    	mk/libraries.mk
	    	mk/patterns.mk
	    	mk/programs.mk
	    	nix.spec.in
	    	release.nix
	    	scripts/install-nix-from-closure.sh
	    	scripts/nix-build.in
	    	src/libexpr/eval-inline.hh
	    	src/libexpr/eval.cc
	    	src/libexpr/eval.hh
	    	src/libexpr/get-drvs.cc
	    	src/libexpr/nixexpr.cc
	    	src/libexpr/nixexpr.hh
	    	src/libexpr/parser.y
	    	src/libexpr/primops.cc
	    	src/libstore/local.mk
	    	src/nix-daemon/local.mk
	    	src/nix-env/nix-env.cc
	    	src/nix-env/user-env.cc
	    	src/nix-instantiate/nix-instantiate.cc
	    	src/nix-store/nix-store.cc
	    	tests/init.sh
	    	tests/nix-copy-closure.nix
	    	tests/remote-builds.nix
	    	version

	commit 0a751260ae54bb37ae33e0f4fc3bcda2a4ea3ceb
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Dec 17 11:10:25 2014 +0100

	    nix: Adjust code for Guix.

	    * nix/libstore/gc.cc (addAdditionalRoots): Refer to 'list-runtime-roots'
	      instead of 'find-runtime-roots.pl'.
	    * nix/libutil/hash.cc, nix/libutil/hash.hh: Change 'union Ctx' to
	      'struct Ctx', like 'nix/sync-with-upstream' did.
	    * nix/AUTHORS: New file.
	    * nix/COPYING: New file, from upstream Nix.
	    * nix/libutil/md32_common.h, nix/libutil/md5.c, nix/libutil/md5.h,
	      nix/libutil/sha1.c, nix/libutil/sha1.h, nix/libutil/sha256.c,
	      nix/libutil/sha256.h: Remove.

	commit d4e18b05e0ab149265d3d09ae017d7337fc4176f
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Dec 17 10:44:19 2014 +0100

	    Keep only libstore, nix-daemon, and related stuff.

	commit fdee1ced43fb495d612a29e955141cdf6b9a95ba
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 23 19:11:26 2014 +0200

	    startProcess: Make writing error messages from the child more robust

	commit 5989966ed3bd58cd362aed8cba6cd5c90b380a32
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 23 14:46:28 2014 +0200

	    Remove dead code

	commit ee3c5d7916b48d0c3b1cc08044e27209c14acfdc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jul 19 02:25:47 2014 +0200

	    Revert old useBuildHook behaviour

	commit 2e77bd70faee34cb2518529318a54b39f2d9143e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 18 12:54:30 2014 +0200

	    Better fix for strcasecmp on Darwin

	commit f609eec71a25a9bb8c32dd9620b7deb88633a22a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 18 00:01:06 2014 +0200

	    Bump

	commit 8ddffe7aac414756809f43732effb8951858243b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 17 23:57:17 2014 +0200

	    Ugly hack to fix building on old Darwin

	    http://hydra.nixos.org/build/12580878

	commit 049c0eb49c621ae50f49c8a06dc6c3a9839ef388
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 17 16:57:07 2014 +0200

	    nix-daemon: Add trusted-users and allowed-users options

	    ‘trusted-users’ is a list of users and groups that have elevated
	    rights, such as the ability to specify binary caches. It defaults to
	    ‘root’. A typical value would be ‘@wheel’ to specify all users in the
	    wheel group.

	    ‘allowed-users’ is a list of users and groups that are allowed to
	    connect to the daemon. It defaults to ‘*’. A typical value would be
	    ‘@users’ to specify the ‘users’ group.

	commit 0c730887c4ec4a03fb854490e422c134a1bf8139
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 17 15:49:33 2014 +0200

	    nix-daemon: Show name of connecting user

	commit 77c972c898b325997fa2f527264a9706f1e414a5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 17 15:41:11 2014 +0200

	    nix-daemon: Only print connection info if we have SO_PEERCRED

	commit 8f72e702a114458e92f644160950344a7bf7166a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 17 15:23:31 2014 +0200

	    nix-daemon: Fix compat with older clients

	commit 2304a7dd21639959dc4bcafa3e17374cc087cd0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 16:32:26 2014 +0200

	    Get rid of a compiler warning

	commit 985f1595fe9f61095c7bc94b49be1179811ec630
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 16:30:50 2014 +0200

	    Be more strict about file names in NARs

	commit 276a40b31f631c188d6dcbdf603a738e1380ff74
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 16:02:05 2014 +0200

	    Handle case collisions on case-insensitive systems

	    When running NixOps under Mac OS X, we need to be able to import store
	    paths built on Linux into the local Nix store. However, HFS+ is
	    usually case-insensitive, so if there are directories with file names
	    that differ only in case, then importing will fail.

	    The solution is to add a suffix ("~nix~case~hack~<integer>") to
	    colliding files. For instance, if we have a directory containing
	    xt_CONNMARK.h and xt_connmark.h, then the latter will be renamed to
	    "xt_connmark.h~nix~case~hack~1". If a store path is dumped as a NAR,
	    the suffixes are removed. Thus, importing and exporting via a
	    case-insensitive Nix store is round-tripping. So when NixOps calls
	    nix-copy-closure to copy the path to a Linux machine, you get the
	    original file names back.

	    Closes #119.

	commit bb65460feb265be4d938c7dc724a76ef41a8bfaf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 11:19:12 2014 +0200

	    Make dev-shell script work on Darwin

	commit de8be7c3e06b52c313e0b452b641ad5f90dca2fe
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 11:16:54 2014 +0200

	    Install systemd and Upstart stuff only on Linux

	commit 048be62484537633e2523dd4d200619649ff860d
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Jul 16 01:11:24 2014 -0400

	    Pass *_proxy vars to bootstrap fetchurl

	commit a2c85b2ef85a34bf8e5238c315a4ca73606f5ae6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 16 11:09:01 2014 +0200

	    Manual: Typo

	commit 5bcb98271103c6c2ca3b993d8b1b0eb9eadcbc1c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 14 12:39:33 2014 +0200

	    Remove cruft

	commit fa13d3f4f3d8fb6dc3e3fc87ac5a2e26d8b32d84
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 14 12:19:27 2014 +0200

	    build-remote.pl: Fix building multiple output derivations

	    We were importing paths without sorting them topologically, leading to
	    "path is not valid" errors.

	    See e.g. http://hydra.nixos.org/build/12451761

	commit b2e0293f022123b11759dfd498d4eff72233d3f7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jul 12 00:43:28 2014 +0200

	    build-remote.pl: Don't keep a shell process around

	commit a00a98548e994d1ea258e14793c7bcd8ea56cfdf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jul 12 00:09:43 2014 +0200

	    build-remote.pl: Fix build log

	commit 838138c5c4d21a207f3579c4f743698bd6dbb6b1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 11 16:20:12 2014 +0200

	    Fix test

	commit a5c6347ff06ba09530fdf0e01828aaec89f6ceb6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 11 16:02:19 2014 +0200

	    build-remote.pl: Use ‘nix-store --serve’ on the remote side

	    This makes things more efficient (we don't need to use an SSH master
	    connection, and we only start a single remote process) and gets rid of
	    locking issues (the remote nix-store process will keep inputs and
	    outputs locked as long as they're needed).

	    It also makes it more or less secure to connect directly to the root
	    account on the build machine, using a forced command
	    (e.g. ‘command="nix-store --serve --write"’). This bypasses the Nix
	    daemon and is therefore more efficient.

	    Also, don't call nix-store to import the output paths.

	commit b8f24f253527e1cb071785c3b2d677ed2f734ab1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 11 14:27:17 2014 +0200

	    Fix closure size display

	commit e196eecbe6552d5afed89ad480544c90cf959922
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 11 13:55:06 2014 +0200

	    Allow $NIX_BUILD_HOOK to be relative to Nix libexec directory

	commit d0eb970fb4d3b5c347506b77f9657fc5eb6229e2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 21:48:21 2014 +0200

	    Fix broken Pid constructor

	commit edbfe2232e275a9e6c10cd8eb4dc36ca992af084
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 21:30:22 2014 +0200

	    Replace message "importing path <...>" with "exporting path <...>"

	    This causes nix-copy-closure to show what it's doing before rather
	    than after.

	commit 42d91b079c5d0b468663511e7b2a8e2f4048c475
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 21:14:34 2014 +0200

	    Fix use of sysread

	commit 7bb632b02464febd8806ef4bd3fa0ac107f52650
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 20:43:04 2014 +0200

	    nix-copy-closure -s: Do substitutions via ‘nix-store --serve’

	    This means we no longer need an SSH master connection, since we only
	    execute a single command on the remote host.

	commit 7c3a5090bff4e9cfe70f1d89619563b55af13d89
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 17:44:18 2014 +0200

	    nix-copy-closure: Fix --dry-run

	commit 43b64f503844a66c344780a11289678a001572db
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 17:32:21 2014 +0200

	    Remove tabs

	commit 8e9140cfdef9dbd1eb61e4c75c91d452ab5e4a74
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 16:50:51 2014 +0200

	    Refactoring: Move all fork handling into a higher-order function

	    C++11 lambdas ftw.

	commit 1114c7bd57bcab16255d5db5e6f66ae8dece7b1e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 14:15:12 2014 +0200

	    nix-copy-closure: Restore compression and the progress viewer

	commit 7911e4c27a0020a61ace13cfdc44de4af02f315e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 23 09:15:35 2014 -0400

	    Remove maybeVfork

	commit 04170d06bf7d17f882c01d3ab98885e0f3e46d2f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 11:51:22 2014 +0200

	    nix-copy-closure: Fix race condition

	    There is a long-standing race condition when copying a closure to a
	    remote machine, particularly affecting build-remote.pl: the client
	    first asks the remote machine which paths it already has, then copies
	    over the missing paths. If the garbage collector kicks in on the
	    remote machine between the first and second step, the already-present
	    paths may be deleted. The missing paths may then refer to deleted
	    paths, causing nix-copy-closure to fail. The client now performs both
	    steps using a single remote Nix call (using ‘nix-store --serve’),
	    locking all paths in the closure while querying.

	    I changed the --serve protocol a bit (getting rid of QueryCommand), so
	    this breaks the SSH substituter from older versions. But it was marked
	    experimental anyway.

	    Fixes #141.

	commit 2c3a8f787ba9da49feafdec4022534184e0a96a3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 11:46:01 2014 +0200

	    Fix security hole in ‘nix-store --serve’

	    Since it didn't check that the path received from the client is a
	    store path, the client could dump any path in the file system.

	commit 66dbc0fdeebf509c5d919e9c12b2645136d6deeb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 10 01:50:29 2014 +0200

	    Add a test for the SSH substituter

	commit 0e5d0c15430cf82861a1ae213cbccff065f71107
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 9 12:14:40 2014 +0200

	    Fix compilation error on some versions of GCC

	    src/libexpr/primops.cc:42:8: error: looser throw specifier for 'virtual nix::InvalidPathError::~InvalidPathError()'
	    src/libexpr/nixexpr.hh:12:1: error:   overriding 'virtual nix::EvalError::~EvalError() noexcept (true)'

	    http://hydra.nixos.org/build/12385750

	commit beac05c206a801be6f83b4eaaffe75c30eeb7d37
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 8 20:41:25 2014 +0200

	    Don't build on Ubuntu 10.10

	    Its C++ compiler is too old.

	    http://hydra.nixos.org/build/12385722

	commit beaf3e90aff14664b98f2c7ab7387c9fa4354fd1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 4 13:34:15 2014 +0200

	    Add builtin function ‘fromJSON’

	    Fixes #294.

	commit e82951fe23daa961ef18b0c5cc9ba1f5d8906186
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 3 12:36:58 2014 +0200

	    Manual: html -> xhtml

	commit e477f0e9385d7825f005b7e9a32cd3ad6ee27aab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 27 11:36:23 2014 +0200

	    Style fix

	commit 858b8f9760a81540b0a95068d96dc5c1628673c3
	Author: Paul Colomiets <paul@colomiets.name>
	Date:   Tue Jun 24 00:30:22 2014 +0300

	    Add `--json` argument to `nix-instantiate`

	commit 8504e7d60488cb12dd2597734ebd1d3cadf5d153
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 27 11:20:16 2014 +0200

	    allow-arbitrary-code-during-evaluation -> allow-unsafe-native-code-during-evaluation

	commit d7be6d45d97e89653b77686bdb39b833afbcf6ca
	Merge: 9d0709e d62f46e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 27 11:18:54 2014 +0200

	    Merge branch 'shlevy-import-native'

	commit d62f46e500958bc97ae6837911e27c20a47cc181
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Jun 24 10:50:03 2014 -0400

	    Only add the importNative primop if the allow-arbitrary-code-during-evaluation option is true (default false)

	commit 5cd022d6c099c583c0494bdacd06f4eb32661135
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jun 1 10:42:56 2014 -0400

	    Add importNative primop

	    This can be used to import a dynamic shared object and return an
	    arbitrary value, including new primops. This can be used both to test
	    new primops without having to recompile nix every time, and to build
	    specialized primops that probably don't belong upstream (e.g. a function
	    that calls out to gpg to decrypt a nixops secret as-needed).

	    The imported function should initialize the Value & as needed. A single
	    import can define multiple values by creating an attrset or list, of
	    course.

	    An example initialization function might look like:

	    extern "C" void initialize(nix::EvalState & state, nix::Value & v)
	    {
	        v.type = nix::tPrimOp;
	        v.primOp = NEW nix::PrimOp(myFun, 1, state.symbols.create("myFun"));
	    }

	    Then `builtins.importNative ./example.so "initialize"` will evaluate to
	    the primop defined in the myFun function.

	commit 9d0709e8c47082cec35d6412053eacfadae23bcd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 12 17:30:37 2014 +0200

	    Don't use member initialisers

	    They're a little bit too recent (only supported since GCC 4.7).

	    http://hydra.nixos.org/build/11851475

	commit 48495f67ed893c4ee056099ae0ca5a2afacde93c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 12 13:15:35 2014 +0200

	    Fix bogus warnings about dumping large paths

	    Also, yay for C++11 non-static initialisers.

	commit 0960d674d48808eaaa3475899f45cfd6c7c3e51d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 12 13:00:54 2014 +0200

	    Drop ImportError and FindError

	    We're not catching these anywhere.

	commit 718f20da6d79466f91c49849bcf91a688aaa871e
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri May 30 15:43:31 2014 -0400

	    findFile: Realise the context of the path attributes

	commit a8fb575c98726f195d0cf5c7e6b7e51c75a0a9b3
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri May 30 15:04:17 2014 -0400

	    Share code between scopedImport and import

	    In addition to reducing duplication, this fixes both import from
	    derivation and import of derivation for scopedImport

	commit 61c464f252271d3d6343e1bfa1e3b39d2c8473cd
	Author: Steve Purcell <steve@sanityinc.com>
	Date:   Thu Jun 5 11:04:48 2014 +0100

	    Add autoloads, make code more concise & idiomatic

	    - Use define-derived-mode to declare nix-mode
	    - Use autoloads to ensure nix-mode is usable (and enabled) without needing `require`
	    - Use set + make-local-variable instead of longer 2-step equivalent

	commit ee7fe64c0ac00f2be11604a2a6509eb86dc19f0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jun 10 14:02:56 2014 +0200

	    == operator: Ignore string context

	    There really is no case I can think of where taking the context into
	    account is useful. Mostly it's just very inconvenient.

	commit b1beed97a0670befbfd5e105a81132e87e58ac37
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jun 10 13:45:50 2014 +0200

	    Report daemon OOM better

	    When copying a large path causes the daemon to run out of memory, you
	    now get:

	      error: Nix daemon out of memory

	    instead of:

	      error: writing to file: Broken pipe

	commit 829af22759b8a99c3b44697365390a945f3acc04
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jun 10 13:30:09 2014 +0200

	    Print a warning when loading a large path into memory

	    I.e. if you have a derivation with

	      src = ./huge-directory;

	    you'll get a warning that this is not a good idea.

	commit 3c6b8a521561f5341652ffe37b869d5ab457227b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 2 17:58:43 2014 +0200

	    nix-env -qa --json: Generate valid JSON even if there are invalid meta attrs

	commit ceed8192848760430c9c23659f9cb979aad1f9c3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 29 19:04:27 2014 +0200

	    Fix test

	commit becc2b01678c5742b3fe6c379430606a5ef8e34d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 29 19:02:14 2014 +0200

	    Sort nixPath attributes

	commit 54a34119f349d531557af9e90d21d04d689ee817
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 17:53:17 2014 +0200

	    Use std::unordered_set

	commit a457d5ad4d7f6cd4f817581de1b4f70cdad9c617
	Author: Aristid Breitkreuz <aristidb@gmail.com>
	Date:   Sun May 4 14:26:41 2014 +0200

	    nix-build: --add-root also takes 1 parameter

	commit b1d39d476544644b2de8addb5ad3289fede2f95a
	Author: Sönke Hahn <soenkehahn@gmail.com>
	Date:   Fri May 23 11:41:09 2014 +0800

	    dev-shell is a bash script, not sh

	    'type -p' does not work in e.g. dash

	commit 8ea9fd7aa6b2152f95724e504ac61c57d90b113c
	Author: Adam Szkoda <adaszko@gmail.com>
	Date:   Sun May 25 10:54:54 2014 +0200

	    Rephrase @ operator description

	commit d8c061e044a07f7516d76df12bc6920f4f04e5ff
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 17:14:28 2014 +0200

	    Remove ExprBuiltin

	    It's slower than ExprVar since it doesn't compute a static
	    displacement. Since we're not using the throw primop in the
	    implementation of <...> anymore, it's also not really needed.

	commit 62a6eeb1f3da0a5954ad2da54c454eb7fc1c6e5d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 17:02:22 2014 +0200

	    Make the Nix search path declarative

	    Nix search path lookups like <nixpkgs> are now desugared to ‘findFile
	    nixPath <nixpkgs>’, where ‘findFile’ is a new primop. Thus you can
	    override the search path simply by saying

	      let
	        nixPath = [ { prefix = "nixpkgs"; path = "/my-nixpkgs"; } ];
	      in ... <nixpkgs> ...

	    In conjunction with ‘scopedImport’ (commit
	    c273c15cb13bb86420dda1e5341a4e19517532b5), the Nix search path can be
	    propagated across imports, e.g.

	      let

	        overrides = {
	          nixPath = [ ... ] ++ builtins.nixPath;
	          import = fn: scopedImport overrides fn;
	          scopedImport = attrs: fn: scopedImport (overrides // attrs) fn;
	          builtins = builtins // overrides;
	        };

	      in scopedImport overrides ./nixos

	commit 39d72640c2459dc2fa689bfe8b756ee193f7b98a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 16:50:36 2014 +0200

	    Ensure that -I flags get included in nixPath

	    Also fixes #261.

	commit a8edf185a9e1677088c8c30acc9d281c8350bca7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 14:55:47 2014 +0200

	    Add constant ‘nixPath’

	    It contains the Nix expression search path as a list of { prefix, path
	    } sets, e.g.

	      [ { path = "/nix/var/nix/profiles/per-user/root/channels/nixos"; prefix = ""; }
	        { path = "/etc/nixos/configuration.nix"; prefix = "nixos-config"; }
	        { path = "/home/eelco/Dev/nix/inst/share/nix/corepkgs"; prefix = "nix"; }
	      ]

	commit c273c15cb13bb86420dda1e5341a4e19517532b5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 13:46:11 2014 +0200

	    Add primop ‘scopedImport’

	    ‘scopedImport’ works like ‘import’, except that it takes a set of
	    attributes to be added to the lexical scope of the expression,
	    essentially extending or overriding the builtin variables.  For
	    instance, the expression

	      scopedImport { x = 1; } ./foo.nix

	    where foo.nix contains ‘x’, will evaluate to 1.

	    This has a few applications:

	    * It allows getting rid of function argument specifications in package
	      expressions. For instance, a package expression like:

	        { stdenv, fetchurl, libfoo }:

	        stdenv.mkDerivation { ... buildInputs = [ libfoo ]; }

	      can now we written as just

	        stdenv.mkDerivation { ... buildInputs = [ libfoo ]; }

	      and imported in all-packages.nix as:

	        bar = scopedImport pkgs ./bar.nix;

	      So whereas we once had dependencies listed in three places
	      (buildInputs, the function, and the call site), they now only need
	      to appear in one place.

	    * It allows overriding builtin functions. For instance, to trace all
	      calls to ‘map’:

	      let
	        overrides = {
	          map = f: xs: builtins.trace "map called!" (map f xs);

	          # Ensure that our override gets propagated by calls to
	          # import/scopedImport.
	          import = fn: scopedImport overrides fn;

	          scopedImport = attrs: fn: scopedImport (overrides // attrs) fn;

	          # Also update ‘builtins’.
	          builtins = builtins // overrides;
	        };
	      in scopedImport overrides ./bla.nix

	    * Similarly, it allows extending the set of builtin functions. For
	      instance, during Nixpkgs/NixOS evaluation, the Nixpkgs library
	      functions could be added to the default scope.

	    There is a downside: calls to scopedImport are not memoized, unlike
	    import. So importing a file multiple times leads to multiple parsings
	    / evaluations. It would be possible to construct the AST only once,
	    but that would require careful handling of variables/environments.

	commit f0fdbd0897ce63c138ec663ed89a94709a8441a7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 26 12:34:15 2014 +0200

	    Shut up some signedness warnings

	commit 0321ef9bb261958fe4d63210e9a9d3350737ef18
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 23 14:43:55 2014 +0200

	    Ugly hack to allow --argstr values starting with a dash

	    Fixes #265.

	commit 3064a8215608eca391fcb9d492735a662f48242e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 22 11:38:50 2014 +0200

	    Disable parallel.sh test

	    It breaks randomly: http://hydra.nixos.org/build/11152871

	commit 9f9080e2c019f188ba679a7a89284d7eaf629710
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 21 17:19:36 2014 +0200

	    nix-store -l: Fetch build logs from the Internet

	    If a build log is not available locally, then ‘nix-store -l’ will now
	    try to download it from the servers listed in the ‘log-servers’ option
	    in nix.conf. For instance, if you have:

	      log-servers = http://hydra.nixos.org/log

	    then it will try to get logs from http://hydra.nixos.org/log/<base
	    name of the store path>. So you can do things like:

	      $ nix-store -l $(which xterm)

	    and get a log even if xterm wasn't built locally.

	commit eac5841970737b799c55ec78f6ace6d80762ff04
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu May 15 11:30:46 2014 -0400

	    Provide a more useful error message when a dynamic attr lookup fails

	commit 8d5f472f2c49c79a0d3ae2e506f4d4d76224b328
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 15 11:37:44 2014 +0200

	    lvlInfo -> lvlTalkative

	commit 84813af5b938246d9a4a785dfb08b86383ef62ae
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 15 11:33:46 2014 +0200

	    nix-store --optimise: Remove bogus statistics

	commit 690adeb03de039551c4d8b5b4e7dda21c9c8f9b9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 15 11:19:16 2014 +0200

	    Remove tab

	commit a1b66f316e980b4b7e755de47604bdc30371b67e
	Merge: e384e7b 3b9ea84
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 15 11:18:29 2014 +0200

	    Merge branch 'master' of github.com:wmertens/nix

	commit 3b9ea8452f102595874826e349fa38f85c00aa39
	Author: Wout Mertens <Wout.Mertens@gmail.com>
	Date:   Thu May 15 09:02:22 2014 +0200

	    Shortcut store files before lstat

	    readdir() already returns the inode numbers, so we don't need to call
	    lstat to know if a file was already linked or not.

	commit d73ffc552f78e0d9048e3bcc1e84452d1e8d2ede
	Author: Wout Mertens <Wout.Mertens@gmail.com>
	Date:   Wed May 14 22:52:10 2014 +0200

	    Use the inodes given by readdir directly

	commit e384e7b387c4745f30032ef431a06aa26cee73a5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 14 22:25:25 2014 +0200

	    Remove redundant code

	commit e974f20c9811c3efe09cfca9bda7816f9091c0d5
	Author: Wout Mertens <Wout.Mertens@gmail.com>
	Date:   Tue May 13 23:10:06 2014 +0200

	    Preload linked hashes to speed up lookups

	    By preloading all inodes in the /nix/store/.links directory, we can
	    quickly determine of a hardlinked file was already linked to the hashed
	    links.
	    This is tolerant of removing the .links directory, it will simply
	    recalculate all hashes in the store.

	commit 36662eb5629c31cfd1b8472c9b7eb136b3937a4d
	Author: Ricky Elrod <ricky@elrod.me>
	Date:   Sun May 11 18:57:53 2014 -0400

	    Prepare nix-mode to be uploaded to marmalade

	    Signed-off-by: Ricky Elrod <ricky@elrod.me>

	commit 95501c4deea1d945022df18475340232bc6980be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 13 12:54:28 2014 +0200

	    nix-instantiate --eval: Apply auto-arguments if the result is a function

	    Fixes #254.

	commit a55e77ae10a76336728be6fbb0f0d7957422b56a
	Author: Charles Strahan <charles.c.strahan@gmail.com>
	Date:   Mon May 12 14:31:16 2014 -0400

	    fix typo

	commit a84f503d863fd77de9b6ecf149399c2ca7642b75
	Author: wmertens <Wout.Mertens@gmail.com>
	Date:   Sat May 10 15:53:01 2014 +0200

	    Shortcut already-hardlinked files

	    If an inode in the Nix store has more than 1 link, it probably means that it was linked into .links/ by us. If so, skip.

	    There's a possibility that something else hardlinked the file, so it would be nice to be able to override this.

	    Also, by looking at the number of hardlinks for each of the files in .links/, you can get deduplication numbers and space savings.

	commit aa9b1cf48e6482a74dcc19e6aef1d8236b57abe4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 6 10:51:16 2014 +0200

	    Really fix the RPM builds

	    http://hydra.nixos.org/build/10840199

	commit 2c4affbaa88c8bfbee92093f0355b6e118fd5447
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 5 20:22:35 2014 +0200

	    Fix RPM build

	    We don't install a nix.conf anymore.

	    http://hydra.nixos.org/build/10826143

	commit 93506e60d2f86079a6db260d376a92773900d0d3
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Sat May 3 17:54:48 2014 +0200

	    Add ubuntu 14.04

	commit 40250f23a0a301bb758e7f0f21fcd09b702e0e1e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 19:04:10 2014 +0200

	    Don't install Upstart job on Fedora

	    Also, don't install a nix.conf anymore, it's not needed.

	    http://hydra.nixos.org/build/10775854

	commit 6dd10873961d45fd246b48ad82b7f05ad3d4d077
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 19:02:10 2014 +0200

	    Fix Debian tests

	    These actually run as root in a VM, so they get confused.

	    http://hydra.nixos.org/build/10775854

	commit a8c31d501185c42de477a7e833af956d68e095c3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 14:44:44 2014 +0200

	    Simplify multi-user installation instructions

	commit 696f960dee35889433adfa6c08a2dbfb6ea0724f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 14:31:15 2014 +0200

	    Set up directories and permissions for multi-user install automatically

	    This automatically creates /nix/var/nix/profiles/per-user and sets the
	    permissions/ownership on /nix/store to 1775 and root:nixbld.

	commit 20668b136329da92be7c63e7f7c4918968ff0015
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 13:14:10 2014 +0200

	    Install an Upstart service

	commit de4cdd0d47adc70a4db12397a42c18ee50b4e662
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 12:51:43 2014 +0200

	    Set build-max-jobs to the number of available cores by default

	    More zero configuration.

	commit ada3e3fa15bc14aebb2bafd1240c15cf1fd99351
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 2 12:46:03 2014 +0200

	    When running as root, use build users by default

	    This removes the need to have a nix.conf, and prevents people from
	    accidentally running Nix builds as root.

	commit eeffdb74dcdbd64bcdc44cff4e587b59c4f807b5
	Author: Charles Strahan <charles.c.strahan@gmail.com>
	Date:   Sun Apr 27 14:07:50 2014 -0400

	    doc fix: swap 'import' and 'export'

	commit 31fe55bb8e599702ac79b24b2109199be50a85a1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 25 14:55:13 2014 +0200

	    trunk -> master

	commit 700c678c2eed5e05c3e68d722c41c2b37d0a2f45
	Author: Ricardo M. Correia <rcorreia@wizy.org>
	Date:   Fri Apr 11 17:10:20 2014 +0200

	    nix-env: Minor change to '--delete-generations Nd' semantics

	    The option '--delete-generations Nd' deletes all generations older than N
	    days. However, most likely the user does not want to delete the
	    generation that was active N days ago.

	    For example, say that you have these 3 generations:

	    1: <30 days ago>
	    2: <15 days ago>
	    3: <1 hour ago>

	    If you do --delete-generations 7d (say, as part of a cron job), most
	    likely you still want to keep generation 2, i.e. the generation that was
	    active 7 days ago (and for most of the past 7 days, in fact).

	    This patch fixes this issue. Note that this also affects
	    'nix-collect-garbage --delete-older-than Nd'.

	    Thanks to @roconnor for noticing the issue!

	commit fb5d76b89e8b0084fb147d79af5481e09b889386
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 15 15:32:27 2014 +0200

	    Fix test evaluation

	commit a1917208c025e0a029cb33bbf3cf69e4d4128a39
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 11 15:11:28 2014 +0200

	    Bump date

	commit 742933116fd803afbf8c36dbc1eab51612d4bb55
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 11 11:15:24 2014 +0200

	    Bump version to 1.8

	commit 924e19341a5ee488634bc9ce1ea9758ac496afc3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 10 23:42:48 2014 +0200

	    Don't barf when installing as root

	commit b0a09a6f320d3a0ac186e87edb1c1782d8d168d5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Apr 9 14:52:43 2014 +0200

	    Add docbook icons to the distribution

	    Grmbl...

	commit dfa2f77d2e1118f32771c2fceefd683435554b9d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 19:24:29 2014 +0200

	    If a .drv cannot be parsed, show its path

	    Otherwise you just get ‘expected string `Derive(['’ which isn't very helpful.

	commit e0a947cde6d11b5182500f024719b04b8997189a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 16:28:39 2014 +0200

	    Simplify quick start section

	commit d23931f3a448fddc43d81f774fa83797729910e7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 16:10:25 2014 +0200

	    Remove redundant stuff

	commit 48460057419ce651c9484a66d83e6b987b261d8c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 16:09:56 2014 +0200

	    Update installation instructions

	commit 2b6c8ef40121fdc418551e9b780bb909477c9a3c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 14:08:57 2014 +0200

	    nix-shell --pure: Keep the user's $PAGER

	commit 76cbf55a6d8953e393ba39896ccbb0948bac96d6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 8 13:51:34 2014 +0200

	    Ensure that systemd units to into lib, not lib64

	    http://hydra.nixos.org/build/10170940

	commit 89f923281335f695d4199e1fafaaeeb1729ba2d3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 7 12:00:23 2014 +0200

	    Update release notes

	commit 84d6936371037559704337614c65007a8e61b5e1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 7 11:18:54 2014 +0200

	    Install systemd units

	commit 8e5fbf4d730b9fcf39eddf5539a206cf19d2cdce
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 22:52:14 2014 +0200

	    Show position info in attribute selection errors

	commit 4c5faad99408cdfc35a8b0923d1efdf288fd9990
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 22:43:52 2014 +0200

	    Show position info in Boolean operations

	commit bd9b1d97b42f307c8b595bb2de9b15bec1405b23
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 22:19:33 2014 +0200

	    Show position info in string concatenation / addition errors

	commit 8160f794e79a4a2a5269080b408d69fc93d7a305
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 21:53:47 2014 +0200

	    derivation: Don't require certain function arguments

	    Turns out that in Nixpkgs, derivation is actually called without a
	    ‘name’ argument in some places :-(

	commit a5fe73094016973a50741db0c5d51ca96c14147b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 21:14:11 2014 +0200

	    forceString: Show position info

	commit 27b44b8cf7072b09a1929ee44ba784b1c8d5211a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 19:11:40 2014 +0200

	    forceAttrs: Show position info

	commit 96b695ccab4a4c8c4ef7f14ac261df43dcc00743
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 19:05:36 2014 +0200

	    forceList: Show position info

	commit b62d36963c45ccaebb328fceaf0bb40f9c02a14b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 18:58:15 2014 +0200

	    forceInt: Show position info

	commit c28de6d96e7bfea834a44deac5217d4696fa8d86
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 18:51:01 2014 +0200

	    Pass position information to primop calls

	    For example:

	      error: `tail' called on an empty list, at
	        /home/eelco/Dev/nixpkgs/pkgs/applications/misc/hello/ex-2/default.nix:13:7

	commit 8b31ffd10de44871a3912184fedbeca57d8cf60f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 17:58:23 2014 +0200

	    Remove unnecessary quotes around file names

	commit b72c8d2e5b5bbdc218f7c00694027cdd75b6a584
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 17:53:52 2014 +0200

	    Include position info in function application

	    This allows error messages like:

	      error: the anonymous function at `/etc/nixos/configuration.nix:1:1'
	        called without required argument `foo', at
	        `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:77:59'

	commit 3f8e1f56825f3ec2a9d99715609e362fe5e5a218
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 14:51:07 2014 +0200

	    Update release notes

	commit 1f19fdbd45d902a48fd8bacb25ef1a88020a0cc7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 4 13:49:53 2014 +0200

	    Document that we require a C++11 compiler

	commit ae6b631dc48f4b923a6ed17b8d6e59524c4ea883
	Author: Danny Wilson <danny@decube.net>
	Date:   Thu Apr 3 16:59:25 2014 +0200

	    Fix compile errors on Illumos

	commit daa16cca11304a0e91a188176959e2af28be1f57
	Merge: f0de863 7191a73
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 3 17:37:14 2014 +0200

	    Sync with make-rules repo

	commit 7191a7394a3091ed2856508674f84f3a87eda5a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 3 17:35:16 2014 +0200

	    Support Illumos

	    From https://github.com/NixOS/nix/pull/236

	commit f0de86357c18e18eccd814c8bea3bfdaf10f75f5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 3 15:24:02 2014 +0200

	    Tweak error message

	commit e7720aa10a1da63bb15a4587837d649268944943
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Apr 2 23:41:11 2014 +0200

	    Make sure /dev/pts/ptmx is world-writable

	    While running Python 3’s test suite, we noticed that on some systems
	    /dev/pts/ptmx is created with permissions 0 (that’s the case with my
	    Nixpkgs-originating 3.0.43 kernel, but someone with a Debian-originating
	    3.10-3 reported not having this problem.)

	    There’s still the problem that people without
	    CONFIG_DEVPTS_MULTIPLE_INSTANCES=y are screwed (as noted in build.cc),
	    but I don’t see how we could work around it.

	commit ac6ceea7641d6c19c71079e22b03b4c1519c0c94
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 1 17:04:38 2014 +0200

	    Fix potential segfault

	    The newEnv variable was accessed (via the dynamicEnv) pointer after it
	    had gone out of scope.

	    Fixes #234.

	commit 034b6f60626be014d00f68e02d8614ddf7ba44a0
	Author: Ricardo M. Correia <rcorreia@wizy.org>
	Date:   Tue Mar 11 22:16:00 2014 +0100

	    nix-collect-garbage: Add --delete-older-than option

	commit 7ef7597f71b282265a9f79afe4608cd3b1bc4127
	Author: Ricardo M. Correia <rcorreia@wizy.org>
	Date:   Tue Mar 11 21:47:21 2014 +0100

	    nix-env: Add support for --delete-generations 15d

	    It will delete all generations older than the specified number of days.

	commit 59c90196850b6ac8c110e54c7f03d6417ed9bf61
	Author: Maxim Ivanov <ivanov.maxim@gmail.com>
	Date:   Sat Mar 29 11:43:11 2014 +0000

	    Fix nix-shell for derivation with multiple outputs

	    If derivation declares multiple outputs and first (default) output
	    if not "out", then "nix-instantiate" calls return path with output
	    names appended after "!". Than suffix must be stripped before
	    ant path checks are done.

	commit 1c2550a2ae826c422cf6d34f1c5c3e687474929d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Mar 30 00:49:23 2014 +0100

	    boost::shared_ptr -> std::shared_ptr

	commit 9becaa041f4a597dc085e58ebe8f66a4f95d018e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Mar 29 22:20:33 2014 +0100

	    Drop pointless #include

	commit acb8facbbc3ae0795987bd03a3dc2c17217d6172
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Mar 29 22:14:11 2014 +0100

	    Fix potential segfault in waitForInput()

	    Since the addition of build-max-log-size, a call to
	    handleChildOutput() can result in cancellation of a goal.  This
	    invalidated the "j" iterator in the waitForInput() loop, even though
	    it was still used afterwards.  Likewise for the maxSilentTime
	    handling.

	    Probably fixes #231.  At least it gets rid of the valgrind warnings.

	commit 90dc50b07c3939dda44fde79f696f64bf8f2f4d7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Mar 29 20:20:14 2014 +0100

	    restoreSIGPIPE(): Fill in sa_mask

	    Issue #231.

	commit 49009573bc2eacd823d57433daf1f59dfe415065
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 28 16:59:26 2014 +0100

	    Don't interpret strings as format strings

	    Ludo reported this error:

	      unexpected Nix daemon error: boost::too_few_args: format-string refered to more arguments than were passed

	    coming from this line:

	      printMsg(lvlError, run.program + ": " + string(err, 0, p));

	    The problem here is that the string ends up implicitly converted to a
	    Boost format() object, so % characters are treated specially.  I
	    always assumed (wrongly) that strings are converted to a format object
	    that outputs the string as-is.

	    Since this assumption appears in several places that may be hard to
	    grep for, I've added some C++ type hackery to ensures that the right
	    thing happens.  So you don't have to worry about % in statements like

	      printMsg(lvlError, "foo: " + s);

	    or

	      throw Error("foo: " + s);

	commit 24cb65efc3c34e24fc653779a4d42cf4f31c6737
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Fri Mar 21 13:54:53 2014 +0100

	    Make /dev/kvm optional

	    The daemon now creates /dev deterministically (thanks!).  However, it
	    expects /dev/kvm to be present.

	    The patch below restricts that requirement (1) to Linux-based systems,
	    and (2) to systems where /dev/kvm already exists.

	    I’m not sure about the way to handle (2).  We could special-case
	    /dev/kvm and create it (instead of bind-mounting it) in the chroot, so
	    it’s always available; however, it wouldn’t help much since most likely,
	    if /dev/kvm missing, then KVM support is missing.

	commit 3fc056927c962ec9778e94528f2f9ae316afca4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 18 23:23:55 2014 +0100

	    Fix tabs

	commit 51800e06dec91282b81fc41e56d1e9325849d2c2
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Tue Mar 18 23:17:14 2014 +0100

	    Allow recovery from isValidPath RPCs with an invalid path

	    Currently, clients cannot recover from an isValidPath RPC with an
	    invalid path parameter because the daemon closes the connection when
	    that happens.

	    More precisely:

	      1. in performOp, wopIsValidPath case, ‘readStorePath’ raises an
	         ‘Error’ exception;

	      2. that exception is caught by the handler in ‘processConnection’;

	      3. the handler determines errorAllowed == false, and thus exits after
	         sending the message.

	    This last part is fixed by calling ‘startWork’ early on, as in the patch
	    below.

	    The same reasoning could be applied to all the RPCs that take one or
	    more store paths as inputs, but isValidPath is, by definition, likely to
	    be passed invalid paths in the first place, so it’s important for this
	    one to allow recovery.

	commit f93e97517e449cb1b3c7bdf8076812276b4cb2cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 17 17:35:11 2014 +0100

	    Fix -j and other flags when using the daemon

	commit 77e2cc6c8ed1206c029218d3bc22575202a73b4c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 17 17:33:13 2014 +0100

	    nix-build: Fix --cores flag

	commit fb8d8f5428ec37a40656d64d9190fdc32b0c769b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 12 14:42:25 2014 +0100

	    Remove unnecessary null pointer checks

	    Fixes #225.

	commit 006f24c7faf146d97742c1d7cc270ec107fa2e56
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 12 14:25:48 2014 +0100

	    Document nix-env -q --json

	commit d435e46daa98ffd268b6bb7221b0f3841f3a63ef
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 12 14:15:37 2014 +0100

	    Generate release notes again

	commit e9934bb5ada1a974744c61479ca50c75c82e5836
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 12 13:58:06 2014 +0100

	    Update release notes for 1.7

	commit 25386e5edc2d65c84ce824d2c964a5c029f4c30d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 11 17:31:13 2014 +0100

	    Fix passing meta attribute to buildenv.nix

	    Since the meta attributes were not sorted, attribute lookup could
	    fail, leading to package priorities and active flags not working
	    correctly.

	    Broken since 0f24400d90daf65cf20142a662f8245008437e2c.

	commit 92a848f674f371d675f461d2a7a6810d492dd4ea
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 11 13:16:21 2014 +0100

	    Fix typos

	commit 2f2a20ed18535ba819225fabe9a4cf2f37d2edb1
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Mar 10 07:09:07 2014 -0400

	    Document null dynamic attrs

	commit 049a379ec6ca755bcc077fd0e8da186ff76b8679
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Mar 9 14:41:02 2014 -0400

	    The expr of AttrNames/DynamicAttrDefs is always an ExprConcatStrings

	commit 908e9ce259710037ae9824a3246143e46e27e867
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Mar 9 14:24:47 2014 -0400

	    If a dynamic attribute name evaluates to null, remove it from the set

	commit 2caab8166045135bb78fd93dc9778a4d25d9499f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 5 16:18:13 2014 +0100

	    Revert "Make ifs and asserts tail-recursive"

	    This reverts commit 273322c7732093a354e86df82cf75d6604b8bce8.

	commit f7e077ad275a0f405b750e2b19fedbeadc6f8a15
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Mar 5 11:11:24 2014 +0100

	    Install missing Boost headers

	    http://hydra.nixos.org/build/9328376

	commit d6a45f6bdbf7c71eda9e4ab1ab78b373be5422b9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 3 15:29:58 2014 +0100

	    Don't set an absolute soname

	commit a3767628481eefc956eb9d9d70eda62930549205
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 3 15:19:04 2014 +0100

	    Add support for making relocatable packages using $ORIGIN

	commit 3a86888fd7da44782233adf9fde34b6605e015bd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 28 14:01:26 2014 +0100

	    Typo

	commit 4eac3b2471063a3726790368665df963e809fc4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 28 12:13:20 2014 +0100

	    Add a variable GLOBAL_CXXFLAGS_PCH for use by precompiled headers

	    You don't want to use GLOBAL_CXXFLAGS for passing flags like
	    "-include-pch" (clang), because that means you cannot use
	    GLOBAL_CXXFLAGS when generating the PCH.

	commit 4e7e498ff95b553227a26fc20549bd69995a0b08
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 28 12:01:42 2014 +0100

	    Add variable GLOBAL_COMMON_DEPS

	    This is a list of dependencies on which all C/C++ object files depend.
	    Primarily useful for global precompiled headers.

	commit 1017bd68ea9264afe8b9d672653ca8c6271611d5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 27 23:25:03 2014 +0100

	    Set up a private /dev/pts in the chroot

	commit 3fd01b171a74d28dc8e48b9ee5f2d0e9a3915fb8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 27 23:17:53 2014 +0100

	    Set up a minimal /dev in chroots

	    Not bind-mounting the /dev from the host also solves the problem with
	    /dev/shm being a symlink to something not in the chroot.

	commit c9f6232304558cbdafb14e13e316e539f5bed72e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 27 21:47:59 2014 +0100

	    Correctly detect infinite recursion in function application

	    If we're evaluating some application ‘v = f x’, we can't store ‘f’
	    temporarily in ‘v’, because if ‘f x’ refers to ‘v’, it will get ‘f’
	    rather than an infinite recursion error.

	    Unfortunately, this breaks the tail call optimisation introduced in
	    c897bac54954373f63511702731fe2cb23c0c98e.

	    Fixes #217.

	commit 29cde917fe6b8f2e669c8bf10b38f640045c83b8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 27 13:31:33 2014 +0100

	    Fix deadlock in SubstitutionGoal

	    We were relying on SubstitutionGoal's destructor releasing the lock,
	    but if a goal is a top-level goal, the destructor won't run in a
	    timely manner since its reference count won't drop to zero.  So
	    release it explicitly.

	    Fixes #178.

	commit 7c7707638a446f91893cdc21b9e0638d2ebd42d3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 22:41:29 2014 +0100

	    Doh

	commit 788097382743dccc2e6de02c0b0342c9bb693b37
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 19:12:31 2014 +0100

	    Test trace and addErrorContext

	commit 5ad263c26b5b9cc0ba067050e4a09b2491c9d40c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 19:08:44 2014 +0100

	    Test some more primops

	commit 3d0a9ec8258fc2a6ec6a73e249aa38fbd03207d8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:59:01 2014 +0100

	    Test executables in NARs

	commit 91f25f0510db32d627bf5ed7d4067b90e37f2f86
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:55:18 2014 +0100

	    And another one

	commit 432328cc550cea6b6ab23b3eeca69dc2307c5c74
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:49:36 2014 +0100

	    Remove another unused function

	commit 509993e5983e333f5a50ee75d71c742590d304fb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:48:32 2014 +0100

	    Remove unused function

	commit d58ceae022ad887686e55068db7229f931eb96af
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:45:26 2014 +0100

	    Test nix-env --switch-generation

	commit 7bbc68fdff0afe22a517b63f3ca37d9021a5799c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:42:19 2014 +0100

	    Test nix-env --set

	commit a0806389e909203d9c3c1c32a2cc95b50300da59
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:40:08 2014 +0100

	    Test the -b and -s flags of nix-store -q

	commit a9c4a987705b00a6d5e98e0ad7cc44c8bc96ba22
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:33:13 2014 +0100

	    Test ~/.nix-defexpr

	commit 045d3b2ed7aa7678779052a1d0accf53d47988b7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:28:55 2014 +0100

	    Test nix-store --switch-profile and more daemon actions

	commit fac6f8aac0802be4481e7dab53d4875ca8b60ee0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 18:00:46 2014 +0100

	    Test nix-store -q --roots

	commit 84143c4bd80b38a44443e06f1c8c33dc212ccef7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 17:58:53 2014 +0100

	    Test nix-store -l

	commit 19437785ebf515aa0ac63541566d28267f63a333
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 17:53:51 2014 +0100

	    Test nix-store --optimise

	commit fdff3a7eae8a4d2f0e6eae992d3c3cf64e1a3ad3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 17:47:54 2014 +0100

	    Add a test for nix-store --dump-db / --load-db

	commit 506d86394d463d862b212f2f203bdded98a8efab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 17:23:23 2014 +0100

	    Installer: Handle Darwin

	    "cp -r" doesn't copy symlinks properly on Darwin, but "cp -R" does.

	    Fixes #215.

	commit 6b9cd59a41f059bed393f512bf495be09c1d22f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 16:32:46 2014 +0100

	    nix-store -r: Respect --add-root for non-derivations

	    Fixes #68.
	    Fixes #117.

	commit 7f74513b4e5b632b4099702cf4fe2800de7b67f9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 16:07:43 2014 +0100

	    Also provide an option for setting the curl connection timeout

	commit 00d761016a33ff9aa0ea162402d0d846dd1927cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 15:58:37 2014 +0100

	    Respect $NIX_CONNECT_TIMEOUT properly

	    We were 1) using CURLOPT_TIMEOUT instead of CURLOPT_CONNECTTIMEOUT; 2)
	    not passing it to the curl child process.

	    Issue #93.

	commit d761009e3ccdcdd7b150b26f7f35eecf8f2fb59c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 15:24:48 2014 +0100

	    Add ~/.nix-profile/sbin to $PATH

	    Fixes #112.

	commit f14ef84a51e211b3924f59333d98d838ab500740
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 15:21:56 2014 +0100

	    Warn about missing -I paths

	    Fixes #121.  Note that we don't warn about missing $NIX_PATH entries
	    because it's intended that some may be missing (cf. the default
	    $NIX_PATH on NixOS, which includes paths like /etc/nixos/nixpkgs for
	    backward compatibility).

	commit 733214144a7a910001c1c82683db780853bac9b1
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Jan 22 00:33:18 2014 +0000

	    Document dynamic attributes

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 42eb4afd7a38f3024a66da037d9f39859f7bd8f3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 13:58:46 2014 +0100

	    Simplify getting use-ssh-substituter from untrusted users

	commit bf4a577a586d99b7bc4298ae662e312eb73815e2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 13:48:23 2014 +0100

	    Fix broken patch

	commit 8a02fdc38ef5d02115d152a2d3e79ebd8a462e3e
	Author: Ian-Woo Kim <ianwookim@gmail.com>
	Date:   Fri Feb 14 14:44:01 2014 -0800

	    use USER environmental variable if getting user id by getpwuid is failed in perl scripts: download-from-binary-cache.pl and nix-channel

	commit dcaea042fc895667bf6f529471ff9f449629774c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 26 13:40:08 2014 +0100

	    Only start download-via-ssh if it's enabled

	commit df5de9dfd72f9dc3d57157d0496443732a517491
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Feb 19 07:05:15 2014 -0500

	    Add use-ssh-substituter setting.

	    It defaults to false and can be overridden by RemoteStore.

	    Untested currently, just quickly put this together

	commit 36b90e72d7e09b983acfa08f9016e8b3ece5199d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 17:08:01 2014 +0100

	    nix-shell: Add --packages flag

	    This allows you to easily set up a build environment containing the
	    specified packages from Nixpkgs.  For example:

	      $ nix-shell -p sqlite xorg.libX11 hello

	    will start a shell in which the given packages are present.

	commit a897b583733aaf3ee7aa0efe495f9ea046567555
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 16:46:33 2014 +0100

	    nix-instantiate: Allow --dry-run as a synonym for --readonly-mode

	    --dry-run is more consistent with nix-env and nix-store.

	commit e1cf40fa9537162efe0dc19dcea9ae7d043fde66
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 16:34:24 2014 +0100

	    nix-instantiate: Rename --eval-only to --eval, --parse-only to --parse

	commit c31836008e45460513188a3fbeda4416f9153a05
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 16:30:19 2014 +0100

	    nix-instantiate: Add a flag --expr / -E to read expressions from the command line

	    This is basically a shortcut for ‘echo 'expr...' | nix-instantiate -’.
	    Also supported by nix-build and nix-shell.

	commit e707a8a526698de2237e6ac89e2f1ce6dbc63269
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 15:32:19 2014 +0100

	    Move manpages around

	commit 73f74ebba09f8bceed46a11f7348b4c398bde6f3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 19 15:01:04 2014 +0100

	    nix-shell: Don't leave a temporary directory in /tmp behind

	commit a7e70518b8d0cb9a72cb3733b563b49caf922966
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sat Feb 15 11:02:47 2014 -0500

	    lexer-tab.o and parser-tab.o require each other's headers

	commit 70a558e20250f7c865fd36c1c678192fe29d088f
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sat Feb 15 10:56:11 2014 -0500

	    Update ignores

	commit 7bef965d6f191efb9c671f49fd187f4214db6120
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 18 13:35:35 2014 +0100

	    Make it work on GNU Make > 3.81 again

	commit 79f699edca26c035a8bcd68c7d5a13b4fbcbf3be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 18 12:57:32 2014 +0100

	    More GNU Make 3.81 compatibility

	commit 8129cf33d959db44344fbffc34a981cc27b29bfb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 18 10:46:30 2014 +0100

	    Slight simplification

	commit 1aa19b24b27c6bbf4d46cdd7f6d06b534dd67c19
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 18 01:01:14 2014 +0100

	    Add a flag ‘--check’ to verify build determinism

	    The flag ‘--check’ to ‘nix-store -r’ or ‘nix-build’ will cause Nix to
	    redo the build of a derivation whose output paths are already valid.
	    If the new output differs from the original output, an error is
	    printed.  This makes it easier to test if a build is deterministic.
	    (Obviously this cannot catch all sources of non-determinism, but it
	    catches the most common one, namely the current time.)

	    For example:

	      $ nix-build '<nixpkgs>' -A patchelf
	      ...
	      $ nix-build '<nixpkgs>' -A patchelf --check
	      error: derivation `/nix/store/1ipvxsdnbhl1rw6siz6x92s7sc8nwkkb-patchelf-0.6' may not be deterministic: hash mismatch in output `/nix/store/4pc1dmw5xkwmc6q3gdc9i5nbjl4dkjpp-patchelf-0.6.drv'

	    The --check build fails if not all outputs are valid.  Thus the first
	    call to nix-build is necessary to ensure that all outputs are valid.

	    The current outputs are left untouched: the new outputs are either put
	    in a chroot or diverted to a different location in the store using
	    hash rewriting.

	commit 4ec626a286afd4a9596357fc6d36aaf8bc07442a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 23:24:12 2014 +0100

	    Test nix-store --verify-path and --repair-path

	commit 99f14c25842a897a1a352a3b3be7c0362cb0313f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 23:10:40 2014 +0100

	    Don't build on Debian 6.0

	    Its linker is too old to understand --no-copy-dt-needed-entries.

	    http://hydra.nixos.org/build/9113883

	commit b6def5b542d35eaed5e8cbc6eaa9bbf644262686
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 23:09:48 2014 +0100

	    Make --repair work on Darwin

	    Mac OS X doesn't allow renaming a read-only directory.

	    http://hydra.nixos.org/build/9113895

	commit dfbcb7c403363c21c1eab8082ffaade29bba9036
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 23:04:52 2014 +0100

	    Refactoring

	commit 71adb090f05532b2116e952b617048abd0a6081d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 22:58:21 2014 +0100

	    When using a build hook, only copy missing paths

	commit 69fe6c58faa91c3b8f844e1aafca26354ea14425
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 22:25:15 2014 +0100

	    Move some code around

	    In particular, do replacing of valid paths during repair later.  This
	    prevents us from replacing a valid path after the build fails.

	commit 1da6ae4f9904f7e09166085a2cfed8887e0e86d4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 14:48:50 2014 +0100

	    nix-store --gc --max-freed: Support a unit specifier

	    E.g. "--max-freed 10G" means "free ten gigabytes".

	commit 00d30496ca32145f55891364ddcf3d4af87f05d5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 14:15:56 2014 +0100

	    Heuristically detect if a build may have failed due to a full disk

	    This will allow Hydra to detect that a build should not be marked as
	    "permanently failed", allowing it to be retried later.

	commit e81d38c02b267eea93a91de3e8a00b185355d681
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 13:34:24 2014 +0100

	    nix-shell: Execute shellHook if it exists

	    Since normal builds don't execute shellHook, this allows nix-shell
	    specific customisation.  Suggested by Domen.

	commit 832377bbd6ccd43895ac346131cafe4901f7996b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 17 12:22:50 2014 +0100

	    Add a test for repairing paths

	commit 581a160c11dd3de66d9cd1a6e01c0641909546ef
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 14 20:12:04 2014 +0100

	    Add a function for looking up programs in $PATH

	commit a9d99ab55fdaa1c9dde87eaa8d289ecdb8cf9068
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 14 12:31:10 2014 +0100

	    download-via-ssh: Use readStorePath

	commit 4db572062ccf318a6524abb8da046592a570eb94
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 14 12:20:12 2014 +0100

	    download-via-ssh: Show where we're downloading from

	commit dba33d4018c07699b59f024ca61442c896579c64
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 14 11:48:42 2014 +0100

	    Minor style fixes

	commit 61fd494d760d667649fa48665f9aa75ba88a1eb6
	Merge: f9fc6ac f67f527
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 14 11:42:47 2014 +0100

	    Merge remote-tracking branch 'shlevy/ssh-substituter'

	commit f67f52751f21b2fe70b5a7352053f130eb6f0f59
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Feb 12 07:33:07 2014 -0500

	    Indendation fix

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 62eb9eb76ddacc1aa97400bef9f25b6ca4c50c8c
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Feb 12 07:27:45 2014 -0500

	    Remove relic of old code

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 7438f0bc2bc4b92bddf7159744ab2923e34b7457
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Feb 12 07:26:35 2014 -0500

	    error messages start in lowercase

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 2246aa77d291e07141f6a508e46730e2c28e1d84
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Feb 12 07:22:36 2014 -0500

	    Remove using declarations from download-via-ssh

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit f9fc6acbf4eadd2d9018d3da14394fdfbddde5f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 12 10:53:22 2014 +0100

	    Document current meaning of preferLocalBuild

	    Closes #208.

	commit a35c6eb4a2209716fe1d40cebad2b3adb5d05e0f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 11 14:15:57 2014 +0100

	    Support setting CFLAGS and CXXFLAGS for libraries/programs

	commit 1f841c9d50a100a3d40fec6260d36ec9ee309af3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 10 17:42:36 2014 +0100

	    Force use of Bash

	    "echo -n" doesn't work with /bin/sh on Darwin.

	commit 57386c9baee78e50eb0c4a901ca9e1c147dc9777
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 10 16:35:59 2014 +0100

	    Binary tarball: Automatically create /nix

	    The tarball can now be unpacked anywhere.  The installation script
	    uses "sudo" to create /nix if it doesn't exist.  It also fetches the
	    nixpkgs-unstable channel.

	commit c89d6b9b63b629ff936a56855be5689523910c58
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Feb 10 07:43:13 2014 -0500

	    nix-store --serve: Use a versioned protocol

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 38c3beac1a8ac9ddf4fdbbcafd400dabcf195076
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Feb 10 06:52:48 2014 -0500

	    Move StoreApi::serve into opServe

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 16146031659eae475cd5933b8553b13d725ca436
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Feb 10 06:49:37 2014 -0500

	    Pass in params by const ref

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 78d979567fa304fa4445fe7403932d9d97183ebd
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Feb 10 06:43:29 2014 -0500

	    Clarify comment

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit c5839752b9d5099d4b5e7bcfc853581673e779f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 10 10:50:29 2014 +0100

	    Binary tarball: Automatically fetch the Nixpkgs channel

	commit b632153ebd1bf8d773872eb36f9ad335d2c89fab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 10 10:25:13 2014 +0100

	    nix-shell: Use shell.nix as the default expression if it exists

	commit 64e23d0a38f316a07cef0960d0ed74a450214283
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sat Feb 8 00:05:46 2014 -0500

	    Add download-via-ssh substituter

	    This substituter connects to a remote host, runs nix-store --serve
	    there, and then forwards substituter commands on to the remote host and
	    sends their results to the calling program. The ssh-substituter-hosts
	    option can be specified as a list of hosts to try.

	    This is an initial implementation and, while it works, it has some
	    limitations:

	    * Only the first host is used
	    * There is no caching of query results (all queries are sent to the
	      remote machine)
	    * There is no informative output (such as progress bars)
	    * Some failure modes may cause unhelpful error messages
	    * There is no concept of trusted-ssh-substituter-hosts

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 5671188eb2822b7392a6affa5ebe2f1eb8f521a0
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Feb 7 16:56:00 2014 -0500

	    nix-store --serve: Flush out after every loop

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 73874629ef59dc3b237a2c316179e722f971bb5e
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Feb 7 16:17:52 2014 -0500

	    nix-store --serve: Use dump instead of export

	    Also remove signing support

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 188f96500bc16891b22c684ad96122635667a8ff
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Feb 7 15:29:32 2014 -0500

	    nix-store --serve: Don't fail if asked for info about non-valid path

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 94884475947ca8c44dda51d83f3c1fbfeff5ccc0
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Feb 7 14:07:31 2014 -0500

	    nix-store --serve: Don't loop forever

	    nix-store --export takes a tmproot, which can only release by exiting.
	    Substituters don't currently work in a way that could take advantage of
	    the looping, anyway.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 3a38d0f3565a02c034c29b264aceb0eb78dac005
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Feb 6 11:52:03 2014 -0500

	    Add the nix-store --serve command

	    This is essentially the substituter API operating on the local store,
	    which will be used by the ssh substituter. It runs in a loop rather than
	    just taking one command so that in the future nix will be able to keep
	    one connection open for multiple instances of the substituter.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 84a8b5e9af2df4ed7f7860a6768daf83f72724ca
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Feb 4 10:37:10 2014 -0500

	    nix-instantiate --eval-only --read-write-mode: Don't depend on ordering

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit e4058fab64d82ddb7723142c7c595e80eeba0f3e
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Feb 4 10:35:30 2014 -0500

	    Rename --no-readonly-mode --read-write-mode

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 0c3e8a616e8e243ee45c78491fe86f50230d82b9
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Feb 4 09:17:59 2014 -0500

	    nix-instantiate: Add a --no-readonly-mode flag

	    This allows running nix-instantiate --eval-only without performing the
	    evaluation in readonly mode, letting features like import from
	    derivation and automatic substitution of builtins.storePath paths work.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 0432bc52ea21bb7b60477965054362f7414c569f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 7 17:34:39 2014 +0100

	    Fix the RPM build

	commit 7fab23e237b36a7ca2df6f34eb5febe4c851db42
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 7 17:15:00 2014 +0100

	    Install header files

	commit 764d90597a2ef9f5f5a5041993b728e020fb08b0
	Merge: 2a469ad a210c99
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 7 16:27:34 2014 +0100

	    Merge commit 'a210c995cdd9279ed4137ec5d2e4cc928cb36097'

	commit a210c995cdd9279ed4137ec5d2e4cc928cb36097
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 7 15:06:21 2014 +0100

	    Support DESTDIR

	commit 97f8e9bc76b08ac6d63c6419490f8fcc9670a58b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 6 19:06:08 2014 +0100

	    Remove dead code

	commit 2a469ad31da7cac5c4ecab6838c364956319821f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 6 14:21:14 2014 +0100

	    Set a maintainer address

	    Issue #202.

	commit 1f94ec3924f132ae6d92b29631a59f9818ba4e31
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 6 13:54:44 2014 +0100

	    Clean up a test warning

	commit 20d059892819d2f06f4da8c1150c91e16df1f8cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 6 13:51:57 2014 +0100

	    Drop dependency on ‘expr’

	    http://hydra.nixos.org/build/8715639

	    Not sure why this causes a failure now.

	commit 4161fce472a8875427e73776d0e8665ca49c1835
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 6 10:59:58 2014 +0100

	    Create the target directory of libraries and programs

	commit 80b691316c4b15e69c63c285b8ed6cc72fb95e93
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 4 11:08:41 2014 +0100

	    Fix version in nix.spec

	    http://hydra.nixos.org/build/8715502

	commit 4ee6001f95908578a1693c0fbf7b7fdc309b86c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 4 11:02:49 2014 +0100

	    GNU Make 3.81 compatibility

	    3.81 doesn't understand the ‘define foo =’ syntax, which was added in
	    3.82.  So use ‘define foo’ instead.

	commit 0da82efa5d67ab1eb8b8cc066704d7f863451d5b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 4 11:02:49 2014 +0100

	    GNU Make 3.81 compatibility

	    3.81 doesn't understand the ‘define foo =’ syntax, which was added in
	    3.82.  So use ‘define foo’ instead.

	commit 143224f7cd6f6667047a1683c1ede4e1f7816843
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 4 10:09:45 2014 +0100

	    Add nix.spec to the distribution

	commit d210cdc4355bb48786b474e41a8ed7f1a152626f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 3 22:36:07 2014 +0100

	    Fix assertion failure in ‘nix-store --load-db’

	    Namely:

	      nix-store: derivations.cc:242: nix::Hash nix::hashDerivationModulo(nix::StoreAPI&, nix::Derivation): Assertion `store.isValidPath(i->first)' failed.

	    This happened because of the derivation output correctness check being
	    applied before the references of a derivation are valid.

	commit 73a775f3b757d105a9987c5e469d6a3e8f32024f
	Merge: d6582c0 8468806
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 3 19:57:02 2014 +0100

	    Merge commit '8468806552d6730abec6431c42b5b0e897c0222c'

	commit 8468806552d6730abec6431c42b5b0e897c0222c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Feb 3 17:05:55 2014 +0100

	    Add a basic README

	commit d6582c04c169d7ac32820d855de92ca4e4969de3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 16:57:38 2014 +0100

	    Give a friendly error message if the DB directory is not writable

	    Previously we would say "error: setting synchronous mode: unable to
	    open database file" which isn't very helpful.

	commit 2f9bb5c7e744ddca3fbe5576e520a3e80c106c55
	Merge: c5ba081 6dca720
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 16:41:52 2014 +0100

	    Merge branch 'make'

	commit 6dca72006aa9b1cf2f226bb5b538e744fcab976f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 16:30:24 2014 +0100

	    Only run "git ls-files" when doing "make check"

	commit 2a97f7b039be4cd290076707e1b02d04d3b257b6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 16:08:59 2014 +0100

	    Fix logging test

	commit 965218a62a195632fe754307e09d4d4abd286c82
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 16:08:51 2014 +0100

	    Remove obsolete file

	commit b6465ae5d3efb057b82f31e10112cc359b9afdfd
	Merge: 762ef46 28dc488
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 15:37:59 2014 +0100

	    Merge commit '28dc4883356a50f2805a3e3c819a541c44a4ff0a' into make

	commit 762ef464f843a0fe50e25ba07d11296b1540080e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 15:37:50 2014 +0100

	    Fix the nix-profile test

	commit 28dc4883356a50f2805a3e3c819a541c44a4ff0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 15:33:27 2014 +0100

	    installcheck: Don't depend on install

	    This is a hack to prevent "installcheck" from clobbering files fixed
	    up by Nixpkgs' fixupPhase.

	commit 844d83352c23db4a3131ac2b11b9ed2af03cdfd6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 15:18:48 2014 +0100

	    More "make dist" fixes

	commit 74ca70da3a6d2f110a9dccf15c46422b1b078e3f
	Merge: 6ef32bd 1eff3ad
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 14:38:28 2014 +0100

	    Add 'mk/' from commit '1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545'

	    git-subtree-dir: mk
	    git-subtree-mainline: 6ef32bddc1f10034322966b3a5b85af7b9cdc4d8
	    git-subtree-split: 1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545

	commit 6ef32bddc1f10034322966b3a5b85af7b9cdc4d8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 14:28:31 2014 +0100

	    Fix "make dist"

	commit 1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 14:36:44 2014 +0100

	    Add missing file

	commit 6f8aa145d43d0453d74e70d1d33cfa6e21fddf89
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 14:22:08 2014 +0100

	    Improve "make dist"

	commit 0c6d62cf27b3b22fa60bddad16ea8e8d062e4a99
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 12:26:38 2014 +0100

	    Remove Automakefiles

	commit 16e7d692092449263880ee795ec419cecbe22d24
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 12:23:14 2014 +0100

	    Update Makefile variable names

	commit ec1738589a3aa1dd59e476de09ae2721d51b3e6e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 12:20:06 2014 +0100

	    Make variable names more regular

	commit 35107038f7c726f5ef8d7ab014ad45c73970e65d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 11:47:34 2014 +0100

	    Support adding "make help" text

	commit f324b49ea19e606f84b89ecb499f0e961646cd50
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 11:31:25 2014 +0100

	    Change dependency file names from foo.dep to .foo.o.dep

	commit ac8c2ef1aa30c50b568883d2051335a66437694f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Feb 1 11:30:21 2014 +0100

	    Build/install manual

	commit 4271927c5be2c5b87ca83682d1f2bd71d5ce4a66
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jan 31 15:33:12 2014 +0100

	    Add support for installing man-pages

	commit e0234dfddc8343a6bca80ba6e6e93d083ce51a85
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 30 12:11:06 2014 +0100

	    Rename Makefile -> local.mk

	commit 4a2ec9c6598aafb98e5495c2cf3a24e166668790
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 30 12:08:26 2014 +0100

	    Install nix-worker symlink

	commit c5ba08133370f98de722c978bda3b446721985de
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 23 13:33:00 2014 +0100

	    nix-shell: Add --impure flag

	    This is currently the default, but I might change that to --pure in
	    the future.

	commit 79dee4283de798da8728dd8504cdc4ab5c9b9fe0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 23 13:31:29 2014 +0100

	    nix-shell: Preserve the TZ variable of the user

	commit 7fdee6e13695a1e85b0b3f476a33a9e934af3f0b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 23 13:27:22 2014 +0100

	    nix-build: Refactor

	commit 5311b2b25084e53ff132df96d66ab06efead0853
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 23 10:49:53 2014 +0100

	    Clang doesn't know the "-z defs" flag

	commit 94f9c14d526abfe9b18045fc638e8f5a3a670210
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 18:29:55 2014 +0100

	    Fix some clang warnings

	commit a26307b28192e61bc06b5f5ef42f0fb51858d822
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 17:39:19 2014 +0100

	    Fix build

	commit 625ffd441d8c98331ee357f4900fa50dd9be05bc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 16:38:03 2014 +0100

	    Ugly hack to fix building with clang

	commit 68cde53c47e5447d2c91f5fe4521b5209af7b73e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 15:34:04 2014 +0100

	    Fix building against Bison 3.0.2

	commit 81628a6ccc6ce496735b22492bee15c9ad46f072
	Merge: b1db599 5ef8508
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 15:30:01 2014 +0100

	    Merge branch 'master' into make

	    Conflicts:
	    	src/libexpr/eval.cc

	commit 5ef8508a92997dbd7f8aa501b64fd283fb1c7bb8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 15:11:57 2014 +0100

	    Remove unused type

	commit c8fff6a77fb63dc8043a7a468feea37b41bfec06
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 21 15:09:59 2014 +0100

	    Fix evaluation

	commit 0e2ca268187e0a1c17f2ba58ce53f59682df2fc4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 20 14:23:07 2014 +0100

	    nix.spec: Remove "make check" since it's a no-op

	commit 0f2f44bb0ff8aafc160d8b236201ce510ca0b876
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 20 14:22:59 2014 +0100

	    Build Fedora 20 RPMs

	commit bf0ad8aabca67b4faabe3a1ac3c57884ae9924f4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 15 14:34:49 2014 +0100

	    nix-profile.sh: Add the Nixpkgs channel to $NIX_PATH

	commit f5e5793cd2f32bc0f0d072b38cda742830f40f25
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jan 6 13:53:57 2014 -0500

	    Bare dynamic attrs: Match interpolation semantics

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit f9913f4422d1317af3c6b5aff37ad18b78083eb5
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jan 6 10:27:26 2014 -0500

	    Allow "bare" dynamic attrs

	    Now, in addition to a."${b}".c, you can write a.${b}.c (applicable
	    wherever dynamic attributes are valid).

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit e640d671443e291b3ca5cc0575919d6fcf14a157
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 13 13:50:12 2014 +0100

	    Document nulls

	commit f1357059a441a588b9a2b78d3500d7068238b478
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 13 13:46:44 2014 +0100

	    nix-shell: Don't set NIX_INDENT_MAKE

	    It generally is not useful in interactive environments (and messes up
	    some non-ANSI-compliant terminals).

	commit ea59f39326c8e9dc42dfed4bcbf597fbce58797c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 13 13:42:29 2014 +0100

	    nix-shell: Set $IN_NIX_SHELL before evaluating

	commit ca73c0102fc68ece171d7cc062e464b4d418d07c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jan 10 22:31:38 2014 +0100

	    Nicer Make output

	    E.g.

	      CXX    src/nix-log2xml/log2xml.o
	      CC     src/bsdiff-4.3/bsdiff.o
	      GEN    scripts/nix-channel
	      LD     src/libmain/libnixmain.so

	commit e991ab942b6ed1bc50a63afafe55ffe5cae8cbad
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 22:14:34 2014 +0100

	    Add support for building shared libraries on Mac OS X

	commit b1db599dd05e86f65e73dc40584913e6e78c2bac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 22:10:35 2014 +0100

	    Generate schema.sql.hh

	commit cf918b889b2ff30d1532a62d00c21007d0cb25cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 17:33:55 2014 +0100

	    Handle systems where "echo -n" doesn't work

	commit 70d8e8fdded9e21995fecc3ecc68e14cf4f53be7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 16:57:38 2014 +0100

	    Declare template_files as a simply expanded variable

	commit 814a73227f9571d8fbd831fedced5e87cd9c926b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 16:54:01 2014 +0100

	    Remove duplicate elements from *_SOURCES

	    This is useful when you do:

	      foo_SOURCES := $(wildcard *.cc) foo.cc

	    where foo.cc is a generated file.  In this case, if foo.cc already
	    exists, you get foo.cc twice in foo_SOURCES, leading to a link error.

	commit b4c684e0f9c6890e13f9a5cc90b5e379b3d1f75d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 16:53:47 2014 +0100

	    Update Makefiles

	commit 568b1b0a8a65cb255d6a7a33dfe2c15df3212103
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 16:15:16 2014 +0100

	    Remove mk subdirectory in preparation for "git subtree"

	commit 55c9a40613fefda6622aa9acd22cce4006fd1077
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 9 16:12:02 2014 +0100

	    Move stuff to top-level

	    This makes it easier to use with "git subtree".

	commit f4013b6189af731af42f99684ed7721076a54a0d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 8 17:56:58 2014 +0100

	    Fix signed-binary-caches test

	commit ea38e39a203a96451b1d0469103b737de5a85105
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 8 17:56:30 2014 +0100

	    Test whether Nix correctly checks the hash of downloaded NARs

	commit 11cb4bfb257f18c906ef1d6f14ed450be8fa49fe
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 8 17:32:40 2014 +0100

	    Fix checking of NAR hashes

	    *headdesk*
	    *headdesk*
	    *headdesk*

	    So since commit 22144afa8d9f8968da351618a1347072a93bd8aa, Nix hasn't
	    actually checked whether the content of a downloaded NAR matches the
	    hash specified in the manifest / NAR info file.  Urghhh...

	commit 0fdf4da0e979f992db75cc17376e455ddc5a96d8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 8 15:23:41 2014 +0100

	    Support cryptographically signed binary caches

	    NAR info files in binary caches can now have a cryptographic signature
	    that Nix will verify before using the corresponding NAR file.

	    To create a private/public key pair for signing and verifying a binary
	    cache, do:

	      $ openssl genrsa -out ./cache-key.sec 2048
	      $ openssl rsa -in ./cache-key.sec -pubout > ./cache-key.pub

	    You should also come up with a symbolic name for the key, such as
	    "cache.example.org-1".  This will be used by clients to look up the
	    public key.  (It's a good idea to number keys, in case you ever need
	    to revoke/replace one.)

	    To create a binary cache signed with the private key:

	      $ nix-push --dest /path/to/binary-cache --key ./cache-key.sec --key-name cache.example.org-1

	    The public key (cache-key.pub) should be distributed to the clients.
	    They should have a nix.conf should contain something like:

	      signed-binary-caches = *
	      binary-cache-public-key-cache.example.org-1 = /path/to/cache-key.pub

	    If all works well, then if Nix fetches something from the signed
	    binary cache, you will see a message like:

	      *** Downloading ‘http://cache.example.org/nar/7dppcj5sc1nda7l54rjc0g5l1hamj09j-subversion-1.7.11’ (signed by ‘cache.example.org-1’) to ‘/nix/store/7dppcj5sc1nda7l54rjc0g5l1hamj09j-subversion-1.7.11’...

	    On the other hand, if the signature is wrong, you get a message like

	      NAR info file `http://cache.example.org/7dppcj5sc1nda7l54rjc0g5l1hamj09j.narinfo' has an invalid signature; ignoring

	    Signatures are implemented as a single line appended to the NAR info
	    file, which looks like this:

	      Signature: 1;cache.example.org-1;HQ9Xzyanq9iV...muQ==

	    Thus the signature has 3 fields: a version (currently "1"), the ID of
	    key, and the base64-encoded signature of the SHA-256 hash of the
	    contents of the NAR info file up to but not including the Signature
	    line.

	    Issue #75.

	commit 405434e084fa994cc957249db7787731e9311fa8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 6 17:38:04 2014 +0100

	    Revert "nix-shell: Set $IN_NIX_SHELL before evaluation"

	    This reverts commit 0c1198cf08576f16633b2344dc6513cefb567cfc.

	commit 7a61c88dbb517453f73c5b4ede4a4468e38cae32
	Merge: 485f474 cd49fe4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 6 15:46:18 2014 +0100

	    Merge branch 'dynamic-attrs-no-sugar' of github.com:shlevy/nix

	commit 485f4740ee3ba4228ba3345873eb530466a8f42d
	Author: Domen Kožar <domen@dev.si>
	Date:   Wed Jan 1 18:10:48 2014 +0100

	    wording

	commit fe23e28f12f5eedf387c974c73813f6de8320b21
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 6 11:34:05 2014 +0100

	    Disable FreeBSD tests for now

	    The FreeBSD machines in the build farm are currently unreachable.

	commit 4252b5a645138e84fa8916dfc3f8d6af8e74fc28
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 6 11:32:22 2014 +0100

	    Disable the tail call test

	    On i686-linux, GCC stubbornly refuses to do tail-call optimisation.
	    Don't know why.

	    http://hydra.nixos.org/build/7300170

	commit cd49fe4f9b338242e1e404fd4dbb0a3ebc1c3a12
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Dec 31 23:56:26 2013 +0000

	    Don't use any syntactic sugar for dynamic attrs

	    This doesn't change any functionality but moves some behavior out of the
	    parser and into the evaluator in order to simplify the code.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 6f3a51809a2603574a16573bd46b95e4ff5233bd
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Dec 31 17:57:10 2013 -0500

	    Fold dynamic binds handling into addAttr

	    Since addAttr has to iterate through the AttrPath we pass it, it makes
	    more sense to just iterate through the AttrNames in addAttr instead. As
	    an added bonus, this allows attrsets where two dynamic attribute paths
	    have the same static leading part (see added test case for an example
	    that failed previously).

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 18fefacf7df570444b332a8a0c2dc4f9d98d4344
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 20 23:25:30 2013 -0400

	    Dynamic attrs

	    This adds new syntax for attribute names:

	    * attrs."${name}" => getAttr name attrs
	    * attrs ? "${name}" => isAttrs attrs && hasAttr attrs name
	    * attrs."${name}" or def => if attrs ? "${name}" then attrs."${name}" else def
	    * { "${name}" = value; } => listToAttrs [{ inherit name value; }]

	    Of course, it's a bit more complicated than that. The attribute chains
	    can be arbitrarily long and contain combinations of static and dynamic
	    parts (e.g. attrs."${foo}".bar."${baz}" or qux), which is relatively
	    straightforward for the getAttrs/hasAttrs cases but is more complex for
	    the listToAttrs case due to rules about duplicate attribute definitions.

	    For attribute sets with dynamic attribute names, duplicate static
	    attributes are detected at parse time while duplicate dynamic attributes
	    are detected when the attribute set is forced. So, for example, { a =
	    null; a.b = null; "${"c"}" = true; } will be a parse-time error, while
	    { a = {}; "${"a"}".b = null; c = true; } will be an eval-time error
	    (technically that case could theoretically be detected at parse time,
	    but the general case would require full evaluation). Moreover, duplicate
	    dynamic attributes are not allowed even in cases where they would be
	    with static attributes ({ a.b.d = true; a.b.c = false; } is legal, but {
	    a."${"b"}".d = true; a."${"b"}".c = false; } is not). This restriction
	    might be relaxed in the future in cases where the static variant would
	    not be an error, but it is not obvious that that is desirable.

	    Finally, recursive attribute sets with dynamic attributes have the
	    static attributes in scope but not the dynamic ones. So rec { a = true;
	    "${"b"}" = a; } is equivalent to { a = true; b = true; } but rec {
	    "${"a"}" = true; b = a; } would be an error or use a from the
	    surrounding scope if it exists.

	    Note that the getAttr, getAttr or default, and hasAttr are all
	    implemented purely in the parser as syntactic sugar, while attribute
	    sets with dynamic attribute names required changes to the AST to be
	    implemented cleanly.

	    This is an alternative solution to and closes #167

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 136f2f7046dfed18fde0b5f9933ddfafc1518ef5
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 13 16:55:33 2013 -0400

	    Add the ExprBuiltin Expr type to the AST

	    Certain desugaring schemes may require the parser to use some builtin
	    function to do some of the work (e.g. currently `throw` is used to
	    lazily cause an error if a `<>`-style path is not in the search path)
	    Unfortunately, these names are not reserved keywords, so an expression
	    that uses such a syntactic sugar will not see the expected behavior
	    (see tests/lang/eval-okay-redefine-builtin.nix for an example).

	    This adds the ExprBuiltin AST type, which when evaluated uses the value
	    from the rootmost variable scope (which of course is initialized
	    internally and can't shadow any of the builtins).

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 5ba5993470a6ad532fc8e842084a574a88876b0a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Dec 30 07:58:14 2013 -0500

	    nix-shell --pure: Don't clear IN_NIX_SHELL

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit b352fe2775d09993add893ebff8c0c4c8369182a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 14:18:24 2013 +0100

	    Revert "Scan /proc/<pid>/cmdline for GC roots"

	    This reverts commit 194e3374b89b8b2dec6296923877304bdb5c6ae2.
	    Checking the command line for GC roots means that

	      $ nix-store --delete $path

	    will fail because $path is now a root because it's mentioned on the
	    command line.

	commit 8931bf7168cbbc6a078bed6486b8081652663836
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 13:09:12 2013 +0000

	    Doh

	commit f1e5dedb611d39ecc600fccb4eba4b0de730c5fc
	Author: Petr Rockai <me@mornfall.net>
	Date:   Sun Nov 24 21:22:23 2013 +0100

	    perl: Call loadConfFile() in doInit to avoid screwing sqlite journal mode.

	    If the database is opened through perl bindings (and even though nix.conf has
	    use-sqlite-wal set to false), the database is automatically converted into WAL
	    mode. This makes the next nix process to access the database convert it back to
	    "truncate". If the database is still open at the time in wal mode by the perl
	    program, this fails and crashes the nix doing the wal -> truncate conversion.

	commit 7d203faff6d74d839324cd082236381d20444d8e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 13:56:42 2013 +0100

	    nix-env --set-flag: Barf if a selector doesn't match any installed package

	    Fixes #184.

	commit 194e3374b89b8b2dec6296923877304bdb5c6ae2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 13:31:31 2013 +0100

	    Scan /proc/<pid>/cmdline for GC roots

	commit 769f66216504cd882ac7b6bdfa0dd1ff26f3efe5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 12:19:10 2013 +0000

	    nix-shell: Don't warn about the lack of a GC root

	commit 0c1198cf08576f16633b2344dc6513cefb567cfc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 13:11:41 2013 +0100

	    nix-shell: Set $IN_NIX_SHELL before evaluation

	    This has some hacky applications.

	commit 65a64522403f353880a501b02aca10fb96ea1c26
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 20 13:10:14 2013 +0100

	    nix-shell: Handle --option correctly

	    Fixes #181.

	commit 259086de841d155f7951c2cc50f799a4631aa512
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 18 16:40:48 2013 +0100

	    Add support for building JARs from Java sources

	commit 99ed25accfd968003d3b0d294720828a1348ce47
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 18 15:01:14 2013 +0100

	    Add a function for doing recursive wildcard searches

	    Source: http://blog.jgc.org/2011/07/gnu-make-recursive-wildcard-function.html

	commit 7b0d8fb23d9c71f1efb119c1f267124349c82742
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 17 18:16:04 2013 +0100

	    nix-shell --pure: Keep $TERM

	commit 088552b319d8f5896e6cfd6a8e449b4239696ea2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 17 12:13:48 2013 +0100

	    Set default installation paths

	commit e81b82a2cf0c7e460d02c554c597a6cf9a144e8e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 16 16:51:05 2013 +0100

	    make dryclean: Sort names

	commit a630635d7f0e63a865ddd3b0a3cf2d44c603c0e5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 16 16:49:41 2013 +0100

	    No longer interpret $(..._SOURCES) relative to $(..._DIR)

	commit 4da804651378b612313c8fb71688f71a4717a26e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:39:58 2013 +0100

	    Don't include all *.dep files

	commit 034bbcafafdbec0b2c4d29b1d5018bec20120e77
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:27:47 2013 +0100

	    Add 'make help'

	commit 45131da736f21975e5b6d03f508b49f10621a30e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:24:03 2013 +0100

	    Get rid of whitespace in $(d)

	commit c34f3c5ba4f353d67ec4a88a32c3aa688347aa4d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:22:57 2013 +0100

	    Handle *.cpp extension

	commit dfcc64f556295481bfea0b68cab11604ec131189
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:22:25 2013 +0100

	    Only provide 'make dist' if PACKAGE_NAME is set

	commit 3560f52cc427a4eb368815ae7dd9badffba84f3f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 12 11:22:08 2013 +0100

	    dryclean: Show what actual files would be deleted

	commit 49a385096e08b42277b7105d5d8d1e0e62b6b7a4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 10 15:54:34 2013 +0100

	    Initial commit (imported from the Nix repo)

	commit e36229d27f9ab508e0abf1892f3e8c263d2f8c58
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Dec 5 12:07:05 2013 -0500

	    Bump language version for new storePath feature

	    This will allow e.g. channel expressions to use builtins.storePath IFF
	    it is safe to do so without knowing if the path is valid yet.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 22d665019a3770148929b7504c73bcdbe025ec12
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Dec 5 11:51:54 2013 -0500

	    builtins.storePath: Try to substitute the path if it is not yet valid

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit a6add93d734279db8503951ac6466c275b3c8e4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 10 13:13:59 2013 +0100

	    Garbage collector: Release locks on temporary root files

	    This allows processes waiting for such locks to proceed during the
	    trash deletion phase of the garbage collector.

	commit c5b8fe315162440c1d808bc0a684a412d78bfa76
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 5 14:31:57 2013 -0500

	    Print a trace message if a build fails due to the platform being unknown

	commit bf8b66adcfdc04f2f0f0a482c66dd419a355cad6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 4 13:41:32 2013 -0500

	    Add missing file

	commit f3cf0436b520918e061bf91efef3bb19b99bf726
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 2 20:21:31 2013 +0000

	    Install bsdiff and bspatch in $(libexecdir)/nix

	commit 0202ce6b94f287f70a6723473c73a4c7f135dae4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 18:47:03 2013 +0100

	    Add support for ‘make installcheck’

	commit 9285f0aa2b44427afef7c50f0efae8f74307a7a5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 16:38:33 2013 +0000

	    Add a Makefile for the Perl stuff

	commit 8f08046606c147004642a7569f78bc61ab450419
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 15:51:22 2013 +0000

	    Expand configure variables before writing config.status

	    This way, we can use config.status for generating scripts/* (without
	    ending up with lines like "#! /usr/bin/perl -I${libexecdir}/...").

	commit 7ce0e05ad875657a0fec10e192454b837146e190
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 15:25:13 2013 +0000

	    Rename Makefile.new -> Makefile

	commit 962551a071da87589a97a2f40d72b87d6e6ba9e2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 15:05:56 2013 +0000

	    Add a Makefile for the scripts directory

	commit 1a1d8b073a1d770c8de4f8eb274387b209b32782
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 11:39:21 2013 +0000

	    Add a Makefile for bsdiff

	commit 784feb68392ec4a0bdd45bf0d37f08c3eb1b61ac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 11:29:13 2013 +0000

	    Let ‘make clean’ delete instantiated template files

	commit cac06ed0a4b63bab62ba7629584db602222131f2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 11:26:51 2013 +0000

	    Remove obsolete setting of $CC_FOR_BUILD

	commit b225ccb65455b24141cffd6706b6fba8a4838525
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 11:26:02 2013 +0000

	    Add config.guess, config.sub and install-sh

	    Autoreconf doesn't install these if you're not using Automake.

	commit 0c504a756cbcf58f0fc4b1a9083d372e1dbb50ac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 11:18:41 2013 +0000

	    Don't install Libtool

	commit 2cc591c7b55a1d3e8f667871b0ddf216d81d6b47
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 10:56:14 2013 +0000

	    Don't instantiate Automake makefiles

	commit 79b7c596a994dd426807281c3c34d8cb6bc12e5f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 10:17:37 2013 +0000

	    Use create-dir for installing dynamic libraries

	commit ed0a8dd71ad58d16c24d714ab2b9419285d1ffc0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 10:16:07 2013 +0000

	    Add a function for instantiating Autoconf *.in files

	commit f980755766e7cd74c0c959eaa2a6d4655980e2ea
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 09:50:35 2013 +0000

	    Split Makefile.lib into several *.mk files

	commit e9b6397d2f902eb4f5bf0fd513013d92af074cfc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 09:17:02 2013 +0000

	    Add a rule for creating directories

	    The tricky thing here is that if you have a directory as a
	    prerequisite, you need to declare it as a "order-only prerequisite"
	    ("dir/prog: stuff | dir"), otherwise the target will be rebuilt every
	    time because the timestamp on the directory keeps changing.

	commit 4315acb8c0a40703b17f837ab82e9a691b5c14ab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 25 08:55:19 2013 +0000

	    Add a generic rule for installing files

	commit c7547cff1951aec5e36580a8497dd13020dfc8d3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 23:56:23 2013 +0000

	    Install into $(libdir) instead of $(pkglibdir)

	    We don't need $(pkglibdir) anymore, since the libraries themselves
	    have a "nix" prefix now.

	commit 2bd0fcc9663211cc480f61dc9e05f43ac9ecca69
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 23:53:41 2013 +0000

	    Use libnix as a prefix for all Nix libraries

	    In particular "libutil" was always a problem because it collides with
	    Glibc's libutil.  Even if we install into $(libdir)/nix, the linker
	    sometimes got confused (e.g. if a program links against libstore but
	    not libutil, then ld would report undefined symbols in libstore
	    because it was looking at Glibc's libutil).

	commit f267ff16b4527ca6c083014b93b4568d89221f49
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 23:49:34 2013 +0000

	    Allow libraries to set an actual name different from the symbolic name

	commit abb5bd66dee7afe9560b3a132da42b71d4801274
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 23:42:50 2013 +0000

	    Add Makefile for nix-log2xml

	commit 07c87a8e9ef7bd42995230700169c6a18cf26313
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Nov 24 00:15:25 2013 +0100

	    Consistent naming

	commit c1f3a1a89b717e73c2a8c2315067c495e246457c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Nov 24 00:10:00 2013 +0100

	    Disallow undefined symbols in dynamic libraries by default

	    This encourages that each library declares its own dependencies
	    properly.

	commit 5a1114ecdbbd115ec8aeb1a98326d793ff3e8058
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 20:19:36 2013 +0000

	    Drop the dependency on libgc in libmain

	    Instead, libexpr now depends on libgc.  This means commands like
	    nix-store that don't do any evaluation no longer require libgc.

	commit 06a8ac96e79547c092debfe3b93d78bcb862edc2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 20:15:57 2013 +0000

	    Initialise Boehm GC only once

	commit 90dfb37f147941e5edf262c27e269cdfd1e8dcfb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 20:11:02 2013 +0000

	    Allow (dynamic) libraries to depend on other libraries

	commit 14772783e66a6e67726872926834c0e9f7210e6d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 20:32:20 2013 +0100

	    Support installation of dynamically linked programs

	    Here we need to re-link programs so that their RPATH refers to the
	    installed libraries.

	commit 611868a90904ac233d8476682a4618fdd8c78c50
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 17:04:27 2013 +0000

	    Implement basic ‘make install’

	commit d1b3ca0b4a57f48f94a555c97f6a555c3a1f3639
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Nov 23 17:20:15 2013 +0100

	    Improve building dynamic libraries

	    They now get a correct RPATH.

	commit 6dd74b48f8d587fcc215e9f4721eacace7f8f462
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 20:56:58 2013 +0000

	    Support building dynamic libraries

	commit 9b11a8bfbcfd9e6f40ae8b573d4de492a23b91b9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 20:05:00 2013 +0000

	    Fix building without Boehm GC

	commit 812b5a30ecc9d8f78b54644b37c5c2c4375555bc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 19:51:18 2013 +0000

	    Add a Makefile variable for enabling debug info

	commit ea2f7df5fac0b319b82a4a33ba8b992737fa8c56
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 20:38:30 2013 +0100

	    Introduce variables GLOBAL_CFLAGS and GLOBAL_CXXFLAGS

	    There are flags that must be set, so they shouldn't be overriden by
	    the user's CFLAGS or CXXFLAGS.

	commit 6b5f89f2cf954cae1623a6cd3a8f7eb78e19e85b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 19:30:24 2013 +0000

	    Drop the dependency on Automake

	commit 754c05ed6c3b88f8180ae8686e030b5b02b23d43
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 16:45:52 2013 +0000

	    Rename $(here) to $(d) for brevity, and remove trailing slash

	commit 9a14d5e2f3a0b6ab626b9d22256df8bcc1c585a3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 16:59:09 2013 +0100

	    Automatically regenerate Makefile.config

	    And move some stuff around.

	commit ffdc85fc8afba0828bd1f300fdb4f68de99d7000
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 15:47:47 2013 +0000

	    Respect configure flags

	commit 62e35cc3a893e3bc4ed1fe2a37ba67af9859b4cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 16:42:25 2013 +0100

	    Add ‘make dist’ support

	commit eff6c4b791ad0a8b9a8499fcbcc2add7154d4dca
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 15:41:48 2013 +0000

	    Add missing #include

	commit e0a108b203b40f81df4cb0f1e433476cd8a37491
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 15:25:10 2013 +0000

	    Remove unnecessary line

	commit eaf903f993094af27958b9935635710ffbf42bf6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 16:24:41 2013 +0100

	    Clean more aggressively

	commit 1474ecfe426ef69bbb376df82fd0c48e7dedf606
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 16:22:31 2013 +0100

	    Generate the parser and the lexer

	commit bc96c4518e4430f0cd996b2c77fe8e08d7694efa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 15:10:33 2013 +0000

	    Automatically emit make rules for header files

	commit b8e9efc476abc248a17c9e9cd117f3d53e4a7f63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 15:54:18 2013 +0100

	    New non-recursive, plain Make-based build system

	commit 709cbe4e76e7b0f1b8abddbeb7714e194f6f8a02
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 22 10:00:43 2013 +0000

	    Include <cstring> for memset

	    This should fix building on Illumos.

	commit d4a76ff0e45a609b3a878bc0ccf4ff95ff3e9ecb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 14:45:19 2013 +0100

	    Bump version number

	commit 30b986908eed5d8fd6a2b21da98878f2a0bf19c0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 14:29:39 2013 +0100

	    Check meta values and warn about bad ones

	commit 0f24400d90daf65cf20142a662f8245008437e2c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 14:09:03 2013 +0100

	    Generalise meta attributes

	commit 990126cde03428509191bed132f38050034d342e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 12:08:03 2013 +0000

	    Shorter error message

	commit af94a70ba6bb9ba2eac328133b2a97d405867f68
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 11:18:13 2013 +0100

	    Drop support for user environment manifests in ATerm format

	commit 245e26408fc0954974a1b30991af6d97c1d1e2ce
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 00:41:45 2013 +0100

	    nix-env -q: Add a --json flag

	commit 5fea98111b3cd9b94ed1ebe89953a7757d6d3a69
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 00:33:06 2013 +0100

	    Refactor JSON output

	commit 77c13cdf566ffedc70d8860571afae8a6d43b552
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 19 00:03:11 2013 +0100

	    Add a toJSON primop

	commit 285df765b91588e39d6f35a32e30b84c3cb5be75
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 18 22:22:35 2013 +0100

	    Add a primop unsafeGetAttrPos to return the position of an attribute

	commit fc33fd86b7727365caab44c05a90d5b52209131b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 18 20:14:54 2013 +0100

	    Add a symbol __curPos that expands to the current source location

	    I.e. an attribute set { file = <string>; line = <int>; column = <int>; }.

	commit 90b5e692846d9b7a951155c5ed4fc7cf72b08e31
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 18 10:21:12 2013 +0000

	    Support quoted attribute names in -A

	    This is requires if you have attribute names with dots in them.  So
	    you can now say:

	      $ nix-instantiate '<nixos>' -A 'config.systemd.units."postgresql.service".text' --eval-only

	    Fixes #151.

	commit a478e8a7bb8c24da0ac91b7100bd0e422035c62f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 14 11:57:37 2013 +0100

	    Remove nix-setuid-helper

	    AFAIK, nobody uses it, it's not maintained, and it has no tests.

	commit 89e6781cc5885cbf6284a51c0403dded62ce8bc0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 12 12:51:59 2013 +0100

	    Make function calls show up in stack traces again

	    Note that adding --show-trace prevents functions calls from being
	    tail-recursive, so an expression that evaluates without --show-trace
	    may fail with a stack overflow if --show-trace is given.

	commit 2bcb384e95500ff197fd4888c659ccf0034cf214
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 12 11:31:50 2013 +0000

	    Add a test to check that tail calls run in bounded stack space

	commit c897bac54954373f63511702731fe2cb23c0c98e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 7 17:04:36 2013 +0000

	    Make function calls tail-recursive

	commit 273322c7732093a354e86df82cf75d6604b8bce8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 7 14:33:35 2013 +0100

	    Make ifs and asserts tail-recursive

	    The local Value object prevented g++ from making a tail call.  Not
	    clear why.  In any case, not using a temporary makes g++ do the tail
	    call.

	commit 4badd7ed17b4628d3a8d96e21c900aa91004daaf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 7 12:44:14 2013 +0000

	    Get rid of an intermediary on the stack

	commit 8d6418d46e5f8a2f31417ba363efd2785c49b2eb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 28 22:51:12 2013 +0100

	    Fix building without a garbage collector

	    http://hydra.nixos.org/build/6695350

	commit dec2f195022bcc14f217aa20c1e05e4b7fe9e917
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 28 18:50:58 2013 +0100

	    Fix a segfault in genericClosure

	    It kept temporary data in STL containers that were not scanned by
	    Boehm GC, so Nix programs using genericClosure could randomly crash if
	    the garbage collector kicked in at a bad time.

	    Also make it a bit more efficient by copying points to values rather
	    than values.

	commit 61231449332154170eafc2b80c10328ba736f31e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 28 11:56:37 2013 +0000

	    Drop Cygwin and Solaris builds

	commit 1dacd427cd2d149fe46e0cb43ca45bb9344de2f7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 28 11:56:21 2013 +0000

	    Update release notes, set version for 1.6.1 release

	commit ea6bf0c21fc08ea269514fa9788f8f05fcc54fb5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 28 07:34:44 2013 +0100

	    Slightly optimize listToAttrs

	commit 36e67ff16bc6a4cb96466f58616a95a25250274d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 22:06:39 2013 +0200

	    Undocument obsolete form of "let"

	commit fba17a9043527aad89dbf53d3458ca14a86a421c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 22:05:58 2013 +0200

	    Doc fix

	commit 2d9bb56e554b17488c0f8984f34c026a66cdce67
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 19:10:38 2013 +0200

	    Fix segfault on Darwin

	    Ever since SQLite in Nixpkgs was updated to 3.8.0.2, Nix has randomly
	    segfaulted on Darwin:

	      http://hydra.nixos.org/build/6175515
	      http://hydra.nixos.org/build/6611038

	    It turns out that this is because the binary cache substituter somehow
	    ends up loading two versions of SQLite: the one in Nixpkgs and the
	    other from /usr/lib/libsqlite3.dylib.  It's not exactly clear why the
	    latter is loaded, but it appears to be because WWW::Curl indirectly loads
	    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation,
	    which in turn seems to load /usr/lib/libsqlite3.dylib.  This leads to
	    a segfault when Perl exits:

	      #0  0x00000001010375f4 in sqlite3_finalize ()
	      #1  0x000000010125806e in sqlite_st_destroy ()
	      #2  0x000000010124bc30 in XS_DBD__SQLite__st_DESTROY ()
	      #3  0x00000001001c8155 in XS_DBI_dispatch ()
	      ...
	      #14 0x0000000100023224 in perl_destruct ()
	      #15 0x0000000100000d6a in main ()
	      ...

	    The workaround is to explicitly load DBD::SQLite before WWW::Curl.

	commit 5bc41d78ffcd2952eaddb20ef129f48e94d60cb0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 16:41:04 2013 +0200

	    Rename "attribute sets" to "sets"

	    We don't have any other kind of sets so calling them attribute sets is
	    unnecessarily verbose.

	commit 9e4bb2045548e2166102f4a8eedf43741e1a6a98
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 16:02:08 2013 +0200

	    Manual: Fix broken URLs

	    Fixes #172.

	commit dc341811d6bfb2a33601fe22f11db0a97956f97e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 15:54:23 2013 +0200

	    Add rpm_fedora19i386 to the release-critical builds

	commit 69befd33a9e3600c125803694fbac96053f943b0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 03:08:34 2013 +0200

	    Remove unnecessary call to forceStringNoCtx

	commit a5684e09d34deb5c380c736ce520c030eb14bfc6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 02:56:00 2013 +0200

	    Document typeOf

	commit 411a3461dca6b26f1a1a6b0c7f1f322f1d8df506
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 02:51:28 2013 +0200

	    Add a test of the type primops

	commit 05d02f798f65bf18e8ca71f3d23bfdf9df63fb7c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 02:49:13 2013 +0200

	    Add a typeOf primop

	    We already have some primops for determining the type of a value, such
	    as isString, but they're incomplete: for instance, there is no isPath.
	    Rather than adding more isBla functions, the generic typeOf function
	    returns a string representing the type of the argument (e.g. "int").

	commit 6da92d96aec29ab09cf909ac6a270bc2753cd34a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 02:22:24 2013 +0200

	    Document NIX_SHOW_STATS and NIX_COUNT_CALLS

	commit 543d8a5942f503f5e49eecbf7e4e7a039472e9ea
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 24 02:20:54 2013 +0200

	    Don't require NIX_SHOW_STATS for NIX_COUNT_CALLS

	commit fe95650487d189bae2be198fe2cbbb0cb6c3788f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 23 11:16:46 2013 +0000

	    Memoize evalFile() lookups under both the original and resolved name

	    Previously we only used the resolved name, causing repeated resolution
	    (e.g. /dir to /dir/default.nix).

	commit 3139481822b770a5ad1f81f447ef31ed5446bc72
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 23 11:52:25 2013 +0200

	    Add an aggregate job

	    Also, build for Ubuntu 13.10 and Fedora 19.

	commit c0861838432ea9d8e5ea5750aadfbc59ebd6f3b4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 22 11:39:10 2013 +0200

	    For auto roots, show the intermediate link

	    I.e. "nix-store -q --roots" will now show (for example)

	      /home/eelco/Dev/nixpkgs/result

	    rather than

	      /nix/var/nix/gcroots/auto/53222qsppi12s2hkap8dm2lg8xhhyk6v

	commit 4f4a14453ae8dbfc24a1e580aa695165e9d81f0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 18 14:51:25 2013 +0200

	    Don't set $PS1 in non-interactive shells

	    Shouldn't really matter, but you never know.

	commit 4ea034a5c56a60ae0ceedf18a066c428a963c836
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Oct 17 11:07:34 2013 -0400

	    nix-shell: Play nicely with non-interactive shells

	    nix-shell with the --command flag might be used non-interactively, but
	    if bash starts non-interactively (i.e. with stdin or stderr not a
	    terminal), it won't source the script given in --rcfile. However, in
	    that case it *will* source the script found in $BASH_ENV, so we can use
	    that instead.

	    Also, don't source ~/.bashrc in a non-interactive shell (detectable by
	    checking the PS1 env var)

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 792fd51f41212b0bf1d8a121a4f228a92fec3906
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 11:53:40 2013 +0200

	    Fold two stack trace messages in derivations

	    Combined with the previous changes, stack traces involving derivations
	    are now much less verbose, since something like

	      while evaluating the builtin function `getAttr':
	      while evaluating the builtin function `derivationStrict':
	      while instantiating the derivation named `gtk+-2.24.20' at `/home/eelco/Dev/nixpkgs/pkgs/development/libraries/gtk+/2.x.nix:11:3':
	      while evaluating the derivation attribute `propagatedNativeBuildInputs' at `/home/eelco/Dev/nixpkgs/pkgs/stdenv/generic/default.nix:78:17':
	      while evaluating the attribute `outPath' at `/nix/store/212ngf4ph63mp6p1np2bapkfikpakfv7-nix-1.6/share/nix/corepkgs/derivation.nix:18:9':
	      ...

	    now reads

	      while evaluating the attribute `propagatedNativeBuildInputs' of the derivation `gtk+-2.24.20' at `/home/eelco/Dev/nixpkgs/pkgs/development/libraries/gtk+/2.x.nix:11:3':
	      ...

	commit f440558acc76c2939cf5f0744c6669279b6351a0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 11:47:38 2013 +0200

	    Don't show <nix/derivation.nix> in stack traces

	    Messages like

	      while evaluating the attribute `outPath' at `/nix/store/212ngf4ph63mp6p1np2bapkfikpakfv7-nix-1.6/share/nix/corepkgs/derivation.nix:18:9':

	    are redundant, because Nix already shows that it's evaluating a derivation:

	      while instantiating the derivation named `firefox-24.0' at `/home/eelco/Dev/nixpkgs/pkgs/applications/networking/browsers/firefox/default.nix:131:5':
	      while evaluating the derivation attribute `nativeBuildInputs' at `/home/eelco/Dev/nixpkgs/pkgs/stdenv/generic/default.nix:76:17':

	commit bb659bad8116d380271e5103e3bb5c8a6056ee58
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 11:40:20 2013 +0200

	    Nix 1.6.1 release notes

	commit f6a8e7f4c2897c131afe0beed199dc406b0f052a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 11:18:37 2013 +0200

	    Fix test

	commit b08f4b0da98d0a2534626c01cbb0c3c3eb4713a1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 01:12:43 2013 +0200

	    Test string semantics a bit more

	commit d7625b5c2d6d9fd23708057957172c0446ffdabc
	Author: goblin <github@uukgoblin.net>
	Date:   Sun Sep 22 13:36:23 2013 +0100

	    two typos

	commit b8034e5581ef40cc043da35ed01280b166da81ca
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 00:57:24 2013 +0200

	    Ensure proper type checking/coercion of "${expr}"

	    Now we only rewrite "${expr}" to expr if expr is a string literal.

	commit 9d8a80375d2d0581b53d270eb4d543fa0d3f0190
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 00:45:16 2013 +0200

	    Add a test for type correctness of antiquotes

	    Antiquotes should evaluate to strings or paths.  This is usually
	    checked, except in the case where the antiquote makes up the entire
	    string, as in "${expr}".  This is optimised to expr, which discards
	    the runtime type checks / coercions.

	commit d6a7aa8f4827f97856ed55226426c355e1d1b4d1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 17 00:39:59 2013 +0200

	    Revert the behaviour of antiquoted paths to pre-Nix 1.6

	    Commit 159e621d1a9c4391b53f3d822109c36931934698 accidentally changed
	    the behaviour of antiquoted paths, e.g.

	      "${/foo}/bar"

	    used to evaluate to "/nix/store/<hash>-foo/bar" (where /foo gets
	    copied to the store), but in Nix 1.6 it evaluates to "/foo/bar".  This
	    is inconsistent, since

	      " ${/foo}/bar"

	    evaluates to " /nix/store/<hash>-foo/bar".  So revert to the old
	    behaviour.

	commit b8571d68c4f2c0b4b0b8f3d7c7ef09668aab140f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 23:28:10 2013 +0200

	    Add a regression test for correct path antiquotation behavior

	    This broke in Nix 1.6.

	commit a737f51fd96be2866a33eb67732e034bcc65a659
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 15:58:20 2013 +0200

	    Retry all SQLite operations

	    To deal with SQLITE_PROTOCOL, we also need to retry read-only
	    operations.

	commit ff02f5336cd0cff0e97fbcf3c54b5b23827702d6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 14:51:20 2013 +0200

	    Fix a race in registerFailedPath()

	    Registering the path as failed can fail if another process does the
	    same thing after the call to hasPathFailed().  This is extremely
	    unlikely though.

	commit 4bd52825734face53df2ab00052d2457d31c3c68
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 14:46:35 2013 +0200

	    Convenience macros for retrying a SQLite transaction

	commit bce14d0f61801f0f1c3080970619e2ca11683a4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 14:36:53 2013 +0200

	    Don't wrap read-only queries in a transaction

	    There is no risk of getting an inconsistent result here: if the ID
	    returned by queryValidPathId() is deleted from the database
	    concurrently, subsequent queries involving that ID will simply fail
	    (since IDs are never reused).

	commit 7cdefdbe732c209e13f234eb71022791909a5518
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 14:27:36 2013 +0200

	    Print a distinct warning for SQLITE_PROTOCOL

	commit d05bf044441dbf8e000036d545df9689bdec0b72
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 16 14:03:22 2013 +0200

	    Treat SQLITE_PROTOCOL as SQLITE_BUSY

	    In the Hydra build farm we fairly regularly get SQLITE_PROTOCOL errors
	    (e.g., "querying path in database: locking protocol").  The docs for
	    this error code say that it "is returned if some other process is
	    messing with file locks and has violated the file locking protocol
	    that SQLite uses on its rollback journal files."  However, the SQLite
	    source code reveals that this error can also occur under high load:

	      if( cnt>5 ){
	        int nDelay = 1;                      /* Pause time in microseconds */
	        if( cnt>100 ){
	          VVA_ONLY( pWal->lockError = 1; )
	          return SQLITE_PROTOCOL;
	        }
	        if( cnt>=10 ) nDelay = (cnt-9)*238;  /* Max delay 21ms. Total delay 996ms */
	        sqlite3OsSleep(pWal->pVfs, nDelay);
	      }

	    i.e. if certain locks cannot be not acquired, SQLite will retry a
	    number of times before giving up and returing SQLITE_PROTOCOL.  The
	    comments say:

	      Circumstances that cause a RETRY should only last for the briefest
	      instances of time.  No I/O or other system calls are done while the
	      locks are held, so the locks should not be held for very long. But
	      if we are unlucky, another process that is holding a lock might get
	      paged out or take a page-fault that is time-consuming to resolve,
	      during the few nanoseconds that it is holding the lock.  In that case,
	      it might take longer than normal for the lock to free.
	      ...
	      The total delay time before giving up is less than 1 second.

	    On a heavily loaded machine like lucifer (the main Hydra server),
	    which often has dozens of processes waiting for I/O, it seems to me
	    that a page fault could easily take more than a second to resolve.
	    So, let's treat SQLITE_PROTOCOL as SQLITE_BUSY and retry the
	    transaction.

	    Issue NixOS/hydra#14.

	commit c1994fecf9f9ea129f6164db92ad242e392d987c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Oct 14 15:20:45 2013 +0200

	    nix-shell: Fix bash completion

	    Nixpkgs's stdenv setup script sets the "nullglob" option, but doing so
	    breaks Bash completion on NixOS (when ‘programs.bash.enableCompletion’
	    is set) and on Ubuntu.  So clear that flag afterwards.  Of course,
	    this may break stdenv functions in subtle ways...

	commit 672c3acc7109a84abeae3d28dc907132f2bad953
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 11 10:57:23 2013 +0200

	    Adjust to the NixOS/Nixpkgs merge

	commit 7bdb85453d16106ebf4d4af106720d917e221ad9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 15:34:57 2013 +0200

	    printStats(): Print the size of the symbol table in bytes

	commit 9deb822180fb80638559fe3c45c6a77a2b56ff40
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 15:19:59 2013 +0200

	    Deduplicate filenames in Pos

	    This saves ~4 MiB of RAM for NixOS system instantiation, and ~18 MiB
	    for "nix-env -qa".

	commit b1e3b1a4ac8c276f503713f6002c3b42efef2ae8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 14:45:36 2013 +0200

	    Treat undefined variable errors consistently

	    Previously, a undefined variable inside a "with" caused an EvalError
	    (which can be caught), while outside, it caused a ParseError (which
	    cannot be caught).  Now both cause an UndefinedVarError (which cannot
	    be caught).

	commit 6b47de580ffe6101863a1054d9d47f9cbe691214
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 14:40:51 2013 +0200

	    Show the exact position of undefined variables

	    In particular, undefined variable errors in a "with" previously didn't
	    show *any* position information, so this should help a lot in those
	    cases.

	commit a5e0f64db3f7355e320ecda478b84f238bf8869c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 12:30:23 2013 +0000

	    Remove some unused functions

	commit 221a2daf34234c426fec8058f24b1093b2a61ba8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 8 14:24:53 2013 +0200

	    Merge VarRef into ExprVar

	commit 176c666f36afee12f5cbd1f9615cf21d781fdbde
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Oct 5 21:29:48 2013 +0000

	    Don't show calls to primops in stack traces

	    Since they don't have location information, they just give you crap
	    like:

	      while evaluating the builtin function `getAttr':
	      while evaluating the builtin function `derivationStrict':
	      ...

	commit c945f015de2149233c1e4fa1628f05567f3657ba
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 2 15:24:45 2013 +0200

	    Fix segfault in nix-repl / hydra-eval-jobs

	    If a "with" attribute set fails to evaluate, we have to make sure its
	    Env record remains unchanged.  Otherwise, repeated evaluation gives a
	    segfault:

	      nix-repl> :a with 0; { a = x; b = x; }
	      Added 2 variables.

	      nix-repl> a
	      error: value is an integer while an attribute set was expected

	      nix-repl> b
	      Segmentation fault

	commit 28e0742966e962f2672f5731ea3612f223bf3283
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 2 14:34:36 2013 +0200

	    Report OOM errors better

	commit a5fb4b5b7c1688c9b095bc1c278c17c20844302a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 2 14:22:49 2013 +0200

	    Fix typo

	commit faaae44f2e8bc5f8863de80a2585fec8f51d144d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 18 14:04:03 2013 +0200

	    build-remote.pl: Don't use substituters on the remote

	    It's kinda pointless to check substituters on the remote side, since
	    we just checked them locally.

	commit f53574ebd60e5a22dbaae7e2bec97f5993670c20
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 17 12:06:59 2013 +0000

	    RestoreSink: Slightly reduce the number of concurrent FDs

	commit d5529f5b85d4f093c6c051c060eb6feef9f8f76f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 10 17:47:39 2013 +0200

	    Version was called 1.6, not 1.6.0

	commit b072fc04a79c181af04fb1a07e221cb73f97cf48
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 10 17:41:49 2013 +0200

	    Bump version number

	commit fecad91b67ee3523a6d8c0ea16ab71925ab6ab6e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 10 11:21:30 2013 +0200

	    Update release notes

	commit 0220da3e10e76fd1ef46915493c0f5ed65482fa8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 6 17:20:19 2013 +0200

	    Remove stray debug line

	commit 936f9d45baf474358346666ed9ad7f56960bb455
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 6 16:36:56 2013 +0200

	    Don't apply the CPU affinity hack to nix-shell (and other Perl programs)

	    As discovered by Todd Veldhuizen, the shell started by nix-shell has
	    its affinity set to a single CPU.  This is because nix-shell connects
	    to the Nix daemon, which causes the affinity hack to be applied.  So
	    we turn this off for Perl programs.

	commit 4b83830d0c742b69b59c698a42948eaa6d214c1d
	Author: Domen Kožar <domen@dev.si>
	Date:   Tue Sep 3 11:42:55 2013 +0200

	    typo

	commit 5904262640199599122fcf563e7d1c7c3f3f3128
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 6 14:58:05 2013 +0200

	    nix-shell: Support a .drv as argument

	    Fixes #161.

	commit 2c1ecf8e81f8ea5a9fa228aa22a57a6ba0a0e4df
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 21:15:47 2013 +0200

	    nix-env -i: Add a flag ‘--remove-all’ / ‘-r’

	    This is equivalent to running ‘nix-env -e '*'’ first, except that it
	    happens in a single transaction.  Thus, ‘nix-env -i pkgs...’ replaces
	    the profile with the specified set of packages.

	    The main motivation is to support declarative package management
	    (similar to environment.systemPackages in NixOS).  That is, if you
	    have a specification ‘profile.nix’ like this:

	      with import <nixpkgs> {};
	      [ thunderbird
	        geeqie
	        ...
	      ]

	    then after any change to ‘profile.nix’, you can run:

	      $ nix-env -f profile.nix -ir

	    to update the profile to match the specification.  (Without the ‘-r’
	    flag, if you remove a package from ‘profile.nix’, it won't be removed
	    from the actual profile.)

	    Suggested by @zefhemel.

	commit 88c07341a6bf99f923cb3d6487b72afc025b7746
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 15:56:33 2013 +0200

	    nix-env: Use wildcard match by default

	    That is, you don't need to pass '*' anymore, so

	      nix-env -qa

	    is equivalent to

	      nix-env -qa '*'

	commit 07a08bddf001271b4b7eff2a119c395f40119966
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 15:45:32 2013 +0200

	    nix-env: Load files in ~/.nix-defexpr on demand

	    So if you do "nix-env -qa -A nixos", then other channels won't be
	    parsed/evaluated at all.

	commit c57ed84e286047a9f3c103cf689ae04381c23dad
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 15:25:51 2013 +0200

	    Check for name collisions in the input Nix expressions

	commit ef4f5ba85e487f567115d60e3cb4b53d81af6ea1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 13:17:51 2013 +0000

	    Work on Values instead of Exprs

	    This prevents some duplicate evaluation in nix-env and
	    nix-instantiate.

	    Also, when traversing ~/.nix-defexpr, only read regular files with the
	    extension .nix.  Previously it was reading files like
	    .../channels/binary-caches/<name>.  The only reason this didn't cause
	    problems is pure luck (namely, <name> shadows an actual Nix
	    expression, the binary-caches files happen to be syntactically valid
	    Nix expressions, and we iterate over the directory contents in just
	    the right order).

	commit 06bb2d95b4d8232ef0cd0059d2609d2211d0e3e6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 11:04:21 2013 +0000

	    Reformat

	commit 6f809194d7448c4ad50174bed9ba2419e2114352
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 3 12:56:33 2013 +0200

	    Get rid of the parse tree cache

	    Since we already cache files in normal form (fileEvalCache), caching
	    parse trees is redundant.

	    Note that getting rid of this cache doesn't actually save much memory
	    at the moment, because parse trees are currently not freed / GC'ed.

	commit 57d18df7d0005cf822368d9f1d0c33396c6b9f9f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 18:34:04 2013 +0200

	    Add some support code for nix-repl

	commit 92077b4547b473bb4ea7b38077299e8fba75ca62
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 16:39:17 2013 +0200

	    Get rid of a signedness warning

	commit 33972629d76b1b1059de5b89ce68ef37dce45cbd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 16:29:15 2013 +0200

	    Fix whitespace

	commit ac1b75413821c9ebaf317fb3fe1c695599e93818
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 13:32:51 2013 +0200

	    Lower xz compression level

	    Fixes #84.

	commit c28dfc030587cb5a4ccdc71e5f55e708a9aa901d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 13:23:07 2013 +0200

	    Manual: Make '' a bit clearer

	    Issue #162.

	commit e9b92169a5a9d187e32d0ce15ca785eb9f8dce56
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 13:19:34 2013 +0200

	    Fix manual error

	    Reported by Matija Šuklje.

	    Fixes #163.

	commit ecd830b3b9e189d0b41cfeadc993c17d5858a79b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 13:11:36 2013 +0200

	    Update the release notes

	commit 6ec8dab06abd08f3239c10b98d34a268cd0657cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 12:44:30 2013 +0200

	    Adda test for build-max-log-size

	commit b29d3f4aee9fa91f4ea1019d09bf63bc81b9f830
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 12:01:04 2013 +0200

	    Only show trace messages when tracing is enabled

	commit efe428946431c6c670151c949884fa8c1fa31794
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Sep 2 11:58:18 2013 +0200

	    Add an option to limit the log output of builders

	    This is mostly useful for Hydra to deal with builders that get stuck
	    in an infinite loop writing data to stdout/stderr.

	commit afc6c1bad63e27d68adf49e673f8aafd36495a8a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jul 15 17:10:18 2013 -0400

	    Simplify inherited attribute handling

	    This reduces the difference between inherited and non-inherited
	    attribute handling to the choice of which env to use (in recs and lets)
	    by setting the AttrDef::e to a new ExprVar in the parser rather than
	    carrying a separate AttrDef::v VarRef member.

	    As an added bonus, this allows inherited attributes that inherit from a
	    with to delay forcing evaluation of the with's attributes.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 6cd6ce56083d0077485896a761520812d039bf10
	Author: Ivan Kozik <ivan@ludios.org>
	Date:   Fri Aug 16 20:18:38 2013 +0000

	    Fix nix-shell command

	commit 34bb806f747d5edc16119e38e2ac44e6b236ac12
	Author: Ivan Kozik <ivan@ludios.org>
	Date:   Sat Aug 10 21:36:16 2013 +0000

	    Fix typos, especially those that end up in the Nix manual

	commit c6c024ca6f587dab991589ad6fdf010b9f0e6d62
	Author: Gergely Risko <gergely@risko.hu>
	Date:   Thu Aug 22 17:57:39 2013 +0200

	    Fix personality switching from x86_64 to i686

	    On Linux, Nix can build i686 packages even on x86_64 systems.  It's not
	    enough to recognize this situation by settings.thisSystem, we also have
	    to consult uname().  E.g. we can be running on a i686 Debian with an
	    amd64 kernel.  In that situation settings.thisSystem is i686-linux, but
	    we still need to change personality to i686 to make builds consistent.

	commit 03eaef3d7a614872af309d1bfa5133845123720f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 23 10:12:20 2013 +0200

	    Manual: Don't use actual hashes of Nix dependencies

	    These cause an unnecessary runtime dependency :-)

	commit b3110a15e9ab898e14721655030e7f0f7e2ea6c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 21 12:52:44 2013 +0200

	    Fix corrupt PNG

	    Libpng used to accept this, but no longer does.

	commit 25a108bb9c5eb1999e1699d4e0727de1cbce30c7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 19 13:22:56 2013 +0200

	    Hack to clean up tests/test-tmp

	commit d308aeaf53b7324af98dfa949a747526c241ef30
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 19 12:35:03 2013 +0200

	    Store Nix integers as longs

	    So on 64-bit systems, integers are now 64-bit.

	    Fixes #158.

	commit 297b762513ad416582c0850095506f802ff5b1bb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 19 11:41:15 2013 +0200

	    Turn on -Wall

	commit 46222bbc43fa4d7b44a466bf7be435ea1a4d6fc0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 14 22:32:49 2013 +0200

	    Typo

	commit 58204a3c39614297e71a21a7633ea8293e8304ee
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Aug 14 15:35:13 2013 -0400

	    corepkgs/nar.nix: Prefer local builds

	    nar.nix's builder depends on coreutils and nix itself being in $PATH.
	    Unfortunately, there's no good way to ensure that these packages exist
	    in the same place on the remote machine: The local machine may have nix
	    installed in /usr, and the remote machine in /usr/local, but the
	    generated nar.sh builder will refer to /usr and thus fail on the remote
	    machine. This ensures that nar.sh is run on the same machine that
	    instantiates it.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 3fb7ae0586958a2404db41b8cf6ec4fe88f2f674
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 7 15:44:19 2013 +0000

	    Respect MINSIGSTKSZ when allocating an alternative stack

	    http://hydra.nixos.org/build/5663577

	commit 161a2ccf7af60acf8d04ba5d92f0116f6be19fba
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 7 17:26:41 2013 +0200

	    Fix build on non-Linux

	    http://hydra.nixos.org/build/5662914

	commit a583a2bc59a4ee2b067e5520f6c5bc0c61852c32
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 7 11:51:55 2013 +0000

	    Run the daemon worker on the same CPU as the client

	    On a system with multiple CPUs, running Nix operations through the
	    daemon is significantly slower than "direct" mode:

	    $ NIX_REMOTE= nix-instantiate '<nixos>' -A system
	    real    0m0.974s
	    user    0m0.875s
	    sys     0m0.088s

	    $ NIX_REMOTE=daemon nix-instantiate '<nixos>' -A system
	    real    0m2.118s
	    user    0m1.463s
	    sys     0m0.218s

	    The main reason seems to be that the client and the worker get moved
	    to a different CPU after every call to the worker.  This patch adds a
	    hack to lock them to the same CPU.  With this, the overhead of going
	    through the daemon is very small:

	    $ NIX_REMOTE=daemon nix-instantiate '<nixos>' -A system
	    real    0m1.074s
	    user    0m0.809s
	    sys     0m0.098s

	commit 263d6682224f516aed74286453c5e2e097a38aa6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 6 14:21:46 2013 +0200

	    Set the default GCC optimisation level to -O3

	commit fd7d979c79759e5db68e4b62b3550a3906f67d40
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 6 14:15:11 2013 +0200

	    Remove obsolete reference to ATerms

	commit 46ffcce0c355ee16075b4ba216bc0aea054143aa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 18:29:23 2013 +0000

	    In the profiler output, show function names (if available)

	commit 8e74c0bfd1b61b175f04a7e0a8f0a3d9db809f1a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 18:53:02 2013 +0200

	    Let the ordering operators also work on strings

	    E.g. ‘"foo" < "bar"’ now works.

	commit 3d77b28eacc940356e94c36017fb2d9f1a1b7ec2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 18:39:40 2013 +0200

	    Add comparison operators ‘<’, ‘<=’, ‘>’ and ‘>=’

	commit 47701677e88230abf7d9106c55f46aa660643ce7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 16:03:02 2013 +0000

	    Add integer ‘-’, ‘*’ and ‘/’ operators

	commit 5d147e125cea69e9a3b12f0ef64c64f42985c65e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 17:35:59 2013 +0200

	    Add a unary integer negation operator

	    This allows saying "-1" instead of "builtins.sub 0 1".

	commit 159e621d1a9c4391b53f3d822109c36931934698
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 2 15:21:17 2013 +0000

	    Overload the ‘+’ operator to support integer addition

	commit 511455965e1a17db3653147a4ac0d284a37915be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 31 13:17:50 2013 +0200

	    nix-shell: Don't disable Automake dependency tracking

	    Nixpkgs' stdenv disables dependency tracking by default.  That makes
	    sense for one-time builds, but in an interactive environment we expect
	    repeated "make" invocations to do the right thing.

	commit 7df4ef983e96f604fa84abe4aeb54dcb00a72add
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 31 13:12:35 2013 +0200

	    Test the delayed with a bit more

	commit 0a470fc3453f56a0a242d8f467b8079fe0040ff7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 31 12:44:21 2013 +0200

	    Make Env smaller

	    Commit 20866a7031ca823055a221653b77986faa167329 added a ‘withAttrs’
	    field to Env, which is annoying because it makes every Env structure
	    bigger and we allocate millions of them.  E.g. NixOS evaluation took
	    18 MiB more.  So this commit squeezes ‘withAttrs’ into values[0].
	    Probably should use a union...

	commit 8ae6d55db15bb0777e3d707afb994f6fcbcc6a65
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 31 12:11:14 2013 +0200

	    Don't use NULL

	commit e068f49f7dc59788cf356acfc77db614db6b28f0
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Jul 16 08:43:54 2013 -0400

	    Avoid thunks when a fromWith var can be looked up without evaluation

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 20866a7031ca823055a221653b77986faa167329
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jul 15 15:53:14 2013 -0400

	    Delay evaulation of `with` attrs until a variable lookup needs them

	    Evaluation of attribute sets is strict in the attribute names, which
	    means immediate evaluation of `with` attribute sets rules out some
	    potentially interesting use cases (e.g. where the attribute names of one
	    set depend in some way on another but we want to bring those names into
	    scope for some values in the second set).

	    The major example of this is overridable self-referential package sets
	    (e.g. all-packages.nix). With immediate `with` evaluation, the only
	    options for such sets are to either make them non-recursive and
	    explicitly use the name of the overridden set in non-overridden one
	    every time you want to reference another package, or make the set
	    recursive and use the `__overrides` hack. As shown in the test case that
	    comes with this commit, though, delayed `with` evaluation allows a nicer
	    third alternative.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 70e68e0ec604124bb248ea4d064307bbf96e7932
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 30 23:25:37 2013 +0200

	    Detect stack overflows

	    Previously, if the Nix evaluator gets a stack overflow due to a deep
	    or infinite recursion in the Nix expression, the user gets an
	    unhelpful message ("Segmentation fault") that doesn't indicate that
	    the problem is in the user's code rather than Nix itself.  Now it
	    prints:

	      error: stack overflow (possible infinite recursion)

	    This only works on x86_64-linux and i686-linux.

	    Fixes #35.

	commit e87d1a63bdef0ae08f2d94d67fd8daa8fbb63fb4
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Mar 18 11:13:53 2013 -0400

	    killUser: Don't let the child kill itself on Apple

	    The kill(2) in Apple's libc follows POSIX semantics, which means that
	    kill(-1, SIGKILL) will kill the calling process too. Since nix has no
	    way to distinguish between the process successfully killing everything
	    and the process being killed by a rogue builder in that case, it can't
	    safely conclude that killUser was successful.

	    Luckily, the actual kill syscall takes a parameter that determines
	    whether POSIX semantics are followed, so we can call that syscall
	    directly and avoid the issue on Apple.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit 7cf539c728b8f2a4478c0384d3174842e1e0cced
	Author: Florian Friesdorf <flo@chaoflow.net>
	Date:   Mon Feb 20 04:09:46 2012 +0100

	    buildenv: remove special treatment of python files

	    buildPythonPackage does not leave easy_install.pth and site.py
	    anymore. A python package that leaves these files is broken. An
	    exception to this is setuptoolsSite which packages setuptools'
	    site.py. To include it into a buildenv, this patch is even needed, not
	    just cosmetic.

	commit 7b09e9f2c49aba7ced0e7fbac3994f6686b6a303
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 19 16:51:31 2013 +0200

	    Add hacking notes plus a script for running nix-shell

	commit 15e5ac80393f3b0a1be264e8cdaa8f048375b27d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 19 14:32:05 2013 +0200

	    nix-shell: Set $IN_NIX_SHELL

	    This allows scripts to distinguish between a real build and a Nix
	    shell.

	commit 48858ad5cabd03976330dff3d7aaa3d949ca09d6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 19 14:06:58 2013 +0200

	    nix-shell: Set some environment variables also set by build.cc

	    Setting $NIX_STORE causes the purity checks in gcc/ld-wrapper to kick
	    in, so that's why we unset $NIX_ENFORCE_PURITY.

	commit 2bc5de86357fddcc52e2ce0c1b432a9509dea27e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 19 12:02:44 2013 +0200

	    Rename ‘nix-build --run-env’ to ‘nix-shell’

	commit dc5f2e7da607bdf50bf710cbe0b5f6ff32980e19
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 19 11:23:32 2013 +0200

	    nix-build --run-env: Add a ‘--pure’ flag

	    This causes the environment to be (almost) cleared, thus giving a
	    shell that more closely resembled the actual Nix derivation.

	commit a4921b8ceb5bde3fbd1ae25ea4b367199796eded
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 18 12:52:16 2013 +0200

	    Revert "build-remote.pl: Enforce timeouts locally"

	    This reverts commit 69b8f9980f39c14a59365a188b300a34d625a2cd.

	    The timeout should be enforced remotely.  Otherwise, if the garbage
	    collector is running either locally or remotely, if will block the
	    build or closure copying for some time.  If the garbage collector
	    takes too long, the build may time out, which is not what we want.
	    Also, on heavily loaded systems, copying large paths to and from the
	    remote machine can take a long time, also potentially resulting in a
	    timeout.

	commit 16591eb3cccf86da8cd3f20c56e2dd847576ff5e
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Jul 12 09:35:33 2013 -0400

	    Allow bind-mounting regular files into the chroot

	    mount(2) with MS_BIND allows mounting a regular file on top of a regular
	    file, so there's no reason to only bind directories. This allows finer
	    control over just which files are and aren't included in the chroot
	    without having to build symlink trees or the like.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit c3f5413e806a22d3e664416649687e331b14f8b9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 12 14:06:05 2013 +0200

	    Fix syntax error in unpack-channel

	commit aeb810b01e17d040f9592681ee271f15874dce50
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 12 14:01:25 2013 +0200

	    Garbage collector: Don't follow symlinks arbitrarily

	    Only indirect roots (symlinks to symlinks to the Nix store) are now
	    supported.

	commit 25a00cae5bf702b9e844b05923a9c59de9df6788
	Author: Gergely Risko <gergely@risko.hu>
	Date:   Tue May 14 15:10:14 2013 +0200

	    Add gzip support for channel unpacking

	commit 620d57f036be5a8b8fa04ee1a2aa2329e652e0f0
	Author: Domen Kožar <domen@dev.si>
	Date:   Sat Jun 29 15:18:05 2013 +0200

	    doc: typo

	commit 6fcc2906194cbbc49a1e8d1862465e891b67d573
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 11 17:16:45 2013 +0200

	    build-remote.pl: Move "building ..." message to a better place

	commit ed09d0c0a436a412893ffe817c842827abbec6ed
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 11 14:40:29 2013 +0200

	    nix-build --run-env: Always use Bash

	    Fixes #113.
	    Fixes #131.

	commit 656390062a9b612df3238f9e6a0d5ce89c3de21c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 11 14:32:22 2013 +0200

	    nix-build --run-env: Source $stdenv/setup in the interactive shell

	    This ensures that not just environment variables are set, but also
	    shell functions such as unpackPhase, configurePhase and so on.

	commit 212e96f39c5120ef33b363647a58ebfd61fb3f5e
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Fri Jul 5 22:21:04 2013 +0200

	    Leave `HAVE_HUP_NOTIFICATION' undefined on GNU/Hurd.

	commit b584a42e3db8302095e786b4a12894d073fd75cf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 3 18:35:59 2013 +0200

	    Manual: auto-optimise-store is disabled by default

	commit 5116214343ecce70a3cb7037f223313314a0a614
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 1 21:02:36 2013 +0200

	    Add support for uncompressed NARs in binary caches

	    Issue NixOS/hydra#102.

	commit 798671163254d9766f711f4e8101bc72bcf4bd5c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 1 13:30:28 2013 +0200

	    copy-from-other-stores.pl: Respect $NIX_BIN_DIR

	commit 1917d750a0363f678a93c80c5a4e48e7493b1786
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 1 13:29:59 2013 +0200

	    copy-from-other-stores.pl: Report downloaded size as 0

	commit 7ccd9464077180f633e65c15906bdda707077e8c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 20 20:05:03 2013 +0200

	    Don't set $preferLocalBuild and $requiredSystemFeatures in builders

	    With C++ std::map, doing a comparison like ‘map["foo"] == ...’ has the
	    side-effect of adding a mapping from "foo" to the empty string if
	    "foo" doesn't exist in the map.  So we ended up setting some
	    environment variables by accident.

	commit 5558652709f27e8a887580b77b93c705659d7a4b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 20 19:26:31 2013 +0200

	    Don't substitute derivations that have preferLocalBuild set

	    In particular this means that "trivial" derivations such as writeText
	    are not substituted, reducing the number of GET requests to the binary
	    cache by about 200 on a typical NixOS configuration.

	commit 1906cce6fcea88d07b55c0b9734da39675e17a4d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 20 14:01:33 2013 +0000

	    Increase SQLite's auto-checkpoint interval

	    Common operations like instantiating a NixOS system config no longer
	    fitted in 8192 pages, leading to more fsyncs.  So increase this limit.

	commit 9b11165aec8639b021527978603423826b6b9cc3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 20 12:01:33 2013 +0200

	    Disable the copy-from-other-stores substituter

	    This substituter basically cannot work reliably since we switched to
	    SQLite, since SQLite databases may need write access to open them even
	    just for reading (and in WAL mode they always do).

	commit 22144afa8d9f8968da351618a1347072a93bd8aa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 20 11:55:15 2013 +0200

	    Don't keep "disabled" substituters running

	    For instance, it's pointless to keep copy-from-other-stores running if
	    there are no other stores, or download-using-manifests if there are no
	    manifests.  This also speeds things up because we don't send queries
	    to those substituters.

	commit 2b29e4b8529ec9f4d6904a5142266c02d1b24c99
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 17 15:39:45 2013 +0200

	    Bump version

	commit 6016bcd30ec32e2dfb92e197319ddbdbc4f520be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 17 11:47:38 2013 +0200

	    Update release notes for Nix 1.5.3

	commit 1b6ee8f4c7e74f75e1f49b43cf22be7730b30649
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 17:29:56 2013 +0200

	    Allow hard links between the outputs of a derivation

	commit cd49ee08970f0fa44053fb12cdf29668e8131a51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 17:12:24 2013 +0200

	    Fix a security bug in hash rewriting

	    Before calling dumpPath(), we have to make sure the files are owned by
	    the build user.  Otherwise, the build could contain a hard link to
	    (say) /etc/shadow, which would then be read by the daemon and
	    rewritten as a world-readable file.

	    This only affects systems that don't have hard link restrictions
	    enabled.

	commit 1e2c7c04b1125fb63fae733fc27abb86743b8224
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 17:12:06 2013 +0200

	    Fix assertion failure in canonicalisePathMetaData() after hash rewriting

	    The assertion in canonicalisePathMetaData() failed because the
	    ownership of the path already changed due to the hash rewriting.  The
	    solution is not to check the ownership of rewritten paths.

	    Issue #122.

	commit 6cc2a8f8ed7cb53e49bfbd08f462af062da18ce7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 16:43:20 2013 +0200

	    computeFSClosure: Only process the missing/corrupt paths

	    Issue #122.

	commit bfee9a25815d6f3b90e48ccf5aa4fc055005450a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 14:51:11 2013 +0200

	    Typo

	commit f9ff67e9487a0085ad6536016791242364ce70d9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 13 14:46:07 2013 +0200

	    In repair mode, update the hash of rebuilt paths

	    Otherwise subsequent invocations of "--repair" will keep rebuilding
	    the path.  This only happens if the path content differs between
	    builds (e.g. due to timestamps).

	commit 6b05f688ee6849b89e7fb0d3fb7b678f316039e7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 12 12:10:26 2013 +0200

	    nix-daemon: Trust options like binary-caches when the client is root

	    Fixes #127.

	commit 5c06e5297d3e8660abfa238b7244d958237e54e8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 16:21:48 2013 +0200

	    download-from-binary-cache.pl: Respect $NIX_CONNECT_TIMEOUT

	commit 24a356bf71e8c75bc7dbf9b4a619552b4ebe873c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 15:35:54 2013 +0200

	    Replace $NIX_DEBUG_SUBST with an option ‘debug-subst’

	    Thus passing ‘--option debug-subst 1’ allows daemon users to turn on
	    debug info and see what the substituter is doing.

	commit 24e063efdcdc42e6ea4ad0c49595ce60e834f3ab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 15:33:44 2013 +0200

	    download-from-binary-cache.pl: Show if we're waiting for a URL

	    Previously, if a binary cache is hanging/unreachable/slow,
	    download-from-binary-cache.pl would also hang without any indication
	    to the user.  Now, if fetching a URL takes more than 5 seconds, it
	    will print a message to that effect.

	commit ca70fba0bff82465a14ca0d29266b609851a6547
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 15:10:23 2013 +0200

	    Remove obsolete EOF checks

	commit 5959c591a0a6000b6de14eaec37e8139e36dfe0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 15:02:14 2013 +0200

	    Process stderr from substituters while doing have/info queries

	commit c5f9d0d08058bca4af0d22e8d46a7d84627c0aae
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 7 14:00:23 2013 +0200

	    Buffer reads from the substituter

	    This greatly reduces the number of system calls.

	commit 75e12b8e666aa0b689f6b654d37c84be912ff6d4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 5 16:17:06 2013 +0200

	    download-from-binary-cache.pl: Fix race condition

	    Fixes the error "DBD::SQLite::db do failed: column url is not unique".

	commit f0576d67756fedca0010d20aaed2e9cffd24a108
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 5 13:36:43 2013 +0200

	    Update the default binary cache URL to cache.nixos.org

	commit ff08306746e88e708612cdc6d2dac84bd76f1106
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jun 4 15:20:37 2013 +0200

	    download-from-binary-cache.pl: Treat a 403 error as a 404

	    Amazon S3 returns HTTP status code 403 if a file doesn't exist and the
	    user has no permission to list the contents of the bucket.  So treat
	    it as 404 (meaning it's cached in the NARExistence table).

	commit bc2e43f3c826eea5b92a4f255eee59c3bb253cbc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 29 18:18:59 2013 +0200

	    build-remote.pl: Remove meaningless signing when importing the output paths

	    The "$UID != 0" makes no sense: if the local side has write access to
	    the Nix store (which is always the case) then it doesn't matter if
	    we're root - we can import unsigned paths either way.

	commit 039d5a023f2fd0d28438ca1a9493237c95cc05e1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 29 12:36:56 2013 +0200

	    .bashrc -> .profile

	commit b09b87321c058f691fcf64babe56620277b68e63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 23 14:55:36 2013 -0400

	    nix-store --export: Export paths in topologically sorted order

	    Fixes #118.

	commit 107505e13ac83850fe01ef3e1a35e5bb2ab1ef52
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 23 14:39:58 2013 -0400

	    build-remote.pl: Copy all outputs in one operation

	commit 72d8209548f2ba16e41a2faa850ab9af3616453d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 23 14:04:46 2013 -0400

	    build-remote.pl: Indicate if remote machine is refusing builds

	    Fixes #120.

	commit 18a48d80a0686ba81959057e8becc6272acd6c46
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 16 19:08:02 2013 +0200

	    Show function names in error messages

	    Functions in Nix are anonymous, but if they're assigned to a
	    variable/attribute, we can use the variable/attribute name in error
	    messages, e.g.

	    while evaluating `concatMapStrings' at `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/strings.nix:18:25':
	    ...

	commit 1b3a03f1610b714adca41637ccd85a8157e236ab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 16 17:56:14 2013 +0200

	    Show which function argument was unexpected

	    Fixes #116.

	commit 229567293c4e0f31bc8c79f69b2ff25f8f6e5147
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 16 17:48:19 2013 +0200

	    Shut up a compiler warning

	commit a4cb62ac25931b269a9827beb1d1274b48c44f7c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 15 15:47:05 2013 +0200

	    download-from-binary-cache.pl: Get rid of an uninitialized value warning

	    Reported by Pablo Costa.

	commit 31a551a60fb8c8cc8f1887f764d88c121ac1a3cf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 13 23:50:31 2013 +0200

	    Bump version

	commit 6e85d1b5ba824d5a9eeb7ea3d065d1b8cc07e465
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 13 16:52:08 2013 +0200

	    Bump release date

	commit 3a0cc43ac89ae8f778764c9f5e27b361e4986913
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 10 02:38:05 2013 +0200

	    build-remote.pl: Properly close the SSH connection between attempts

	commit be0b9dda31ab42bb2e077751fc75abbc945e407f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 10 02:32:13 2013 +0200

	    build-remote.pl: Pass /dev/null as SSH's stdin

	    Otherwise it will set the parent's stdin to non-blocking mode, causing
	    the subsequent read of the set of inputs/outputs to fail randomly.
	    That's insane.

	commit 78206f06ecb2f5d6dba85b5f709251030e966f1c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 10 01:09:46 2013 +0200

	    build-remote.pl: Allow a machine to refuse a build

	    Before selecting a machine, build-remote.pl will try to run the
	    command "nix-builds-inhibited" on the machine.  If this command exists
	    and returns a 0 exit code, then the machine won't be used.  It's up to
	    the user to provide this command, but it would typically be a script
	    that checks whether there is enough disk space and whether the load is
	    not too high.

	commit 2ee9da9e22ecaad1cc5ad0f940e7b079a9e62cfa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 10 00:24:33 2013 +0200

	    In trace messages, don't print the output path

	    This doesn't work if there is no output named "out".  Hydra didn't use
	    it anyway.

	commit 6eba05613a2b794fead0cc9ef45eea036c5c5ea9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 9 18:39:04 2013 +0200

	    Communicate build timeouts to Hydra

	commit 7a03cbf09dc5ecf16a1036fc83ace0e0ccec5626
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 9 17:30:07 2013 +0200

	    build-remote.pl: Create one process fewer on the remote side

	commit 69b8f9980f39c14a59365a188b300a34d625a2cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 9 17:17:17 2013 +0200

	    build-remote.pl: Enforce timeouts locally

	    Don't pass --timeout / --max-silent-time to the remote builder.
	    Instead, let the local Nix process terminate the build if it exceeds a
	    timeout.  The remote builder will be killed as a side-effect.  This
	    gives better error reporting (since the timeout message from the
	    remote side wasn't properly propagated) and handles non-Nix problems
	    like SSH hangs.

	commit e93acab85298cf3433d1938828e7772e8faa55dc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 8 14:41:35 2013 +0200

	    Build Fedora 18 RPMs

	commit 806970349b494e03ecf531383874ee472810c07b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 7 15:46:25 2013 +0200

	    Update release date

	commit ea019e9a269ae35fdf8861485fe16e622f8293f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 7 15:37:28 2013 +0200

	    Add option ‘extra-binary-caches’

	    This allows providing additional binary caches, useful in scripts like
	    Hydra's build reproduction scripts, in particular because untrusted
	    caches are ignored.

	commit cc837e24586eec62d07e0cb078e02caa6ee42171
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 7 11:21:30 2013 +0200

	    Build Debian 7.0 debs

	commit 28034bfa49b258089d5e8d36e89677836acb8eab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 3 14:14:46 2013 +0200

	    Build Ubuntu 13.04 debs

	commit 93f4fa8a15ce6d4ff6b14843a712990ca0f23dc5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 3 11:28:32 2013 +0200

	    Update release notes

	commit c51b6a893ca6fcce86b40c4852cfa7f0ce3065fd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 3 11:12:11 2013 +0200

	    nix-copy-closure: Show a proper error message if no host name is given

	commit e6c44d166a63abe95a02382386246acea8757951
	Author: Lluís Batlle i Rossell <viric@viric.name>
	Date:   Wed May 1 22:44:37 2013 +0400

	    Fixing the pv position regarding compression

	    Problem noticed by niksnut.

	commit 7391533ea57268a7f0aab433dad41b905e156be6
	Author: Lluís Batlle i Rossell <viric@viric.name>
	Date:   Thu Apr 11 19:54:38 2013 +0200

	    Fixing the pv reference; I didn't mean to change it

	commit 5cc2fc46ecd4ad38a42591943fc29d412ad5cfc4
	Author: Lluís Batlle i Rossell <viric@viric.name>
	Date:   Thu Apr 11 19:52:21 2013 +0200

	    Adding ETA support to the --show-progress in nix-copy-closure

	    Based on https://github.com/NixOS/nix/pull/6 from shlevy

	commit 3628b61ce0aaff43daf37d086697c7c3f9c8ef13
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 1 13:31:33 2013 +0200

	    Nix 1.5.2 release notes

	commit 470553bd0572c4010407acb4e410b45a521e5f11
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 1 13:21:39 2013 +0200

	    Don't let stderr writes in substituters cause a deadlock

	commit 4ddd077bfa9ad497e795a7f60d7734daf62117c1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 26 12:15:54 2013 +0200

	    find-runtime-roots.pl: Don't hardcode /nix/store

	commit 0374d9443732c184ab054a926058b9c5b973198f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 26 12:07:25 2013 +0200

	    addAdditionalRoots(): Check each path only once

	commit 00f698eb8b93c9de50ebbadb946c5bf188e8fa98
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 26 12:06:39 2013 +0200

	    find-runtime-roots.pl: Search process environments for roots

	    For instance, this prevents paths from being deleted that are in use
	    by a "nix-build --run-env" session.

	commit 938092a21341b69604e9da6294fe76c13d6a1c07
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 26 11:44:19 2013 +0200

	    find-runtime-roots.pl: Use Nix::Utils::readFile

	commit 772b70952f7583cfbd6363b30f926d7ad164175c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 18:04:59 2013 +0200

	    Fix --timeout

	    I'm not sure if it has ever worked correctly.  The line "lastWait =
	    after;" seems to mean that the timer was reset every time a build
	    produced log output.

	    Note that the timeout is now per build, as documented ("the maximum
	    number of seconds that a builder can run").

	commit f9974f856ec8aff848b157da7dbe0415ec50ab8f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 17:16:29 2013 +0200

	    Show that --timeout doesn't work if the build produces log output

	commit 6955d41f2be32c3bb857703c3e006e24d787d540
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 17:16:01 2013 +0200

	    nix-build: Respect --timeout

	commit 934cf2d1f4c46ecd6afd30cfb14aa55a6bf3d790
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 16:59:06 2013 +0200

	    Nix daemon: respect build timeout from the client

	commit 08d96ffad094f4b686a2ad8f2a41a6b046b0f81b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 12:45:01 2013 +0200

	    Fix --fallback with the binary cache substituter

	    Reported by Peter Simons.

	commit a9b4e26b5c3ce6259526fe038c771b9325d3e99e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 12:44:01 2013 +0200

	    Test whether --fallback works if NARS have disappeared from the binary cache

	commit c642441beb504278819e43914516b5eda30f2c15
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 23 12:43:28 2013 +0200

	    Test NAR info caching

	commit 05420e788315f04212fe936313b3ff7b580a206c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 9 17:57:48 2013 +0200

	    Manual: Add a missing step to the build instructions

	    Reported by Johan Grande.

	commit 258897c265a6d6575f1669a896ab6f5ab92337c3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 4 11:16:26 2013 +0200

	    Complain if /homeless-shelter exists

	commit 239841787bfbf499256c0bb9358f058a8243d60a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 25 21:59:11 2013 +0100

	    Fix evaluation of the VM tests

	commit cc63db1dd5c37aead3e3d2e20e2d2f548cc24830
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Mar 7 22:53:49 2013 -0500

	    makeStoreWritable: Ask forgiveness, not permission

	    It is surprisingly impossible to check if a mountpoint is a bind mount
	    on Linux, and in my previous commit I forgot to check if /nix/store was
	    even a mountpoint at all. statvfs.f_flag is not populated with MS_BIND
	    (and even if it were, my check was wrong in the previous commit).

	    Luckily, the semantics of mount with MS_REMOUNT | MS_BIND make both
	    checks unnecessary: if /nix/store is not a mountpoint, then mount will
	    fail with EINVAL, and if /nix/store is not a bind-mount, then it will
	    not be made writable. Thus, if /nix/store is not a mountpoint, we fail
	    immediately (since we don't know how to make it writable), and if
	    /nix/store IS a mountpoint but not a bind-mount, we fail at first write
	    (see below for why we can't check and fail immediately).

	    Note that, due to what is IMO buggy behavior in Linux, calling mount
	    with MS_REMOUNT | MS_BIND on a non-bind readonly mount makes the
	    mountpoint appear writable in two places: In the sixth (but not the
	    10th!) column of mountinfo, and in the f_flags member of struct statfs.
	    All other syscalls behave as if the mount point were still readonly (at
	    least for Linux 3.9-rc1, but I don't think this has changed recently or
	    is expected to soon). My preferred semantics would be for MS_REMOUNT |
	    MS_BIND to fail on a non-bind mount, as it doesn't make sense to remount
	    a non bind-mount as a bind mount.

	commit 2c9cf5074642459b37f19a2d4c6bc0233248d3a4
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Mar 7 19:39:55 2013 -0500

	    makeStoreWritable: Use statvfs instead of /proc/self/mountinfo to find out if /nix/store is a read-only bind mount

	    /nix/store could be a read-only bind mount even if it is / in its own filesystem, so checking the 4th field in mountinfo is insufficient.

	    Signed-off-by: Shea Levy <shea@shealevy.com>

	commit c3fc60d9369fc802b33f75d2d9cd6ef22b916112
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 18 21:49:42 2013 +0100

	    Fix evaluation

	commit f72ed360250fd04138358463b5d1965d81160e0d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 15 14:21:05 2013 +0100

	    Bump version number

	commit 78d777ca15a5212bef7d6674adf0ed1abadce883
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 15 13:18:49 2013 +0100

	    Remove the "system" jobset input

	commit a68ebf8e376a2f712cb7b00442e66c0c416026b4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Mar 14 18:33:15 2013 +0100

	    Require Bison 2.6

	commit 804709706c56c207f1eb9033f98b213216672269
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Mar 14 18:31:08 2013 +0100

	    Fix building against Bison 2.6

	commit c56bc3d81cdcc09daf331b253a42cd155a9bd5f2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Mar 14 17:21:13 2013 +0100

	    Make sure that thunks are restored properly if an exception occurs

	    Fixes Hydra bug #67.

	commit 4b07476848f7738c07a5b0894ad7a848ee2e9c9d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 8 01:27:04 2013 +0100

	    Prevent config.h from being clobbered

	commit bdd4646338da296fdf3a8f9dc3cf5aff1dafa163
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 8 01:24:59 2013 +0100

	    Revert "Prevent config.h from being clobbered"

	    This reverts commit 28bba8c44f484eae38e8a15dcec73cfa999156f6.

	commit e73d9e948887621906363a35c980538294898a02
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Mar 8 00:27:32 2013 +0100

	    Fix annoying Perl 5.16 warnings

	    I.e.

	    Subroutine Nix::Store::isValidPath redefined at /nix/store/clfzsf6gi7qh5i9c0vks1ifjam47rijn-perl-5.16.2/lib/perl5/5.16.2/XSLoader.pm line 92.

	    and so on.

	commit 28bba8c44f484eae38e8a15dcec73cfa999156f6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Mar 7 23:55:55 2013 +0100

	    Prevent config.h from being clobbered

	commit 8057a192e3254c936fa0bcb5715e09600a28e8f8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 28 19:55:09 2013 +0100

	    Handle systems without lutimes() or lchown()

	commit 9fa1bee575886b76c3a23af37f9f3ce2ce52733c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 28 19:36:02 2013 +0100

	    Update release notes

	    Also use a point release version number as suggested by several
	    people.

	commit f45c731cd7740cfd479d8704de16ee49e51fe06e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 28 14:51:08 2013 +0100

	    Handle symlinks properly

	    Now it's really brown paper bag time...

	commit 88936411bcdd344d04e3a9ae0cd5389650551784
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Feb 28 13:03:53 2013 +0100

	    Bump version number

	commit 0111ba98ea0a91965ebb215b408ee1c10286a245
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 27 17:18:41 2013 +0100

	    Handle hard links to other files in the output

	commit b008674e4616cd2596d8b02273deb52f8bcb7d6c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Feb 27 16:35:46 2013 +0100

	    Refactoring: Split off the non-recursive canonicalisePathMetaData()

	    Also, change the file mode before changing the owner.  This prevents a
	    slight time window in which a setuid binary would be setuid root.

	commit 826dc0d07d3b1ea6669f4ba42f73d1d29fe49642
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 26 14:32:48 2013 +0100

	    Remove outdated file

	commit 97c6009c47d687fecbc0e49df421546b64a4c94b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 26 14:32:14 2013 +0100

	    Bump version number

	commit ca9c02dff1449ff4c05ce86200ef73c2ff2883ab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 26 13:23:09 2013 +0100

	    Update release notes

	commit 5526a282b5b44e9296e61e07d7d2626a79141ac4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 26 02:30:19 2013 +0100

	    Security: Don't allow builders to change permissions on files they don't own

	    It turns out that in multi-user Nix, a builder may be able to do

	      ln /etc/shadow $out/foo

	    Afterwards, canonicalisePathMetaData() will be applied to $out/foo,
	    causing /etc/shadow's mode to be set to 444 (readable by everybody but
	    writable by nobody).  That's obviously Very Bad.

	    Fortunately, this fails in NixOS's default configuration because
	    /nix/store is a bind mount, so "ln" will fail with "Invalid
	    cross-device link".  It also fails if hard-link restrictions are
	    enabled, so a workaround is:

	      echo 1 > /proc/sys/fs/protected_hardlinks

	    The solution is to check that all files in $out are owned by the build
	    user.  This means that innocuous operations like "ln
	    ${pkgs.foo}/some-file $out/" are now rejected, but that already failed
	    in chroot builds anyway.

	commit dadf7a5b46f08b59c7e15a40937a9039ef273d63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 19 16:56:31 2013 +0100

	    build-remote: Use the --quiet flag

	    ‘--option verbosity 0’ doesn't actually do anything.

	commit 3e067ac11c1621f989011432f619652a9c20e6f4
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon Feb 18 23:05:40 2013 +0100

	    Add `Settings::nixDaemonSocketFile'.

	commit 5ea138dc4b9822095723b75bc2962e3d899f5437
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon Feb 18 23:05:39 2013 +0100

	    Enable chroot support on old glibc versions.

	commit 79a3ba7fa3cd23b31ea43007899ed79f181d4faf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 8 20:02:58 2013 +0100

	    Document ‘hashString’

	commit 5f18cd2e84bb4d7405f7dbcc8b6554365556a3a1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 8 19:49:24 2013 +0100

	    Make "${./path} ..." evaluate to a string, not a path

	    Wacky string coercion semantics caused expressions like

	      exec = "${./my-script} params...";

	    to evaluate to a path (‘/path/my-script params’), because
	    anti-quotations are desuged to string concatenation:

	      exec = ./my-script + " params...";

	    By constrast, adding a space at the start would yield a string as
	    expected:

	      exec = " ${./my-script} params...";

	    Now the first example also evaluates to a string.

	commit 52172607cfc33867c0cdb526bef99c315e98baa2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Feb 8 19:36:23 2013 +0100

	    Rename "hash" to "hashString" and handle SHA-1

	commit 01a5ea9914b3933e63a88184861900615be76e12
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Thu Feb 7 00:03:46 2013 +0100

	    experimental/hash

	    adding primop function calculating hash of a string

	    Signed-off-by: Marc Weber <marco-oweber@gmx.de>

	commit 8add116acd050bdcca84b8a092420566a6e6692c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Feb 5 16:02:57 2013 +0100

	    Nix::Store::derivationFromPath: Return derivation outputs

	commit d6143801fdba7354180d8a56ae86f7825178dff2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 30 18:49:19 2013 +0100

	    Support the colonies

	commit 9842077cb2bd968e0b14502609cf41741e170d33
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 24 13:00:44 2013 +0100

	    Improve -I description

	    Issue #88.

	commit 5e9c3da41282970d5a496d1327de69cc1274d353
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 23 16:45:10 2013 +0100

	    Only warn about SQLite being busy once

	    No need to get annoying.

	commit 99ed558a93216288e50b11132f2a00a74cc6bb7f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jan 22 22:07:25 2013 +0100

	    Correctly handle missing logs

	commit 1943b60ad820730a74d1dffcdddac396d0c1cb00
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 21 22:36:23 2013 +0100

	    Fix the VM tests

	commit 96fbbbde55d6f226fc49299ed753761edfb6ad77
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 21 22:26:25 2013 +0100

	    build-remote.pl: Don't keep build logs on the build slave

	commit d6fd6d8aff06740f6c2595d13482d9183c11d243
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Jan 18 19:59:23 2013 -0500

	    corepkgs/fetchurl: Enable making the downloaded file executable

	commit 536c85ea49c16a2ecd5a1ba169975b296cd6158c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 17 15:37:52 2013 +0100

	    Store build logs in /nix/var/log/nix/drvs/<XX>

	    ...where <XX> is the first two characters of the derivation.
	    Otherwise /nix/var/log/nix/drvs may become so large that we run into
	    all sorts of weird filesystem limits/inefficiences.  For instance,
	    ext3/ext4 filesystems will barf with "ext4_dx_add_entry:1551:
	    Directory index full!" once you hit a few million files.

	commit 66fa9e6a4d7cf4c0a32d33adfc464f84c492f6d1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jan 7 14:48:44 2013 +0100

	    Bump version number to 1.4

	commit e42df686f309c5cd08a8653207e79e9caae37b67
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jan 5 00:13:29 2013 +0100

	    Delete a left-over trash directory before doing a GC

	commit 92926be2fe15b25759e8e3e129a093798f8c37b6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jan 4 15:17:19 2013 +0100

	    Fix "0 store paths deleted" message

	commit b424d29d1b2fb99c654f1cffe6cd57b298c0ab33
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 3 13:29:17 2013 +0100

	    Open the database after removing immutable bits

	commit 3007f5737734856b58768f83edefe8574f373333
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 3 13:00:46 2013 +0100

	    Remove tabs

	commit def5160b614a59a0aa96fe2252e3daa00146e061
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jan 3 12:59:23 2013 +0100

	    Clear any immutable bits in the Nix store

	    Doing this once makes subsequent operations like garbage collecting
	    more efficient since we don't have to call makeMutable() first.

	commit 0a4e90395c3286a246b816575351b9f2016976ba
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 23:52:15 2013 +0100

	    Urgggh

	    http://hydra.nixos.org/build/3661100

	commit f12492c66dc5c71c22ce2eb1788dacd86b1dfb1f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 22:36:08 2013 +0100

	    Manual: Fix "nix-store --export" example

	commit aebea2e489a21af260e7a654b0313efe042fbf9d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 22:16:37 2013 +0100

	    Reinstate the http://nixos.org/binary-cache default for the binary-caches setting

	commit 649bb60617e5413a87625a0c23e5ebd4f6229703
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 22:12:19 2013 +0100

	    Use sysconfdir=/etc

	commit 42d6f640c13e292593d4141b8bae0a2da4ee6ef8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 12:59:49 2013 +0100

	    Update release notes

	commit 299141ecbd08bae17013226dbeae71e842b4fdd7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 12:38:28 2013 +0100

	    If a substitute closure is incomplete, build dependencies, then retry the substituter

	    Issue #77.

	commit 1b3a78a4597c6c1d94fc51aa0520252aab21a2c8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 12:00:26 2013 +0100

	    Automatically fall back if the references of a substitute are not substitutable

	    Fixes #77.

	commit 82248abd8f2967f72b965c0ba7774815068c4962
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jan 2 11:45:23 2013 +0100

	    Add a test for incomplete closures in the binary cache

	    Issue #77.

	commit 12f9129f60651793e319171236e006aecfdc34be
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Dec 29 23:21:46 2012 +0100

	    nix-build: Support talking to old daemons

	    Fixes #76.

	commit b7629778efcfeb9ea876616feb869457cd2bf071
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Dec 29 23:04:02 2012 +0100

	    Allow mounting a path in a different location in the chroot

	    Fixes #24.

	commit 68dcbb187e540034e85b5b77d1b37cec1759a587
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 21 15:00:07 2012 +0100

	    download-from-binary-cache: Use the channels of the calling user rather than root

	    This should make live easier for single-user (non-daemon)
	    installations.  Note that when the daemon is used, the "calling user"
	    is root so we're not using any untrusted caches.

	commit 5ee7d8fbab71b9eef94f1eecd38de511d00f6149
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 21 00:18:59 2012 +0100

	    Typo fix

	commit 2754a07eadfa3fe263f83830c701748bbd4c0420
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 20 18:41:44 2012 +0100

	    nix-store -q --roots: Respect the gc-keep-outputs/gc-keep-derivations settings

	    So if a path is not garbage solely because it's reachable from a root
	    due to the gc-keep-outputs or gc-keep-derivations settings, ‘nix-store
	    -q --roots’ now shows that root.

	commit 06f62defe640517267a6a16dd222076c822f3123
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 20 17:32:15 2012 +0100

	    Yet another rewrite of the garbage collector

	    But this time it's *obviously* correct!  No more segfaults due to
	    infinite recursions for sure, etc.

	    Also, move directories to /nix/store/trash instead of renaming them to
	    /nix/store/bla-gc-<pid>.  Then we can just delete /nix/store/trash at
	    the end.

	commit 9c29a2ed35d884cda182cea74aee2a7ee614de93
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 20 12:22:13 2012 +0100

	    Give a better error message if writeFile fails due to permission issues

	commit e775d4d84fe4b90464b00d560ceb79665301d79b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 19 15:33:09 2012 +0100

	    If gc-keep-derivations is set, only keep the actual deriver

	    This prevents zillions of derivations from being kept, and fixes an
	    infinite recursion in the garbage collector (due to an obscure cycle
	    that can occur with fixed-output derivations).

	commit fbf0b2fa45c883f1f5e0c8f5397fcf62a4df9207
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 19 11:47:42 2012 +0100

	    Kill the build hook rather than shutting it down cleanly

	    Waiting for the hook to shut down cleanly sometimes seems to lead to
	    hangs.

	commit 228ea7c2f988523d2c168f97975ab0e85f412e78
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 18 20:43:47 2012 +0100

	    Revert brain fart

	    This reverts commit cc511fd65b7b6de9e87e72fb4bed16fc7efeb8b7.

	commit cc511fd65b7b6de9e87e72fb4bed16fc7efeb8b7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 18 18:50:05 2012 +0100

	    Check for potential infinite select() loops when building

	commit a9045c727fab1cdcc530bc18e651334cf892d62c
	Author: Stuart Pernsteiner <stuart@pernsteiner.org>
	Date:   Wed Dec 12 21:13:26 2012 -0800

	    fix use-after-free bug in mkString(Value&, Symbol&)

	commit 9fa12fc2015c9cbc34bcf9d83e7396ba5dbc81a9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 12 16:01:46 2012 +0100

	    Allow setting the profile location using $NIX_PROFILE

	    Fixes #69.

	commit 3ad53e43c8ca35cc581ebc3dd880c11892c8e016
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 11 16:50:21 2012 +0100

	    Debian package: Add dependency on libwww-curl-perl

	    Fixes issue #70.

	commit 772778c0eced8f8d63bfe6b1e9801ad6aada65bf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 11 11:49:42 2012 +0100

	    On SQLITE_BUSY, wait a random amount of time

	    If all contending processes wait a fixed amount of time (100 ms),
	    there is a good probability that they'll just collide again.

	commit e087bfef5f36f309b1c8d01bfe297e4cf4decb34
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Dec 7 13:14:04 2012 +0100

	    Bump version number

	commit a6ce6d9e7cc0b95b8fc45ebf011ec10cc8eb0ff4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 6 16:55:57 2012 +0100

	    Fix manual generation

	    Grmbl.

	commit 8cc19ed0892137a77d95250ffe1e5bc29ff2ebaf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Dec 6 11:43:34 2012 +0100

	    Set a long SQLite timeout in the binary cache substituter

	commit 52edef34950354ecccbe8e1bf3f1aced3872b5c0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 23:25:40 2012 +0100

	    Fix RPM build

	    http://hydra.nixos.org/build/3436627

	commit 8d100dbef1f2aeb90b73d659e0c9691be182d9ac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 12:18:07 2012 +0100

	    Add a dependency on xz-utils

	commit 5c487761c4df2aafd2f7d0f33f15adcc3dd45a82
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 12:17:12 2012 +0100

	    Add a dependency on xz

	commit 3631dc6b2f8424018982f1b8a1c44e3d2f9e356e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 12:15:06 2012 +0100

	    Typo

	commit aa61bc74729e1b96f6f345ff65fa6bd5de03df91
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 12:05:43 2012 +0100

	    Fix RPM build

	    http://hydra.nixos.org/build/3436511

	commit 0f96966a44d76e0b625c0b17d02cc53b5233245d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 11:03:06 2012 +0100

	    Add release date

	commit 566afa1e9c804dd4a893960f30325a38c81a4c51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 11:02:44 2012 +0100

	    Support xz compression of nixexprs.tar in channels

	commit 444b03a36fc038f030241d3d006d13ba2ae12e6b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 10:23:53 2012 +0100

	    Produce an xz-compressed tarball

	    Footnote: doing "make dist-gzip dist-xz" doesn't work with Automake;
	    you have to do "make dist-gzip; dist-xz".  That's because the dist-*
	    targets delete the temporary distdir at the end.

	commit d5a01d0f9dfda5a47461ab81e381a7035881b3ef
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Dec 5 09:54:41 2012 +0100

	    Build Debs for Ubuntu 12.10

	commit a7b4aaa2c342437b14b82f216613759acc1208d5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 17:41:51 2012 +0100

	    Updated release notes

	commit 3100b29fc51b46c76f6aca1fffc62881ca10de64
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 17:22:20 2012 +0100

	    Tiny optimisation in the filter primop

	commit 094a08f8396c913b6023ae2bf1c6615470e7cc45
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 17:15:32 2012 +0100

	    Document new primops

	commit 4387d19359780a03c8e60bf7b0687668c9ed88ca
	Author: Florian Friesdorf <flo@chaoflow.net>
	Date:   Tue Dec 4 16:32:38 2012 +0100

	    nix-channel --update needs bzip2

	commit 24d5875514ac4344643988077060e792252d135c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 16:03:56 2012 +0100

	    Document multiple output support

	commit b215b23e9ee481dff55f8f0acf1232f608e5babb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 14:47:50 2012 +0100

	    Test priorities

	commit 56d29dcd62ff5ff65b24da335a5119179c191806
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 14:45:32 2012 +0100

	    buildenv.pl: Create symlinks in priority order

	    This reduces unnecessary symlink/unlink steps.

	commit 2d5e8e267b58f531f00b043c9e3dbaefad62a4a1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 14:30:34 2012 +0100

	    Add a test for ‘nix-env --set-flag active ...’

	commit 5ad89398d12bf8bc83426036dedc2c601ff8f795
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Dec 4 14:20:36 2012 +0100

	    nix-env: Install all outputs of a derivation

	    If you explicitly install a package, presumably you want all of it.
	    So symlink all outputs in the user environment.

	commit 21c2d8d102add45b8eda61c084aa072f8861a0ff
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 3 21:02:06 2012 +0100

	    Test the ‘--prebuilt-only’ flag

	commit d62fc71b851295b4c5692ec5fa362a06172e66ae
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 3 21:01:41 2012 +0100

	    Fix the ‘--prebuilt-only’ flag

	commit 4bb4d5479a8a2c2ed04bd65312ce1bfb6d2c0b13
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Dec 3 18:19:49 2012 +0100

	    Whitespace

	commit 8eed07cda4c193bfcdd6ac4345ac6fb54aee0269
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Nov 28 13:49:44 2012 +0100

	    nix-env -q --out-path: Support multiple outputs

	    We now print all output paths of a package, e.g.

	      openssl-1.0.0i  bin=/nix/store/gq2mvh0wb9l90djvsagln3aqywqmr6vl-openssl-1.0.0i-bin;man=/nix/store/7zwf5r5hsdarl3n86dasvb4chm2xzw9n-openssl-1.0.0i-man;/nix/store/cj7xvk7fjp9q887359j75pw3pzjfmqf1-openssl-1.0.0i

	    or (in XML mode)

	      <item attrPath="openssl" name="openssl-1.0.0i" system="x86_64-linux">
	        <output name="bin" path="/nix/store/gq2mvh0wb9l90djvsagln3aqywqmr6vl-openssl-1.0.0i-bin" />
	        <output name="man" path="/nix/store/7zwf5r5hsdarl3n86dasvb4chm2xzw9n-openssl-1.0.0i-man" />
	        <output name="out" path="/nix/store/cj7xvk7fjp9q887359j75pw3pzjfmqf1-openssl-1.0.0i" />
	      </item>

	commit 6c98e6a5dec2bcbc25ddeb2c279aa4a0b274bd6a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 27 15:01:32 2012 +0100

	    Optionally ignore null-valued derivation attributes

	    This allows adding attributes like

	      attr = if stdenv.system == "bla" then something else null;

	    without changing the resulting derivation on non-<bla> platforms.

	    We once considered adding a special "ignore" value for this purpose,
	    but using null seems more elegant.

	commit 8b8ee53bc73769bb25d967ba259dabc9b23e2e6f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 27 13:29:55 2012 +0100

	    Add builtin constants ‘langVersion’ and ‘nixVersion’

	    The integer constant ‘langVersion’ denotes the current language
	    version.  It gets increased every time a language feature is
	    added/changed/removed.  It's currently 1.

	    The string constant ‘nixVersion’ contains the current Nix version,
	    e.g. "1.2pre2980_9de6bc5".

	commit 5943f41b8bd95b8559cb6768bb0a1151f6bee68d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 18:25:12 2012 +0100

	    queryMissing(): Handle partially valid derivations

	commit 08964d7328f09a703467e4045e34023837a4cc01
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 17:57:14 2012 +0100

	    Undo accidental debug change

	commit 69c88f5028b4b2d5d2500dc4f631d77ac1d2c5fd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 17:46:45 2012 +0100

	    Fix the multiple-outputs test

	commit 408a7bfac1f4282ff6647696dfbc7988eed3a2ca
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 17:39:09 2012 +0100

	    nix-instantiate: Fix read-only evaluation

	commit 8d8d47abd2a66898aa5d8999fcd75b29991e529d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 17:15:09 2012 +0100

	    Only substitute wanted outputs of a derivation

	    If a derivation has multiple outputs, then we only want to download
	    those outputs that are actuallty needed.  So if we do "nix-build -A
	    openssl.man", then only the "man" output should be downloaded.
	    Likewise if another package depends on ${openssl.man}.

	    The tricky part is that different derivations can depend on different
	    outputs of a given derivation, so we may need to restart the
	    corresponding derivation goal if that happens.

	commit 46a369ad9558939bc2c6ee588df483ca503bbb5a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 26 15:39:10 2012 +0100

	    Make "nix-build -A <derivation>.<output>" do the right thing

	    For example, given a derivation with outputs "out", "man" and "bin":

	      $ nix-build -A pkg

	    produces ./result pointing to the "out" output;

	      $ nix-build -A pkg.man

	    produces ./result-man pointing to the "man" output;

	      $ nix-build -A pkg.all

	    produces ./result, ./result-man and ./result-bin;

	      $ nix-build -A pkg.all -A pkg2

	    produces ./result, ./result-man, ./result-bin and ./result-2.

	commit a3d6585c5a1006d4f9ebd2163d06f86ab71a4a3e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 23 16:20:16 2012 +0100

	    nix-copy-closure: Add flag ‘--use-substitutes’

	commit 9de6bc5d05027363f968c20e53e8c3d5aa34f8b4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 20 00:27:25 2012 +0100

	    nix-store -r: Add ‘--ignore-unknown’ flag

	    This flag causes paths that do not have a known substitute to be
	    quietly ignored.  This is mostly useful for Charon, allowing it to
	    speed up deployment by letting a machine use substitutes for all
	    substitutable paths, instead of uploading them.  The latter is
	    frequently faster, e.g. if the target machine has a fast Internet
	    connection while the source machine is on a slow ADSL line.

	commit bf3725da2a1e4e91fc34b5faeb55bb3c02f68674
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Nov 19 23:51:56 2012 +0100

	    nix-store -r: Don't quietly ignore missing paths

	commit 17dc306aa32c48dcde6bfc12ad5e4b48f6b88974
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 15 23:04:34 2012 +0100

	    Revert "prim_toPath: Actually make the string a path"

	    This reverts commit 2980d1fba97069805c3649c5d99d0356bce6c303.  It
	    causes a regression in NixOS evaluation:

	    string `/nix/store/ya3s5gmj3b28170fpbjhgsk8wzymkpa1-pommed-1.39/etc/pommed.conf' cannot refer to other paths

	commit f794465ca8bd2a8d41ee3b6928db5fb1479dc96d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 15 19:35:18 2012 +0100

	    Disable use of vfork()

	    vfork() is just too weird.  For instance, in this build:

	      http://hydra.nixos.org/build/3330487

	    the value fromHook.writeSide becomes corrupted in the parent, even
	    though the child only reads from it.  At -O0 the problem goes away.
	    Probably the child is overriding some spilled temporary variable.

	    If I get bored I may implement using posix_spawn() instead.

	commit 8541d27fce95f1f6a4a6c89bcbc09503ff7ea092
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 15 15:01:02 2012 +0100

	    Don't use std::cerr in a few places

	    Slightly scared of using std::cerr in a vforked process...

	commit 3acc8adcad4066329913cf9ad4e1ccc535f73032
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Nov 15 13:55:02 2012 +0100

	    Add some debug code

	commit ea89df2b76811505239b508a570ac9c0ea591038
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 18:00:33 2012 +0100

	    Use vfork() instead of fork() if available

	    Hopefully this reduces the chance of hitting ‘unable to fork: Cannot
	    allocate memory’ errors.  vfork() is used for everything except
	    starting builders.

	commit 48c19c4633b1443015531ee3032b16b29b0a92f9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 17:59:41 2012 +0100

	    Remove definition of non-existant function

	commit 198dbe7fa1807f7464ef7c15c3fd0d230f7b844e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 16:58:51 2012 +0100

	    Remove some redundant close() calls

	    They are unnecessary because we set the close-on-exec flag.

	commit 10dcee99ed62a775c05f34aa70449945d537e1a2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 16:42:10 2012 +0100

	    Remove the quickExit function

	commit 4c9e3fa6412f736ce422f8deb0ba825999b66b0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 16:35:42 2012 +0100

	    Remove a Darwin hack that should no longer be needed

	commit 182e15b66135a83d60d662a9e480831018572073
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 16:30:15 2012 +0100

	    Manual: Don't use a store path in our closure

	    http://hydra.nixos.org/build/3313227

	commit 88164325fac228e8e27fdea27776416d67a85dd6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 15:09:31 2012 +0100

	    Fix a segfault when auto-calling a "a@{...}" function

	    Since the called function can return its argument attribute set
	    (e.g. "a"), the latter should not be allocated on the stack.

	    Reported by Shea.

	commit f581ce0b0cb86670db2b806f98ac0ec368b8cdc1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 14:58:10 2012 +0100

	    Don't start copy-from-other-stores if $NIX_OTHER_STORES is unset

	    Slight optimisation.

	commit 91ef4d9a81827177963bcf7708af3a46217fd0e9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 14:43:47 2012 +0100

	    Remove unnecessary call to closeMostFDs()

	    We have close-on-exec on all FDs now, and there is no security risk in
	    passing open FDs to substituters anyway.

	commit a9a8baaccbe1c8291d0cfd42fe3c87377b105381
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 13:33:35 2012 +0100

	    Use a shorter Nixpkgs channel URL

	commit c31ebc50aaaf011f020b7314baa9921aae1050a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Nov 9 13:33:24 2012 +0100

	    Update release notes

	commit e28b683324388f33b89ee40d7a7e25dcd8f98109
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 17:55:53 2012 +0100

	    download-from-binary-cache: Try next cache if downloading a NAR fails

	commit bbc107ef1e850d73dbe9a21c567b34f5939570c6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 17:45:20 2012 +0100

	    Process binary caches in order of priority

	    Binary caches can now specify a priority in their nix-cache-info file.
	    The binary cache substituter checks caches in order of priority.  This
	    is to ensure that fast, static caches like nixos.org/binary-cache are
	    processed before slow, dynamic caches like hydra.nixos.org.

	commit 3a95e1a17cd2755f00c26eb16ffd066bc6aa1a8d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 15:49:53 2012 +0100

	    Update nix-push manpage and document the binary cache format

	commit 82951e5582ae7927cb90320accb989214ce07142
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 13:53:53 2012 +0100

	    nix-push: Handle pushing a symlink

	commit 620e92e880f8a011c5f465ea4fee2abf857d4ab2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 13:44:59 2012 +0100

	    Add an option ‘use-binary-caches’

	    This allows disabling the use of binary caches, e.g.

	      $ nix-build ... --option use-binary-caches false

	    Note that

	      $ nix-build ... --option binary-caches ''

	    does not disable all binary caches, since the caches defined by
	    channels will still be used.

	commit df27db712df658dc9b7548b55fd65a15515d4d85
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Nov 6 13:43:46 2012 +0100

	    Fix "Not an ARRAY reference" error

	    It's a mystery why this error is not triggered in the build farm
	    (e.g. http://hydra.nixos.org/build/3265602).  Ah well.

	commit d0fc615af658cb83e858b3c3c5e0d4c6c539ad66
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Nov 5 23:00:21 2012 -0500

	    canonicalizePathMetaData: Fall-back to utimes if lutimes fails due to ENOSYS

	commit 4c34d384e68ce7e2c949a7588d80bbe7d5a96440
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 23 18:05:50 2012 +0200

	    If hashes do not match, print them in base-32 for SHA-1/SHA-256

	    Fixes #57.

	commit a28b4445a4eb8108dfc028083d3939d5f3a42685
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 23 18:04:00 2012 +0200

	    nix-prefetch-url: Improve option handling

	commit 2980d1fba97069805c3649c5d99d0356bce6c303
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Aug 28 22:12:05 2012 -0400

	    prim_toPath: Actually make the string a path

	commit dde6486eabbabf83e2d7aa65cde8eadfee108bdd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 18 10:36:16 2012 -0400

	    nix-push: Add a flag ‘--manifest-path’ to write the manifest to another directory

	commit c8daeba30328c83328b632f8f45920d85d7d1968
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 17 17:01:23 2012 -0400

	    nix-push: Add ‘--link’ flag

	    If ‘--link’ is given, nix-push will create hard links to the NAR files
	    in the store, rather than copying them.  This is faster and requires
	    less disk space.  However, it doesn't work if the store is on a
	    different file system.

	commit 167e36a5c3127da63d120d9fdaf5e046b829f287
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 17 16:45:04 2012 -0400

	    nix-push: Only generate and copy a NAR if it doesn't already exist

	    This prevents unnecessary and slow rebuilds of NARs that already exist
	    in the binary cache.

	commit ac238d619c2469ea89b8707ae340d3f19c77eadf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Oct 12 10:21:04 2012 -0400

	    Typo

	    Reported by Shea.

	commit 600daf972f9157d358841f76b3292b667c97666f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 11 14:21:22 2012 -0400

	    download-from-binary-cache: Remove duplicate entries in trustedURLs

	commit e34518205533a90e9664d7ab3888818e669e11cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 11 14:03:06 2012 -0400

	    Shorten the names of temporary build directories

	commit ecedd9c50c50bb42accf27394193bb7ef80c75b0
	Author: Mats Erik Andersson <gnu@gisladisker.se>
	Date:   Wed Oct 10 11:10:28 2012 +0200

	    Out-of-tree building of perl modules.

	commit 70f75be199d8db959d313dc40111893fba56415f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 4 15:22:25 2012 -0400

	    getDerivation(): Don't always quietly ignore assertion failure

	    Ignoring assertion failures makes some sense for nix-env -qa, but not
	    for nix-instantiate/nix-build or hydra-eval-jobs.

	commit ad328bea15e2708e5aa784c33ba8bfbc86d02e0d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 4 14:07:36 2012 -0400

	    XML writer: flush after newlines

	    This is useful for hydra-eval-jobs.

	commit bfaa5635de8ed83085dfeb265227cc25a32ce07c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 4 13:37:30 2012 -0400

	    Manual: Don't use a store path that actually exists

	    http://hydra.nixos.org/build/3124130

	commit 904f50412cdd0b7d0ef4933e7a5b652a9454d644
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 4 10:20:23 2012 -0400

	    nix-store --verify: Continue on errors

	commit 90b8a34f821610a867b3a60d91c8e86267864be2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Oct 4 09:46:10 2012 -0400

	    Fix regular expression

	    http://hydra.nixos.org/build/3123177

	commit d1de83693821c0cc46810e835509a89b46311d4a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 21:01:03 2012 -0400

	    Fix the tarball build

	commit f766e146f484a10e0bfd3f29b1ba59cc38007b63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 18:01:35 2012 -0400

	    Fix the test

	commit e35d6f78dc797150451f5134833afa0ecdf4a241
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 17:57:20 2012 -0400

	    Rename nix-worker to nix-daemon

	commit 522ecab9b83902de5a3010b50b9532e376cbba4c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 17:30:45 2012 -0400

	    Drop support for running nix-worker in "slave" mode

	    AFAIK nobody uses this, setuid binaries are evil, and there is no good
	    reason why people can't just run the daemon.

	commit 7586095504f238a35937426aa870cb6d2a7b2862
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 16:54:40 2012 -0400

	    Remove bin2c

	commit a562d544d8520a0f113ad1a348e28ea00f27b693
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 16:37:06 2012 -0400

	    When ‘--help’ is given, just run ‘man’ to show the manual page

	    I.e. do what git does.  I'm too lazy to keep the builtin help text up
	    to date :-)

	    Also add ‘--help’ to various commands that lacked it
	    (e.g. nix-collect-garbage).

	commit 9c41c66c5b877dbb529f6147b28384a57a591895
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 15:53:25 2012 -0400

	    Document ‘--repair’

	commit 2bbc4a214ee998816921cefb2d69f30d5f277d12
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 15:35:42 2012 -0400

	    nix-env: Support ‘--repair’ flag

	commit 2e90a5a2a7646f4ab36202d6a149518ccb6f750e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 15:14:02 2012 -0400

	    nix-build: Support ‘--repair’ flag

	commit 0a7084567fc4e7d077863075a7ea1bb82d843341
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 15:09:18 2012 -0400

	    Add a ‘--repair’ flag to nix-instantiate

	    This allows repairing corrupted derivations and other source files.

	commit a807edfae8428bf426ee6ae849a7a24d74d39202
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 11:20:16 2012 -0400

	    Handle repairing paths that are in build-chroot-dirs

	commit a3f205b24954c7f0983a937b0b9b3d64c22a2fa7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Oct 3 10:38:09 2012 -0400

	    When repairing a derivation, check and repair the entire output closure

	    If we find a corrupted path in the output closure, we rebuild the
	    derivation that produced that particular path.

	commit 2001895f3d2668549feb60a182aa624a7b6292eb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 2 17:13:46 2012 -0400

	    Add a --repair flag to ‘nix-store -r’ to repair derivation outputs

	    With this flag, if any valid derivation output is missing or corrupt,
	    it will be recreated by using a substitute if available, or by
	    rebuilding the derivation.  The latter may use hash rewriting if
	    chroots are not available.

	commit cf46f194445c9abc0398dae908295dff794fee98
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 2 16:00:09 2012 -0400

	    nix-store -r: Get rid of an unnecessary call to buildPaths/ensurePaths

	commit 8e3a7bd71253f02eb1a9fbb996166727b1283887
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 2 15:04:59 2012 -0400

	    nix-store --verify: Add an option ‘--repair’ to repair all missing/corrupt paths

	    Also, return a non-zero exit code if errors remain after
	    verifying/repairing.

	commit 9958bd6992e2b3e7bacb493a372d17d5a5b95d90
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Oct 2 14:08:59 2012 -0400

	    Add operation ‘nix-store --repair-path’

	    This operation allows fixing corrupted or accidentally deleted store
	    paths by redownloading them using substituters, if available.

	    Since the corrupted path cannot be replaced atomically, there is a
	    very small time window (one system call) during which neither the old
	    (corrupted) nor the new (repaired) contents are available.  So
	    repairing should be used with some care on critical packages like
	    Glibc.

	commit e666e1156fba936dce93ccfa2486f67369a97129
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 28 21:39:30 2012 -0400

	    Handle octal escapes in /proc/self/mountinfo

	commit f406288cc7cf648001a40b0a96cb97c31347cc5a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 28 21:26:36 2012 -0400

	    Print a more descriptive error message if setting up the build environment fails

	commit 95c74eae269b2b9e4bc514581b5caa1d80b54acc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 27 15:43:08 2012 -0400

	    Allow dashes in identifiers

	    In Nixpkgs, the attribute in all-packages.nix corresponding to a
	    package is usually equal to the package name.  However, this doesn't
	    work if the package contains a dash, which is fairly common.  The
	    convention is to replace the dash with an underscore (e.g. "dbus-lib"
	    becomes "dbus_glib"), but that's annoying.  So now dashes are valid in
	    variable / attribute names, allowing you to write:

	      dbus-glib = callPackage ../development/libraries/dbus-glib { };

	    and

	      buildInputs = [ dbus-glib ];

	    Since we don't have a negation or subtraction operation in Nix, this
	    is unambiguous.

	commit f46612be96a70a188cd48462ac94089d3e95a36b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 16:30:37 2012 -0400

	    Add "on Linux" qualifier

	commit d534f137f0b0bf6b8559731edcfc1e50bd15a427
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 16:30:08 2012 -0400

	    Make the store writable before creating /nix/store/.links

	commit 0f358ca5b6f1357e295020c3ed89fe877e809fd9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 16:11:58 2012 -0400

	    Document that Nix requires GNU Make

	    Fixes #44.

	commit cb6651e878b3f2d97ac5e2318d679957904105ef
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 16:04:50 2012 -0400

	    Update release notes

	commit e464b0247d9dd2c53770a851956dd34f82b7c9a6
	Merge: 28bf183 b9c2b4d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 15:38:00 2012 -0400

	    Merge branch 'readonly-store'

	commit 28bf183d2d2f775e653efe4cee98d7359ce65455
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 25 13:00:19 2012 -0400

	    Include <sys/types.h> for off_t

	    Reported by "gio" on IRC.

	commit c1f91570b39caa3cf8a533aa517e3812a8bb8dc3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 21 15:02:33 2012 -0400

	    Style fix

	commit 20582e9ae3c6eb14212a285489c1a573117d046c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 19 17:33:42 2012 -0400

	    Support xz compression in the download-using-manifests substituter

	commit b9c2b4d5b4cd5d52a950e6dd90eb2e2e79891fa0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 19 16:17:54 2012 -0400

	    Remove setting of the immutable bit

	    Using the immutable bit is problematic, especially in conjunction with
	    store optimisation.  For instance, if the garbage collector deletes a
	    file, it has to clear its immutable bit, but if the file has
	    additional hard links, we can't set the bit afterwards because we
	    don't know the remaining paths.

	    So now that we support having the entire Nix store as a read-only
	    mount, we may as well drop the immutable bit.  Unfortunately, we have
	    to keep the code to clear the immutable bit for backwards
	    compatibility.

	commit b9124a5c336fd231adaa548cf5be311731847848
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 19 15:45:29 2012 -0400

	    Support having /nix/store as a read-only bind mount

	    It turns out that the immutable bit doesn't work all that well.  A
	    better way is to make the entire Nix store a read-only bind mount,
	    i.e. by doing

	      $ mount --bind /nix/store /nix/store
	      $ mount -o remount,ro,bind /nix/store

	    (This would typically done in an early boot script, before anything
	    from /nix/store is used.)

	    Since Nix needs to be able to write to the Nix store, it now detects
	    if /nix/store is a read-only bind mount and then makes it writable in
	    a private mount namespace.

	commit 76e88871b21c47c0216e160a5fb926f763ba64fe
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 19 15:43:23 2012 -0400

	    Templatise tokenizeString()

	commit 00092b2d356293a7af9d4d8125a689f90c461591
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 18 10:11:42 2012 -0400

	    Keep build directory if not all expected outputs were produced

	    Fixes issue #123 in Nixpkgs.

	commit b67466576531959ca298fcfce4f0bf379515f8e5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 14 10:18:27 2012 -0400

	    Test whether GNU tar understands --warning=no-timestamp

	    http://hydra.nixos.org/build/3031618

	commit 09eb23090022fed689c6db6c485d7cc973e2b79e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Sep 14 09:39:48 2012 -0400

	    Fix test

	    http://hydra.nixos.org/build/3031382

	commit 983220bcd46e89ee4d2ce0417eb514cd6c062f2d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 18:09:20 2012 -0400

	    nix-collect-garbage: Support --dry-run

	commit 9fd9dedf12bb64e02b35e9231173f9ebae5e1492
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 18:05:04 2012 -0400

	    nix-env --delete-generations: Support --dry-run flag

	    Fixes #43.

	commit 1bda006b748ffec371096af56a8fbf7125658f71
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 17:58:14 2012 -0400

	    Add a test for nix-profile.sh

	commit aac14222f52b15c9f4eea90359e9df09fb301739
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 17:48:19 2012 -0400

	    nix-profile.sh: Revert to single-user version

	    Commit 6a214f3e06fa1c5f0a4d40e555f14d87691af297 copied most of the Nix
	    shell initialisation code from NixOS to nix-profile.sh; however, that
	    code assumes a multi-user install and is Linux-specific (e.g. it calls
	    the "stat" command).  So go back to the simple single-user version.

	    Fixes #49.

	commit 54fe8e0773870631724b7325553f84637bb3e05a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 17:23:12 2012 -0400

	    Remove double Fedora release suffix

	commit 47ae3ce2ca1dc93e2539a04c690c18f4747c8e8d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 16:39:16 2012 -0400

	    Put a time-to-live on negative binary cache lookups

	    Negative lookups are purged from the DB after a day, at most once per
	    day.  However, for non-"have" lookups (e.g. all except "nix-env
	    -qas"), negative lookups are ignored after one hour.  This is to
	    ensure that you don't have to wait a day for an operation like
	    "nix-env -i" to start using new binaries in the cache.

	    Should probably make this configurable.

	commit e03a8a1c923365ca24ea63ac43d3e09f7f9fb3d8
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 14:58:56 2012 -0400

	    Doh

	commit 8fbe96cb3154d5db11b15728ad037bed28f08aa9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 14:46:37 2012 -0400

	    RemoteStore::connectToDaemon(): Set close-on-exec flag

	    This ensures that "nix-build --run-env" doesn't keep a connection to
	    the worker open, preventing it from exiting.

	commit e6e495649cc1f324cd0a66cfaf3c4bdf21522e63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 14:33:41 2012 -0400

	    Vacuum the SQLite DB after running the garbage collector

	commit 2923b55f9d67bda340053a27e08f7bcddc025f7c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 13:08:27 2012 -0400

	    Delete paths in a component in topologically sorted order

	    The outputs of a derivation can refer to each other (even though they
	    cannot have cycles), so they have to be deleted in the right order.

	    http://hydra.nixos.org/build/3026118

	commit 31114ec3a5ce08ccf9526f62316f1cc60c8b399a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 12:54:23 2012 -0400

	    Fix the store optimisation test

	    http://hydra.nixos.org/build/3026118

	commit c845c0ccad9a835a69c63c2eadd71d7845dca111
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 12:11:40 2012 -0400

	    nix-channel: Add option to force fetching of manifests

	commit b14717ab9003452fda7afe0f9627673b9f331569
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 11:35:46 2012 -0400

	    Delete manifests in "nix-channel --remove" or when a binary cache is available

	commit 6c4ac299173e3b9772c96bef1e6463b22dcd0227
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 10:28:20 2012 -0400

	    Disable auto store optimisation for now

	    I've seen operations like "nix-store --import" take much longer on one
	    system.  So default to off until I've investigated this a bit further.

	commit e56f71edafce9c60fd5e0c3ed93771b7d911d334
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Sep 13 10:06:24 2012 -0400

	    In startBuilder(), only print the new paths we're building

	commit 4fca02077c4cdea13d32b4665e817460f6502726
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 12 18:49:35 2012 -0400

	    Handle gc-keep-outputs and gc-keep-derivations both enabled

	    If the options gc-keep-outputs and gc-keep-derivations are both
	    enabled, you can get a cycle in the liveness graph.  There was a hack
	    to handle this, but it didn't work with multiple-output derivations,
	    causing the garbage collector to fail with errors like ‘error: cannot
	    delete path `...' because it is in use by `...'’.  The garbage
	    collector now handles strongly connected components in the liveness
	    graph as a unit and decides whether to delete all or none of the paths
	    in an SCC.

	commit 479e9172b3583cedcada90ed193cab156cdc56b5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 12 12:15:47 2012 -0400

	    Build hook: Pass the timeout to the remote builder

	    Note that this will only work if the client has a very recent Nix
	    version (post 15e1b2c223494ecb5efefc3ea0e3b926a6b1d7dc), otherwise the
	    --option flag will just be ignored.

	    Fixes #50.

	commit 4ba47205c687772cf73a490eac3a489931d4913b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 12 11:29:10 2012 -0400

	    Fix test failure on Darwin

	    Apparently our DBD::SQLite links against /usr/lib/libsqlite3.dylib,
	    which is an old version that doesn't respect foreign key constraints.
	    So manifests/cache.sqlite doesn't get updated properly when a manifest
	    disappears.  We should fix our DBD::SQLite, but in the meantime this
	    will fix the test.

	    http://hydra.nixos.org/build/3017959

	commit 6762424e2471e3e4f9ba9b6bb883d08911d352fb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Sep 12 10:41:17 2012 -0400

	    Compatibility fix for WWW::Curl < 4.14

	    Older versions of WWW::Curl don't support scalar references for
	    CURLOPT_WRITEDATA directly.

	    http://hydra.nixos.org/build/3017188

	commit d4c3b6327ff88273462cec57b0e2805d333c386e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 19:14:15 2012 -0400

	    Don't put results symlinks in the tests directory

	commit 1f7901ec3b66fa80203bbac2cd6852eda389ba18
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 19:10:11 2012 -0400

	    Test hash rewriting

	commit 5e2ffd0b8a857da3239015d28f3a8b803566aecc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 19:09:01 2012 -0400

	    Fix "non-zero padding" error

	    Probably it's not a good idea to pass a temporary object to
	    StringSource.

	commit 8cf672091eb93fea5496aca2655436413f4d3c66
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 18:39:22 2012 -0400

	    Support building a derivation if some outputs are already valid (non-chroot case)

	    This uses scary hash rewriting.

	    Fixes #21.

	commit 9dbda2b3fe98014687ae5cbbf16866ca6cf34f64
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 17:05:35 2012 -0400

	    Remove debug line

	commit a2785b739169832f09285c81695c90a3aac3f731
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 16:59:59 2012 -0400

	    Support building a derivation if some outputs are already valid

	    This handles the chroot and build hook cases, which are easy.
	    Supporting the non-chroot-build case will require more work (hash
	    rewriting!).

	    Issue #21.

	commit 295027f533bb5a754bfc62f934c88b43e9c100a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 14:45:42 2012 -0400

	    Include config.h before any other header

	    "config.h" must be included first, because otherwise the compiler
	    might not see the right value of _FILE_OFFSET_BITS.  We've had this
	    before; see 705868a8a96a10f70e629433cfffc2d5cd2703eb.  In this case,
	    GCC would compute a different address for ‘settings.useSubstitutes’ in
	    misc.cc because of the off_t in ‘settings’.

	    Reverts 3854fc9b42d16b810f62b64194b699033b03aaf1.

	    http://hydra.nixos.org/build/3016700

	commit d3004c78d9816431224f7ac0416c5bfea0cc22cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Sep 11 13:07:22 2012 -0400

	    Don't use -warning=no-timestamp unless we have GNU tar

	    http://hydra.nixos.org/build/2998485

	commit 360056e174db2171c47e065ae1e5f58ccee0236f
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Aug 26 14:48:47 2012 -0400

	    Document importing from a directory in the import documentation

	commit f7b650d234dffd72b2c70ee25d9e333d433feba6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 28 11:47:26 2012 -0400

	    Make "nix-instantiate -" interruptible

	commit 15e1b2c223494ecb5efefc3ea0e3b926a6b1d7dc
	Merge: a9e6752 9e2fc69
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 14:34:51 2012 -0400

	    Merge branch 'no-manifests'

	commit 9e2fc6951ca049b15149a2c4b75d2f5bff7f07e1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 14:20:14 2012 -0400

	    Disable the binary cache substituter by default for now

	commit cfd968dd94f35c5ef781be9bda883d8818fc1d6e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 14:17:13 2012 -0400

	    Fix stupid type error in calling std::max

	commit f3077fd88d6ec8f05a5471687f23589e34dfeaeb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 13:45:53 2012 -0400

	    Add libwww-curl-perl to the Debian/Ubuntu images

	commit cc8641815b018315ee444c58dd4bc6bfc38c7d0f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:47:49 2012 -0400

	    Add WWW::Curl to the RPM dependencies

	commit 2688fb73f1e0bd96003a82c89ac8de12eca2b49f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:47:04 2012 -0400

	    Add perl-WWW-Curl to the RPM image

	commit 8207359227740bfb2fe77cf843a81aa878fd39aa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:28:48 2012 -0400

	    Whitespace

	commit 8b8fe6139e05f990b9d2a35652fd9bdb79189f90
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:28:34 2012 -0400

	    Drop dependency on List::MoreUtils

	commit babe54bf97091441353f2219e7846afd0e0d9f16
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:11:30 2012 -0400

	    Add missing file

	commit e94806d03098f1d6e654542500bbea1eaa0ec60b
	Merge: 9c2deca a9e6752
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 27 11:09:07 2012 -0400

	    Merge branch 'master' into no-manifests

	commit a9e6752bbd888ab8fbc1cda6e4d539b2858c4cef
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Aug 24 16:58:11 2012 -0400

	    Include the output name in the GC root link

	    Output names are now appended to resulting GC symlinks, e.g. by
	    nix-build.  For backwards compatibility, if the output is named "out",
	    nothing is appended.  E.g. doing "nix-build -A foo" on a derivation
	    that produces outputs "out", "bin" and "dev" will produce symlinks
	    "./result", "./result-bin" and "./result-dev", respectively.

	commit 4aa1e5c55484ac02d28883292ee5c5806f5e4664
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 22 10:58:24 2012 -0400

	    Receive reserveSpace before calling startWork()

	    Otherwise we can get a SIGPOLL.  Reported by Ludovic.

	commit d950cfe70b2b70e938ece672dbccedfd4413c295
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 20 15:55:49 2012 -0400

	    Check if MS_PRIVATE is defined

	    http://hydra.nixos.org/build/2955671

	commit 56e30e161cd309addb5aa95ba02a8d3371846228
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 20 15:27:30 2012 -0400

	    In the chroot, make all mounted filesystems private

	    This is required on systemd, which mounts filesystems as "shared"
	    subtrees.  Changes to shared trees in a private mount namespace are
	    propagated to the outside world, which is bad.

	commit f0eab0636b73a4f16b7639d30956d9072d5573cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 20 15:27:00 2012 -0400

	    Don't bind-mount /proc since we mount our own

	commit 862c4c5ec509e05815d99fb4b80558974148b8c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 19 16:32:42 2012 -0400

	    Fix 1755 permission on temporary directories left behind by ‘-K’

	commit 767101824af1fe41b6e50791b21112c6a8d7457f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 15:10:29 2012 -0400

	    Avoid concatenating lists of one string

	commit e5c589d271c62f57cd2e7eb7d9841f67d8845ff4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 15:02:09 2012 -0400

	    Don't allocate empty lists

	    This saves about 4 MB when evaluating a NixOS system configuration.

	commit 3e89ef597ce00dbf82a937aad9efab3c9c7b6dcf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 14:58:54 2012 -0400

	    Optimise concatenating a list to an empty list

	    More precisely, in concatLists, if all lists except one are empty,
	    then just return the non-empty list.  This reduces the number of list
	    element allocations by 32% when evaluating a NixOS system
	    configuration.

	commit 9c2d63084bd4f6a04210cd52b4fce054d248bc6b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 13:46:42 2012 -0400

	    Add a primop ‘elemAt’ to get an element from a list

	commit 198d0338be7c105b6dbd707f98e0c223a8358240
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 01:53:10 2012 -0400

	    Add a primop ‘concatLists’

	    This can serve as a generic efficient list builder.  For instance, the
	    function ‘catAttrs’ in Nixpkgs can be rewritten from

	      attr: l: fold (s: l: if hasAttr attr s then [(getAttr attr s)] ++ l else l) [] l

	    to

	      attr: l: builtins.concatLists (map (s: if hasAttr attr s then [(getAttr attr s)] else []) l)

	    Statistics before:

	      time elapsed: 1.08683
	      size of a value: 24
	      environments allocated: 1384376 (35809568 bytes)
	      list elements: 6946783 (55574264 bytes)
	      list concatenations: 37434
	      values allocated: 1760440 (42250560 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18273
	      number of thunks: 1297673
	      number of thunks avoided: 1380759
	      number of attr lookups: 430802
	      number of primop calls: 628912
	      number of function calls: 1333544

	    Statistics after (including new catAttrs):

	      time elapsed: 0.959854
	      size of a value: 24
	      environments allocated: 1010198 (26829296 bytes)
	      list elements: 1984878 (15879024 bytes)
	      list concatenations: 30488
	      values allocated: 1589760 (38154240 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18274
	      number of thunks: 1040925
	      number of thunks avoided: 1038428
	      number of attr lookups: 438419
	      number of primop calls: 474844
	      number of function calls: 959366

	commit b9e5b908ed29bfb6cd82837f9f57293c1f63e999
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 01:05:35 2012 -0400

	    Provide an efficient implementation of ‘elem’

	    The one in Nixpkgs is O(n^2), this one is O(n).  Big reduction in the
	    number of list allocations.

	    Statistics before (on a NixOS system config):

	      time elapsed: 1.17982
	      size of a value: 24
	      environments allocated: 1543334 (39624560 bytes)
	      list elements: 9612638 (76901104 bytes)
	      list concatenations: 37434
	      values allocated: 1854933 (44518392 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18272
	      number of thunks: 1392467
	      number of thunks avoided: 1507311
	      number of attr lookups: 430801
	      number of primop calls: 691600
	      number of function calls: 1492502

	    Statistics after:

	      time elapsed: 1.08683
	      size of a value: 24
	      environments allocated: 1384376 (35809568 bytes)
	      list elements: 6946783 (55574264 bytes)
	      list concatenations: 37434
	      values allocated: 1760440 (42250560 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18273
	      number of thunks: 1297673
	      number of thunks avoided: 1380759
	      number of attr lookups: 430802
	      number of primop calls: 628912
	      number of function calls: 1333544

	commit 4ccd48ce2478cbe1263605838969f89d5b745f0a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Aug 13 00:28:08 2012 -0400

	    Add a "filter" primop

	    Evaluation of a NixOS configuration spends quite a lot of time in the
	    "filter" function in Nixpkgs.  As implemented in Nixpkgs, this is a
	    O(n^2) operation, so it's a good candidate for providing a more
	    efficient (i.e. primop) implementation.  Using it gives a ~10% speed
	    increase and a significant reduction in the number of evaluations.

	    Statistics before (on a NixOS system config):

	      time elapsed: 1.3258
	      size of a value: 24
	      environments allocated: 1980939 (50127080 bytes)
	      list elements: 14679308 (117434464 bytes)
	      list concatenations: 50828
	      values allocated: 2098938 (50374512 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18271
	      number of thunks: 1645752
	      number of thunks avoided: 1921196
	      number of attr lookups: 430798
	      number of primop calls: 838807
	      number of function calls: 1930107

	    Statistics after:

	      time elapsed: 1.17982
	      size of a value: 24
	      environments allocated: 1543334 (39624560 bytes)
	      list elements: 9612638 (76901104 bytes)
	      list concatenations: 37434
	      values allocated: 1854933 (44518392 bytes)
	      attribute sets allocated: 392040
	      right-biased unions: 186334
	      values copied in right-biased unions: 591137
	      symbols in symbol table: 18272
	      number of thunks: 1392467
	      number of thunks avoided: 1507311
	      number of attr lookups: 430801
	      number of primop calls: 691600
	      number of function calls: 1492502

	commit 62f72eb9e1a4421a9d4ea3e06f467e49869c0e51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 12 23:41:48 2012 -0400

	    Add some more evaluations stats

	commit e82767910c649f160d6701e47f606f3b8dde4b29
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 12 23:29:28 2012 -0400

	    Add some basic profiling support to the evaluator

	    Setting the environment variable NIX_COUNT_CALLS to 1 enables some
	    basic profiling in the evaluator.  It will count calls to functions
	    and primops as well as evaluations of attributes.

	    For example, to see where evaluation of a NixOS configuration spends
	    its time:

	    $ NIX_SHOW_STATS=1 NIX_COUNT_CALLS=1 ./src/nix-instantiate/nix-instantiate '<nixos>' -A system --readonly-mode
	    ...
	    calls to 39 primops:
	        239532 head
	        233962 tail
	        191252 hasAttr
	    ...
	    calls to 1595 functions:
	        224157 `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/lists.nix:17:19'
	        221767 `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/lists.nix:17:14'
	        221767 `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/lists.nix:17:10'
	    ...
	    evaluations of 7088 attributes:
	        167377 undefined position
	        132459 `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/attrsets.nix:119:41'
	         47322 `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/attrsets.nix:13:21'
	    ...

	commit 325d1cfebf6c8ad391dc318f984feb3e5731aa5a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Aug 7 16:22:54 2012 -0400

	    Don't warn about maximum link count exceeded on 0-byte files

	commit d025142f529731f05868f5397f5617011963c8b4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 5 21:45:27 2012 -0400

	    Handle amount of disk space saved by hard linking being negative

	    Fixes bogus messages like "currently hard linking saves
	    17592186044416.00 MiB".

	commit b6c989b80198badf5f694340c07abc282365aaec
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 5 21:41:44 2012 -0400

	    Fix race condition when two processes create a hard link to a file in .links

	    This is a problem because one process may set the immutable bit before
	    the second process has created its link.

	    Addressed random Hydra failures such as:

	    error: cannot rename `/nix/store/.tmp-link-17397-1804289383' to
	    `/nix/store/rsvzm574rlfip3830ac7kmaa028bzl6h-nixos-0.1pre-git/upstart-interface-version':
	    Operation not permitted

	commit 108e14bb189fd0fb291d3494f9f3915070a7052e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Aug 5 18:17:55 2012 -0400

	    Fix race condition when two processes create the same link in /nix/store/.links

	commit 6763084ae53fc0228d50ab94bbbced89c1b14f1c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 22:43:03 2012 -0400

	    Count bytes freed deleting unused links

	commit 01d56c1eeca497de247413a64a544605c53d9d41
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 22:34:46 2012 -0400

	    Drop the block count in the garbage collector

	commit 967d066d8e452e59507ebae7585d6f34a4edf687
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 19:14:30 2012 -0400

	    nix-store --gc: Make ‘--max-freed 0’ do the right thing

	    That is, delete almost nothing (it will still remove unused links from
	    /nix/store/.links).

	commit 1df702d34733e69599a6ae21cb366348a2534b7d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 19:01:50 2012 -0400

	    removeUnusedLinks(): Print stats on disk space saved by hard linking

	commit 9c2decaa1935ae4bf99a9b723d4eab188f8f88ef
	Merge: 5170c56 234ce61
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 18:03:49 2012 -0400

	    Merge branch 'master' into no-manifests

	commit 5170c5691aac1bd6abc69be65cf880316e11fe24
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 17:56:11 2012 -0400

	    nix-channel: Use binary caches advertised by channels

	    Channels can now advertise a binary cache by creating a file
	    <channel-url>/binary-cache-url.  The channel unpacker puts these in
	    its "binary-caches" subdirectory.  Thus, the URLS of the binary caches
	    for the channels added by root appear in
	    /nix/var/nix/profiles/per-user/eelco/channels/binary-caches/*.  The
	    binary cache substituter reads these and adds them to the list of
	    binary caches.

	commit 79bba3782c275f03954cc9fc03f92aff487db953
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 17:21:47 2012 -0400

	    Doh

	commit ca94b383718f2dc5f4f14ed6eddd8d04ac9d3fc2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 16:43:36 2012 -0400

	    nix-env: Ignore manifest.nix when recursing into ~/.nix-defexpr

	    Channels are implemented using a profile now, and profiles contain a
	    manifest.nix file.  This should be ignored to prevent bogus packages
	    from showing up in nix-env.

	commit 46f852cda013b818f113c7905f020131a44f2340
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 16:42:51 2012 -0400

	    Use a GNU tar flag to shut up warnings about implausibly old timestamp

	commit afa7e0187815d89c8af93fa9c1081bf67ab0f10e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 16:34:17 2012 -0400

	    Inline unpack-channel.sh

	commit 234ce610e0671410cb8a9ce4d8725e55472e8d47
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 16:09:47 2012 -0400

	    Doh

	commit 7b10562370919947c9df748a165587ec5fc6c2ea
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 16:06:49 2012 -0400

	    Make ‘nix-store --optimise’ interruptible

	commit 8a25d787d7f05d612521bd489510aa23d4ef2177
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 11:33:15 2012 -0400

	    download-from-binary-cache: Remove duplicate URLs

	commit c770a2422a47526d5eb336af6af4292df68dad2b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Aug 1 11:19:24 2012 -0400

	    Report substituter errors to clients of the Nix daemon

	commit 4d1b64f118cf6ebcbf530bea4a3c531704d7d6ba
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 31 18:56:22 2012 -0400

	    Allow daemon users to override ‘binary-caches’

	    For security reasons, daemon users can only specify caches that appear
	    in the ‘binary-caches’ and ‘trusted-binary-caches’ options in
	    nix.conf.

	commit eb7849e3a281511a59abf72ae5c3133f903bbaab
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 31 18:50:32 2012 -0400

	    Prevent an injection attack in passing untrusted options to substituters

	commit 90d9c58d4dabb370849cd523fb9ee471e8140b76
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 31 18:19:44 2012 -0400

	    Pass all --option flags to the daemon

	commit 89a8207029e7f6d5cfe3ab972c49ea46f5b9a784
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 31 17:56:02 2012 -0400

	    Add an option ‘build-fallback’ (equivalent to the --fallback flag)

	commit 157170059df39933d358d087d88f8b5bc4d5fde6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 22:29:42 2012 -0400

	    Manual: Remove reference to non-existent -I option

	commit 97421eb5ecde86b75441094fda017b12b5eca2a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 19:55:41 2012 -0400

	    Refactor settings processing

	    Put all Nix configuration flags in a Settings object.

	commit d50d7a287416da2086b0b24f9d998eabb24c1734
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 17:13:25 2012 -0400

	    Whitespace

	commit 9cd63d224468af87baf74228acc162873c649493
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 17:09:36 2012 -0400

	    Do some validation of URLs

	commit f3eb29c6530e990b18e9f04390f6fa7bfbc58078
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 17:09:13 2012 -0400

	    Fix the test

	commit 9de6d10d112665ba1c6d807dd3950ed4c43a4404
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 16:39:31 2012 -0400

	    Get rid of $NIX_BINARY_CACHES

	    You can use ‘--option binary-caches URLs’ instead.

	commit ab42bf1dab026d10b74e857a76feff475ae8a162
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 16:11:02 2012 -0400

	    nix-install-package: Support binary caches

	    The .nixpkg file format is extended to optionally include the URL of a
	    binary cache, which will be used in preference to the manifest URL
	    (which can be set to a non-existent value).

	commit d059bf48e4bd4d1f50593dbe60953de8b2d395c7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 16:09:54 2012 -0400

	    Pass configuration settings to the substituters

	    Previously substituters could read nix.conf themselves, but this
	    didn't take --option flags into account.

	commit f9613da18033d0a9835bc57ac2142aca754983cf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 15:43:37 2012 -0400

	    Remove unused variables

	commit 6183cf2f197edd079a0134ccb8d320bab083a624
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 30 15:42:18 2012 -0400

	    Fix whitespace

	commit f15083c10afaebb8f2a0e7fbc95dd4cc5208c992
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 29 14:37:40 2012 -0400

	    Document the --option flag

	    Pointed out by Daniel Santa Cruz on IRC.

	commit 66a3ac6a56cfa70e2ffeb911c1286ba84c2fa048
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 18:16:05 2012 -0400

	    Allow a binary cache to declare that it doesn't support "nix-env -qas"

	    Querying all substitutable paths via "nix-env -qas" is potentially
	    hard on a server, since it involves sending thousands of HEAD
	    requests.  So a binary cache must now have a meta-info file named
	    "nix-cache-info" that specifies whether the server wants this.  It
	    also specifies the store prefix so that we don't send useless queries
	    to a binary cache for a different store prefix.

	commit 6ecf4f13f6a71701f77018a852db2bd4bde0bb67
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 14:33:01 2012 -0400

	    Use "set -x" in the tests to see where a test fails

	commit e6ab52cdd1df207c7a007a9cba665ee8a031d94a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 14:15:03 2012 -0400

	    Test "nix-env -qas" with the binary cache substituter

	commit 73acb8b836affe5dfade9dd6e3339ad2f9191add
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 12:16:02 2012 -0400

	    Let build.cc verify the expected hash of a substituter's output

	    Since SubstitutionGoal::finished() in build.cc computes the hash
	    anyway, we can prevent the inefficiency of computing the hash twice by
	    letting the substituter tell Nix about the expected hash, which can
	    then verify it.

	commit fbf59d95f66012349fdcd2b60f34b9efb32e6319
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 10:56:33 2012 -0400

	    Remove more tabs

	commit 3a8f841612f08b9be11cc5346fa3c025413282d6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 10:47:36 2012 -0400

	    download-using-manifests: Don't use nix-prefetch-url

	    Instead call curl directly and pipe it into ‘nix-store --restore’.
	    This saves I/O and prevents creating garbage in the Nix store.

	commit b4ea83249b40dd910daa6a8ee32f13e023e9c858
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 09:59:18 2012 -0400

	    Remove trailing whitespace / tabs

	commit 7f8e805c8ef2d7728648553de6b762964730a09a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 27 09:57:42 2012 -0400

	    download-from-binary-cache: Only use the default cache for /nix/store

	commit 67c6f3eded7dcb7c79243ed41f177c960f2b6aad
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 18:28:12 2012 -0400

	    nix-push: Support generating a manifest again

	    This makes all the tests succeed.  Woohoo!

	commit 50395b71a90314abfcc39d8343dbaa8e9aa199a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:36:07 2012 -0400

	    Fix the substituter tests

	commit e3ce54cceedb9a3144c4eccfbafd63ed765d8913
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:13:38 2012 -0400

	    nix-push: Remove the upload feature

	commit 609586a16de90f8964b9c494aad3c1526feb514f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:13:14 2012 -0400

	    Add a test for the binary cache substituter

	commit 7861260a5ff33689b1b8f7a89489f5d5e5e4dfcb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:12:42 2012 -0400

	    Clear NIX_STORE when running the tests

	commit 7892ad15ab4b6db0eee619a1fdd14fed129db252
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:11:11 2012 -0400

	    download-from-binary-cache: Support file://

	    The file:// URI schema requires checking for errors in a more general
	    way.  Also, don't cache file:// lookups.

	commit dbce685e91c513341dedf8c1a916ef4c62f5650a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 17:10:28 2012 -0400

	    Add some .gitignore entries

	commit 8c7910083976e255300efa797030448f5a1cb864
	Merge: aa115e2 3a4623a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 15:14:33 2012 -0400

	    Merge branch 'master' into no-manifests

	commit 3a4623afbbc1bff85bde33167d36e8c5a4a3df0d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 26 15:04:40 2012 -0400

	    Set permissions on temporary build directories to 0700

	    Fixes #39.

	commit 2605f4f4e6a367df67bf8b33b252c350313699c9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 25 17:06:09 2012 -0400

	    nix-profile.sh: Don't set NIX_REMOTE on single user installations

	    Commit 6a214f3e06fa1c5f0a4d40e555f14d87691af297 reused the NixOS
	    environment initialisation for nix-profile.sh, but this is
	    inappropriate on systems that don't have multi-user support enabled.

	commit 477b0fbeca62bf1957bc0aad26f1a844ebd22231
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 25 16:56:56 2012 -0400

	    Subscribe to the Nixpkgs rather than NixOS channel

	commit f5954e2d940c3a41a6ed0cad45660e254eb381a3
	Author: Shea Levy <shea@shealevy.com>
	Date:   Tue Jul 24 12:05:27 2012 -0400

	    prim_import: When importing .drvs, allocate the intermediate attrset on the heap just in case it escapes the stack frame.

	commit 1ef2d5765be35c3d3c13a2aea8748166f576ec8b
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jul 23 13:45:51 2012 -0400

	    Turn tests back on

	commit b1112bbef195bc8397c4e88aa8544537a6d84731
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jul 23 13:41:28 2012 -0400

	    import: If the path is a valid .drv file, parse it and generate a derivation attrset.

	    The generated attrset has drvPath and outPath with the right string context, type 'derivation', outputName with
	    the right name, all with a list of outputs, and an attribute for each output.

	    I see three uses for this (though certainly there may be more):

	    * Using derivations generated by something besides nix-instantiate (e.g. guix)

	    * Allowing packages provided by channels to be used in nix expressions. If a channel installed a valid deriver
	      for each package it provides into the store, then those could be imported and used as dependencies or installed
	      in environment.systemPackages, for example.

	    * Enable hydra to be consistent in how it treats inputs that are outputs of another build. Right now, if an
	      input is passed as an argument to the job, it is passed as a derivation, but if it is accessed via NIX_PATH
	      (i.e. through the <> syntax), then it is a path that can be imported. This is problematic because the build
	      being depended upon may have been built with non-obvious arguments passed to its jobset file. With this
	      feature, hydra can just set the name of that input to the path to its drv file in NIX_PATH

	commit 566a30c0072690900d4d55679a2981758d6fb888
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Jul 23 12:51:04 2012 -0400

	    Disable tests temporarily

	commit e98c029717016dfa3e5c618c9fc46da9b2142dcc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 18:42:18 2012 -0400

	    Handle platforms that don't support linking to a symlink

	    E.g. Darwin doesn't allow this.

	commit fd63c8bfcd75624e7fbba8899365095400534e01
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 18:06:37 2012 -0400

	    Unlink the right file

	commit 0f65793f94bd89c973482ac949be1e96e876762b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 17:40:23 2012 -0400

	    Add a test for Nix store optimisation

	commit 680ab6f83def2b636200204542ca352631a46f85
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 15:48:30 2012 -0400

	    Garbage collect unused links in /nix/store/.links

	    Incremental optimisation requires creating links in /nix/store/.links
	    to all files in the store.  However, this means that if we delete a
	    store path, no files are actually deleted because links in
	    /nix/store/.links still exists.  So we need to check /nix/store/.links
	    for files with a link count of 1 and delete them.

	commit 619310571002fc74e428824bd603604d1055b61b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 15:02:52 2012 -0400

	    Automatically optimise the Nix store when a new path is added

	    Auto-optimisation is enabled by default.  It can be turned off by
	    setting auto-optimise-store to false in nix.conf.

	commit 564fb7d9fa80d06397a88d69f26439727cb922c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 12:08:34 2012 -0400

	    optimiseStore(): Use a content-addressed file store in /nix/store/.links

	    optimiseStore() now creates persistent, content-addressed hard links
	    in /nix/store/.links.  For instance, if it encounters a file P with
	    hash H, it will create a hard link

	      P' = /nix/store/.link/<H>

	    to P if P' doesn't already exist; if P' exist, then P is replaced by a
	    hard link to P'.  This is better than the previous in-memory map,
	    because it had the tendency to unnecessarily replace hard links with a
	    hard link to whatever happened to be the first file with a given hash
	    it encountered.  It also allows on-the-fly, incremental optimisation.

	commit ed59bf7a181bb382dea7dd72da52bf91f60deb8d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 17:11:12 2012 -0400

	    nix-build: Support the ‘-’ argument to build an expression from stdin

	commit 6852289c46cdfceb07b459cd1028722ffb124ca6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 23 16:52:25 2012 -0400

	    Use lutimes() if available to canonicalise the timestamp of symlinks

	    Also use utimes() instead of utime() if lutimes() is not available.

	commit 1832ab71dbb6b24965eb5a873a56a7231da7af4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 17:17:23 2012 -0400

	    Bump version

	commit 98193bb440561875d2829f9dd542e38972dbcf63
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 16:50:56 2012 -0400

	    Remove RPM builds that don't evaluate

	commit b7fd2c28224a69476434d69b5d9da3d150c07226
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 14:59:03 2012 -0400

	    Use "#pragma once" to prevent repeated header file inclusion

	commit 58337e0e6122a97061dcf803954f72469f67afca
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 11:51:27 2012 -0400

	    Set release date

	commit aa115e22df1c80e8878237a9e704d7d70783a243
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 11:01:17 2012 -0400

	    download-from-binary-cache: Print correct URL

	commit fe241ece2932492866693d268d02a7912e766ac7
	Merge: a6f3485 ccc52ad
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 18 10:47:59 2012 -0400

	    Merge branch 'master' into no-manifests

	commit ccc52adfb2121ade510d35dc9b91193af9fa731e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 18:55:39 2012 -0400

	    Add function queryPathFromHashPart()

	    To implement binary caches efficiently, Hydra needs to be able to map
	    the hash part of a store path (e.g. "gbg...zr7") to the full store
	    path (e.g. "/nix/store/gbg...kzr7-subversion-1.7.5").  (The binary
	    cache mechanism uses hash parts as a key for looking up store paths to
	    ensure privacy.)  However, doing a search in the Nix store for
	    /nix/store/<hash>* is expensive since it requires reading the entire
	    directory.  queryPathFromHashPart() prevents this by doing a cheap
	    database lookup.

	commit 220818f758d2facc194f567f35ca677ef79393bd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 16:55:45 2012 -0400

	    queryPathInfo(): return hash in base-32 if desired

	    Cherry-picked from the no-manifests branch.

	commit a6f348599c94d8a5f7b41c7d8e43658dc6407be7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 16:19:40 2012 -0400

	    Print some debug output

	commit 3a9fdf2747bc7436fc3c1fd5f9accd5675d4295e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 15:55:30 2012 -0400

	    Return an exit code of 100 for cached failed builds

	    Exit code 100 should be returned for all permanent failures.  This
	    includes cached failures.

	    Fixes #34.

	commit 1217204c81b0b6f02df99adfc8414a181299535c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 14:07:52 2012 -0400

	    Remove dead code

	commit 51d71ad3d7527596dc22d6dd9e9e70f2cd9faea9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 11:49:47 2012 -0400

	    Manual: Don't claim we support Cygwin

	commit 6c01fb4d68a80f63c692492bb91c1aa2e17b5a8f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 10:06:20 2012 -0400

	    Update Nix 1.1 release notes

	commit 53b24f351852498c52377c2f011617af04bc76fa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 17 09:40:12 2012 -0400

	    Allow disabling log compression

	commit a7a43adb79393084a27589bc929e5a22877ba944
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jul 12 18:25:01 2012 -0400

	    builtins.storePath: resolve symlinks

	    Needed for Charon/Hydra interaction.

	commit 04559a0d45ad02fc760b09132cca0d875af035e5
	Merge: e4d6bcb eae8024
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 18:53:27 2012 -0400

	    Merge branch 'master' of github.com:NixOS/nix into no-manifests

	commit e4d6bcb6cdc34d204ccf49e137dd5070f664c523
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 18:52:23 2012 -0400

	    Update release notes

	commit f2bdc87595376efb2d05a8555b0686922a298929
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 18:52:09 2012 -0400

	    Update the other substituters

	commit 15c15da482eb30f95f4dab04b582a45edc10815b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 18:07:41 2012 -0400

	    Add some missing --version switches

	commit d287b62b6432ce3155e963c6471edf79ec70439a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 18:05:30 2012 -0400

	    Set the User-Agent header to "Nix/<version>"

	commit b74d92755d1ca6a1538f292dcb5a906f66af7b51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 17:53:20 2012 -0400

	    download-from-binary-cache: Use HEAD requests if possible

	    In "nix-env -qas", we don't need the substitute info, we just need to
	    know if it exists.  This can be done using a HTTP HEAD request, which
	    saves bandwidth.

	    Note however that curl currently has a bug that prevents it from
	    reusing HTTP connections if HEAD requests return a 404:

	    https://sourceforge.net/tracker/?func=detail&aid=3542731&group_id=976&atid=100976

	    Without the patch attached to the issue, using HEAD is actually quite
	    a bit slower than GET.

	commit 09a6321aeb7393cdb4b5af62d2e4106d83124fdf
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 17:52:18 2012 -0400

	    Replace hasSubstitutes() with querySubstitutablePaths()

	    querySubstitutablePaths() takes a set of paths, so this greatly
	    reduces daemon <-> client latency.

	commit 58ef4d9a95584fb89ebcf6222fbac6e698aa6b0b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 11:08:47 2012 -0400

	    Add a function queryValidPaths()

	    queryValidPaths() combines multiple calls to isValidPath() in one.
	    This matters when using the Nix daemon because it reduces latency.
	    For instance, on "nix-env -qas \*" it reduces execution time from 5.7s
	    to 4.7s (which is indistinguishable from the non-daemon case).

	commit 667d5f1936616dc829f9f92f8e5d5141ba5285a7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 10:49:04 2012 -0400

	    Rename queryValidPaths() to queryAllValidPaths()

	commit eb3036da87659fe7cf384c2362e7f7b8b67189a1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 10:43:24 2012 -0400

	    Implement querySubstitutablePathInfos() in the daemon

	    Also removed querySubstitutablePathInfo().

	commit 6586414bc70c8373faefd49afc5172881f3aad53
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 10:14:06 2012 -0400

	    nix-env: Determine which paths have substitutes in parallel

	commit 5ee8944155f21a0ab5a100a184163d7bd0e72679
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jul 11 10:13:16 2012 -0400

	    Cleanup

	commit eae802459d7639a69baec555264f394adad043c0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 15:49:20 2012 -0400

	    Pass --insecure to curl so that https works

	commit 2dd3117c2723ff08c6226b71d569bcea50d58ad1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 15:48:55 2012 -0400

	    Inline fetchurl.sh

	commit 51f9f9924bcd0c30b45e370fc69dc43e6621ef61
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 15:41:43 2012 -0400

	    Add a test for the fetchurl function

	commit 035aa114037857b51968e62a1176f4086e2477ec
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 11:14:57 2012 -0400

	    Remove obsolete comment

	commit a2865f6b3d2af5593a100cba5c86ba62a1330bdb
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 11:11:02 2012 -0400

	    corepkgs/fetchurl: Build locally and outside of the chroot

	commit 53f52c2111bcf339bdaab703a263fd2c001da51c
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 11:04:11 2012 -0400

	    corepkgs/fetchurl: the 'system' argument can be optional

	commit 543bf742c9391bc49f59c52adb042bbd3c5e2364
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:55:35 2012 -0400

	    corepkgs: distribute fetchurl files

	commit f863673a903d17566be8a03bcf8655d9912428bd
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:33:40 2012 -0400

	    corepkgs/fetchurl: Call the shell directly instead of using the shebang

	commit a994eb92a4e0d8744b244cd421c855d76831bdc0
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:32:12 2012 -0400

	    corepkgs/fetchurl.sh: Use config.nix's curl

	commit 9d94a28bed39d0e9bcb3532cdac1a254a44efa97
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:29:18 2012 -0400

	    The fetchurl builder is now fetchurl.sh

	commit fd2630e1f739c12b4a1f01159e1230d9fb7fb997
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:26:50 2012 -0400

	    Remove old fetchurl makefile

	commit 6450f5699fa824934b92ca7ba1d345c36e9c009a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:25:58 2012 -0400

	    Move fetchurl files out of their subdirectory

	commit 40c01ec4671c09a6ceb61ef201dad48156000075
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:22:26 2012 -0400

	    corepkgs/config.nix.in: We'll need curl

	commit c4df7472676cac9bf5243ee8bc7cd0017f91a28d
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Jul 8 10:19:17 2012 -0400

	    Resurrect old corepkgs fetchurl

	commit 27f0c34390d6680a843e2d4fad527dc672ed35c6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 13:16:09 2012 -0400

	    Really fix RPM builds

	commit ae72be1b8bf65e6b52bc0c9d534e55a79ca6712b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 13:11:37 2012 -0400

	    Add WWW::Curl as a dependency

	commit a560124cdf43a08733d85336f7c8172fea1cfc5a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 11:58:12 2012 -0400

	    Fix RPM builds

	    http://hydra.nixos.org/build/2784908

	commit 087dee6e1b673b1e49f7c49fa0f05eb651bb5e94
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 11:56:55 2012 -0400

	    Get rid of nix.conf.example

	    No need to duplicate the nix.conf manpage.

	commit 5755a5c354c8b622fae14a32b9f8f6f901fb9529
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 11:33:38 2012 -0400

	    Install a nix.conf manpage

	commit 099125435fc5ada63365a94ca153c711e706e225
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 10:57:28 2012 -0400

	    download-from-binary-cache: add nix.conf options

	commit 98a423b75aa9061f0164c316f9d2481ce6d5e2f1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 9 09:59:34 2012 -0400

	    prim_import(): prefetch substitute info in parallel using queryMissing()

	commit 425cc612ad4835d29bce081a67ad161d06063b51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 8 18:39:24 2012 -0400

	    build.cc: Don't use hasSubstitute()

	    Instead make a single call to querySubstitutablePathInfo() per
	    derivation output.  This is faster and prevents having to implement
	    the "have" function in the binary cache substituter.

	commit 400e556b34ff0563f34b191de5f632dc4377f0cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 8 18:39:07 2012 -0400

	    Cleanup

	commit 11800e61983677f92fd5a08f51beb9036f947d6e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 6 19:08:20 2012 -0400

	    download-from-binary-cache: parallelise fetching of NAR info files

	    Getting substitute information using the binary cache substituter has
	    non-trivial latency overhead.  A package or NixOS system configuration
	    can have hundreds of dependencies, and in the worst case (when the
	    local info cache is empty) we have to do a separate HTTP request for
	    each of these.  If the ping time to the server is t, getting N info
	    files will take tN seconds; e.g., with a ping time of 0.1s to
	    nixos.org, sequentially downloading 1000 info files (a typical NixOS
	    config) will take at least 100 seconds.

	    To fix this problem, the binary cache substituter can now perform
	    requests in parallel.  This required changing the substituter
	    interface to support a function querySubstitutablePathInfos() that
	    queries multiple paths at the same time, and rewriting queryMissing()
	    to take advantage of parallelism.  (Due to local caching,
	    parallelising queryMissing() is sufficient for most use cases, since
	    it's almost always called before building a derivation and thus fills
	    the local info cache.)

	    For example, parallelism speeds up querying all 1056 paths in a
	    particular NixOS system configuration from 116s to 2.6s.  It works so
	    well because the eccentricity of the top-level derivation in the
	    dependency graph is only 9.  So we only need 10 round-trips (when
	    using an unlimited number of parallel connections) to get everything.

	    Currently we do a maximum of 150 parallel connections to the server.
	    Thus it's important that the binary cache server (e.g. nixos.org) has
	    a high connection limit.  Alternatively we could use HTTP pipelining,
	    but WWW::Curl doesn't support it and libcurl has a hard-coded limit of
	    5 requests per pipeline.

	commit cd94665f38fbadde38d5d8ae5c9c14dff9aea0ac
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jul 6 00:30:40 2012 -0400

	    download-from-binary-cache: use WWW::Curl

	    Using WWW::Curl rather than running an external curl process for every
	    NAR info file halves the time it takes to get info thanks to libcurl's
	    support for persistent HTTP connections.  (We save a roundtrip per
	    file.)  But the real gain will come from using parallel and/or
	    pipelined requests.

	commit ae60643c15a2eab2cf53230aa7c5fbc8af3430d1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 3 18:54:46 2012 -0400

	    download-from-binary-cache: do negative NAR info caching

	    I.e. if a NAR info file does *not* exist, we record it in the cache DB
	    so that we don't retry it later.

	commit 89380c03e99dc5ae8a4dcf9edb4f14483bd2f5fc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 3 18:35:39 2012 -0400

	    download-from-binary-cache: in queries, preferred cached info

	commit 2a8e5c8b11d23f3d56cc7548e21f47325a736b79
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 3 17:47:01 2012 -0400

	    download-from-binary-cache: strip trailing / from URLs

	commit d694c599e2b9eee71ade8cc4befb46ed911f4a10
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Jul 3 17:29:33 2012 -0400

	    download-from-binary-cache: cache binary cache info in a SQLite DB

	commit 8319b1ab9f1e79ad32871dae602a59df5874d1a9
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 2 18:53:04 2012 -0400

	    download-from-binary-cache: Verify NAR hashes

	commit cf49472d601a3d9d34ba92def1eca9a2d2c7c391
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 2 18:05:57 2012 -0400

	    nix-push: Always generate base-32 hashes

	commit 6ec7460af1103a23e4d331e0c8a56283350175c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jul 2 12:42:58 2012 -0400

	    Binary caches: use a better key

	    Use the hash part of the store path as a key rather than a hash of the
	    store path.  This is enough to get the desired privacy property.

	commit 6b1e671ac6cc0376474dd8c1403582ae1db01576
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 1 21:57:25 2012 -0400

	    Fix xz compression

	commit 440adfbdd1c99fdf7929db66b64ccf4dcd9097e3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 1 21:55:36 2012 -0400

	    Add an environment variable $NIX_BINARY_CACHES specifying URLs of binary caches

	commit f4190c38bac1efdbfec9b1ff9c524808d23fe1cc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Jul 1 18:46:38 2012 -0400

	    Allow both bzip2 and xz compression

	commit 000132cbd1624a681a8114a117de07a56a7eed4e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 29 18:30:28 2012 -0400

	    nix-push: Don't pollute the current directory with result symlink

	commit 37f70984645b4fc5e6ed9f30a858ba6fbf402441
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 29 18:28:52 2012 -0400

	    First attempt at the manifest-less substituter

	commit 91b8814f0d275bbb6c7de9546e5e8cb784dad10b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 29 17:16:00 2012 -0400

	    Doh

	commit 4911a10a4e51102a21a5d123a852c75d2ec92dbc
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Jun 29 14:26:31 2012 -0400

	    Use XZ compression in binary caches

	    XZ compresses significantly better than bzip2.  Here are the
	    compression ratios and execution times (using 4 cores in parallel) on
	    my /var/run/current-system (3.1 GiB):

	      bzip2: total compressed size 849.56 MiB, 30.8% [2m08]
	      xz -6: total compressed size 641.84 MiB, 23.4% [6m53]
	      xz -7: total compressed size 621.82 MiB, 22.6% [7m19]
	      xz -8: total compressed size 599.33 MiB, 21.8% [7m18]
	      xz -9: total compressed size 588.18 MiB, 21.4% [7m40]

	    Note that compression takes much longer.  More importantly, however,
	    decompression is much faster:

	      bzip2: 1m47.274s
	      xz -6: 0m55.446s
	      xz -7: 0m54.119s
	      xz -8: 0m52.388s
	      xz -9: 0m51.842s

	    The only downside to using -9 is that decompression takes a fair
	    amount (~65 MB) of memory.

	commit 49cd7387ad6546571ca31a41f208091b482defaa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Jun 28 17:19:32 2012 -0400

	    nix-push: create a manifest-less binary cache

	    Manifests are a huge pain, since users need to run nix-pull directly
	    or indirectly to obtain them.  They tend to be large and lag behind
	    the available binaries; also, the downloaded manifests in
	    /nix/var/nix/manifest need to be in sync with the Nixpkgs sources.  So
	    we want to get rid of them.

	    The idea of manifest-free operation works as follows.  Nix is
	    configured with a set of URIs of binary caches, e.g.

	      http://nixos.org/binary-cache

	    Whenever Nix needs a store path X, it checks each binary cache for the
	    existence of a file <CACHE-URI>/<SHA-256 hash of X>.narinfo, e.g.

	      http://nixos.org/binary-cache/bi1gh9...ia17.narinfo

	    The .narinfo file contains the necessary information about the store
	    path that was formerly kept in the manifest, i.e., (relative) URI of
	    the compressed NAR, references, size, hash, etc.  For example:

	      StorePath: /nix/store/xqp4l88cr9bxv01jinkz861mnc9p7qfi-neon-0.29.6
	      URL: 1bjxbg52l32wj8ww47sw9f4qz0r8n5vs71l93lcbgk2506v3cpfd.nar.bz2
	      CompressedHash: sha256:1bjxbg52l32wj8ww47sw9f4qz0r8n5vs71l93lcbgk2506v3cpfd
	      CompressedSize: 202542
	      NarHash: sha256:1af26536781e6134ab84201b33408759fc59b36cc5530f57c0663f67b588e15f
	      NarSize: 700440
	      References: 043zrsanirjh8nbc5vqpjn93hhrf107f-bash-4.2-p24 cj7a81wsm1ijwwpkks3725661h3263p5-glibc-2.13 ...
	      Deriver: 4idz1bgi58h3pazxr3akrw4fsr6zrf3r-neon-0.29.6.drv
	      System: x86_64-linux

	    Nix then knows that it needs to download

	      http://nixos.org/binary-cache/1bjxbg52l32wj8ww47sw9f4qz0r8n5vs71l93lcbgk2506v3cpfd.nar.bz2

	    to substitute the store path.

	    Note that the store directory is omitted from the References and
	    Deriver fields to save space, and that the URL can be relative to the
	    binary cache prefix.

	    This patch just makes nix-push create binary caches in this format.
	    The next step is to make a substituter that supports them.

	commit 1aba0bf0fa831ffee628ae50730eade5b19a544f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 27 16:58:15 2012 -0400

	    nix-store -r: do substitutions in parallel

	    I.e. when multiple non-derivation arguments are passed to ‘nix-store
	    -r’ to be substituted, do them in parallel.

	commit 42f5a2fc297f841d982f07062c653b27557a3cd5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 27 09:52:27 2012 -0400

	    Mount an empty /dev/shm tmpfs in the chroot

	    This ensures that whatever the builder writes in /dev/shm is
	    automatically cleaned up.

	commit 3ee208516fbdd302b178d68a20dd44517a276a96
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Jun 27 09:52:06 2012 -0400

	    Check the return code of the clone() call

	commit 1db38ae81bd91d781ece9c0cfb995e743e68e951
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 25 15:45:16 2012 -0400

	    When using chroots, use a private PID namespace

	    In a private PID namespace, processes have PIDs that are separate from
	    the rest of the system.  The initial child gets PID 1.  Processes in
	    the chroot cannot see processes outside of the chroot.  This improves
	    isolation between builds.  However, processes on the outside can see
	    processes in the chroot and send signals to them (if they have
	    appropriate rights).

	    Since the builder gets PID 1, it serves as the reaper for zombies in
	    the chroot.  This might turn out to be a problem.  In that case we'll
	    need to have a small PID 1 process that sits in a loop calling wait().

	commit 5489086456ca13b2e884edecf7505235d214a594
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 25 14:12:17 2012 -0400

	    Use a private UTS namespace to provide a deterministic host/domain name to builders

	    In chroot builds, set the host name to "localhost" and the domain name
	    to "(none)" (the latter being the kernel's default).  This improves
	    determinism a bit further.

	    P.S. I have to idea what UTS stands for.

	commit 8da6772ed48e2ee7082071b31c7afeb800195cdb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jun 23 14:59:13 2012 -0400

	    Update release notes

	commit 723a68c8262ec337e290e51265820ae90fe3ad18
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jun 23 00:57:14 2012 -0400

	    Improve error message

	commit 7ffa523fd15fcd9ab1a0ad85db860f467869946a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jun 23 00:51:40 2012 -0400

	    In chroot builds, use a private SysV IPC namespace

	    This improves isolation a bit further, and it's just one extra flag in
	    the unshare() call.

	    P.S. It would be very cool to use CLONE_NEWPID (to put the builder in
	    a private PID namespace) as well, but that's slightly more risky since
	    having a builder start as PID 1 may cause problems.

	commit df716c98d203ab64cdf05f9c17fdae565b7daa1c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Jun 23 00:28:35 2012 -0400

	    In chroot builds, use a private network namespace

	    On Linux it's possible to run a process in its own network namespace,
	    meaning that it gets its own set of network interfaces, disjunct from
	    the rest of the system.  We use this to completely remove network
	    access to chroot builds, except that they get a private loopback
	    interface.  This means that:

	    - Builders cannot connect to the outside network or to other processes
	      on the same machine, except processes within the same build.

	    - Vice versa, other processes cannot connect to processes in a chroot
	      build, and open ports/connections do not show up in "netstat".

	    - If two concurrent builders try to listen on the same port (e.g. as
	      part of a test), they no longer conflict with each other.

	    This was inspired by the "PrivateNetwork" flag in systemd.

	commit 2f3f413e91620d2314be59870f4bd67292f7d2de
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Jun 18 23:01:46 2012 -0400

	    Support socket-based, on-demand activation of the Nix daemon with systemd

	    Systemd can start the Nix daemon on demand when the Nix daemon socket
	    is first accessed.  This is signalled through the LISTEN_FDS
	    environment variable, so all we need to do is check for that and then
	    use file descriptor 3 as the listen socket instead of creating one
	    ourselves.

	commit 02fb6323e06502e410dd5d5f8fe10589a7c938d4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 31 09:50:58 2012 -0400

	    Add Emacs to the disk image

	commit 221626e7155c184d34c1e43ade92462b45c3992f
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Wed May 30 08:31:59 2012 +0700

	    fixes to nix-worker systemd service descriptor: - remove commented-out lines - register the file for distribution in Makefile.am

	commit a7ed1f67ee5dbbdbe45e15e6461b5f7c886747d8
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Sun May 27 17:34:49 2012 +0700

	    On systems with SystemD, install the service descriptor for nix-worker, and enable and start it

	commit 892234630594ea87a1b9bc945077c82c419af6d3
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Sun May 27 17:04:16 2012 +0700

	    Major spec update: - Fix license field - Split into subpackages - Update build dependencies - Configure users and groups for multi-user mode - Fix installation location of Perl modules

	commit 6a214f3e06fa1c5f0a4d40e555f14d87691af297
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Sun May 27 16:34:57 2012 +0700

	    Update nix profile: - incorporate NixOS's configuration so that nix is usable by normal users - install as a data file, not a program file

	commit d0308073c35799cce98bc853eba64f3922fadcfd
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Thu May 17 12:04:56 2012 +0800

	    - only enable deprecated spec sections when building on systems with older RPM versions - move tests to dedicated %check section - use standard build macros

	commit e545a7f9a881d9857360713d0d3b0edc54781875
	Author: Michel Alexandre Salim <michel@sylvestre.me>
	Date:   Thu May 17 11:56:29 2012 +0800

	    - replace %define with %global

	commit f5398d374beac34983bb639891ba3f1f50528c72
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 30 10:12:29 2012 -0400

	    Compress build logs on the fly using bzip2

	commit 881beb170d324f392a53168e6a76e2c5cfd24789
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 30 00:00:02 2012 -0400

	    "nix-store -l": support compressed logs

	commit 4bc4da331aae13be8a39e768524a854597addd8a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 29 22:59:12 2012 -0400

	    Reserve some disk space for the garbage collector

	    We can't open a SQLite database if the disk is full.  Since this
	    prevents the garbage collector from running when it's most needed, we
	    reserve some dummy space that we can free just before doing a garbage
	    collection.  This actually revives some old code from the Berkeley DB
	    days.

	    Fixes #27.

	commit 2c26985835cf82ed5d2979c3a400f72f6aeba32f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 29 16:42:05 2012 -0400

	    Add option ‘build-keep-log’ to enable/disable writing of build logs

	    Fixes #26.

	commit 8058dab26e90db54708d4c698db843dd703ecbb2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 24 12:04:07 2012 -0400

	    Clean up the installation section; document the generic binary tarballs

	commit 0301525e6cc7443b5cba2ccf4ef3f18b2b4beedb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 22 19:40:40 2012 -0400

	    Fix owner/group in tar invocation

	commit 6814b1dfa1efee2b801f13ec428c72b7245880ee
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 22 18:36:54 2012 -0400

	    Generate binary tarballs for installing Nix

	    For several platforms we don't currently have "native" Nix packages
	    (e.g. Mac OS X and FreeBSD).  This provides the next best thing: a
	    tarball containing the closure of Nix, plus a simple script
	    "nix-finish-install" that initialises the Nix database, registers the
	    paths in the closure as valid, and runs "nix-env -i /path/to/nix" to
	    initialise the user profile.

	    The tarball must be unpacked in the root directory.  It creates
	    /nix/store/... and /usr/bin/nix-finish-install.  Typical installation
	    is as follows:

	      $ cd /
	      $ tar xvf /path/to/nix-1.1pre1234_abcdef-x86_64-linux.tar.bz2
	      $ nix-finish-install
	      (if necessary add ~/.nix-profile/etc/profile.d/nix.sh to the shell
	      login scripts)

	    After this, /usr/bin/nix-finish-install can be deleted, if desired.

	    The downside to the binary tarball is that it's pretty big (~55 MiB
	    for x86_64-linux).

	commit 591aab7e2166f1c7208cccdda7ce50c3c362f12b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 22 14:00:08 2012 -0400

	    Remove $FONTCONFIG_FILE hack from nix-profile.sh

	    It's no longer needed because Nixpkgs' fontconfig uses
	    /etc/fonts/fonts.conf as a default, just like other distributions.

	commit e071f87dc5476983c557cf6185fbdeab0c4c67c5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 21 09:37:49 2012 -0400

	    Add an experimental nix-make file

	    To use it, just do (e.g.) "nix-build build.nix -A nix_env".

	commit cac9eb39fe36ab28519f0b59d880fbcdc705ba95
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat May 12 00:07:08 2012 -0400

	    Bump version number

	commit dfc6a43b72e9f38dc58866c5a9e5900d0d0b66b4
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 11 23:30:47 2012 -0400

	    Fix the install check

	commit 587b408210ee3707df78c78cca9d6082e44e0233
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 11 17:40:58 2012 -0400

	    Set release date

	commit 8a08813d6c92e583d9ed6ccaffc80effe0dc9669
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 11 17:39:06 2012 -0400

	    Manual updates

	commit 2b00e6990c7b6f7177bce76126c6c992f3f7a93e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 11 16:21:21 2012 -0400

	    CSS tweaks

	commit 58d1de08d9ec4ce1bfbfb65b0b74700f066af7d0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 11 09:41:39 2012 -0400

	    Use perl.libPrefix to (hopefully) fix the Cygwin build

	    http://hydra.nixos.org/build/2602599

	commit 37fa47908bff2495755410c96891623d60735464
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 10 22:12:20 2012 -0400

	    Build Ubuntu 12.04 packages

	commit 4d383f57f42af2c9316fa82ea61cb8a109c3f680
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 10 19:29:36 2012 -0400

	    Document "nix-build --run-env"

	commit 4f7bab7db1d0447e41f858633cddba1dcb2c9ea2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 10 19:03:23 2012 -0400

	    Support building with the Perl XS bindings disabled

	    Since the Perl bindings require shared libraries, this is required on
	    platforms such as Cygwin where we do a static build.

	commit 6a7b24a3f25548fe2b083555cd2117dd66557ab0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 10 18:09:45 2012 -0400

	    Document "nix-store --add"

	commit cda1fd8ec86553f2a76366ec56c3fa21788fc189
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu May 10 16:56:36 2012 -0400

	    Remove an obsolete hack

	commit 663c06e8cd7d44443b0495b13f2bb08e2cfab889
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 9 22:14:36 2012 -0400

	    Disable building in chroot for Nix's corepkgs

	    The dependencies of the corepkgs are not necessarily in the chroot (or
	    in the Nix store), so don't build them in a chroot.

	commit cb1248d2082ff8292e2516f124feea4427cf150a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 9 19:06:39 2012 -0400

	    Document some nix-store subcommands

	commit 7a213ffc6912794d2cc4374bb9bf2c1f59a384a3
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 9 19:06:13 2012 -0400

	    Document $NIX_PATH / -I

	commit a58efdb69b0c018322bb773ce14dc33cb252b165
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed May 9 19:05:30 2012 -0400

	    Update the release notes

	commit 0c4c8f7a9d09c497d95771c894a5cc3d4276609b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 8 15:43:54 2012 -0400

	    Remove obsolete files (moved to release tree)

	commit afa7b8a479e48c5642a796563a615314c0261a1a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 7 17:55:56 2012 -0400

	    nix-channel --update: allow updating only the specified channels

	commit 147f10157fef48dcf3e32511e10f5ee00026b757
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon May 7 17:23:26 2012 -0400

	    Now *really* prevent accumulation of old manifests

	commit 464089365e2c72c83e5a8edb5611e537c4898501
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 4 21:40:56 2012 -0400

	    Fix some 32-bit builds

	    Perl on some 32-bit systems needs -D_FILE_OFFSET_BITS=64.  See also commit
	    02f1363e19b7df7cccc3523805bbf4fafe429529.

	commit c6acb219f9312ee3c8e1ac83d2b490401f8b9a9d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 4 18:50:34 2012 -0400

	    Drop the Perl-specific CFLAGS

	    This fixes the Darwin build (http://hydra.nixos.org/build/2517380).
	    Hopefully it doesn't break other builds.

	commit 56c82f3d9dec34eeaa124c61b20af4ae67f827a2
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 4 17:45:21 2012 -0400

	    Don't build for old Debian/Ubuntu releases that don't have a sufficiently new SQLite

	commit 373e875ac2e403f1f790fbd9d2323e581a8aae21
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 4 17:25:25 2012 -0400

	    Don't build for old Fedora releases that don't have a sufficiently new SQLite

	commit d03a295192f8d7b7ced98d5bbab91a8aa9b0ca4d
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri May 4 17:21:43 2012 -0400

	    Require SQLite >= 3.6.19

	    Nix needs SQLite's foreign key constraint feature, which was
	    introduced in 3.6.19.  Without it, the database won't be cleaned up
	    correctly when paths are deleted.  See
	    e.g. http://hydra.nixos.org/build/2494142.

	commit e060c99447a445bbf1c527b8c712e3bf809ee694
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 1 16:35:18 2012 -0400

	    Use mkpath instead of make_path

	    Perl <= 5.10 doesn't have make_path.  See
	    e.g. http://hydra.nixos.org/build/2493981.

	commit e19fb7ebedabf5109379b80c5e42e89fa4437276
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 1 16:31:56 2012 -0400

	    Do "make installcheck" for RPM builds

	commit e145ac30e32c3f2d4491c195daccdc15c722a005
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue May 1 15:48:17 2012 -0400

	    Do "make installcheck" for Debian builds

	commit db5b86ef13026d7f034527005ab231ddc2b7d2c1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 30 19:15:34 2012 -0400

	    * Add an option ‘build-use-substitutes’, which can be set to ‘false’
	      to disable use of substitutes; i.e., force building from source.
	      Fixes Nix/221.

	commit 59a26360c75f1cf5fe65fce5e3703df0b6645140
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 30 17:22:45 2012 -0400

	    Support mandatory system features in the build hook

	    Mandatory features are features that MUST be present in a derivation's
	    requiredSystemFeatures attribute.  One application is performance
	    testing, where we have a dedicated machine to run performance tests
	    (and nothing else).  Then we would add the label "perf" to the
	    machine's mandatory features and to the performance testing
	    derivations.

	commit 82ae0e688c21794bea583f9b48bb3639f7e2601a
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 30 16:49:00 2012 -0400

	    Update the documentation of build-remote.pl

	commit 46cdc6ad51376e2f31ce806ee38e697d00a6e5cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 30 10:58:04 2012 -0400

	    Handle EPERM when creating a hard link for the chroot

	    There is a race condition when doing parallel builds with chroots and
	    the immutable bit enabled.  One process may call makeImmutable()
	    before the other has called link(), in which case link() will fail
	    with EPERM.  We could retry or wrap the operation in a lock, but since
	    this condition is rare and I'm lazy, we just use the existing copy
	    fallback.

	    Fixes #9.

	commit c722193a91cb32f2696d655cf6301cf5ccfae6ce
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 26 16:52:08 2012 +0200

	    Don't use the build hook for unpacking channels

	commit 6de5d534164d95b0c004cd4b2ed9bf97f9903029
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 24 12:56:30 2012 +0200

	    Fix a warning in the build hook about $progressViewer

	commit 6387830c3b12722e5962a99aa81f225ea0830076
	Merge: 259c6d3 85799bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 23 03:29:03 2012 -0700

	    Merge pull request #2 from viric/master

	    Again, adding the sync option

	commit 259c6d3fbb1298488cc9d437ae81f313dba585fd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Apr 18 13:40:18 2012 +0200

	    Fix URL set by nix-channel

	commit 9cd3ff1059e9daffe65e24dc826268f1e69e2593
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 17 17:19:43 2012 +0200

	    nix-instantiate: default to "default.nix" if no arguments are given

	commit 8745fade0387b2900a98b95798d9f12be7ef97ca
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 17 17:14:14 2012 +0200

	    Added utility command ‘nix-instantiate --find-file’ to look up a file in Nix's search path

	commit 8cf1719e3e02998c0d22ed9e505a4a98e3335627
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 16 19:52:31 2012 +0200

	    Hack to prevent accumulation of old manifests

	commit 1132dd27eaf6b32937f1e0508c84d08f5ae90470
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Apr 16 18:47:01 2012 +0200

	    Fix obscure race condition in GC root creation

	    This should fix rare Hydra errors of the form:

	    error: symlinking `/nix/var/nix/gcroots/per-user/hydra/hydra-roots/7sfhs5fdmjxm8sqgcpd0pgcsmz1kq0l0-nixos-iso-0.1pre33785-33795' to `/nix/store/7sfhs5fdmjxm8sqgcpd0pgcsmz1kq0l0-nixos-iso-0.1pre33785-33795': File exists

	commit 154aa7f71ade55fe5ce43503ade85fc2a107a331
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Apr 15 00:42:16 2012 +0200

	    Set a few more close-on-exec flags

	commit 31e34fcf932e86c398a38b39facc268026736f0c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Apr 15 00:20:32 2012 +0200

	    Close almost all file descriptors in the builder

	    This regression was accidentally introduced in
	    35355fc1fcffbe859395e360c0a6a1463f137d63.

	commit 0b5107c016080e70d30ccba3afa0f9aa7a90a891
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Apr 14 21:05:28 2012 +0200

	    If the (redirected) channel URL contains a version number, use it

	commit 1d0bafb74d17f14778005a633ee332ad0ad9ba9e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Apr 14 21:04:22 2012 +0200

	    Follow redirects early to ensure consistency between the manifest and the tarball

	    Without this change, if the URL is a redirect that changes in between,
	    we can get a manifest that doesn't match the tarball.

	commit ca3d9f8b31378093ecfbce493aab979c97d5ba78
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Apr 14 19:52:58 2012 +0200

	    Urgh, modified the wrong file...

	commit ef902274fd4b1c13732851e6cbfa00d4d4e46821
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Apr 14 18:48:11 2012 +0200

	    Remove unnecessary "system" argument

	commit e855c7e2c9a9a5cbe4406c1f9351181a9ebe6283
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sat Apr 14 18:38:52 2012 +0200

	    nix-channel improvements

	    "nix-channel --add" now accepts a second argument: the channel name.
	    This allows channels to have a nicer name than (say) nixpkgs_unstable.
	    If no name is given, it defaults to the last component of the URL
	    (with "-unstable" or "-stable" removed).

	    Also, channels are now stored in a profile
	    (/nix/var/nix/profiles/per-user/$USER/channels).  One advantage of
	    this is that it allows rollbacks (e.g. if "nix-channel --update" gives
	    an undesirable update).

	commit 969a14599d2f7bfd02971475b5b2be49fb965117
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 13 14:41:33 2012 +0200

	    If "pv" is available at compile time, hard-code its path

	commit 34a85c5405a228860a7bbe77239fb0204bf6952c
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Mar 29 18:58:14 2012 +0200

	    nix-copy-closure: Move the progressViewer directly adjacent to the ssh call so that network progress is what's measured

	commit 055e803851e73bb94d341c3b4f25f52be167fef7
	Author: Shea Levy <shea@shealevy.com>
	Date:   Thu Mar 29 18:20:31 2012 +0200

	    Add the '--show-progress' flag to nix-copy-closure

	commit 00c98a6befb70228c7ba2b7d5dc8684289915baa
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 13 14:28:26 2012 +0200

	    Use Bison 2.5

	commit 209927bb2785920eff455adb97ba513080c6e8c0
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 10 16:40:51 2012 +0200

	    Unconfuse Rob

	commit 1fb30e6d50c29adcc3a3d73381cd90f5f5989c31
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Apr 10 13:52:37 2012 +0200

	    Handle the case where $SHELL is not set

	commit 8f6146a7bc7c5a2e8c03b127366eff7d82552eef
	Merge: 533250a 242a99c
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Mon Apr 9 00:24:08 2012 -0700

	    Merge pull request #5 from shlevy/doc-fix

	    Nix is on github now

	commit 242a99c95ae9a0e829c5b34b51d29614ff2cb788
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Apr 8 23:59:02 2012 -0400

	    Nix is on github now

	commit 533250a4a3f5767fdc647b133134b92e3c804025
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 22:54:15 2012 +0200

	    Fix building from the tarball

	commit 831c7aa4108d56246595cfbcefdb1113f159715c
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 22:03:19 2012 +0200

	    Documentation fix

	commit 5863987bba9bc4c90d0d71204933ac90ac7a710b
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 21:56:20 2012 +0200

	    Include environment variables in the manpages

	commit 998b977ede9948f78a6a913ecedf3361eb14f769
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 21:45:00 2012 +0200

	    Include common options in the manpages using some XInclude hackery

	commit d49ef039dd61dba160cb0b78c6b00152ff9e680e
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 21:43:56 2012 +0200

	    Update affiliation

	commit 5a6d50998dffcf60b45fd35b858dbe37cf33d649
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Fri Apr 6 20:26:30 2012 +0200

	    Add a missing DocBook source file to the tarball

	    Reported on IRC by Adrian Siekierka.

	commit f2467eb6a0070176a5b1cd76aa330b84431f8258
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Thu Apr 5 13:03:19 2012 +0200

	    On Linux, pretend we're building on Linux 2.6

	    Setting the UNAME26 personality causes "uname" to return "2.6.x",
	    regardless of the kernel version.  This improves determinism in
	    a few misbehaved packages.

	commit 3b859ead376cb0aa6c7b27774c2d82ed3ecb370a
	Author: Hydra mirror <hydra-mirror@lucifer.(none)>
	Date:   Wed Apr 4 20:46:18 2012 +0000

	    nix-generate-patches: Optionally write new patches to $NIX_ALL_PATCHES

	commit 34ea91b25919d795b6d322059de274ddcf778763
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Apr 4 16:22:32 2012 +0200

	    Include --keep-going in --help

	commit 0837348049bbdd24378ad9376caad932712d5acd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Wed Apr 4 15:41:35 2012 +0200

	    Follow redirects when checking for the existence of MANIFEST.bz2

	    If we don't follow redirects, we might think that MANIFEST.bz2 exists
	    just because the HEAD request succeeds on the redirector URI.

	commit b8fb0ce5634456ba987231fc755c32af6f4ada30
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 27 11:59:36 2012 +0200

	    Update "nix-build --help"

	commit 5144abe5b67628d6968d0ab829aa52a6428a77a6
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 27 11:40:47 2012 +0200

	    Add an option "--exclude" to filter dependencies in "nix-build --run-env"

	    Sometimes when doing "nix-build --run-env" you don't want all
	    dependencies to be built.  For instance, if we want to do "--run-env"
	    on the "build" attribute in Hydra's release.nix (to get Hydra's build
	    environment), we don't want its "tarball" dependency to be built.  So
	    we can do:

	      $ nix-build --run-env release.nix -A build --exclude 'hydra-tarball'

	    This will skip the dependency whose name matches the "hydra-tarball"
	    regular expression.  The "--exclude" option can be repeated any number
	    of times.

	commit 3e94ffffd61573624883c02744f20ac3544ff9cb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 27 11:16:43 2012 +0200

	    Allow the command executed by "nix-build --run-env" to be overriden with --command

	commit 446b827baedde7ba3ca44f9ef51940e28e13fb87
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 26 23:18:36 2012 +0200

	    Mac OS X fix

	commit 480dda0e42e69be47434be5bce95be950bdb59b5
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 26 20:56:30 2012 +0200

	    Delete non-directory valid paths right away

	    It's unlikely that rename() is faster than unlink() on a regular file
	    or symlink, so don't bother.

	commit 117670be570d775a18e4e35db3dae00abc24f729
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 26 20:43:33 2012 +0200

	    Make the garbage collector more concurrent

	    Make the garbage collector more concurrent by deleting valid paths
	    outside the region where we're holding the global GC lock.  This
	    should greatly reduce the time during which new builds are blocked,
	    since the deletion accounts for the vast majority of the time spent in
	    the GC.

	    To ensure that this is safe, the valid paths are invalidated and
	    renamed to some arbitrary path while we're holding the lock.  This
	    ensures that we when we finally delete the path, it's not a (newly)
	    valid or locked path.

	commit 8be1979f1ae4b85c36988f7b3cf8240c9682dc54
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 26 20:00:02 2012 +0200

	    Remove the --max-links GC option

	    We don't need this anymore now that current filesystems support more
	    than 32,000 files in a directory.

	commit 85799bf89ed2649d7f3e2298de0478c50a71776d
	Author: Lluís Batlle i Rossell <viric@viric.name>
	Date:   Thu Mar 22 20:05:54 2012 +0100

	    Fixing the default of sync-before-registering

	    Setting 'false' as default, as suggested by Eelco.

	    I also added a comment about the setting in the code.

	commit 25de80e2b61208850c4a39d8ee44967ada8f040e
	Author: Lluís Batlle i Rossell <viric@viric.name>
	Date:   Thu Mar 22 19:57:42 2012 +0100

	    Adding a nix option to sync before registering a path, for non-ext*
	    filesystems.

	commit 19d9762ad5fc8d8db3e9a545a89309f08572cc9f
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Tue Mar 20 18:23:26 2012 +0100

	    nix-store --clear-failed-paths: Clear derivation outputs

	    If the argument to ‘nix-store --clear-failed-paths’ is a derivation,
	    then clear the failed state of its outputs.

	commit cb79e91ec3f63ac46d8f4361cb4db75e76a79981
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 17:05:42 2012 +0100

	    Fix the coverage build

	commit 457dd55962837fc3026686b58ad89721106356cd
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 15:11:22 2012 +0100

	    Fix the Deb builds

	commit 4b83483142c7442663ffee488789ffe572ceaea1
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 14:30:59 2012 +0100

	    Fix the RPM

	commit 7f38087f35e6f74a73bfdb28da8acd8930565d51
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 04:14:21 2012 +0100

	    Add a command "nix-build --run-env" to reproduce the environment of a derivation

	    This command builds or fetches all dependencies of the given
	    derivation, then starts a shell with the environment variables from
	    the derivation.  This shell also sources $stdenv/setup to initialise
	    the environment further.

	    The current directory is not changed.  Thus this is a convenient way
	    to reproduce a build environment in an existing working tree.

	    Existing environment variables are left untouched (unless the
	    derivation overrides them).  As a special hack, the original value of
	    $PATH is appended to the $PATH produced by $stdenv/setup.

	    Example session:

	    $ nix-build --run-env '<nixpkgs>' -A xterm
	    (the dependencies of xterm are built/fetched...)
	    $ tar xf $src
	    $ ./configure
	    $ make
	    $ emacs
	    (... hack source ...)
	    $ make
	    $ ./xterm

	commit ea402a255f9c03a644d256b0d1443a986a2bbebb
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 01:20:02 2012 +0100

	    Replace "make check" with "make installcheck"

	    Ensuring that the tests work from the build tree requires a growing
	    number of nasty hacks.  The tests also don't verify that the installed
	    Nix actually works.  Thus, the tests now require "make install" to
	    have been run.

	commit 4b23900ff1568270c9a03ccadc1cbd0b872e4ef7
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Mon Mar 19 01:06:13 2012 +0100

	    Fix the optional dependency on OpenSSL

	    http://hydra.nixos.org/build/2306540

	commit b006a31d52b8f1cb01f3d722a6e3411dc8b98d64
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Mar 18 23:54:57 2012 +0100

	    Drop the externals directory

	    Nix now requires SQLite and bzip2 to be pre-installed.  SQLite is
	    detected using pkg-config.  We required DBD::SQLite anyway, so
	    depending on SQLite is not a big problem.

	    The --with-bzip2, --with-openssl and --with-sqlite flags are gone.

	commit 2e0322efd14df7a1658201fb443c8e90687dcfda
	Author: Eelco Dolstra <eelco.dolstra@logicblox.com>
	Date:   Sun Mar 18 22:10:59 2012 +0100

	    Clean up when building from a working tree

	commit bd50c01972718167cf86d20dcd9c928b4c3cfbd8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 13 17:07:49 2012 +0100

	    Ensure that Perl processes delete their entry in the temproots directory

	    By moving the destructor object to libstore.so, it's also run when
	    download-using-manifests and nix-prefetch-url exit.  This prevents
	    them from cluttering /nix/var/nix/temproots with stale files.

	commit b461721f17d7104c7ef08a0840d80685b9ae853e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 12 21:41:45 2012 +0100

	    Fix tests

	commit 005d1e4ccb7917d1438dd8f14ddaeeff8eab0b30
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 6 20:03:20 2012 +0100

	    Update bzip2 dependency

	commit 605b16cd7bd9b29482d9029740c3a4595a483f21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 22:04:40 2012 +0100

	    Fix compilation on FreeBSD

	    http://hydra.nixos.org/build/2213576

	    Not sure why compilation doesn't fail on other platforms...

	commit d645633643ff806bff8fcd1677d6ac87509f40e9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 20:52:24 2012 +0100

	    nix-copy-closure: don't print copied path on stdout

	    We're already printing progress on stderr, so printing them on stdout
	    afterwards is kind of useless.

	commit 35355fc1fcffbe859395e360c0a6a1463f137d63
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 20:29:00 2012 +0100

	    Set the close-on-exec flag on file descriptors

	commit 7b22bec252a155514d811a8e2acc21562ac02bd4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 20:28:09 2012 +0100

	    Don't leak a file descriptor in commonChildInit()

	commit 1d487dc6a682468ae00402b3720ff412b6bfb6fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 19:19:29 2012 +0100

	    nix-worker: put the pid of the caller in argv[1]

	    This is useful for debugging.

	commit 2b4964f31979b5227a7a51b646d2e4bbb5ef6579
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 18:13:44 2012 +0100

	    Restore progress indication during nix-copy-closure

	commit 56042a120a3149ec7ddfb36c6f7d7b841ba6dfeb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 5 17:58:09 2012 +0100

	    build-remote.pl: don't wait forever for the upload lock

	    In the build hook, don't wait forever to get the upload lock.  This
	    ensures progress if another process gets stuck while holding the
	    upload lock.

	commit 8afd28a922c8d3a0113abad2b8071465c2d77fe9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 1 16:04:12 2012 +0100

	    Remove dependency on sqlite3_table_column_metadata

	    Not all SQLite builds have the function sqlite3_table_column_metadata.
	    We were only using it in a schema upgrade check for compatibility with
	    databases that were probably never seen in the wild.  So remove it.

	commit 1c94524458fda335739b163a76aedeb7bcc5f43a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 24 20:57:54 2012 +0100

	    Fix an uninitialised variable

	    The variable ‘useChroot’ was not initialised properly.  This caused
	    random failures if using the build hook.  Seen on Mac OS X 10.7 with Clang.
	    Thanks to KolibriFX for finding this :-)

	commit 6fe13e6aba771452e2637d9a8102569c1007d919
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 18 01:23:52 2012 +0100

	    Fix chroots builds

	    Chroots are initialised by hard-linking inputs from the Nix store to
	    the chroot.  This doesn't work if the input has its immutable bit set,
	    because it's forbidden to create hard links to immutable files.  So
	    temporarily clear the immutable bit when creating and destroying the
	    chroot.

	    Note that making regular files in the Nix store immutable isn't very
	    reliable, since the bit can easily become cleared: for instance, if we
	    run the garbage collector after running ‘nix-store --optimise’.  So
	    maybe we should only make directories immutable.

	commit bd013b6f987c23c3b99b639ba7cdbc7b694a13f5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 15 01:31:56 2012 +0100

	    On Linux, make the Nix store really read-only by using the immutable bit

	    I was bitten one time too many by Python modifying the Nix store by
	    creating *.pyc files when run as root.  On Linux, we can prevent this
	    by setting the immutable bit on files and directories (as in ‘chattr
	    +i’).  This isn't supported by all filesystems, so it's not an error
	    if setting the bit fails.  The immutable bit is cleared by the garbage
	    collector before deleting a path.  The only tricky aspect is in
	    optimiseStore(), since it's forbidden to create hard links to an
	    immutable file.  Thus optimiseStore() temporarily clears the immutable
	    bit before creating the link.

	commit 5e57047d874e0f01dcb3bbc8b809fcc1aa82755b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 15 01:00:30 2012 +0100

	    Fix a broken guard around utime()

	    Because of an outdated check for a timestamp of 0, we were calling
	    utime() even when it wasn't necessary.

	commit 58ac7a17a43587001331e4a0379d38c369b99057
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 15 00:28:01 2012 +0100

	    Don't use deletePath() to delete a single file

	commit e9fc91df45c28376960a6e38c8c5f04bf9312623
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 9 18:56:48 2012 +0100

	    Fix error message

	    This fixes the error message

	      error: file `' was not found in the Nix search path (add it using $NIX_PATH or -I)

	commit d5a5a83ad4fb8aba3b334039f567267a0463ee5a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 9 18:27:45 2012 +0100

	    Use data() instead of c_str() where appropriate

	commit ec2827f5fc4fc8081daacb197d40d22a5e429df4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 19:25:43 2012 +0100

	    Update .gitignore

	commit 4055a3b19c826dbf487599ee24116a042e37275e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 13:22:08 2012 +0100

	    Remove empty ChangeLog file

	commit fb95455c02c8c48d98a94fde62d666ab13b53edf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 12:31:14 2012 +0100

	    Set the versionSuffix to include the Git shortrev

	commit 67444f5e54163702e6c5f0dd7d85c1158291fe99
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 7 13:18:20 2012 +0000

	    * Build Nix for the latest Fedora and Ubuntu releases (and drop some
	      old ones).

	commit f491ae97d472bfd6305a8f3e8c58fac1fdc443a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 4 13:50:25 2012 +0000

	    * Inline some functions and get rid of the indirection through
	      EvalState::eval().  This gives a 12% speedup on ‘nix-instantiate
	      /etc/nixos/nixos/ -A system --readonly-mode’ (from 1.01s to 0.89s).

	commit 2bda12ef3b2b1d9a0fc59324d723e3fa883ab223
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 4 13:27:11 2012 +0000

	    * Print elapsed evaluation time.

	commit ce86a9a0ae928f8cdbe26021b6b757bf5b9d7693
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 2 12:25:56 2012 +0000

	    * nix-channel: fail if we don't have write permission to the manifests
	      directory.  Previously in this situation we did add the Nix
	      expressions from the channel to allow installation from source, but
	      this doesn't work for binary-only channels and leads to confusing
	      error messages.

	commit baa0501cc120619ac3b76eaa53fff10cffd02449
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 26 13:13:00 2012 +0000

	    * Fix importing a derivation.  This gave a segfault.

	commit 4c9fdd2cd63f2f3c4e87790c5cacfdf5cd88591f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 26 13:04:50 2012 +0000

	    * Add a test for importing derivations.

	commit 330df4b4dbb363b69e10fa96d1e22f62088bfc96
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 19 23:08:47 2012 +0000

	    * Allow comparisons between derivations by comparing the outPath
	      attributes.

	commit 18047d4625b46ae001abc649096ab9ecd4c54560
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 19 23:07:42 2012 +0000

	    * Add some debug output to print the derivation name once it's known.
	      This makes it easier to pinpoint the source of a crash.

	commit 126c7317bc2384e64e1c6d515061141718e2688f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 19 22:10:24 2012 +0000

	    * Add a test case for comparing derivations.

	commit ddd0ce534ad8ecf9dc57749f354ea6b88b82900f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 18 16:43:48 2012 +0000

	    * Don't distribute Store.cc, it's generated automatically by xsubpp.

	commit 02f1363e19b7df7cccc3523805bbf4fafe429529
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 18 16:39:54 2012 +0000

	    * Pass the appropriate flags to GCC when building the Perl bindings.
	      Without these, Nix fails on 32-bit Linux with Perl 5.14, with a
	      rather unhelpful error message:

	        Not a CODE reference at /nix/store/n6kpbacn6nn7i3i735v8j3di8aqyl07v-perl-5.14.2/lib/perl5/5.14.2/i686-linux-thread-multi/DynaLoader.pm

	      This is likely because the lack of -D_FILE_OFFSET_BITS=64 causes
	      various Perl structures to not match what the Perl interpreter
	      expects.

	commit 4e624849b686894f8a4c23a56098f4d47634a85c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 17 23:07:22 2012 +0000

	    * Added a command ‘nix-store --print-env $drvpath’ that prints out the
	      environment of the given derivation in a format that can be sourced
	      by the shell, e.g.

	      $ eval "$(nix-store --print-env $(nix-instantiate /etc/nixos/nixpkgs -A pkg))"
	      $ NIX_BUILD_TOP=/tmp
	      $ source $stdenv/setup

	      This is especially useful to reproduce the environment used to build
	      a package outside of its builder for development purposes.

	      TODO: add a nix-build option to do the above and fetch the
	      dependencies of the derivation as well.

	commit 2a3f4110c54a10ebee67403a699cb8f951fca858
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 13 23:35:07 2012 +0000

	    * nix-build: put the temporary derivation symlink in a temporary
	      directory rather than the current directory.
	    * nix-build: --drv-link now implies --add-drv-link.

	commit 7ae763e16b2a2524f50487ea7422e5412a080004
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 12 14:16:25 2012 +0000

	    * ‘-module’ causes the generated library to have an .so extension on
	      Mac OS X instead of .dylib, so don't do that.

	commit 6245f0d5298f613c39f999fd68bf21aee8d72945
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Jan 11 16:58:49 2012 +0000

	    tests: Run `download-using-manifests' via libtool so that dlopening works.

	commit c5d9ccd810e3d4c791a912767c4463f4bb44d52e
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Jan 11 16:44:42 2012 +0000

	    perl: Build libNixStore.la with `-module'.

	commit f86fca9b708ea98be0d508db90ec25d537fba246
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 11 15:41:42 2012 +0000

	    * Figure out the extension of dynamic libraries; don't hard-code .so.

	commit 9fe24c5a0d1e694c6338d584a101034cfbff10bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 7 17:26:33 2012 +0000

	    * Don't create thunks for simple constants (integers, strings, paths)
	      and allocate them only once.
	    * Move Value and related functions into value.hh.

	commit d4e6b9f2d62ef77ff46397bd130350f03723ce50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 5 21:07:12 2012 +0000

	    * Doh!

	commit a7366a764aa8d549a16b58e43181fe4ff7e598ab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 5 20:33:46 2012 +0000

	    * Add a -I flag to the Perl bindings to nix-build and some other
	      scripts.
	    * Include the version and architecture in the -I flag so that there is
	      at least a chance that a Nix binary built for one Perl version will
	      run on another version.

	commit b52966e821b05e0d2e379ed6bbbf748f22453108
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 21:47:48 2012 +0000

	    * Remove dead code.

	commit 35f2a6ba82419d48ed8ebce7b8c3e74e65ac74f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 21:24:11 2012 +0000

	    * Don't use dynamic_cast, it's very slow.  "nix-instantiate
	      /etc/nixos/nixos -A system" spent about 10% of its time in
	      dynamic_cast.

	commit adaf64a99b0a882249e35768c3f4fe3de104cbb2
	Merge: 63227d4 9936da6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 16:22:25 2012 +0000

	    * Merge the multiple-outputs-sandbox branch (svn merge --reintegrate
	      ^/nix/branches/multiple-outputs-sandbox).  Multiple output support
	      still isn't complete, but it wasn't complete in the trunk either, so
	      it doesn't hurt.

	commit 9936da6b546d1ce643eca21ac76c6e7d568de1c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 12:45:53 2012 +0000

	    * Check whether the outputName attribute works.

	commit 9d43a0238235cfbe914e2051db89095699a2df95
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 12:45:40 2012 +0000

	    * Let --disable-gc work.

	commit a0477a458fa9fd7fbe090ff8cebcfd162c090b43
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 12:00:39 2012 +0000

	    * currentOutput -> outputName.  "current" implies some temporal
	      aspect.

	commit b79b85ad7668783391538fe2cda2e896f4ea0c8e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 11:56:15 2012 +0000

	    * Export the original input attributes of the derivation in
	      ‘drvAttrs’.  This will simplify the implementation of functions such
	      as ‘overrideDerivation’ in Nixpkgs, which need to filter out any
	      added attributes such as outPath.

	commit 83647f4ef14f1ecf40b9fc6099fc77864b87cf41
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 4 11:04:19 2012 +0000

	    * Simplify the implementation of "derivation" a bit: lift out the
	      common attribution so that they're evaluated only once, etc.  Note
	      that the default output is now the first element of the "outputs"
	      attribute, rather than the first element of the sorted list of
	      outputs.  This seems more user-friendly.

	commit 71f3c46cf65c0638946c9bb57c36a2b5f177a672
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 15:27:18 2012 +0000

	    * Drop the inefficient "Path" suffix in output attribute names.

	commit 921111d1972388a0aa1841c545c753cb996c9257
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 14:01:47 2012 +0000

	    * Move the implementation of the ‘derivation’ primop into a separate
	      file.

	commit 6c31232e1494d1d68a31fb8433dbf593f831dff2
	Merge: 502d940 63227d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 12:59:31 2012 +0000

	    * Sync with the trunk.

	commit 502d94048ae848eda1fcda2d1e72b339eaa653aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 12:59:00 2012 +0000

	    * Ignore missing manifest symlinks.

	commit 63227d434cefaa9faeb14afe28ebeb9b2d449ee2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 12:18:41 2012 +0000

	    * FreeBSD tar defaults to the tape device instead of stdout.

	commit 9b7df1ef007d9209b17f7aa40a03be0250ea30d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 09:19:40 2012 +0000

	    * Forgot to add.

	commit 39d45a6b090b5105423b22b8ef39c2a4a000a4a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 01:51:38 2012 +0000

	    * Add a test for nix-channel.
	    * Refactor the nix-channel unpacker a bit.

	commit dadbb51d969517c1f2512015ab201dc99088d9a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 00:47:27 2012 +0000

	    * Use Nix::Config.

	commit 48cea0d01ef48733ab38a73a20611f63aeb1b5cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 3 00:16:29 2012 +0000

	    * Refactoring: Get rid of a few subdirectories in corepkgs/, and some
	      other simplifications.
	    * Use <nix/...> to locate the corepkgs.  This allows them to be
	      overriden through $NIX_PATH.
	    * Use bash's pipefail option in the NAR builder so that we don't need
	      to create a temporary file.

	commit 93e71e6ab68d9662441289a02448c47069beeb2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 17:39:03 2011 +0000

	    * Follow our own coding conventions.

	commit f2d65c9c80821616c4f5587d2bbfdec9e18bdbfd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 17:31:58 2011 +0000

	    * Remove a redundant dot (Nicolas Pierron).

	commit 93b56acb2dd90e106413f201c8025d2ffeba98e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 17:25:19 2011 +0000

	    * Support multiple outputs in nix-store (specifically the ‘--query’
	      and ‘--realise’ actions).

	commit a71d02440b03cdb5dad6e43f786c0cc86cbb87b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 17:13:25 2011 +0000

	    * Oops.

	commit 6f5e3326cef2a2049c8f4ea757accafe4fc9d53f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 15:02:50 2011 +0000

	    * Move topoSortPaths() out of gc.cc.

	commit b1004f40f7e4dd02feec2d0cb26bd6c95dd66dde
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 14:47:14 2011 +0000

	    * Reject a build if there is a cycle among the outputs.  This is
	      necessary because existing code assumes that the references graph is
	      acyclic.

	commit ed11b17b2e0e10b759ac051b53c29cc9f79574dc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 13:43:29 2011 +0000

	    * Fix doc error.

	commit 254b3399ba3d7cf161fa54f9cf6cdc65c17164fb
	Merge: 5679041 8c42a8c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 30 13:08:14 2011 +0000

	    * Sync with the trunk.

	commit 8c42a8c8ff2986940a41d46b0bdaa1c2ff0f15ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 25 16:38:37 2011 +0000

	    * Make sure that lock files are cleaned up properly when building
	      through the build hook.

	commit 524fa8a4f11826fdf22005f3304366856f72ffa5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 22 16:27:03 2011 +0000

	    * Oops.

	commit b33da599c5c1b06a32a3eeac58f95481d10f821d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 22 15:55:53 2011 +0000

	    * In the garbage collector, delete invalid paths before deleting
	      unreachable paths.  This matters when using --max-freed etc.:
	      unreachable paths could become reachable again, so it's nicer to
	      keep them if there is "real" garbage to be deleted.  Also, don't use
	      readDirectory() but read the Nix store and delete invalid paths in
	      parallel.  This reduces GC latency on very large Nix stores.

	commit 58d974336c733416756e5b396928602ea8ed8df2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 22 14:33:34 2011 +0000

	    * Drop unnecessary call to canonPath() (nixStore is already canonical).

	commit 66c99b0cf50bb1d6290f55c209e9541b50ce41e8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 22 10:58:27 2011 +0000

	    * ‘--disable-shared’ is no longer supported.  Fortunately it's not
	      needed for the coverage analysis.

	commit 2aac7cd0217ce3417b12574ca7f9930090da6c4c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 19:17:45 2011 +0000

	    * Another case of lock file permissions being too liberal.

	commit 4d728bc3e60a6d07858f7a881221688ccdebb7fe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 19:11:58 2011 +0000

	    * Security: make sure the lock files used by build-remote.pl are not
	      readable to other users.  Otherwise, any user can open the lock file
	      for reading and lock it, thus DoSing the remote build mechanism.

	commit 69d6f0936a59da5cc35040407f4b667437d61add
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 18:59:25 2011 +0000

	    * Use a lock to ensure that only one build-remote instance can copy a
	      closure to a given machine at the same time.  This prevents the case
	      where multiple instances try to copy the same missing store path to
	      the target machine, which is very wasteful.

	commit 56790411323eada03bacf37fe6fd328a7c84d32a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 18:19:05 2011 +0000

	    * The ‘foo.drvPath’ feature was already broken in read-only mode.
	      Since it's rarely used and fixing it is too much work right now,
	      just document it.

	commit f8e54b7874b73891e39aff11dac2a5ceabef2f02
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Dec 21 17:34:44 2011 +0000

	    Make the reference cycle in the cyclic outputs test indirect

	commit b4cee3f816ad53f9762f38c28b51a78732b249f2
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Dec 21 17:31:34 2011 +0000

	    Revert previous commit

	    It doesn't detect indirect references

	commit f3c88f297d837f73d8123cb12564d237d7d0df87
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Dec 21 17:14:28 2011 +0000

	    Detect and reject mutually-referential outputs

	    There is probably a more efficient way to do this.

	commit b19a0f63dbb0c4910f4d9dcb391ca424ff3faeaa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 15:33:30 2011 +0000

	    * Simplify the context handling logic.

	commit 4be5a2c096083234e62117ce6016c4c9aa573aff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 14:42:06 2011 +0000

	    * Add a test for unsafeDiscardOutputDependency.  Not really related to
	      multiple outputs, but good to have anyway.

	commit 179409b9112ee9d9f858a124e0b109a46fe835c9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 13:47:21 2011 +0000

	    * Add a test for referring to another derivation's ‘drvPath’.  This
	      currently fails in read-only mode.

	commit 38776198880d06dc6af0fbdfa7cb2c053000112a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 21 11:47:52 2011 +0000

	    * Add some accidentally committed files.

	commit edd9359bebe012ae40e9e1538dab8f91e2d58d3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 20 17:10:39 2011 +0000

	    * Doing a GC after building a derivation with cyclic outputs currently
	      segfaults.

	commit 1f3b0ede7d9b6292e054f8e5ecc52a83cbba1f09
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 20 17:08:43 2011 +0000

	    * Add a (currently failing) test that checks whether mutually
	      recursive outputs are properly rejected.
	    * Add a (also failing) test for "nix-build -A <output-name>".

	commit 46e42c92c1444e1dd3aec871b3750bcd7391f60e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 20 17:01:02 2011 +0000

	    * Refactor a bit so that more tests can be added.

	commit b5363810bbeea37df34a5cb0051e05161630a510
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 20 16:37:01 2011 +0000

	    * Fix the build.

	commit 194d21f9f63ceb034f3e8294f89aa6bf6a217bc9
	Merge: 3c3107d 273b288
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 16 23:33:01 2011 +0000

	    * Sync with the trunk.

	commit 273b288a7e862ac1918064537ff130cc751fa9fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 16 22:31:25 2011 +0000

	    * importPath() -> importPaths().  Because of buffering of the input
	      stream it's now necessary for the daemon to process the entire
	      sequence of exported paths, rather than letting the client do it.

	commit 8d3dfa2c1782e955d2b7796d19dc0d0381596b98
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 16 21:29:46 2011 +0000

	    * Avoid expensive conversions from char arrays to STL strings.

	commit e0bd307802d13476055f8ba99ab7808de0fd71e5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 16 19:44:13 2011 +0000

	    * Make the import operation through the daemon much more efficient
	      (way fewer roundtrips) by allowing the client to send data in bigger
	      chunks.
	    * Some refactoring.

	commit 78598d06f0240a15b74720d8f987daeb702318d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 16 15:45:42 2011 +0000

	    * Clean up exception handling.

	commit 5a1b9ed0aa3a0c240b667dbe504b61b2b68e4d16
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 16:19:53 2011 +0000

	    * Refactoring: move sink/source buffering into separate classes.
	    * Buffer the HashSink.  This speeds up hashing a bit because it
	      prevents lots of calls to the hash update functions (e.g. nix-hash
	      went from 9.3s to 8.7s of user time on the closure of my
	      /var/run/current-system).

	commit a67b8ae22450a0fe10698042b452f5f2f322e008
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 14:04:35 2011 +0000

	    * Typo.

	commit a3e0656cbbfadba28518e0a29c324edaabb9874a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 12:32:08 2011 +0000

	    * Buffer reads in FdSource.  Together with write buffering, this
	      significantly cuts down the number of syscalls (e.g., for "nix-store
	      -qR /var/run/current-system" via the daemon, it reduced the number
	      of syscalls in the client from 29134 to 4766 and in the daemon from
	      44266 to 20666).

	commit 3a48282b0681d68147e18f7464eaddf1d188c3be
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 14 23:30:06 2011 +0000

	    * Buffer writes in FdSink.  This significantly reduces the number of
	      system calls / context switches when dumping a NAR and in the worker
	      protocol.

	commit 893cac140232478e3ce9640ccf31dbfbfc2434c0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 14 22:41:10 2011 +0000

	    * Remove the terminate handler, which was only really needed because
	      of Berkeley DB (see r8632).

	commit 23bf700196b4fa05a2da55798644f8adc2e1d7b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 14 22:31:31 2011 +0000

	    * Oops, the daemon test wasn't actually using the daemon.

	commit c8c0380744afd107611bba17127a182ecebd4e0b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 5 21:04:20 2011 +0000

	    * Remove unnecessary quotes.  showPaths() already adds quotes.

	commit 000160f5b915ce784e740c139f81e0cbeda751c4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 2 17:52:18 2011 +0000

	    * In ‘nix-store --verify --check-contents’, repair missing hashes
	      rather than complain about them.

	commit 3964d95abff8af2dc88effcebf6d935805ee6265
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 2 12:09:50 2011 +0000

	    * nix-prefetch-url: rewritten in Perl.

	commit 92d6a5ed73e043aebe5029c1ed75449873d327ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 2 12:09:24 2011 +0000

	    * Add some more functions to the Perl bindings.

	commit 49f59dceca37636353cf2f5f60135d7705ea154e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 2 11:47:06 2011 +0000

	    * Move parseHash16or32 into libutil, and use in nix-hash.

	commit b12b21825c949ef9b9327c6a0c9e2d5601aaf0b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 1 16:41:43 2011 +0000

	    * Allow '<nixexpr>' syntax to be used in nix-instantiate, nix-build
	      and nix-env, e.g.,

	      $ nix-env -f '<nixpkgs>' -i patchelf

	      or

	      $ nix-build '<nixos/tests>' -A login.test

	commit 23c38a04ccba4469b9aa98167532c236beeee0a0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 1 13:51:05 2011 +0000

	    * Slight improvement.

	commit 24f863d86b0316c736fe9e89998cd442b8a400dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 1 13:48:48 2011 +0000

	    * When doing "nix-store --add-fixed" without "--recursive" via the Nix
	      daemon (which is an error), print a nicer error message than
	      "Connection reset by peer" or "broken pipe".
	    * In the daemon, log errors that occur during request parameter
	      processing.

	commit be9be4c1476a46e9d0996d89613ce44d9aaa6da4
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Dec 1 08:03:30 2011 +0000

	    doc/manual/nix-env.xml: fixed "nix-env -qaA" typo

	commit 3c7ec8fc1b1fe3c3bf48b957c2aafa6c3ea6d846
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Dec 1 08:02:37 2011 +0000

	    doc/manual/nix-env.xml: stripped trailing whitespace

	commit f35c4351e5f99f1960a6ca7a3fd6dae76dcca163
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 22:15:07 2011 +0000

	    * Don't require a specific Perl version.

	commit 4d0407ba087f8bc3a21865309291996084fd80eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 13:38:52 2011 +0000

	    * Fix make check.

	commit 1749a7b0ae943f6a208ffc3fd0f6e9506872c5b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 13:01:24 2011 +0000

	    * download-using-manifests: use the Perl bindings.

	commit b1eb8f4249dbf666afa046c45e903566e9eb2df9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 13:00:41 2011 +0000

	    * Get rid of some superfluous error messages if a substituter fails.
	    * Say "fetch" instead of "substitute".

	commit 216440b3ff1431beca7784c7ae76cb5e75446953
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 12:32:55 2011 +0000

	    * For consistency with "nix-store -q --hash", produce hashes in
	      base-32.  (This affects Hydra manifests.)

	commit 1df120cb05121124379676d805b8f1fb090d7e22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 29 10:51:22 2011 +0000

	    * Get rid of the shell in ssh calls.

	commit 784083176a6c2bbda84095de97cb59126fe7c7a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 25 17:04:26 2011 +0000

	    * Fix race.

	commit f3bc98b0015fe333f7b1ef342143c23d0d6a2aa5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 23 15:39:54 2011 +0000

	commit 10e2b2b79e77fffed95d55a4c0b8150d4a852ec4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 23 15:39:02 2011 +0000

	    * Document the --include-outputs option.

	commit d5ac78e0d6f21dc60bd4f4f3990a18dc2bc12c4c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 23 15:29:58 2011 +0000

	    * Add bzip2 and xz support to nix-copy-closure.

	commit 5bbd693caedd5d50994938555b3a4b535875347e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 23 15:13:37 2011 +0000

	    * Add an API function exportPaths() that provides the functionality of
	      ‘nix-store --export’.
	    * Add a Perl module that provides the functionality of
	      ‘nix-copy-closure --to’.  This is used by build-remote.pl so it no
	      longer needs to start a separate nix-copy-closure process.  Also, it
	      uses the Perl API to do the export, so it doesn't need to start a
	      separate nix-store process either.  As a result, nix-copy-closure
	      and build-remote.pl should no longer fail on very large closures due
	      to an "Argument list too long" error.  (Note that having very many
	      dependencies in a single derivation can still fail because the
	      environment can become too large.  Can't be helped though.)

	commit ab20af3e6f83f320232d0e5f6bcfcb279c0047c0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 23 12:21:35 2011 +0000

	    * build-remote.pl: drop a hard-coded reference to /nix/etc/nix.

	commit 993fa94fb489f46e127ef760bea8c65ef281ef7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 22 17:28:41 2011 +0000

	    * Move initialisation of variables like nixConfDir from libmain to
	      libstore so that the Perl bindings can use it as well.  It's vital
	      that the Perl bindings use the configuration file, because otherwise
	      nix-copy-closure will fail with a ‘database locked’ message if the
	      value of ‘use-sqlite-wal’ is changed from the default.

	commit 4e1ea17052b4cc2445bc2ece2136f248112b4e45
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Mon Nov 21 15:19:51 2011 +0000

	    nix: add /etc/hosts with localhost entry to chroot builds.

	commit 4de3e2a0db8d043324e9799ada181f7e73356908
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 21 13:22:34 2011 +0000

	    * Doh.

	commit 23e933b3b3e881515993538ab774c8c7b54f8370
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 21 12:23:48 2011 +0000

	    * Put back the "sys_name" variable which got removed somewhere.  This
	      broke building on Cygwin and Solaris.

	commit a6abade8e832217c27fade5ab8b7c28003c2ac46
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 21 12:18:26 2011 +0000

	    * Escape the [ and ] characters in the sed call, otherwise autoconf
	      will eat them.

	commit 964399c079f312312f75c41d6f58d323822b6cf0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 20 19:23:50 2011 +0000

	    * "sed" on FreeBSD doesn't know the "+" operator.

	commit b92f76374f34068e3a41130cdba88ac2c5924804
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 18 17:25:40 2011 +0000

	    * In the platform, canonicalise "amd64" to "x86_64".  FreeBSD 8.2's
	      uname reports amd64.
	    * Drop the FreeBSD version number, e.g. "i686-freebsd" instead of
	      "i686-freebsd8.2".

	commit 42164d6de493fa2e0acbf1ebaf9ee0d7502b4f0b
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Nov 16 20:58:21 2011 +0000

	    configure: Change i*86 to i686 as has always been done.

	commit 45ec69cbdf7e5e7ff19d28c8f25c7f650105b253
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Nov 16 20:39:59 2011 +0000

	    configure: Rely on `AC_CANONICAL_HOST' to determine the Nix system name.

	    This should be more robust and also plays better with
	    cross-compilation---it uses the host name, instead of using the build
	    name.

	commit f8e609c3413e38d403d986020079f24a2b82c063
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 16 16:41:48 2011 +0000

	    * nix-pull: update the Nix manifest cache if necessary.  Also, don't
	      read the manifest just to check the version and print the number of
	      paths.  This makes nix-pull very fast for the cached cache (speeding
	      up nixos-rebuild without the ‘--no-pull’ or ‘--fast’ options).

	commit d7d7910ba48d898bda2db92a4f16a6179c855f7d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 16 16:25:38 2011 +0000

	    * Don't decompress the manifests in /nix/var/nix/manifest.  This saves
	      disk space, and, since they're typically only decompressed once (to
	      fill the manifest cache), doesn't make things slower.

	commit 63ee5e4d2a46c3619c59307d7dbb08f25d32c3e8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 16 11:56:19 2011 +0000

	    * Remove obsolete line.

	commit a5952405d2803ae0d29955fe6725cd9195327a07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 16 11:37:40 2011 +0000

	    * Re-use prepared statements across insertions into the manifest cache
	      DB.  This speeds up creating the cache from 16.1s to 7.9s on my
	      system.

	commit c0b706213dad330bd51607ff73059c87f0ec5b93
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 7 21:11:59 2011 +0000

	    * Boldly make SQLite WAL mode the default again.  Hopefully the
	      intermittent problems are gone by now.  WAL mode is preferrable
	      because it does way fewer fsyncs.

	commit 3c3107da86ff71a08ce44027ee5899acf486796a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 07:18:19 2011 +0000

	    There's no need to mess with drvPath at all

	commit 2ab29be70c99483dbd8cf12eece4d553c7f953f3
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 07:03:14 2011 +0000

	    Fix faulty reversion of my changes to unsafeDiscardOutputDependency

	commit ca0d47a70c37999f8cc9c2e82c76661826cfd50a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:54:05 2011 +0000

	    Respect all outputs passed to the derivation, not just the last one

	commit 24b65937e103c5cb1232c3cbcbffc12322cb8ae3
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:34 2011 +0000

	    Remove the unused sCurrentOutput symbol

	commit 3522730316dbb3a9ee5a690188f02435e7260406
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:30 2011 +0000

	    Embed output name into the context of the *OutPath attributes and extract it for input derivations

	    Multiple outputs test passes!

	commit 46876ff2037541613dc17c986f9b68b8f257cb3b
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:25 2011 +0000

	    Fix stupid typo in multiple outputs test

	commit af2e53fd481994cca46b9c003a6a8eae50cf951c
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:20 2011 +0000

	    Include all outputs of derivations in the closure of explicitly-passed derivation paths

	    This required adding a queryOutputDerivationNames function in the store API

	commit 981edeab7b6b415c71d3421da6967ec7fc232e54
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:14 2011 +0000

	    The 'insert output between = signs' approach was not helpful

	commit f883afa1a1bc6c48bbb3d9c150e357c35e40c921
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 06:28:08 2011 +0000

	    The nixinstantiate and nixstore env vars are no longer set in common.sh

	commit 2721e9f56f92f5bd630dcbb0104fc56159cb28d4
	Merge: bffe35a a6a3f3a
	Author: Shea Levy <shea@shealevy.com>
	Date:   Sun Nov 6 00:13:09 2011 +0000

	    Merge from trunk

	commit a6a3f3a8c26fdd6900880c13e924e6879d6c714c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 5 21:23:01 2011 +0000

	    * Fix race condition in the test.

	commit fa69ff57269dfd24ff04810c04d130e3e5d94154
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 5 21:06:24 2011 +0000

	    * Fix the broken reference to bunzip2 in the channel unpack script.

	commit daed9aeac557af4ec8d3d8f00b4f3f2b8f90408a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 3 19:22:24 2011 +0000

	commit d7b87bebe3ac8f47e387c79e03ceb5915e71d249
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 3 18:47:10 2011 +0000

	    * The Nix configuration file is usually /etc/nix/nix.conf.

	commit 325b5a8aee89a12c30fbfcf74503f5105be0b230
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 2 19:14:54 2011 +0000

	    * Fix permission on /nix/store in the manual for multi-user installs
	      (reported by Silvio Frischknecht).

	commit a12095d3be095ba9d88631e21ef6d43f1ddb5cee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 27 19:06:23 2011 +0000

	    * In printValueAsXML, handle the case where a "type" attribute is not
	      a string.  This happens in the NixOS option system.
	    * Remove a bogus comparison of a unsigned integer with -1.

	commit 00b41e46ed02d16aeea1375c14a84df02a91efba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 19 21:34:13 2011 +0000

	    * Print a consistent message.

	commit f186a9141efd20b1236b9df29de1bf4b1f2098ce
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 18 21:21:22 2011 +0000

	    * nix-copy-closure: support ‘--dry-run’ and ‘--include-outputs’.

	commit 67617574280a5db534e5b5c643a3b880d1b9336c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 15:41:13 2011 +0000

	    * Use the Store API bindings in nix-copy-closure.

	commit d43a148204a983bf676750f50640969f8edf7350
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 13:58:47 2011 +0000

	    * Add a test for nix-copy-closure.

	commit 2492914fbcd1d616c89b83fda0ee08551486273e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 13:06:59 2011 +0000

	    * Move the remote building test from the NixOS tree to the Nix tree.

	commit c362e4d718cb31e532a4e2d708d07a57bc3bdf55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 11:45:36 2011 +0000

	    * Move SSH.pm.

	commit 7d314b8c959ca5c3dda8aea9c74079f4be63e19e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 11:14:30 2011 +0000

	    * Work around a race condition starting the Nix daemon.

	commit 5193db048e06578191ddd3085d76aab1d2e15ad3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 09:32:34 2011 +0000

	    * Set svn:ignore.

	commit a2a317eb0bc418577461105790c70b363a10cc34
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 09:31:55 2011 +0000

	    * Distribute GeneratePatches.pm.

	commit 5090c34ee1251dd8f0a57332feff0c99489f7faa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 22:40:17 2011 +0000

	    * Set the executable bit on scripts.

	commit 8af7d766f0244d5b15d89ab2d2d66b0d63e8f576
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 21:32:34 2011 +0000

	    * Refactoring: remove unnecessary variables from the tests.

	commit cd6d02c366af43bccdd2ef345193e4fdeca78a13
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 21:30:59 2011 +0000

	commit 6fcdbcac202e40e5de7147ff64b34d6aaad16249
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 21:11:08 2011 +0000

	    * Install NixManifest.pm, NixConfig.pm and GeneratePatches.pm under
	      the Nix:: namespace.

	commit 659c427caa39e44e5861ff1345425e4c34c9ced3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 18:58:49 2011 +0000

	    * Hopefully perl-devel contains the required headers (untested).

	commit 73fe6871c479f7670f8c93b0cc9ef7bb1a851777
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 10 18:12:40 2011 +0000

	    * Include the Nix Perl bindings in Nix itself.  This will allow the
	      bindings to be used in Nix's own Perl scripts.

	      The only downside is that Perl XS and Automake/libtool don't really
	      like each other, so building is a bit tricky.

	commit bffe35acedafcd7c7237cb1415798362bff8a180
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Sep 19 04:36:49 2011 +0000

	    Update gitignore

	commit 6c38cc9025591655b893bbd2437bfd1453c0c2fa
	Author: Shea Levy <shea@shealevy.com>
	Date:   Mon Sep 19 04:15:26 2011 +0000

	    Ignore everything created during build

	commit 55481c44d4767ffde561c02b039717916e0536f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Sep 17 09:53:31 2011 +0000

	    * Don't assume that we want a shared Nix store.

	commit e81c09edbf6b352ec96668be35a68037df2f6342
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 16 11:31:00 2011 +0000

	    Remove the current output metadata from the string for unsaveDiscardOutputDependency

	commit bf50d6ad3271aaa6ac93b68e99f5acb1d9a158c7
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 16 11:30:52 2011 +0000

	    Add information about which output is active to drvPath's context

	    This will break things that depend on being able to just strip away an equals sign, so those have to be updated next

	commit ffa038f66dc0dfcfaf16c523830490bb606af04c
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 16 11:30:44 2011 +0000

	    Add an sCurrentOutput member to EvalState

	commit f3e410d4bffc109718d8a108258710a543ecfca6
	Author: Shea Levy <shea@shealevy.com>
	Date:   Fri Sep 16 11:30:03 2011 +0000

	    Add a currentOutput attribute to derivations keep track of which output is active

	commit 8f28a3ba25dd0dad6411a039bc01ad87c61a6e59
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Sep 14 05:59:29 2011 +0000

	    Add a test for multiple outputs

	    This currently fails. Yay test-driven development!

	commit c172d16b00dd2126eb7c4f12c26f1e30e4356f07
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Sep 14 05:59:17 2011 +0000

	    First attempt at the output-as-derivation semantics

	    For each output, this adds a corresponding attribute to the derivation that is
	    the same as the derivation except for outPath, which is set to the path specific
	    to that output. Additionally, an "all" attribute is added that is a list of all
	    of the output derivations. This has to be done outside of derivationStrict as
	    each output is itself a derivation that contains itself (and all other outputs)
	    as an attribute. The derivation itself is equivalent to the first output in the
	    outputs list (or "out" if that list isn't set).

	commit 0b34e57eb80dbadd8f24426c4486af97cbfe40bf
	Author: Shea Levy <shea@shealevy.com>
	Date:   Wed Sep 14 00:41:02 2011 +0000

	    Create a branch for me to play around with finishing off the multiple outputs implementation

	commit 13114daa3e38abc5c84987830d9276b93251592f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 12 09:07:43 2011 +0000

	    * Ouch.  A store upgrade could cause a substituter to be triggered,
	      causing a deadlock.

	commit 281e3ed0590f253ef717a1f82123dfc569a110a1
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Tue Sep 6 12:11:05 2011 +0000

	    bootstrap: Simplify & make more robust.

	commit e6cb3d0a0dcfe13e9b493afdc4e2107668ec99ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 6 12:06:30 2011 +0000

	    * Added a command ‘nix-store --verify-paths PATHS’ to check whether
	      the contents of any of the given store paths have been modified.
	      E.g.

	        $ nix-store --verify-path $(nix-store -qR /var/run/current-system)
	        path `/nix/store/m2smyiwbxidlprfxfz4rjlvz2c3mg58y-etc' was modified! expected hash `fc87e271c5fdf179b47939b08ad13440493805584b35e3014109d04d8436e7b8', got `20f1a47281b3c0cbe299ce47ad5ca7340b20ab34246426915fce0ee9116483aa'

	      All paths are checked; the exit code is 1 if any path has been
	      modified, 0 otherwise.

	commit 82710f96f7ea72bc0f6fcc6d736e3ad4434c1988
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 6 12:00:11 2011 +0000

	    * Add some -f flags, never hurts.

	commit 93227ff65c73e726c4ceef0cdd9439e7a4301417
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 31 21:11:50 2011 +0000

	    * Eliminate all uses of the global variable ‘store’ from libstore.
	      This should also fix:

	        nix-instantiate: ./../boost/shared_ptr.hpp:254: T* boost::shared_ptr<T>::operator->() const [with T = nix::StoreAPI]: Assertion `px != 0' failed.

	      which was caused by hashDerivationModulo() calling the ‘store’
	      object (during store upgrades) before openStore() assigned it.

	commit 5bcdc7e3517e6d679cad1aaba41e4deb76d5a6e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 27 16:59:32 2011 +0000

	    * Update the cleanup script.

	commit a95ba4cdd9aa9f9c98928732dd26fba2757ade26
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 17 14:17:19 2011 +0000

	    * Use last_insert_id instead of sqlite_last_insert_rowid, which you're
	      not really supposed to use according to the DBD::SQLite docs, and
	      fails on some systems (e.g. http://hydra.nixos.org/build/1246662).

	commit da18b11b05b6196376d5387b879d28b8da20f734
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 8 14:08:38 2011 +0000

	    * On FreeBSD, ‘touch’ is not in the test $PATH, so don't use it.

	commit 76e0029f7ae03f30a2fa534e1eaf141437877398
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 8 14:06:10 2011 +0000

	    * Add perl-DBD-SQLite as a dependency of the RPM builds.

	commit d374be551df964f000a04061e6ad9c81a7a8341c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 8 13:19:00 2011 +0000

	    * Add DBD-SQLite as a dependency to the Debian/Ubuntu builds.
	    * Drop some old Fedora/Debian/Ubuntu releases.

	commit 2d663b502da16d6dc480bff7f58297d176d04246
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 19:45:43 2011 +0000

	    * Cache the result of file evaluation (i.e, memoize evalFile()).  This
	      prevents files from being evaluated and stored as values multiple
	      times.  For instance, evaluation of the ‘system’ attribute in NixOS
	      causes ‘nixpkgs/pkgs/lib/lists.nix’ to be evaluated 2019 times.

	      Caching gives a modest speedup and a decent memory footprint
	      reduction (e.g., from 1.44s to 1.28s, and from 81 MiB to 59 MiB with
	      GC_INITIAL_HEAP_SIZE=100000 on my system).

	commit 510033e78376987ca358cebfa020754e61733543
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 18:54:29 2011 +0000

	    * Handle <path> syntax.

	commit 9d091ee99a9b962c72b3cb9485a89ba028dd1155
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 18:45:28 2011 +0000

	    * Handle the case where the search path element is a regular file.

	commit 00a724ebc6f049009ce0810b0ac44dd11199d88b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 18:24:43 2011 +0000

	    * Remove a debug statement.

	commit 07340b8be742e08f1a000475eb1f389d5525d6c8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 18:23:38 2011 +0000

	    * Add the Nix corepkgs to the end of the search path.  This makes it
	      possible for other Nix expressions to use corepkgs (mostly useful
	      for the buildenv function).

	commit c7101dac0bd2631e50846194fc841ef5ef77461f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 17:48:57 2011 +0000

	    * Allow redirections in search path entries.  E.g. if you have a
	      directory

	        /home/eelco/src/stdenv-updates

	      that you want to use as the directory for import such as

	        with (import <nixpkgs> { });

	      then you can say

	        $ nix-build -I nixpkgs=/home/eelco/src/stdenv-updates

	commit 1578b2261d28003c8c1459041302e1f3c1921c43
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 16:18:54 2011 +0000

	    * Add lang/dir* to the distribution.

	commit 1ecc97b6bdb27e56d832ca48cdafd3dbb5185a04
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 16:05:24 2011 +0000

	    * Add a Nix expression search path feature.  Paths between angle
	      brackets, e.g.

	        import <nixpkgs/pkgs/lib>

	      are resolved by looking them up relative to the elements listed in
	      the search path.  This allows us to get rid of hacks like

	        import "${builtins.getEnv "NIXPKGS_ALL"}/pkgs/lib"

	      The search path can be specified through the ‘-I’ command-line flag
	      and through the colon-separated ‘NIX_PATH’ environment variable,
	      e.g.,

	        $ nix-build -I /etc/nixos ...

	      If a file is not found in the search path, an error message is
	      lazily thrown.

	commit 54945a2950174ded83d58336061b4a9990cdbbfd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 6 13:02:55 2011 +0000

	    * Refactoring: move parseExprFromFile() and parseExprFromString() into
	      the EvalState class.

	commit c8606664abe952f74985503c831d31ae7a7369bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 20 18:26:00 2011 +0000

	    * Don't allow derivations with fixed and non-fixed outputs.

	commit b2027f70d992bd2d088e71ee5cea7637445766f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 20 18:10:47 2011 +0000

	    * Fix a huuuuge security hole in the Nix daemon.  It didn't check that
	      derivations added to the store by clients have "correct" output
	      paths (meaning that the output paths are computed by hashing the
	      derivation according to a certain algorithm).  This means that a
	      malicious user could craft a special .drv file to build *any*
	      desired path in the store with any desired contents (so long as the
	      path doesn't already exist).  Then the attacker just needs to wait
	      for a victim to come along and install the compromised path.

	      For instance, if Alice (the attacker) knows that the latest Firefox
	      derivation in Nixpkgs produces the path

	        /nix/store/1a5nyfd4ajxbyy97r1fslhgrv70gj8a7-firefox-5.0.1

	      then (provided this path doesn't already exist) she can craft a .drv
	      file that creates that path (i.e., has it as one of its outputs),
	      add it to the store using "nix-store --add", and build it with
	      "nix-store -r".  So the fake .drv could write a Trojan to the
	      Firefox path.  Then, if user Bob (the victim) comes along and does

	        $ nix-env -i firefox
	        $ firefox

	      he executes the Trojan injected by Alice.

	      The fix is to have the Nix daemon verify that derivation outputs are
	      correct (in addValidPath()).  This required some refactoring to move
	      the hash computation code to libstore.

	commit d2bfe1b071d0d71bb981535a53e9c5de43aaac81
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 20 12:15:40 2011 +0000

	    * Added a test that make sure that users cannot register
	      specially-crafted derivations that produce output paths belonging to
	      other derivations.  This could be used to inject malware into the
	      store.

	commit 4bdb51e621e2690e561b7581d5670af08e7b3170
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 20 11:50:13 2011 +0000

	    * Refactoring.

	commit 0243eea4b92ca1598353e31b7e3c0d195c903221
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 20 11:47:00 2011 +0000

	    * Create a symlink to /nix/var/nix/manifests in /nix/var/nix/gcroots
	      if it doesn't exist.

	commit d329c3ea9dde17a665b32a1716d02eb13627826d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 18 23:31:03 2011 +0000

	    * Support multiple outputs.  A derivation can declare multiple outputs
	      by setting the ‘outputs’ attribute.  For example:

	        stdenv.mkDerivation {
	          name = "aterm-2.5";

	          src = ...;

	          outputs = [ "out" "tools" "dev" ];

	          configureFlags = "--bindir=$(tools)/bin --includedir=$(dev)/include";
	        }

	      This derivation creates three outputs, named like this:

	        /nix/store/gcnqgllbh01p3d448q8q6pzn2nc2gpyl-aterm-2.5
	        /nix/store/gjf1sgirwfnrlr0bdxyrwzpw2r304j02-aterm-2.5-tools
	        /nix/store/hp6108bqfgxvza25nnxfs7kj88xi2vdx-aterm-2.5-dev

	      That is, the symbolic name of the output is suffixed to the store
	      path (except for the ‘out’ output).  Each path is passed to the
	      builder through the corresponding environment variable, e.g.,
	      ${tools}.

	      The main reason for multiple outputs is to allow parts of a package
	      to be distributed and garbage-collected separately.  For instance,
	      most packages depend on Glibc for its libraries, but don't need its
	      header files.  If these are separated into different store paths,
	      then a package that depends on the Glibc libraries only causes the
	      libraries and not the headers to be downloaded.

	      The main problem with multiple outputs is that if one output exists
	      while the others have been garbage-collected (or never downloaded in
	      the first place), and we want to rebuild the other outputs, then
	      this isn't possible because we can't clobber a valid output (it
	      might be in active use).  This currently gives an error message
	      like:

	        error: derivation `/nix/store/1s9zw4c8qydpjyrayxamx2z7zzp5pcgh-aterm-2.5.drv' is blocked by its output paths

	      There are two solutions: 1) Do the build in a chroot.  Then we don't
	      need to overwrite the existing path.  2) Use hash rewriting (see the
	      ASE-2005 paper).  Scary but it should work.

	      This is not finished yet.  There is not yet an easy way to refer to
	      non-default outputs in Nix expressions.  Also, mutually recursive
	      outputs aren't detected yet and cause the garbage collector to
	      crash.

	commit d9a5959139302781d1f4ac740b1af97c18a5fd08
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 13 15:57:44 2011 +0000

	    * Show the default for --with-store-dir (Nix/211).

	commit d5d4dcd4c988363beb2bb408ac31750e4c027176
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 13 15:53:24 2011 +0000

	    * Allow attribute names to be strings.  Based on the
	      allow-arbitrary-strinsg-in-names patch by Marc Weber.

	commit e649f3168bb03053c8201489ca52f9077c0d8b17
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 13 14:05:54 2011 +0000

	    * Fix concurrency issues in download-using-manifests' handling of the
	      SQLite manifest cache.  The DBI AutoCommit feature caused every
	      process to have an active transaction at all times, which could
	      indefinitely block processes wanting to update the manifest cache.

	    * Disable fsync() in the manifest cache because we don't need
	      integrity (the cache can always be recreated if it gets corrupted).

	commit 0a623a10c7e89a80b6dc74445a0ae6240f65723e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 13 12:19:57 2011 +0000

	    * Allow a default value in attribute selection by writing

	        x.y.z or default

	      (as originally proposed in
	      https://mail.cs.uu.nl/pipermail/nix-dev/2009-September/002989.html).

	      For instance, an expression like

	        stdenv.lib.attrByPath ["features" "ckSched"] false args

	      can now be written as

	        args.features.ckSched or false

	commit 2b9e29b1c8b6b8e4884a46a3ba71ee795f1f97cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 6 12:28:57 2011 +0000

	    * Change the right-hand side of the ‘.’ operator from an attribute to
	      an attribute path.  This is a refactoring to support default values.

	commit 5580f3817c37135dcc633d84d1360a17a8878a58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 6 10:58:53 2011 +0000

	    * Test case.

	commit 56370378023fc84eb0153b991f4138f6acd011e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 6 10:58:17 2011 +0000

	    * In the ‘?’ operator, allow attribute paths.  For instance, you can
	      write ‘attrs ? a.b’ to test whether ‘attrs’ has an attribute ‘a’
	      containing an attribute ‘b’.  This is more convenient than ‘attrs ?
	      a && attrs.a ? b’.

	      Slight change in the semantics: it's no longer an error if the
	      left-hand side of ‘?’ is not an attribute set.  In that case it just
	      returns false.  So, ‘null ? foo’ no longer throws an error.

	commit 34f4b91820796381d04c6e00ea5e805cf53d25da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 4 14:44:53 2011 +0000

	commit 1ea6e064454d10b722c2fd9361f00e6cf3561f08
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Jun 30 15:48:40 2011 +0000

	    doc: Fix typo.

	commit 5c9e9f732df6d95d712f25de9880b7461c53d6ca
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Jun 30 15:19:13 2011 +0000

	    Add support for the `build-timeout' and `--timeout' options.

	commit 9c99aa2620b8f86c0e7f99ebfe868e8ccb306f71
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 27 09:01:09 2011 +0000

	commit e4d814858559f10900eff26bb7a87fb986a87c48
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 27 08:04:54 2011 +0000

	commit 4891b21f34548a362df842e5d88914f6a70b5a39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 3 16:17:24 2011 +0000

	    * Use SQLite 3.7.6.2.

	commit d94cb02bfe4119a91948d31b1b9082328955dae1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 19 10:52:35 2011 +0000

	    * nix-install-package: unset NIX_REMOTE because $NIX_MANIFESTS_DIR
	      doesn't work when building through the Nix daemon.  This also
	      ensures an error message when the user doesn't have sufficient
	      privileges to do nix-pull.

	commit 8c69dac8a1d25c043ddb27d5c8dde5b072030667
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 19 10:44:44 2011 +0000

	    * Handle error messages from the Nix worker containing the `%'
	      character.  (Nix/216)

	commit 4ba6afaf48db8d4cece83a6e22de26829907834f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 16:27:05 2011 +0000

	    * `nix-env -ub' (`--prebuilt-only') didn't really work because it
	      checked too soon whether substitutes are available.  That is, it did
	      so for every available package, rather than those matching installed
	      packages.  This was very slow and subject to assertion failures.  So
	      do the check much later.  Idem for `nix-env -qab' and `nix-env -ib'.

	commit 412914d004462977e869e610172305d33fb4d335
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 13:16:54 2011 +0000

	    * Read manifests directly into the database, rather than first reading
	      them into memory.  This brings memory use down to (more or less)
	      O(1).  For instance, on my test case, the maximum resident size of
	      download-using-manifests while filling the DB went from 142 MiB to
	      11 MiB.

	commit 08c89714984ca64b9ddfe53c99254c70a784e81c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 12:40:13 2011 +0000

	    * Lock the database during updates.

	commit b2c11b9ed05d33bb938d83fbcb367256427450f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 10:23:15 2011 +0000

	commit 3cbf680f5d2bfb2ed4592dd24ff8ce2b7e5765bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 10:13:53 2011 +0000

	    * configure: detect whether DBD::SQLite is present.  If necessary the
	      location to DBI and DBD::SQLite can be passed with --with-dbi and
	      --with-dbd-sqlite.

	commit 83252b4ca9cb9de45bf4a069b20d1c2d1412396e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 08:21:30 2011 +0000

	    * Subtle bug: if you import File::stat in one module, it affects other
	      modules as well.  So use symbolic field names everywhere (which is
	      nicer anyway).

	commit b1882c3ef75afdaa7b0926cd146aa2857ba0d40a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 08:06:14 2011 +0000

	    * Create $manifestDir if it doesn't exist.

	commit 5591fcc5292616e99d9d2478ffeb4f1b51f1899e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 10 23:22:46 2011 +0000

	    * Cache the manifests in /nix/var/nix/manifests in a SQLite database.
	      This significantly speeds up the download-using-manifests
	      substituter, especially if manifests are very large.  For instance,
	      one "nix-build -A geeqie" operation that updated four packages using
	      binary patches went from 18.5s to 1.6s.  It also significantly
	      reduces memory use.

	      The cache is kept in /nix/var/nix/manifests/cache.sqlite.  It's
	      updated automatically when manifests are added to or removed from
	      /nix/var/nix/manifests.  It might be interesting to have nix-pull
	      store manifests directly in the DB, rather than storing them as
	      separate flat files, but then we would need a command line interface
	      to delete manifests from the DB.

	commit 1e7e4f21ba910bcf9da89b14cf2424a4b0955bed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 6 09:16:22 2011 +0000

	    * Remove the localPaths feature in manifests since it's no longer used
	      and redundant anyway.

	commit 0423d0692abebf16a19b65b37d4926de2539bf1c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 16 15:55:57 2011 +0000

	    * Print a better error message.

	commit 48bdbbf07042f130996c0d9116893cc9f8ed2488
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 13:12:59 2011 +0000

	    * Fix a bug in the documentation (reported by Olexiy Buyanskyy,
	      Nix/215).

	commit 802c2651c84b73a54b2a89484aa463f1f0df3b94
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 15:08:33 2011 +0000

	commit e945b52a31ab339b253df40e35828582eff77e54
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 13:26:33 2011 +0000

	    * nix-push: handle the case where the hash is not set in the DB.

	commit c3cee5395bec0dd9db3fb60662a170ebb7453ee1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 14:56:02 2011 +0000

	    * Build for Ubuntu 10.04.

	commit 8fcaf3e9c6d820175d124be0af06c481104222a1
	Author: Florian Friesdorf <flo@chaoflow.net>
	Date:   Mon Feb 14 03:11:56 2011 +0000

	    make nix-mode provide 'nix-mode

	    this enables (require 'nix-mode)

	commit 538b7caab013e6ec78bed2b65a7c5d345f1c737e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 10 14:31:04 2011 +0000

	    * Don't allocate a big initial GC address space on machines with
	      little RAM.  Even if the memory isn't actually used, it can cause
	      problems with the overcommit heuristics in the kernel.  So use a VM
	      space of 25% of RAM, up to 384 MB.

	commit 5a6b0398026a8a24b206a4b4d43894f9c683792c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 22:59:50 2011 +0000

	    * Don't call GC_expand_hp unless we're actually using the garbage
	      collector.

	commit f1462c208ba5d4efda864875f814c268366f4803
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Feb 9 21:23:13 2011 +0000

	    Use $BDW_GC_LIBS instead of a custom variable.

	commit 1876ab764f5b6e42fce67bdb46a8b03131653900
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 14:13:09 2011 +0000

	    * A better fix.  $boehmgc isn't set anywhere, we should use the flags
	      returned by pkg-config.

	commit dfc4117e901f27276ea1ce81c852bf4d52959961
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 14:08:32 2011 +0000

	    * The GC library can't be found on Solaris
	      (http://hydra.nixos.org/build/890714), so don't build with GC
	      support for now.

	commit d159ea1b7ec007fa5e4d4bef540453c9c09c3984
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 14:03:16 2011 +0000

	    * Urgh, FreeBSD doesn't have a "seq" command.

	commit 3087b3f7513ce713e0b759f63b9a4e9142e46f82
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:48:54 2011 +0000

	    * Obsolete.

	commit eb94581d399b8d0945b883b14c4a892fdab95dfc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:43:44 2011 +0000

	    * Remove obsolete directory.

	commit 7bba67c4013c1eb17c3f2f0a7015dbb57aae8ac8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:42:15 2011 +0000

	    * Remove obsolete file.

	commit d0eda1f3e9b2030e373038fd8997f033f2d7aedd
	Merge: 3854fc9 5439885
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:41:54 2011 +0000

	    * Merged the SQLite branch.

	commit 543988572e2abc85767da315b2acc1f971c5d07f
	Merge: c0340ee 3854fc9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:25:53 2011 +0000

	    * Sync with the trunk.

	commit c0340eec5ac175f7b757d883aca71d1a4382c641
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 8 12:30:28 2011 +0000

	commit 0304fda3cfdbd1e0cbc939b667cbe833eb726be1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 5 16:40:15 2011 +0000

	    * Propagate the CC setting.

	commit aeae0beba49e98655861c5c50e573bd7d9cfb5c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 5 16:29:10 2011 +0000

	    * Clang compatibility fix.  Clang actually checks template definitions
	      when they are defined

	commit 3854fc9b42d16b810f62b64194b699033b03aaf1
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Fri Jan 14 13:55:58 2011 +0000

	    Remove useless <config.h> inclusion from public header.

	commit 9db190eb31d4adc412d50bc03574951f9a1f9dae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 12:47:10 2011 +0000

	    * builtins.substring: if "start" is beyond the end of the string,
	      return the empty string.

	commit d6c8b995c5c08a6c6a6b18f0b2cf5b4b95cfc1b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 22 10:32:32 2010 +0000

	    * In Hydra manifests the Size field is missing, so don't rely on it.
	      This caused a lot of "Use of uninitialized value" warnings from
	      Perl.

	commit c931a7aec5ccb2209d3c4bcf4452c807fe894d94
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 17 17:23:15 2010 +0000

	    * Do a short sleep after SQLITE_BUSY.

	commit b1eb25217217087cb70a730da5311bd0890cf6ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 17 11:28:26 2010 +0000

	    * Propagate the "100" exit status for failed builds through the Nix
	      daemon.

	commit eac93d6efeba68d9da95f01e10cd859eef6d85dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 17 09:28:51 2010 +0000

	    * Use the right `make'.

	commit a0be433fec792216ac5d9af68ec1fea6c21c7c1d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 15 14:25:54 2010 +0000

	    * Disable X11 forwarding, it's not needed.

	commit f1a6b97639474dbb13a1f96b4adf77c987a97d07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 15 08:39:37 2010 +0000

	    * nix-copy-closure: make sure that the shell doesn't do globbing of
	      `+' and `?' in filenames.  This is very slow if /nix/store is very
	      large.  (This is a quick hack - a cleaner solution would be to
	      bypass the shell entirely.)

	commit 3dd02580e324d04ebfe999779978b4aa0f999ccd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 14 13:25:20 2010 +0000

	    * I forgot to catch SQLiteBusy in registerValidPaths().  So
	      registerValidPaths() now handles busy errors and registerValidPath()
	      is simply a wrapper around it.

	commit d787285af997a607bb678f39f340e663fafd3122
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 16:53:23 2010 +0000

	    * nix-instantiate: return exit status 100 to denote a permanent build
	      failure.  The build hook can use this to distinguish between
	      transient and permanent failures on the remote side.

	commit 5833243c92f28759ff0fc1ff9266535a3230e2d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 13:42:34 2010 +0000

	    * Create /nix/var/nix/db if it's missing.

	commit 100becf8d1b95055c73a024f1a2b318690de72f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 13:32:58 2010 +0000

	    * createDirs(path): if path already exists, make sure it's a
	      directory.
	    * Provide a C++ wrapper around lstat().

	commit d7ca6f44eb506ec315db2ba59216de59de2758b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 13:19:46 2010 +0000

	    * Update some comments.

	commit 542fc6906297fcb72cbcb01d688c2f27819e0cf7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 08:39:10 2010 +0000

	    * When doing a query (e.g. `nix-store -r --dry-run'), don't make a lot
	      of expensive calls to `nix-store --check-validity'.

	commit 4d5777681309947041ecc297074f4ce537547553
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 10 11:45:56 2010 +0000

	    * Use SQLite 3.7.4.

	commit e4720b1a79f549b3bcb0e33fe999d02d12e3ed23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 8 18:19:15 2010 +0000

	    * Ignore the result of sqlite3_reset().

	commit 7d0444e2446c71e79e49f46f371c62f6d20488d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 7 12:33:42 2010 +0000

	    * Bad things happen when a filehandle has the same name as a module.

	commit 8062d3af30b27eb4d617c14856d4f3a173f8012e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 6 15:29:38 2010 +0000

	    * `nix-store --verify --check-contents': don't hold the global GC lock
	      while checking the contents, since this operation can take a very
	      long time to finish.  Also, fill in missing narSize fields in the DB
	      while doing this.

	commit de79d23f76c13da820f7167cd980264b2de28bd2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 5 18:23:19 2010 +0000

	    * Retry a transaction if SQLite returns SQLITE_BUSY.  This can happen
	      even with a very long busy timeout, because SQLITE_BUSY is also
	      returned to resolve deadlocks.  This should get rid of random
	      "database is locked" errors.  This is kind of hard to test though.
	    * Fix a horrible bug in deleteFromStore(): deletePathWrapped() should
	      be called after committing the transaction, not before, because the
	      commit might not succeed.

	commit 365f3028ddfb5487f35ebbb9adc42ddf9459113d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 5 17:50:29 2010 +0000

	    * Use CamelCase for the Perl modules.

	commit f42a505ab71ba421797ac511e1221ccbefef8ab9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 5 17:36:02 2010 +0000

	    * Add a script `nix-generate-patches'.
	    * Fix the binary patching test.

	commit 77f7a6d591e32a4a475552f3e67e3e67b7f71a10
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 17:07:04 2010 +0000

	    * Quick hack around one of the pathological cases in bsdiff
	      (namely, when there is a long region of 0s).  On one 86 MiB
	      case, this cut patch generation time from 44m to 2m.

	commit d3bba0c2d8b879950d55d508ef3fc8dec3559f8f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 15:26:28 2010 +0000

	    * Move the patch generator into a module.

	commit 9737a7eba0844e317591f16092879696c4f3feae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 09:26:05 2010 +0000

	    * Don't generate patches if the system type differs.

	commit bd48fd97f646f068ae2725b5b2f048d45866119b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 09:15:45 2010 +0000

	    * Impose a configurable time limit on patch generation.  This is
	      necessary because bsdiff has some pathological worst-case behaviour,
	      e.g. O(n^2) on files consisting only of 0s.

	commit 703e5a2ce2f111c5329a8448ba47a7fbe11ad6cd
	Merge: d92ccbf 812fae4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 25 14:09:13 2010 +0000

	    * Sync with the trunk.

	commit 812fae424ee7139cf9bc0d17815ee68aa3cab517
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 25 13:47:34 2010 +0000

	    * DrvInfo contains pointers to expressions, so DrvInfos should be
	      traced by the garbage collector.  Otherwise "nix-env -u" can crash
	      randomly.

	commit d92ccbf1ac5ab68937a0e411f4daee7e427865bd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 18:01:37 2010 +0000

	    * Test whether sequences of patches work.

	commit 1a211d812f1808a5a9128cbfd74bb59d07487b1c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 17:54:49 2010 +0000

	    * Oops.

	commit a4f0365b2dfc95b60c42a702937fc801dcc8d81b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 17:41:59 2010 +0000

	    * When checking whether a patch is applicable, for efficiency, use
	      `nix-store -q --hash' to get the hash of the base path rather than
	      `nix-hash'.  However, only do this for estimating the size of a
	      download, not for the actual substitution, because sometimes the
	      contents of store paths are modified (which they shouldn't, of
	      course).

	commit 3d38a498404bf842ca479d42d18def1f472a6fb0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 17:32:25 2010 +0000

	    * In the download size indication, take binary patches into account.
	      Hopefully this doesn't slow things down too much.

	commit f69626ed3eb9314bbdf9b0fe5497a0c3a3465d31
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 15:45:09 2010 +0000

	commit a07c68f05edd754e389e0757ed2deefd70aad364
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 15:30:07 2010 +0000

	    * Finally, a test for the binary patch functionality.

	commit bf658f016ff16af79535358c8e609a933b86e6d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 14:39:02 2010 +0000

	    * Test that download sizes are shown correctly.

	commit 1e24cbaba3a7b553569c72afddeb825001ae1dd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 14:35:14 2010 +0000

	    * Fix the test.

	commit bdf089f46362b8c9defefa0a14e3198582e12818
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 14:31:42 2010 +0000

	    * Before a build, show the disk space that the downloaded store paths
	      will approximately require.

	commit 06699d4219019182d9e45ebc613ae1a1df23f257
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 12:57:52 2010 +0000

	    * Store the NAR size in the manifest.

	commit 5693b8a7e246af352c26c258e2af6402601839ed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 12:51:54 2010 +0000

	    * nix-push: no need to compute the NAR hash, since the Nix database
	      already has it (`nix-store -q --hash').

	commit e60c962fb8dd3d8be37c1f4ae08d5247901fa129
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 12:40:52 2010 +0000

	    * Add an operation `nix-store -q --size'.

	commit 1db6259076b1b8f667451da8d2e44a55ece19056
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 17 12:08:01 2010 +0000

	    * Implement RemoteStore::queryPathInfo().

	commit a3883cbd28057a3dd2573f77dcda9a26faaac555
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 16 17:11:46 2010 +0000

	    * Store the size of a store path in the database (to be precise, the
	      size of the NAR serialisation of the path, i.e., `nix-store --dump
	      PATH').  This is useful for Hydra.

	commit fb9368b5a0b2457b28f19d4902bc0790123338a2
	Merge: 64fd298 4aced7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 16 12:49:47 2010 +0000

	    * Sync with the trunk.

	commit 4aced7f8d0d5d2c1057b0f46a70a37a577f81fa5
	Merge: 8dadced 26def53
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 15:04:39 2010 +0000

	    * Merge the GC branch.

	commit 26def5392f6f6364aa0939a2d4fc7705e786d38d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 14:44:02 2010 +0000

	    * Document Boehm GC support.

	commit 3d71c8013efa5d347b9767af54160b3d0fd9127b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 14:00:47 2010 +0000

	    * Use pkgconfig to locate the Boehm GC (as suggested by Ludo), if
	      --enable-gc is given.

	commit 14fbf85380b23efcc19c8479b65336fc7275d90b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 13:11:50 2010 +0000

	    * Set libgc's initial heap size to 384 MiB to prevent garbage
	      collection in most cases (and therefore its performance overhead).

	commit 0c4828ea05798b9e070e233884739736115a830d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 28 12:50:01 2010 +0000

	    * new(UseGC) is inexplicably slower than GC_MALLOC, so prefer the
	      latter.

	commit e11e6fb1c6709ca3f0e596a7b1fb988df2fbd9b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 28 12:29:40 2010 +0000

	    * Handle out of memory condition.

	commit 8a788e38ac7efc785ffe4fcf49a4e031c7784216
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 10:47:02 2010 +0000

	    * Install config.h.

	commit 11ccd44e95c16b9f7fcf51e75b511b1b6587397b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 24 21:48:59 2010 +0000

	    * We need Bison 2.4 now.

	commit 43535499f38acc04367eeb4dd0d9938e9f8666f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 24 20:09:37 2010 +0000

	    * When allocating an attribute set, reserve enough space for all
	      elements.  This prevents the vector from having to resize itself.

	commit e0b7fb8f2710ec3012afe6b9d2096f770429a389
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 24 19:52:33 2010 +0000

	    * Keep attribute sets in sorted order to speed up attribute lookups.
	    * Simplify the representation of attributes in the AST.
	    * Change the behaviour of listToAttrs() in case of duplicate names.

	commit 2dc6d5094183edee523a48d449eab1a376e839a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 24 14:20:02 2010 +0000

	    * Don't create thunks for variable lookups (if possible).  This
	      significantly reduces the number of values allocated (e.g. from 8.7m
	      to 4.9m for the Bittorrent test).

	commit 0b305c534f989dbc3645ff03e070b0e4665fdeb7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 24 00:41:29 2010 +0000

	    * Store attribute sets as a vector instead of a map (i.e. a red-black
	      tree).  This saves a lot of memory.  The vector should be sorted so
	      that names can be looked up using binary search, but this is not the
	      case yet.  (Surprisingly, looking up attributes using linear search
	      doesn't have a big impact on performance.)

	      Memory consumption for

	        $ nix-instantiate /etc/nixos/nixos/tests -A bittorrent.test --readonly-mode

	      on x86_64-linux with GC enabled is now 185 MiB (compared to 946
	      MiB on the trunk).

	commit a247d20604a97ff6e84b87f66e3338714e7964f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 23 22:58:24 2010 +0000

	    * Fix compiling without Boehm.
	    * Fix the stats.

	commit 02934b12000d5a837ef4cac78025cb531330c2b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 23 22:55:30 2010 +0000

	    * Regression test for listToAttr's behaviour if an attribute name
	      occurs multiple times.

	commit b2ba62170cc8359d2f8bbbd9dbacf331b98151fe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 23 21:11:59 2010 +0000

	    * Optimise string constants by putting them in the symbol table.

	commit 8ac06726b92fff66714ceee8af89068ac876875a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 23 20:07:47 2010 +0000

	    * Make Value smaller by not storing redundant PrimOp info.
	    * Clear pointers in Values after overwriting them to make sure that no
	      objects are kept alive unnecessarily.

	commit 3f66cfb96b6f4bbddc8bf3b15e364fd522e028bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 23 18:18:07 2010 +0000

	    * Remove allocValues().

	commit 4dee289550d11950d6d17482484061a4792b2eef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 22 15:51:52 2010 +0000

	    * In environments, store pointers to values rather than values.  This
	      improves GC effectiveness a bit more (because a live value doesn't
	      keep other values in the environment plus the parent environments
	      alive), and removes the need for copy nodes.

	commit cf7e645a48a31e04428778a8d39924a3da8a30f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 22 15:15:12 2010 +0000

	    * Regression test for __overrides.

	commit 41c45a9b319a5578e2731505ca3de2b9c50b4988
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 22 14:47:42 2010 +0000

	    * Store Value nodes outside of attribute sets.  I.e., Attr now stores
	      a pointer to a Value, rather than the Value directly.  This improves
	      the effectiveness of garbage collection a lot: if the Value is
	      stored inside the set directly, then any live pointer to the Value
	      causes all other attributes in the set to be live as well.

	commit 64c3325b0bef8c0234bf797033e129323b36ad1e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 22 13:39:15 2010 +0000

	    * Make building against the Boehm GC a configure option.

	commit 76feaf016a7e9a9b019148df5ff84a63e48dbda7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 15:48:00 2010 +0000

	    * Keep some more stats.

	commit e879a0371ba7ef99da2d82547823c3f96b445fdb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 11:38:30 2010 +0000

	    * Use the Boehm garbage collector to reclaim unused memory in the Nix
	      expression evaluator.

	commit b0c11cda7ef9eaef46f9868e3f3736aa72fa641c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 09:08:39 2010 +0000

	    * Evaluator garbage collection branch.

	commit 64fd29855a8ae49cacdaff424679821b4fd3bf57
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 14 15:55:51 2010 +0000

	    * Wrap deleteFromStore() in a transaction.  Otherwise there might be a
	      race with other processes that add new referrers to a path,
	      resulting in the garbage collector crashing with "foreign key
	      constraint failed".  (Nix/4)
	    * Make --gc --print-dead etc. interruptible.

	commit 8dadcede65c75488da4cc5e5d8266c4b176cb7e5
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Wed Oct 6 19:04:04 2010 +0000

	    nix manual: fix 'install' -> 'uninstall' in garbage collection section of introduction

	commit 7119d38287659ec665a1a542c23edd1758ad3a1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 22:26:38 2010 +0000

	    * In the referrers test, lower the nesting depth from 2500 to 1000 to
	      prevent hitting a stack overflow bug in the garbage collector.

	commit 705868a8a96a10f70e629433cfffc2d5cd2703eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 17:55:38 2010 +0000

	    * Make sure that config.h is included before the system headers,
	      because it defines _FILE_OFFSET_BITS.  Without this, on
	      OpenSolaris the system headers define it to be 32, and then
	      the 32-bit stat() ends up being called with a 64-bit "struct
	      stat", or vice versa.

	      This also ensures that we get 64-bit file sizes everywhere.

	    * Remove the redundant call to stat() in parseExprFromFile().
	      The file cannot be a symlink because that's the exit condition
	      of the loop before.

	commit 95f4f2cf6102f95abf6948d74907c44c3540eddd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 16:16:19 2010 +0000

	    * If std::tr1::unordered_set is unavailable, use std::set.

	commit 36a23e86b6ab1265bbf883dd71bc844f7c9183f3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 15:50:08 2010 +0000

	    * "type -P" isn't portable.

	commit bfa6ee7d919b84a105f6376116e82240e44b990d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 12:30:46 2010 +0000

	    * Don't use SSH's `-tt' flag because it doesn't seem to work
	      on OpenSolaris when using connection sharing.  Instead have
	      the remote side check for disconnection and kill the process
	      group when that happens.

	commit 71dfe4b90bec29075f01cfbc45f8f521535bf460
	Merge: e490741 450837b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 11:44:47 2010 +0000

	    * Sync with the trunk.

	commit 450837bcc887a47260817611d01c22e35aba92b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 11:23:07 2010 +0000

	    * In printMsg(), ignore failing writes to stderr if we're in an
	      exception handler, otherwise throw an exception.  We need to ignore
	      write errors in exception handlers to ensure that cleanup code runs
	      to completion if the other side of stderr has been closed
	      unexpectedly.

	commit 4aa92450832e87018513a2453e39858fab00833a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 4 10:51:16 2010 +0000

	    * Hack needed for GCC 4.3.2 on OpenSolaris.

	commit 923736df38c1415150afbe62983daf3fee8726b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 14 12:47:19 2010 +0000

	    * Doh.  Remove debug message.

	commit e4907411c2d902215d1a18456ce8b0c653650461
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 1 11:36:22 2010 +0000

	    * Only do "pragma journal_mode = ..." if the current journal mode
	      differs from the desired mode.  There is an open SQLite ticket
	      `Executing "PRAGMA journal_mode" may delete journal file while it is
	      in use.'

	commit bf0dde959771661c6893001a7e0779b65d7be490
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 31 12:36:24 2010 +0000

	    * Always print hook output on stderr, even if --no-build-output is
	      set.
	    * In the build hook, print a trace message to allow Hydra to pick up
	      the name of the remote machine used for the build.

	commit e2e168f7c27f5239badf6e8705264bd907d6b82c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 31 11:47:31 2010 +0000

	    `nix-store --verify' improvements:
	    * If a path has disappeared, check its referrers first, and don't try
	      to invalidate paths that have valid referrers.  Otherwise we get a
	      foreign key constraint violation.
	    * Read the whole Nix store directory instead of statting each valid
	      path, which is slower.
	    * Acquire the global GC lock.

	commit 80e722278ca03bf303961e2f27487dc98d042803
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 30 14:53:03 2010 +0000

	    * When using the build hook, distinguish between the stderr of the
	      hook script proper, and the stdout/stderr of the builder.  Only the
	      latter should be saved in /nix/var/log/nix/drvs.
	    * Allow the verbosity to be set through an option.
	    * Added a flag --quiet to lower the verbosity level.

	commit 20acd43c25a388f5c31c2ee601f1cac88cf12f7b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 30 14:11:57 2010 +0000

	    * Disable the GC reachability check for now (when creating new roots),
	      as it's hopelessly inefficient.

	commit 766f7084188d8c0dd0595bbbfc50fbc4f9d67a50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 27 13:18:13 2010 +0000

	    * Experimental feature: allow a derivation to tell the build hook that
	      it requires a certain feature on the build machine, e.g.

	        requiredSystemFeatures = [ "kvm" ];

	      We need this in Hydra to make sure that builds that require KVM
	      support are forwarded to machines that have KVM support.  Probably
	      this should also be enforced for local builds.

	commit df50916e46d80e640a36076f1c38c355b89999d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 27 12:10:56 2010 +0000

	    * Oops - "null" was displayed as "true".

	commit e41ecbf7303a181fd37026edb72f2f23dde7e73b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 27 11:09:04 2010 +0000

	commit e437b0825018b1935f9a849382c12b1df0aeae06
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 20:44:28 2010 +0000

	    * Made the build hook mechanism more efficient.  Rather than starting
	      the hook every time we want to ask whether we can run a remote build
	      (which can be very often), we now reuse a hook process for answering
	      those queries until it accepts a build.  So if there are N
	      derivations to be built, at most N hooks will be started.

	commit 1a396f3789feefc20bdcd8a355939eb1ec5126c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 12:19:30 2010 +0000

	    * Don't call "cat".

	commit 95deba581dc3a93874b13406fb5c4dfb6747bbc3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 11:54:11 2010 +0000

	    * In the build hook, temporarily register the derivation and its
	      output as GC roots.  This prevents a race if the garbage collector
	      is running during the build.

	commit 1e5f5ea2e9f522397c05e710ae32ff7c0b0f1611
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 14:27:07 2010 +0000

	    * Correctly handle SSH failing to establish a connection.  Because
	      this didn't work right, the build hook wouldn't fall back to using
	      other machines of the desired type.

	commit 034f608e004c3206ff99c55c107139c38bfe9408
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 14:25:33 2010 +0000

	    * Don't complain if the stored hash of a path is zero (unknown).

	commit f58f51f38007f8bfb1089c3b4c88b6e66da15f39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 11:45:44 2010 +0000

	    * Handle the unlikely case where a derivation has no dependencies at
	      all.

	commit 955d11aae738f7f9c56c51e8ab2eabdf8732aab1
	Merge: 5c5ab2b c67eccc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 09:56:28 2010 +0000

	    * Sync with the trunk.

	commit c67eccc26d42bce9496024ac77eaa7e4ff725d01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 09:21:59 2010 +0000

	    * nix-build: pass --cores.

	commit 2c8e070e5d75e1d1f610c8493b359a194c30e3b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 17 15:39:35 2010 +0000

	    * Bump the version number.

	commit ed133e6e6443646a21d87cf9a8eb0263f7c3f3fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 17 14:08:44 2010 +0000

	    * rpmBuild already includes the disk image in the output name.

	commit 2de17f4edcd7ee66b1094d777cdb62ec4a786a8c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 17 10:06:26 2010 +0000

	    * Update date.

	commit 86f65edf4e519224eaa35ebc6bcf98bffe04b3d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 17 07:22:05 2010 +0000

	    * Document --cores in the manual.

	commit b75e1043a3a4bd72086e4007a53f0a1c3211c9fa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 16 13:23:45 2010 +0000

	    * Typo.

	commit 8ec6594d6d77d73c7f961881f6575a56d81ca77f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 16 13:01:31 2010 +0000

	    * Remove the "tarball" jobset argument.

	commit 12721a3a9a5b6f64b9150833a2e682daf9c03e4d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 16 12:38:32 2010 +0000

	    * Nix 0.16 release notes.

	commit 5fb824e896630741b6ca2c1c27d5f293f7d1f84e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 12 13:36:56 2010 +0000

	    * Urgh, this was supposed to go in the trunk...

	commit 5c5ab2bc12472f63a33cc841dcdc57f1ed8ddea5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 12 13:34:34 2010 +0000

	    * Don't link against pthreads.  This was added way back in r211
	      because Berkeley DB needed it on some platforms, but we don't use
	      BDB anymore.

	      On FreeBSD, if you link against pthreads, then the main thread gets
	      a 2 MB stack which cannot be overriden (it ignores "ulimit -s"):

	        http://www.mail-archive.com/freebsd-hackers@freebsd.org/msg62445.html

	      This is not enough for Nix.  For instance, the garbage collector can
	      fail if there is a pathologically deep chain of references
	      (http://hydra.nixos.org/build/556199).  2 MB is also not enough for
	      many Nix expressions.

	      Arguably the garbage collector shouldn't use recursion, because in
	      NixOS unprivileged users can DOS the garbage collector by creating a
	      sufficiently deeply nested chain of references.  But getting rid of
	      recursion is a bit harder.

	commit 6846ed8b442c20430b816a6b2ec926c841e38e0d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 12 09:21:50 2010 +0000

	    * Make --cores work when building through the Nix daemon.

	commit 5f9aad44caff5b2a2fb22fcf93d6ca129656984d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 11 15:28:02 2010 +0000

	    * nix-build: recognise --cores.

	commit d7875d164884b1a42d9b5ed0d92b55beeeb89a99
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 6 07:51:27 2010 +0000

	    * Use SQLite 3.7.0.1.

	commit 587dc8aa003cc5f676cc7d01b4fea984f5033107
	Merge: fd9c77d 750be19
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 17:48:29 2010 +0000

	    * Sync with the trunk.

	commit fd9c77dfc7b90d447e6bfdb4f0d5b521184aeddb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 17:35:59 2010 +0000

	    * Use SQLite 3.7.0's write-ahead logging (WAL mode).  This is a lot
	      faster than the old mode when fsyncs are enabled, because it only
	      performs an fsync() when doing a checkpoint, rather than at every
	      commit.  Some timings for doing a "nix-instantiate /etc/nixos/nixos
	      -A system" after modifying the stdenv setup script:

	        42.5s - SQLite 3.6.23 with truncate mode and fsync
	         3.4s - SQLite 3.6.23 with truncate mode and no fsync
	        32.1s - SQLite 3.7.0 with truncate mode and fsync
	        16.8s - SQLite 3.7.0 with WAL mode and fsync, auto-checkpoint
	                every 1000 pages
	         8.3s - SQLite 3.7.0 with WAL mode and fsync, auto-checkpoint
	                every 8192 pages
	         1.7s - SQLite 3.7.0 with WAL mode and no fsync

	      The default is now to use WAL mode with fsyncs.  Because WAL doesn't
	      work on remote filesystems such as NFS (as it uses shared memory),
	      truncate mode can be re-enabled by setting the "use-sqlite-wal"
	      option to false.

	commit 750be19ae865da3ee03c132a287148f2402ad72b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 12:23:59 2010 +0000

	    * Remove "auto" and "guess" as synonyms for 0 in the handling of
	      build-cores and --cores.  They're superfluous and just complicate
	      the parsing.

	commit 7f893b7a43fdca728fd1f7a72e51d31d2a6e7147
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 12:13:58 2010 +0000

	    * Allow derivations to hint that they should not be built remotely
	      using the build hook mechanism, by setting the derivation attribute
	      "preferLocalBuild" to true.  This has a few use cases:

	      - The user environment builder.  Since it just creates a bunch of
	        symlinks without much computation, there is no reason to do it
	        remotely.  In fact, doing it remotely requires the entire closure
	        of the user environment to be copied to the remote machine, which
	        is extremely wasteful.

	      - `fetchurl'.  Performing the download on a remote machine and then
	        copying it to the local machine involves twice as much network
	        traffic as performing the download locally, and doesn't save any
	        CPU cycles on the local machine.

	commit 315d8fbd7570532e008b03d50226f53fa9e460db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 09:32:42 2010 +0000

	    * Set the default system filter to "*".  This ensures that (for
	      instance) "nix-env -i wine" works on x86_64-linux, even though Wine
	      is built on i686-linux.  In the event that there are multiple
	      matching derivations, prefer those built for the current system.

	commit 6d6200f37afe10e8da3b08582a926245538af5d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 2 16:31:05 2010 +0000

	    * Optimisation in the // operator: if one of the sets is empty, return
	      the other set.

	commit 7af6a2fd71e95bdc28e0015b1e89a9b81ef32711
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 2 11:54:44 2010 +0000

	    * intersectAttrs: optimise for the case where the second set is larger
	      than the first set.  (That's usually the case with callPackage.)

	commit 532d766c279daf190728b4815b92f04623e7fb7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 21 11:30:23 2010 +0000

	    * Don't barf if the source NAR for a patch has disappeared.

	commit 7e043d28a64b38e18511140a9a42494977ca6015
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jul 15 14:35:20 2010 +0000

	    src/bsdiff-4.3/Makefile.am: include the 'compat-include' directory in distribution tarballs

	commit 60b632b173e633cc5346f8a5491ef637e1f78166
	Author: Peter Simons <simons@cryp.to>
	Date:   Fri Jun 25 14:05:37 2010 +0000

	    tests/build-hook.hook.sh: prefer more portable `...` syntax over $(...) for running sub-shells

	    The /bin/sh interpreter on Solaris doesn't understand $(...) syntax for running
	    sub-shells. Consequently, this test fails on Solaris. To remedy the situation,
	    the script either needs to be run by /bin/bash -- which is non-standard --, or
	    it needs to use the ancient but portable `...` syntax.

	commit a0d29040f79b365598fe75d01f72d29ab538206b
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 22:22:24 2010 +0000

	    Revert "configure.ac: make flex and bison required programs"

	    This reverts commit 22405. Apparently, these programs aren't necessarily
	    required when building from a release archive.

	commit af09fe12ddf356d93855cfe7b84d607e3103103a
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 17:51:31 2010 +0000

	    Fix build of bsdiff-4.3 on machines that don't have <err.h>, such as Solaris.

	commit d63375d52998e91c4d79563727baa29eb0753251
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 17:51:24 2010 +0000

	    configure.ac: Incredibly enough, tr(1) on Solaris doesn't understand A-Z syntax for ranges.

	commit 4c21c016c578ced9d612ea3040ea225e57c477ec
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 17:51:19 2010 +0000

	    configure.ac: make flex and bison required programs

	    The build fails if these tools aren't available.

	commit bcec46057c0a99be3f0094cddfe0b06f27919f74
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 17:51:13 2010 +0000

	    src/libutil/util.cc: include <limit.h> to ensure that PATH_MAX is defined

	commit a17071fef15115dc0e7052ebe091ffe8457f77d0
	Author: Peter Simons <simons@cryp.to>
	Date:   Thu Jun 24 17:51:04 2010 +0000

	    Include <cstring> to ensure that strcpy(), strlen(), and memset() are declared.

	    An "using namespace std" was added locally in those functions that refer to
	    names from <cstring>. That is not pretty, but it's a very portable solution,
	    because strcpy() and friends will be found in both the 'std' and in the global
	    namespace.

	commit 560ab22f7db8238672ed3117ef8bf0de8baf9155
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 23 21:11:33 2010 +0000

	    * Ignore packages that don't have a version.
	    * Work on a manifest instead of a channel directory.

	commit 8b7f8b56f11145c1be5188113cbcdbea27e99525
	Author: Peter Simons <simons@cryp.to>
	Date:   Wed Jun 23 14:34:08 2010 +0000

	    Added support for passing an (impure) NIX_BUILD_CORES variable to build expressions.

	    This patch adds the configuration file variable "build-cores" and the
	    command line argument "--cores". These settings specify the number of
	    CPU cores to utilize for parallel building within a job, i.e. by passing
	    an appropriate "-j" flag to GNU Make. The default value is 1, which
	    means that parallel building is *disabled*. If the number of build cores
	    is specified as 0 (synonymously: "guess" or "auto"), then the actual
	    value is supposed to be auto-detected by builders at run-time, i.e by
	    calling the nproc(1) utility from coreutils.

	    The environment variable $NIX_BUILD_CORES is available to builders, but
	    the contents of that variable does *not* influence the hash that goes
	    into the $out store path, i.e. the number of build cores to be utilized
	    can be changed at will without requiring any re-builds.

	commit 87ef5907e97f455bd4064f4d6e5f3c972402a8b9
	Merge: 3e5e0fa 819548d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 14:42:34 2010 +0000

	    * Sync.

	commit 819548d92f45d8aea671ca9a3e938ff928679063
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 14:41:22 2010 +0000

	    * Pass `--fallback' to the remote build to ignore failing
	      substituters.

	commit 3e5e0faf9cf93c01fb621774c0c3c50ce51bdd91
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 11:08:09 2010 +0000

	    * Okay, putting a lock on the temporary directory used by importPath()
	      doesn't work because the garbage collector doesn't actually look at
	      locks.  So r22253 was stupid.  Use addTempRoot() instead.  Also,
	      locking the temporary directory in exportPath() was silly because it
	      isn't even in the store.

	commit bf87cc44b4484df74388b526c89884fea166ab7f
	Merge: d1f6c0c b571891
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 07:55:38 2010 +0000

	    * Sync with the trunk.

	commit b57189174f6e11c3e9e0f7c65c08a72f689fe194
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 14 08:34:48 2010 +0000

	    * In importPath() and exportPath(), lock the temporary directory to
	      prevent it from being deleted by the garbage collector.

	commit f16fe2af8d59fef156c29077a240a832d3e60ef2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 10 10:29:50 2010 +0000

	    * builtins.toXML: propagate the string context.  This is a regression
	      from the old ATerm-based evaluator.

	commit d1f6c0cbe39b509545f809f08cbd580859f38e34
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 8 13:38:28 2010 +0000

	    * Replacing ValidPath rows doesn't work because it causes a constraint
	      violation of the Refs table.  So don't do that.

	commit 07ca66cf242eef3c7a6396e9353e48037034498b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 4 13:56:11 2010 +0000

	    * Applied a patch from David Brown to prevent `nix-store --optimise'
	      from failing on rename() on BtrFS.

	commit 1ab67cf437704f51f514e2ab7856e3c87f3c88b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 2 09:43:04 2010 +0000

	commit 89865da76d87292e5bc61f324b1ac892d40236e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 1 11:19:32 2010 +0000

	    * Turn build errors during evaluation into EvalErrors.

	commit a443c7573b3d76a6db107e6de974205e605a2738
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 1 10:01:14 2010 +0000

	    * Hack to allow derivations to disable chroot builds by setting the
	      attribute "__noChroot = true" (requested by Rob).

	commit 8bcdd36f10c5adfd312493c822c95c6fa5fbd110
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon May 31 16:36:24 2010 +0000

	    Add XML output to `nix-store'.

	    * src/nix-store/Makefile.am (nix_store_SOURCES): Add `xmlgraph.cc' and
	      `xmlgraph.hh'.

	    * src/nix-store/help.txt (Operations): Document `--xml'.

	    * src/nix-store/nix-store.cc (opQuery): Handle `--xml'.

	    * src/nix-store/xmlgraph.cc, src/nix-store/xmlgraph.hh: New files.

	commit da52f8bea0620cd55e10a8ec90306fa169f2d14f
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon May 31 16:36:20 2010 +0000

	    Comment out dead code in `nix-store'.

	    * src/nix-store/dotgraph.cc (pathLabel): Move within #if 0 section.

	commit 7343e6c8ae6d18f38f42a0714212ca5deb957c39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 30 20:29:56 2010 +0000

	    * Remove an accidentally committed debug statement.

	commit b92a2e5cc2c4f6a14ceea75dfd3bcf5f64743b2f
	Merge: 32539e4 93cd5a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 20 12:36:03 2010 +0000

	    * Sync with the trunk.

	commit 93cd5a4a13742b48bb1db0cafe36dd90b7abc10d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 18 10:36:37 2010 +0000

	    * The << operator on values should be const.

	commit 32539e41d5aac3daef4a02ad47da785cbaa651e2
	Merge: aa45027 b2235d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 16 17:16:00 2010 +0000

	    * Sync with trunk.

	commit b2235d81d1b3733a93fdd1397a62d0f49409dcb0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat May 15 08:10:12 2010 +0000

	    * Restore the __overrides feature that was lost somewhere in the
	      fast-eval branch.

	commit aa45027818af8976dc73e6a299d5d918e5c51df1
	Merge: a0e3b84 8032f26
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 22:13:09 2010 +0000

	    * Sync with the trunk.

	commit 8032f26ca0bd2233de066ce5786ff976bbd641ae
	Merge: 4750065 bd25ac2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 13:59:36 2010 +0000

	    * Merged the `fast-eval' branch.

	commit bd25ac2260267abd2181324e1650820da70e5e60
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 12:15:49 2010 +0000

	    * Print attributes in sorted order.

	commit 81a4b4e49bf82f17eef20d78c4f505874cf5532e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 11:23:44 2010 +0000

	    * Implemented tryEval, the last missing primop in the fast-eval
	      branch.  Also added a test for tryEval.

	commit 1a8eb6e3ec9329ee7b61ac2345c6e1d994905813
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 7 15:26:33 2010 +0000

	commit 83dfa898706e1faa491b3a50ea20baf60abda387
	Merge: 01e58ad 4750065
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 7 14:46:47 2010 +0000

	    * Sync with the trunk.

	commit 01e58adce0767f1a484d80fcbcf67c7945cbc146
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 7 12:43:57 2010 +0000

	    * Store position info for inherited attributes.

	commit 83d7b89660ebb942ad844b9be260492b2ea9fb24
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 7 12:33:14 2010 +0000

	    * Updated addErrorContext.

	commit e2d5e40f4fdd98e5d2ad7b77c00fb97caa3aa259
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 7 12:11:05 2010 +0000

	    * Keep track of the source positions of attributes.

	commit 84ce7ac76feab6e9a5c074bd1b9550ae543d1db8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 6 16:46:48 2010 +0000

	    * Store attribute positions in the AST and report duplicate attribute
	      errors with position info.
	    * For all positions, use the position of the first character of the
	      first token, rather than the last character of the first token plus
	      one.

	commit 4750065ada362bd46e85879975a3148e18df5b0c
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed May 5 20:46:41 2010 +0000

	    buildenv: Special-case Python's `site.py' and `site.pyc'.

	    * corepkgs/buildenv/builder.pl.in (createLinks): Skip `site.py' and
	      `site.pyc' files.

	commit a0e3b84fac56cad6377ecd1462058a6b29bb1ea8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 12:42:58 2010 +0000

	    * Revert r15436.  This was a workaround for a bug in btrfs which seems
	      to have been fixed now.

	commit f92c9a0ac585d30e245c6667cbce4b035659cb11
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 10:45:10 2010 +0000

	    * Allow unprivileged users to do `nix-store --clear-failed-paths' and
	      `nix-store --query-failed-paths'.

	commit 4bab25a28d32f0551ac20b8b9b33e79af5decf0a
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Mon May 3 13:13:38 2010 +0000

	    buildenv: Special-case Python's `easy-install.pth' files.

	    * corepkgs/buildenv/builder.pl.in (createLinks): Skip `easy-install.pth'
	      files.  Comment the hack.

	commit 7fa338f4bac16f83b65b95fb0397b534d5ba5d5b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 2 21:27:50 2010 +0000

	    * Don't use smart quotes where normal ASCII quotes are intended.
	      Actually, don't use quotes at all.  (Reported by Howard B. Golden.)

	commit c82782f9a5190c7489fb8e9bd6876b247b0de0bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 27 09:05:11 2010 +0000

	commit c778ed17687a506c46c107a7adb1f3173d8136da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 13:39:55 2010 +0000

	    * Fix the copy-from-other-stores substituter.

	commit ef337f7089e484929be92114dac5455d00cebb45
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 12:58:12 2010 +0000

	commit 6199f9b93ee234139906792c8c1b4908a35df146
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 12:56:42 2010 +0000

	    * Added a command `nix-store --clear-failed-paths <PATHS>' to clear
	      the "failed" status of the given store paths.  The special value `*'
	      clears all failed paths.

	commit 2398af13c53217b5de5821bac0f0c44e9081c23d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 12:43:42 2010 +0000

	    * Add an command `nix-store --query-failed-paths' to list the cached
	      failed paths (when using the `build-cache-failure' option).

	commit d77331d32f33cc17398d3e1422d0114309ef62de
	Author: Lluís Batlle i Rossell <viric@vicerveza.homeunix.net>
	Date:   Sun Apr 25 20:52:49 2010 +0000

	    Fixing a typo in the nix-store manual, that could confuse a bit too much (--delete/--gc)

	commit 2be6118f4c7e909f36d5563ad0ea70780f30cc10
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 23 09:09:32 2010 +0000

	    * Don't need the test program anymore.

	commit 0bc468f195e37a8a5f4f8b36ae6c92459e8ca652
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 15:08:09 2010 +0000

	    * Simplify the implementation of `with'.  This gives a 7% speedup in
	      evaluating the NixOS system configuration.

	commit ee0384fb966b7a9bd202fa6fb447788be30c4ce4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 11:34:15 2010 +0000

	commit ebade9ff8b8557bdae7cdaf9f70c12ceeb3dc02c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 11:02:24 2010 +0000

	    * Check for duplicate attribute names / function arguments.  `make
	      check' now succeeds :-)
	    * An attribute set such as `{ foo = { enable = true; };
	      foo.port = 23; }' now parses.  It was previously rejected, but I'm
	      too lazy to implement the check.  (The only reason to reject it is
	      that the reverse, `{ foo.port = 23; foo = { enable = true; }; }', is
	      rejected, which is kind of ugly.)

	commit 2d7636529f782b552b634497fd8ac876aae72fcc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 09:54:11 2010 +0000

	    * String equality tests should take the context into account.  All the
	      evaluation test cases now succeed.

	commit 6bbfe95e3012effa0df79066ae129ce9828a8ff2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 19:25:50 2010 +0000

	    * Don't use an ostringstream in unparseDerivation(), because it's
	      slow.  A `nix-env -qa --drv-path \*' on Nixpkgs was spending 40% of
	      its time in unparseDerivation() because of this (now 11%).

	commit 7148df797174ff742fdd8cee3c2d92e6340ee930
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 16:22:03 2010 +0000

	    * Update the expected test output (no longer an ATerm).

	commit 6f0f16497a8ce671c2aa9ff3cd9a27eb1f931cf2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 16:18:27 2010 +0000

	    * Fix the interpretation of ''\<character> in indented strings.

	commit cae4efdca3a207b97244aef96161ad2974ec4e50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 16:02:12 2010 +0000

	    * Because --parse-only no longer produces an ATerm, don't check the
	      output.  Whether it parses at all should be enough.

	commit 0777448ca68175b6daf3d8f5374cf43523828c47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 15:57:11 2010 +0000

	    * Fixed builtins.genericClosure.

	commit fe2d869e04372de69719c3989a75247ff44b8fd4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 15:08:58 2010 +0000

	    * Store user environment manifests as a Nix expression in
	      $out/manifest.nix rather than as an ATerm.

	      (Hm, I thought I committed this two days ago...)

	commit d66ea83a763a36e7e7b9558b90abcfe09bec1b85
	Merge: f71ea9c aac5fcf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 20 09:20:29 2010 +0000

	    * Sync with the trunk.

	commit f3b8833a48472c3545ea8673d687ea9cadcedd61
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 19 14:51:58 2010 +0000

	    * Drop the dependency on the ATerm library.

	commit efc7a579e880ec15ebe9afc0d8766c85c7d53ec2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 19 13:46:58 2010 +0000

	    * Don't use the ATerm library for parsing/printing .drv files.

	commit 55b5ddd3ca1ff4dfe4cfbfab92a4025d88ef6443
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 19 12:10:04 2010 +0000

	    * Added parsing of manifests in ATerm format.

	commit b7ff69eb7c3f97c33ec18c51ab87b7f3dd967052
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 19 10:47:56 2010 +0000

	    * Refactoring: move the user environment stuff into its own module.

	commit 5c31995bb8adb9189152ebd4f3c41ca9e8049749
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 16 15:13:47 2010 +0000

	    * Updated some more primops.

	commit 8bb0210fea89f2df70b3c10c431b1383e74093df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 16 14:07:52 2010 +0000

	    * _combineChannels shouldn't be an integer.

	commit 8ca4a001cb9e8ca2556c26a1b559b0322a8fb46a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 16 14:03:26 2010 +0000

	    * Improve sharing a bit.

	commit 497e4ad12650e27ecbaf0e056fe0c54bc12a138b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 16 13:51:01 2010 +0000

	    * Remove some redundant tests.

	commit 02c1dac90934e1b833c4d6bd9280bda27c146d80
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 16 13:44:02 2010 +0000

	    * In an nested `with' where the inner with is a variable (`with ...;
	      with someVar; ...'), the contents of the variable would be
	      clobbered.  (The attributes in the outer `with' were added to the
	      variable.)

	commit 04c4bd3624b094043ff0f2410c1e376a51f457f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 15 00:37:36 2010 +0000

	    * Store lists as lists of pointers to values rather than as lists of
	      values.  This improves sharing and gives another speed up.
	      Evaluation of the NixOS system attribute is now almost 7 times
	      faster than the old evaluator.

	commit e41b5828db0c154e4a3f0ed6299a987fde5bc03f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 23:48:46 2010 +0000

	    * Better stats.

	commit d39d3c6264707c466b21dfadd4d48653842a9156
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 23:25:05 2010 +0000

	    * Implemented inherit.

	commit 267dc693d2ca8dea13199f92c265fc35fdb047f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 22:59:39 2010 +0000

	    * Fix builtins.

	commit 81de12bc8fa09a89dae958a3ffc93e7a4c245db1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 15:14:23 2010 +0000

	    * Refactoring: move variable uses to a separate class.

	commit 110d1557782fac4f8cafa27e5cbbcdebefb7a4c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 15:01:04 2010 +0000

	    * Implemented withs.

	commit 9985230c00226826949473c3862c0c3afea74aaf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 14:42:32 2010 +0000

	    * After parsing, compute level/displacement pairs for each variable
	      use site, allowing environments to be stores as vectors of values
	      rather than maps.  This should speed up evaluation and reduce the
	      number of allocations.

	commit 816dd3f0612111718c338842283c1ee6577b9f0a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 12:49:05 2010 +0000

	    * Remove more obsolete code.

	commit 011b5da0f46e9796fc68bc5daf5fe4dd4b57f933
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 09:39:06 2010 +0000

	    * Get nix-env to compile again.

	commit 85d13c8f93c8b251f5883d9b38051b33bab1ad3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 08:37:08 2010 +0000

	    * Change the semantics of "with" so that inner "withs" take
	      precedence, i.e. `with {x=1;}; with {x=2;}; x' evaluates to 2'.
	      This has a simpler implementation and seems more natural.  There
	      doesn't seem to be any code in Nixpkgs or NixOS that relies on the
	      old behaviour.

	commit 816f9c0f6fae0229961bb573dfa0f75ff42c14eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 13 14:34:11 2010 +0000

	    * Use std::tr1::unordered_set instead of std::set for the symbol
	      table.  This gives a 10% speed increase on `nix-instantiate
	      /etc/nixos/nixos -A system --readonly-mode'.

	commit 7d47498b5ea1ad4685bad954e5407f628f7f5595
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 13 13:42:25 2010 +0000

	    * Evaluate lets directly (i.e. without desugaring to `rec { attrs...;
	      <let-body> = e; }.<let-body>).  This prevents the unnecessary
	      allocation of an attribute set.

	commit ac1e8f40d4a5c380d68bb6f1c7cef6f1e7987c1a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 13 12:25:42 2010 +0000

	    * Use a symbol table to represent identifiers and attribute names
	      efficiently.  The symbol table ensures that there is only one copy
	      of each symbol, thus allowing symbols to be compared efficiently
	      using a pointer equality test.

	commit 10e8b1fd15d59dc541c15f6da56f8baf58eb3aa3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 23:33:23 2010 +0000

	    * Finished the ATerm-less parser.

	commit 0d272fca799f7e6da955875b2935c19542cd6b4d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 23:31:47 2010 +0000

	    * Remove some obsolete functions.

	commit d4f0b0fc6cdb9ae2fd5fc057d621bc80b36a7b18
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 22:03:27 2010 +0000

	    * Indented strings.

	commit a60317f20fbc8be8e339060d932946f6d99ece6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 21:21:24 2010 +0000

	    * More missing constructs.

	commit 4d6ad5be1738c64b1de4274cafbd4b8f23ca287c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 18:30:11 2010 +0000

	    * Don't use ATerms for the abstract syntax trees anymore.  Not
	      finished yet.

	commit ed711f73bce8786b1a37bd718eb97276d0916484
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 10:38:18 2010 +0000

	    * Don't use ATerms to represent integers in the lexer.

	commit db90b88e655a0d8e501beddee966a124b2f097d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 09:50:20 2010 +0000

	    * Hack to support builderDefs expressions.

	commit 4e490025767093e287a8b7b01de52fee7ae36830
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 09:45:00 2010 +0000

	    * Doh.

	commit c3f228f296321991ef54e46fc621a292824b13e1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 12 09:14:27 2010 +0000

	commit aac5fcfbb54ff64c593d8919f7f52025415ea996
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Fri Apr 9 21:30:55 2010 +0000

	    Re-add `drvPath' and `outPath' attributes to <derivation> XML nodes.

	    This fixes a regression introduced in r20882 ("Add source location
	    information to the XML output.").

	    * src/libexpr/expr-to-xml.cc (nix::printTermAsXML): Dereference the
	      attribute RHS from "drvPath" and "outPath".

	commit f3dc7ab877c736ec1500f6b503ab71a62ce90305
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 9 12:00:49 2010 +0000

	    * Keep more statistics about stack space usage.
	    * Reduce stack space usage.

	commit b7b3dd55f9e30e2eccb54aca22830852c5c2b514
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 8 11:41:19 2010 +0000

	    * Remove a lot of dead code.

	commit 7e048eddf55637b9e81d704f6b9f1fdeca98a5ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 8 11:25:14 2010 +0000

	    * Fix blackholing.  If evaluation fails due to an assertion failure,
	      then the blackhole has to be removed to ensure that repeated
	      evaluation of the same value gives an assertion failure again rather
	      than an "infinite recursion" error.

	commit af2a372bb000d4d5aeec37e43ee0f6245c1bba54
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 7 15:47:06 2010 +0000

	    * Update autoCallFunction() and findAlongAttrPath().

	commit 9a64454faae2ab4ccedeeaad85a0e094726b4765
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 7 13:59:45 2010 +0000

	    * expr-to-xml -> value-to-xml.

	commit fc92244ba81d884e099d467a3b82fbdcbff7fc40
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 7 13:55:46 2010 +0000

	    * Implemented the primops necessary for generating the NixOS manual.

	commit a353aef0b157e7c628fd18640bd6c45215f3e606
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 6 14:15:29 2010 +0000

	    * In eval(), don't use the target value `v' as a temporary.
	      Overwriting `v' breaks when the expression evaluation to an
	      assertion failure or throw.

	commit a5ece7d016e72a61ca69a401e833314f538518f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 1 16:59:07 2010 +0000

	    * Removed the `~' operator.

	commit c172274e170a87a30420842ee07ed1f7226d7f2e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 1 14:35:03 2010 +0000

	    * Quick hack to make coerceToString work more or less correctly on
	      nested lists.  `nix-instantiate' can now evaluate the NixOS system
	      derivation attribute correctly (in 2.1s on my laptop vs. 6.2s for
	      the trunk).

	commit 7b851915bfbad1c561191a037a2924d2b3d2d398
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 1 12:04:57 2010 +0000

	    * Improve sharing.

	commit 95cc417d76f7d374ef63e0b49a2f83e7b9202b0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 1 10:55:36 2010 +0000

	    * Functions are incomparable.

	commit 71f026292ba1b401237a16ab6e0fb57c36c93df5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 1 09:55:57 2010 +0000

	    * Make `derivation' lazy again for performance.  It also turns out
	      that there are some places in Nixpkgs (php_configurable /
	      composableDerivation, it seems) that call `derivation' with
	      incorrect arguments (namely, the `name' attribute missing) but get
	      away with it because of laziness.

	commit dc31305b381f69de5ac5fd4776df1a802045ff00
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 20:09:20 2010 +0000

	    * Fixed the trace primop and path comparison.
	    * Removed exprToString and stringToExpr because there is no ATerm
	      representation to work on anymore (and exposing the internals of the
	      evaluator like this is not a good idea anyway).

	commit 979f163615745db74f3a94a71818e66c75baf9ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 19:52:29 2010 +0000

	    * Handle string contexts.  `nix-instantiate' can now correctly compute
	      the `firefoxWrapper' attribute in Nixpkgs, and it's about 3 times
	      faster than the trunk :-)

	commit d8cd3115d8e1acc9e866c67265668d5268f2c1ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 19:12:08 2010 +0000

	    * Get nix-env to compile.

	commit 55e207b2dc43e426bd0dfbc2065b8853a1fc59b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 16:14:32 2010 +0000

	    * Cache parse trees to prevent repeated parsing of imported Nix
	      expressions.

	commit 3d94be61ea562dea2098b6570f711386179913ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 15:38:03 2010 +0000

	    * Implemented derivations.

	commit 51876789131e81dca9807c00773158160c3824c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 15:14:23 2010 +0000

	commit f061086a93400c34f19eb54f0b34637af9f0d9cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 13:35:29 2010 +0000

	    * Fix the broken test for listToAttrs.

	commit 09381cccffe675ccbc8d183f043788f99dc018cd
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Mar 31 12:38:31 2010 +0000

	    Make source location info in the XML output optional.

	    * src/libexpr/expr-to-xml.cc (nix::showAttrs): Add `location'
	      parameter.  Provide location XML attributes when it's true.  Update
	      callers.
	      (nix::printTermAsXML): Likewise.

	    * src/libexpr/expr-to-xml.hh (nix::printTermAsXML): Update prototype;
	      have `location' default to `false'.

	    * src/nix-instantiate/nix-instantiate.cc (printResult, processExpr): Add
	      `location' parameter; update callers.
	      (run): Add support for `--no-location'.

	    * src/nix-instantiate/help.txt: Update accordingly.

	    * tests/lang.sh: Invoke `nix-instantiate' with `--no-location' for the
	      XML tests.

	    * tests/lang/eval-okay-toxml.exp, tests/lang/eval-okay-to-xml.nix: New
	      files.

	commit 13c2adc897b7f18e9a7784efbd46fabd995d2798
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 11:05:39 2010 +0000

	    * Implemented `rec { inherit ...; }'.

	commit 4c53ca2692f0a1325ec2d085ac3a6ee313b3cdb2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 31 09:54:12 2010 +0000

	    * Compare nulls.

	commit 471419d1fac21412dea9a47eff200d44cd75d825
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Mar 31 08:29:05 2010 +0000

	    Add source location information to the XML output.

	    * src/libexpr/expr-to-xml.cc (nix::showAttrs): Dereference the attribute
	      RHS.  Add "path", "line", and "column" XML attributes to the node when
	      source location information is available.
	      (nix::printTermAsXML): Likewise for functions.

	commit eb07a4f1ee532833407b40a9992bfe65c8a4d1d2
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Mar 31 08:29:01 2010 +0000

	    Escape `>' signs in the XML output.

	    * src/libutil/xml-writer.cc (nix::XMLWriter::writeAttrs): Escape `>'.

	commit 7f19e03c65693ae6a5eefc7e681b3003676d38eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 22:39:48 2010 +0000

	    * More primops.

	commit 47df476daa568af9f645b6a039c028e602a7e44b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 18:05:54 2010 +0000

	    * More operators / primops.

	commit c9170be2bd2e735b37db7e7b4ccaca86835cb5c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 15:18:20 2010 +0000

	    * More primops.

	commit c3aa615a5f4a8bdde5d836ce91d5daa743ded065
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 14:39:27 2010 +0000

	    * More primops.

	commit 5b72d8a749e6718986f6e2bfef2ae725981a26ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 13:47:59 2010 +0000

	    * Implemented `map'.

	commit d78a05ab4014d75fd1e394961376f02cff20ed88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 09:22:33 2010 +0000

	    * Make `import' work.

	commit 31428c3a0675f7223470af726bc697dc7a228927
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 29 14:37:56 2010 +0000

	    * Started integrating the new evaluator.

	commit 52090d24185f5092bfd5f8f1fdf0d0890e19a09d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 29 10:13:51 2010 +0000

	commit e3f32ac5af69641d12ad07a52f3ab495f61938f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 29 09:43:55 2010 +0000

	commit 807a67bc7430f13e23f28d70780da0e9090e5cf2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 29 09:43:39 2010 +0000

	commit 392811eb8fb8125a6ae9661d5a0fb2a8ced31a94
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 18:27:07 2010 +0000

	    * Strings.

	commit d96cdcea6b910b9ca169bea0b0b71e65532e70cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 16:57:16 2010 +0000

	commit 3d2b835f30bf97f2e9ac8a76c4e19be384803219
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 16:37:39 2010 +0000

	    * Implemented multi-argument primops.

	commit 45d822f29c84644d1b795bd36999e97f30cfb8ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 26 15:45:53 2010 +0000

	    * Primops (not yet finished).

	commit cad8726b2c7fcefae6b629320283b0f1ee4072a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 26 13:27:26 2010 +0000

	    * Implemented the `==' and `!=' operators.  These now use a deep
	      equality test, so they also work for (finite) attribute sets and
	      lists.

	commit 8da118e4d03a9ecbd2116eadabd992cfef0479c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 16:35:24 2010 +0000

	    * Measure stack usage.

	commit c2ba4313fb7f2e257f6205eb3fa366376c3010b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 15:38:37 2010 +0000

	    * Implemented lists.

	commit 25eedf085d9b3a1ad7d0e6969b050a2f73234ae3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 14:51:04 2010 +0000

	    * Quick and dirty implementation of `with'.  `with e1; e2' is
	      basically desugared to `let <with> = e1; e2', and `lookupVar' looks
	      in each <with> in the environment chain for an attribute with the
	      specified name.

	commit 3c9f8fc9b609b13986a1d59d08a7a79ad42d0bd5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 13:10:04 2010 +0000

	    * Don't convert variable names to strings.

	commit f450384ded92cb68cf4b60b5bd9be64556aff339
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 12:51:14 2010 +0000

	    * Implement blackholing.

	commit ef8bd919fc8e895df402502ffb1727bad0db07b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 12:45:23 2010 +0000

	    * Implement `...' and default function arguments.

	commit 8a10360c912bc344ea9ce7f8871a47a6e036552f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 25 12:19:41 2010 +0000

	    * Simplify @-patterns: only `{attrs}@name' or `name@{attrs}' are now
	      allowed.  So `name1@name2', `{attrs1}@{attrs2}' and so on are now no
	      longer legal.  This is no big loss because they were not useful
	      anyway.

	      This also changes the output of builtins.toXML for @-patterns
	      slightly.

	commit 7482349fe8ba9f285f6c7e53d8573fc367ecff8b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 24 23:40:00 2010 +0000

	    * Implemented attribute set pattern matches.

	commit 0fd3648d34b3ce52d4b55c7d7aedcc81ae32754d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 24 12:41:08 2010 +0000

	    * Store values in environments.

	commit b70bd8fe566a40f3b7c1b4dd96a7d5032d6da9c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 24 12:11:38 2010 +0000

	    * Reduce the number of value allocations in eval() by moving
	      responsibility for allocation of the result to the caller.

	commit d31c59eb17d181082c955391f4e83a2cff1850a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 24 11:06:05 2010 +0000

	    * Plain lambdas.

	commit e8f7978274708a8e0c29903910f4942da955c926
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 19:19:52 2010 +0000

	commit 0910ae95680011915211769577a4219384b695af
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 17:30:50 2010 +0000

	    * Start of an evaluator that uses call-by-need (with thunk updating)
	      instead of (memoised) call-by-name.

	commit 90039e0863469da7892830b122ccab017b29e2c8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 15:09:29 2010 +0000

	    * Branch for experimenting with faster / less memory-hungry
	      Nix expression evaluation.

	commit 71be50cc25544f742db2275b4621b92c4e938400
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 14:51:32 2010 +0000

	    * Doh.

	commit 3bfd3a4e9511e16d8a826cb271fc95acc2fb9845
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 14:26:27 2010 +0000

	    * Test "with as; with bs;" since nobody knows what its semantics is.

	commit f71ea9c911294ec72f52137175ad088a2f50ab97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 23 10:38:59 2010 +0000

	    * Use SQLite 3.6.23.

	commit 141294ff38fb3623ae24c2d47cf0c3180cc363d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 19 11:36:34 2010 +0000

	    * Clean up error messages in killUser().

	commit 74299c1cfb770fee1860e62701cd093faffa0119
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 17 12:12:45 2010 +0000

	    * Bump version number.

	commit c4cfb392d381dd68122d0fcbba71e192d0d11690
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 17 10:08:34 2010 +0000

	commit 8e3d98eb41ab0516814fa34cba6198d2472bdd3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 16 13:12:18 2010 +0000

	    * Release notes for Nix 0.15.

	commit f0c473c5f70b8d6dc072da3d6d53a898766546a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 16 13:01:52 2010 +0000

	    * Fix building on Cygwin (http://hydra.nixos.org/build/325071).

	commit fe1b8781ae310bfa6baea80ed475b6c3ae00d991
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 16 12:58:20 2010 +0000

	    * Fix a broken link (reported by Peter Koppstein).

	commit 741b7577c14911fed71b6d52d8d90e88ef2e05ef
	Author: Nicolas Pierron <nicolas.b.pierron@gmail.com>
	Date:   Sun Mar 14 11:58:07 2010 +0000

	    Merge r20344 & r20346.

	commit 2fb0df83e960d6b39dd43b47cc6168cad3732746
	Author: Lluís Batlle i Rossell <viric@vicerveza.homeunix.net>
	Date:   Thu Mar 11 21:22:52 2010 +0000

	    Uh. somehow a Makefile tab got in as spaces. Fixing.

	commit 13cce8ec45fd59bd8a1f1101a92576796cba97d2
	Author: Lluís Batlle i Rossell <viric@vicerveza.homeunix.net>
	Date:   Thu Mar 11 20:56:25 2010 +0000

	    Making 'bin2c' to be built with the compiler for the local system.
	    I copied the configure.ac code about CC_FOR_BUILD from libX11.

	commit e020d80e4e7b9c8850fbee378e7bd2118a351a50
	Merge: 070057c 05e1504
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 11 15:45:05 2010 +0000

	    * Sync with the trunk.

	commit 05e15049a5f42ca7222c7557d7257352fe711d2e
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Mar 11 14:47:04 2010 +0000

	    Show the build user's group in /etc/group in chroots.

	    * src/libstore/build.cc (nix::DerivationGoal::startBuilder): Create
	      /etc/group showing the build user's group.

	commit 070057c1b9335ef2c5ff0fe12adb76e214f945ba
	Merge: 03afc34 c752c9f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 11 10:52:52 2010 +0000

	    * Sync with the trunk.

	commit c752c9f41aa88ff2129cdc0863fe74f76328835c
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Mar 11 10:33:04 2010 +0000

	    Fix thinko in r20547.

	    * src/libstore/build.cc (nix::DerivationGoal::startBuilder): Fix the GID
	      of the build user in /etc/passwd.

	commit 2e8eaca573ccda707ff42c136a6f38a34f2975b4
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Mar 11 10:21:23 2010 +0000

	    Clear supplementary groups of `nixbld' in /etc/passwd in chroots.

	    * src/libstore/build.cc (nix::DerivationGoal::startBuilder): Don't
	      display any supplementary groups for `nixbld' in /etc/passwd.

	commit 03afc34805c0dbd5f354b823cb8391fed99c6539
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 10 13:07:37 2010 +0000

	    * Simplify.

	commit 1a65142ec40c92b2df9973a1fc8d948e146e05d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 10 12:46:25 2010 +0000

	    * Remove a debug statement.

	commit 4c356acd044dffbf459ac895b483b49959042931
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 9 14:32:03 2010 +0000

	    * In `nix-store --export', abort if the contents of a path has
	      changed.  This prevents corrupt paths from spreading to other
	      machines.  Note that checking the hash is cheap because we're
	      hashing anyway (because of the --sign feature).

	commit 44f6e6de77dd318800775d594b1f33cffa2be9a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 8 21:31:42 2010 +0000

	    * Set `gc-keep-outputs' or `gc-keep-derivations' to false with
	      `--delete --ignore-liveness'.

	commit 2e4ef03aa3247782339f3d5af8547b448d38b8d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 8 10:35:45 2010 +0000

	    * Increase the sqlite timeout.

	commit 05fbf61f0e4f2670d23929235e2da5342599d447
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 5 18:26:47 2010 +0000

	    * nix-prefetch-url depends on sed (see
	      http://hydra.nixos.org/build/311170).

	commit 04791840f4dd4d6bcc96aea133e9fda7c03897de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 5 12:54:58 2010 +0000

	    * Emit warning='1' or error='1' attributes for lines marked as
	      warnings or errors with \e[w or \e[e.

	commit bc6f7fc139b5a72306a54c89db74bf126cca9ca7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 4 13:03:26 2010 +0000

	    * Remove some unused functions.

	commit fb6e223ddce9b7ff157c5b89569a54562e9eabd1
	Merge: 5ff87c9 84a4dd5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 4 12:15:00 2010 +0000

	    * Synced with the trunk.

	commit 5ff87c982e913d14adeba1c4ee833738a6b58293
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 3 16:17:09 2010 +0000

	commit e14e2399ed5b1ffc30f08d1f30f19d2ceb24dabb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 20:23:42 2010 +0000

	    * Prevent a potential memory corruption problem if an ATerm garbage
	      collection happens during fixAttrs().

	commit 158aa8931776c61e19cec62e7cea7c45961fdcc7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 20:22:46 2010 +0000

	    * Ensure that `make install' works without a prior `make'.

	commit 56af8e86e3e00d8417838f582221e60e1d5f5fdb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 20:09:12 2010 +0000

	    * Protect the `true', `false' and `__overrides' constants.  Without
	      an ATprotect call, these could be garbage collected, leading to
	      weird crashes or wrong results.

	commit 3f9e647ae8c4928a8fc4de0d704119245f58ff45
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 19:04:17 2010 +0000

	    * checkInterrupt() shouldn't be called from a destructor.

	commit d8c5745c41de1a1217cfeac2d4af85146cb87e0f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 17:12:47 2010 +0000

	    * Support static builds.

	commit e07d7284a221a11ceda340dea80ed392e0a8a381
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 16:55:07 2010 +0000

	    * Fix DESTDIR builds.

	commit 5414b3b2dbb539a5d1f3cd48c59178ff1bb3aa08
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 16:40:40 2010 +0000

	    * Remove the --enable-static-nix flag.

	commit 594eaddd1157db8abe2e1c47cdf2180f027559ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 2 15:58:13 2010 +0000

	    * When using the included sqlite/aterm libraries, build with
	      --enable-shared.
	    * In libutil/libstore/libexpr etc., link against sqlite and aterm.
	    * Some more header file hygiene.

	commit 966ffb29a7a7de00f3521da05f325ae8c7e8e35e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 26 13:10:57 2010 +0000

	    * Update the Valgrind suppressions for ATerm 2.5.

	commit 24035b98b155dd2d35414bdf015b3d7ab9a57af7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 26 12:05:01 2010 +0000

	    * Implement RemoteStore::queryValidPaths().

	commit e42401ee7b0c0b166677595d4fd1255176ba33c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 25 15:52:22 2010 +0000

	    * Implement RemoteStore::queryDerivationOutputs().

	commit af565c348a286fb55ad17f8c3c4233465d32a9f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 16:44:43 2010 +0000

	    * Support read-only access to the database.

	commit e33f67ff0b02cc8fc2e0024dd87a6d61467df177
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 16:30:20 2010 +0000

	    * Refactor the upgrade / database initialisation logic a bit.

	commit 84a4dd5ff08ceb7894d8dce662265d7d188e615c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 15:46:06 2010 +0000

	    * Don't use fdatasync since it doesn't work on Snow Leopard.
	    * Don't refer to config.h in util.hh, because config.h is not
	      installed (http://hydra.nixos.org/build/303053).

	commit cfe742cfc50e40b590e75200179013dd62b07bde
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 15:07:23 2010 +0000

	    * A function to query just the database id of a valid path.

	commit 6baa2a2f5ef5b11859b95f453338efaf7c5b2724
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 14:39:52 2010 +0000

	commit 9fd85c94de90ec91ccf8a4bf04e8911e6e3e483b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 14:22:34 2010 +0000

	    * Use `truncate' journal mode, which should be a bit faster.

	commit fefd467539683e45e3682a54cefc67ead33eb346
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 13:24:27 2010 +0000

	    * `helpText' is now zero-terminated.

	commit 21b134b4e5d150690bc56ede1da3790705d637aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 13:13:39 2010 +0000

	commit a3c63d0d6c2570ce3218be809f67dddc5239cdff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 13:12:57 2010 +0000

	    * Disable fsync() in SQLite if the fsync-metadata option is set to
	      false.
	    * Change the default for `fsync-metadata' to true.
	    * Disable `fsync-metadata' in `make check'.

	commit 90b6352d0a5d08dc7feabcfde92653dd1f6e324b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 12:48:00 2010 +0000

	    * Do registerValidPaths() in one transaction, which is much faster.
	      E.g. it cuts the runtime of the referrers test from 50s to 23s.

	commit fae0427324269e420d8ea5774f2fab2330acda9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 12:25:48 2010 +0000

	    * ADDITIONAL_NETWORK_LIBS -> LIBS.

	commit fa6a4fcb11fa6db1c35cd1199ce8d1dc794e6cd4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 12:18:48 2010 +0000

	    * Add ${sqlite_lib} everywhere.  Just adding it in `libstore' doesn't
	      work on x86_64 when sqlite is compiled statically.

	commit 5954eadf6741e0b4cdab23c414d7a6b470cd06db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 12:16:50 2010 +0000

	    * Remove the fdatasync check since it's no longer needed.

	commit bb82310dba8a70b539122db20712fbd8fd9e840e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 11:06:17 2010 +0000

	    * Set the path to sqlite3 properly.

	commit 69d9df7fe6a0c4043e6f913137b5322bc5c48073
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 11:04:03 2010 +0000

	    * Don't fork so much.

	commit 462bd50aefca3d70e76ccf17f42c2aef4714c95b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 10:57:57 2010 +0000

	    * Use normal (rather than full) synchronous mode, which I gather from
	      the description at http://www.sqlite.org/atomiccommit.html should be
	      safe enough.

	commit 8520de4720a798701a41b6ab3e6cf8d6cc71caa3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 24 10:48:57 2010 +0000

	    * Include the sqlite tarball in the Nix tarball.

	commit dc6d1ec67ea7af4e509c171852620befb9184441
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 23:24:49 2010 +0000

	commit 63b09c5e414f9592f52d4f3a19185df6f8c00e42
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 22:31:38 2010 +0000

	commit 0efc986ba1c0de97fd0bdb97db2ca6b7a77ee7d4
	Merge: b4e6d98 7db2831
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 22:14:33 2010 +0000

	    * Sync with the trunk.

	commit b4e6d98fc33df055c8230903bb7d9633042a6374
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 22:12:46 2010 +0000

	    * configure: flag --with-sqlite.

	commit 7db2831d3a76bc239bb7a9f7573152ce12413c29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 16:17:21 2010 +0000

	    * Use ATerm 2.5.

	commit 5ccb6f64f44671a01d457bcd3afd863055347363
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 23 12:26:35 2010 +0000

	    * Run ATerm's `make check'.

	commit 2b20318b0e968432438a7528b2d11d05585877c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 22 14:24:37 2010 +0000

	commit 9cda61694957f2f0428779319f85f626578d0cf0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 22 14:18:55 2010 +0000

	    * The database needs a trigger to get rid of self-references to
	      prevent a foreign key constraint violation on the Refs table when
	      deleting a path.

	commit c4d388add4942f6f99a8df12f4e49149005047e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 22 12:44:36 2010 +0000

	    * Get derivation outputs from the database instead of the .drv file,
	      which requires more I/O.

	commit 103cfee056cbc8f002929fd5958e305c1a75fe45
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 22 11:44:17 2010 +0000

	    * Revert r19650 (implement gc-keep-outputs by looking for derivations
	      with the same name as the output) and instead use the
	      DerivationOutputs table in the database, which is the correct way to
	      to do things.

	commit 299ff64812ce166d230f1b630f794be226c7a178
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 22 11:15:50 2010 +0000

	    * Put the derivation outputs in the database.  This is useful for the
	      garbage collector.

	commit 1930570ad96e47de9e8557a7734c7bfd9f36f942
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 19 17:15:22 2010 +0000

	    * Foreign key support in SQLite is not a persistent setting, so enable
	      it at startup.
	    * Implement negative caching.  Now `make check' passes.

	commit 9c9a88e9e25bdc4456368a40691e61acf5d3b330
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 19 16:43:25 2010 +0000

	    * Implement more stuff.

	commit 762cee72ccd860e72c7b639a1dd542ac0f298bb2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 19 16:04:51 2010 +0000

	    * Implement registerValidPath().

	commit 268f9aaf286294c05f34be338ac4ec75e20d1442
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 16:51:27 2010 +0000

	    * Implemented queryValidPaths() and verifyStore().

	commit 836e5b6f5741c845da08490a6fd8ad9a3f37726e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 16:21:59 2010 +0000

	    * Implemented queryReferrers().

	commit 77cb9e3fb19005a40724cb42773d2b11e2528858
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 15:52:57 2010 +0000

	    * Implement queryPathInfo().

	commit 885e22b16e3a6ea2a94014d33de31d756fa32eda
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 15:11:08 2010 +0000

	    * Implement isValidPath().

	commit cfb09e0fadf7db240f4f8c35c35c13b192456b89
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 14:40:07 2010 +0000

	    * Automatically abort transactions if they go out of scope without
	      committing.

	commit e0305bb7a8b24fe1ea8b36cc2e5fe77ab151ae2f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 14:30:42 2010 +0000

	    * Some wrapper objects to ensure that SQLite objects are properly
	      destroyed.

	commit a053d2d8e53f2967c64ab2b204727e4c27f06c0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 13:48:18 2010 +0000

	    * Add the deriver to the ValidPaths table.  In principle we could now
	      store all the derivers of a path efficiently.  But that opens a big
	      can of worms with respect to garbage collector semantics.

	commit dbddac0fe91072b402ccb3801c952e3159f0cba4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 13:40:46 2010 +0000

	    * Assign an integer id to every row in the ValidPaths table in order
	      to make the Refs table more space-efficient.  For instance, this
	      reduces the size of the database on my laptop from 93 MiB to 18
	      MiB.  (It was 72 MiB with the old schema on an ext3 disk with a 1
	      KiB block size.)

	commit c1a07f94451cfa93aa9ac986188d0e9a536e4b9f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 13:16:59 2010 +0000

	    * Convert the Nix database to SQLite.

	commit eaaa13ce475687ac0d0e2d3c22c7de73a9a83a49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 18 13:14:51 2010 +0000

	    * Experimental branch for using SQLite to store the Nix database.

	commit 68e55cd9da7902ac8c8859507657cb013e234da4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 16 00:10:39 2010 +0000

	    * Since Hydra now escapes `+', `=' and `?' to %NN in URIs,
	      nix-prefetch-url should unescape them, because `%' is not a valid
	      character in store path names.

	commit 3b3e1025c3d94dacb4c19c89f02e6a8684f93e58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 12 10:50:30 2010 +0000

	    * Typo.  Reported by Peter Koppstein.

	commit 20186a40791f662696857720d414dd7cd2ace8a2
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Feb 10 15:55:50 2010 +0000

	    Don't rely on `PATH_MAX' on GNU.

	commit d0bf4adb1f8c72640c9e80dee30f96e173dfab87
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Wed Feb 10 15:55:46 2010 +0000

	    Add `.gitignore'.

	commit e08dbff9a891ad2ba29c65612780f2a6c7e88750
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 5 10:17:13 2010 +0000

	    * Fix a broken link (reported by Bjorn Buckwalter).

	commit e1e91a37316b97627705864cb4828c17b2e2bfce
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 15:46:04 2010 +0000

	    * Bump.

	commit 817f4f7908c4f4a77a9bcd05aeef1b600a115300
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 14:43:43 2010 +0000

	    * Grmbl. Timing-sensitive tests are evil.

	commit f36b7e7579a72d145ce84a654c5d95a315bb6115
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 14:00:47 2010 +0000

	commit 719cebcac2e31e6c9e4f747ae35b8e6800952e0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 09:38:09 2010 +0000

	    * "Fix" incorrect help message.

	commit 443673620d908cb35c569c929701ba6b4c9dfc69
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 02:38:40 2010 +0000

	    * Don't use ssh's -f flag since it leads to lots of lingering ssh
	      processes.

	commit 7ec5a659252148ad87191108622e9ab7e9712605
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 02:18:29 2010 +0000

	    * Doh!  The scope of $slotLock should extend to the end of the script,
	      because otherwise the lock will be released at the end of the while
	      loop.

	commit c9b2d80bcda33e3e26c1a2afc7b76e3bc0a8489d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 02:05:34 2010 +0000

	    * Typo.

	commit 3cfe65e516a75696addcf0281674f644a0933ea5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 02:05:22 2010 +0000

	    * Doh!  Calling `system' in an END block causes the exit status in $?
	      to be changed to 0.

	commit e51a276907f46daf8dbc177829f8db05c0e43372
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 01:39:23 2010 +0000

	    * Remove the `cat' calls when not using --gzip.

	commit 408913bbafefdd5a4058013ce1d8791e6c3123f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 4 00:12:57 2010 +0000

	    * Revert r19796 for now.

	commit 4e17be7981026f0317fb12f166282be2d972889e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 21:38:41 2010 +0000

	    * Revert r19797, and use a simpler solution: just don't monitor build
	      hooks for silence.  It's unnecessary because the remote nix-store
	      command is already monitoring the real build.

	commit f859a8d3c33cc275f41d983bfeff2a21a9f88f1b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 21:22:57 2010 +0000

	    * While waiting for a lock, print a sign of life every 5 minutes.
	      This prevents remote builders from being killed by the
	      `max-silent-time' inactivity monitor while they are waiting for a
	      long garbage collection to finish.  This happens fairly often in the
	      Hydra build farm.

	commit c45de33c67a7273fc87a654696d15010df0f5c6d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 21:13:37 2010 +0000

	    * Respect @sysconfdir@.

	commit d0c32dc135f147ad352e28ff8c648e611516edec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 20:35:37 2010 +0000

	    * In the build hook, if connecting to a machine fails, try the other
	      machines of the right type (if available).  This makes the build
	      farm more robust to failures.

	commit f56a039775930d4ba2b4504440b7ab37dfefeb75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 20:12:18 2010 +0000

	    * Use SSH connection sharing in the remote build script.
	    * Removed the Cygwin password hack since the problem is apparently
	      fixed in Visual Studio.

	commit bc1e478db160059753c4bf4cb28dd50437a76b27
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 15:34:52 2010 +0000

	    * nix-copy-closure: start only one SSH connection to the server, or
	      recycle an already existing connection (using  OpenSSH's connection
	      sharing feature).

	commit 4d8a85b8f56625616c993d0bace0a4e856e7f2c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 3 11:00:35 2010 +0000

	    * Updated the release notes.

	commit 3ce5f07793c22c95ebc8b0ddc9b105f5e72623f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 2 17:01:16 2010 +0000

	    * Ugly hack to make `nix-channel' work on Cygwin.

	commit e839802720af75e5af321b46a3921695ed696e79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 2 15:29:18 2010 +0000

	    * Don't do a chdir to $tmpDir.  It's not necessary, and Windows doesn't
	      support deleting the current directory.

	commit 4bbbe25802ee5d625d05b9566bcc488b93974692
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 2 15:28:36 2010 +0000

	    * Remove most Cygwin-specific code.  Cygwin 1.7 implements advisory
	      POSIX locks, and simulates Unix-style file deletion semantics
	      sufficiently.  Note that this means that Nix won't work on Cygwin
	      1.5 anymore.

	commit 2723d9b56e2ea15c0c753ae579849806102f4ce0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 2 11:57:49 2010 +0000

	    * If fdatasync() isn't available, use fsync().

	commit 07ffdc28629e537c3811f86b83a93655b73909ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 29 12:22:58 2010 +0000

	    * Added an option "fsync-metadata" to fsync() changes to
	      /nix/var/nix/db.
	    * Removed the function writeStringToFile since it does (almost) the
	      same thing as writeFile.

	commit ad529fb89fb34bea9762eccfc9c2ee6f1f2865c0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 29 11:53:58 2010 +0000

	    * Don't consider a store path valid if its info file exists but is
	      zero bytes long.  That makes Nix more robust in case of crashes
	      (especially on ext4).

	commit fdcaf37361126793a1416ef5b348e5bf2f0fd1a0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 25 17:18:44 2010 +0000

	    * Made `nix-store -qR --include-outputs' much faster if there are
	      multiple paths specified on the command line (from O(n * m) to O(n +
	      m), where n is the number of arguments and m is the size of the
	      closure).

	commit 50e34891f0e11f400bd50390ede3b7700a2b4db9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 25 16:14:45 2010 +0000

	    * Disable gzip compression in build-remote.pl because it puts too much
	      load on the Hydra build farm (where it's unnecessary anyway because
	      it has a fast connection to the build machines).  In any case,
	      compression can be enabled by using the `-C' option to ssh.

	commit 5388944e8d1ca61e23d42a6a0769b925f099f4e1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 25 16:04:32 2010 +0000

	    * Make the garbage collector do the right thing when `gc-keep-outputs'
	      is enabled by not depending on the deriver.

	commit f0c0277970f8283428b599d8da8089756583a26c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 12 12:22:38 2010 +0000

	    * On startup, set the default SIGCHLD handler.  This is so that Nix
	      works correctly in weird environments where the SIGCHLD handler is
	      set to "ignore".

	commit ef92a14bfea7a16102b04711c9c18ad717e82ea1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 17 14:12:44 2009 +0000

	    * Include config.h before the C library headers, because it defines
	      _FILE_OFFSET_BITS=64.  Without it, functions like stat() fail on
	      large file sizes.  This happened with a Nix store on squashfs:

	      $ nix-store --dump /tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds > /dev/null
	      error: getting attributes of path `/tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds': Value too large for defined data type

	      $ stat /tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds
	      File: `/tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds'
	      Size: 0               Blocks: 36028797018963968 IO Block: 1024   regular empty file

	      (This is a bug in squashfs or mksquashfs, but it shouldn't cause Nix
	      to fail.)

	commit 945d8218fbcab4e546213f420125bf521ff3306d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 16 15:29:50 2009 +0000

	    * Build correctly against newer ATerm releases.  Fixes "error: 'union'
	      tag used in naming 'struct _ATerm'".

	commit d8a5dc02fc2efbbd386edb4be960d741c0650b8a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 10 13:14:22 2009 +0000

	    * Build on Fedora 12.

	commit 3a78af1e2435074292eb0694afe66ccd64448099
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 9 21:02:24 2009 +0000

	    * Release notes.

	commit 7ca997263680025a7cf5386a44efcb0a9949315e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 9 19:36:54 2009 +0000

	    * When doing a nix-pull, remove old manifests downloaded from the same
	      URL.  This prevents lots of old cruft accumulating in
	      /nix/var/nix/manifests.

	commit c4c84d1edb4e0dd4ed77a9b2d1386834cdfaaa34
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 9 18:08:28 2009 +0000

	    * nix-build: be less verbose.

	commit bcd6cdf0d8d52bb5d459911bc552260d67c1bb38
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 9 17:45:22 2009 +0000

	    * Give a better error message when trying to build something and
	      readOnlyMode is set.

	commit 13618b191e923a7ccc861a46be378fd85b0c8412
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 24 13:28:46 2009 +0000

	    * Grrr.

	commit aa5a768720f92076b024c551527e2abfd7ad9848
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 24 12:56:26 2009 +0000

	    * GCC 4.4 is stricter about the EOF macro
	      (http://hydra.nixos.org/build/156340).

	commit 9b8fda796b620a5476e8a50edcc29a3462667fc3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 24 12:26:25 2009 +0000

	    * Templatise getIntArg / string2Int.

	commit 80220155523fb21c938d595e96597f6511aa7bd0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 24 10:51:52 2009 +0000

	    * In the garbage collector, don't count files with a link count > 1 in
	      the "bytes/blocks freed" statistics.

	commit f9e766db9875e7ab390df8d405d9719b279efe3c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 24 09:53:18 2009 +0000

	    * Randomise the order in which we delete entries to make the collector
	      less biased towards deleting paths that come alphabetically first
	      (e.g. /nix/store/000...).  This matters when using --max-freed etc.

	commit ca50c83fbb8f3bfbbcc60203a518d4e5a7aa8349
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 23 21:21:29 2009 +0000

	commit 3d55f1eb57c04efc10a093379ea38d6c0aefa588
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 23 18:16:25 2009 +0000

	    * A command `nix-store --query --roots <paths>' to find the garbage
	      collector roots that point (directly or indirectly) to the given
	      paths.

	commit ae6bf87273b30258408dc292611f3f50015b843c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 23 17:23:12 2009 +0000

	    * `nix-store --gc --print-roots': also print the path of the actual
	      root symlink, not just its target.  E.g.:

	      /nix/var/nix/profiles/system-99-link -> /nix/store/76kwf88657nq7wgk1hx3l1z5q91zb9wd-system

	commit c364d5d1e36a9f790b0d610aae1d30d8732b58ce
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 23 16:34:24 2009 +0000

	    * Made the garbage collector a lot faster.  It no longer computes the
	      complete set of live and dead paths before starting the actual
	      deletion, but determines liveness on demand.  I.e. for any path in
	      the store, it first tries to delete all the referrers, and then the
	      path itself.  This means that the collector can start deleting paths
	      almost immediately.

	commit 4f7e5f5810380ba4bcdd3c32c37dafb75d8e2f8d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 23 12:48:54 2009 +0000

	    * Don't create /nix/var/nix/gcroots/{tmp,channels}, since they don't
	      seem to be used anymore.

	commit 8824d60fe549e2fc9b5a852fc1b967eca241ea77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 20 17:12:38 2009 +0000

	    * Remove the --use-atime / --max-atime garbage collector flags.  Many
	      (Linux) machines no longer maintain the atime because it's too
	      expensive, and on the machines where --use-atime is useful (like the
	      buildfarm), reading the atimes on the entire Nix store takes way too
	      much time to make it practical.

	commit 997db91e07882f0555e224a2687189a362567577
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 17 16:22:39 2009 +0000

	    * Don't pass -K.  It should really inherit the setting of the calling
	      Nix though.

	commit 3392d32e8b4202da8d3b013edd6f585e98aa7b02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 13 10:08:31 2009 +0000

	    * In nix-pull/nix-channel, create the manifests directory if it
	      doesn't exist.  The Debian packages don't include the manifests
	      directory, so nix-channel would silently skip doing a nix-pull,
	      resulting in everything being built from source.  Thanks to Juan
	      Pedro Bolívar Puente.

	commit 327a232c85de3faa56f9a6117c86e1aa22f88bd6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 6 01:15:44 2009 +0000

	    * Remove support for old (before Nix 0.12pre12020) databases.

	commit c60d796f04f81b17330fbfc1e438ed207b1047f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 5 22:23:38 2009 +0000

	    * Version bump.

	commit e8bad77c7cd3ab11e0c131f138c3d18cdf80dbba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 5 15:20:19 2009 +0000

	commit 7680904839bcf6a68c2e772d5d7c4e6e28d952e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 5 14:53:01 2009 +0000

	    * Build on Karmic.

	commit 58f3338bfafe27795995ffc35dc0ecd3ec331197
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 5 14:40:42 2009 +0000

	    * The Nix .deb package depends on curl.

	commit 268d90a03eaab95d13c1326d58fb2287c628aedc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 5 09:07:43 2009 +0000

	    * Various updates.

	commit 1ff8758f762367ffd2517ce7d9d63c6c9746a0ee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 4 16:52:35 2009 +0000

	    * Manual updates.

	commit 8520542071d9ec4c5cc088f9a604d051f4880796
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 22 08:28:33 2009 +0000

	    * When building in a chroot, make a copy of a file if hard-linking
	      fails.  This is likely to happen after a `nix-store --optimise',
	      because some files may have 32000 links (NIX-111).

	commit 6b9f6b02225035c016cf73868a12aa26bc0ad225
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 22 08:12:38 2009 +0000

	    * Remove a prototype for a function that no longer exists.

	commit deb342fb08fb7b366af482664f44e52f749e63b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 22 08:10:12 2009 +0000

	    * builtins.trace: in the common case that the value is a string, then
	      show the string, not the ATerm, so we get `trace: bla' instead of
	      `trace: Str("bla",[])'.

	commit 437077c39dd7abb44b2ab02cb9c6215d125bef04
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 21 15:05:30 2009 +0000

	    * Added a primop unsafeDiscardOutputDependency needed by Disnix to
	      pass derivation paths to a builder without actually building them.

	commit 6f7d7bc1de110c49e7b41926e4669ce44bc86617
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 13 09:30:17 2009 +0000

	    * Give a useful error message when an evaluation error occurs while
	      trying to upgrade a package.

	commit 53a4981fa28a9f13758554b643c06e871ede8dbd
	Author: Sander van der Burg <s.vanderburg@tudelft.nl>
	Date:   Thu Oct 8 14:50:37 2009 +0000

	    Added optional parameter which adds -lnsl -lsocket to make the Nix package manager work on OpenSolaris

	commit 18f0ff003d711f88a8682131108b101debec3737
	Author: Peter Simons <simons@cryp.to>
	Date:   Tue Oct 6 09:14:06 2009 +0000

	    configure.ac: use AC_SYS_LARGEFILE to determine how to enable 64-bit file size support

	    Defining -D_FILE_OFFSET_BITS=64 works on most platforms, but not on all (i.e.
	    Solaris). Also, the Autoconf macro offers the user a switch to disable the
	    functionality in case of problems.

	commit 96f151783153c62bb19f39d9675b35601003f4d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 30 11:32:04 2009 +0000

	    * Support platforms that don't have O_ASYNC (e.g. OpenSolaris
	      apparently).

	commit 1a8f8fd86fb89222f6fadab0d9f8a0fb850c8f6f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 30 09:54:29 2009 +0000

	    * OpenSolaris compatibility.

	commit 0f79ad47c5af646ad7a42f86759170df8081899c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 25 12:36:03 2009 +0000

	commit c7057fc1f2232a530709a1596b2fe8722ed19aef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 24 07:39:55 2009 +0000

	    * And some more.

	commit 193f59e0771f35e977a4b4606c91c90d5c50ae0a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 24 07:21:29 2009 +0000

	    * Fix a build failure on Fedora 11.  rename() needs <stdio.h>.

	commit 0ae2be56927729c251c7a4a45130eba672821af0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 24 07:05:06 2009 +0000

	commit 1332dd1ed34b45b7e970111da561f20ffe6bc6b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 23 19:19:26 2009 +0000

	    * tryEval shouldn't catch all exceptions of type Error, since not all
	      of them leave the evaluator in a continuable state.  Also, it should
	      be less chatty.

	commit 63a17d4bd5e0a9c0f896221017ab518a6cc4c79b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 23 18:52:18 2009 +0000

	    * Don't build against BDB on Cygwin, it's been broken for unknown
	      reasons for a while (e.g. http://hydra.nixos.org/build/79164).

	commit 676e07902e175666208b5c644ed8427f7684d3d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 23 18:04:55 2009 +0000

	    * Darwin hack.

	commit 64e89980e880826fec3e973e50edebf24278c7b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 23 17:05:51 2009 +0000

	    * Create some state directories automatically as a convenience.

	commit 48b58617e9e84fd1a0e4bd11798bd6b9d04a1633
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Wed Sep 23 12:57:15 2009 +0000

	     * include wait.h for WEXITSTATUS

	commit 51ad64cc0791f797c936d8d7b1cef0dec64c0ce3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 18 11:45:56 2009 +0000

	    * Use xmllint (>= 2.7.4) for RelaxNG validation instead of Jing.

	commit df05a759e4b73058ade82b6008c405cc5c75b104
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 18 11:01:30 2009 +0000

	    * In "make init-state", ignore errors creating /nix/store.  Hack to
	      get the Debian VM builds to work (where /nix/store is a mount point
	      containing the store of the host).

	commit d3de71efc935ac5744dedf22528a6f0c4e38aaf4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 17 17:44:13 2009 +0000

	commit e1df4ef73c442ad0fa175a19341bcbab0c2b6450
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 17 17:02:14 2009 +0000

	commit 86408b3f47d7b77067c8d35f1488ccdddb0f304b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 17 15:48:17 2009 +0000

	    * build-remote.pl: Pick machines in a round-robin order, rather than
	      giving jobs to the first machine until it hits its job limit, then
	      the second machine and so on.  This should improve utilisation of
	      the Hydra build farm a lot.  Also take an optional speed factor
	      into account to cause fast machines to be preferred over slower
	      machines with a similar load.

	commit 57e0d73c776ef672afe2a20b1f7b39a495894c4a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 17 13:51:04 2009 +0000

	    * build-remote.pl: allow the system type to be a comma-separated list
	      of system types.  Don't treat the x86_64-linux system type
	      specially.

	commit 0dbd4638e07d224e642b52c1dd0468c3752e2479
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 15 13:01:46 2009 +0000

	    * Two primops: builtins.intersectAttrs and builtins.functionArgs.
	      intersectAttrs returns the (right-biased) intersection between two
	      attribute sets, e.g. every attribute from the second set that also
	      exists in the first.  functionArgs returns the set of attributes
	      expected by a function.

	      The main goal of these is to allow the elimination of most of
	      all-packages.nix.  Most package instantiations in all-packages.nix
	      have this form:

	        foo = import ./foo.nix {
	          inherit a b c;
	        };

	      With intersectAttrs and functionArgs, this can be written as:

	        foo = callPackage (import ./foo.nix) { };

	      where

	       callPackage = f: args:
	         f ((builtins.intersectAttrs (builtins.functionArgs f) pkgs) // args);

	      I.e., foo.nix is called with all attributes from "pkgs" that it
	      actually needs (e.g., pkgs.a, pkgs.b and pkgs.c).  (callPackage can
	      do any other generic package-level stuff we might want, such as
	      applying makeOverridable.)  Of course, the automatically supplied
	      arguments can be overriden if needed, e.g.

	        foo = callPackage (import ./foo.nix) {
	          c = c_version_2;
	        };

	      but for the vast majority of packages, this won't be needed.

	      The advantages are to reduce the amount of typing needed to add a
	      dependency (from three sites to two), and to reduce the number of
	      trivial commits to all-packages.nix.  For the former, there have
	      been two previous attempts:

	        - Use "args: with args;" in the package's function definition.
	          This however obscures the actual expected arguments of a
	          function, which is very bad.

	        - Use "{ arg1, arg2, ... }:" in the package's function definition
	          (i.e. use the ellipis "..." to allow arbitrary additional
	          arguments), and then call the function with all of "pkgs" as an
	          argument.  But this inhibits error detection if you call it with
	          an misspelled (or obsolete) argument.

	commit 3bca8931e8861fa4694b1ca31ecc023149e7aa81
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Tue Aug 25 16:06:46 2009 +0000

	    Adding tryEval builtin. It allows to catch presence of errors in an expression.

	commit 5e9a4e5101a76655dd7f1bcd2c1c3afc200552b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 3 13:32:13 2009 +0000

	commit 9b46d1ae6fe37f4caf24a39541553c07b5c07342
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 3 12:24:20 2009 +0000

	commit 20b6f94b65204f3a7b2e93c31b35f7554f2823a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 15 09:10:38 2009 +0000

	    * nix-build: pass the --show-trace flag.

	commit d413612029ee44628dea3598f3a67042acf05d50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 14 14:58:12 2009 +0000

	    * Remove the redundant <sections> around refentries.

	commit 1f169f43b31d02c1fad39df16bb4e61c8cb593df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 10 13:42:12 2009 +0000

	    * Leave out the collaborators / revision history page.

	commit 5e2e2f10efab3ba3e0504fb4d1b374a57dfaeb0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 10 11:48:49 2009 +0000

	commit c6890d6b5cf6bb57afd6431382a6459eee47f5b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 2 08:52:12 2009 +0000

	    * Replace newlines in table output with spaces.

	commit 749dd97a54f50467d266dde2b833f272cb556145
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 30 15:53:39 2009 +0000

	    * Support integers and lists of strings in meta fields.  This is
	      useful for fields like meta.maintainers, meta.priority (which can be
	      a proper integer now) and even meta.license (if there are multiple
	      licenses).

	commit f2c3fc519190b021f0bb3b66f58d0fe7fc40b0e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 30 13:28:29 2009 +0000

	    * Don't show trace information by default (`--show-trace' to enable).
	      NixOS evaluation errors in particular look intimidating and
	      generally aren't very useful.  Ideally the builtins.throw messages
	      should be self-contained.

	commit a2fc3a53ba87d3688dae0554bfdb2fe3fb3dbf2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 18 10:04:14 2009 +0000

	    * Highlight URLs containing "=" properly.

	commit d53603c928ae98eee54bdd06241e898e02efef0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 18 09:56:50 2009 +0000

	    * Attributes names in attrsets can contain dots now.

	commit 14bc3ce3d6d5745717fa19b8b43b5fdd117ff757
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jun 13 16:30:58 2009 +0000

	    * Canonicalise timestamps in the Nix store to 1 (1970-01-01 00:00:01
	      UTC) rather than 0 (00:00:00).  1 is a better choice because some
	      programs use 0 as a special value.  For instance, the Template
	      Toolkit uses a timestamp of 0 to denote the non-existence of a file,
	      so it barfs on files in the Nix store (see
	      template-toolkit-nix-store.patch in Nixpkgs).  Similarly, Maya 2008
	      fails to load script directories with a timestamp of 0 and can't be
	      patched because it's closed source.

	      This will also shut up those "implausibly old time stamp" GNU tar
	      warnings.

	commit f24cf5d303dac3e82068f80091d2f312455ba8cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 10 11:30:34 2009 +0000

	    * nix-build: if nix-instantiate or nix-store fails due to a signal
	      (e.g. out of memory or a segfault), print an error message.
	      Otherwise the user doesn't see anything.

	commit c6cb792d48a8b4290df15202ec30b06a3383dc6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 26 16:32:02 2009 +0000

	commit a64bbe049e19618c33a878154f2e69029d45ecd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 15 13:46:13 2009 +0000

	    * Change the scoping of "inherit (e) ..." in recs so that the
	      attributes of the rec are in scope of `e'.  This is useful in
	      expressions such as

	        rec {
	          lib = import ./lib;
	          inherit (lib) concatStrings;
	        }

	      It does change the semantics of expressions such as

	        let x = {y = 1;}; in rec { x = {y = 2;}; inherit (x) y; }.y

	      This now returns 2 instead of 1.  However, no code in Nixpkgs or
	      NixOS seems to rely on the old behaviour.

	commit d407d572fdc72f4eb14cc0f37d7d61446425b663
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 15 12:35:23 2009 +0000

	    * Some syntactic sugar for attribute sets: allow {x.y.z = ...;} as a
	      shorthand for {x = {y = {z = ...;};};}.  This is especially useful
	      for NixOS configuration files, e.g.

	        {
	          services = {
	            sshd = {
	              enable = true;
	              port = 2022;
	            };
	          };
	        }

	      can now be written as

	        {
	          services.sshd.enable = true;
	          services.sshd.port = 2022;
	        }

	      However, it is currently not permitted to write

	        {
	          services.sshd = {enable = true;};
	          services.sshd.port = 2022;
	        }

	      as this is considered a duplicate definition of `services.sshd'.

	commit e42975490fa96e811c9fd80435ce20c26f8603f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 14 14:29:45 2009 +0000

	    * Check for duplicate attributes in fixAttrs, rather than doing a
	      separate traversal after parsing.  Likewise, check for duplicate
	      pattern variables right away.

	commit 50d11b90caf6545556fc090858c694e19f3c7683
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 12 11:06:24 2009 +0000

	    * Allow unsafe (unspecified) comparisons between attrsets unless
	      NIX_NO_UNSAFE_EQ is set, for now.

	commit c34e6d71bc62bb83f3bfed69f781ded4d5a46d3a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 11 15:50:14 2009 +0000

	    * Disallow equality tests between attribute sets.  This was always
	      broken, but now the evaluator checks for it to prevent Nix
	      expressions from relying on undefined behaviour.  Equality tests are
	      implemented using a shallow pointer equality test between ATerms.
	      However, because attribute sets are lazy and contain position
	      information, this can give false positives.  For instance,
	      previously

	        let y = {x = 1;}; in y == y

	      evaluated to true, while the equivalent expression

	        {x = 1;} == {x = 1;}

	      evaluated to false.  So disallow these tests for now.  (Eventually
	      we may want to implement deep equality tests for attribute sets,
	      like lib.eqStrict.)

	    * Idem: disallow comparisons between functions.

	    * Implemented deep comparisons of lists.  This had the same problem as
	      attribute sets - the elements in the list weren't evaluated.  For
	      instance,

	        ["xy"] == [("x" + "y")]

	      evaluated to false.  Now it works properly.

	commit 9536ba19d437a82d4b521709b49ef6977321b692
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 13:22:26 2009 +0000

	commit 83bd320b39c5d12ff4a40bea47177011fa1c7599
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 13:12:46 2009 +0000

	    * Build a PDF version of the manual in the tarball job (it's not
	      included in the tarball though).

	commit f751c2966b98d14bbb0337abeca1cb1106e09136
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 13:11:58 2009 +0000

	    * Don't have a bugs section in the manual.  Bugs should be kept in the
	      bug tracker.

	commit 404996ca1f2089511b90666ce092377ade830139
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 12:57:04 2009 +0000

	    * Produce the manual in the tarball job.

	commit 7660e2a0684e57c2f7f014a6f457b7866e2b9e22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 11:35:52 2009 +0000

	    * Remove a right recursion that causes the parser to barf on very long
	      lists.  The comment about ATreverse requiring unbounded stack space
	      was unfounded anyway.

	commit 52a9ba96f53be0a36f8229a14126302c5de966a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 11:34:08 2009 +0000

	    * Include the version file.

	commit 6a5599fd014af87ccffd20e5fa172d8b561636d1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 7 11:33:57 2009 +0000

	    * Typo.

	commit 098cb9d233ff7e1568b55e88dacf52e1dc8eebab
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Mon May 4 08:10:24 2009 +0000

	    Add an ftruncate call paired with fallocate to play safe with  some FSes (namely, BtrFS fallocate sets file size to allocated size, i.e. multiple of block size)

	commit c710fe540e3763d821eab74621b43d9422cb7e92
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 21 12:42:47 2009 +0000

	    * Machines of type x86_64-linux can do i686-linux builds.

	commit d5eab2fc8293e0d14c7fd297bf7512257442295b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 21 11:52:16 2009 +0000

	    * Use foreach in a lot of places.

	commit 8f1bf28505e6ba8fae35859391cbab7264b0014a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 21 11:06:27 2009 +0000

	    * nix-store --verify: don't bail out if a referenced path is missing.
	      (It can't fix it though.)

	commit 4e646b0ddb81e1fbf1159ad66a41de848fe93930
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 16 12:03:17 2009 +0000

	    * Fix a few "comparison is always false/true due to limited range of
	      data type" warnings on 64-bit platforms.  The one in parser.y is
	      likely to be a real bug.

	commit 0460ea4c395cc45e510d13fbf12930dd3d221305
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 16 09:27:33 2009 +0000

	    * Cleanup.

	commit dfb863f3339ee7e43c83803ade2d9fdf418399b7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 15 06:25:02 2009 +0000

	    * Don't cache transient build hook problems.

	commit 435a93b5d845a6fa90675675060ca3cc2d2a650d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 14 13:03:27 2009 +0000

	    * Remove references to __XXX primops.

	commit 8b2a01a8c238f36a71157e4c2f8e6cf6ee6f5309
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 14 12:02:22 2009 +0000

	    * Release notes.

	commit 50cb6f978218c00f2fee52cef8939f2ef8d4f2b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 2 08:16:15 2009 +0000

	    * Debian packages: use /etc, not /usr/etc.

	commit 351bf658f99e91b41d2b11f994f799dd34a600e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 31 21:14:07 2009 +0000

	    * Do a substitution even if --max-jobs == 0.

	commit cff2b2a13aea7cf30c0ef5be449e355594dc80c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 31 15:50:03 2009 +0000

	    * Doh!

	commit 160a60d663039cc26e73d0359fcbce12b30a7d3d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 30 19:35:55 2009 +0000

	commit 805144b705305fc6ba22645cebf52daaf835ca49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 30 11:34:03 2009 +0000

	    * Make the poll interval configurable.

	commit 096affb55b06c1280df9ff6b1fd5111d5745b57a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 29 18:40:44 2009 +0000

	    * Update the mtime on the lock file to make it easy to see when a slot
	      was last used.

	commit cbc1f57b48dc9b8f0c679e004ee407d3cf27d5c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 29 18:08:32 2009 +0000

	    * Undocument the "system" option.  No sane person would use it :-)

	commit 7377195297e66c02e91caab700e7984e4c6a904a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 29 18:06:00 2009 +0000

	    * With `--max-jobs 0', print a nicer error message than "Assertion
	      `!awake.empty()' failed."

	commit 737423a89c4b5f666fb4daf61775764b66911cf1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 29 18:00:45 2009 +0000

	    * Use polling to wait for a remote build slot when using a build hook
	      (that is, call the build hook with a certain interval until it
	      accepts the build).
	    * build-remote.pl was totally broken: for all system types other than
	      the local system type, it would send all builds to the *first*
	      machine of the appropriate type.

	commit 47706e3924cf592a4e0085eb2e45f0e84b67f933
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 21:10:29 2009 +0000

	    * nix-copy-closure: compute the closure in one call to nix-store,
	      which is much faster.

	commit 6e946c8e72e0fd2baa58cab484a34debd2ae906d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 20:51:33 2009 +0000

	    * Scan for references and compute the SHA-256 hash of the output in
	      one pass.  This halves the amount of I/O.

	commit c7152c8f97d01dda4eeb70869a0d28cc9a04df1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 19:41:53 2009 +0000

	    * Don't use the non-standard __gnu_cxx::stdio_filebuf class.

	commit 3a2bbe7f8ad7ec8b2896ff5e666b8f5525691c6f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 19:29:55 2009 +0000

	    * Simplify communication with the hook a bit (don't use file
	      descriptors 3/4, just use stdin/stderr).

	commit 7fb548aa2621375559f980b4627955dbc6fe9914
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 16:12:46 2009 +0000

	    * Clean up the output a bit.

	commit f54e800366b3c8540c60f0a35c407ad701e2f622
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 28 16:12:27 2009 +0000

	    * The `fixedOutput' variable didn't get initialised when using a build
	      hook, causing negative caching to fail randomly.

	commit 38f98b32822efa35a050b26d7ab5bbd561c9e529
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 27 22:40:22 2009 +0000

	    * Argh, stupid timing sensitive tests...

	commit e23a7a8b7b37f493327b7f73350140811cccdb37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 27 14:20:03 2009 +0000

	    * Debian 5.0, Ubuntu 8.10 builds.

	commit cb85bc396e7ee291bfd5c22b2a9edf3c85b49c5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 27 14:19:04 2009 +0000

	    * Create /nix/store if it doesn't exist.

	commit 61686926d12e55052480bd0ff2297e69cd6c364f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 26 14:12:42 2009 +0000

	    * A job for creating a fully statically linked binary tarball.

	commit 9856efc7b0d5653aea17f1f7e58c6ff97a0b6b35
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 26 12:22:08 2009 +0000

	    * Support doing a fully static build.  Statically linked Nix binaries
	      will be useful as a fallback on platforms for which there are no
	      RPMs/Debs available.

	commit 5dd8fb20691c375778fd73bf613d4988df72fb50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 26 11:02:07 2009 +0000

	    * Don't use ULLONG_MAX in maxFreed - use 0 to mean "no limit".
	      18446744073709551615ULL breaks on GCC 3.3.6 (`integer constant is
	      too large for "long" type').

	commit 92f525ecf4ea8a9bd356acd1d3845074b1e5b918
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 25 21:05:42 2009 +0000

	    * Negative caching, i.e. caching of build failures.  Disabled by
	      default.  This is mostly useful for Hydra.

	commit 7024a1ef076cedf4596c9f4b107e85d315242cea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 25 16:43:38 2009 +0000

	    * Removed the locking.sh test; it's redundant because of the extended
	      parallel.sh test.  Also, don't call multiple nix-builds in parallel,
	      since they can race creating .nix-build-tmp-derivation.

	commit 8146a0c7313b95b4cc24776cc609efc846b0a38e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 25 16:11:04 2009 +0000

	    * Use bash in the tests.

	commit a046858a22751ce87014aa5cc2a619ea83668ed9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 24 23:40:24 2009 +0000

	    * Doh.

	commit 12c8c64efaefd36d32e5e7c028496c5ae9172acc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 24 14:07:37 2009 +0000

	commit 7aedcf946043468c169ab9b0a131be908804789b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 23 15:16:36 2009 +0000

	    * Make this test a bit more robust.  It's still timing dependent
	      though.

	commit 3a87163b2480eaf47d626580d20049387d942066
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 23 13:52:52 2009 +0000

	    * Shut up a GCC warning.

	commit cacff1be886ed975bbef1b17151b25c633711256
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 23 01:05:54 2009 +0000

	    * No longer block while waiting for a lock on a store path.  Instead
	      poll for it (i.e. if we can't acquire the lock, then let the main
	      select() loop wait for at most a few seconds and then try again).
	      This improves parallelism: if two nix-store processes are both
	      trying to build a path at the same time, the second one shouldn't
	      block; it should first see if it can build other goals.  Also, it
	      prevents the deadlocks that have been occuring in Hydra lately,
	      where a process waits for a lock held by another process that's
	      waiting for a lock held by the first.

	      The downside is that polling isn't really elegant, but POSIX doesn't
	      provide a way to wait for locks in a select() loop.  The only
	      solution would be to spawn a thread for each lock to do a blocking
	      fcntl() and then signal the main thread, but that would require
	      pthreads.

	commit 58969fa2bf9d5e662c372bdf970470b8226bd4c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 22 23:53:05 2009 +0000

	    * Refactoring.

	commit d7b2d11255d048dd9aa59e49848baa5977b718e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 22 23:16:18 2009 +0000

	    * Test case (currently fails): multiple Nix builds shouldn't block
	      waiting on the same lock when there are other builds that can be
	      done.

	commit 7a57b2920b7f04ab0cdd42687dd183217231549e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 22 17:51:45 2009 +0000

	    * Better error message when nix-store --import is applied to garbage
	      (previously it would likely say "implementation cannot deal with >
	      32-bit integers").

	commit 77d272623fb4fd57cf27d4b92a7dc1713a2d4098
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 22 17:36:43 2009 +0000

	    * NAR archives: handle files larger than 2^32 bytes.  Previously it
	      would just silently store only (fileSize % 2^32) bytes.
	    * Use posix_fallocate if available when unpacking archives.
	    * Provide a better error message when trying to unpack something that
	      isn't a NAR archive.

	commit 7e05b8b75e0f4b370cc7d4b78b3fb18a3678b360
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 19 10:02:02 2009 +0000

	    * Future proofing: assume we can read manifests up to version 10
	      (which should therefore be backwards compatible).

	commit b88460bcbc05ec7c164cb6ce6015b193d3c2d6c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 19 09:47:34 2009 +0000

	    * Disregard the Hash field in manifests.

	commit 28972864879a63c4110211d9852b692672869a2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 17:36:42 2009 +0000

	    * Unify exportReferencesGraph and exportBuildReferencesGraph, and make
	      sure that it works as expected when you pass it a derivation.  That
	      is, we have to make sure that all build-time dependencies are built,
	      and that they are all in the input closure (otherwise remote builds
	      might fail, for example).  This is ensured at instantiation time by
	      adding all derivations and their sources to inputDrvs and inputSrcs.

	commit e530e0a35041b3135b521f1b2dbc21fabfb00d47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 16:36:13 2009 +0000

	    * Improve the test.

	commit 9485ec31ea3b4ad9f2b31c350cd24f2fa6ec5484
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 16:35:35 2009 +0000

	    * Better cleanup after tests.

	commit 13df3915ef7b967b3889e2bf5f66ca8de1adc8b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 16:23:29 2009 +0000

	    * Missing file.

	commit c183ee5c79dd356262c3d7c31e3aace09045671f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 14:48:42 2009 +0000

	    * Acquire the locks on the output paths before trying to run the build
	      hook.  This fixes a problem with log files being partially or
	      completely filled with 0's because another nix-store process
	      truncates the log file.  It should also be more efficient.

	commit 1dcf208f562d853909ad53772c208dcb2a73de88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 18 13:15:55 2009 +0000

	    * Clean up some tests (use nix-build where appropriate).

	commit 93b6926054b0b339d310a3075a677a65676c7c11
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 17 17:38:32 2009 +0000

	    * Regression test for exportBuildReferencesGraph.  It currently fails.

	commit 51e7e32c3bf7c2fb5045b0655c2edc1fbf347455
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 17 17:11:55 2009 +0000

	    * Refactoring: renamed *.nix.in to *.nix.

	commit 2d5114452d8a8f73c858f9beb6bfaafe35e7bf9a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 17 16:33:48 2009 +0000

	    * Regression test for the `exportReferencesGraph'
	      derivation attribute.

	commit 33ecb4299107da91f5d61131ead37afabe496649
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 17 11:42:55 2009 +0000

	    * Cleanup.

	commit be88248add7ac96137a323acb111a301048e37bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 9 15:05:08 2009 +0000

	    * Make the version available to release.nix.

	commit a96cac0d18e291057e79dab36d3e2030d1bbafc9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 6 17:00:58 2009 +0000

	commit d4753c944f62cd92ee05947a5881b8ae4dc0aa21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 6 11:01:45 2009 +0000

	commit 0e6f6041784ed6d3a3851b20a1d93604e3ae27aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 5 14:57:50 2009 +0000

	    * Install some headers in the right location.

	commit 7f254706b065889c444a555ab13fbf75c1c3feee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 3 14:47:39 2009 +0000

	    * Allow the channel to declare a name for itself.

	commit 1273d355ac91f502654aba0df07068d330064e83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 14:06:38 2009 +0000

	    * nix-install-package: don't pollute /nix/var/nix/manifests.

	commit d4ca5c395290da9a517df99dfbb79d2186930c83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 13:55:11 2009 +0000

	    * Use the regular progress bar; the hash bar isn't very useful when
	      the size of the download isn't known in advance.

	commit fd2e14b3c886c4ff6a702f22bb7f4494b1fbec39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 12:09:30 2009 +0000

	    * nix-build: support --option.

	commit 60cb7de336035768089cc764a3fd7e8867a8d298
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 11:04:41 2009 +0000

	    * Allow options from the Nix config file to be overriden from the
	      command line (e.g. "--option build-use-chroot true").

	commit 8ab6bc5a49686aedf85adffe322c4f016764af5f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 11:01:03 2009 +0000

	    * nix-channel: use nix-build.

	commit f052c10eedf8701e746bbacac63a8ac0d4a8bc0f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 27 09:53:58 2009 +0000

	    * Check the manifest version.

	commit a7cee528c5967ffe20e50fb9dc329987843d42ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 26 21:12:35 2009 +0000

	    * Handle base-16 hashes in manifests.

	commit 041717eda399de5ddbe2a147bafedf1a39993f8e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 19 23:46:37 2009 +0000

	    * download-using-manifests: don't check the cryptographic hash of
	      downloaded files; rather, check the hash of the unpacked store
	      path.

	      When the server produces bzipped NAR archives on demand (like Hydra
	      does), the hash of the file is not known in advance; it's streamed
	      from the server.  Thus the manifest doesn't contain a hash for the
	      bzipped NAR archive.  However, the server does know the hash of the
	      *uncompressed* NAR archive (the "NarHash" field), since it's stored
	      in the Nix database (nix-store -q --hash /nix/store/bla).  So we use
	      that instead for checking the integrity of the download.

	commit 621093cb1c142e125ed1c534fc0c23c1e8404a66
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Thu Feb 19 20:46:45 2009 +0000

	    Replace wrong (w.r.t. PATH) sed call with in-shell substitution

	commit 824b154ce82a76bfc604b3084b18e06af4e3d007
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 16 09:24:20 2009 +0000

	    * Release output locks as soon as possible, not when the destructor of
	      the DerivationGoal runs.  Otherwise, if a goal is a top-level goal,
	      then the lock won't be released until nix-store finishes.  With
	      --keep-going and lots of top-level goals, it's possible to run out
	      of file descriptors (this happened sometimes in the build farm for
	      Nixpkgs).  Also, for failed derivation, it won't be possible to
	      build it again  until the lock is released.

	    * Idem for locks on build users: these weren't released in a timely
	      manner for failed top-level derivation goals.  So if there were more
	      than (say) 10 such failed builds, you would get an error about
	      having run out of build users.

	commit 2ef579d1aa62501d59957783665f997e3c6f475b
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Thu Feb 5 19:35:44 2009 +0000

	    documentation for previous commit

	commit 1407a1ec99163bf3323fbd223396a124336a861a
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Thu Feb 5 19:35:40 2009 +0000

	    added primop functions __isBool, __isString, __isInt

	commit 1bb0f1e84b7c9444a2fd922a658d721da3da00fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 3 10:34:15 2009 +0000

	    * Build hook: compress the transferred data.

	commit b682fae9d93037af65282e02b88a9ce34129026e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 2 17:24:10 2009 +0000

	    * Build hooks: use nix-store --import.  This prevents a redundant
	      scan for runtime dependencies (i.e. the local machine shouldn't do a
	      scan that the remote machine has already done).  Also pipe directly
	      into `nix-store --import': don't use a temporary file.

	commit 6f8c96d12399b747b5f41b5211a635d2801247c8
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Wed Jan 28 12:14:53 2009 +0000

	    vim syntax:  support for indented strings ('' .. '')

	commit 110606d470c22928a505296b694751c7d17a5c03
	Author: Nicolas Pierron <nicolas.b.pierron@gmail.com>
	Date:   Tue Jan 27 14:36:44 2009 +0000

	    Add the "addErrorContext" builtin to add more information in the stack trace.

	commit 061141e63256842bd72160a30302b31463222411
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 27 13:36:59 2009 +0000

	    * Make it compile on Debian 4.0 (which doesn't define PER_LINUX32_3GB
	      in sys/personality.h).

	commit 019176137f49eba826e08c6b0f0a5c35ecdde81d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 11:39:09 2009 +0000

	    * When using a build hook, distinguish between transient failures
	      (e.g. an SSH connection problem) and permanent failures (i.e. the
	      builder failed).  This matters to Hydra (it wants to know whether it
	      makes sense to retry a build).

	commit 4ce692df88b4a9b32767ee6c0223d789d83712cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 10:42:13 2009 +0000

	commit c504d90c1159bd0fadd37bb3098ecf8622d0b13c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 12 16:30:32 2009 +0000

	    * Support i686-linux builds directly on x86_64-linux Nix
	      installations.  This is implemented using the personality() syscall,
	      which causes uname to return "i686" in child processes.

	commit 8e39d9bdb30cbe2e7c3f7d9b30ac64c3a2e32684
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 12 12:51:28 2009 +0000

	    * Make Nix build with Bison 2.4.

	commit 28355dafcf49dddf707499fc99b18c5071cf8eb6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 5 12:14:43 2009 +0000

	    * Removed reference to losser.st-lab.cs.uu.nl, which is RIP after 9
	      years of loyal service :-)

	commit 8fce03e0adc719930de4f4aebd5dd17b7d59402a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 16 13:28:18 2008 +0000

	    * nix-store --verify: repair bad hash fields in the metadata file.

	commit 60ec75048ae0e0bc72ea2fe47e8b48fcf40a2b86
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 16 12:23:35 2008 +0000

	    * Pass --use-atime / --max-atime to the daemon.

	commit 6f6bb1fdea9dcd4c6f6c0b8059b05d56ea7c16f3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 15 23:55:11 2008 +0000

	    * Delete the chroot if it already exists (e.g. left over from an
	      interrupted build).

	commit 92cb7c4dfe036ed4c13d45128a21838a039d840f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 17:14:57 2008 +0000

	    * Put chroots in the Nix store.  This ensures that we can create hard
	      links to the inputs.

	commit 0008b0006db59ea8fccfe041cf8d87f05abb427d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 17:03:18 2008 +0000

	    * Simplify deleting .lock files in /nix/store: just don't delete them
	      if they belong a path that's currently being built.  This gets rid
	      of some Cygwin-specific code.

	commit ac36c6cd44e8f46573ce3df0749d2f062fa35f3b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 15:36:18 2008 +0000

	    * Some hackery to make "make check" succeed on Cygwin.

	commit 2b70a8e7c98adebdac1e546e17ee1d909b4e5989
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 13:41:36 2008 +0000

	    * Detect whether unshare() is available.

	commit 9122dcecbba9d5268d1087918ffe5a3b970625b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 12:59:27 2008 +0000

	    * We can't use string objects in signal handlers because they might
	      allocate memory, which is verboten in signal handlers.  This caused
	      random failures in the test suite on Mac OS X (triggered by the spurious
	      SIGPOLL signals on Mac OS X, which should also be fixed).

	commit 6776a52bb380bb2567847c6e50e1d7880ad7847a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 11:49:42 2008 +0000

	    * Use a PathSet for the chroot directories so that we don't
	      accidentally bind-mount a directory twice.

	commit d86bd22d247227e36de9577f25ad35f8fd4c65e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 12 10:20:19 2008 +0000

	    * Define _GNU_SOURCE.  Hopefully this fixes the build on Debian 4.0
	      (http://hydra.nixos.org/nixlog/384/1).

	commit ac5478eb525f85e560d822ab3b5cb6ccb664d56e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 11 18:57:10 2008 +0000

	    * Don't provide the whole Nix store in the chroot, but only the
	      closure of the inputs.  This really enforces that there can't be any
	      undeclared dependencies on paths in the store.  This is done by
	      creating a fake Nix store and creating bind-mounts or hard-links in
	      the fake store for all paths in the closure.  After the build, the
	      build output is moved from the fake store to the real store.  TODO:
	      the chroot has to be on the same filesystem as the Nix store for
	      this to work, but this isn't enforced yet.  (I.e. it only works
	      currently if /tmp is on the same FS as /nix/store.)

	commit 652817046b2f999e29de8109fce9c61b5b18d22c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 11 17:52:34 2008 +0000

	    * Revert r13150: now that we use private namespaces for the chroot, we
	      don't have to put the chroot in /nix/var/nix/chroots anymore.
	      They're back in /tmp now.

	commit 5a569509b491d43bfcb5c72e85a6d7374a583228
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 11 17:44:02 2008 +0000

	    * Provide a minimal /etc/passwd in the chroot to keep some builders
	      happy.

	commit 7c54f1603f0c793bfc1f191aaa0ec71441038515
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 11 17:00:12 2008 +0000

	    * Do chroot builds in a private namespace.  This means that all the
	      bind-mounts we do are only visible to the builder process and its
	      children.  So accidentally doing "rm -rf" on the chroot directory
	      won't wipe out /nix/store and other bind-mounted directories
	      anymore.  Also, the bind-mounts in the private namespace disappear
	      automatically when the builder exits.

	commit 07cdfb09fb74cf8e1c3c70c070ad20b5d1119fcf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 11 14:30:25 2008 +0000

	    * Open the connection to the daemon lazily (on demand) so that
	      read-only operations (like nix-env -qa) work properly when the
	      daemon isn't running.

	commit a0766eca270390c2181c7f31f27f93629b19f4a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 21:07:29 2008 +0000

	    * Build on Debian 4.0 (GCC 4.1.1).

	commit cd16d5dc3d86c6c877514c291ce56b09746708af
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 17:56:12 2008 +0000

	    * Doh.

	commit 5b949241a59c417b05dcbde3d65bd02cbcdf7d84
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 17:54:14 2008 +0000

	    * Build some 64-bit RPMs/Debs.

	commit 67958f21df2cac2adfb8b8ae33a4200f49d6add6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 16:55:22 2008 +0000

	    * Be sure to clean up the daemon if the test fails.

	commit d91dc086bb61613f42fa5c2663e1c82e0567f78a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 16:51:36 2008 +0000

	commit 9ac3f5df9c29e35b38539c3dca753eacc9b1393d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 16:51:16 2008 +0000

	    * Propagate --max-silent-time to remote machines.

	commit bcfe98acffbefea734f51523b386868ae443c111
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 16:35:47 2008 +0000

	    * Prefer building on a remote machine over a local machine.  This
	      makes more sense for the build farm, otherwise every nix-store
	      invocation will lead to at least one local build.  Will come up with
	      a better solution later...

	commit 9850262a72d1eb77c8f36cf44a9a4aaffedc5d6b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 15:25:28 2008 +0000

	    * Build RPMs, Debs, coverage analysis.

	commit 909fbb9de1e3e2d020a3dd000b9009a5ff1aaeca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 14:29:41 2008 +0000

	    * When using build hooks, for any nix-store -r build operation, it is
	      necessary that at least one build hook doesn't return "postpone",
	      otherwise nix-store will barf ("waiting for a build slot, yet there
	      are no running children").  So inform the build hook when this is
	      the case, so that it can start a build even when that would exceed
	      the maximum load on a machine.

	commit 5dfba0b4db24f4943c5b529eb3b092a64bcd6b18
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 13:36:52 2008 +0000

	    * Force allocation of a pseudo-terminal to clean up the remote
	      nix-store process when the connection is interrupted.

	commit 9ccdb80de32cf8ff4e0f84c7011b5fbbfaf73c01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 13:13:31 2008 +0000

	    * Don't ignore errors from writing to stderr.  That way, when
	      nix-store -r (or some other operation) is started via ssh, it will
	      at least have a chance of terminating quickly when the connection is
	      killed.  Right now it just runs to completion, because it never
	      notices that stderr is no longer connected to anything.  Of course
	      it would be better if sshd would just send a SIGHUP, but it doesn't
	      (https://bugzilla.mindrot.org/show_bug.cgi?id=396).

	commit 9fd9c4c63559e21dde62b719a1665f9bc6c2155e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 12:20:06 2008 +0000

	    * Support multiple system types per remote machine, e.g. a machine
	      list like

	        root@example.org x86_64-linux /root/.ssh/id_buildfarm 1
	        root@example.org i686-darwin  /root/.ssh/id_buildfarm 1

	      This is possible when the Nix installation on example.org itself has
	      remote builds enabled.

	commit 63b8f09d8d8532e67009b7233f8f81e9326353ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 10:45:47 2008 +0000

	commit f8713e1287e2641c3d2550f7af1a445c77b8552a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 4 10:40:41 2008 +0000

	    * Dirty hack to make nix-push work properly on derivations: the
	      derivation should be a source rather than a derivation dependency of
	      the call to the NAR derivation.  Otherwise the derivation (and all
	      its dependencies) will be built as a side-effect, which may not even
	      succeed.

	commit 82ae85de2759eaa68bb2411a1f0a640cf9f8e76a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 18:05:14 2008 +0000

	    * addToStore() in nix-worker: don't write the NAR dump received from
	      the client to a temporary directory, as that is highly inefficient.

	commit 5eaf644c99c78ed89b2cab1d10d630435fd55d28
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 17:30:32 2008 +0000

	    * A simple API for parsing NAR archives.

	commit cdee3174190c237bbf36955a5faa3896f564b7a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 17:02:29 2008 +0000

	    * Backwards compatibility.

	commit d95b68fde32ab9f6b6aac052604b90b5ce4523d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 16:15:38 2008 +0000

	commit ff762fb499be220ccd680f3bf68dca44a902a5ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 16:10:17 2008 +0000

	    * Pass HashType values instead of strings.

	commit 1307b222239da8e503d22ad9316789e30b4e2431
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 15:51:17 2008 +0000

	    * Made addToStore() a lot more efficient: it no longer reads the path
	      being copied 3 times in the worst case.  It doesn't run in constant space,
	      but it didn't do that anyway.

	commit 64519cfd657d024ae6e2bb74cb21ad21b886fd2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 15:06:30 2008 +0000

	    * Unify the treatment of sources copied to the store, and recursive
	      SHA-256 outputs of fixed-output derivations.  I.e. they now produce
	      the same store path:

	      $ nix-store --add x
	      /nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x

	      $ nix-store --add-fixed --recursive sha256 x
	      /nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x

	      the latter being the same as the path that a derivation

	        derivation {
	          name = "x";
	          outputHashAlgo = "sha256";
	          outputHashMode = "recursive";
	          outputHash = "...";
	          ...
	        };

	      produces.

	      This does change the output path for such fixed-output derivations.
	      Fortunately they are quite rare.  The most common use is fetchsvn
	      calls with SHA-256 hashes.  (There are a handful of those is
	      Nixpkgs, mostly unstable development packages.)

	    * Documented the computation of store paths (in store-api.cc).

	commit 09bc0c502c4a52baf0bd363d8ee5f18d49244f73
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 29 00:31:39 2008 +0000

	    * Install the release notes.

	commit 5d4eb9dd07ddd589ec03582c3eeb82d490023282
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 01:13:29 2008 +0000

	    * Moved the build farm job for building Nix to the Nix tree.

	commit 0c478d2f4d7459c4af4e7608ed45ae3b2f09c7dc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 02:30:35 2008 +0000

	    * Ignore carriage returns.

	commit 5024bde8f407582c9cb5a916f3b5603184f76eb7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 01:06:15 2008 +0000

	    * Handle prematurely ended logfiles, i.e. make sure we emit enough
	      close tags.

	commit 2ab09a55cf06f547f7b6e94870259e1a51dbcf18
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 21:51:58 2008 +0000

	    * Bump the version number.

	commit 6bbff48079b27b529f0359bb9e6731dba1ad71db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 17:22:42 2008 +0000

	commit b8eb32f4d22e42d7c17a7da7aed4cb864eee8902
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 16:42:52 2008 +0000

	    * Urgh.

	commit bba87589cce9629891c0094e5b5566d15a09c515
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 16:28:04 2008 +0000

	commit f3e2e6076abdd60dc6d6a4237c0cb0f130cc5271
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 16:10:55 2008 +0000

	commit 53cca4a445e9dd429302765805d9563a8a176832
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 16:06:13 2008 +0000

	commit 4213b8d8ec8cf478e43b0ec3dc4068e5e55f097a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 15:44:59 2008 +0000

	    * Urgh.

	commit eb86b6f5a5429075866eca40d3cc4b864e7499ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 15:08:39 2008 +0000

	commit 3d2035ea86ce70c3a9f90120578271399ffd961e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 15:08:34 2008 +0000

	    * Blindly doing a replacement of occurences of $bindir (when running
	      the tests) is a bad idea when $bindir = /usr and some programs (like
	      perl) live there.  Fortunately it doesn't seem to be needed anymore.

	commit 285d26374aac69d2bbd1df31bc76686ad39171a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 14:14:35 2008 +0000

	    * Don't set the prefix to /nix by default, rather use the Autoconf
	      default of /usr/local.  However, localstatedir and storedir are set
	      to /nix/var/nix and /nix/store respectively unless they're
	      explicitly overriden.

	commit a55113411fe8e6ef39e24c79564e39f07f5a8fdf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 12:25:11 2008 +0000

	    * Nix daemon: reload the configuration file after forking (NIX-100).

	commit c202523e5304c41ef9a6c7a54951bf39a33ff26e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 12:01:05 2008 +0000

	commit aab530e9712baf802bcb48f03440a915dbc37ee9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 23:26:19 2008 +0000

	    * Primop builtins.storePath for declaring a store path as a
	      dependency.  `storePath /nix/store/bla' gives exactly the same
	      result as `toPath /nix/store/bla', except that the former includes
	      /nix/store/bla in the dependency context of the string.

	      Useful in some generated Nix expressions like nix-push, which now
	      finally does the right thing wrt distributed builds.  (Previously
	      the path to be packed wasn't an explicit dependency, so it wouldn't
	      be copied to the remote machine.)

	commit 60564410ef34db8fd3c9be759bdc687366f24e8e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 17:50:25 2008 +0000

	    * Patterns.

	commit 2668a43388d26d9ce740a54e8c4f0ec583ebf120
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 17:27:52 2008 +0000

	commit 63ccd724968569455bb7d54f0badcfec18d18e9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 17:00:32 2008 +0000

	    * Updated the manual.

	commit e13da525a7c16200f451fafb832993b47d407418
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 16:27:07 2008 +0000

	    * Files in the info directory starting with "." are temporary files
	      and don't indicate path validity.

	commit 5d250ad1eae704106c7030ab984c929d7aef8f8f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 16:26:34 2008 +0000

	    * nix-store --dump-db: be more streamy.

	commit 7509d70f9ddec7d28911e6b6f2145bc50a923e9f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 15:20:46 2008 +0000

	    * Documented some of the sharing mechanisms.

	commit 2369b122d19c7a08fc6e38e5a8aab90636ed4132
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 13:19:09 2008 +0000

	    * Install documentation in $(docdir) (i.e. share/doc/nix).

	commit 6c2c771af7b1fc35a33e1faf0e4e7b266fe44e79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 13:18:46 2008 +0000

	    * Removed obsolete option.

	commit 07d3a38726aeb9544212c14c8db5bdcdb7da785b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 11:58:33 2008 +0000

	    * Remove references to Berkeley DB, including most of the
	      troubleshooting section.  W00t.

	commit f5325d292d79f174f73b35ed886ae83bb80896cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 10:59:36 2008 +0000

	    * Release notes.

	commit fa791116a35479bd295f5666c8d35fba60e0c98d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 14:43:40 2008 +0000

	    * Get rid of nix-pack-closure / nix-unpack-closure, they're redundant.

	commit 3f4ed681c2e16ab7a73e31835a6a7e29d5857dd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 14 16:50:01 2008 +0000

	    * Prevent zombies.  Previous the SIGCHLD handler only reaped one
	      zombie at a time, so if multiple children died before the handler
	      got to run, some of them would not be cleaned up.

	commit 6fedb7aa0f76c34bccedd14095bcc7824006489d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 14 15:46:45 2008 +0000

	    * Restore SIGPIPE to SIG_DFL when running the builder.  This prevents
	      subtle and often hard-to-reproduce bugs where programs in pipes
	      either barf with a "Broken pipe" message or not, depending on the
	      exact timing conditions.  This particularly happened in GNU M4 (and
	      Bison, which uses M4).

	commit a519bb063505a8d39e6b1e12f130d66771676e23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 12 11:08:27 2008 +0000

	    * Some somewhat ad hoc mechanism to allow the build farm to monitor
	      build progress.

	commit 96598e7b06dad0de082730cab8992eacc440e535
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 11 15:11:10 2008 +0000

	    * Pass the --no-build-output flag to the daemon.

	commit 4166b11a53f16365f9becfa4f29f15047fc221af
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 11 14:59:20 2008 +0000

	    * Add /dev/pts to the default nix.conf.

	commit 2b7c839b4e20d53e097036d854fbd52dbbc16dd6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 11 14:58:37 2008 +0000

	    * Typo.

	commit 709b55ee0281bc2d587dff6f60ec189b010800f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 29 15:34:48 2008 +0000

	    * Put the chroots under /nix/var/nix/chroots to reduce the risk of
	      disasters involving `rm -rf' on bind mounts.  Will try the
	      definitive fix (per-process mounts, apparently possible via the
	      CLONE_NEWNS flag in clone()) some other time.

	commit c98ea254dcb6384b686a88657fd800ad7655e4a5
	Author: Ludovic Courtès <ludo@gnu.org>
	Date:   Thu Oct 16 21:04:32 2008 +0000

	    libstore: Always mount `/dev/pts' individually.

	    This fixes problems such as Tcl's PTY handling:

	      ERROR: The system has no more ptys.  Ask your system administrator to
	      create more.

	commit 9d6d50269bef214473580a879f6194e02692fe16
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 14:16:03 2008 +0000

	    * Bug fix for building on some old installations (contributed by Pjotr).

	commit fa61ee70ee80b2b223fae86ee197987aa70499b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 18 09:08:54 2008 +0000

	    * Fix `--from-profile'.

	commit f32fef1b075f63ecf8c7351c5e67d4dd95c0fb80
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 17 14:52:35 2008 +0000

	    * GC option `--max-atime' that specifies an upper limit to the last
	      accessed time of paths that may be deleted.  Anything more recently
	      used won't be deleted.  The time is specified in time_t,
	      e.g. seconds since 1970-01-01 00:00:00 UTC; use `date +%s' to
	      convert to time_t from the command line.

	      Example: to delete everything that hasn't been used in the last two
	      months:

	      $ nix-store --gc -v --max-atime $(date +%s -d "2 months ago")

	commit 4af2fdba6d709d0b9bb77dd58ceb6e16d6cd4cfa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 17 13:00:55 2008 +0000

	    * Typo.

	commit c987061aa401eaad984aaa3058aa0506df4f46da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 17 12:54:07 2008 +0000

	    * Some refactoring.  Better output with `-v' for --use-atime.

	commit 77afd97a996a0bde569140b512879fbde83bf4a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 17 12:53:33 2008 +0000

	    * nix-store --gc / --delete: show how many store paths were deleted.

	commit 7ab68961e4d7c30485efde1fb9dcb6edbdea9b5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 17 10:02:55 2008 +0000

	    * Garbage collector: added an option `--use-atime' to delete paths in
	      order of ascending last access time.  This is useful in conjunction
	      with --max-freed or --max-links to prefer deleting non-recently used
	      garbage, which is good (especially in the build farm) since garbage
	      may become live again.

	      The code could easily be modified to accept other criteria for
	      ordering garbage by changing the comparison operator used by the
	      priority queue in collectGarbage().

	commit 2b2aa8a820b10aeaf8bb8f1eb70937d04869c045
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 8 11:02:15 2008 +0000

	    * Doh.

	commit 7933cdc6dcbc5e6bc64e38c986b952e5ecd2dfa1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 2 09:21:38 2008 +0000

	    * When writing the user environment manifest, filter out non-string
	      attributes from the meta attribute.  Not doing so caused nix-env to
	      barf on the "psi" package, which has a meta.function attribute,
	      the textual serialisation of which causes a gigantic string to be
	      produced --- so big that it causes nix-env to run out of memory.

	      Note however that "meta" really only should contain strings.
	      meta.function should be passthru.function.

	commit 0f0dbe8c0c958f14461ad998c0847a06f95eca1d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 29 14:38:04 2008 +0000

	    * Extend the ATerm suppressions to 64-bit.

	commit 311c222f472e93c9eb9987526b6caf80774c3d49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 29 13:59:03 2008 +0000

	commit 2a01d06da6a5e7f4eda3f13c5c4c1a20d0e02d94
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Fri Aug 29 08:34:38 2008 +0000

	    Added nix-http-export.cgi to extra distributed scripts; so it can be installed from releases, not only from SVN.

	commit 7718b19389fd02407860ce587196adc04f80bb5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 27 17:20:25 2008 +0000

	    * Explicitly set PWD to prevent problems with chroot builds.  In
	      particular, dietlibc cannot figure out the cwd because the inode of
	      the current directory doesn't appear in .. (because getdents returns
	      the inode of the mount point).

	commit 9cc0da84533f1ced2ed89ea807ac18b1078f7f88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 27 16:03:03 2008 +0000

	    * Create a /tmp with 1777 permission in the chroot.  Some builders
	      need a writable /tmp (they don't respect $TMPDIR).

	commit 99dc3e613a2ce30474fff92151abf165d017c26d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 26 14:05:59 2008 +0000

	    * Require that __overrides is defined as a non-recursive attribute
	      (which means it can only be defined via "inherit"), otherwise we get
	      scoping bugs, since __overrides can't be recursive (or at least, it
	      would be hard).

	commit d06be428f6dd046c89a69995d5328b8250bec3d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 15:49:22 2008 +0000

	    * Disable chroot builds for fixed-output derivations so that we don't
	      need /etc in the chroot (in particular, /etc/resolv.conf for
	      fetchurl).  Not having /etc/resolv.conf in the chroot is a good
	      thing, since we don't want normal derivations to download files.

	commit abec1c000410a1533f9c80357be6061730d8c6aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 14:31:29 2008 +0000

	    * Evaluate attributes in sorted order for better determinism.

	commit c4f1c2114b520f5c9d589780dd7662efbfd9cf63
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 14:15:56 2008 +0000

	    * Minor simplification.

	commit 49829da8b450a1e869168428171334e6d9d0eb45
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 13:32:27 2008 +0000

	    * Doh.

	commit b428adc267f23441be2f801239641aaf8419e4ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 13:31:57 2008 +0000

	    * Strip off the `.nix' suffix from the attribute name for files in
	      ~/.nix-defexpr,  otherwise the attribute cannot be selected with the
	      `-A' option.  Useful if you want to stick a Nix expression directly
	      in ~/.nix-defexpr.

	commit cc826dc03e738c1d6c6fd6de0dfd9600f6289b72
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 22 14:32:29 2008 +0000

	    * Simplify the Valgrind suppressions using wildcards.

	commit 51e2dda58c4aa08c4833bdab6b0bb0fad8e1c595
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 19 12:46:43 2008 +0000

	    * Some more ATerm Valgrind suppressions.

	commit b7ff182b6ef1f9d8db87de040b4ffc75db1cb9bc
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Thu Aug 14 22:01:43 2008 +0000

	    Fixing an obvious typo in override code. I do not know whether it works correctly after the change, but at least it ca nbe compiled now.

	commit ca07f3e37015fa85fbfc5afd868249d457e649c9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 16:59:37 2008 +0000

	    * Another experimental feature: a way to truly override attributes in
	      a rec.  This will be very useful to allow end-user customisation of
	      all-packages.nix, for instance globally overriding GCC or some other
	      dependency.  The // operator doesn't cut it: you could replace the
	      "gcc" attribute, but all other attributes would continue to
	      reference the original value due to the substitution semantics of
	      rec.

	      The syntax is a bit hacky but this is to allow backwards
	      compatibility.

	commit 9279174dde3e1a450e63e866d2683352dd8238d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 14:00:44 2008 +0000

	    * Added an experimental feature suggested by Andres: ellipses ("...")
	      in attribute set pattern matches.  This allows defining a function
	      that takes *at least* the listed attributes, while ignoring
	      additional attributes.  For instance,

	        {stdenv, fetchurl, fuse, ...}:

	        stdenv.mkDerivation {
	          ...
	        };

	      defines a function that requires an attribute set that contains the
	      specified attributes but ignores others.  The main advantage is that
	      we can then write in all-packages.nix

	        aefs = import ../bla/aefs pkgs;

	      instead of

	        aefs = import ../bla/aefs {
	          inherit stdenv fetchurl fuse;
	        };

	      This saves a lot of typing (not to mention not having to update
	      all-packages.nix with purely mechanical changes).  It saves as much
	      typing as the "args: with args;" style, but has the advantage that
	      the function arguments are properly declared (not implicit in what
	      the body of the "with" uses).

	commit db4f4a842515392a6b40f5c86b2ef885c1278451
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 13:02:19 2008 +0000

	    * Backward compatibility check to prevent nixos-rebuild from barfing
	      when upgrading Nix.

	commit 1b962fc7206bf3134b2a2097d3db0ee6d2863c47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 12:53:29 2008 +0000

	    * @-patterns as in Haskell.  For instance, in a function definition

	        f = args @ {x, y, z}: ...;

	      `args' refers to the argument as a whole, which is further
	      pattern-matched against the attribute set pattern {x, y, z}.

	commit e8188384129bda7c8cdd5e17023ab05047551e6e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 10:14:34 2008 +0000

	    * "pattern" non-terminal.

	commit efe4b690ae4de5f0adea99abb1176a64a099d433
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 10:04:22 2008 +0000

	    * Refactoring: combine functions that take an attribute set and
	      functions that take a single argument (plain lambdas) into one AST
	      node (Function) that contains a Pattern node describing the
	      arguments.  Current patterns are single lazy arguments (VarPat) and
	      matching against an attribute set (AttrsPat).

	      This refactoring allows other kinds of patterns to be added easily,
	      such as Haskell-style @-patterns, or list pattern matching.

	commit c03b729319997b4e38c3f586d7c76352228b22e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 09:26:30 2008 +0000

	    * Increase the sleep periods a bit to make the test less likely to
	      fail on slow machines.  Of course it would be better if this test
	      wasn't timing dependent...

	commit 5664b6d7ba28453ccdd6d1c07a707f98608500ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 11 13:36:40 2008 +0000

	    * Removed the "valid values" feature.  Nobody uses it anyway.

	commit b455c4c45cba49397952e662cace85aedb6848fe
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Wed Aug 6 19:43:53 2008 +0000

	    Updates to nix-reduce-build

	    Common code in local build package sources refactored out in a function; before building the real set of derivations needed is found (slightly slower for only one build strategy, but less garbage on output and better performance for multiple build strategies).

	    Now you have full choice of best-effort build regardless of method (substituters or actual build), using substituters, building only fixed derivations (should get you all the downloads) and local build without even trying substituters.

	    Some minor fix in the help text about behavior with no package sources.

	commit 72f3ea7358f2c85ced46da3b958505951657f9d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 11:03:05 2008 +0000

	    * Moved some stuff to the Nixpkgs manual.
	    * Updated the release notes.

	commit 98b07466fbb9fc736bba0b93731117fd650e7349
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 10:57:53 2008 +0000

	    * Better error checking of the data from the substituters.

	commit 339c1420096c254b20b5b16b79a075b2c646ee70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 16:21:45 2008 +0000

	    * Use optimistic profile locking for nix-env operations like `-i' and
	      `-u'.  Instead of acquiring an exclusive lock on the profile for the
	      entire duration of the operation, we just perform the operation
	      optimistically (without an exclusive lock), and check at the end
	      whether the profile changed while we were busy (i.e., the symlink
	      target changed).  If so, the operation is restarted.  Restarting is
	      generally cheap, since the build results are still in the Nix store.
	      Most of the time, only the user environment has to be rebuilt.

	commit a87b5256e27bb4ac359aa98ce11ff19c5cecd9fa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 16:16:49 2008 +0000

	    * Fix the tests.

	commit 001b3f06ecf7356cdef53f4ece4ba1cd87b97e77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 14:58:50 2008 +0000

	    * `nix-env --set': support --dry-run.

	commit 7592f48c83b2f333fa7c5e85fd2fb64445b1c6ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 13:46:01 2008 +0000

	    * nix-build: `--dry-run' flag.

	commit a1d310b6b5c710215265c1cd0d5893248ed50f92
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 13:44:46 2008 +0000

	    * `nix-store --realise': print what paths will be built/downloaded,
	      just like nix-env.
	    * `nix-store --realise': --dry-run option.

	commit 42043953c3558f054dc5b9bb3da605a4a3ed6314
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 13:15:47 2008 +0000

	    * Doh.

	commit 5adbb0aabe54479304453bf5e544f84b40ee7dd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 13:15:35 2008 +0000

	    * build.cc: only use a substituter if it returns info for a path.

	commit 5b1052663a35940fc99ae6a8fcf6e707ae939fef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 13:11:09 2008 +0000

	    * Always show what paths we're going to build/download (as in
	      --dry-run).  Maybe there should be an option to turn this on/off?

	commit c4f98941ed7e5e07786d92fc0be4435878f9b3cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 12:29:04 2008 +0000

	    * nix-env --dry-run: show the total size of the substituter
	      downloads.

	commit 03427e76f11fe1d918020d28bdb69b2fb348ee96
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 11:44:50 2008 +0000

	    * querySubstitutablePathInfo: work properly when run via the daemon.
	    * --dry-run: print the paths that we don't know how to build/substitute.

	commit b3c26180e33856f16e1e5ceea30b951065b4ebc1
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sat Aug 2 16:43:25 2008 +0000

	    Updates to nix-reduce-build: only realize fixed derivations if user asks so, or only use substituters. Oh, and add possibility to use : for things like /etc/nixos/nixpkgs:-A:gnused

	commit 3c92ea399d717dc45b3fa91424c0dadc0239ebf2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 2 12:54:35 2008 +0000

	    * Make nix-env --dry-run print the paths to be substituted correctly
	      again.  (After the previous substituter mechanism refactoring I
	      didn't update the code that obtains the references of substitutable
	      paths.)  This required some refactoring: the substituter programs
	      are now kept running and receive/respond to info requests via
	      stdin/stdout.

	commit fc691e1cbdcddb8c553cba06d4089bc1b60e3d98
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 14:52:25 2008 +0000

	    * Print a better error message when a non-derivation attribute set is
	      coerced to a string.

	commit 096198d11f14a1fff2eb335a572c0b20ae52dbf8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 23 16:02:58 2008 +0000

	    * A quick hack to make nix-prefetch-url support mirror:// URLs.  It
	      requires that $NIXPKGS_ALL points at a Nixpkgs tree.

	commit 660244f65f5d3cb445c874b25fcf6494b3c1df3a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 23 09:38:38 2008 +0000

	    * Make sure that copy-from-other-stores.pl is built.

	commit e139d7fc6896ec9eaca3944828e37ec61894d8e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 18 20:03:12 2008 +0000

	    * Fix the tests.

	commit 989176c56e1996a7df87bb501ad09aed1f3b395d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 18 15:34:46 2008 +0000

	    * Allow read-only access to the store (e.g., non-root users on NixOS
	      can do operations like "nix-store -qR <path>" even without the Nix
	      daemon).

	commit 8bc591a6f07ee577b5aa594dfa705f3ddabd269d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 18 13:05:10 2008 +0000

	    * Use the copy-from-other-stores substituter by default.  Of course,
	      it only does something if $NIX_OTHER_STORES (not really a good
	      name...) is set.
	    * Do globbing on the elements of $NIX_OTHER_STORES.  E.g. you could
	      set it to /mnts/*/nix or something.
	    * Install substituters in libexec/nix/substituters.

	commit 15f39aba8ceb2dabc4f019bd1c985ca9d13bfdb4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 12 18:58:24 2008 +0000

	    * Quick prototype of a substituter that copies paths from other Nix
	      stores (typically remote Nix stores mounted via e.g. NFS, or the Nix
	      store on the NixOS installation CD).  Example use:

	      $ sshfs foo@example.org:/ /mnt
	      $ NIX_OTHER_STORES=/mnt/nix \
	        NIX_SUBSTITUTERS=.../copy-from-other-stores.pl \
	        nix-env -i foo

	      This will be especially useful for the installation CD since it
	      doesn't require a manifest for the CD contents.

	commit 7cd88b1dec29f33188e789d780ec2e4ebb155d20
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 11 13:29:04 2008 +0000

	    * Generalised the dependencyClosure primop to builtins.genericClosure,
	      which is hopefully more useful.
	    * New primops: length, mul, div.

	commit d567baabbd99fdb92e67295a77aef76ef970e65c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 1 10:10:32 2008 +0000

	    * Export the nix-env derivation name parsing and version comparison
	      logic through the `parseDrvName' and `compareVersions' primops.
	      This will allow expressions to easily check whether some dependency
	      is a specific needed version or falls in some version range.  See
	      tests/lang/eval-okay-versions.nix for examples.

	commit b3b0b2a29e2842784f80cf839f84af18b0b83e90
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 23 13:52:28 2008 +0000

	    * `make ext-clean': remove the bzip2 build.

	commit 6c8641a542aef69698ae05f568e8b8d67abfea8b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 19:17:05 2008 +0000

	commit 5af84139a8d04ad9fdb2c02bc242ce5cd50b87b9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 15:20:33 2008 +0000

	    * --max-freed: support values >= 4 GB.

	commit d3aa183beb774c20cb77052248cf45e684d134fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 14:20:16 2008 +0000

	    * Garbage collector: option `--max-freed' to stop after at least N
	      bytes have been freed, `--max-links' to stop when the Nix store
	      directory has fewer than N hard links (the latter being important
	      for very large Nix stores on filesystems with a 32000 subdirectories
	      limit).

	commit a8f3b02092fcc08fb25fb327d0188ffc888120bb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 14:13:00 2008 +0000

	    * `nix-store --optimise': handle files with >= 32000 hard links.
	      (There can easily be more than 32000 occurrences of the empty file.)

	commit a72709afd8ffe35613a6bacd698a36395e095a48
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 09:34:17 2008 +0000

	    * Some refactoring: put the GC options / results in separate structs.
	    * The garbage collector now also prints the number of blocks freed.

	commit 934c58aa381f5eacc86304ba7f5c6775ff456cd5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 17 08:12:12 2008 +0000

	    * Use bzip2 1.0.5.

	commit ee8f15930d9b2fb31b0125aac3ccd9a92d04c556
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jun 15 15:10:03 2008 +0000

	    * Test instrumentation.

	commit f351834f77441e14238b3348cfe211fa6f6f4e3a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jun 14 16:03:02 2008 +0000

	    * nix-worker: clean up the temporary root for the worker processes
	      in /nix/var/nix/temproots.

	commit 94fd46fa1c4655a609b3a67bef447c9547eb5080
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jun 14 16:02:31 2008 +0000

	    * Note.

	commit 955b8841cd2a32afd7f2be56b198ce4d163f3b46
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sat Jun 14 08:48:40 2008 +0000

	    Also trying to build derivers in case we cannot get substituters

	commit 18e27629d301ceef4c6f896f22197f8daee24da3
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sat Jun 14 08:30:35 2008 +0000

	    Added local best-effort builds (i.e. one failure does not ruin all packages you would like to see built)

	commit 826b271d9aead1a0f8e1678e7c2814066fffb983
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 13 18:25:24 2008 +0000

	    * Garbage collector: don't do a complete topological sort of the Nix
	      store under the reference relation, since that means that the
	      garbage collector will need a long time to start deleting paths.
	      Instead just delete the referrers of a path first.

	commit 30c9f909b24d64d8fabc2bb450e03744cc69c9a0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 13 17:21:20 2008 +0000

	    * Print some progress info during the early GC stages.

	commit 194c66eeebdd6920716c82eeb259083d7bbd84c5
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Fri Jun 13 14:34:19 2008 +0000

	    Stupid error in script

	commit f903d86740c918176bf299a114a03a49a17aa0b9
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Fri Jun 13 13:53:14 2008 +0000

	    OK, I will believe that fix does no worse..

	commit ce85b55cf0c81b9de1a1633bc8f200f1d0ed0d4c
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Thu Jun 12 17:45:38 2008 +0000

	    Updated help text

	commit 4532e4b90da3f4410e3c6ea4766e4e8912aa2cab
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Thu Jun 12 16:26:53 2008 +0000

	    Added verbosity for nix-reduce-build

	commit 2818b7cee6729043b9eeef5b6eb6bba68e93b1e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 11 15:39:38 2008 +0000

	    * Updated some URLs.

	commit 997b95a4af9b70bc36c57a681c1637499c5ed18c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 10 10:08:15 2008 +0000

	    * Fixed compatibility with old versions of "wc" that print whitespace
	      before the count.

	commit b0e92f6d474ce91d7f071f9ed62bbb2015009c58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 9 13:52:45 2008 +0000

	    * Merged the no-bdb branch (-r10900:HEAD
	      https://svn.nixos.org/repos/nix/nix/branches/no-bdb).

	commit 4ed01ed791b3bb7a4010049c6128aa2d49a81a29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 9 13:42:13 2008 +0000

	    * Updated some URLs (did this a long time ago but forgot to
	      commit...).

	commit c41a3ec3a9ebf0bfde5fe23fa10d800afe2d9bd9
	Author: Sander van der Burg <s.vanderburg@tudelft.nl>
	Date:   Wed Jun 4 14:36:46 2008 +0000

	    First attempt to update Nix SDF grammar to match the actual bison grammar

	commit bd955e15e1aac8a1490a680b9f5cfcce29f2331a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 21 11:17:31 2008 +0000

	    * GCC 4.3.0 (Fedora 9) compatibility fixes.  Reported by Gour and
	      Armijn Hemel.

	commit 9819bb20da130509ab62f303267331c2403b043c
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sun May 11 15:54:30 2008 +0000

	    Added support for file:// archive (.nar.gz) repositories to nix-reduce-build. /tmp/nix-export created by nix-http-export.cgi is OK.

	commit b4bc8b76160ff81e0e5489b88ff3ca8cbd587131
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Wed May 7 14:18:28 2008 +0000

	    --proxy=proxy:3128

	commit b1e321d6ce0b4ef2e042021939a3d6be160841f8
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Tue Apr 29 04:03:54 2008 +0000

	    Added http alternative transport for nix-reduce-build

	commit 658816ddc9b6c22ddb9de27b82fc15af2a473723
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 10 09:54:23 2008 +0000

	    * Make really sure that we use bash.  The line

	        NEED_PROG(shell, bash)

	      actually uses the content of $shell if set, which often points at
	      /bin/sh.

	commit 72034ab35d5ba8c2b229fe36375a15b2a8b5b68c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 9 05:57:01 2008 +0000

	    * sockaddr_un doesn't allow path names of more than 108 characters.
	      This isn't usually a problem, except that it causes tests to fail
	      when performed in a directory with a very long path name.  So chdir
	      to the socket directory and use a relative path name.

	commit f8985d195e600387fd03137872bb27cec65b2492
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 28 17:52:33 2008 +0000

	    * Fix for NIX-101 (should use an absolute path for call to nix-hash).

	commit 329025253d38361ee3d13af0728f99c756c86b7a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 27 13:45:17 2008 +0000

	    * Use /tmp/nix-build-<drvpath>-<counter> instead of
	      /tmp/nix-<pid>-<counter> for temporary build directories.  This
	      increases purity a bit: many packages store the temporary build path
	      in their output, causing (generally unimportant) binary differences.

	commit 5bb08db55b57b03608b15f599f0d5d9dbda13d74
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 14:57:16 2008 +0000

	    * Updated URL.

	commit 98968fbb63a1a049b2439bfc2a7d53e5b51471e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 18:15:20 2008 +0000

	    * Disable the don't-run-as-root sanity check because it breaks RPM
	      builds (which are done as root...).

	commit 2f1e2cf6326d25befc9962add29d6fe2e7246b1a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 14:59:33 2008 +0000

	    * Note that the SDF grammar isn't used.

	commit f10686811053f79b5c60c97a70dde4f638fad840
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 10:16:36 2008 +0000

	    * Cleanup.

	commit f789ea1d098c2755e97f7ee6ebc418f71e5f56f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 1 21:05:33 2008 +0000

	    * A transaction is unnecessary since the path cannot be
	      garbage-collected (it's a temporary root).

	commit d7caac3e811c0c9b284c8bbbdf5bc1dd5badd040
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 28 21:27:47 2008 +0000

	    * Don't install nix-reduce-build by default yet please, I first want
	      to understand better what it does...

	commit 11d512e7a812e750deccf616b461876fb0a342c2
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Wed Feb 27 21:26:47 2008 +0000

	    Added nix-reduce-build. You point it to some path you want to build and it fetches whatever it can from specified computers via nix-copy-closure. NOTE: You do want to set up RSA keys or ssh-agent or something... You really do want it. It will run separate ssh instances insane number of times.

	commit 0a84137c4512e0a31802e94de7795e04f8ee2198
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 21 12:01:24 2008 +0000

	    * checkVarDefs: don't check in closed terms, which don't have
	      undefined variables by definition.  This matters for the
	      implementation of "with", which does a call to checkVarDefs to see
	      if the body of the with has no undefined variables.  (It can't be
	      checked at parse time because you don't know which variables are in
	      the "with" attribute set.)  If we check closed terms, then we check
	      not just the with body but also the substituted terms, which are
	      typically very large.  This is the cause of the poor nix-env
	      performance on Nixpkgs lately.  It didn't happen earlier because
	      "with" wasn't used very often in the past.

	      This fix improves nix-env performance roughly 60x on current Nixpkgs.
	      nix-env -qa is down from 29.3s to 0.5s on my laptop, and nix-env -qa
	      --out-path is down from 229s to 3.39s.  Not bad for a 1-line fix :-)

	commit 0ed89c569f95d884fb8107a555f8a03672a0fffd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 5 13:38:07 2008 +0000

	    * Fix the parsing of

	        ''
	          '${foo}'
	        ''

	      where the antiquote should work as expected, instead of giving the
	      string "'${foo}'".

	commit 4066f450c2ea56f90eba819564a112ec5ba2ee09
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 5 13:35:49 2008 +0000

	    * Doh.

	commit e7bdde981f9460994baa805beb6906bb4aa4f947
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 5 13:25:18 2008 +0000

	    * Regression test.

	commit 66c51dc21558c6ac5149c5158df7e5b580029e84
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 29 18:17:36 2008 +0000

	    * nix-store --dump-db / --load-db to dump/load the Nix DB.
	    * nix-store --register-validity: option to supply the content hash of
	      each path.
	    * Removed compatibility with Nix <= 0.7 stores.

	commit 5b5a3af98372029f3a870cf18cc1442f1434be85
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sun Jan 20 20:44:03 2008 +0000

	    Probably fixed __exprToString

	commit 5eb5c23447b5c2bfa097416aab340d172eb416d3
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Tue Jan 15 04:32:08 2008 +0000

	    Fixed exportBuildReferenceGraph

	commit 7d0f6aed59b11ef1037e7b0ee4dae1c7288ebb45
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 4 14:22:49 2008 +0000

	    * New primop `unsafeDiscardStringContext' to get rid of string
	      contexts.  Needed to prevent unnecessary dependencies when building
	      the NixOS manual.

	commit 895c9538173a1c1d7e5f6c82e5b7a58b7d904683
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 17:53:59 2007 +0000

	    * Bumped the version number to 0.12.

	commit d4117859d61ed9560d0d6ab468735a22bfa6d076
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 16:57:12 2007 +0000

	commit e0ca6714911e34f86f6a644634ebaef86666e6dc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 02:52:17 2007 +0000

	    * More documentation.

	commit 6bdecfacbbebfaa4aa588941844713d2b31ae95c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 01:52:57 2007 +0000

	    * Documented a bunch of nix-store commands.

	commit 454f571f873eef151f382ef4ada7692d9680da77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 01:22:09 2007 +0000

	commit 4c82983010214f2588fbd7cf73265a816b7d8ac9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 01:17:25 2007 +0000

	commit f60aa2aa21f59de0d741ecb7d8a46d1bff82513c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 00:34:44 2007 +0000

	commit dedd62dd0ca0c066dd0fce32eaa7bff442bd15da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 31 00:08:09 2007 +0000

	    * More release notes.

	commit b5ddcf58ad1283d462fd10935708f8b24bc05135
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 30 23:59:10 2007 +0000

	    * Fix the hashDerivationModulo test.  I should really investigate
	      *why* the test failed...

	commit 59707975a39b0a444444df4eb6c2e6d19ff5e050
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 30 23:36:09 2007 +0000

	    * Documented indented string literals.
	    * Release notes.

	commit de012e76e2502cd5513cf7e7417aff6db3951cb2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 30 23:35:45 2007 +0000

	    * Don't use "store expression", it's obsolete.

	commit 2196cb67c5a47eeb822351f1669c201e16ea6ebc
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Sun Dec 30 09:30:56 2007 +0000

	    Added a way to include derivation with its outputs and dependencies - exportBuildReferenceGraph

	commit df303666bceb5715e706478fad0325447a2a52f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 14 14:49:35 2007 +0000

	    * Use strsignal if available to give better error messages for
	      builders that fail due to a signal.

	commit 1e90b4189d5b922479a10eac550736d608b038fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 14 14:15:30 2007 +0000

	    * Another insane Mac OS X 10.5 compatibility hack.

	commit 485d71c54a323e967ef4f0b4c5ebf97e97d7d725
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 14 14:08:09 2007 +0000

	    * Mac OS X 10.5 compatibility: `echo -n foo' suddenly prints `-n foo'
	      instead of `foo' without a newline (with /bin/sh, not /bin/bash,
	      even though /bin/sh is also bash...).  So use printf instead.

	commit 30e4653783096c8349ef12512df12f0829764e65
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 13 22:06:19 2007 +0000

	    * Mac OS X 10.5 compatibility.

	commit 4ff1335b2e7f69c33fa3d4223fe51e109338aa90
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Wed Dec 12 02:12:58 2007 +0000

	    small udpate

	commit 3a2833daffcaf22894220837d9f9985580f5823a
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Mon Dec 10 22:16:47 2007 +0000

	    corrected --help message for nix-store a bit

	commit 764b0115d5abd529d08d16f7bac2976e4a7e0cda
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Mon Dec 10 21:17:29 2007 +0000

	    Very basic nix vim syntax highlighting

	commit b42ef9c0544009b372e3da0275553ce08cf0ea2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 6 10:20:58 2007 +0000

	    * Syntax to escape '', ${.

	commit d4950f207f18e635cc13e3ee33103fd501456384
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 4 11:42:58 2007 +0000

	    * component -> package.

	commit 6d6c68c0d29310b6eca35f58b1e68f495d6cd33a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 30 16:48:45 2007 +0000

	    * Added a new kind of multi-line string literal delimited by two
	      single quotes.  Example (from NixOS):

	        job = ''
	          start on network-interfaces

	          start script

	            rm -f /var/run/opengl-driver
	            ${if videoDriver == "nvidia"
	              then "ln -sf ${nvidiaDrivers} /var/run/opengl-driver"
	              else if cfg.driSupport
	              then "ln -sf ${mesa} /var/run/opengl-driver"
	              else ""
	            }

	            rm -f /var/log/slim.log

	          end script
	        '';

	      This style has two big advantages:

	      - \, ' and " aren't special, only '' and ${.  So you get a lot less
	        escaping in shell scripts / configuration files in Nixpkgs/NixOS.
	        The delimiter '' is rare in scripts (and can usually be written as
	        "").  ${ is also fairly rare.

	        Other delimiters such as <<...>>, {{...}} and <|...|> were also
	        considered but this one appears to have the fewest drawbacks
	        (thanks Martin).

	      - Indentation is intelligently stripped so that multi-line strings
	        can follow the nesting structure of the containing Nix
	        expression.  E.g. in the example above 6 spaces are stripped from
	        the start of each line.  This prevents unnecessary indentation in
	        generated files (which sometimes even breaks things).

	      See tests/lang/eval-okay-ind-string.nix for some examples.

	commit 633518628f48fb9c06bfd570eeca6f62696aba05
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 29 16:18:24 2007 +0000

	    * nix-env -e: support uninstalling by path, so that one can say

	        $ nix-env -e $(which firefox)

	      or

	        $ nix-env -e /nix/store/nywzlygrkfcgz7dfmhm5xixlx1l0m60v-pan-0.132

	    * nix-env -i: if an argument contains a slash anywhere, treat it as a
	      path and follow it through symlinks into the Nix store.  This allows
	      things like

	        $ nix-build -A firefox
	        $ nix-env -i ./result

	    * nix-env -q/-i/-e: don't complain when the `*' selector doesn't match
	      anything.  In particular, `nix-env -q \*' doesn't fail anymore on an
	      empty profile.

	commit 12d0a1eb753567bb2083aadb4ee3d325d3f29c70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 29 14:15:33 2007 +0000

	    * Troubleshooting entry about running out of locks.

	commit 06f95dd07ce691a1f12c8ec7fa5ad84858d81cd0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 21 13:49:59 2007 +0000

	    * New primop `readFile' to get the contents of a file as a string.

	commit c370755583d7350f4b96136eb0a6a8a7b08551b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 16 16:15:26 2007 +0000

	    * Flag `--no-build-hook' to disable distributed builds.
	    * queryDeriver in daemon mode: don't barf if the other side returns an
	      empty string (which means there is no deriver).

	commit c05783ad67ee95b5dd76d160efedc23b3acb0905
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 16 16:10:27 2007 +0000

	    * nix-store --import: add a flag --require-signature.

	commit 6784b14241c916943cd9b1b0fa0af66fb574605c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 15 16:52:40 2007 +0000

	    * nix-build: pass --argstr to nix-instantiate.

	commit ca210d2a581622e0276c5e98420189374652d24a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 15 15:33:30 2007 +0000

	    * Doh!

	commit 149e27302334b6a83bfe293c15426d1a4abf958d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 15 15:07:27 2007 +0000

	    * Don't need gc.hh.

	commit bfec245efa68f010b8687c1eee8dcf909c4d1343
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 15 14:28:08 2007 +0000

	    * Add build-remote.pl to the Nix distribution.

	commit 6fc60e2060be5958c2aad1c859ee60bae5e23980
	Author: Michael Raskin <7c6f434c@mail.ru>
	Date:   Thu Nov 15 03:47:12 2007 +0000

	    Added possibility to specify garbage collection levels for store paths; so packages can share intermediate results of compilation and GC will collect it automatically while never touching tarballs, for example.

	commit 5b74a5957023bd51b7ba32fc244cb08931507a52
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 5 18:12:29 2007 +0000

	    * nix-prefetch-url: don't fail if /tmp/nix-prefetch-url-<pid> exists,
	      instead use a counter just like we do for temporary build
	      directories.

	commit 5f8a203b556c649ef25b4b855ee795b6cff23e98
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 1 14:42:44 2007 +0000

	    * A rule to make a PDF version of the manual.

	commit 1511aa11ce8a529ebf7210a9090653a7d7e885d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 1 13:28:33 2007 +0000

	    * Documented some of the more obscure derivation attributes (including
	      fixed-output derivations).

	commit fa44e401a8ca5cddc2c5506984f0cd476e0b7d57
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 31 18:01:56 2007 +0000

	    * Documented multi-user Nix.

	commit e007b50eb7ba070c039fc438f49a72bd248e1b5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 29 22:16:36 2007 +0000

	commit bfea7b1f3514e4b3b4fd094969de92efa46c415d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 29 14:31:45 2007 +0000

	    * Make the `--prebuilt-only' / `-b' option work not just for queries
	      but installations/upgrades as well.  So `nix-env -ub \*' will
	      upgrade only those packages for which a substitute is available (or
	      to be precise, it will upgrade each package to the highest version
	      for which a substitute is available).

	commit 0b95603595511db693378404b0f84d4033030dec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 29 10:46:45 2007 +0000

	    * Depend on bash instead of sh (since we use a few bashisms).

	commit 42d80d11705579dbb1e8b9029e2beaa1e86baf91
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 29 10:03:07 2007 +0000

	    * On FreeBSD, sys/mount.h needs sys/param.h.

	commit d91cd305634bfe0de200cb0b062a56349249d26e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 27 16:51:55 2007 +0000

	    * Detect whether chroot / bind-mount support is available.

	commit dc6f373842ae65d6c407d8169089367d9c0d4e1a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 27 16:06:38 2007 +0000

	    * Delete the chroot directory automatically.
	    * Removed some debug messages.

	commit 9397cd30c8a6ffd65fc3b85985ea59ecfb72672b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 27 00:46:59 2007 +0000

	    * Support for doing builds in a chroot under Linux.  The builder is
	      executed in a chroot that contains just the Nix store, the temporary
	      build directory, and a configurable set of additional directories
	      (/dev and /proc by default).  This allows a bit more purity
	      enforcement: hidden build-time dependencies on directories such as
	      /usr or /nix/var/nix/profiles are no longer possible.  As an added
	      benefit, accidental network downloads (cf. NIXPKGS-52) are prevented
	      as well (because files such as /etc/resolv.conf are not available in
	      the chroot).

	      However the usefulness of chroots is diminished by the fact that
	      many builders depend on /bin/sh, so you need /bin in the list of
	      additional directories.  (And then on non-NixOS you need /lib as
	      well...)

	commit 0b4ed64d295316146fc4de8a5a2e971b771058b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 26 18:25:50 2007 +0000

	    * "trace" primop: write the trace to standard error.

	commit cd08fb3fdeaeb80f8d980f7ef2ace93cf5194c0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 24 13:54:06 2007 +0000

	commit d423968ba1d4f13abd469aa5b2e7ee5facac71d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 23 16:34:04 2007 +0000

	    * Improved introduction (actually copied mostly from the homepage).

	commit 612b3e8fa35dde4893f92b4d0a5cfb5aa040f551
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 22 15:28:32 2007 +0000

	    * Document the new primops in Nix 0.11.

	commit 35ac16e75e1fb7c948adecd64904f40b96d1d8fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 22 12:58:28 2007 +0000

	    * Move list of built-in functions to a separate file.

	commit 1db187ff690e6673433eb073088fe5169e12a4d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 22 12:46:15 2007 +0000

	commit f90d85107e5ea092f125b8e83c0cce9eddae766e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 22 12:05:30 2007 +0000

	commit f8ed2e64a5d77badf68263ac239ad9d991f23ea8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 22 12:05:18 2007 +0000

	commit f529a3be8a1c1eab6af06171c498f38508e7a729
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Mon Oct 22 01:10:19 2007 +0000

	    Added comment telling about setup-hook and propagatedBuildInputs

	commit 14e47e9c2caa7bec5778dd740ebb4a200b2b5c2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 10 14:58:00 2007 +0000

	    * Doh.

	commit d04291cfabd81f3c9e06b2dba68a4edaf6f8df87
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 10 13:52:38 2007 +0000

	    * Doh! Don't change the permissions on /nix/store.

	commit 315183f194881591480d9acd1eef685d6b64d7f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 10 13:43:04 2007 +0000

	    * nix-store --optimise: flag "--dry-run" to just query what the disk
	      savings would be.

	commit a8629de827e4d5a67372614727ce6fcc26423f8c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 9 22:14:27 2007 +0000

	    * New command `nix-store --optimise' to reduce Nix store disk space
	      usage by finding identical files in the store and hard-linking them
	      to each other.  It typically reduces the size of the store by
	      something like 25-35%.  This is what the optimise-store.pl script
	      did, but the new command is faster and more correct (it's safe wrt
	      garbage collection and concurrent builds).

	commit 27a0662828cb5ac9da198f35754750f12628d546
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 9 12:51:25 2007 +0000

	    * listToAttrs: the list now should consist of {name, value} attribute
	      sets instead of {attr, value}.  "name" is better than "attr" because
	      the *combination* of the two forms the attribute.

	commit 8a9fe6c11c4cf6ae9f3648ece844a8f392fc1cc0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 19 14:01:41 2007 +0000

	    * Manpage for nix-copy-closure.

	commit 27f57c901800c085ecc4667748b2c3a2485ee8cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 18 14:01:14 2007 +0000

	    * Ignore dangling symlinks in ~/.nix-defexpr.

	commit f3441e6122c3ce8f81576bfe79897a638c8f82e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 18 09:11:20 2007 +0000

	    * Pass various options to the worker so that flags like -K or -j work
	      in multi-user Nix (NIX-72).
	    * Client/worker: exchange a protocol version number for future
	      compatibility.

	commit 26f981c2e52bb8dc91311f9a4ca53f7e37233e5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 18 08:26:55 2007 +0000

	    * Remove garbage.

	commit c8ea8a09b88ec89ef9749e9d8bae09c7cada5d1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 17 19:24:07 2007 +0000

	    * nix-env -qa: make the "-A" flag do the expected thing, namely follow
	      the given attribute path (just as -A does with other option)
	      (NIX-83).  So you can now say

	      $ nix-env -qa -A nixpkgs_unstable.gnome \*
	      atk-1.12.4
	      esound-0.2.36
	      ...

	      to see the packages in the "gnome" attribute in Nixpkgs.

	      To *print* the attribute path, you should now use "--attr-path" /
	      "-P" (running out of letters...).

	commit 055608227f5a003825a905b0eb2aea39cba5ca16
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 17 16:08:24 2007 +0000

	    * nix-env: allow ~/.nix-defexpr to be a directory.  If it is, then the
	      Nix expressions in that directory are combined into an attribute set
	      {file1 = import file1; file2 = import file2; ...}, i.e. each Nix
	      expression is an attribute with the file name as the attribute
	      name.  Also recurses into directories.

	    * nix-env: removed the "--import" (-I) option which set the
	      ~/.nix-defexpr symlink.

	    * nix-channel: don't use "nix-env --import", instead symlink
	      ~/.nix-defexpr/channels.  So finally nix-channel --update doesn't
	      override any default Nix expressions but combines with them.

	      This means that you can have (say) a local Nixpkgs SVN tree and use
	      it as a default for nix-env:

	      $ ln -s .../path-to-nixpkgs-tree ~/.nix-defexpr/nixpkgs_svn

	      and be subscribed to channels (including Nixpkgs) at the same time.
	      (If there is any ambiguity, the -A flag can be used to
	      disambiguate, e.g. "nix-env -i -A nixpkgs_svn.pan".)

	commit 3339f854473863c8780e537626f457be0b2b33e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 11 13:32:04 2007 +0000

	    * Test the impureEnvVars feature.

	commit 9441550acb34cf35f6cd3859d3672adca79551d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 4 15:38:09 2007 +0000

	    * nix-push / generate-patches: bzip the manifest.

	commit 7b20c0ed4b3ef518c1f55bfbb2ece932539f35ea
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Sun Sep 2 10:36:59 2007 +0000

	    explanation what happens when passing true / false and null values to derivation builders added

	commit 0d65fc08e2f7e69976ab91271024a87dbeef380d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 30 09:50:44 2007 +0000

	    * Create the Nix daemon socket in a separate directory
	      (/nix/var/nix/daemon-socket).  This allows access to the Nix daemon
	      to be restricted by setting the mode/ownership on that directory as
	      desired, e.g.

	        $ chmod 770 /nix/var/nix/daemon-socket
	        $ chown root.wheel /nix/var/nix/daemon-socket

	      to allow only users in the wheel group to use Nix.

	      Setting the ownership on a socket is much trickier, since the socket
	      must be deleted and recreated every time the daemon is started
	      (which would require additional Nix configuration file directives to
	      specify the mode/ownership, and wouldn't support arbitrary ACLs),
	      some BSD variants appear to ignore permissions on sockets, and it's
	      not clear whether the umask is respected on every platform when
	      creating sockets.

	commit cb1c1004cdd582abe67146ab3904bd88de3a1d4e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 28 16:22:08 2007 +0000

	    * When there are multiple substituters, make sure to release the
	      lock on the output path after trying each.  Otherwise the
	      pathIsLockedByMe() test gets confused.

	commit c970b28ba0f8866bde800849120d429d781ccb5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 28 11:36:17 2007 +0000

	    * Fix a race condition with parallel builds where multiple
	      fixed-output derivations or substitutions try to build the same
	      store path at the same time.  Locking generally catches this, but
	      not between multiple goals in the same process.  This happened
	      especially often (actually, only) in the build farm with fetchurl
	      downloads of the same file being executed on multiple machines and
	      then copied back to the main machine where they would clobber each
	      other (NIXBF-13).

	      Solution: if a goal notices that the output path is already locked,
	      then go to sleep until another goal finishes (hopefully the one
	      locking the path) and try again.

	commit bc0429b1cd94289ac8d8a51f562b920999002b89
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 28 11:31:44 2007 +0000

	    * Doh! Broken test.

	commit e0d7e47862aa1b33292fb8d05e5d50ad4ebf3590
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 28 09:39:03 2007 +0000

	    * PathLocks::lockPaths: don't allow reacquiring a lock we already
	      hold.

	commit 455a7b95776440a56fd5d545d3b9a01cbae1d8e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 28 09:21:47 2007 +0000

	    * Test case to show that parallel builds of different fixed-output
	      derivations that produce the same output path don't work properly
	      wrt locking.  This happens a lot in the build farm when fetchurl
	      derivations downloading the same file on different platforms are
	      executed in parallel and then copied back to the main machine.

	commit 7d5836b34df363c2b2e7fc1574aaba1dde9a697e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 22 14:52:22 2007 +0000

	    * nix-channel: supports users who don't have write permission to the
	      manifests directory.  In that case, we don't do a nix-pull, so the
	      user gets pure source deployment.

	      The directory /nix/var/nix/gcroots/per-user/$USER should be
	      writable.  (It's created automatically if
	      /nix/var/nix/gcroots/per-user is writable, e.g. if it has 1777
	      permission.)

	commit 2629998e9167b2d7897a2f34a6f531affc4033db
	Author: Marc Weber <marco-oweber@gmx.de>
	Date:   Sat Aug 18 22:12:00 2007 +0000

	    primop functions listToAttrs (+test), __isAttrs, __trace added
	    new configuration style proposal in lib/default-unstable.nix

	commit dbc0170ed998484178780d9390ae0d4434bf93b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 15 09:24:06 2007 +0000

	    * Show errors in nix-prefetch-url.

	commit 5c793ad03e08f8f795397af1d49034ac6f616ade
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 14 13:43:51 2007 +0000

	    * Hopefully this fixes the test on FreeBSD.

	commit ffa1c61cd50a512685b44c55261c1539890482f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 14 13:15:59 2007 +0000

	    * Fix the tests.

	commit a7e1a51fdf5d93b0a158a120595443fe9c7c6687
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 13 14:56:40 2007 +0000

	    * A test for the nix-worker.

	commit 550ba9ebb4b1b2415c9930879cfa6937f7fa916a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 13 13:15:02 2007 +0000

	    * Fix the tests.

	commit 3757ee589f46a401fdacaa2126e6bf4902eee23d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 13 11:37:39 2007 +0000

	    * Bump the Nix database schema version number; delete the substitutes
	      table.

	commit 59afc1a15cfb90c333aa7423e46be32cc0635b12
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 13 11:15:13 2007 +0000

	    * Backwards compatibility.

	commit 9e975458b48d9eb041a6484c634be2ee8ee1649d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Aug 12 00:29:28 2007 +0000

	    * Get rid of the substitutes database table (NIX-47).  Instead, if we
	      need any info on substitutable paths, we just call the substituters
	      (such as download-using-manifests.pl) directly.  This means that
	      it's no longer necessary for nix-pull to register substitutes or for
	      nix-channel to clear them, which makes those operations much faster
	      (NIX-95).  Also, we don't have to worry about keeping nix-pull
	      manifests (in /nix/var/nix/manifests) and the database in sync with
	      each other.

	      The downside is that there is some overhead in calling an external
	      program to get the substitutes info.  For instance, "nix-env -qas"
	      takes a bit longer.

	      Abolishing the substitutes table also makes the logic in
	      local-store.cc simpler, as we don't need to store info for invalid
	      paths.  On the downside, you cannot do things like "nix-store -qR"
	      on a substitutable but invalid path (but nobody did that anyway).

	    * Never catch interrupts (the Interrupted exception).

	commit 4695f4edd6925147a59befefce1c66d34bb2d0e4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 10 01:42:00 2007 +0000

	    * nix-pull: support bzipped manifests: when doing a nix-pull on $url,
	      try $url.bz2 first.

	commit 911bc01454fba42b531f3f8dd0781845b045be63
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 10 00:28:44 2007 +0000

	    * Enable nix-prefetch-url caching in nix-channel.

	commit 5e52df18fefb188b7c7a8e917ebeb8ea1f5ed95a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 10 00:22:21 2007 +0000

	    * Don't rely on /dev/stdin.

	commit c5e934dcc9f3c0e75cd14fd7dbab6048abf907d1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 9 23:52:53 2007 +0000

	    * nix-pull: using nix-prefetch-url (so that we get caching for free),
	      and store the manifests in the Nix store.  (So now
	      /nix/var/nix/manifests/ just contains symlinks to the store and is
	      searched for GC roots.)

	commit f881f7a017059fb501668aa85d41e873fe8f5285
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 9 23:16:44 2007 +0000

	    * nix-prefetch-url: support caching.  If the environment variable
	      NIX_DOWNLOAD_CACHE is set, then nix-prefetch-url will store the hash
	      and timestamp of downloaded files in the directory
	      $NIX_DOWNLOAD_CACHE.  This allows it to figure out if the file is
	      still in the Nix store.

	commit ef240bc0d564d8de8877724756c1e7765c74ff75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 7 23:40:39 2007 +0000

	    * Use the new patched version of the aterm library.

	commit d71cc503a6f50f8c576eb8665ce3cf08d74e035b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 7 15:00:13 2007 +0000

	    * Don't allocate input files on the stack.

	commit 4cad125e088576035ea8f7955d7770278aa6ed24
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 6 16:08:09 2007 +0000

	    * Optionally warn about packages that give an assertion failure.

	commit 6da6fbfbe940feb807eeef20035d6603448d4d5e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 5 20:33:04 2007 +0000

	    * Properly keep packages during upgrades.

	commit 6d1a1191b053645fa0277830524bf085a7fe0956
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 12 16:53:44 2007 +0000

	    * Support queryDeriver() in multi-user installations.

	commit 9d9e1c5c41023e03ed5069ba6fc17ad3cfeab9f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 11 13:59:07 2007 +0000

	    * Distribute bzip2 1.0.4.

	commit 9bff7ad7287dafff1e06f3c3db6a5ec295d7c152
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 11 11:36:22 2007 +0000

	    * Check against creation of GC roots in the store.  Those roots don't
	      work, because findRoots() stops when it encounters a symlink to the
	      store.  And of course the store is supposed to be read-only.

	commit f3ebd03bb17533806d38fe871200b1dc4688acdc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 4 12:03:33 2007 +0000

	    * Remove debug statement.

	commit 40b6f06f09ce1faa5fb7532475623dfd5e4d6208
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Sat Jun 2 15:03:54 2007 +0000

	    change default NIX_HASH_ALGO

	commit b47da5ea21df9ba558f05516198d401f76719cf5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 16 22:07:39 2007 +0000

	commit bddc83a1487e9f3c1bb3ac2279c0238e8e6c3ff3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 16 16:17:04 2007 +0000

	    * New builtin function "isFunction".  You're not supposed to use it
	      ;-)
	    * Channels: fix channels that are plain lists of derivations (like
	      strategoxt-unstable) instead  of functions (like nixpkgs-unstable).
	      This fixes the error message "error: the left-hand side of the
	      function call is neither a function nor a primop (built-in
	      operation) but a list".

	commit ca00aa11714921804afb490d0613086f549fb894
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 15 12:14:37 2007 +0000

	    * Allow empty argument lists in function definitions (e.g., `{}:
	      bla').  Also allow trailing commas (`{x, y,}: ...') as a unintented
	      consequence.  Hopefully the reduce/reduce conflict won't cause any
	      problems.

	commit 7046c35843af7c6232efc7e7ee23b26096e0c692
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 14 12:16:41 2007 +0000

	    * Typo (reported by Marc Weber).

	commit e5da9c88039c360065f20cfd513f2fe68430f04a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 7 16:59:19 2007 +0000

	    * Create the database directory if it doesn't exist.

	commit 30beeb27a9729366cb4a93d602815827a6153d06
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 2 19:38:02 2007 +0000

	    * Set the right priorities when recovering from a directory
	      collision.

	commit 34d4c9388b31f21710939399376f3ade08ab2162
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 2 16:06:04 2007 +0000

	commit 93aefd9fc0250eda2c47d22a88922d319cde34b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 1 23:16:38 2007 +0000

	    * Give unpacked channels more sensible names than 0, 1, ...  They now
	      get the basename of the channel URL (e.g., nixpkgs-unstable).  The
	      top-level Nix expression of the channel is now an attribute set, the
	      attributes of which are the individual channels (e.g.,
	      {nixpkgs_unstable = ...; strategoxt_unstable = ...}).  This makes
	      attribute paths ("nix-env -qaA" and "nix-env -iA") more sensible,
	      e.g., "nix-env -iA nixpkgs_unstable.subversion".

	commit a9d15d4f434fece269852a65be836d1338ed787d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 1 20:33:18 2007 +0000

	    * nix-env -i: instead of breaking package ties by version, break them
	      by priority and version install.  That is, if there are multiple
	      packages with the same name, then pick the package with the highest
	      priority, and only use the version if there are multiple packages
	      with the same priority.

	      This makes it possible to mark specific versions/variant in Nixpkgs
	      more or less desirable than others.  A typical example would be a
	      beta version of some package (e.g., "gcc-4.2.0rc1") which should not
	      be installed even though it is the highest version, except when it
	      is explicitly selected (e.g., "nix-env -i gcc-4.2.0rc1").

	    * Idem for nix-env -u, only the semantics are a bit trickier since we
	      also need to take into account the priority of the currently
	      installed package (we never upgrade to a lower priority, unless
	      --always is given).

	commit cbfac2fdccc83b04d9c2027e9e21070d4ac7c7e5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 1 15:16:17 2007 +0000

	    * Set a terminate() handler to ensure that we leave the BDB
	      environment cleanly even when an exception is thrown from a
	      destructor.  We still crash, but we don't take all other Nix
	      processes with us.

	commit 644946feed146396c00c288337bad26428970aa4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 1 13:21:05 2007 +0000

	    * Make --verify more interruptable.

	commit bd1f66453a7a1900f9fa850a7052b3fbe3e26933
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 1 11:30:52 2007 +0000

	    * `nix-env -q --xml --meta' to show all meta attributes.

	commit e20f0da22ccb28d94bfd82fa66e2a723c75951f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 30 18:41:27 2007 +0000

	    * Doh.

	commit 89c1d2b202dccbf91c40586ac33efee515f7e93d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 27 23:48:14 2007 +0000

	    * Package flag "keep" that prevents a package from being removed from
	      a user environment by an install or upgrade action.  This is
	      particularly useful if you have a version installed that you don't
	      want to upgrade (e.g., because the newer versions are broken).
	      Example:

	        $ nix-env -u zapping --dry-run
	        (dry run; not doing anything)
	        upgrading `zapping-0.9.6' to `zapping-0.10cvs6'

	        $ nix-env --set-flag keep true zapping

	        $ nix-env -u zapping --dry-run
	        (dry run; not doing anything)

	      However, "-e" will still uninstall the package.  (Maybe we should
	      require the keep flag to be explicitly set to false before it can be
	      uninstalled.)

	commit a46db5d013a5c3ab5b041824bfb935e5c042886c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 27 23:28:44 2007 +0000

	    * Package conflict resolution through priority levels.  If there is a
	      user environment collission between two packages due to overlapping
	      file names, then a package with a higher priority will overwrite the
	      symlinks of a package with a lower priority.  E.g.,

	        $ nix-env --set-flag priority 5 gcc
	        $ nix-env --set-flag priority 10 binutils

	      gives gcc a higher priority than binutils (higher number = lower
	      priority).

	commit 3d05166086682b39e013001bdaedb3e8b68a769f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 27 22:40:59 2007 +0000

	    * Allow conflicting packages to be kept in a user environment, and
	      allow switching between them (NIX-80).

	      Example: two versions of Pan:

	        $ nix-env -q pan
	        pan-0.128
	        pan-0.14.2.91

	        $ readlink $(which pan)
	        /nix/store/l38jrbilw269drpjkx7kinhrxj6fjh59-pan-0.14.2.91/bin/pan

	      At most one of them can be active any given time.  Assuming than
	      0.14.2.91 is active, you can active 0.128 as follows:

	        $ nix-env --set-flag active false pan-0.14.2.91
	        $ nix-env --set-flag active true pan-0.128

	        $ readlink $(which pan)
	        /nix/store/nziqwnlzy7xl385kglxhg75pfl5i936n-pan-0.128/bin/pan

	      More flags to follow.

	commit b7f0f65c1934851b038826b2ab78c0378a36143a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 26 14:20:31 2007 +0000

	    * nix-env -q now has a flag --prebuilt-only (-b<) that causes nix-env
	      to show only those derivations whose output is already in the Nix
	      store or that can be substituted (i.e., downloaded from somewhere).
	      In other words, it shows the packages that can be installed “quickly”,
	      i.e., don’t need to be built from source.

	commit 5dc05b76ab88a332521a777d6a42974b3f432f02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 16 16:08:44 2007 +0000

	    * Updated dependency information.

	commit 5f2492eaecfe8d3451812e894852b1330492e827
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 16 15:03:19 2007 +0000

	    * New primop "throw <string>" to throw an error.  This is like abort,
	      only thrown errors are caught by the top-level derivation evaluation
	      in nix-env -qa / -i.

	commit 0a8eeea9d8060b9d25891ccc5a9d55e32bf829ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 16 14:45:25 2007 +0000

	    * Remove a warning.

	commit 2716f9bc5f947ffdd2835c2a820ca8d35544630e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 16 12:00:13 2007 +0000

	    * It seems that svnversion prints a carriage return on Cygwin, so we
	      get a invalid #define VERSION.  Use "svnversion -n" to leave out the
	      newline.  Fix provided by Marc Weber.

	commit ae7990cc88dcc6a61edfe9e442174bc5b1bc3299
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 30 13:24:35 2007 +0000

	    * Work around a bug in Apple's GCC preprocessor.

	commit 4caca58ff7cc2edae110a11b9c47d14fea345eca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 30 09:01:05 2007 +0000

	    * Make the maximum patch size configurable.

	commit 17b506c0c7a927da1befc62100c5354e4b3147f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 28 15:46:21 2007 +0000

	    * Handle ECONNRESET from the client.  Also, don't abort() if there are
	      unexpected conditions in the SIGPOLL handler, since that messes up
	      the Berkeley DB environment (which a client must never be able to
	      trigger).

	commit efd31139dfd07600c909fa14870c82d90c6ca9de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 27 09:53:58 2007 +0000

	    * Forgot a @bindir@.

	commit d303b389a9dbd44fe60deba5e98e68ec98bdddd3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 26 21:05:17 2007 +0000

	    * `nix-copy-closure --from': copy from a remote machine instead of to
	      a remote machine.

	commit 7edd2e2cd281cadbc9b7a5afbb279e5570caf77a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 26 20:49:22 2007 +0000

	    * Refactoring.

	commit f3584ff535f4244f6df7d0eadf9695fd8a747c8d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 21 12:39:55 2007 +0000

	    * Fix URL/description.

	commit 803cb6e3b9c0719add9a977e76ab3fadb78858f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 20 22:04:25 2007 +0000

	    * Override the setuid helper using NIX_SETUID_HELPER.

	commit a8ea4cbcc8337e0fd4d423201794891fdf6e8677
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 20 11:13:15 2007 +0000

	    * Scan /proc/sys/kernel/modprobe for roots to prevent the kernel
	      modules for the running kernel from being garbage-collected.  Idem
	      for /proc/sys/kernel/fbsplash.

	commit 8ab229ddf2383ec6455836f342539b8c89356f76
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 19 12:48:45 2007 +0000

	    * Terminate build hooks and substitutes with a TERM signal, not a KILL
	      signal.  This is necessary because those processes may have joined
	      the BDB environment, so they have to be given a chance to clean up.
	      (NIX-85)

	commit b2b6cf3fc83f0e1625214ae31b0b088a266234bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 19 09:16:47 2007 +0000

	    * Undocumented option `gc-check-reachability' to allow reachability
	      checking to be turned off on machines with way too many roots.

	commit eb2dd4815c05fcc592d049bddcd2f42d13216eab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 13 11:30:57 2007 +0000

	    * Remove old generations in all directories under
	      /nix/var/nix/profiles, not just in that directory itself.  (NixOS
	      puts profiles in /nix/var/nix/profiles/per-user.)

	commit 917e06bf6398ed77a23e5e1fc894321a7fc7f86e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 7 15:53:11 2007 +0000

	    * Delete the output paths before invoking the build hook.

	commit df0283ae86afd1a40a83b2abc3705146ab0a6cb8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 1 13:55:47 2007 +0000

	    * Get rid of those stupid --login tricks, it's the responsibility of
	      the remote system to make sure that Nix is in the $PATH.

	commit 30394a4f3f99ccfffb6935b47433c320f00e2a67
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 1 13:49:20 2007 +0000

	    * sh -> bash.

	commit db1973d01277278b58253676337e568d5591c01f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 1 13:30:46 2007 +0000

	    * Look for the openssl program at compile time.  If not found, call
	      openssl through $PATH at runtime.

	commit b4a040e52b607e019515e9339f90a2e5c6c21ad5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 1 12:30:24 2007 +0000

	    * Don't check the signature unless we have to.

	commit 2ea3bebc23b2d13475c00191f6005740fbdc7771
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 27 23:18:57 2007 +0000

	    * Doh!  The deriver can be empty.

	commit 044b6482c185ba8966d9d893b033d97d66b5f225
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 27 19:10:45 2007 +0000

	    * Greatly reduced the amount of stack space used by the Nix expression
	      evaluator.  This was important because the NixOS expressions started
	      to hit 2 MB default stack size on Linux.

	      GCC is really dumb about stack space: it just adds up all the local
	      variables and temporaries of every scope into one huge stack frame.
	      This is really bad for deeply recursive functions.  For instance,
	      every `throw Error(format("error message"))' causes a format object
	      of a few hundred bytes to be allocated on the stack.  As a result,
	      every recursive call to evalExpr2() consumed 4680 bytes.  By
	      splitting evalExpr2() and by moving the exception-throwing code out
	      of the main functions, evalExpr2() now only consumes 40 bytes.
	      Similar for evalExpr().

	commit adce01a8d05ee21890a5be699a26f1835594cb5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 27 17:28:51 2007 +0000

	    * When NIX_SHOW_STATS=1, show the amount of stack space consumed by
	      the Nix expression evaluator.

	commit 363e307fd360c32a932b9bcb1d620d3add259f79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 26 23:32:10 2007 +0000

	    * Error message to stdout.

	commit ddde8e2f32b5c6785e9ac7c6ea6eb84813cca293
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 22 18:15:29 2007 +0000

	    * Handle EINTR in select().

	commit 27bb0ac7d2571d32c28cd09bf23cf916905d2557
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 22 17:00:58 2007 +0000

	    * /man -> /share/man

	commit fa2be32034dcb25f9382dda91514a7785211f443
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 22 16:42:01 2007 +0000

	    * nix-copy-closure: force a login shell on the remote machine to make
	      sure that nix-store is in the PATH.
	    * nix-copy-closure: option --gzip to compress data.

	commit 4c5e6d1a2f48a26c22ee5b515f8ac672d3d2e7ab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 22 15:48:20 2007 +0000

	    * nix-copy-closure: option --sign.
	    * nix-copy-closure: set SSH options through NIX_SSHOPTS..

	commit 024a8ed3822867c5f9b9498bd8b27fa5dc180846
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 23:14:53 2007 +0000

	    * New command `nix-copy-closure' to copy a closure to a Nix store on
	      another machine through ssh.  E.g.,

	        $ nix-copy-closure xyzzy $(which svn)

	      copies the closure of Subversion to machine `xyzzy'.  This is like
	      `nix-pack-closure $(which svn) | ssh xyzzy', but it's much more
	      efficient since it only copies those paths that are missing on the
	      target machine.

	commit 7f6161ab3af81e0adf834d9cfb6d232ad5c54ec2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 23:08:55 2007 +0000

	    * Flush cout to show progress.

	commit 0db450024dbeadf0c595a6de8743b7cb8f3dcbcd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 23:00:31 2007 +0000

	    * Export/import many paths in one go.

	commit 9da367b7d5e7c71efd802b87c99c11faff141499
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 22:45:10 2007 +0000

	    * `nix-store -qR' and friends: print the paths sorted topologically
	      under the references relation.  This is useful for commands that
	      want to copy paths to another Nix store in the right order.

	commit 881feb96987dace75f983c16fec1013b70602d4f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 17:57:59 2007 +0000

	    * Flag `--print-invalid' in `nix-store --check-validity' to print out
	      which paths specified on the command line are invalid (i.e., don't
	      barf when encountering an invalid path, just print it).  This is
	      useful for build-remote.pl to figure out which paths need to be
	      copied to a remote machine.  (Currently we use rsync, but that's
	      rather inefficient.)

	commit 65f195f4c7eec4f0880e7c3953aa5e78eeffbebf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 17:51:10 2007 +0000

	    * Check that the file containing the secret key is secret.

	commit bdadb98de8fcd5ed99cca97071741e2775f3ada2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 17:34:02 2007 +0000

	    * `nix-store --import' now also works in remote mode.  The worker
	      always requires a signature on the archive.  This is to ensure that
	      unprivileged users cannot add Trojan horses to the Nix store.

	commit 0f5da8a83c227879566ed87623617fe195bc6f88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 16:34:00 2007 +0000

	    * Support exportPath() in remote mode.

	commit dc7d59477613e88b18133208f6c8b2f646e66260
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 16:23:25 2007 +0000

	    * importPath(): set the deriver.
	    * exportPath(): lock the path, use a transaction.

	commit 43c4d18c6a4e1a8b129114439718e26c12b49ca8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 15:45:32 2007 +0000

	    * `nix-store --import': import an archive created by `nix-store
	      --export' into the Nix store, and optionally check the cryptographic
	      signatures against /nix/etc/nix/signing-key.pub.  (TODO: verify
	      against a set of public keys.)

	commit 46e0919ced4646004cc0701b188d0a68e24e8924
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 14:31:42 2007 +0000

	    * `nix-store --export --sign': sign the Nix archive using the RSA key
	      in /nix/etc/nix/signing-key.sec

	commit 6c9fdb17fbda181fc09a9ce1f49662ef522d006b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 21 14:00:46 2007 +0000

	    * Don't use $SHELL.

	commit b824a1daeefd1611c8d84432dc0b2b38f24bbbfd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 20 23:17:20 2007 +0000

	    * Start of `nix-store --export' operation for serialising a store
	      path.  This is like `nix-store --dump', only it also dumps the
	      meta-information of the store path (references, deriver).  Will add
	      a `--sign' flag later to add a cryptographic signature, which we
	      will use for exchanging store paths between build farm machines in a
	      secure manner.

	commit 3390c1be76f648ac0b18199c6204a32d1d6d5fbb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 20 22:57:46 2007 +0000

	    * Temporary notes on how we're going to use OpenSSL.

	commit 8181a1c3bbb35642d8242f13c3bbd17fe468c8e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 20 22:49:08 2007 +0000

	    * Close the file - just in case.

	commit 46605fb4f5024120f894f9894b8873c6a666a7a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 6 20:03:53 2007 +0000

	    * Fix 64-bit compiler warnings.

	commit 52d03276dd035aab2fc5c0c6e462866b6f96d6fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 5 12:10:10 2007 +0000

	    * Compatibility with docbook5-xsl.

	commit 451dbf687f65b42d70e64c3858771abaab51b356
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 2 01:52:42 2007 +0000

	    * nix-env now maintains meta info (from the `meta' derivation
	      attribute) about installed packages in user environments.  Thus, an
	      operation like `nix-env -q --description' shows useful information
	      not only on available packages but also on installed packages.

	    * nix-env now passes the entire manifest as an argument to the Nix
	      expression of the user environment builder (not just a list of
	      paths), so that in particular the user environment builder has
	      access to the meta attributes.

	    * New operation `--set-flag' in nix-env to change meta info of
	      installed packages.  This will be useful to pass per-package
	      policies to the user environment builder (e.g., how to resolve
	      collision or whether to disable a package (NIX-80)) or upgrade
	      policies in nix-env (e.g., that a package should be "masked", that
	      is, left untouched by upgrade actions).  Example:

	      $ nix-env --set-flag enabled false ghc-6.4

	commit f52de527c7743d8fe28574f02b632566a1006244
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 15:55:49 2007 +0000

	    * Doh!

	commit b618fa6eb6aa4cc128286ab748bfb100fa46a888
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 15:51:37 2007 +0000

	    * computeStorePathForText: take the references into account when
	      computing the store path (NIX-77).  This is an important security
	      property in multi-user Nix stores.

	      Note that this changes the store paths of derivations (since the
	      derivation aterms are added using addTextToStore), but not most
	      outputs (unless they use builtins.toFile).

	commit c558b1583c0e23bf4e19e916ef0ba223b61405a3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 15:15:37 2007 +0000

	    * Don't capitalise the primop functions.

	commit 18e60961057f67995bf76b1952c8673b89f59bc2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 15:11:32 2007 +0000

	    * Organise primops.cc a bit better.

	commit 7349bd0176b8a8ced3a017bb5d0e9ebb30570722
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 14:23:09 2007 +0000

	    New primitives:
	    * `sub' to subtract two numbers.
	    * `stringLength' to get the length of a string.
	    * `substring' to get a substring of a string.  These should be enough
	      to allow most string operations to be expressed.

	commit 7dedbd896ade732ab2fe88a5fe88e069cb329fa5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 29 13:32:50 2007 +0000

	    * filterSource: pass strings to the predicate function instead of
	      paths.  Paths can have unexpected semantics.

	commit 84a84afb0ec60551c606fa95699afb6153465704
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 24 13:31:20 2007 +0000

	    * Nasty: Glibc clears the TMPDIR environment variable in setuid
	      programs, so if a builder uses TMPDIR, then it will fail when
	      executed through nix-setuid-helper.  In fact Glibc clears a whole
	      bunch of variables (see sysdeps/generic/unsecvars.h in the Glibc
	      sources), but only TMPDIR should matter in practice.  As a
	      workaround, we reinitialise TMPDIR from NIX_BUILD_TOP.

	commit fac63d6416ae0f7aec6c986d9d258b25047a24e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 23 16:57:43 2007 +0000

	    * exportReferencesGraph: work on paths within store paths as well.

	commit bae75ca5a18edbb9fb959e2e48065a1987ffb61a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 23 16:50:19 2007 +0000

	    * New kind of manifest object: "localPath", which denotes that a store
	      path can be created by copying it from another location in the file
	      system.  This is useful in the NixOS installation.

	commit 36d9258c0dbfeab095dc5727b6ebcb55afacb0a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 23 16:05:59 2007 +0000

	    * Successors have been gone for ages.

	commit 7bc30e1ca8e20ee54175881364663ce5aaf1fa1c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 22 09:53:36 2007 +0000

	    * nix-prefetch-url: change the default hash to SHA-256 (in base-32).

	commit 71ceb1c16102f82e15375afb44e0ac59e39eaa23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 15 14:50:25 2007 +0000

	    * Handle multiple indirect symlinks when loading a Nix expression.

	commit e4b0666f8eee3fc48f37c0cd3fd194c27652173c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 15 08:54:51 2007 +0000

	    * builtins.filterSource: pass the type of the file ("regular",
	      "directory", "symlink") as the second argument to the filter
	      predicate.

	commit 63f3ce6d9a26cb46a2f066dd9c5f2af25b3610df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 14 17:28:30 2007 +0000

	    * `nix-store --verify': revive checking the referrers table.  This is
	      important to get garbage collection to work if there is any
	      inconsistency in the database (because the referrer table is used to
	      determine whether it is safe to delete a path).
	    * `nix-store --verify': show some progress.

	commit 8f67b3588603483402440538d7dc326451bbe60d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 14 16:24:49 2007 +0000

	    * Make the garbage collector more resilient to certain consistency
	      errors: in-use paths now cause a warning, not a fatal error.

	commit 8659edc0981373a42f123cd7d84b9925be0123bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 14 12:33:04 2007 +0000

	    * Don't forget the .flags files.

	commit e418976107ed1581c108c82cd5b3b06c2f4ba9db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 14 12:32:44 2007 +0000

	    * Option --argstr for passing string arguments easily. (NIX-75)

	commit 4e329f173f738dfc83e58bdb8ad2ced6c452a395
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 14 12:16:58 2007 +0000

	    * Doh.

	commit afe23b5f385901ba5972ce88b2f053526c5097a9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 19:50:42 2007 +0000

	    * nix-pack-closure: store the top-level store paths in the closure.
	    * nix-unpack-closure: extract the top-level paths from the closure and
	      print them on stdout.  This allows them to be installed, e.g.,
	      "nix-env -i $(nix-unpack-closure)".  (NIX-64)

	commit f25f9000451ec5b9fb3221cdf2a297fe24ab7357
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 18:25:30 2007 +0000

	    * Allow multiple --attr / -A arguments in nix-build / nix-instantiate
	      (NIX-74).

	commit 215505bb46503b083fd64dd9a65e7b79d6eadf21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 17:54:01 2007 +0000

	    * Removed chroot support.

	commit f23dcdd60330c3b2f83b5b4278e38c245c397468
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 16:17:07 2007 +0000

	    * Canonicalise ASTs in `nix-instantiate --eval': remove position
	      info, sort attribute sets.

	commit 05879db628a31f53c69a0fc29311c840c80837e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 15:41:54 2007 +0000

	    * Memoize strict evaluation.

	commit 501158845919c8bdf4297a8a76a916dc5b9a7943
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 15:11:10 2007 +0000

	    * printTermAsXML: treat derivations specially; emit an element
	      <derivation outPath=... drvPath=...> attrs </derivation>.  Only emit
	      the attributes of any specific derivation only.  This prevents
	      exponententially large XML output due to the absense of sharing.

	commit 792878af911bd1913706a1a8ee5a18f7230352ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 14:48:41 2007 +0000

	    * Make printing an expression as XML interruptible.

	commit 11158028be348ed9eb58bf78f4cc9711e8bfe664
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jan 13 14:21:49 2007 +0000

	    * Cleanup.

	commit 1b7840b949f038d44f31492bd59e0e189e17ef9c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 11 19:28:28 2007 +0000

	commit 69c8b5b8a7165e1b9468c2b98a56b0e5af092a69
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 11 16:19:45 2007 +0000

	    * Install generate-patches into libexec.

	commit 1f3722bd4ad2ee0b97f9622574547f144dad6932
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 8 15:32:15 2007 +0000

	    * Reject patches that are larger than a certain fraction of the full archive
	      (currently 60%).  Large patches aren't very economical.

	commit 50bdec410adaf4acacd40444203799ac110e34d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 8 15:17:18 2007 +0000

	    * Huge speedup in patch propagation (20 minutes or so to 3 seconds).

	commit 4c63f9fe0493e07039c2a75a0926d2aab8cb6549
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 29 22:23:51 2006 +0000

	    * Another great success.

	commit 57969b95b321ca9527de9e4625db5fb6ad709e01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 29 20:37:55 2006 +0000

	    * Testing 1 2 3.

	commit cafaceb70721e9a5aea478501eb3b572bbacaa68
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 15 21:27:26 2006 +0000

	    * Handle weird cases when the server redirects us while setting a cookie.

	commit 1073b1780a68522a5cad0fe0e1e6735365034118
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 13 14:29:05 2006 +0000

	    * Remove debug message.

	commit a3e6415ba8cf1b8d2a1db40c06997d997eac8afc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 12 23:05:01 2006 +0000

	    * New primop builtins.filterSource, which can be used to filter files
	      from a source directory.  All files for which a predicate function
	      returns true are copied to the store.  Typical example is to leave
	      out the .svn directory:

	        stdenv.mkDerivation {
	          ...
	          src = builtins.filterSource
	            (path: baseNameOf (toString path) != ".svn")
	            ./source-dir;
	          # as opposed to
	          #   src = ./source-dir;
	        }

	      This is important because the .svn directory influences the hash in
	      a rather unpredictable and variable way.

	commit b438d37558eab56a2927771013c9080675381ba8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 12 21:51:02 2006 +0000

	    * In dumpPath(): pass a function object that allows files to be
	      selectively in/excluded from the dump.

	commit 3130f1f0fa484495ebca89bd458cf7fffa522687
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 12 20:17:14 2006 +0000

	    * Push.

	commit 7ace29dae7bc928e5511c148408825f6d846771e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 12 19:06:02 2006 +0000

	    * New operation `nix-env --set' which sets a user environment to a
	      single derivation specified by the argument.  This is useful when we
	      want to have a profile for a single derivation, such as a server
	      configuration.  Then we can just say (e.g.)

	      $ nix-env -p /.../server-profile -f server.nix --set -A server

	      We can't do queries or upgrades on such a profile, but we can do
	      rollbacks.  The advantage over -i is that we don't have to worry
	      about other packages having been installed in the profile
	      previously; --set gets rid of them.

	commit 1a7e88bbd9290987e72616d42c9e9d344acc2a86
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 12 16:14:31 2006 +0000

	    * New built-in function `builtins.attrNames' that returns the
	      names of the attributes in an attribute set.

	commit 5e6699188fba38619dc23c0b65ee70849f90ea6c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 9 23:14:55 2006 +0000

	commit b17677462c56161bb00fb2d90f2c8e3e2a855229
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 9 20:02:27 2006 +0000

	    * Use lchown() instead of chown() in canonicalisePathMetaData().  This
	      matters when running as root, since then we don't use the setuid
	      helper (which already used lchown()).

	    * Also check for an obscure security problem on platforms that don't
	      have lchown.  Then we can't change the ownership of symlinks, which
	      doesn't matter *except* when the containing directory is writable by
	      the owner (which is the case with the top-level Nix store directory).

	commit 5f681988f210dd8edbb0d13da7d00e1c0e2a1769
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 9 00:26:24 2006 +0000

	    * Use deletePathWrapped() in more places.

	commit fa333031464ca394317a55a0e7c6b773f068aae2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 8 18:41:48 2006 +0000

	    * Goal cancellation inside the waitForInput() loop needs to be handled
	      very carefully, since it can invalidate iterators into the
	      `children' map.

	commit 06c4929958c60b085cbe18a558df9ef58c8f8689
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 8 17:26:21 2006 +0000

	    * Some refactoring.
	    * Throw more exceptions as BuildErrors instead of Errors.  This
	      matters when --keep-going is turned on.  (A BuildError is caught
	      and terminates the goal in question, an Error terminates the
	      program.)

	commit 9dbfe242e3bdbfc7728a36c8a2b9fbbea2c8ed68
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 8 15:44:00 2006 +0000

	    * Kill a build if it has gone for more than a certain number of
	      seconds without producing output on stdout or stderr (NIX-65).  This
	      timeout can be specified using the `--max-silent-time' option or the
	      `build-max-silent-time' configuration setting.  The default is
	      infinity (0).

	    * Fix a tricky race condition: if we kill the build user before the
	      child has done its setuid() to the build user uid, then it won't be
	      killed, and we'll potentially lock up in pid.wait().  So also send a
	      conventional kill to the child.

	commit d3fe6ab024df7764f4de2a9dcf88e2daa981f786
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 8 00:19:50 2006 +0000

	    * Also for convenience, change the ownership of the build output even
	      in case of failure.

	commit 096194ab29db244fe791404e02b729a3e38eee8d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 23:58:36 2006 +0000

	    * Remove ancient terminology.

	commit 6833e8bbe89dc61bda59a1e04c01415501ad4133
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 23:27:40 2006 +0000

	    * When keeping the temporary build directory (-K), change the owner
	      back to the Nix account.

	commit e24d0201c29b09483944b462bd62b71a90c99c97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 22:07:05 2006 +0000

	    * Doh!

	commit 2819eb36a43488c348942de5ef4dca4442b999db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 21:43:35 2006 +0000

	    * Be less verbose.

	commit 4ca01065c3df106eb9610c425b2c604ba96db365
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 20:47:30 2006 +0000

	    * Rename all those main.cc files.

	commit d03f0d411740aebd5b27e5a1ac57d8533843ff6b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 18:51:11 2006 +0000

	    * Check for lchown.

	commit c3286ec020dfa20edcad6ad3cea519546e5207f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 17:52:58 2006 +0000

	    * Don't count on the Pid deconstructor to kill the child process,
	      since if we're running a build user in non-root mode, we can't.  Let
	      the setuid helper do it.

	commit a82d80ddeb6f68ff136124dfb591a404bb195ea3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 16:40:41 2006 +0000

	    * Move setuidCleanup() to libutil.

	commit f76fdb6d42a1b539fcf0b77d8efc5262283a19ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 16:33:31 2006 +0000

	    * If not running as root, let the setuid helper kill the build user's
	      processes before and after the build.

	commit ec23ecc64d40b7f65585c23592db123127967221
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 15:54:52 2006 +0000

	    * In the garbage collector, if deleting a path fails, try to fix its
	      ownership, then try again.

	commit a0a43c32062f756b32feca7d04e89fb5d01767db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 15:18:14 2006 +0000

	    * When not running as root, call the setuid helper to change the
	      ownership of the build result after the build.

	commit 6a07ff1ec068c6255d45644eb182dea5c0027286
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 14:14:35 2006 +0000

	    * Change the ownership of store paths to the Nix account before
	      deleting them using the setuid helper.

	commit 7d8cf316eec3b5b1f2cf5ae8558a80bcaa69437f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 11:27:32 2006 +0000

	    * Pass the actual build user to the setuid helper.

	commit a45c498e4e1109e0147b46df1230db718e5bceb1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 00:42:30 2006 +0000

	    * If Nix is not running as root, call the setuid helper to start the
	      builder under the desired build user.

	commit 813a7c65c99951a946e8342713884d46af1f2966
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 00:19:27 2006 +0000

	    * Sanity check.

	commit 6a8e60913ac470c704510a733d40d3fab3ecb00d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 7 00:16:07 2006 +0000

	    * Move killUser() to libutil so that the setuid helper can use it.

	commit 79875c5e42eca2e2d05f439da4b0da778385678a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 23:52:25 2006 +0000

	    * Change the ownership of the current directory to the build user.

	commit 62ab1314127a164c7e71e77551d549b27ce82e6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 23:15:26 2006 +0000

	    * Verify that the desired target user is in the build users group (as
	      specified in the setuid config file).

	commit f07ac41656fbc4349ec0dda9d072b06a8b38e53b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 22:45:41 2006 +0000

	    * Check that the caller is allowed to call the setuid helper.  The
	      allowed uid is specified in a configuration file in
	      /etc/nix-setuid.conf.

	commit 173d328351b2c59c313177d8d984df506760ada3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 20:19:25 2006 +0000

	    * Urgh.

	commit ef281b93c22580c3ccbcb598e3dd734402adce39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 20:18:29 2006 +0000

	    * Fix the safety check.

	commit a14d491f09e4f1908e916be507def744be11d1c0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 20:16:28 2006 +0000

	    * Oops.

	commit 6e5ec1029ad279c1ac69e14730afb4d2d9964b5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 20:00:15 2006 +0000

	    * Get rid of `build-users'.  We'll just take all the members of
	      `build-users-group'.  This makes configuration easier: you can just
	      add users in /etc/group.

	commit 751f6d2157a1b89f2463b68a90f8515deb3f942c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 17:29:10 2006 +0000

	    * nix-setuid-helper: allow running programs under a different uid.

	commit 9f0efa6611d010bf2fb88a2f6a583c4f32fd89ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 6 01:24:02 2006 +0000

	    * Start of the setuid helper (the program that performs the operations
	      that have to be done as root: running builders under different uids,
	      changing ownership of build results, and deleting paths in the store
	      with the wrong ownership).

	commit 2b558843a2228051bec475a016e7bb2565433330
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 19:01:19 2006 +0000

	    * Be less chatty.

	commit 44cad9630f25f7f1c6a9263c031e453170b2f489
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 18:28:15 2006 +0000

	    * Urgh.  Do setgid() before setuid(), because the semantics of setgid()
	      changes completely depending on whether you're root...

	commit 6f0d05032410873bd5cdb573b998c7a7939d09b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 18:21:16 2006 +0000

	    * Tricky: child processes should not send data to the client since
	      that might mess up the protocol.  And besides, the socket file
	      descriptor is probably closed.

	commit 4c1c37d0b6f4f8e7331b359617d7071c5e6e42fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 18:07:46 2006 +0000

	    * FreeBSD returns ESRCH when there are no processes to kill.

	commit 8d1854c3f19848fa6435aaa0fc688230ccc478c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 17:44:19 2006 +0000

	    * Oops!  In daemon mode, we can't run as root either if build-users is empty.

	commit 99655245ae21dd18403ce79f54199c13574da9aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 17:21:42 2006 +0000

	    * Use an explicit handler for SIGCHLD, since SIG_IGN doesn't do the
	      right thing on FreeBSD 4 (it leaves zombies).

	commit 62b0497c0f2e1b269c7284684524d20c39c1d519
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 16:17:01 2006 +0000

	    * Better message.

	commit c808e6252f7ba6d02834c591e0e4bcfbc8476635
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 15:36:31 2006 +0000

	    * Ugly hack to handle spurious SIGPOLLs.

	commit fd4a9db91fc82ddc399f3be73ba65188a63cd7d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 14:15:51 2006 +0000

	    * Some renaming.

	commit fc1c20d11b5e95690ad5acf6bebd5cea129618e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 13:57:35 2006 +0000

	    * Redundant.

	commit a9c4f66cfb1618833cc70ceaf13733730b634193
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 02:18:46 2006 +0000

	    * Allow unprivileged users to run the garbage collector and to do
	      `nix-store --delete'.  But unprivileged users are not allowed to
	      ignore liveness.
	    * `nix-store --delete --ignore-liveness': ignore the runtime roots as
	      well.

	commit 29cf434a35d82529f56c085c9cd50858c148d086
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 01:31:45 2006 +0000

	    * The determination of the root set should be made by the privileged
	      process, so forward the operation.
	    * Spam the user about GC misconfigurations (NIX-71).
	    * findRoots: skip all roots that are unreadable - the warnings with
	      which we spam the user should be enough.

	commit 8623256f483f77e090e689ae332165a530a489a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 00:48:36 2006 +0000

	    * findRoots: return a map from the symlink (outside of the store) to
	      the store path (inside the store).

	commit d27a73b1a95a911077947f39fab42c628c722c0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 5 00:34:42 2006 +0000

	    * In addPermRoot, check that the root that we just registered can be
	      found by the garbage collector.  This addresses NIX-71 and is a
	      particular concern in multi-user stores.

	commit 74033a844fe57e3e91c71ae37f9a65f6b2f22aa9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 23:29:16 2006 +0000

	    * Add indirect root registration to the protocol so that unprivileged
	      processes can register indirect roots.  Of course, there is still
	      the problem that the garbage collector can only read the targets of
	      the indirect roots when it's running as root...

	commit 0d40f6d7bb226e69f65f8ca8e6d0597baf3eec9a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 22:58:44 2006 +0000

	    * Not every OS knows about SIGPOLL.

	commit 7751160e9f560e7063d3e6e6e0e57b1432037b4c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 19:10:23 2006 +0000

	    * Don't redirect stderr.

	commit 40c3529909a929e03ebd943d87dd00e3fce93c9e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 17:55:14 2006 +0000

	    * Handle exceptions and stderr for all protocol functions.
	    * SIGIO -> SIGPOLL (POSIX calls it that).
	    * Use sigaction instead of signal to register the SIGPOLL handler.
	      Sigaction is better defined, and a handler registered with signal
	      appears not to interrupt fcntl(..., F_SETLKW, ...), which is bad.

	commit 0130ef88ea280e67037fa76bcedc59db17d9a8ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 17:17:13 2006 +0000

	    * Daemon mode (`nix-worker --daemon').  Clients connect to the server
	      via the Unix domain socket in /nix/var/nix/daemon.socket.  The
	      server forks a worker process per connection.
	    * readString(): use the heap, not the stack.
	    * Some protocol fixes.

	commit 4740baf3a61c48c07f12f23927c84ca9892088a8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 14:21:39 2006 +0000

	    * When NIX_REMOTE=daemon, connect to /nix/var/nix/daemon.socket
	      instead of forking a worker.

	commit f5f0cf423fda5e030d9be6fd6500a1b06d3a60bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 13:28:14 2006 +0000

	    * Refactoring.

	commit 052b6fb1495cd606d35cd3eb1806f9fe0019e6ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 13:15:29 2006 +0000

	    * Pass the verbosity level to the worker.

	commit 1e16d2065503e213189d58db14de893f51545597
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 4 13:09:16 2006 +0000

	    * Install the worker in bindir, not libexecdir.
	    * Allow the worker path to be overriden through the NIX_WORKER
	      environment variable.

	commit 9322b399f3a6fe3e0d60dfa991b06012c35b72f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 20:41:22 2006 +0000

	    * Doh.

	commit f4279bcde0934c221df081c366c8fc776aa2be99
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 16:25:19 2006 +0000

	    * Don't run setuid root when build-users is empty.
	    * Send startup errors to the client.

	commit 35247c4c9f55fd49d8838b0df963016fdcde0420
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 15:32:38 2006 +0000

	    * Removed `build-allow-root'.
	    * Added `build-users-group', the group under which builds are to be
	      performed.
	    * Check that /nix/store has 1775 permission and is owner by the
	      build-users-group.

	commit 84d6459bd5a0820729c57d710f886af6f423259b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 14:32:22 2006 +0000

	    * Use setreuid if setresuid is not available.

	commit a9f92410541e15e994c3306215608cb33ff101e2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 03:16:27 2006 +0000

	    * Handle a subtle race condition: the client closing the socket
	      between the last worker read/write and the enabling of the signal
	      handler.

	commit 3ed9e4ad9b72dfbe59d47823beec829fe550351e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 03:03:36 2006 +0000

	    * Some hardcore magic to handle asynchronous client disconnects.
	      The problem is that when we kill the client while the worker is
	      building, and the builder is not writing anything to stderr, then
	      the worker never notice that the socket is closed on the other side,
	      so it just continues indefinitely.  The solution is to catch SIGIO,
	      which is sent when the far side of the socket closes, and simulate
	      an normal interruption.  Of course, SIGIO is also sent every time
	      the client sends data over the socket, so we only enable the signal
	      handler when we're not expecting any data...

	commit 4251f94b32daed2abb0324439466876a97acdb77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 02:36:44 2006 +0000

	    * Use a Unix domain socket instead of pipes.

	commit 8c76df93e6fe021df6a6aa2b2c710202db326a34
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 02:22:04 2006 +0000

	    * Better error message if the worker doesn't start.

	commit 363f40022f08b3a7f5571574ddecf785db39584a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 02:12:26 2006 +0000

	    * Pid::kill() should be interruptable.

	commit 7951c3c5460324c652d42f5f92bcae44e0a0b9c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 02:08:13 2006 +0000

	    * Some hackery to propagate the worker's stderr and exceptions to the
	      client.

	commit 714fa24cfb5afeb144549e0cc4808cc2a1c459cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 3 00:52:27 2006 +0000

	    * Run the worker in a separate session to prevent terminal signals
	      from interfering.

	commit e25fad691aa3ccb492c4fb8840289f76151e553e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 16:41:36 2006 +0000

	    * Move addTempRoot() to the store API, and add another function
	      syncWithGC() to allow clients to register GC roots without needing
	      write access to the global roots directory or the GC lock.

	commit 30bf547f4f5bc881eb60c9e11020d077fbb8b899
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 15:46:17 2006 +0000

	    * Doh.

	commit 536595b072e73f72c421400c35d09089e7d54ca4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 15:45:51 2006 +0000

	    * Remove most of the old setuid code.
	    * Much simpler setuid code for the worker in slave mode.

	commit 9c9cdb06d095ea91e10be8dae3a85f06a99c51bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 14:34:14 2006 +0000

	    * Remove SwitchToOriginalUser, we're not going to need it anymore.

	commit 626f8ee42f0b984ebc1cbf0b39938bcb3edf3bd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 14:33:39 2006 +0000

	    * Clear NIX_REMOTE in the tests.

	commit 8ba5d32769560d32cb5e1e83fd30fb6da0b145f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 2 14:27:24 2006 +0000

	    * Remove queryPathHash().
	    * Help for nix-worker.

	commit fcd9900d74b0eb3d57402c448ede2a411133fa46
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 1 21:00:39 2006 +0000

	    * Replace read-only calls to addTextToStore.

	commit a824d58b566752b2a89a718fd628053754968d72
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 1 20:51:18 2006 +0000

	    * Merge addToStore and addToStoreFixed.
	    * addToStore now adds unconditionally, it doesn't use readOnlyMode.
	      Read-only operation is up to the caller (who can call
	      computeStorePathForPath).

	commit ceb982a1be381d59532d0405451f38d263abb617
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 1 18:02:05 2006 +0000

	    * Right name.

	commit b0d8e05be16e9887dbf3edcd6167c7f0b36dee5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 1 18:00:01 2006 +0000

	    * More operations.
	    * addToStore() and friends: don't do a round-trip to the worker if
	      we're only interested in the path (i.e., in read-only mode).

	commit 0565b5f2b35dc153dc98e1e3bd37476aa13ee4f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 22:43:55 2006 +0000

	    * More remote operations.
	    * Added new operation hasSubstitutes(), which is more efficient than
	      querySubstitutes().size() > 0.

	commit aac547a8b3f481fda48cc1fe1082ce4c32be0e03
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 21:32:46 2006 +0000

	    * Doh.

	commit 02632790713eaabd5250ba04283233c8bc078067
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 20:45:20 2006 +0000

	    * More operations.

	commit a711689368fe0915a2f18ea61fe6e953647d0174
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 20:13:59 2006 +0000

	    * First remote operation: isValidPath().

	commit 765bdfe542d3250329dea98b69db2271419f31b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 19:54:43 2006 +0000

	    * When NIX_REMOTE is set to "slave", fork off nix-worker in slave
	      mode.  Presumably nix-worker would be setuid to the Nix store user.
	      The worker performs all operations on the Nix store and database, so
	      the caller can be completely unprivileged.

	      This is already much more secure than the old setuid scheme, since
	      the worker doesn't need to do Nix expression evaluation and so on.
	      Most importantly, this means that it doesn't need to access any user
	      files, with all resulting security risks; it only performs pure
	      store operations.

	      Once this works, it is easy to move to a daemon model that forks off
	      a worker for connections established through a Unix domain socket.
	      That would be even more secure.

	commit 40b3f64b55f98e03b3173541b8d94cd924099223
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 19:19:59 2006 +0000

	    * Skeleton of the privileged worker program.
	    * Some refactoring: put the NAR archive integer/string serialisation
	      code in a separate file so it can be reused by the worker protocol
	      implementation.

	commit 9adc074dc3e135356c2390038bf72264c29c1e03
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 18:35:50 2006 +0000

	    * Oops.

	commit 9cf1948993659cc394eccea5890e14df82eff8bb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 18:35:36 2006 +0000

	    * Skeleton of remote store implementation.

	commit 6ecb840fd118019f879de60007e13321b7c080d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 18:02:04 2006 +0000

	    * Put building in the store API.

	commit e2ef5e07fdc142670f7f3161d3133ff04e99d342
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 17:43:04 2006 +0000

	    * Refactoring.  There is now an abstract interface class StoreAPI
	      containing functions that operate on the Nix store.  One
	      implementation is LocalStore, which operates on the Nix store
	      directly.  The next step, to enable secure multi-user Nix, is to
	      create a different implementation RemoteStore that talks to a
	      privileged daemon process that uses LocalStore to perform the actual
	      operations.

	commit 5f0b9de6d837daf43c6ab26d41c829621c3ca727
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 15:06:46 2006 +0000

	    * Benchmarking Unix domain sockets.

	commit fe15f991e3a65021442b682f187fcbdad06358a8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 30 11:24:10 2006 +0000

	    * Troubleshooting information on fixing a b0rked Berkeley DB database.

	commit 80b742dd520bffd3895b4dadef83d64e70309375
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 29 22:07:49 2006 +0000

	    * Don't spam.

	commit 92417600a1f26510d50310afef19b75c541d05df
	Author: Roy van den Broek <rbroek@cs.uu.nl>
	Date:   Wed Nov 29 21:58:09 2006 +0000

	    * Example script to set permissions for setuid operation.

	commit 71e867c5f5ee2c188244da33366e506935abffb7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 29 21:06:58 2006 +0000

	    * Remove --enable-setuid, --with-nix-user and --with-nix-group.
	      Rather, setuid support is now always compiled in (at least on
	      platforms that have the setresuid system call, e.g., Linux and
	      FreeBSD), but it must enabled by chowning/chmodding the Nix
	      binaries.

	commit c6a97e3b74289fdc8e57189212a0db3d0e6896e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 24 20:24:14 2006 +0000

	    * Doh!  Path sizes need to be computed recursively of course.
	      (NIX-70)

	commit a76efaeb3f2c1d7de6d41bd0e883b92e2d0f3d7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 24 20:07:30 2006 +0000

	    * Dead files.

	commit d94118628919ee5b6d8e52cd6dcf89ba13a54360
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 18 19:03:45 2006 +0000

	    * Show more progress.

	commit 0541ddc7e33c35a35efe85b6d6f603efb5bac8c8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 18 18:56:30 2006 +0000

	    * Turn off synchronisation between C and C++ I/O functions.  This
	      gives a huge speedup in operations that read or write from standard
	      input/output.  (So libstdc++'s I/O isn't that bad, you just have to
	      call std::ios::sync_with_stdio(false).)  For instance, `nix-store
	      --register-substitutes' went from 1.4 seconds to 0.1 seconds on a
	      certain input.  Another victory for Valgrind.

	commit 471749ca7eb594660488954d23391f5329d638a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 14 19:18:52 2006 +0000

	    * Grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...

	commit 17d18b1a9c821c234f5b0df7f4dec41a7ec537c1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 14 19:11:36 2006 +0000

	    * Doh!

	commit 0ddaee756e6e6b1d3802969162a90d4ff7ef886b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 14 19:08:46 2006 +0000

	    * Doh.

	commit bce9ff7ece912d18f1d92e6759b82ef5b8ad20aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 14 15:36:27 2006 +0000

	    * Use the patched ATerm library.

	commit 745e354b19a00dba9fd6d058036ce412ba30e23a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 14 10:23:21 2006 +0000

	    * Push.

	commit f459a5bb3a7142dee5d82c5d385bc3c4654c8e2c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 13 18:19:05 2006 +0000

	    * Remove the undocumented `noscan' feature.  It's no longer necessary
	      now that reference scanning is sufficiently streamy.

	commit e2a70b7ec04db604e9eaadfa6446bd360473163a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 13 18:18:13 2006 +0000

	    * Magic attribute `exportReferencesGraph' that allows the references
	      graph to be passed to a builder.  This attribute should be a list of
	      pairs [name1 path1 name2 path2 ...].  The references graph of each
	      `pathN' will be stored in a text file `nameN' in the temporary build
	      directory.  The text files have the format used by `nix-store
	      --register-validity'.  However, the deriver fields are left empty.

	      `exportReferencesGraph' is useful for builders that want to do
	      something with the closure of a store path.  Examples: the builders
	      that make initrds and ISO images for NixOS.

	      `exportReferencesGraph' is entirely pure.  It's necessary because
	      otherwise the only way for a builder to get this information would
	      be to call `nix-store' directly, which is not allowed (though
	      unfortunately possible).

	commit e40d4a5604a75540d94782d405dfff2000143f61
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 13 16:48:27 2006 +0000

	    * Option `--reregister' in `nix-store --register-validity'.  We need
	      this in the NixOS installer (or in the buildfarm) to ensure that the
	      cryptographic hash of the path contents still matches the actual
	      contents.

	commit e7904043184ed08b1c4f206bd67c9e84305220f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 13 14:54:18 2006 +0000

	    * Don't use the result of `uname -p' on x86_64 as it gives wacky
	      results on some machines. (NIX-69)

	commit 983c5e3fce1fb688ec086a5d6664a30f492f700d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 7 14:51:28 2006 +0000

	    * Fix the locking patch for Berkeley DB 4.5.

	commit 7e85a2af5f2cf6c19fc582c6cec77c0eefef2c31
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 3 16:17:39 2006 +0000

	    * Fix importing of derivation outputs.

	commit b3f916995af379ac1964e0459fb805803794ba39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 31 18:45:17 2006 +0000

	    * Oops, `nix-build --no-out-link' was broken.

	commit 005eecfc4d0a26694b521e999e4985c452c4b3f3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 30 16:29:05 2006 +0000

	    * Release notes.

	commit 8478cd260f31e8592aacdfaf99c1a4e53e4eb400
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 30 11:56:09 2006 +0000

	    * readFile: don't overflow the stack on large files.

	commit 8d17265ac4f9202d924a109a38db33dac5619f9f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 28 22:07:09 2006 +0000

	    * Don't use EPSV.

	commit ae6fb27f18fff6639f3b51ace4789537255a43a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 28 16:33:54 2006 +0000

	    * `nix-store --read-log / -l PATH' shows the build log of PATH, if
	      available.  For instance,

	        $ nix-store -l $(which svn) | less

	      lets you read the build log of the Subversion instance in your
	      profile.

	    * `nix-store -qb': if applied to a non-derivation, take the deriver.

	commit 99b0ea7c67e9e545bdf8b8bb050ce63dc9440e95
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 26 23:06:47 2006 +0000

	    * Typo reported by Arie Middelkoop.
	    * Left out close-quote in example.

	commit dd300fb48dd2048d056a5f25dda7d4c1f5515d46
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 23 16:45:19 2006 +0000

	    * Some better error messages.

	commit 1d694eef4ce022a99a3fb552804a1f26f686cc55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 19:20:18 2006 +0000

	    * Require Perl 5.8.0 or newer.  I mean, it *is* more than four years
	      old...

	commit 7a4497d98ca10a3e92d4f94fd62075f336b299b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 17:44:51 2006 +0000

	    * Checks for allowedReferences and some other features.
	    * Use nix-build in a test.

	commit 17f4883bfeb27c3fb6f28bd8ff8c6bbf65e6ea84
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 17:43:58 2006 +0000

	    * Better message.

	commit 9bd93f76069fdf25688ce984a17798ab0834202f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 17:39:02 2006 +0000

	    * toFile: maintain the references.

	commit b3d3700e113c584329473dbfbd3149c9ef8566e8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 17:30:09 2006 +0000

	    * nix-build: check the exit status of `nix-store -r'.

	commit 6a67556f7192108d612560992e97a14b0fe16a22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 19 16:09:24 2006 +0000

	    * Special derivation attribute `allowedReferences' that causes Nix to
	      check that the references of the output of a derivation are in the
	      specified set.  For instance,

	        allowedReferences = [];

	      specifies that the output cannot have any references.  (This is
	      useful, for instance, for the generation of bootstrap binaries for
	      stdenv-linux, which must not have any references for purity).  It
	      could also be used to guard against undesired runtime dependencies,
	      e.g.,

	        {gcc, dynlib}: derivation {
	          ...
	          allowedReferences = [dynlib];
	        }

	      says that the output can refer to the path of `dynlib' but not
	      `gcc'.  A `forbiddedReferences' attribute would be more useful for
	      this, though.

	commit daa8f85fcd3d5d7c48a51305818e05bee866b936
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 14:13:15 2006 +0000

	    * Backwards compatibility hack for user environments made by Nix <= 0.10.

	commit 24737f279e6f1e0fd079609b9397deb867925324
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 14:01:45 2006 +0000

	    * Backwards compatibility with old user environment manifests.

	commit 4bd5cdb90b980bd5e0eec86bf3fcfdd3b07946d1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 14:01:28 2006 +0000

	    * Print out the offending path.

	commit 58ff6939f4713063dabd77d485689691a82dbb3b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 12:58:42 2006 +0000

	    * An awful backwards compatibility hack.

	commit 3059df0f1e7c70da8b63e09420af84014ef96295
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 12:34:13 2006 +0000

	    * baseNameOf: paths don't have to be absolute.

	commit 822dba2210a03144510df357c4c38229b1e4c211
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 12:15:15 2006 +0000

	    * Maintain the references for the user environment properly.

	commit dfc042a0c1786596554f30d628555845ab4539d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 11:16:02 2006 +0000

	    * Another test.

	commit 9e30694f9838ff16533f614788c782503fe20967
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 11:08:59 2006 +0000

	    * Fix the tests wrt the AST changes, i.e., Str(s) -> Str(s, []), and
	      the semantic changes.

	commit be1961c9f8fbf71ab8ba7ba7a2da5dbb21be54b4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 11:07:11 2006 +0000

	    * toPath: should be the identity on paths.

	commit cba913c5217fd4071419279da81fd02599715b6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 11:05:34 2006 +0000

	    * dirOf: return a path if the argument is a path.

	commit cf705eaf78df646116f2fc14e6fa07d88f1607fe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 10:58:12 2006 +0000

	    * toString: don't copy paths.  So toString can be used to pass
	      non-store paths to a builder.

	commit 7de5fe2fc2cf4ceafc421697ad0bfb0a6e2d994d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 10:57:25 2006 +0000

	    * Do the path check on the normal form.

	commit 46b631b6c4a743b88bf2d6bb779c0f677e9b8318
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 17 10:15:42 2006 +0000

	    * Don't generate an empty drvPath attribute in the manifest.

	commit d7efd7639420f4c840cbfdfcbbb3c45292f3ac54
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 16 15:55:34 2006 +0000

	    * Big cleanup of the semantics of paths, strings, contexts, string
	      concatenation and string coercion.  This was a big mess (see
	      e.g. NIX-67).  Contexts are now folded into strings, so that they
	      don't cause evaluation errors when they're not expected.  The
	      semantics of paths has been clarified (see nixexpr-ast.def).
	      toString() and coerceToString() have been merged.

	      Semantic change: paths are now copied to the store when they're in a
	      concatenation (and in most other situations - that's the
	      formalisation of the meaning of a path).  So

	        "foo " + ./bla

	      evaluates to "foo /nix/store/hash...-bla", not "foo
	      /path/to/current-dir/bla".  This prevents accidental impurities, and
	      is more consistent with the treatment of derivation outputs, e.g.,
	      `"foo " + bla' where `bla' is a derivation.  (Here `bla' would be
	      replaced by the output path of `bla'.)

	commit 4c9aa821b985b8e334790a03497a56af3a021f3b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 13 14:08:14 2006 +0000

	    * Fix version.

	commit 142863a89d1652d6e634b5fb7f3084c9bc37b023
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 13 12:11:30 2006 +0000

	    * Use Berkeley DB 4.5.

	commit 37c8a664f3af9d67ecdc200d4a6b5ced1009c25f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 13 11:49:55 2006 +0000

	    * A helpful message.

	commit e4af398681576d62df29cfee018dea800a7dfa17
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 13 11:15:53 2006 +0000

	    * Don't crash when upgrading the Berkeley DB environment.

	commit 2a535689fe801441ef8e4a5c6659925528cce106
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 12 20:13:29 2006 +0000

	    * Reduce the maximum archive size for patch generation to 100 MB to
	      prevent trashing on nix.cs.uu.nl.

	commit 7d4567f2cc16959e827f542e6de76a28ff11789e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 11 21:59:33 2006 +0000

	    * Removed URIs from the evaluator (NIX-66).  They are now just another
	      kind of notation for strings.

	commit b4e012ab4d8ef2f9091c1e8d14e059b38a2e4529
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 11 13:39:00 2006 +0000

	    * Merge 0.10.1 release notes.

	commit 0c4c5c2020383db9c2d39d7a3420195568d06312
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 10 21:23:35 2006 +0000

	    * Quick hack to fix NIX-67: evaluation result differing if the Nix
	      expression resides in the store.

	commit bd0c40e1e93d2239b44bd1f73c2587cd62e66e4d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 10 15:07:23 2006 +0000

	    * `import': unwrap the context.  Necessary to make `import (x + y)'
	      work, where x is a store path.

	commit 7bada48b36a091bb30c905229e16df3c36c90d7d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 6 13:45:29 2006 +0000

	    * Bumped the version number to 0.11.

	commit e1cc84259ce38f0639f6304f04e1747c00fd43cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 6 09:59:02 2006 +0000

	    * Too lazy to document nix-push --copy.

	commit b3fc0160618d89bf63ce87ccad27fc68360c9731
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 6 09:03:39 2006 +0000

	    * Translate Unicode quote characters to ASCII equivalents when
	      generating NEWS.txt.

	commit 3815d2d463d6cd130e96497e66ff50b9243e59fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 6 07:47:56 2006 +0000

	    * Typos etc.
	    * Set the release date.

	commit beee18de881040e3d7861be694fc3c66e9bf4159
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 23:13:15 2006 +0000

	    * Document nix-store --delete.

	commit eff573f5638e8eefd682d0a8860728fe53791f22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 23:01:50 2006 +0000

	    * Work around a weird bug in the manpage generation.

	commit 9e08f5efe105fb1314e3bb052a819696ed2adee1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 22:57:07 2006 +0000

	    * Documented nix-store --dump / --restore.

	commit 8791ffbc886520e02017f854342922a624b61fb5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 22:56:52 2006 +0000

	    * Documented new nix-env options.

	commit 99ef620c8c453949719c45229a8bd4f1cd5a66a8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 20:41:57 2006 +0000

	    * Documented nix-instantiate --xml, --strict.
	    * Added an example to the nix-build section.

	commit 8396b592860bcb7b6394e7201b20d63ea92887d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 20:07:41 2006 +0000

	    * Documented --attr / -A.

	commit 5d769de8a34474f4e76911927118312b69b47136
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 09:08:52 2006 +0000

	    * Document --arg.

	commit 6f2bfd92b695a31b35d8d515cd4ee12f9fc2c786
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 5 08:21:52 2006 +0000

	    * Manual.

	commit d98f750fd8de5a0546903061e94b9bda3f68681f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 18:58:11 2006 +0000

	    * tmpnam() -> File::Temp::tempdir().

	commit 34427a7b43382215774b1a164fd784a0f7804d33
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 17:07:58 2006 +0000

	    * Weird.

	commit a3fd53b9eb767c9b9f2c8f3824a1aea1c25544a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 17:07:52 2006 +0000

	    * Style tweak.

	commit 59ef0aaf3fc6707d25f7f4fcabab4f1ceaaef9e1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 16:02:18 2006 +0000

	    * Strings.

	commit 407c9fd520e8084f3a313297cdd6e99e56247f07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 15:20:19 2006 +0000

	    * Explanation of toXML example.

	commit 0ef3bd3c376a2d48e98dfb8712a7d376743b0498
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 12:20:07 2006 +0000

	    * Use GIF callouts instead of PNG since the GIFs have transparency.

	commit 4a7ece698ba27e8957fed071434e3e66c337b03b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 08:26:05 2006 +0000

	commit bd4f1b4bb8fb20b0752677c52f28ff951205d513
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 4 08:14:35 2006 +0000

	    * Style tweaks.

	commit 96fa456a0ae624a30a3cfded21e91e690056eda2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 3 15:39:34 2006 +0000

	    * An example of using toXML to pass structured information to a
	      builder and generate a Jetty configuration file with XSLT.

	commit 5fd44654dbca02f188957279eb25a33a3ecfe96b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 3 15:38:59 2006 +0000

	    * toXML: propagate the context to allow derivations to be used in the
	      argument.

	commit 3837fb233cccc8f65629749f07820afba04952a0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 3 15:19:05 2006 +0000

	    * Document the built-in functions.

	commit d20c3011a06a49d229c92c49447eb21b5a1f110d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 3 14:55:54 2006 +0000

	    * toFile: added an additional argument to specify the store path
	      suffix, e.g., `builtins.toFile "builder.sh" "..."'.
	    * toFile: handle references to other files correctly.

	commit 84e6c43e85cab83ee033bf13c1e58c0f30ca1de9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 22:11:44 2006 +0000

	    * Documented nix-hash.

	commit cfe35ca0e04fe486394d8505646cf7dff5d627be
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 20:28:52 2006 +0000

	    * Manual.

	commit 853252ac6699ec339f0692c913361b0df417ded6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 16:14:30 2006 +0000

	    * Document the new let.

	commit ac19b333b38b2ac4b633bc1203e59c153bbb5c91
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 15:52:44 2006 +0000

	    * Finally, a real "let" syntax: `let x = ...; ... z = ...; in ...'.

	commit 7581cfdee4001cba719d4d72f8f17f1b4c04ed51
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 14:43:15 2006 +0000

	    * Hack for Bison 2.3 compatability.

	commit f316b6c1a91e596b2717bc4db76c6513e3ef5f85
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 11:50:55 2006 +0000

	    * Manual updates (especially how nix-build makes testing packages much
	      easier; no longer need a helper expression).

	commit 91a01e6fcf88edfff5cd1b25651452d4385b1fbd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 2 09:01:36 2006 +0000

	    * Manual.

	commit 88d422567eb018b8b050a662bdaa6b0faa6a4be0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 29 14:59:10 2006 +0000

	    * One-click installs.

	commit 0212feeed66d2eb0a9365ca4d55cb2dad3bc4ade
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 29 14:16:41 2006 +0000

	    * Document nix-install-package and the nixpkg file format.

	commit 070e07ed5aeac9918b9ec4cb6944f31b2b1aeeae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 29 11:03:16 2006 +0000

	    * Manual.

	commit 30c7db85d81840d9d99841ab72e95c5267a925a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 29 10:31:56 2006 +0000

	    * Manual updates, some style improvements.

	commit e2eed05224ed9bbc64014db9158bbc42bd3d9bef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 28 09:10:53 2006 +0000

	    * Manual updates.
	    * Documented nix-{pack,unpack}-closure.

	commit 4ad6fb7ea3e18361b6021a23a7401af4085d3602
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 27 21:04:07 2006 +0000

	    * Fix setuid builds.

	commit 015ac7c7da6dfc93d287b89e443648656a88665d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 27 13:27:26 2006 +0000

	    * Release notes.

	commit a9a6356ffceeb346b9de1f7640932a27bf90ce1d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 27 12:43:00 2006 +0000

	    * Release notes.

	commit e47d42536fbee59598951f1e007b7fa5884459e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 26 09:57:27 2006 +0000

	    * Release notes.

	commit 5ca45d085e0ecf44f5362272b89a8532c2fffdc8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 15:11:59 2006 +0000

	    * Use "propagated-user-env-packages", not "propagated-build-inputs"
	      for packages that should be propagated to the user environment.

	commit 02f2335712c6448b10f8a2828a22c663bf8d9579
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 15:07:45 2006 +0000

	    * Propagated packages now have lower priority; they are symlinked
	      *after* the packages that have been explicitly installed, and
	      collisions are ignored.

	commit 3632019b737d1c570a3c30f4f3f07763b5b1d23c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 14:00:59 2006 +0000

	    * Quick hack to let nix-install-package set the package name properly
	      (e.g., "java-front-0.9pre15899" instead of "java-front";
	      particularly important when doing upgrades later on).

	commit d43565c3e837feea478aaa71bad7e0a92c1911f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 11:11:16 2006 +0000

	    * In `nix-channel --update', skip manifests that assume a Nix store at
	      a different location than the user's.  This makes channels usable as
	      a source deployment mechanism for people who install Nix under
	      non-standard prefixes.  (NIX-57)

	commit 68ae953d8a492061bcda7c4d7bf2f5b9432f791c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 10:44:27 2006 +0000

	    * Clean up calls to system().

	commit 76c971009149f73453ccec66392625f2b67f8785
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 25 10:29:25 2006 +0000

	    * Use builtins.toPath.

	commit e347033f718e23d1ae6821207124465fedc73db1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 24 21:39:57 2006 +0000

	    * The result of a concatenation with a derivation on the left-hand
	      side should be a path, I guess.
	    * Handle paths that are in the store but not direct children of the
	      store directory.
	    * Ugh, hack to prevent double context wrapping.

	commit 0e705391dbe5340154d59106e591671923d107d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 24 18:23:32 2006 +0000

	    * Primop `toPath' to convert a string to a path.
	    * Primop `pathExists' to check for path existence.

	commit e47e0c2dbe808f299eb912da94640b95954703f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 24 17:48:41 2006 +0000

	    * Builtin function `getEnv' for getting environment variables.

	commit df8873e14ad071812e27f38b69783f04dbae5f44
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 24 15:21:48 2006 +0000

	    * lessThan primitive for integer comparison.

	commit 2ab4bc44c780d2e28647f7559664675b756f38b9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 15:29:21 2006 +0000

	    * Builtin function `add' to add integers.
	    * Put common test functions in tests/lang/lib.nix.

	commit d315210612a8d5eb52654407903544b72222130b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 14:55:19 2006 +0000

	    * Added a builtin function `isList' to test whether a value is a list.
	      With this primitive, a list-flattening function can be implemented
	      (NIX-55, example is in tests/lang/eval-okay-flatten.nix).

	commit c02a44183fcff7c28cfed1c84c142cc2cf80f167
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 14:46:36 2006 +0000

	    * Builtin functions `head' and `tail' to return the head and tail of
	      list.  Useful for lots of things, such as implementing a fold
	      function (see NIX-30, example is in tests/lang/eval-okay-list.nix).

	commit 8a1ab709a47f0896cb5b47521e31c8c27f88b2b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 14:31:55 2006 +0000

	    * New builtin functions builtins.{hasAttr, getAttr} to check for
	      attribute existence and to return an attribute from an attribute
	      set, respectively.  Example: `hasAttr "foo" {foo = 1;}'.  They
	      differ from the `?' and `.' operators in that the attribute name is
	      an arbitrary expression.  (NIX-61)

	commit 666babbbfa2fc168b8d511a35065d352b4979dae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 13:10:30 2006 +0000

	    * Use a bounded amount of memory in scanForReferences() by not reading
	      regular files into memory all at once.

	commit 385c6f87373303f6e4c9f4e67e02507641a268f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 12:07:41 2006 +0000

	    * Supply the 64-bit ATerm patch, but don't apply it (since that
	      requires rerunning Autoconf/Automake).  Interested users should do
	      that themselves.

	commit d22d7565f3a1848552f9459e18cb4be4e6d08018
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 11:28:23 2006 +0000

	    * Don't allocate the buffer twice.

	commit b43aeadbc9a42c845a50c28ceb1c148e39e77cb9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 11:13:35 2006 +0000

	    * Don't allocate more than SIZE_MAX bytes.

	commit 4cab35d1a691009b43fb0c47574ae0e4baa0b65d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 22 11:13:12 2006 +0000

	    * Build with -D_FILE_OFFSET_BITS=64 to support files >= 2^31 bytes
	      (NIX-22).

	commit 25df5017046ca5d4f753787532b747cb2c44fec6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 21 19:06:34 2006 +0000

	    * GC options in nix-store --help (NIX-15).

	commit 0bd5eb71a0a23b27a02af591ba46e4cf2c34aa04
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 21 18:54:08 2006 +0000

	    * `nix-install-package --url': install from a URL (NIX-12).
	    * `nix-install-package --help' (NIX-9).
	    * `nix-install-package --non-interactive': don't prompt or pause.
	    * Tests for nix-install-package.
	    * Security fixes: filter the values obtained from the nixpkg.

	commit 4e91d8621f6620f8b15535002309882fd7794a1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 21 18:52:05 2006 +0000

	    * Fix comment.

	commit ee5040421ff442ec62db25f35874d9a27f9a646f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 21 11:29:14 2006 +0000

	    * Try konsole and gnome-terminal in addition to xterm.

	commit 1bdc152931b2da66d896199e22defa70eaec9eff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 16:36:29 2006 +0000

	    * Shut up a warning.

	commit 1b804f88e44e7f6760e9c43e329a8a6eb368c52e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 16:23:14 2006 +0000

	    * Absolute path to rm (NIX-51).
	    * Don't hardcore /nix/bin and /nix/store.

	commit 0623359fbc67c421bf76b7433f92c7ef58050321
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 16:15:32 2006 +0000

	    * Print a better error message for wrong hashes (NIX-49).

	commit 22d13d6ec27b02f98ca4e398fbae4f3273e97794
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 15:28:47 2006 +0000

	    * Check for patch (NIX-59).

	commit 947e64578969e95e96157c7e2e52fd7299027184
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 15:14:19 2006 +0000

	    * Hide warnings about a missing "lsof" (NIX-54).

	commit a060adf165e24a585da0301e88ad41e674f3e9db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 20 15:04:04 2006 +0000

	    * Use paths, not strings, when calling the function that generates
	      NARs.  Fixes the impurity of nix-push (NIX-21).
	    * Better help.

	commit 7dd342e482b230d0042f8f2dee6ccb44232a3d3b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 19 16:40:22 2006 +0000

	    * Doh.

	commit ee6cf99660bbef843145731fbcdce9880c3bdb21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 19 16:14:15 2006 +0000

	    * Doh!  Of course we have to take execute permission into account.
	    * Restore the mtime on modified directories.

	commit 6dbed1bf38cd881ebf13aae39a4d988e4bd57f79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 19 14:58:35 2006 +0000

	    * `optimise-store.pl' reduces disk space consumption by hard-linking
	      all identitical files in the Nix store to each other.  (Previously
	      it only computed the size that would be saved by doing so.)

	commit 07cec27848014244c8f62985c5c0eb045bc86634
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 19 14:27:28 2006 +0000

	    * Cleanups.

	commit 9488ae7357b718e09362c22f075cc5553c758214
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 19 13:53:35 2006 +0000

	    * `show-duplication.pl', a small utility that shows the amount of
	      package duplication present in (e.g.) a profile.  It shows the
	      number of instances of each package in a closure, along with the
	      size in bytes of each instance as well as the "waste" (the
	      difference between the sum of the sizes of all instances and the
	      average size).

	      $ ./show-duplication.pl /nix/var/nix/profiles/default
	      gcc 11
	        3.3.6 19293318
	        3.4.4 21425257
	        ...
	        average 14942970, waste 149429707
	      coreutils 6
	      ...
	      average package duplication 1.87628865979381, total size 3486330471, total waste 1335324237, 38.3017114443825% wasted

	      This utility is useful for measuring the cost in terms of disk space
	      of the Nix approach.

	commit e0afaf18576e8c04110f4ae8499a311cae261215
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 14 22:48:59 2006 +0000

	    * Wow, that bug has been there since r764.

	commit 86cbd93ec1e439fba3e33016272db45d9597fba4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 14 22:33:53 2006 +0000

	    * nix-env --switch-generation / --list-generations /
	      --delete-generations: lock the profile to prevent (extremely
	      unlikely) race conditions.

	commit 5c38c863bdb6904f28a929b97e91d283e29aea70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 14 22:30:33 2006 +0000

	    * Fix a huge gaping hole in nix-env w.r.t. the garbage collector.
	      Nix-env failed to call addPermRoot(), which is necessary to safely
	      add a new root.  So if nix-env started after and finished before the
	      garbage collector, the user environment (plus all other new stuff)
	      it built might be garbage collected, leading to a dangling symlink
	      chain in ~/.nix-profile...

	    * Be more explicit if we block on the GC lock ("waiting for the big
	      garbage collector lock...").

	    * Don't loop trying to create a new generation.  It's not necessary
	      anymore since profiles are locked nowadays.

	commit f00bc4c94ca4122d432ae516f8d1d7b405d5d05e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 12 09:29:28 2006 +0000

	    * "Too many links" error.

	commit 01d169f817649796aad94180beadbf54bb636161
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 11 13:05:15 2006 +0000

	    * Support `++'.
	    * More follow restrictions on layout.

	commit feb63da431eae72087fb57d723e62573ee0c4e14
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 8 09:31:07 2006 +0000

	    * Remove debug message.

	commit a04a65d7a5ef904ff8465bd4e63e17a88d75be2f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 6 14:29:49 2006 +0000

	    * Release notes.

	commit 2e210b2387904ada0417ad5a7502e4e40b852e02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 6 14:23:04 2006 +0000

	    * Convenience option `nix-collect-garbage -d' (--delete-old): removes
	      old generations of *all* profiles in /nix/var/nix/profiles, then
	      runs the garbage collector.  Quick way to get rid of all old stuff.
	      Of course, one cannot roll back to earlier points in time after
	      this.

	commit 89ac8db74f1241c56b05f579cc1e04056de1a6ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 5 11:34:50 2006 +0000

	    * Package the include directory.

	commit a89a2015981ed32354ff1cc29ea41ae8d0221fbe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 5 10:32:47 2006 +0000

	    * Missing #include.

	commit fc195519b5dfbb8e7901cf6672fb4af36df9b350
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 5 08:54:48 2006 +0000

	    * Sone missing #includes.

	commit bafc1690fc4a2a2c3ff81ff1c1a677f208d3b1b7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 22:55:28 2006 +0000

	    * Move setuid stuff to libutil.
	    * Install libexpr header files.

	commit e5a6c09b12a9a68ba604d4e95adf28482ae8fc8d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 22:41:36 2006 +0000

	    * Install header files in /nix/include/nix.

	commit 4be5443882cfbe7c2aa09b1c373c220400a5133f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 22:08:40 2006 +0000

	    * Remove unnecessary inclusions of aterm2.h.

	commit 2382a729e07ae09abb278cc28b137b9c4060101e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 21:50:39 2006 +0000

	    * Don't need extern "C".

	commit e3ce954582f56b9d853ea379c783cf6cd5571c83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 21:36:15 2006 +0000

	    * Compile the lexer as C++ code.  Remove all the redundant C/C++
	      marshalling code.

	commit 75068e7d753cf6cbe45a4bf294000dca9bd41d8b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 21:06:23 2006 +0000

	    * Use a proper namespace.
	    * Optimise header file usage a bit.
	    * Compile the parser as C++.

	commit aab88127321344d5818d823bff515d127108d058
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 4 15:12:24 2006 +0000

	    * Store the Nix libraries in ${libdir}/nix instead of ${libdir}.

	commit 7974aae81ced67b2aee0b537a37d813f6c67a1ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 1 12:07:31 2006 +0000

	    * New primop: builtins.toFile, which writes a string into the store
	      and returns its path.  This can be used to (for instance) write
	      builders inside a Nix expression, e.g.,

	      stdenv.mkDerivation {
	        builder = "
	          source $stdenv/setup
	          ...
	        ";
	        ...
	      }

	commit de90fdf908f2504e1a89a5d4660552cbcc1a15d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 1 12:04:06 2006 +0000

	    * Allow "$" in strings as long as they are not followed by "{".  (Too
	      bad flex doesn't have lexical restrictions, the current solution
	      isn't quite right...)

	commit c9586b6c3f32b22eec8791fd9b49c81ec3f5fcf6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 1 12:02:39 2006 +0000

	    * Fix race condition in the test.

	commit c25f688e237cbd3329b2479202ad7a6a5e438b8a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 31 15:38:43 2006 +0000

	    * Doh! Doh! Doh!

	commit 354d58b3d71d8b3723ff3cb6e8311469e9548417
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 31 11:40:39 2006 +0000

	    * Better error checking.

	commit f93f7b75be7851affd1288dc36d6d4c4f0d43743
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 30 13:10:04 2006 +0000

	    * Okay, that's a bit harder than expected.

	commit dce1afdc67b36e1b06d03c541758cb3cd97ccedd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 30 12:25:27 2006 +0000

	    * TDD: == should do a deep equality test, i.e., it should strictly
	      evaluate its arguments.

	commit 3151bdea55ceb341b08998d2b29d9451e81c2143
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 30 12:00:27 2006 +0000

	    * Uninitialised variable.

	commit 547b119f25dea97ff06cf754f2720e11b50f079f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 29 15:40:49 2006 +0000

	    * Support singleton values and nested lists again in `args', but print
	      a warning.

	commit 2132d9ddeba14ea2ddcbb16fa51ddb16c45c3c6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 29 15:29:38 2006 +0000

	    * Fix the ~ operator.

	commit 1f6616dabff48028b2b08fc50889707928201ea6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 29 15:29:19 2006 +0000

	    * Backwards compatibility test for ~.

	commit 1ec9f55741ae54f5e618e248ee49aff132017247
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 28 21:47:42 2006 +0000

	    * In toString, deal with nested lists properly (i.e., flatten them).

	commit 1fca76870b7a96d1eb33abb8ad4e4cc5ba656253
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 28 13:31:06 2006 +0000

	    * Removed processBinding, instead we now apply toString to all
	      derivation attributes to flatten them into strings.  This is
	      possible since string can nowadays be wrapped in contexts that
	      describe the derivations/sources referenced by the evaluation of the
	      string.

	commit 8a6080eb1400b9b7414e2ec8b995268315448cb5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Aug 26 16:48:01 2006 +0000

	    * Refactoring.

	commit 4b66cebe7bf1a8c03fb8f1e0052c19e91820c66c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 25 17:09:55 2006 +0000

	    * Remove those storePath attribute sets, we don't need 'em.

	commit e5678b3435d44a610517246f95c7626d36965389
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 25 16:23:42 2006 +0000

	    * Map "ppc" to "powerpc" so that Linux on PowerPC will be reported as
	      "powerpc-linux".

	commit e64c4f5742dbe830ab9048aeef386a4eb0c62622
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 25 13:36:17 2006 +0000

	    * Doh! (NIX-58)

	commit bf738f00707d57a1e8ecbdf77b68df84f710b53b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 25 12:14:57 2006 +0000

	    * Honour DESTDIR so that bzip2/bunzip2 get installed in the right
	      location when building RPMs (fixes NIX-58).

	commit 3e8dccf6ab0918e89c4275ea9bf454d34e01534b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 24 15:02:39 2006 +0000

	    * Escape newlines in XML attributes to prevent them from being
	      normalised away.

	commit 215ec2ddc6088be2291722a544c6ab5a1b00a5a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 24 14:34:29 2006 +0000

	    * New primop __toXML (or builtins.toXML) to convert an expression to
	      an XML representation stored in a string.  This should be useful to
	      pass structured information to builders.

	commit f793caf93674350f8c1e6fa740ab6cce649d0db8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 24 14:16:55 2006 +0000

	    * Refactoring.

	commit da25d80152fb6e51fe695dcd2ebaa4e00a7ee646
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 24 14:03:39 2006 +0000

	    * Strict evaluation and XML printing of lists.

	commit 943ab38a0d0969004de231a6b3e89df88ffc6ccf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 24 13:39:22 2006 +0000

	    * Refactoring: move strictEval to libexpr.

	commit f41297fdcecaa1ba12d238d1754457d319426579
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 23 16:33:21 2006 +0000

	    * Allow --arg in nix-env as well, example:

	      $ nix-env -qa --system-filter \* --arg system '"powerpc-darwin"'

	      to override the system from the default value (__currentSystem in
	      all-packages.nix).

	commit 9638f3f3930bffab8a547ec59502ae72e203d9ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 23 16:20:14 2006 +0000

	    * Pass the autoArgs to findAlongAttrPath so that "nix-instantiate
	      foo.nix -A attr --arg name value" will work if (name, value) is
	      needed in the evaluation leading up to "attr".

	commit b19cebc513c2d513ee1f91b5ce12f30c5dd095f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 23 15:46:27 2006 +0000

	    * Quotes.

	commit 38f18aa6d418515e42b688fa9b3e4f3ab61bb89e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 23 15:46:00 2006 +0000

	    * New primop: abort "error message".

	commit 4a053bfdfd85915a2a659a337bd171bc22c49138
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 23 14:39:11 2006 +0000

	    * A new primop `builtins', which returns an attribute set containing
	      all the primops.  This allows Nix expressions to test for new
	      primops and take appropriate action if they're not available.  For
	      instance, rather than calling a primop `foo' directly, they could
	      say `if builtins ? foo then builtins.foo ... else ...'.

	commit 68515b5a96d0d7c114570434f605e5077b7d3166
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 22 13:19:06 2006 +0000

	    * Release notes.

	commit 561a07f51d9710ecea006b18463c8119e04d3806
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 22 13:18:51 2006 +0000

	    * Revert unintentional commit.

	commit 93d9797eda419cd9f9fc059af3e1a765adeb50dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 22 09:34:38 2006 +0000

	    * Urgh (see NIX-56).

	commit 1a9a1f2768bac5defe4c2e39e5a9ccdee0e05d55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 21 16:05:11 2006 +0000

	    * Convert to DocBook 5.
	    * Use Jing for RelaxNG validation, xmllint seems buggy.

	commit cc0505f033f9d7f55837dca7b3bb4fb3d2969afb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 17 12:21:39 2006 +0000

	    * Distribute *.exp.xml.

	commit 4874fd2d9a698170adfd22c69e8e38b5afb7d03c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 17 11:28:29 2006 +0000

	    * Test for `nix-instantiate --eval-only --xml'.

	commit 24e234a2fabd8930f1ef71a5bb03010725d0773a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 17 08:53:08 2006 +0000

	    * Print attributes in sorted order, rather than the arbitrary order
	      produced by ATermMap.  Necessary for testing.
	    * `--strict' should also work on stdin.

	commit 22ba63df162d3ac980f5c33210929177e0a3dfe0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 16 21:59:53 2006 +0000

	    * More XML output.  `--strict' to strictly evaluate attribute sets and
	      so on.
	    * Removed `--print-args', it's subsumed by `--eval-only --xml'.

	commit 18e4ac0fc6bd1bc01d92d011e4629cacc3bec016
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 16 10:32:30 2006 +0000

	    * `nix-instantiate --{eval|parse}-only --xml': print an XML
	      representation instead of an ATerm.
	    * Indent XML output.

	commit fe101fa7851c3eccb79441ed7f5805e13934254f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 16 10:29:43 2006 +0000

	    * Meh.

	commit 267064273301ee9547589fd5874eee693415352f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 16 10:28:44 2006 +0000

	    * Handle carriage returns.  Fixes NIX-53.

	commit bfe19b3c3728d90cad7575c5d2571d48f0ef0d14
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 16 10:23:02 2006 +0000

	    * A test for NIX-53.

	commit 3e5b68068bf5cfdc671a2900eeb0dc70fae49cf6
	Author: Martin Bravenboer <martin.bravenboer@logicblox.com>
	Date:   Tue Aug 15 21:37:48 2006 +0000

	    On cygwin, disable the check that the output is not group or world
	    writable. File permissions on Cygwin are rather complex, and in this
	    case this check introduced a problem with build jobs invoke from
	    outside of Cygwin (MSYS). It seemed almost impossible to fix the
	    permissions of the directory, so for now this safety check is disabled
	    on Cygwin.

	commit 7455fd88356fdb58db3fbf01c68de86b06c18747
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 14 14:24:18 2006 +0000

	    * Put the value in an attribute.

	commit 4250b641d8e8edc4cb7def9bc463c7e4ff82e144
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 11 20:26:49 2006 +0000

	    * `nix-store --gc --print-dead': print the total size of the store
	      objects that would be freed.

	commit 92f7dfa5b73e44f7584eaed726927450a29a48b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 11 20:15:20 2006 +0000

	    * Don't assume that paths returned by the runtime root finder are
	      valid.

	commit d19b6521fc5f28f821562f2f93cf9c772a5d4582
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 10 20:19:13 2006 +0000

	    * New configuration setting `build-max-jobs' which sets the default
	      for the `-j' flag (i.e., the maximum number of jobs to execute in
	      parallel).  Useful on multi-processor machines.

	commit 3e239a37ff6f19f2072f70881f8bce748d447c68
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 9 19:37:23 2006 +0000

	    * file:/ -> file://

	commit f1aa71a92f9914ac04141d9d0338391acedd6dea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 9 15:12:34 2006 +0000

	    * Fix the help message wrt --attr.

	commit a18d02e0b076a8a936c3c1660d93f941a9f3183f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 9 15:08:47 2006 +0000

	    * Print a warning that the subpath operator (~) is deprecated.

	commit c0bfcbdd45bfe3c45ab8bf188df926d214675a18
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Tue Aug 8 15:42:33 2006 +0000

	    rework the --target flag. If this flag is used, a URI should be given. Default
	    values are not changed.

	commit a0607be7f4ca2d54332cd9e557b21f6ed7a763d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 7 19:48:38 2006 +0000

	    * Workaround for a bug (?) in GCC 2.95.

	commit 5a6b45e2523c29c215f77135c6866baa83f1a7d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 7 18:22:57 2006 +0000

	    * In nar.nix, path -> storePath, otherwise we get a collision between
	      environment variable names on Cygwin (where they are case
	      insensitive).

	commit a61129c48cfc11f1b836f42e178aaf231c1fed82
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Sat Aug 5 00:33:52 2006 +0000

	    add coreutils to the default PATH for this scripts, so we know for sure we have tools like rm, mkdir, and so on

	commit f1947cce9375745b63f7f0512fd1bd4a0f5c1639
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Sat Aug 5 00:31:04 2006 +0000

	    prevent doing recursive chroots, by unsetting NIX_ROOT in the scripts.

	commit 1854f84e830a5282ae1ad1d0c85ed641af6bcf33
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 4 17:07:13 2006 +0000

	    * Fix a few warnings.

	commit dcff8cdb76b37da8978fecee3398d3b541d11ccb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 4 16:01:26 2006 +0000

	    * Weird issue on Cygwin with the include file order.

	commit f4a502a09a8f4dd0f4ac393798e66f0df03937d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 4 11:51:46 2006 +0000

	    * Use old-school pipe opens; the new style is Perl >= 5.8.0.

	commit 981eff065b8c5b8833ecb81e29b57944b493be01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 4 11:45:50 2006 +0000

	    * Remove the dependency on `date', use strftime instead.

	commit 339e6f0e1d8a8eddcaa58ceb3e7396eca9714087
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 3 15:52:09 2006 +0000

	    * `nix-env -q --xml': show query result in XML format for easier
	      automated processing.

	commit 0e267e2625dba2c771996bcf537d1ebb6956ba58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 3 14:49:57 2006 +0000

	    * `nix-instantiate --print-args': produce XML output so that the
	      result can be used more easily by scripts.

	commit 4750f6c5ed8f74683ebaa013079e24598a753cbe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 3 13:21:21 2006 +0000

	    * Simple class for writing XML files.

	commit fcb784051f5a2d502951722b09cb714d3b397ff4
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Thu Aug 3 11:48:09 2006 +0000

	    urgh...for some weird reason this one-liner was not in svn. PEBKAC!

	commit a29b64a231468174dcc693979fe40bd482b040b4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 1 13:50:10 2006 +0000

	    * Better error checking.

	commit 4fde308ec047df9691bbfb6f6c1b1fd8d56e8404
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Tue Aug 1 13:15:55 2006 +0000

	    add a flag --target, so we can override the URL in the MANIFEST file. This
	    is only for local copies (so file:///)

	commit 601a8eab79bd2822235bcf508574be668a036f18
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 1 12:00:37 2006 +0000

	    * Ugh.  Darwin's chmod insists that flags come before the mode
	      specification.

	commit 6ac237e242260385168046ad95ebc7db2f3538b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 1 09:43:41 2006 +0000

	    * Show some progress.

	commit 4661282fde9f37780877fbeeb34b06b0c221e6bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 28 16:03:28 2006 +0000

	    * `nix-instantiate ... --arg NAME VALUE': allow arguments to be passed
	      to functions from the command line.
	    * nix-build: started removing backticks.

	commit c11839d7b24993f9639d59f9fa3420e8ccc22e02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 28 14:01:29 2006 +0000

	    * `nix-instantiate --print-args': print out the valid values for
	      functions arguments that have a domain.

	commit ca2238cf818e27ebb663c83a9fe9ae7f58eb830f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 26 15:05:15 2006 +0000

	    * Refactoring: get the selection path stuff out of getDerivations()
	      and put it into a separate function findAlongAttrPath().

	commit 2317d8f6712b2d4e249b8b1206f9e0a9c4269fc0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 25 21:21:50 2006 +0000

	    * `nix-instantiate --print-args' prints out the arguments of a
	      top-level function.

	commit 0e6dc72a7a4d29b7f1a1458670581a29d573e479
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 25 16:40:38 2006 +0000

	    * Applied rbroek's patch from the branch at
	      https://svn.cs.uu.nl:12443/repos/trace/buildfarm-control/trunk/ext/nix/,
	      with some modifications.  This allows `nix-env -qa' to show the
	      attribute path that can be used to unambiguously install a package
	      using `nix-env -i -A'.  Example:

	        $ nix-env -f top-level/all-packages.nix -qaA subversion xorg-server
	        subversionWithJava  subversion-1.2.3
	        subversion          subversion-1.3.2
	        subversion14        subversion-1.4.0pre-rc1
	        xorg.xorgserver     xorg-server-1.1.0

	commit b11aeb2c4bce28dca0f0b266eff732ea80628aed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 25 13:15:23 2006 +0000

	    * Doh.

	commit 5744dd548039b9a8666a414dcb66629322e5af21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 25 11:53:22 2006 +0000

	    * Support the --attr / -A flag in nix-env as well.  So now we can do,
	      e.g.,

	      $ nix-env -i -A subversion xorg.xorgserver

	      The main advantage over using symbolic names is that using attribute
	      names is unambiguous and much, much faster.

	commit 7a3a5d1608254565030ae8ceb593605962a2614e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 24 16:49:28 2006 +0000

	    * When there is a domain check, we have to evaluate the argument.
	      Can't be lazy!

	commit f4c5531d928caadee75d66bba40994f55f839be7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 24 16:35:34 2006 +0000

	    * New language feature: domain checks, which check whether a function
	      argument has a valid value, i.e., is in a certain domain.  E.g.,

	        { foo : [true false]
	        , bar : ["a" "b" "c"]
	        }: ...

	      This previously could be done using assertions, but domain checks
	      will allow the buildfarm to automatically extract the configuration
	      space from functions.

	commit 88acffa20ac45fd13b65a1d9143e0400ae0bde47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 24 16:19:08 2006 +0000

	    * `touch' might not be in $PATH.

	commit b545c669a0d6b6ab7b1aa56560001e43fe9c0956
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 24 15:50:29 2006 +0000

	    * Tests for domain checks.

	commit 57751fdb55ad04d82542165417511d26304cadc2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 24 15:16:03 2006 +0000

	    * Refactoring to support domain checks.

	commit 9c3099d3286b7bc8582b1685ba1917db409cac0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 21 13:21:43 2006 +0000

	    * Purify `make check'.

	commit 7adaa6d4466063893c9ac6b5b7d71c423be34b69
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 21 12:46:54 2006 +0000

	    * Test for runtime root finding.

	commit dcded7da4704ae66ebbb4343597868a7eb992aa7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 21 12:28:25 2006 +0000

	    * Don't try to do DNS lookups.

	commit a4273156c43db7325d27cb21e460b57a998ee882
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 20 13:21:37 2006 +0000

	    * Use $(libexecdir) to find find-runtime-roots.pl.

	commit 410760c5ab696779bfd26bbd8026827ec436a201
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 20 12:58:51 2006 +0000

	    * Doh.

	commit ee2cf45d76a12542fa7c29563cfd9a67524479d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 20 12:19:55 2006 +0000

	    * Use debug().

	commit eca30e12e1c970e4e82ad8fec45d9e2db26b236d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 20 12:18:10 2006 +0000

	    * svn:ignore.

	commit c15f544356dfebf6d08887e73fa156d4e70e2bbc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 20 12:17:25 2006 +0000

	    * Call find-runtime-roots.pl from the garbage collector to prevent
	      running applications etc. from being garbage collected.

	commit ebcccbd3581d34d7fefb975c0255a39a3e39e122
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 19 16:49:59 2006 +0000

	    * Added a tool to find additional roots for the garbage collector,
	      such as open files, current directories, mmaped files, etc.  This is
	      inherently unportable, but it's easy to adapt this script to other
	      platforms.  Currently we call `lsof' and try to read various bits in
	      /proc/NNN.

	      The goal is to prevent the garbage collector from removing store
	      paths that are no longer reachable from a permanent root but that
	      are still in use (for instance, after the user has done "nix-env -e"
	      on a running program).

	commit 88e54153dce2cdba9a075d9dbc81ad81e7e73435
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 19 15:49:29 2006 +0000

	    * Add a precise test for hashDerivatioModulo.

	commit 4f3725b167cc0080c570a814e28c6181ef5c7f52
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 19 15:36:15 2006 +0000

	    * Better error messages (especially wrt types).

	commit e10b830251af37951109113d88ddf203ae95645c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 11 10:29:52 2006 +0000

	    * Doh!  Of couse we cannot memoize across scopes.

	commit 2b4b0658fa3f959f3b25dc75a3aa0a9814e63962
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 10 17:35:00 2006 +0000

	    * This expression has an undefined variable which isn't detected, so
	      evaluation fails:

	        error: impossible: undefined variable `gcc'

	commit d51aede4afeb49182879f257b56394b70938028f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 6 15:30:37 2006 +0000

	    * Allow the canonical system name to be specified at runtime in the
	      Nix config file.

	commit a945fb7905597ff67f285b39004f607f737b14e9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 27 12:17:25 2006 +0000

	    * `nix-env --upgrade --eq': only upgrade if the old version is equal
	      to the new version.  This is actually useful.

	commit f4a3a280dbd5c723d13cf74d71aab1993d0f0a9e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 22 13:01:42 2006 +0000

	    * Apply the ATerm aliasing patch so that Nix works correctly with gcc 4.1.x.

	commit dbf6d7e783ff86c60d39f5000e341082d2604e85
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 20 17:48:10 2006 +0000

	    * Concurrent GC on Cygwin.

	commit cc51f9c539a3822c84a2285efcec11b577727234
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 19 16:35:35 2006 +0000

	    * Oops.

	commit 5bb3444032ad92b98a4a58051fec1f2b31d2e3da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 19 16:24:15 2006 +0000

	    * _exit() doesn't seem to work right on Cygwin.

	commit b35735d8b28af206fa0b293c796bf44c62dde678
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 19 14:43:13 2006 +0000

	    * On Windows we cannot delete open (lock) files, so we delete lock
	      files after we've closed them.  Since this only succeeds if the lock
	      is no longer opened by any process, the token trick used on Unix is
	      not necessary.

	commit 0e783e557941f77d5b4bcf2a6c6423ed583991a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 19 14:37:35 2006 +0000

	    * Write messages to stderr in a slightly more atomic way.  Useful when
	      there are several parallel processes.

	commit d7f40357e328c54694edd24e5b2687fe5789528e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 16 13:27:36 2006 +0000

	    * Skip this test on Cygwin, too slow (and doesn't test anything Cygwin-specific).

	commit c937b736227384e6c2f4f477796fc3ce02d1229a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 16 10:13:03 2006 +0000

	    * Show when we're blocked waiting for a lock.

	commit 588cb0eade0c14acdf4a20dfec5678715cc6542e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 15 11:56:49 2006 +0000

	    * In `nix-env -i|-u|-e', lock the profile to prevent races between
	      concurrent nix-env operations on the same profile.  Fixes NIX-7.

	commit 49de87132f3f1685fcdd4157f89ca817647028b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 15 09:16:55 2006 +0000

	    * Removed.

	commit 48e4a3231b5c3b5b91305b246aec7e7c07fe291d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 14 13:31:23 2006 +0000

	commit b454977909f31cf560518042f22d930c375caaac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 14 11:53:55 2006 +0000

	    * Fix for a problem with BSD's group ownership semantics when the user
	      is not in the "wheel" group.

	commit 3a68622dda35d448d1baa61825edda45ca846b97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 14 11:52:22 2006 +0000

	    * Oops.

	commit 370af25efff8be8582bb810c9e4d980989668ffb
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Wed Jun 7 15:27:17 2006 +0000

	    * Fix for a locking bug in Berkeley DB on Cygwin.

	commit 23960e92df736d3c87db861fcaf2dd7981cfc4ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 1 18:13:33 2006 +0000

	    * Minor cleanup.

	commit 2d456fc35a57f3433ce228433dc8c034359cb605
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 31 11:50:14 2006 +0000

	    * On Cygwin, set the system type to i686-cygwin, and disable dynamic
	      linking.

	commit bb84984f3ff1fa8fbf3842c1331c4bb660a2714a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 31 10:58:47 2006 +0000

	    * svn:ignore.

	commit 50fe85f016d2d9cb6be512918d648f6376932903
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 31 09:51:45 2006 +0000

	    * For fixed-output derivations, pass the environment variables listed
	      in the attribute variable `impureEnvVars' from the caller to the
	      builder.

	commit 04cf72287bc27e4eca69d527ce44a88b7fcbebb2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 31 09:24:54 2006 +0000

	    * This may be useful in the future.

	commit 1390ce4142d511b284b354f984d84fdb12ae850b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 30 11:37:21 2006 +0000

	    * Not all platforms have sys/select.h.

	commit b1c63dc36230bfe4ac4d128f6647846a995feb40
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 30 11:31:33 2006 +0000

	    * Don't use badTerm, it gives awful error messages.

	commit c7d9397fc911997ff10192662bfdaf419167b142
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 29 21:53:58 2006 +0000

	    * Handle $PATHs with spaces.

	commit 58b4198ed8134ec246c0d0689ac46667fc389a97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 29 20:46:51 2006 +0000

	    * Disable the concurrent garbage collector on Cygwin for now.

	commit d764409d9714562f74b378f3eea666528aae3130
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 24 13:23:20 2006 +0000

	    * Some Cygwin fixes.

	commit b5988004d64d6c533e8bb09732a6f7cd4fb1194f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 12 11:47:45 2006 +0000

	    * Support for srcdir != builddir (NIX-41).

	commit 9d72bf8835f3012169aaa88ec608172d5a056b9e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 11 02:19:43 2006 +0000

	    * 64-bit compatibility fixes (for problems revealed by building on an Athlon
	      64 running 64-bit SUSE).  A patched ATerm library is required to run Nix
	      succesfully.

	commit e3c07782d124cdd8d0aab2b498225cdca28cad66
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 8 20:00:28 2006 +0000

	    * Remove old manifests in `nix-channel --update'.

	commit c54287eafe8435e71634df3957cd5e30b97bb6a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 8 15:15:13 2006 +0000

	    * GCC 2.95 compatibility.

	commit 8b5aa91aa7da149c0a734bd7a3353658aded9838
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 8 14:00:39 2006 +0000

	commit 5cabd47394a5bb3076f3f5b5a98425665cddef23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 8 12:52:47 2006 +0000

	    * Allow function argument default values to refer to other arguments
	      of the function.  Implements NIX-45.

	commit 310e605995dc104bee29d330ac135e3e2bb82f97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 8 10:00:37 2006 +0000

	    * Show evaluation stats when NIX_SHOW_STATS=1.

	commit 0832956089516d32371060c98df4f8d0cbff2b0f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 4 12:21:08 2006 +0000

	    * Use the new ATermMap.

	commit 9840368cad6088e4221fb323202861c97d70bb37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 4 09:22:29 2006 +0000

	    * Iterators.

	commit 6980544467b42aaefc5b588d8be2f1d7a2badef3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 4 08:32:30 2006 +0000

	    * Keep some statistics about memory allocation.

	commit b803fb95cbce33cf37496e1fc947d9721714de44
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 3 23:17:42 2006 +0000

	    * Maintain the count field properly.

	commit db0d865ec4fb646856731000d540d968011f4daf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 3 23:07:38 2006 +0000

	    * New ATermMap, seems more-or-less finished.

	commit 052cefe1bdb6be0257ef2f1c1f128b7e635814ed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 3 17:29:48 2006 +0000

	    * Started hacking on a ATermTable replacement, since ATermTable uses
	      gigantic amounts of memory --- 65536 bytes per table at least ---
	      which makes it unsuitable for representing short-lived substitution
	      tables and attribute sets.

	commit d300b4383dabb007db08c7165fb327c12dbe8e71
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 21:58:46 2006 +0000

	    * Optimise null-ary term builders.  Also declare all term builder
	      functions as pure, which might improve performance a bit.

	commit 68174bdc7d68746c5471e87bb74909c552e98644
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 21:39:02 2006 +0000

	    * Use a linked list of substitutions.  This reduces the amount of
	      copying.

	commit c791e94aee07ad98ec29df18498ad85241e1e96d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 17:51:50 2006 +0000

	    * Removed a bunch of ATreverses.

	commit b52e71191094f564d7b7484b89e47e710bb94bdc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 17:12:03 2006 +0000

	    * Huge reduction in memory use (2/3 or so on large nix-env -qas
	      operations): share ATermMaps between DrvInfos.

	commit 11ae2d1e7af05c3410a368338c7d13a49c2d2ccd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 14:07:28 2006 +0000

	    * Memory reduction: replaced expensive calls to ATmakeApplList by
	      ATmakeApplArray, and got rid of ATreverse in substitute().

	commit dc719e6ba57fc877574bd3bc023a25676c555b3c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 13:39:55 2006 +0000

	    * Some preliminaries towards NIX-45.

	commit ae55e79541ffbce7a051794d6d25e9e8c7b63b2d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 11:20:55 2006 +0000

	    * More tests.

	commit dca43ef795c0589d47620241823393c739b99498
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 2 11:15:04 2006 +0000

	    * Tests for NIX-45.

	commit 7276e194eefc807600e1dcd10566a57e557ed1ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 1 15:29:46 2006 +0000

	    * Disallow unescaped $ in string literals.

	commit 0064599a27ec44880e4ff6fa19f453e610b5ef07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 1 14:01:47 2006 +0000

	    * String interpolation.  Expressions like

	        "--with-freetype2-library=" + freetype + "/lib"

	      can now be written as

	        "--with-freetype2-library=${freetype}/lib"

	      An arbitrary expression can be enclosed within ${...}, not just
	      identifiers.

	    * Escaping in string literals: \n, \r, \t interpreted as in C, any
	      other character following \ is interpreted as-is.

	    * Newlines are now allowed in string literals.

	commit 6cecad2be0f7ced82658ec2a86bcf61583487959
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 1 09:56:56 2006 +0000

	    * Allow string concatenations involving derivations, e.g.,

	        configureFlags = "--with-freetype2-library="
	          + freetype + "/lib";

	commit cce31b739c6d3e381824ac6fde3f06ccb02782af
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Apr 29 11:54:45 2006 +0000

	    * svn:ignore

	commit 6fca1b82ae39dd45bdd155c7211dc16629a5e11a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 25 16:41:06 2006 +0000

	    * Change this to LGPL to keep the government happy.

	commit de8f2d061ca7646521b67fcbde5b474abaf9438b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 25 11:52:24 2006 +0000

	    * Install only the header file and libraries from Berkeley DB.

	commit e18c93169c35dba6863ffb9fb51c7b775bac9d89
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 25 11:33:27 2006 +0000

	    * Create libexec.

	commit 0748331b708deec8319a3e0dcb075b4c396b5665
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 25 10:57:08 2006 +0000

	    * Typo.

	commit 03162f8f477fb7634edbf53ad4e9dfca433dd9d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 25 10:45:53 2006 +0000

	    * Unless --with-bzip2 is specified, use a copy of bzip2 in the
	      externals directory.  This is in particular useful because though
	      most systems have bzip2/bunzip2, they don't always have libbz2,
	      which we need for bsdiff/bspatch.

	commit ef2d4a2da9c14c15985bdd27c02d2d30093a3e56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 24 14:02:44 2006 +0000

	    * Print a more useful stack trace when an error occurs deep in the
	      derivation dependency graph.

	commit b69e4693287d481ee75f948227a2c508391ef055
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 23 16:43:07 2006 +0000

	    * In `nix-env', look for derivations inside attribute sets that have
	      the `recurseForDerivations' attribute set to `true'.

	commit 49ce8b57ddc459faef8192be04f69b9e777afc75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 23 16:37:49 2006 +0000

	    * Hm.

	commit 20675feeab7501bd9ca78a699509b4de89885ec9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 15 12:58:22 2006 +0000

	    * Update copyright.

	commit 05bb644890b2c5b46f1e69072873a276dccaa191
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 14 16:35:01 2006 +0000

	    * Allow the resulting symlink of nix-build to be named, e.g.,

	      $ nix-build .../i686-linux.nix -A apacheHttpd -o apache

	commit fdea084c365083a65eb363973400416107b5e32b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 22:27:26 2006 +0000

	    * Allow `make check' to work in directories that have symlink
	      components.

	commit 37d1b1cafd17a18dc7dbef3b4ba7fb204158d58b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 16:20:42 2006 +0000

	    * `nix-env -qa --description' shows human-readable descriptions of
	      packages (provided that they have a `meta.description' attribute).
	      E.g.,

	      $ ./src/nix-env/nix-env -qa --description gcc
	      gcc-4.0.2   GNU Compiler Collection, 4.0.x (cross-compiler for sparc-linux)
	      gcc-4.0.2   GNU Compiler Collection, 4.0.x (cross-compiler for mips-linux)
	      gcc-4.0.2   GNU Compiler Collection, 4.0.x (cross-compiler for arm-linux)
	      gcc-4.0.2   GNU Compiler Collection, 4.0.x

	commit a33fb2d28738376d377ea8473f6cffc39bc784c4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 16:14:30 2006 +0000

	    * Oops.

	commit 2b3b6c9b3428856b215545efd3abb9b8f42cf8b4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 16:14:13 2006 +0000

	    * In theory, this should reduce the number of ATermMap
	      re-allocations.

	commit 4ada6db1fc9cee9c0e51fb54af8770dd28243dff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 10:24:46 2006 +0000

	    * `nix-env -q' now accepts arguments that allow specific derivations
	      to be queried, e.g., `nix-env -qa firefox'.  This does require the
	      argument '*' to be passed if one wants information about all
	      derivations, so the old `nix-env -qa' now is `nix-env -qa "*"'.

	commit 9811815429f613b4ab64794a3b95144f9aa5b41d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 10 09:41:28 2006 +0000

	    * Write messages to stderr, not stdout.

	commit 18c321308d2e71db7355a83200c0ef4d00900d0b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 9 17:07:25 2006 +0000

	    * Ugh, printHash() was very inefficient because it used
	      ostringstreams.  Around 11% of execution time was spent here (now
	      it's 0.5%).

	commit b90c00e63fb476d8587ca29f15cbe8008760a584
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 9 15:10:01 2006 +0000

	    * Regression: semantics of the result of getDerivation() changed.

	commit 922697c8b27570b6c76a472266507b73f6b79f7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 9 15:09:18 2006 +0000

	    * Big speedup (factor > 2.5) in all nix-env operations that do actual
	      instantiation, e.g. "nix-env -i" and "nix-env -qas" (but not
	      "nix-env -qa").  It turns out that many redundant calls to
	      addToStore(path) were made, which reads and hashes the entire path.
	      For instance, the bash bootstrap binary in Nixpkgs would be read and
	      hashed many times.  As a result nix-env would spend around 92% of
	      its time in the function sha256_block (according to callgrind).
	      Some simple memoization fixes this.

	commit 6dca5c9099b92b6a93071197aa606a31ccd83a37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 8 16:03:58 2006 +0000

	    * When obtaining derivations from Nix expressions, ignore all
	      expressions that cause an assertion failure (like `assert system ==
	      "i686-linux"').  This allows all-packages.nix in Nixpkgs to be used
	      on all platforms, even if some Nix expressions don't work on all
	      platforms.

	      Not sure if this is a good idea; it's a bit hacky.  In particular,
	      due to laziness some derivations might appear in `nix-env -qa' but
	      disappear in `nix-env -qas' or `nix-env -i'.

	      Commit 5000!

	commit 9088dee9e265db8176b61e53ac43a916fdd34a3d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 8 14:11:19 2006 +0000

	    * Some refactoring of the exception handling code so that we can catch
	      Nix expression assertion failures.

	commit fa72ae1e9cad0dded28b965fe97293bbeeac031e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 6 14:40:10 2006 +0000

	    * GCC 4.1 compatibility.

	commit c8bfb11b34e4b8d3cfd714c54e7436c80e4d72ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 6 11:21:15 2006 +0000

	    * `nix-env (-i|-u) --dry-run' now shows exactly which missing paths
	      will be built or substituted.

	commit 7ba1fd2029c1290d89f0218157e597885926ca80
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 6 11:04:39 2006 +0000

	    * Regularise help text a bit.

	commit 120f00c04fcc1cf1239e88b605f34da551e0bacf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 3 14:25:07 2006 +0000

	    * More online help.

	commit 2d54312f876c4810db4c3c0006bace686db4948b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 3 14:15:02 2006 +0000

	    * Rewrote nix-build in Perl, since sh is just too limited (turns out
	      that arrays are a bash extension, so it didn't work on FreeBSD).
	      Also fixes NIX-8 (readlink(1) dependency).

	commit 78d84f5631eb1d0e4b665dbaacbbb1669ba899f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 18:26:21 2006 +0000

	    * Tests for fixed-output derivations (and attribute selection, incidentally).

	commit 2167bf6b72dde2bb574ac72da0fad145504a4d3f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 18:11:41 2006 +0000

	    * Tests to prevent a repeat of the parseHash32 debacle.

	commit 70dee0f8ca9d7236008e161d1d1210b945ec832e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 18:05:47 2006 +0000

	    * Flags `--to-base32' and `--to-base16' to convert between hex and
	      base-32 hashes.

	commit e136532800113902432c451f0a38bf6d77e5801a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 17:59:08 2006 +0000

	    * Ouch, parseHash32 was completely broken.  All digits >= 4 were
	      parsed as 4.

	      For a moment I worried that printHash32 was broken, and that would
	      have been really, *really* bad ;-)

	commit 74166f2f44a9d2de6dc7862a99e9c2f2bcc9b54b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 17:44:28 2006 +0000

	    * db.hh shouldn't depend on the Berkeley DB headers.

	commit 1bdceb421fe0082213e012362c1ac6a47ee6e4bb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 16:52:55 2006 +0000

	    * Doh!

	commit d822bf32e470e46a3634638fee3c4b1472d2cd26
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 16:36:35 2006 +0000

	    * Close the database before the destructor runs.

	commit fa95f4be3f4df6ebe4d49ec57a66129f645e36c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 16:26:13 2006 +0000

	    * More test coverage.

	commit 80b5c7168436d4fa34952c2d7d8c26d9894afe3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 16:03:32 2006 +0000

	    * Doh!

	commit e3daee919d0335d2c41fc556ff55d8289ade10d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 15:46:22 2006 +0000

	    * Test `nix-store -q --binding'.

	commit ea9c35d3cc2ef65643718e696007ba3569099e1e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 15:43:37 2006 +0000

	    * Test `nix-store --add' and `nix-store -q --hash'.

	commit 30d051ff14d5a0f8912c9ba3c3a6ca97c2b7dbf0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 15:40:01 2006 +0000

	    * New suppressions.

	commit b6780b9e1079cdb3eec2aedcd7d9e510edfd95f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 14:39:42 2006 +0000

	    * Uninitialised variable.  Fixes the --delete test.

	commit b602d2dfdf79d5e00595f78701b54339e15bf7d8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 14:39:10 2006 +0000

	    * Wrong delete.  Thanks valgrind.

	commit b90787290df216f511ec296c85390e645ca1e89f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 14:26:03 2006 +0000

	    * TDD! Woohoo!

	commit 089c41a0c2ecf91c55495547a5462d75f36be5f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 14:17:00 2006 +0000

	    * Oops!

	commit ca0b23c831e28ef344e71ffd342452700b1b9109
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 14:00:27 2006 +0000

	    * Test the nix-store --gc subflags.

	commit 5cb6c42088347bf7ba513cdd68b20c91035c7db9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 13:49:12 2006 +0000

	    * Test nix-build.  This also tests indirect roots.

	commit 8cd646b6af87dad97d326e5f0d7b1e9ecff17c97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 13:33:12 2006 +0000

	    * Clear the substitutes prior to running the test.

	commit e48bd8c8b50e48db297e49fb325a94e854d6bdad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 13:25:08 2006 +0000

	    * Add a test for nix-log2xml.

	commit 458820df6cb976e0642c67ca775d8e7095c091f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 13:24:47 2006 +0000

	    * Generate valid HTML.

	commit 6b8bb8d74ab500eb6dddecbdf578c9cdf14a748c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 12:51:39 2006 +0000

	    * Remove dead code.

	commit 84c4631221bc65643830173b4affe58b0dc58202
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 12:51:18 2006 +0000

	    * Simplification.

	commit a4c63c6e8e161d55778b797e566d9eca7c47f34f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 1 12:15:33 2006 +0000

	    * Make it easy to run individual tests from the command line.

	commit 85793fa438847974330123a8d4160283fcfa18f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 24 17:10:38 2006 +0000

	    * Remove debug statement.

	commit e2f16b9cae0f9904daeb94ac0ecee1fd9ae2c9b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 24 16:05:55 2006 +0000

	    * A script to remove from a manifest those patches whose base or
	      target no longer applies to any available release.  This is a
	      partial fix for NIX-34 (when producing linear patch sequences
	      between releases, the number of patches grows without bound).

	commit 5168f9bb005aa0d25cb31fdd7aba1bac951b2251
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 24 16:02:36 2006 +0000

	    * Canonicalise manifests a bit by sorting them.

	commit 9d3bee50ad9e52cd46eefe06a4c6b55794e83a9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 15:20:11 2006 +0000

	    * Aha!

	commit 17f39049cf13450c86b62a5782f28e678849bc33
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 15:09:47 2006 +0000

	    * WTF?

	commit 43fa1c20e7e98819925b16d60d6b7c9e87c93fca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 14:35:19 2006 +0000

	    * Separate the cache reading code.

	commit 928cce592279615fbe7b29fc0f47bb2506297116
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 14:13:02 2006 +0000

	    * Directory for nix.cs.uu.nl manifest / cache maintenance scripts.

	commit fcec32a2c56589da9224aa62daf94c6492250015
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 14:10:02 2006 +0000

	    * Use right directories for NAR files and patches.
	    * Print errors to STDERR.

	commit f0d6318dd1227dff81b84d62796371904e5c5b5f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 14:02:44 2006 +0000

	    * More tests.

	commit ddb78dfc3d209f96101da242f90e5031918af355
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 22 13:55:41 2006 +0000

	    * Check whether "nix-store -q --graph" generates a valid dot graph.
	    * Test "nix-store -q --tree" as well.

	commit 46f0cb08692713954a4d452da6d7c07e17eb0cac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 17 18:11:45 2006 +0000

	    * In "nix-env -i", print a warning if there are multiple derivations
	      with the same name *and* version number, and pick the first one
	      (this means that the order in which channels appear in
	      ~/.nix-channels matters).  E.g.:

	        $ nix-env ii aterm
	        warning: there are multiple derivations named `aterm-2.4.2'; using the first one
	        installing `aterm-2.4.2'

	commit 7a3e715980c3fcd84b6d12f54a18a920ebba208d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 17 17:47:54 2006 +0000

	    * Fix for NIX-31: "nix-env -i foo" installing all derivations named
	      foo.  Now it will only install the one with the highest version
	      number.

	commit 58fc420b365b8f8d6faaa332ab3ba4e97ad584e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 17 17:05:34 2006 +0000

	    * And another test.

	commit 4ddd5ff39cddf46acb23eedc9638f9709da0c47d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 17 17:03:19 2006 +0000

	    * Regression test for NIX-31.

	commit 889ef564fd0aca2814659f28fc7b9dc0191a6656
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 17 16:26:28 2006 +0000

	    * Fix the infamous NIX-17: nix-env -i prints misleading messages
	      ("installing `foo'" followed by "uninstalling `foo'").

	commit 345a95afe9e265bc433eea46c32c507ea84a72a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 16 13:58:10 2006 +0000

	    * Allow the size of the GC reserved file to be specified in nix.conf
	      through the new `gc-reserved-space' option.

	commit 651ab439cf5b0c6ab2044257a30b0d94406d57d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 16 13:19:15 2006 +0000

	    * A simple hack to fix NIX-18: the garbage collector cannot run when
	      the disk is full (because to delete something from the Nix store, we
	      need a Berkeley DB transaction, which takes up disk space).  Under
	      normal operation, we make sure that there exists a file
	      /nix/var/nix/db/reserved of 1 MB.  When running the garbage
	      collector, we delete that file before we open the Berkeley DB
	      environment.

	commit d6f586d0eaa9344a99248cc4dfb7825972f2a174
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 13 19:52:43 2006 +0000

	    * Optional switch "--with-openssl=<PATH>" to use OpenSSL's
	      implementations of MD5, SHA-1 and SHA-256.  The main benefit is that
	      we get assembler-optimised implementations of MD5 and SHA-1 (though
	      not SHA-256 (at least on x86), unfortunately).  OpenSSL's SHA-1
	      implementation on Intel is twice as fast as ours.

	commit e8475bbd5b0c5505bb0536929e89efc8b0d4da5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 13 18:00:08 2006 +0000

	    * Use a union.

	commit 2d2e28d02c18668856b7d55fad40cac4f875fa3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 13 13:09:23 2006 +0000

	    * Override YYMALLOC and YYFREE so that we can call AT[un]protectMemory
	      on the Bison parse stack.  Otherwise, a garbage collect during
	      parsing could lead to a crash.

	commit 0ca0a4da9f63c8c036d82c2366f4c794bcd327d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 13 12:48:59 2006 +0000

	    * Valgrind suppressions for the ATerm library.  The ATerm library uses
	      a conservative garbage collector that scans the stack and parts of
	      the heap for pointers to ATerms.  This scan can touch uninitialised
	      memory, which is harmless.  Use:

	      $ valgrind --suppressions=aterm-gc.supp ...

	commit da0a6b6499ea89bc9858d32970da8f26c5f3c56b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Feb 12 21:00:36 2006 +0000

	    * Doh.

	commit 982399bb144ca1c6d21834fd9a6f61b49db1bfce
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 10 17:37:35 2006 +0000

	    * Enable the --attr in nix-build as well (and add -A as an alias).
	      Example:

	        $ nix-build ./all-packages.nix -A xlibs.libX11

	      So finally it's easy to perform a test build of a Nix expression!

	commit c6120352b3fd25380ff21726982e22b97ee43e0b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 10 17:25:59 2006 +0000

	    * In nix-instantiate, allow us to specify a "path" to the
	      derivation(s) we're interested, e.g.,

	        $ nix-instantiate ./all-packages.nix --attr xlibs.libX11

	      List elements can also be selected:

	        $ nix-instantiate ./build-for-release.nix --attr 0.subversion

	      This allows a non-ambiguous specification of a derivation.  Of
	      course, this should also be added to nix-env and nix-build.

	commit b505f9eaf57c7badeacb176a1946b5f5f145f816
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 10 15:29:17 2006 +0000

	    * Document that nix-instantiate can read from stdin.

	commit 9e51abc7dc13ece2a561cdd41c0304cffbba67d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 10 15:28:47 2006 +0000

	    * Make --parse-only work when *not* reading from stdin.

	commit f848a457391488544abc6b405d33ab5334eb19d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 10 15:14:57 2006 +0000

	    * Cleanup: use the code shared with nix-env.

	commit 4eb637c799bddfcff7661164f98cd604fe4120f5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 16:15:07 2006 +0000

	    * When querying all derivations, filter out syntactically equal derivations.

	commit 8688e83194c11f66df2d38dfa9b274d2216773b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 15:22:30 2006 +0000

	    * When evaluating, automatically call functions with default arguments.

	commit f8aadf14c3426f7ab2b7a934b602f812bcc5b8ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 15:21:57 2006 +0000

	    * Test-driven development, woohoo!  nix-env should work on functions,
	      provided that all arguments have defaults.

	commit 287d0ef41c347d91c0cd2f74ab4e48df7c125cc8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 14:32:33 2006 +0000

	    * Oops, fix breakage.

	commit e771e59178f42fd1c6005c8a35f2ecfebf0e4ce4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 14:32:06 2006 +0000

	    * Tests for nix-env, finally!

	commit 39f50db731bb1924d3c18b153dfe4258208b8812
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 8 13:21:16 2006 +0000

	    * Refactoring: move derivation evaluation to libexpr.

	commit 4db4b61380d94c2626b7c4ee2e613b6b6223f803
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 7 14:47:26 2006 +0000

	    * Don't install nix.conf (so it won't be overriden when you upgrade an RPM).

	commit 81de538e46c154267c4fb7e87cf6804aed63f3df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 3 14:20:59 2006 +0000

	    * Use setsid instead of setpgrp in child processes.  This not only
	      creates a new process group but also a new session.  New sessions
	      have no controlling tty, so child processes like ssh cannot open
	      /dev/tty (which is bad).

	commit b90daaaf6c1f52fe93f4f845da20b122cfea2936
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 2 16:27:31 2006 +0000

	    * When killing a build hook, kill the entire process group (as
	      intended).  This ensures that any ssh child processes to remote
	      machines are also killed, and thus the Nix process on the remote
	      machine also exits.  Without this, the remote Nix process will
	      continue until it exists or until its stdout buffer gets full and it
	      locks up.  (Partially fixes NIX-35.)

	commit 6e2eaaec96e96ce593dd1e38d03fcf8d1f62eb55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 17:28:13 2006 +0000

	    * Print a better error message when writing the patched file (e.g.,
	      "No space left on device" instead of "Success").  Reported by Karina
	      Olmos.

	commit d9d6ff9f8eb4269bb697912154ef9d6d96ab1481
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 16:49:52 2006 +0000

	    * Doh.

	commit 8291f6d96845163850a2451fff4a03a292fa71b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 16:48:49 2006 +0000

	    * bsdiff updated to 4.3.  This makes Nix depend on libbz2.

	commit 9e4ffc43a2a6b67643765efd48198f218fcf0530
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 16:47:51 2006 +0000

	    * The "S" bit should be based on the output path, not the derivation path.

	commit 3eba483692f6c353dd20341b9d3fea144271ba69
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 14:52:58 2006 +0000

	    * Use Berkeley DB 4.4.20.

	commit 151f10dbc758a8bbc15bd941bd10bfdfe4c925a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 1 12:41:54 2006 +0000

	    * Add @bindir@.

	commit 83424eb71b2c9656061b01617230e433a4b27d83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 26 23:18:46 2006 +0000

	    * Don't force a build of derivations.

	commit db2275cb9968fc337bfac14805651d6c78c7213a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 26 23:18:26 2006 +0000

	    * Oops, the "I" bit in "nix-env -qas" was broken.  Reported by Nicolae Vintila.

	commit 1029716a8a8934fe1f0502e3da0d65646f45c911
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 19 15:35:34 2006 +0000

	    * Don't show cycles, they're not very useful.

	commit e4d4969ae929682aea936e035cc24d56949a82ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 12 15:17:51 2006 +0000

	    * New tools nix-pack-closure and nix-unpack-closure.  These provide a
	      useful way to transfer the closure of a store path to another
	      machine.

	      These commands provide functionality previously possible through
	      `nix-push --copy'.  However, they are much more convenient in many
	      situations (though possibly less efficient).

	      Example:
	      $ nix-pack-closure /nix/store/hj232g1r...-subversion-1.3.0 > svn.closure
	      (on another machine:)
	      $ nix-unpack-closure < svn.closure

	      Note that Subversion is added to the store, but not installed into a
	      user environment.  One should do `nix-env -i
	      /nix/store/hj232g1r...-subversion-1.3.0' for that.

	      Another example: copy the application Azureus to the machine
	      `scratchy' through ssh:

	      $ nix-pack-closure $(which azureus) | ssh scratchy nix-unpack-closure

	commit 5b527901ae625675f525dd65b82f90bcb2001afd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 9 14:52:46 2006 +0000

	    * dirOf: return "/", not "", for paths in the root directory.  Fixes NIX-26.

	commit 04be39734f6a5fe2e724a0c7b813ea1dd6ed3a29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jan 8 17:16:03 2006 +0000

	    * Resolve all symlink components in the location of the temporary
	      build directory (TMPDIR, i.e., /tmp).  Fixes NIX-26.

	commit 0f8d3c871bfad0f83f4469c26aaa37927a525fe0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 25 11:29:12 2005 +0000

	    * More GCC 2.95 compatibility.

	commit 52d20ef124bafc51d982b34d127e7d9524d1a409
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 25 02:02:29 2005 +0000

	    * Hack around a GCC 2.95 bug.

	commit 1440419b45dec876497b982f945bcfff8d0aea4b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 24 23:32:59 2005 +0000

	    * GCC 2.95 compatibility.

	commit 1d2460ee5da0f026807ac645aebdd8ab811058cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Dec 24 23:22:05 2005 +0000

	    * Documentation fixes.

	commit f96d2dea266760e5587356e72d1cadaace5f7d5b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 23 21:36:44 2005 +0000

	    * Added a flag `--ignore-liveness' to `nix-store --delete'.  It
	      deletes a path even if it is reachable from a root.  However, it
	      won't delete a path that still has referrers (since that would
	      violate store invariants).

	      Don't try this at home.  It's a useful hack for recovering from
	      certain situations in a somewhat clean way (e.g., holes in closures
	      due to disk corruption).

	commit 4b9e7f59ca14c3de7b0cfdaebca98fa2639bbbf9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 23 21:08:42 2005 +0000

	    * Revived the old "nix-store --delete" operation that deletes the
	      specified paths from the Nix store.  However, this operation is
	      safe: it refuses to delete anything that the garbage collector
	      wouldn't delete.

	commit 3c5619c7e496b0ce7b7bc16cbcf11668cf7a69fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 21:11:55 2005 +0000

	    * Begin release notes.

	commit 530b27df1e71852580d8b0d474543aeffe65618f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 21:11:39 2005 +0000

	    * `nix-store --gc' prints out the number of bytes freed on stdout
	      (even when it is interrupted by a signal).

	commit 5144f750c471cdb629750e96ddc913fb01fb9eef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 17:04:02 2005 +0000

	    * Typo.

	commit b1eed6b5862644fe8fdb8b7d3897fdcf227abe71
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 16:53:21 2005 +0000

	    * Split the database upgrade into multiple transactions to prevent
	      Berkeley DB from running out of locks.

	commit 11a8dc76d6262c8da601cf640516b9e9669850a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 15 13:45:10 2005 +0000

	    * Doh!

	commit ab5c6bb3a3deef29c6fe0a86017d35bc4f3de506
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 13 21:04:48 2005 +0000

	    * Change `referer' to `referrer' throughout.  In particular, the
	      nix-store query options `--referer' and `--referer-closure' have
	      been changed to `--referrer' and `--referrer-closure' (but the old
	      ones are still accepted for compatibility).

	commit d87549c1c7bb6f85ff0a019b33b315ace0013e6b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 12 19:14:38 2005 +0000

	    * Automatically delete the old referers table.

	commit 8463f27d8cd09d54648de21c747f895cdb558f83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 12 18:24:42 2005 +0000

	    * Fix NIX-23: quadratic complexity in maintaining the referers
	      mapping.  The referer table is replaced by a referrer table (note
	      spelling fix) that stores each referrer separately.  That is,
	      instead of having

	        referer[P] = {Q_1, Q_2, Q_3, ...}

	      we store

	        referer[(P, Q_1)] = ""
	        referer[(P, Q_2)] = ""
	        referer[(P, Q_3)] = ""
	        ...

	      To find the referrers of P, we enumerate over the keys with a value
	      lexicographically greater than P.  This requires the referrer table
	      to be stored as a B-Tree rather than a hash table.

	      (The tuples (P, Q) are stored as P + null-byte + Q.)

	      Old Nix databases are upgraded automatically to the new schema.

	commit 18bbcb1214caf75c0190e610d7eb34e971366c7c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 11 19:25:48 2005 +0000

	    * Add a test to demonstrate the quadratic complexity of referrer
	      (de)registration, in particular garbage collection (NIX-23).

	commit a33b561a6b2e5cbc805f903817a3a3d5df03b747
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 9 22:55:07 2005 +0000

	    * Use Berkeley DB 4.4's process registry feature to recover from
	      crashed Nix instances, and toss out our own recovery code.

	commit eb268a7f959ff558fcbb72f2c2c3b3c3df97eb6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 8 22:14:15 2005 +0000

	    * Apply the patch.

	commit dfffd9256813701e64685227bdfb75f0a694c70d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 8 18:18:20 2005 +0000

	    * A patch to make the DB_REGISTER feature work when debug info is not on.

	commit 760264bffe7f233f7c1fd5e9fccb9b3c189afd58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 6 15:00:04 2005 +0000

	    * Require Berkeley DB 4.4.
	    * Checkpoint after an upgrade.

	commit dc528128cc5230c9eb7da0abb0a791f94e0e3b56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 17 13:58:23 2005 +0000

	    * FreeBSD compatibility fix.

	commit 44409f52c1984542d1e565b55e5b94f29c686c7b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 17 11:58:22 2005 +0000

	    * "Fix" the test, since we cannot feasibly support the intended semantics.

	commit b7f008fc353ea05c423fb571047144052ce691c3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 16 08:27:06 2005 +0000

	    * Did something useful while waiting at IAD: reference scanning is now
	      much faster.

	commit 9311ab76a523de516b6bc98afda9e4b790225514
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 4 15:34:09 2005 +0000

	    * Install signal handlers for SIGTERM and SIGHUP.  This ensures that
	      Nix is properly shut down when it receives those signals.  In
	      particular this ensures that killing the garbage collector doesn't
	      cause a subsequent database recovery.

	commit 5bf939885a8bfca9b66a2440bf52330c5fde6477
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 4 15:17:05 2005 +0000

	    * Memoise checkVarDefs since internally produced terms (i.e., not the
	      result of parsing) can have very heavy sharing, causing exponential
	      complexity if we naively recurse into them.  ATerms are graphs, not
	      trees!

	commit 1f285cf5563047f236213c8eadc91324b69af42b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 4 14:50:33 2005 +0000

	    * Scoping bug in `with'.

	commit 221c79013f105612222cd7df3415bf63abcc7412
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Oct 29 18:17:45 2005 +0000

	    * Turn off build hooks in nix-push because of an impurity (NIX-21).

	commit f0856fd905ea727e88f3fc14d3c717679ce8359b
	Author: Rob Vermaas <rob.vermaas@gmail.com>
	Date:   Sat Oct 29 15:44:02 2005 +0000

	    * Repair the referers table from the references table.

	commit 92d599c6a7e7d197fa41167967860628b0f51e60
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 20 16:58:34 2005 +0000

	    * Prevent uids from being used for more than one build
	      simultaneously.  We do this using exclusive locks on uid files in
	      /nix/var/nix/userpool, e.g., /nix/var/nix/userpool/123 for uid 123.

	commit e932c40f8e1fb6aa6edb155fbca1c1273798a20e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 19 14:27:44 2005 +0000

	    * Oops.  Fixed-output derivations were broken.

	commit 1b43fbd8e4c97dfed5f0679feccdb7ff576f6bbe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 18 14:09:43 2005 +0000

	    * Oops, that should be Berkeley DB 4.3.  Reported by Gerco Ballintijn.

	commit 13b089c890bac229e7c3accfd9299f3fdac95e27
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 17 17:43:21 2005 +0000

	    * Also kill all processes of the build user after the build.  This is
	      critical to prevent certain kinds of 0wnage.

	commit f1b3a418fa86e3204c47d4b33873b57a19e9f47c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 17 17:35:37 2005 +0000

	    * Before starting a build under some uid, kill all current processes
	      running under that uid.

	commit 439823ae803444052442ad6ceb7191ba22cbc4cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 17 16:59:25 2005 +0000

	    * Check that the build result is owned by the build user, and that
	      nobody else has write permission to the build result.  This catches
	      most hack attempts.

	commit 7ef574e5d0568a27a3f30b68af6d0a744aff90ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 17 16:52:29 2005 +0000

	    * Don't use FIFOs to make Nix create the output path on behalf of the
	      builder.  Instead, require that the Nix store has sticky permission
	      (S_ISVTX); everyone can created files in the Nix store, but they
	      cannot delete, rename or modify files created by others.

	commit 32282abceaebbe574fa83c074aa8dbff19f937bb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 17 15:33:24 2005 +0000

	    * Beginning of secure multi-user Nix stores.  If Nix is started as
	      root (or setuid root), then builds will be performed under one of
	      the users listed in the `build-users' configuration variables.  This
	      is to make it impossible to influence build results externally,
	      allowing locally built derivations to be shared safely between
	      users (see ASE-2005 paper).

	      To do: only one builder should be active per build user.

	commit 15ff877438a57936d620622cee8fb98cea607d08
	Author: Armijn Hemel <armijn@gpl-violations.org>
	Date:   Tue Oct 11 17:30:57 2005 +0000

	    add @coreutils@ to correctly use coreutils to create a profile. This is needed
	    for NixOS, where we might not know our PATH in advance.

	commit 0f133ae8d280c33db21d0aab7269c647de016b23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 11 12:41:12 2005 +0000

	    * Use ATerm 2.4.2.

	commit dfbf520ec2748b17638fdc5a911f7b091f1b74a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 6 15:51:59 2005 +0000

	    * Swap the system and version comparion columns.

	commit 62412c5874583364a95eece820744bed53d155cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 6 15:51:43 2005 +0000

	    * Document `nix-env --compare-versions'.

	commit cec2be64f36dce184986cbe69adf80a3fac6985a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 6 15:01:46 2005 +0000

	    * Only colorise if we are attached to a terminal.

	commit b87b9c0d1fcbce045f05379d0efe9ae14d0f87e6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 6 14:44:54 2005 +0000

	    * New query option: `--compare-versions' or `-c' to compare installed
	      versions to available versions, or vice versa.

	      For example, the following compares installed versions to available
	      versions:

	        $ nix-env -qc
	        autoconf-2.59            = 2.59
	        automake-1.9.4           < 1.9.6
	        f-spot-0.0.10            - ?
	        firefox-1.0.4            < 1.0.7
	        ...

	      I.e., there are newer versions available (in the current default Nix
	      expression) for Automake and Firefox, but not for Autoconf, and
	      F-Spot is missing altogether.

	      Conversely, the available versions can be compared to the installed
	      versions:

	        $ nix-env -qac
	        autoconf-2.59                  = 2.59
	        automake-1.9.6                 > 1.9.4
	        bash-3.0                       - ?
	        firefox-1.0.7                  > 1.0.4
	        ...

	      Note that bash is available but no version of it is installed.

	      If multiple versions are available for comparison, then the highest
	      is used.  E.g., if Subversion 1.2.0 is installed, and Subversion
	      1.1.4 and 1.2.3 are available, then `nix-env -qc' will print `<
	      1.2.3', not `> 1.1.4'.

	      If higher versions are available, the version column is printed in
	      red (using ANSI escape codes).

	commit 0e0041b2b674e94ae7846474c536ad49239f9e36
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 5 13:01:45 2005 +0000

	    * Update NEWS in the root directory properly.

	commit 0e38578433f5626a33647d8d1332affe1b10b94c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 5 09:42:13 2005 +0000

	    * log2xml -> nix-log2xml.

	commit d47e03fccd1807edb6199cbe0736872d0db3b017
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 5 09:37:58 2005 +0000

	    * Install the XSL stylesheets for log to html conversion.

	commit ed4de220d29414be504a9f73bf86e0cef2e8dfba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 28 09:00:07 2005 +0000

	    * Use "source" instead of ".".

	commit ebfe57166dcf14b0033b4f3d3be3bb1289a19c07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 22 17:23:43 2005 +0000

	    * Lets not go wild with templates.

	commit 4578a490ce5a5a6325b4ff2b8f44468464de2d94
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 22 15:43:22 2005 +0000

	    * Parse multi-valued options.

	commit fbedf6056eb2acb5049b0372350b2c93b8185ab7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 22 12:23:22 2005 +0000

	    * Merge release notes.

	commit 607a2f01e6e171ab31c31aef3220dc69736309c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 21 17:14:52 2005 +0000

	    * Remove other uses of IPC::Open2.

	commit 95304172a581a1052a3b6bcda2ef1a8531f88949
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 21 17:06:06 2005 +0000

	    * Don't use IPC::Open2, it has a subtle race bug on Mac OS X 10.4.  If
	      the parent runs before the child, it closes some pipe file
	      descriptors which causes the child to fail due to a bad file
	      descriptor.  So we just use the normal open() function instead.

	      This fixes NIX-14 (intermittent nix-pull failures).

	commit a864aca44cf2eb0b6b39f5e06ac4112250a05358
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 21 17:02:48 2005 +0000

	    * This doesn't parse for now.

	commit 8d06842a761bab72a2886420c6c47f9daedf30e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 21 12:19:39 2005 +0000

	    * Configuration options for trusted local builds.

	commit 89cd0f57b174ec4dc7e0a4e6015ed401272d9aad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 21 11:12:43 2005 +0000

	    * Use -all_load on Mac OS X.

	commit ef9e2c8e733c4cd4f98ebc704527a54588f4a3ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 20 16:14:00 2005 +0000

	    * Typo.

	commit 25d217684b06b368923d8f683c9b561cdfded255
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 18 20:27:02 2005 +0000

	    * Use a statically linked ATerm library and build it at -O1, since
	      higher optimisation levels cause statically linked libraries to
	      barf.

	commit f4fe3bd5b1b92007f2023f841a468c64592b6fd0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 13:47:03 2005 +0000

	    * Bump the version number to 0.10.

	commit db1a4227a3303d6bda5ea0f28716ca9141a5b25e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 11:28:29 2005 +0000

	    * Updated release notes.

	commit c28b8eb6996ee1fa6cf0755dcb745b7382650011
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 10:35:48 2005 +0000

	    * svn:ignores.
	    * Add missing file to dist.

	commit 6f044ab39ceec0a53ccc6995d0c0ec43603ba9b9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 09:05:54 2005 +0000

	    * svn:ignore.

	commit d34fa9a6cc62f8a98a64a269843f0480ceaed8b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 09:05:18 2005 +0000

	    * Remove dead file.

	commit 846b53bde42614e30bbb260d4ba97140eb503f49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 09:03:24 2005 +0000

	    * Set the current directory to something well-defined.  Might help in
	      setuid installations.

	commit 5c0770ac847e3eb0ed004b75a52e2a94463b550f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 16 08:47:34 2005 +0000

	    * Include the release notes in the manual.

	commit 1b62c2eba3f735c8e31200446735f53568a12ff3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 15 20:29:08 2005 +0000

	    * Force release notes in ASCII, not UTF-8.

	commit d1d027199672f514253cbd7ddef1903fdf2c3710
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 15 15:21:57 2005 +0000

	    * Check for w3m.

	commit 7f384d9c1b4699af2e2ea71c644d6e9bd72be581
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 15 15:21:35 2005 +0000

	    * Use a proper temporary directory.

	commit 896c0b92f35c61079050beec483587f10fd79ad5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 15 09:18:21 2005 +0000

	    * This is not a GNU project :-P

	commit 5818e8eeaf91789d997cdbc1b62b4f9888354215
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 14 18:51:02 2005 +0000

	    * Remove dead code.

	commit 025086edeaa6fc39ee8b5bc6fcad3cc64c2fd0c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 14 18:50:45 2005 +0000

	    * Release notes in Docbook; ASCII release notes (i.e., the `NEWS'
	      file) is now generated from that using `w3m' and some XSL hackery.

	commit ed1db42915dc13cff9b940ae2b12ff9e38b28961
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 14 11:41:59 2005 +0000

	    * List concatenation must be right-associative for efficiency.

	commit deb75bb414c6c7a6d1209efd86738fdd147db13d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 13 15:54:36 2005 +0000

	    * Remove debugging code.

	commit 116e939d5731f89821a6777fb2b458508fd85e29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 13 14:07:22 2005 +0000

	    * More debugging.

	commit 55b84357a1859f5606c655ca52b44591c986cb7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 13 13:17:14 2005 +0000

	    * Debugging.

	commit cf2bb91ec8abd866ff69cb1d20b3549381bd4577
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 13 13:17:01 2005 +0000

	    * Missing #include.

	commit 699073c337d022aa32eac6e840035dbd324d5120
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 13 10:57:24 2005 +0000

	    * Release notes.

	commit cb44aa03b85c3622b3ffe5879e73f46ce78ffba0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 1 20:48:18 2005 +0000

	    * Use aterm 2.4.

	commit 2bcd65ecf6a8505ade08aa39efe41a0361eaf84a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 1 18:14:04 2005 +0000

	    * `nix-env -e' corrupts memory due to incorrect use of iterators.
	      Reported by Rob Vermaas.

	commit e1a6fb787059848c815a8154da23b7da794c6231
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Aug 14 14:00:39 2005 +0000

	    * `dependencyClosure' now allows a search path, e.g.,

	        dependencyClosure { ... searchPath = [ ../foo ../bar ]; ... }

	    * Primop `dirOf' to return the directory part of a path (e.g., dirOf
	      /a/b/c == /a/b).

	    * Primop `relativise' (according to Webster that's a real word!) that
	      given paths A and B returns a string representing path B relative
	      path to A; e.g., relativise /a/b/c a/b/x/y => "../x/y".

	commit 08c53923dba9c7fe6c2676be862744dc1f90f660
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Aug 14 12:38:47 2005 +0000

	    * A primitive operation `dependencyClosure' to do automatic dependency
	      determination (e.g., finding the header files dependencies of a C
	      file) in Nix low-level builds automatically.

	      For instance, in the function `compileC' in make/lib/default.nix, we
	      find the header file dependencies of C file `main' as follows:

	        localIncludes =
	          dependencyClosure {
	            scanner = file:
	              import (findIncludes {
	                inherit file;
	              });
	            startSet = [main];
	          };

	      The function works by "growing" the set of dependencies, starting
	      with the set `startSet', and calling the function `scanner' for each
	      file to get its dependencies (which should yield a list of strings
	      representing relative paths).  For instance, when `scanner' is
	      called on a file `foo.c' that includes the line

	        #include "../bar/fnord.h"

	      then `scanner' should yield ["../bar/fnord.h"].  This list of
	      dependencies is absolutised relative to the including file and added
	      to the set of dependencies.  The process continues until no more
	      dependencies are found (hence its a closure).

	      `dependencyClosure' yields a list that contains in alternation a
	      dependency, and its relative path to the directory of the start
	      file, e.g.,

	        [ /bla/bla/foo.c
	          "foo.c"
	          /bla/bar/fnord.h
	          "../bar/fnord.h"
	        ]

	      These relative paths are necessary for the builder that compiles
	      foo.c to reconstruct the relative directory structure expected by
	      foo.c.

	      The advantage of `dependencyClosure' over the old approach (using
	      the impure `__currentTime') is that it's completely pure, and more
	      efficient because it only rescans for dependencies (i.e., by
	      building the derivations yielded by `scanner') if sources have
	      actually changed.  The old approach rescanned every time.

	commit 714b7256cd5a6783813c3d3a7468f36ba637f567
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Aug 14 10:19:55 2005 +0000

	    * Cleanup; sync with thesis.

	commit 039936567539c1d6d7a3b824b94726b3fed3343b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Aug 14 10:09:56 2005 +0000

	    * nix-hash: option `--truncate' to truncate the hash to 160 bits.  Hmm,
	      kind of ad hoc ;-)

	commit 2fd22c63600a3c91d25316b566fc00aa2415bfee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 1 13:39:56 2005 +0000

	    * Add .libs to svn:ignore.  Commit 3500 ;-)

	commit c680f835c9bf3e357fbe6c655b721da68946c90a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 1 13:39:19 2005 +0000

	    * Escape ASCII characters < 32 to Unicode FFFD (REPLACEMENT CHARACTER)
	      so that we don't produce un-wellformed XML.

	commit f450c8ea2f0917f3a8df77d8c849eed713f96cbd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 1 13:24:04 2005 +0000

	    * Oops.  XSL stylesheet to mark errors.

	commit 800a6ff845ff951ff54a43fd4098b2e505f6eb02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 1 13:23:43 2005 +0000

	    * Mark error lines in red, and expand subtrees containing errors
	      automatically.

	commit 78c72bf10eee4db5f2eb3f7caba8f46e5be51a0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 1 07:30:35 2005 +0000

	    * channels -> channels-v3, catamaran -> nix.cs.uu.nl.

	commit 991a130b1e71b3b849b3640264f8834d6e13da22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 25 15:05:34 2005 +0000

	    * Added a list concatenation operator:
	        [1 2 3] ++ [4 5 6] => [1 2 3 4 5 6]

	commit e6899794ae9ce3924b818721d5caff463bccd60c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 25 10:10:24 2005 +0000

	    * Add $prefix/lib to the RPM.

	commit 33efb52e022a815d88f79e31edd5209837cbee3c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 25 07:25:18 2005 +0000

	    * Hack to get around the libtool wrapper script around nix-store not
	      working when PATH is unset.

	commit 3fae65d4ccea78eeb0aef5acb4b613a0547a4c6d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 22 20:37:39 2005 +0000

	    * Adhockery.

	commit 4c20a0829304631cf7282937bd6a0789701f40a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 22 14:52:45 2005 +0000

	    * Build dynamic libraries.

	commit 1a67154d416d3408ac35ddb5a197d1b76f57aab8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 19 12:00:38 2005 +0000

	    * Release notes.

	commit 0f827cc6076ae3c395537a0c9bd806b0d42947c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 19 11:48:05 2005 +0000

	    * Prevent repeated wrapping of closed terms
	      (closed(closed(closed(...)))) since this reduces performance by
	      producing bigger terms and killing caching (which incidentally also
	      prevents useful infinite recursion detection).

	commit 2135e7c0417b366b4161d01ebf794d25e96b61ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 16 23:19:20 2005 +0000

	    * Wat cleanups.

	commit 6f82a78de7ac02ec5665f17248c4fe98bd4f5847
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 16 21:38:15 2005 +0000

	    * Define paths using regexps, as is done in the Flex definition.

	commit 6f91f02f757f069b939b09eed51ff95de850b2c9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 16 20:43:58 2005 +0000

	    * Make the rejects a bit more compact.
	    * Add lexical restrictions for keywords.

	commit 9590009a74a99100f6718f108098c066e4a0204f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 16 15:41:27 2005 +0000

	    * Fix ambiguity.

	commit f797cb5855d149c679525f55b1558a5dcc27d996
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 16 14:07:35 2005 +0000

	    * Revive and update the SDF grammar for Nix expressions.

	commit a5ceb5bc0b2d7fd796cb49e29d45bf568dc0df2f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 13 17:39:10 2005 +0000

	    * nix-build: default to `./default.nix' if no paths are specified.
	      So when using Nix as a build tool, you can just say `nix-build' and
	      it will build the top-level derivation defined in `default.nix'.

	commit d4879b4dfe05708eb174129141299fb343ceb946
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 12 16:08:10 2005 +0000

	    * Add curl to the RPM dependencies.  Should fix NIX-11.

	commit 22d3587f3b850e8fc34add4d8e62911c6598ad78
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 12 16:06:25 2005 +0000

	    * In nix-instantiate, at top-level, call functions that have arguments
	      with default values automatically.  I.e., e -> e {}.

	      This feature makes convenience expressions such as
	      pkgs/system/i686-linux.nix in Nixpkgs obsolete, since we can just do

	      $ nix-instantiate ./pkgs/system/all-packages.nix

	      since all-packages.nix takes a single argument (system) that has a
	      default value (__thisSystem).

	commit 928a7c06dc830455c246e1ccb8fd980c882b1637
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jun 18 14:20:24 2005 +0000

	    * Don't create patches for archives >= 150 MB because bsdiff can't
	      handle it.  It crashed on the 234 MB tetex archive.  Probably we
	      will never be able to handle archives of that size on 32-bit
	      machines (because bsdiff does everything in memory requiring
	      max(17*n,9*n+m)+O(1) bytes, so the address space simply isn't
	      there).

	commit 040140dd1c3c11e3aa1ca486c3f3596cbe99c008
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 18 17:19:21 2005 +0000

	    * Added a primop `removeAttrs' to remove attributes from a set, e.g.,
	      `removeAttrs attrs ["x", "y"]' returns the set `attrs' with the
	      attributes named `x' and `y' removed.  It is not an error for the
	      named attributes to be missing from the input set.

	commit 109cde670629a0f022de1d875b55bb2f5243b271
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 10 14:56:10 2005 +0000

	    * Ignore (with a warning) invalid garbage collector roots.

	commit c09e47c68f6d32d78df482929295ac0acaf6b387
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 10 14:43:17 2005 +0000

	    * Some svn:ignores.

	commit 8be1db899ec3b2e6270da06421e2c055f874c3b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 10 14:24:48 2005 +0000

	    * Another typo.

	commit cbc8d083acce04a1be6bce23f97956c4c87bbcda
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 10 14:22:36 2005 +0000

	    * Make unpacking of patch sequences much faster by not doing redundant
	      unpacking and repacking of intermediate paths.

	commit 456f3251d2af6e7f4e21f317e217c035d9d6f967
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 10 14:21:46 2005 +0000

	    * Typo.

	commit 9ec7e58aa44d413df071a07aae45e4c32b331274
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 9 17:55:35 2005 +0000

	    * Handle store path arguments in `nix-env -i' correctly again.

	commit bfe4875a5e1058462345cd791061a332e510e033
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 9 15:30:13 2005 +0000

	    * Use Berkeley DB 4.3.38.

	commit 8f57634c1457ced226942024c31e8c3759b1655b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 9 15:25:47 2005 +0000

	    * Automatically upgrade the Berkeley DB environment if necessary.

	commit 88dea78cdfbbf584d8d1de51a7660654de464530
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 9 09:58:00 2005 +0000

	    * Crazy: don't use real hashes of real components in examples, since
	      they cause Nix builds to have unnecessary retained dependences
	      (e.g., on Subversion).

	commit edd145d2fb2960fab414bfe2c4a1221b976815ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 8 10:32:09 2005 +0000

	    * Lazily compute the derivation and output paths of derivations.  This
	      makes most query and installation operations much faster (e.g.,
	      `nix-env -qa' on the current Nixpkgs is about 10 times faster).

	commit 426593162ee4b22443dfca428083047ca1e39ac7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 8 10:28:19 2005 +0000

	    * ATermMap needs an assignment operator, otherwise we are screwed.

	commit 77557a6f06500e0a464f54c7b4b4f5162d0359bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat May 7 21:48:49 2005 +0000

	    Commit 3000!

	    * Make the `derivation' primitive much more lazy.  The expression
	      `derivation attrs' now evaluates to (essentially)

	        attrs // {
	          type = "derivation";
	          outPath = derivation! attrs;
	          drvPath = derivation! attrs;
	        }

	      where `derivation!' is a primop that does the actual derivation
	      instantiation (i.e., it does what `derivation' used to do).  The
	      advantage is that it allows commands such as `nix-env -qa' and
	      `nix-env -i' to be much faster since they no longer need to
	      instantiate all derivations, just the `name' attribute.  (However,
	      `nix-env' doesn't yet take advantage of this since it still always
	      evaluates the `outPath' and `drvPath' attributes).

	      Also, this allows derivations to cyclically reference each other,
	      for example,

	        webServer = derivation {
	          ...
	          hostName = "svn.cs.uu.nl";
	          services = [svnService];
	        };

	        svnService = derivation {
	          ...
	          hostName = webServer.hostName;
	        };

	      Previously, this would yield a black hole (infinite recursion).

	commit 6057b51835596ed282a2ad11f6f6fb8bdec13f7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat May 7 21:33:31 2005 +0000

	    * Don't try to register GC roots in read-only mode.

	commit 6c88d67780c1f009f6ffce46d95f5195c82790f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat May 7 15:45:38 2005 +0000

	    * Build .tar.bz2 files in `make dist'.

	commit d8cda7c3dc8e0fa38694ccdd8b93786ffad72deb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 6 14:43:14 2005 +0000

	    * Mac OS X (and POSIX) doesn't have readlink.

	commit 52a2f41320d1fe35ceccaef35db9fd661f8bffb6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:33:20 2005 +0000

	    * Include some required header files.

	commit 26fd28432d61a88dcef5f3f79657c2caa9461a78
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:32:54 2005 +0000

	    * FreeBSD 4.x doesn't have stdint.h, use inttypes.h instead (which is
	      also part of ISO C).

	commit 5dea0622d1d673bf60f47781c33f343ce9979a7f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:31:49 2005 +0000

	    * Idem (constness fix).
	    * `compare' in GCC 2.95 is broken.

	commit 4a266e35d4c756af6163a314585e55ecb65a4c0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:31:24 2005 +0000

	    * GCC 2.95 compatibility fix in constness; strangely, I think this
	      should not have worked at all.

	commit d7b3cdbd9142ed702a98ebb6a3f6759410d27773
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:30:35 2005 +0000

	    * GCC 2.95 compatibility.  Prevents internal compiler error in member
	      template friends.

	commit ae6d9033a1c6b0b863b94c239c35a2df1a58948a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:29:44 2005 +0000

	    * The eof() state isn't guaranteed to be set non-lazily.  GCC 2.95
	      compatibility fix.

	commit d8a31da1ea418de9c1fb7968b95d74d700a7a54f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 4 16:28:39 2005 +0000

	    * Use `$(MAKE)' instead of `make' for systems where `make' isn't GNU
	      make (such as FreeBSD).

	commit 36fb29f8f0317144a0074d7b6689912a4dc40325
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 2 15:25:28 2005 +0000

	    * Merge remaining stuff from the nix-make branch.
	    * Add support for the creation of shared libraries to `compileC',
	      `link', and `makeLibrary'.
	    * Enable the ATerm library to be made into a shared library.

	commit 02f2da01426b338c75051397dcbdcb0c75913670
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 2 14:44:58 2005 +0000

	    * Merging from nix-make branch:
	      - Add __currentTime primitive (dangerous!).
	      - Allow imports of derivations.

	commit 6842bc9ac4fda9e4ef6b7e71d23b5050357bc1cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 1 09:36:28 2005 +0000

	    * Be quiet when untarring a channel file.

	commit f913283570aabb2e968a4f6bd06f74c03a5d772c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 13 09:20:27 2005 +0000

	    * Remove redundant message.

	commit 9f3601a36cbc4a3c322f48c5ec3487df441105bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 12 10:51:38 2005 +0000

	    * Argh!  The patch downloader was broken due to the renaming of the
	      `--isvalid' flag in nix-store.

	commit f3660b1c8cba8e701689c82fc3fcaf3a3b8283da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 12 10:51:00 2005 +0000

	    * Garbage collector fix: allow deletion of paths that have invalid
	      (but substitutable) referers.

	commit d5219a351af4429ce0ca339940b7ae81717df4a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 12 10:07:02 2005 +0000

	    * Damn.  Disable the USE heuristic for now, since the deriver in the
	      database isn't always in the manifest (so the reference graph cannot
	      be reconstructed fully).

	commit 1d86790910c204f074626916e8d17508d8d633be
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 13:04:54 2005 +0000

	    * Bump the version number to 0.9.

	commit bc5e26dcda9e264bf8d873e30a3ad530003a0d7b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 11:34:49 2005 +0000

	    * Mark date.

	commit cab7816b56f75dab579c75f8178e7dd20773b1a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 11 08:07:41 2005 +0000

	    * Slightly nicer message.

	commit 82d771f6e66e3f8a7101574d9c606553b490fe71
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 10 20:54:21 2005 +0000

	    * Manual updates.

	commit c9c58dba55fc9e46375bb67fdc9e2b55ef3805ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 10 17:38:19 2005 +0000

	    * Primop `__currentSystem' to return the current platform identifier.

	commit b4b51c9f933055e416505e54e446cc27f5f27f56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Apr 9 19:31:12 2005 +0000

	    * NEWS.

	commit fb45b0f5482546b98c984fb9fa753332ba84f72d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Apr 9 17:16:00 2005 +0000

	    * Document nix-channel.

	commit c702dfca3f5a437866faf190ce7b0869fd1058cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 8 13:48:41 2005 +0000

	    * nix-store: `--substitute' -> `--register-substitutes'.

	commit 8b70f138e02d62214715f144b133bf1b981911df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 8 13:00:38 2005 +0000

	    * Lots of manual updates, in particular the new `nix-store --query'
	      options were documented, as well as the Nix configuration file.

	commit 4271385a73d5e073ddfa7e4a75ab0ae5bef50439
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 8 12:57:16 2005 +0000

	    * Make `nix-store --query --tree' work on non-derivations (i.e., on
	      any store path).

	commit 90905634edbbf55447f2eebd84524e556b3f0750
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 8 09:28:50 2005 +0000

	    * Doh.

	commit b9d8ecbc6a76779d0c63729a21628965cafcc4cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 15:51:27 2005 +0000

	    * More doc updates.

	commit 7d876f8fa7b6c3ce120a66b59f69b70ae526538b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 14:35:44 2005 +0000

	    * Get rid of fetchurl, we don't need it anymore.

	commit 10c429c757625c4c36319751f6d87b8990677c1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 14:35:01 2005 +0000

	    * If store paths are specified as sources in Nix expressions, don't
	      copy them, but use them directly.

	commit f9848d4f3122b8a43b69d53277b606806bdba9dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 14:33:32 2005 +0000

	    * Support base-32 hash representations.

	commit c815aff21b668f5fe7bbd04086a988df51281840
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 14:01:51 2005 +0000

	    * `nix-store --add-fixed' to preload the outputs of fixed-output
	      derivations.  This is mostly to simplify the implementation of
	      nix-prefetch-{url, svn}, which now work properly in setuid
	      installations.

	    * Enforce valid store names in `nix-store --add / --add-fixed'.

	commit 57d023a184bdc2f30cd7052c157e43ba1bca8288
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 10:47:58 2005 +0000

	    * More manual updates.

	commit f1ae10b992cf8b3b5f13c5bf69f264872c0a4f4f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 09:36:35 2005 +0000

	    * Build hook documentation.
	    * nix-store options.

	commit 806b91f1040d75ca5331445272ecc46adac1c9ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 7 08:17:04 2005 +0000

	    * GC docs.

	commit 128c174295680097b28d5f578873ded2696caf40
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 5 15:28:30 2005 +0000

	    * Manual updates.

	commit 229252941aeef2bf2292bf3bb47aa477727d03f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 5 11:30:56 2005 +0000

	    * Some GC documentation.

	commit 6c8cf567b824ddb267578ce0105d374cae755420
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 5 11:29:46 2005 +0000

	    * Use `--nonet' flag.

	commit 31e140d70be780d410e697c0ed12b6d84da2cd04
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 4 15:18:19 2005 +0000

	    * I said it couldn't be done.  I was wrong.

	commit 4a83c12c5db250ca0946497420d3e5cac1fbcd57
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 1 15:34:23 2005 +0000

	    * Added a glossary to the manual.

	commit 6f788880b692834655c8679ed58e9131ca2fdfa1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 26 22:06:57 2005 +0000

	    * Re-enable dot graph generation.

	commit 298dd487bb7bc0e0f4f12a3df91906263e506db4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 25 14:31:12 2005 +0000

	    * When finding live paths, the deriver need not be valid.

	commit ebe342c9c14a06bdc90096847529e744265fae3a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 25 14:30:01 2005 +0000

	    * Better error checking.

	commit 7eaf0387639b3108f2351c513801b0d4e0b18be4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 25 14:21:49 2005 +0000

	    * `nix-store --verify': repair bad referer mappings.

	commit c6178f0b038097584cbbac970ebdb3772de27763
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 24 17:46:38 2005 +0000

	    * Create missing log and temproots directories automatically (reported
	      by Rob).

	commit d1487d9015222c33680c7727c31e3b499c620610
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 24 14:07:02 2005 +0000

	    * This is a better location to keep the blacklist, since it can evolve
	      separately from Nix or Nixpkgs.

	commit 009752ca70f2db7775d279d46dd7cf1b127fad88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 24 13:44:47 2005 +0000

	    * Blacklist Firefox 1.0.1.

	commit cff6bc06df81d325b0c99c98cb28ab54b8d8c597
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 19:18:22 2005 +0000

	    * Fix endianness bug.

	commit 590e5a0d654c2ba85839978eb4ee69e5a4678e6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 17:13:42 2005 +0000

	    * Add a test for base-32 encoding of hashes since it seems to be
	      broken on Mac OS X.

	commit 0df9f08078e0588b3bb699465263aa3b80deb771
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 13:16:36 2005 +0000

	    * Export the references graph to the build hook.

	commit 3f236f01ae7e9abe58a591071698a9a9840af7c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 13:07:28 2005 +0000

	    * `nix-store --register-validity': allow a path to refer to a path
	      listed later in the list of new valid paths.

	commit a04c62e0c4f0f8d3bd9cda21173a0193be9eda8a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 12:06:57 2005 +0000

	    * Canonicalise path meta-data in `nix-store --register-validity'.

	commit f20f08156031f04a60025bc7a41dd3fcc117baa7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 23 11:25:20 2005 +0000

	    * nix-store: `--isvalid' -> `--check-validity', `--validpath' ->
	      `--register-validity'.
	    * `nix-store --register-validity': read arguments from stdin, and
	      allow the references and deriver to be set.

	commit a1e00bf6aa8eb581ff4d47a6287800cf224c6a41
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 21 16:28:58 2005 +0000

	    * Remove non-POSIX flag.

	commit ab75a50ba43a2e8c82eb85142134b27a2d7ed0eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 21 10:06:11 2005 +0000

	    * Fink compatibility.

	commit 7272c3f8178b6509e6d949b1e7538bbde49de58a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 18 09:43:25 2005 +0000

	    * Ignore hash conflicts in gc-releases.pl.

	commit 67eff20906899e315a6fbbaab02f18326ac5afb8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 17 10:30:53 2005 +0000

	    * Manual updates.

	commit ad3121a52dacba417387df543df573816cd15b55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 16 16:45:29 2005 +0000

	    * Documented common environment variables.

	commit f982df3cd766072fdb9d36ba6501eaa246381092
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 16 14:40:48 2005 +0000

	    * Update the user environments figure to show multiple profiles and
	      users.
	    * Change to base-32 hashes.

	commit afc3a7b79be9f7aa3dea83633cd1c7c64b484beb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 16 10:46:33 2005 +0000

	    * Automake 1.9 compatibility.

	commit 693ff4f6bff7c2f2f708d908dcbf52fc402c62ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 15:42:11 2005 +0000

	    * Some more updates.

	commit 62dbfbc45bd4e58b88ae21c21b80db16b257711a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 14:38:22 2005 +0000

	    * Remove Docbook EBNF dependency.

	commit e30133469665d02588118594d4db8b6148249cd7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 13:55:41 2005 +0000

	    * XInclude all the way.

	commit b376565b86717c4da2bdea5ee0bc73978ff9bc78
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 13:21:32 2005 +0000

	    * Manual updates.

	commit bacd3a6cfa3af1879ef01e693178c74839d66f70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 12:03:15 2005 +0000

	    * Purify all corepkgs builders.

	commit e52ae1c0ffed6af893438cb456c5c38a272c8b21
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 15 11:12:48 2005 +0000

	    * Use SHA-256 for nix-push.

	commit 155c91b335c4041db5c9e83b8314757bdf7137b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 18:56:02 2005 +0000

	    * Upgrade information.

	commit 5675d5f48819b84e297d3577d6e9b1694f9b6192
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 18:55:46 2005 +0000

	    * Idem.

	commit 6fb5f7e532bf43ecf02004a4010496e9f98d09bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 18:55:29 2005 +0000

	    * Pass `--base32' unless using MD5.

	commit c757d16c8c180bc8a7d74494a2fc92aee7993631
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 18:54:40 2005 +0000

	    * Bug in clearSubstitutes().

	commit bb2e53699fb413d5808ee285d2194a33006a19b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 17:05:42 2005 +0000

	    * Parse new hash format properly.

	commit 5863f2472233ac3991bbd5e659b990f662b340d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 17:05:20 2005 +0000

	    * Print SHA-1 hashes in base-32 by default.

	commit bd333b939cc2fd2006466507ffc78976f85323b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 16:46:19 2005 +0000

	    * Prefix hash algorithm in patch generator too.

	commit 8eff18cd4321f6282e3880da09010ccc9242962e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 15:09:53 2005 +0000

	    * Set NAR name to content hash; previous nix-push names were not
	      unique.
	    * Drop `hashAlgo' attribute in manifests; prefix hashes with the hash
	      algorithm instead.

	commit 1562dfe9bad119e58296f35c1982fc539a97ac30
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 14 14:03:41 2005 +0000

	    * Script to garbage collect nix-push directories.  It prints out all
	      file names in the directory not included in any of the manifests
	      specified on the command line.

	commit 012b812698e9b2d8cdb43ffd41e46cc160256d77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 11 18:35:58 2005 +0000

	    * Preliminary NEWS for 0.8.

	commit 536f3241775c21566d68a0581c78154a908da35f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 11 15:27:37 2005 +0000

	    * nix-install-package: install outPath, not drvPath, for now.
	    * nix-prefecth-url: print out in base-16.

	commit 08df4436182a12a25aa45fcab2a13dbe71f7f10a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 10 11:33:46 2005 +0000

	    * Check for duplicate attributes and formal parameters in Nix
	      expressions.

	commit 97c93526da4dfba1b92a11fb8522c07456d9e1ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 7 16:26:05 2005 +0000

	    * In the checker, do traversals of the dependency graph explicitly.  A
	      conditional expression in the blacklist can specify when to
	      continue/stop a traversal.  For example, in

	        <condition>
	          <within>
	            <traverse>
	              <not><hasAttr name='outputHash' value='.+' /></not>
	            </traverse>
	            <hasAttr name='outputHash' value='ef1cb003448b4a53517b8f25adb12452' />
	          </within>
	        </condition>

	      we traverse the dependency graph, not following the dependencies of
	      `fetchurl' derivations (as indicated by the presence of an
	      `outputHash' attribute - this is a bit ugly).  The resulting set of
	      paths is scanned for a fetch of a file with the given hash, in this
	      case, the hash of zlib-1.2.1.tar.gz (which has a security bug).  The
	      intent is that a dependency on zlib is not a problem if it is in a
	      `fetchurl' derivation, since that's build-time only.  (Other
	      build-time uses of zlib *might* be a problem, e.g., static linking.)

	commit bfbc55cbc6b72aa14805131553c6b2547d3b6ee7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 7 14:54:52 2005 +0000

	    * Use XML::LibXML.

	commit 543d7a41dcb76406e433fde7f5e26c61ac65cc3c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 7 13:27:56 2005 +0000

	    * Automatically add propagated build inputs to user environments.
	      Maybe this is a bad idea.

	commit 9a7f95882c5e32ad5c41799016f749964221cad4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 4 11:12:48 2005 +0000

	    * Basic blacklist checker.  Each element in a user environment is
	      checked against every item in a blacklist.

	commit 4bbdcfbb45112fc3b025f0feff7b995ee373b091
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 3 13:58:02 2005 +0000

	    * Don't use fork() in copyPath(), but a string buffer.

	commit 9e6bca876518fbcd32c67d72721310f6b60f6f75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 3 13:10:52 2005 +0000

	    * Channel fix.

	commit 86cb3cc55468a9e83e3646acedfaedb6a0253b05
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 3 13:10:44 2005 +0000

	    * Increase Berkeley DB limits a bit more.
	    * Maintain the cleanup invariant in clearSubstitutes().

	commit 0107fba48e9466855af2ed8fc84edfec2e0de1ee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 2 15:57:35 2005 +0000

	    * Concept for a simple blacklist.

	commit 07b4399fb6f04d0cae58b8cf0a13efeeaf9d590b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 2 15:57:06 2005 +0000

	    * `nix-store -q --hash' to quickly query the hash of the contents of a
	      store path (which is stored in the database).

	commit 9e50e648a47c1ef3b734bf12945c8b29a8c8f9f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 1 11:27:38 2005 +0000

	    * Doh!

	commit 8d364e5baa53060fb039d8d30f96520781625efe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 1 11:27:22 2005 +0000

	    * Add missing file to dist.

	commit db322a47ffb17be3f75ea864e0732d8f948aaf19
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 1 10:33:55 2005 +0000

	    * Use a weighted use heuristic to disambiguate between multiple
	      occurances of a component.  If the shortest path distance between a
	      component P and Q in the referers graph is D, then the contribution
	      of Q to the use of P is 1 / R^D, where R >= 1, typically 2.  This
	      expresses that distant indirect uses are less important than nearby
	      uses.

	      For instance, this can disambiguate between the bootstrap GCC in
	      Nixpkgs and the GCC of the final stdenv (the former has more uses,
	      but they are further away),  and between the GCC of the final stdenv
	      and the GCC+G77 build (the latter has very few uses).

	commit 2c4302dd7a437c3153d6de704fb5ddec004ea308
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 28 14:12:06 2005 +0000

	    * Added a disambiguation heuristic: if two components have the same
	      name but differ to much in sice (by more than a factor of 3), then
	      never generate a patch.

	commit 8376fff1518415a0d48b34e91298c846b0ab6b95
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 25 16:12:52 2005 +0000

	    * Add a version number to manifests.

	commit 8d3c346559a2528e4606d8a5b61c8a4d5457697d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 25 15:58:00 2005 +0000

	    * Pause if errors occur.

	commit 6bafeafb884d72ac920ec667eeea143309ed64b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 25 15:42:52 2005 +0000

	    * nix-install-package: Use the new (trivial) package format generated
	      by the build farm.  See e.g.,
	      http://catamaran.labs.cs.uu.nl/dist/nixpkgs-0.8/nixpkgs-0.7pre2302/;
	      the user can click on packages, and they will be installed (assuming
	      the `application/nix-package' MIME type has been associated with
	      `nix-install-package').

	      Nix expressions are no longer involved: a "package" is just a
	      pointer to a manifest, and the top-level store derivation to be
	      added to the user environment.  This makes these packages
	      independent from Nix expression evolution.

	      Note that we install the store derivation ($drvPath), not the
	      resulting output path ($outPath).  This is equivalent, except that
	      installing the derivation maintains the back-link from the output
	      path to the derivation that built it.  This is useful for
	      maintenance.

	    * Automatically re-exec in an xterm so that the user sees something
	      when `nix-install-package' is run from a browser.

	commit 3259ae58119b93ca48a267ec90d7e1efb929fef8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 24 17:36:42 2005 +0000

	    * Properly specify the hash algorithm in the manifests, and read it
	      too.
	    * Change the default hash for nix-prefetch-url back to md5, since
	      that's what we use in Nixpkgs (for now; a birthday attack is rather
	      unlikely there).

	commit 95e870a113e98bf23222535d842e525021a15f10
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 24 14:06:18 2005 +0000

	    * (Unnecessary) refactoring.

	commit bfaf83a0fd19cec3354a0d957ae5c58040f75c56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 23 11:19:27 2005 +0000

	    * When multiple derivations are specified in `nix-store -r', don't
	      continue building when one fails unless `--keep-going' is
	      specified.
	    * When `--keep-going' is specified, print out the set of failing
	      derivations at the end (otherwise it can be hard to find out which
	      failed).

	commit 3a2c3f0cf265075b130d9d2a25b9c8334c560b33
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 22 21:14:41 2005 +0000

	    * Support for fixed-output hashes over directory trees (i.e., over the
	      NAR dump of the path).

	commit eda2c3c2537562e3b18c02a47b19e47ba3d37598
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 22 15:23:24 2005 +0000

	    * Compatibility hack so that Nixpkgs can continue to do hash checking
	      in `fetchurl' in Nix <= 0.7, but doesn't in Nix 0.8.

	commit 3c1630131e26efc90164bd8ca57870d9c4ad402b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 18 09:50:20 2005 +0000

	    * Subtle bug in the builder: if a subgoal that is instantiated
	      multiple times is also a top-level goal, then the second and later
	      instantiations would never be created because there would be a
	      stable pointer to the first one that would keep it alive in the
	      WeakGoalMap.
	    * Some tracing code for debugging this kind of problem.

	commit 398463a72adf95b29bd86ba2ea66a08ed4e49541
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 18 08:40:52 2005 +0000

	    * `make check' fix.

	commit e0181f56be2384b4ed93c0cacd5b2bbd13795dba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 15:57:46 2005 +0000

	    * `nix-store -q --tree' shows a tree representing the dependency graph
	      of the given derivation.  Useful for getting a quick overview of how
	      something was built.  E.g., to find out how the `baffle' program in
	      your user environment was built, you can do

	        $ nix-store -q --tree $(nix-store -qd $(which baffle))

	      Tree nesting depth is minimised (?) by topologically sorting paths
	      under the relation A < B iff A \in closure(B).

	commit 74ab0695b5bec5c7239744a89df5b2a7112e916b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 15:48:50 2005 +0000

	    * Compatibility hack with older user environments.

	commit 8a3a96dd5b009d337c0cd12b58a41c943d0aa516
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 13:55:18 2005 +0000

	    * Switch to the calling user context for some more operations in a
	      setuid installation.

	commit 88273f9574fc137301b6a65669eb20f18d7a3b61
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 13:54:45 2005 +0000

	    * Put build logs in $prefix/var/nix/log/drvs/.

	commit fb5dae8694acbabab68aaccbc64796719fcb7b02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 17 10:06:12 2005 +0000

	    * Fix nix-channel.
	    * Add `--help' flag; fixes NIX-5.
	    * Add `--remove' flag; fixes NIX-6.
	    * Add `--list' flag.

	commit 202d5bbda578fcc8ff564c107f5f9dcfd5b1bc2b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 15 12:05:47 2005 +0000

	    * Compatibility with older GCCs.

	commit e17910cfb5ddeca2c136bc0a951318beea2e8a13
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 15 10:49:31 2005 +0000

	    * And yet another installation source: the ability to copy user
	      environment elements from one user environment to another, e.g.,

	        $ nix-env -i --from-profile /nix/var/nix/profiles/other-profile aterm

	      copies the `aterm' component installed in the `other-profile' to the
	      user's current profile.

	commit 0083562f759223f3ef7ace4f269137cf68bf1295
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 15 09:39:12 2005 +0000

	    * Fix broken GC test.

	commit 8992fce3da844e3cfc7cbc563cbf5313980c16dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 17:35:10 2005 +0000

	    * It is now possible to add store derivations or paths directly to a
	      user environment, e.g.,

	        $ nix-env -i /nix/store/z58v41v21xd3ywrqk1vmvdwlagjx7f10-aterm-2.3.1.drv

	      or

	        $ nix-env -i /nix/store/hsyj5pbn0d9iz7q0aj0fga7cpaadvp1l-aterm-2.3.1

	      This is useful because it allows Nix expressions to be bypassed
	      entirely.  For instance, if only a nix-pull manifest is provided,
	      plus the top-level path of some component, it can be installed
	      without having to supply the Nix expression (e.g., for obfuscation,
	      or to be independent of Nix expression language changes or context
	      dependencies).

	commit e446d342b77e0babb200afd6b6275df2c70cfaee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 17:07:43 2005 +0000

	    * Added an installation source `--from-expression' (or `-E') to
	      install derivations from a Nix expression specified on the command
	      line.  This is particularly useful for disambiguation if there are
	      multiple derivations with the same name.  For instance, in Nixpkgs,
	      to install the Firefox wrapper rather than the plain Firefox
	      component:

	        $ nix-env -f .../i686-linux.nix -i -E 'x: x.firefoxWrapper'

	      The Nix expressions should be functions to which the default Nix
	      expression (in this case, `i686-linux.nix') is passed, hence `x:
	      ...'.

	      This might also be a nice way to deal with high-level (user-level)
	      variability, e.g.,

	        $ nix-env -f ./server.nix -i -E 'x: x {port = 8080; ssl = false;}'

	commit 0cb016c209a6cbfc57a93a3f353a556924d31b50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 16:16:02 2005 +0000

	    * Refactoring.  Hope this doesn't break the semantics of `-u' ;-)

	commit a04a5de8f70e5c34be0f0f7ea3c6f2cd50d56982
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 14:16:56 2005 +0000

	    * Implement the `gc-keep-derivations' global configuretion flag.

	commit 6a8ef36fe62c1b53572b0cf64685ece6190b22e5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 13:07:09 2005 +0000

	    * Global configuration option `env-keep-derivations' to store pointer
	      to derivations in user environments.  Nice for developers (since it
	      prevents build-time-only dependencies from being GC'ed, in
	      conjunction with `gc-keep-outputs').  Turned off by default.

	commit b0aba6ec2ac09d5ecdf0068b91010cdee1caae9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 10:44:57 2005 +0000

	    * Don't keep the derivation symlink when creating profile generations.

	commit 32429142cd267196d68b6706b5d340d03c0a1dc2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 14 09:53:11 2005 +0000

	    * Type error in constructor call (caught by GCC 3.3, but not 3.4!).

	commit 20ce2642fc0052a9f70faf194cc0c31d3f88926e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 11 16:56:45 2005 +0000

	    * Refactoring to support different installation sources in nix-env.
	    * Set the references for the user environment manifest properly.
	    * Don't copy the manifest (this was accidental).
	    * Don't store derivation paths in the manifest (maybe this should be
	      made optional).  This cleans up the semantics of nix-env, which were
	      weird.
	    * Hash on the output paths of activated components, not on derivation
	      paths.  This is because we don't know the derivation path of already
	      installed components anymore, and it allows the installation of
	      components by store path (skipping Nix expressions entirely).
	    * Query options `--out-path' and `--drv-path' to show the output and
	      derivation paths of components, respectively (the latter replaces
	      the `--expr' query).

	commit 80870d9291813f265a6e078c92aa535ef0b70a47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 11 16:03:47 2005 +0000

	    * Input sources should be in the set of all referenceable paths too.

	commit 3a99616968a7ffcc8f51bda7a781d3233aa9b428
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 14:37:24 2005 +0000

	    * Commit more often to prevent out-of-memory errors.

	commit 98df735b5149bc1e39ce6b0bae13fbf7cebcdc05
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 12:57:13 2005 +0000

	    * Propagate the deriver of a path through the substitute mechanism.
	    * Removed some dead code (successor stuff) from nix-push.
	    * Updated terminology in the tests (store expr -> drv path).
	    * Check that the deriver is set properly in the tests.

	commit 582e01c06f9ecee25a31c34562926b41dc2856eb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 9 09:50:29 2005 +0000

	    * Automatically upgrade <= 0.7 Nix stores to the new schema (so that
	      existing user environments continue to work).
	    * `nix-store --verify': detect incomplete closures.

	commit c5474398433225e40c8868b0952aebe36da2c849
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 8 13:48:53 2005 +0000

	    * Subflag in `--verify': `nix-store --verify --check-contents' checks
	      that the contents of store paths has not changed by comparing hashes
	      of their current contents to the hashes stored in the database.

	commit 3d74274b37a0f3b841ad860143f9c17401c3d7c4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 8 13:23:55 2005 +0000

	    * Updated `nix-store --verify' to the new schema.

	commit 60feff82cf4dd89c9039914c5b3ef8e1b8acf8e7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 8 13:00:39 2005 +0000

	    * Set umask to prevent permission problems.

	commit 48ebe4527e5af974832bc39f15fcd46ac740effa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 8 11:40:19 2005 +0000

	    * Better error reporting in readmanifest.
	    * Use force flag in `mv' to prevent silly interactive questions (this
	      happens with shared Nix stores).

	commit fbc434ee4c39e7516f3634371442899864786584
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 7 14:32:44 2005 +0000

	    * `nix-store -qb' to query derivation environment bindings.  Useful
	      for finding build-time dependencies (possibly after a build).  E.g.,

	        $ nix-store -qb aterm $(nix-store -qd $(which strc))
	        /nix/store/jw7c7s65n1gwhxpn35j9rgcci6ilzxym-aterm-2.3.1

	    * Arguments to nix-store can be files within store objects, e.g.,
	      /nix/store/jw7c...-aterm-2.3.1/bin/baffle.

	    * Idem for garbage collector roots.

	commit 450c358e2055488897349bf50951cce16ad9bc90
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 7 13:40:40 2005 +0000

	    * Maintain a database table (`derivers') that maps output paths to the
	      derivation that produced them.
	    * `nix-store -qd PATH' prints out the derivation that produced a path.

	commit a37338815de6affd44f927712143f626c8e6d79d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 22:07:48 2005 +0000

	    * A GC setting `gc-keep-outputs' to specify whether output paths of
	      derivations should be kept.

	commit 2e6bf723e4d63d661d26443a4477a040a96c7257
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 20:53:14 2005 +0000

	    * Added a global configuration file (/nix/etc/nix/nix.conf).  It
	      contains options for the garbage collector right now, but other
	      stuff can be added here later.

	commit 9f6835c2829310f3c58abb39002a4a580e3ae35e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 17:52:11 2005 +0000

	    * Remove debug code.

	commit c3981d81f65eda945f7a48d10ce7600fc0419f58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 17:50:48 2005 +0000

	    * Make check fixes.

	commit 65b6c8ab4c7832abdad46a29ce2ef18d289b2471
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 15:05:32 2005 +0000

	    * Move root finding from `nix-collect-garbage' to `nix-store --gc'.
	      This was necessary becase root finding must be done after
	      acquisition of the global GC lock.

	      This makes `nix-collect-garbage' obsolete; it is now just a wrapper
	      around `nix-store --gc'.

	    * Automatically remove stale GC roots (i.e., indirect GC roots that
	      point to non-existent paths).

	commit 630ae0c9d7f65a2d6bef85a5194b4d704e54eded
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 13:48:46 2005 +0000

	    * nix-build: use an indirection scheme to make it easier for users to
	      get rid of GC roots.  Nix-build places a symlink `result' in the
	      current directory.  Previously, removing that symlink would not
	      remove the store path being linked to as a GC root.  Now, the GC
	      root created by nix-build is actually a symlink in
	      `/nix/var/nix/gcroots/auto' to `result'.  So if that symlink is
	      removed the GC root automatically becomes invalid (since it can no
	      longer be resolved).  The root itself is not automatically removed -
	      the garbage collector should delete dangling roots.

	commit dcc37c236c66ba463bd61fec23d046485d8a412f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 12:36:25 2005 +0000

	    * nix-store, nix-instantiate: added an option `--add-root' to
	      immediately add the result as a permanent GC root.  This is the only
	      way to prevent a race with the garbage collector.  For instance, the
	      old style

	        ln -s $(nix-store -r $(nix-instantiate foo.nix)) \
	          /nix/var/nix/gcroots/result

	      has two time windows in which the garbage collector can interfere
	      (by GC'ing the derivation and the output, respectively).  On the
	      other hand,

	        nix-store --add-root /nix/var/nix/gcroots/result -r \
	          $(nix-instantiate --add-root /nix/var/nix/gcroots/drv \
	            foo.nix)

	      is safe.

	    * nix-build: use `--add-root' to prevent GC races.

	commit a6b65fd5e107416588a6572a88518d8816abcb12
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 09:54:56 2005 +0000

	    * Get rid of hardcoded paths.

	commit 06b44242860d62e12f9abe018c6f974ceaa30bb9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 1 09:23:38 2005 +0000

	    * Add missing files to dist.
	    * Fix GC and substitute bugs related to self-references.  Add a
	      regression test.

	commit 32fa82a56a2c4a937c91f72be16339b4ddf7cdf1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 22:23:49 2005 +0000

	    * Acquire a global GC lock to prevent new temporary root files from
	      being created after the garbage collector has read the temproots
	      directory.  This blocks the creation of new processes, but the
	      garbage collector could periodically release the GC lock to allow
	      them to run.

	commit 89c9bc11abc02cc746838bfef101e5fecc59a6c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 22:01:55 2005 +0000

	    * Add a test for a more subtle race: a process starting after the
	      temporary root files have been read but creating outputs before the
	      store directory has been read.

	commit 207bdcbe86bac5fb9e650d26b22ae33c667151e4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 21:20:59 2005 +0000

	    * Automatically remove temporary root files.

	commit 252c9c91abe146e9c6b16d795c6566df4adafe56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 14:00:43 2005 +0000

	    * Topologically sort paths under the references relation to ensure
	      that they are deleted in an order that maintains the closure
	      invariant.
	    * Presence of a path in a temporary roots file does not imply that all
	      paths in its closure are also present, so add the closure.

	commit 33c5d23b814e16687808d5f2d79798fef7dc2a8a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 12:19:53 2005 +0000

	    * Don't delete active lock files.

	commit 1328aa33077fd1cf84869e366c82b8ea1d1abb5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 31 10:27:25 2005 +0000

	    * Start of concurrent garbage collection.  Processes write temporary
	      roots to a per-process temporary file in /nix/var/nix/temproots
	      while holding a write lock on that file.  The garbage collector
	      acquires read locks on all those files, thus blocking further
	      progress in other Nix processes, and reads the sets of temporary
	      roots.

	commit a7668411a10c79ad40c9c18caf2570d5c9f52182
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 28 20:36:46 2005 +0000

	    * Add a test to check whether concurrent garbage collection (i.e.,
	      running the collector while builds are in progress) works
	      correctly.  The test currently fails.

	commit 22cfdfa2460921a282fc924cce5fb26378b9fc9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 28 13:19:16 2005 +0000

	    * Use NIX_STORE environment variable to locate the store (in addition
	      to NIX_STORE_DIR) so that Nix invocations in builders in `make
	      check' work correctly if the store doesn't exist.

	commit 9ab0bc9395e8e9af453b649142c98242bb890ac8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 28 11:05:56 2005 +0000

	    * Another horrible `make check' hack.

	commit 0ea8b6993a76a24afb1a1f38699d80193249fa71
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 28 11:05:46 2005 +0000

	    * Only invalidate paths when they are in fact valid.

	commit ac2f665853331088b5b48f9edad609df9f79f78f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 19:15:12 2005 +0000

	    * Set execute permission.

	commit a85d1849af4ce25cb283a62e4ba9e3d5ccf92c25
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 19:00:48 2005 +0000

	    * Missing dependency; only a problem when building from Subversion.

	commit e5c16c95829f4f14763ba1f66f6e26f5f1792b29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 17:48:50 2005 +0000

	    * Add missing substitutes files to dist.
	    * Add a garbage collector test.

	commit 8a3eef22e38136513370f0dfb3cf7866ec2abaa3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 17:48:14 2005 +0000

	    * Fix deadlock.

	commit c60a4943ba913a282a35b18e725b69859270dc22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 16:18:39 2005 +0000

	    * Update referers mappings when updating/clearing the references
	      mapping.
	    * Do things in the right order in invalidatePath().

	commit 4e37548a1ed23bc46aa803257608b6e66ee00879
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 15:31:49 2005 +0000

	    * Remove deleted files from EXTRA_DIST (again).

	commit c505702265833a762d681952bcc72562d64a242e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 15:21:29 2005 +0000

	    * Fix and simplify the garbage collector (it's still not concurrent,
	      though).  In particular it's now much easier to register a GC root.
	      Just place a symlink to whatever store path it is that you want to
	      keep in /nix/var/nix/gcroots.

	commit 59682e618805701f9c249736514df6db457895f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 27 12:19:25 2005 +0000

	    * Make lock removal safe by signalling to blocked processes that the
	      lock they are waiting on has become stale (we do this by writing a
	      meaningless token to the unlinked file).

	commit a24b78e9f1a7326badb6c38d5d63aeb6ccdf9970
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 21:28:25 2005 +0000

	    * Maintain the references/referers relation also for derivations.
	      This simplifies garbage collection and `nix-store --query
	      --requisites' since we no longer need to treat derivations
	      specially.

	    * Better maintaining of the invariants, e.g., setReferences() can only
	      be called on a valid/substitutable path.

	commit 2a2756b85643de6355b7b9e3cc47574e7df82303
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 20:27:40 2005 +0000

	    * Simplification: registerSubstitutes -> registerSubstitute.  We no
	      longer need the former since there we no longer have the
	      substitutes-rev table (which triggered a O(n^2) cost in updating
	      them).

	commit a9340fa67222bf7ab9057d132af387031b00997d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 17:25:20 2005 +0000

	    * Remove removed files from EXTRA_DIST.

	commit 498f4915cc9dc461b18789288063759e0aded805
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 17:24:14 2005 +0000

	    * Re-enable all tests.

	commit 066da4ab852ebe4288536149824ea175dc36cad4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 17:08:52 2005 +0000

	    * Really fix the substitute mechanism, i.e., ensure the closure
	      invariant by registering references through the manifest.
	    * Added a test for nix-pull.

	commit c6290e42bc8890e2036013773a98e3551352c91a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 13:00:12 2005 +0000

	    * Fix the `--fallback' switch.
	    * Fix the substitutes tests.

	commit 581fc477838e9cf9e5d9657920ef63ea836050ee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 11:55:43 2005 +0000

	    * Fix the build hook mechanism; pass the pointer graph to the hook.

	commit 52bf9b86bb79369b7f7b5b8a5726b83ee154da6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 11:18:03 2005 +0000

	    * In nix-store: added query `--referers-closure' that returns the
	      closure of the referers relation rather than the references
	      relation, i.e., the set of all paths that directly or indirectly
	      refer to the given path.  Note that contrary to the references
	      closure this set is not fixed; it can change as paths are added to
	      or removed from the store.

	commit 80faa2f98af8616ab89ac2af63431b887a84fb32
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 25 10:55:33 2005 +0000

	    * In nix-store: change `--build' back to `--realise'.  Also brought
	      back the query flag `--force-realise'.
	    * Fixed some of the tests.

	commit 6a0a2d559336b3a7a165fb0f87f5e70caa9d8d72
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 20 16:01:07 2005 +0000

	    * Terminology fixes.

	commit 6bb5efadeceb8c4666c227a44113709bb47d23cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 20 15:25:01 2005 +0000

	    * Ensure that derivation names and sources don't end in `.drv'.

	commit 05f0430de1d8eeae222a1306d4d0f7f407c8ce7d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 20 14:10:19 2005 +0000

	    * Another change to low-level derivations.  The last one this year, I
	      promise :-) This allows derivations to specify on *what* output
	      paths of input derivations they are dependent.  This helps to
	      prevent unnecessary downloads.  For instance, a build might be
	      dependent on the `devel' and `lib' outputs of some library
	      component, but not the `docs' output.

	commit 6ff48e77f6da3c523a29c254b315d83e310290b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 21:55:02 2005 +0000

	    * Set the Perl search path properly (reported by Roy van den Broek).

	commit e0f4e587c3a5110f57fbf4e85e14fdc606b1eaf6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 16:59:56 2005 +0000

	    * Nix-store queries `--references' and `referers' to query the pointer
	      graph.  That is, `nix-store --query --references PATH' shows the set
	      of paths referenced by PATH, and `nix-store --query --referers PATH'
	      shows the set of paths referencing PATH.

	commit 96de272b48f8e9bdabffddb699ed4f2292d4f1d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 16:39:47 2005 +0000

	    * Renamed `normalise.cc' -> `build.cc', `storeexprs.cc' ->
	      `derivations.cc', etc.
	    * Store the SHA-256 content hash of store paths in the database after
	      they have been built/added.  This is so that we can check whether
	      the store has been messed with (a la `rpm --verify').
	    * When registering path validity, verify that the closure property
	      holds.

	commit ef5f254a55a2d6db09d3d0549ed45701558027e0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 15:02:02 2005 +0000

	    * `nix-store --build' now builds its arguments in parallel instead of
	      sequentially (within the limits set by `--jobs').  This should
	      greatly improve the utilisation of the build farm when doing Nixpkgs
	      builds.

	commit 06c77bf7a861221d41b5db9fad3002f13a14ed0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 14:36:00 2005 +0000

	    * Change extension `.store' to `.drv'.
	    * Re-enable `nix-store --query --requisites'.

	commit 863dcff6c5ffc163010ec1f9e6819bb9aaaadc29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 11:16:11 2005 +0000

	    * Started removing closure store expressions, i.e., the explicit
	      representation of closures as ATerms in the Nix store.  Instead, the
	      file system pointer graph is now stored in the Nix database.  This
	      has many advantages:

	      - It greatly simplifies the implementation (we can drop the notion
	        of `successors', and so on).

	      - It makes registering roots for the garbage collector much easier.
	        Instead of specifying the closure expression as a root, you can
	        simply specify the store path that must be retained as a root.
	        This could not be done previously, since there was no way to find
	        the closure store expression containing a given store path.

	      - Better traceability: it is now possible to query what paths are
	        referenced by a path, and what paths refer to a path.

	commit e9762e2d10c4a837e3d75d53e3a24452f07f47ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 19 11:04:24 2005 +0000

	    * Support arities > 6.

	commit 6d493751c331e7b695f82e9c259423efa7741f59
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 18 11:15:50 2005 +0000

	    * Get --readonly-mode to work again.

	commit 32aac8748a1439289af6b80efe9d518e123d6cc7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 17 19:01:48 2005 +0000

	    * Actually check that the result of fixed-output derivations matches
	      the specified hash.

	commit f3dc2312501358e29b70bec977fd96f626c46392
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 17 16:55:19 2005 +0000

	    * Removed the `id' attribute hack.

	    * Formalise the notion of fixed-output derivations, i.e., derivations
	      for which a cryptographic hash of the output is known in advance.
	      Changes to such derivations should not propagate upwards through the
	      dependency graph.  Previously this was done by specifying the hash
	      component of the output path through the `id' attribute, but this is
	      insecure since you can lie about it (i.e., you can specify any hash
	      and then produce a completely different output).  Now the
	      responsibility for checking the output is moved from the builder to
	      Nix itself.

	      A fixed-output derivation can be created by specifying the
	      `outputHash' and `outputHashAlgo' attributes, the latter taking
	      values `md5', `sha1', and `sha256', and the former specifying the
	      actual hash in hexadecimal or in base-32 (auto-detected by looking
	      at the length of the attribute value).  MD5 is included for
	      compatibility but should be considered deprecated.

	    * Removed the `drvPath' pseudo-attribute in derivation results.  It's
	      no longer necessary.

	    * Cleaned up the support for multiple output paths in derivation store
	      expressions.  Each output now has a unique identifier (e.g., `out',
	      `devel', `docs').  Previously there was no way to tell output paths
	      apart at the store expression level.

	    * `nix-hash' now has a flag `--base32' to specify that the hash should
	      be printed in base-32 notation.

	    * `fetchurl' accepts parameters `sha256' and `sha1' in addition to
	      `md5'.

	    * `nix-prefetch-url' now prints out a SHA-1 hash in base-32.  (TODO: a
	      flag to specify the hash.)

	commit d58a11e019813902b6c4547ca61a127938b2cc20
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 16:04:03 2005 +0000

	    * Shorten SHA-256 hashes used in store path name generation to 160
	      bits, then encode them in a radix-32 representation (using digits
	      and letters except e, o, u, and t).  This produces store paths like
	      /nix/store/4i0zb0z7f88mwghjirkz702a71dcfivn-aterm-2.3.1.  The nice
	      thing about this is that the hash part of the file name is still 32
	      characters, as before with MD5.

	      (Of course, shortening SHA-256 to 160 bits makes it no better than
	      SHA-160 in theory, but hopefully it's a bit more resistant to
	      attacks; it's certainly a lot slower.)

	commit 9530cc31700f68fd229eee69eabd2baa099f404a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 13:51:38 2005 +0000

	    * Start move towards SHA-256 hashes instead of MD5.
	    * Start cleaning up unique store path generation (they weren't always
	      unique; in particular the suffix ("-aterm-2.2", "-builder.sh") was
	      not part of the hash, therefore changes to the suffix would cause
	      multiple store objects with the same hash).

	commit a7b94e87d7d28f763a708876cba46c8f2484b526
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 13:50:09 2005 +0000

	    * Missing file.

	commit 9ee88bb2f2fed3bcf34eb5e5caadced2e77a85da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 13:50:00 2005 +0000

	    * Use absolute paths.

	commit 63791eb05b236afcea510d769a8943f8be3dbc9c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 12:03:04 2005 +0000

	    * Add SHA-256.
	    * Tests for the various hashes.

	commit 37b51a9aa6d5d0fb97bad0d1a27d27304da277c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 14 10:16:33 2005 +0000

	    * Removed some dead code.

	commit 7e8961f72056f53ccf78eba0ee8c240bc2310ab8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 13 17:39:26 2005 +0000

	    * Added SHA-1 support.  `nix-hash' now has an option `--type sha1' to
	      select SHA-1 hashing.

	commit 73992371a3bc16b27b22e53d5f7ae600dea9cf60
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 13 15:44:44 2005 +0000

	    * Refactoring to support SHA-1.

	commit d46b4262dc84689c3916583b91ed9fc6dafefdd6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 12 13:23:12 2005 +0000

	    * Bump version number to 0.8.

	commit b17e7cf9794b406aa26dd2ccbe2f64c1ba981d99
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 12 10:40:59 2005 +0000

	    * Script to remove patches from manifests.

	commit 0bc41f632b22814514b1d6784fa02454febd2fd4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 12 10:37:18 2005 +0000

	    * Print out less garbage.

	commit 7d75616f2ca4e72db7088767e052b66de5718a80
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 12 10:27:46 2005 +0000

	    * NEWS and manual update for release 0.7.

	commit 6af4a5a71ffee704c4760be4259d69bb7e21b870
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 5 09:58:12 2005 +0000

	    * Prototype store optimiser.  It searched the Nix store for identical
	      files and hard-links them to each other to save disk space.

	      Currently it doesn't actually do the hard-linking, it just reports
	      the amount of space saved if it did.

	commit a03397be4c176c142871e7337dfef7734cd508ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 4 17:38:26 2005 +0000

	    * Cygwin compatibility.

	commit f28ea27d83741caf38b8ac7de317d13a2904f54a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 31 11:07:32 2004 +0000

	    * Remove old stuff.

	commit c53898cb650d14f9d888e28e48496e15db00fb47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 31 11:07:12 2004 +0000

	    * If a patch already exists, it must still be included in the manifest.

	commit 35b76a81c42df1f07f4de711eb1bcf681eac3c3a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 30 17:19:47 2004 +0000

	    * More instrumentation (statistics go to /nix/var/log/nix/downloads).

	commit 3745cecc6a569f09a7fdb95363b2c7eeaf59b687
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 30 17:09:57 2004 +0000

	    * Fix handling of chained patches: don't skip patches if intermediate
	      paths are missing, etc.

	commit 581bcb986f22e2d60f2c01b4be27f50d478df587
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 30 16:34:54 2004 +0000

	    * Some logging for evaluation.

	commit 6270aa727d63ce4a4d27280f233a55f4c67d8285
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 22:17:26 2004 +0000

	    * Propagate patches from the source distribution to the destination
	      distribution insofar they are applicable.

	commit 4f07ebc67e74629724c441352a58b12143383129
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 22:08:48 2004 +0000

	    * Integrated bsdiff/bspatch 4.2 (from
	      http://www.daemonology.net/bsdiff/bsdiff-4.2.tar.gz) into the source
	      tree.  The license is a bit peculiar, but it does allow verbatim
	      copying, which is what we do here (i.e., so don't make any changes
	      to the sources).

	commit 54d8f0858825e9ae4c8fdf54b7c2019edee05237
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 19:32:55 2004 +0000

	    * Reject patches larger than the full archives they produce.

	commit 2fdb27e7f21c99174d35556575e3d25bf2bdc23e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 19:04:21 2004 +0000

	    * Atomic file replacement is good.

	commit e1e9c036f9313ac6bf160dba67e694b7868f1567
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 18:58:15 2004 +0000

	    * A utility to generate patches between releases based on their
	      manifests.

	commit 77fc1c6c5c4f662ab9b15ff09300f2a626597bc8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 29 17:29:24 2004 +0000

	    * Use aterm 2.3.1.

	commit 9022cf9adfd3504e40d52fa2891663bf33fa2f9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 28 21:12:00 2004 +0000

	    * A small utility to add the Size and NarHash fields to old manifests.

	commit 4bf58d53795d53331094e5cc83187602d8d37730
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 28 21:11:28 2004 +0000

	    * Added a function to write manifests.

	commit 3d1b2101ccfd34f15b108f54a563a616cb679109
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 20 16:38:50 2004 +0000

	    * Place manifests in /nix/var/nix/manifests.
	    * Use the new patch downloader.

	commit 7eed57e784068ae6e2e9bf4409639067df467cd3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 20 14:57:03 2004 +0000

	    * Sync with changed substitute mechanism.
	    * Accept the NarHash line.
	    * Clear substitutes in `nix-channel --update'.

	commit 96c3d8a61550545549dfa31c62e68d16f4e89c0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 20 14:38:04 2004 +0000

	    * I love test sets.

	commit 8b9697e57596aaf142799ae6bec8bb53155dba78
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 20 14:16:55 2004 +0000

	    * An operation `nix-store --clear-substitutes' to remove all
	      registered substitute mappings.

	commit fa9259f5f519386b4f32ac9490bc73459773e589
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 20 13:43:32 2004 +0000

	    * Simplify the substitute mechanism:
	      - Drop the store expression.  So now a substitute is just a
	        command-line invocation (a program name + arguments).  If you
	        register a substitute you are responsible for registering the
	        expression that built it (if any) as a root of the garbage
	        collector.
	      - Drop the substitutes-rev DB table.

	commit 015beb7cd04ee75d58bf09ef89816f9301cda646
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 17 13:46:07 2004 +0000

	    * Typo: genericBuilder -> genericBuild.

	commit 4d25b0b0bb9977598802b0d9647530f7c2fde430
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 16 15:31:50 2004 +0000

	    * Fix nix-pull.

	commit f4041cc175df8bc3fa5810948cc2a33eb1159a06
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 16 14:59:05 2004 +0000

	    * Commit old changed to bdiff.sh - but bdiff.sh is obsolete.

	commit 77970f8dafb540a598fd90ad360c42fbea36bf30
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Dec 16 14:31:49 2004 +0000

	    * Remove `prebuilts.conf' file, it's not like anybody was using it.
	    * Add /nix/var/nix/manifests directory.

	commit e3b051aeeb968528d918b6af6c1e1df0bd7de958
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 16:56:18 2004 +0000

	    * Include the size of the bzipped archive (necessary for computing the
	      cheapest download path), as well as the hash of the contents of the
	      path (necessary for checking patch applicability).

	commit 862f4c154e883611ba9dfefe921c87e6423075ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 13:47:38 2004 +0000

	    * Patch deployment.  `download.pl' (intended to be used in the
	      substitute mechanism) creates a store path by downloading full NAR
	      archives and/or patches specified in the available manifests.

	      Any combination of present paths, full downloads, and patches can be
	      used to construct the target path.  In particular, patches can be
	      chained in sequence; and full NAR archives of the target path can be
	      omitted (i.e., patch-only deployment is possible).  A shortest path
	      algorithm is used to find the smallest set of files to be downloaded
	      (the edge weights are currently file sizes, but one can imagine
	      taking the network speed to the various source into account).

	      Patches are binary deltas between two store paths.  To be precise,
	      they are the output of the `bsdiff' program applied to the NAR
	      archives obtained by dumping (`nix-store --dump') the two store
	      paths.  The advantage of diff'ing NAR archives (and not, say, doing
	      file-by-file diffs) is that file renames/moves are handled
	      automatically.  The disadvantage is that we cannot optimise creation
	      of unchanged files (by hard-linking).

	commit dca48aed349375b8515a32ac58dce48f48f7264e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 13 13:35:36 2004 +0000

	    * Allow an optional hash to be provided.  This prevents redundant
	      fetches.

	commit 71926ee18803071e64754465faf3d57d6dc9bbda
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 21:04:28 2004 +0000

	    * Print out statistics comparing our performance to bzip2.

	commit 13f77276d11610171bc7774406b65b6cb73d453a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 19:22:16 2004 +0000

	    * utime() follows symlinks, so don't change the mtime if the file is a
	      symlink.

	commit eee6fe478e5a0275b2da382216a5b8ec24e04290
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 19:12:55 2004 +0000

	    * Proof-of-concept for binary patch deployment.

	commit f17553a212e726abdfc96af5657968c24a829d0d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 15:30:44 2004 +0000

	    * Remove debug statement.

	commit 4115d8d8ce29113d9cb4efe7018dfb11f8038978
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 29 15:09:29 2004 +0000

	    * Canonicalise metadata of all files in store paths (set the mtime to
	      0, set the mode to either 444 or 555, set the group to the default).

	commit 5d5318c2ff57a110883a0d404f3673c76cd491b4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 14 14:00:45 2004 +0000

	    * Bump version number to 0.7.

	commit 9f8964a0622716e68935ce7e25e860a63f609f49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 14 10:42:16 2004 +0000

	    * More manual fixes.

	commit 0b79a1208228298d3abda7c03153c1abec2406d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 14 00:24:57 2004 +0000

	    * Manual fixes.

	commit 54c7a870d5b6324462ea293e3e5a8bb59c7d5ac3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 12 23:56:37 2004 +0000

	    * Document --delete-generations and other nix-env options.

	commit c2b0d6b02ffaaa6e47eb24c3dca30beeea387aff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 12 23:22:08 2004 +0000

	    * Document --eval-only and --parse-only options in nix-instantiate.

	commit 32c73268502e35af54953e23038018edb8ce5685
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 9 14:06:56 2004 +0000

	    * Typos.

	commit 92ee003dc985e6f8331270068b10ca52e9cef793
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 8 15:20:52 2004 +0000

	    * Fix broken format string.

	commit d6db574ec127757c05c24f53c71e4116caaa762b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 8 11:32:10 2004 +0000

	    * Check exit status of pipe elements.

	commit b8aaef5e4e25daa838157c7b3a8165b633901646
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 22:12:16 2004 +0000

	    * Documented the standard environment, including the generic builder.

	commit 2c3b29c5cabfafe340eda9104d34d28c2a4f2e90
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 20:36:45 2004 +0000

	    * Everything you always wanted to know about functions and derivations
	      but were afraid to ask.

	commit ea6581b691136f8545e9ab48d9ad339ad7019333
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 20:36:10 2004 +0000

	    * Drop the grammar appendix.

	commit 09e7f06818bb29c19ce395876860e57444e836c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 20:30:02 2004 +0000

	    * Put something in here.

	commit 1bac7a10e64049361f4ebdb592aa07ad3dbb4c53
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 18:58:49 2004 +0000

	    * Operators, comments.

	commit 55b35d6d776e6f204d446fdadf9e30ed712f0899
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 7 13:53:07 2004 +0000

	    * Lets, inheritance, assertions.

	commit 0b1ee4802b00124e785693c84f508c4f9f3fffdd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 5 21:12:23 2004 +0000

	    * Typo fix.

	commit 5f0300d18c41234c0edb93e04b98e3473ad8021e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 5 21:11:01 2004 +0000

	    * Generic builders.

	commit 3e9d2038b46cc479a97f0c0e0f280b2f83b3c544
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 5 15:39:30 2004 +0000

	    * Start of language reference.

	commit 6ca9c7f0a91a2998ecd0063ff68f01e6eca12759
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 5 13:10:08 2004 +0000

	    * Finished GNU Hello walkthrough.

	commit 8b934694f27c309b6f39ae2dede8130dc591ed49
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 4 20:21:08 2004 +0000

	    * Manual: writing Nix expressions.

	commit feb3ceaee034cf5783264eb9dc6bd2dd62298341
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 4 20:20:39 2004 +0000

	    * Better error messages.

	commit cb7ccb528bbaeb30d09fbb41e57ab75d3121e1bc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 3 18:12:03 2004 +0000

	    * string2ATerm -> overloaded toATerm.

	commit 4cbd845aa491b5cf534f8c031d285fc454933868
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 3 16:51:09 2004 +0000

	    * Don't propagate our CFLAGS to the ATerm library since it breaks at
	      -O2.

	commit 5f2c5a306cf59d3b2400aba5c1be403e4b6e79c5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 2 08:25:29 2004 +0000

	    * chapter -> appendix.

	commit 0913f5a6151cd9ef84c6cd82fcc71c55699ddacb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 1 16:21:37 2004 +0000

	    * Section about channels.

	commit ee5dcfade2a1c5ee47313b4a971245ec6c07cfa2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 1 16:03:35 2004 +0000

	    * Section about garbage collection.

	commit cbe8de592d747e603c8657247d280faf5eb584a3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 1 12:02:44 2004 +0000

	    * Profiles section.

	commit b05a596d61a5e062fc07380f8e6421fcfcb37f07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 31 17:08:48 2004 +0000

	    * Document setuid Nix installs.

	commit 0d80d237c5d817c60c420a8a7870e296f202c1b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 31 16:13:25 2004 +0000

	    * Add figures to `make install' / `make dist'.

	commit 2aa1f4717bdf9432a75f13088ec79644be9a7d88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Oct 31 12:01:16 2004 +0000

	    * Fix `File exists' errors if the `result' symlink exists but is
	      dangling.

	commit f8ac8d1ec835cf070afd62c0cef14a81e9a49302
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 15:26:26 2004 +0000

	    * Began adding build farm docs.

	commit a69534fc217666d53a418605de0ebb0879cbb2f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 29 11:22:49 2004 +0000

	    * Drop ATmake / ATMatcher also in handling store expressions.

	commit ed09821859e8e585c8479a3c3bf95e76d518d66f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 13:12:58 2004 +0000

	    * Use `atdiff' instead of `cmp' for checking test output.
	    * Don't use local file names in tests since they will produce
	      different parse trees depending on the current directory.

	commit 3277c9432ab718c8b80c54b228f8d5fbf94fb033
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 13:00:31 2004 +0000

	    * Bug fix in parsing of /* ... */ comments; due to longest match
	      regexp there could be only one such comment per file.

	commit 463e2817c55fbd5b026d7dd630541b990b82418a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 12:41:53 2004 +0000

	    * Remove ancient Fix tests.
	    * Add automated Nix expression language tests.

	commit f09618b63a3e842adc59360c9bb4cf0ad37246ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 10:24:44 2004 +0000

	    * Turn on read-only mode in queries.  This prevents redundant store I/O.

	commit c7bea941b04710b4a4f1b64c1274207d355633dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 10:05:51 2004 +0000

	    * Oops, I did it again.

	commit 210ab0296dc340e5dd0829e282ad02d5d36bca62
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 27 00:02:31 2004 +0000

	    * Add file to `make dist'.

	commit c52dda95a69e02cd62d5ddac6ecf2229fe0c478f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 23:30:18 2004 +0000

	    * Bug: check that term is an application.

	commit 5fe9222b36ad49d74c84edb04d6bc4a7d844be01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 22:54:26 2004 +0000

	    * Don't use ATmake / ATmatch anymore, nor the ATMatcher class.
	      Instead we generate data bindings (build and match functions) for
	      the constructors specified in `constructors.def'.  In particular
	      this removes the conversions between AFuns and strings, and Nix
	      expression evaluation now seems 3 to 4 times faster.

	commit eb8284ddaa66448d369647f68cb9f89b93a187de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 17:10:09 2004 +0000

	    * Evaluate argument to `import'.

	commit 033d7c65930c7613fa21510f03984d764fcdb7d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 17:04:55 2004 +0000

	    * Doh!

	commit 9fa07b376dd52ee8bbcc074e59d36af3f3f2536d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 17:01:35 2004 +0000

	    * String/path concatenation operator (`+').

	commit ee401afad81dc7759c66829372826f98268ae606
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 26 16:59:36 2004 +0000

	    * Mode `--parse-only' to parse the input (on stdin, `-'), and print
	      out the AST as an ATerm.
	    * Mode `--eval-only' to parse and evaluate the input, and print the
	      resulting normal form as an ATerm.

	    Neither of these modes require store/DB write permission.

	commit 37d7abd69402f0e7a78d4d2f2d78996409a8563a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 25 16:54:56 2004 +0000

	    * New language feature: with expressions.

	      The expression `with E1; E2' evaluates to E2 with all bindings in
	      the attribute set E1 substituted.  E.g.,

	        with {x = 123;}; x

	      evaluates to 123.  That is, the attribute set E1 is in scope in E2.

	      This is particularly useful when importing files containing lots
	      definitions.  E.g., instead of

	        let {
	          inherit (import ./foo.nix) a b c d e f;

	          body = ... a ... f ...;
	        }

	      we can now say

	        with import ./foo.nix;

	        ... a ... f ...

	      I.e., we don't have to say what variables should be brought into scope.

	commit f4d44a002688262d33093494a7fea1bb11b97ac9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 25 14:38:23 2004 +0000

	    * Allow certain operations to succeed even if we don't have write
	      permission to the Nix store or database.  E.g., `nix-env -qa' will
	      work, but `nix-env -qas' won't (the latter needs DB access).  The
	      option `--readonly-mode' forces this mode; otherwise, it's only
	      activated when the database cannot be opened.

	commit 3ade3e7721df981614bbb2420baeb84e58085967
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 25 13:51:34 2004 +0000

	    * Revert r1594 - it didn't solve the problem.  Instead add
	      svn-revision to distributions, which should fix it.

	commit 2248becfd3363a5de52ef6b10edf4c2d774bfa1e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 25 12:15:50 2004 +0000

	    * Make sure that the prerelease version is included in `--version'.

	commit 50b9caac14bff656b6705efbb09e15ba9dc22d22
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 21 09:22:16 2004 +0000

	    * Updated NEWS for the upcoming 0.6 release.

	commit 2155c0a673ee1d72a9961ec5e4a864b7c797ec44
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 14:42:38 2004 +0000

	    * Register channels as roots of the garbage collector (in
	      $(localstatedir)/nix/gcroots/channels).
	    * In setuid installations, create gcroots/tmp and gcroots/channels
	      group-writable.

	commit 88888160d239ed68118ba1d5f94cad0a0ca7521f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 14:40:54 2004 +0000

	    * Fix nix-prefetch-url in setuid Nix installations.

	commit 99da51d4debda195d8d264b9c060fe4304359e4f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 20 14:05:48 2004 +0000

	    * Show error messages from curl.

	commit 2cd590d96c7bfa6843384073102099b545097c93
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 18 12:22:14 2004 +0000

	    * Instead of &mdash; use the actual Unicode character.  By the way, to
	      edit the manual, you should have something like

	        (modify-coding-system-alist 'file "\\.xml\\>" 'utf-8)

	      in your ~/.emacs.

	commit 692204e0c5565d14fce0a62527bf2b0b91f82753
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 14 16:43:09 2004 +0000

	    * Rewrite of package management stuff.

	commit d830b2c1df3b80a1dffec40cbea8e9af7d0e0a11
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 14 15:09:55 2004 +0000

	    * In `nix-env -q', sort derivations by name *without* case
	      sensitivity.

	commit febd8bed1b341b56d58d43ebb09710504f997da9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 14 11:55:12 2004 +0000

	    * Split overview chapter into a chapter on package management and a
	      chapter on writing Nix expressions.

	commit 98c69e51728d18ff528b8873ef63c87dbe430772
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 14 11:54:41 2004 +0000

	    * Unindent.

	commit 371c57d8a7c0ee58de82f68c9dfb116cee7e00a9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 13 15:35:47 2004 +0000

	    * Updated the quick start section.  Use channels instead of
	      downloading Nix expressions and calling nix-pull.  This is so
	      user-friendly that even a Mac user can do it! :-)

	commit 2b20701f7895101c8ef8c989fccf702081615120
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 13 15:08:35 2004 +0000

	    * Better introduction.
	    * Set notes in a different color than warnings.

	commit 13172427806ad41fb3896c2e3ced1cf9672bb081
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 22 12:15:04 2004 +0000

	    * Make store objects created by substitutes read-only.

	commit 995d08208eb52dfa42451733c4b20add2730de9f
	Author: Niels Janssen <njanssen@cs.uu.nl>
	Date:   Sun Sep 19 15:53:37 2004 +0000

	    * prevent collision on log directory

	commit b357284a323b86b96828e38dcb2d86b67f172de5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Sep 12 19:08:57 2004 +0000

	    * Fallback didn't work for subderivations of an unnormalised the main
	      derivation, since NormalisationGoal would first run a
	      NormalisationGoal on the subderivation (a no-op, since in a
	      situation where we need fallback the successor is known), and then
	      runs a RealisationGoal on the normal form, which then cannot do a
	      fallback because it doesn't know the derivation expression for which
	      it is a normal form.

	      Tossed out the 2-phase normalisation/realisation in
	      NormalisationGoal and SubstitutionGoal since it's no longer needed -
	      a RealisationGoal will run a NormalisationGoal if necessary.

	commit dcc433de47d4bf4a27fe63bc8996e946164ae885
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Sep 10 13:32:08 2004 +0000

	    * Operation `--delete-generations' to delete generations of a
	      profile.  Arguments are either generation number, or `old' to delete
	      all non-current generations.  Typical use:

	      $ nix-env --delete-generations old
	      $ nix-collect-garbage

	    * istringstream -> string2Int.

	commit c16be6ac92b86981e8e4bb6703e694b675a28b0d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 9 21:19:20 2004 +0000

	    * Remove write permission from store objects after they have been
	      added to the store.  Bug reported by Martin.

	commit 47f87072ad42338a9b6397a250abf2775d051d8e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 9 21:12:53 2004 +0000

	    * A very dirty hack to make setuid installations a bit nicer to use.
	      Previously there was the problem that all files read by nix-env
	      etc. should be reachable and readable by the Nix user.  So for
	      instance building a Nix expression in your home directory meant that
	      the home directory should have at least g+x or o+x permission so
	      that the Nix user could reach the Nix expression.  Now we just
	      switch back to the original user just prior to reading sources and
	      the like.  The places where this happens are somewhat arbitrary,
	      however.  Any scope that has a live SwitchToOriginalUser object in
	      it is executed as the original user.

	    * Back out r1385.  setreuid() sets the saved uid to the new
	      real/effective uid, which prevents us from switching back to the
	      original uid.  setresuid() doesn't have this problem (although the
	      manpage has a bug: specifying -1 for the saved uid doesn't leave it
	      unchanged; an explicit value must be specified).

	commit 5396304c73190c6898981caf653fc1b28be71f70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 9 15:55:31 2004 +0000

	    * Use setre[ug]id() instead of setres[ug]id(), since the former is
	      more common than the latter (which exists only on Linux and
	      FreeBSD).  We don't really care about dropping the saved IDs since
	      there apparently is no way to quiry them in any case, so it can't
	      influence the build (unlike the effective IDs which are checked by
	      Perl for instance).

	commit e043fc7d0b68bedaabe236c2f2080a33bb967ee5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 9 14:16:02 2004 +0000

	    * Set the umask to known value (0022).  This is important in a
	      setuid installation, since the calling user may have a more fascist
	      umask (say, 0077), which would cause the store objects built by Nix
	      to be unreadable to anyone other than the Nix user.

	commit 550d960586c1532ea1066b8df418c6629f0e7288
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 8 12:07:19 2004 +0000

	    * Hack for perl(readmanifest) dependency.

	commit 17c8252fc932874b7ca9b7269c96b178022302f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 6 10:05:21 2004 +0000

	    * Spec file options to create the Nix user and group in the RPM
	      pre-install script.  By default this is turned off; you should edit
	      the spec file to enable it.

	commit fb28cfc86dff6bbacb71f69a862afd3384aee986
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Sep 6 08:17:55 2004 +0000

	    * Add some variability to RPM spec files: allow setuid options to be
	      set on the rpmbuild command line.

	commit 5c443b65501903f636b00b908bb8eb10e022402e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 31 16:13:10 2004 +0000

	    * Main the `substitutes-rev' table again, but now in a way that
	      doesn't take \Theta(n^2) space/time complexity.

	commit c25f2883b149bf71931f963d29241fe012360633
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 31 10:50:08 2004 +0000

	    * Quadruple the Berkeley DB locking limits to get rid of out of memory
	      errors while running `nix-store --verify'.

	commit fe122c5a15db5399a10fcfd97b3bbb97c782c8b8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 30 11:51:36 2004 +0000

	    * Removed nrWaitees field.  It was redundant with waitees.size() and
	      could get out of sync if multiple input derivations mapped to the
	      same closure expression (since waitees is a set).

	commit eb233e728f06ec2b5cbcfc85059fa91a1150f291
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 16:54:08 2004 +0000

	    * `--min-age' flag in nix-store and nix-collect-garbage to only delete
	      unreachable paths that haven't been used for N hours.  For instance,
	      `nix-collect-garbage --min-age 168' only deletes paths that haven't
	      been accessed in the last week.

	      This is useful for instance in the build farm where many derivations
	      can be shared between consecutive builds, and we wouldn't want a
	      garbage collect to throw them all away.  We could of course register
	      them as roots, but then we'd to unregister them at some point, which
	      would be a pain to manage.  The `--min-age' flag gives us a sort of
	      MRU caching scheme.

	      BUG: this really shouldn't be in gc.cc since that violates
	      mechanism/policy separation.

	commit fdec72c6cc720be899431c32f99221e8c4b88cd0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 15:39:13 2004 +0000

	    * `nix-collect-garbage' now actually performs a garbage collection, it
	      doesn't just print the set of paths that should be deleted.  So
	      there is no more need to pipe the result into `nix-store --delete'
	      (which doesn't even exist anymore).

	commit 818047881e4906c670104851f69c3179ecc7fb1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 25 11:43:49 2004 +0000

	    * Put the garbage collector in nix-store: operation `--gc',
	      suboperations `--print-live', `--print-dead', and `--delete'.  The
	      roots are not determined by nix-store; they are read from standard
	      input.  This is to make it easy to customise what the roots are.

	      The collector now no longer fails when store expressions are missing
	      (which legally happens when using substitutes).  It never tries to
	      fetch paths through substitutes.

	      TODO: acquire a global lock on the store while garbage collecting.

	    * Removed `nix-store --delete'.

	commit 9994c1dd9fe19a3bb8f7bbddbcd5622c9c30d85b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 24 11:46:05 2004 +0000

	    * Validate derivation names.  In particular don't allow spaces.
	    * Drop support for the outPath attribute in derivations.

	commit 8f58733ef16bdefe3cdb004bea986b6a0b893331
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 20 15:47:58 2004 +0000

	    * The gid should also match.

	commit 1c90fabccc0b859d9a357c96bfbc0c19a4ce17da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 20 15:31:46 2004 +0000

	    * Unbreak programs that are not setuid (such as nix-hash).

	commit e77fbe0fa2f7c2cfaee734dba049f0d8dd3dae15
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 20 15:22:33 2004 +0000

	    * On systems that have the setresuid() and setresgid() system calls to
	      set the real uid and gid to the effective uid and gid, the Nix
	      binaries can be installed as owned by the Nix user and group instead
	      of root, so no root involvement of any kind is necessary.

	      Linux and FreeBSD have these functions.

	commit 2d35116c13e0c11210cb712f9ce6e8a38058f350
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 20 14:49:05 2004 +0000

	    * Setuid support for sharing a Nix installation between multiple
	      users.

	      If the configure flag `--enable-setuid' is used, the Nix programs
	      nix-env, nix-store, etc. are installed with the setuid bit turned on
	      so that they are executed as the user and group specified by
	      `--with-nix-user=USER' and `--with-nix-group=GROUP', respectively
	      (with defaults `nix' and `nix').

	      The setuid programs drop all special privileges if they are executed
	      by a user who is not a member of the Nix group.

	      The setuid feature is a quick hack to enable sharing of a Nix
	      installation between users who trust each other.  It is not
	      generally secure, since any user in the Nix group can modify (by
	      building an appropriate derivation) any object in the store, and for
	      instance inject trojans into binaries used by other users.

	      The setuid programs are owned by root, not the Nix user.  This is
	      because on Unix normal users cannot change the real uid, only the
	      effective uid.  Many programs don't work properly when the real uid
	      differs from the effective uid.  For instance, Perl will turn on
	      taint mode.  However, the setuid programs drop all root privileges
	      immediately, changing all uids and gids to the Nix user and group.

	commit 8f1dcdfc0ae05c403fe59b592093d3e61e87f1b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 19 09:09:09 2004 +0000

	    * Make sure that no build hook is set by default in the tests.
	    * Don't use `seq' - some primitive, obsolete operating systems
	      (Darwin) don't have it.

	commit 1eddee59f22b56a4b098921083780990dc1f0468
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 18 12:19:06 2004 +0000

	    * The default verbosity level of all Nix commands is now lvlInfo.
	    * Builder output is written to standard error by default.
	      * The option `-B' is gone.
	      * The option `-Q' suppresses builder output.

	    The result of this is that most Nix invocations shouldn't need any
	    flags w.r.t. logging.

	commit 937ce0cd214c12276a2c373b515dc2541d1582fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 18 12:11:31 2004 +0000

	    * Flag `--no-link' suppresses symlinking to the output path.
	    * Handle multiple derivations correctly.

	commit 966bd9d19fb43b6a6022572eb7d80c1e03bfaf3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 13 09:57:51 2004 +0000

	    * WTF?  More canonical system name problems ("athlon-linux" instead of
	      "i686-linux").

	commit 62fe5c4a22453c763e967f04bda062df8241c487
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 11 19:03:13 2004 +0000

	    * The predecessor of a successor need not be present.  This in
	      particular happens on distributed builds or when using push/pull.

	commit ae1a1efa410fa66a0afbfae25ad423feee4b1e77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 5 14:53:27 2004 +0000

	    * Clean up the temporary directory for hook communication (and don't
	      print out incorrect "build failed" messages).

	commit d8989b1fb482fc7b6f29945e5c3b8bb197f4539c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 11:27:53 2004 +0000

	    * Every real language has a `map' function.

	commit bbfdd64741546863c2412d780097b1fe2457395e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 10:59:20 2004 +0000

	    * Allow primops with more that 1 arguments.

	commit e3a50f7e25c552a78974fae684484d27a36b7c60
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 4 09:25:21 2004 +0000

	    * Creating a file nix-support/no-scan in the output path of a
	      derivation disables scanning for dependencies.  Use at your own
	      risk.  This is a quick hack to speed up UML image generation (image
	      are very big, say 1 GB).

	      It would be better if the scanner were faster, and didn't read the
	      whole file into memory.

	commit 18ebd7b03071ebbb38cea9eca39a5e7e2e0cf2ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 30 14:18:48 2004 +0000

	    * Doh!

	commit 5373aed1a8087a7f6f7e428f693d0f2d36d35eca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 30 14:17:05 2004 +0000

	    * Use ATerm 2.2.
	    * Include bootstrap.sh in dist.

	commit 16c8b4c8e533292aef40b83a40eea2b0f621e534
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 30 13:45:13 2004 +0000

	    * A script to generate the Auto* stuff.

	commit e8a95108c0df56b95de9252e1cef1f74546f7f40
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 28 13:32:45 2004 +0000

	    * Nix-build places a symlink `result' in the current directory to the
	      store object just built.

	commit 9bf7a5f516c9f6a9445e76d3166d173f5ab958bb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 18 21:08:24 2004 +0000

	    * Don't pass `--with-system'.

	commit 39eaecbc982246a511810be578ef1ebbe9fd3c10
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 18 21:07:27 2004 +0000

	    * Slightly better heuristic for picking the canonical system type.
	      Now SuSE and Red Hat should yield the same type (`i686-linux').  Mac
	      OS X should now give `powerpc-darwin' (i.e., the version number is
	      gone).

	commit 064a36cb5454f32a45aac55f2a47532fc96dda25
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 9 13:06:12 2004 +0000

	    * Hardcode the system id to be `i686-linux'.

	commit c1a18f543e8f94568d085f88c66f0312c9d362d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 6 11:21:34 2004 +0000

	    * Fixed format string error.

	commit 056cd1d3b7778bbe177d74aea3aadca9e1a7be79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 16:24:35 2004 +0000

	    * Don't go into a (sometimes infinite) loop calling the build hook.

	commit 638ce339a52da893693f667c8b330a2adefdd92a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 14:25:26 2004 +0000

	    * Nix-instantiate now accepts sets of derivations (just like nix-env).

	commit 292d6468ec73212a2ada3bd5f7f3f6e897f9086e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 13:56:56 2004 +0000

	    * Nix-env operations now by default filter out any derivations for
	      system types other than the current system.  I.e., `nix-env -i'
	      won't install derivations for other system types, and `nix-env -q'
	      won't show them.  The flag `--system-filter SYSTEM' can be used to
	      override the system type used for filtering (but not for
	      building!).  The value `*' can be used not to filter anything.

	commit 8f6254e8234c5f4a16b1b7d632065ebb0162b307
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 13:35:10 2004 +0000

	    * Align the columns in the output of `nix-env -q'.

	commit 593bc23d8b310b32b66227b36b72fd525087df83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 13:13:37 2004 +0000

	    * Allow the system attribute of derivations to be queried in
	      `nix-env -q'.
	    * Queries can now be combined, e.g., `nix-env -q --status --system'.

	commit b584253af461b02f70ea3244a10d2569c85f2095
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 1 11:11:16 2004 +0000

	    * Include some missing headers.

	commit f5d5ffe536398fa1b0612a3613ed68734ebe8a60
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 29 09:41:50 2004 +0000

	    * Write build logs to disk again.

	commit 00aadf478b61264247df3c0c6e43304d9fa0c053
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 14:51:42 2004 +0000

	    * Use ATerm 2.1.

	commit 151e61fa5a94950d3701f6df0b40fa970e3cf320
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 14:40:26 2004 +0000

	    * By default, `nix-env -i' now deletes previously installed
	      derivations with names matching the derivations being installed.
	      The option `--preserve-installed / -P' overrides this behaviour.

	commit 4d2946c516aefd26daec8b2f4c4248e43ce85a62
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 13:51:24 2004 +0000

	    * In a realisation goal, check the result of the corresponding
	      normalisation goal.

	commit 24286e15c9822833c39d268e521522b9933db28e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 13:37:05 2004 +0000

	    * `nix-env -u' now allows a specific version to be specified when
	      upgrading.

	      This fixes a bug reported by Martin:

	        $ nix-env -i foo-1.0
	        $ nix-env -u foo-1.0
	        upgrading foo-1.0 to foo-1.1

	commit 2746a879e23a97639b23fe6e5335e0cfcc7d5085
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 12:07:07 2004 +0000

	    * Typo.

	commit 91dc023665e22eb5637bf08c405e91ac9060c357
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 28 10:42:57 2004 +0000

	    * Added a switch `--fallback'.  From the manual:

	      Whenever Nix attempts to realise a derivation for which a closure is
	      already known, but this closure cannot be realised, fall back on
	      normalising the derivation.

	      The most common scenario in which this is useful is when we have
	      registered substitutes in order to perform binary distribution from,
	      say, a network repository.  If the repository is down, the
	      realisation of the derivation will fail.  When this option is
	      specified, Nix will build the derivation instead.  Thus, binary
	      installation falls back on a source installation.  This option is
	      not the default since it is generally not desirable for a transient
	      failure in obtaining the substitutes to lead to a full build from
	      source (with the related consumption of resources).

	commit b113edeab780216b0590045b932be685d1399e9b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 25 15:36:09 2004 +0000

	    * A flag `--keep-going / -k' to keep building goals if one fails, as
	      much as possible.  (This is similar to GNU Make's `-k' flag.)

	    * Refactoring to implement this: previously we just bombed out when
	      a build failed, but now we have to clean up.  In particular this
	      means that goals must be freed quickly --- they shouldn't hang
	      around until the worker exits.  So the worker now maintains weak
	      pointers in order not to prevent garbage collection.

	    * Documented the `-k' and `-j' flags.

	commit e4883211f9482ec3255bd4e682635493e03466ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 25 10:21:44 2004 +0000

	    * Don't throw an exception when a build fails.  Just terminate the
	      goal and allow the problem to be handled elsewhere (e.g., at
	      top-level).

	commit 795d9f8b08a266ef99f9668f9b060db1282cd622
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 24 14:36:50 2004 +0000

	    * Obsolete.

	commit a29c8ac51ca813a34eebb497340807e4b274170c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 24 14:35:01 2004 +0000

	    * Add a test to check that when we cannot realise a closure
	      expression, we should invalidate it and go back to the derivation
	      for which it is a successor.

	commit ec326276217ad5b7761327da567f79bb5cc17f32
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 24 13:40:38 2004 +0000

	    * Multiple and/or failing substitutes now work.

	commit 8052aef4866e236ef0bb5d5675bbae330abb9b9b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jun 24 12:56:24 2004 +0000

	    * A test for multiple and/or failing substitutes.

	commit 66c7f347591c0c4e26e018672c487a3090e36e5e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 17:07:32 2004 +0000

	    * Arghhhhhh

	commit 05a5362d63dd2fc85bb74321244fc0e94689a4bf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 17:04:10 2004 +0000

	    * Some more diagnostics changes.

	commit d051cd40e16119ed441276f5b2cb74b7983062c3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 15:17:04 2004 +0000

	    * Nix-instantiate can return multiple store expressions.

	commit 3093af58a7e9d3f0315a1a1040d3cfeaea051ba6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 15:12:34 2004 +0000

	    * A utility script `nix-build' that builds Nix expressions and prints
	      their output paths (and only that) on standard output.

	commit b302e5f63b96c945fa66d391c2d3165d7003a297
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 15:06:43 2004 +0000

	    * We don't really need this here.

	commit 83ae1723da5d905a24894a4a1edb25ffc77f6fc4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 15:01:01 2004 +0000

	    * Well, it's better than printf.

	commit 72bc9a522f04cc8d8cb761a02bb9bf281b94567d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 14:48:59 2004 +0000

	    * Started making Nix's diagnostic messages a bit more useful.

	commit 5e2cf44a4d5d70f0dbed7b21257bd6d15538b3b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 11:03:41 2004 +0000

	    * Put WEXITSTATUS stuff somewhere else.

	commit 84007a09588b21487cbd3869bcb26c3e2c05b605
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 10:21:44 2004 +0000

	    * Reduce gratuitous cut & pasting.

	commit c9fbd2dfd51eebcb561f9b548c10c68ad89652e5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 09:51:44 2004 +0000

	    * Wrapper class around pids.

	commit 155d7c8dfa46da054beaf37d6415d52613e2bb17
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 09:00:31 2004 +0000

	    * Substitutes should occupy a build slot.

	commit c4cb6ea2bc77f1f9239ce81ffc7a0fa6b540b1ab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 22 08:50:25 2004 +0000

	    * Refactoring.

	commit 88fb4f6e537ebea37fe0aaa4a2b044cf70d32178
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 12:20:47 2004 +0000

	    * Missing files added to `make dist'.

	commit 2db9748221ce285ac434c849eeed249950dd0d39
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 10:01:17 2004 +0000

	    * Remove debug output.

	commit 37ee6cef992c1a80e790a294b75db8c116be8bbb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 09:51:23 2004 +0000

	    * Adapted nix-pull to use the new substitute mechanism.

	commit 3f3a3ae87b3d72d52842d9a2ffe7010f5b0066b9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 09:35:50 2004 +0000

	    * Acquire a lock on the output path when running a substitute.  Also
	      delete obstructing invalid paths.

	commit 72c857f0eb923c3126600a5c97bfb30fedd859c1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 08:51:55 2004 +0000

	    * Ugh, nasty Heisenbug due to an uninitialiased variable.  The bug
	      only caused a crash if the program was *not* invoked with a high
	      verbosity level.

	commit be1a917beb4577dd359a5e8ea17ca69dd228e6ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 07:46:02 2004 +0000

	    * Remove obstructing invalid store paths add[Text]ToStore().

	commit daf0a923c7c77300dfb09ee34c1ae31c87002a0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 07:38:17 2004 +0000

	    * Wrap calls to registerSubstitute() in a single transaction to
	      improve throughput.
	    * Don't build the `substitute-rev' table for now, since it caused
	      Theta(N^2) time and log file consumption when adding N substitutes.
	      Maybe we can do without it.

	commit 15c60ca1b64a4e5dc874f60c764f0ccc8899d740
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 21 07:36:01 2004 +0000

	    * Disable calls to fsync() since Berkeley DB's DB_TXN_WRITE_NOSYNC
	      flag doesn't seem to work as advertised.

	commit 112ee89501a936ad9c492780be6b63f53b2eb9ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jun 20 19:17:54 2004 +0000

	    * Re-enable support for substitutes in the normaliser.

	    * A better substitute mechanism.

	      Instead of generating a store expression for each store path for
	      which we have a substitute, we can have a single store expression
	      that builds a generic program that is invoked to build the desired
	      store path, which is passed as an argument.

	      This means that operations like `nix-pull' only produce O(1) files
	      instead of O(N) files in the store when registering N substitutes.
	      (It consumes O(N) database storage, of course, but that's not a
	      performance problem).

	    * Added a test for the substitute mechanism.

	    * `nix-store --substitute' reads the substitutes from standard input,
	      instead of from the command line.  This prevents us from running
	      into the kernel's limit on command line length.

	commit bafb2357d1ab5f7aef8ce4495f5ab8b835359f63
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jun 20 19:08:59 2004 +0000

	    * README for the Emacs mode (written a while ago, but forgot to commit).

	commit 85ae78176520fbba0420e5dc772d76144b564605
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jun 20 13:37:51 2004 +0000

	    * Refactoring.

	commit 23bb902d1f65831d74a33051fdb8c0230b7a3e37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jun 19 21:45:04 2004 +0000

	    * Re-enable build hooks.

	commit 41ec982f3132c32991a48a82735a036f844e7299
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 18 18:09:32 2004 +0000

	    * Big refactoring.  Move to a much more explicitly state machine based
	      approach.  This makes it much easier to add extra complexity in the
	      normaliser / realiser (e.g., build hooks, substitutes).

	commit 3454c685eec2aebe6f61f7deebc40162bab22e69
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 18 16:52:31 2004 +0000

	    * This is also useful.

	commit 6ba26f27c3665ec5f72638a8c658b0aa68068410
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 18 09:20:51 2004 +0000

	    * Shared (garbage collecting) pointers.  Copied from Boost.

	commit 0b70231b9d9f2dfa5a9447fcd01fdb5c8f1fa0ea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 15 13:49:42 2004 +0000

	    * Refactoring.

	commit 1bc6afefac7af8d4c917e898d6670d9b9d7f29f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 8 13:21:03 2004 +0000

	    * Cleanup.

	commit e8411948ff9a2017d6c50093076a538a113de8c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 4 14:31:57 2004 +0000

	    * A Nix mode for Emacs.

	commit 5e4a2272bfb30f3e0e1d39a8cb7c6d2e7bfba161
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 18 14:52:35 2004 +0000

	    * Drain the output of the build hook to show error messages.  Ugly
	      hack.

	commit 19479899fb2f78f9cc1c40caf017a1bbeb6d8d3e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 18 12:57:26 2004 +0000

	    * Don't set the rpath here --- it's not portable.

	commit 1d08093b4894e4ded9eaf591a2547a74d33e1bfb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 18 09:45:46 2004 +0000

	    * Go back to the old way of generating the system name, and allow it
	      to be specified in configure (using `--with-system=SYSTEM').

	commit 8e9fd57ef9aa47214418212916e54c5644721335
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 18 09:45:18 2004 +0000

	    * setpgrp() is not POSIX (and on Mac OS X it's different than on
	      Linux), so use setpgid().

	commit ace8872706a1ddbefde39ee66f0746df6861cc11
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 14 12:24:29 2004 +0000

	    * execl() requires a terminating 0.
	    * When a fast build wakes up a goal, try to start that goal in the
	      same iteration of the startBuild() loop of run().  Otherwise no job
	      might be started until the next job terminates.

	commit 4fc00cbec139487e63a7edf6225a8590ed58a9f3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 13 22:52:37 2004 +0000

	    * Distributed builds and load balancing now seem to work pretty well.
	      (Though the `build-remote.pl' script has a gigantic race condition).

	commit 2fa33049338aed07465f73b25c95168d6a61c8b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 13 20:28:20 2004 +0000

	    * Set the executable bit.

	commit 25db6224544be0df483a661f5e2cc1ed595525ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 13 19:35:46 2004 +0000

	    * Load balancing.  `build-remote.pl' will only execute up to a
	      per-machine maximum number of parallel jobs on a remote machine.

	commit 3426d19547c889700a00e97fb62966ebd755f88b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 13 19:16:48 2004 +0000

	    * Perform all tests.

	commit a8306cb98ff920b38db5e5bbfcbe71bb36859b3f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu May 13 19:14:49 2004 +0000

	    * The build hooks used to implement distributed builds can now be run
	      in parallel.  Hooks are more efficient: locks on output paths are
	      only acquired when the hook says that it is willing to accept a
	      build job.  Hooks now work in two phases.  First, they should first
	      tell Nix whether they are willing to accept a job.  Nix guarantuees
	      that no two hooks will ever be in the first phase at the same time
	      (this simplifies the implementation of hooks, since they don't have
	      to perform locking (?)).  Second, if they accept a job, they are
	      then responsible for building it (on the remote system), and copying
	      the result back.  These can be run in parallel with other hooks and
	      locally executed jobs.

	      The implementation is a bit messy right now, though.

	    * The directory `distributed' shows a (hacky) example of a hook that
	      distributes build jobs over a set of machines listed in a
	      configuration file.

	commit 5087c8f645cf971ee6dfd11c5c56c6b2b752d7ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 14:30:57 2004 +0000

	    * Use `-j0'.

	commit efa5fa1a91d5c4b29094d99b65e18b583d86dbc7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 14:20:32 2004 +0000

	    * A switch `-j NUMBER' to set the maximum number of parallel jobs (0 =
	      no limit).
	    * Add missing file to distribution.

	commit 1f48aa0be7f1fe120cee44a208480b879583c5f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 13:49:10 2004 +0000

	    * Broken test.

	commit aa5a5084e4855ff612d27913a920ffab073e7b42
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 13:32:26 2004 +0000

	    * Pass to the build hook all sorts of information useful for
	      distributing a build action to another machine.  In particular, the
	      paths in the input closures, the output paths, and successor mapping
	      for sub-derivations.

	commit 8c0b42f857b53993d95c5bc077e8f8a71028c5ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed May 12 09:35:51 2004 +0000

	    * An quick and dirty hack to support distributed builds.

	commit c8d3882cdc8f9e22c58af285c1996265c1af75d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 11 18:05:44 2004 +0000

	    * True parallel builds.  Nix can now run as many build jobs in
	      parallel as possible (similar to GNU Make's `-j' switch).  This is
	      useful on SMP systems, but it is especially useful for doing builds
	      on multiple machines.  The idea is that a large derivation is
	      initiated on one master machine, which then distributes
	      sub-derivations to any number of slave machines.  This should not
	      happen synchronously or in lock-step, so the master must be capable
	      of dealing with multiple parallel build jobs.  We now have the
	      infrastructure to support this.

	      TODO: substitutes are currently broken.

	commit aea436503e9126b06cd15acf1f0c6b738ffbc7de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 11 13:48:25 2004 +0000

	    * Ignore interrupt signals while handling an exception.
	    * Ignore EINTR in reads and writes.

	commit a9858c9f26c5be743e0bbe1949954f6bd2497306
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 17:04:17 2004 +0000

	    * A test to verify that Nix executes build jobs in parallel, if
	      possible.

	      This test fails right now because this hasn't been implemented right
	      now.  Yes, I'm doing Test-Driven Development! ;-)

	commit f044ccf7025137ec541e165e7988772f27080a23
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 13:56:30 2004 +0000

	    * 1000th revision!
	    * A test to verify that locking of output paths (caused by concurrent
	      invocations of Nix) works correctly.

	commit a7bbe739717c7419a374b29e6e4887325b1af7fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 13:22:33 2004 +0000

	    * Another test.

	commit ef093aac8f24535f6d0c75332ac7aeafbbe8c161
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 12:45:04 2004 +0000

	    * Grrr.  TESTS are not included in EXTRA_DIST.

	commit 256eeab7112da2d5fe1629ffb8b86640a894ee6d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 4 12:15:30 2004 +0000

	    * Allow the location of the store etc. to be specified using
	      environment variables.
	    * Started adding some automatic tests.
	    * Do a `make check' when building RPMs.

	commit fd927c5d25f1518dcbf99a57223f46fe098d9011
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 13:44:26 2004 +0000

	    * Bump the version number.

	commit 22371cbd3f382fd00e4f90bc88b28893d211b3f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 09:54:37 2004 +0000

	    * Fixed URL.

	commit bcce9c1ff5d5bfeb1d9c51554e432b6bef91ac97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 26 09:52:06 2004 +0000

	    * Only add `-preRELEASE' to the version if STABLE != 1.
	    * Documented release procedures.

	commit d4779abc042710638fb4afe419f83d4627c94004
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 23 15:16:08 2004 +0000

	    * Pass SYSTEM through config.h, and allow spaces.

	commit 759c953196c75b7728bb2d946227f1597b99a4a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 14:17:57 2004 +0000

	    * Look for GC roots in @localstatedir@/nix/gcroots.

	commit d7238bc84ebd8356db6d73a80171f1129bbe3d44
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 22 07:47:41 2004 +0000

	    * Don't create $(localstatedir)/nix/profiles if --disable-init-state
	      is specified.

	commit b6df68c9429896ba6017f60d1ce3a95ede9afe72
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 14:57:46 2004 +0000

	    * Dist error.

	commit 21655a70f5a6e80b477d8bf758aa24eb0fcbdbfe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 14:54:05 2004 +0000

	    * Channels.  These allow you to stay current with an evolving set of
	      Nix expressions.

	      To subscribe to a channel (needs to be done only once):

	        nix-channel --add \
	          http://catamaran.labs.cs.uu.nl/dist/nix/channels/nixpkgs-unstable

	      This just adds the given URL to ~/.nix-channels (which can also be
	      edited manually).

	      To update from all channels:

	        nix-channel --update

	      This fetches the latest expressions and pulls cache manifests.  The
	      default Nix expression (~/.nix-defexpr) is made to point to the
	      conjunction of the expressions downloaded from all channels.

	      So to update all installed derivations in the current user
	      environment:

	        nix-channel --update
	        nix-env --upgrade '*'

	      If you are really courageous, you can put this in a cronjob or
	      something.

	      You can subscribe to multiple channels.  It is not entirely clear
	      what happens when there are name clashes between derivations from
	      different channels.  From nix-env/main.cc it appears that the one
	      with the lowest (highest?) hash will be used, which is pretty
	      meaningless.

	commit f79e9c2d22345eeb0c721a8cf5375101d33dc4c9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 10:54:46 2004 +0000

	    * Do initialise state (the DB etc.) when doing a `make install',
	      unless `--disable-init-state' is passed to configure.

	commit 8e459d919dbce7c6d45d90ef9a9385133cfae15e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 21 09:37:37 2004 +0000

	    * Recurse into attribute sets and lists when getting derivations from
	      an expression.

	commit 7cce0c34e1821b08c066a25e2cffcf0910d1f145
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 15 15:14:16 2004 +0000

	    * Allow extra parameters to be passed to Curl through the `CURL_FLAGS'
	      environment variable.  This is useful for passing authentication
	      information (it won't show up in `ps').  Hacky - nix-push should
	      abstract over the use of Curl.

	commit 2c5a8bf49f6ed5f6584bac6b8abae1def86f95f7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 10:45:11 2004 +0000

	    * Use @storedir@, not @prefix@/store.

	commit b275f2ed3b2ae8fc22912122a5a4cdd5ef0fe0cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 08:09:27 2004 +0000

	    * `*.gcroot' files can now containing multiple roots.

	commit a4d2b22c8ca5064f1da614914c7ea336eedd65c4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 14 08:08:55 2004 +0000

	    * Be stricter in verifying store paths.

	commit 87bf541f23723f6a8c7f05c89984c5df0c450ec2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 8 15:51:26 2004 +0000

	    * Documented the primops.

	commit b0c9baf1b5843acbb954d21bcb5cacc897236c3b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 8 13:31:57 2004 +0000

	    * EBNF grammar for the Nix expression language.

	commit 153429520a8d2ed906a272f6d0e23c6c2b54fa41
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 6 15:55:27 2004 +0000

	    * Distributed the wrong file.

	commit 2be8ac48bb4349bdd61e993ccf325a7b9e167627
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 6 11:42:28 2004 +0000

	    * Make the creation of user environments much faster and more storage
	      efficient by creating only a single symlink to entire directory
	      trees unless a collission occurs.

	commit bf3863b546dcb9bd62e86c0f17d8b12b2d08b874
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 6 08:40:19 2004 +0000

	    * Fail if prerequisites are missing.

	commit 03f1d1ecb5ef69c8c065c83373f9f9f749995c50
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 6 08:18:51 2004 +0000

	    * Switched from wget to curl.
	    * Made the dependencies on bzip2 and the shell explicit.

	commit 59b94ee18ac0cba5c7b261ee72550a4d3db0acb5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Apr 5 22:27:41 2004 +0000

	    * When something goes wrong in the evaluation of a Nix expression,
	      print a nice backtrace of the stack, rather than vomiting a gigantic
	      (and useless) aterm on the screen.  Example:

	        error: while evaluating file `.../pkgs/system/test.nix':
	        while evaluating attribute `subversion' at `.../pkgs/system/all-packages-generic.nix', line 533:
	        while evaluating function at `.../pkgs/applications/version-management/subversion/default.nix', line 1:
	        assertion failed at `.../pkgs/applications/version-management/subversion/default.nix', line 13

	      Since the Nix expression language is lazy, the trace may be
	      misleading.  The purpose is to provide a hint as to the location of
	      the problem.

	commit a520b1cbc3327dfb8e3c6f503dfd0bd41e0a6d55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 2 10:49:37 2004 +0000

	    * Print a more useful error message in case of an invalid derivation
	      binding.

	commit c4ac2a164af1c4198852844ae4fcfb99c7e8c110
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 30 15:05:35 2004 +0000

	    * The recent change in nixpkgs of calling `stdenv.mkDerivation'
	      instead of `derivation' triggered a huge slowdown in the Nix
	      expression evaluator.  Total execution time of `nix-env -qa' went up
	      by a factor of 60 or so.

	      This scalability problem was caused by expressions such as

	        (x: y: ... x ...) a b

	      where `a' is a large term (say, the one in
	      `all-packages-generic.nix').  Then the first beta-reduction would
	      produce

	        (y: ... a ...) b

	      by substituting `a' for `x'.  The second beta-reduction would then
	      substitute `b' for `y' into the body `... a ...', which is a large
	      term due to `a', and thus causes a large traversal to be performed
	      by substitute() in the second reduction.  This is however entirely
	      redundant, since `a' cannot contain free variables (since we never
	      substitute below a weak head normal form).

	      The solution is to wrap substituted terms into a `Closed'
	      constructor, i.e.,

	        subst(subs, Var(x)) = Closed(e) iff subs[x] = e

	      have substitution not descent into closed terms,

	        subst(subs, Closed(x)) = Closed(x)

	      and otherwise ignore them for evaluation,

	        eval(Closed(x)) = eval(x).

	    * Fix a typo that caused incorrect substitutions to be performed in
	      simple lambdas, e.g., `(x: x: x) a' would reduce to `(x: a)'.

	commit df101d6fca1d60d4159056e87dd1b3d6c2855661
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 29 12:10:15 2004 +0000

	    * Specify Perl as a dependency for the RPM.

	commit ac4d39f9db28743b6c1e9def7a61241a50b02335
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 21:15:01 2004 +0000

	    * Added an operator `?' to test for attribute existence, e.g.,
	      `attrs ? x' yields true iff `attrs' has an attribute named `x'.

	commit f958bcdf1f9f66759a2512e4b7c0b0ba5647960a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 20:58:28 2004 +0000

	    * Added an operator `~' to select paths within a derivation.  E.g.,

	        {stdenv, bash}: derivation {
	          builder = bash ~ /bin/sh;
	          args = ["-e" "-x" ./builder.sh];
	          ...
	        }

	      Here the attribute `builder' will evaluate to, e.g.,
	      `/nix/store/1234abcd...-bash-2.0.1/bin/sh'.

	commit db3e644c1ce7d856dbaca7718fa0af8231c486d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 28 20:34:22 2004 +0000

	    * Added plain lambdas, e.g., `let { id = x: x; const = x: y: x; }'.
	      `bla:' is now no longer parsed as a URL.

	    * Re-enabled support for the `args' attribute in derivations to
	      specify command line arguments to the builder, e.g.,

	        ...
	        builder = /usr/bin/python;
	        args = ["-c" ./builder.py];
	        ...

	commit f8cd904e05b95c5a3ca7cf570c0503a25a2095ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 27 17:58:04 2004 +0000

	    * Disallow the Nix store or any of its parents from being symlinks.
	      This is because the contents of these symlinks are not incorporated
	      into the hashes of derivations, and could therefore cause a mismatch
	      between the build system and the target system.  E.g., if
	      `/nix/store' is a symlink to `/data/nix/store', then a builder could
	      expand this path and store the result.  If on the target system
	      `/nix/store' is not a symlink, or is a symlink that points somewhere
	      else, we have a dangling pointer.

	      The trigger for this change is that gcc 3.3.3 does exactly that (it
	      applies realpath() to some files, such as libraries, which causes
	      our impurity checker to bail out.)

	      An annoying side-effect of this change is that it makes it harder to
	      move the Nix store to a different file system.  On Linux, bind
	      mounts can be used instead of symlink for this purpose (e.g., `mount
	      -o bind /data/nix/store /nix/store').

	commit f0f7a9f29962c55a6c2082b44c9befbd912c2f53
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Mar 27 15:33:19 2004 +0000

	    * Do not close a nesting level twice after close() has been
	      called explicitly on a Nest object.

	commit 7823db2137d8079bcf512aba4ce46f1373693517
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 22 21:42:28 2004 +0000

	    * Some more nesting.

	commit 777e13b94b2da466c16a5836b52413aa9d246cd5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 22 20:53:49 2004 +0000

	    * Nix now has three different formats for the log information it
	      writes to stderr:

	      - `pretty': the old nested style (default)
	      - `escapes': uses escape codes to indicate nesting and message
	        level; can be processed using `log2xml'
	      - `flat': just plain text, no nesting

	      These can be set using `--log-type TYPE' or the NIX_LOG_TYPE
	      environment variable.

	commit 79bb0008ec9afa8d8cee9e6b807a579bcb1c92ab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 19 14:45:45 2004 +0000

	    * `null' is a normal form.

	commit e6253b58cdb6b3836a616821b7f5dc66790ac989
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 18 21:32:15 2004 +0000

	    * Escape codes to force line breaks to be ignored.

	commit 3f3c4cce5a6552016a040999f64dc989d203a9ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 18 21:04:14 2004 +0000

	    * Added an extra escape code to signal "unimportant" messages.  If a tree only has
	      unimportant messages, it is collapsed by the default.
	    * Also added an optional integer argument to the escape code for opening a nesting
	      level to indicate lack of importance.  If set, the tree is collapsed by default.

	commit 84c617966b8a78b7385aff04f1ac9b3bb7391898
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 18 18:26:22 2004 +0000

	    * Collapsable trees.

	commit c2fc2c13c981e28ff673221da47cc93a7ed9291f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 18 14:58:16 2004 +0000

	    * Use unordered lists, which is more sensible semantically for
	      representing tree structures.

	commit a784fd5792a5447ad2b7dac63bea2a0b2fc379c3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 18 13:04:05 2004 +0000

	    * Don't use tables.  Konqueror likes this much better.

	commit 8ce3dd488711d0eca43c64ccc04903eeba135836
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 17 16:55:53 2004 +0000

	    * Display the popup directly over the abbreviation.

	commit 8330c8202aa77ab65ce6344a45c5ecce287fd988
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 17 16:52:48 2004 +0000

	    * A simpler way of implementing the store reference popups, thanks to
	      Martin and CSS guru Martijn Vermaat.

	commit b5539e7a30da963af3e5967e2af2524a5e99efbb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 16 12:47:09 2004 +0000

	    * Store paths are now abbreviated in the generated HTML file.
	      Hovering over the abbreviated path will reveal the full path.  This
	      probably only works in Mozilla.

	commit 9d2669d218d03d64c69a702a96fc87ee1fd3a9d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 15 21:51:14 2004 +0000

	    * Added a utility that can be used to produce nice HTML pages from Nix
	      build logs.  The program `log2xml' converts a Nix build log (read
	      from standard input) into XML file that can then be converted to
	      XHTML by the `log2html.xsl' stylesheet.  The CSS stylesheet
	      `logfile.css' is necessary to make it look good.

	      This is primarily useful if the log file has a *tree structure*,
	      i.e., that sub-tasks such as the various phases of a build (unpack,
	      configure, make, etc.) or recursive invocations of Make are
	      represented as such.  While a log file is in principle an
	      unstructured plain text file, builders can communicate this tree
	      structure to `log2xml' by using escape sequences:

	      - "\e[p" starts a new nesting level; the first line following the
	        escape code is the header;

	      - "\e[q" ends the current nesting level.

	      The generic builder in nixpkgs (not yet committed) uses this.  It
	      shouldn't be to hard to patch GNU Make to speak this protocol.

	      Further improvements to the generated HTML pages are to allow
	      collapsing/expanding of subtrees, and to abbreviate store paths (but
	      to show the full path by hovering the mouse over it).

	commit beda10f5a2a69ac32ad91c8a80477fde19be6a83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 15 15:23:53 2004 +0000

	    * Make perl a dependency of Nix.

	commit a5619f1dffbf3600dd16b51e84ae3c999edc439c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 12 10:45:08 2004 +0000

	    * Set the NIX_STORE and NIX_BUILD_TOP environment variables in
	      builders to point to the store and the temporary build directory,
	      respectively.  Useful for purity checking.
	    * Also set TEMPDIR, TMPDIR, TEMP, and TEMP to NIX_BUILD_TOP to make
	      sure that tools in the builder store temporary files in the right
	      location.

	commit 7f0ed370da62b867d90ba5346f4b9f217fbbe10f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 20 11:32:30 2004 +0000

	    * Use $(storedir) instead of $(prefix)/store.

	commit dbf547645d26baee030d7db0535e0c0be72c13cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Feb 19 13:11:12 2004 +0000

	    * Resolve an ambiguity between ifs and attribute selection, e.g., `if
	      b then x else y.z'.

	commit 86b7efbdbe3c2da0f788df3ee7839cf3b88f7120
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 16 16:48:06 2004 +0000

	    * Don't build ATerm library if we don't need to.

	commit 0dfdafdf6de4f741ff60637843f0e7900384cd9f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 16 16:37:16 2004 +0000

	    * Allow linking against an external Berkeley DB / ATerm library.

	commit f34de121401bb43c6cfab892b2b254e42652ba90
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 16 15:23:19 2004 +0000

	    * Allow the location of the store to be specified (--with-store-dir).
	    * Do not create stuff in localstatedir when doing `make install'
	      (since we may not have write access).  In general, installation of
	      constant code/data should be separate from the initialisation of
	      mutable state.

	commit fbc48a469c80201f0d159a9b9f48a22ce5f36984
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 16 09:18:35 2004 +0000

	    * Inherited attributes in recursive attribute sets are in scope of the
	      non-inherited attributes.

	commit 76c0e85929dc747288a8fe66a7bb77673cf2aa7e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Feb 14 21:44:18 2004 +0000

	    * The environment variable NIX_ROOT can now be set to execute Nix in a
	      chroot() environment.
	    * A operation `--validpath' to register path validity.  Useful for
	      bootstrapping in a pure Nix environment.
	    * Safety checks: ensure that files involved in store operations are in
	      the store.

	commit 6f5a5ea5ea7fa80bc709c4a2b14ea4395ebe7469
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 13 10:45:09 2004 +0000

	    * Regression fix: realise substitutes and detect cycles.

	commit 1ad9d1124727dd48beaec36b006bba856350905d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 13 10:43:31 2004 +0000

	    * Only include predecessors that are themselves being pushed.
	      Otherwise the substitute mechanism can break in subtle ways.

	commit 00fe1a506f045e612b0564ab0b5aff3917e26bd3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 11 10:25:31 2004 +0000

	    * When creating a new generation, also make the normal form of the
	      derivation (i.e., the closure store expression) a root of the
	      garbage collector.  This ensures that running `nix-collect-garbage
	      --no-successors' is safe.

	commit 92e832348db13637875c4f529ed0aa83d3d34493
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 10 16:14:47 2004 +0000

	    * Lots of manual stuff.  Reference pages for most Nix commands.
	    * nix-pull now requires the full url to the manifest, i.e.,
	      `/MANIFEST/' is no longer automatically appended.
	    * nix-prefetch-url works again.

	commit 6551b36790d47477087fc3a7f7bb779f28e42d8e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 10 13:42:58 2004 +0000

	    * Print what generation we are switching to; honour --dry-run flag.

	commit 0616b7feea26786c298052b0779614b2888b482a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 10 11:51:16 2004 +0000

	    * Documented the most important nix-env flags.

	commit 618aa69b015bd3ee1f6e19f3025e31fae0241826
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 9 11:59:39 2004 +0000

	    * In `--upgrade': added flags `--lt', `--leq', `--always' to specify
	      whether we want to upgrade if the current version is less than the
	      available version (default), when it is less or equal, or always.

	    * Added a flag `--dry-run' to show what would happen in `--install',
	      `--uninstall', and `--upgrade', without actually performing the
	      operation.

	commit 06a75a7e0c1813d90c205e654da43a32812ce5f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Feb 8 14:07:43 2004 +0000

	    * A command `--switch-generation' to switch to a specific generation
	      of the current profile, e.g.,

	        $ nix-env --list-generations
	        ...
	        39   2004-02-02 17:53:53
	        40   2004-02-02 17:55:18
	        41   2004-02-02 17:55:41
	        42   2004-02-02 17:55:50   (current)

	        $ nix-env --switch-generation 39

	        $ ls -l /nix/var/nix/profiles/default
	        ... default -> default-39-link

	    * Also a command `--rollback' which is just a convenience operation to
	      rollback to the oldest generation younger than the current one.

	      Note that generations properly form a tree.  E.g., if after
	      switching to generation 39, we perform an installation action,
	      a generation 43 is created which is a descendant of 39, not 42.  So
	      a rollback from 43 ought to go back to 39.  This is not currently
	      implemented; generations form a linear sequence.

	commit b8675aee5470c5387e4bfe4906e4ab1e94b610b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 16:16:55 2004 +0000

	    * In `--list-generations', show what the current generation is.

	commit 73ab2ed4fd1c3cd974851be4f13e7a276ab16acf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 16:03:27 2004 +0000

	    * A command `--list-generations' to show all generations for a
	      profile.

	commit 7c0fa4474f0010f8266b85e891ca6049595ecb32
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 14:57:10 2004 +0000

	    * More refactoring.

	commit 7abf9911d997b241f1e6b58805140fbfe1f2771d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 14:49:41 2004 +0000

	    * Refactoring.

	commit 49bafe1faf4eedf0f059740be4f99c700ee93fe7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 10:59:06 2004 +0000

	    * Use the profile pointed to by ~/.nix-profile if no --profile
	      argument is specified.

	commit 66e94d3275e9a0a549c28b7d0ad5f3f897e2fbf0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Feb 6 10:30:20 2004 +0000

	    * Improvements to profiles.  Generations are now per-profile, e.g.,

	      default -> default-94-link
	      default-82-link -> /nix/store/cc4480...
	      default-83-link -> /nix/store/caeec8...
	      ...
	      default-94-link -> /nix/store/2896ca...
	      experimental -> experimental-2-link
	      experimental-1-link -> /nix/store/cc4480...
	      experimental-2-link -> /nix/store/a3148f...

	    * `--profile' / `-p' -> `--switch-profile' / `-S'
	    * `--link' / `-l' -> `--profile' / `-p'
	    * The default profile is stored in $prefix/var/nix/profiles.
	      $prefix/var/nix/links is gone.  Profiles can be stored anywhere.
	    * The current profile is now referenced from ~/.nix-profile, not
	      ~/.nix-userenv.
	    * The roots to the garbage collector now have extension `.gcroot', not
	      `.id'.

	commit d445da7a7b3cbb4822bcad3904a36f0d914917d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 4 17:23:26 2004 +0000

	    * Extended the `inherit' syntax to optionally select attributes from
	      other attribute sets, rather than the current scope.  E.g.,

	        {inherit (pkgs) gcc binutils;}

	      is equivalent to

	        {gcc = pkgs.gcc; binutils = pkgs.binutils;}

	      I am not so happy about the syntax.

	commit 9d25466b34a5f7c1c8b1c273976cf59c33961a6c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 4 16:49:51 2004 +0000

	    * An attribute set update operator (//).  E.g.,

	      {x=1; y=2; z=3;} // {y=4;}  =>  {x=1; y=4; z=3;}

	commit 6d46e647ba16e19100dcd0abda9ca5a81ccf764f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 4 16:20:51 2004 +0000

	    * Fixed the old envpkgs filename.

	commit 9b44480612dd30a7292ec94a88e4018b8f18e3f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Feb 4 16:03:29 2004 +0000

	    * Use a map to lookup primops.
	    * Various performance improvements in the evaluator.
	    * Do not link against unused (and missing!) libraries (-lsglr, etc.).

	commit c4f7ae4aa5fc7071cfa853ec5d75aaf00e7a97fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Feb 3 14:45:34 2004 +0000

	    * Verify that all variables in a Nix expression are defined.

	commit 1c9c0a5a46822be60c999f0196567c9e17cf5fa3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 2 21:39:33 2004 +0000

	    * Added syntactic sugar to the construction of attribute sets to
	      `inherit' variables from the surrounding lexical scope.

	      E.g.,

	        {stdenv, libfoo}: derivation {
	          builder = ./bla;
	          inherit stdenv libfoo;
	          xyzzy = 1;
	        }

	      is equivalent to

	        {stdenv, libfoo}: derivation {
	          builder = ./bla;
	          stdenv = stdenv;
	          libfoo = libfoo;
	          xyzzy = 1;
	        }

	      Note that for mutually recursive attribute set definitions (`rec
	      {...}'), this also works, that is, `rec {inherit x;}' is equivalent
	      to `let {fresh = x; body = rec {x = fresh;};}', *not*
	      `rec {x = x}'.

	commit d9f30fe7c74ae8518a575c0d15ee00aa46a2229a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Feb 2 10:51:54 2004 +0000

	    * Sort `nix-env -q' output by derivation name.
	    * `--version' flag for all commands.
	    * Manual updates.

	commit 47c003cb5999344aa2e4cb9f912551e33a94cd41
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 30 17:14:08 2004 +0000

	    * Doh!

	commit 619f20775dae99ad5cd04ff6e7f7cde693d912f0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 30 17:06:03 2004 +0000

	    * Parser numbers again.
	    * Include missing files in distributions.

	commit c6257185139bf5f298b19177867f3afa8e5472b7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 30 16:32:14 2004 +0000

	    * Detect flex and bison; updated the manual.

	commit c5baaafae69394082817ede9e6eb3910c4601a72
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 30 15:21:42 2004 +0000

	    * Replaced the SDF parser by a substantially faster Bison/Flex
	      parser (roughly 80x faster).

	      The absolutely latest version of Bison (1.875c) is required for
	      reentrant GLR support, as well as a recent version of Flex (say,
	      2.5.31).  Note that most Unix distributions ship with the
	      prehistoric Flex 2.5.4, which doesn't support reentrancy.

	commit abd1878b26200ba3fa75592637aa87e04f52100d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 29 14:24:53 2004 +0000

	    * Optimised the SDF grammar.

	commit 3648d1c732379ef5d0f74cc3c2e5b876a7f2c9a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 22 13:04:57 2004 +0000

	    * Explicitly compute the release name.

	commit cdb50886f40e879d7b9abcfdd3ff4ac9d66f6242
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 22 09:35:35 2004 +0000

	    * Typos.

	commit 3c4bc7276a4599867c46e872858550499a94c641
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 22 09:17:55 2004 +0000

	    * Added a note about adding /nix/etc/profile.d/nix.sh to the profile.

	commit 4f72b408a5b0cf4401362960000763322eeb1846
	Author: Martin Bravenboer <martin.bravenboer@logicblox.com>
	Date:   Thu Jan 22 08:47:59 2004 +0000

	    Typos and url losser -> catamaran

	commit 840551ebdb6ca09ab733081dd0e92daee73ba900
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 21 16:41:17 2004 +0000

	    * Extra bit `S' in `--query --status' output: show whether there are
	      any substitutes for the derivation.

	commit 1109ea068097d4c5e3a4dfdeececf4590c52329a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 21 14:49:32 2004 +0000

	    * Fixed a subtle uninitialised variable bug in ATermMaps copied from
	      ATermMaps.  Found thanks to Valgrind!

	commit 47f19b6293357a8bdc3a2290813765170f241b58
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 20 20:36:58 2004 +0000

	    * Absolutise the specified path in `--import' and `--profile'.

	commit 4db7ef3fcc7c392dc03fc02a22886a8c9bcbcacb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 20 17:18:41 2004 +0000

	    * Fixed URL.

	commit 3778586b2aaf2b5c905866d91d6f67e617ceb203
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 20 15:37:55 2004 +0000

	    * Nix Quick Start guide.

	commit 8baf50f10821e6def3006af8ff8b8739c66b028a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 20 11:49:32 2004 +0000

	    * Manual updates.
	    * Updated the README.  Now it just refers to the manual.

	commit 699989b2168bed80cc1383e5bf3c8326d55a3cc1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 19 09:01:28 2004 +0000

	    * Ignore exit code from strip.

	commit 3a4a4aaa8820e3483b64b3e2d25ee523c0a0cb44
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 19 08:49:25 2004 +0000

	    * Strip binaries in RPMs.

	commit f899e8ce4df3e700ae5b47279c16edc0efb4aeed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 16 15:17:36 2004 +0000

	    * Test whether the symlink, not its target, exists.

	commit b1c5f3c10dbcbbb9469ba7147bb26acf6a9aa733
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 16 14:54:39 2004 +0000

	    * Doh!  Edited `readmanifest.pm' instead of `readmanifest.pm.in'.

	commit 291030b900ffe5b9934729a3dce9b73c4effe715
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 15 20:58:44 2004 +0000

	    * Remove debug message.

	commit 447089a5f699f085661287dec4b3d88219f67068
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 15 20:23:55 2004 +0000

	    * Catch SIGINT to terminate cleanly when the user tries to interrupt
	      Nix.  This is to prevent Berkeley DB from becoming wedged.

	      Unfortunately it is not possible to throw C++ exceptions from a
	      signal handler.  In fact, you can't do much of anything except
	      change variables of type `volatile sig_atomic_t'.  So we set an
	      interrupt flag in the signal handler and check it at various
	      strategic locations in the code (by calling checkInterrupt()).
	      Since this is unlikely to cover all cases (e.g., (semi-)infinite
	      loops), sometimes SIGTERM may now be required to kill Nix.

	commit 08719c6c97e25fb362eeb7463d8b764ecefc53cb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 15 20:13:54 2004 +0000

	    * Obsolete.

	commit 55e11bc0d3e3c440503ee71d21c3ef5e34431cbb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 15 14:43:00 2004 +0000

	    * In `nix-env --query --status', determine the `I' bit by looking at
	      the output path of a derivation, not the path of its store
	      expression.  This ensures that changes that affect the path of the
	      store expression but not the output path, do not affect the
	      `installed' state of a derivation.

	commit 9a404e45c9e8257e2d353d569e189a4b003159b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 14 14:20:33 2004 +0000

	    * Synchronous `nix-pull' with `nix-push'.
	    * Use curl instead of wget.

	commit 16f9b133ec8c1fc6226d486e5170dd3a43aa35a7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 14 11:13:08 2004 +0000

	    * Improved `nix-push': it now uses HTTP PUT (instead of rsync) to copy
	      files.  Target location is no longer hard-coded; it accepts a number
	      of URLs on the command line.

	    * `nix-install-package': compatibility fixes.

	commit ff9af107d3aa1362af906972c490773eeaaad4b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 16:35:43 2004 +0000

	    * Option `-B' to always show the output of builders, regardless of
	      verbosity level.

	commit 3495d153b317a0853abd7114f29b44517f7c3813
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 13:37:25 2004 +0000

	    * Periodically checkpoint the log.

	commit 698e880c9f03b3aaade13897de3498a5915ea8fd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 12:36:43 2004 +0000

	    * Tricky: make sure that the accessor count is not reset to 0 if
	      recovery fails.

	commit 23fbc72f5d65725dd1804efe695aaa84580a8637
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 13 11:53:12 2004 +0000

	    * Print error messages, not debug messages.

	commit 4c4fe7a114968a9c7accd86499f029314530f44c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 12 10:44:48 2004 +0000

	    * Changed the extension for store expressions from ".nix" to ".store"
	      (following the Usenix paper).

	commit 46a71c857c617b5acbf3d1fdb8fb7e676a4881a2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 9 14:18:28 2004 +0000

	    * Option `--force-realise' in `nix-store --query'.

	commit 30b31a8f6190dad40ca972b445420e10f47a9afc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 8 16:56:40 2004 +0000

	    * Start of nix-env reference.
	    * Some CSS tweaks.

	commit b5942155314ea4b479fabde6ce236866f5ef4b97
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 8 15:01:37 2004 +0000

	    * Manual updates.

	commit 5346536b626a047d53f9c44d6562cfaeffe27f14
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jan 8 10:45:23 2004 +0000

	    * Include version number in manual.

	commit 7959354379416bd8513cb00e636c0310e42eaa01
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 7 15:53:14 2004 +0000

	    * Upgraded to Berkeley DB 4.2.52.  The main advantage of 4.2 is that
	      it automatically removes log files when they are no longer needed.

	      *** IMPORTANT ***

	      If you have an existing Nix installation, you must checkpoint the
	      Nix database to prevent recent transactions from being undone.  Do
	      the following:

	      - optional: make a backup of $prefix/var/nix/db.

	      - run `db_checkpoint' from Berkeley DB 4.1:

	        $ db_checkpoint -h $prefix/var/nix/db -1

	      - optional (?): run `db_recover' from Berkeley DB 4.1:

	        $ db_recover -h $prefix/var/nix/db

	      - remove $prefix/var/nix/db/log* and $prefix/var/nix/db/__db*

	commit abe8c8c2aa24646955b78cd2c826483d8d8a1149
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jan 7 10:59:38 2004 +0000

	    * Include images/ in distribution.

	commit 1ff986d51a4fc7f77a80f5c23351f9d2cbb26550
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 6 16:38:32 2004 +0000

	    * book -> manual

	commit 2f0b93904bf88e9d2bf9d623b35991dd6dd0c521
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jan 6 16:35:07 2004 +0000

	    * Install images.

	commit 4a373a3e9ac07a2d4c43d495c0a44883106ecfde
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 5 16:26:43 2004 +0000

	    * Implemented Eelco V.'s `nix-env -I' command to specify the default
	      path of the Nix expression to be used with the import, upgrade, and
	      query commands.  For instance,

	      $ nix-env -I ~/nixpkgs/pkgs/system/i686-linux.nix

	      $ nix-env --query --available   [aka -qa]
	      sylpheed-0.9.7
	      bison-1.875
	      pango-1.2.5
	      subversion-0.35.1
	      ...

	      $ nix-env -i sylpheed

	      $ nix-env -u subversion

	      There can be only one default at a time.

	    * If the path to a Nix expression is a symlink, follow the symlink
	      prior to resolving relative path references in the expression.

	commit f83c5e3e5f3e6b33c095d6559a4b3cd5922e88ce
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jan 5 11:18:59 2004 +0000

	    * Implemented Eelco V.'s `-p' command to switch profiles.  It switches
	      the symlink ~/.nix-userenv to the given argument (which defaults to
	      .../links/current).  /etc/profile.d/nix-profile creates this symlink
	      if it doesn't exist yet.  Example use:

	      $ nix-env -l my_profile -i foo.nix subversion quake
	      $ nix-env -p my_profile

	      I don't like the term "profile".  Let's deprecate it :-)

	commit 0e68af0ce380b09c14ff36084499c0d8a6590b25
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 2 16:09:59 2004 +0000

	    * RPM sucks.

	commit 9ff365709541b8f50fddcf667ded07a5b9f774de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 2 16:04:53 2004 +0000

	    * Generate RPM spec file.

	commit 0e09cc12c08ad2db0b8620ca537bd81ca45c05df
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jan 2 14:58:25 2004 +0000

	    * Add $prefix/store to the RPM.
	    * Allow extra flags to be passed to RPM.

	commit 94175e978a87a79f3362879898dc1cf7d08d7791
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 30 20:09:00 2003 +0000

	    * RPM spec file.
	    * Respect DESTDIR variable.

	commit 68f2fadb788f8d401fad6fd1db1cfac283e5e337
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 23 22:15:12 2003 +0000

	    * nix-pull requires libexecdir to be substituted.

	commit 392b7e0f8ecd50f98017021253386714f0771752
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 23 22:13:36 2003 +0000

	    * Fixed a bug in the upgrade operation.

	commit 833f2fc92da8d31c62eb35dae8b3861829a1383a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 22 16:40:46 2003 +0000

	    * GCC 2.95 compatibility.

	commit cf0287c09e8b5816c65dd265c4ef167865d70172
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 22 16:04:00 2003 +0000

	    * Upgrade operation in `nix-env'.  For instance, you can say

	        nix-env -u foo.nix strategoxt

	      to replace the installed `strategoxt' derivation with the one from `foo.nix', if
	      the latter has a higher version number.  This is a no-op if `strategoxt' is not
	      installed.  Wildcards are also accepted, so

	        nix-env -u foo.nix '*'

	      will replace any installed derivation with newer versions from `foo.nix', if
	      available.

	      The notion of "version number" is somewhat ad hoc, but should be useful in most
	      cases, as evidenced by the following unit tests for the version comparator:

	        TEST("1.0", "2.3", -1);
	        TEST("2.1", "2.3", -1);
	        TEST("2.3", "2.3", 0);
	        TEST("2.5", "2.3", 1);
	        TEST("3.1", "2.3", 1);
	        TEST("2.3.1", "2.3", 1);
	        TEST("2.3.1", "2.3a", 1);
	        TEST("2.3pre1", "2.3", -1);
	        TEST("2.3pre3", "2.3pre12", -1);
	        TEST("2.3a", "2.3c", -1);
	        TEST("2.3pre1", "2.3c", -1);
	        TEST("2.3pre1", "2.3q", -1);

	      (-1 = less, 0 = equal, 1 = greater)

	    * A new verbosity level `lvlInfo', between `lvlError' and `lvlTalkative'.  This is
	      the default for `nix-env', so without any `-v' flags users should get useful
	      output, e.g.,

	    $ nix-env -u foo.nix strategoxt
	    upgrading `strategoxt-0.9.2' to `strategoxt-0.9.3'

	commit f3c978384698a0b9b0f5dee41f98e6208f269347
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 23:58:56 2003 +0000

	    * Version numbers can be omitted in install/uninstall.  E.g.,

	        nix-env -i foo.nix subversion

	      The version number part of a derivation name is defined as everything following the
	      first dash not followed by a letter.

	commit a81b621202844f58ae7202e592324f1232107810
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 22:34:41 2003 +0000

	    * `-u' -> `-e'.
	    * `--link' / `-l' flag to specify the switch symlink to use (by default,
	      /nix/var/nix/links/current).

	commit 0a753e182aa0f50ea7062f2d9e02306b34266e37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 22:02:58 2003 +0000

	    * Oops.

	commit df7a718786c83e1eca908864820bb05ab964c451
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 21:57:09 2003 +0000

	    * Man pages in sections.

	commit 397c8ba898a522512ea56a3d2ae78dedda01bd77
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 21:56:54 2003 +0000

	    * Missing semicolons.

	commit 528f1d1867de8b653eed516f8448096d7d138978
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Dec 21 17:09:16 2003 +0000

	    * Bug fix: parallel builds of the same derivation failed due to lock file removal.

	commit 06c5a7075d85636ba1fedce1fc5b131cdcffd5f8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 5 11:25:38 2003 +0000

	    * Refactoring: put the manifest-reading code in a separate file.

	commit cff6fd22ebfbfdbbda9b30c68cb61e25db718147
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Dec 5 11:05:19 2003 +0000

	    * Allow successors that don't exist but have a substitute.
	    * Integrity: check in successor / substitute registration whether
	      the target path exists or has a substitute.

	commit feaab52203a51a4abec23f5d878f6f4dea29dcd5
	Author: Martin Bravenboer <martin.bravenboer@logicblox.com>
	Date:   Thu Dec 4 14:38:31 2003 +0000

	    * Fix for too long command lines when calling `nix-store
	      --register-[substitutes|successors].

	commit 00d4f907e1b9bfab0c51a4459d5f0e6a105fc1d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Dec 3 09:33:03 2003 +0000

	    * Get rid of the icons in warnings etc.

	commit 31fd72ee1722e10dac4e3f4f55f8270ffd1ba22d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 2 16:29:41 2003 +0000

	    * Epigraph ;-)

	commit 16d971bce70a2b3aab1d3c60101e00f264159c07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 2 15:36:49 2003 +0000

	    * A nice stylesheet for the manual.

	commit 0d3a1a8582a7b0120e35c507165db6d02ceea258
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 2 12:37:37 2003 +0000

	    * Add missing files to `make dist'.

	commit 0c804c677543350a2f80206a4f47adc9b7d460e3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Dec 2 10:21:40 2003 +0000

	    * Regression fix: query flags (e.g., "-qsf") were broken.

	commit a3ca74a1c34d68c94fb3c723fb75f3f27f81e2a9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 1 16:34:35 2003 +0000

	    * Bug fix in nix-push.

	commit 078e20885e0805e04669f9b334a516a6d8d12763
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 1 15:55:05 2003 +0000

	    * Help text for all (non-script) programs, so no more:

	    $ nix-instantiate --help
	    error: unknown flag `--help`
	    Try `nix-instantiate --help' for more information.

	    :-)

	commit 905d5b91fa6fa64e549f9019f9fab4150f00c13a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 1 14:52:51 2003 +0000

	    * Manual fixes (thanks to Merijn).

	commit 83ffd4f282ea78c77c69f6b0719daa87fdc20efc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 1 14:40:24 2003 +0000

	    * Fix `make check'.

	commit 5d2b424804ec93567ddf15639f84c4098d80f659
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Dec 1 14:36:50 2003 +0000

	    * Use a system name that does not include the OS manufacturer (i.e.,
	      "i686-linux" instead of "i686-suse-linux").

	commit dc05f29cf6e1c5ee557441951116ee3fb35e0e00
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 27 14:58:32 2003 +0000

	    * Manual updates.

	commit 7b0e29b4dc42946b64fc3d616caa33ae442d94c6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 16:09:27 2003 +0000

	    * Overview of nix-env.  Recommended reading. :-)

	commit 62d9b31d0a86fc0fc5b198e4d46722573432918c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 14:25:39 2003 +0000

	    * Updates.

	commit f6a30ab264506ca966180666dff45310d176659d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 12:30:16 2003 +0000

	    * Updates.

	commit 2a4bac5459f42764b39ac70f906f5dd3330a3ac5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 11:24:13 2003 +0000

	    * Refactoring.
	    * Convert tabs to spaces.

	commit bd0ce1a4be6612cf53d9d31f1cbe1b25085ccf75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 10:47:54 2003 +0000

	    * Minor fix.

	commit 80f8c38384605f99ac43bdd3ae637e72996ca2da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 10:41:59 2003 +0000

	    * Typo fix.

	commit c38ba181ede6b46f28d5a70bf0243bcd003f943b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 26 10:41:21 2003 +0000

	    * Configure flags to specify the location of the DocBook DTD / stylesheets.

	commit 4da9316c8fa576cad77bf398785765e165f6865c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 16:49:23 2003 +0000

	    * Use svn-revision to construct package version.

	commit 6d5877ea122f1d8aede4f9b9d2ac247d1b896093
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 13:43:48 2003 +0000

	    * Use --nonet flag to prevent fetching of DTD.

	commit 12e805cfb032e403e4dd6f410b7e3f24bbc89a98
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 13:06:12 2003 +0000

	    * Don't hardcode the path to the DocBook DTD/stylesheets.

	commit ba73f94b3bba9c19726443556b0124fe63dccee6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 13:03:48 2003 +0000

	    * Another fix.

	commit 66c115ef5faabb1bcd47ac0d375aeee39b300c43
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 13:01:21 2003 +0000

	    * More `make dist' fixes.

	commit c3ee8c9166e32031a61c397594be4aef127862d4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 12:35:52 2003 +0000

	    * `make dist' fix.

	commit 6e8c19714af00b8340eea6eecf1c38fc6b09f6de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 25 12:05:48 2003 +0000

	    * Allow integer bindings in derivations.

	commit d1d87badf6d07c9d319c555593be5c6d0bd08bb4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 16:38:46 2003 +0000

	    * Bug fix.  Hmm, I thought I'd fixed this before :-|

	commit 604c45e960f27be9e26e44dbc85fa0f00a097670
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 12:10:16 2003 +0000

	    * Autoconf sucks.

	commit e7ea52d3b336e6336c801eb8f868c0b8dd464910
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 11:11:40 2003 +0000

	    * One-click installation :-)

	      The script nix-install-package takes a `Nix package file' (which
	      contains one or more derivations, along with URLs of Nix caches),
	      unpacks it, pulls the caches, and installs the derivations in the
	      user's environment.

	      For best results, associate the command `xterm -e
	      /nix/bin/nix-install-package' with the MIME type
	      `application/x-nix-package' and visit
	      http://losser.st-lab.cs.uu.nl/~eelco/test/.

	commit b8572678930568efcf0b44523e6a2a65afef7c43
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 11:01:19 2003 +0000

	    * Allow the top-level expression to be a derivation.
	    * Hack: `nix-env -i *' installs all available derivations.

	commit 496934a99ce509ac94a99a938d7d79d1b38461ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 09:25:08 2003 +0000

	    * Fix nix-pull.

	commit c9cb1fa21f4454a214f4cd62aef2ccc35a8f89af
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 09:24:52 2003 +0000

	    * Bug fix in path invalidation.
	    * More consistency checks.

	commit 60e86b124f09763b1f0f55fc4c635a255bd028d2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 24 08:20:49 2003 +0000

	    * Get rid of tab characters.

	commit af7e6fe22e8db606eb92c044140c00e6d8fe61cc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 22 21:12:36 2003 +0000

	    * Don't use a hard-coded path.

	commit 9486dda1152d18b502fc31ff1d6aed4eba6f2fe3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 22 20:39:51 2003 +0000

	    * Fix nix-push.

	commit ab0bc4999a49efbc8e1c25989662a96e32fa0cc5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 22 18:45:56 2003 +0000

	    * Maintain integrity of the substitute and successor mappings when
	      deleting a path in the store.
	    * Allow absolute paths in Nix expressions.
	    * Get nix-prefetch-url to work again.
	    * Various other fixes.

	commit 40d9eb14dfb842c51e9f86818b43ae7711e1a5d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 22 15:58:34 2003 +0000

	    * Fix the garbage collector.

	commit 7a02d954186d6ba1ea41d9917d63f9fab84736b3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 21 16:05:19 2003 +0000

	    * Remove lock files after building.

	commit 06208d1d8677eaea1fb56dd09832f43154bbab5d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Nov 21 14:23:18 2003 +0000

	    * Uninstallation.

	commit 2e9042bd1e7e3a322f072f0bf98510698afa626a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 20 13:48:48 2003 +0000

	    * Uninstall command (doesn't work yet).

	commit e0b5a492f537cacee7eadc47f44817908a0ab05a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 21:32:03 2003 +0000

	    * Installation: add the previously installed packages.  Switch to the new
	      configuration.
	    * Status queries.

	commit 9898746ef3732979bf30e9048021b6232ddf15ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 17:27:16 2003 +0000

	    * nix-env: a tool to manage user environments.
	    * Replace all directory reading code by a generic readDirectory()
	      function.

	commit fd7ac09f1073179d9ac439c3e9fb12a1bf00a7d5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 12:03:01 2003 +0000

	    * Refactoring (step 2).

	commit ac68840e79ce74f05ee8b31bb1d528c98b9c7f76
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 11:35:41 2003 +0000

	    * Refactoring: put the Nix expression evaluator in its own library so
	      that it can be used by multiple programs.

	commit 2be8b5917a8040fac72e7970e94bbb436e8c35d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 19 10:04:03 2003 +0000

	    * Use `sdftable -s' to get warnings about the grammar.
	    * Several bug fixes in the grammar.
	    * Allow one-line comments (#... and //...) to end in EOF.

	commit 38946e1378d50cf2921c509635e2119216fc9b0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 12:07:39 2003 +0000

	    * Forgot this one.

	commit dfc9c64ead7f24d51ed1a232e4b3ecafa8384f2e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 12:06:07 2003 +0000

	    * "Fix expression" -> "Nix expression".
	    * More refactoring.

	commit b1117ef29d35822647bda32f8cd3887f4f6eaede
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 11:38:25 2003 +0000

	    * nix -> nix-store, fix -> nix-instantiate.

	commit ce92d1bf1434562f5b80320c503768c4d06f1f8d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 11:22:29 2003 +0000

	    * "Nix expression" -> "store expression".
	    * More refactoring.

	commit 9f0f020929c9e093405cc6193d2f227cab763912
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 10:55:27 2003 +0000

	    * libnix -> libstore.

	commit 8798fae30450a88c339c8f23d7e0c75f5df2ef1c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Nov 18 10:47:59 2003 +0000

	    * Source tree refactoring.

	commit 45610ae675f6f8d6ecbd48c495cb7012b143d531
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 16 18:31:29 2003 +0000

	    * An forward non-random access input iterator class for ATermLists.

	commit 3e5a019a070cbaac7d1248e208c66da9fdb23313
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 16 17:46:31 2003 +0000

	    * Some utility functions for working with ATerms.

	commit 06ae269c7c5cdda32072f3f00cf644e540ba12cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 10 11:00:38 2003 +0000

	    * Do not filter when parsing.  This is much faster.
	    * Add some rejections and lexical restrictions to the grammar to make
	      this work.

	commit 15801c88fad38253b19ac2ea77e7597deab5fd6b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 9 10:35:45 2003 +0000

	    * Turned the msg() and debug() functions into macros, since they
	      turned out to be a huge performance bottleneck (the text to printed
	      would always be evaluated, even when it was above the verbosity
	      level).  This reduces fix-ng execution time by over 50%.

	      gprof(1) is very useful. :-)

	commit d2e3a132fe6796b2ac038ccb20e7aa32afc1a85f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 9 10:31:56 2003 +0000

	    * Pass CFLAGS to the subpackages.

	commit 90e26d392c7ac4c2a69163f881f73916e6fba3c1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 6 15:24:31 2003 +0000

	    * Allow null in derivation bindings.

	commit cfaea07444a0011aa7d91ce1bcc8f105b8f283fa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 6 14:41:49 2003 +0000

	    * `null' is a nullary primop.

	commit 569e7940f878f27b0fb9d3c8e8abfc29f3379103
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Nov 6 14:41:29 2003 +0000

	    * Allow `+' in path names.

	commit fa18f1f184ba89b3dfe592e77a276da42d326f42
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 5 16:27:40 2003 +0000

	    * Assertions.
	    * Logical operators (!, &&, ||, ->).

	commit e17e95a82892b31c8063f2ace1b21c79e82e6f6d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 5 16:20:57 2003 +0000

	    * Print a shared textual ATerm if the term if very large.  Due to
	      substitutions, Fix terms are very large when printed as trees (in
	      memory, they are quite compact due to sharing).

	commit 80bb477cc4ea5226ae760726730b3e09d21559de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Nov 5 15:34:12 2003 +0000

	    * Default function arguments.

	commit 0690c1c9c01dd5889dbfccf2da6cb99f5c4e151b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 3 20:30:40 2003 +0000

	    * Work around problems with the ATerm library.

	      The ATerm library doesn't search the heap for pointers to ATerms
	      when garbage collecting.  As a result, C++ containers such as
	      `map<ATerm, ATerm>' will cause pointer to be hidden from the garbage
	      collector, causing crashes.  Instead, we now use ATermTables.

	commit ff3132427839888933c3779844bf35ca9e189cb9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 3 18:21:53 2003 +0000

	    * Ignore options passed to the aterm library.

	commit e2655aa332a33b56d9168928511a598fc9b0c1e6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 3 11:59:35 2003 +0000

	    * Shorter list syntax ([a b c] instead of [a, b, c]).

	commit ad0976f8d5f2afbca4e2fe6cbb3d2c2e53760222
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Nov 3 10:21:30 2003 +0000

	    * Grammar changes.  Attributes in attribute sets are now delimited with
	      semicolons instead of comma's.  Final semicolon in the set is optional.

	commit 40986312bb00f0101a6634db42080daee03f887b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 2 17:36:15 2003 +0000

	    * Boolean constants.

	commit adf9a45469f55258446d383333aa2ca79cfb0536
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Nov 2 16:31:35 2003 +0000

	    * Primops: baseNameOf, toString.

	commit c8268ca9917061466a3448028ea524d9842e1ac9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 1 23:29:02 2003 +0000

	    * Fast builds.

	commit 7de1b2a6980f71cfbf36f7250e247f6eafd763d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 1 21:11:52 2003 +0000

	    * Print the exit code of the builder.

	commit 16104446712acf7e381039199eaf39dfa0fcea35
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 1 19:15:08 2003 +0000

	    * Conditions, string equality.

	commit 1b4184ccbb01634792897d3412c489b989674567
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 1 19:10:41 2003 +0000

	    * Let syntax.

	commit a2a9bacd8296ed1ddb6105b649a062fe65c27759
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Nov 1 19:10:19 2003 +0000

	    * Filter the substitution list when descending into a recursive
	      attribute set.

	commit 449411e5113084da323d265f1b1313d9a5ca64aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 31 19:20:03 2003 +0000

	    * Typo fix.

	commit 9210d4d530b68b5f19ac7062f129c88ccdc03e04
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 31 17:09:31 2003 +0000

	    * Working evaluator.
	    * Mutually recursive attribute sets.
	    * Print evaluator efficiency statistics.

	commit f1c1a3c97f1dc81b2d9b19f58589b4b8a5ed196e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 31 12:21:01 2003 +0000

	    * Allow empty attribute (argument) sets.

	commit 7db08cc9244c374903180c8e816ecf81f6ff1d79
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 31 11:22:56 2003 +0000

	    * Use SGparseString() instead of SGparseFile() because the latter is
	      buggy.  It fails to clear an internal variable (SG_textIndex)
	      between invocations, so it can be called only once during a program
	      execution.

	commit 403cb9327f5c298cb6a85a87241962df4a90857b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 30 16:48:26 2003 +0000

	    * Factor out evaluation into a separate file.

	commit 9f8f39aa3cdb54532a85e41f14985fc6a530fb36
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 30 16:18:40 2003 +0000

	    * Clean up the imploded parse tree.  Quotes around strings are
	      removed, paths are absolutised relative to the path containing the
	      expression we just parsed, and integer literals are converted to
	      actual integers.

	commit e537844f4ebc53df13f52722fb16bbeb1f4cbd18
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 30 16:11:24 2003 +0000

	    * Bottomup rewrite function.

	commit 442b09ea33dcf516a6f5244ed2c362682e1347b0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 30 16:10:56 2003 +0000

	    * Don't use a search path.

	commit 933b3f677d0338b264d4e758f8932bb7f2454c46
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 30 16:10:20 2003 +0000

	    * Attribute selection operator.

	commit b95a3dc45bcbbe8a0985bab82146ed00afcf0239
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 29 16:05:03 2003 +0000

	    * Basic grammar and parser for the Fix language.  We use libsglr and
	      friends to do the parsing.  The parse table is embedded in the Fix
	      executable using bin2c, which converts an arbitrary file into a C
	      character array.

	commit 4d728f6a36c83ff684426788df775b385fae9e88
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 29 15:05:18 2003 +0000

	    * Forked new version of Fix.

	commit f31661a3b593a15fe061bb398f1814d9c37902a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 29 15:04:50 2003 +0000

	    * Add sdf2-bundle to externals.

	commit 7102455cba5ceb13e7f3558716ee0a49fff1c58f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 27 18:43:09 2003 +0000

	    * Don't cache the manifest.

	commit 92eea8fc4e7a2e4d6d0dda604ecd22c60367b76e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 23 10:51:55 2003 +0000

	    * Fix a race condition in addTextToStore().

	commit c4e7d324b826d1197a90bf7f4f4b593e406e1087
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 22 13:29:40 2003 +0000

	    * Use writeFull().

	commit 9d95aafe8ccf9d037dc97bb875bc62b919d8b123
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 22 11:04:57 2003 +0000

	    * Ad hoc per-package logging.  When Nix performs a derivation, it now
	      writes stdout/stderr of the builder to ${prefix}/var/log/nix/x,
	      where x is the file name of the derivation expression, e.g.,

	        /nix/var/log/nix/54256391624be04fcb426048ae3ea0a4-d-pan-0.14.2.nix

	      Note that consecutive builds of the same expression overwrite,
	      rather than append to, existing log files.

	commit 143427f90b9b54bd957cd50a2110157ddfedeeaf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 22 10:53:46 2003 +0000

	    * Dead code removal.

	commit 4a8948b7a60e751dd809f279f1baa434ea09a4d3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 22 10:48:22 2003 +0000

	    * Some wrapper classes to ensure that file descriptors / directory
	      handles are closed when they go out of scope.

	commit c62433751d5fce8c25a802989c50fee993f39c2d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 20 10:05:01 2003 +0000

	    * Finished refactoring the tree.

	commit 53e376d836133a660223198c7bb8308fb912375e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 20 09:20:11 2003 +0000

	    * Refactored the source tree.

	commit 0eab306466fdb186c692521dd1f2b949e56c54da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Oct 20 09:08:44 2003 +0000

	    * NarPath -> NarName.

	commit a0a7a4e0875c2cfdd2895bb1b4a16c998cde576e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 19:24:04 2003 +0000

	    * Remove some debug output.

	commit 0791282b2f42313c94dd9bc85b24428e585cd099
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 16:29:57 2003 +0000

	    * Substitutes and nix-pull now work again.
	    * Fixed a segfault caused by the buffering of stderr.
	    * Fix now allows the specification of the full output path.  This
	      should be used with great care, since it by-passes the normal hash
	      generation.
	    * Incremented the version number to 0.4 (prerelease).

	commit ab5e8767fafb2d62213e3f1558ead2882bc65c05
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 13:13:39 2003 +0000

	    * Get nix-push to work again.
	    * Fixed svn:ignore on externals/.

	commit c78bf115248f62fa355e7a9b2b9532b37e693085
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 11:55:37 2003 +0000

	    * Enable buffering of stderr in C++.

	commit f7c7aad1351a0ed58f458e485968af498d542b5b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 08:52:44 2003 +0000

	    * Upgraded to Berkeley DB 4.1.25 and do not synchronously flush the
	      log on commit.  This means that there is a small change that some
	      transactions may be rolled back in case of a system crash, but this
	      should not be a problem (it merely might cause some expression
	      realisations to be rolled back), and it vastly improves performance.

	    * Upgraded to ATerm 2.0.5 (which also includes Armijn's 64-bit
	      patches).

	commit 181aa3dc4198d2e2cfa89d3ebb53a96fa567e12f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 16 08:06:19 2003 +0000

	    * Don't sort the result of `--query --list'.

	commit ebff82222c7b946e70e539389c0027529b6c7ad0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 15 12:42:39 2003 +0000

	    * Refactoring: move all database manipulation into store.cc.
	    * Removed `--query --generators'.

	commit 5fc71276430e8e6a4588fa54da692f81d5ada585
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 15 10:34:50 2003 +0000

	    * Keep sources (derivation expression) by default, `--no-source' to
	      override.

	commit c190f051ac34b2df51402bf593150de97f491d86
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 14 15:33:00 2003 +0000

	    * Automatically recover the database in case of a crash.

	commit 1d61e473c88568fae7ef5edebc77acd53e4126f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 10 15:25:21 2003 +0000

	    * New query `nix --query --predecessors' to print the predecessors of
	      a Nix expression.

	commit 0abe185688aa19c9ca87c9d22e24a54b4b359969
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 10 15:14:29 2003 +0000

	    * `nix --verify': check and repair reverse mapping for successors.

	commit d3d5e77810cca11cca95bbb6f0f5e15d23f31eea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 10 14:46:28 2003 +0000

	    * Reverse mappings for the successor and substitute mappings.

	commit 1eb4da156cca1b1981ab1f60bb9797ed1e93101a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Oct 10 13:22:29 2003 +0000

	    * Performance improvement: don't register already registered terms,
	      thus greatly reducing the number of db transactions.

	commit 08b7319f5bca01f46916faaec0f9de420404a5ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 9 15:38:31 2003 +0000

	    * Follow successors by default (use `--no-successors' to override).

	commit 6409c215e56cbcd10177edf358f7d0702d687099
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 9 15:37:20 2003 +0000

	    * Fixed nix-switch.

	commit 6baa2c442035fb06652a7fad9d51df1ce41c05f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Oct 8 15:06:59 2003 +0000

	    * Get rid of identifiers since they are redundant now.  This greatly
	      simplifies stuff.

	    * The format of Nix expressions and the database schema changed
	      because of this, so it's best to delete old Nix installations.

	commit b9f4942bd2f8aae44db6caa5a4ebe5680880fec2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 7 14:37:41 2003 +0000

	    * string -> Path.

	commit 5d4171f7fb548e06ecd2440f57322b3c77f1074e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Oct 7 12:27:49 2003 +0000

	    * Synchronise terminology with the ICSE paper (e.g., slice -> closure,
	      fstate -> Nix expression).
	    * Fix src/test.cc.

	commit 563afb7fcc9d6aabec9b867372ea8d651fd12e89
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 2 15:48:47 2003 +0000

	    * Use passive FTP in wget.

	commit e78f753aa830e795fcb05920f30b0bd6d04bed0e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 2 12:22:19 2003 +0000

	    * Include the right files in a distribution.

	commit 4193d62e08964e2c26b27674e33327bf0417bab5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Oct 2 11:55:38 2003 +0000

	    * Nix now respects $TMPDIR for the creation of temporary build directories.
	    * Retry creation of a temporary directory (with a different name) in the
	      case of EEXIST.

	commit 6d478597c7672efc546b6720c8404ffb5f998612
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 24 08:40:40 2003 +0000

	    * Argggg...

	commit 9fb94f4f2f33b8fe26e4842558a13c6c62e6eded
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 24 08:39:49 2003 +0000

	    * Forgot a file.

	commit 9ba2397ea971aba101235413afe27518e0b7a2ba
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 24 08:28:04 2003 +0000

	    * Added missing files to `make dist'.

	commit 41730f57798a9acba1fa07397cb06ba6a260ea70
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Sep 23 14:26:58 2003 +0000

	    * Put the SVN revision number in the version string.

	commit 1c7d6bf5fcddae13b6226d61fe60cfccb8d2c359
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 11 10:23:55 2003 +0000

	    * Removed references to char_traits so that boost/format also works on
	      GCC 2.95.

	commit d930a9bc5a69b33dc7fe707838ccdd72e89f8079
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Sep 11 08:31:29 2003 +0000

	    * Added some missing #includes.

	commit 803a924b77730f6f7e04dde0cbfda2522f06a2b1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 3 14:49:58 2003 +0000

	    * Make nicer dot graphs.  Also show the inner structure of slices.

	commit c0bbed0959665bc51909b285654db2a3cf120502
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Sep 3 11:20:18 2003 +0000

	    * Factored out dot graph generation into a separate file.

	commit 0d2bc686817306502b71f5ca2cd49cb1d501247c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 29 13:12:30 2003 +0000

	    * Do not show the output of the builder unless the verbosity is at
	      least at debug level (-vvv).  The output is still appended to the
	      build log in /nix/var/log/nix.

	commit 25304af72ed5c8fd50aa1da01c5872567ebe6ba2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 28 10:51:52 2003 +0000

	    * Set a path.

	commit b0185173147c3eb629cc6b996459cf6ce2d608fe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 28 10:51:14 2003 +0000

	    * Do not try to remove write permission from symlinks, since chmod()
	      follows symlinks.  (Note that the permissions on symlinks are
	      ignored anyway.)

	commit c4f1f49574b4fe55bef7952bd0fcc2bd626b0db2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 28 10:10:12 2003 +0000

	    * nix-push generated invalid (old-style) slices.
	    * nar.sh needs a path.

	commit 31be53cd0a50ef9e3ddf64f79222e8e8dd1d05aa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 14:56:11 2003 +0000

	    * Fix the atrocious (exponential? factorial?) time complexity in
	      `nix --query --requisites'.

	commit 920193beb1a7b8894d100c63adadf00ad855dd64
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 25 14:36:04 2003 +0000

	    * Don't continue when the call to nix fails.

	commit a88144215c263e62528108dfae1e781058344ef2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 22 20:12:44 2003 +0000

	    * Remove write permission from output paths after they have been built.
	    * Point $HOME to a non-existing path when building to prevent certain tools (such as
	      wget) from falling back on /etc/passwd to locate the home directory (which we
	      don't want them to look at since it's not declared as an input).

	commit 56b98c3857b89d4f81f0127c53cfce6d8e48a71f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 22 11:29:20 2003 +0000

	    * Some work on the introduction.

	commit 956801fcc2ac75fd4041f61619451d2935fa2598
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 20 14:11:40 2003 +0000

	    * Use maps and sets in the FState data type.  This ensures normalisation of
	      slices and derivations w.r.t. order of paths, slice elements, etc.

	commit 624c48260f1b4eec86daa0da5f33d4cbb963a361
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 20 12:39:56 2003 +0000

	    * Change the abstract syntax of slices.  It used to be that ids were used as
	      keys to reference slice elements, e.g.,

	        Slice(["1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["8c99..."]), ...])

	      This was wrong, since ids represent contents, not locations.  Therefore we
	      now have:

	        Slice(["/nix/store/1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["/nix/store/8c99-..."]), ...])

	    * Fix a bug in the computation of slice closures that could cause slice
	      elements to be duplicated.

	commit 710175e6a0f737f108e802d6b0c3de0af04e500c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 20 11:31:15 2003 +0000

	    * Bumped the version number to 0.3.

	commit ed0db2e0d80ac538fbb1f9869922be4fbf7bfeab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 20 11:30:45 2003 +0000

	    * Fixed a serious bug in the computation of slices.  Sometimes the slices
	      would not be properly closed under the path reference relation.

	commit 1472cc482503a39d173b5dcd34686fd6c3c644d6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 19 13:07:38 2003 +0000

	    * Pipe /dev/null into stdin.

	commit 2de850479101e5a378c87d1392ea03c63ce224cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 19 09:04:47 2003 +0000

	    * Delete the temporary directories of failed builds by default, and an
	      option `--keep-failed' to override this behaviour.

	commit 31e4aa64396858e3b6ef8477397c84cbd80670fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 18 16:32:55 2003 +0000

	    * Allow lists in package bindings, e.g.,

	        ("srcs", [Relative("foo/bar.c"), Relative("foo/baz.h")])

	      The result is an environment variable that contains the path names of the
	      inputs separated by spaces (so this is not safe for values containing
	      spaces).

	commit ebbb6ce578ab383bec7a61c364d2be27c0bad22f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 18 14:54:54 2003 +0000

	    * Most shells initialise PATH to some default (/bin:/usr/bin:...)
	      when PATH is not set.  We don't want this, so fill it in with
	      some dummy value.

	commit c32e01eab2363085160bfebc2d9ab506d265c7e4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 18 08:52:49 2003 +0000

	    * Revision 300!
	    * Put `@' in front of echo's in the Makefile.

	commit 08f9cfe267934dac5a7da869e9ebadf215220217
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 18 08:35:16 2003 +0000

	    * No longer automatically download Berkeley DB / ATerm.

	commit 96c7b98bf0f852d7afee9251c4ce9492310e6a87
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 15 13:01:45 2003 +0000

	    * Argument support in Fix.  Arguments can be passed through the
	      builder using the `args' binding:

	      ("args", ["bla", True, IncludeFix("aterm/aterm.fix")])

	      Note that packages can also be declared as inputs by specifying them
	      in the argument list.

	commit 555347744d116b0152a04d4fdb08258276d34199
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 15 12:32:37 2003 +0000

	    * Derivation expressions now can specify arguments to be passed to the
	      builder.  Note that this unfortunately causes all Fix-computed
	      hashes to change.

	commit e374dbf89b0ba9a4f5835ef9ac30eda6df1dce6a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 15 10:13:41 2003 +0000

	    * A script `nix-prefetch-url' to fetch a URL, place it in the Nix
	      store, and print its hash.

	commit 01e30360d46ce940d8b83f4ff7a71e8464c1422b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 15 09:39:33 2003 +0000

	    * Don't use a temporary file.

	commit 163db7367fb45955069b46014e60224b1bc037b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 15 09:21:19 2003 +0000

	    * Fix can now read expressions from stdin (by saying `fix -').

	commit 161aab582bb3d794414c0275ff8216292f85ab5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 18:24:40 2003 +0000

	    * Use a catalog when calling xsltproc.

	commit a24cb1936141981c3b3d5cd30433bb1e57d7dc76
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 18:17:02 2003 +0000

	    * Use xmllint instead of nsgmls to validate the manual.

	commit 9ee3b7a37a658dc5d3d1831e4155629e18a866f4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 12:37:50 2003 +0000

	    * Function application test cases.

	commit dc0ef2ca98ddf21586b68089d28df59ef3e756dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 12:37:31 2003 +0000

	    * Detect infinite loops using blackholing.

	commit 2e16ff22ac6f3a4ea6684026a609856f29d86499
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 11:27:02 2003 +0000

	    * Fix man page.

	commit 5cde23f8698e7cdde220f30504b339b7237fd5f2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 09:49:31 2003 +0000

	    * Function() takes a list of formals.

	commit 0a2de7f543ac23b8576a232c0ecf6a5f49c1884a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 14 09:29:07 2003 +0000

	    * Lam -> Function. Doh!

	commit 95b49f804456cf532e61478d7f604aed381173d7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 13 15:17:57 2003 +0000

	    * Manual updates.

	commit 68022552d295e5a223b87a1a96814fd2586350ed
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 13 15:17:36 2003 +0000

	    * Put the pre-built manual and man pages in the tar distribution.

	commit c34a153ae5614ab879ff19194ff396ffb21b7b55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 13 10:45:01 2003 +0000

	    * Documented the `--query' operation.

	commit b4f88d0ec364f00196127ea29e8db5033368e23a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 13 09:13:52 2003 +0000

	    * Split the book.xml into several xml files.

	commit 469f1eba561403639e777721cacd59e0a6cdc39d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 12 15:06:49 2003 +0000

	    * Documented some Nix operations.

	commit e405ca506efa608c3636023a98994c05f09ecf0c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 12 13:54:42 2003 +0000

	    * Generate man pages from the manual.

	commit c602930e08a508fce76b16f6f7f1fdfaed3b91ab
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 8 14:55:56 2003 +0000

	    * deletePath(): some operating systems (e.g., Mac OS X) don't like it
	      when we delete entries from a directory while we are reading it.
	      So read the directory into memory, then delete its contents.

	commit 4b7b0bd12ca59f84b7adada64818086ece684447
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 7 15:27:14 2003 +0000

	    * Started on the introduction.

	commit 74867e72f29f8850892bd30b9c5aa5272bc49d75
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Aug 7 14:17:18 2003 +0000

	    * Start of manual; installation instructions.

	commit f8035d06f2031fb1bdf30eee82a1beb707bbe044
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 14:48:29 2003 +0000

	    * Allow a name to be given to a system configuration through `--name
	      NAME'.  E.g., on the losser Subversion server, I do `nix-switch --name
	      svn $(fix ...)' to atomically upgrade the server (the SVN server
	      uses the Apache and Subversion installations in /nix/var/nix/links/svn).

	commit 9ad39df2823ea11ac670dd3006ab2b8fcf73e6a8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 10:00:30 2003 +0000

	    * `==' is not a valid operator.

	commit d551062ec4cf33b73df4e0d38671cbe6ca03abc5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 09:35:05 2003 +0000

	    * Scan for wget and use the full path in fetchurl.sh.
	    * Use nix-hash (not md5sum) in fetchurl.sh.

	commit 236eb59293194071ac518c12d0cc6fe0a3f0ac5f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 09:34:04 2003 +0000

	    * Allow locks on paths to be acquired recursively (that is, if the
	      process is already holding a lock on a path, it may acquire the lock
	      again without blocking or failing).  (This might be dangerous, not
	      sure).  Necessary for fast builds to work.

	commit 720f06e3b05502df2dc84afb7a3ad2ea5518246a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 09:06:32 2003 +0000

	    * A flag `--flat' to just compute the MD5 checksum of the contents of
	      a regular file.  I.e., `nix-hash --flat' is equivalent to the
	      coreutils `md5sum' command (which doesn't exist on all systems).

	commit 37483672d425bc3b7be8e1deb049fd04c80be0cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Aug 6 09:05:04 2003 +0000

	    * App -> Call.
	    * Allow booleans in package environment bindings (True maps to "1",
	      False maps to "").

	commit d34b4d4f287a62de915a4bf75caf18d236e9b7e4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 13:05:30 2003 +0000

	    * Conditionals.

	commit b9c9b461ea3a90d7344a76c072b1f9a3e9d77144
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 12:30:06 2003 +0000

	    * Made nix-push much faster.

	commit 4ce652640b01c97d4df287cbc0ec6766a1438fd2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 12:29:47 2003 +0000

	    * Cache result of fstatePaths().  TODO: do this in fstore.cc.

	commit fd30f52cfca861d109652b6ad5a533e5c108f3e9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 11:14:24 2003 +0000

	    * Made nix-pull much faster by performing all Fix instantiations at
	      the same time.

	commit 17f05dba775bb95858d9ac60ab9a9abcbe88b2fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 11:13:38 2003 +0000

	    * Allow the top-level expression to be a list of expressions that
	      normalise to Nix expression.

	commit d6b6b2d3a83aa2afe3cae361954d8aa640fd77da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Aug 5 09:47:20 2003 +0000

	    * Delete obstructed paths prior to building.

	commit d2e963f7a39cebcc4c937f9060763386d72ce4db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Aug 4 07:09:36 2003 +0000

	    * Path locking in addToStore() and expandPath().

	commit c95b4ad2906ce4076f04e0969b7080c0589a8cea
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 1 15:41:47 2003 +0000

	    * In normaliseFState(), wrap registration of the output paths and the
	      normal form in a single transaction to ensure that if we crash,
	      either everything is registered or nothing is.  This is for
	      recoverability: unregistered paths in the store can be deleted
	      arbitrarily, while registered paths can only be deleted by running
	      the garbage collector.

	commit d99d04e6442dcc39a24cebac01af117ce00a5006
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 1 15:06:23 2003 +0000

	    * Defensive programming against POSIX locking idiocy.
	    * Simplified realiseSlice().

	commit 545145cd582cd80b857760ec11bb5a91b6271506
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 1 14:11:19 2003 +0000

	    * normaliseFState() now locks all output paths prior to building, thus
	      ensuring that simultaneous invocations of Nix don't clobber
	      each other's  builds.

	    * Fixed a bug in `make install'.

	commit 9df93f30bda81ffa3cf040c146347e02d3a56666
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Aug 1 09:01:51 2003 +0000

	    * Don't use substitutes in addToStore().

	commit 06434072e7860f2eaac9581e979801b7b3493a1e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 19:49:11 2003 +0000

	    * Put the database verifier in a transaction.

	commit 06d3d7355d1b0ec05e61d2e7fe67f8d7153c1ff9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 16:05:35 2003 +0000

	    * Enclose most operations that update the database in transactions.

	    * Open all database tables (Db objects) at initialisation time, not
	      every time they are used.  This is necessary because tables have to
	      outlive all transactions that refer to them.

	commit 177a7782aee4c4789ad5377b5993bfa0b692282e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 14:28:49 2003 +0000

	    * Use a more reasonable log file size (256 KB instead of 10 MB).
	    * Checkpoint on exit.

	commit 4a013962bdd08ee0cf285136e4eca0f2c9c76b98
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 13:47:13 2003 +0000

	    * Started using Berkeley DB environments.  This is necessary for
	      transaction support (but we don't actually use transactions yet).

	commit 758bd4673a3553fcbd78c8f895d6efe839d3d538
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 13:13:27 2003 +0000

	    * Set execute bit.

	commit 9f4c19276d023433ea05f6cc3637b4327bd23fbe
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 31 13:13:13 2003 +0000

	    * Basic makefile.

	commit 26ff1cdf89cae33918dfdef2027d135e099ed3b2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 30 14:40:46 2003 +0000

	    * A better test case for Nix race conditions.

	commit 64c617e9840b820b1d2d3ce2dd86a95506013b56
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 30 14:40:18 2003 +0000

	    * Directories for the manual.

	commit 2ac02440dc065d19e5bd00b9a0c538525e12909d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 30 13:35:46 2003 +0000

	    * Test cases for races.

	commit aaee69cfdef287406715fb3befd7debd3a5c6ce9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 30 10:14:58 2003 +0000

	    * INSTALL_DATA -> INSTALL_PROGRAM to ensure that the execute bit
	      remains set.

	commit 83075304e5639dcab3d386eb7813c73b97c67685
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 30 09:49:47 2003 +0000

	    * Don't make the builder executable.

	commit 1cb030736ec1e844b3bfce32def3725c8a422a1c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 17:56:39 2003 +0000

	    * Bug: Fix does not allow empty names, so don't generate them.

	commit a01629894db0d961622b06c9c691c7cc0fbedff0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 15:19:03 2003 +0000

	    * Use `--query --requisites' and include successors when pushing.  Don't
	      use `--query --generators' anymore.

	commit 40f32ae00ac60885e7c0d8dcb4522895cba8e550
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 14:42:14 2003 +0000

	    * Typo: if -> elsif.

	commit 884646593488bfacd851bec72b7ac1a4841bf458
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 14:28:17 2003 +0000

	    * Get garbage collection and cache population to work *properly*.
	      Renamed `fstateRefs' to `fstateRequisites'.  The semantics of this
	      function is that it returns a list of all paths necessary to realise
	      a given expression.  For a derive expression, this is the union of
	      requisites of the inputs; for a slice expression, it is the path of
	      each element in the slice.  Also included are the paths of the
	      expressions themselves.  Optionally, one can also include the
	      requisites of successor expressions (to recycle intermediate
	      results).

	    * `nix-switch' now distinguishes between an expression and its normal
	      form.  Usually, only the normal form is registered as a root of the
	      garbage collector.  With the `--source-root' flag, it will also
	      register the original expression as a root.

	    * `nix-collect-garbage' now has a flag `--keep-successors' which
	      causes successors not to be included in the list of garbage paths.

	    * `nix-collect-garbage' now has a flag `--invert' which will print all
	      paths that should *not* be garbage collected.

	commit dc14a3de46ee08a28158a886b6abba2c4144f6cd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 10:53:27 2003 +0000

	    * Nicer dot graphs.

	commit 79ba0431db223c1c08b46e8f3d1819e3457f21a0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 10:43:12 2003 +0000

	    * `fstateRefs' now works on derive expressions as well.  TODO: make
	      this more efficient.
	    * A flag `-n' in 'nix --query' to normalise the argument.  Default is
	      not to normalise.

	commit 5acb45446e756c023bcb6f052331181671580a5e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 29 09:45:03 2003 +0000

	    * Let `nix --install' print out the id of the normal form.
	    * Some minor refactoring.

	commit ce5fd1cc12f678627163d532acd7dd4251758198
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 28 16:07:01 2003 +0000

	    * Do not set LD_LIBRARY_PATH; it breaks many things.  E.g., SuSE's ssh
	      dynamically links against libdb4 (?!), due to LD_LIBRARY_PATH it picks
	      up our libdb4 instead of SuSE's libdb4, but our libdb4 uses another
	      glibc so loading barfs.

	      Instead, all packages should use rpaths to store library locations in
	      executables/libraries.  The disadvantage is that overriding rpaths is
	      harder.  (It is possible by invoking the dynamic linker directly, e.g.,
	      `/lib/ld-linux.so.2 --ignore-path LIST program args...' to ignore the
	      rpath for the libraries in LIST).  It would be better to use DT_RUNPATH,
	      which is consulted by the dynamic linker *after* LD_LIBRARY_PATH but
	      *before* ld.so.cache and the system directories.

	commit dec8fbc52bab9cc19ac97c422e79e40fa70c2b13
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 28 14:13:42 2003 +0000

	    * Check for the pthread library (db4 needs it on some platforms).

	commit 949c4fa1a863a804bdf1f985b55d5259f18838ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 28 12:19:23 2003 +0000

	    * `nix --help'.
	    * `nix --query --graph' to print a dot dependency graph of derive
	      expressions.

	commit f21b3419575eec2b5bbcc12b035f21c23d57e24d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 15:03:36 2003 +0000

	    * Fix message.

	commit 5d7a20dac3c7fd728fa885dd8dab6e170b860db9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 14:31:39 2003 +0000

	    * Prevent spurious rebuilds of db/aterm.

	commit 0a0c1fcb4d0e42577ac0c7ac23bd9b908ecde49f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 13:43:16 2003 +0000

	    * The `-v' flag no longer takes an argument; it should be repeated
	      instead (e.g., `-vvvv' for lots of output).  Default is to only
	      print error messages.

	commit 3b521bb1bd53479896de89e7a24938039f92aace
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 13:35:17 2003 +0000

	    * Do sync the database, since not doing so caused database changes not
	      to reach the disk at all.  Looks like a bug.

	commit 1a7468a57a11288a007c40d50ed28718d757a546
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 08:53:43 2003 +0000

	    * Debug levels.  Use `--verbose / -v LEVEL' to display only messages
	      up to the given verbosity levels.  These currently are:

	        lvlError = 0,
	        lvlNormal = 5,
	        lvlDebug = 10,
	        lvlDebugMore = 15

	      although only lvlError and lvlDebug are actually used right now.

	commit b75719b98457c61857689ab135559a17034dd8ec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 24 08:24:32 2003 +0000

	    * Don't sync the database on close.  This was killing performance.
	      (Of course, the real problem is that we open the database for
	      *every* operation; we should only open it once.  And we should use
	      transactions.)

	commit 39ce70025b59a545127d1ffdefa83b7cbfcd8be1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 23 15:53:34 2003 +0000

	    * Incorporated Berkeley DB and ATerm into the source tree.
	    * `make dist'.

	commit 9202570f8c40f58f6444c2ec512104b305058977
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 22 20:02:33 2003 +0000

	    * libdb_cxx-4 -> libdb_cxx

	commit e877c69d78fe75ae3531b3ed3cb4a4d7b390ccec
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 22 15:15:15 2003 +0000

	    * Substitutes now should produce a path with the same id as they are
	      substituting for (obvious, really).

	    * For greater efficiency, nix-pull/unnar will place the output in a
	      path that is probably the same as what is actually needed, thus
	      preventing a path copy.

	    * Even if a output id is given in a Fix package expression, ensure
	      that the resulting Nix derive expression has a different id.  This
	      is because Nix expressions that are semantically equivalent (i.e.,
	      build the same result) might be different w.r.t. efficiency or
	      divergence.  It is absolutely vital for the substitute mechanism
	      that such expressions are not used interchangeably.

	commit df648c4967af7298fe55f75c7616e39e5b5e7d37
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 22 10:24:22 2003 +0000

	    * `nix --query --expansion' (`-qe') to get any path with content
	      corresponding to the given id.

	commit d84931ee5607c152b4bc7eb23b7ab94ded9f85c7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 22:05:19 2003 +0000

	    * Changed nix-pull to match nix-push.

	commit c7bdb76fe461e2335caeea01c16b39a2784fa506
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 21:34:56 2003 +0000

	    * Syntax fixes.
	    * When pushing, put the hash in the file name so that the
	      client can verify (proof-carrying file names?).

	commit d5ee6f8700c7225a4ce34f6d92aae0d57bee3355
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 21:31:03 2003 +0000

	    * In `--query --generators', print out paths, not ids.
	      (There should really be a switch for this).

	commit 2616e6a6f3f8c39e62071cf1c22cce5be90a1d9d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 20:58:34 2003 +0000

	    * Check for errors.

	commit 9f4ad99e92096981c5dc9401aa241a2314078b47
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 20:58:21 2003 +0000

	    * Canonicalise path.

	commit 249988a787d26046bf7b389594ff25029229e3d9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 20:07:12 2003 +0000

	    * Allow the output/expression id to be forced to a certain
	      value; this potentially dangerous feature enables better
	      sharing for those paths for which the content is known in
	      advance (e.g., because a content hash is given).
	    * Fast builds: if we can expand all output paths of a derive
	      expression, we don't have to build.

	commit 49231fbe419d37717b0d951377fbfc9bf445dd55
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 14:46:01 2003 +0000

	    * Changes to the command line syntax of Nix.
	    * A function to find all Nix expressions whose output ids are
	      completely contained in some set.  Useful for uploading relevant Nix
	      expressions to a shared cache.

	commit 401452e57ae897d3e5829ed12bfcccac82548e91
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 21 08:55:49 2003 +0000

	    * Memoize the evaluation of Fix expressions to speed up computation.

	commit 7984cfc7c18c85c5db42c5c7d57927b12c846ce0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 20 21:11:43 2003 +0000

	    * Argh, another short-write problem.  Added wrappers around
	      read()/write() to fix this once and for all.

	commit 667a6afb9dabcb3e5c851b910705b7eb1c87c9b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 20 19:30:53 2003 +0000

	    * Remove accidentally added file.

	commit 6f1a0f948dc5a98f2efcdafb0fdde96bebbf90da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 20 19:29:38 2003 +0000

	    * Refactorings.

	commit ab350eafd2c1a98ea98090fdb3bd9b7ae4f7336b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 18 07:42:57 2003 +0000

	    * Generate nar.sh, fetchurl.sh.

	commit b3fc38bf6a407f962b83089b2e13cbc90dd53042
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 17 12:27:55 2003 +0000

	    * For debugging: `nix --verify' to check the consistency of the
	      database and store.

	commit 71cc3ceae5c5dd97a0faa2dab3da3dd0c479b0b5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 17 11:25:14 2003 +0000

	    * Preserve the executable bit.

	commit 54664b6fb74e964d70530d13e25459751d0c63fb
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 21:24:02 2003 +0000

	    * The write() system call can write less than the requested
	      number of bytes, e.g., in case of a signal like SIGSTOP.
	      This caused `nix --dump' to fail sometimes.

	      Note that this bug went unnoticed because the call to `nix
	      --dump' is in a pipeline, and the shell ignores non-zero
	      exit codes from all but the last element in the pipeline.
	      Is there any way to check the result of the initial elements
	      in the pipeline?  (In other words, is it at all possible to
	      write reliable shell scripts?)

	commit 335aa1c35d8835619b465df3f5629b435bac157d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 20:49:59 2003 +0000

	    * Doh!

	commit 6822fd7bf472c9edc27c0e851f3efd67c2a99952
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 20:33:29 2003 +0000

	    * Bug fix: slices are transitive, so if we detect that an
	      input path is referenced in an output paths, we also have to
	      add all ids referenced by that input path.
	    * Better debug assertions to catch these sorts of errors.

	commit 9d56ca219fb7af1c209458f81a8ce35a1b6afd28
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 20:00:51 2003 +0000

	    * Substitute fixes.

	commit b9ecadee6e32eddac07d09a228f0dda2b340c7ac
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 11:05:59 2003 +0000

	    * Fix the -qr query.

	commit c11bbcfd26e554ca044c1cce293097e4e87ef31e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 16 08:30:26 2003 +0000

	    * Fix self-referential outputs.
	    * Fix -qp query.

	commit d41d085b771d0f87658fe22512178603b3a0c633
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 15 22:28:27 2003 +0000

	    * Get Fix and Nix to work again.

	commit 7b3f44e05baa49b26dd7c1ed71265c6bbc946aa4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 15 21:24:05 2003 +0000

	    * The new normaliser now passes the unit tests.

	commit f5b6fa5256efce5f7a963386cd16e441446f5746
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 15 16:28:54 2003 +0000

	    * Basic work on allowing derive expressions to build multiple paths.
	      This is not entirely trivial since this introduces the possibility
	      of mutual recursion.
	    * Made normal forms self-contained.
	    * Use unique ids, not content hashes, for content referencing.

	commit 8898e86b4fe1ecf8b34a5cca2a7b9b38d395678c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 14 10:45:04 2003 +0000

	    * Get the garbage collector to work again.

	commit 3509299aca833ed50faab146f985853255041cb2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 14 10:23:11 2003 +0000

	    * After building, scan for actual file system references as
	      opposed to declared references.  This prunes the reference
	      graph, thus allowing better garbage collection and more
	      efficient derivate distribution.

	commit 135b7d54db4e0ca56bda67946432fcf9d4f3ac5c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 13 21:43:57 2003 +0000

	    * Don't check for staleness by default.

	commit e6363b05ae72ffd9d977ec3f0981ff9123c404a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 13 19:26:00 2003 +0000

	    * Pass $(prefix) and other variables through -D..., not
	      through config.h, to prevent silly Autoconf problems.

	commit 9c620e4afa03e63ddaff2979396144de8d9298a5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 13 18:58:03 2003 +0000

	    * Generate the scripts so that we can substitute the prefix
	      etc. correctly.
	    * Fixed nix-switch.

	commit 5304a1eb3a2bbcc379924d3f5a58b64ce77f4849
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sat Jul 12 11:03:14 2003 +0000

	    * Fetchurl: check md5 checksum.

	commit 73b163c1a10f2ce675d9fc3d7ad02fad4bc6511f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 11 08:41:03 2003 +0000

	    * Fix a bug that caused Fix not to be deterministic (due to addToStore
	      returning different paths if the hash of the path to be added was
	      already available in the store under a different name).

	commit c834a5c5975b9a62413b4aa9446f73d1c573c909
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 11 08:16:15 2003 +0000

	    * Fix handling of pipes (read(2) may not return the required
	      number of bytes in one call).

	commit 822c072cfa0f1e4ac304343d78e024ba19da34a8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 20:34:29 2003 +0000

	    * Compress Nix archives when pushing them.

	commit 9bcc31c94168717c8bd27b83bfab686264f63745
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 20:13:32 2003 +0000

	    * Working derivate sharing.

	commit 81304a6bb595e64d868ef4eb4bfcc08014ced939
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 19:27:46 2003 +0000

	    * Convert tabs to spaces.

	commit e5fbf5804192fa62d0edab0f6b323cc0c8d890f9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 18:48:11 2003 +0000

	    * A command to register successor fstate expressions.

	      Unifying substitutes and successors isn't very feasible for now,
	      since substitutes are only used when no path with a certain is
	      known.  Therefore, a normal form of some expression stored as a
	      substitute would not be used unless the expression itself was
	      missing.

	commit 8511571f653fcfbb724061dac330c544b6048722
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 15:24:50 2003 +0000

	    * Performance enhancement.

	commit 1d1c3691d2fdf5aad0baceadd8596f23c1e0e1fa
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 15:11:48 2003 +0000

	    * The policy-free derivate sharing now *almost* works. :-)  For any
	      hash for which no local expansion is available, Nix can execute a
	      `substitute' which should produce a path with such a hash.

	      This is policy-free since Nix does not in any way specify how the
	      substitute should work, i.e., it's an arbitrary (unnormalised)
	      fstate expression.  For example, `nix-pull' registers substitutes
	      that fetch Nix archives from the network (through `wget') and unpack
	      them, but any other method is possible as well.  This is an
	      improvement over the old Nix sharing scheme, which had a policy
	      (fetching through `wget') built in.

	      The sharing scheme doesn't work completely yet because successors
	      from fstate rewriting have to be registered on the receiving side.
	      Probably the whole successor stuff can be folded up into the
	      substitute mechanism; this would be a nice simplification.

	commit d072485d2895d01dbbab1d899418726e3349343f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 13:41:28 2003 +0000

	    * Get `nix-push' working again.  It now uses Nix/Fix to create Nix
	      archives (using the package in corepkgs/nar).
	    * queryPathByHash -> expandHash, and it takes an argument specifying
	      the target path (which may be empty).
	    * Install the core Fix packages in $prefix/share/fix.  TODO: bootstrap
	      Nix and install Nix as a Fix package.

	commit 5d4b90b689b09965be39c69aceddaf0b165598d0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 09:21:40 2003 +0000

	    * Actually go through the search directories when looking for files.

	commit 089b43617501b19b94523b2211877841ed09e70e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 09:12:52 2003 +0000

	    * Deleted the sys directory.

	commit b96239c65703afba195a952d9f21b9588c136ac7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 09:11:30 2003 +0000

	    * Moved the fetchutl package to corepkgs.

	commit 9ebd78144a9c996e39ffc209c05a511f119f55ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Jul 10 09:09:48 2003 +0000

	    * Added a directory for standard Fix descriptors.

	commit 6011bd0da24c100f86239ed826fa7b496bbdddf8
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 9 16:12:40 2003 +0000

	    * Outline of the new scheme for derivate distribution.

	commit 2b95a9dc05d0a943859ba92bb301c294473758f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jul 9 15:02:03 2003 +0000

	    * When computing the set of paths referenced by an expression, also
	      include the paths of the subterms.

	commit 9a99dc736d814f41d2b3ceb92da2435ae2dd5632
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 20:26:22 2003 +0000

	    * Canonicalise paths so that Fix produces identical Nix
	      expressions for identical inputs.

	commit cab3f4977a412681a77767ec7307ee642b61332d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 19:58:41 2003 +0000

	    * A path canonicaliser that doesn't depend on the existence of paths
	      (i.e., it doesn't use realpath(3), which is broken in any case).
	      Therefore it doesn't resolve symlinks.

	commit 333f4963de6d174d852774a88ada852f77f57994
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 15:33:06 2003 +0000

	    * The output of a Derive() node is not a referenced path.

	commit 40274c1f4f763e634dd031f7a6b4ba8ce2de7a82
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 13:22:08 2003 +0000

	    * A command to query the paths referenced by an fstate expression.
	    * Use a temporary directory for build actions.

	commit a279137327ad5762bb26a23ce8ed7863812254ae
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 10:00:46 2003 +0000

	    * Get `--dump' and `--delete' to work again.

	commit 85a913a3e78e43f7f90ef46ac041350bb5d61d1f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 09:59:00 2003 +0000

	    * Renamed `id' -> `name' to remove the implication of uniqueness.

	commit 0b38b43bab28dd733e057d42853d57e44ec9a7c9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 09:54:47 2003 +0000

	    * deletePath() now removes the path from the hash2paths mapping.

	commit ab644ad10b00a5fd23e8d8a705a7a8a8aaf53c57
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 09:53:46 2003 +0000

	    * BaseName() primitive for the generation of more sensible names
	      (especially in fetchurl.fix).

	commit a5a90f501e471383a8dfccfe8af3c804cefa77cf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jul 8 08:35:06 2003 +0000

	    * Get rid of the `netsources' database.
	    * Rename the `refs' database to `hash2paths'.

	commit be96c2189ca017612277ab6301164a5e2facfca5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 7 09:29:40 2003 +0000

	    * `--realise' -> `--install'.

	commit 5895c160c466c0a97716ffdf5ef654eb1c3c6009
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 7 09:25:26 2003 +0000

	    * Make dbRefs a mapping from Hash to [Path].

	commit 609a224848dd08cea35a89b03b64274c82f0a2a7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 7 07:44:57 2003 +0000

	    * Fixed `make check' as well.

	commit 224c585aba5e450fa47e41c4cc19dac2d0c6fe2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jul 7 07:43:58 2003 +0000

	    * Refactoring on the file names.

	commit 7952a8053c474e771d6ee14e3ab6dc15c9ddd895
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 6 15:11:02 2003 +0000

	    * A utility `nix-hash' to compute Nix path hashes.

	commit bfa5d77211385cd8abe5d0833f84a8151ccab37d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 6 15:08:39 2003 +0000

	    * Bug fix: properly check result of open().

	commit 82e3d8fafe0ac08589349094e3ea11022d995959
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jul 6 14:20:47 2003 +0000

	    * Got Fix working again.

	commit f826e432aa442e569faaf3cb04d83bfa28bcf260
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 4 15:42:03 2003 +0000

	    * Refactoring: move initialisation and argument parsing into a shared
	      file.

	commit 01b34fe5843df9888737699ee9f9fe2f161a1fa3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 4 15:29:58 2003 +0000

	    * Cleanup.

	commit 207ff2caf0f48db0fb539e228ec5c3938a279f2a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jul 4 12:18:06 2003 +0000

	    * Caching of expression successors.

	commit 40b5936691fe2448dea0080e2319cc340bc7c65c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 27 14:56:12 2003 +0000

	    * Realisation of Derive(...) expressions.

	commit 3da9687854e029e9df3b612fd592d2d5a622bb20
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 27 13:55:12 2003 +0000

	    * Realisation of File(...) expressions.

	commit bb03c45ca03e038c8b74fc1410f48d02ade4c59b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 27 13:41:42 2003 +0000

	    * Added the Boost format library which provides a safe printf
	      replacement.

	commit d4c3edfaba91a0e5e1e9528749e5b1e178511a6d
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 27 09:55:31 2003 +0000

	    * Normalisation.

	commit 3ec525258258ea50a411eb6b7d3c6aa7ecac708b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 25 15:50:37 2003 +0000

	    * Improved syntax and semantics for Nix expressions.

	commit 2b07b0e7ebee69e6a64013dcdda363c393d3f4fc
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 25 14:58:56 2003 +0000

	    * Minor cleanups.

	commit 692b562342ac7ead43ef06497f6a8b4b6e724ae5
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 23 14:40:49 2003 +0000

	    * `nix --delete' command.

	commit c0cbaef4bece0c2447828739dd9622c329948064
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 23 14:08:34 2003 +0000

	    * `nix --restore' command.

	commit 5f5cab0ac7c26783a4544feb31708d4f8e0f4a51
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 23 13:27:59 2003 +0000

	    * A function to restore from a Nix archive.
	    * addValue() can now import any dumpable FS object.

	commit 85effedca3e4cc3c10ccd835c9ea4fb712418cb9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 20 14:11:31 2003 +0000

	    * Flags to indicate how values are specified on the command line
	      (--hash, --file, --name).

	commit 5079ccb45537fe8de4b9579e274523734a3f634e
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 20 10:53:04 2003 +0000

	    * Move most of Nix into a library (libnix.a).
	    * Run `test' on `make check'.

	commit 1849aa2a72d7f530e2c18d640528075bcdf8991c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Jun 20 10:40:25 2003 +0000

	    * Refactoring: move dump function into archive.cc.

	commit 38e12df631cc45fda97942070d7ebea1bb9c7f2f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 14:34:43 2003 +0000

	    * `nix --dump' command.

	commit aeaffec7857301a6d20d7901041918484666d567
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 14:34:03 2003 +0000

	    * Dump symlinks.

	commit 94cf1f86bb5d8516583f0d39ad22dbc853019798
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 12:36:12 2003 +0000

	    * Lambdas, applications, substitutions.

	commit bc57eb3c8a54df819bad9c300ff5569762f15c28
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 12:35:32 2003 +0000

	    * Set CPLUS_INCLUDE_PATH as well as C_INCLUDE_PATH.  Otherwise g++
	      won't see header files under Nix control.

	commit fab7b128b9890cf563fa3cab5578757241902ac2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Jun 18 08:07:28 2003 +0000

	    * Automake sucks.

	commit 34fcf5fa0c0cc02edc6820b99d98e7ae278c6c00
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 17 21:12:58 2003 +0000

	    * Started integrating the new evaluation model into Nix.
	    * Cleaned up command-line syntax.

	commit 7a96da3627220d11a985662446e8a75fb8cc2d40
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 17 15:47:25 2003 +0000

	    * Test for expression dereferencing.

	commit 6656993f83fa125e7b72de3962fbb5dd71cc31a4
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 17 15:45:43 2003 +0000

	    * Derefencing of hashed expressions.

	commit a7ab242fb42dad81dc1bccdca4b432587e0957dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Jun 17 13:37:44 2003 +0000

	    * Simplify the evaluator.

	commit c739e2058560ad018dcf68e16fa683ca404d548c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 21:01:18 2003 +0000

	    * Argument processing.

	commit 727beb798a701ff546adc65030f1562b87283947
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 16:16:09 2003 +0000

	    * Canonicalization: when hashing directories, sort the directory
	      entries by name.

	commit 2f04e7102eaad3159073019af96e6e5c4f2c9bcf
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 15:59:23 2003 +0000

	    * Path hashing.

	commit a09e66da5af348dc25e3b372ec9f518d3532f863
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 14:19:32 2003 +0000

	    * Description of path hashing algorithm.

	commit 822794001cb4260b8c04a7bd2d50d890edae709a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 13:33:38 2003 +0000

	    * Started implementing the new evaluation model.
	    * Lots of refactorings.
	    * Unit tests.

	commit b9f09b3268bf0c3d9ecd512dd3a0aa1247550cc2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Jun 16 07:03:40 2003 +0000

	    * AST for Nix expressions.

	commit 21fe717ce2027187e553d1edec65ef68b5d3c702
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Jun 15 13:41:32 2003 +0000

	    * Refactoring: hash class.

	commit f66055fa1ef3eb208666b5ace7b5ab16bf7e8980
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 20:53:36 2003 +0000

	    * Set umask to 0022 on startup.

	commit 5908663f4209eed632b3973c97b25ff5a3dd3b17
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 17:01:21 2003 +0000

	    * Send log output to stderr.

	commit d1f5fd7216066d4ed04df27546e3d3e0d362c71b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 15:21:52 2003 +0000

	    * Log the output of builders to $prefix/var/log/nix.

	commit 64582f54be099eb92a75ed301c72681afa4db741
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 15:18:30 2003 +0000

	    * Open the database read-only when enumerating tables.

	commit 383297e0e835b69e0f4d7c97a9b8d441c2872251
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 15:17:40 2003 +0000

	    * Don't set MANPATH.  It's not necessary.

	commit 84e235eae8581403716a87b37e9dc6210b8ad515
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri May 30 11:49:06 2003 +0000

	    * Set MANPATH and PKG_CONFIG_PATH.

	commit 5e01b220b363524e02ec07da3943e02042218167
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 27 11:58:14 2003 +0000

	    * Fix the rsync destination.

	commit 4d21cda0cd44db75f6b9f5942440a07303c06b4a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue May 27 09:55:47 2003 +0000

	    * Fix for big-endian platforms: check for endianness in MD5 computations.
	      This is done at runtime, which is inefficient, but I can't be bothered
	      to write an Autoconf test right now.

	commit 9efad7659568ad2eeee5e2cf9cf1df9322d9eb33
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 26 15:09:10 2003 +0000

	    * FreeBSD / ISO C++ compatibility fixes.

	commit d8bdf5b06e50ea4a618f2b69c4839f92086ebb29
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 26 14:19:25 2003 +0000

	    * Removed some debug code that prevented packages from building.

	commit a9f2928ed6edb15faa1ad5fc563662a08a92ced1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 26 13:57:19 2003 +0000

	    * Moved the package descriptors and build scripts out of the Nix tree.

	commit 8b930a0c94ba9013d015c735cfc38c40b151f491
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 26 13:45:00 2003 +0000

	    * Some refactoring.

	commit f8d91f20e6c88510282263715a1b87c99afad5a1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon May 26 09:44:18 2003 +0000

	    * Nix can now fetch prebuilts (and other files) from the network, iff
	      a mapping from the hash to a url has been registered through `nix
	      regurl'.

	    * Bug fix in nix: don't pollute stdout when running tar, it made
	      nix-switch barf.

	    * Bug fix in nix-push-prebuilts: don't create a subdirectory on the
	      target when rsync'ing.

	commit 13176d74cc522951e2c8ed6a878a04ddfce778ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 25 22:43:33 2003 +0000

	    * Updated Fix descriptors to reflect the new Fix abstract syntax.

	commit 7dd91d3779b4f806ac0085e0ccc60416d81c1148
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun May 25 22:42:19 2003 +0000

	    * Prebuilt package sharing.  We allow transparent binary deployment by
	      sharing package directories (i.e., the result of building a Nix
	      descriptor).

	      `nix-pull-prebuilts' obtains a list of all known prebuilts by
	      consulting the paths and URLs specified in
	      $prefix/etc/nix/prebuilts.conf.  The mappings ($pkghash,
	      $prebuilthash) and ($prebuilthash, $location) are registered with
	      Nix so that it can use the prebuilt with hash $prebuilthash when
	      installing a package with hash $pkghash by downloading and unpacking
	      $location.

	      `nix-push-prebuilts' creates prebuilts for all packages for which no
	      prebuilt is known to exist.  It can then optionally upload these
	      to the network through rsync.

	      `nix-[pull|push]-prebuilts' just provide a policy.  Nix provides the
	      mechanism through the `nix [export|regprebuilt|regurl]' commands.

	commit 0ef4b6d0f8dcaec093e3db366b6dfb6ba47f73a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 25 15:33:50 2003 +0000

	    * Cleaned up the semantics of Fix expressions.

	    * Conditionals and variables in Fix expressions.  This allows, e.g.,

	        Descr(
	        [ Bind("pkgId", "subversion-0.21.0")

	        , Bind("httpsClient", Bool(True))
	        , Bind("httpServer", Bool(True))

	        , Bind("ssl", If(Var("httpsClient"), Fix("./openssl-0.9.7b.fix"), ""))

	        , Bind("httpd", If(Var("httpServer"), Fix("./httpd-2.0.45.fix"), ""))
	        ...
	        ])

	      which introduces domain feature variables httpsClient and httpServer
	      (i.e., whether Subversion is built with https client and webdav
	      server support); the values of the variables influences package
	      dependencies and the build scripts.

	      The next step is to allow that packages can express constraints on
	      each other.  E.g., StrategoXT is dependent on an ATerm library with
	      the "gcc" variant enabled.  In fact, this may cause several
	      Nix instantiations to be created from a single Fix descriptor.  If
	      possible, Fix should try to find the least set of instantiations
	      that obeys the constraints.

	commit d6d930a975cf0bfacb8a3117752452b89921b6ee
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 25 15:20:05 2003 +0000

	    * Bug fix: deleting the old links didn't work properly.

	commit fcc5ae151bb78006e7acc5ab8bf6b54692281777
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 25 15:01:15 2003 +0000

	    * Remove build directory from a package directory after building it.

	commit 76205df09cd6ac700f002f22e285440364d96ccd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 24 11:45:23 2003 +0000

	    * Removed old Nix descriptors.

	commit 243370bc52b6ecc706cd7ad3a3c8075f74ac1fc0
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 24 11:43:11 2003 +0000

	    * nix-switch now removes the link to the previously activated system
	      package as a root of the garbage collector, unless `--keep' is
	      specified.

	commit 24b3d0759e864fdf92fee1085e234535311029ef
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 24 11:41:50 2003 +0000

	    * File removed.

	commit 9713e8577f752ef70c18a9cad62a4b0e88c769de
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Apr 24 11:41:24 2003 +0000

	    * getpkg, delpkg, and so on now accept multiple arguments.

	commit 49e0d743d7348ba15f6c8125138c4e17b271d8c3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 23 21:21:06 2003 +0000

	    * Fix descriptors for Pan and its dependencies.

	commit f546e0cda450642177da02895f39f34e3ce1a6ff
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 23 09:02:53 2003 +0000

	    * Fix descriptor for Subversion 0.21.0.

	commit 6faa154c89220792afbee534e4d7e26b6cba7e90
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 23 07:23:01 2003 +0000

	    * Add "... || exit 1" to every command to catch failure.

	commit e59c3246b96492b84c77aebe293ec68d96fe9305
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 23 07:21:57 2003 +0000

	    * Redirect stdout to stderr when executing the build script.

	commit f7526febe4e60e3da61664a5fb58ff19a5882ded
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 9 13:03:00 2003 +0000

	    * A garbage collector for installed packages.  nix-collect-garbage
	      doesn't actually delete any packages, it just prints their
	      descriptor hashes.  So we can do

	        nix info $(nix-collect-garbage)

	      to print out the ids of the packages that would be deleted, and

	        nix delpkg $(nix-collect-garbage)

	      to actually delete them.

	commit 30a6122f8061e8c3ac2d96078b75aafa63101f02
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 9 12:46:44 2003 +0000

	    * When we activate a descriptor in nix-switch, remember its hash.
	      This allows us to find out all `live' packages on the system by
	      doing

	        nix closure $(cat /nix/var/nix/links/*.hash)

	      which will print out the activated configurations and all packages
	      referenced by them.  We could then garbage collect unused packages
	      by deleting the difference between `nix listinst' and the set
	      returned by `nix closure ...'.

	commit b762f4df7f6b8d0a4b306fc7e1c2633c4802d1c2
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 9 12:37:49 2003 +0000

	    * In `fix --instantiate', only print out the hashes of the Nix
	      descriptors generated out of Fix descriptors specified on the
	      command line.  This allows us to say:

	        nix-switch $(fix -i ./test/fixdescriptors/system.fix)

	commit aa8fda4b54fbd84b7bc6b11904c156367683e8f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 9 12:26:48 2003 +0000

	    * We no longer use nix-populate standalone, rather we use it as a
	      build action for `system' packages (like system.fix) that have
	      dependencies on all packages we want to activate.

	      So the command sequence to switch to a new activation configuration
	      of the system would be:

	        $ fix -i .../fixdescriptors/system.fix
	        ...
	        system.fix -> 89cf4713b37cc66989304abeb9ea189f

	        $ nix-switch 89cf4713b37cc66989304abeb9ea189f

	    * A nix-profile.sh script that can be included in .bashrc.

	commit f56b7312b273546871a1eca7d34c60474d3c4050
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 8 15:36:54 2003 +0000

	    * Descriptor importing in Fix.

	commit cc6eafb3d0a53c8bb02746411d3d41403ce9eb83
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 8 14:05:15 2003 +0000

	    * FreeBSD / gcc 2.95 compatibility fixes.
	    * A script to generate prebuilt registration scripts.

	commit f7ef88df1fd6087deae02a53b8f18b64050f75db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 8 12:13:57 2003 +0000

	    * Added some installation instructions to the readme.

	commit 0d2b24cdd103f21861ad42fd6d98e5d1cb252646
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 8 12:00:51 2003 +0000

	    * `Fix' is a high-level descriptor instantiator for Nix.  It replaces
	      nix-instantiate.

	commit 814b256da43ebdad79fe9544a59f6ae680da7cb9
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 6 22:19:26 2003 +0000

	    * Better installation: make directories, create database.
	    * Fixed the register script.

	commit 2eea8832f0bc5f15979b5f091c3ac5f04593f0ca
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 6 22:17:47 2003 +0000

	    * The latest version of Pan.

	commit 1447cf35bd633c365bb7584dedb41327951d0c07
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Apr 6 22:09:47 2003 +0000

	    * Delete source after building.

	commit 136c00e881dd290d470923b0ce7760de2df5e0ad
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 4 16:14:56 2003 +0000

	    * Autoconf / Automake configuration and building.

	commit ab723e341aab021624e93b7687c252acaeef9394
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Apr 4 12:02:40 2003 +0000

	    * Minor refactoring: use iterators to process arguments.

	commit c68dca5dac87f710c880bcf78710a7be9609d29c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 2 15:34:44 2003 +0000

	    * Script to register pre-built packages.

	commit 5bc26fb73fe997b05c2e43593d17de102c4249b7
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Apr 2 15:34:05 2003 +0000

	    * Importing and exporting of pre-built packages.

	commit 383f9bb0f19f76fa4cdbdfb5327d82e77212c1b6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Apr 1 14:00:47 2003 +0000

	    * Use ATerms for Nix descriptors.

	commit ced20f187e36927adc88ab628b67838f51155244
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 31 14:28:15 2003 +0000

	    * Nix descriptor for Subversion.

	commit 31f177ef0a7463f59a28342032eb8948994ce1a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 28 16:27:23 2003 +0000

	    * Check for collissions.

	commit 278ea4097e4deca33da1a08d746e8d80a620ce95
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 28 10:33:34 2003 +0000

	    * Don't fork in `nix run'.

	commit f915f773495e9675a6cd514742666c8c12f005e6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 28 09:53:22 2003 +0000

	    * Allow arguments to be passed to programs in `nix run'.

	commit 0f40a560cab23f70881e5af405ea112a869dc39a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 25 16:36:25 2003 +0000

	    * Added a script nix-activate which builds a list of "activated"
	      packages (i.e., the packages that should appear in the user's $PATH,
	      and so on).  Based on this list, the script nix-populate creates a
	      hierarchy of symlinks to the relevant files in those packages (e.g.,
	      for pkg/bin and pkg/lib).

	      A nice property of nix-populate is that on each run it creates a
	      *new* tree, rather than updating the old one.  It then atomically
	      switches over to the new tree.  This allows atomic upgrades or
	      rollbacks on the set of activated packages.

	commit 3f1a1457e9ad91f93151200fe43c7c33ea95417b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Tue Mar 25 11:39:51 2003 +0000

	    * Integrate hash into instantiated descriptor file names.
	    * Use MD5::Digest.

	commit 73c53935d00660301e9408beabf1c80d6ef48610
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 24 17:49:56 2003 +0000

	    * For efficiency: md5 integrated into nix.
	    * Command `nix ensure' which is like `nix getpkg' except that if the
	      has refers to a run action it will just ensure that the imports are
	      there.
	    * Command `nix closure' to print out the closure of the set of
	      descriptors under the import relation, starting at a set of roots.
	      This can be used for garbage collection (e.g., given a list of
	      `activated' packages, we can delete all packages not reachable from
	      those).
	    * Command `nix graph' to print out a Dot graph of the dependency
	      graph.
	    * `nix-addroot' adds a root for the (unimplemented) garbage collector.

	commit eeab86e0acbb32cdb360443dd6efe7031fed7295
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 24 16:43:52 2003 +0000

	    * Typo fix.

	commit 2dc84e556911407fe75e1ceb6a9fe34ed21725db
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 24 12:49:40 2003 +0000

	    * Descriptors now have a "system" field specifying the platform that
	      the build or run action should be perfomed on.  This ensures that
	      descriptors have different hashes on different platforms.

	commit 9d2f128252ea9dc9b706bec2bfdaa35600190385
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Mon Mar 24 11:50:20 2003 +0000

	    * Refactoring.

	commit 8d682ba551c44daecd427999114b9c520eef0296
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 23 23:28:28 2003 +0000

	    * A descriptor for running the Pan newsreader.
	    * Added descriptors for gtkspell and its support package pspell.
	      Gtkspell is an optional dependency of Pan, so we should add the
	      ability to nix-instantiate to instantiate variants of a package
	      based on a selection of features.

	commit 20d165c34467338f07c4808783cd50318c38a47b
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Sun Mar 23 23:24:09 2003 +0000

	    * A command to run programs in Nix packages, that is, to execute a run
	      action.  Run actions are described by uniquely hashed descriptors,
	      just like build actions.  Therefore run actions can have
	      dependencies, but these need not be the same as the build time
	      dependencies (e.g., at runtime we can link against a different
	      version of a dynamic library).  Example:

	        nix run 31d6bf4c171282367065e0deecd7c579

	      will run the Pan 0.13.91 newsreader with gtkspell support.

	commit 800d8e950f13b9cb9099c5d1270a4385d5ae55da
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 15:58:40 2003 +0000

	    * Added a command to list installed packages.

	commit 2e59698b78d3fcba6908d8478c15943834d9635f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 15:53:35 2003 +0000

	    * Added a command to verify the consistency of the database.

	commit fa51d6fcd9ee7efc897e8e07a2db7a41f974d6a6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 14:11:44 2003 +0000

	    * Forgot to commit this one.

	commit e582ee67cd682c13667daccf33e8071189ef946c
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 14:10:06 2003 +0000

	    * Fetch sources from the network.

	commit 88d257b17f0f668798568d68e2d2063f31fe8a2f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 21 09:58:01 2003 +0000

	    * Renamed dist -> build.

	commit 4c43711810c73a3899066b9401a9517f53e1b0f1
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 22:25:01 2003 +0000

	    * Descriptor templates for the Pan newsreader and all its
	      dependencies.

	commit cadc3852e44bc625872ef18f4407bff6797ac5dd
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 22:23:48 2003 +0000

	    * nix-instantiate now instantiantes the closure of the set of
	      descriptor templates under the import relation.  I.e., we can now
	      say:

	        nix-instantiate outdir foo.nix

	      which will create descriptors for foo.nix and all imported packages
	      in outdir/.

	commit f7a98e081dac20858cda21a6190f8d0222e59728
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 16:53:00 2003 +0000

	    * Various updates.

	commit b3594e9eaf2b80c7c585035c5538ee59c608688f
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 20 16:52:30 2003 +0000

	    * A script to instantiate package descriptors from templates.

	commit 8999f923ea1a459b3e4d404745b001323647711a
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Fri Mar 14 16:43:14 2003 +0000

	    * Improved Nix.  Resources (package descriptors and other source
	      files) are now referenced using their cryptographic hashes.

	      This ensures that if two package descriptors have the same contents,
	      then they describe the same package.  This property is not as
	      trivial as it sounds: generally import relations cause this property
	      not to hold w.r.t. temporality.  But since imports also use hashes
	      to reference other packages, equality follows by induction.

	commit 18ebf518de325c7059648bfd6df464d8d5204bb3
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 13 16:28:32 2003 +0000

	    * Converted to C++.

	commit 75d788b0f24e8de033a22c0869032549d602d4f6
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Thu Mar 13 14:24:49 2003 +0000

	    * Initial version of nix.

	commit 841fcbd04755c7a2865c51c1e2d3b045976b7452
	Author: Eelco Dolstra <e.dolstra@tudelft.nl>
	Date:   Wed Mar 12 13:32:24 2003 +0000

	    * And a trunk to go along with that.

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

	Revert "daemon: Fix possible use-after-free."
	This reverts commit 1303a4a4517260def862ce7fe97e6b28dd8005e1.

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

	gnu: gstreamer: Add search patch specification for 'GST_PLUGIN_SYSTEM_PATH'.
	* gnu/packages/gstreamer.scm (gstreamer)[native-search-paths]: New field.

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

	gnu: glu: Propagate input mesa.
	* gnu/packages/gl.scm (glu): Propagate input mesa.

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

	gnu: gcc-toolchain: Remove 'bin/sh' and 'bin/bash'.
	* gnu/packages/commencement.scm (gcc-toolchain)[arguments] <#:builder>: Delete
	  'bin/sh' and 'bin/bash'.

	doc: Re-generate detailed node listing.
	* doc/guix.texi (Top): Update detailed node listing.

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

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

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

	profiles: Gracefully deal with packages containing an etc/ symlink.
	This fixes a bug whereby 'guix package -i gcc-toolchain' would fail in
	'build-profile'.  This is because in 'gcc-toolchain', etc/ is a symlink,
	and so the 'scandir' call in 'unsymlink' would return #f instead of
	returning a list.

	Reported by Andreas Enge <andreas.enge@inria.fr>.

	* guix/build/profiles.scm (ensure-writable-directory)[unsymlink]: Append
	  "/" to TARGET before calling 'scandir'.
	* tests/profiles.scm ("etc/profile when etc/ is a symlink"): New test.

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

	install: Files in the tarball are all root-owned.
	Fixes a thinko introduced in 175ced4.

	* gnu/system/install.scm (self-contained-tarball): Use "root:0" as the
	  owner and group.
	* doc/guix.texi (Binary Installation): Revert 175ced4.

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

	install: Use the right user and group name for files in the binary tarball.
	Suggested by Andreas Enge <andreas@enge.fr>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-05/msg00220.html>.

	* gnu/system/install.scm (self-contained-tarball): Pass --owner and
	  --group to 'tar'.
	* doc/guix.texi (Binary Installation): Move group and account creation
	  before extraction.  Make "run the daemon" a separate step.

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

	doc: Suggest the same build user and group names as on GuixSD.
	* doc/guix.texi (Build Environment Setup): Suggest the user and group
	  names as used on GuixSD.
	  (Binary Installation): Adjust accordingly.

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

	doc: Better suggestion for the /usr/local/bin/guix symlink.
	Suggested by Andreas Enge <andreas@enge.fr>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-05/msg00220.html>.

	* doc/guix.texi (Binary Installation): Use the longer 'guix' file name.

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

	services: dhcp-client: Turn up the interfaces before calling 'dhclient'.
	Somehow, as of Linux 4.0.2, the interfaces are down by default, which
	prevents 'dhclient' from actually using them.

	* gnu/services/networking.scm (dhcp-client-service): Call
	  'set-network-interface-up' on each item of IFACES.

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

	syscalls: Add 'set-network-interface-up'.
	* guix/build/syscalls.scm (set-network-interface-up): New procedure.

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

	doc: Document 'ifconfig eno1 up' before running 'dhclient'.
	Reported by Scott McDonough <smcdonough1@gmail.com>
	in <http://bugs.gnu.org/20582>.

	* doc/guix.texi (System Installation): Suggested setting the interface
	  up before running 'dhclient'.

2015-05-17  Ludovic Courtès  <ludo@gnu.org>

	doc: Suggest how to preserve /var and /root owner and permissions.
	Reported by Andreas Enge <andreas@enge.fr>.

	* doc/guix.texi (Binary Installation): Suggest --skip-old-files when
	  extracting the archive.

2015-05-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: magit: Install .el files directly under share/emacs/site-lisp.
	Fixes a regression introduced in 7e4871b.

	* gnu/packages/emacs.scm (magit)[arguments]: Add #:make-flags.

2015-05-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: magit: Update to 1.4.1.
	* gnu/packages/emacs.scm (magit)[source, version]: Update to 1.4.1
	  [propagated-inputs]: New field.
	  [arguments]: Add #:test-target.  Add 'augment-load-path' phase.

	gnu: magit: Move Emacs to 'native-inputs'.
	* gnu/packages/emacs.scm (magit): Move EMACS-NO-X from 'inputs' to
	  'native-inputs'.

	gnu: magit: Use 'modify-phases'.
	* gnu/packages/emacs.scm (magit)[arguments]: Use 'modify-phases' instead
	  of 'alist-cons-before' & co.

	gnu: Add git-modes.
	* gnu/packages/emacs.scm (git-modes): New variable.

2015-05-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: qemu: Add dependency on libusb.
	Suggested by 白い熊＠相撲道 <guix-devel_gnu.org@sumou.com>.

	* gnu/packages/qemu.scm (qemu)[inputs]: Add LIBUSB.

2015-05-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: libusb: Update to 1.0.19.
	* gnu/packages/libusb.scm (libusb): Update to 1.0.19.
	  [arguments]: New field

2015-05-17  Andreas Enge  <andreas@enge.fr>

	gnu: libpagemaker: Rename duplicate 'native-inputs' field.
	* gnu/packages/libreoffice.scm (libpagemaker): Rename duplicate
	  'native-inputs' field to 'propagated-inputs'.

	Corrects commit 86d648e.

2015-05-17  Andreas Enge  <andreas@enge.fr>

	gnu: redland: Propagate input.
	* gnu/packages/rdf.scm (redland): Move rasqal from 'inputs' to
	  'propagated-inputs'.
	* gnu/packages/rdf.scm (soprano): Drop input rasqal.
	* gnu/packages/audio.scm (ardour-3): Drop inputs rasqal and raptor2.

	Reported by John Darrington <jmd@gnu.org>.

2015-05-17  Andreas Enge  <andreas@enge.fr>

	gnu: calibre: Update to 2.28.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.28.0.

2015-05-16  Andreas Enge  <andreas@enge.fr>

	gnu: libwps: Propagate input.
	* gnu/packages/libreoffice.scm (libwps): Move librevenge from 'inputs'
	  to 'propagated-inputs'.

	gnu: libmwaw: Propagate input.
	* gnu/packages/libreoffice.scm (libmwaw): Move librevenge from 'inputs'
	  to 'propagated-inputs'.

	gnu: libodfgen: Propagate input.
	* gnu/packages/libreoffice.scm (libodfgen): Move librevenge from 'inputs'
	  to 'propagated-inputs'.

	gnu: libvisio: Propagate inputs.
	* gnu/packages/libreoffice.scm (libvisio): Move icu4c, librevenge and
	  libxml2 from 'inputs' to 'propagated-inputs'.

	gnu: libpagemaker: Propagate input.
	* gnu/packages/libreoffice.scm (libpagemaker): Move librevenge from
	  'inputs' to 'propagated-inputs'.

	gnu: libmspub: Propagate inputs.
	* gnu/packages/libreoffice.scm (libmspub): Move icu4c, librevenge and zlib
	  from 'inputs' to 'propagated-inputs'.

	gnu: libfreehand: Propagate inputs.
	* gnu/packages/libreoffice.scm (libfreehand): Move librevenge and zlib
	  from 'inputs' to 'propagated-inputs'.

	gnu: libetonyek: Propagate inputs.
	* gnu/packages/libreoffice.scm (libetonyek): Move librevenge and libxml2
	  from 'inputs' to 'propagated-inputs'.

	gnu: libcdr: Propagate inputs.
	* gnu/packages/libreoffice.scm (libcdr): Move icu4c, lcms, librevenge and
	  zlib from 'inputs' to 'propagated-inputs'.

	gnu: libabw: Propagate inputs.
	* gnu/packages/libreoffice.scm (libabw): Move librevenge and libxml2 from
	  'inputs' to 'propagated-inputs'.

	gnu: libcmis: Propagate inputs.
	* gnu/packages/libreoffice.scm (libcmis): Move curl and libxml2 from
	  'inputs' to 'propagated-inputs'.

	gnu: libwpg: Propagate input.
	* gnu/packages/libreoffice.scm (libwpg): Move libwpg from 'inputs' to
	  'propagated-inputs'.

	gnu: libe-book: Propagate inputs.
	* gnu/packages/libreoffice.scm (libe-book): Move icu4c, librevenge and
	  libxml2 from 'inputs' to 'propagated-inputs'.

	gnu: libwpd: Propagate input.
	* gnu/packages/libreoffice.scm (libwpd): Move librevenge from 'inputs' to
	  'propagated-inputs'.
	* gnu/packages/libreoffice.scm (libwpg)[inputs]: Drop librevenge.

2015-05-16  Mark H Weaver  <mhw@netris.org>

	gnu: gdb: Update to 7.9.1.
	* gnu/packages/gdb.scm (gdb): Update to 7.9.1.

2015-05-15  Ludovic Courtès  <ludo@gnu.org>

	hydra: Increase USB image size.
	* build-aux/hydra/gnu-system.scm (qemu-jobs): Increase disk image size
	  to 860 MiB, for x86_64.

2015-05-15  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	packages: Use %store-directory.
	* guix/packages.scm (patch-and-repack): Call %store-directory instead of
	  duplicating its code.

	gnu: busybox: Parameterize reference to /gnu/store.
	* gnu/packages/busybox.scm (busybox): Call %store-directory instead of
	  referencing "/gnu/store" directly.

2015-05-15  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add python-seaborn.
	* gnu/packages/python.scm (python-seaborn, python2-seaborn): New variables.

	gnu: Add python-pandas.
	* gnu/packages/python.scm (python-pandas, python2-pandas): New variables.

	gnu: Add python-scikit-image.
	* gnu/packages/python.scm (python-scikit-image, python2-scikit-image): New
	  variables.

2015-05-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: m4: Disable tests when cross-compiling.
	Reported by Manolis Ragkousis <manolis837@gmail.com>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-05/msg00161.html>.

	* gnu/packages/m4.scm (m4)[arguments]: Change #:tests? condition.

2015-05-15  Ludovic Courtès  <ludo@gnu.org>

	nls: Update 'da' translation.

2015-05-15  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: openblas: Update to 0.2.14.
	* gnu/packages/maths.scm (openblas): Update to 0.2.14.

2015-05-15  宋文武  <iyzsong@gmail.com>

	gnu: Add GNUjump.
	* gnu/packages/games.scm (gnujump): New variable.

2015-05-15  Mark H Weaver  <mhw@netris.org>

	gnu: qemu: Update to 2.3.0; add fix for CVE-2015-3456.
	* gnu/packages/patches/qemu-CVE-2015-3456.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/qemu.scm (qemu-headless): Update to 2.3.0.  Add patch.

2015-05-14  Andreas Enge  <andreas@enge.fr>
	    John Darrington  <jmd@gnu.org>

	gnu: Add libcmis.
	* gnu/packages/libreoffice.scm (libcmis): New variable.

2015-05-14  Mark H Weaver  <mhw@netris.org>

	gnu: linux-libre: Update to 4.0.3.
	* gnu/packages/linux.scm (linux-libre): Update to 4.0.3.

	gnu: pcre: Update to 8.37.
	* gnu/packages/pcre.scm (pcre): Update to 8.37.

2015-05-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: guix: Update development snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to 5875eb7.
	  Change 'version' prefix to "0.8.2.".
	  (guix): Set to GUIX-DEVEL.

	gnu: guix: Update to 0.8.2.
	* gnu/packages/package-management.scm (guix-0.8.1): Rename to...
	  (guix-0.8.2): ... this.  Update to 0.8.2.  Adjust users.
	  (guix): Set to GUIX-0.8.2.

2015-05-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: bool: Synchronize synopsis and description with upstream.
	* gnu/packages/search.scm (bool): Synchronize synopsis & description
	  with GNU.

	Update NEWS.

2015-05-13  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: guix-0.8.1: Add gnutls to propagated inputs.
	* gnu/packages/package-management.scm (guix-0.8.1): Add gnutls to propagated
	  inputs.

2015-05-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: lftp: Add alternate URL for old tarballs.
	* gnu/packages/ftp.scm (lftp)[source]: Add /old alternate URL.

	gnu: Tweak a few synopses and descriptions reported by 'lint'.
	* gnu/packages/haskell.scm (ghc-text)[synopsis]: Remove period.
	  [description]: Two space after end-of-sentence periods.
	  (ghc-http)[description]: Likewise.
	* gnu/packages/image.scm (libwebp)[description]: Likewise.
	* gnu/packages/libedit.scm (libedit)[description]: Likewise.
	* gnu/packages/kde.scm (oxygen-icons)[synopsis]: Capitalize.

2015-05-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: e2fsprogs: Remove references to linux-libre-headers.
	This removes the final linux-libre-headers and its references (including
	bootstrap-binaries) from the closure.

	* gnu/packages/linux.scm (e2fsprogs)[arguments]: Augment 'install-libs'
	  phase to make .a files writable.

2015-05-13  Ludovic Courtès  <ludo@gnu.org>

	doc: Increase package count.
	* doc/guix.texi (System Installation): Increase package count.

2015-05-13  David Thompson  <dthompson2@worcester.edu>

	NEWS: Mention new postgresql service in 0.8.2.

2015-05-13  Ludovic Courtès  <ludo@gnu.org>

	Update NEWS.

2015-05-13  Mark H Weaver  <mhw@netris.org>

	gnu: icecat: Apply fixes for CVE-2015-{0797,2708,2710,2713,2716}.
	* gnu/packages/patches/icecat-CVE-2015-0797.patch,
	  gnu/packages/patches/icecat-CVE-2015-2708-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2708-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2708-pt3.patch,
	  gnu/packages/patches/icecat-CVE-2015-2708-pt4.patch,
	  gnu/packages/patches/icecat-CVE-2015-2710-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2710-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2710-pt3.patch,
	  gnu/packages/patches/icecat-CVE-2015-2713-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-2713-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-2716.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/gnuzilla.scm (icecat): Add patches.

2015-05-13  Mark H Weaver  <mhw@netris.org>

	gnu: sharutils: Correct source hash.
	This is a followup to 512da657d747ab157f8ca49442e67bd7452ba676.

	* gnu/packages/compression.scm (sharutils): Correct source hash.

2015-05-13  Mark H Weaver  <mhw@netris.org>

	gnu: sharutils: Update to 4.15.1.
	* gnu/packages/compression.scm (sharutils): Update to 4.15.1.

	gnu: autogen: Update to 5.18.5.
	* gnu/packages/autogen.scm (autogen): Update to 5.18.5.  Add pkg-config to
	  native-inputs.

	gnu: gnubik: Update to 2.4.2.
	* gnu/packages/games.scm (gnubik): Update to 2.4.2.

	gnu: gnupg: Update to 2.1.4.
	* gnu/packages/gnupg.scm (gnupg): Update to 2.1.4.

2015-05-13  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add miredo.
	* gnu/packages/networking.scm (miredo): New variable.

2015-05-12  Ludovic Courtès  <ludo@gnu.org>

	publish: Add '--listen'.
	* guix/scripts/publish.scm (show-help, %options): Add --listen.
	  (getaddrinfo*): New procedure.
	  (%default-options): Add 'address'.
	  (open-server-socket): Replace 'addr' and 'port' with 'address', a
	  sockaddr.
	  (guix-publish): Adjust accordingly.  Augment "publishing" message with
	  the actual address.
	* doc/guix.texi (Invoking guix publish): Document it.

	gnu: inetutils: Update to 1.9.3.
	* gnu/packages/patches/inetutils-syslogd.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.
	* gnu/packages/admin.scm (inetutils): Bump to 1.9.3.
	  [source]: Remove patch.
	  [native-inputs]: Remove.

	publish: Add '--user' option.
	* guix/scripts/publish.scm (show-help): Add --user.
	  (%options): Likewise.
	  (run-publish-server): Change 'port' parameter to 'socket'.  Pass
	  #:socket instead of #:addr and #:port to 'run-server'.  Update caller
	  accordingly.
	  (open-server-socket, gather-user-privileges): New procedures.
	  (guix-publish): Use them.  Force %PRIVATE-KEY and %PUBLIC-KEY early
	  on.  Warn when running as root.
	* doc/guix.texi (Invoking guix publish): Document --user.

2015-05-12  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add bool.
	* gnu/packages/search.scm (bool): New variable.

2015-05-12  Mark H Weaver  <mhw@netris.org>

	gnu: icu4c: Update to 55.1.
	* gnu/packages/icu4c.scm (icu4c): Update to 55.1.

2015-05-12  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: icedtea6: Add target-dependent include directory to CPATH.
	* gnu/packages/java.scm (gcj-4.8)[arguments]: Add target-dependent GCJ include
	  directory to CPATH environment variable.

2015-05-12  宋文武  <iyzsong@gmail.com>

	gnu: gnome-icon-theme: Move GTK+ and icon-naming-utils to 'native-inputs'.
	* gnu/packages/gnome.scm (gnome-icon-theme): Move inputs to native-inputs.

	gnu: gnome-icon-theme: Update to 3.12.0.
	* gnu/packages/gnome.scm (gnome-icon-theme): Update to 3.12.0.

2015-05-12  Ludovic Courtès  <ludo@gnu.org>

	doc: Make 'guix publish' more visible.
	* doc/guix.texi (Substitutes): Add xref to "Invoking guix publish".
	  (Invoking guix publish): Add xref to "Substitutes".  Explain what
	  Hydra is.

	doc: "GSD" -> "GuixSD".
	* doc/guix.texi: Replace "GSD" with "GuixSD".

	doc: Use @indicateurl where appropriate.
	* doc/guix.texi (Binary Installation, Invoking guix-daemon, System
	  Installation): Use @indicateurl instead of @code where appropriate.

2015-05-12  Mark H Weaver  <mhw@netris.org>

	install: desktop.tmpl: Add "netdev" to the user's supplementary groups.
	* gnu/system/examples/desktop.tmpl: Add "netdev" to the user's supplementary
	  groups.

2015-05-11  Ludovic Courtès  <ludo@gnu.org>

	doc: Document X.509 certificates.
	* doc/guix.texi (Using the Configuration System): Add xref to "X.509
	  Certificates".
	  (X.509 Certificates): New section.
	* gnu/system/examples/desktop.tmpl: Use NSS-CERTS.

2015-05-11  Ludovic Courtès  <ludo@gnu.org>

	daemon: Fix possible use-after-free.
	This is essentially a backport of
	<https://github.com/NixOS/nix/commit/f52b6c944e90b3e35925122779175705fdc02e12>
	by Eelco Dolstra <eelco.dolstra@logicblox.com>.

	The use-after-free bug would typically manifest when building with
	GCC 5.1.

2015-05-11  Andreas Enge  <andreas@enge.fr>

	gnu: Add MyThes.
	* gnu/packages/libreoffice.scm (mythes): New variable.

	gnu: Add hyphen.
	* gnu/packages/libreoffice.scm (hyphen): New variable.

	gnu: Add hunspell.
	* gnu/packages/libreoffice.scm (hunspell): New variable.

2015-05-11  Ricardo Wurmus  <rekado@elephly.net>

	gnu: ardour: Extract RUNPATH phase.
	* gnu/packages/audio.scm (ardour-rpath-phase): New procedure.
	* gnu/packages/audio.scm (ardour, ardour-3): Generate version-dependent build
	  phase with ardour-rpath-phase.

2015-05-11  Mark H Weaver  <mhw@netris.org>

	gnu: wpa-supplicant: Add security fixes.
	* gnu/packages/patches/wpa-supplicant-2015-2-fix.patch,
	  gnu/packages/patches/wpa-supplicant-2015-3-fix.patch,
	  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt1.patch,
	  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt2.patch,
	  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt3.patch,
	  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt4.patch,
	  gnu/packages/patches/wpa-supplicant-2015-4-fix-pt5.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/admin.scm (wpa-supplicant-light)[source]: Add patches.

2015-05-11  Eric Bavier  <bavier@member.fsf.org>

	gnu: octave: Add fftw, arpack, and glu inputs.
	* gnu/packages/maths.scm (octave)[inputs]: Add fftw, fftwf, arpack,
	  and glu.
	  [description]: Wrap to 80 columns.

2015-05-10  Ludovic Courtès  <ludo@gnu.org>

	build: check-final-inputs-self-contained uses %HYDRA-SUPPORTED-SYSTEMS.
	* build-aux/check-final-inputs-self-contained.scm: Change
	  '%supported-systems' to '%hydra-supported-systems'.

	nls: Add package files for translation.
	* po/packages/POTFILES.in: Add a bunch of files.

	gnu: libcdio: Synchronize description.
	* gnu/packages/cdrom.scm (libcdio)[description]: Synchronize with GNU.

2015-05-10  Mark H Weaver  <mhw@netris.org>

	gnu: libtasn1: Update to 4.5.
	* gnu/packages/gnutls.scm (libtasn1): Update to 4.5.

2015-05-10  Alex Kost  <alezost@gmail.com>

	gnu: Add tvtime.
	* gnu/packages/tv.scm,
	  gnu/packages/patches/tvtime-gcc41.patch,
	  gnu/packages/patches/tvtime-pngoutput.patch,
	  gnu/packages/patches/tvtime-videodev2.patch,
	  gnu/packages/patches/tvtime-xmltv.patch: New files.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add package.
	  (dist_patch_DATA): Add patches.

2015-05-10  Ludovic Courtès  <ludo@gnu.org>

	doc: Mention GNU Make as a requirement.
	* README (Requirements): Add GNU Make.
	* doc/guix.texi (Requirements): Likewise.

	http-client: Remove monkey patching for 2.0.5.
	* guix/http-client.scm (read-response-body*): Remove.
	  (http-fetch): Remove hacks for 2.0.5.

	Remove assorted Guile 2.0.5 workarounds.
	* guix/scripts/authenticate.scm (%default-port-conversion-strategy):
	  Remove.
	* guix/scripts/substitute.scm (fetch): Remove 2.0.5 special cases.
	* guix/serialization.scm (write-file): Remove 'scandir' workaround.
	* guix/ui.scm (command-files): Likewise.

	build: Require Guile >= 2.0.7.
	* configure.ac: Require guile-2.0 >= 2.0.7.
	* README: Adjust accordingly.
	* doc/guix.texi (Requirements): Likewise.

2015-05-10  Cyril Roelandt  <tipecaml@gmail.com>

	Remove leftover patches.
	* gnu/packages/patches/guix-test-networking.patch: Delete it.
	* gnu/packages/patches/libtool-skip-tests.patch: Delete it.
	* gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch: Delete it.
	* gnu/packages/patches/udev-gir-libtool.patch: Delete it.
	* gnu-system.am (dist_patch_DATA): Remove them as well.

2015-05-09  Ludovic Courtès  <ludo@gnu.org>

	doc: Show both the "bare-bones" and the "desktop" configurations.
	* doc/guix.texi (System Installation): Add xref to "Using the
	  Configuration System" instead of including one here.
	  (Using the Configuration System): Remove first example, and include
	  os-config-bare-bones.texi instead.  Include os-config-desktop.texi as
	  a second example.
	* doc.am (OS_CONFIG_EXAMPLES_TEXI): New variable.
	  (BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Use it.
	  (doc/os-config.texi): Remove.
	  (doc/os-config-%.texi): New target.

	install: Have several OS config templates under /etc/configuration.
	* gnu/system/install.scm (configuration-template-service): Remove
	  'local-template' and 'template'.  Add 'search' and 'templates'.
	  [activate]: Copy all of TEMPLATES to /etc/configuration.
	* doc/guix.texi (System Installation): Adjust file name accordingly.

	doc: Add desktop configuration example.
	* gnu/system/examples/bare-bones.tmpl: Change 'packages' and
	  'host-name'.  Remove D-Bus, Avahi, and SLiM services, and add lsh
	  instead.
	* gnu/system/examples/desktop.tmpl: New file.
	* Makefile.am (EXAMPLES): Add it.

	services: dhcp-client: Better track dhclient's PID.
	* gnu/services/networking.scm (dhcp-client-service)[start]: Remove
	  PID-FILE first.  When 'call-with-input-file' throws ENOENT, try
	  again.

	doc: Rename OS config example.
	* gnu/system/os-config.tmpl: Rename to...
	* gnu/system/examples/bare-bones.tmpl: ... this.
	* Makefile.am (EXAMPLES): Adjust accordingly.
	* doc.am (doc/os-config.texi): Likewise.
	* gnu/system/install.scm (configuration-template-service)[template]:
	  Likewise.

	gnu: wicd: Add patch to fix template instantiation.
	* gnu/packages/patches/wicd-template-instantiation.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/wicd.scm (wicd)[source]: Use it.

2015-05-09  Mark H Weaver  <mhw@netris.org>

	system: activate-ptrace-attach: Handle kernels without YAMA support.
	* gnu/build/activation.scm (activate-ptrace-attach): Check for the existence
	  of /proc/sys/kernel/yama/ptrace_scope before trying to write to it.

	gnu: sqlite: Update to 3.8.9.
	* gnu/packages/databases.scm (sqlite): Update to 3.8.9.

	gnu: subversion: Add fix for sqlite-3.8.9.
	* gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/version-control.scm (subversion): Add patch.

	gnu: mariadb: Update to 10.0.18.
	* gnu/packages/databases.scm (mariadb): Update to 10.0.18.

2015-05-08  Ricardo Wurmus  <rekado@elephly.net>

	gnu: gimp: Enable Python scripting support.
	* gnu/packages/gimp.scm (gimp): Enable Python scripting support.

2015-05-08  Ludovic Courtès  <ludo@gnu.org>

	doc: Document 'avahi-service'.
	* gnu/services/avahi.scm (avahi-service): Add URL in docstring.
	* doc/guix.texi (Networking Services): Document it.
	  (Name Service Switch): Fix cross-reference.

	doc: Document sessions and ~/.xsession for SLiM.
	* gnu/services/xorg.scm (slim-service): Document session types and
	  ~/.xsession.
	* doc/guix.texi (X Window): Adjust accordingly.

	services: Add '%desktop-services'.
	* gnu/services/desktop.scm (%desktop-services): New variable.
	* doc/guix.texi (Desktop Services): Document it.

2015-05-08  Ludovic Courtès  <ludo@gnu.org>

	profiles: Ensure the profile's etc/ directory is writable.
	Reported by 宋文武 <iyzsong@gmail.com>.

	* guix/build/profiles.scm (build-etc/profile,
	  ensure-writable-directory): New procedures.
	  (build-profile): Use them.
	* tests/profiles.scm ("etc/profile when etc/ already exists"): New test.

2015-05-08  Ludovic Courtès  <ludo@gnu.org>

	nss: Add '%mdns-host-lookup-nss'.
	* gnu/system/nss.scm (%mdns-host-lookup-nss): New variable.
	* doc/guix.texi (Name Service Switch): Document it.

2015-05-08  宋文武  <iyzsong@gmail.com>

	gnu: Add aisleriot.
	* gnu/packages/gnome.scm (aisleriot): New variable.

2015-05-08  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: gcj: Add $libdir to RUNPATH.
	* gnu/packages/gcc.scm (gcj)[arguments]: Add build phase to add library output
	  directory to RUNPATH.

2015-05-08  Mark H Weaver  <mhw@netris.org>

	gnu: linux-libre: Update to 4.0.2.
	* gnu/packages/patches/linux-libre-libreboot-fix.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/linux.scm (linux-libre): Update to 4.0.2.  Remove patch.

2015-05-07  Andreas Enge  <andreas@enge.fr>

	gnu: Add libwps.
	* gnu/packages/libreoffice.scm (libwps): New variable.

	gnu: Add libmwaw.
	* gnu/packages/libreoffice.scm (libmwaw): New variable.

	gnu: Add libodfgen.
	* gnu/packages/libreoffice.scm (libodfgen): New variable.

2015-05-07  Ludovic Courtès  <ludo@gnu.org>

	artwork: Update to latest version.
	* gnu/artwork.scm (%artwork-repository): Update.
	* gnu/services/xorg.scm (%default-slim-theme-name): Change to "0.x".
	* gnu/system/grub.scm (%background-image): Change to
	  GuixSD-fully-black-4-3.svg.

2015-05-07  Ricardo Wurmus  <rekado@elephly.net>

	gnu: ardour: Fix inheritance of Ardour package.
	* gnu/packages/audio.scm (ardour): Inherit from "ardour-3" instead of
	  "ardour".

	gnu: Add Ardour 4.
	* gnu/packages/audio.scm (ardour): Rename to ...
	  (ardour-3): ... this.
	  (ardour): New variable.

	gnu: Add GnuCash.
	* gnu/packages/gnucash.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add WebkitGTK 2.4.8.
	* gnu/packages/webkit.scm (webkitgtk-2.4): New variable.
	* gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: Add goffice-0.8.
	* gnu/packages/gnome.scm (goffice-0.8): New variable.

2015-05-07  David Thompson  <davet@gnu.org>

	gnu: mesa: Build gallium drivers for nouveau.
	* gnu/packages/gl.scm (mesa): Pass "nouveau" to "--with-gallium-drivers" flag.

2015-05-07  Mark H Weaver  <mhw@netris.org>

	gnu: serf: Apply upstream fixes.
	* gnu/packages/patches/serf-comment-style-fix.patch,
	  gnu/packages/patches/serf-deflate-buckets-test-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/web.scm (serf): Add patches.  Remove 'remove-non-c89-comment'
	  phase.

2015-05-07  David Thompson  <davet@gnu.org>

	gnu: Add openvpn.
	* gnu/packages/vpn.scm (openvpn): New variable.

	gnu: bridge-utils: Fix build system.
	* gnu/packages/linux.scm (bridge-utils): Patch source to fix compilation
	  error.  Patch Makefile to fail in case of future compilation errors.

2015-05-07  David Thompson  <dthompson2@worcester.edu>

	gnu: Add postgresql-service.
	* gnu/services/databases.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* doc/guix.texi ("Database Services"): New subsubsection.

2015-05-07  Mark H Weaver  <mhw@netris.org>

	gnu: Remove neon-0.29.6.
	* gnu/packages/version-control.scm (neon-0.29.6): Remove variable.

2015-05-07  Mark H Weaver  <mhw@netris.org>

	gnu: subversion: Add serf to inputs.
	This is a followup to d5e9f3809dc7d521874cfad0a242ab664f6c19bc, which upgraded
	subversion to 1.8.x.  Previously we used 'neon' to support http access
	methods, but subversion 1.8 drops support for 'neon' in favor of 'serf'.

	* gnu/packages/version-control.scm (subversion)[inputs]: Add 'serf' and remove
	  'neon'.
	  [arguments]: Fix typo in phase name.

2015-05-07  Mark H Weaver  <mhw@netris.org>

	gnu: Add serf.
	* gnu/packages/web.scm (serf): New variable.

	gnu: scons: Update to 2.3.4.
	* gnu/packages/python.scm (scons): Update to 2.3.4.

	gnu: apr-util: Use system expat library.
	* gnu/packages/apr.scm: Import (guix licenses) with prefix "l:".
	  (apr)[license]: Adapt to license prefix.
	  (apr-util)[propagated-inputs]: Add expat.
	  [arguments]: Pass --with-expat to configure.
	  [license]: Adapt to license prefix.

	gnu: apr: Update to 1.5.2.
	* gnu/packages/apr.scm (apr): Update to 1.5.2.

2015-05-07  Ludovic Courtès  <ludo@gnu.org>

	system: Use "." instead of "source" in /etc/profile.
	* gnu/system.scm (etc-directory)[profile]: Use "." instead of "source",
	  the latter being Bash-specific.

	system: Check whether ~/.guix-profile/etc/profile exists.
	* gnu/system.scm (etc-directory)[profile]: Check for
	  ~/.guix-profile/etc/profile rather than just ~/.guix-profile.

2015-05-07  Mark H Weaver  <mhw@netris.org>

	gnu: Add dosfstools.
	* gnu/packages/disk.scm (dosfstools): New variable.

2015-05-06  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	tests: Fix etc/profile test.
	* tests/profiles.scm ("etc/profile"): Unset GUIX_PROFILE before sourcing
	  etc/profile.  Use '.' instead of 'source' for sourcing.  Call 'echo $PATH'
	  instead of using the output of 'set' to determine whether PATH is set.

2015-05-06  Andreas Enge  <andreas@enge.fr>

	gnu: Add libvisio.
	* gnu/packages/libreoffice.scm (libvisio): New variable.

	gnu: Add libpagemaker.
	* gnu/packages/libreoffice.scm (libpagemaker): New variable.

	gnu: Add libmspub.
	* gnu/packages/libreoffice.scm (libmspub): New variable.

	gnu: Add libfreehand.
	* gnu/packages/libreoffice.scm (libfreehand): New variable.

	gnu: Add libexttextcat.
	* gnu/packages/libreoffice.scm (libexttextcat): New variable.

	gnu: Add libetonyek.
	* gnu/packages/libreoffice.scm (libetonyek): New variable.

	gnu: Add libcdr.
	* gnu/packages/libreoffice.scm (libcdr): New variable.

	gnu: Add libabw.
	* gnu/packages/libreoffice.scm (libabw): New variable.

2015-05-06  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add python-pyxdg.
	* gnu/packages/freedesktop.scm (python-pyxdg, python2-pyxdg): New variables.

2015-05-06  Ludovic Courtès  <ludo@gnu.org>

	system: /etc/profile sources each profile's /etc/profile.
	Partly fixes <http://bugs.gnu.org/20255>.
	Reported by 宋文武 <iyzsong@gmail.com>.

	* gnu/system.scm (etc-directory)[profile]: Source
	  /run/current-system/profile/etc/profile and
	  $HOME/.guix-profile/etc/profile when available.  Move definitions of
	  SSL_CERT_DIR, SSL_CERT_FILE, and GIT_SSL_CAINFO before that.

2015-05-06  Ludovic Courtès  <ludo@gnu.org>

	profiles: Generate an 'etc/profile' file.
	Suggested by 宋文武 <iyzsong@gmail.com>
	in <http://bugs.gnu.org/20255>.

	* guix/build/profiles.scm (abstract-profile,
	  write-environment-variable-definition): New procedures.
	  (build-profile): Add #:search-paths parameter.  Create
	  OUTPUT/etc/profile.
	* guix/profiles.scm (profile-derivation)[builder]: Add 'search-paths'
	  variable and pass it to 'build-profile'.  Adjust #:modules argument.
	* tests/profiles.scm ("etc/profile"): New test.
	* doc/guix.texi (Invoking guix package): Mention etc/profile.

2015-05-06  Ludovic Courtès  <ludo@gnu.org>

	profiles: Move build code to (guix build profiles).
	* guix/build/profiles.scm: New file.
	* Makefile.am (MODULES): Add it.
	* guix/profiles.scm (profile-derivation)[builder]: Call out to
	  'build-profile'.
	  Add (guix build profiles) to the #:modules argument.

	search-paths: Export 'string-tokenize*'.
	* guix/search-paths.scm (string-tokenize*): Export.
	* tests/utils.scm ("string-tokenize*"): Adjust accordingly.

2015-05-06  Eric Bavier  <bavier@member.fsf.org>

	gnu: moe: Update to 1.7.
	* gnu/packages/moe.scm (moe): Update to 1.7.

	gnu: hop: Remove use of patchelf.
	* gnu/packages/patches/hop-linker-flags.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/scheme.scm (source)[patches]: Use it.
	  (arguments)[phases]: Remove patch-rpath phase.
	  [modules, imported-modules]: Remove.
	  (native-inputs): Remove field.

2015-05-06  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add elogind.
	* gnu/packages/freedesktop.scm (elogind): New variable.

	gnu: Add IR.
	* gnu/packages/audio.scm (ir): New variable.

	gnu: Add zita-convolver.
	* gnu/packages/audio.scm (zita-convolver): New variable.

2015-05-06  Ludovic Courtès  <ludo@gnu.org>

	download: Work around Guile small-receive-buffer bug.
	Previously, code using directly (guix build download) was still affected
	by <http://bugs.gnu.org/15368>.  This includes source derivations, the
	'guix download' command, and (guix gnu-maintenance).

	'guix substitute' was unaffected since it used (guix http-client), which
	already had the fix.

	* guix/http-client.scm (open-socket-for-uri): Remove.
	  (http-fetch): Remove #:buffered? argument to 'open-socket-for-uri';
	  use 'setvbuf' instead.
	* guix/scripts/substitute.scm (fetch): Likewise.
	* guix/build/download.scm (open-socket-for-uri): New procedure, taken
	  from guix/http-client.scm, but without the #:buffered? parameter.

2015-05-06  Ludovic Courtès  <ludo@gnu.org>

	download: Reinstate buffering on connection sockets.
	* guix/build/download.scm (open-connection-for-uri): Reinstate call to
	  'setvbuf' inadvertently removed in d17551d9.

2015-05-06  David Hashe  <david.hashe@dhashe.com>

	gnu: webkitgtk: Remove unnecessary make flag.
	* gnu/packages/webkit.scm (webkitgtk): Remove make-flags.

2015-05-05  Ludovic Courtès  <ludo@gnu.org>

	activation: Make user copies of the skeletons writable.
	* gnu/build/activation.scm (make-file-writable,
	  make-skeletons-writable): New procedures.
	  (copy-account-skeletons): Call 'make-file-writable' after 'copy-file'.
	  (add-user): Add call to 'make-skeletons-writable'.

	gnu: librevenge, libwpd, libwpg: Fix 'license' field.
	* gnu/packages/libreoffice.scm (librevenge, libwpd, libwpg): Fix
	  'license' field to be a list of <license>.

	services: Group desktop services in (gnu services desktop).
	* gnu/services/colord.scm, gnu/services/dbus.scm,
	  gnu/services/upower.scm: Remove.
	* gnu/services/desktop.scm: New file, with contents taken from the above
	  files.
	* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
	* doc/guix.texi (Desktop Services): New section.
	  (Various Services): Move colord-service and upower-service from
	  here to "Desktop Services".

2015-05-05  Eric Bavier  <bavier@member.fsf.org>

	gnu: hop: Fix RPATHs.
	* gnu/packages/scheme.scm (inputs): Move patchelf input to...
	  (native-inputs): ...here.  New field.
	  (arguments)[phases]: Use augment-rpath for patch-rpath phase.

	gnu: perl-json-any: Fix typo in source uri scheme.
	* gnu/packages/perl.scm (perl-json-any)[source]: Fix typo.

2015-05-05  David Hashe  <david.hashe@dhashe.com>

	gnu: webkitgtk: Fix compilation on x86_64.
	* gnu/packages/webkit.scm (webkitgtk): Move library install path from lib64 to
	 lib.

2015-05-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: wxwidgets-2: Add $libdir to RUNPATH.
	* gnu/packages/wxwidgets.scm (wxwidgets-2)[arguments]: Add #:make-flags,
	  as for WXWIDGETS.

	gnu: mozjs: Mark as unsupported on mips64el-linux.
	* gnu/packages/gnuzilla.scm (mozjs)[supported-systems]: New field.

	gnu: gpgme: Build against GnuPG 2.0.
	* gnu/packages/gnupg.scm (gpgme)[inputs]: Change to GNUPG-2.0.

	environment: Move iteration outside of 'for-each-search-path'.
	* guix/search-paths.scm (search-path-definition): New procedure.
	* guix/scripts/environment.scm (for-each-search-path): Rename to...
	  (evaluate-input-search-paths): ... this.  Remove 'proc' and 'pure?'
	  parameters, and return directly the list of search-path/value pairs.
	  (create-environment): Use 'for-each' and 'evaluate-input-search-paths'
	  instead of 'for-each-search-path'.
	  (show-search-paths): Use 'for-each', 'search-path-definition', and
	  'evaluate-search-paths' instead of 'for-each-search-path'.

2015-05-05  Ludovic Courtès  <ludo@gnu.org>

	environment: Use 'evaluate-search-paths'.
	This allows 'guix environment' to correctly handle non-directory
	and/or pattern search-path specifications, such as that for
	'XML_CATALOG_FILES'.

	* guix/scripts/environment.scm (for-each-search-path): Use
	  'evaluate-search-paths' instead of 'search-path-as-list' & co.

2015-05-05  Ludovic Courtès  <ludo@gnu.org>

	search-paths: Define the 'PATH' environment variable.
	* guix/search-paths.scm ($PATH): New variable.
	* guix/scripts/environment.scm (for-each-search-path): Use it.

	search-paths: 'evaluate-search-paths' can be passed a list of directories.
	* guix/search-paths.scm (evaluate-search-paths): Change 'directory' to
	  'directories', and adjust 'search-path-as-list' accordingly.
	* guix/scripts/package.scm (search-path-environment-variables): Adjust
	  call accordingly.

2015-05-05  Ludovic Courtès  <ludo@gnu.org>

	gnu-maintenance: 'gnu-package?' returns #t for R and for GNOME packages.
	Reported by John Darrington.

	* guix/gnu-maintenance.scm (gnu-package?)[mirror-type]: Add "gnome" to
	  the list of GNU mirrors.  Return #f for "cran".

2015-05-05  Ludovic Courtès  <ludo@gnu.org>

	environment: Use (guix search-paths).
	* guix/scripts/environment.scm: Use (guix search-paths).  Fixes a
	  regression introduced in e89431b.

2015-05-05  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: vcftools: Remove "-m64" from CFLAGS.
	* gnu/packages/bioinformatics.scm (vcftools): Explicitly set CFLAGS to
	  remove "-m64" flag.

2015-05-05  Eric Bavier  <bavier@member.fsf.org>

	gnu: fltk: Fix undefined symbol errors for shared libraries.
	* gnu/packages/patches/fltk-shared-lib-defines.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/fltk.scm (source)[patches]: New field.

2015-05-05  Ricardo Wurmus  <rekado@elephly.net>

	gnu: ardour: Add library dirs to RUNPATH.
	* gnu/packages/audio.scm (ardour)[arguments]: Add a build phase to add all
	  library output directories to the rpath using linker flags.

2015-05-05  David Thompson  <dthompson2@worcester.edu>

	gnu: Add bluez.
	* gnu/packages/linux.scm (bluez): New variable.

	gnu: Add libical.
	* gnu/packages/calendar.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add soil.
	* gnu/packages/gl.scm (soil): New variable.

2015-05-04  Ludovic Courtès  <ludo@gnu.org>

	records: Make 'make-syntactic-constructor' available at load/eval/expand.
	* guix/records.scm (make-syntactic-constructor): Wrap in 'eval-when'.

	profiles: Use a &message error condition instead of 'error'.
	* guix/profiles.scm (sexp->manifest): Use 'raise' instead of 'error'.

	search-paths: 'evaluate-search-paths' now returns spec/value pairs.
	* guix/search-paths.scm (evaluate-search-paths): Return
	  specification/value pairs instead of variable/value pairs.
	* guix/scripts/package.scm (search-path-environment-variables): Adjust
	  accordingly.  Pass #:separator to 'environment-variable-definition'.

	search-paths: Add 'environment-variable-definition'.
	* guix/search-paths.scm (environment-variable-definition): New variable.
	* guix/scripts/package.scm (search-path-environment-variables): Use it.

	search-paths: Add 'evaluate-search-paths', from (guix scripts package).
	* guix/scripts/package.scm (with-null-error-port,
	  evaluate-search-paths): Move to...
	* guix/search-paths.scm: ... here.
	* guix/utils.scm (string-tokenize*): Move to...
	* guix/search-paths.scm: ... here.
	* tests/utils.scm ("string-tokenize*"): Adjust accordingly.

	Move search path specifications to (guix search-paths).
	* guix/packages.scm (<search-path-specification>,
	  search-path-specification->sexp, sexp->search-path-specification):
	  Move to...
	* guix/search-paths.scm: ... here.  New file.
	* Makefile.am (MODULES): Add it.
	* guix/build-system/cmake.scm, guix/build-system/glib-or-gtk.scm,
	  guix/build-system/gnu.scm, guix/build-system/haskell.scm,
	  guix/build-system/perl.scm, guix/build-system/python.scm,
	  guix/build-system/ruby.scm, guix/build-system/waf.scm,
	  guix/profiles.scm, guix/scripts/package.scm: Use it.

2015-05-04  Mathieu Lirzin  <mthl@openmailbox.org>

	gnu: Add markdown.
	* gnu/packages/textutils.scm (markdown): New variable.

2015-05-04  Ludovic Courtès  <ludo@gnu.org>

	substitute: Increase TTL from 24h to 36h.
	* guix/scripts/substitute.scm (%narinfo-ttl): Increase to 36h.

2015-05-04  Andreas Enge  <andreas@enge.fr>

	gnu: Add libwpg.
	* gnu/packages/libreoffice.scm (libwpg): New variable.

2015-05-04  Eric Bavier  <bavier@member.fsf.org>

	guix: build: Fix indentation for --sources in help output.
	* guix/scripts/build.scm (show-help)[--sources]: Make indentation
	  consistent with other long options.

2015-05-04  Mark H Weaver  <mhw@netris.org>

	gnu: curl: Update to 7.42.1.
	* gnu/packages/patches/curl-support-capath-on-gnutls-conf.patch,
	  gnu/packages/patches/curl-support-capath-on-gnutls.patch: Remove files.
	* gnu-system.am (dist_patch_DATA): Remove them.
	* gnu/packages/curl.scm (curl): Update to 7.42.1.  Remove patches.

2015-05-04  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add python-sympy.
	* gnu/packages/python.scm (python-sympy, python2-sympy): New variables.

2015-05-04  Ludovic Courtès  <ludo@gnu.org>

	doc: Fix dangling references in the 'sh-symlink' monad example.
	Reported by Christopher A. Webber <cwebber@dustycloud.org>.

	* doc/guix.texi (The Store Monad): Reintroduce 'mlet' in 'sh-symlink'
	  example.  Move the simplified version below.  Explain that the 'store'
	  parameter is threaded.

2015-05-04  Ludovic Courtès  <ludo@gnu.org>

	doc: Suggest 'groupadd --system'.
	* doc/guix.texi (Build Environment Setup): Use 'groupadd --system'.

	doc: Clarify installation from the binary tarball.
	* doc/guix.texi (Binary Installation): Specifically refer to
	  group/account creation, and add an item for substitutes.  Mention
	  verifiability.

2015-05-04  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: bamtools: Set rpath via LDFLAGS.
	* gnu/packages/bioinformatics.scm (bamtools): Add a pre-configure phase
	  setting $LDFLAGS to set the rpath to $out/lib/bamtools.

2015-05-04  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: Add taskwarrior.
	* gnu/packages/task-management.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-05-04  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add samtools-0.1.19.
	* gnu/packages/bioinformatics.scm (samtools-0.1): New variable.

	gnu: samtools: Install libbam.a library.
	* gnu/packages/bioinformatics.scm (samtools)[arguments]: Add phase
	  "install-library" to install the libbam.a library.

	gnu: samtools: Remove patch-makefile-curses phase.
	* gnu/packages/bioinformatics.scm (samtools)[arguments]: Remove
	  patch-makefile-curses phase, use make-flags instead.

2015-05-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc-5.1: Add specific libvtv patch.
	* gnu/packages/patches/gcc-5.0-libvtv-runpath.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/gcc.scm (gcc-5.1)[source]: Use it.

	guix package: Introduce 'evaluate-search-paths'.
	* guix/scripts/package.scm (evaluate-search-paths): New procedure, with
	  most of the code formerly in 'search-path-environment-variables'.
	  (search-path-environment-variables): Use it.

	guix package: Move profile cleaning out of 'search-path-environment-variables'.
	* guix/scripts/package.scm (user-friendly-profile): New procedure.
	  (search-path-environment-variables): Remove 'profile' local variable.
	  (display-search-paths): Explicitly call 'user-friendly-profile' for
	  the argument to 'search-path-environment-variables'.
	  (guix-package)[process-query]: Likewise.

2015-05-04  David Hashe  <david.hashe@dhashe.com>

	gnu: Add totem-pl-parser.
	* gnu/packages/gnome.scm (totem-pl-parser): New variable.

2015-05-04  Christopher Allan Webber  <cwebber@dustycloud.org>

	doc: Replace reference to profile.sh with sh-symlink
	* doc/guix.texi (The Store Monad): Replace reference to "profile.sh",
	  which is not defined until the next node, with "sh-symlink", which
	  is defined immediately above

2015-05-03  Andreas Enge  <andreas@enge.fr>
	    John Darrington  <jmd@gnu.org>

	gnu: Add libe-book.
	* gnu/packages/libreoffice.scm (libe-book): New variable.

2015-05-03  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add zeromq.
	* gnu/packages/networking.scm (zeromq): New variable.

	gnu: rename (gnu packages socat) to (gnu packages networking).
	* gnu/packages/socat.scm: Rename this ...
	* gnu/packages/networking.scm: ... to this.
	* gnu-system.am (GNU_SYSTEM_MODULES): Change socat.scm to networking.scm.

2015-05-03  Mark H Weaver  <mhw@netris.org>

	gnu: subversion: Update to 1.8.13.
	* gnu/packages/version-control.scm (subversion): Update to 1.8.13.

	gnu: gnupg: Update to 2.1.3.
	* gnu/packages/gnupg.scm (gnupg): Update to 2.1.3.

	gnu: Add dovecot.
	* gnu/packages/mail.scm (dovecot): New variable.

	gnu: acpica: Update to 20150410.
	* gnu/packages/admin.scm (acpica): Update to 20150410.

	gnu: wpa-supplicant: Update to 2.4.
	* gnu/packages/admin.scm (wpa-supplicant): Update to 2.4.

2015-05-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: parallel: Update to 20150422.
	* gnu/packages/parallel.scm (parallel): Update to 20150422.

	gnu: help2man: Update to 1.46.6.
	* gnu/packages/man.scm (help2man): Update to 1.46.6.

	gnu: dejagnu: Update to 1.5.3.
	* gnu/packages/dejagnu.scm (dejagnu): Update to 1.5.3.

2015-05-03  Andreas Enge  <andreas@enge.fr>

	gnu: Add libwpd.
	* gnu/packages/libreoffice.scm (libwpd): New variable.

2015-05-03  Andreas Enge  <andreas@enge.fr>
	    John Darrington  <jmd@gnu.org>

	gnu: Add librevenge.
	* gnu/packages/libreoffice.scm (librevenge): New variable.

2015-05-03  Andreas Enge  <andreas@enge.fr>

	gnu: cppunit: Explicitly link with libdl.
	* gnu/packages/check.scm (cppunit)[arguments]: Add #:make-flags.

2015-05-03  Eric Bavier  <bavier@member.fsf.org>

	guix: build: Add transitive source building.
	* guix/scripts/build.scm (%options, options->derivations): Add --sources
	  option.
	* doc/guix.texi (Invoking guix build): Document --sources option.
	* tests/guix-build.sh: Add tests.

	guix: packages: Add package-direct-sources and package-transitive-sources.
	* guix/tests.scm (dummy-origin): New syntax.
	* guix/packages.scm (package-direct-sources)
	  (package-transitive-sources): New procedures.
	* tests/packages.scm ("package-direct-sources, no source")
	  ("package-direct-sources, #f source")
	  ("package-direct-sources, not input source", "package-direct-sources")
	  ("package-transitive-sources"): Test them.

2015-05-03  Ludovic Courtès  <ludo@gnu.org>

	install: Add bash-completion to the packages.
	* gnu/system/install.scm (installation-os)[packages]: Add
	  BASH-COMPLETION.

2015-05-02  Ludovic Courtès  <ludo@gnu.org>

	profiles: Store search paths in manifests.
	Discussed in <http://bugs.gnu.org/20255>.

	* guix/packages.scm (sexp->search-path-specification): New variable.
	* guix/profiles.scm (<manifest-entry>)[search-paths]: New field.
	  (package->manifest-entry): Initialize it.
	  (manifest->gexp): Match it.  Wrap #$deps in (propagated-inputs ...).
	  Emit (search-paths ...).  Increment version.
	  (find-package): New procedure.
	  (sexp->manifest)[infer-search-paths]: New procedure.
	  Use it to initialize the 'search-paths' field for versions 0 and 1.
	  Add case for version 2.
	* guix/scripts/package.scm (search-path-environment-variables)[manifest-entry->package]:
	  Remove.
	  Use 'manifest-entry-search-paths' instead of 'manifest-entry->package'
	  plus 'package-native-search-paths'.
	* tests/profiles.scm ("profile-manifest, search-paths"): New test.

2015-05-02  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'core-updates'

	hydra: Update Guix job set.
	* build-aux/hydra/guix.scm (tarball-package): Remove 'nix-checkout'
	  parameter.  Remove 'arguments', 'native-inputs', and 'location'
	  fields.  Adjust caller accordingly.
	  (hydra-jobs): Remove 'nix-checkout'.

	build-system/gnu: 'dist-package' preserves the package's native inputs.
	* guix/build-system/gnu.scm (dist-package)[native-inputs]: Preserve P's
	  native-inputs.

	build-system/gnu: Adjust to removal of a "bin" output for Libtool.
	* guix/build-system/gnu.scm (dist-package): Change libtool:bin input to
	  just libtool.

2015-05-02  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: gcj: Remove broken symlink and conflicting files.
	* gnu/packages/gcc.scm (gcj)[arguments]: Add a build phase to remove a broken
	  symlink and generic stump binaries.

2015-05-02  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: mesa: Update to 10.5.4.
	* gnu/packages/gl.scm (mesa): Update version to 10.5.4.  Add libxvmc to
	  inputs.  Remove python, gettext, flex, and bison from native-inputs.  Remove
	  hack that was necessary to prevent rebuilding parts of the build system.

2015-05-02  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: mesa: Add libva input.
	There is a circular dependency between Mesa and libVA, so we use a
	libva-no-mesa package that builds libVA without GLX and EGL support, and use
	that for building Mesa.

	* gnu/packages/gl.scm (libva-for-mesa): New variable.
	(mesa): Add as input.

2015-05-01  Mark H Weaver  <mhw@netris.org>

	gnu: linux-libre: Update to 4.0.1.
	* gnu/packages/linux.scm (linux-libre): Update to 4.0.1.

2015-05-01  Andreas Enge  <andreas@enge.fr>

	gnu: ebook: Drop circular inclusion of the module into itself.
	* gnu/packages/ebook.scm: Do not import (gnu packages ebook).

2015-05-01  Alex Kost  <alezost@gmail.com>
	    宋文武  <iyzsong@gmail.com>

	services: Add console-keymap service.
	* gnu/services/base.scm (console-keymap-service): New procedure.
	* doc/guix.texi (Base Services): Document it.

2015-05-01  Ludovic Courtès  <ludo@gnu.org>

	bash completion: Complete long options with no short variant.
	* etc/completion/bash/guix (_guix_complete_option): Change grep regexp
	  to match options that don't have a short option name.

	gnu: polkit-qt: Add $libdir to RUNPATH.
	* gnu/packages/polkit.scm (polkit-qt)[arguments]: Add
	  #:configure-flags.

	check-available-binaries: Use %HYDRA-SUPPORTED-SYSTEMS.
	* build-aux/check-available-binaries.scm: Use %HYDRA-SUPPORTED-SYSTEMS
	  instead of %SUPPORTED-SYSTEMS.

2015-05-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: mariadb: Remove now unneeded workaround.
	This has been redundant since 21e583d.

	* gnu/packages/databases.scm (mariadb)[arguments]: Remove LDFLAGS
	  definition.

2015-05-01  Ludovic Courtès  <ludo@gnu.org>

	list-packages: Add status link only for systems supported on Hydra.
	* build-aux/list-packages.scm (package->sxml)[status]:
	  Intersect (package-transitive-supported-systems package) with
	  %HYDRA-SUPPORTED-SYSTEMS.

	packages: Add '%hydra-supported-systems'.
	* build-aux/hydra/gnu-system.scm (%hydra-supported-systems): Remove.
	* guix/packages.scm (%hydra-supported-systems): New variable.

	gnu: ganv: Set the RUNPATH of binaries to $libdir.
	* gnu/packages/gtk.scm (ganv)[arguments]: Add 'set-ldflags' phase.

	Merge branch 'master' into core-updates

	serialization: Adjust the permissive UTF-8 decoder to Guile 2.0.12ish.
	* guix/serialization.scm (read-maybe-utf8-string): Use
	  'set-port-encoding!' and 'set-port-conversion-strategy!' instead of
	  setting '%default-port-encoding' and
	  '%default-port-conversion-strategy'.  This accounts for Guile commit
	  d574d96, which changes bytevector input ports to use ISO-8859-1.

2015-05-01  Ludovic Courtès  <ludo@gnu.org>

	substitute: Fix file descriptor leak in 'http-multiple-get'.
	In practice we would not leak much since we reconnect after ~100
	requests (with nginx running on hydra.gnu.org.)

	* guix/scripts/substitute.scm (http-multiple-get): Call 'close-port'
	  before 'connect'.

2015-05-01  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: qt: Add patch for i686 build problem.
	See <https://bugreports.qt.io/browse/QTBUG-45205>.

	* gnu/packages/patches/qt5-conflicting-typedefs.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/qt.scm (qt): Add the patch.

2015-05-01  Ludovic Courtès  <ludo@gnu.org>

	Thank Joshua.

2015-05-01  Ludovic Courtès  <ludo@gnu.org>

	download: Honor the 'http_proxy' and 'https_proxy' env. vars.
	Fixes <http://bugs.gnu.org/20402>.
	Reported by Joshua Randall <jcrandall@alum.mit.edu>.

	* guix/download.scm (url-fetch): Pass #:leaked-env-vars to
	  'gexp->derivation'.

2015-05-01  Ludovic Courtès  <ludo@gnu.org>

	derivations: Add #:leaked-env-vars parameter.
	Suggested by Joshua Randall <jcrandall@alum.mit.edu>
	in <http://bugs.gnu.org/20402>.

	* guix/derivations.scm (derivation): Add #:leaked-env-vars parameter.
	  [user+system-env-vars]: Honor it.
	* guix/gexp.scm (gexp->derivation): Add #:leaked-env-vars and pass it to
	  'raw-derivation'.
	* doc/guix.texi (Derivations, G-Expressions): Adjust accordingly.

2015-05-01  Ludovic Courtès  <ludo@gnu.org>

	download: Simplify 'open-connection-for-uri' to support HTTP proxies.
	Partly fixes <http://bugs.gnu.org/20402>.
	Reported by Joshua Randall <jcrandall@alum.mit.edu>.

	* guix/build/download.scm (open-connection-for-uri): Rewrite to be a
	  small wrapper around 'open-socket-for-uri'.  This procedure was
	  initially introduced in d14ecda to work around the lack of NSS modules
	  during bootstrap but that has become unnecessary since 0621349, which
	  introduced a bootstrap Guile that uses static NSS modules (from commit
	  d3b5972.)
	  On Guile >= 2.0.10, this allows the 'http_proxy' environment variable
	  to be used.

2015-04-30  Andreas Enge  <andreas@enge.fr>

	gnu: Add orcus.
	* gnu/packages/libreoffice.scm (orcus): New variable.

2015-04-30  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: lilv: Set rpath via LDFLAGS.
	Fixes <http://bugs.gnu.org/20040>.

	* gnu/packages/audio.scm (lilv): Add a pre-configure phase setting $LDFLAGS to
	  set the rpath to $out/lib.

2015-04-30  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: sord: Set rpath via LDFLAGS.
	Fixes <http://bugs.gnu.org/20044>.

	* gnu/packages/rdf.scm (sord): Add a pre-configure phase setting $LDFLAGS to
	  set the rpath to $out/lib.

2015-04-30  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: serd: Set rpath via LDFLAGS.
	Fixes <http://bugs.gnu.org/20051>.

	* gnu/packages/rdf.scm (serd): Add a pre-configure phase setting $LDFLAGS to
	  set the rpath to $out/lib.

2015-04-30  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: wxwidgets: Set rpath in LDFLAGS.
	Fixes <http://bugs.gnu.org/20049>.

	* gnu/packages/wxwidgets.scm (wxwidgets): Add a make flag to set rpath to
	  $out/lib via LDFLAGS.

2015-04-30  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc: Add link to upstream bug report.
	* gnu/packages/gcc.scm (gcc-4.8): Add link to bug report in comment.

	gnu: gcc: Add $libdir to the RUNPATH of libvtv.so.
	* gnu/packages/gcc.scm (gcc-4.9): Inherit from GCC-4.8.
	  [source]: Add 'gcc-libvtv-runpath.patch'.
	  (gcc-5.1): Inherit from GCC-4.9.
	  [source]: Use patches from GCC-4.9.
	* gnu/packages/patches/gcc-libvtv-runpath.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-04-30  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: libva: Patch a dlopen call, set drivers path.
	* gnu/packages/video.scm (libva): Patch the reference to libva-x11.so (passed
	  to dlopen()) to use an absolute path.  Add --with-drivers-path= to
	  #:configure-flags with a value pointing to mesa's $prefix/lib/dri.

2015-04-29  Ludovic Courtès  <ludo@gnu.org>

	install: Make /var/lock.
	Reported by 宋文武 <iyzsong@gmail.com>.

	* gnu/build/install.scm (directives): Add /var/lock.

2015-04-29  宋文武  <iyzsong@gmail.com>

	gnu: jack2: Add $libdir to the RUNPATH of all the binaries.
	* gnu/packages/audio.scm (jack2)[arguments]: Add #:phases.

	gnu: Remove gstreamer-0.10 and gst-plugins-base-0.10.
	* gnu/packages/gstreamer.scm (gstreamer-0.10, gst-plugins-base-0.10):
	  Remove variables.
	* gnu/packages/patches/gstreamer-0.10-bison3.patch,
	  gnu/packages/patches/gstreamer-0.10-silly-test.patch: Remove files.
	* gnu-system.am (dist_patch_DATA): Remove them.

	gnu: Add xmp.
	* gnu/packages/audio.scm (xmp): New variable.

	gnu: Add libxmp.
	* gnu/packages/audio.scm (libxmp): New variable.

	gnu: Add libmodplug.
	* gnu/packages/audio.scm (libmodplug): New variable.

2015-04-28  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add python-tornado.
	* gnu/packages/python.scm (python-tornado, python2-tornado): New variables.

	gnu: Add python2-backport-ssl-match-hostname.
	* gnu/packages/python.scm (python2-backport-ssl-match-hostname): New variable.

	gnu: Add icedtea7.
	* gnu/packages/java.scm (icedtea7): New variable.

2015-04-28  宋文武  <iyzsong@gmail.com>

	gnu: cmake: Disable parallel tests.
	* gnu/packages/cmake.scm (cmake)[arguments]: Add #:parallel-tests?.
	  Set 'CTEST_OUTPUT_ON_FAILURE' to 'TRUE' in 'set-paths phase.

	gnu: cmake: Update to 3.2.2.
	* gnu/packages/cmake.scm (cmake): Update to 3.2.2.
	* gnu/packages/patches/cmake-fix-tests.patch: Skip test for BundleUtilities.

2015-04-27  Andreas Enge  <andreas@enge.fr>
	    John Darrington  <jmd@gnu.org>

	gnu: Add ixion.
	* gnu/packages/libreoffice.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-04-27  Christopher Allan Webber  <cwebber@dustycloud.org>

	gnu: Add extremetuxracer.
	* gnu/packages/games.scm (extremetuxracer): New variable.

2015-04-27  Alex Kost  <alezost@gmail.com>

	gnu: imlib2: Update to 1.4.7.
	* gnu/packages/image.scm (imlib2): Update to 1.4.7.

2015-04-27  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: icedtea6: Split test fixing phases.
	* gnu/packages/java.scm (icedtea6)[arguments]: Split phase 'fix-tests into
	  three phases 'fix-test-framework, 'fix-hotspot-tests, and 'fix-jdk-tests.

	gnu: flexbar: Enable tests.
	* gnu/packages/bioinformatics.scm (flexbar): Enable tests.

	gnu: tbb: Set rpath in LDFLAGS.
	* gnu/packages/tbb.scm (tbb)[arguments]: Set rpath to "/lib" output directory
	  in LDFLAGS.

2015-04-27  David Thompson  <dthompson2@worcester.edu>

	gnu: Add sfml.
	* gnu/packages/game-development.scm (sfml): New variable.

2015-04-27  宋文武  <iyzsong@gmail.com>

	gnu: mpv: Update to 0.9.0.
	* gnu/packages/video.scm (mpv): Update to 0.9.0.

	gnu: ffmpeg: Don't use patchelf.
	* gnu/packages/video.scm (ffmpeg)[inputs]: Remove patchelf.
	  [arguments]: Remove #:modules, #:imported-modules and 'add-lib-to-runpath
	  phase.  Pass '--extra-ldflags=-Wl,-rpath=$libdir' to `configure'.

	gnu: ffmpeg: Update to 2.6.2.
	* gnu/packages/video.scm (ffmpeg): Update to 2.6.2.

2015-04-27  Christopher Allan Webber  <cwebber@dustycloud.org>

	gnu: Add guile-minikanren.
	* gnu/packages/guile.scm (guile-minikanren): New variable.

2015-04-26  Andreas Enge  <andreas@enge.fr>

	Merge branch 'master' into core-updates.

	gnu: evas-generic-loaders: Update to 1.13.2.
	* gnu/packages/enlightenment.scm (evas-generic-loaders): Update to 1.13.2.
	  Use https for the URL to avoid a redirection.

	gnu: gpgme: Update to 1.5.4.
	* gnu/packages/gnupg.scm (gpgme): Update to 1.5.4.

	Merge branch 'wip-glib' into master.
	Conflicts:
		gnu/packages/package-management.scm

2015-04-26  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add calf plugins.
	* gnu/packages/audio.scm (calf): New variable.

	gnu: Add fluidsynth.
	* gnu/packages/audio.scm (fluidsynth): New variable.

2015-04-26  Andreas Enge  <andreas@enge.fr>

	gnu: Add mdds.
	* gnu/packages/boost.scm (mdds): New variable.

2015-04-24  David Thompson  <davet@gnu.org>

	gnu: Add gitolite.
	* gnu/packages/version-control.scm (gitolite): New variable.
	* gnu/packages/patches/gitolite-openssh-6.8-compat.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-04-24  David Thompson  <dthompson2@worcester.edu>

	gnu: nginx: Update to 1.8.0.
	* gnu/packages/web.scm (nginx): Update to 1.8.0.

2015-04-24  Mark H Weaver  <mhw@netris.org>

	gnu: wpa-supplicant: Add fix for CVE-2015-1863.
	* gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/admin.scm (wpa-supplicant): Add patch.

2015-04-23  Ludovic Courtès  <ludo@gnu.org>

	build-system/{cmake,glib-or-gtk}: Add #:validate-runpath? parameter.
	* guix/build-system/cmake.scm (cmake-build): Add #:validate-runpath?
	  parameter and pass it to BUILDER.
	* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise.

	build-system/gnu: #:validate-runpath? now defaults to #t.
	* guix/build/gnu-build-system.scm (validate-runpath): Change default
	  value of VALIDATE-RUNPATH? to #t.

2015-04-23  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Gracefully handle dangling symlinks.
	Fixes <http://bugs.gnu.org/20081>.
	Reported by Tomáš Čech <tcech@suse.cz>.

	* guix/build/gnu-build-system.scm (patch-source-shebangs): Remove files
	  that don't pass 'file-exists?'.
	  (patch-generated-file-shebangs): Likewise.

2015-04-23  Ludovic Courtès  <ludo@gnu.org>

	gremlin: Add support for the expansion of $ORIGIN in RUNPATH.
	* guix/build/gremlin.scm (expand-variable, expand-origin): New
	  procedures.
	  (validate-needed-in-runpath): Map 'expand-origin' to the RUNPATH field
	  of DYNINFO.
	* tests/gremlin.scm ("expand-origin"): New test.

2015-04-23  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: r: Update to 3.2.0.
	* gnu/packages/statistics.scm (r): Update to 3.2.0.

	gnu: r: Set library rpath.
	* gnu/packages/statistics.scm (r)[arguments]: Add the rpath for lib directory
	  of output to LDFLAGS.

2015-04-23  Mark H Weaver  <mhw@netris.org>

	gnu: postgresql: Update to 9.3.6.
	* gnu/packages/databases.scm (postgresql): Update to 9.3.6.  Use .bz2 tarball.

	gnu: notmuch: Update to 0.19; add man pages and bash completion.
	* gnu/packages/mail.scm (notmuch)[source]: Update to 0.19.
	  [arguments]: In 'configure' phase, set CC environment variable.  Arrange to
	  use rst2man.py instead of rst2man.
	  [native-inputs]: Add python-2, python2-docutils, and bash-completion.

	gnu: Add gcc-5.1.0 and gcc-toolchain-5.1.0.
	* gnu/packages/gcc.scm (gcc-5.1): New variable.
	* gnu/packages/commencement.scm (gcc-toolchain-5.1): New variable.

2015-04-23  Mark H Weaver  <mhw@netris.org>

	gnu: Add missing (gnu packages gettext) module import.
	This is a followup to 6162b95d21a7b75fe3753c22c7755c5d12a8302f.

	* gnu/packages/base.scm: Import (gnu packages gettext).

2015-04-23  宋文武  <iyzsong@gmail.com>

	gnu: xfce4-settings: Add more inputs.
	* gnu/packages/xfce.scm (xfce4-settings)[inputs]: Add libxklavier,
	  upower and xf86-input-libinput.

	gnu: libinput: Update to 0.14.1.
	* gnu/packages/freedesktop.scm (libinput): Update to 0.14.1.

	gnu: Add xf86-input-libinput.
	* gnu/packages/xorg.scm (xf86-input-libinput): New variable.

2015-04-23  Mark H Weaver  <mhw@netris.org>

	gnu: guix: Update development snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to fc34dee.

2015-04-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc: Do not always disable RUNPATH validation.
	* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Remove explicit
	  #:validate-runpath? #f.
	* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Remove case for
	  #:validate-runpath?.
	  (gcc-final)[arguments]: Add literal #:validate-runpath? #f.
	* gnu/packages/cross-base.scm (cross-gcc-arguments): Remove case for
	  #:validate-runpath?.

2015-04-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc: Add a RUNPATH to libstdc++.so so that it finds libgcc_s.so.
	Fixes <http://bugs.gnu.org/20358>.
	Reported by 宋文武 <iyzsong@gmail.com>.

	* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Add 'substitute*' form for
	  "libstdc++-v3/src/Makefile.in".

2015-04-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: commencement: Remove unneeded configure flag for bootstrap gettext.
	* gnu/packages/commencement.scm (gettext-boot0): Remove unneeded
	  --disable-threads.

2015-04-22  Mark H Weaver  <mhw@netris.org>

	packages: Add armhf-linux to %supported-systems.
	* guix/packages.scm (%supported-systems): Add "armhf-linux".

	hydra: Add %hydra-supported-systems variable and use it.
	* build-aux/hydra/gnu-system.scm (%hydra-supported-systems): New variable.
	  (hydra-jobs): Use %hydra-supported-systems instead of %supported-systems.

	tests: Select appropriate bootstrap guile version for current system.
	* tests/packages.scm ("package-source-derivation, snippet"): Select appropriate
	  guile-2.0.x.tar.xz tarball based on the value of (%current-system).

2015-04-22  Eric Bavier  <bavier@member.fsf.org>

	gnu: perl: Fix Module::Pluggable for symlink forests.
	* gnu/packages/patches/perl-module-pluggable-search.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/perl.scm (perl)[source]: Add patch.

2015-04-22  Mark H Weaver  <mhw@netris.org>

	gnu: ccl: Add default 'match' cases for unsupported platforms.
	* gnu/packages/lisp.scm (ccl)[arguments]: Add default 'match' cases for
	  unsupported platforms.

	gnu: nginx: Fix configure flags on unsupported platforms.
	* gnu/packages/web.scm (nginx)[arguments]: Add default case in 'match' form
	  within 'configure' phase.

	gnu: mplayer: Fix configure flags on armhf.
	* gnu/packages/video.scm (mplayer)[arguments]: Add default case in 'match'
	  form in configure flags.  Enable support for arm processor features that are
	  assumed by our armhf port.

	gnu: julia: Fix make-flags on non-Intel platforms.
	* gnu/packages/julia.scm (julia)[arguments]: Add default case in 'match' form.

2015-04-22  宋文武  <iyzsong@gmail.com>

	gnu: gtkmm-2: Update to 2.24.4.
	* gnu/packages/gtk.scm (gtkmm-2): Update to 2.24.4.

	gnu: gtkmm: Update to 3.16.0.
	* gnu/packages/gtk.scm (gtkmm): Update to 3.16.0.

	gnu: pangomm: Update to 2.36.0.
	* gnu/packages/gtk.scm (pangomm): Update to 2.36.0.

	gnu: gtk+: Update to 3.16.2.
	* gnu/packages/gtk.scm (gtk+): Update to 3.16.2.

	gnu: cups-filters: Update to 1.0.68.
	* gnu/packages/cups.scm (cups-filters): Update to 1.0.68.

2015-04-22  宋文武  <iyzsong@gmail.com>

	gnu: vala: Fix tests by setting 'CC'.
	This fixes a regression introduced in b19d680.

	* gnu/packages/gnome.scm (vala)[arguments]: New field.

2015-04-22  宋文武  <iyzsong@gmail.com>

	Remove all the 'CC=gcc' hacks for 'g-ir-scanner'.
	* gnu/packages/glib.scm (telepathy-glib)[arguments]: Remove.
	* gnu/packages/gtk.scm (at-spi2-core, gtk+-2): Remove #:make-flags.
	* gnu/packages/gnome.scm (libpeas, librsvg, vala, vte, json-glib,
	  libxklavier, libsoup, libsecret, colord, geocode-glib, libgweather):
	  Remove #:make-flags or the '(setenv "CC" "gcc")' phase.

	gnu: poppler: Update to 0.32.0.
	* gnu/packages/pdf.scm (poppler): Update to 0.32.0.

	gnu: python-pygobject: Update to 3.16.1.
	* gnu/packages/glib.scm (python-pygobject): Update to 3.16.1.

	gnu: glibmm: Update to 2.44.0.
	* gnu/packages/glib.scm (glibmm): Update to 2.44.0.

	gnu: libsigc++: Update to 2.4.1.
	* gnu/packages/glib.scm (libsigc++): Update to 2.4.1.

	gnu: dbus-glib: Update to 0.104.
	* gnu/packages/glib.scm (dbus-glib): Update to 0.104.

	gnu: itstool: Update to 2.0.2.
	* gnu/packages/glib.scm (itstool): Update to 2.0.2.

	gnu: gobject-introspection: Update to 1.44.0.
	* gnu/packages/glib.scm (gobject-introspection): Update to 1.44.0.
	  [source]: Use mirror://gnome.
	  [arguments]<#:phases>: Remove.
	* gnu/packages/patches/gobject-introspection-cc.patch: Rewrite to
	  set os.environ['CC'] in 'giscanner/__init__.py'.

	gnu: python-pycairo: Fix build with with python-3.4.3.
	* gnu/packages/patches/pycairo-wscript.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/gtk.scm (python-pycairo)[source]: Use it.
	  [build-system]: Use waf-build-system.
	  [native-inputs]: Add python-waf.
	  [arguments]<#:phases>: Use 'modify-phases'.  Add 'patch-waf phase.
	* gnu/packages/gtk.scm (python2-pycairo): Adjust accordingly.

	gnu: Add python-waf.
	* gnu/packages/python.scm (python-waf, python2-waf): New variables.

2015-04-22  Mark H Weaver  <mhw@netris.org>

	gnu: guix: Update development snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to dd3a42e.

2015-04-22  Mark H Weaver  <mhw@netris.org>

	gnu: guix: Don't install in /etc/bash_completion.d within build environment.
	Fixes <http://bugs.gnu.org/20394>.
	Patch by Ludovic Courtès <ludo@gnu.org>.

	* gnu/packages/package-management.scm (guix)[arguments]: Pass
	  "--with-bash-completion-dir" option to configure.

2015-04-22  宋文武  <iyzsong@gmail.com>

	gnu: python-pycairo: Fix build with with python-3.4.3.
	* gnu/packages/patches/pycairo-wscript.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/gtk.scm (python-pycairo)[source]: Use it.
	  [build-system]: Use waf-build-system.
	  [native-inputs]: Add python-waf.
	  [arguments]<#:phases>: Use 'modify-phases'.  Add 'patch-waf phase.
	* gnu/packages/gtk.scm (python2-pycairo): Adjust accordingly.

	gnu: Add python-waf.
	* gnu/packages/python.scm (python-waf, python2-waf): New variables.

2015-04-22  Mark H Weaver  <mhw@netris.org>

	gnu: guix: Update development snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to dd3a42e.

	gnu: libxfont: Update to 1.5.1.
	* gnu/packages/xorg.scm (libxfont): Update to 1.5.1.

2015-04-22  Mark H Weaver  <mhw@netris.org>

	gnu: guix: Don't install in /etc/bash_completion.d within build environment.
	Fixes <http://bugs.gnu.org/20394>.
	Patch by Ludovic Courtès <ludo@gnu.org>.

	* gnu/packages/package-management.scm (guix)[arguments]: Pass
	  "--with-bash-completion-dir" option to configure.

2015-04-22  Mark H Weaver  <mhw@netris.org>

	gnu: tzdata: Update to 2015c.
	* gnu/packages/base.scm (tzdata): Update to 2015c.

2015-04-22  Andreas Enge  <andreas@enge.fr>

	gnu: libidn: Update to 1.30.
	* gnu/packages/libidn.scm (libidn): Update to 1.30.

2015-04-21  Mark H Weaver  <mhw@netris.org>

	Revert "gnu: libidn: Update to 1.30."
	This reverts commit 8462a03f2861a1b3ed33e99a6f5a886bb9093846.

2015-04-21  Andreas Enge  <andreas@enge.fr>

	gnu: libidn: Update to 1.30.
	* gnu/packages/libidn.scm (libidn): Update to 1.30.

	gnu: ocrad: Update to 0.25.
	* gnu/packages/ocr.scm (ocrad): Update to 0.25.

2015-04-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: glibc: Add dependency on Gettext, to install the message catalogs.
	This fixes a bug whereby the libc.mo files were not installed, and thus
	translations of libc's messages were not available.

	* gnu/packages/commencement.scm (gettext-boot0): New variable.
	  (glibc-final)[native-inputs]: New field.
	* gnu/packages/base.scm (glibc)[native-inputs]: Add GNU-GETTEXT.

2015-04-21  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add TuxGuitar.
	* gnu/packages/music.scm (tuxguitar): New variable.

	gnu: Add SWT.
	* gnu/packages/java.scm (swt): New variable.

2015-04-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: libltdl: Remove unneeded patch.
	* gnu/packages/autotools.scm (libltdl)[source]: Remove 'patches'.

2015-04-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: ld-wrapper: Ignore the .so argument following '-dynamic-linker'.
	Reported at <http://bugs.gnu.org/20102>.

	* gnu/packages/ld-wrapper.in (library-files-linked): Rename 'path+files'
	  to 'path+files+args'.  Thread the reverse list of previous arguments.
	  Add case for when the previous argument is "-dynamic-linker".

2015-04-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: ld-wrapper: Add debugging info.
	* gnu/packages/ld-wrapper.in (ld-wrapper): Add "libraries linked"
	  debugging statement.

	gnu: Rename ld-wrapper2 to ld-wrapper.
	* gnu/packages/ld-wrapper2.in: Rename to...
	* gnu/packages/ld-wrapper.in: ... this.
	* gnu-system.am (MISC_DISTRO_FILES): Remove ld-wrapper2.in.
	* gnu/packages/commencement.scm (fixed-ld-wrapper): Remove.
	  (gcc-toolchain): Restore pre-77db91ad inputs.

2015-04-21  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add eXpress.
	* gnu/packages/bioinformatics.scm (express): New variable.

	gnu: Add bamtools.
	* gnu/packages/bioinformatics.scm (bamtools): New variable.

	gnu: Add subread.
	* gnu/packages/bioinformatics.scm (subread): New variable.

2015-04-20  Ludovic Courtès  <ludo@gnu.org>

	ui: Add 'symlink' replacement with better error reporting.
	* guix/ui.scm (symlink): New procedure.

	system: Make /gnu/store a read-only bind mount by default.
	* gnu/system/file-systems.scm (%immutable-store): New variable.
	  (%base-file-systems): Add it.
	* doc/guix.texi (File Systems): Document it.

	file-systems: Use a second 'mount' call for read-only bind mounts.
	* gnu/build/file-systems.scm (MS_REMOUNT): New constant.
	  (mount-file-system): Add 'flags' local variable.   When FLAGS has
	  MS_BIND & MS_RDONLY, call 'mount' with MS_REMOUNT.
	* gnu/services/base.scm (file-system-service) <start>: Likewise.

2015-04-20  Ludovic Courtès  <ludo@gnu.org>

	gnu: Remove all #:select from (gnu packages ...) modules.
	This works around Guile bug <http://bugs.gnu.org/15540>.
	Reported by Andreas Enge <andreas@enge.fr>.

	* gnu/packages/engineering.scm: Don't #:select from (gnu packages ...).
	* gnu/packages/gcc.scm: Likewise.
	* gnu/packages/package-management.scm: Likewise.
	* gnu/packages/photo.scm: Likewise.
	* gnu/packages/pulseaudio.scm: Likewise.
	* gnu/packages/moe.scm: Likewise, and #:select from (guix licenses)
	  instead.

2015-04-20  Ludovic Courtès  <ludo@gnu.org>

	gexp: Add printers for <gexp-input> and <gexp-output>.
	* guix/gexp.scm (write-gexp-input, write-gexp-output): New procedures.
	  (<gexp-input>, <gexp-output>): Use them as printers.

	profiles: Create a CA certificate bundle only when it would be non-empty.
	* guix/profiles.scm (ca-certificate-bundle): Create
	  $output/etc/ssl/certs if and only if CA-FILES is non-empty.

2015-04-20  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add sra-tools.
	* gnu/packages/bioinformatics.scm (sra-tools): New variable.

	gnu: Add NCBI VDB.
	* gnu/packages/bioinformatics.scm (ncbi-vdb): New variable.

	gnu: Add NGS Java bindings.
	* gnu/packages/bioinformatics.scm (ngs-java): New variable.

	gnu: Add NGS SDK.
	* gnu/packages/bioinformatics.scm (ngs-sdk): New variable.

	gnu: Add Biopython.
	* gnu/packages/bioinformatics.scm (python-biopython, python2-biopython): New
	  variables.

2015-04-20  Eric Bavier  <bavier@member.fsf.org>

	gnu: Adjust latest perl modules to new 'modify-phases' syntax.
	* gnu/packages/compression.scm (perl-compress-raw-zlib)[arguments]:
	  Add missing quotes, as needed since commit f8503e2.
	* gnu/packages/perl.scm (perl-ipc-run)[arguments]: Likewise.
	* gnu/packages/xml.scm (perl-xml-sax)[arguments]: Likewise.

2015-04-20  宋文武  <iyzsong@gmail.com>

	gnu: Add WebKitGTK+.
	* gnu/packages/webkit.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-04-20  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add JSON-Any.
	* gnu/packages/perl.scm (perl-json-any): New variable.

	import: cpan: Fix license string for Artistic license.
	* guix/import/cpan.scm (string->license): Remove extraneous "_0"
	  suffix for Artistics licenses.

	gnu: nix: Propagate perl inputs.
	* gnu/packages/package-management.scm (nix)[inputs]: Move
	  perl-www-curl, perl-dbi, perl-dbd-sqlite to...
	  [propagated-inputs]: ...this new field

	gnu: Add Sys-Hostname-Long.
	* gnu/packages/perl.scm (perl-sys-hostname-long): New variable.

	gnu: Add Text-Table.
	* gnu/packages/perl.scm (perl-text-table): New variable.

	gnu: Add Text-Aligner.
	* gnu/packages/perl.scm (perl-text-aligner): New variable.

	gnu: Add Set-Scalar.
	* gnu/packages/perl.scm (perl-set-scalar): New variable.

	gnu: Add SQL-SplitStatement.
	* gnu/packages/databases.scm (perl-sql-splitstatement): New variable.

	gnu: Add SQL-Tokenizer.
	* gnu/packages/databases.scm (perl-sql-tokenizer): New variable.

	gnu: Add Perl Readonly.
	* gnu/packages/perl.scm (perl-readonly): New variable.

	gnu: Add Perl Net-Amazon-S3.
	* gnu/packages/patches/perl-net-amazon-s3-moose-warning.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/web.scm (perl-net-amazon-s3): New variable.

	gnu: Add XML-LibXML.
	* gnu/packages/xml.scm (perl-xml-libxml): New variable.

	gnu: Add XML-SAX;
	* gnu/packages/xml.scm (perl-xml-sax): New variable.

	gnu: Add XML-SAX-Base.
	* gnu/packages/xml.scm (perl-xml-sax-base): New variable.

	gnu: Add XML-NamespaceSupport.
	* gnu/packages/xml.scm (perl-xml-namespacesupport): New variable.

	gnu: Add Term-ProgressBar-Simple.
	* gnu/packages/perl.scm (perl-term-progressbar-simple): New variable.

	gnu: Add Term-ProgressBar-Quiet.
	* gnu/packages/perl.scm (perl-term-progressbar-quiet): New variable.

	gnu: Add Test-MockObject.
	* gnu/packages/perl.scm (perl-test-mockobject): New variable.

	gnu: Add UNIVERSAL-isa.
	* gnu/packages/perl.scm (perl-universal-isa): New variable.

	gnu: Add UNIVERSAL-can.
	* gnu/packages/perl.scm (perl-universal-can): New variable.

	gnu: Add Term-ProgressBar.
	* gnu/packages/perl.scm (perl-term-progressbar): New variable.

	gnu: Add TermReadKey.
	* gnu/packages/perl.scm (perl-term-readkey): New variable.

	gnu: Add Class-MethodMaker.
	* gnu/packages/perl.scm (perl-class-methodmaker): New variable.

	gnu: Add IO-Interactive.
	* gnu/packages/perl.scm (perl-io-interactive): New variable.

	gnu: Add Term-Encoding.
	* gnu/packages/perl.scm (perl-term-encoding): New variable.

	gnu: Add MooseX-Types-DateTime-MoreCoercions.
	* gnu/packages/perl.scm (perl-moosex-types-datetime-morecoercions):
	  New variable.

	gnu: Add Time-Duration-Parse.
	* gnu/packages/perl.scm (perl-time-duration-parse): New variable.

	gnu: Add Time-Duration.
	* gnu/packages/perl.scm (perl-time-duration): New variable.

	gnu: Add Test-Pod-Coverage.
	* gnu/packages/perl.scm (perl-test-pod-coverage): New variable.

	gnu: Add Pod-Coverage.
	* gnu/packages/perl.scm (perl-pod-coverage): New variable.

	gnu: Add Devel-Symdump.
	* gnu/packages/perl.scm (perl-devel-symdump): New variable.

	gnu: Add MooseX-Types-DateTime.
	* gnu/packages/perl.scm (perl-moosex-types-datetime): New variable.

	gnu: Add DateTimeX-Easy.
	* gnu/packages/perl.scm (perl-datetimex-easy): New variable.

	gnu: Add DateTime-Format-Natural.
	* gnu/packages/perl.scm (perl-datetime-format-natural): New variable.

	gnu: Add Module-Util.
	* gnu/packages/perl.scm (perl-module-util): New variable.

	gnu: Add Date-Calc.
	* gnu/packages/perl.scm (perl-date-calc, perl-date-calc-xs): New
	  variables.

	gnu: Add Bit-Vector.
	* gnu/packages/perl.scm (perl-bit-vector): New variable.

	gnu: Add Perl boolean.
	* gnu/packages/perl.scm (perl-boolean): New variable.

	gnu: Add DateTime-Format-ICal.
	* gnu/packages/perl.scm (perl-datetime-format-ical): New variable.

	gnu: Add DateTime-Event-ICal.
	* gnu/packages/perl.scm (perl-datetime-event-ical): New variable.

	gnu: Add DateTime-Event-Recurrence.
	* gnu/packages/perl.scm (perl-datetime-event-recurrence): New
	  variable.

	gnu: Add DateTime-Set.
	* gnu/packages/perl.scm (perl-datetime-set): New variable.

	gnu: Add Set-Infinite.
	* gnu/packages/perl.scm (perl-set-infinite): New variable.

	gnu: Add DateTime-Format-Flexible.
	* gnu/packages/perl.scm (perl-datetime-format-flexible): New variable.

	gnu: Add DateTime-Format-Builder.
	* gnu/packages/perl.scm (perl-datetime-format-builder): New variable.

	gnu: Add DateTime-Format-Strptime.
	* gnu/packages/perl.scm (perl-datetime-format-strptime): New variable.

	gnu: Add Class-Factory-Util.
	* gnu/packages/perl.scm (perl-class-factory-util): New variable.

	gnu: Add MooseX-StrictConstructor.
	* gnu/packages/perl.scm (perl-moosex-strictconstructor): New variable.

	gnu: Add LWP-UserAgent-Determined.
	* gnu/packages/web.scm (perl-lwp-useragent-determined): New variable.

	gnu: Add Digest-MD5-File.
	* gnu/packages/web.scm (perl-digest-md5-file): New variable.

	gnu: Add Digest-HMAC.
	* gnu/packages/perl.scm (perl-digest-hmac): New variable.

	gnu: Add DateTime-Format-HTTP.
	* gnu/packages/web.scm (perl-datetime-format-http): New variable.

	gnu: Add Data-Stream-Bulk.
	* gnu/packages/perl.scm (perl-data-stream-bulk): New variable.

	gnu: Add LWP-Protocol-https.
	* gnu/packages/web.scm (perl-lwp-protocol-https): New variable.

	gnu: libwww-perl: Update to 6.13.
	* gnu/packages/web.scm (perl-libwww)[version]: Update to 6.13.
	  [source]: Adjust uri.
	  [home-page]: Point to generic distribution page.

	gnu: Net-HTTP: Update to 6.07.
	* gnu/packages/web.scm (perl-net-http)[version]: Update to 6.07.
	  [source]: Adjust uri.
	  [propagated-inputs]: New field.
	  [home-page]: Point to generic distribution page.

	gnu: Add IPC-Run.
	* gnu/packages/perl.scm (perl-ipc-run): New variable.

	gnu: Add IO-Compress.
	* gnu/packages/compression.scm (perl-io-compress): New variable.

	gnu: Add Compress-Raw-Zlib.
	* gnu/packages/compression.scm (perl-compress-raw-zlib): New variable.

	gnu: Add Compress-Raw-Bzip2.
	* gnu/packages/compression.scm (perl-compress-raw-bzip2): New
	  variable.

	gnu: Add File-Slurp.
	* gnu/packages/perl.scm (perl-file-slurp): New variable.

	gnu: Add Email-Sender.
	* gnu/packages/mail.scm (perl-email-sender): New variable.

	gnu: Add Throwable.
	* gnu/packages/perl.scm (perl-throwable): New variable.

	gnu: Add MooX-Types-MooseLike.
	* gnu/packages/perl.scm (perl-moox-types-mooselike): New variable.

	gnu: Add Email-Abstract.
	* gnu/packages/mail.scm (perl-email-abstract): New variable.

	gnu: Add Email-MIME.
	* gnu/packages/mail.scm (perl-email-mime): New variable.

	gnu: Add Email-Simple.
	* gnu/packages/mail.scm (perl-email-simple): New variable.

	gnu: Add Email-Date-Format.
	* gnu/packages/mail.scm (perl-email-date-format): New variable.

	gnu: Add Email-MIME-Encodings.
	* gnu/packages/mail.scm (perl-email-mime-encodings): New variable.

	gnu: Add Email-MIME-ContentType.
	* gnu/packages/mail.scm (perl-email-mime-contenttype): New variable.

	gnu: Add Email-MessageID.
	* gnu/packages/mail.scm (perl-email-messageid): New variable.

	gnu: Add Email-Address.
	* gnu/packages/mail.scm (perl-email-address): New variable.

	gnu: Move perl-mime-types to (gnu packages perl).
	* gnu/packages/web.scm (perl-mime-types): Move this...
	* gnu/packages/perl.scm (perl-mime-types): ... to here.

	gnu: add DBD-Pg.
	* gnu/packages/databases.scm (perl-dbd-pg): New variable.

	gnu: Add Crypt-RandPasswd.
	* gnu/packages/perl.scm (perl-crypt-randpasswd): New variable.

	gnu: Add CatalystX-Script-Server-Starman.
	* gnu/packages/web.scm (perl-catalystx-script-server-starman): New
	  variable.

	gnu: Add Starman.
	* gnu/packages/web.scm (starman): New variable.

	gnu: Add Net-Server.
	* gnu/packages/web.scm (perl-net-server): New variable.

	gnu: Add HTTP-Parser-XS.
	* gnu/packages/web.scm (perl-http-parser-xs): New variable.

	gnu: Add HTTP-Parser.
	* gnu/packages/web.scm (perl-http-parser): New variable.

	gnu: Add Catalyst-View-TT.
	* gnu/packages/web.scm (perl-catalyst-view-tt): New variable.

	gnu: Add Template-Timer.
	* gnu/packages/perl.scm (perl-template-timer): New variable.

2015-04-19  Ludovic Courtès  <ludo@gnu.org>

	gnu: bash-completion: Remove completions redundant with those of util-linux.
	* gnu/packages/bash.scm (bash-completion)[arguments]: New field.

	guix package: Fix 'readlink*' implementation.
	* guix/scripts/package.scm (readlink*): Fix to handle symlinks with
	  relative targets.  Taken from ld-wrapper2.in.

	gnu: ld-wrapper2: Make 'readlink*' tail-recursive.
	* gnu/packages/ld-wrapper2.in (readlink*): Make tail-recursive.

	guix package: -A and -s take supported systems into account.
	* guix/scripts/package.scm (guix-package)[process-query]
	  <list-available>: Restrict results to packages matching
	  'supported-package?".
	* guix/ui.scm (package->recutils): Print "systems:".
	* tests/guix-package.sh: Add tests.
	* doc/guix.texi (Invoking guix package): Adjust description of
	  '--list-available' accordingly.

	packages: Add 'supported-package?'.
	* guix/packages.scm (supported-package?): New procedure.
	* tests/packages.scm ("supported-package?"): New test.
	* build-aux/hydra/gnu-system.scm (package->job): Use it instead of
	  'package-transitive-supported-systems'.

2015-04-19  Mark H Weaver  <mhw@netris.org>

	gnu: ccl: Fix inputs on non-Intel platforms.
	* gnu/packages/lisp.scm (ccl)[inputs]: Add default cases in 'match' forms.
	  Fix pattern in "armhf-linux" case of sha256 field.

2015-04-18  Ludovic Courtès  <ludo@gnu.org>

	doc: Warn earlier about the risk of overwriting with the binary install.
	Suggested by Pjotr Prins <pjotr.public12@thebird.nl>.

	* doc/guix.texi (Binary Installation): Move warning about overwriting
	  higher up.

2015-04-18  Andy Wingo  <wingo@pobox.com>

	gnu: gnome-settings-daemon: Use wacom packages.
	* gnu/packages/gnome.scm (gnome-settings-daemon): Use the wacom packages.

	gnu: Add xf86-input-wacom.
	* gnu/packages/xdisorg.scm (xf86-input-wacom): New variable.

	gnu: Add libwacom.
	* gnu/packages/xdisorg.scm (libwacom): New variable.

2015-04-18  Ludovic Courtès  <ludo@gnu.org>

	packages: Allow package lookups with version prefixes.
	* gnu/packages.scm (find-packages-by-name): Sort MATCHING according to
	  'version>?'.  Use 'string-prefix?' instead of 'string=?' to compare
	  against VERSION.
	* doc/guix.texi (Invoking guix package): Add example and explanation.

2015-04-18  Andreas Enge  <andreas@enge.fr>

	gnu: ucommon: Update to 6.3.1.
	* gnu/packages/telephony.scm (ucommon): Update to 6.3.1.

	gnu: ccrtp: Update to 2.1.2.
	* gnu/packages/telephony.scm (ccrtp): Update to 2.1.2.

	gnu: sipwitch: Update to 1.9.7.
	* gnu/packages/telephony.scm (sipwitch): Update to 1.9.7.

	gnu: nano: Update to 2.4.1.
	* gnu/packages/nano.scm (nano): Update to 2.4.1.

	gnu: calibre: Update to 2.25.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.25.0.

2015-04-18  宋文武  <iyzsong@gmail.com>

	gnu: Add MariaDB.
	* gnu/packages/databases.scm (mariadb): New variable.

	gnu: Add libaio.
	* gnu/packages/linux.scm (libaio): New variable.

	gnu: Add jemalloc.
	* gnu/packages/jemalloc.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: gst-plugins-good: Add more inputs and remove unneeded ones.
	* gnu/packages/gstreamer.scm (gst-plugins-good): Move gst-plugins-base
	  from 'native-inputs' to 'inputs'.
	  [inputs]: Add aalib, jack, libavc1394, libcaca, libdv, libiec61833,
	  libshout, libsoup, libvpx, orc, taglib and wavpack.  Remove glib,
	  gstreamer, libogg, libx11, libxext, libxv, and zlib.
	  [arguments]: Remove.

2015-04-18  Mark H Weaver  <mhw@netris.org>

	gnu: ntp: Update to 4.2.8p2.
	* gnu/packages/ntp.scm (ntp): Update to 4.2.8p2.

	gnu: tor: Update to 0.2.5.12.
	* gnu/packages/tor.scm (tor): Update to 0.2.5.12.

	Merge branch 'core-updates'

2015-04-17  Andreas Enge  <andreas@enge.fr>

	gnu: ffmpeg: Drop old version 2.2.
	* gnu/packages/video.scm (ffmpeg-2.2): Remove variable.
	  (ffmpeg)[arguments]: Drop LDFLAGS environment variable needed only for
	  older versions.

2015-04-17  Ludovic Courtès  <ludo@gnu.org>

	monads: Optimize 'sequence'.
	* guix/monads.scm (sequence): Rewrite as a macro.  This yields a 10%
	  improvement in wall-clock time for 'guix system build'.

2015-04-17  Mark H Weaver  <mhw@netris.org>

	gnu: gnome-vfs: Tolerate 'test-async-cancel' failures, take two.
	* gnu/packages/gnome.scm (gnome-vfs)[arguments]: Remove 'XFAIL_TESTS' make
	  flag, which caused 'make check' to fail if the test unexpectedly passed.
	  Add 'patch-test-async-cancel-to-never-fail' phase.

	Merge branch 'master' into core-updates
	Conflicts:
		gnu-system.am
		gnu/packages/gstreamer.scm

2015-04-17  Ludovic Courtès  <ludo@gnu.org>

	services: Explicitly refer to Shadow when requiring the 'nologin' shell.
	* gnu/services/avahi.scm (avahi-service): Change 'shell' to a gexp
	  referring to "nologin" in the SHADOW package.
	* gnu/services/dbus.scm (dbus-service): Likewise.
	* gnu/services/networking.scm (ntp-service, tor-service): Likewise.

2015-04-17  Ludovic Courtès  <ludo@gnu.org>

	system: Populate /etc/shells with the list of all the shells in use.
	Reported by Andy Wingo <wingo@pobox.com>.

	* gnu/system.scm (user-shells, shells-file): New procedures.
	  (etc-directory): Add #:shell parameter.  Use 'shells-file' instead of
	  'text-file'.
	  (operating-system-etc-directory): Call 'user-shells' and pass #:shells
	  to 'etc-directory'.

2015-04-17  David Hashe  <david.hashe@dhashe.com>

	gnu: Add libsrtp.
	* gnu/packages/telephony.scm (libsrtp): New variable.

2015-04-17  Mark H Weaver  <mhw@netris.org>

	gnu: icecat: Use system sqlite.
	* gnu/packages/gnuzilla.scm (icecat)[inputs]: Add sqlite.
	  [arguments]: Pass "--enable-system-sqlite" to configure.

	gnu: gnome-vfs: Expect 'test-async-cancel' failure, and clean up.
	* gnu/packages/gnome.scm (gnome-vfs)[arguments]: Add
	  "XFAIL_TESTS=test-async-cancel" to make flags.  Remove ignored and
	  undocumented 'DISABLE_DEPRECATED_CFLAGS' configure flag.  Simplify
	  'ignore-deprecations' phase and return #t.  Reformat to fit within
	  80 columns.

2015-04-17  Jason Self  <j@jxself.org>

	gnu: linux-libre: Set CONFIG_DEVMEM=y
	* gnu/packages/linux.scm (linux-libre): Set CONFIG_DEVMEM=y.

2015-04-16  Ludovic Courtès  <ludo@gnu.org>

	refresh: Allow users to refer to specific package versions.
	* guix/scripts/refresh.scm (guix-refresh): Use 'specification->package'
	  instead of 'find-packages-by-name'.  This allows users to specify
	  things like "qt-4.8.6".
	* doc/guix.texi (Invoking guix refresh): Add an example.

2015-04-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add second ld-wrapper to work around readlink dereferencing bug.
	Suggested by Mark H Weaver.

	* gnu/packages/ld-wrapper2.in: New file.
	* gnu-system.am (MISC_DISTRO_FILES): Add it.
	* gnu/packages/commencement.scm (fixed-ld-wrapper): New procedure.

2015-04-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: bigloo: Add RUNPATH to the libraries.
	* gnu/packages/scheme.scm (bigloo)[arguments]: Pass --ldflags
	  'configure' flag.

2015-04-16  Manolis Ragkousis  <manolis837@gmail.com>

	gnu: mig: Update to 1.5
	* gnu/packages/hurd.scm (mig): Update to version 1.5.

	gnu: hurd-headers: Update to 0.6
	* gnu/packages/hurd.scm (hurd-headers): Update to version 0.6.

	gnu: gnumach-headers: Update to 1.5
	* gnu/packages/hurd.scm (gnumach-headers): Update to version 1.5.

2015-04-16  Andreas Enge  <andreas@enge.fr>

	gnu: vlc: Update to 2.2.0.
	* gnu/packages/video.scm (vlc): Update to 2.2.0.
	  [inputs]: Switch from ffmpeg-2.2 to latest one.

2015-04-16  Ludovic Courtès  <ludo@gnu.org>

	gnu: ffmpeg: Allow tests to run from the build tree.
	* gnu/packages/video.scm (ffmpeg)[arguments]: Add 'set-ld-library-path'
	  phase.

	gnu: ffmpeg: Use 'modify-phases'.
	* gnu/packages/video.scm (ffmpeg)[arguments]: Use 'modify-phases'
	  instead of 'alist-cons-after' et al.

2015-04-16  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add FASTX Toolkit.
	* gnu/packages/bioinformatics.scm (fastx-toolkit): New variable.

	gnu: Add libgtextutils.
	* gnu/packages/textutils.scm (libgtextutils): New variable.

	gnu: tbb: Set library rpath.
	* gnu/packages/tbb.scm (tbb)[arguments]: Add the rpath for lib directory of
	  output to LDFLAGS.

2015-04-16  Ludovic Courtès  <ludo@gnu.org>

	hydra: Increase size of USB image.
	* build-aux/hydra/gnu-system.scm (qemu-jobs) <usb-image>: Increase from
	  800 MiB to 850 MiB.

	gnu: icecat: Disable RUNPATH validation.
	* gnu/packages/gnuzilla.scm (icecat)[arguments]: Pass
	  #:validate-runpath? #f.

2015-04-16  Paul van der Walt  <paul@denknerd.org>

	gnu: mu: Update to 0.9.12.
	* gnu/packages/mail.scm (mu): Update to version 0.9.12.

2015-04-16  Ludovic Courtès  <ludo@gnu.org>

	build-system/haskell: Adjust to new 'modify-phases' syntax.
	* guix/build/haskell-build-system.scm (%standard-phases): Add missing
	  quotes, as needed since commit f8503e2.

	build: Build and install (guix build haskell-build-system).
	* Makefile.am (MODULES): Add guix/build/haskell-build-system.scm.

2015-04-15  Ludovic Courtès  <ludo@gnu.org>

	doc: Add section on installation from a binary tarball.
	* doc/guix.texi (Binary Installation): New section.

	profiles: Generalize "hooks" for 'profile-derivation'.
	* guix/profiles.scm (info-dir-file): Remove (null? (manifest-entries
	  manifest)) test.
	  (ca-certificate-bundle): Likewise.
	  (ghc-package-cache-file): Turn 'if' into 'and', and remove second
	  arm.
	  (%default-profile-hooks): New variable.
	  (profile-derivation): Remove #:info-dir?, #:ghc-package-cache?, and
	  #:ca-certificate-bundle?.  Add #:hooks.  Iterate over HOOKS.  Adjust
	  'inputs' accordingly.
	* guix/scripts/package.scm (guix-package): Adjust 'profile-derivation'
	  call accordingly.
	* tests/packages.scm ("--search-paths with pattern"): Likewise.
	* tests/profiles.scm ("profile-derivation",
	  "profile-derivation, inputs"): Likewise.

	gnu: qt-4: Add "doc" output; use more standard directory names.
	* gnu/packages/qt.scm (qt-4)[outputs]: New field.
	  (qt-4)[arguments]: Pass '-docdir', '-demosdir', and '-examplesdir'.

2015-04-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: qt-4: Do not set $LDFLAGS since that triggerred a build failure.
	Fixes the build failure at <http://hydra.gnu.org/build/379884/log/raw>:

	  g++ -licui18n -Wl,-O1 [...] -o ../../../../bin/assistant [...]
	  ld: warning: libQtCLucene.so.4, needed by /tmp/nix-build-qt-4.8.6.drv-0/qt-everywhere-opensource-src-4.8.6/lib/libQtHelp.so, not found (try using -rpath or -rpath-link)
	  /tmp/nix-build-qt-4.8.6.drv-0/qt-everywhere-opensource-src-4.8.6/lib/libQtHelp.so: undefined reference to `QCLucenePhraseQuery::getTerms() const'
	  [...]

	* gnu/packages/patches/qt4-ldflags.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/qt.scm (qt-4)[source]: Use it.
	  [arguments]: Remove 'setenv' call in 'configure' phase.

2015-04-15  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: icedtea6: Update to 1.13.7.
	* gnu/packages/java.scm (icedtea6): Update to version 1.13.7.

2015-04-15  宋文武  <iyzsong@gmail.com>

	gnu: wine: Add $libdir to the RUNPATH of binaries.
	* gnu/packages/wine.scm (wine)[arguments]: Add #:configure-flags.

	gnu: wine: Update to 1.7.40.
	* gnu/packages/wine.scm (wine): Update to 1.7.40.

2015-04-15  Andreas Enge  <andreas@enge.fr>

	gnu: calibre: Update to 2.24.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.24.0.

2015-04-15  Ludovic Courtès  <ludo@gnu.org>

	build-system/haskell: Refer to %GNU-BUILD-SYSTEM-MODULES.
	Fixes a regression whereby haskell-build-system was using an incomplete
	module list.

	* guix/build-system/haskell.scm (%haskell-build-system-modules): New
	  variable.
	  (haskell-build): Use it as the default value of #:imported-modules.

2015-04-15  Ludovic Courtès  <ludo@gnu.org>

	packages: Refer to the native tools when handling sources and downloads.
	* guix/packages.scm (patch-and-repack)[build]: Change most #$ to #+.
	* guix/cvs-download.scm (cvs-fetch)[build]: Likewise.
	* guix/download.scm (url-fetch)[builder]: Likewise.
	* guix/git-download.scm (git-fetch)[build]: Likewise.
	* guix/svn-download.scm (svn-fetch)[build]: Likewise.

2015-04-15  宋文武  <iyzsong@gmail.com>

	gnu: fltk: Add $libdir to the RUNPATH of binaries.
	* gnu/packages/fltk.scm (fltk)[arguments]: Add
	  DSOFLAGS=-Wl,-rpath=$libdir to #:configure-flags.

	gnu: fltk: Update to 1.3.3.
	* gnu/packages/fltk.scm (fltk): Update to 1.3.33

	gnu: recode: Fix tests.
	* gnu/packages/textutils.scm (recode): Rename phase 'fix-setup-py to 'pre-check.
	  Set LD_LIBRARY_PATH to "$(pwd)/src/.libs" in pre-check phase.

2015-04-14  Ludovic Courtès  <ludo@gnu.org>

	build: Add missing 'make-binary-tarball.scm' script.
	This script is used by the target added in 9d3fb6c.

	* build-aux/make-binary-tarball.scm: New file.
	* Makefile.am (EXTRA_DIST): Add it.

2015-04-14  Ludovic Courtès  <ludo@gnu.org>

	hydra: Add jobs for the self-contained tarball.
	* build-aux/hydra/gnu-system.scm (tarball-jobs): New procedure.
	  (hydra-jobs): Use it.

	gnu: Don't use #:prefix in (gnu packages sdl).
	* gnu/packages/sdl.scm: Remove #:prefix for (gnu packages fontutils)
	  import, and adjust accordingly.  Add #:hide for (guix licenses)
	  import.

	Thank Pjotr.

2015-04-14  Ludovic Courtès  <ludo@gnu.org>

	install: Add a procedure to build a self-contained binary tarball.
	Suggested by Pjotr Prins <pjotr.public12@thebird.nl>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-04/msg00229.html>.

	* gnu/build/install.scm (populate-single-profile-directory): New procedure.
	* gnu/system/install.scm (self-contained-tarball): New procedure.
	* Makefile.am (guix-binary.%.tar.xz): New target.

2015-04-14  Ludovic Courtès  <ludo@gnu.org>

	build: Silence warnings about 'make' portability.
	* configure.ac: Pass -Wno-portability to AM_INIT_AUTOMAKE.

2015-04-14  Andreas Enge  <andreas@enge.fr>

	gnu: calibre: Update to 2.23.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.23.0.

2015-04-14  宋文武  <iyzsong@gmail.com>

	gnu: gst-libav: Use system ffmpeg instead of bundled libav.
	* gnu/packages/gstreamer.scm (gst-libav)[arguments]: Remove #:phases.
	  Add #:configure-flags.
	  [native-inputs]: Remove yasm.
	  [inputs]: Add ffmpeg.

2015-04-14  Mark H Weaver  <mhw@netris.org>

	guix package: Add '--do-not-upgrade' option.
	* guix/scripts/package.scm (%options): Add the '--do-not-upgrade' option.
	  (show-help): Document it.
	  (options->installable): Add 'do-not-upgrade-regexps' variable.
	  Use it in 'packages-to-upgrade'.
	* doc/guix.texi (Invoking guix package): Document the '--do-not-upgrade'
	  option.

	gnu: Add mdadm.
	* gnu/packages/linux.scm (mdadm): New variable.

2015-04-14  Andy Wingo  <wingo@pobox.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: Add gnome-settings-daemon.
	* gnu/packages/gnome.scm (gnome-settings-daemon): New variable.

2015-04-14  Andy Wingo  <wingo@pobox.com>

	gnu: Add libgweather.
	* gnu/packages/gnome.scm (libgweather): New variable.

2015-04-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: qt-5: Allow the use of DT_RUNPATH for libQt5WebEngineCore.so.
	* gnu/packages/patches/qt5-runpath.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/qt.scm (qt)[source]: Use it.

	gnu: miniupnpc: Allow executables to find libupnp.so.
	* gnu/packages/upnp.scm (miniupnpc)[arguments]: Pass
	  "LDFLAGS=-Wl,-rpath=...".

	gnu: libtocc: Help the tests find libtocc.so.
	* gnu/packages/search.scm (libtocc)[arguments] <check>: Pass
	  -Wl,-rpath=../src/.libs for the tests.

	gnu: libmicrohttpd: Update to 0.9.40.
	* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.40.

	gnu: Disable RUNPATH validation for packages that use $ORIGIN.
	* gnu/packages/haskell.scm (ghc)[arguments]: Add #:validate-runpath?.
	* gnu/packages/julia.scm (julia)[arguments]: Likewise.
	* gnu/packages/java.scm (icedtea6)[arguments]: Likewise.

2015-04-14  宋文武  <iyzsong@gmail.com>

	gnu: glib: Move html documentation to $doc/share/gtk-doc/html.
	* gnu/packages/glib.scm (glib)[arguments]<#:configure-flags>:
	  Pass "--with-html-dir=$doc/share/gtk-doc/html".

	gnu: openldap: Update to 2.4.40.
	* gnu/packages/openldap.scm (openldap): Update to 2.4.40.

2015-04-14  宋文武  <iyzsong@gmail.com>

	gnu: python: Use 'version-major+minor' to compute PYTHONPATH.
	Fixes a regression introduced in 08c0450.

	* gnu/packages/python.scm (python)[native-search-paths]: Use
	  'version-major+minor' to compute PYTHONPATH.

2015-04-14  Mark H Weaver  <mhw@netris.org>

	gnu: linux-libre: Remove linux-libre-vblank-fix.patch.
	* gnu/packages/patches/linux-libre-vblank-fix.patch: Remove file.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/linux.scm (linux-libre): Remove patch.

2015-04-14  David Thompson  <dthompson2@worcester.edu>

	gnu: ruby: Update to 2.2.2.
	* gnu/packages/ruby.scm (ruby): Update to 2.2.2.

2015-04-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: emacs: Do not keep references to the entries of the build-time $PATH.
	This reduces the number of references of the output from 54 to 31,
	removing references notably to gcc, expat, glib:bin, ld-wrapper-0,
	texinfo, pkg-config, make, gawk, binutils, etc.

	Reported by David Thompson.

	* gnu/packages/patches/emacs-exec-path.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/emacs.scm (emacs)[source]: Use it.

2015-04-13  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: rseqc: Update hash.
	* gnu/packages/bioinformatics.scm (rseqc): Update hash.

2015-04-13  Mark H Weaver  <mhw@netris.org>

	gnu: gst-libav: Add missing quotes in phase names passed to 'modify-phases'.
	This should have been done in 1ca8ff285ba0f055fbaf314d8a23fadc25839135.

	* gnu/packages/gstreamer.scm (gst-libav): Add missing quotes in phase names
	  passed to 'modify-phases'.

2015-04-13  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 4.0
	* gnu/packages/linux.scm (linux-libre): Update to version 4.0.

2015-04-13  Mark H Weaver  <mhw@netris.org>

	gnu: libepoxy: Fix tests on arm.
	* gnu/packages/gl.scm (libepoxy)[arguments]: When building for arm,
	  patch test/dlwrap.c to fix the tests.

	Merge branch 'master' into core-updates

	gnu: p11-kit: Update to 0.23.1.
	* gnu/packages/gnutls.scm (p11-kit): Update to 0.23.1.

	gnu: net-tools: Adapt to linux-libre-headers-3.14.x.
	* gnu/packages/linux.scm (net-tools): Remove the HAVE_HWSTRIP and HAVE_HWTR
	  options from the configuration.

2015-04-13  Andy Wingo  <wingo@pobox.com>
	    Ludovic Courtès  <ludo@gnu.org>

	services: Add upower.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/upower.scm.
	* gnu/services/upower.scm: New file, defining a upower service.
	* doc/guix.texi (Various Services): Mention it.

2015-04-13  Andy Wingo  <wingo@pobox.com>

	gnu: Add upower.
	* gnu/packages/gnome.scm (upower): New variable.
	* gnu/packages/patches/upower-builddir.patch: New patch.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-04-13  Ludovic Courtès  <ludo@gnu.org>

	lint: Add a 'derivation' checker.
	* guix/scripts/lint.scm (check-derivation): New procedure.
	  (%checkers): Add 'derivation' checker.
	* tests/lint.scm ("derivation: invalid arguments"): New test.

2015-04-12  Mark H Weaver  <mhw@netris.org>

	gnu: gnutls: Update to 3.4.0.
	* gnu/packages/patches/gnutls-fix-duplicate-manpages.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/gnutls.scm (gnutls)[source]: Update to 3.4.0.  Add patch.
	  [arguments]: Pass --without-p11-kit to 'configure'.
	  [propagated-inputs]: Use 'nettle' instead of 'nettle-2'.  Add 'libidn'.

	gnu: gnutls: Add debug output.
	* gnu/packages/gnutls.scm (gnutls)[outputs]: Add debug output.

	gnu: nettle: Add debug output.
	* gnu/packages/nettle.scm (nettle)[outputs]: Add debug output.

2015-04-12  Ludovic Courtès  <ludo@gnu.org>

	doc: Add example showing how to customize 'nscd-service'.
	* doc/guix.texi (Name Service Switch): Add link to nss-mdns.  Add
	  example show how to pass #:name-services to 'nscd-service'.
	  (Base Services): Add link from 'nscd-service' to the above.
	* gnu/services/base.scm (nscd-service): Update docstring accordingly.

	gnu: man-pages: Update to 3.82.
	* gnu/packages/man.scm (man-pages): Update to 3.82.

	system: Allow users to PTRACE_ATTACH to their own processes.
	* gnu/build/activation.scm (activate-ptrace-attach): New procedure.
	* gnu/system.scm (operating-system-activation-script): Use it.

	build: Build and install (guix build-system haskell).
	* Makefile.am (MODULES): Add guix/build-system/haskell.scm.

2015-04-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: gtk+: Pass --with-html-dir=$doc.
	Fixes a regression introduced in 6b1f238.

	* gnu/packages/gtk.scm (gtk+)[arguments]: Add #:configure-flags.

2015-04-11  Ludovic Courtès  <ludo@gnu.org>

	gnu: elfutils: Add $libdir to the RUNPATH of binaries.
	* gnu/packages/elf.scm (elfutils)[arguments]: New field.

	gnu: elfutils: Work around PTRACE_ATTACH-induced test failures.
	* gnu/packages/patches/elfutils-tests-ptrace.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/elf.scm (elfutils)[source]: Use it.

2015-04-11  Ludovic Courtès  <ludo@gnu.org>

	packages: 'package-transitive-supported-systems' accounts for implicit inputs.
	Reported by Federico Beffa.

	* guix/packages.scm (package-transitive-supported-systems): Use
	  bag-direct-inputs + package->bag rather than package-direct-inputs.
	* tests/packages.scm ("package-transitive-supported-systems"): Add
	  explicit 'build-system' field to each 'dummy-package' form.
	  ("package-transitive-supported-systems, implicit inputs"): New test.

2015-04-11  Ludovic Courtès  <ludo@gnu.org>

	packages: Add 'bag-direct-inputs'.
	* guix/packages.scm (bag-direct-inputs): New procedure.
	  (bag-transitive-inputs): Use it.

	gnu: nspr: Add $libdir to the RUNPATH of binaries.
	* gnu/packages/gnuzilla.scm (nspr)[arguments]: Add
	  LDFLAGS=-Wl,-rpath=$libdir to #:configure-flags.

	gnu: netpbm: Remove non-FSDG-compliant code in 'snippet'.
	* gnu/packages/netpbm.scm (netpbm)[source]: Add 'file-name', 'modules',
	  and 'snippet'.
	  [arguments]: Remove 'substitute*' uses that removed non-FSDG-compliant
	  code since this is now done in 'snippet'.

2015-04-11  宋文武  <iyzsong@gmail.com>

	gnu: iptables: Add $libdir to the RUNPATH of executables.
	* gnu/packages/linux.scm (iptables)[arguments]: Add #:configure-flags.

	gnu: libcap: Add $libdir to the RUNPATH of executables.
	* gnu/packages/linux.scm (libcap)[arguments]: Set LDFLAGS to
	  '-Wl,-rpath=...' in Make.Rules.

	gnu: cdparanoia: Don't use patchelf.
	* gnu/packages/cdrom.scm (cdparanoia): Remove 'patchelf' from inputs.
	  [arguments]: Remove #:modules, #:imported-modules and #:phases.  Pass
	  'LDFLAGS=-Wl,-rpath=...' as #:configure-flags.
	  [origin]: Add 'snippet'.

	gnu: netpbm: Add $libdir to the RUNPATH of binaries.
	* gnu/packages/netpbm.scm (netpbm)[arguments]: Add 'LDFLAGS += -Wl,-rpath=...'
	  to config.mk in the configure phase.

2015-04-11  宋文武  <iyzsong@gmail.com>

	gnu: subversion: Add $libdir to the RUNPATH of Perl bindings.
	Fixes <http://bugs.gnu.org/20052>.

	* gnu/packages/version-control.scm (subversion)[arguments]:
	  Pass '-Wl,-rpath=...' as OTHERLDFLAGS in install-perl-bindings phase.

2015-04-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: boost: Add $libdir to the RUNPATH of libraries.
	* gnu/packages/boost.scm (boost)[arguments]: Add -Wl,-rpath=... to
	  BUILD-FLAGS.  Remove 'check' phase and use #:tests? #f instead.

2015-04-10  Mark H Weaver  <mhw@netris.org>

	gnu: emacs: Update to 24.5.
	* gnu/packages/emacs.scm (emacs): Update to 24.5.

2015-04-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: libtool: Leave out the test suite workarounds.
	They are no longer needed since the latest ld-wrapper changes (commit
	51d0cd9.)

	* gnu/packages/patches/libtool-skip-tests2.patch: New file.
	* gnu/packages/autotools.scm (libtool)[source]: Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-04-10  宋文武  <iyzsong@gmail.com>

	gnu: libvpx: Augment rpath.
	Fixes <http://bugs.gnu.org/20055>.

	* gnu/packages/video.scm (libvpx)[arguments]: Set LDFLAGS to
	  '-Wl,-rpath=$out/lib' in configure phase.

2015-04-10  Mark H Weaver  <mhw@netris.org>

	system: Clean /tmp and /var/run during early boot.
	* gnu/system.scm (operating-system-boot-script): Clean out /tmp and
	  /var/run before activating the system.

2015-04-10  宋文武  <iyzsong@gmail.com>

	gnu: Add gst-libav.
	* gnu/packages/gstreamer.scm (gst-libav): New variable.

2015-04-10  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add GRIT.
	* gnu/packages/bioinformatics.scm (grit): New variable.

2015-04-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add missing quotes in phase names passed to 'modify-phases'.
	This is a followup to f8503e2.

	* gnu/packages/gnome.scm (glib-networking): Add missing quotes before
	  phase names passed to 'modify-phases'.
	  (libsoup): Likewise.
	  (gnome-terminal): Likewise.
	  (colord): Likewise.
	  (geoclue): Likewise.
	* gnu/packages/gtk.scm (at-spi2-core, at-spi2-atk): Likewise.
	* gnu/packages/haskell.scm (ghc-network): Likewise.
	* gnu/packages/imagemagick.scm (perl-image-magick): Likewise.
	* gnu/packages/video.scm (aalib): Likewise.
	* gnu/packages/web.scm (nginx): Likewise.

2015-04-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: Fix incorrect references to %GNU-BUILD-SYSTEM-MODULES.
	Fixes a regression introduced in 8ff3df5.

	* gnu/packages/emacs.scm (emacs-w3m)[arguments]: Use quasiquote, not
	  quote.
	  (emacs-wget)[arguments]: Likewise, and use unquote-splicing for
	  %GNU-BUILD-SYSTEM-MODULES.
	  (emms): Likewise.
	* gnu/packages/haskell.scm (ghc): Likewise.
	* gnu/packages/samba.scm (samba): Likewise.

2015-04-10  Ludovic Courtès  <ludo@gnu.org>

	lint: Report patches that cannot be found.
	* guix/scripts/lint.scm (check-patch-file-names): Wrap body in 'guard'.
	* tests/lint.scm ("patches: not found"): New test.

	lint: Rename 'check-patches' to 'check-patch-file-names'.
	* guix/scripts/lint.scm (check-patches): Rename to...
	  (check-patch-file-names): ... this.  Rename 'filename' to 'file'.
	  (%checkers): Adjust accordingly.
	* tests/lint.scm ("patches: file names"): Likewise.

2015-04-10  Tomáš Čech  <sleep_walker@gnu.org>

	gnu: curl: Update to 7.41.0.  Support CURLOPT_CAPATH on GnuTLS.
	Fixes <http://bugs.gnu.org/20121>.

	* gnu/packages/patches/curl-gss-api-fix.patch: Delete file.
	* gnu/packages/patches/curl-support-capath-on-gnutls.patch,
	  gnu/packages/patches/curl-support-capath-on-gnutls-conf.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add new patches and remove old one.
	* gnu/packages/curl.scm (curl): Update to 7.41.0.  Add new patches and remove
	  old one.  Disable one unit test.

	Modified-By: Mark H Weaver <mhw@netris.org>

2015-04-10  宋文武  <iyzsong@gmail.com>

	gnu: gnome-themes-standard: Update to 3.16.0.
	This is a followup to 12f7f4a.

	* gnu/packages/gnome.scm (gnome-themes-standard): Update hash.

2015-04-10  Mark H Weaver  <mhw@netris.org>

	gnu: python-2: Restore python-libffi-mips-n32-fix.patch.
	This patch was removed in 08c045091e8d8da3b4c677540ed577e8f2448b0d,
	but it's still needed for python-2.

	* gnu/packages/patches/python-libffi-mips-n32-fix.patch: Restore it.
	* gnu-system.am (dist_patch_DATA): Add it back.

2015-04-10  Cyril Roelandt  <tipecaml@gmail.com>

	python: Update to 3.4.3
	* gnu/packages/python.scm (python): Update from 3.3.5 to 3.4.3.
	* gnu/packages/patches/python-fix-tests.patch: Update the required test fixes.
	* gnu/packages/patches/python-libffi-mips-n32-fix.patch: Remove it...
	* gnu-system.am (dist_patch_DATA): ... and do not reference it here.

2015-04-09  Ludovic Courtès  <ludo@gnu.org>

	Add Bash completion file.
	* etc/completion/bash/guix: New file.
	* Makefile.am (dist_bashcompletion_DATA): New variable.
	* configure.ac: Add --with-bash-completion-dir.

2015-04-09  Andy Wingo  <wingo@pobox.com>

	gnu: Add geocode-glib.
	* gnu/packages/gnome.scm (geocode-glib): New variable.

	gnu: gnome-desktop: Update to 3.16.0.
	* gnu/packages/gnome.scm (gnome-desktop): Update to 3.16.0.

2015-04-09  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

	gnu: libtasn1: Update to 4.4 [fix for CVE-2015-2806].
	* gnu/packages/gnutls.scm (libtasn1): Update to 4.4.

	gnu: nettle: Update to 3.1.
	* gnu/packages/nettle.scm (nettle): Update to 3.1.  Add 'arguments'
	  field.

	gnu: nettle: Make version 3 the default.
	* gnu/packages/nettle.scm (nettle): Rename to...
	  (nettle-2): ... this.
	  (nettle-3): Rename to...
	  (nettle): ... this.
	* gnu/packages/gnutls.scm (gnutls): Use NETTLE-2.
	* gnu/packages/lsh.scm (lsh): Likewise.

2015-04-09  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add Shogun.
	* gnu/packages/bioinformatics.scm (shogun): New variable.

2015-04-09  Mark H Weaver  <mhw@netris.org>

	gnu: gcc: Do not pass -dynamic-linker to linker when !shared on arm.
	Fixes <http://bugs.gnu.org/20102>.

	* gnu/packages/patches/gcc-arm-link-spec-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/gcc.scm (gcc-4.8, gcc-4.9): Add patch.
	* gnu/packages/cross-base.scm (cross-gcc): Preserve patches from gcc-4.8.

	Co-Authored-By: Ludovic Courtès <ludo@gnu.org>

2015-04-08  Ludovic Courtès  <ludo@gnu.org>

	http-client: Add workaround for HTTP pipelining on Guile <= 2.0.9.
	Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

	* guix/http-client.scm (make-delimited-input-port): New procedure.
	  Install it in (web response) for Guile <= 2.0.9.

2015-04-08  Ludovic Courtès  <ludo@gnu.org>

	activation: Remove undeclared user accounts and groups.
	Fixes <http://bugs.gnu.org/19795>.
	Reported by David Thompson <dthompson2@worcester.edu>.

	* gnu/build/activation.scm (enumerate, current-users, current-groups,
	  delete-user, delete-group): New procedures.
	  (activate-users+groups): Add calls to 'delete-user' and
	  'delete-group'.
	* doc/guix.texi (User Accounts): Add a paragraph about statelessness.
	  Explain that passwords are preserved.

2015-04-08  Federico Beffa  <beffa@fbengineering.ch>

	gnu: Add ghc-http.
	* gnu/packages/haskell.scm (ghc-http): New variable.

	gnu: Add ghc-network-uri.
	* gnu/packages/haskell.scm (ghc-network-uri): New variable.

	gnu: Add ghc-network.
	* gnu/packages/haskell.scm (ghc-network): New variable.

	gnu: Add ghc-vector.
	* gnu/packages/haskell.scm (ghc-vector): New variable.

	gnu: Add ghc-parsec.
	* gnu/packages/haskell.scm (ghc-parsec): New variable.

	gnu: Add ghc-split.
	* gnu/packages/haskell.scm (ghc-split): New variable.

	gnu: Add ghc-unordered-containers.
	* gnu/packages/haskell.scm (ghc-unordered-containers): New variable.

	gnu: Add ghc-fgl.
	* gnu/packages/haskell.scm (ghc-fgl): New variable.

	gnu: Add ghc-containers.
	* gnu/packages/haskell.scm (ghc-containers): New variable.

	gnu: Add ghc-syb.
	* gnu/packages/haskell.scm (ghc-syb): New variable.

	gnu: Add ghc-case-insensitive.
	* gnu/packages/haskell.scm (ghc-case-insensitive): New variable.

	gnu: Add ghc-quickcheck.
	* gnu/packages/haskell.scm (ghc-quickcheck): New variable.

	gnu: Add ghc-tf-random.
	* gnu/packages/haskell.scm (ghc-tf-random): New variable.

	gnu: Add ghc-primitive.
	* gnu/packages/haskell.scm (ghc-primitive): New variable.

	gnu: Add ghc-random.
	* gnu/packages/haskell.scm (ghc-random): New variable.

	gnu: Add ghc-hunit
	* gnu/packages/haskell.scm (ghc-hunit): New variable.

	gnu: Add ghc-hashable.
	* gnu/packages/haskell.scm (ghc-hashable): New variable.

	gnu: Add ghc-text.
	* gnu/packages/haskell.scm (ghc-text): New variable.

	gnu: Add ghc-parallel.
	* gnu/packages/haskell.scm (ghc-parallel): New variable.

	gnu: Add ghc-stm.
	* gnu/packages/haskell.scm (ghc-stm): New variable.

	gnu: Add ghc-zlib.
	* gnu/packages/haskell.scm (ghc-zlib): New variable.

	gnu: Add ghc-paths.
	* gnu/packages/haskell.scm: (ghc-paths): New variable.

	gnu: Add ghc-mtl.
	* gnu/packages/haskell.scm: (ghc-mtl): New variable.

	profiles: Generate GHC's package database cache.
	* guix/profiles.scm (ghc-package-cache-file): New procedure.
	  (profile-derivation): Add 'ghc-package-cache?' keyword argument.  If true
	  (the default), add the result of 'ghc-package-cache-file' to 'inputs'.
	* guix/scripts/package.scm (guix-package)[process-actions]: Pass
	  #:ghc-package-cache? to 'profile-generation'.
	* tests/packages.scm ("--search-paths with pattern"): Likewise.
	* tests/profiles.scm ("profile-derivation"): Likewise.

	build-system/haskell: Update configure flags, 'haddock' and %standard-phases.
	* guix/build/haskell-build-system.scm (%standard-phases): move 'haddock phase
	  before 'install phase.
	* guix/build/haskell-build-system.scm (haddock): Simplify it as the 'install
	  phase takes care of copying files.
	* guix/build/haskell-build-system.scm (configure): Add '--libsubdir' flag.
	  Fix use of '--extra-include-dirs' and '--extra-lib-dirs' flags.  Use 'doc',
	  'bin' and 'lib' outputs if they are defined.
	* guix/build/haskell-build-system.scm (make-ghc-package-database, register):
	  Aligh location of 'package.conf.d' directory with '--libsubdir' flag.

	import: Add hackage importer.
	* guix/import/hackage.scm: New file.
	* tests/hackage.scm: New file.

	import: Add hackage importer.
	* guix/scripts/import.scm (importers): Add hackage.
	* guix/scripts/import/hackage.scm: New file.
	* po/guix/POTFILES.in: Add guix/scripts/import.scm.
	* doc/guix.texi: Add section on 'hackage' importer.

2015-04-08  宋文武  <iyzsong@gmail.com>

	gnu: Add libsecret.
	* gnu/packages/gnome.scm (libsecret): New variable.

2015-04-08  Andy Wingo  <wingo@pobox.com>

	gnu: Add geoclue.
	* gnu/packages/gnome.scm (geoclue): New variable.
	* gnu/packages/patches/geoclue-config.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-04-08  Andy Wingo  <wingo@pobox.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: Add colord service.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/colord.scm.
	* gnu/services/colord.scm: New file.
	* doc/guix.texi (Various Services): Document it.

2015-04-08  Andy Wingo  <wingo@pobox.com>

	gnu: Add colord package.
	* gnu/packages/gnome.scm (colord): New variable.

2015-04-08  Ludovic Courtès  <ludo@gnu.org>

	build: Enable silent rules by default.
	* configure.ac: Use 'AM_SILENT_RULES'.

	gnu: guix: Update development snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update to 0b13161.

	tests: Skip 'guix-package-net.sh' when prerequisites aren't met.
	* tests/guix-package-net.sh: Reinstate networking and shebang test that
	  inadvertently vanished in commit 57b8623.

	gnu: inetutils: Apply syslogd patch.
	* gnu/packages/patches/inetutils-syslogd.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/admin.scm (inetutils)[source]: Use it.
	  [native-inputs]: New field.

2015-04-08  宋文武  <iyzsong@gmail.com>

	Merge branch 'master' into core-updates

	gnu: at-spi2-core: Move html documentation to 'doc' output.
	* gnu/packages/gtk.scm (at-spi2-core)[outputs]: New field.
	  [arguments]: Add #:configure-flags.

	gnu: at-spi2-atk: Propagate input at-spi2-core.
	* gnu/packages/gtk.scm (at-spi2-atk): Move at-spi2-core to 'propagated-inputs'.
	  Move dbus to 'native-inputs'.

	gnu: at-spi2-atk: Enable tests.
	* gnu/packages/gtk.scm (at-spi2-atk)[arguments]: Remove #:tests? #f.
	  Add #:phases.

	gnu: atk: Propagate input glib.
	* gnu/packages/gtk.scm (atk): Move glib to 'propagated-inputs'.

	gnu: at-spi2-atk: Update to 2.16.0.
	* gnu/packages/gtk.scm (at-spi2-atk): Update to 2.16.0.

	gnu: atk: Move html documentation to 'doc' output.
	* gnu/packages/gtk.scm (atk)[outputs]: New field.
	  [arguments]: New field.

	gnu: atk: Update to 2.16.0.
	* gnu/packages/gtk.scm (atk): Update to 2.16.0.

	gnu: at-spi2-core: Enable GObject introspection.
	* gnu/packages/gtk.scm (at-spi2-core)[arguments]: Add #:make-flags.
	  [native-inputs]: Add gobject-introspection.

	gnu: at-spi2-core: Propagate inputs dbus and glib.
	* gnu/packages/gtk.scm (at-spi2-core): Move dbus and glib to
	  'propagated-inputs'.

	gnu: at-spi2-core: Enable tests.
	* gnu/packages/gtk.scm (at-spi2-core)[arguments]: Remove #:tests? #f.
	  Add #:phases.

	gnu: at-spi2-core: Update to 2.16.0.
	* gnu/packages/gtk.scm (at-spi2-core): Update to 2.16.0.

	gnu: gtk+-2: Move html documentation to 'doc' output.
	* gnu/packages/gtk.scm (gtk+-2)[outputs]: New field.
	  [arguments]<#:configure-flags>: Add '--with-html-dir'.

	gnu: gtk+-2: Add more inputs.
	* gnu/packages/gtk.scm (gtk+-2)[inputs]: Add cups, libxcomposite,
	  libxcursor, libxdamage, libxi, libxinerama and libxrandr.
	  [native-inputs]: Add gettext.
	  [arguments]: Add #:configure-flags.

	gnu: gtk+-2: Update to 2.24.27.
	* gnu/packages/gtk.scm (gtk+-2): Update to 2.24.27.

2015-04-08  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: julia: Pass MARCH make flag.
	* gnu/packages/julia.scm (julia)[arguments]: Pass "MARCH" flag for supported
	  architectures.

	gnu: julia: Mark as unsupported on ARM and MIPS.
	* gnu/packages/julia.scm (julia): Add 'supported-systems' field.

2015-04-08  宋文武  <iyzsong@gmail.com>

	gnu: wavpack: Fix wavpack.pc by passing '--libdir' to `configure'.
	* gnu/packages/audio.scm (wavpack)[arguments]: New field.

2015-04-07  Ludovic Courtès  <ludo@gnu.org>

	doc: Refer to "Substitutes" from "Setting Up the Daemon".
	Suggested by Mark H Weaver.

	* doc/guix.texi (Setting Up the Daemon): Add xref to "Substitutes".

2015-04-07  Ludovic Courtès  <ludo@gnu.org>

	doc: Mention the relation between module names and file names.
	* doc/guix.texi (Package Modules): Mention the relation between module
	  names and file names.

	doc: Mention that the current generation is not deleted.
	* doc/guix.texi (Invoking guix package): Mention that the current
	  generation is not deleted.  This is a followup to d26eb84.

	gnu: Emit a warning when a package module cannot be loaded.
	* guix/ui.scm (warn-about-load-error): New procedure.
	* gnu/packages.scm (package-modules): Wrap 'resolve-interface' call in
	  'catch #t', and call 'warn-about-load-error' in handler.

	ui: Add 'report-load-error'.
	* guix/scripts/system.scm (read-operating-system): Replace error
	  handling code by a call to 'report-load-error'.
	* guix/ui.scm (report-load-error): New procedure.

	gnu: Change ld-wrapper extension from .scm to .in.
	* gnu/packages/ld-wrapper.scm: Rename to...
	* gnu/packages/ld-wrapper.in: ... this.
	* gnu/packages/base.scm (make-ld-wrapper): Adjust "wrapper" input
	  accordingly.
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove ld-wrapper.scm.
	  (MISC_DISTRO_FILES): New variable.

	gnu: gcc: Disable RUNPATH validation for native builds.
	* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Pass
	  #:validate-runpath? #f.
	* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Override
	  #:validate-runpath? with 'substitute-keyword-arguments'.
	  (gcc-final)[arguments]: Likewise.
	* gnu/packages/cross-base.scm (cross-gcc-arguments): Likewise.

	gnu: ld-wrapper: Add 'GUIX_LD_WRAPPER_DISABLE_RPATH' environment variable.
	* gnu/packages/ld-wrapper.scm (%disable-rpath?): New variable.
	  (rpath-arguments): Honor it.

2015-04-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: ld-wrapper: Add '-rpath' flag only for libraries that are in the store.
	This avoids adding bogus entries to the RUNPATH of installed binaries,
	pointing to the build directory or similar.

	* gnu/packages/ld-wrapper.scm (store-file-name?): New procedure.
	  (rpath-arguments): Add "-rpath" flag on when FILE matches
	  'store-file-name?', not when it matches 'pure-file-name?'.

2015-04-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: ld-wrapper: Extract symlink dereferencing.
	* gnu/packages/ld-wrapper.scm (readlink*, dereference-symlinks): New
	  procedures.
	  (pure-file-name?): Use it instead of local loop.

2015-04-07  Mark H Weaver  <mhw@netris.org>

	gnu: kbd: Update to 2.0.2.
	* gnu/packages/linux.scm (kbd): Update to 2.0.2.

2015-04-07  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add python-drmaa.
	* gnu/packages/python.scm (python-drmaa, python2-drmaa): New variables.

2015-04-07  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add Solfege.
	* gnu/packages/music.scm (solfege): New variable.

	gnu: Add Csound.
	* gnu/packages/audio.scm (csound): New variable.

2015-04-07  宋文武  <iyzsong@gmail.com>

	gnu: Add libiec61883.
	* gnu/packages/linux.scm (libiec61883): New variable.

2015-04-07  Mark H Weaver  <mhw@netris.org>

	gnu: apl: Update to 1.5.
	* gnu/packages/apl.scm (apl): Update to 1.5.

	gnu: parallel: Update to 20150322.
	* gnu/packages/parallel.scm (parallel): Update to 20150322.

2015-04-07  宋文武  <iyzsong@gmail.com>

	gnu: Add libsoup.
	* gnu/packages/gnome.scm (libsoup): New variable.

2015-04-07  Mark H Weaver  <mhw@netris.org>

	gnu: dbus: Update to 1.8.16.
	* gnu/packages/glib.scm (dbus): Update to 1.8.16.

	gnu: gnutls: Update to 3.3.14.
	* gnu/packages/gnutls.scm (gnutls): Update to 3.3.14.

2015-04-07  Andy Wingo  <wingo@pobox.com>

	gnu: gtk+: Update to 3.16.0.
	* gnu/packages/gtk.scm (gtk+): Update to 3.16.0.  Add libepoxy to
	  propagated-inputs.  Add gettext to native-inputs.  Add a 'pre-configure'
	  phase instead of modifying the existing 'configure' phase.  Fix references
	  to 'gtk-update-icon-cache' in Makefile.in files.

	Co-Authored-By: Mark H Weaver <mhw@netris.org>

2015-04-07  Andy Wingo  <wingo@pobox.com>

	gnu: Add libepoxy.
	* gnu/packages/gl.scm (libepoxy): New variable.

	Modified-By: Mark H Weaver <mhw@netris.org>

2015-04-06  Andy Wingo  <wingo@pobox.com>

	gnu: Paper over a build circularity problem.
	A forthcoming gtk+ update that will import (gnu packages gl) from
	(gnu packages gtk) triggers an issue related to circular dependencies
	between modules.  This patch works around the issue.

	* gnu/packages/sdl.scm: Remove the #:prefix from the (gnu packages fontutils)
	  import, and instead #:hide 'freetype' from the (guix licenses) import.

	Modified-By: Mark H Weaver <mhw@netris.org>

2015-04-06  Ludovic Courtès  <ludo@gnu.org>

	utils: 'find-files' does not follow symlinks by default.
	Fixes <http://bugs.gnu.org/20081>.
	Reported by Tomáš Čech <sleep_walker@suse.cz>.

	* guix/build/utils.scm (find-files): Add #:stat parameter.  Pass it as
	  last argument to 'file-system-fold'.

2015-04-06  Ludovic Courtès  <ludo@gnu.org>

	nls: Add Danish translation.
	* po/guix/da.po: New file.
	* po/guix/LINGUAS: Add 'da'.

	tests: Move 'guix package' tests that require networking to a separate file.
	* tests/guix-package.sh (shebang_not_too_long): Remove.
	  Move everything below "if [networking + shebang_not_too_long]" to...
	* tests/guix-package-net.sh: ... here.  New file.
	* Makefile.am (SH_TESTS): Add it.

	guix package: Avoid 'exit' calls in 'delete-matching-generations'.
	* guix/scripts/package.scm (delete-matching-generations): Remove call to
	  'exit' when PATTERN is "0".  Call 'leave' instead of 'exit'
	  when (null-list? number).

2015-04-06  Ludovic Courtès  <ludo@gnu.org>

	guix package: Never remove the current generation and warn about it.
	Fixes <http://bugs.gnu.org/19978>.
	Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer).

	* guix/scripts/package.scm (delete-matching-generations): Warn when
	  CURRENT is in NUMBERS, and always remove it before calling
	  'delete-generations'.
	* tests/guix-package.sh: Add --switch-generation=2 invocation before
	  --delete-generations=3 invocation.
	  Add --delete-generations=1.. test case.

2015-04-06  Ludovic Courtès  <ludo@gnu.org>

	tests: Deal with 'mount-points' not returning "/".
	Fixes <http://bugs.gnu.org/20261>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* tests/syscalls.scm ("mount-points"): Check for a few other likely
	  mount points in addition to "/".

2015-04-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: lsof: Add mirrors.
	Reported by Tomáš Čech.

	* gnu/packages/lsof.scm (lsof)[source]: Add two mirrors.

2015-04-06  Ludovic Courtès  <ludo@gnu.org>

	guix package: Move generation deletion to its own procedure.
	* guix/scripts/package.scm (delete-matching-generations): New procedure,
	  with code formerly found...
	  (guix-package)[process-actions]: ... here.  Use it.
	  Remove 'current-generation-number'.

2015-04-06  Eric Bavier  <bavier@member.fsf.org>

	gnu: Perl GD: Add real patch.
	Replaces the stub patch added in 43754738e030a4083b0881b2264b905bc563e78b.

	* gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch:
	  Update patch.

	43754738e030a4083b0881b2264b905bc563e78b

2015-04-06  Mark H Weaver  <mhw@netris.org>

	gnu: linux-libre-headers: Update to 3.14.37.
	* gnu/packages/linux.scm (linux-libre-headers): Update to 3.14.37.

	gnu: icecat: Fix source URI.
	* gnu/packages/gnuzilla.scm (icecat)[source]: Fix source URI computation.

2015-04-06  Federico Beffa  <beffa@fbengineering.ch>

	build-system/gnu: Add docstring to 'delete-info-dir-file'.
	* guix/build/gnu-build-system.scm (delete-info-dir-file): Add docstring.

	build-system/gnu: Add 'delete-info-dir-file' phase.
	* guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure.
	  (%standard-phases): Use it.

2015-04-06  Mark H Weaver  <mhw@netris.org>

	gnu: icecat: Update to 31.6.0-gnu1.
	* gnu/packages/patches/icecat-CVE-2015-0801.patch,
	  gnu/packages/patches/icecat-CVE-2015-0807.patch,
	  gnu/packages/patches/icecat-CVE-2015-0815-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-0815-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-0815-pt3.patch,
	  gnu/packages/patches/icecat-CVE-2015-0816.patch,
	  gnu/packages/patches/icecat-CVE-2015-0817.patch,
	  gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch,
	  gnu/packages/patches/icecat-bug-1127780.patch,
	  gnu/packages/patches/icecat-bug-1145870.patch: Remove files.
	* gnu-system.am (dist_patch_DATA): Remove them.
	* gnu/packages/gnuzilla.scm (icecat): Update to 31.6.0-gnu1.  Remove patches.

	gnu: nss: Update to 3.18.
	* gnu/packages/gnuzilla.scm (nss): Update to 3.18.  Compute source URI
	  automatically based on version.

	Remove unused module import (gnu packages ed) from (gnu packages commencement).
	* gnu/packages/commencement.scm: Remove (gnu packages ed) module import.

	gnu: emacs: Add librsvg to inputs.
	* gnu/packages/emacs.scm (emacs)[inputs]: Add librsvg.
	  (emacs-no-x)[inputs]: Remove librsvg from inherited inputs.

	gnu: linux-libre: Fix drm_wait_one_vblank warnings.
	* gnu/packages/patches/linux-libre-vblank-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/linux.scm (linux-libre)[source]: Add patch.

2015-04-06  宋文武  <iyzsong@gmail.com>

	gnu: glib: Add search path specification for 'GIO_EXTRA_MODULES'.
	* gnu/packages/glib.scm (glib): Add specification for 'GIO_EXTRA_MODULES'.

	gnu: Add glib-networking.
	* gnu/packages/gnome.scm (glib-networking): New variable.

2015-04-06  Andy Wingo  <wingo@pobox.com>

	gnu: cairo: Update to 1.14.2.
	* gnu/packages/gtk.scm (cairo): Update to 1.14.2.

	gnu: glib: Update to 2.44.0.
	* gnu/packages/glib.scm (glib): Update to 2.44.0.

2015-04-05  Andy Wingo  <wingo@pobox.com>

	gnu: gettext: Link explicitly to libexpat, again.
	* gnu/packages/gettext.scm (gnu-gettext): Re-enable patch from
	  0e4e4b1329bcf881620f230fda60b6b63d1f8356 to explictly link to
	  libexpat.  Otherwise libexpat was searched at runtime via dlopen,
	  which obviously doesn't work in a Guix context.

2015-04-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: util-linux: Install Bash completions under 'etc/bash_completion.d'.
	* gnu/packages/linux.scm (util-linux)[arguments]: Pass
	  --with-bashcompletiondir.

	linux-initrd: Add virtio drivers by default.
	* gnu/system/linux-initrd.scm (base-initrd): Change #:virtio? default
	  to #t.  This will facilitate the use of GuixSD in VM guests.

	Add Andy to 'AUTHORS'.

2015-04-05  Andy Wingo  <wingo@pobox.com>
	    Ludovic Courtès  <ludo@gnu.org>

	system: Take kernel modules from the user-specified kernel.
	* gnu/system/linux-initrd.scm (base-initrd): Add #:linux option to
	  specify the linux kernel to use.
	* gnu/system/vm.scm (expression->derivation-in-linux-vm): Propagate
	  #:linux to base-initrd.
	* gnu/system.scm (operating-system-initrd-file): Pass #:linux to
	  'make-initrd'.

2015-04-05  David Thompson  <dthompson2@worcester.edu>

	gnu: nginx: Clean up installation directories.
	* gnu/packages/web.scm (nginx): Add 'fix-root-dirs' phase.

	gnu: nginx: Use modify-phases syntax.
	* gnu/packages/web.scm (nginx): Use modify-phases syntax.

	gnu: Add livestreamer.
	* gnu/packages/video.scm (livestreamer): New variable.

	gnu: Add python-singledispatch.
	* gnu/packages/python.scm (python-singledispatch, python2-singledispatch): New
	  variables.

	gnu: python-requests: Fix Python 2 version and add support for Python 3.
	* gnu/packages/python.scm (python-requests): New variable.
	  (python2-requests): Generate based on Python 3 variant.

2015-04-05  宋文武  <iyzsong@gmail.com>

	gnu: gnome-mines: Update to 3.16.0.
	* gnu/packages/gnome.scm (gnome-mines): Update to 3.16.0.

	gnu: gsettings-desktop-schemas: Enable GObject introspection.
	* gnu/packages/gnome.scm (gsettings-desktop-schemas)[native-inputs]:
	  Add gobject-introspection.

	gnu: gsettings-desktop-schemas: Update to 3.16.0.
	* gnu/packages/gnome.scm (gsettings-desktop-schemas): Update to 3.16.0.

2015-04-05  Ludovic Courtès  <ludo@gnu.org>

	gremlin: Ignore non-store file names in RUNPATH and warn about them.
	* guix/build/gremlin.scm (validate-needed-in-runpath)[runpath]:
	  Add (filter absolute-file-name? ...).
	  Emit a warning when RUNPATH file names that do not match
	  'store-file-name?'.  Change format of error message to begin with file
	  name.
	* guix/build/utils.scm (store-file-name?): New procedure.

2015-04-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: ghostscript: Add $libdir to the RUNPATH of executables.
	Fixes <http://bugs.gnu.org/20050>.
	Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer).

	* gnu/packages/patches/ghostscript-runpath.patch: New file.
	* gnu/packages/ghostscript.scm (ghostscript)[source]: Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-04-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: ghostscript: Use 'modify-phases'.
	* gnu/packages/ghostscript.scm (ghostscript)[arguments]: Use
	  'modify-phases' instead of a chain of 'alist-cons-after'.

	gnu: ghostscript: Make sure phases don't fail.
	* gnu/packages/ghostscript.scm (ghostscript)[arguments]: Wrap 'system*'
	  calls in (zero? ...).

2015-04-05  宋文武  <iyzsong@gmail.com>

	gnu: Add aalib.
	* gnu/packages/video.scm (aalib): New variable.

	gnu: Add WavPack.
	* gnu/packages/audio.scm (wavpack): New variable.

	gnu: Add libshout.
	* gnu/packages/xiph.scm (libshout): New varibale.

	gnu: Add libavc1394.
	* gnu/packages/linux.scm (libavc1394): New variable.

	gnu: Add libraw1394.
	* gnu/packages/linux.scm (libraw1394): New variable.

2015-04-05  David Thompson  <dthompson2@worcester.edu>

	gnu: Add icecast.
	* gnu/packages/xiph.scm (icecast): New variable.

2015-04-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: openssl: Set appropriate RUNPATH on shared libraries.
	Fixes <http://bugs.gnu.org/20041>.
	Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer).

	* gnu/packages/patches/openssl-runpath.patch: New file.
	* gnu/packages/openssl.scm (openssl)[source]: Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-04-04  David Thompson  <dthompson2@worcester.edu>

	scripts: Add 'publish' command.
	* guix/scripts/publish.scm: New file.
	* po/guix/POTFILES.in: Add it.
	* tests/publish.scm: New file.
	* Makefile.am (MODULES): Add script module.
	  (SCM_TESTS): Add test module.
	* doc/guix.texi ("Invoking guix publish"): New node.

	store: Add query-path-info operation.
	* guix/store.scm (<path-info>): New record type.
	  (read-path-info): New procedure.
	  (read-arg): Add 'path-info' syntax.
	  (query-path-info): New variable.
	* tests/store.scm ("query-path-info"): New test.

	gnu: node: Update to 0.12.2.

2015-04-04  Andy Wingo  <wingo@pobox.com>

	gnu: Add gnome-terminal.
	* gnu/packages/gnome.scm (gnome-terminal): New variable.

2015-04-04  Mark H Weaver  <mhw@netris.org>

	gnu: Perl GD: Add stub patch.
	This is a temporary fix to enable hydra to complete evaluations, which were
	broken by f7ee7a9b06a386863d7752ba028a79bb98d3504d due to a missing patch
	file.  The real patch will be put into place in a later commit.

	* gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch:
	  New file.  This is just a stub.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-04-04  Mark H Weaver  <mhw@netris.org>

	gnu: source-highlight: Remove obsolete patch.
	This should have been done in a952b10c23c9ca5931793d862a718b55492a046d.

	* gnu/packages/patches/source-highlight-regexrange-test.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Remove it.
	* gnu/packages/pretty-print.scm (source-highlight)[source]: Remove patch.

2015-04-04  Mark H Weaver  <mhw@netris.org>

	gnu: ed: Update to 1.11.
	* gnu/packages/ed.scm (ed): Update to 1.11.

	gnu: source-highlight: Update to 3.1.8.
	* gnu/packages/pretty-print.scm (source-highlight): Update to 3.1.8.

2015-04-04  Federico Beffa  <beffa@fbengineering.ch>

	build-system: Add haskell-build-system.
	* guix/build-system/haskell.scm: New file.
	* guix/build/haskell-build-system.scm: New file.
	* doc/guix.texi: Add section on 'haskell-build-system'.

	gnu: ghc: Fix i686 build.
	* gnu/packages/haskell.scm (ghc-bootstrap-7.8.4): Replace with ...
	  (ghc-bootstrap-i686-7.8.4, ghc-bootstrap-x86_64-7.8.4): ... these.
	  (ghc)[native-inputs]: Select the appropriate bootstrap.

2015-04-04  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add Catalyst-View-JSON.
	* gnu/packages/web.scm (perl-catalyst-view-json): New variable.

	gnu: Add Perl YAML.
	* gnu/packages/perl.scm (perl-yaml): New variable.

	gnu: Add Test-YAML.
	* gnu/packages/perl.scm (perl-test-yaml): New variable.

	gnu: Add Test-Base.
	* gnu/packages/perl.scm (perl-test-base): New variable.

	gnu: Add Spiffy.
	* gnu/packages/perl.scm (perl-spiffy): New variable.

	gnu: Add Catalyst-View-Download.
	* gnu/packages/web.scm (perl-catalyst-view-download): New variable.

	gnu: Add Test-WWW-Mechanize-Catalyst.
	* gnu/packages/web.scm (perl-test-www-mechanize-catalyst): New
	  variable.

	gnu: Add Text-CSV.
	* gnu/packages/perl.scm (perl-text-csv): New variable.

	gnu: Add Test-utf8.
	* gnu/packages/perl.scm (perl-test-utf8): New variable.

	gnu: Add Catalyst-TraitFor-Request-ProxyBase.
	* gnu/packages/web.scm (perl-catalyst-traitfor-request-proxybase): New
	  variable.

	gnu: Add CatalystX-RoleApplicator.
	* gnu/packages/web.scm (perl-catalystx-roleapplicator): New variable.

	gnu: Add MooseX-RelatedClassRoles.
	* gnu/packages/perl.scm (perl-moosex-relatedclassroles): New variable.

	gnu: Add Catalyst-Plugin-StackTrace.
	* gnu/packages/web.scm (perl-catalyst-plugin-stacktrace): New
	  variable.

	gnu: Add Catalyst-Plugin-Session-Store-FastMmap.
	* gnu/packages/web.scm (perl-catalyst-plugin-session-store-fastmmap): New
	  variable.

	gnu: Add Cache-FastMmap.
	* gnu/packages/perl.scm (perl-cache-fastmmap): New variable.

	gnu: Add Catalyst-Plugin-Session-State-Cookie.
	* gnu/packages/web.scm (perl-catalyst-plugin-session-state-cookie):
	  New variable.

	gnu: Add Catalyst-Plugin-Captcha.
	* gnu/packages/web.scm (perl-catalyst-plugin-captcha): New variable.

	gnu: Add GD-SecurityImage.
	* gnu/packages/gd.scm (perl-gd-securityimage): New variable.

	gnu: Add PerlMagick.
	* gnu/packages/imagemagick.scm (perl-image-magick): New variable.

	gnu: Add Perl GD.
	* gnu/packages/gd.scm (perl-gd): New variable.

2015-04-04  宋文武  <iyzsong@gmail.com>

	gnu: gst-plugins-base: Enable GObjection introspection.
	* gnu/packages/gstreamer.scm (gst-plugins-base): Add gobject-introspection
	  to 'native-inputs'.
	  [arguments]<#:phases>: Rename patch-test-pb-utils to patch.  Add
	  (setenv "CC" "gcc") to patch phase.

	gnu: gst-plugins-base: Move html documentation to 'doc' output.
	* gnu/packages/gstreamer.scm (gstreamer)[outputs]: New field.
	  [arguments]: Add #:configure-flags.

	gnu: gst-plugins-base: Propagate input gstreamer.
	* gnu/packages/gstreamer.scm (gst-plugins-base): Move "gstreamer" to
	  'propagated-inputs'.

	gnu: gstreamer: Move html documentation to 'doc' output.
	* gnu/packages/gstreamer.scm (gstreamer)[outputs]: New field.
	  [arguments]: Add #:configure-flags.

	gnu: gstreamer: Enable GObject introspection.
	* gnu/packages/gstreamer.scm (gstreamer): Add gobject-introspection
	  to 'native-inputs'.
	  [arguments]: New field.

2015-04-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: vte: Propagate GnuTLS.
	* gnu/packages/gnome.scm (vte): Move GNUTLS from 'inputs' to
	  'propagated-inputs'.  Suggested by 宋文武 <iyzsong@gmail.com>.

2015-04-03  Andy Wingo  <wingo@pobox.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: vte: Update to 0.40.0.
	* gnu/packages/gnome.scm (vte): Update to 0.40.0.  Add 'inputs' field.

2015-04-03  Andy Wingo  <wingo@pobox.com>

	build-system/glib-or-gtk: Wrap libexec programs.
	* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Also
	  wrap binaries in libexec/, such as those launched by dbus services.

2015-04-03  Ludovic Courtès  <ludo@gnu.org>

	services: lsh: Change #:initialize? to default to #t.
	* gnu/services/ssh.scm (lsh-service): Change #:initialize? to default
	  to #t.
	* doc/guix.texi (Using the Configuration System): Remove #:initialize? #t
	  from example.
	  (Networking Services): Adjust accordingly.

2015-04-03  Ludovic Courtès  <ludo@gnu.org>

	ui: Recognize 'guix help'.
	Suggested by Andy Wingo.

	* guix/ui.scm (guix-main): Add "help" case.

2015-04-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: cross-base: Use an 'ld' wrapper also when cross-compiling.
	* gnu/packages/base.scm (make-ld-wrapper): Add #:target parameter and
	  honor it.
	* gnu/packages/cross-base.scm (cross-gcc-arguments)[#:phases]
	  <make-cross-binutils-visible>: Refer to the ld wrapper.
	  (cross-gcc)[native-inputs]: Add "ld-wrapper-cross".

2015-04-03  David Thompson  <davet@gnu.org>

	gnu: Remove deleted patch file from build system.
	* gnu-system.am (dist_patch_DATA): Remove 'gnu/packages/patches/librep-rules.mk.patch'.

2015-04-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: ld-wrapper: Use a hard-coded self-reference instead of $0.
	* gnu/packages/ld-wrapper.scm: Use @SELF@ instead of $0.  This is so
	  that the .go file is found even when the wrapper is invoked via a
	  symlink to it.
	* gnu/packages/base.scm (make-ld-wrapper): Substitute @SELF@.

	gnu: Add 'make-ld-wrapper' procedure.
	* gnu/packages/base.scm (make-ld-wrapper): New procedure.  Abstracted
	  from...
	* gnu/packages/commencement.scm (ld-wrapper-boot3): ... here.  Use it.

2015-04-03  宋文武  <iyzsong@gmail.com>

	gnu: librep: Update to 0.92.5.
	* gnu/packages/sawfish.scm (librep): Update to 0.92.5.
	* gnu/packages/patches/librep-rules.mk.patch: Remove.

2015-04-03  Alex Kost  <alezost@gmail.com>

	gnu: xorg: Add patch to fix sis driver crashes.
	* gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch: New file.
	* gnu/packages/xorg.scm (xf86-video-sis): Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

	packages: Fix typo.
	* gnu/packages.scm: Fix the name of an exported variable (%patch-path).

2015-04-03  宋文武  <iyzsong@gmail.com>

	gnu: Add libinput.
	* gnu/packages/freedesktop.scm (libinput): New variable.

2015-04-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: ncurses: Install terminfo files when cross-compiling.
	* gnu/packages/ncurses.scm (ncurses): Remove 'cross-pre-install-phase'.
	  When cross-compiling, it was leading to an empty $out/share/terminfo
	  directory.

	doc: Make it clear that store items must not be deleted by hand.
	* doc/guix.texi (Invoking guix gc): Add that this is the only way to
	  delete files.

	doc: Remove bits about having to create /gnu/store manually.
	* doc/guix.texi (Build Environment Setup): Remove bit about creating
	  /gnu/store.  This is done automatically since 15ddeff.

	gnu: libva: Fix 'license' field.
	* gnu/packages/video.scm: Import (guix licenses) with the 'license:'
	  prefix and adjust 'license' fields accordingly.  Fixes a bug whereby
	  libva was referring to the 'expat' package instead of the 'expat'
	  license.

2015-04-02  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add Catalyst-Plugin-AccessLog.
	* gnu/packages/web.scm (perl-catalyst-plugin-accesslog): New variable.

	gnu: Add DateTime.
	* gnu/packages/perl.scm (perl-datetime): New variable.

	gnu: Add DateTime-Locale.
	* gnu/packages/perl.scm (perl-datetime-locale): New variable.

	gnu: Add DateTime-TimeZone.
	* gnu/packages/perl.scm (perl-datetime-timezone): New variable.

	gnu: Add List-AllUtils.
	* gnu/packages/perl.scm (perl-list-allutils): New variable.

	gnu: Add Class-Singleton.
	* gnu/packages/perl.scm (perl-class-singleton): New variable.

	gnu: Add Catalyst-DispatchType-Regex.
	* gnu/packages/web.scm (perl-catalyst-dispatchtype-regex): New
	  variable.

2015-04-02  宋文武  <iyzsong@gmail.com>

	gnu: Add fcitx.
	* gnu/packages/fcitx.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-04-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: gcc: Fix libgcc_s directory in RUNPATH for cross-compiled binaries.
	* gnu/packages/gcc.scm (gcc-4.7): Add 'libdir' procedure.  Use it to
	  determine the right libdir, including when cross-compiling.  This
	  fixes a bug whereby the RUNPATH of cross-compiled binaries would be
	  set to $crossgcc/lib instead of $crossgcc/$triplet/lib.
	  See <http://hydra.gnu.org/build/354389/nixlog/1/raw> for an example.

2015-04-02  Mark H Weaver  <mhw@netris.org>

	gnu: icecat: Apply fixes for CVE-2015-{0801,0807,0815,0816}.
	Actually, CVE-2015-0801 and CVE-2015-0816 were already patched in
	4c153a9125fa0913077b06b5ed537958ae4ca163, but the corresponding CVEs
	were not yet announced.

	* gnu/packages/patches/icecat-bug-1146339.patch: Rename to ...
	* gnu/packages/patches/icecat-CVE-2015-0801.patch: ... this.
	* gnu/packages/patches/icecat-bug-1144991.patch: Rename to ...
	* gnu/packages/patches/icecat-CVE-2015-0816.patch: ... this.
	* gnu/packages/patches/icecat-CVE-2015-0807.patch,
	  gnu/packages/patches/icecat-CVE-2015-0815-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-0815-pt2.patch,
	  gnu/packages/patches/icecat-CVE-2015-0815-pt3.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them, and adapt to renamed files.
	* gnu/packages/gnuzilla.scm (icecat): Add patches, and adapt to renamed files.

2015-04-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: commencement: Turn off RUNPATH checks for 'gcc-final'.
	* gnu/packages/commencement.scm (gcc-final)[arguments]: Add
	  #:validate-runpath? #f.

2015-04-01  Mark H Weaver  <mhw@netris.org>

	gnu: linux-libre: Update to 3.19.3.
	The changes to linux-libre-*.conf are by Jason Self <j@jxself.org>.

	* gnu/packages/patches/linux-libre-libreboot-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/linux.scm (linux-libre): Update to version 3.19.3.
	  Add patch.
	* gnu/packages/linux-libre-i686.conf,
	  gnu/packages/linux-libre-x86_64.conf: Update for 3.19.x.

	Co-Authored-By: Jason Self <j@jxself.org>

2015-04-01  Alex Kost  <alezost@gmail.com>

	services: syslog-service: Add 'config-file' argument.
	* gnu/services/base.scm (syslog-service): Add 'config-file' keyword
	argument.
	* doc/guix.texi (Base Services): Document it.

2015-04-01  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add 'validate-runpath' phase.
	* guix/build/gnu-build-system.scm (every*, validate-runpath): New
	  procedures.
	  (%standard-phases): Add 'validate-runpath'.
	* guix/build-system/gnu.scm (%gnu-build-system-modules): Add (guix build
	  gremlin) and (guix elf).
	  (gnu-build): Add #:validate-runpath?.
	  [builder]: Pass it.
	  (gnu-cross-build): Likewise.
	* gnu/packages/base.scm (glibc)[arguments]: Add #:validate-runpath? #f.

	utils: Make the second 'find-files' argument optional.
	* guix/build/utils.scm (find-files): Make 'pred' optional.

	gnu: Refer to %GNU-BUILD-SYSTEM-MODULES instead of listing modules.
	* gnu/packages/cdrom.scm (cdparanoia)[arguments]: Refer to
	  %GNU-BUILD-SYSTEM-MODULES instead of providing the actual list.
	* gnu/packages/emacs.scm (magit, emacs-w3m, emacs-wget, emms):
	  Likewise.
	* gnu/packages/haskell.scm (ghc): Likewise.
	* gnu/packages/samba.scm (samba): Likewise.
	* gnu/packages/video.scm (ffmpeg): Likewise.

	gnu: Remove unneeded uses of #:imported-modules.
	* gnu/packages/certs.scm (nss-certs)[arguments]: Remove
	  #:imported-modules.
	* gnu/packages/gnuzilla.scm (nss)[arguments]: Likewise.
	* gnu/packages/texlive.scm (texlive-texmf)[arguments]: Likewise.
	* gnu/packages/xfce.scm (xfce)[arguments]: Likewise.

	build-system: Factorize the list of modules imported on the build side.
	* guix/build-system/gnu.scm (%default-modules): Rename to...
	  (%gnu-build-system-modules): ... this.
	  (%default-modules): New variable.
	  (dist-package, gnu-build): Use %GNU-BUILD-SYSTEM-MODULES for
	  #:imported-modules.
	  (gnu-cross-build): Likewise, and use %DEFAULT-MODULES for #:modules.
	* guix/build-system/cmake.scm (%cmake-build-system-modules): New
	  variable.
	  (cmake-build): Use it for #:imported-modules.
	* guix/build-system/glib-or-gtk.scm (%default-imported-modules): Rename
	  to...
	  (%glib-or-gtk-build-system-modules): ... this.  Refer to
	  %GNU-BUILD-SYSTEM-MODULES.  Adjust uses.
	* guix/build-system/perl.scm (%perl-build-system-modules): New
	  variable.
	  (perl-build): Use it for #:imported-modules.
	* guix/build-system/python.scm (%python-build-system-modules): New
	  variable.
	  (python-build): Use it for #:imported-modules.
	* guix/build-system/ruby.scm (%ruby-build-system-modules): New variable.
	  (ruby-build): Use it for #:imported-modules.
	* guix/build-system/waf.scm (%waf-build-system-modules): New variable.
	  (waf-build): Use it for #:imported-modules.

	gremlin: Guard against invalid ELF segments.
	* guix/build/gremlin.scm (&elf-error, &invalid-segment-size): New error
	  condition types.
	  (dynamic-link-segment): Compare SEGMENT's offset + size to ELF's total
	  size.
	  (validate-needed-in-runpath): Wrap body in 'guard' form.

	gremlin: Add libnsl to libc's library list.
	* guix/build/gremlin.scm (%libc-libraries): Add "libnsl.so".

2015-04-01  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add clustal omega.
	* gnu/packages/bioinformatics.scm (clustal-omega): New variable.

	gnu: Add argtable.
	* gnu/packages/popt.scm (argtable): New variable.

2015-04-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: node: Remove unneeded import.
	* gnu/packages/node.scm: Remove import of (guix build gnu-build-system).

2015-04-01  Mark H Weaver  <mhw@netris.org>

	gnu: pulseaudio: Increase timeout on cpu-mix-test.
	* gnu/packages/patches/pulseaudio-longer-test-timeout.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/pulseaudio.scm (pulseaudio)[source]: Add patch.

2015-03-31  Ludovic Courtès  <ludo@gnu.org>

	gnu: Update bootstrap binaries for x86_64 and i686.
	Fixes <http://bugs.gnu.org/19780>.
	Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

	* gnu/packages/bootstrap/i686-linux/bash,
	  gnu/packages/bootstrap/i686-linux/mkdir,
	  gnu/packages/bootstrap/i686-linux/tar,
	  gnu/packages/bootstrap/i686-linux/xz,
	  gnu/packages/bootstrap/x86_64-linux/bash,
	  gnu/packages/bootstrap/x86_64-linux/mkdir,
	  gnu/packages/bootstrap/x86_64-linux/tar,
	  gnu/packages/bootstrap/x86_64-linux/xz: Update from
	  <ftp://alpha.gnu.org:/gnu/guix/bootstrap/i686-linux/20131110/static-binaries.tar.xz>
	  and
	  <ftp://alpha.gnu.org:/gnu/guix/bootstrap/x86_64-linux/20131110/static-binaries.tar.xz>,
	  respectively.  The libc in those binaries has no dynamic NSS support,
	  which could otherwise lead to crashes when they tried to load NSS
	  modules of the host system.

2015-03-31  Ludovic Courtès  <ludo@gnu.org>

	utils: 'find-files' takes an arbitrary predicate as its second argument.
	* guix/build/utils.scm (file-name-predicate): New procedure.
	  (find-files): Rename second parameter to 'pred'.  When 'pred' is not a
	  procedure, call 'file-name-predicate'.  Use PRED instead of
	  'regexp-exec' in the leaf procedure.

2015-03-31  Ludovic Courtès  <ludo@gnu.org>

	utils: 'modify-phases' no longer introduces quotes.
	Suggested by Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>.

	* guix/build/utils.scm (%modify-phases): Remove quotes.
	* guix/build/cmake-build-system.scm (%standard-phases): Adjust
	  accordingly.
	* guix/build/glib-or-gtk-build-system.scm (%standard-phases): Likewise.
	* guix/build/gnu-dist.scm (%dist-phases): Likewise.
	* guix/build/perl-build-system.scm (%standard-phases): Likewise.
	* guix/build/python-build-system.scm (%standard-phases): Likewise.
	* guix/build/ruby-build-system.scm (%standard-phases): Likewise.
	* guix/build/waf-build-system.scm (%standard-phases): Likewise.
	* gnu/packages/bash.scm, gnu/packages/code.scm, gnu/packages/gl.scm,
	  gnu/packages/gnome.scm, gnu/packages/graphics.scm,
	  gnu/packages/image.scm, gnu/packages/key-mon.scm,
	  gnu/packages/ocr.scm, gnu/packages/plotutils.scm,
	  gnu/packages/search.scm, gnu/packages/video.scm: Likewise.

2015-03-31  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

	Add (guix build gremlin).
	* guix/build/gremlin.scm, tests/gremlin.scm: New files.
	* Makefile.am (MODULES): Add guix/build/gremlin.scm.
	  (SCM_TESTS): Add tests/gremlin.scm.

	tests: Fix module name for 'lint'.
	* tests/lint.scm: Change module name to 'test-lint'.

2015-03-31  Mark H Weaver  <mhw@netris.org>

	gnu: xterm: Update to 317.
	* gnu/packages/xorg.scm (xterm): Update to 317.

2015-03-31  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: pbtranscript-tofu: Add missing inputs.
	* gnu/packages/bioinformatics.scm (pbtranscript-tofu)[inputs]: Add missing
	  runtime inputs.

	gnu: pbtranscript-tofu: Delete pre-built libraries.
	* gnu/packages/bioinformatics.scm (pbtranscript-tofu)[arguments]: Delete
	  "build" directory and any shared objects after unpacking.

	gnu: Add python-networkx.
	* gnu/packages/python.scm (python-networkx, python2-networkx): New variables.

	gnu: Add python-decorator.
	* gnu/packages/python.scm (python-decorator, python2-decorator): New
	  variables.

	gnu: Add vcftools.
	* gnu/packages/bioinformatics.scm (vcftools): New variable.

	gnu: Add cutadapt.
	* gnu/packages/bioinformatics.scm (cutadapt): New variable.

2015-03-31  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: ngircd: Fix test suite.
	* gnu/packages/messaging.scm (ngircd): Overwrite getpid.sh with a more
	  reliable version.

2015-03-31  Ludovic Courtès  <ludo@gnu.org>

	install: Create /var/tmp.
	Suggested by Mark H Weaver <mhw@netris.org>.

	* gnu/build/install.scm (directives): Add /var/tmp.

2015-03-30  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add missing copyright line.
	* gnu/packages/graphics.scm: Add copyright line for 87bafa0.

	elf: Add missing argument in 'elf-segment'.
	* guix/elf.scm (elf-segment): Add missing argument N.

2015-03-30  Mark H Weaver  <mhw@netris.org>

	gnu: tzdata: Update to 2015b.
	* gnu/packages/base.scm (tzdata): Update to 2015b.

	Revert "gnu: tzdata: Update to 2015b."
	This reverts commit 41fd23334d9932c978579576fd86c5f89894c015.

2015-03-30  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add audacity.
	* gnu/packages/audacity.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* gnu/packages/patches/audacity-fix-ffmpeg-binding.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: portaudio: Patch for Audacity compatibility.
	* gnu/packages/audio.scm (portaudio): Add a patch for Audacity compatibility.
	* gnu/packages/patches/portaudio-audacity-compat.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-03-30  Mark H Weaver  <mhw@netris.org>

	gnu: tzdata: Update to 2015b.
	* gnu/packages/base.scm (tzdata): Update to 2015b.

	gnu: liba52: Pass --build to configure.
	* gnu/packages/video.scm (liba52)[arguments]: Pass --build to configure.

	gnu: xbindkeys: Pass --build to configure.
	* gnu/packages/xdisorg.scm (xbindkeys)[arguments]: Pass --build to
	  configure.

2015-03-29  Ludovic Courtès  <ludo@gnu.org>

	gexp: Slightly simplify 'lower-inputs'.
	* guix/gexp.scm (lower-inputs): Simplify first case by removing the
	  'input' binding.

	gexp: Add 'local-file'.
	* guix/gexp.scm (<local-file>): New record type.
	  (local-file): New procedure.
	  (local-file-compiler): New compiler.
	  (gexp->sexp) <struct? thing>: Handle the case where 'lower' returns a
	  file name.
	  (text-file*): Update docstring.local-file doc
	* tests/gexp.scm ("one local file", "gexp->derivation, local-file"): New
	  tests.
	* doc/guix.texi (G-Expressions): Mention local files early.  Document
	  'local-file'.  Update 'text-file*' documentation.

2015-03-29  Ludovic Courtès  <ludo@gnu.org>

	doc: Update gexp wrt. extensibility.
	This is a followup to bcb1328.

	* doc/guix.texi (G-Expressions): Move paragraph about extensibility
	  below.  Remove assumptions that things are either packages or
	  derivations.

2015-03-29  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add tocc.
	* gnu/packages/search.scm (libtocc, tocc): New variables.

	gnu: Add UnQLite.
	* gnu/packages/databases.scm (unqlite): New variable.

	gnu: Add Catch.
	* gnu/packages/check.scm (catch-framework): New variable.

2015-03-29  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.18.10
	* gnu/packages/linux.scm (linux-libre): Update to version 3.18.10.

2015-03-27  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add mpv.
	* gnu/packages/video.scm (mpv): New variable.

	gnu: Add vapoursynth.
	* gnu/packages/video.scm (vapoursynth): New variable.

	gnu: Add tesseract-ocr.
	* gnu/packages/ocr.scm (tesseract-ocr): New variable.

	gnu: Rename (gnu packages ocrad) to (gnu packages ocr).
	* gnu/packages/ocrad.scm: Deleted.
	* gnu/packages/ocr.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Change ocrad.scm to ocr.scm.

	gnu: Add leptonica.
	* gnu/packages/image.scm (leptonica): New variable.

	gnu: Add libwebp.
	* gnu/packages/image.scm (libwebp): New variable.

	gnu: freeglut: Add mesa to propagated inputs.
	* gnu/packages/gl.scm (freeglut): Add mesa to propagated inputs.

	gnu: Add libva.
	* gnu/packages/video.scm (libva): New variable.

2015-03-26  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	Fix remaining references to "substitute-binary".
	* nix/nix-daemon/guix-daemon.cc (main): Change substitute-binary to
	  substitute.
	* po/guix/POTFILES.in: Likewise.
	* tests/guix-daemon.sh: Likewise.
	* tests/guix-system.sh: Likewise.

2015-03-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: glibc: Fix cross-compilation regression.
	Fixes a regression introduced in 12b0dbd.
	See <http://lists.gnu.org/archive/html/guix-devel/2015-03/msg00698.html>.

	* gnu/packages/base.scm (glibc)[arguments] <pre-configure>: Add
	  #:native-inputs parameter.  Look up "static-bash" first in INPUTS,
	  then in NATIVE-INPUTS.

2015-03-26  Tomáš Čech  <sleep_walker@gnu.org>

	gnu: wpa-supplicant: Install DBUS access configuration.
	* gnu/packages/admin.scm (wpa-supplicant): Install DBUS configuration file.

2015-03-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: global: Update to 6.4.
	* gnu/packages/code.scm (global): Update to 6.4.

	gnu: tor: Update to 0.2.5.11.
	* gnu/packages/tor.scm (tor): Update to 0.2.5.11.

	gnu: nano: Update to 2.4.0.
	* gnu/packages/nano.scm (nano): Update to 2.4.0.

2015-03-26  Alex Kost  <alezost@gmail.com>

	services: guix-service: Add service documentation.
	* gnu/services/base.scm (guix-service): Add 'documentation' field to the
	  service.

	services: Add 'lirc-service'.
	* gnu/services/lirc.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* doc/guix.texi (Various Services): New node.  Document 'lirc-service'.

	gnu: Add LIRC.
	* gnu/packages/lirc.scm: New file.
	* gnu/packages/patches/lirc-localstatedir.patch: New file.
	* gnu-system.am: Add them.

2015-03-26  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add IBus.
	* gnu/packages/ibus.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: openblas: build for all supported CPUs.
	* gnu/packages/maths.scm (openblas)[arguments]: Add "DYNAMIC_ARCH=1" to
	  make flags.  Remove "#:substitutable? #f".

2015-03-26  Mark H Weaver  <mhw@netris.org>

	gnu: openssh: Update to 6.8p1.
	* gnu/packages/ssh.scm (openssh): Update to 6.8p1.  Make 'patch-tests'
	  substitution more robust.

2015-03-26  宋文武  <iyzsong@gmail.com>

	gnu: Add gnome-mines.
	* gnu/packages/gnome.scm (gnome-mines): New variable.

2015-03-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: cross-base: Make the libc static-bash bug more apparent.
	The 'static-bash' input of cross libcs has always been compiled
	natively.  This patch makes the issue more visible.

	* gnu/packages/cross-base.scm (cross-libc): Add 'inputs' field, and
	  add (package-inputs glibc) to 'native-inputs'.

2015-03-25  Mark H Weaver  <mhw@netris.org>

	gnu: icecat: Apply fixes for CVE-2015-{0817,0818} and other selected bugs.
	* gnu/packages/patches/icecat-CVE-2015-0817.patch,
	  gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch,
	  gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch,
	  gnu/packages/patches/icecat-bug-1127780.patch,
	  gnu/packages/patches/icecat-bug-1144991.patch,
	  gnu/packages/patches/icecat-bug-1145870.patch,
	  gnu/packages/patches/icecat-bug-1146339.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/gnuzilla.scm (icecat): Add patches.

2015-03-25  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

	substitute: Rename cache directory from "substitute-binary" to "substitute".
	* guix/scripts/substitute.scm (%narinfo-cache-directory): Change
	  "substitute-binary" to "substitute".
	* tests/store.scm ("substitute query"): Likewise.
	* tests/substitute.scm (call-with-narinfo): Likewise.

	Rename 'guix substitute-binary' to 'guix substitute'.
	* guix/scripts/substitute-binary.scm: Rename to...
	* guix/scripts/substitute.scm: ... this.  Adjust module name, entry
	  point, comments, and help string accordingly.
	* nix/scripts/substitute-binary.in: Rename to...
	* nix/scripts/substitute.in: ... this.
	* pre-inst-env.in (NIX_SUBSTITUTERS): Adjust accordingly.
	* tests/substitute-binary.scm: Rename to...
	* tests/substitute.scm: ... this.  Adjust references to (guix scripts
	  substitute) accordingly.
	* guix/ui.scm (show-guix-help)[internal?]: Change "substitute-binary" to
	  "substitute".
	* Makefile.am (MODULES, SCM_TESTS): Adjust to file renames.
	* daemon.am (nodist_pkglibexec_SCRIPTS): Likewise.
	* config-daemon.ac: Likewise.
	* guix/tests.scm (call-with-derivation-narinfo): Adjust comments and
	  docstring.

2015-03-25  Ludovic Courtès  <ludo@gnu.org>

	derivations: 'substitution-oracle' now ignores sub-trees that are valid.
	Before that, "guix build qt", when only qt itself is missing, would lead
	'substitution-oracle' to call 'substitutable-paths' with 318 items.
	Now, this is down to 6 items, because it doesn't ask about prerequisites
	that are already valid.

	* guix/derivations.scm (substitution-oracle)[valid-input?,
	  dependencies]: New procedures.
	  Use 'dependencies' and remove call to 'remove'.

2015-03-25  Ludovic Courtès  <ludo@gnu.org>

	derivations: Add a 'cut?' parameter to 'derivation-prerequisites'.
	* guix/derivations.scm (valid-derivation-input?): New procedure.
	  (derivation-prerequisites): Add 'cut?' parameter and honor it.
	* tests/derivations.scm ("derivation-prerequisites and
	  derivation-input-is-valid?"): New test.

2015-03-25  Mark H Weaver  <mhw@netris.org>

	gnu: python: Do not use patchelf.
	* gnu/packages/python.scm (python-2): Add rpath for lib directory of output to
	  LDFLAGS.  Remove 'patchelf' from inputs.  Remove #:modules and
	  #:imported-modules from arguments.  Remove 'add-lib-to-runpath' phase.
	  (python): Do not add #:modules to inherited package arguments.

2015-03-24  Ludovic Courtès  <ludo@gnu.org>

	derivations: Don't invoke the substituter when an item is already in store.
	Fixes <http://bugs.gnu.org/20188>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/derivations.scm (substitution-oracle): Add 'valid?' procedure.
	  Remove 'valid?' items from PATHS.

2015-03-24  Eric Bavier  <bavier@member.fsf.org>

	packages: Add zip archive support to 'patch-and-repack'.
	Fixes <http://bugs.gnu.org/19830>.

	* guix/packages.scm (%standard-patch-inputs): Add "unzip".
	  (patch-and-repack)[decompression-type]: Detect zip archive.
	  [build]: Invoke "unzip" when appropriate.

2015-03-24  Andreas Enge  <andreas@enge.fr>

	gnu: calibre: Add a patch to avoid automatic checking for updates.
	* gnu/packages/patches/calibre-no-updates-dialog.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.
	* gnu/packages/ebook.scm (calibre): Use patch.

2015-03-24  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add pbtranscript-tofu.
	* gnu/packages/bioinformatics.scm (pbtranscript-tofu): New variable.

	gnu: Add python2-bx-python.
	* gnu/packages/bioinformatics.scm (python2-bx-python): New variable.

	gnu: Add python2-pbcore.
	* gnu/packages/bioinformatics.scm (python2-pbcore): New variable.

2015-03-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update.

	gnu: geiser: Make description more concise and less personal.
	* gnu/packages/emacs.scm (geiser)[description]: Tweak.

	gnu: geiser: Update to 0.7.
	* gnu/packages/emacs.scm (geiser): Update to 0.7.

	substitute-binary: Remove thread-safe 'regexp-exec' wrapper.
	* guix/scripts/substitute-binary.scm: Remove 'regexp-exec' setting.

	substitute-binary: Pipeline HTTP requests instead of using threads.
	* guix/scripts/substitute-binary.scm (fetch-narinfo, %lookup-threads,
	  n-par-map*): Remove.
	  (narinfo-cache-file, cached-narinfo, cache-narinfo!, narinfo-request,
	  http-multiple-get, read-to-eof, fetch-narinfos, lookup-narinfos,
	  narinfo-from-file): New procedures.
	  (lookup-narinfo): Rewrite in terms of 'lookup-narinfos'.
	  (guix-substitute-binary): Use 'lookup-narinfos' instead of
	  'lookup-narinfo'.

	substitute-binary: Allow callers to specify the size of a narinfo.
	* guix/scripts/substitute-binary.scm (read-narinfo): Add #:size
	  parameter and honor it.

2015-03-23  Mark H Weaver  <mhw@netris.org>

	Remove unused patchelf inputs.
	* gnu/packages/maths.scm (lapack, gmsh), gnu/packages/ssh.scm (libssh): Remove
	  unused patchelf from native-inputs.

2015-03-23  Ludovic Courtès  <ludo@gnu.org>

	gnu: bigloo: Use Emacs with X11 support.
	* gnu/packages/scheme.scm (bigloo)[inputs]: Change EMACS-NO-X to EMACS.

2015-03-23  宋文武  <iyzsong@gmail.com>

	gnu: sdl: Explicitly use mesa as OpenGL driver.
	* gnu/packages/sdl.scm (sdl)[arguments]<#:configure-flags>: Add
	  'LDFLAGS=-lGL'.

2015-03-23  宋文武  <iyzsong@gmail.com>

	gnu: sdl: Allow dlopen for OpenGL.
	Fixes a regression introduced in 666aa99.
	Reported by Felipe López and David Thompson.

	* gnu/packages/sdl.scm (sdl)[inputs]: Add glu.
	  [arguments]<#:configure-flags>: Replace '--disable-sdl-dlopen' with
	  '--disable-alsa-shared --disable-pulseaudio-shared --disable-x11-shared'.

2015-03-23  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add python-h5py and python2-h5py.
	* gnu/packages/python.scm (python-h5py, python2-h5py): New variables.

	gnu: Add Julia.
	* gnu/packages/julia.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add double-conversion.
	* gnu/packages/maths.scm (double-conversion): New variable.

	gnu: Add SuiteSparse.
	* gnu/packages/maths.scm (suitesparse): New variable.

	gnu: icedtea6: remove commented substitution.
	* gnu/packages/java.scm (icedtea6): Remove commented substitution.

	gnu: icedtea6: Do not set CC and LD_LIBRARY_PATH.
	* gnu/packages/java.scm (icedtea6)[arguments]: Do not set CC and
	  LD_LIBRARY_PATH variables.

	gnu: icedtea6: Rename ‘set-paths’ phase to ‘set-additional-paths’
	* gnu/packages/java.scm (icedtea6)[arguments]: Rename ‘set-paths’ phase to
	  ‘set-additional-paths’.

	gnu: icedtea6: patch patches in separate build phase.
	* gnu/packages/java.scm (icedtea6)[arguments]: Move patching of patches from
	  ‘patch-paths’ to new ‘patch-patches’ phase.

	gnu: icedtea6: patch hardcoded objcopy path.
	* gnu/packages/java.scm (icedtea6)[arguments]: patch Makefile to override
	  DEF_OBJCOPY variable definition.

	gnu: icedtea6: patch ant shebang in unpack phase
	* gnu/packages/java.scm (icedtea6)[arguments]: patch bootstrap ant in the
	  `unpack' phase instead of `patch-paths'.

	gnu: Add openblas.
	* gnu/packages/maths.scm (openblas): New variable.

	gnu: Add utf8proc.
	* gnu/packages/textutils.scm (utf8proc): New variable.

2015-03-22  Ludovic Courtès  <ludo@gnu.org>

	store: Default to a non-empty list of substituters.
	Fixes <http://bugs.gnu.org/20163>.
	Reported by Mark H Weaver <mhw@netris.org>.

	* guix/store.scm (%default-substitute-urls): New variable.
	  (set-build-options): Change default value of #:substitute-urls to
	  %DEFAULT-SUBSTITUTE-URLS.

2015-03-22  Ludovic Courtès  <ludo@gnu.org>

	gexp: Fix handling of nativeness in nested gexps.
	* guix/gexp.scm (gexp-inputs): Remove 'references' parameter; add
	  #:native? and honor it.
	  [add-reference-inputs]: Distinguish between native gexp inputs, and
	  non-native gexp inputs.  Honor 'native?' field of list inputs.
	* tests/gexp.scm ("ungexp + ungexp-native, nested"): New test.

2015-03-22  Ludovic Courtès  <ludo@gnu.org>

	gexp: Ignore nested gexps in macro expansion.
	Before that, the 'references' and 'natives' or the outer gexp in an
	expression like #~#+#~#$coreutils would include those of the inner
	gexp.

	* guix/gexp.scm (gexp)[collect-escapes]: Ignore everything below
	  'ungexp-native' or 'ungexp-native-splicing'.
	  [collect-native-escapes]: Ignore everything below 'ungexp' or
	  'ungexp-splicing'.

2015-03-22  Ludovic Courtès  <ludo@gnu.org>

	gexp: Allow <gexp-input> objects in #:allowed-references.
	* guix/gexp.scm (lower-references): Add <gexp-input> case.
	* tests/gexp.scm ("gexp->derivation #:allowed-references, specific
	  output"): New test.

	gexp: Add identity compiler for derivations.
	* guix/gexp.scm (derivation-compiler): New procedure.
	  (lower-inputs): Remove 'derivation?' case.
	  (gexp-inputs)[add-reference-inputs]: Likewise.
	  (gexp->sexp)[reference->sexp]: Likewise.

2015-03-22  Tomáš Čech  <sleep_walker@gnu.org>

	Revert "gnu: Add sdcv."
	This reverts commit 004eb31859971f9602f618cbdf6612f4bcaddd9c.

	gnu: Add the-silver-searcher.
	* gnu/packages/code.scm (the-silver-searcher): New variable.

2015-03-22  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add mplayer2.
	* gnu/packages/video.scm (mplayer2): New variable.
	* gnu/packages/patches/mplayer2-theora-fix.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-03-22  Ricardo Wurmus  <rekado@elephly.net>

	gnu: gtk+-2: build gobject introspection typelib file.
	* gnu/packages/gtk.scm (gtk+-2): add `gobject-introspection' to the
	  native-inputs to install typelib file.

2015-03-21  Ludovic Courtès  <ludo@gnu.org>

	packages: Make sure the patch inputs are not #f.
	Fixes build issues whereby #:inputs would be #f.  See
	<http://hydra.gnu.org/build/320333/nixlog/4/tail-reload>.

	* guix/packages.scm (patch-and-repack): #:input defaults to #f.
	  [lookup-input]: When INPUTS is #f, use (%standard-patch-inputs).

2015-03-21  Ludovic Courtès  <ludo@gnu.org>

	gnu: Use 'glibc-utf8-locales-final' in the default patching inputs.
	* gnu/packages/commencement.scm (glibc-utf8-locales-final): Make public.
	* guix/packages.scm (%standard-patch-inputs): Use
	  GLIBC-UTF8-LOCALES-FINAL instead of GLIBC-UTF8-LOCALES.

2015-03-21  Mark H Weaver  <mhw@netris.org>

	gnu: openssl: Update to 1.0.2a.
	* gnu/packages/openssl.scm (openssl): Update to 1.0.2a.

2015-03-21  Andreas Enge  <andreas@enge.fr>

	gnu: calibre: Update to 2.22.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.22.0.

2015-03-20  Ricardo Wurmus  <rekado@elephly.net>

	gnu: gtk+-2: build gobject introspection typelib file.
	* gnu/packages/gtk.scm (gtk+-2): add `gobject-introspection' to the
	  native-inputs to install typelib file.

	gnu: Add python2-pygobject.
	* gnu/packages/glib.scm (python2-pygobject): New variable.

	gnu: python-pygobject: use home page of 3.x series.
	* gnu/packages/glib.scm (python-pygobject)[home-page]: Use home page of the
	  3.x series of the pygobject bindings instead of the home page for the 2.x
	  bindings.

	gnu: lv2-mda-piano: change source URL.
	* gnu/packages/audio.scm (lv2-mda-piano)[source]: Change URL of git
	  repository to new upstream.

2015-03-20  Ludovic Courtès  <ludo@gnu.org>

	guix package: '-s' sorts packages by name, then by version.
	Before that it would sort them by name only, so the order in which two
	packages with the same name but a different version would appear was
	non-deterministic.

	Reported by Tomáš Čech <sleep_walker@gnu.org>.

	* guix/scripts/package.scm (find-packages-by-description)[version<?]:
	  New variable.
	  Change the 2nd argument to 'sort' to use 'string-compare' and resort
	  to 'version<?' when P1 and P2 have the same name.

2015-03-20  Ludovic Courtès  <ludo@gnu.org>

	guix package: '-s' displays different packages that have the same location.
	Before that, 'guix package -s foobarbaz' would display only one package
	when several match but they have the same location (which is common when
	using 'inherit'.)

	The original rationale was given at
	<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00280.html> but
	it was arguably misguided because it led to "real" packages being
	hidden.

	Reported by Tomáš Čech <sleep_walker@gnu.org>.

	* guix/scripts/package.scm (find-packages-by-description)[same-location?]:
	  Remove.
	  Remove call to 'delete-duplicates'.

2015-03-20  Andreas Enge  <andreas@enge.fr>

	gnu: arb: Update to 2.3.0.
	* gnu/packages/algebra.scm (arb): Update to 2.3.0.

2015-03-20  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add Catalyst-Devel.
	* gnu/packages/web.scm (perl-catalyst-devel): New variable.

	gnu: Add Module-Install.
	* gnu/packages/perl.scm (perl-module-install): New variable.

	gnu: Add YAML-Tiny.
	* gnu/packages/perl.scm (perl-yaml-tiny): New variable.

	gnu: perl-cpanel-json-xs: Move to (gnu packages perl).
	* gnu/packages/web.scm (perl-cpanel-json-xs): Move this...
	* gnu/packages/perl.scm: To here.

	gnu: perl-json-maybexs: Move to (gnu packages perl).
	* gnu/packages/web.scm (perl-json-maybexs): Move this...
	* gnu/packages/perl.scm: To here.

	gnu: Add PAR-Dist.
	* gnu/packages/perl.scm (perl-par-dist): New variable.

	gnu: Add Module-ScanDeps.
	* gnu/packages/perl.scm (perl-module-scandeps): New variable.

	gnu: Add Perl JSON.
	* gnu/packages/perl.scm (perl-json): New variable.

	gnu: Add JSON-XS.
	* gnu/packages/perl.scm (perl-json-xs): New variable.

	gnu: Add Types-Serialiser.
	* gnu/packages/perl.scm (perl-types-serialiser): New variable.

	gnu: Add File-Remove.
	* gnu/packages/perl.scm (perl-file-remove): New variable.

	gnu: Add Template-Toolkit.
	* gnu/packages/perl.scm (perl-template-toolkit): New variable.

	gnu: Add Test-LeakTrace.
	* gnu/packages/perl.scm (perl-test-leaktrace): New variable.

	gnu: Add AppConfig.
	* gnu/packages/perl.scm (perl-appconfig): New variable.

	gnu: Add File-Copy-Recursive.
	* gnu/packages/perl.scm (perl-file-copy-recursive): New variable.

	gnu: Add File-ChangeNotify.
	* gnu/packages/perl.scm (perl-file-changenotify): New variable.

	gnu: Add MooseX-Params-Validate.
	* gnu/packages/perl.scm (perl-moosex-params-validate): New variable.

	gnu: Add MooseX-SemiAffordanceAccessor.
	* gnu/packages/perl.scm (perl-moosex-semiaffordanceaccessor): New
	  variable.

	gnu: Add Catalyst-Plugin-Static-Simple.
	* gnu/packages/web.scm (perl-catalyst-plugin-static-simple): New
	  variable.

	gnu: Add MIME-Types.
	* gnu/packages/web.scm (perl-mime-types): New variable.

	gnu: Add Catalyst-Plugin-ConfigLoader.
	* gnu/packages/web.scm (perl-catalyst-plugin-configloader): New
	  variable.

	gnu: Add Catalyst-Action-RenderView.
	* gnu/packages/web.scm (perl-catalyst-action-renderview): New variable.

	gnu: Add Data-Visitor.
	* gnu/packages/perl.scm (perl-data-visitor): New variable.

	gnu: Add Tie-ToObject.
	* gnu/packages/perl.scm (perl-tie-toobject): New variable.

2015-03-20  Andreas Enge  <andreas@enge.fr>

	gnu: flint: Update to 2.4.5.
	* gnu/packages/algebra.scm (flint): Update to 2.4.5.

	gnu: arb: Propagate input flint.
	* gnu/packages/algebra.scm (arb): Propagate input flint.

	gnu: flint: Propagate inputs gmp and mpfr.
	* gnu/packages/algebra.scm (flint): Propagate inputs gmp and mpfr.

2015-03-19  Ludovic Courtès  <ludo@gnu.org>

	services: guix-service: Add 'lsof' and 'lsh' to guix-daemon's $PATH.
	* gnu/services/base.scm (guix-service): Add #:lsof and #:lsh parameters.
	  [start]: Pass #:environment-variables to 'make-forkexec-constructor'.

	gnu: Use emacs-no-x when we just want to byte-compile code.
	* gnu/packages/code.scm (cflow)[native-inputs]: Change EMACS to
	  EMACS-NO-X.
	* gnu/packages/databases.scm (recutils): Likewise.
	* gnu/packages/emacs.scm (geiser, paredit, magit, emacs-w3m, emacs-wget,
	  emms, bbdb): Likewise.
	* gnu/packages/idutils.scm (idutils): Likewise.
	* gnu/packages/mail.scm (mu): Likewise.
	* gnu/packages/package-management.scm (guix-0.8.1): Likewise.
	* gnu/packages/scheme.scm (bigloo): Likewise.
	* gnu/packages/version-control.scm (vc-dwim): Likewise.

	gnu: Add emacs-no-x.
	* gnu/packages/emacs.scm (emacs-no-x): New variable.

	gnu: emacs: Change a couple of input labels.
	* gnu/packages/emacs.scm (emacs)[inputs]: Change labels for LIBX11,
	  LIBXFT, and LIBXPM, for consistency.

	doc: Add section about the test suite.
	* doc/guix.texi (Running the Test Suite): New section.

	gnu: emms: Fix incorrect substitution in emms-tag-editor.el.
	* gnu/packages/emacs.scm (emms)[arguments] <configure>: Add missing
	  quotes in mp3info substitution in emms-tag-editor.el.

	build: Detect lack of guile.m4 at autoconf time.
	* configure.ac: Add 'm4_pattern_forbid' invocation.

2015-03-19  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add Catalyst-Model-DBIC-Schema.
	* gnu/packages/web.scm (perl-catalyst-model-dbic-schema): New
	  variable.

	gnu: Add DBIx-Class-Cursor-Cached.
	* gnu/packages/databases.scm (perl-dbix-class-cursor-cached): New
	  variable.

	gnu: Add Cache-Cache.
	* gnu/packages/perl.scm (perl-cache-cache): New variable.

	gnu: Add IPC-ShareLite.
	* gnu/packages/perl.scm (perl-ipc-sharelite): New variable.

	gnu: Add Error.
	* gnu/packages/perl.scm (perl-error): New variable.

	gnu: Add Tie-IxHash.
	* gnu/packages/perl.scm (perl-tie-ixhash): New variable.

	gnu: Add Catalyst-Component-InstancePerContext.
	* gnu/packages/web.scm (perl-catalyst-component-instancepercontext):
	  New variable.

	gnu: Add MooseX-Types-LoadableClass.
	* gnu/packages/perl.scm (perl-moosex-types-loadableclass): New
	  variable.

	gnu: Add CatalystX-Component-Traits.
	* gnu/packages/web.scm (perl-catalystx-component-traits): New
	  variable.

	gnu: Add MooseX-Traits-Pluggable.
	* gnu/packages/perl.scm (perl-moosex-traits-pluggable): New variable.

	gnu: Add Catalyst-Plugin-Authentication.
	* gnu/packages/web.scm (perl-catalyst-plugin-authentication): New variable.

	gnu: Add Catalyst-Plugin-Session.
	* gnu/packages/web.scm (perl-catalyst-plugin-session): New variable.

	gnu: Add Object-Signature.
	* gnu/packages/perl.scm (perl-object-signature): New variable.

	gnu: Add Test-WWW-Mechanize-PSGI.
	* gnu/packages/web.scm (perl-test-www-mechanize-psgi): New variable.

	gnu: Add Test-WWW-Mechanize.
	* gnu/packages/web.scm (perl-test-www-mechanize): New variable.

	gnu: Add WWW-Mechanize.
	* gnu/packages/web.scm (perl-www-mechanize): New variable.

	gnu: Add HTTP-Server-Simple.
	* gnu/packages/web.scm (perl-http-server-simple): New variable.

	gnu: Add HTML-Tree.
	* gnu/packages/web.scm (perl-html-tree): New variable.

	gnu: Add HTML-Lint.
	* gnu/packages/web.scm (perl-html-lint): New variable.

	gnu: Add HTML-Form.
	* gnu/packages/web.scm (perl-html-form): New variable.

	gnu: Add Carp-Assert-More.
	* gnu/packages/perl.scm (perl-carp-assert-more): New variable.

	gnu: Add Carp-Assert.
	* gnu/packages/perl.scm (perl-carp-assert): New variable.

	gnu: Add Test-LongString.
	* gnu/packages/perl.scm (perl-test-longstring): New variable.

	gnu: Add Catalyst-Action-REST.
	* gnu/packages/web.scm (perl-catalyst-action-rest): New variable.

	gnu: Add URI-Find.
	* gnu/packages/web.scm (perl-uri-find): New variable.

2015-03-19  Tomáš Čech  <sleep_walker@gnu.org>

	gnu: agg: Add explanatory comment to the patch.
	* gnu/packages/patches/agg-am_c_prototype.patch: Add comment.

2015-03-19  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: libxrandr: Propagate more inputs.
	* gnu/packages/xorg.scm (libxrandr): Propagate libxrender, xproto, libx11.

	gnu: mesa: Enable more optional features.
	* gnu/packages/gl.scm (mesa): Enable DRM support of EGL, thread local storage
	  in GLX, and off-screen rendering.

	gnu: mesa: Fix file names passed to dlopen(3).
	* gnu/packages/gl.scm (mesa): Patch source files to make file names passed to
	  dlopen(3) absolute.

2015-03-19  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add perl-svg.
	* gnu/packages/perl.scm (perl-svg): New variable.

2015-03-19  Tomáš Čech  <sleep_walker@gnu.org>

	gnu: Add colordiff.
	* gnu/packages/patchutils.scm (colordiff): New variable.

2015-03-19  Ludovic Courtès  <ludo@gnu.org>

	ftp-client: Switch to binary mode before using the "SIZE" command.
	* guix/ftp-client.scm (ftp-size): Add '%ftp-command' call.

	lint: Report details about FTP errors.
	* guix/scripts/lint.scm (probe-uri) <'ftp>: Pass more information about
	  failures alongside 'ftp-response.
	  (validate-uri) <ftp-response>: Handle it, and adjust "not reachable"
	  message accordingly.

	lint: Change misleading variable name.
	* guix/scripts/lint.scm (probe-uri) <'ftp>: Rename 'port' to 'conn'.

2015-03-19  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add mesa-utils.
	* gnu/packages/gl.scm (mesa-utils): New variable.
	(mesa-demos-source): New procedure.

	gnu: mesa: Propagate inputs libxshmfence and libxfixes.
	* gnu/packages/gl.scm (mesa): Propagate inputs libxshmfence and libxfixes.

	gnu: mesa: Add input s2tc.
	* gnu/packages/gl.scm (mesa): Add input s2tc, patch sources to make the
	  reference to libtxc_dxtn.so absolute since it's passed to dlopen(3).

	gnu: Add s2tc.
	* gnu/packages/gl.scm (s2tc): New variable.
	(mesa-headers): New variable.

	gnu: msmtp: Use mirror:// URI.
	* gnu/packages/mail.scm (msmtp): Use a mirror:// URI for the source.

	gnu: claws-mail: Use mirror:// URI.
	* gnu/packages/mail.scm (claws-mail): Use a mirror:// URI for the source.

	gnu: procps: Explain why a mirror:// URI isn't used.
	* gnu/packages/linux.scm (procps): Add a comment explaining why we don't use a
	  mirror:// URI.

	gnu: lcms: Use mirror:// URI.
	* gnu/packages/ghostscript.scm (lcms): Use a mirror:// URI for the source.

	gnu: wxwidgets-2: Use mirror:// URI.
	* gnu/packages/wxwidgets.scm (wxwidgets-2): Use a mirror:// URI for the
	  source.

	gnu: liba52: Fix source URI.
	* gnu/packages/video.scm (liba52): Fix the source URI; SourceForge mirror URIs
	  don't work for this project presumably because it's misconfigured.

2015-03-18  Ludovic Courtès  <ludo@gnu.org>

	substitute-binary: Fix recently-introduced regression.
	* guix/scripts/substitute-binary.scm (%cache-url): Fix regression
	  introduced in 41c45e7.

	packages: Rewrite 'patch-and-repack' using gexps.
	* guix/packages.scm (patch-and-repack): Remove 'store' parameter and
	  change default value of #:inputs to (%standard-patch-inputs).
	  [lookup-input, instantiate-patch]: New procedures.
	  [patch-inputs]: Remove.
	  [builder]: Rename to...
	  [build]: ... this.  Use gexps instead of sexps.
	  (patch-and-repack*): Remove.
	  (origin->derivation): Use 'patch-and-repack' instead of
	  'patch-and-repack*'.
	* tests/packages.scm ("package-source-derivation,
	  snippet")[source](snippet): Remove references to '%build-inputs' and
	  '%outputs'.

	Merge branch 'master' into core-updates

	store: Remove debugging leftover.
	* guix/store.scm (set-build-options): Remove leftover 'pk' call from
	  41c45e7.

	store: Add preliminary support for client-supplied substitute URLs.
	* guix/store.scm (set-build-options): Rename #:binary-caches to
	  #:substitute-urls.  Actually pass it in 'pairs' under the
	  "substitute-urls" key.
	* guix/scripts/substitute-binary.scm (%cache-url): Add comment for
	  "untrusted-substitute-urls".

	pk-crypto: Improve documentation of 'key-type'.
	* guix/pk-crypto.scm (key-type): Improve docstring.

2015-03-18  Tomáš Čech  <sleep_walker@gnu.org>

	gnu: Add agg.
	* gnu/packages/graphics.scm (agg): New variable.
	* gnu/packages/patches/agg-am_c_prototype.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-03-18  Alexander I.Grafov (Axel)  <grafov@gmail.com>

	gnu: Add xcape.
	* gnu/packages/xdisorg.scm (xcape): New variable.

2015-03-18  David Thompson  <dthompson2@worcester.edu>

	build: ruby: Set $GEM_HOME that matches Ruby's $GEM_PATH.
	* guix/build/ruby-build-system.scm (install): Ignore the Ruby patch version
	  when creating $GEM_HOME.

2015-03-17  Ludovic Courtès  <ludo@gnu.org>

	services: guix-service: Remove extraneous monadism.
	* gnu/services/base.scm (guix-build-accounts): Remove unneeded
	  'with-monad'.
	  (guix-service): Adjust accordingly.

2015-03-17  Ludovic Courtès  <ludo@gnu.org>

	gexp: Move the package and origin compilers to (guix packages).
	From now own, (guix packages) depends on (guix gexps); it was the other
	way around now.  This means that (guix packages) code can use gexps.

	* guix/gexp.scm (origin-compiler, package-compiler): Remove.
	  (default-guile-derivation): New procedure.
	  (gexp->derivation): Use it instead of 'default-guile' +
	  'package->derivation'.
	* guix/packages.scm (default-guile-derivation): New procedure.
	  (package-compiler, origin-compiler): New variables.
	* doc/guix.texi (G-Expressions): Mention extensibility.

2015-03-17  Ludovic Courtès  <ludo@gnu.org>

	packages: Move grafting parameter to (guix derivations).
	* guix/packages.scm (%graft?, set-grafting): Move to...
	* guix/derivations.scm: ... here.

	gexp: Separate "compilers" for origins and packages from the core.
	* guix/gexp.scm (<gexp-compiler>): New record type.
	  (%gexp-compilers): New variable.
	  (register-compiler!, lookup-compiler): New procedures.
	  (define-gexp-compiler): New macro.
	  (origin-compiler, package-compiler): New compilers.
	  (lower-inputs): Remove clauses for 'origin?' and 'package?'.  Add
	  clause with 'lookup-compiler' instead.
	  (lower-references): Likewise.
	  (gexp-inputs)[add-reference-inputs]: Likewise.
	  (gexp->sexp)[reference->sexp]: Likewise.

	gexp: Remove special meaning of forms (PACKAGE OUTPUT) in ungexp.
	* guix/gexp.scm (gexp-inputs)[add-reference-inputs]: Remove clause for
	  inputs of the form (PACKAGE OUTPUT).
	  (gexp->sexp)[reference->sexp]: Likewise.
	* tests/gexp.scm ("input list splicing"): Change 'list' to 'gexp-input'
	  for glibc:debug.
	  ("text-file*"): Likewise for %bootstrap-guile:out.
	  ("input list splicing + gexp-input + ungexp-native-splicing"): Remove,
	  now redundant.

	profiles: Use 'gexp-input' instead of two-element lists.
	* guix/profiles.scm (package->manifest-entry): Use 'gexp-input' instead
	  of two-element lists to denote specific package outputs.
	  (manifest-inputs): Likewise.
	  (profile-derivation)[info-dir]: Likewise.

	gexp: Export 'gexp-input' constructor.
	* guix/gexp.scm (<gexp-input>)[gexp-input]: Rename to...
	  [%gexp-input]: ... this.  Adjust callers accordingly.
	  (gexp-input): New procedure.
	  (gexp-inputs)[add-reference-inputs]: When the input is a list, check
	  whether each item is already 'gexp-input?' and to not rewrap those.
	  (gexp-outputs)[add-reference-output]: Likewise.
	  (gexp->sexp): Likewise.
	* tests/gexp.scm ("input list splicing + gexp-input +
	  ungexp-native-splicing"): New test.

	gexp: Add <gexp-input>.
	* guix/gexp.scm (<gexp-input>): New record type.
	  (gexp-inputs)[add-reference-inputs]: Adjust clauses to expect
	  <gexp-input> objects.
	  (gexp-outputs)[add-reference-output]: Likewise.
	  (gexp->sexp)[reference->sexp]: Likewise.
	  (canonicalize-reference): Remove.
	  (gexp)[escape->ref]: Use 'gexp-input' for all the references.
	  Remove use of 'canonicalize-reference'.

	gexp: Rename <output-ref> to <gexp-output>.
	* guix/gexp.scm (<output-ref>): Rename to...
	  (<gexp-output>): ... this.  Adjust constructor/accessor names and
	  users accordingly.

	tests: Add an indirection for white-box testing.
	* tests/gexp.scm (gexp-inputs, gexp-native-inputs, gexp-outputs,
	  gexp->sexp): Make an indirection, to facilitate live testing with
	  Geiser.

2015-03-17  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add DBIx-Class-Schema-Loader.
	* gnu/packages/databases.scm (perl-dbix-class-schema-loader): New variable.

	gnu: Add String-ToIdentifier-EN.
	* gnu/packages/language.scm (perl-string-toidentifier-en): New variable.

	gnu: Add Text-Unidecode.
	* gnu/packages/perl.scm (perl-text-unidecode): New variable.

	gnu: Add String-CamelCase.
	* gnu/packages/perl.scm (perl-string-camelcase): New variable.

	gnu: Add Lingua-EN-Inflect-Phrase.
	* gnu/packages/language.scm (perl-lingua-en-inflect-phrase): New variable.

	gnu: Add Lingua-EN-Tagger.
	* gnu/packages/language.scm (perl-lingua-en-tagger): New variable.

	gnu: Add Lingua-Stem.
	* gnu/packages/language.scm (perl-lingua-stem): New variable.

	gnu: Add Text-German.
	* gnu/packages/language.scm (perl-text-german): New variable.

	gnu: Add Snowball-Swedish.
	* gnu/packages/language.scm (perl-snowball-swedish): New variable.

	gnu: Add Snowball-Norwegian.
	* gnu/packages/language.scm (perl-snowball-norwegian): New variable.

	gnu: Add Lingua-Stem-Snowball-Da.
	* gnu/packages/language.scm (perl-lingua-stem-snowball-da): New
	  variable.

	gnu: Add Lingua-Stem-Ru.
	* gnu/packages/language.scm (perl-lingua-stem-ru): New variable.

	gnu: Add Lingua-Stem-It.
	* gnu/packages/language.scm (perl-lingua-stem-it): New variable.

	gnu: Add Lingua-Stem-Fr.
	* gnu/packages/language.scm (perl-lingua-stem-fr): New variable.

	gnu: Add Lingua-PT-Stemmer.
	* gnu/packages/language.scm (perl-lingua-pt-stemmer): New variable.

	gnu: Add Memoize-ExpireLRU.
	* gnu/packages/perl.scm (perl-memoize-expirelru): New variable.

	gnu: Add Lingua-EN-Number-IsOrdinal.
	* gnu/packages/language.scm (perl-lingua-en-number-isordinal): New
	  variable.

	gnu: Add Lingua-EN-Inflect-Number.
	* gnu/packages/language.scm (perl-lingua-en-inflect-number): New
	  variable.

	gnu: Add Lingua-EN-Inflect.
	* gnu/packages/language.scm (perl-lingua-en-inflect): New variable.

	gnu: Add Lingua-EN-FindNumber.
	* gnu/packages/language.scm (perl-lingua-en-findnumber): New variable.

	gnu: Add Lingua-EN-Words2Nums.
	* gnu/packages/language.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add Class-Unload.
	* gnu/packages/perl.scm (perl-class-unload): New variable.

	gnu: Add Test-Pod.
	* gnu/packages/perl.scm (perl-test-pod): New variable.

	gnu: Add MooseX-NonMoose.
	* gnu/packages/perl.scm (perl-moosex-nonmoose): New variable.

	gnu: Add MooseX-MarkAsMethods.
	* gnu/packages/perl.scm (perl-moosex-markasmethods): New variable.

	gnu: Add DBIx-Class-IntrospectableM2M.
	* gnu/packages/databases.scm (perl-dbix-class-introspectablem2m): New
	  variable.

	gnu: Add Config-General.
	* gnu/packages/perl.scm (perl-config-general): New variable.

2015-03-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add BRDF Explorer.
	* gnu/packages/graphics.scm (brdf-explorer): New variable.

	licenses: Add the Ms-PL.
	* guix/licenses.scm (ms-pl): New variable.

2015-03-17  Tomáš Čech  <sleep_walker@gnu.org>

	gnu: agg: reverting commit d2c89faa8876dbcafcd213a0050f286377cec056
	commit was still missing gnu-system.am sections and added patches

	gnu: Add sdcv.
	* gnu/packages/dictionaries.scm (sdcv): New variable.

	gnu: Add agg.
	* gnu/packages/graphics.scm (agg): New variable.

2015-03-17  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add key-mon.
	* gnu/packages/key-mon.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add python2-rsvg.
	* gnu/packages/gnome.scm (python2-rsvg): New variable.

	gnu: Add python2-xlib.
	* gnu/packages/python.scm (python2-xlib): New variable.

2015-03-17  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add CUnit.
	* gnu/packages/check.scm (cunit): New variable.

	gnu: Add MISO.
	* gnu/packages/bioinformatics.scm (miso): New variable.

	gnu: Add bwa.
	* gnu/packages/bioinformatics.scm (bwa): New variable.

2015-03-17  David Thompson  <dthompson2@worcester.edu>

	scripts: environment: Improve error messages.
	* guix/scripts/environment.scm (guix-environment): Wrap procedure body with
	  error handling form.

2015-03-16  Ludovic Courtès  <ludo@gnu.org>

	system: Skeleton '.bashrc' now exports the 'SHELL' variable.
	* gnu/system/shadow.scm (default-skeletons)[bashrc]: Export 'SHELL'.

2015-03-16  Andreas Enge  <andreas@enge.fr>

	gnu: texlive: Make the package structure more modular.
	* gnu/packages/texlive.scm (texlive-bin, texlive-texmf): New variables.
	  The first one contains the binaries; the second one the texmf tree.
	  (texlive): Drop output "data". Create the output "out" as the union
	  of the suitable subdirectories of texlive-bin and texlive-texmf, and
	  wrap the binaries, setting TEXMFCNF to the value corresponding to
	  texlive-texmf.

2015-03-15  Ludovic Courtès  <ludo@gnu.org>

	gnu: pavucontrol: Work around segmentation fault.
	* gnu/packages/patches/pavucontrol-sigsegv.patch: New file.
	* gnu/packages/pulseaudio.scm (pavucontrol)[source]: Use it.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-03-15  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add Lilypond.
	* gnu/packages/music.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-03-15  Ludovic Courtès  <ludo@gnu.org>

	pulseaudio: Update to 6.0; add dependency on eudev.
	* gnu/packages/pulseaudio.scm (pulseaudio)[source]: Update to 6.0.
	  [arguments]: Pass --with-udev-rules-dir.
	  [inputs]: Add eudev.

2015-03-14  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: openconnect: Update to 7.05.
	* gnu/packages/vpn.scm (openconnect): Update to 7.05, replace openssl with
	  gnutls.

	gnu: Add tig.
	* gnu/packages/version-control.scm (tig): New variable.

2015-03-14  Tomáš Čech  <sleep_walker@gnu.org>

	gnu: bind-utils: Add new variable.
	* gnu/packages/dns.scm (bind-utils): New variable.

2015-03-14  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: Rename module dnsmasq to dns.
	* gnu/packages/dnsmasq.scm: Rename to...
	* gnu/packages/dns.scm: ... this.  Change module name accordingly.
	* gnu-system.am (GNU_SYSTEM_MODULES): Rename dnsmasq module to dns.

2015-03-14  Eric Bavier  <bavier@member.fsf.org>

	gnu: c-reduce: Use llvm and clang 3.5.
	* gnu/packages/debug.scm (c-reduce)[intputs]: Use llvm and clang 3.5.

2015-03-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: Update packages to use 'non-copyleft' instead of 'bsd-style'.
	* gnu/packages/avr.scm, gnu/packages/compression.scm,
	  gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm,
	  gnu/packages/databases.scm, gnu/packages/firmware.scm,
	  gnu/packages/flex.scm, gnu/packages/fontutils.scm,
	  gnu/packages/gd.scm, gnu/packages/ghostscript.scm,
	  gnu/packages/gnunet.scm, gnu/packages/graphics.scm,
	  gnu/packages/hugs.scm, gnu/packages/image.scm,
	  gnu/packages/linux.scm, gnu/packages/mail.scm,
	  gnu/packages/maths.scm, gnu/packages/mit-krb5.scm,
	  gnu/packages/python.scm, gnu/packages/rdf.scm,
	  gnu/packages/ssh.scm, gnu/packages/tcl.scm,
	  gnu/packages/xdisorg.scm, gnu/packages/xiph.scm,
	  gnu/packages/yasm.scm, gnu/packages/zip.scm: Use 'non-copyleft'
	  instead of 'bsd-style'.

	licenses: Rename 'bsd-style' to 'non-copyleft'.
	* guix/licenses.scm (bsd-style): Rename to...
	  (non-copyleft): ... this.  Clarify docstring.
	  (bsd-style): Introduce as an alias for 'non-copyleft'.

2015-03-14  Andreas Enge  <andreas@enge.fr>

	gnu: minetest: Swap input libjpeg-8 for current libjpeg-9.
	* gnu/packages/games.scm (minetest): Swap input libjpeg-8 for current
	  libjpeg-9.

	gnu: minetest: Update to 0.4.12.
	* gnu/packages/games.scm (minetest, minetest-data): Update to 0.4.12.

	gnu: minetest: Fix build with modified cmake build system.
	* gnu/packages/games.scm (minetest)[arguments]: Instead of setting CPATH,
	  which is no more used by the cmake build system since commit 0d6f936, set
	  the include directories for irrlicht and curl directly via configure flags.

2015-03-14  Andreas Enge  <andreas@enge.fr>
	    John Darrington  <john@darrington.wattle.id.au>

	gnu: Add glm.
	* gnu/packages/maths.scm (glm): New variable.

2015-03-14  Andreas Enge  <andreas@enge.fr>

	gnu: boost: Update to 1.57.0.
	* gnu/packages/boost.scm (boost): Update to 1.57.0.

	gnu: cmake: Add CMAKE_PREFIX_PATH as a native search path, and drop CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH from the cmake build system.
	* gnu/packages/cmake.scm (cmake)[native-search-paths]: New field.
	* guix/build/cmake-build-system.scm (configure): Drop environment variables
	  CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH.

	gnu: ffmpeg: Update to 2.6.
	* gnu/packages/video.scm (ffmpeg): Update to 2.6.

2015-03-13  Ricardo Wurmus  <rekado@elephly.net>

	gnu: clalsadrv: Move snippet to build phase and set LIBDIR.
	* gnu/packages/audio.scm (clalsadrv): Move snippet to build phase and set
	  LIBDIR.

	gnu: zita-alsa-pcmi: Move snippet to build phase and set LIBDIR.
	* gnu/packages/audio.scm (zita-alsa-pcmi): Move snippet to build phase
	  and set LIBDIR.

2015-03-13  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add DBIx-Class.
	* gnu/packages/databases.scm (perl-dbix-class): New variable.

	gnu: Add SQL-Abstract.
	* gnu/packages/databases.scm (perl-sql-abstract): New variable.

	gnu: Add Text-Balanced.
	* gnu/packages/perl.scm (perl-text-balanced): New variable.

	gnu: Add Scope-Guard.
	* gnu/packages/perl.scm (perl-scope-guard): New variable.

	gnu: Add Moo.
	* gnu/packages/perl.scm (perl-moo): New variable.

	gnu: Add strictures.
	* gnu/packages/perl.scm (perl-strictures): New variable.

	gnu: Add Role-Tiny.
	* gnu/packages/perl.scm (perl-role-tiny): New variable.

	gnu: Add Import-Into.
	* gnu/packages/perl.scm (perl-import-into): New variable.

	gnu: Add Class-Method-Modifiers.
	* gnu/packages/perl.scm (perl-class-method-modifiers): New variable.

	gnu: Add Module-Find.
	* gnu/packages/perl.scm (perl-module-find): New variable.

	gnu: Add Hash-Merge.
	* gnu/packages/perl.scm (perl-hash-merge): New variable.

	gnu: Add Data-Page.
	* gnu/packages/perl.scm (perl-data-page): New variable.

	gnu: Add Class-Accessor-Chained.
	* gnu/packages/perl.scm (perl-class-accessor-chained): New variable.

	gnu: Add Data-Dumper-Concise.
	* gnu/packages/perl.scm (perl-data-dumper-concise): New variable.

	gnu: Add Context-Preserve.
	* gnu/packages/perl.scm (perl-context-preserve): New variable.

	gnu: Add Config-Any.
	* gnu/packages/perl.scm (perl-config-any): New variable.

	gnu: Add Class-C3-Componentised.
	* gnu/packages/perl.scm (perl-class-c3-componentised): New variable.

	gnu: Add Class-C3.
	* gnu/packages/perl.scm (perl-class-c3): New variable.

	gnu: Add Algorithm-C3.
	* gnu/packages/perl.scm (perl-algorithm-c3): New variable.

	gnu: Add Class-Accessor-Grouped.
	* gnu/packages/perl.scm (perl-class-accessor-grouped): New variable.

	gnu: Add Class-XSAccessor.
	* gnu/packages/perl.scm (perl-class-xsaccessor): New variable.

2015-03-13  Ricardo Wurmus  <rekado@elephly.net>

	gnu: libgnomeprint: adapt to newer freetype.
	* gnu/packages/gnome.scm (freetype): Change "freetype" to "freetype2" in
	  snippet.

2015-03-13  宋文武  <iyzsong@gmail.com>

	services: slim: Pass SESSION to ~/.xsession as "$1".
	* gnu/services/xorg.scm (xinitrc)[builder]: Pass SESSION to ~/.xsession.

	services: slim: Allow non-absolute path to be used as session command.
	* gnu/services/xorg.scm (xinitrc)[builder]: Don't check the existence
	  of COMMAND.  Only run ~/.xsession when it exists.

	services: slim: Use /run/current-system/profile/share/xsessions as sessiondir.
	* gnu/services/xorg.scm (<session-type>, %windowmaker-session-type)
	  (%ratposion-session-type, %sawfish-session-type, %default-xsessions)
	  (xsessions-directory): Remove.
	  (slim-service): Remove #:sessions parameter.
	  [slim.cfg]: Use /run/current-system/profile/share/xsessions as sessiondir.
	* doc/guix.texi <X Window>: Adjust accordingly.

2015-03-13  Andreas Enge  <andreas@enge.fr>

	gnu: calibre: Update to 2.21.0.
	* gnu/packages/ebook.scm (calibre): Update to 2.21.0.

2015-03-13  Andreas Enge  <andreas@enge.fr>
	    John Darrington  <john@darrington.wattle.id.au>

	gnu: Add vigra.
	* gnu/packages/image.scm (vigra): New variable.

2015-03-13  Andreas Enge  <andreas@enge.fr>

	gnu: hdf5: Add input zlib.
	* gnu/packages/maths.scm (hdf5): Add input zlib.

2015-03-12  Andreas Enge  <andreas@enge.fr>

	gnu: hdf5: Combine all outputs into one.
	* gnu/packages/maths.scm (hdf5): Combine the outputs "out", "bin", "lib" and
	  "include" into "out".
	  (gmsh, octave): Adapt list of inputs.

	gnu: ffmpeg: Set LDFLAGS to -ldl.
	* gnu/packages/video.scm (ffmpeg, ffmpeg-2.2): Set LDFLAGS to -ldl.
	  This fixes a build failure of ffmpeg-2.2.

2015-03-12  Ludovic Courtès  <ludo@gnu.org>

	gnu: skribilo: Add dependency on Ploticus.
	* gnu/packages/skribilo.scm (skribilo)[inputs]: Add PLOTUTILS.

	gnu: guile-reader: Build with the C locale.
	* gnu/packages/guile.scm (guile-reader)[arguments]: Add #:locale.

	system: Add /etc/bashrc that loads bash-completion when available.
	* gnu/system.scm (etc-directory)[profile]: Conditionally source
	  /etc/bashrc.
	  [bashrc]: New file.  Source bash_completion.sh when available.

	gnu: git: Install Bash completion as 'etc/bash_completion.d/git'.
	* gnu/packages/version-control.scm (git)[arguments]
	  <install-shell-completion>: Change "git.sh" to "git" as the completion
	  module file name.

	gnu: bash-completion: Search for completion modules in profiles.
	* gnu/packages/patches/bash-completion-directories.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/bash.scm (bash-completion)[source]: Use it.

2015-03-12  Alexander I.Grafov (Axel)  <grafov@gmail.com>

	system: Add fish, tcsh, and zsh to /etc/shells.
	* gnu/system.scm (etc-directory)[shells]: Add fish, tcsh, and zsh file
	  names to /etc/shells.

	system: Remove duplicated line from export.
	* gnu/system.scm (gnu system): Remove duplicate in
	  exported names list.

2015-03-12  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: Add isync.
	* gnu/packages/mail.scm (isync): New variable.

2015-03-12  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add Catalyst-Runtime.
	* gnu/packages/web.scm (perl-catalyst-runtime): New variable.

	gnu: Add URI-ws.
	* gnu/packages/web.scm (perl-uri-ws): New variable.

	gnu: Add Tree-Simple-VisitorFactory.
	* gnu/packages/perl.scm (perl-tree-simple-visitorfactory): New
	  variable.

	gnu: Add Tree-Simple.
	* gnu/packages/perl.scm (perl-tree-simple): New variable.

	gnu: Add Text-SimpleTable.
	* gnu/packages/perl.scm (perl-text-simpletable): New variable.

	gnu: Add String-RewritePrefix.
	* gnu/packages/perl.scm (perl-string-rewriteprefix): New variable.

	gnu: Add Safe-Isa.
	* gnu/packages/perl.scm (perl-safe-isa): New variable.

	gnu: Add Plack-Test-ExternalServer.
	* gnu/packages/web.scm (perl-plack-test-externalserver): New variable.

	gnu: Add Plack-Middleware-ReverseProxy.
	* gnu/packages/web.scm (perl-plack-middleware-reverseproxy): New
	  variable.

	gnu: Add Plack-Middleware-RemoveRedundantBody.
	* gnu/packages/web.scm (perl-plack-middleware-removeredundantbody):
	  New variable.

	gnu: Add Plack-Middleware-MethodOverride.
	* gnu/packages/web.scm (perl-plack-middleware-methodoverride): New
	  variable.

	gnu: Add Plack-Middleware-FixMissingBodyInRedirect.
	* gnu/packages/web.scm (perl-plack-middleware-fixmissingbodyinredirect):
	  New variable.

	gnu: Add Path-Class.
	* gnu/packages/perl.scm (perl-path-class): New variable.

	gnu: Add MooseX-MethodAttributes.
	* gnu/packages/perl.scm (perl-moosex-methodattributes): New variable.

	gnu: Add MooseX-Types.
	* gnu/packages/perl.scm (perl-moosex-types): New variable.

	gnu: Add Carp-Clan.
	* gnu/packages/perl.scm (perl-carp-clan): New variable.

	gnu: Add MooseX-Getopt.
	* gnu/packages/perl.scm (perl-moosex-getopt): New variable.

	gnu: Add MooseX-Role-Parameterized.
	* gnu/packages/perl.scm (perl-moosex-role-parameterized): New variable.

	gnu: Add MooseX-Role-WithOverloading.
	* gnu/packages/perl.scm (perl-moosex-role-withoverloading): New variable.

	gnu: Add namespace-autoclean.
	* gnu/packages/perl.scm (perl-namespace-autoclean): New variable.

	gnu: Add aliased.
	* gnu/packages/perl.scm (perl-aliased): New variable.

	gnu: Add Getopt-Long-Descriptive.
	* gnu/packages/perl.scm (perl-getopt-long-descriptive): New variable.

	gnu: Add Params-Validate.
	* gnu/packages/perl.scm (perl-params-validate): New variable.

	gnu: Add Test-Trap.
	* gnu/packages/perl.scm (perl-test-trap): New variable.

	gnu: Add MooseX-Emulate-Class-Accessor-Fast.
	* gnu/packages/perl.scm (perl-moosex-emulate-class-accessor-fast): New
	  variable.

	gnu: Add JSON-MaybeXS.
	* gnu/packages/web.scm (perl-json-maybexs): New variable.

	gnu: Add Test-Without-Module.
	* gnu/packages/perl.scm (perl-test-without-module): New variable.

	gnu: Add Cpanel-JSON-XS.
	* gnu/packages/web.scm (perl-cpanel-json-xs): New variable.

	gnu: Add common-sense.
	* gnu/packages/perl.scm (perl-common-sense): New variable.

	gnu: Add HTTP-Request-AsCGI.
	* gnu/packages/web.scm (perl-http-request-ascgi): New variable.

	gnu: Add Class-Accessor.
	* gnu/packages/perl.scm (perl-class-accessor): New variable.

	gnu: Add base.
	* gnu/packages/perl.scm (perl-base): New variable.

	gnu: Add Data-Dump.
	* gnu/packages/perl.scm (perl-data-dump): New variable.

	gnu: Add Class-Date.
	* gnu/packages/perl.scm (perl-class-date): New variable.

	gnu: Add Class-C3-Adopt-NEXT.
	* gnu/packages/perl.scm (perl-class-c3-adopt-next): New variable.

	gnu: Add CGI-Struct.
	* gnu/packages/web.scm (perl-cgi-struct): New variable.

	gnu: Add CGI-Simple.
	* gnu/packages/web.scm (perl-cgi-simple): New variable.

	gnu: Add IO-stringy.
	* gnu/packages/perl.scm (perl-io-stringy): New variable.

	gnu: perl-uri: Update to 1.67.
	* gnu/packages/web.scm (perl-uri): Update to 1.67.
	  [source]: Update mirror uri.
	  [home-page]: Point to distribution uri.

	gnu: perl-http-message: Propagate all inputs.
	* gnu/packages/web.scm (perl-http-message)[inputs]: Move all to...
	  [propagate-inputs]: Here.

2015-03-12  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: samba: Augment dynamic library rpaths.
	* gnu/packages/samba.scm (samba): Augment the rpath of files in lib/ in
	  addition to those in bin/ and sbin/.

2015-03-12  Ludovic Courtès  <ludo@gnu.org>

	build-system/python: Delay evaluation of the 'python2' package.
	This fixes a bug whereby uses of 'package-with-python2' at the top-level
	in modules other than (gnu packages python) could lead to an "Unbound
	variable: python2" error due to the circular references.

	Reported by Tomáš Čech.

	* guix/build-system/python.scm (package-with-explicit-python)[arguments]:
	  Check whether PYTHON is a promise, and force it if it is.
	  (package-with-python2): Wrap 'default-python2' call in 'delay'.

2015-03-12  Ludovic Courtès  <ludo@gnu.org>

	services: bitlbee: Make /var/lib/bitlbee when activating.
	* gnu/services/networking.scm (bitlbee-service): Add 'activate' field.

	system: Adjust '.bashrc' skeleton for non-interactive SSH sessions.
	* gnu/system/shadow.scm (default-skeletons)[bashrc]: Source /etc/profile
	  when in a non-interactive SSH session.

	gnu: Move cflow, Complexity, and GLOBAL to (gnu packages code).
	* gnu/packages/code.scm (cflow, complexity, global): New variables.
	* gnu/packages/cflow.scm, gnu/packages/complexity.scm,
	  gnu/packages/global.scm: Remove.
	* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.

	gnu: Add SLOCCount.
	* gnu/packages/code.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-03-11  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-ssh: Update to 0.7.2.
	* gnu/packages/ssh.scm (guile-ssh): Update to 0.7.2.

	gnu: help2man: Update to 1.46.5.
	* gnu/packages/man.scm (help2man): Update to 1.46.5.

2015-03-11  Ludovic Courtès  <ludo@gnu.org>

	doc: Suggest to use 'lsh-service' with #:initialize? #t.
	Suggested by Tomáš Čech.

	* doc/guix.texi (Using the Configuration System): Pass #:initialize? #t
	  to 'lsh-service'.

2015-03-11  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add Plack.
	* gnu/packages/web.scm (perl-plack): New variable.

	gnu: Add Test-TCP.
	* gnu/packages/web.scm (perl-test-tcp): New variable.

	gnu: Add Test-SharedFork.
	* gnu/packages/perl.scm (perl-test-sharedfork): New variable.

	gnu: Add Stream-Buffered.
	* gnu/packages/perl.scm (perl-stream-buffered): New variable.

	gnu: Add HTTP-Body.
	* gnu/packages/web.scm (perl-http-body): New variable.

	gnu: Add Hash-MultiValue.
	* gnu/packages/perl.scm (perl-hash-multivalue): New variable.

	gnu: Add Devel-StackTrace-AsHTML.
	* gnu/packages/perl.scm (perl-devel-stacktrace-ashtml): New variable.

	gnu: Add HTTP-Tiny.
	* gnu/packages/web.scm (perl-http-tiny): New variable.

	gnu: Add IO-Socket-IP.
	* gnu/packages/web.scm (perl-io-socket-ip): New variable.

	gnu: Add HTTP-CookieJar.
	* gnu/packages/web.scm (perl-http-cookiejar): New variable.

	gnu: Add Time-Mock.
	* gnu/packages/perl.scm (perl-time-mock): New variable.

	gnu: Add TimeDate.
	* gnu/packages/perl.scm (perl-timedate): New variable.

	gnu: Add Apache-LogFormat-Compiler.
	* gnu/packages/web.scm (perl-apache-logformat-compiler): New variable.

	gnu: Add POSIX-strftime-Compiler.
	* gnu/packages/perl.scm (perl-posix-strftime-compiler): New variable.

	gnu: Add Test-MockTime.
	* gnu/packages/perl.scm (perl-test-mocktime): New variable.

	gnu: Add File-ShareDir.
	* gnu/packages/perl.scm (perl-file-sharedir): New variable.

	gnu: Add File-ShareDir-Install.
	* gnu/packages/perl.scm (perl-file-sharedir-install): New variable.

	gnu: Add Class-Inspector.
	* gnu/packages/perl.scm (perl-class-inspector): New variable.

	gnu: Add Time-Local.
	* gnu/packages/perl.scm (perl-time-local): New variable.

	gnu: Group and alphabetize perl module packages.
	* gnu/packages/web.scm (perl-encode-locale, perl-file-listing,
	  perl-html-parser, perl-html-tagset, perl-http-cookies, perl-http-daemon,
	  perl-http-date, perl-http-message, perl-http-negotiate, perl-io-html,
	  perl-io-socket-ssl, perl-libwww, perl-lwp-mediatypes, perl-net-http,
	  perl-uri, perl-www-curl, perl-www-robotrules): Group and alphabetize.

2015-03-11  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add WenQuanYi ZenHei font.
	* gnu/packages/fonts.scm (font-wqy-zenhei): New variable.

2015-03-10  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add PCB.
	* gnu/packages/engineering.scm (pcb): New variable.

2015-03-10  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add openspecfun.
	* gnu/packages/maths.scm (openspecfun): New variable.

	gnu: Add openlibm.
	* gnu/packages/maths.scm (openlibm): New variable.

2015-03-10  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: Add enlightenment.
	* gnu/packages/enlightenment.scm (enlightenment): New variable.

2015-03-10  Ludovic Courtès  <ludo@gnu.org>

	system: Don't compare <pam-service> objects with 'equal?'.
	Fixes <http://bugs.gnu.org/20037>.
	Reported by 宋文武 <iyzsong@gmail.com> and Tomáš Čech.

	* gnu/system.scm (operating-system-etc-directory): Remove call to
	  'delete-duplicates'.
	* gnu/system/linux.scm (pam-services->directory)[builder]: Add call to
	  'delete-duplicates'.

2015-03-10  Ludovic Courtès  <ludo@gnu.org>

	Revert "gnu: vlc: Update to 2.2.0"
	This reverts commit ad036bda89e338ec44d314d6c17049aff57c788f.

	This version has always failed to build according to
	<http://hydra.gnu.org/job/gnu/master/vlc-2.2.0.x86_64-linux/all>.

2015-03-10  Mark H Weaver  <mhw@netris.org>

	gnu: icecat: Update to 31.5.0.
	* gnu/packages/patches/icecat-CVE-2015-0822.patch,
	  gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch,
	  gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch,
	  gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch,
	  gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch,
	  gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: Remove files.
	* gnu-system.am (dist_patch_DATA): Remove them.
	* gnu/packages/gnuzilla.scm (icecat): Update to 31.5.0.  Remove patches.
	  Add 'nspr', 'nss', and 'cairo' to inputs.  Add configure flags to use
	  those system libraries.

	gnu: nss: Include -L$libdir in output of "nss-config --libs".
	* gnu/packages/patches/nss-pkgconfig.patch (nss-config): Include -L$libdir in
	  output of "nss-config --libs".

	gnu: nspr: Update to 4.10.8.
	* gnu/packages/gnuzilla.scm (nspr): Update to 4.10.8.

2015-03-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: enca: Run tests sequentially.
	* gnu/packages/textutils.scm (enca)[arguments]: New field.  Fixes build
	  issue visible at <http://hydra.gnu.org/build/308913>.

2015-03-10  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add htsjdk.
	* gnu/packages/bioinformatics.scm (htsjdk): New variable.

2015-03-10  宋文武  <iyzsong@gmail.com>

	gnu: ratpoison: Install xsession file (ratpoison.desktop).
	* gnu/packages/ratpoison.scm (ratpoison.desktop): New variable.
	  (ratpoison)[arguments]: New field.

2015-03-10  Mark H Weaver  <mhw@netris.org>

	gnu: sqlite: Add -DSQLITE_ENABLE_UNLOCK_NOTIFY to CFLAGS.
	* gnu/packages/databases.scm (sqlite)[arguments]: Add
	  -DSQLITE_ENABLE_UNLOCK_NOTIFY to CFLAGS.

2015-03-10  Andreas Enge  <andreas@enge.fr>

	gnu: patch: Update to 2.7.5.
	* gnu/packages/base.scm (patch): Update to 2.7.5.

2015-03-10  Mark H Weaver  <mhw@netris.org>

	Add Paul to 'AUTHORS'.

2015-03-09  Ludovic Courtès  <ludo@gnu.org>

	services: Statically report duplicate dmd service identifiers.
	Reported by 白い熊 @相撲道 <guix-devel_gnu.org@sumou.com>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-03/msg00264.html>.

	* gnu/services/dmd.scm (assert-no-duplicates): New procedure.
	  (dmd-configuration-file): Use it.
	* po/guix/POTFILES.in: Add gnu/services/dmd.scm.
	* tests/guix-system.sh (errorfile): Add test.

2015-03-09  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-ncurses: Run tests with a locale that's actually available.
	* gnu/packages/guile.scm (guile-ncurses)[arguments]: Add 'change-locale'
	  phase.

	gnu: wget: Update to 1.16.3.
	* gnu/packages/wget.scm (wget): Update to 1.16.3.

	gnu: Add Ploticus.
	* gnu/packages/plotutils.scm (ploticus): New variable.

	Add Alexander to 'AUTHORS'.

2015-03-09  Alexander I.Grafov (Axel)  <grafov@gmail.com>
	    Ludovic Courtès  <ludo@gnu.org>

	gnu: Add rxvt-unicode.
	* gnu/packages/xdisorg.scm (rxvt-unicode): New variable.

2015-03-09  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add libass.
	* gnu/packages/video.scm (libass): New variable.
	(ffmpeg): Add input libass.

	gnu: Add enca.
	* gnu/packages/textutils.scm (enca): New variable.

	gnu: Add recode.
	* gnu/packages/textutils.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: ffmpeg: Enable libavresample.
	* gnu/packages/video.scm (ffmpeg): Add "--enable-avresample" configure option.

	gnu: ffmpeg: Add more optional inputs.
	* gnu/packages/video.scm (ffmpeg): Add inputs ladspa, openal, pulseaudio.

	gnu: Add libcdio-paranoia.
	* gnu/packages/cdrom.scm (libcdio-paranoia): New variable.
	* gnu/packages/video.scm (ffmpeg): Add input libcdio-paranoia.

	gnu: cdio: Fix description.
	* gnu/packages/cdrom.scm (libcdio): This package does not contain pycdio or
	  libcdio-paranoia, so remove these from the description.  They can be
	  obtained separately from <ftp://ftp.gnu.org/pub/gnu/libcdio/>.

	gnu: Add quvi.
	* gnu/packages/web.scm (quvi): New variable.

	gnu: Add libquvi.
	* gnu/packages/web.scm (libquvi): New variable.
	* gnu/packages/video.scm (ffmpeg): Add input libquvi.

	gnu: Add libquvi-scripts.
	* gnu/packages/web.scm (libquvi-scripts): New variable.

	gnu: Add libcaca.
	* gnu/packages/video.scm (libcaca): New variable.
	(ffmpeg): Add input libcaca.

	gnu: freeglut: Propagate input glu.
	* gnu/packages/gl.scm (freeglut): Make glu a propagated input instead of a
	  normal input.

	gnu: Add xvid.
	* gnu/packages/video.scm (xvid): New variable.
	(ffmpeg): Add input xvid.

	gnu: Add libdvdnav-4.
	* gnu/packages/video.scm (libdvdnav-4): New variable.

	gnu: Add libdvdcss.
	* gnu/packages/video.scm (libdvdcss): New variable.

	gnu: Add libbluray.
	* gnu/packages/video.scm (libbluray): New variable.
	(ffmpeg): Add input libbluray.

	gnu: Add libdv.
	* gnu/packages/video.scm (libdv): New variable.

	gnu: Add libdca.
	* gnu/packages/video.scm (libdca): New variable.

	gnu: Add liba52.
	* gnu/packages/video.scm (liba52): New variable.

	gnu: Add libungif.
	* gnu/packages/image.scm (libungif): New variable.

	gnu: Add rsound.
	* gnu/packages/audio.scm (rsound): New variable.

	gnu: Move 'openal' to (gnu packages audio).
	* gnu/packages/games.scm (openal): Removed variable.
	* gnu/packages/audio.scm (openal): New variable.

	gnu: Add libbs2b.
	* gnu/packages/audio.scm (libbs2b): New variable.

	gnu: Add faad2.
	* gnu/packages/audio.scm (faad2): New variable.

2015-03-09  Paul van der Walt  <paul@denknerd.org>

	gnu: ncmpcpp: Move taglib from native-inputs.
	* gnu/packages/mpd.scm (ncmpcpp): Move TAGLIB from ‘native-inputs’ to ‘inputs’.

2015-03-09  宋文武  <iyzsong@gmail.com>

	gnu: libmikmod: Remove inputs alsa-lib and libx11.
	Fixes <http://bugs.gnu.org/19015>.

	* gnu/packages/sdl.scm (libmikmod)[inputs]: Remove.

2015-03-09  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add gEDA/gaf.
	* gnu/packages/engineering.scm (geda-gaf): New variable.

2015-03-08  Ludovic Courtès  <ludo@gnu.org>

	doc: Add 'packages' field to OS configuration template.
	* gnu/system/os-config.tmpl (packages): New field.

	gnu: gcj: Use a versioned URL for 'javac.in'.
	* gnu/packages/gcc.scm (javac.in): Use a ViewVC URL that specifies the
	  CVS revision.

2015-03-08  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.18.9
	* gnu/packages/linux.scm (linux-libre): Update to version 3.18.9.

2015-03-08  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add fdupes.
	* gnu/packages/admin.scm (fdupes): New variable.

	gnu: librecad: use (gnu packages base) module
	* gnu/packages/engineering.scm: use (gnu packages base) module for "which".

	gnu: rename engineering module
	* gnu/packages/engineering.scm: Change module name from "audio" to
	  "engineering".

2015-03-08  Federico Beffa  <beffa@fbengineering.ch>

	gnu: ghc: Remove installation of locale.
	* gnu/packages/haskell.scm (ghc): Remove installation of locale from
	  'unpack-and-fix-testsuite phase.

2015-03-08  Mark H Weaver  <mhw@netris.org>

	gnu: slang: Combine duplicate 'arguments' fields.
	Combine duplicate 'arguments' fields introduced in 22e357397a76ef.

	* gnu/packages/slang.scm (slang)[arguments]: Combine duplicate fields.

2015-03-08  Mark H Weaver  <mhw@netris.org>

	gnu: lrdf: Fix phases.
	Fixes a regression caused by 722ec722441a755e18fbc696d23441427dfb26af.

	* gnu/packages/rdf.scm (lrdf)[arguments]: Swap order of 'alist-cons-after'
	  calls.

2015-03-08  Mark H Weaver  <mhw@netris.org>

	gnu: sysfsutils-1: Pass --build to configure.
	* gnu/packages/linux.scm (sysfsutils-1)[arguments]: Pass --build to configure.

	gnu: sbcl: Use ISO-8859-1 to patch unix tool paths.
	* gnu/packages/lisp.scm (sbcl)[arguments]: Use ISO-8859-1 to patch unix tool
	  paths in string literals.

	Revert "gnu: patch: Update to 2.7.5."
	This reverts commit cded001198d60d151935134e85733ca453d72066.

	gnu: slang: Disable parallel build.
	* gnu/packages/slang.scm (slang)[arguments]: Disable parallel build.

2015-03-08  Andreas Enge  <andreas@enge.fr>

	gnu: patch: Update to 2.7.5.
	* gnu/packages/base.scm (patch): Update to 2.7.5.

2015-03-07  David Thompson  <dthompson2@worcester.edu>

	gnu: fish: Update to 2.1.2.

2015-03-07  Andreas Enge  <andreas@enge.fr>

	gnu: calibre: Swap input python2-pil for python2-pillow.
	* gnu/packages/ebook.scm (calibre)[inputs]: Drop python2-pil,
	    add python2-pillow.

	gnu: xpdf: Fix detection of freetype.
	* gnu/packages/pdf.scm (xpdf)[configure-flags]: Add flag to correctly detect
	  freetype. Otherwise, the xpdf binary is not built.

2015-03-07  Mark H Weaver  <mhw@netris.org>

	gnu: python-testlib: Fix license field.
	Fixes a problem introduced in a1920bc9f25210b2.
	Debugged by David Thompson.

	* gnu/packages/python.scm (python-testlib)[license]: 'expat' ->
	  'license:expat'.

2015-03-07  Federico Beffa  <beffa@fbengineering.ch>

	gnu: Add libedit.scm to gnu-system.am.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add libedit.scm.

	gnu: Add ghc.
	* gnu/packages/haskell.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add libedit.
	* gnu/packages/libedit.scm: New file.

	gnu: Add python-testlib and python2-testlib.
	* gnu/packages/python.scm (python-testlib, python2-testlib): New variables.

2015-03-07  Paul van der Walt  <paul@denknerd.org>

	gnu: ncmpcpp: Enable taglib support.
	* gnu/packages/mpd.scm (ncmpcpp): Add --with-taglib configure flag.

2015-03-07  Andreas Enge  <andreas@enge.fr>

	gnu: gcj: Move javac.in from a file in the distribution to an origin.
	* gnu/packages/javac.in: Delete file.
	* gnu-system.am (MISC_DISTRO_FILES): Delete.
	* gnu/packages/gcc.scm (javac.in): New variable.
	  (gcj-4.8): Use it as an input.

	gnu: gcc: Add copyright line.

	gnu: qt: Update to 5.4.1.
	* gnu/packages/qt.scm (qt): Update to 5.4.1.

2015-03-07  Mark H Weaver  <mhw@netris.org>

	gnu: zsh: Use ISO-8859-1 in 'fix-sh' phase.
	* gnu/packages/zsh.scm (zsh)[arguments]: Use ISO-8859-1 in 'fix-sh' phase.

	gnu: gmime: Use ISO-8859-1 when patching tests.
	* gnu/packages/mail.scm (gmime)[arguments]: Use ISO-8859-1 when patching
	  tests.

2015-03-07  Andreas Enge  <andreas@enge.fr>

	gnu: podofo: Fix detection of freetype.
	* gnu/packages/pdf.scm (podofo)[arguments]: Add phase patching the cmake
	  file that looks for freetype.

	gnu: Add calibre.
	* gnu/packages/ebook.scm (calibre): New variable.
	* gnu/packages/patches/calibre-drop-unrar.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.

	gnu: python2-pil: Adapt to newer Freetype.
	* gnu/packages/python.scm (python2-pil): Add snippet.

	gnu: gnunet: Update to 0.10.1.
	* gnu/packages/gnunet.scm (gnunet): Update to 0.10.1.
	  Adapt environment variable GNUNET_PREFIX to new use.
	  Disable parallel tests.
	  Disable tests until a failure is fixed.
	* gnu/packages/patches/gnunet-fix-scheduler.patch,
	  gnu/packages/patches/gnunet-fix-tests.patch: Delete patch files.
	* gnu-system.am (dist_patch_DATA): Unregister patches.

2015-03-06  Andreas Enge  <andreas@enge.fr>
	    Sou Bunnbu  <iyzsong@gmail.com>

	gnu: Add libqtxdg.
	* gnu/packages/lxqt.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Register it.

2015-03-06  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: valgrind: Fix build against glibc 2.21
	* gnu/packages/patches/valgrind-glibc-2.21.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add patch.
	* gnu/packages/valgrind.scm (valgrind): Apply patch.

2015-03-06  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add LibreCAD.
	* gnu/packages/engineering.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-03-06  Eric Bavier  <bavier@member.fsf.org>

	gnu: Add Moose.
	* gnu/packages/perl.scm (perl-moose): New variable.

	gnu: Add Task-Weaken.
	* gnu/packages/perl.scm (perl-task-weaken): New variable.

	gnu: Add Sub-Name.
	* gnu/packages/perl.scm (perl-sub-name): New variable.

	gnu: Add Devel-CheckBin.
	* gnu/packages/perl.scm (perl-devel-checkbin): New variable.

	gnu: Add Scalar-List-Utils.
	* gnu/packages/perl.scm (perl-scalar-list-utils): New variable.

	gnu: Add Package-DeprecationManager.
	* gnu/packages/perl.scm (perl-package-deprecationmanager): New variable.

	gnu: Add Module-Runtime-Conflicts.
	* gnu/packages/perl.scm (perl-module-runtime-conflicts): New variable.

	gnu: Add List-MoreUtils.
	* gnu/packages/perl.scm (perl-list-moreutils): New variable.

	gnu: Add Exporter-Tiny.
	* gnu/packages/perl.scm (perl-exporter-tiny): New variable.

	gnu: Add Test-WriteVariants.
	* gnu/packages/perl.scm (perl-test-writevariants): New variable.

	gnu: Add Data-Tumbler.
	* gnu/packages/perl.scm (perl-data-tumbler): New variable.

	gnu: Add File-HomeDir.
	* gnu/packages/perl.scm (perl-file-homedir): New variable.

	gnu: Add File-Temp.
	* gnu/packages/perl.scm (perl-file-temp): New variable.

	gnu: Add parent.
	* gnu/packages/perl.scm (perl-parent): New variable.

	gnu: Add Test-Directory.
	* gnu/packages/perl.scm (perl-test-directory): New variable.

	gnu: Add Test-Most.
	* gnu/packages/perl.scm (perl-test-most): New variable.

	gnu: Add Test-Exception.
	* gnu/packages/perl.scm (perl-test-exception): New variable.

	gnu: Add Module-Build.
	* gnu/packages/perl.scm (perl-module-build): New variable.

	gnu: Add Exception-Class.
	* gnu/packages/perl.scm (perl-exception-class): New variable.

	gnu: Add Class-Data-Inheritable.
	* gnu/packages/perl.scm (perl-class-data-inheritable): New variable.

	gnu: Add Test-Differences.
	* gnu/packages/perl.scm (perl-test-differences): New variable.

	gnu: Add Text-Diff.
	* gnu/packages/perl.scm (perl-text-diff): New variable.

	gnu: Add Algorithm-Diff.
	* gnu/packages/perl.scm (perl-algorithm-diff): New variable.

	gnu: Add inc-latest.
	* gnu/packages/perl.scm (perl-inc-latest): New variable.

	gnu: Add Config-AutoConf.
	* gnu/packages/perl.scm (perl-config-autoconf): New variable.

	gnu: Add Eval-Closure.
	* gnu/packages/perl.scm (perl-eval-closure): New variable.

	gnu: Add Devel-LexAlias.
	* gnu/packages/perl.scm (perl-devel-lexalias): New variable.

	gnu: Add Devel-Caller.
	* gnu/packages/perl.scm (perl-devel-caller): New variable.

	gnu: Add PadWalker.
	* gnu/packages/perl.scm (perl-padwalker): New variable.

	gnu: Add Devel-StackTrace.
	* gnu/packages/perl.scm (perl-devel-stacktrace): New variable.

	gnu: Add Devel-PartialDump.
	* gnu/packages/perl.scm (perl-devel-partialdump): New variable.

	gnu: Add Class-Tiny.
	* gnu/packages/perl.scm (perl-class-tiny): New variable.

	gnu: Add Test-Warn.
	* gnu/packages/perl.scm (perl-test-warn): New variable.

	gnu: Add Sub-Uplevel.
	* gnu/packages/perl.scm (perl-sub-uplevel): New variable.

	gnu: Add Devel-OverloadInfo.
	* gnu/packages/perl.scm (perl-devel-overloadinfo): New variable.

	gnu: Add MRO-Compat.
	* gnu/packages/perl.scm (perl-mro-compat): New variable.

	gnu: Add Devel-GlobalDestruction.
	* gnu/packages/perl.scm (perl-devel-globaldestruction): New variable.

	gnu: Add Class-Load-XS.
	* gnu/packages/perl.scm (perl-class-load-xs): New variable.

	gnu: Add Class-Load.
	* gnu/packages/perl.scm (perl-class-load): New variable.

	gnu: Add Module-Build-Tiny.
	* gnu/packages/perl.scm (perl-module-build-tiny): New variable.

	gnu: Add Test-Harness.
	* gnu/packages/perl.scm (perl-test-harness): New variable.

	gnu: Add ExtUtils-Helpers.
	* gnu/packages/perl.scm (perl-extutils-helpers): New variable.

	gnu: Add ExtUtils-InstallPaths.
	* gnu/packages/perl.scm (perl-extutils-installpaths): New variable.

	gnu: Add ExtUtils-Config.
	* gnu/packages/perl.scm (perl-extutils-config): New variable.

	gnu: Add Test-CleanNamespaces.
	* gnu/packages/perl.scm (perl-test-cleannamespaces): New variable.

	gnu: Add File-Find-Rule-Perl.
	* gnu/packages/perl.scm (perl-file-find-rule-perl): New variable.

	gnu: Add File-Find-Rule.
	* gnu/packages/perl.scm (perl-file-find-rule): New variable.

	gnu: Add Number-Compare.
	* gnu/packages/perl.scm (perl-number-compare): New variable.

	gnu: Add Text-Glob.
	* gnu/packages/perl.scm (perl-text-glob): New variable.

	gnu: Add Sub-Identify.
	* gnu/packages/perl.scm (perl-sub-identify): New variable.

	gnu: Add namespace-clean.
	* gnu/packages/perl.scm (perl-namespace-clean): New variable.

	gnu: Add B-Hooks-EndOfScope.
	* gnu/packages/perl.scm (perl-b-hooks-endofscope): New variable.

	gnu: Add Variable-Magic.
	* gnu/packages/perl.scm (perl-variable-magic): New variable.

	gnu: Add Sub-Exporter-Progressive.
	* gnu/packages/perl.scm (perl-sub-exporter-progressive): New variable.

	gnu: Add Package-Stash.
	* gnu/packages/perl.scm (perl-package-stash): New variable.

	gnu: Add Package-Stash-XS.
	* gnu/packages/perl.scm (perl-package-stash-xs): New variable.

	gnu: Add Module-Implementation.
	* gnu/packages/perl.scm (perl-module-implementation): New variable.

	gnu: Add Package-Anon.
	* gnu/packages/perl.scm (perl-package-anon): New variable.

	gnu: Add Test-Warnings.
	* gnu/packages/perl.scm (perl-test-warnings): New variable.

	gnu: Add Test-Requires.
	* gnu/packages/perl.scm (perl-test-requires): New variable.

	gnu: Add Dist-CheckConflicts.
	* gnu/packages/perl.scm (perl-dist-checkconflicts): New variable.

	gnu; Add Module-Runtime.
	* gnu/packages/perl.scm (perl-module-runtime): New variable.

	gnu: Add Test-Fatal.
	* gnu/packages/perl.scm (perl-test-fatal): New variable.

	gnu: Add Try-Tiny.
	* gnu/packages/perl.scm (perl-try-tiny): New variable.

	gnu: Add CPAN-Meta-Check.
	* gnu/packages/perl.scm (perl-cpan-meta-check): New variable.

	gnu: Add CPAN-Meta.
	* gnu/packages/perl.scm (perl-cpan-meta): New variable.

	gnu: Add Parse-CPAN-Meta.
	* gnu/packages/perl.scm (perl-parse-cpan-meta): New variable.

	gnu: Add CPAN-Meta-YAML.
	* gnu/packages/perl.scm (perl-cpan-meta-yaml): New variable.

	gnu: Add CPAN-Meta-Requirements.
	* gnu/packages/perl.scm (perl-cpan-meta-requirements): New variable.

	gnu: perl-test-simple: Update to 1.001014.
	* gnu/packages/perl.scm (perl-test-simple): Update to 1.001014.

	gnu: perl-data-optlist: Move input to propagated-inputs.
	* gnu/packages/perl.scm (perl-data-optlist): Move perl-params-util
	  from inputs to propagated-inputs.

	perl: Alphabetize module packages.
	* gnu/packages/perl.scm: Alphabetize package definitions.

2015-03-06  Ludovic Courtès  <ludo@gnu.org>

	list-packages: Use GuixSD logo and name.
	* build-aux/list-packages.scm (packages->sxml): Change to use
	  GuixSD-V.png and use the name "Guix System Distribution".

2015-03-06  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: grub: Add patch to fix new version of freetype
	* gnu/packages/patches/grub-freetype.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add the patch.
	* gnu/packages/grub.scm (grub): Apply new patch.

2015-03-06  Mark H Weaver  <mhw@netris.org>

	gnu: nss-certs: Include 'install-locale' phase.
	* gnu/packages/certs.scm (nss-certs)[arguments]: Include 'install-locale'
	  phase.  Remove outdated comment.
	  (certdata2pem)[source]: Add 'file-name' to origin.

2015-03-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update snapshot.

	gnu: glibc: Comment on the parallel build race.
	* gnu/packages/base.scm (glibc): Augment comment regarding sequential
	  builds.

2015-03-06  Alex Sassmannshausen  <alex.sassmannshausen@gmail.com>

	gnu: Add tree.
	* gnu/packages/admin.scm (tree): New variable.

2015-03-05  Andreas Enge  <andreas@enge.fr>

	gnu: valgrind: Update to 3.10.1.
	* gnu/packages/valgrind.scm (valgrind): Update to 3.10.1.

2015-03-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: gnupg: Remove #:prefix for (gnu packages compression).
	* gnu/packages/gnupg.scm: Remove #:prefix for (gnu packages
	  compression).  Add #:prefix for (gnu packages license).

	lint: Add tests for the 'source' checker.
	* guix/scripts/lint.scm (check-source): Export.
	* tests/lint.scm (%null-sha256): New procedure.
	  ("source: 200", "source: 404"): New tests.

	tests: Fix import.
	* tests/lint.scm: Use 'url-fetch' from (guix download), not (guix build
	  download), although this was actually harmless here.

	store: Attempt to decode build logs as UTF-8.
	* guix/serialization.scm (read-maybe-utf8-string): New procedure.
	* guix/store.scm (process-stderr): Use it for the build log and errors.
	* tests/store.scm ("current-build-output-port, UTF-8",
	  "current-build-output-port, UTF-8 + garbage"): New tests.

	serialization: Factorize 'read-byte-string'.
	* guix/serialization.scm (read-byte-string): New procedure.
	  (read-string, read-latin1-string): Use it.

2015-03-05  Mark H Weaver  <mhw@netris.org>

	gnu: lftp: Don't save unknown SSH host fingerprints to known_hosts by default.
	* gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/ftp.scm (lftp): Add patch.

2015-03-05  Paul van der Walt  <paul@denknerd.org>

	gnu: Add zathura comicbook plugin.
	* gnu/packages/pdf.scm (zathura-cb): New variable.

	gnu: Add zathura postscript plugin.
	* gnu/packages/pdf.scm (zathura-ps): New variable.

	gnu: Add zathura DjVu plugin.
	* gnu/packages/pdf.scm (zathura-djvu): New variable.

	gnu: Add zathura PDF plugin.
	* gnu/packages/pdf.scm (zathura-pdf-poppler): New variable.

	gnu: Add zathura.
	* gnu/packages/pdf.scm (zathura): New variable.
	* gnu/packages/patches/zathura-plugindir-environment-variable.patch: New file.
	* gnu-system.am: Add it.

	gnu: Add djvulibre.
	* gnu/packages/djvu.scm (djvulibre): New variable.
	* gnu-system.am: Add the file.

2015-03-05  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add muparser.
	* gnu/packages/maths.scm (muparser): New variable.

2015-03-05  David Thompson  <dthompson2@worcester.edu>

	gnu: ruby: Update to 2.2.1.
	* gnu/packages/ruby.scm (ruby): Update to 2.2.1.

2015-03-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: bash: Install headers in "include" output.
	* gnu/packages/bash.scm (bash)[outputs]: New field.
	  [arguments]: Use 'modify-phases'.  Add 'install-headers' phase.

2015-03-04  Alex Kost  <alezost@gmail.com>

	gnu: Add Russian Aspell dictionary.
	* gnu/packages/aspell.scm (aspell-dict-ru): New variable.

2015-03-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: Move 'which' to (gnu packages base).
	* gnu/packages/which.scm: Remove.
	* gnu-system.am (GNU_SYSTEM_MODULES): Remove it.
	* gnu/packages/base.scm (which): New variable.
	* gnu/packages/aspell.scm, gnu/packages/audio.scm,
	  gnu/packages/autogen.scm, gnu/packages/cdrom.scm,
	  gnu/packages/compression.scm, gnu/packages/datamash.scm,
	  gnu/packages/games.scm, gnu/packages/glib.scm,
	  gnu/packages/gnu-pw-mgr.scm, gnu/packages/gnutls.scm,
	  gnu/packages/gps.scm, gnu/packages/guile.scm,
	  gnu/packages/java.scm, gnu/packages/libevent.scm,
	  gnu/packages/linux.scm, gnu/packages/lisp.scm,
	  gnu/packages/node.scm, gnu/packages/ntp.scm,
	  gnu/packages/orpheus.scm, gnu/packages/pciutils.scm,
	  gnu/packages/python.scm, gnu/packages/qt.scm,
	  gnu/packages/rsync.scm, gnu/packages/sawfish.scm,
	  gnu/packages/scheme.scm, gnu/packages/ssh.scm,
	  gnu/packages/statistics.scm, gnu/packages/texlive.scm,
	  gnu/packages/wdiff.scm: Adjust accordingly.

	gnu: Avoid #:prefix when importing a (gnu packages …) module.
	* gnu/packages/admin.scm, gnu/packages/emacs.scm,
	  gnu/packages/gnutls.scm, gnu/packages/gsasl.scm,
	  gnu/packages/linux.scm: Remove uses of #:prefix for package modules.

2015-03-04  Ludovic Courtès  <ludo@gnu.org>

	tests: Remove dependency on 'glibc-utf8-locales' for profile tests.
	This fixes a regression introduced in commit 536c3ee.

	* guix/profiles.scm (ca-certificate-bundle): When MANIFEST is empty,
	  make a trivial derivation.
	* guix/scripts/package.scm (guix-package)[process-actions]: Pass
	  #:ca-certificate-bundle? to 'profile-generation'.
	* tests/packages.scm ("--search-paths with pattern"): Likewise.
	* tests/profiles.scm ("profile-derivation"): Likewise.

2015-03-04  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: icedtea6: split outputs.
	* gnu/packages/java.scm (icedtea6)[outputs]: Use separate outputs for
	  documentation ("doc"), JDK ("jdk"), and JRE ("out").
	* gnu/packages/java.scm (ant)[native-inputs]: Reference "jdk" output of
	  icedtea6 package.
	* gnu/packages/statistics.scm (r)[inputs]: Reference "jdk" output of icedtea6
	  package.

2015-03-04  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'core-updates'.

2015-03-04  Ricardo Wurmus  <rekado@elephly.net>

	gnu: python2-pygtk: fix path to pygobject-codegen-2.0
	* gnu/packages/gtk.scm (python2-pygtk)[arguments]: Add phase to patch the path
	  to the pygobject-codegen-2.0 executable.

2015-03-04  宋文武  <iyzsong@gmail.com>

	gnu: octave: Update to 3.8.2.
	* gnu/packages/maths.scm (octave): Update to 3.8.2.

2015-03-04  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: enlightenment: Add missing, but used module.
	* gnu/packages/enlightenment.scm: Add missing, but used module.

	gnu: rename module and add missing dependency
	* gnu/packages/enlightenment.scm: Change module name to be consistent.
	* gnu/packages/enlightenment.scm: Add missing, but used module.

2015-03-04  宋文武  <iyzsong@gmail.com>

	gnu: xterm: Update to 315.
	* gnu/packages/xorg.scm (xterm): Update to 315.

	gnu: flac: Update to 1.3.1.
	* gnu/packages/xiph.scm (flac): Update to 1.3.1.

	gnu: flac: Propagate libogg.
	* gnu/packages/xiph.scm (flac): Move libogg to 'propagated-inputs'.

	gnu: gtk-xfce-engine: Update to 2.10.1.
	* gnu/packages/xfce.scm (gtk-xfce-engine): Update to 2.10.1.

2015-03-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add bash-completion.
	* gnu/packages/bash.scm (bash-completion): New variable.

	gnu: git: Install the Bash completion script.
	* gnu/packages/version-control.scm (git)[arguments]: Add
	  'install-shell-completion' phase.

2015-03-03  Ludovic Courtès  <ludo@gnu.org>

	http-client: Monkey-patch 'make-chunked-input-port' on Guile <= 2.0.11.
	Fixes <http://bugs.gnu.org/19976>.

	* guix/http-client.scm (when-guile<=2.0.5): Rename to...
	  (when-guile<=2.0.5-or-otherwise-broken): ... this.
	  (%web-http): New variable.
	  Monkey-patch 'make-chunked-input-port' when %WEB-HTTP defines
	  'read-chunk-body'.

2015-03-03  Ludovic Courtès  <ludo@gnu.org>

	http-client: Update backport of chunked encoding support to Guile 2.0.5.
	* guix/http-client.scm (read-chunk, read-chunk-body)
	  [when-guile<=2.0.5]: Remove.
	  (make-chunked-input-port) [when-guile<=2.0.5]: Update to Guile commit
	  00d3ecf2.

	gnu: Add search path specifications for 'SSL_CERT_FILE' and 'GIT_SSL_CAINFO'.
	* gnu/packages/openssl.scm (openssl)[native-search-paths]: Add
	  specification for 'SSL_CERT_FILE'.
	* gnu/packages/version-control.scm (git)[native-search-paths]: Add
	  specification for 'GIT_SSL_CAINFO'.

2015-03-03  Mark H Weaver  <mhw@netris.org>

	gnu: nss-certs: Install only trusted CA certificates.
	* gnu/packages/certs.scm (nss-certs): Only install certificates that include a
	  non-empty "openssl-trust=" annotation.

2015-03-03  Mark H Weaver  <mhw@netris.org>

	system: Add /etc/ssl symlink; set needed variables in /etc/profile.
	* gnu/build/activation.scm (activate-etc): Create /etc/ssl symlink.
	* gnu/system.scm (etc-directory): Set SSL_CERT_DIR, SSL_CERT_FILE,
	  and GIT_SSL_CAINFO in /etc/profile.

	Co-Authored-By: Ludovic Courtès <ludo@gnu.org>

2015-03-03  Mark H Weaver  <mhw@netris.org>

	profiles: Produce a single-file CA certificate bundle.
	* guix/profiles.scm (ca-certificate-bundle): New procedure.
	  (profile-derivation): Add 'ca-certificate-bundle?' keyword argument.  If
	  true (the default), add the result of 'ca-certificate-bundle' to 'inputs'.

	Co-Authored-By: Ludovic Courtès <ludo@gnu.org>

2015-03-03  Mark H Weaver  <mhw@netris.org>

	Revert "system: Add 'x509-certificates' field, and populate /etc/ssl/certs."
	This reverts commit e979e6dd523acaa2a089f1b8f44e34c1e5b7d32d.

	Revert "system: Create a single-file certificate bundle in /etc/ssl/certs."
	This reverts commit 993300f6ccfbc9cbe628978690fc98eb63365dbd.

2015-03-03  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add rdesktop.
	* gnu/packages/rdesktop.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-03-03  Andreas Enge  <andreas@enge.fr>

	gnu: enlightenment: Fix typo in adding the module.
	* gnu-system.am (GNU_SYSTEM_MODULES): Fix typo.
	538fb23ea073f19aaced9c9ccbfbe4e633162136

2015-03-03  Jason Self  <j@jxself.org>

	gnu: vlc: Update to 2.2.0
	* gnu/packages/video.scm (vlc): Update to version 2.2.0.

	gnu: libvorbis: Update to 1.3.5
	* gnu/packages/xiph.scm (libvorbis): Update to version 1.3.5.

2015-03-03  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: Add terminology.
	* gnu/packages/enlightenment.scm (terminology): New variable.

	gnu: Add emotion-generic-players
	* gnu/packages/enlightenment.scm (emotion-generic-players): New variable.

	gnu: Add evas-generic-loaders
	* gnu/packages/enlightenment.scm (evas-generic-loaders): New variable.

	gnu: Add elementary.
	* gnu/packages/enlightenment.scm (elementary): New variable.

	gnu: Add efl.
	* gnu/packages/enlightenment.scm: New file
	* gnu/packages/enlightenment.scm (efl): New variable.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-03-03  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add snakemake.
	* gnu/packages/python.scm (snakemake): New variable.

2015-03-03  Mark H Weaver  <mhw@netris.org>

	gnu: libuv: Update to 1.4.2.
	* gnu/packages/libevent.scm (libuv): Update to 1.4.2.  Update source URI.
	  Add 'file-name' field to origin.  Move 'autogen' phase after 'unpack'.
	  Run "sh autogen.sh" instead of "./autogen.sh".

2015-03-03  Mark H Weaver  <mhw@netris.org>

	gnu: skribilo: Adapt to recently renamed 'guile-reader' variable.
	This is a followup to commit d6d9f1f715a727e23412fc9339eb2c5358d5a6ce.

	* gnu/packages/skribilo.scm (skribilo)[propagated-inputs]: Change
	  'guile-reader/guile-2.0' --> 'guile-reader'.

2015-03-02  Paul van der Walt  <paul@denknerd.org>

	gnu: Add girara.
	* gnu/packages/gtk.scm (girara): Add variable.

	gnu: check: Update version to 0.9.14
	* gnu/packages/check.scm (check): Update to version 0.9.14.

	gnu: mpd: Update to 0.19.9.
	* gnu/packages/mpd.scm (mpd): Update version to 0.19.9. Add boost and
	  icu4c.

2015-03-02  David Thompson  <dthompson2@worcester.edu>

	gnu: Add ruby-hoe.
	* gnu/packages/ruby.scm (ruby-hoe): New variable.

	build: ruby: Install executables in /bin.
	* guix/build/ruby-build-system.scm (install): Add '--bindir' flag to gem
	  command.

	build: ruby: Add gitify phase.
	* guix/build-system/ruby.scm (lower): Add git as implicit input.
	* guix/build/ruby-build-system.scm (gitify): New procedure.
	  (%standard-phases): Add gitify phase.

	gnu: Add mpdscribble.
	* gnu/packages/mpd.scm (mpdscribble): New variable.

2015-03-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: tcsh: Use ISO-8859-1 when patching "tests/testsuite".
	* gnu/packages/tcsh.scm (tcsh)[arguments]: Set %DEFAULT-PORT-ENCODING
	  before substituting "tests/testsuite".  Fixes build failure at
	  <http://hydra.gnu.org/build/266962/nixlog/1/raw>.

2015-03-02  Ludovic Courtès  <ludo@gnu.org>

	system: Create a single-file certificate bundle in /etc/ssl/certs.
	Suggested by Mark H Weaver <mhw@netris.org>.

	* gnu/system.scm (certificate-bundle): New procedure.
	  (etc-directory): Use it.
	  [profile]: Set 'SSL_CERT_DIR', 'SSL_CERT_FILE', and 'GIT_SSL_CAINFO'.

2015-03-02  Ludovic Courtès  <ludo@gnu.org>

	system: Add 'x509-certificates' field, and populate /etc/ssl/certs.
	* gnu/system.scm (<operating-system>)[x509-certificates]: New field.
	  (etc-directory): Add #:x509-certificates parameter and honor it.
	  (operating-system-etc-directory): Pass #:x509-certificates in
	  'etc-directory' call.
	* doc/guix.texi (operating-system Reference): Document
	  'x509-certificates'.

2015-03-02  Ludovic Courtès  <ludo@gnu.org>

	gnu: Remove 'guile-reader-for-guile_1.8'.
	This was a useful example back in July 2012, but not very useful
	beyond that.

	* gnu/packages/guile.scm (guile-reader): Turn into a plain package.
	  [source]: Use mirror:// URI.
	  [inputs]: Use GUILE-2.0.
	  [arguments]: Use the site/2.0 directory for --with-moduledir.
	  (guile-reader/guile-1.8, guile-reader/guile-2.0): Remove.

2015-03-02  Ludovic Courtès  <ludo@gnu.org>

	services: xorg: Fix file descriptor leak from SLiM/xinitrc.
	This reverts commit 9515b745547cff08ad5b958bc54323dab19f29b9.

	* gnu/services/xorg.scm (xinitrc)[builder](close-all-fdes): Start from
	  file descriptor 3.

2015-03-02  Mark H Weaver  <mhw@netris.org>

	gnu: Add llvm-3.6.0 and clang-3.6.0.
	* gnu/packages/llvm.scm (llvm): Update to 3.6.0.
	  (clang-from-llvm): New procedure.
	  (clang): Update to 3.6.0.  Reimplement using 'clang-from-llvm'.
	  (llvm-3.5, clang-3.5): New variables.

2015-03-02  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add crossmap.
	* gnu/packages/bioinformatics.scm (crossmap): New variable.
	* gnu/packages/patches/crossmap-allow-system-pysam.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-03-02  Ludovic Courtès  <ludo@gnu.org>

	gexp: Make sure 'gexp-outputs' removes duplicate outputs.
	Fixes a regression introduced in f9efe56.

	* guix/gexp.scm (gexp-outputs): Add call to 'delete-duplicates'.
	* tests/gexp.scm ("output list, combined gexps, duplicate output"): New
	  test.

2015-03-02  宋文武  <iyzsong@gmail.com>

	gnu: gtk-xfce-engine: Update to 2.10.0.
	* gnu/packages/xfce.scm (gtk-xfce-engine): Update to 2.10.0.

2015-03-02  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add CLIPper.
	* gnu/packages/bioinformatics.scm (clipper): New variable.

	gnu: Add Scikit-learn.
	* gnu/packages/python.scm (python-scikit-learn, python2-scikit-learn): New
	  variables.

2015-03-02  宋文武  <iyzsong@gmail.com>

	gnu: xfconf: Re-enable tests.
	* gnu/packages/xfce.scm (xfconf)[arguments]: Add #:phases.

2015-03-02  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add MACS.
	* gnu/packages/bioinformatics.scm (macs): New variable.

	gnu: Add pybedtools.
	* gnu/packages/bioinformatics.scm (python2-pybedtools): New variable.

	gnu: Add pyyaml.
	* gnu/packages/python.scm (python-pyyaml, python2-pyyaml): New variables.

2015-03-02  Mark H Weaver  <mhw@netris.org>

	gnu: libotr: Update to 4.1.0.
	* gnu/packages/messaging.scm (libotr): Update to 4.1.0.

	Revert "services: xorg: Fix file descriptor leak from SLiM/xinitrc."
	This reverts commit ec4a4c46efaf2e7373f331654640f1321c0f2e62,
	because it broke XFCE.

	gnu: xfconf: Update to 4.12.0.
	* gnu/packages/xfce.scm (xfconf): Update to 4.12.0.  Disable tests.

	gnu: gnu-pw-mgr: Update to 1.3.
	* gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Update to 1.3.

	gnu: sharutils: Update to 4.15.
	* gnu/packages/compression.scm (sharutils): Update to 4.15.

	gnu: gdb: Update to 7.9.
	* gnu/packages/gdb.scm (gdb): Update to 7.9.

	Merge branch 'master' into core-updates
	Conflicts:
		gnu/packages/gnupg.scm

	gnu: gnupg: Update to 2.0.27.
	* gnu/packages/gnupg.scm (gnupg): Update to 2.0.27.

	gnu: libgcrypt: Update to 1.6.3.
	* gnu/packages/gnupg.scm (libgcrypt): Update to 1.6.3.

2015-03-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: wget: Update to 1.16.2.
	* gnu/packages/wget.scm (wget): Update to 1.16.2.
	  [inputs]: Add PKG-CONFIG.

	gnu: libpsl: Fix link flag in 'libpsl.pc'.
	* gnu/packages/web.scm (libpsl)[source]: Add 'snippet' and 'modules'
	  fields.

	gnu: gnupg-1: Update to 1.4.19.
	* gnu/packages/gnupg.scm (gnupg-1): Update to 1.4.19.

2015-03-01  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: ecl: Update to version 15.2.21.
	* gnu/packages/lisp.scm (ecl): Update to version 15.2.21, and disable the test
	  suite because ECL now fails to initialize during 'make check'.

2015-03-01  Mathieu Lirzin  <mthl@openmailbox.org>

	gnu: Add xbindkeys.
	* gnu/packages/xdisorg.scm (xbindkeys): New variable.

2015-03-01  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add AlsaModularSynth.
	* gnu/packages/audio.scm (alsa-modular-synth): New variable.

	gnu: Add clalsadrv.
	* gnu/packages/audio.scm (clalsadrv): New variable.

2015-03-01  Ludovic Courtès  <ludo@gnu.org>

	Revert "build-system/gnu: Keep the sloppy conversion strategy during bootstrap."
	This reverts commit b479c3ddaf85c831e34888229849bc1ce34419de.
	This commit was the result of an incorrect characterization of the
	problem; see the log of commit 87c8b92 for details.

2015-03-01  Ludovic Courtès  <ludo@gnu.org>

	gnu: commencement: Make UTF-8 locales available right after 'guile-final'.
	In <http://hydra.gnu.org/build/263170>, we see:

	   153: 12 [patch-usr-bin-file #:native-inputs #f ...]

	  [...]

	     ?: 1 [regexp-exec # ...]
	  In ice-9/boot-9.scm:
	   106: 0 [#<procedure 1998ec0 at ice-9/boot-9.scm:97:6 (thrown-k . args)> encoding-error ...]

	  ice-9/boot-9.scm:106:20: In procedure #<procedure 1998ec0 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
	  ice-9/boot-9.scm:106:20: Throw to key `encoding-error' with args `("scm_to_stringn" "cannot convert narrow string to output locale" 84 #f #f)'.

	This is due to that fact that 'patch-/usr/bin/file' read a line
	containing a byte sequence with bytes > 127 (namely a copyright sign.)
	But this build was running with a C locale, and so those bytes cannot be
	represented in that locale, hence this error.

	This commit makes the UTF-8 locales available earlier such that
	everything can be represented in locale encoding.

	* gnu/packages/commencement.scm (glibc-utf8-locales-final): Move
	  earlier; change "gzip" input to GZIP built with %BOOT4-INPUTS.
	  (%boot5-inputs): Define to %BOOT4-INPUTS plus
	  GLIBC-UTF8-LOCALES-FINAL.
	  (gnu-make-final, coreutils-final, grep-final): Use it instead of
	  %BOOT4-INPUTS.
	  (gzip-final): Remove.
	  (%boot6-inputs): New variable.
	  (%final-inputs): Use it instead of %BOOT5-INPUTS.  Don't rely on
	  GZIP-FINAL.

2015-03-01  宋文武  <iyzsong@gmail.com>

	gnu: xfwm4: Add inputs libdrm and libxdamage.
	* gnu/packages/xfce.scm (xfwm4): Add libdrm and libxdamage to inputs.

	gnu: xfwm4: Update to 4.12.0.
	* gnu/packages/xfce.scm (xfwm4): Update 4.12.0.

	gnu: xfdesktop: Update to 4.12.0.
	* gnu/packages/xfce.scm (xfdesktop): Update to 4.12.0.

	gnu: thunar-volman: Update to 0.8.1.
	* gnu/packages/xfce.scm (thunar-volman): Update to 0.8.1.

	gnu: thunar: Update to 1.6.6.
	* gnu/packages/xfce.scm (thunar): Update to 1.6.6.

	gnu: xfce4-settings: Update to 4.12.0.
	* gnu/packages/xfce.scm (xfce4-settings): Update to 4.12.0.

	gnu: xfce4-session: Update to 4.12.0.
	* gnu/packages/xfce.scm (xfce4-session): Update to 4.12.0.

	gnu: xfce4-appfinder: Update to 4.12.0.
	* gnu/packages/xfce.scm (xfce4-appfinder): Update to 4.12.0.

	gnu: xfce4-panel: Update to 4.12.0.
	* gnu/packages/xfce.scm (xfce4-panel): Update to 4.12.0.

	gnu: tumbler: Update to 0.1.31.
	* gnu/packages/xfce.scm (tumbler): Update to 0.1.31.

	gnu: garcon: Update to 0.4.0.
	* gnu/packages/xfce.scm (garcon): Update to 0.4.0.

	gnu: exo: Update to 0.10.3.
	* gnu/packages/xfce.scm (exo): Update to 0.10.3.

	gnu: libxfce4ui: Update to 4.12.0.
	* gnu/packages/xfce.scm (libxfce4ui): Update to 4.12.0.

	gnu: libxfce4util: Update to 4.12.1.
	* gnu/packages/xfce.scm (libxfce4util): Update to 4.12.1.

2015-03-01  Ludovic Courtès  <ludo@gnu.org>

	services: xorg: Fix file descriptor leak from SLiM/xinitrc.
	Previously processes started from the window manager would have a couple
	of leaked file descriptors: writable /var/log/slim.log and readable
	/gnu/store/…-xinitrc.

	* gnu/services/xorg.scm (xinitrc)[builder]: Add 'close-all-fdes'.  Use
	  it in 'exec-from-login-shell'.

2015-03-01  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Keep the sloppy conversion strategy during bootstrap.
	* guix/build/gnu-build-system.scm (gnu-build): Leave
	  %DEFAULT-PORT-CONVERSION-STRATEGY unchanged when 'string->bytevector'
	  fails to convert to ISO-8859-1.  This is an attempt to work around the
	  build failures at <http://hydra.gnu.org/build/263002>.

2015-02-28  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add zita-alsa-pcmi.
	* gnu/packages/audio.scm (zita-alsa-pcmi): New variable.

	gnu: Add LV2 mda EPiano plugin.
	* gnu/packages/audio.scm (lv2-mdaepiano): New variable.

	gnu: Add LV2 mda Piano plugin.
	* gnu/packages/audio.scm (lv2-mdapiano): New variable.

	gnu: Add txt2man.
	* gnu/packages/man.scm (txt2man): New variable.

2015-02-28  David Thompson  <dthompson2@worcester.edu>

	gnu: mpd: Export package variables using define-public.
	* gnu/packages/mpd.scm: Use define-public for package variables.  Remove
	  #:exports from module declaration.

2015-02-28  Paul van der Walt  <paul@denknerd.org>

	gnu: Add mpd-mpc.
	* gnu/packages/mpd.scm (mpd-mpc): New variable.

	gnu: ncmpcpp: Update to 0.6.2
	* gnu/packages/mpd.scm (ncmpcpp): Update to version 0.6.2.  Add boost,
	  readline, autotools inputs.

2015-02-28  Mark H Weaver  <mhw@netris.org>

	gnu: Add 'file-name' fields for github source tarballs without a name.
	* gnu/packages/aarddict.scm (aarddict), gnu/packages/algebra.scm (arb),
	  gnu/packages/audio.scm (jack-2, lvtk),
	  gnu/packages/bioinformatics.scm (bedops, bedtools, bowtie),
	  gnu/packages/game-development.scm (tiled),
	  gnu/packages/games.scm (minetest-data, minetest, retroarch),
	  gnu/packages/jrnl.scm (jrnl), gnu/packages/kde.scm (qjson),
	  gnu/packages/libevent.scm (libuv), gnu/packages/linux.scm (pflask),
	  gnu/packages/mail.scm (offlineimap, libetpan),
	  gnu/packages/maths.scm (arpack-ng), gnu/packages/ninja.scm (ninja),
	  gnu/packages/nutrition.scm (gourmet),
	  gnu/packages/python.scm (python-cairocffi), gnu/packages/rdf.scm (lrdf),
	  gnu/packages/ruby.scm (ruby-i18n), gnu/packages/sxiv.scm (sxiv): Add
	  'file-name' field to origin.

	gnu: Move autoconf-style phases after the unpack phase.
	* gnu/packages/audio.scm (soundtouch)[arguments]: Move 'bootstrap'
	  after 'unpack'.  Remove custom /usr/bin/file patching, which will
	  now be handled by the 'patch-usr-bin-file' phase.
	* gnu/packages/emacs.scm (emacs-w3m)[arguments]: Rename 'pre-configure'
	  phase to 'autoconf' and move it after 'unpack'.
	* gnu/packages/fontutils.scm (libuninameslist)[arguments]: Move 'bootstrap'
	  phase after 'unpack'.
	* gnu/packages/libevent.scm (libuv)[arguments]: Move 'autogen' phase after
	  'unpack'.  Run "sh autogen.sh" instead of "./autogen.sh".
	* gnu/packages/linux.scm (bridge-utils)[arguments]: Move 'bootstrap' phase
	  after 'unpack'.
	* gnu/packages/mail.scm (libetpan)[arguments]: Move 'autogen' phase after
	  'unpack'.  Run "sh autogen.sh" instead of "./autogen.sh".  Setenv
	  "NOCONFIGURE" before running autogen.sh.
	* gnu/packages/package-management.scm (guix-devel)[arguments]: Move
	  'bootstrap' phase after 'unpack'.  Run "sh autogen.sh" instead of
	  "./autogen.sh".
	* gnu/packages/rdf.scm (lrdf)[arguments]: Move 'autoreconf' phase after
	  'remove-out-of-tree-references' phase.
	* gnu/packages/tor.scm (privoxy)[arguments]: Move 'autoconf' phase after
	  'unpack'.
	* gnu/packages/web.scm (libpsl)[arguments]: Move 'bootstrap' phase after
	  'unpack'.  Run "sh autogen.sh" instead of "./autogen.sh".  Remove
	  'fix-autogen-shebang' phase.

2015-02-28  Paul van der Walt  <paul@denknerd.org>

	gnu: mail: Add copyright line.
	* gnu/packages/mail.scm (mu): Add forgotten copyright line.

2015-02-28  Ludovic Courtès  <ludo@gnu.org>

	utils: Treat 'configure' and Makefiles with an 8-bit encoding.
	* guix/build/utils.scm (patch-makefile-SHELL, patch-/usr/bin/file): Wrap
	  'substitute*' in 'with-fluids'.  Fixes <http://hydra.gnu.org/build/262895>.

2015-02-28  宋文武  <iyzsong@gmail.com>

	gnu: Add font-adobe-source-han-sans.
	* gnu/packages/fonts.scm (font-adobe-source-han-sans): New variable.

2015-02-28  Andreas Enge  <andreas@enge.fr>

	gnu: python: Drop special handling of python2-numpydoc as input.
	* gnu/packages/python.scm (python2-numpy, python2-matplotlib,
	  python2-ipython): Keep input python2-numpydoc created by
	  package-with-python2.

2015-02-28  Ludovic Courtès  <ludo@gnu.org>

	packages: Set the port conversion strategy to 'error'.
	Suggested by Mark H Weaver.

	* guix/build/gnu-build-system.scm (gnu-build): Set
	  %DEFAULT-PORT-CONVERSION-STRATEGY to 'error.
	* guix/packages.scm (patch-and-repack)[builder]: Likewise.

2015-02-28  Andreas Enge  <andreas@enge.fr>

	gnu: python-numpydoc: Drop one test.
	* gnu/packages/python.scm (python-numpydoc): Drop one test for all Python
	  versions.
	  (python2-numpydoc): Define it by package-with-python2 without modifications.

2015-02-28  Ludovic Courtès  <ludo@gnu.org>

	utils: Change 'patch-shebangs' to use binary input.
	* guix/build/utils.scm (get-char*): New procedure.
	  (patch-shebang): Use it instead of 'read-char'.
	  (fold-port-matches): Remove local 'get-char' and use 'get-char*'
	  instead.

2015-02-27  Andreas Enge  <andreas@enge.fr>

	gnu: python2-py2cairo: Rename to python2-pycairo.
	* gnu/packages/gtk.scm (python2-py2cairo): Rename to ...
	  (python2-pycairo): ... this
	  (python2-pygtk): Adapt input.
	* gnu/packages/glib.scm (python2-pygobject-2): Adapt input.
	* gnu/packages/python.scm (package-with-python2): Adapt input.

2015-02-27  Ludovic Courtès  <ludo@gnu.org>

	gexp: Aggregate outputs of compound gexps.
	* guix/gexp.scm (gexp-outputs)[add-reference-output]: Recurse into
	  lists.
	* tests/gexp.scm ("output list + ungexp-splicing list, combined gexps"):
	  New test.

	gexp: Add tests for 'gexp-outputs'.
	* tests/gexp.scm (gexp-outputs): New procedure.
	  ("output list", "output list, combined gexps"): New tests.

	download: Comment on lack of progress report with chunked encoding.
	* guix/build/download.scm (progress-proc): Add comment.

	download: Measure and display the throughput.
	* guix/build/download.scm (duration->seconds, throughput->string): New
	  procedures.
	  (progress-proc): Measure and display the throughput.

	download: Abstract the receive buffer size.
	* guix/build/download.scm (%http-receive-buffer-size): New variable.
	  (progress-proc, tls-wrap, http-fetch): Use it.

	utils: Call the progress-report proc when 'dump-port' starts.
	* guix/build/utils.scm (dump-port): Add call to PROGRESS at the
	  beginning.

2015-02-27  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Set $LC_ALL (or similar) to the chosen locale.
	Suggested by Mark H Weaver.

	* guix/build/utils.scm (locale-category->string): New procedure.
	* guix/build/gnu-build-system.scm (install-locale): Add 'setenv' call.

2015-02-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: Remove now unneeded 'localedef' invocations.
	This is a followup to commit b0fd2bd.

	* gnu/packages/gawk.scm (gawk)[arguments] <install-locales>: Add comment
	  on why we leave this here.
	* gnu/packages/guile.scm (guile-ncurses)[arguments]: Remove
	  'install-locales' phase.
	* gnu/packages/swig.scm (swig)[arguments]: Likewise.
	* gnu/packages/python.scm (python-matplotlib): Remove 'LOCPATH' setting
	  and 'localedef' invocation.
	  (python-scipy): Likewise.

2015-02-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: Remove now unneeded 'unpack' phases for unzip.
	This is a followup to commit cd0385b.

	* gnu/packages/bioinformatics.scm (hisat)[arguments]: Remove 'unpack'
	  phase.
	* gnu/packages/image.scm (freeimage): Likewise.
	* gnu/packages/python.scm (python2-cssutils): Likewise.

2015-02-27  Ludovic Courtès  <ludo@gnu.org>

	gnu: gettext: Set encoding to ISO-8859-1 when modifying files.
	* gnu/packages/gettext.scm (gnu-gettext)[arguments] <patch-tests>: Set
	  %default-port-encoding.  Fixes test failures at
	  <http://hydra.gnu.org/build/262586>.

2015-02-27  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.18.8
	* gnu/packages/linux.scm (linux-libre): Update to version 3.18.8.

2015-02-27  宋文武  <iyzsong@gmail.com>

	build-system/cmake: Enable verbose output from Makefile builds.
	* guix/build/cmake-build-system.scm (configure): Pass
	  -DCMAKE_VERBOSE_MAKEFILE=ON to cmake.

	gnu: cmake: Update to 3.1.3.
	* gnu/packages/cmake.scm (cmake): Update to 3.1.3.

2015-02-27  Paul van der Walt  <paul@denknerd.org>

	gnu: mu: Update to 0.9.11.
	* gnu/packages/mail.scm (mu): Update to 0.9.11.  Update source URI.  Add
	  autoconf, automake, and libtool to native-inputs.  Add autoreconf phase.

2015-02-27  Mark H Weaver  <mhw@netris.org>

	gnu: cairo: Enable tee surface backend.
	* gnu/packages/gtk.scm (cairo)[arguments]: Add --enable-tee to
	  configure-flags.

	gnu: sqlite: Update to 3.8.8.3.
	* gnu/packages/databases.scm (sqlite): Update to 3.8.8.3.

	gnu: sqlite: Add "CFLAGS=-O2 -DSQLITE_SECURE_DELETE" to configure-flags.
	* gnu/packages/databases.scm (sqlite)[arguments]: Add "CFLAGS=-O2
	  -DSQLITE_SECURE_DELETE" to configure-flags.

2015-02-27  Ludovic Courtès  <ludo@gnu.org>

	ld-wrapper: Add '-rpath' for arguments such as 'libfoo.so.5.3'.
	Suggested by Andreas Enge <andreas@enge.fr>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00810.html>.
	CMake command lines appear to refer to such file names.

	* gnu/packages/ld-wrapper.scm (shared-library?): New procedure.
	  (library-files-linked): Use it.

2015-02-27  Ludovic Courtès  <ludo@gnu.org>

	packages: When possible, use a UTF-8 locale in patch-and-repack.
	* guix/packages.scm (%standard-patch-inputs): Add "locales".
	  (patch-and-repack)[builder]: Add 'locales' variable.  When it is true,
	  call 'setenv' and 'setlocale'.

2015-02-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add glibc-utf8-locales to the implicit inputs.
	Suggested by Mark H Weaver and Andreas Enge
	at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00356.html>.

	* gnu/packages/commencement.scm (gzip-final, glibc-utf8-locales-final):
	  New variables.
	  (%final-inputs): Use them.

2015-02-26  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add 'install-locale' phase.
	* guix/build/gnu-build-system.scm (install-locale): New procedure.
	  (%standard-phases): Add it.
	* guix/build-system/gnu.scm (gnu-build): Add #:locale and pass it to
	  the build script.
	  (gnu-cross-build): Likewise.

	build-system: Use 'modify-phases'.
	* guix/build/cmake-build-system.scm (%standard-phases): Use
	  'modify-phases' instead of alist-*.
	* guix/build/glib-or-gtk-build-system.scm (%standard-phases): Likewise.
	* guix/build/gnu-dist.scm (%dist-phases): Likewise.
	* guix/build/perl-build-system.scm (%standard-phases): Likewise.
	* guix/build/python-build-system.scm (%standard-phases): Likewise.
	* guix/build/ruby-build-system.scm (%standard-phases): Likewise.
	* guix/build/waf-build-system.scm (%standard-phases): Likewise.

	utils: Add 'modify-phases'.
	* guix/build/utils.scm (modify-phases): New macro.

2015-02-26  Ludovic Courtès  <ludo@gnu.org>

	build-system/gnu: Add support for zip archives.
	Fixes <http://bugs.gnu.org/19866>.
	Reported by Andreas Enge <andreas@enge.fr>.

	* guix/build/gnu-build-system.scm (unpack): Use 'unzip' when SOURCE ends
	  in '.zip'.

2015-02-26  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

	services: slim: Add "F1 to change" in session message.
	* gnu/services/xorg.scm (slim-service)[slim.cfg]: Add 'session_msg'.

2015-02-26  Ludovic Courtès  <ludo@gnu.org>

	services: slim: Preserve the order of session types.
	That makes WindowMaker the default session, by default.

	* gnu/services/xorg.scm (xsessions-directory)[builder]: Prepend a number
	  in the file name to preserve the order of SESSIONS.
	  (slim-service): Augment docstring.
	* doc/guix.texi (X Window): Adjust accordingly.

2015-02-26  Ludovic Courtès  <ludo@gnu.org>

	gnu: openexr: Add synopsis.
	* gnu/packages/graphics.scm (openexr)[synopsis]: Fill in.
	  [description]: Improve.

2015-02-26  Mark H Weaver  <mhw@netris.org>

	gnu: grep: Apply fix for CVE-2015-1345.
	* gnu/packages/patches/grep-CVE-2015-1345.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/base.scm (grep): Add patch.

	gnu: samba: Update to 3.6.25.
	* gnu/packages/samba.scm (samba): Update to 3.6.25.

	gnu: e2fsprogs: Update to 1.42.12.
	* gnu/packages/linux.scm (e2fsprogs): Update to 1.42.12.

	doc: Remove reference to git submodules in HACKING.
	* HACKING: Remove mention of git submodules.

	gnu: icecat: Apply fixes for CVE-2015-{0822,0827,0831,0836}.
	* gnu/packages/patches/icecat-CVE-2015-0822.patch,
	  gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch,
	  gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch,
	  gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch,
	  gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch,
	  gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch,
	  gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/gnuzilla.scm (icecat)[source]: Add patches.

	gnu: luajit: Fix patch file names in gnu-system.am.
	* gnu-system.am (dist_patch_DATA): Fix patch file names.

2015-02-26  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: Fix luajit installation
	* gnu/packages/lua.scm (luajit): Apply 2 patches.
	* gnu-system.am (dist_patch_DATA): Register 2 patches.
	* gnu/packages/patches/luajit-no_ldconfig.patch: New file.
	* gnu/packages/patches/luajit-symlinks.patch: New file.

2015-02-26  Andreas Enge  <andreas@enge.fr>

	gnu: Add avidemux.
	* gnu/packages/video.scm (avidemux, avidemux-2.5): New variables.

2015-02-26  Ludovic Courtès  <ludo@gnu.org>

	build: Bump version number.
	* configure.ac: Change to version 0.8.2.

	ui: Add missing copyright line.
	* guix/ui.scm: Add copyright line for Deck (aka. nebuli).

2015-02-26  Ludovic Courtès  <ludo@gnu.org>

	ui: Honor --no-* options passed via $GUIX_BUILD_OPTIONS.
	Reported by Alex Kost <alezost@gmail.com>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00702.html>.

	* guix/ui.scm (parse-command-line)[parse-options-from]: Add 'seeds'
	  parameter.
	  Thread the result of the first 'parse-options-from' call to the
	  second.

2015-02-26  Ludovic Courtès  <ludo@gnu.org>

	ui: Factorize command-line + env. var. option parsing.
	* guix/ui.scm (%default-argument-handler, parse-command-line): New
	  procedures.
	  (environment-build-options): Make private.
	* guix/scripts/archive.scm (guix-archive)[parse-options,
	  parse-options-from]: Remove.  Use 'parse-command-line' instead.
	* guix/scripts/build.scm (guix-build): Likewise.
	* guix/scripts/environment.scm (guix-environment): Likewise.
	* guix/scripts/package.scm (guix-package): Likewise.
	* guix/scripts/system.scm (guix-system): Likewise.
	* tests/ui.scm (with-environment-variable): New macro.
	  ("parse-command-line"): New test.

2015-02-25  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: ffmpeg: Add soxr and twolame as inputs.
	* gnu/packages/video.scm (ffmpeg): Add soxr and twolame as inputs.

2015-02-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: nss-mdns: Use /var as the localstatedir.
	Reported by Mark H Weaver <mhw@netris.org>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00686.html>.

	* gnu/packages/avahi.scm (nss-mdns)[arguments]: Use
	  --localstatedir=/var.

2015-02-25  Ludovic Courtès  <ludo@gnu.org>

	services: nscd: Make sure /var/db/nscd exists.
	* gnu/services/base.scm (nscd-service)[activate]: Make /var/db/nscd.

	gnu: Add CTL.
	* gnu/packages/graphics.scm (ctl): New variable.

	gnu: Add OpenEXR and IlmBase.
	* gnu/packages/graphics.scm (ilmbase, openexr): New variables.
	* gnu/packages/patches/openexr-missing-samples.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-02-25  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add portaudio.
	* gnu/packages/audio.scm (portaudio): New variable.

	gnu: Add twolame.
	* gnu/packages/audio.scm (twolame): New variable.

	gnu: Add soxr.
	* gnu/packages/audio.scm (soxr): New variable.

	gnu: Add soundtouch.
	* gnu/packages/audio.scm (soundtouch): New variable.

	gnu: Add libsbsms.
	* gnu/packages/audio.scm (libsbsms): New variable.

	gnu: Add cpufrequtils.
	* gnu/packages/linux.scm (cpufrequtils): New variable.
	* gnu/packages/patches/cpufrequtils-fix-aclocal.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

	gnu: Add sysfsutils-1.
	* gnu/packages/linux.scm (sysfsutils-1): New variable.

	gnu: Add sysfsutils.
	* gnu/packages/linux.scm (sysfsutils): New variable.

2015-02-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: Add glibc-utf8-locales.
	* gnu/packages/base.scm (glibc-utf8-locales): New variable.

2015-02-25  Andreas Enge  <andreas@enge.fr>

	gnu: python2-rdflib: Explicitly build with python-2.
	* gnu/packages/rdf.scm (python2-rdflib): Add argument to build with python-2.

2015-02-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: glibc: Change 'LOCPATH' specification to look for "lib/locale".
	Suggested by Andreas Schwab <schwab@linux-m68k.org>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00652.html>.

	* gnu/packages/base.scm (glibc)[native-search-paths]: Change
	  "share/locale" to "lib/locale".

2015-02-25  Mark H Weaver  <mhw@netris.org>

	download: Cope with Guile 2.0.6 or earlier.
	* guix/build/download.scm: Do not attempt to support relative URIs in
	  "Location" headers if 'declare-relative-uri-header!' is not present.
	  This is the case for Guile 2.0.6 or earlier.

2015-02-25  Andreas Enge  <andreas@enge.fr>

	gnu: Add python2-rdflib.
	* gnu/packages/rdf.scm (python2-rdflib): New variable.
	  (python-rdflib): Add patch.
	* gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.

	gnu: python-html5lib: Add propagated input.
	* gnu/packages/python.scm (python-html5lib): Add propagated input python-six.
	  (python2-html5lib): Add propagated input python2-six.

	gnu: Add python2-six.
	* gnu/packages/python.scm (python2-six): New variable.

	gnu: python-rdflib: Correct typo.
	* gnu/packages/rdf.scm (python-rdflib): Correct typo in the name of an input.

2015-02-25  Ludovic Courtès  <ludo@gnu.org>

	gnu: glibc-locales: Install to lib/locales.
	Suggested by Andreas Schwab <schwab@linux-m68k.org>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00652.html>.

	* gnu/packages/base.scm (glibc-locales) <#:configure-flags>: Change
	  "/share/locale" to "/lib/locale".

2015-02-25  David Thompson  <dthompson2@worcester.edu>

	gnu: Add pumpa.
	* gnu/packages/pumpio.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-02-24  Ludovic Courtès  <ludo@gnu.org>

	guix system: Honor '--no-grub'.
	Reported by Alex Kost <alezost@gmail.com>
	at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00564.html>.

	* guix/scripts/system.scm (%options) <no-grub>: Use 'alist-cons' instead
	  of 'alist-delete'.

2015-02-24  Ludovic Courtès  <ludo@gnu.org>

	artwork: Update to latest GRUB image.
	* gnu/artwork.scm (%artwork-repository): Update to newer snapshot.

	gnu: Sync GNU synopses and descriptions.
	* gnu/packages/games.scm (gnugo): Adjust synopsis.
	* gnu/packages/libffcall.scm (libffcall): Likewise.
	* gnu/packages/lisp.scm (clisp): Adjust synopsis and description.

	build: Reject or warn against file name length limit overruns.
	* m4/guix.m4 (GUIX_TEST_ROOT_DIRECTORY, LINUX_HASH_BANG_LIMIT,
	  SOCKET_FILE_NAME_LIMIT, GUIX_SOCKET_FILE_NAME_LENGTH,
	  GUIX_TEST_SOCKET_FILE_NAME_LENGTH, GUIX_HASH_BANG_LENGTH,
	  GUIX_CHECK_FILE_NAME_LIMITS): New macros.
	* configure.ac: Use 'GUIX_CHECK_FILE_NAME_LIMITS'.
	* config-daemon.ac: Use 'GUIX_TEST_ROOT_DIRECTORY'.
	* test-env.in: Check socket name length and emit warning if it exceeds
	  107.

	build: Disable grafting in sanity checks.
	* build-aux/check-available-binaries.scm: Wrap body in 'parameterize'
	  form that clears '%graft?'.
	* build-aux/check-final-inputs-self-contained.scm: Likewise.

2015-02-24  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add TiMidity++.
	* gnu/packages/audio.scm (timidity++): New variable.

	gnu: Add Freepats.
	* gnu/packages/audio.scm (freepats): New variable.

	gnu: Add Stow.
	* gnu/packages/package-management.scm (stow): New variable.

	gnu: Add Test::Output.
	* gnu/packages/perl.scm (perl-test-output): New variable.

	gnu: Add Sub::Exporter.
	* gnu/packages/perl.scm (perl-sub-exporter): New variable.

	gnu: Add Data::OptList.
	* gnu/packages/perl.scm (perl-data-optlist): New variable.

	gnu: Add Capture::Tiny.
	* gnu/packages/perl.scm (perl-capture-tiny): New variable.

	gnu: Add Params::Util.
	* gnu/packages/perl.scm (perl-params-util): New variable.

	gnu: Add Sub::Install.
	* gnu/packages/perl.scm (perl-sub-install): New variable.

	gnu: Add Xournal.
	* gnu/packages/pdf.scm (xournal): New variable.

2015-02-24  Andreas Enge  <andreas@enge.fr>

	licenses: Add IPA Font License.
	* guix/licenses.scm (ipa): New variable.

2015-02-24  Ludovic Courtès  <ludo@gnu.org>

	Thank Daniel.

2015-02-24  Ludovic Courtès  <ludo@gnu.org>

	tests: Skip tests that would fail due to the shebang length.
	Reported by Daniel Kochmański <dkochmanski@hellsgate.pl>.
	Fixes <http://bugs.gnu.org/19888>.

	* guix/tests.scm (shebang-too-long?): New procedure.
	* tests/builders.scm ("gnu-build"): Conditionalize on
	  not (shebang-too-long?).
	* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
	* tests/guix-package.sh (shebang_not_too_long): New function.
	  Use it to determine whether to build 'gnu-make-boot0'.

2015-02-24  Ludovic Courtès  <ludo@gnu.org>

	tests: Factorize the network reachability test.
	* guix/tests.scm (network-reachable?): New procedure.
	* tests/builders.scm (network-reachable?): Remove.
	  Replace references to it with calls to the new 'network-reachable?'
	  procedure.
	* tests/derivations.scm (%coreutils): Use 'network-reachable?' instead
	  of 'getaddrinfo'.
	* tests/packages.scm: Likewise.
	* tests/union.scm: Likewise.

2015-02-23  Jason Self  <j@jxself.org>

	gnu: ffmpeg-2.2: Update to 2.2.13
	* gnu/packages/video.scm (ffmpeg-2.2): Update to version 2.2.13.

	gnu: ffmpeg: Update to 2.5.4
	* gnu/packages/video.scm (ffmpeg): Update to version 2.5.4.

2015-02-23  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add CCL.
	* gnu/packages/lisp.scm (ccl): New variable.

	gnu: Add wxwidgets.
	* gnu/packages/wxwidgets.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-02-23  Andreas Enge  <andreas@enge.fr>

	gnu: python2-oauthlib: Drop inherited fields.
	* gnu/packages/python.scm (python2-oauthlib): Drop inherited fields.

2015-02-22  Ricardo Wurmus  <rekado@elephly.net>

	gnu: i2c-tools: Add perl to inputs.
	* gnu/packages/linux.scm (i2c-tools): Add perl to inputs.

	gnu: Add i2c-tools.
	* gnu/packages/linux.scm (i2c-tools): New variable.

2015-02-21  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add libmspack.
	* gnu/packages/compression.scm (libmspack): New variable.

2015-02-21  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: vamp: Delete broken files from output.
	See <https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656>.

	* gnu/packages/audio.scm (vamp): Delete "/lib/libvamp-sdk.la" and
	  "/lib/libvamp-hostsdk.la" from the output directory after the install
	  phase.

2015-02-21  Andreas Enge  <andreas@enge.fr>

	gnu: Add weex.
	* gnu/packages/ftp.scm (weex): New variable.
	* gnu/packages/patches/weex-vacopy.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.

2015-02-21  Mark H Weaver  <mhw@netris.org>

	gnu: isc-dhcp: Add inetutils to inputs.
	* gnu/packages/admin.scm (isc-dhcp): Add inetutils to inputs, and
	  add it to the PATH set by the wrapper around 'dhclient-script'.

2015-02-21  Andreas Enge  <andreas@enge.fr>

	gnu: chmlib: Patch for compilation on mips.
	* gnu/packages/patches/chmlib-inttypes.patch: New file.
	* gnu-system.am (dist_patch_DATA): Register patch.
	* gnu/packages/ebook.scm (chmlib): Apply patch.

2015-02-20  Eric Bavier  <bavier@member.fsf.org>

	import: cpan: Update tests for dependency handling.
	* tests/cpan.scm (test-json): Remove core module dependencies.
	  [cpan->guix-package]: Add mock url handling for module api.
	  Adjust expected native-inputs and license.

2015-02-20  Mark H Weaver  <mhw@netris.org>

	import: cpan: Change %corelist into a promise.
	Fixes compilation failures in 'guix pull'.

	* guix/import/cpan.scm (%corelist): Change it to a promise by wrapping it with
	  'delay'.
	  (cpan-module->sexp): Adapt uses of %corelist by wrapping with 'force'.

2015-02-20  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add jalv.
	* gnu/packages/audio.scm (jalv): New variable.

	gnu: lilv: propagate inputs serd, sord and sratom.
	* gnu/packages/audio.scm (lilv): move serd, sord and sratom to propagated
	  inputs.

2015-02-20  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add HTSeq.
	* gnu/packages/bioinformatics.scm (htseq): New variable.

	gnu: Add libyaml.
	* gnu/packages/web.scm (libyaml): New variable.

2015-02-20  Andreas Enge  <andreas@enge.fr>

	gnu: mpc: Update to 1.0.3.
	* gnu/packages/multiprecision.scm (mpc): Update to 1.0.3.

	gnu: pari-gp: Update to 2.7.3.
	* gnu/packages/algebra.scm (pari-gp): Update to 2.7.3.

2015-02-20  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add arpack-ng.
	* gnu/packages/maths.scm (arpack-ng): New variable.

	gnu: python-scipy: install UTF-8 locale.
	* gnu/packages/python.scm (python-scipy): Install en_US.UTF-8 locale in
	  install-doc phase to avoid encoding error.

	gnu: matplotlib: install UTF-8 locale.
	* gnu/packages/python.scm (python-matplotlib): Install en_US.UTF-8 locale in
	  install-doc phase to avoid encoding error.

2015-02-20  Andreas Enge  <andreas@enge.fr>

	gnu: gnupg: Add version 2.1.2.
	* gnu/packages/gnupg.scm (gnupg): Update to 2.1.2.
	  (gnupg-2.0): Copy of previous package for version 2.0.26.

	Add David Hashe to 'AUTHORS'.

2015-02-20  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add exim.
	* gnu/packages/mail.scm (exim): New variable.

2015-02-20  David Hashe  <david.hashe@dhashe.com>

	gnu: Add gnugo.
	* gnu/packages/games.scm (gnugo): New variable.

2015-02-20  Mark H Weaver  <mhw@netris.org>

	gnu: glibc: Disable parallel build.
	* gnu/packages/base.scm (glibc)[arguments]: Disable parallel build.

2015-02-19  Andreas Enge  <andreas@enge.fr>

	gnu: Add npth.
	* gnu/packages/gnupg.scm (npth): New variable.

2015-02-19  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add Ant.
	* gnu/packages/java.scm (ant): New variable.

	gnu: Add RSeQC.
	* gnu/packages/bioinformatics.scm (rseqc): New variable.

2015-02-19  Mark H Weaver  <mhw@netris.org>

	gnu: libunistring: Update to 0.9.5.
	* gnu/packages/libunistring.scm (libunistring): Update to 0.9.5.

2015-02-19  Mark H Weaver  <mhw@netris.org>

	download: Handle HTTP redirects to relative URI references.
	Fixes <http://bugs.gnu.org/19840>.
	Reported by Ricardo Wurmus <rekado@elephly.net>.

	* guix/build/download.scm: On Guile 2.0.11 or earlier, redefine the http
	  "Location" header to accept relative URIs.
	  (resolve-uri-reference): New exported procedure.
	  (http-fetch): Use 'resolve-uri-reference' to resolve redirections.
	* guix/http-client.scm (http-fetch): Use 'resolve-uri-reference'

2015-02-19  Eric Bavier  <bavier@member.fsf.org>

	import: cpan: Use cpan mirror url.
	* guix/import/cpan.scm (cpan-module->sexp)[source-url]: Substitute cpan mirror
	  url.

	import: cpan: Sort inputs.
	* guix/import/cpan.scm (cpan-module->sexp)[convert-inputs]: Sort returned list
	  of inputs.

	import: cpan: Adjust licenses.
	* guix/import/cpan.scm (string->license): Add artistic2.0.  Use
	  '(package-license perl) for "perl_5" as is our convention.

	import: cpan: Use corelist to filter dependencies.
	* guix/import/cpan.scm (%corelist): New variable.
	  (module->dist-name, core-module?): New procedures.
	  (cpan-module->sexp)[convert-inputs]: Use them.  Include "test" dependencies
	  in converted inputs.
	* doc/guix.texi (Invoking guix import)[cpan]: Mention corelist filtering.

	guix: licenses: Add Artistic 2.0 license.
	* guix/licenses.scm (artistic2.0): New variable.

	build-system/perl: Use Build.PL for builds if present.
	* guix/build/perl-build-system.scm (configure): Use Build.PL if present.
	  (build, check, install): New procedures.
	  (%standard-phases): Replace build, check, and install phases.
	* guix/build-system/perl (perl-build): Add make-maker? and module-build-flags
	  arguments.
	* doc/guix.texi (Build Systems)[perl-build-system]: Document behavior rsp.
	  Build.PL and new arguments.

2015-02-19  宋文武  <iyzsong@gmail.com>

	gnu: gnutls: Move which from 'propagated-inputs' to 'native-inputs'.
	* gnu/packages/gnutls.scm (gnutls): Move which to 'native-inputs'.
	  Comment on 'propagated-inputs'.

	gnu: Add libxklavier.
	* gnu/packages/gnome.scm (libxklavier): New variable.

	gnu: libxml2: Propagate input zlib.
	* gnu/packages/xml.scm (libxml2): Move zlib to 'propagated-inputs'.

2015-02-18  Mark H Weaver  <mhw@netris.org>

	gnu: xorg-server: Update to 1.16.4.
	* gnu/packages/xorg.scm (xorg-server): Update to 1.16.4.

2015-02-18  Ricardo Wurmus  <rekado@elephly.net>

	gnu: remove "util-linux" from inputs
	* gnu/packages/audio.scm (aubio, ardour, azr3, lash, patchage): Remove
	  "util-linux" from `inputs'.

	gnu: jack: propagate input "util-linux"
	* gnu/packages/audio.scm (jack-1): Move input "util-linux" to
	  `propagated-inputs'.

2015-02-18  Mark H Weaver  <mhw@netris.org>

	gnu: isc-dhcp: Update to 4.3.1.
	* gnu/packages/admin.scm (isc-dhcp): Update to 4.3.1.

2015-02-17  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add chibi-scheme.
	* gnu/packages/scheme.scm (chibi-scheme): New variable.

	gnu: Add gambit-c.
	* gnu/packages/scheme.scm (gambit-c): New variable.

2015-02-17  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add AZR-3.
	* gnu/packages/audio.scm (azr3): New variable.

2015-02-16  Andreas Enge  <andreas@enge.fr>

	gnu: Add aarddict.
	* gnu/packages/aarddict.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add PyQt for Qt-4.
	* gnu/packages/qt.scm (python-pyqt-4, python2-pyqt-4): New variables.

2015-02-16  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add patchage.
	* gnu/packages/audio.scm (patchage): New variable.

	gnu: Add ganv.
	* gnu/packages/gtk.scm (ganv): New variable.

2015-02-16  Mark H Weaver  <mhw@netris.org>

	gnu: libtool and libltdl: Update to 2.4.6.
	* gnu/packages/autotools.scm (libtool, libltdl): Update to 2.4.6.
	* gnu/packages/patches/libtool-skip-tests.patch: Adapt to 2.4.6.

2015-02-16  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add R.
	* gnu/packages/statistics.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it
	* guix/download.scm (%mirrors): Add CRAN mirrors.

2015-02-16  Andreas Enge  <andreas@enge.fr>
	    Ludovic Courtès  <ludo@gnu.org>

	utils: Preserve symbolic links in 'wrap-program'.
	* guix/build/utils.scm (wrap-program): Preserve symbolic links instead of
	    copying the contents of the link.


	Closes <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19743>.

2015-02-16  Andreas Enge  <andreas@enge.fr>
	    Ludovic Courtès  <ludo@gnu.org>

	utils: Use $0 instead of absolute path to original program in 'wrap-program'.
	* guix/build/utils.scm (wrap-program): Create scripts that use $0 (which is
	    usually just the base name) instead of the absolute path to the original
	    program. Alternative implementation of 2ed11b3.


	Closes <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19742>.

2015-02-15  Andreas Enge  <andreas@enge.fr>

	gnu: python-setuptools: Update to 12.1.
	*  gnu/packages/python.scm (python-setuptools, python2-setuptools):
	     Update to 12.1.

	gnu: complexity: Update to 1.2.
	* gnu/packages/complexity.scm (complexity): Update to 1.2.

	gnu: xboard: Update to 4.8.0.
	* gnu/packages/games.scm (xboard): Update to 4.8.0.

	gnu: pinentry: Update to 0.9.0.
	* gnu/packages/gnupg.scm (pinentry): Update to 0.9.0.

	gnu: pius: Update to 2.0.11.
	* gnu/packages/gnupg.scm (pius): Update to 2.0.11.

	gnu: gpgme: Update to 1.5.3.
	* gnu/packages/gnupg.scm (gpgme): Update to 1.5.3.

	gnu: libgpg-error: Update to 1.18.
	* gnu/packages/gnupg.scm (libgpg-error): Update to 1.18.

	gnu: freetype: Update to 2.5.5.
	* gnu/packages/fontutils.scm (freetype): Update to 2.5.5.

2015-02-15  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add SBCL.
	* gnu/packages/lisp.scm (sbcl): New variable.

2015-02-15  Andreas Enge  <andreas@enge.fr>

	gnu: httpd: Update to 2.4.12.
	* gnu/packages/web.scm (httpd): Update to 2.4.12.

	gnu: Add python-netifaces.
	* gnu/packages/python.scm (python-netifaces, python2-netifaces):
	    New variables.

2015-02-14  Andreas Enge  <andreas@enge.fr>

	gnu: Add xdg-utils.
	* gnu/packages/freedesktop.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add python-cssselect.
	* gnu/packages/python.scm (python-cssselect, python2-cssselect):
	    New variables.

	gnu: Add python2-cssutils.
	* gnu/packages/python.scm (python2-cssutils): New variable.

	gnu: Add python2-pil.
	* gnu/packages/python.scm (python2-pil): New variable.

2015-02-14  Mark H Weaver  <mhw@netris.org>

	gnu: linux-libre: Update to 3.18.7.
	* gnu/packages/linux.scm (linux-libre): Update to 3.18.7.

2015-02-14  Mark H Weaver  <mhw@netris.org>

	Revert "gnu: linux-libre: Update to 3.19"
	Linux-libre 3.19 doesn't work on the Libreboot X60.

	This reverts commit 1f4edec4fd9b4bc6f4eda8c196647eea5215f040.

2015-02-14  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add moreutils.
	* gnu/packages/moreutils.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-02-14  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add lash.
	* gnu/packages/audio.scm (lash): New variable.

2015-02-14  Ludovic Courtès  <ludo@gnu.org>

	gnu: python-apsw: Fix license.
	* gnu/packages/python.scm (python-apsw)[license]: Change to
	  LICENSE:ZLIB.

2015-02-13  Ludovic Courtès  <ludo@gnu.org>

	gexp: Add #:graft? parameter to 'gexp->derivation'.
	* guix/gexp.scm (gexp->derivation): Add #:graft? parameter and honor it.
	* tests/gexp.scm ("gexp->derivation vs. grafts"): New test.
	* doc/guix.texi (G-Expressions): Update 'gexp->derivation'
	  documentation.

	packages: Add 'set-grafting' procedure.
	* guix/packages.scm (set-grafting): New procedure.

	tests: Add missing import.
	* guix/tests.scm: Add missing import, needed by 'dummy-package'.

2015-02-13  Ricardo Wurmus  <rekado@elephly.net>

	gnu: JACK2: rename package to "jack2".
	* gnu/packages/audio.scm (jack-2): Change package name to "jack2" to
	  distinguish from JACK1.

	gnu: jack: build ALSA backend.
	* gnu/packages/audio.scm (jack): Add missing inputs to build ALSA backend.

	gnu: Add lvtk.
	* gnu/packages/audio.scm (lvtk): New variable.

2015-02-13  Andreas Enge  <andreas@enge.fr>

	gnu: Add python-pillow.
	* gnu/packages/python.scm (python-pillow, python2-pillow): New variables.

2015-02-13  Ludovic Courtès  <ludo@gnu.org>

	gnu: net-tools: Remove the 'hostname' and *domainname commands.
	* gnu/packages/linux.scm (net-tools)[arguments]: Add #:modules.
	  Add 'remove-redundant-commands' phase.

	gnu: procps: Remove the 'kill' and 'uptime' commands.
	* gnu/packages/linux.scm (procps)[arguments]: Add #:modules.
	  <install phase>: Remove kill* and uptime*.

	gexp: Implement 'imported-modules' & co. using 'gexp->derivation'.
	* guix/derivations.scm (imported-files): Keep private.
	  (%imported-modules, %compiled-modules, build-expression->derivation):
	  Mark as deprecated.
	  (imported-modules, compiled-modules): Remove.
	* guix/gexp.scm (%mkdir-p-definition): New variable.
	  (imported-files, search-path*, imported-modules, compiled-modules):
	  New procedures.
	* tests/derivations.scm ("imported-files"): Remove.
	* tests/gexp.scm ("imported-files", "gexp->derivation #:modules"): New
	  tests.

	gnu: Add acpid.
	* gnu/packages/linux.scm (acpid): New variable.

2015-02-13  Andreas Enge  <andreas@enge.fr>

	gnu: nss: Update to 3.17.4.
	* gnu/packages/gnuzilla.scm (nss): Update to 3.17.4.

2015-02-13  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add bedops.
	* gnu/packages/bioinformatics.scm (bedops): New variable.

2015-02-13  Alex Kost  <alezost@gmail.com>

	gnu: Add xosd.
	* gnu/packages/xdisorg.scm (xosd): New variable.

2015-02-13  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add CLISP.
	* gnu/packages/lisp.scm (clisp): New variable.

2015-02-13  Andreas Enge  <andreas@enge.fr>

	gnu: openssl: Add search path definition for root certificates.
	* gnu/packages/openssl.scm (openssl)[native-search-paths]: New property.

	gnu: Add nss-certs, certificates extracted from nss.
	* gnu/packages/certs.scm (nss-certs): New variable.

	gnu: Add certdata2pem Python script.
	* gnu/packages/certs.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-02-13  David Thompson  <dthompson2@worcester.edu>

	gnu: node: Update to 0.12.0.
	* gnu/packages/node.scm (node): Update to 0.12.0.

	gnu: ruby: Update to 2.2.0.
	* gnu/packages/ruby.scm (ruby): Update to 2.2.0.

2015-02-12  Ludovic Courtès  <ludo@gnu.org>

	artwork: Update snapshot to GuixSD branding.
	* gnu/artwork.scm (%artwork-repository): Update to new "GuixSD"
	  branding.
	* gnu/system/grub.scm (%background-image, %default-theme): Adjust
	  accordingly.

	store: Add optional 'references' parameter to 'text-file'.
	* guix/store.scm (text-file): Add optional 'references' parameter.  Pass
	  it to 'add-text-to-store'.
	* doc/guix.texi (The Store Monad): Adjust accordingly.

2015-02-12  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add ECL.
	* gnu/packages/lisp.scm (ecl): New variable.

2015-02-12  Andreas Enge  <andreas@enge.fr>

	gnu: Add python-lxml.
	* gnu/packages/python.scm (python-lxml, python2-lxml): New variables.

	gnu: python: Prefix expat license by "license:" to avoid conflicts with   expat from the xml module.
	* gnu/packages/python.scm: Prefix expat license imported from
	    (guix licenses).
	* gnu/packages/python.scm (python-lockfile, python-mock, python-pysam,
	    python-extras, python-mimeparse, python-py, python-pytest,
	    python-scripttest, python-jsonschema, python-pyjwt, python-virtualenv,
	    python-sphinx-rtd-theme, python-pyparsing, python-cffi, python-xcffib,
	    python-html5lib, python-dbus): Adapt license field.

	gnu: Add python-apsw.
	* gnu/packages/python.scm (python-apsw, python2-apsw): New variables.

2015-02-12  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: hisat: fix build on non-x86_64.
	* gnu/packages/bioinformatics.scm (hisat): Add "POPCNT_CAPABILITY=0" to
	  make-flags on architectures other than x86_64.

2015-02-12  宋文武  <iyzsong@gmail.com>

	gnu: sdl-mixer: Don't use dlopen for shared object loading.
	* gnu/packages/sdl.scm (sdl-mixer)[arguments]<#:configure-flags>: Add
	  --disable-music-mod-shared --disable-music-fluidsynth-shared
	  --disable-music-ogg-shared --disable-music-flac-shared
	  --disable-music-mp3-shared.

	gnu: sdl-image: Don't use dlopen for shared object loading.
	* gnu/packages/sdl.scm (sdl-image)[arguments]: New field.

2015-02-11  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add ardour.
	* gnu/packages/audio.scm (ardour): New variable.

	gnu: Add libgnomecanvasmm.
	* gnu/packages/gnome.scm (libgnomecanvasmm): New variable.

	gnu: Add rubberband.
	* gnu/packages/audio.scm (rubberband): New variable.

	gnu: Add LADSPA.
	* gnu/packages/audio.scm (ladspa): New variable.

	gnu: Add Vamp SDK.
	* gnu/packages/audio.scm (vamp): New variable.

	gnu: Add suil.
	* gnu/packages/audio.scm (suil): New variable.

	gnu: Add lilv.
	* gnu/packages/audio.scm (lilv): New variable.

	gnu: Add sratom.
	* gnu/packages/audio.scm (sratom): New variable.

	gnu: Add sord.
	* gnu/packages/rdf.scm (sord): New variable.

	gnu: Add serd.
	* gnu/packages/rdf.scm (serd): New variable.

	gnu: Add LV2.
	* gnu/packages/audio.scm (lv2): New variable.

2015-02-11  Ludovic Courtès  <ludo@gnu.org>

	Merge branch 'master' into core-updates

	gexp: Add #:allowed-references parameter to 'gexp->derivation'.
	* guix/gexp.scm (lower-references): New procedure.
	  (gexp->derivation): Add #:allowed-references and honor it.
	* tests/gexp.scm ("gexp->derivation #:allowed-references",
	  "gexp->derivation #:allowed-references, disallowed"): New tests.
	* doc/guix.texi (G-Expressions): Update 'gexp->derivation' doc.

	gnu: bison: Update to 3.0.4.
	* gnu/packages/bison.scm (bison): Update to 3.0.4.

	gnu: glibc: Add search path specification for 'LOCPATH'.
	* gnu/packages/base.scm (glibc)[native-search-paths]: New field.

	gnu: glibc: Update to 2.21.
	* gnu/packages/base.scm (glibc): Update to 2.21.  Remove 3 patches no
	  longer needed.
	* gnu/packages/patches/glibc-CVE-2012-3406.patch,
	  gnu/packages/patches/glibc-CVE-2014-7817.patch,
	  gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch: Remove.
	* gnu-system.am (dist_patch_DATA): Adjust accordingly.

	gnu: patch: Update to 2.7.4.
	* gnu/packages/base.scm (patch): Update to 2.7.4.  Remove
	  'replacement'.  Remove outdated comment.
	  (patch-2.7.4, patch-CVE-2015-1196): Remove.

	gnu: Add glibc-locales.
	* gnu/packages/patches/glibc-locales.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.
	* gnu/packages/base.scm (glibc-locales): New variable.

	derivations: Make the "grafting..." message directly visible.
	* guix/derivations.scm (graft-derivation)[build]: Add call to
	  'force-output'.

2015-02-11  Ludovic Courtès  <ludo@gnu.org>

	doc: Use @code for the abstract USB image URL.
	Reported by Quentin Pradet <webmasters-comment@gnu.org>.

	* doc/guix.texi (System Installation): Use @code instead of @url for the
	  abstract URL.

2015-02-10  Ludovic Courtès  <ludo@gnu.org>

	gnu: gettext: Change license to GPLv3+.
	* gnu/packages/gettext.scm (gnu-gettext)[license]: Change to GPLv3+.

2015-02-10  Eric Bavier  <bavier@member.fsf.org>

	utils: Strip duplicates from search path.
	* guix/build/utils.scm (search-path-as-list): Delete duplicate input
	  directories before searching.

2015-02-10  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add STAR.
	* gnu/packages/bioinformatics.scm (star): New variable.

	gnu: Add HISAT.
	* gnu/packages/bioinformatics.scm (hisat): New variable.

2015-02-10  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add openntpd.
	* gnu/packages/ntp.scm (openntpd): New variable.

	gnu: Add smartmontools.
	* gnu/packages/admin.scm (smartmontools): New variable.

2015-02-10  Cyril Roelandt  <tipecaml@gmail.com>

	lint: handle FTP URIs.
	* guix/scripts/lint.scm (probe-uri): handle FTP URIs.

2015-02-10  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add ltrace.
	* gnu/packages/linux.scm (ltrace): New variable.

2015-02-09  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.19
	* gnu/packages/linux.scm (linux-libre): Update to version 3.19.

2015-02-09  Ludovic Courtès  <ludo@gnu.org>

	linux-initrd: Add 'isci' module, needed for some SAS controllers.
	Encountered on a Dell Precision T3600.

	* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add isci.

2015-02-09  Ludovic Courtès  <ludo@gnu.org>

	profiles: Report "pseudo-upgrades" as upgrades, not downgrades.
	Reported by Andreas Enge <andreas@enge.fr>
	at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19764#19>.

	* guix/profiles.scm (manifest-transaction-effects): Use 'version>=?'
	  instead of 'version>?'.
	* tests/profiles.scm ("manifest-transaction-effects and
	  pseudo-upgrades"): New test.

2015-02-09  Ludovic Courtès  <ludo@gnu.org>

	utils: Add 'version>=?'.
	* guix/utils.scm (version>?): Clarify docstring.
	  (version>=?): New procedure.

2015-02-09  Federico Beffa  <beffa@fbengineering.ch>

	gnu: ffmpeg: Add 'lame' input.
	* gnu/packages/video.scm (ffmpeg): Add 'lame' input and corresponding
	  configure flag.

2015-02-09  Andreas Enge  <andreas@enge.fr>

	gnu: perl-net-ssleay: Update to 1.68.
	* gnu/packages/openssl.scm (perl-net-ssleay): Update to 1.68.

	gnu: openssl: Update to 1.0.2.
	* gnu/packages/openssl.scm (openssl): Update to 1.0.2.

2015-02-09  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add Sphinx RTD theme.
	* gnu/packages/python.scm (python-sphinx-rtd-theme, python2-sphinx-rtd-theme):
	  New variables.

	gnu: Add flexbar.
	* gnu/packages/bioinformatics.scm (flexbar): New variable.

	gnu: Add seqan.
	* gnu/packages/bioinformatics.scm (seqan): New variable.

2015-02-09  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add libcap-ng.
	* gnu/packages/admin.scm (libcap-ng): New variable.

2015-02-09  Ricardo Wurmus  <rekado@elephly.net>

	gnu: Add aubio.
	* gnu/packages/audio.scm (aubio): New variable.

	gnu: Add liblo.
	* gnu/packages/audio.scm (liblo): New variable.

	gnu: Add JACK2.
	* gnu/packages/audio.scm (jack-2): New variable.

2015-02-09  David Thompson  <dthompson2@worcester.edu>

	gnu: Add srt2vtt.
	* gnu/packages/video.scm (srt2vtt): New variable.

2015-02-08  nebuli  <nebu@kipple>

	services: lsh: Add graceful handling of daemonic option.
	* gnu/services/ssh.scm (lsh-service): New #:keys (daemonic?, pid-file?,
	  pid-file).  Build new lshd-command and expand service-requirement
	  field.
	* doc/guix.texi (Networking Services): Update accordingly.

2015-02-08  Ricardo Wurmus  <rekado@elephly.net>

	build: Add 'waf-build-system'.
	* guix/build-system/waf.scm,
	  guix/build/waf-build-system.scm: New files.
	* Makefile.am (MODULES): Add them.
	* doc/guix.texi (Build Systems): Document waf-build-system.

2015-02-08  Ludovic Courtès  <ludo@gnu.org>

	doc: Remove ".ko" extension in 'base-initrd' example.
	Reported by Marek Benc.

	* doc/guix.texi (Initial RAM Disk): Remove ".ko" from the 'base-initrd'
	  example.  Add a comment.

2015-02-08  Ludovic Courtès  <ludo@gnu.org>

	profiles: Distinguish downgrades from upgrades.
	Fixes <http://bugs.gnu.org/19764>.

	* guix/profiles.scm (manifest-transaction-effects): Return downgraded
	  packages as a fourth value.
	* guix/ui.scm (show-manifest-transaction): Adjust accordingly.
	* tests/profiles.scm ("manifest-transaction-effects and downgrades"):
	  New test.

2015-02-08  Ludovic Courtès  <ludo@gnu.org>

	ui: Simplify 'show-manifest-transaction' test.
	* tests/ui.scm ("show-manifest-transaction"): Remove useless call to
	  'manifest-transaction-effects'.

2015-02-08  Ludovic Courtès  <ludo@gnu.org>

	ui: Properly report '&nar-error' conditions.
	This is a followup to 46b8aad.

	* guix/ui.scm (call-with-error-handling): Add 'nar-error?' case.

2015-02-08  Ludovic Courtès  <ludo@gnu.org>

	build: Remove references to 'nix-setuid-helper'.
	'nix-setuid-helper' vanished in commit d43eb499a (Jan. 2014.)

	* pre-inst-env.in: Remove occurrences of 'NIX_SETUID_HELPER'.

2015-02-08  Ludovic Courtès  <ludo@gnu.org>

	gnu: guile-ssh: Correct post-installation test.
	* gnu/packages/ssh.scm (guile-ssh)[arguments]
	  <fix-libguile-ssh-file-name>: Call 'zero?' to check the return value of
	  'system*'.

2015-02-08  Andreas Enge  <andreas@enge.fr>

	gnu: Add p11-kit.
	* gnu/packages/gnutls.scm (p11-kit): New variable.

	gnu: Add libmtp.
	* gnu/packages/libusb.scm (libmtp): New variable.

2015-02-08  David Thompson  <dthompson2@worcester.edu>

	gnu: tidy: Run bootstrap phase after the unpack phase.
	* gnu/packages/web.scm (tidy): Run bootstrap phase after the unpack phase,
	  rather than before the configure phase.

2015-02-08  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.18.6
	* gnu/packages/linux.scm (linux-libre): Update to version 3.18.6.

2015-02-08  David Thompson  <dthompson2@worcester.edu>

	gnu: Add tidy.
	* gnu/packages/web.scm (tidy): New variable.

2015-02-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: lightning: Update to 2.1.0.
	* gnu/packages/lightning.scm (lightning): Update to 2.1.0.

	Thank Andrei.

	daemon: Flush upon '\r' when reading the substituter's stderr.
	* nix/libstore/local-store.cc (LocalStore::getLineFromSubstituter):
	  Flush when the line contains '\r'.

2015-02-07  Ludovic Courtès  <ludo@gnu.org>

	serialization: Check for EOF and incomplete input conditions.
	Fixes <http://bugs.gnu.org/19756>.
	Reported by <sleep_walker@suse.cz>.

	* guix/serialization.scm (currently-restored-file): New variable.
	  (get-bytevector-n*): New procedure.
	  (read-int, read-long-long, read-string, read-latin1-string,
	  read-contents): Use it instead of 'get-bytevector-n'.
	  (restore-file): Parameterize 'currently-restored-file' and set it.
	* tests/nar.scm ("restore-file with incomplete input"): New test.

2015-02-07  Ludovic Courtès  <ludo@gnu.org>

	doc: Document the location of the build directory.
	Fixes <http://bugs.gnu.org/19771>.
	Reported by Andrei Osipov <andrspv@gmail.com>.

	* doc/guix.texi (Invoking guix-daemon): Document the build directory
	  location.

2015-02-07  Ludovic Courtès  <ludo@gnu.org>

	gnu: gimp: Add EXIF and SVG support, plus color management.
	* gnu/packages/gimp.scm (gimp)[inputs]: Add LIBEXIF, LCMS, and LIBRSVG.

2015-02-07  Andreas Enge  <andreas@enge.fr>

	gnu: podofo: Add optional input lua.
	* gnu/packages/pdf.scm (podofo): Add optional input lua-5.1.

	gnu: podofo: Update to 0.9.3.
	* gnu/packages/pdf.scm (podofo): Update to 0.9.3.

	gnu: podofo: Enable building a shared library.
	* gnu/packages/pdf.scm (podofo): Enable building a shared library in addition
	    to a static one.

	gnu: chmlib: Correct license.
	* gnu/packages/ebook.scm (chmlib): Correct copy-pasted license field.

	gnu: Add chmlib.
	* gnu/packages/ebook.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: dejagnu: Update to 1.5.2.
	* gnu/packages/dejagnu.scm (dejagnu): Update to 1.5.2.

	gnu: global: Update to 6.3.4.
	* gnu/packages/global.scm (global): Update to 6.3.4.

	gnu: eigen: Update to 3.2.4.
	* gnu/packages/algebra.scm (eigen): Update to 3.2.4.

	gnu: imagemagick: Update to 6.9.0-4.
	* gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.0-4.

2015-02-07  Mark H Weaver  <mhw@netris.org>

	gnu: tumbler: Update to 0.1.30.
	* gnu/packages/xfce.scm (tumbler): Update to 0.1.30.  Use latest gstreamer.

2015-02-06  Mark H Weaver  <mhw@netris.org>

	gnu: wicd: Fix curses client to work with urwid 1.3.
	* gnu/packages/patches/wicd-urwid-1.3.patch: New file.
	* gnu-system (dist_patch_DATA): Add it.
	* gnu/packages/wicd.scm (wicd): Add patch.

	gnu: ntp: Update to 4.2.8p1.
	* gnu/packages/ntp.scm (ntp): Update to 4.2.8p1.

2015-02-06  Tomáš Čech  <sleep_walker@suse.cz>

	gnu: slock: Update to 1.2
	* gnu/packages/dwm.scm (slock): Update to 1.2

2015-02-06  Ludovic Courtès  <ludo@gnu.org>

	tests: Disable grafts when comparing derivations.
	Fixes a regression introduced with the grafting of Patch in 3f11f01.

	* tests/packages.scm ("reference to non-existent output"): Wrap in
	  'parameterize'.

2015-02-06  Ludovic Courtès  <ludo@gnu.org>

	guix package: Make custom profiles actual indirect roots.
	Before that, any profile generation built when '-p' is used would
	effectively become a permanent GC root because the symlink in
	/var/guix/gcroots/auto would point directly to /gnu/store/...-profile.

	* guix/scripts/package.scm (maybe-register-gc-root): Rename to...
	  (register-gc-root): ... this.  Remove conditional, and replace call to
	  'canonicalize-path' with (string-append (getcwd) "/" ...).
	  (guix-package): Call 'register-gc-root' only if PROFILE is different
	  from %CURRENT-PROFILE.
	* tests/guix-package.sh: Add test case.

2015-02-06  Ludovic Courtès  <ludo@gnu.org>

	pull: Always install the ~/.config/guix/latest symlink.
	Before that, if two users on the same machine ran 'guix pull', the
	second one would have the "Guix already up to date" message and their
	~/.config/guix/latest link would be left unchanged---effectively
	preventing them from updating.

	* guix/scripts/pull.scm (build-and-install): Install the 'latest'
	  symlink regardless of whether TO-DO? is true or false.

2015-02-06  Ludovic Courtès  <ludo@gnu.org>

	doc: Provide a better illustration of Ethernet interface names.
	Reported on #guix.

	* doc/guix.texi (System Installation)[USB Stick Installation]: Mention
	  "eno1" instead of "eth0" and give other examples.

2015-02-06  Ludovic Courtès  <ludo@gnu.org>

	gnu: patch: Add 2.7.4 and make it a replacement for the default one.
	* gnu/packages/base.scm (patch-2.7.4, patch-CVE-2015-1196): New
	  variables.
	  (patch): Add 'replacement' field.

	services: xorg: Add Nouveau driver.
	* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
	  XF86-VIDEO-NOUVEAU.

	gnu: Add xf86-video-nouveau.
	* gnu/packages/xorg.scm (xf86-video-nouveau): New variable.

	gnu: xf86-video-nv: Improve description.
	* gnu/packages/xorg.scm (xf86-video-nv): Adjust synopsis and
	  description.

2015-02-06  Mark H Weaver  <mhw@netris.org>

	gnu: orc: Disable the 'test-limits' and 'exec_opcodes_sys' tests.
	* gnu/packages/gstreamer.scm (orc)[arguments]: Disable the 'test-limits' and
	  'exec_opcodes_sys' tests, which fail on some machines.

2015-02-05  Ludovic Courtès  <ludo@gnu.org>

	offload: Better report failure to create the GC root directory.
	Suggested by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

	* guix/scripts/offload.scm (register-gc-root)[script]: Replace
	  'false-if-exception' with a finer-grain 'system-error handler.
	  Provide the name of MACHINE in 'leave' error message.

2015-02-05  Ludovic Courtès  <ludo@gnu.org>

	gnu: groff: Add "doc" output.
	* gnu/packages/groff.scm (groff): Add 'outputs' field.

2015-02-05  Ludovic Courtès  <ludo@gnu.org>

	offload: Warn about SSH client issues.
	Suggested by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

	* guix/scripts/offload.scm (remote-pipe): Remove unneeded 'catch'.
	  (machine-load): Check the exit value  upon (close-pipe pipe).  Call
	  'warning' when it is non-zero.

2015-02-05  Ludovic Courtès  <ludo@gnu.org>

	nls: Update 'eo' translation.

2015-02-05  Mark H Weaver  <mhw@netris.org>

	gnu: gnutls: Configure location of system-wide trust store.
	* gnu/packages/gnutls.scm (gnutls): Configure the location of the system-wide
	  trust store.

2015-02-05  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add ngircd.
	* gnu/packages/messaging.scm (ngircd): New variable.
	* gnu/packages/patches/ngircd-no-dns-in-tests.patch: New file.
	* gnu/packages/patches/ngircd-handle-zombies.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add them.

2015-02-05  宋文武  <iyzsong@gmail.com>

	gnu: Add xfce.
	* gnu/packages/xfce.scm (xfce): New variable.

	gnu: gnutls: Propagate zlib.
	* gnu/packages/gnutls.scm (gnutls): Move zlib to 'propagated-inputs'.

2015-02-05  Andreas Enge  <andreas@enge.fr>

	gnu: gnutls: Update to 3.3.12.
	* gnu/packages/gnutls.scm (gnutls): Update to 3.3.12.

2015-02-05  宋文武  <iyzsong@gmail.com>

	gnu: gst-plugins-good: Update to 1.4.5.
	* gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.4.5.

	gnu: gst-plugins-base: Update to 1.4.5, re-enable tests.
	* gnu/packages/gstreamer.scm (gst-plugins-base): Update to 1.4.5.
	  [arguments]: Add #:phases.
	  [inputs]: Add cdparanoia and orc.

	gnu: gstreamer: Update to 1.4.5, propagate glib.
	* gnu/packages/gstreamer.scm (gstreamer): Update to 1.4.5.
	  [arguments]: Remove field to re-enable tests.
	  [inputs]: Rename to 'propagated-inputs'.

	gnu: Add orc.
	* gnu/packages/gstreamer.scm (orc): New variable.

	gnu: sdl: Don't use dlopen for shared object loading.
	* gnu/packages/sdl.scm (sdl)[arguments]<#:configure-flags>:
	  Use '--disable-sdl-dlopen'.
	  [propagated-inputs]: Add libcap.

	gnu: sdl2: Update to 2.0.3.
	* gnu/packages/sdl.scm (sdl2): Update to 2.0.3.

	gnu: libmikmod: Update to 3.3.7.
	* gnu/packages/sdl.scm (libmikmod): Update to 3.3.7.

2015-02-05  Mark H Weaver  <mhw@netris.org>

	gnu: wicd: Allow wicd-gtk to find its icons.
	* gnu/packages/wicd.scm (wicd)[inputs]: Add hicolor-icon-theme.
	  [arguments]: Install icons in $out/share/icons.  Install a copy of
	  'index.theme' from 'hicolor-icon-theme' into $out/share/icons/hicolor.

	services: Add wicd service.
	* gnu/services/networking.scm (wicd-service): New procedure.
	* doc/guix.texi (Networking Services): Document it.

2015-02-05  Mark H Weaver  <mhw@netris.org>

	gnu: Add wicd.
	Based on preliminary work by Pierre-Antoine Rault <par@rigelk.eu>

	* gnu/packages/wicd.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-02-05  Mark H Weaver  <mhw@netris.org>

	gnu: wpa-supplicant: Add dbus support; add wpa-supplicant-light.
	* gnu/packages/admin.scm (wpa-supplicant-light): New variable containing the
	  previous dbus-free package, but renamed.  Remove outdated TODO comments.
	  (wpa-supplicant): Now inherits from wpa-supplicant-light but adds dbus
	  support.
	* gnu/system/install.scm (installation-os): Use wpa-supplicant-light.

2015-02-04  Ludovic Courtès  <ludo@gnu.org>

	gnu: nss-mdns: Allow the daemon's socket to be found.
	* gnu/packages/avahi.scm (nss-mdns)[arguments]: New field.

	services: nscd-service: Add #:name-services parameter.
	* gnu/services/base.scm (nscd-service): Add #:name-services parameter.
	  In 'start' field, set LD_LIBRARY_PATH based on #:name-services.
	* doc/guix.texi (Base Services): Document it.
	  (Name Service Switch): Link to 'nscd-service'.

	system: Add bindings to configure libc's NSS.
	* gnu/system/nss.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
	* gnu.scm (%public-modules): Add it.
	* gnu/system.scm (<operating-system>)[name-service-switch]: New field.
	  (etc-directory): Add #:nss parameter and honor it.
	  (operating-system-etc-directory): Adjust call accordingly.
	* doc/guix.texi (operating-system Reference): Document
	  'name-service-switch'.
	  (Name Service Switch): New section.

	gnu: wpa-supplicant: Install man pages.
	* gnu/packages/admin.scm (wpa-supplicant)[arguments]: Add
	  'install-man-pages' phase.

	gnu: wpa-supplicant: Use GnuTLS instead of OpenSSL.
	* gnu/packages/admin.scm (wpa-supplicant)[arguments] <configure phase>:
	  Set CONFIG_TLS.
	  [inputs]: Add GNUTLS and LIBGCRYPT.

	build: Make 'chroot' a hard requirement.
	* config-daemon.ac: Error out when $ac_cv_func_chroot is not "yes".
	* nix/nix-daemon/guix-daemon.cc (options): Remove #ifdef HAVE_CHROOT.
	  (main): Likewise.

2015-02-04  Mark H Weaver  <mhw@netris.org>

	gnu: libffcall: Correct license field.
	Suggested by Ludovic Courtès <ludo@gnu.org>.

	* gnu/packages/libffcall.scm (libffcall): Change license to gpl2+.

2015-02-04  Mark H Weaver  <mhw@netris.org>

	gnu: Add libffcall.
	* gnu/packages/libffcall.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	Co-Authored-By: Joshua S. Grant <jgrant@parenthetical.io>

2015-02-04  Mark H Weaver  <mhw@netris.org>

	Add support for 'cvs-fetch' method in origins.
	* guix/cvs-download.scm, guix/build/cvs.scm: New files.
	* Makefile.am (MODULES): Add them.

	gnu: Add python2-dbus.
	* gnu/packages/python.scm (python2-dbus): New variable.

2015-02-04  Pierre-Antoine Rault  <par@rigelk.eu>

	gnu: Add python-dbus.
	* gnu/packages/python.scm (python-dbus): Add it. Makes use of dbus,
	  dbus-glib and glib itself.

2015-02-04  Mark H Weaver  <mhw@netris.org>

	Remove outdated comment from svn-fetch.
	* guix/svn-download.scm (svn-fetch): Remove outdated comment.

	gnu: python-urwid: Remove Fedora mirror from source URI list.
	* gnu/packages/python.scm (python-urwid)[source]: Remove Fedora mirror.

	gnu: wpa-supplicant: Update to 2.3.
	* gnu/packages/admin.scm (wpa-supplicant): Update to 2.3.  Update URLs.

2015-02-03  David Thompson  <dthompson2@worcester.edu>

	guix: environment: Consider all package outputs.
	* guix/scripts/environment.scm (for-each-search-path): Iterate over all
	  derivation output paths.
	  (packages->transitive-inputs): Process inputs that specify an output, too.

2015-02-03  宋文武  <iyzsong@gmail.com>

	services: xorg: Add sawfish session.
	* gnu/services/xorg.scm (%sawfish-session-type): New variable.
	* doc/guix.texi (X Window): Mention it.

	gnu: Add sawfish.
	* gnu/packages/sawfish.scm (sawfish): New variable.

	gnu: Add rep-gtk.
	* gnu/packages/sawfish.scm (rep-gtk): New variable.

	gnu: Add librep.
	* gnu/packages/sawfish.scm: New file.
	* gnu/packages/patches/librep-rules.mk.patch: New file.
	* gnu-system.am: Add them.

2015-02-03  Mark H Weaver  <mhw@netris.org>

	gnu: Add python-urwid and python2-urwid.
	Based on preliminary work by Omar Radwan <toxemicsquire4@gmail.com>.

	* gnu/packages/python.scm (python-urwid, python2-urwid): New variables.

2015-02-03  David Thompson  <dthompson2@worcester.edu>

	gnu: httpd: Add perl input.
	* gnu/packages/web.scm (httpd): Add perl input.

	gnu: inkscape: Update to 0.91.
	* gnu/packages/inkscape.scm (inkscape): Update to 0.91.

2015-02-03  Andreas Enge  <andreas@enge.fr>

	gnu: node: Update to 0.10.36.
	* gnu/packages/node.scm (node): Update to 0.10.36.

2015-02-02  Andreas Enge  <andreas@enge.fr>

	gnu: elfutils: Update to 0.161.
	* gnu/packages/elf.scm (elfutils): Update to 0.161.

	gnu: sipwitch: Update to 1.9.6.
	* gnu/packages/telephony.scm (sipwitch): Update to 1.9.6.

2015-02-02  Taylan Ulrich B  <taylanbayirli@gmail.com>

	Set Emacs indentation for `wrap-program'.
	* .dir-locals.el (scheme-mode): Set `scheme-indent-function' of `wrap-program'
	  to 1.

2015-02-02  Andreas Enge  <andreas@enge.fr>

	gnu: ucommon: Update to 6.3.0.
	* gnu/packages/telephony.scm (ucommon): Update to 6.3.0.

2015-02-02  Mark H Weaver  <mhw@netris.org>

	Revert "gnu: python-matplotlib: Remove python-pillow input."
	python-pillow is now fixed, so we can add it back.
	This reverts commit dfbc33dceb803a3d54840613b08dc98f7be75f60.

2015-02-02  Eric Bavier  <bavier@member.fsf.org>

	gnu: openjpeg: Upgrade to 2.1.0.
	* gnu/packages/image.scm (openjpeg): Upgrade to 2.1.0.
	  (openjpeg-2.0): New variable.
	* gnu/packages/pdf.scm (mupdf)[inputs]: Use openjpeg-2.0.

2015-02-02  Mark H Weaver  <mhw@netris.org>

	gnu: Add hdparm.
	* gnu/packages/linux.scm (hdparm): New variable.

2015-02-02  Ludovic Courtès  <ludo@gnu.org>

	store: Remove 'build-derivations'.
	* guix/store.scm (build-derivations): Remove.
	* guix/derivations.scm (build-derivations): Write in terms of
	  'build-things'.
	* doc/guix.texi (Invoking guix build): Adjust text accordingly.

	tests: Skip 'guix-register' when the socket name length is exceeded.
	* tests/guix-register.sh: Before running 'guix-daemon', check whether
	  the socket name length exceeds the system limitation.

	tests: Don't dump the list of dead items in the test log.
	* tests/store.scm ("dead-paths"): Wrap result in '->bool'.

	store: Add 'build-things'.
	* guix/store.scm (operation-id): Rename 'build-derivations' to
	  'build-things', as per Nix commit 1aba0bf0.
	  (build-derivations): Rename to...
	  (build-things): ... this.  Keep 'build-derivations' as an alias.
	  (build): New procedure.
	* tests/store.scm ("build-things with output path",
	  "substitute + build-things with output path"): New tests.

	tests: Add 'with-derivation-substitute' and use it.
	* guix/tests.scm (%substitute-directory): New variable.
	  (call-with-derivation-narinfo): Use it.
	  (call-with-derivation-substitute): New procedure.
	  (with-derivation-substitute): New macro.
	* tests/store.scm ("substitute"): Use 'with-derivation-substitute'.
	  ("substitute, corrupt output hash"): Likewise.

	tests: Further factorize substitute mocks.
	* guix/tests.scm (derivation-narinfo): Turn 'nar' into a keyword
	  parameter.  Add #:sha256 parameter, and honor it.
	  (call-with-derivation-narinfo): Add #:sha256 and pass it to
	  'derivation-narinfo'.
	  (with-derivation-narinfo): Extend with support for (sha256 => value).
	* tests/store.scm ("substitute query"): Use 'with-derivation-narinfo'.
	  ("substitute"): Likewise.
	  ("substitute, corrupt output hash"): Likewise.
	  ("substitute --fallback"): Likewise.
	* tests/derivations.scm: Remove Emacs local variable.

	tests: Use 'with-store' as appropriate.
	* tests/store.scm ("no substitutes", "substitute query",
	  "substitute", "substitute, corrupt output hash",
	  "substitute --fallback"): Use 'with-store' instead of
	  'open-connection'.

	Add Deck to 'AUTHORS'.

2015-02-02  Mark H Weaver  <mhw@netris.org>

	gnu: libvpx: Apply bug fixes.
	Fixes build on armhf.

	* gnu/packages/patches/libvpx-fix-armhf-link.patch,
	  gnu/packages/patches/libvpx-fix-ssse3-quantize.patch,
	  gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch: New files.
	* gnu-system.am (dist_patch_DATA): Add them.
	* gnu/packages/video.scm (libvpx): Add patches.  On armhf, add additional
	  configure flags to avoid requiring support for NEON.

2015-02-02  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add polipo.
	* gnu/packages/web.scm (polipo): New variable.

2015-02-01  Taylan Ulrich Bayırlı/Kammer  <taylanbayirli@gmail.com>

	gnu: Add dnsmasq.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add dnsmasq.scm.
	* gnu/packages/dnsmasq.scm: New file.

2015-02-01  宋文武  <iyzsong@gmail.com>

	gnu: gdk-pixbuf: Enable Xlib rendering support.
	* gnu/packages/gtk.scm (gdk-pixbuf)[arguments]: New field.
	  [inputs]: Add LIBX11.

2015-01-31  Mark H Weaver  <mhw@netris.org>

	gnu: icecat: Use system libvpx, icu4c, and pixman libraries.
	* gnu/packages/gnuzilla.scm (icecat)[inputs]: Add libvpx, icu4c, pixman.
	  [arguments]: Add --with-system-libvpx, --with-system-icu, and
	  --enable-system-pixman configure flags.  Add comments about why we
	  cannot (yet) add system cairo and sqlite, etc.

2015-01-31  宋文武  <iyzsong@gmail.com>

	gnu: libxtst: Propagate libxi.
	* gnu/packages/xorg.scm (libxtst): Move libxi to 'propagated-inputs'.

2015-01-31  Mark H Weaver  <mhw@netris.org>

	gnu: icecat: Use gstreamer-1.0 and enable webrtc.
	* gnu/packages/gnuzilla.scm (icecat)[inputs]: Use latest gstreamer and
	  gst-plugins-base.
	  [arguments]: Remove "--disable-webrtc" and add "--enable-gstreamer=1.0" to
	  configure flags.

2015-01-30  Jason Self  <j@jxself.org>

	gnu: linux-libre: Update to 3.18.5
	* gnu/packages/linux.scm (linux-libre): Update to version 3.18.5.

2015-01-30  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add jansson.
	* gnu/packages/web.scm (jansson): New variable.

2015-01-30  Mark H Weaver  <mhw@netris.org>

	gnu: icecat: Update to 31.4.0.
	* 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,
	  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: Remove files.
	* gnu-system.am (dist_patch_DATA): Remove them.
	* gnu/packages/gnuzilla.scm: Update to 31.4.0.  Remove patches.

2015-01-30  宋文武  <iyzsong@gmail.com>

	gnu: Add desktop-file-utils.
	* gnu/packages/gnome.scm (desktop-file-utils): New variable.

2015-01-30  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: bowtie: fix build errors
	* gnu/packages/bioinformatics.scm (bowtie): Add 'supported-systems' field and
	  add Makefile patch.
	* gnu/packages/patches/bowtie-fix-makefile.patch: New file.
	* gnu-system.am (dist_patch_DATA): Add it.

2015-01-30  David Thompson  <dthompson2@worcester.edu>

	gnu: jack-1: Fix licenses.
	* gnu/packages/audio.scm (jack-1): Change license field to a list of licenses
	  instead of a list of symbols.

2015-01-29  Ricardo Wurmus  <ricardo.wurmus@mdc-berlin.de>

	gnu: Add Threading Building Blocks.
	* gnu/packages/tbb.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

	gnu: Add IcedTea 6
	* gnu/packages/java.scm: New file.
	* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

2015-01-29  Ludovic Courtès  <ludo@gnu.org>

	Merge branch '0.8.1-release'

2015-01-28  Ludovic Courtès  <ludo@gnu.org>

	gnu: guix: Update snapshot.
	* gnu/packages/package-management.scm (guix-devel): Update snapshot.
	  (guix): Change to GUIX-DEVEL.

	gnu: guix: Update to 0.8.1.
	* gnu/packages/package-management.scm (guix-0.8): Rename to...
	  (guix-0.8.1): ... this.  Add 'propagated-inputs'.
	  (guix-devel): Append ".0" to version number.  Remove
	  'propagated-inputs'.
	  (guix): Set to GUIX-0.8.1.

2015-01-28  Mark H Weaver  <mhw@netris.org>

	gnu: racket: Add MIPS back to supported-systems.
	* gnu/packages/scheme.scm (racket)[supported-systems]: Remove field.

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.
