aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-06 17:33:02 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-06 17:33:02 +0100
commit4050e5d6cfe8f7af29f10b2f1b3c7febdc10946a (patch)
tree574828c84e7bfb0b6850db4f30fc38bd8143584e
parent79580eb698d07e4b21334ddfbcbcf620d27b5e41 (diff)
parent233e76769ae3a438bff7117c68f2c88739a28db0 (diff)
downloadpatches-4050e5d6cfe8f7af29f10b2f1b3c7febdc10946a.tar
patches-4050e5d6cfe8f7af29f10b2f1b3c7febdc10946a.tar.gz
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
-rw-r--r--.gitignore1
-rw-r--r--Makefile.am25
-rw-r--r--build-aux/download.scm12
-rw-r--r--configure.ac4
-rw-r--r--daemon.am16
-rw-r--r--distro.scm12
-rw-r--r--distro/packages/acl.scm12
-rw-r--r--distro/packages/algebra.scm76
-rw-r--r--distro/packages/attr.scm14
-rw-r--r--distro/packages/autotools.scm18
-rw-r--r--distro/packages/base.scm14
-rw-r--r--distro/packages/bash.scm12
-rw-r--r--distro/packages/bdb.scm55
-rw-r--r--distro/packages/bdw-gc.scm12
-rw-r--r--distro/packages/bison.scm12
-rw-r--r--distro/packages/bootstrap.scm12
-rw-r--r--distro/packages/check.scm49
-rw-r--r--distro/packages/compression.scm12
-rw-r--r--distro/packages/cpio.scm12
-rw-r--r--distro/packages/ddrescue.scm12
-rw-r--r--distro/packages/ed.scm12
-rw-r--r--distro/packages/flex.scm12
-rw-r--r--distro/packages/gawk.scm12
-rw-r--r--distro/packages/gdbm.scm12
-rw-r--r--distro/packages/gettext.scm12
-rw-r--r--distro/packages/gnupg.scm12
-rw-r--r--distro/packages/gnutls.scm20
-rw-r--r--distro/packages/gperf.scm12
-rw-r--r--distro/packages/gsasl.scm113
-rw-r--r--distro/packages/guile.scm12
-rw-r--r--distro/packages/help2man.scm12
-rw-r--r--distro/packages/idutils.scm65
-rw-r--r--distro/packages/less.scm12
-rw-r--r--distro/packages/libffi.scm12
-rw-r--r--distro/packages/libidn.scm51
-rw-r--r--distro/packages/libsigsegv.scm12
-rw-r--r--distro/packages/libunistring.scm12
-rw-r--r--distro/packages/libusb.scm44
-rw-r--r--distro/packages/linux.scm39
-rw-r--r--distro/packages/lout.scm12
-rw-r--r--distro/packages/lsh.scm12
-rw-r--r--distro/packages/m4.scm12
-rw-r--r--distro/packages/make-bootstrap.scm12
-rw-r--r--distro/packages/mit-krb5.scm69
-rw-r--r--distro/packages/multiprecision.scm12
-rw-r--r--distro/packages/nano.scm12
-rw-r--r--distro/packages/ncurses.scm12
-rw-r--r--distro/packages/nettle.scm12
-rw-r--r--distro/packages/perl.scm12
-rw-r--r--distro/packages/pkg-config.scm12
-rw-r--r--distro/packages/pth.scm12
-rw-r--r--distro/packages/readline.scm12
-rw-r--r--distro/packages/recutils.scm12
-rw-r--r--distro/packages/rsync.scm51
-rw-r--r--distro/packages/shishi.scm14
-rw-r--r--distro/packages/system.scm12
-rw-r--r--distro/packages/texinfo.scm12
-rw-r--r--distro/packages/time.scm12
-rw-r--r--distro/packages/wget.scm12
-rw-r--r--distro/packages/which.scm12
-rw-r--r--distro/packages/zile.scm12
-rw-r--r--doc/guix.texi57
-rw-r--r--guix-build.in66
-rw-r--r--guix-download.in15
-rw-r--r--guix-gc.in183
-rw-r--r--guix-import.in15
-rw-r--r--guix-package.in15
-rw-r--r--guix.scm12
-rw-r--r--guix/base32.scm12
-rw-r--r--guix/build-system.scm12
-rw-r--r--guix/build-system/gnu.scm12
-rw-r--r--guix/build-system/trivial.scm12
-rw-r--r--guix/build/download.scm15
-rw-r--r--guix/config.scm.in16
-rw-r--r--guix/derivations.scm23
-rw-r--r--guix/download.scm15
-rw-r--r--guix/ftp-client.scm12
-rw-r--r--guix/gnu-maintenance.scm14
-rw-r--r--guix/licenses.scm14
-rw-r--r--guix/packages.scm12
-rw-r--r--guix/snix.scm12
-rw-r--r--guix/store.scm12
-rw-r--r--guix/ui.scm22
-rw-r--r--guix/utils.scm12
-rw-r--r--hydra.scm12
-rw-r--r--nix/libutil/gcrypt-hash.cc10
-rw-r--r--nix/libutil/gcrypt-hash.hh10
-rw-r--r--nix/libutil/md5.h10
-rw-r--r--nix/libutil/sha1.h10
-rw-r--r--nix/libutil/sha256.h10
-rw-r--r--nix/nix-daemon/guix-daemon.cc73
-rw-r--r--nix/nix-daemon/shared.hh10
-rw-r--r--nix/scripts/list-runtime-roots.in12
-rw-r--r--po/POTFILES.in2
-rw-r--r--pre-inst-env.in12
-rw-r--r--release.nix12
-rw-r--r--test-env.in12
-rw-r--r--tests/base32.scm12
-rw-r--r--tests/build-utils.scm12
-rw-r--r--tests/builders.scm12
-rw-r--r--tests/derivations.scm17
-rw-r--r--tests/guix-build.sh12
-rw-r--r--tests/guix-daemon.sh12
-rw-r--r--tests/guix-download.sh12
-rw-r--r--tests/guix-gc.sh54
-rw-r--r--tests/guix-package.sh12
-rw-r--r--tests/packages.scm12
-rw-r--r--tests/snix.scm12
-rw-r--r--tests/store.scm12
-rw-r--r--tests/union.scm12
-rw-r--r--tests/utils.scm12
111 files changed, 1609 insertions, 633 deletions
diff --git a/.gitignore b/.gitignore
index b6786d212b..0b21a03ece 100644
--- a/.gitignore
+++ b/.gitignore
@@ -64,3 +64,4 @@ stamp-h[0-9]
/nix/scripts/list-runtime-roots
/test-env
/nix/nix-setuid-helper/nix-setuid-helper.cc
+/guix-gc
diff --git a/Makefile.am b/Makefile.am
index 41337fd272..4e80325e98 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,26 +1,27 @@
-# Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-# Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
#
-# This file is part of Guix.
+# This file is part of GNU Guix.
#
-# Guix is free software; you can redistribute it and/or modify it
+# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
-# Guix is distributed in the hope that it will be useful, but
+# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with Guix. If not, see <http://www.gnu.org/licenses/>.
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
bin_SCRIPTS = \
guix-build \
guix-download \
guix-import \
- guix-package
+ guix-package \
+ guix-gc
MODULES = \
guix/base32.scm \
@@ -44,6 +45,7 @@ MODULES = \
guix.scm \
distro.scm \
distro/packages/acl.scm \
+ distro/packages/algebra.scm \
distro/packages/attr.scm \
distro/packages/autotools.scm \
distro/packages/base.scm \
@@ -51,8 +53,10 @@ MODULES = \
distro/packages/bdw-gc.scm \
distro/packages/bison.scm \
distro/packages/bootstrap.scm \
+ distro/packages/check.scm \
distro/packages/compression.scm \
distro/packages/cpio.scm \
+ distro/packages/bdb.scm \
distro/packages/ddrescue.scm \
distro/packages/ed.scm \
distro/packages/flex.scm \
@@ -62,18 +66,23 @@ MODULES = \
distro/packages/gnupg.scm \
distro/packages/gnutls.scm \
distro/packages/gperf.scm \
+ distro/packages/gsasl.scm \
distro/packages/guile.scm \
distro/packages/help2man.scm \
+ distro/packages/idutils.scm \
distro/packages/ld-wrapper.scm \
distro/packages/less.scm \
distro/packages/libffi.scm \
+ distro/packages/libidn.scm \
distro/packages/libsigsegv.scm \
distro/packages/libunistring.scm \
+ distro/packages/libusb.scm \
distro/packages/linux.scm \
distro/packages/lout.scm \
distro/packages/lsh.scm \
distro/packages/m4.scm \
distro/packages/make-bootstrap.scm \
+ distro/packages/mit-krb5.scm \
distro/packages/multiprecision.scm \
distro/packages/nano.scm \
distro/packages/ncurses.scm \
@@ -84,6 +93,7 @@ MODULES = \
distro/packages/pth.scm \
distro/packages/readline.scm \
distro/packages/recutils.scm \
+ distro/packages/rsync.scm \
distro/packages/shishi.scm \
distro/packages/system.scm \
distro/packages/texinfo.scm \
@@ -183,6 +193,7 @@ TESTS = \
tests/union.scm \
tests/guix-build.sh \
tests/guix-download.sh \
+ tests/guix-gc.sh \
tests/guix-package.sh
TEST_EXTENSIONS = .scm .sh
diff --git a/build-aux/download.scm b/build-aux/download.scm
index aad4fe3c76..97a74b123a 100644
--- a/build-aux/download.scm
+++ b/build-aux/download.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; Download a binary file from an external source.
diff --git a/configure.ac b/configure.ac
index bebb9885c4..0c3a9e5f6f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -114,10 +114,12 @@ AC_CONFIG_FILES([Makefile
guix-download
guix-import
guix-package
+ guix-gc
pre-inst-env
test-env])
AC_CONFIG_COMMANDS([commands-exec],
- [chmod +x guix-build guix-download guix-import guix-package pre-inst-env test-env])
+ [chmod +x guix-build guix-download guix-import guix-package guix-gc \
+ pre-inst-env test-env])
AC_OUTPUT
diff --git a/daemon.am b/daemon.am
index 26b07c4105..b1265b370a 100644
--- a/daemon.am
+++ b/daemon.am
@@ -1,20 +1,20 @@
-# Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-# Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
#
-# This file is part of Guix.
+# This file is part of GNU Guix.
#
-# Guix is free software; you can redistribute it and/or modify it
+# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
-# Guix is distributed in the hope that it will be useful, but
+# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with Guix. If not, see <http://www.gnu.org/licenses/>.
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
#
# Integration of the `guix-daemon' code taken from upstream Nix.
@@ -175,5 +175,7 @@ TESTS += \
tests/guix-daemon.sh
clean-local:
- -find "$(GUIX_TEST_ROOT)" | xargs chmod +w
+ -if test -d "$(GUIX_TEST_ROOT)"; then \
+ find "$(GUIX_TEST_ROOT)" | xargs chmod +w; \
+ fi
-rm -rf "$(GUIX_TEST_ROOT)"
diff --git a/distro.scm b/distro.scm
index f91b0ee96b..c2d3d1fa40 100644
--- a/distro.scm
+++ b/distro.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro)
#:use-module (guix packages)
diff --git a/distro/packages/acl.scm b/distro/packages/acl.scm
index a16ee8f35c..068789b562 100644
--- a/distro/packages/acl.scm
+++ b/distro/packages/acl.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages acl)
#:use-module (guix licenses)
diff --git a/distro/packages/algebra.scm b/distro/packages/algebra.scm
new file mode 100644
index 0000000000..f348955094
--- /dev/null
+++ b/distro/packages/algebra.scm
@@ -0,0 +1,76 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages algebra)
+ #:use-module (distro)
+ #:use-module (distro packages multiprecision)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+
+(define-public mpfrcx
+ (package
+ (name "mpfrcx")
+ (version "0.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.multiprecision.org/mpfrcx/download/mpfrcx-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1rrc75chxyicqjgg5mfhgbz7p9mx1fgh0qlx14a82m25vfhifnd1"))))
+ (build-system gnu-build-system)
+ (inputs `(("gmp" ,gmp)
+ ("mpfr" ,mpfr)
+ ("mpc" ,mpc)))
+ (synopsis "mpfrcx, a library for the arithmetic of univariate polynomials
+over arbitrary precision real or complex numbers")
+ (description
+ "mpfrcx is a library for the arithmetic of univariate polynomials over
+arbitrary precision real (mpfr) or complex (mpc) numbers, without control
+on the rounding. For the time being, only the few functions needed to
+implement the floating point approach to complex multiplication are
+implemented. On the other hand, these comprise asymptotically fast
+multiplication routines such as Toom–Cook and the FFT. ")
+ (license lgpl2.1+)
+ (home-page "http://mpfrcx.multiprecision.org/")))
+
+
+(define-public fplll
+ (package
+ (name "fplll")
+ (version "4.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://perso.ens-lyon.fr/damien.stehle/fplll/libfplll-"
+ version ".tar.gz"))
+ (sha256 (base32
+ "122bpqdlikshhd7nmq0l5qfc0agyk7x21gvplv1l9hb77l8cy9rw"))))
+ (build-system gnu-build-system)
+ (inputs `(("gmp" ,gmp)
+ ("mpfr" ,mpfr)))
+ (synopsis "fplll, a library for LLL-reduction of euclidean lattices")
+ (description
+ "fplll LLL-reduces euclidean lattices. Since version 3, it can also
+solve the shortest vector problem.")
+ (license lgpl2.1+)
+ (home-page "http://perso.ens-lyon.fr/damien.stehle/fplll/")))
diff --git a/distro/packages/attr.scm b/distro/packages/attr.scm
index c61f4d7031..ae0d257dbe 100644
--- a/distro/packages/attr.scm
+++ b/distro/packages/attr.scm
@@ -1,21 +1,21 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages attr)
#:use-module (guix licenses)
diff --git a/distro/packages/autotools.scm b/distro/packages/autotools.scm
index 32e50a5b12..06568b2224 100644
--- a/distro/packages/autotools.scm
+++ b/distro/packages/autotools.scm
@@ -1,21 +1,21 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages autotools)
#:use-module (guix licenses)
@@ -62,7 +62,7 @@ can use, in the form of M4 macro calls.")
(define-public automake
(package
(name "automake")
- (version "1.12.5")
+ (version "1.12.6")
(source
(origin
(method url-fetch)
@@ -70,7 +70,7 @@ can use, in the form of M4 macro calls.")
version ".tar.xz"))
(sha256
(base32
- "1k4pa3rmj626n5d39rc9041dc71lv8nzd341k53dw07iflkwinim"))))
+ "1ynvca8z4aqcwr94rf7j1bfiid2w9w250y9qhnyj9vmi8lhsnd7q"))))
(build-system gnu-build-system)
(inputs
`(("autoconf" ,autoconf)
diff --git a/distro/packages/base.scm b/distro/packages/base.scm
index 63eea603ef..cb0cb0fd79 100644
--- a/distro/packages/base.scm
+++ b/distro/packages/base.scm
@@ -1,21 +1,21 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages base)
#:use-module (guix licenses)
diff --git a/distro/packages/bash.scm b/distro/packages/bash.scm
index 429a683920..0306c7197e 100644
--- a/distro/packages/bash.scm
+++ b/distro/packages/bash.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages bash)
#:use-module (guix licenses)
diff --git a/distro/packages/bdb.scm b/distro/packages/bdb.scm
new file mode 100644
index 0000000000..6d6adc000c
--- /dev/null
+++ b/distro/packages/bdb.scm
@@ -0,0 +1,55 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages bdb)
+ #:use-module (distro)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public bdb
+ (package
+ (name "bdb")
+ (version "5.3.21")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.oracle.com/berkeley-db/db-" version
+ ".tar.gz"))
+ (sha256 (base32
+ "1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx"))))
+ (build-system gnu-build-system)
+ (arguments
+ (lambda (system)
+ `(#:tests? #f ; no check target available
+ #:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (zero?
+ (system* "./dist/configure"
+ (string-append "--prefix=" out)))))
+ %standard-phases))))
+ (synopsis "db, the Berkeley database")
+ (description
+ "Berkeley DB is an embeddable database allowing developers the choice of
+SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
+ (license (bsd-style "file://LICENSE"
+ "See LICENSE in the distribution."))
+ (home-page "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
diff --git a/distro/packages/bdw-gc.scm b/distro/packages/bdw-gc.scm
index ea5470100d..5a397eaaa3 100644
--- a/distro/packages/bdw-gc.scm
+++ b/distro/packages/bdw-gc.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages bdw-gc)
#:use-module (guix licenses)
diff --git a/distro/packages/bison.scm b/distro/packages/bison.scm
index 2fc897fadf..b3111c30ab 100644
--- a/distro/packages/bison.scm
+++ b/distro/packages/bison.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages bison)
#:use-module (guix licenses)
diff --git a/distro/packages/bootstrap.scm b/distro/packages/bootstrap.scm
index 2d35d3cdce..9bf815b2d7 100644
--- a/distro/packages/bootstrap.scm
+++ b/distro/packages/bootstrap.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages bootstrap)
#:use-module (guix licenses)
diff --git a/distro/packages/check.scm b/distro/packages/check.scm
new file mode 100644
index 0000000000..dd2d588fc3
--- /dev/null
+++ b/distro/packages/check.scm
@@ -0,0 +1,49 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages check)
+ #:use-module (distro)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public check
+ (package
+ (name "check")
+ (version "0.9.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/check/"
+ version "/check-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jcahzrvxcnp5chdn2x46l0y4aba8d8yd70lljfin7h5knxrlyhs"))))
+ (build-system gnu-build-system)
+ (home-page "http://check.sourceforge.net/")
+ (synopsis
+ "Check, a unit testing framework for C")
+ (description
+ "Check is a unit testing framework for C. It features a simple
+interface for defining unit tests, putting little in the way of the
+developer. Tests are run in a separate address space, so Check can
+catch both assertion failures and code errors that cause segmentation
+faults or other signals. The output from unit tests can be used within
+source code editors and IDEs.")
+ (license lgpl2.1+)))
diff --git a/distro/packages/compression.scm b/distro/packages/compression.scm
index f85aa63f19..51a2d70e2d 100644
--- a/distro/packages/compression.scm
+++ b/distro/packages/compression.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages compression)
#:use-module ((guix licenses)
diff --git a/distro/packages/cpio.scm b/distro/packages/cpio.scm
index cb6d138ec5..07c0ec3f53 100644
--- a/distro/packages/cpio.scm
+++ b/distro/packages/cpio.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages cpio)
#:use-module (guix licenses)
diff --git a/distro/packages/ddrescue.scm b/distro/packages/ddrescue.scm
index cd302d144b..97bfd78309 100644
--- a/distro/packages/ddrescue.scm
+++ b/distro/packages/ddrescue.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages ddrescue)
#:use-module (guix licenses)
diff --git a/distro/packages/ed.scm b/distro/packages/ed.scm
index d3723d41f2..614b3ae645 100644
--- a/distro/packages/ed.scm
+++ b/distro/packages/ed.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages ed)
#:use-module (guix licenses)
diff --git a/distro/packages/flex.scm b/distro/packages/flex.scm
index cf3c69b12a..bbfb7f026e 100644
--- a/distro/packages/flex.scm
+++ b/distro/packages/flex.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages flex)
#:use-module (guix licenses)
diff --git a/distro/packages/gawk.scm b/distro/packages/gawk.scm
index d875386fc2..0acdbea3e8 100644
--- a/distro/packages/gawk.scm
+++ b/distro/packages/gawk.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages gawk)
#:use-module (guix licenses)
diff --git a/distro/packages/gdbm.scm b/distro/packages/gdbm.scm
index d62bb7491f..47f1b95e95 100644
--- a/distro/packages/gdbm.scm
+++ b/distro/packages/gdbm.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages gdbm)
#:use-module (guix licenses)
diff --git a/distro/packages/gettext.scm b/distro/packages/gettext.scm
index 1ceae119f9..e4d4acc615 100644
--- a/distro/packages/gettext.scm
+++ b/distro/packages/gettext.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages gettext)
#:use-module (guix licenses)
diff --git a/distro/packages/gnupg.scm b/distro/packages/gnupg.scm
index eb792e31e0..5fdf19187d 100644
--- a/distro/packages/gnupg.scm
+++ b/distro/packages/gnupg.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages gnupg)
#:use-module (guix licenses)
diff --git a/distro/packages/gnutls.scm b/distro/packages/gnutls.scm
index 65134bdded..3c5facd1f2 100644
--- a/distro/packages/gnutls.scm
+++ b/distro/packages/gnutls.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages gnutls)
#:use-module (guix licenses)
@@ -31,7 +31,7 @@
(define-public libtasn1
(package
(name "libtasn1")
- (version "3.0")
+ (version "3.2")
(source
(origin
(method url-fetch)
@@ -39,7 +39,7 @@
version ".tar.gz"))
(sha256
(base32
- "00czfs2hlxb1nrnqicvwpm4ybpwg3hg5yj0a2nf13zrgkfdlkjzi"))))
+ "0gvgndypwicchf7m660zh7jdgmkfj9g9xavpcc08pyd0120y0bk7"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/libtasn1/")
(synopsis "GNU Libtasn1, an ASN.1 library")
@@ -52,7 +52,7 @@ portable, and only require an ANSI C89 platform.")
(define-public gnutls
(package
(name "gnutls")
- (version "3.1.3")
+ (version "3.1.5")
(source
(origin
(method url-fetch)
@@ -62,7 +62,7 @@ portable, and only require an ANSI C89 platform.")
".tar.xz"))
(sha256
(base32
- "0fff9frz0ycbnppfn0w4a2s9x27k21l4hh9zbax3v7a8cg33dcpw"))))
+ "1lz05l19s64s5hmhc9fh48ip6izy80bdiv0pwkfg9fwwvn25j29g"))))
(build-system gnu-build-system)
;; Build of the Guile bindings is not parallel-safe. See
diff --git a/distro/packages/gperf.scm b/distro/packages/gperf.scm
index 509407398d..f1827e0a65 100644
--- a/distro/packages/gperf.scm
+++ b/distro/packages/gperf.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages gperf)
#:use-module (guix licenses)
diff --git a/distro/packages/gsasl.scm b/distro/packages/gsasl.scm
new file mode 100644
index 0000000000..43530b57ad
--- /dev/null
+++ b/distro/packages/gsasl.scm
@@ -0,0 +1,113 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages gsasl)
+ #:use-module (distro)
+ #:use-module ((distro packages compression)
+ #:renamer (symbol-prefix-proc 'guix:))
+ #:use-module (distro packages gnutls)
+ #:use-module (distro packages libidn)
+ #:use-module (distro packages nettle)
+ #:use-module (distro packages shishi)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public libntlm
+ (package
+ (name "libntlm")
+ (version "1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.nongnu.org/libntlm/releases/libntlm-" version
+ ".tar.gz"))
+ (sha256 (base32
+ "101pr110ardcj2di940g6vaqifsaxc44h6hjn81l63dvmkj5a6ga"))))
+ (build-system gnu-build-system)
+ (synopsis "Libntlm, a library that implements NTLM authentication")
+ (description
+ "Libntlm is a library that implements NTLM authentication")
+ (license lgpl2.1+)
+ (home-page "http://www.nongnu.org/libntlm/")))
+
+(define-public gss
+ (package
+ (name "gss")
+ (version "1.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gss/gss-" version
+ ".tar.gz"))
+ (sha256 (base32
+ "1qa8lbkzi6ilfggx7mchfzjnchvhwi68rck3jf9j4425ncz7zsd9"))))
+ (build-system gnu-build-system)
+ (inputs `(("nettle" ,nettle)
+ ("shishi" ,shishi)
+ ("zlib" ,guix:zlib)
+ ))
+ (synopsis "GNU GSS (Generic Security Service), a free implementatio of RFC 2743/2744")
+ (description
+ "GNU GSS is an implementation of the Generic Security Service Application
+Program Interface (GSS-API). GSS-API is used by network servers to provide
+security services, e.g., to authenticate SMTP/IMAP clients against
+SMTP/IMAP servers. GSS consists of a library and a manual.")
+ (license gpl3+)
+ (home-page "http://www.gnu.org/software/gss/")))
+
+(define-public gsasl
+ (package
+ (name "gsasl")
+ (version "1.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gsasl/gsasl-" version
+ ".tar.gz"))
+ (sha256 (base32
+ "1rci64cxvcfr8xcjpqc4inpfq7aw4snnsbf5xz7d30nhvv8n40ii"))))
+ (build-system gnu-build-system)
+ (inputs `(("libidn" ,libidn)
+ ("libntlm" ,libntlm)
+ ("gnutls" ,gnutls)
+ ("gss" ,gss)
+ ("zlib" ,guix:zlib)
+ ))
+ (synopsis "GNU SASL, an implementation of the Simple Authentication and Security Layer framework")
+ (description
+ "GNU SASL is an implementation of the Simple Authentication and Security
+Layer framework and a few common SASL mechanisms. SASL is used by network
+servers (e.g., IMAP, SMTP) to request authentication from clients, and in
+clients to authenticate against servers.
+
+GNU SASL consists of a library (libgsasl), a command line utility (gsasl)
+to access the library from the shell, and a manual. The library includes
+support for the framework (with authentication functions and application
+data privacy and integrity functions) and at least partial support for the
+CRAM-MD5, EXTERNAL, GSSAPI, ANONYMOUS, PLAIN, SECURID, DIGEST-MD5,
+SCRAM-SHA-1, SCRAM-SHA-1-PLUS, LOGIN, and NTLM mechanisms.
+
+The library is portable because it does not do network communication by
+itself, but rather leaves it up to the calling application. The library is
+flexible with regards to the authorization infrastructure used, as it
+utilises callbacks into the application to decide whether an user is
+authorised or not.
+
+The gsasl package distribution includes the library part as well,
+so there is no need to install two packages.")
+ (license gpl3+)
+ (home-page "http://www.gnu.org/software/gsasl/")))
diff --git a/distro/packages/guile.scm b/distro/packages/guile.scm
index 68c2fcc2ef..9964f9d9f0 100644
--- a/distro/packages/guile.scm
+++ b/distro/packages/guile.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages guile)
#:use-module (guix licenses)
diff --git a/distro/packages/help2man.scm b/distro/packages/help2man.scm
index 0c3dee24d1..191ef25c85 100644
--- a/distro/packages/help2man.scm
+++ b/distro/packages/help2man.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages help2man)
#:use-module (guix licenses)
diff --git a/distro/packages/idutils.scm b/distro/packages/idutils.scm
new file mode 100644
index 0000000000..f4c7005f99
--- /dev/null
+++ b/distro/packages/idutils.scm
@@ -0,0 +1,65 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages idutils)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix licenses)
+ #:use-module (distro))
+
+(define-public idutils
+ (package
+ (name "idutils")
+ (version "4.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/idutils/idutils-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))))
+ (build-system gnu-build-system)
+ (inputs `(;; TODO: Add Emacs as an input for byte-compilation.
+ ;; ("emacs" ,emacs)
+ ("patch/gets"
+ ,(search-patch "diffutils-gets-undeclared.patch"))))
+ (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets"))))
+ (home-page "http://www.gnu.org/software/idutils/")
+ (synopsis "GNU Idutils, a text searching utility")
+ (description
+ "An \"ID database\" is a binary file containing a list of file
+names, a list of tokens, and a sparse matrix indicating which
+tokens appear in which files.
+
+With this database and some tools to query it, many
+text-searching tasks become simpler and faster. For example,
+you can list all files that reference a particular `\\#include'
+file throughout a huge source hierarchy, search for all the
+memos containing references to a project, or automatically
+invoke an editor on all files containing references to some
+function or variable. Anyone with a large software project to
+maintain, or a large set of text files to organize, can benefit
+from the ID utilities.
+
+Although the name `ID' is short for `identifier', the ID
+utilities handle more than just identifiers; they also treat
+other kinds of tokens, most notably numeric constants, and the
+contents of certain character strings.")
+ (license gpl3+)))
diff --git a/distro/packages/less.scm b/distro/packages/less.scm
index 59c4149aad..1f05b50e1e 100644
--- a/distro/packages/less.scm
+++ b/distro/packages/less.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages less)
#:use-module (guix licenses)
diff --git a/distro/packages/libffi.scm b/distro/packages/libffi.scm
index c2ab94cf43..0900a43cb4 100644
--- a/distro/packages/libffi.scm
+++ b/distro/packages/libffi.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages libffi)
#:use-module (guix licenses)
diff --git a/distro/packages/libidn.scm b/distro/packages/libidn.scm
new file mode 100644
index 0000000000..dbae143b3a
--- /dev/null
+++ b/distro/packages/libidn.scm
@@ -0,0 +1,51 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages libidn)
+ #:use-module (distro)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public libidn
+ (package
+ (name "libidn")
+ (version "1.26")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/libidn/libidn-" version
+ ".tar.gz"))
+ (sha256 (base32
+ "0g657kv60rh486m7bwyp5k24ljmym4wnb8nmk6d3i3qgr1qlqbqa"))))
+ (build-system gnu-build-system)
+;; FIXME: No Java and C# libraries are currently built.
+ (synopsis "GNU Libidn, a library to encode and decode internationalised domain names")
+ (description
+ "GNU Libidn is a fully documented implementation of the Stringprep,
+Punycode and IDNA specifications. Libidn's purpose is to encode and decode
+internationalised domain names.
+
+The library contains a generic Stringprep implementation. Profiles for
+Nameprep, iSCSI, SASL, XMPP and Kerberos V5 are included. Punycode and
+ASCII Compatible Encoding (ACE) via IDNA are supported. A mechanism to
+define Top-Level Domain (TLD) specific validation tables, and to compare
+strings against those tables, is included.
+Default tables for some TLDs are also included.")
+ (license lgpl2.1+)
+ (home-page "http://www.gnu.org/software/libidn/")))
diff --git a/distro/packages/libsigsegv.scm b/distro/packages/libsigsegv.scm
index f45c2c585e..07185186a5 100644
--- a/distro/packages/libsigsegv.scm
+++ b/distro/packages/libsigsegv.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages libsigsegv)
#:use-module (guix licenses)
diff --git a/distro/packages/libunistring.scm b/distro/packages/libunistring.scm
index 7b19e7f9f6..1359f9d488 100644
--- a/distro/packages/libunistring.scm
+++ b/distro/packages/libunistring.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages libunistring)
#:use-module (guix licenses)
diff --git a/distro/packages/libusb.scm b/distro/packages/libusb.scm
new file mode 100644
index 0000000000..eb7edb40e1
--- /dev/null
+++ b/distro/packages/libusb.scm
@@ -0,0 +1,44 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages libusb)
+ #:use-module (distro)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public libusb
+ (package
+ (name "libusb")
+ (version "1.0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/libusb/libusb-1.0/"
+ "libusb-" version "/libusb-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "16sz34ix6hw2wwl3kqx6rf26fg210iryr68wc439dc065pffw879"))))
+ (build-system gnu-build-system)
+ (home-page "http://www.libusb.org")
+ (synopsis "Libusb, a user-space USB library")
+ (description
+ "Libusb is a library that gives applications easy access to USB
+devices on various operating systems.")
+ (license lgpl2.1+))) \ No newline at end of file
diff --git a/distro/packages/linux.scm b/distro/packages/linux.scm
index bbb583455c..a40cc27c3e 100644
--- a/distro/packages/linux.scm
+++ b/distro/packages/linux.scm
@@ -1,30 +1,31 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages linux)
#:use-module (guix licenses)
#:use-module ((distro packages compression)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (distro packages flex)
+ #:use-module (distro packages libusb)
#:use-module (distro packages ncurses)
#:use-module (distro packages perl)
- #:use-module (distro packages ncurses)
+ #:use-module (distro packages pkg-config)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
@@ -176,3 +177,25 @@ providing the system administrator with some help in common tasks.")
;; explicitly defined license.
(license '(gpl3+ gpl2+ gpl2 lgpl2.0+
bsd-4 public-domain))))
+
+(define-public usbutils
+ (package
+ (name "usbutils")
+ (version "006")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kernel.org/linux/utils/usb/usbutils/"
+ "usbutils-" version ".tar.xz"))
+ (sha256
+ (base32
+ "03pd57vv8c6x0hgjqcbrxnzi14h8hcghmapg89p8k5zpwpkvbdfr"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libusb" ,libusb) ("pkg-config" ,pkg-config)))
+ (home-page "http://www.linux-usb.org/")
+ (synopsis
+ "Tools for working with USB devices, such as lsusb")
+ (description
+ "Tools for working with USB devices, such as lsusb.")
+ (license gpl2+)))
diff --git a/distro/packages/lout.scm b/distro/packages/lout.scm
index 85a363e963..d3ff390b46 100644
--- a/distro/packages/lout.scm
+++ b/distro/packages/lout.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages lout)
#:use-module (guix licenses)
diff --git a/distro/packages/lsh.scm b/distro/packages/lsh.scm
index 8f44967726..d2c2d9082d 100644
--- a/distro/packages/lsh.scm
+++ b/distro/packages/lsh.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages lsh)
#:use-module (guix licenses)
diff --git a/distro/packages/m4.scm b/distro/packages/m4.scm
index ec0e1a868c..7f2bed3ab7 100644
--- a/distro/packages/m4.scm
+++ b/distro/packages/m4.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages m4)
#:use-module (guix licenses)
diff --git a/distro/packages/make-bootstrap.scm b/distro/packages/make-bootstrap.scm
index ea889d062b..b1d74ec5d6 100644
--- a/distro/packages/make-bootstrap.scm
+++ b/distro/packages/make-bootstrap.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages make-bootstrap)
#:use-module (guix utils)
diff --git a/distro/packages/mit-krb5.scm b/distro/packages/mit-krb5.scm
new file mode 100644
index 0000000000..13250ff95b
--- /dev/null
+++ b/distro/packages/mit-krb5.scm
@@ -0,0 +1,69 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages mit-krb5)
+ #:use-module (distro)
+ #:use-module (distro packages bison)
+ #:use-module (distro packages perl)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public mit-krb5
+ (package
+ (name "mit-krb5")
+ (version "1.11")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://web.mit.edu/kerberos/www/dist/krb5/"
+ version
+ "/krb5-" version
+ "-signed.tar"))
+ (sha256 (base32
+ "0lc6lxb98qzg4x01lppq700vkr1ax9rld09znahrinwqnf9zndzy"))))
+ (build-system gnu-build-system)
+ (inputs `(("bison" ,bison)
+ ("perl" ,perl)
+ ))
+ (arguments
+ (lambda (system)
+ `(#:tests? #f
+ #:phases
+ (alist-replace
+ 'unpack
+ (lambda* (#:key source #:allow-other-keys)
+ (system* "echo" source)
+ (let ((inner
+ (substring source
+ (string-index-right source #\k)
+ (string-index-right source #\-))))
+ (system* "echo" inner)
+ (and (zero? (system* "tar" "xvf" source))
+ (zero? (system* "tar" "xvf" (string-append inner ".tar.gz")))
+ (chdir inner)
+ (chdir "src"))))
+ %standard-phases))))
+ (synopsis "MIT Kerberos 5")
+ (description
+ "Massachusetts Institute of Technology implementation of Kerberos.
+Kerberos is a network authentication protocol designed to provide strong
+authentication for client/server applications by using secret-key cryptography.")
+ (license (bsd-style "file://NOTICE"
+ "See NOTICE in the distribution."))
+ (home-page "http://web.mit.edu/kerberos/")))
diff --git a/distro/packages/multiprecision.scm b/distro/packages/multiprecision.scm
index cef09b8df8..40550ee65d 100644
--- a/distro/packages/multiprecision.scm
+++ b/distro/packages/multiprecision.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages multiprecision)
#:use-module (guix licenses)
diff --git a/distro/packages/nano.scm b/distro/packages/nano.scm
index 1af33aa33b..f51702f4f2 100644
--- a/distro/packages/nano.scm
+++ b/distro/packages/nano.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages nano)
#:use-module (guix licenses)
diff --git a/distro/packages/ncurses.scm b/distro/packages/ncurses.scm
index 62f957ef13..938d1dc2c4 100644
--- a/distro/packages/ncurses.scm
+++ b/distro/packages/ncurses.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages ncurses)
#:use-module (guix licenses)
diff --git a/distro/packages/nettle.scm b/distro/packages/nettle.scm
index e947780781..9bf7599039 100644
--- a/distro/packages/nettle.scm
+++ b/distro/packages/nettle.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages nettle)
#:use-module (guix licenses)
diff --git a/distro/packages/perl.scm b/distro/packages/perl.scm
index c4bfb6b260..b6357875b6 100644
--- a/distro/packages/perl.scm
+++ b/distro/packages/perl.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages perl)
#:use-module (guix licenses)
diff --git a/distro/packages/pkg-config.scm b/distro/packages/pkg-config.scm
index 41efdbe12c..499e3fdc86 100644
--- a/distro/packages/pkg-config.scm
+++ b/distro/packages/pkg-config.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages pkg-config)
#:use-module (guix licenses)
diff --git a/distro/packages/pth.scm b/distro/packages/pth.scm
index 7934e9fbb9..4c52079544 100644
--- a/distro/packages/pth.scm
+++ b/distro/packages/pth.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages pth)
#:use-module (guix licenses)
diff --git a/distro/packages/readline.scm b/distro/packages/readline.scm
index 8e2a4cbb5d..5498f15b52 100644
--- a/distro/packages/readline.scm
+++ b/distro/packages/readline.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages readline)
#:use-module (guix licenses)
diff --git a/distro/packages/recutils.scm b/distro/packages/recutils.scm
index 930f3885b7..72f56917d5 100644
--- a/distro/packages/recutils.scm
+++ b/distro/packages/recutils.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages recutils)
#:use-module (guix licenses)
diff --git a/distro/packages/rsync.scm b/distro/packages/rsync.scm
new file mode 100644
index 0000000000..8dc0acb118
--- /dev/null
+++ b/distro/packages/rsync.scm
@@ -0,0 +1,51 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages rsync)
+ #:use-module (distro)
+ #:use-module (distro packages perl)
+ #:use-module (distro packages acl)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+
+(define-public rsync
+ (package
+ (name "rsync")
+ (version "3.0.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://rsync.samba.org/ftp/rsync/rsync-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "01bw4klqsrlhh3i9lazd485sd9qx5djvnwa21lj2h3a9sn6hzw9h"))))
+ (build-system gnu-build-system)
+ (inputs `(("perl" ,perl)
+ ("acl" ,acl)))
+ (synopsis "rsync, a remote (and local) file copying tool")
+ (description
+ "rsync is a fast and versatile file copying tool. It can copy locally,
+to/from another host over any remote shell, or to/from a remote rsync daemon.
+Its delta-transfer algorithm reduces the amount of data sent over the network
+by sending only the differences between the source files and the existing
+files in the destination.")
+ (license gpl3+)
+ (home-page "http://rsync.samba.org/")))
diff --git a/distro/packages/shishi.scm b/distro/packages/shishi.scm
index 78ec727a36..acbb1ed5c0 100644
--- a/distro/packages/shishi.scm
+++ b/distro/packages/shishi.scm
@@ -1,21 +1,21 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages shishi)
#:use-module (guix licenses)
diff --git a/distro/packages/system.scm b/distro/packages/system.scm
index 608b233a94..f2a031ccd7 100644
--- a/distro/packages/system.scm
+++ b/distro/packages/system.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages system)
#:use-module (guix licenses)
diff --git a/distro/packages/texinfo.scm b/distro/packages/texinfo.scm
index 594f29cb70..99925eeb53 100644
--- a/distro/packages/texinfo.scm
+++ b/distro/packages/texinfo.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages texinfo)
#:use-module (guix licenses)
diff --git a/distro/packages/time.scm b/distro/packages/time.scm
index 7215ab4fb3..b7eaec0c21 100644
--- a/distro/packages/time.scm
+++ b/distro/packages/time.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages time)
#:use-module (guix licenses)
diff --git a/distro/packages/wget.scm b/distro/packages/wget.scm
index 710cb4c7d8..08b16f167b 100644
--- a/distro/packages/wget.scm
+++ b/distro/packages/wget.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages wget)
#:use-module (guix licenses)
diff --git a/distro/packages/which.scm b/distro/packages/which.scm
index 3f3a05f452..8cdd36841c 100644
--- a/distro/packages/which.scm
+++ b/distro/packages/which.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages which)
#:use-module (guix licenses)
diff --git a/distro/packages/zile.scm b/distro/packages/zile.scm
index 8650852bab..9eae6d4b9f 100644
--- a/distro/packages/zile.scm
+++ b/distro/packages/zile.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (distro packages zile)
#:use-module (guix licenses)
diff --git a/doc/guix.texi b/doc/guix.texi
index 21f6d87b3a..2ca1496bac 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -43,7 +43,7 @@ Documentation License''.
@copying
This manual documents GNU Guix version @value{VERSION}.
-Copyright (C) 2012 Ludovic Courtès
+Copyright (C) 2012, 2013 Ludovic Courtès
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -133,6 +133,7 @@ management tools it provides.
@menu
* Features:: How Guix will make your life brighter.
* Invoking guix-package:: Package installation, removal, etc.
+* Invoking guix-gc:: Running the garbage collector.
@end menu
@node Features
@@ -172,9 +173,10 @@ of their profile, which was known to work well.
All those packages in the package store may be @emph{garbage-collected}.
Guix can determine which packages are still referenced by the user
-profiles, and remove those that are provably no longer referenced.
-Users may also explicitly remove old generations of their profile so
-that the packages they refer to can be collected.
+profiles, and remove those that are provably no longer referenced
+(@pxref{Invoking guix-gc}). Users may also explicitly remove old
+generations of their profile so that the packages they refer to can be
+collected.
Finally, Guix takes a @dfn{purely functional} approach to package
management, as described in the introduction (@pxref{Introduction}).
@@ -275,6 +277,53 @@ its version string, and the source location of its definition.
@end table
+@node Invoking guix-gc
+@section Invoking @command{guix-gc}
+
+@cindex garbage collector
+Packages that are installed but not used may be @dfn{garbage-collected}.
+The @command{guix-gc} command allows users to explicitly run the garbage
+collector to reclaim space from the @file{/nix/store} directory.
+
+The garbage collector has a set of known @dfn{roots}: any file under
+@file{/nix/store} reachable from a root is considered @dfn{live} and
+cannot be deleted; any other file is considered @dfn{dead} and may be
+deleted. The set of garbage collector roots includes default user
+profiles, and may be augmented with @command{guix-build --root}, for
+example (@pxref{Invoking guix-build}).
+
+The @command{guix-gc} command has three mode of operations: it can be
+used to garbage-collect any dead files (the default), to delete specific
+files (the @code{--delete} option), or to print garbage-collector
+information. The available options are listed below:
+
+@table @code
+@item --collect-garbage[=@var{min}]
+@itemx -C [@var{min}]
+Collect garbage---i.e., unreachable @file{/nix/store} files and
+sub-directories. This is the default operation when no option is
+specified.
+
+When @var{min} is given, stop once @var{min} bytes have been collected.
+@var{min} may be a number of bytes, or it may include a unit as a
+suffix, such as @code{MiB} for mebibytes and @code{GB} for gigabytes.
+
+When @var{min} is omitted, collect all the garbage.
+
+@item --delete
+@itemx -d
+Attempt to delete all the store files and directories specified as
+arguments. This fails if some of the files are not in the store, or if
+they are still live.
+
+@item --list-dead
+Show the list of dead files and directories still present in the
+store---i.e., files and directories no longer reachable from any root.
+
+@item --list-live
+Show the list of live store files and directories.
+@end table
+
@c *********************************************************************
@node Programming Interface
diff --git a/guix-build.in b/guix-build.in
index 5136a2a5e4..abfab2bbbe 100644
--- a/guix-build.in
+++ b/guix-build.in
@@ -11,23 +11,23 @@ main='(module-ref (resolve-interface '\''(guix-build)) '\'guix-build')'
exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \
-c "(apply $main (cdr (command-line)))" "$@"
!#
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix-build)
#:use-module (guix ui)
@@ -104,8 +104,7 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"))
(display (_ "
-V, --version display version information and exit"))
(newline)
- (format #t (_ "
-Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@"))
+ (show-bug-report-information))
(define %options
;; Specifications of the command-line options.
@@ -172,27 +171,24 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@"))
(alist-cons 'argument arg result))
%default-options))
- (define (register-root drv root)
- ;; Register ROOT as an indirect GC root for DRV's outputs.
- (let* ((root (string-append (canonicalize-path (dirname root))
- "/" root))
- (drv* (call-with-input-file drv read-derivation))
- (outputs (derivation-outputs drv*))
- (outputs* (map (compose derivation-output-path cdr) outputs)))
+ (define (register-root paths root)
+ ;; Register ROOT as an indirect GC root for all of PATHS.
+ (let* ((root (string-append (canonicalize-path (dirname root))
+ "/" root)))
(catch 'system-error
(lambda ()
- (match outputs*
- ((output)
- (symlink output root)
+ (match paths
+ ((path)
+ (symlink path root)
(add-indirect-root (%store) root))
- ((outputs ...)
- (fold (lambda (output count)
+ ((paths ...)
+ (fold (lambda (path count)
(let ((root (string-append root "-" (number->string count))))
- (symlink output root)
+ (symlink path root)
(add-indirect-root (%store) root))
(+ 1 count))
0
- outputs))))
+ paths))))
(lambda args
(format (current-error-port)
(_ "failed to create GC root `~a': ~a~%")
@@ -235,7 +231,11 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@"))
(append (remove (compose (cut valid-path? (%store) <>)
derivation-path->output-path)
drv)
- (map derivation-input-path req)))))
+ (map derivation-input-path req))))
+ (roots (filter-map (match-lambda
+ (('gc-root . root) root)
+ (_ #f))
+ opts)))
(if (assoc-ref opts 'dry-run?)
(format (current-error-port)
(N_ "~:[the following derivation would be built:~%~{ ~a~%~}~;~]"
@@ -256,7 +256,10 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@"))
#:verbosity (assoc-ref opts 'verbosity))
(if (assoc-ref opts 'derivations-only?)
- (format #t "~{~a~%~}" drv)
+ (begin
+ (format #t "~{~a~%~}" drv)
+ (for-each (cut register-root <> <>)
+ (map list drv) roots))
(or (assoc-ref opts 'dry-run?)
(and (build-derivations (%store) drv)
(for-each (lambda (d)
@@ -269,15 +272,12 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@"))
d out-name)))
(derivation-outputs drv)))))
drv)
- (let ((roots (filter-map (match-lambda
- (('gc-root . root)
- root)
- (_ #f))
- opts)))
- (when roots
- (for-each (cut register-root <> <>)
- drv roots)
- #t))))))))))
+ (for-each (cut register-root <> <>)
+ (map (lambda (drv)
+ (map cdr
+ (derivation-path->output-paths drv)))
+ drv)
+ roots)))))))))
;; Local Variables:
;; eval: (put 'guard 'scheme-indent-function 1)
diff --git a/guix-download.in b/guix-download.in
index f76396b97c..f8859618d7 100644
--- a/guix-download.in
+++ b/guix-download.in
@@ -11,23 +11,23 @@ main='(module-ref (resolve-interface '\''(guix-download)) '\'guix-download')'
exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \
-c "(apply $main (cdr (command-line)))" "$@"
!#
-;;; Guix --- Nix package management from Guile.
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix-download)
#:use-module (guix ui)
@@ -90,8 +90,7 @@ and the hash of its contents.\n"))
(display (_ "
-V, --version display version information and exit"))
(newline)
- (format #t (_ "
-Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@"))
+ (show-bug-report-information))
(define %options
;; Specifications of the command-line options.
diff --git a/guix-gc.in b/guix-gc.in
new file mode 100644
index 0000000000..ab7ce3214f
--- /dev/null
+++ b/guix-gc.in
@@ -0,0 +1,183 @@
+#!/bin/sh
+# aside from this initial boilerplate, this is actually -*- scheme -*- code
+
+prefix="@prefix@"
+datarootdir="@datarootdir@"
+
+GUILE_LOAD_COMPILED_PATH="@guilemoduledir@:$GUILE_LOAD_COMPILED_PATH"
+export GUILE_LOAD_COMPILED_PATH
+
+main='(module-ref (resolve-interface '\''(guix-gc)) '\'guix-gc')'
+exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \
+ -c "(apply $main (cdr (command-line)))" "$@"
+!#
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix-gc)
+ #:use-module (guix ui)
+ #:use-module (guix store)
+ #:use-module (ice-9 match)
+ #:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-26)
+ #:use-module (srfi srfi-37)
+ #:export (guix-gc))
+
+
+;;;
+;;; Command-line options.
+;;;
+
+(define %default-options
+ ;; Alist of default option values.
+ `((action . collect-garbage)))
+
+(define (show-help)
+ (display (_ "Usage: guix-gc [OPTION]... PATHS...
+Invoke the garbage collector.\n"))
+ (display (_ "
+ -C, --collect-garbage[=MIN]
+ collect at least MIN bytes of garbage"))
+ (display (_ "
+ -d, --delete attempt to delete PATHS"))
+ (display (_ "
+ --list-dead list dead paths"))
+ (display (_ "
+ --list-live list live paths"))
+ (newline)
+ (display (_ "
+ -h, --help display this help and exit"))
+ (display (_ "
+ -V, --version display version information and exit"))
+ (newline)
+ (show-bug-report-information))
+
+(define (size->number str)
+ "Convert STR, a storage measurement representation such as \"1024\" or
+\"1MiB\", to a number of bytes. Raise an error if STR could not be
+interpreted."
+ (define unit-pos
+ (string-rindex str char-set:digit))
+
+ (define unit
+ (and unit-pos (substring str (+ 1 unit-pos))))
+
+ (let* ((numstr (if unit-pos
+ (substring str 0 (+ 1 unit-pos))
+ str))
+ (num (string->number numstr)))
+ (if num
+ (* num
+ (match unit
+ ("KiB" (expt 2 10))
+ ("MiB" (expt 2 20))
+ ("GiB" (expt 2 30))
+ ("TiB" (expt 2 40))
+ ("KB" (expt 10 3))
+ ("MB" (expt 10 6))
+ ("GB" (expt 10 9))
+ ("TB" (expt 10 12))
+ ("" 1)
+ (_
+ (format (current-error-port) (_ "error: unknown unit: ~a~%")
+ unit)
+ (exit 1))))
+ (begin
+ (format (current-error-port)
+ (_ "error: invalid number: ~a") numstr)
+ (exit 1)))))
+
+(define %options
+ ;; Specification of the command-line options.
+ (list (option '(#\h "help") #f #f
+ (lambda args
+ (show-help)
+ (exit 0)))
+ (option '(#\V "version") #f #f
+ (lambda args
+ (show-version-and-exit "guix-gc")))
+
+ (option '(#\C "collect-garbage") #f #t
+ (lambda (opt name arg result)
+ (let ((result (alist-cons 'action 'collect-garbage
+ (alist-delete 'action result))))
+ (match arg
+ ((? string?)
+ (let ((amount (size->number arg)))
+ (if arg
+ (alist-cons 'min-freed amount result)
+ (begin
+ (format (current-error-port)
+ (_ "error: invalid amount of storage: ~a~%")
+ arg)
+ (exit 1)))))
+ (#f result)))))
+ (option '(#\d "delete") #f #f
+ (lambda (opt name arg result)
+ (alist-cons 'action 'delete
+ (alist-delete 'action result))))
+ (option '("list-dead") #f #f
+ (lambda (opt name arg result)
+ (alist-cons 'action 'list-dead
+ (alist-delete 'action result))))
+ (option '("list-live") #f #f
+ (lambda (opt name arg result)
+ (alist-cons 'action 'list-live
+ (alist-delete 'action result))))))
+
+
+;;;
+;;; Entry point.
+;;;
+
+(define (guix-gc . args)
+ (define (parse-options)
+ ;; Return the alist of option values.
+ (args-fold args %options
+ (lambda (opt name arg result)
+ (leave (_ "~A: unrecognized option~%") name))
+ (lambda (arg result)
+ (alist-cons 'argument arg result))
+ %default-options))
+
+ (setlocale LC_ALL "")
+ (textdomain "guix")
+ (setvbuf (current-output-port) _IOLBF)
+ (setvbuf (current-error-port) _IOLBF)
+
+ (with-error-handling
+ (let ((opts (parse-options))
+ (store (open-connection)))
+ (case (assoc-ref opts 'action)
+ ((collect-garbage)
+ (let ((min-freed (assoc-ref opts 'min-freed)))
+ (if min-freed
+ (collect-garbage store min-freed)
+ (collect-garbage store))))
+ ((delete)
+ (let ((paths (filter-map (match-lambda
+ (('argument . arg) arg)
+ (_ #f))
+ opts)))
+ (delete-paths store paths)))
+ ((list-dead)
+ (for-each (cut simple-format #t "~a~%" <>)
+ (dead-paths store)))
+ ((list-live)
+ (for-each (cut simple-format #t "~a~%" <>)
+ (live-paths store)))))))
diff --git a/guix-import.in b/guix-import.in
index 5dc93708b4..af5c5897e0 100644
--- a/guix-import.in
+++ b/guix-import.in
@@ -11,23 +11,23 @@ main='(module-ref (resolve-interface '\''(guix-import)) '\'guix-import')'
exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \
-c "(apply $main (cdr (command-line)))" "$@"
!#
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix-import)
#:use-module (guix ui)
@@ -88,8 +88,7 @@ Import and convert the Nix expression ATTRIBUTE of NIXPKGS.\n"))
(display (_ "
-V, --version display version information and exit"))
(newline)
- (format #t (_ "
-Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@"))
+ (show-bug-report-information))
(define %options
;; Specification of the command-line options.
diff --git a/guix-package.in b/guix-package.in
index fee1a39b2f..4dc625778b 100644
--- a/guix-package.in
+++ b/guix-package.in
@@ -11,23 +11,23 @@ main='(module-ref (resolve-interface '\''(guix-package)) '\'guix-package')'
exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \
-c "(apply $main (cdr (command-line)))" "$@"
!#
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix-package)
#:use-module (guix ui)
@@ -217,8 +217,7 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n"))
(display (_ "
-V, --version display version information and exit"))
(newline)
- (format #t (_ "
-Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@"))
+ (show-bug-report-information))
(define %options
;; Specification of the command-line options.
diff --git a/guix.scm b/guix.scm
index 9efc6e7139..1b7fd0c5a2 100644
--- a/guix.scm
+++ b/guix.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix))
diff --git a/guix/base32.scm b/guix/base32.scm
index 6f0a92bd99..e0599dc01e 100644
--- a/guix/base32.scm
+++ b/guix/base32.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix base32)
#:use-module (srfi srfi-1)
diff --git a/guix/build-system.scm b/guix/build-system.scm
index 179e7ef2df..0df5e4362b 100644
--- a/guix/build-system.scm
+++ b/guix/build-system.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix build-system)
#:use-module (guix utils)
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index 4d7ecd54de..a3a770f631 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix build-system gnu)
#:use-module (guix store)
diff --git a/guix/build-system/trivial.scm b/guix/build-system/trivial.scm
index 3598018749..866657fdf6 100644
--- a/guix/build-system/trivial.scm
+++ b/guix/build-system/trivial.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix build-system trivial)
#:use-module (guix store)
diff --git a/guix/build/download.scm b/guix/build/download.scm
index 5813ea81ea..27f5557692 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -60,15 +60,18 @@ which is not available during bootstrap."
((http) 80) ; /etc/services, not for me!
(else
(error "unsupported URI scheme" uri))))))
- (getaddrinfo (uri-host uri)
- (number->string port)
- AI_NUMERICSERV)))
+ (delete-duplicates (getaddrinfo (uri-host uri)
+ (number->string port)
+ AI_NUMERICSERV)
+ (lambda (ai1 ai2)
+ (equal? (addrinfo:addr ai1)
+ (addrinfo:addr ai2))))))
(let loop ((addresses addresses))
(let* ((ai (car addresses))
(s (with-fluids ((%default-port-encoding #f))
- (socket (addrinfo:fam ai) (addrinfo:socktype ai)
- (addrinfo:protocol ai)))))
+ ;; Restrict ourselves to TCP.
+ (socket (addrinfo:fam ai) SOCK_STREAM IPPROTO_IP))))
(catch 'system-error
(lambda ()
(connect s (addrinfo:addr ai))
@@ -81,7 +84,7 @@ which is not available during bootstrap."
(lambda args
;; Connection failed, so try one of the other addresses.
(close s)
- (if (null? addresses)
+ (if (null? (cdr addresses))
(apply throw args)
(loop (cdr addresses))))))))
diff --git a/guix/config.scm.in b/guix/config.scm.in
index c5ebd39fae..ab7b0669b8 100644
--- a/guix/config.scm.in
+++ b/guix/config.scm.in
@@ -1,25 +1,26 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix config)
#:export (%guix-package-name
%guix-version
%guix-bug-report-address
+ %guix-home-page-url
%store-directory
%state-directory
%system
@@ -42,6 +43,9 @@
(define %guix-bug-report-address
"@PACKAGE_BUGREPORT@")
+(define %guix-home-page-url
+ "@PACKAGE_URL@")
+
(define %store-directory
"@storedir@")
diff --git a/guix/derivations.scm b/guix/derivations.scm
index 6fbce14da0..7b131955b0 100644
--- a/guix/derivations.scm
+++ b/guix/derivations.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix derivations)
#:use-module (srfi srfi-1)
@@ -55,6 +55,7 @@
read-derivation
write-derivation
derivation-path->output-path
+ derivation-path->output-paths
derivation
%guile-for-build
@@ -288,6 +289,16 @@ path of its output OUTPUT."
(outputs (derivation-outputs drv)))
(and=> (assoc-ref outputs output) derivation-output-path)))))
+(define (derivation-path->output-paths path)
+ "Read the derivation from PATH (`/nix/store/xxx.drv'), and return the
+list of name/path pairs of its outputs."
+ (let* ((drv (call-with-input-file path read-derivation))
+ (outputs (derivation-outputs drv)))
+ (map (match-lambda
+ ((name . output)
+ (cons name (derivation-output-path output))))
+ outputs)))
+
;;;
;;; Derivation primitive.
diff --git a/guix/download.scm b/guix/download.scm
index b21f6f5533..3372567b47 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix download)
#:use-module (ice-9 match)
@@ -83,8 +83,7 @@
"http://dfn.dl.sourceforge.net/sourceforge/"
"http://mesh.dl.sourceforge.net/sourceforge/"
"http://ovh.dl.sourceforge.net/sourceforge/"
- "http://osdn.dl.sourceforge.net/sourceforge/"
- "http://kent.dl.sourceforge.net/sourceforge/")
+ "http://osdn.dl.sourceforge.net/sourceforge/")
(kernel.org
"http://www.all.kernel.org/pub/"
"http://ramses.wh2.tu-dresden.de/pub/mirrors/kernel.org/"
diff --git a/guix/ftp-client.scm b/guix/ftp-client.scm
index 67c8472c7d..7e241f37b2 100644
--- a/guix/ftp-client.scm
+++ b/guix/ftp-client.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2010, 2011, 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2010, 2011, 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix ftp-client)
#:use-module (srfi srfi-1)
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index 2035e44fdb..87ef427481 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -1,21 +1,21 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix gnu-maintenance)
#:use-module (web uri)
diff --git a/guix/licenses.scm b/guix/licenses.scm
index cc2369bb8e..384d14d046 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -1,21 +1,21 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix licenses)
#:use-module (srfi srfi-9)
diff --git a/guix/packages.scm b/guix/packages.scm
index f7e3f21337..384db6d362 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix packages)
#:use-module (guix utils)
diff --git a/guix/snix.scm b/guix/snix.scm
index a5b8447470..c90893bdfe 100644
--- a/guix/snix.scm
+++ b/guix/snix.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2010, 2011, 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2010, 2011, 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix snix)
#:use-module (sxml ssax)
diff --git a/guix/store.scm b/guix/store.scm
index a8dd566355..2ddb17684c 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix store)
#:use-module (guix utils)
diff --git a/guix/ui.scm b/guix/ui.scm
index 4fc0dd089a..761b1ce444 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix ui)
#:use-module (guix utils)
@@ -28,6 +28,7 @@
N_
leave
show-version-and-exit
+ show-bug-report-information
call-with-error-handling
with-error-handling
location->string))
@@ -56,6 +57,15 @@
command %guix-package-name %guix-version)
(exit 0))
+(define (show-bug-report-information)
+ (format #t (_ "
+Report bugs to: ~a.") %guix-bug-report-address)
+ (format #t (_ "
+~a home page: <~a>") %guix-package-name %guix-home-page-url)
+ (display (_ "
+General help using GNU software: <http://www.gnu.org/gethelp/>"))
+ (newline))
+
(define (call-with-error-handling thunk)
"Call THUNK within a user-friendly error handler."
(guard (c ((package-input-error? c)
diff --git a/guix/utils.scm b/guix/utils.scm
index ad50c20cce..4d761f590d 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix utils)
#:use-module (guix config)
diff --git a/hydra.scm b/hydra.scm
index 537e26aa84..e350f286af 100644
--- a/hydra.scm
+++ b/hydra.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; This file defines build jobs for the Hydra continuation integration
diff --git a/nix/libutil/gcrypt-hash.cc b/nix/libutil/gcrypt-hash.cc
index de7e5afc1a..b364a5747a 100644
--- a/nix/libutil/gcrypt-hash.cc
+++ b/nix/libutil/gcrypt-hash.cc
@@ -1,20 +1,20 @@
-/* Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
+/* GNU Guix --- Functional package management for GNU
Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
- This file is part of Guix.
+ This file is part of GNU Guix.
- Guix is free software; you can redistribute it and/or modify it
+ GNU Guix is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
your option) any later version.
- Guix is distributed in the hope that it will be useful, but
+ GNU Guix is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with Guix. If not, see <http://www.gnu.org/licenses/>. */
+ along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
diff --git a/nix/libutil/gcrypt-hash.hh b/nix/libutil/gcrypt-hash.hh
index 1e26398540..d2d40d5fb2 100644
--- a/nix/libutil/gcrypt-hash.hh
+++ b/nix/libutil/gcrypt-hash.hh
@@ -1,20 +1,20 @@
-/* Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
+/* GNU Guix --- Functional package management for GNU
Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
- This file is part of Guix.
+ This file is part of GNU Guix.
- Guix is free software; you can redistribute it and/or modify it
+ GNU Guix is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
your option) any later version.
- Guix is distributed in the hope that it will be useful, but
+ GNU Guix is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with Guix. If not, see <http://www.gnu.org/licenses/>. */
+ along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */
/* An OpenSSL-like interface to GNU libgcrypt cryptographic hash
functions. */
diff --git a/nix/libutil/md5.h b/nix/libutil/md5.h
index 7fa29087d7..4583a458b3 100644
--- a/nix/libutil/md5.h
+++ b/nix/libutil/md5.h
@@ -1,20 +1,20 @@
-/* Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
+/* GNU Guix --- Functional package management for GNU
Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
- This file is part of Guix.
+ This file is part of GNU Guix.
- Guix is free software; you can redistribute it and/or modify it
+ GNU Guix is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
your option) any later version.
- Guix is distributed in the hope that it will be useful, but
+ GNU Guix is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with Guix. If not, see <http://www.gnu.org/licenses/>. */
+ along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */
#include <gcrypt-hash.hh>
diff --git a/nix/libutil/sha1.h b/nix/libutil/sha1.h
index 0eca8e310d..d2d071e058 100644
--- a/nix/libutil/sha1.h
+++ b/nix/libutil/sha1.h
@@ -1,20 +1,20 @@
-/* Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
+/* GNU Guix --- Functional package management for GNU
Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
- This file is part of Guix.
+ This file is part of GNU Guix.
- Guix is free software; you can redistribute it and/or modify it
+ GNU Guix is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
your option) any later version.
- Guix is distributed in the hope that it will be useful, but
+ GNU Guix is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with Guix. If not, see <http://www.gnu.org/licenses/>. */
+ along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */
#include <gcrypt-hash.hh>
diff --git a/nix/libutil/sha256.h b/nix/libutil/sha256.h
index a91f18f689..ca95d7fea8 100644
--- a/nix/libutil/sha256.h
+++ b/nix/libutil/sha256.h
@@ -1,20 +1,20 @@
-/* Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
+/* GNU Guix --- Functional package management for GNU
Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
- This file is part of Guix.
+ This file is part of GNU Guix.
- Guix is free software; you can redistribute it and/or modify it
+ GNU Guix is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
your option) any later version.
- Guix is distributed in the hope that it will be useful, but
+ GNU Guix is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with Guix. If not, see <http://www.gnu.org/licenses/>. */
+ along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */
#include <gcrypt-hash.hh>
diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc
index 79c719399e..7e266111a0 100644
--- a/nix/nix-daemon/guix-daemon.cc
+++ b/nix/nix-daemon/guix-daemon.cc
@@ -1,20 +1,20 @@
-/* Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
+/* GNU Guix --- Functional package management for GNU
Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
- This file is part of Guix.
+ This file is part of GNU Guix.
- Guix is free software; you can redistribute it and/or modify it
+ GNU Guix is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
your option) any later version.
- Guix is distributed in the hope that it will be useful, but
+ GNU Guix is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with Guix. If not, see <http://www.gnu.org/licenses/>. */
+ along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
@@ -23,8 +23,13 @@
#include <globals.hh>
#include <util.hh>
+#include <gcrypt.h>
+
#include <stdlib.h>
#include <argp.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <exception>
/* Variables used by `nix-daemon.cc'. */
volatile ::sig_atomic_t blockInt;
@@ -58,6 +63,7 @@ builds derivations on behalf of its clients.";
#define GUIX_OPT_DISABLE_STORE_OPTIMIZATION 7
#define GUIX_OPT_IMPERSONATE_LINUX_26 8
#define GUIX_OPT_DEBUG 9
+#define GUIX_OPT_CHROOT_DIR 10
static const struct argp_option options[] =
{
@@ -74,6 +80,13 @@ static const struct argp_option options[] =
"this option has no effect)"
#endif
},
+ { "chroot-directory", GUIX_OPT_CHROOT_DIR, "DIR", 0,
+ "Add DIR to the build chroot"
+#ifndef HAVE_CHROOT
+ " (chroots are not supported in this configuration, so "
+ "this option has no effect)"
+#endif
+ },
{ "build-users-group", GUIX_OPT_BUILD_USERS_GROUP, "GROUP", 0,
"Perform builds as a user of GROUP" },
{ "cache-failures", GUIX_OPT_CACHE_FAILURES, 0, 0,
@@ -104,6 +117,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
case GUIX_OPT_DISABLE_CHROOT:
settings.useChroot = false;
break;
+ case GUIX_OPT_CHROOT_DIR:
+ settings.dirsInChroot.insert (arg);
+ break;
case GUIX_OPT_DISABLE_LOG_COMPRESSION:
settings.compressLog = false;
break;
@@ -151,20 +167,53 @@ main (int argc, char *argv[])
{
Strings nothing;
+ /* Initialize libgcrypt. */
+ if (!gcry_check_version (GCRYPT_VERSION))
+ {
+ fprintf (stderr, "error: libgcrypt version mismatch\n");
+ exit (EXIT_FAILURE);
+ }
+
#ifdef HAVE_CHROOT
settings.useChroot = true;
#else
settings.useChroot = false;
#endif
- settings.processEnvironment ();
+ argvSaved = argv;
+
+ try
+ {
+ settings.processEnvironment ();
- /* FIXME: Disable substitutes until we have something that works. */
- settings.useSubstitutes = false;
- settings.substituters.clear ();
+ /* FIXME: Disable substitutes until we have something that works. */
+ settings.useSubstitutes = false;
+ settings.substituters.clear ();
- argp_parse (&argp, argc, argv, 0, 0, 0);
+ argp_parse (&argp, argc, argv, 0, 0, 0);
- argvSaved = argv;
- run (nothing);
+ if (geteuid () == 0 && settings.buildUsersGroup.empty ())
+ fprintf (stderr, "warning: running as root is highly recommended, "
+ "unless `--build-users-group' is used\n");
+
+#ifdef HAVE_CHROOT
+ if (settings.useChroot)
+ {
+ foreach (PathSet::iterator, i, settings.dirsInChroot)
+ {
+ printMsg (lvlDebug,
+ format ("directory `%1%' added to the chroot") % *i);
+ }
+ }
+#endif
+
+ run (nothing);
+ }
+ catch (std::exception &e)
+ {
+ fprintf (stderr, "error: %s\n", e.what ());
+ return EXIT_FAILURE;
+ }
+
+ return EXIT_SUCCESS; /* never reached */
}
diff --git a/nix/nix-daemon/shared.hh b/nix/nix-daemon/shared.hh
index a03c09c036..b45e9f0cfd 100644
--- a/nix/nix-daemon/shared.hh
+++ b/nix/nix-daemon/shared.hh
@@ -1,20 +1,20 @@
-/* Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
+/* GNU Guix --- Functional package management for GNU
Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
- This file is part of Guix.
+ This file is part of GNU Guix.
- Guix is free software; you can redistribute it and/or modify it
+ GNU Guix is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
your option) any later version.
- Guix is distributed in the hope that it will be useful, but
+ GNU Guix is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with Guix. If not, see <http://www.gnu.org/licenses/>. */
+ along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */
/* Replacement for Nix's libmain/shared.hh. */
diff --git a/nix/scripts/list-runtime-roots.in b/nix/scripts/list-runtime-roots.in
index 5c21ae543d..45fa0733d5 100644
--- a/nix/scripts/list-runtime-roots.in
+++ b/nix/scripts/list-runtime-roots.in
@@ -1,22 +1,22 @@
#!@GUILE@ -ds
!#
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; List files being used at run time; these files are garbage collector
diff --git a/po/POTFILES.in b/po/POTFILES.in
index fcc84f32f0..2ca98ed1b5 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -7,3 +7,5 @@ distro/packages/recutils.scm
guix/ui.scm
guix-build.in
guix-download.in
+guix-package.in
+guix-gc.in
diff --git a/pre-inst-env.in b/pre-inst-env.in
index e85291f948..aeadcfd820 100644
--- a/pre-inst-env.in
+++ b/pre-inst-env.in
@@ -1,22 +1,22 @@
#!/bin/sh
-# Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-# Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
#
-# This file is part of Guix.
+# This file is part of GNU Guix.
#
-# Guix is free software; you can redistribute it and/or modify it
+# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
-# Guix is distributed in the hope that it will be useful, but
+# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with Guix. If not, see <http://www.gnu.org/licenses/>.
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
# Usage: ./pre-inst-env COMMAND ARG...
#
diff --git a/release.nix b/release.nix
index 97eba8b403..369d54ed96 100644
--- a/release.nix
+++ b/release.nix
@@ -1,20 +1,20 @@
-/* Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
- Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+/* GNU Guix --- Functional package management for GNU
+ Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
- This file is part of Guix.
+ This file is part of GNU Guix.
- Guix is free software; you can redistribute it and/or modify it
+ GNU Guix is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
your option) any later version.
- Guix is distributed in the hope that it will be useful, but
+ GNU Guix is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with Guix. If not, see <http://www.gnu.org/licenses/>. */
+ along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */
/* Release file to build Guix with Nix. Useful to bootstrap Guix on
Guix-enabled Hydra instances. */
diff --git a/test-env.in b/test-env.in
index afcf3afedc..491a45c7b4 100644
--- a/test-env.in
+++ b/test-env.in
@@ -1,22 +1,22 @@
#!/bin/sh
-# Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-# Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
#
-# This file is part of Guix.
+# This file is part of GNU Guix.
#
-# Guix is free software; you can redistribute it and/or modify it
+# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
-# Guix is distributed in the hope that it will be useful, but
+# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with Guix. If not, see <http://www.gnu.org/licenses/>.
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
# Usage: ./test-env COMMAND ARG...
#
diff --git a/tests/base32.scm b/tests/base32.scm
index d1bbaa1764..166ec4da1c 100644
--- a/tests/base32.scm
+++ b/tests/base32.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (test-base32)
#:use-module (guix base32)
diff --git a/tests/build-utils.scm b/tests/build-utils.scm
index 8140708397..0df4cd2737 100644
--- a/tests/build-utils.scm
+++ b/tests/build-utils.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (test-build-utils)
diff --git a/tests/builders.scm b/tests/builders.scm
index 6035032d5d..a1e3f8088a 100644
--- a/tests/builders.scm
+++ b/tests/builders.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (test-builders)
diff --git a/tests/derivations.scm b/tests/derivations.scm
index c00f0efc98..692b2aea8d 100644
--- a/tests/derivations.scm
+++ b/tests/derivations.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (test-derivations)
@@ -241,7 +241,10 @@
(and succeeded?
(let ((one (derivation-path->output-path drv-path "out"))
(two (derivation-path->output-path drv-path "second")))
- (and (eq? 'one (call-with-input-file one read))
+ (and (lset= equal?
+ (derivation-path->output-paths drv-path)
+ `(("out" . ,one) ("second" . ,two)))
+ (eq? 'one (call-with-input-file one read))
(eq? 'two (call-with-input-file two read)))))))
(test-assert "multiple-output derivation, non-alphabetic order"
diff --git a/tests/guix-build.sh b/tests/guix-build.sh
index 7f0e624edb..f03afbd494 100644
--- a/tests/guix-build.sh
+++ b/tests/guix-build.sh
@@ -1,20 +1,20 @@
-# Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-# Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
#
-# This file is part of Guix.
+# This file is part of GNU Guix.
#
-# Guix is free software; you can redistribute it and/or modify it
+# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
-# Guix is distributed in the hope that it will be useful, but
+# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with Guix. If not, see <http://www.gnu.org/licenses/>.
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
#
# Test the `guix-build' command-line utility.
diff --git a/tests/guix-daemon.sh b/tests/guix-daemon.sh
index b942cbd546..ba652b3dce 100644
--- a/tests/guix-daemon.sh
+++ b/tests/guix-daemon.sh
@@ -1,20 +1,20 @@
-# Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-# Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
#
-# This file is part of Guix.
+# This file is part of GNU Guix.
#
-# Guix is free software; you can redistribute it and/or modify it
+# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
-# Guix is distributed in the hope that it will be useful, but
+# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with Guix. If not, see <http://www.gnu.org/licenses/>.
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
#
# Test the daemon.
diff --git a/tests/guix-download.sh b/tests/guix-download.sh
index 3c0c6dc7cf..f0ea731430 100644
--- a/tests/guix-download.sh
+++ b/tests/guix-download.sh
@@ -1,20 +1,20 @@
-# Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-# Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
#
-# This file is part of Guix.
+# This file is part of GNU Guix.
#
-# Guix is free software; you can redistribute it and/or modify it
+# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
-# Guix is distributed in the hope that it will be useful, but
+# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with Guix. If not, see <http://www.gnu.org/licenses/>.
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
#
# Test the `guix-download' command-line utility.
diff --git a/tests/guix-gc.sh b/tests/guix-gc.sh
new file mode 100644
index 0000000000..805300eeec
--- /dev/null
+++ b/tests/guix-gc.sh
@@ -0,0 +1,54 @@
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+#
+# This file is part of GNU Guix.
+#
+# GNU Guix is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or (at
+# your option) any later version.
+#
+# GNU Guix is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+#
+# Test the `guix-gc' command-line utility.
+#
+
+guix-gc --version
+
+trap "rm -f guix-gc-root" EXIT
+rm -f guix-gc-root
+
+# Add then reclaim a .drv file.
+drv="`guix-build idutils -d`"
+test -f "$drv"
+
+guix-gc --list-dead | grep "$drv"
+guix-gc --delete "$drv"
+! test -f "$drv"
+
+# Add a .drv, register it as a root.
+drv="`guix-build --root=guix-gc-root lsh -d`"
+test -f "$drv" && test -L guix-gc-root
+
+guix-gc --list-live | grep "$drv"
+if guix-gc --delete "$drv";
+then false; else true; fi
+
+rm guix-gc-root
+guix-gc --list-dead | grep "$drv"
+guix-gc --delete "$drv"
+! test -f "$drv"
+
+# Try a random collection.
+guix-gc -C 1KiB
+
+# Check trivial error cases.
+if guix-gc --delete /dev/null;
+then false; else true; fi
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index 60a0394f1c..81b7f05634 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -1,20 +1,20 @@
-# Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-# Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
#
-# This file is part of Guix.
+# This file is part of GNU Guix.
#
-# Guix is free software; you can redistribute it and/or modify it
+# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
-# Guix is distributed in the hope that it will be useful, but
+# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with Guix. If not, see <http://www.gnu.org/licenses/>.
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
#
# Test the `guix-package' command-line utility.
diff --git a/tests/packages.scm b/tests/packages.scm
index 5b0cd79b0f..f15f404db6 100644
--- a/tests/packages.scm
+++ b/tests/packages.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (test-packages)
diff --git a/tests/snix.scm b/tests/snix.scm
index da4754b7f3..7623d0cd8f 100644
--- a/tests/snix.scm
+++ b/tests/snix.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (test-snix)
#:use-module (guix snix)
diff --git a/tests/store.scm b/tests/store.scm
index 71f68a1f23..3b3a23489d 100644
--- a/tests/store.scm
+++ b/tests/store.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (test-store)
diff --git a/tests/union.scm b/tests/union.scm
index b2242a834b..58c0a301b2 100644
--- a/tests/union.scm
+++ b/tests/union.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (test-union)
diff --git a/tests/utils.scm b/tests/utils.scm
index ba04e281eb..59fde5ac06 100644
--- a/tests/utils.scm
+++ b/tests/utils.scm
@@ -1,20 +1,20 @@
-;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;;
-;;; This file is part of Guix.
+;;; This file is part of GNU Guix.
;;;
-;;; Guix is free software; you can redistribute it and/or modify it
+;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
-;;; Guix is distributed in the hope that it will be useful, but
+;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (test-utils)
#:use-module (guix utils)