Ludovic Courtès [Sun, 19 Jan 2014 22:03:43 +0000 (23:03 +0100)]
store: Add 'with-store' convenience macro.
* guix/store.scm (with-store): New macro.
Ludovic Courtès [Sun, 19 Jan 2014 17:16:28 +0000 (18:16 +0100)]
hash: Add 'open-sha256-input-port', for Guile > 2.0.9.
* guix/hash.scm (open-sha256-input-port): New procedure.
* tests/hash.scm (supports-unbuffered-cbip?): New procedure.
("open-sha256-input-port, empty", "open-sha256-input-port, hello",
"open-sha256-input-port, hello, one two",
"open-sha256-input-port, hello, read from wrapped port"): New tests.
Ludovic Courtès [Thu, 23 Jan 2014 21:23:22 +0000 (22:23 +0100)]
pki: Factorize signature manipulation procedures.
* guix/pki.scm (signature-subject, signature-signed-data,
valid-signature?): New procedures.
* guix/scripts/authenticate.scm (guix-authenticate): Adjust to use
them.
Ludovic Courtès [Fri, 10 Jan 2014 22:27:39 +0000 (23:27 +0100)]
utils: Add 'fcntl-flock'.
* guix/utils.scm (%struct-flock, F_SETLKW, F_xxLCK): New variables.
(fcntl-flock): New procedure.
* tests/utils.scm ("fcntl-flock"): New test.
Ludovic Courtès [Sat, 11 Jan 2014 16:11:14 +0000 (17:11 +0100)]
store: Add 'register-path' procedure.
* guix/store.scm (register-path): New procedure.
* tests/store.scm ("register-path"): New test.
* guix/config.scm.in (%guix-register-program): New variable.
* configure.ac: Compute and substitute 'guix_sbindir'. Compute
'guix_prefix'.
* pre-inst-env.in: Define 'GUIX_REGISTER'.
Ludovic Courtès [Sat, 11 Jan 2014 15:55:04 +0000 (16:55 +0100)]
guix-register: Support registration in the current store, without '--prefix'.
* nix/guix-register/guix-register.cc (register_validity): Leave
'info.path' unmodified when PREFIX is empty.
(main): Call 'settings.processEnvironment' early on.
Leave 'settings.nixStore' unmodified when PREFIX is empty.
Ludovic Courtès [Thu, 9 Jan 2014 22:59:07 +0000 (23:59 +0100)]
store: Add comments for the %stderr constants.
* guix/store.scm (process-stderr): Add comments for the various
constants, to help when stracing.
Ludovic Courtès [Mon, 6 Jan 2014 22:31:17 +0000 (23:31 +0100)]
ui: Filter out internal commands from '--help'.
* guix/ui.scm (show-guix-help)[internal?]: New procedure.
Use it to filter out internal commands reported by '--help'.
Andreas Enge [Thu, 23 Jan 2014 18:05:09 +0000 (19:05 +0100)]
gnu: Rename (gnu packages oggvorbis) to (gnu packages xiph).
* gnu/packages/oggvorbis.scm: Rename this ...
* gnu/packages/xiph.scm: ... to this. Adjust module name accordingly.
* gnu-system.am (GNU_SYSTEM_MODULES): Update.
* gnu/packages/{gnunet.scm, libcanberra.scm, mp3.scm, pulseaudio.scm, sdl.scm,
video.scm}: Use new module name.
Sree Harsha Totakura [Wed, 22 Jan 2014 17:00:09 +0000 (18:00 +0100)]
gnu: sqlite: Upgrade to 3.8.2.
* gnu/packages/sqlite.scm (sqlite): Upgrade to 3.8.2.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Ludovic Courtès [Wed, 22 Jan 2014 22:45:44 +0000 (23:45 +0100)]
gnu: guile-2.0: Switch to libgc 7.4.0.
* gnu/packages/guile.scm (guile-2.0): Use LIBGC-7.4.
(guile-2.0/fixed): Keep using LIBGC.
Ludovic Courtès [Wed, 22 Jan 2014 22:44:20 +0000 (23:44 +0100)]
gnu: Add libatomic_ops 7.4.0 and libgc 7.4.0.
* gnu/packages/bdw-gc.scm (libatomic-ops, libgc-7.4): New variables.
Ludovic Courtès [Wed, 22 Jan 2014 22:15:07 +0000 (23:15 +0100)]
gnu: libgc: Explicitly mark license as 'x11-style'.
* gnu/packages/bdw-gc.scm (libgc)[license]: Use 'x11-style'.
Ludovic Courtès [Tue, 21 Jan 2014 23:25:43 +0000 (00:25 +0100)]
gnu: isc-dhcp: Fix license.
* gnu/packages/admin.scm (isc-dhcp): Change license to ISC.
Ludovic Courtès [Tue, 21 Jan 2014 23:22:16 +0000 (00:22 +0100)]
gnu: gnubik: Synchornize synopsis and description.
* gnu/packages/games.scm (gnubik): Synchornize synopsis and description.
Ludovic Courtès [Tue, 21 Jan 2014 23:21:19 +0000 (00:21 +0100)]
gnu: Add GNU V.E.R.A.
* gnu/packages/dictionaries.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Ludovic Courtès [Tue, 21 Jan 2014 23:20:40 +0000 (00:20 +0100)]
licenses: Add GNU FDL 1.3+.
* guix/licenses.scm (fdl1.3+): New variable.
Ludovic Courtès [Mon, 20 Jan 2014 00:06:22 +0000 (01:06 +0100)]
gnu: glib: Upgrade to 2.39.1.
* gnu/packages/glib.scm (glib): Upgrade to 2.39.1. Run tests
sequentially.
* gnu/packages/patches/glib-tests-desktop.patch: Adjust for 2.39.1. Add
hunk for gsettings.c.
Ludovic Courtès [Sat, 18 Jan 2014 21:04:30 +0000 (22:04 +0100)]
doc: List what's in the chroot.
* doc/guix.texi (Setting Up the Daemon): List what's in the chroot.
Ludovic Courtès [Sat, 18 Jan 2014 15:48:29 +0000 (16:48 +0100)]
Update 'nix-upstream' sub-module; adjust build system, doc, and substituter.
* nix-upstream: Update sub-module.
* daemon.am (libutil_a_SOURCES): Add affinity.cc.
(libutil_headers): Add affinity.hh.
(libexec_PROGRAMS, nix_setuid_helper_SOURCES,
nix_setuid_helper_CPPFLAGS, nix_setuid_helper_LDADD): Remove.
* doc/guix.texi (Setting Up the Daemon): Remove paragraph about
'nix-setuid-helper'.
* guix/scripts/substitute-binary.scm (guix-substitute-binary): Exit 0 when
%CACHE-URL has an HTTP scheme and looking up its host fails.
Always print a newline to stdout when starting.
Ludovic Courtès [Sat, 18 Jan 2014 14:08:33 +0000 (15:08 +0100)]
linux-initrd: Make /dev/{null,zero} world-writable.
Reported by zerwas on #guix.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
/dev/null and /dev/zero world-writable.
Andreas Enge [Sat, 18 Jan 2014 14:14:00 +0000 (15:14 +0100)]
gnu: mesa: Propagate input.
* gnu/packages/gl.scm (mesa): Propagate input libx11.
Ludovic Courtès [Sat, 18 Jan 2014 13:41:33 +0000 (14:41 +0100)]
hydra: Add debugging for the Guix job set.
* build-aux/hydra/guix.scm: Set '%load-verbosely'.
Andreas Enge [Sat, 18 Jan 2014 13:15:39 +0000 (14:15 +0100)]
gnu: gl: Correct copyright notice.
* gnu/packages/gl.scm: Add copyright notice for mesa, moved here from
module xorg in commit
200726e.
Ludovic Courtès [Fri, 17 Jan 2014 22:47:31 +0000 (23:47 +0100)]
gnu: Add DocBook DTD and XSL style sheets.
* gnu/packages/docbook.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Ludovic Courtès [Fri, 17 Jan 2014 21:52:10 +0000 (22:52 +0100)]
doc: Distinguish between (gnu packages ...) and "GNU packages".
* doc/guix.texi (Package Modules): Add a footnote stating that (gnu
packages ...) has nothing to do with "GNU packages."
Ludovic Courtès [Fri, 17 Jan 2014 21:49:42 +0000 (22:49 +0100)]
ui: Update copyright year in '--version' output.
* guix/ui.scm (show-version-and-exit): Increment copyright year.
Ludovic Courtès [Wed, 15 Jan 2014 21:47:55 +0000 (22:47 +0100)]
gnu: Add libexif, libgphoto2, and gphoto2.
* gnu/packages/photo.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
John Darrington [Wed, 15 Jan 2014 17:50:10 +0000 (18:50 +0100)]
gnu: pspp: Upgrade to 0.8.2
* gnu/packages/maths.scm (pspp): Update to 0.8.2.
* gnu/packages/patches/pspp-tests.patch: Deleted.
* gnu-system.am: Removed pspp-tests.patch from the manifest.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Ludovic Courtès [Wed, 15 Jan 2014 12:06:50 +0000 (13:06 +0100)]
gnu: git: 'git-submodule' works even if Perl is not in $PATH.
* gnu/packages/version-control.scm (git): Add 'native-inputs' field;
move Gettext there from 'inputs'. In 'split' phase, wrap the
'git-submodule' script.
Andreas Enge [Wed, 15 Jan 2014 14:11:57 +0000 (15:11 +0100)]
gnu: valgrind: Update to 2.9.0.
* gnu/packages/valgrind.scm (valgrind): Update to 2.9.0.
Ludovic Courtès [Tue, 14 Jan 2014 23:24:46 +0000 (00:24 +0100)]
Update 'sr.po'.
Ludovic Courtès [Tue, 14 Jan 2014 23:15:55 +0000 (00:15 +0100)]
gnu: Add Taylor UUCP.
* gnu/packages/uucp.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Ludovic Courtès [Tue, 14 Jan 2014 08:11:13 +0000 (09:11 +0100)]
gnu: inetutils: Upgrade to 1.9.2.
* gnu/packages/admin.scm (inetutils): Upgrade to 1.9.2. Add Readline
as an input.
Ludovic Courtès [Tue, 14 Jan 2014 08:00:29 +0000 (09:00 +0100)]
doc: Fix another reference to (gnu packages admin).
* doc/guix.texi (Using the Configuration System): Change module name
to (gnu packages admin).
Ludovic Courtès [Mon, 13 Jan 2014 23:14:12 +0000 (00:14 +0100)]
gnu: Add mpc123.
* gnu/packages/mp3.scm (libmpcdec, mpc123): New variables.
Ludovic Courtès [Mon, 13 Jan 2014 22:21:47 +0000 (23:21 +0100)]
gnu: Changes references to (gnu packages admin).
* gnu/packages/version-control.scm, gnu/packages/vim.scm,
gnu/system.scm, gnu/system/dmd.scm, gnu/system/shadow.scm,
gnu/system/vm.scm: Change references to (gnu packages system) to (gnu
packages admin).
This is a followup to commit
4aeea89.
Ludovic Courtès [Mon, 13 Jan 2014 20:32:39 +0000 (21:32 +0100)]
gnu: Rename (gnu packages system) to (gnu packages admin).
* gnu/packages/system.scm: Rename to...
* gnu/packages/admin.scm: ... this. Adjust module name accordingly.
* gnu-system.am (GNU_SYSTEM_MODULES): Update.
Ludovic Courtès [Mon, 13 Jan 2014 20:27:57 +0000 (21:27 +0100)]
gnu: Add ISC's DHCP implementation.
* gnu/packages/system.scm (isc-dhcp): New variable.
Ludovic Courtès [Mon, 13 Jan 2014 17:53:26 +0000 (18:53 +0100)]
gnu: Add libtirpc.
* gnu/packages/onc-rpc.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Ludovic Courtès [Mon, 13 Jan 2014 17:51:07 +0000 (18:51 +0100)]
guix package: Gracefully handle EPIPE on '--search'.
* guix/scripts/package.scm (guix-package): Wrap body of 'search' in
'leave-on-EPIPE'.
Ludovic Courtès [Mon, 13 Jan 2014 17:49:26 +0000 (18:49 +0100)]
ui: Don't use hyphens in 'package->recutils' output.
* guix/ui.scm (package->recutils): Rename recutils field from
'home-page' to 'homepage'.
Ludovic Courtès [Mon, 13 Jan 2014 17:47:59 +0000 (18:47 +0100)]
gnu: Add aumix.
* gnu/packages/linux.scm (aumix): New variable.
Ludovic Courtès [Mon, 13 Jan 2014 17:47:31 +0000 (18:47 +0100)]
gnu: Add GnuPG's pinentry.
* gnu/packages/gnupg.scm (pinentry): New variable.
Ludovic Courtès [Sun, 12 Jan 2014 23:37:16 +0000 (00:37 +0100)]
gnu: guile-ssh: Remove now unneeded cruft.
* gnu/packages/ssh.scm (guile-ssh): Remove libssh version hack from
'autoreconf' phase.
Ludovic Courtès [Sun, 12 Jan 2014 21:44:39 +0000 (22:44 +0100)]
gnu: Add Aspell dictionaries.
* gnu/packages/aspell.scm (aspell-dictionary): New procedure.
(aspell-dict-en, aspell-dict-eo, aspell-dict-es, aspell-dict-fr): New
variables.
Ludovic Courtès [Wed, 8 Jan 2014 20:37:06 +0000 (21:37 +0100)]
config: '%store-directory' always honors $NIX_STORE_DIR.
* guix/config.scm.in (%store-directory): Honor $NIX_STORE_DIR.
* guix/store.scm (%store-prefix): Use %store-directory directly.
Ludovic Courtès [Wed, 8 Jan 2014 20:12:55 +0000 (21:12 +0100)]
config: '%state-directory' always honors $NIX_STATE_DIR.
* guix/config.scm.in (%state-directory): Honor $NIX_STATE_DIR.
* guix/scripts/package.scm (%profile-directory): Use %state-directory
directly.
* guix/store.scm (%default-socket-path, log-file): Likewise.
Ludovic Courtès [Wed, 8 Jan 2014 18:23:33 +0000 (19:23 +0100)]
store: Fix 'log-file' to support uncompressed logs.
* guix/store.scm (log-file): Report the file without '.bz2' if it
exists.
Ludovic Courtès [Mon, 6 Jan 2014 21:25:29 +0000 (22:25 +0100)]
archive: Add '--missing'.
* guix/scripts/archive.scm (show-help, %options): Add '--missing'.
(guix-archive)[lines]: New procedure.
Use it to honor '--missing'.
* tests/guix-archive.sh: Add tests.
* doc/guix.texi (Invoking guix archive): Document '--missing'.
Ludovic Courtès [Sun, 5 Jan 2014 22:46:45 +0000 (23:46 +0100)]
gnu: lsh: Move generic patching to 'snippet'.
* gnu/packages/lsh.scm (lsh): Move generic patching to the 'snippet'
field of 'origin'.
Ludovic Courtès [Sun, 5 Jan 2014 22:40:06 +0000 (23:40 +0100)]
archive: Make sure $sysconfdir/guix exists.
* guix/pki.scm (ensure-acl): Make sure the directory of %ACL-FILE
exists.
* guix/scripts/archive.scm (generate-key-pair): Likewise for
%PUBLIC-KEY-FILE.
Ludovic Courtès [Sun, 5 Jan 2014 21:58:32 +0000 (22:58 +0100)]
guix build: Add '--no-build-hook'.
* guix/scripts/build.scm (%default-options): Add 'build-hook?' pair.
(show-help, %options): Add --no-build-hook.
(guix-build): Pass the 'build-hook?' value to 'set-build-options'.
* doc/guix.texi (Invoking guix build): Document '--no-build-hook'.
Ludovic Courtès [Sat, 4 Jan 2014 21:42:42 +0000 (22:42 +0100)]
guix package: Gracefully deal with EPIPE on stdout for --list-*.
* guix/scripts/package.scm (leave-on-EPIPE): New macro.
(guix-package): Use it for 'list-installed', 'list-available', and
'--list-generations'.
* tests/guix-package.sh: Add test.
Ludovic Courtès [Sat, 4 Jan 2014 16:27:41 +0000 (17:27 +0100)]
gnu: lsh: Fix the absolute file name of 'sexp-conv'.
* gnu/packages/lsh.scm (lsh): Rename 'fix-test-suite' phase to
'pre-configure'. Set PATH_SEXP_CONV in environ.h.in.
Ludovic Courtès [Sat, 4 Jan 2014 15:59:46 +0000 (16:59 +0100)]
gnu: nettle: Set the RUNPATH on 'sexp-conv' and other programs.
* gnu/packages/nettle.scm (nettle): Rename 'inputs' to 'native-inputs'.
Add 'arguments' field.
Ludovic Courtès [Sat, 4 Jan 2014 15:44:51 +0000 (16:44 +0100)]
gnu: lsh: Distinguish between native inputs and target inputs.
* gnu/packages/lsh.scm (lsh): Move M4, Guile, gperf, and psmisc to
'native-inputs'. Use GUILE-2.0 instead of GUILE-FINAL.
Ludovic Courtès [Fri, 3 Jan 2014 17:19:58 +0000 (18:19 +0100)]
doc: Update 'ROADMAP'.
* ROADMAP: Add link to the updated road map, and the a note on release
history.
Ludovic Courtès [Fri, 3 Jan 2014 15:51:30 +0000 (16:51 +0100)]
Thank Niels.
Ludovic Courtès [Fri, 3 Jan 2014 15:47:19 +0000 (16:47 +0100)]
gnu: pulseaudio: Add patch for 'volume-test'; re-enable tests.
* gnu/packages/patches/pulseaudio-volume-test.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/pulseaudio.scm (pulseaudio): Use it. Remove
#:tests? #t.
John Darrington [Mon, 30 Dec 2013 18:33:53 +0000 (19:33 +0100)]
gnu: games: Add new package gnubg
* gnu/packages/games.scm (gnubg): New variable
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Ludovic Courtès [Mon, 30 Dec 2013 22:22:08 +0000 (23:22 +0100)]
gnu: libgcrypt: Add "debug" output.
* gnu/packages/gnupg.scm (libgcrypt): Add 'outputs' field.
Ludovic Courtès [Mon, 30 Dec 2013 22:18:52 +0000 (23:18 +0100)]
archive: Add '--authorize'.
* guix/scripts/archive.scm (authorize-key): New procedure.
(guix-archive): Call it when OPTS contains 'authorize-key'.
* tests/guix-archive.sh: Add test with invalid public key.
* guix/pki.scm: Export '%acl-file'.
* doc/guix.texi (Invoking guix archive): Make it clear that '--import'
works only with authorized keys. Document '--authorize'.
Ludovic Courtès [Mon, 30 Dec 2013 21:46:21 +0000 (22:46 +0100)]
archive: Add '--generate-key'.
* guix/pk-crypto.scm (error-source, error-string): New procedures.
* guix/pki.scm (%private-key-file): New variable.
* guix/scripts/archive.scm (show-help): Document '--generate-key'.
(%options): Add "generate-key".
(generate-key-pair): New procedure.
(guix-archive): Call 'generate-key' when OPTS contains a
'generate-key' pair.
* doc/guix.texi (Setting Up the Daemon): Suggest generating a key pair.
(Invoking guix archive): Document '--generate-key'.
Ludovic Courtès [Mon, 30 Dec 2013 21:29:12 +0000 (22:29 +0100)]
pk-crypto: Fix 'canonical-sexp->sexp' for atoms.
* guix/pk-crypto.scm (canonical-sexp->sexp): Add hack to extract an
atom's buffer.
* tests/pk-crypto.scm ("sexp->canonical-sexp->sexp"): Add sample.
Ludovic Courtès [Mon, 30 Dec 2013 21:19:19 +0000 (22:19 +0100)]
pk-crypto: Work around Libgcrypt bug <https://bugs.g10code.com/gnupg/issue1594>.
* guix/pk-crypto.scm (canonical-sexp-fold): Call 'nth-data' before
'nth' to work around <https://bugs.g10code.com/gnupg/issue1594>.
* tests/pk-crypto.scm ("https://bugs.g10code.com/gnupg/issue1594"): New
test.
Ludovic Courtès [Mon, 30 Dec 2013 17:23:44 +0000 (18:23 +0100)]
authenticate: Consistently use 'leave' for fatal error reporting.
* guix/scripts/authenticate.scm (guix-authenticate): Replace all uses of
'format' + 'exit' with 'leave'.
Ludovic Courtès [Mon, 30 Dec 2013 15:57:05 +0000 (16:57 +0100)]
Thank Kete.
John Darrington [Sat, 28 Dec 2013 08:10:46 +0000 (09:10 +0100)]
gnu: mesa: Move out of xorg.scm and into gl.scm
* gnu/packages/xorg.scm (mesa): Move to...
* gnu/packages/gl.scm (mesa): ... here. New variable.
* gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm,
gnu/packages/qemu.scm, gnu/packages/qt.scm: Adjust accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Ludovic Courtès [Mon, 30 Dec 2013 15:47:32 +0000 (16:47 +0100)]
doc: Invoke 'useradd' with '--system'.
Reported by Kete <kete@ninthfloor.org>.
Fixes <http://bugs.gnu.org/16289>.
* doc/guix.texi (Setting Up the Daemon): Add '--system' to the 'useradd'
command line. Suggested by Kete <kete@ninthfloor.org>.
Ludovic Courtès [Sun, 29 Dec 2013 21:44:23 +0000 (22:44 +0100)]
gnu: automake: Upgrade to 1.14.1.
* gnu/packages/autotools.scm (automake): Upgrade to 1.14.1.
Ludovic Courtès [Sun, 29 Dec 2013 21:22:09 +0000 (22:22 +0100)]
gnu: gdbm: Upgrade to 1.11.
* gnu/packages/gdbm.scm (gdbm): Upgrade to 1.11.
Ludovic Courtès [Sun, 29 Dec 2013 18:53:05 +0000 (19:53 +0100)]
build: Improve documentation of Nix-related options.
* configure.ac: Add documentation for --with-nix and --with-nixpkgs.
John Darrington [Sat, 28 Dec 2013 07:19:43 +0000 (08:19 +0100)]
gnu: games: New module
* gnu/packages/games.scm (gnubik): New variable
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
John Darrington [Sat, 28 Dec 2013 07:19:42 +0000 (08:19 +0100)]
gnu: gnome: Add new package gtkglext
* gnu/packages/gnome.scm (gtkglext): New variable.
* gnu/packages/patches/gtkglext-disable-disable-deprecated.patch,
gnu/packages/patches/gtkglext-remove-pangox-dependency.patch: New
files.
* gnu-system.am (dist_patch_DATA): Add them.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Ludovic Courtès [Sun, 29 Dec 2013 14:55:38 +0000 (15:55 +0100)]
authenticate: Disallow imports signed with unauthorized keys.
* guix/scripts/authenticate.scm (signature-sexp): Remove.
(guix-authenticate): Upon '-verify', check whether the signature's
public key passes 'authorized-key?'.
Ludovic Courtès [Sun, 29 Dec 2013 14:53:49 +0000 (15:53 +0100)]
Add (guix pki).
* guix/pki.scm, tests/pki.scm: New files.
* Makefile.am (MODULES): Add 'guix/pki.scm'.
(SCM_TESTS): Add 'tests/pki.scm'.
Ludovic Courtès [Sun, 29 Dec 2013 14:52:50 +0000 (15:52 +0100)]
config: Export '%config-directory'.
* configure.ac: Define and substitute 'guix_sysconfdir'.
* guix/config.scm.in (%config-directory): New variable.
Ludovic Courtès [Sun, 29 Dec 2013 14:51:07 +0000 (15:51 +0100)]
Move 'with-atomic-file-output' to (guix utils).
* guix/scripts/substitute-binary.scm (with-atomic-file-output): Move to...
* guix/utils.scm (with-atomic-file-output): ... here.
Ludovic Courtès [Sat, 28 Dec 2013 15:16:00 +0000 (16:16 +0100)]
pk-crypto: Add canonical-sexp to sexp conversion procedures.
* guix/pk-crypto.scm (canonical-sexp-fold, canonical-sexp->sexp,
sexp->canonical-sexp): New procedures.
* tests/pk-crypto.scm ("canonical-sexp->sexp",
"sexp->canonical-sexp->sexp"): New tests.
Ludovic Courtès [Sat, 28 Dec 2013 14:47:35 +0000 (15:47 +0100)]
pk-crypto: Add 'canonical-sexp-length' and related procedures.
* guix/pk-crypto.scm (canonical-sexp-length, canonical-sexp-null?,
canonical-sexp-list?): New procedures.
* tests/pk-crypto.scm ("canonical-sexp-length", "canonical-sexp-list?"):
New tests.
Ludovic Courtès [Sat, 28 Dec 2013 14:41:48 +0000 (15:41 +0100)]
pk-crypto: 'canonical-sexp-nth-data' returns a symbol for "tokens".
* guix/pk-crypto.scm (token-string?): New procedure.
(canonical-sexp-nth-data): Return a symbol when the element is a
"token", and a bytevector otherwise.
(latin1-string->bytevector): Remove.
(hash-data->bytevector): Adjust accordingly.
* tests/pk-crypto.scm ("canonical-sexp-nth"): Adjust accordingly. Add
octet string example.
Ludovic Courtès [Fri, 27 Dec 2013 23:42:07 +0000 (00:42 +0100)]
authenticate: Store the public key as part of the signature.
* guix/scripts/authenticate.scm (signature-sexp): New procedure.
(guix-authenticate): Use it to produce the signature. Adjust
verification code accordingly.
* tests/store.scm ("import corrupt path"): Adjust test accordingly.
Ludovic Courtès [Fri, 27 Dec 2013 22:32:26 +0000 (23:32 +0100)]
pk-crypto: Rename 'gcry-sexp' to 'canonical-sexp'.
* guix/pk-crypto.scm: Rename procedures, variables, etc. from
'gcry-sexp' to 'canonical-sexp'. Add comment with references.
* guix/scripts/authenticate.scm, tests/pk-crypto.scm: Adjust
accordingly.
Andreas Enge [Sat, 28 Dec 2013 14:41:01 +0000 (15:41 +0100)]
gnu: python: Update to 3.3.3.
* gnu/packages/python.scm (python): Update to 3.3.3.
Andreas Enge [Sat, 28 Dec 2013 14:24:08 +0000 (15:24 +0100)]
gnu: python-2: Update to 2.7.6.
* gnu/packages/python.scm (python-2): Update to 2.7.6.
Andreas Enge [Sat, 28 Dec 2013 13:59:15 +0000 (14:59 +0100)]
gnu: parallel: Update to
20131122.
* gnu/packages/parallel.scm (parallel): Update to
20131122.
Andreas Enge [Sat, 28 Dec 2013 13:53:07 +0000 (14:53 +0100)]
gnu: xorriso: Update to 1.3.4.
* gnu/packages/cdrom.scm (xorriso): Update to 1.3.4.
Andreas Enge [Sat, 28 Dec 2013 13:42:04 +0000 (14:42 +0100)]
gnu: libcdio: Update to 0.92.
* gnu/packages/cdrom.scm (libcdio): Update to 0.92.
Andreas Enge [Sat, 28 Dec 2013 08:01:15 +0000 (09:01 +0100)]
gnu: libextractor: Update to 1.3.
* gnu/packages/gnunet.scm (libextractor): Update to 1.3.
Andreas Enge [Sun, 22 Dec 2013 22:23:11 +0000 (23:23 +0100)]
gnu: vim: Update to 7.4.
* gnu/packages/vim.scm (vim): Update to 7.4.
Ludovic Courtès [Sun, 22 Dec 2013 00:10:11 +0000 (01:10 +0100)]
Update 'TODO'.
Ludovic Courtès [Sun, 22 Dec 2013 00:08:21 +0000 (01:08 +0100)]
Add 'guix archive'.
* guix/scripts/archive.scm, tests/guix-archive.sh: New files.
* Makefile.am (MODULES): Add 'archive.scm'.
(SH_TESTS): Add 'guix-archive.sh'.
* doc/guix.texi (Invoking guix archive): New section.
* guix/scripts/build.scm: Export 'derivation-from-expression'.
* guix/scripts/package.scm: Export 'specification->package+output'.
Ludovic Courtès [Sat, 21 Dec 2013 23:02:39 +0000 (00:02 +0100)]
build: Install 'guix-authenticate'.
* daemon.am (nodist_libexec_SCRIPTS): New variable.
Ludovic Courtès [Sat, 21 Dec 2013 21:53:58 +0000 (22:53 +0100)]
guix build: Improve procedural decomposition.
* guix/scripts/build.scm (%store): Remove.
(derivation-from-expression): Add 'store' parameter. Adjust caller
accordingly.
(register-root): New procedure, formerly within 'guix-build'.
(options->derivations): New procedure, formerly inline within
'guix-build'.
(guix-build): Adjust accordingly.
Ludovic Courtès [Sat, 21 Dec 2013 21:36:32 +0000 (22:36 +0100)]
Factorize package search between 'guix package' and 'guix build'.
* guix/scripts/package.scm (newest-available-packages): Remove.
(find-best-packages-by-name): Move to...
* gnu/packages.scm (find-best-packages-by-name): ... here.
(find-newest-available-packages): Memoize.
* guix/scripts/build.scm (specification->package): New procedure,
formerly called 'find-package' within 'guix-build'.
(guix-build): Adjust accordingly.
Ludovic Courtès [Sat, 21 Dec 2013 20:47:17 +0000 (21:47 +0100)]
authenticate: Add test.
* tests/guix-authenticate.sh: New file.
* Makefile.am (SH_TESTS): Add it.
Ludovic Courtès [Fri, 20 Dec 2013 23:09:51 +0000 (00:09 +0100)]
build: Adjust pk-crypto tests to Libgcrypt 1.5.3.
Reported by Andreas Enge <andreas@enge.fr>.
* tests/pk-crypto.scm ("string->gcry-sexp->string"): Remove "#C0FFEE#"
from SEXPS.
("gcry-sexp-nth"): Start at index 1.
Ludovic Courtès [Fri, 20 Dec 2013 16:17:42 +0000 (17:17 +0100)]
daemon: Implement signed archive import/export.
* guix/scripts/authenticate.scm, nix/scripts/guix-authenticate.in,
tests/signing-key.pub, tests/signing-key.sec: New files.
* po/POTFILES.in: Add 'guix/scripts/authenticate.scm'.
* guix/store.scm (dump-port): New procedure.
(process-stderr): Add 'user-port' optional parameter. Handle
the %STDERR-WRITE and %STDERR-READ cases as expected.
(import-paths, export-path, export-paths): New procedures.
* tests/store.scm ("export/import several paths", "import corrupt
path"): New tests.
* Makefile.am (MODULES): Add 'guix/scripts/authenticate.scm'.
(EXTRA_DIST): Add 'tests/signing-key.{pub,sec}'.
* daemon.am (libstore_a_CPPFLAGS)[-DNIX_CONF_DIR]: Change 'NIX_CONF_DIR'
to .../guix. Change 'OPENSSL_PATH' to 'guix-authenticate'.
* config-daemon.ac: Instantiate 'nix/scripts/guix-authenticate'.
* nix/nix-daemon/guix-daemon.cc (main): Augment $PATH to include
'settings.nixLibexecDir'.
* test-env.in: Export 'NIX_CONF_DIR' and 'NIX_LIBEXEC_DIR'. Populate
$NIX_CONF_DIR.
Ludovic Courtès [Fri, 20 Dec 2013 14:22:15 +0000 (15:22 +0100)]
pk-crypto: Add a few sexp utility procedures.
* guix/pk-crypto.scm (gcry-sexp-car, gcry-sexp-cdr, gcry-sexp-nth,
gcry-sexp-nth-data, dereference-size_t, latin1-string->bytevector,
hash-data->bytevector): New procedures.
* tests/pk-crypto.scm ("gcry-sexp-car + cdr", "gcry-sexp-nth",
"gcry-sexp-nth-data", "bytevector->hash-data->bytevector"): New tests.