Ludovic Courtès [Tue, 1 Apr 2014 20:21:18 +0000 (22:21 +0200)]
gnu: Add Bogofilter.
* gnu/packages/mail.scm (bogofilter): New variable.
Cyril Roelandt [Mon, 31 Mar 2014 18:18:52 +0000 (20:18 +0200)]
gnu: Add guile-json.
* gnu/packages/guile.scm (guile-json): New variable.
Ludovic Courtès [Mon, 31 Mar 2014 21:47:02 +0000 (23:47 +0200)]
Use 'signature-case' in (guix nar) and 'substitute-binary'.
* guix/nar.scm (restore-file-set)[assert-valid-signature]: Rewrite in
terms of 'signature-case'.
* guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp):
Call 'leave' instead of 'raise' when SIGNATURE is invalid.
(&nar-signature-error, &nar-invalid-hash-error): Remove.
(assert-valid-signature): Add 'narinfo' parameter; remove 'port'.
Rewrite in terms of 'signature-case' and 'leave'. Mention NARINFO's
URI in error messages. Adjust caller.
(narinfo-sha256): New procedure.
(assert-valid-narinfo): Use it.
(valid-narinfo?): Rewrite using 'narinfo-sha256' and
'signature-case'.
* tests/substitute-binary.scm (assert-valid-signature,
test-error-condition): Remove.
("corrupt signature data", "unauthorized public key", "invalid
signature"): Remove.
Ludovic Courtès [Mon, 31 Mar 2014 21:34:20 +0000 (23:34 +0200)]
pki: Add 'signature-case' macro.
* guix/pki.scm (%signature-status): New procedure.
(signature-case): New macro.
* tests/pki.scm (%secret-key, %alternate-secret-key): New variables.
("signature-case valid-signature", "signature-case invalid-signature",
"signature-case hash-mismatch", "signature-case unauthorized-key",
"signature-case corrupt-signature"): New tests.
Ludovic Courtès [Mon, 31 Mar 2014 19:58:21 +0000 (21:58 +0200)]
substitute-binary: Notify of valid signatures.
* guix/scripts/substitute-binary.scm (assert-valid-narinfo): Add
#:verbose? parameter; when true, write "found valid signature".
(valid-narinfo?): Pass #:verbose? #f.
Ludovic Courtès [Mon, 31 Mar 2014 19:53:51 +0000 (21:53 +0200)]
guix archive: Make sure $sysconfdir/guix exists in '--authorize'.
* guix/scripts/archive.scm (authorize-key): Add 'mkdir-p' call.
Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.
Alex Sassmannshausen [Mon, 31 Mar 2014 18:08:26 +0000 (20:08 +0200)]
doc: fix typo.
* doc/guix.texi (Substitutes): add a missing 's'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Eric Bavier [Sun, 30 Mar 2014 23:09:10 +0000 (18:09 -0500)]
gnu: Remove unused lambda arguments and prefer separate phases over
augmented phases.
* gnu/packages/compression.scm (sharutils) [arguments]: Remove unused
lambda args.
* gnu/packages/gl.scm (mesa) [arguments]: Same
* gnu/packages/fltk.scm [arguments]: Same. Substitute const check
phase with #:tests? #f. Add pre-configure phase.
* gnu/packages/ghostscript.scm (ghostscript) [arguments]: Put makefile
patches in separate phase. Put so steps oinseparate phases.
* gnu/packages/glib.scm (gobject-introspection) [arguments]: Remove
unused lambda args. Put patches in pre-configure phase.
* gnu/packages/gnupg.scm (gnupg) [arguments]: Put patch in
pre-configure phase.
(pius) [arguments]: Delete const #t configure and build phases.
(signing-party) [arguments]: Factor patches into post-unpack phase.
(paperkey) [arguments]: Remove unused lambda args. Factor out
patches into pre-check phase.
* gnu/packages/icu4c.scm [arguments]: Change source dir after standard
unpack phase. Factor configure patches into pre-configure phase.
* gnu/packages/lsof.scm [arguments]: Remove unused lambda args.
Remove unnecessary apply.
* gnu/packages/lvm.scm (lvm2) [arguments]: Factor out patches into
pre-configure phase.
* gnu/packages/libtiff.scm [arguments]: Same
* gnu/packages/maths.scm (hdf5) [arguments]: Same
* gnu/packages/gtk.scm (gtk+-2) [arguments]: Same
* gnu/packages/mp3.scm (libmad) [arguments]: Same
(id3lib) [arguments]: Same
* gnu/packages/python.scm (python-2) [arguments]: Same
* gnu/packages/texlive.scm (texlive) [arguments]: Same
* gnu/packages/pretty-print.scm (a2ps) [arguments]: Same
(trueprint) [arguments]: Same
(source-highlight) [arguments]: Same. Remove unused lambda args.
* gnu/packages/netpbm.scm [arguments]: Remove unused lambda args.
Factor out test patches into pre-check phase. Condense calls to
substitute*
* gnu/packages/openldap.scm [arguments]: Factor out libtool copy into
post-configure phases. [synopsis] Remove package name.
* gnu/packages/ssh.scm (openssh) [arguments]: Factor out patches into
separate phases.
* gnu/packages/tcsh.scm [arguments]: Factor out test patches into
pre-check phase.
* gnu/packages/version-control.scm (git) [arguments]: Factor out
patches into post-configure phase.
* gnu/packages/vim.scm [arguments]: Same. [synopsis] Remove package
name.
* gnu/packages/vpn.scm (openconnect) [arguments]: Put configure flags
in #:configure-flags
Ludovic Courtès [Mon, 31 Mar 2014 08:57:28 +0000 (10:57 +0200)]
offload: Exit with code 100 upon build failures.
* guix/scripts/offload.scm (transfer-and-offload): Exit with code 100
upon build failure.
Ludovic Courtès [Sun, 30 Mar 2014 21:37:46 +0000 (23:37 +0200)]
doc: Document substitutes.
* doc/guix.texi (Invoking guix-daemon): Add cross-reference to
"Substitutes".
(Features): Remove footnote about unauthenticated substitutes. Link
to "Substitutes".
(Substitutes): New node.
(Invoking guix build): Link to "Substitutes".
(Packaging Guidelines): Likewise.
Ludovic Courtès [Sun, 30 Mar 2014 21:34:20 +0000 (23:34 +0200)]
Add hydra.gnu.org's narinfo signing public key.
* hydra.gnu.org.pub: New file.
* Makefile.am (pkgdata_DATA): New variable.
Ludovic Courtès [Sun, 30 Mar 2014 20:25:47 +0000 (22:25 +0200)]
tests: Test the error output of 'substitute-binary'.
* tests/substitute-binary.scm (test-error*): Rename to...
(test-quit): ... this. Add 'error-rx' parameter and honor it.
("not a number", "wrong version number", "substitute, no signature",
"substitute, invalid hash", "substitute, unauthorized key"): Adjust
accordingly.
Ludovic Courtès [Sun, 30 Mar 2014 20:11:22 +0000 (22:11 +0200)]
tests: Add more signed substitute tests.
* tests/substitute-binary.scm (%narinfo): Set 'URL', 'Compression', and
'NarHash'.
(call-with-narinfo): Create 'example.out' and 'example.nar'.
("query narinfo without signature", "substitute, no signature",
"substitute, authorized key"): New tests.
Ludovic Courtès [Sun, 30 Mar 2014 19:35:22 +0000 (21:35 +0200)]
tests: Simplify 'substitute-binary' tests; reduce use of global variables.
* tests/substitute-binary.scm (signature-body): Change 'str' parameter
to 'bv', and expect it to be a bytevector.
(%signature-body, %wrong-signature, %acl): Remove.
(signature): Rename to...
(signature-field): ... this. Add 'bv-or-str' parameter. Change 'str'
parameter to #:version. Add #:public-key parameter. Call
'signature-body' directly. Change domain part of the signature to
'example.gnu.org'.
("not a number", "wrong version number", "valid
narinfo-signature->canonical-sexp"): Use 'signature-field' instead of
'signature' or %SIGNATURE.
(test-error-condition): Add 'message-rx' parameter and honor it.
("corrupt signature data", "unauthorized public key", "invalid
signature"): Adjust accordingly.
(narinfo, %signed-narinfo): Remove.
("query narinfo with invalid hash"): Use '%narinfo' and
'signature-field' instead of 'narinfo' and '%signature'.
("query narinfo signed with authorized key", "query narinfo signed
with unauthorized key", "substitute, invalid hash", "substitute,
unauthorized key"): Likewise.
Ludovic Courtès [Sun, 30 Mar 2014 14:01:58 +0000 (16:01 +0200)]
tests: Make sure the daemon reports substitute hash mismatches.
* tests/store.scm ("substitute, corrupt output hash"): New test.
Ludovic Courtès [Sun, 30 Mar 2014 20:29:35 +0000 (22:29 +0200)]
substitute-binary: Defer narinfo authentication and authorization checks.
* guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp):
Catch 'gcry-error' around 'string->canonical-sexp' call, and re-raise
as a SRFI-35 &message and &nar-signature-error.
(narinfo-maker): Handle when SIGNATURE is #f or an invalid canonical
sexp.
(&nar-signature-error, &nar-invalid-hash-error): New variables.
(assert-valid-signature): Use them. Expect 'signature' to be a
canonical sexp.
(read-narinfo): Remove authentication and authorization checks.
(%signature-line-rx): New variable.
(assert-valid-narinfo, valid-narinfo?): New procedures.
(guix-substitute-binary): Wrap body in 'with-error-handling'.
[valid?]: New procedure.
<--query>: Show only store items of narinfos that match
'valid-narinfo?'.
<--substitute>: Call 'assert-valid-narinfo'.
* tests/substitute-binary.scm (test-error*): Use 'test-equal'.
(%keypair): Remove.
(%public-key, %private-key): Load from signing-key.{pub,sec}.
(signature-body): Add #:public-key parameter.
(call-with-narinfo): New procedure.
(with-narinfo): New macro.
("corrupt signature data", "unauthorized public key", "invalid
signature"): Make the first argument to 'assert-valid-signature' a
canonical sexp.
("invalid hash", "valid read-narinfo", "valid write-narinfo"):
Remove.
("query narinfo with invalid hash", "query narinfo signed with
authorized key", "query narinfo signed with unauthorized key",
"substitute, invalid hash", "substitute, unauthorized key"): New
tests.
Ludovic Courtès [Wed, 26 Mar 2014 22:31:31 +0000 (23:31 +0100)]
substitute-binary: Store the cache's URI in the local cached narinfo.
* guix/scripts/substitute-binary.scm (<narinfo>)[uri-base]: New field.
(narinfo-maker): Pass CACHE-URL as the 'uri-base' value.
(string->narinfo): Add 'cache-uri' parameter.
(lookup-narinfo)[cache-entry]: Switch to version 1. Add 'cache-uri'
field. Adjust body accordingly.
(remove-expired-cached-narinfos): Switch to version 1 by default.
Nikita Karetnikov [Fri, 28 Mar 2014 23:06:41 +0000 (00:06 +0100)]
substitute-binary: Support the Signature field of a narinfo file.
* guix/scripts/substitute-binary.scm (<narinfo>): Add the 'signature'
and 'contents' fields.
(narinfo-signature->canonical-sexp): New function.
(narinfo-maker): Add the 'signature' argument and use it.
(assert-valid-signature): New function.
(read-narinfo): Support the Signature field.
(write-narinfo): Use 'narinfo-contents'.
(%allow-unauthenticated-substitutes?): New variable.
* guix/base64.scm, tests/base64.scm, tests/substitute-binary.scm: New files.
* Makefile.am (SCM_TESTS): Add tests/base64.scm and
tests/substitute-binary.scm.
(MODULES): Add guix/base64.scm.
* test-env.in: Set 'GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES'.
Nikita Karetnikov [Sat, 15 Mar 2014 11:46:16 +0000 (11:46 +0000)]
nar: Clarify that 'assert-valid-signature' accepts a string.
* guix/nar.scm (assert-valid-signature): Improve the wording.
Ludovic Courtès [Sat, 29 Mar 2014 22:15:27 +0000 (23:15 +0100)]
gnu: ed: Upgrade to 1.10.
* gnu/packages/ed.scm (ed): Upgrade to 1.10. Use '.tar.lz' file, and
add 'native-inputs' field.
Ludovic Courtès [Sat, 29 Mar 2014 22:14:37 +0000 (23:14 +0100)]
gnu: ocrad: Upgrade to 0.23.
* gnu/packages/ocrad.scm (ocrad): Upgrade to 0.23.
Ludovic Courtès [Sat, 29 Mar 2014 21:59:46 +0000 (22:59 +0100)]
tests: Make sure 'guix archive --import' succeeds.
* tests/guix-archive.sh: Check the exit value of 'guix archive
--import'.
Ludovic Courtès [Thu, 27 Mar 2014 22:53:00 +0000 (23:53 +0100)]
daemon: Add tests for substitutes and --no-substitutes.
* tests/guix-daemon.sh: Add substituter tests.
Ludovic Courtès [Thu, 27 Mar 2014 21:35:34 +0000 (22:35 +0100)]
daemon: Clear $NIX_SUBSTITUTERS when passed '--no-substitutes'.
* nix/nix-daemon/guix-daemon.cc (main): When --no-substitutes is used,
clear NIX_SUBSTITUTERS. Before that, and after
89faa5c75cb3a419c6d02c51f56955275b7ae351, '--no-substitutes' would
lead to attempts to use 'download-using-manifests.pl', which in
practice would gracelessly fail.
Ludovic Courtès [Thu, 27 Mar 2014 21:08:53 +0000 (22:08 +0100)]
daemon: Change some options via 'settings.set'.
* nix/nix-daemon/guix-daemon.cc (parse_opt): Use 'settings.set' instead
of direct field access for 'buildCores', 'maxBuildJobs', and
'useSubstitutes'.
(main): Call 'settings.update' after 'argp_parse'.
Mark H Weaver [Wed, 26 Mar 2014 19:09:03 +0000 (15:09 -0400)]
gnu: tcl: Install man pages in share/man.
* gnu/packages/tcl.scm (tcl): Add --mandir configure flag.
Sree Harsha Totakura [Wed, 26 Mar 2014 16:59:01 +0000 (17:59 +0100)]
Add (guix svn-download).
* guix/svn-download.scm, guix/build/svn.scm: New files.
* Makefile.am (MODULES): Add them.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Andreas Enge [Wed, 26 Mar 2014 20:35:54 +0000 (21:35 +0100)]
gnu: gnu-pw-mgr: Fix download location.
* gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Fix download location.
Eric Bavier [Tue, 25 Mar 2014 20:51:32 +0000 (15:51 -0500)]
gnu: Add mc
* gnu/packages/mc.scm: New file
* gnu/packages/patches/mc-fix-ncurses-build.patch: New patch
* gnu-system.am (GNU_SYSTEM_MODULES): Add mc.scm.
(dist_patch_DATA): Add patch
Eric Bavier [Tue, 25 Mar 2014 20:51:32 +0000 (15:51 -0500)]
gnu: libssh2: Fix use with libssh2.pc
* gnu/packages/ssh.scm (libssh2): Pass --with-libgcrypt configure flag and
propagate inputs.
Ludovic Courtès [Wed, 26 Mar 2014 15:31:57 +0000 (16:31 +0100)]
Merge branch 'core-updates'
Ludovic Courtès [Wed, 26 Mar 2014 15:27:24 +0000 (16:27 +0100)]
offload: Remove erroneous 'close-pipe' call.
* guix/scripts/offload.scm (send-files): Remove 'close-pipe' call from
'guard' handler ('pipe' here referred to Guile's 'pipe' procedure.)
Ludovic Courtès [Wed, 26 Mar 2014 15:22:41 +0000 (16:22 +0100)]
offload: Wait for the processes involved in 'guix archive --missing'.
* guix/scripts/offload.scm (send-files): Keep the second return value of
'filtered-port'. Call 'waitpid' on it.
Andreas Enge [Wed, 26 Mar 2014 14:47:54 +0000 (15:47 +0100)]
gnu: gp2c: Upgrade to 0.0.8pl1.
* gnu/packages/algebra.scm (gp2c): Upgrade to 0.0.8pl1, add native input perl.
Ludovic Courtès [Wed, 26 Mar 2014 14:03:14 +0000 (15:03 +0100)]
offload: Allow one transfer in each direction simultaneously.
* guix/scripts/offload.scm (transfer-and-offload): Use 'upload' lock
instead of 'bandwidth' around 'send-files' calls, and 'download' lock
around 'retrieve-files' call.
Ludovic Courtès [Wed, 26 Mar 2014 13:58:00 +0000 (14:58 +0100)]
offload: Disable SSH-level compression.
* guix/scripts/offload.scm (remote-pipe): Remove '-z' lsh command line
argument. This makes transfers almost an order of magnitude slower.
OpenSSH's ssh(1) man page notes: "Compression is desirable on modem lines
and other slow connections, but will only slow down things on fast
networks." See also
<http://www.spikelab.org/blog/transfer-largedata-scp-tarssh-tarnc-compared.html>.
Andreas Enge [Wed, 26 Mar 2014 12:48:49 +0000 (13:48 +0100)]
gnu: pari-gp: Upgrade to 2.7.0.
* gnu/packages/algebra.scm (pari-gp): Upgrade to 2.7.0.
Eric Bavier [Tue, 25 Mar 2014 22:08:17 +0000 (17:08 -0500)]
gnu: gnu-pw-mgr: Upgrade to 1.2
* gnu/packages/gnu-pw-mgr.scm: Upgrade to 1.2
Ludovic Courtès [Tue, 25 Mar 2014 19:45:13 +0000 (20:45 +0100)]
check-available-binaries: Make sure substitutes are enabled.
* build-aux/check-available-binaries.scm: Add call to
'set-build-options'.
Ludovic Courtès [Tue, 25 Mar 2014 17:57:07 +0000 (18:57 +0100)]
hydra: Hard-code target systems.
* build-aux/hydra/gnu-system.scm (hydra-jobs)[systems]: Define locally,
independently of ARGUMENTS. This matches the new Hydra convention,
where using a 'system' input is deprecated.
Ludovic Courtès [Tue, 25 Mar 2014 15:14:45 +0000 (16:14 +0100)]
gnu: guile-ssh: Upgrade to 0.6.0.
* gnu/packages/ssh.scm (guile-ssh): Upgrade to 0.6.0.
[arguments]: Remove #:tests? #f; add #:parallel-build? #f.
Ludovic Courtès [Tue, 25 Mar 2014 15:12:19 +0000 (16:12 +0100)]
gnu: recutils: Upgrade to 1.7.
* gnu/packages/recutils.scm (recutils): Upgrade to 1.7.
Add 'arguments' field.
Ludovic Courtès [Tue, 25 Mar 2014 14:58:52 +0000 (15:58 +0100)]
download: Don't use 'http-get*' on Guile 2.0.10+.
* guix/build/download.scm (http-fetch)[post-2.0.7?]: Use
'string->number' and numeric comparison. This fixes version
comparison with "2.0.10" and subsequent 2.0 releases.
Eric Bavier [Tue, 25 Mar 2014 16:40:29 +0000 (11:40 -0500)]
gnu: Add cursynth
* gnu/packages/cursynth.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it
Cyril Roelandt [Fri, 21 Mar 2014 04:01:18 +0000 (05:01 +0100)]
gnu: remove python-fix-dbm.patch
* gnu/packages/patches/python-fix-dbm.patch: remove file. It is not needed
anymore, and is probably a left-over of a failed merge.
* gnu-system.am: remove gnu/packages/patches/python-fix-dbm.patch
Cyril Roelandt [Mon, 3 Mar 2014 00:53:11 +0000 (01:53 +0100)]
gnu: Enable tests in Python 3.
* gnu/packages/python.scm: enable tests for Python 3
* gnu/packages/python-fix-tests.patch: New file.
* gnu/packages/gnu-system.am (dist_patch_DATA): add it.
Cyril Roelandt [Fri, 14 Feb 2014 02:16:46 +0000 (03:16 +0100)]
gnu: Python: use /nix/.../sh instead of /bin/sh in the subprocess module
* gnu/packages/python.scm (python-2): patch Lib/subprocess.py to use
/nix/.../sh.
Cyril Roelandt [Sat, 1 Feb 2014 00:39:04 +0000 (01:39 +0100)]
gnu: Enable the 'ctypes' module in Python.
* gnu/packages/python.scm (python-2): add libffi to the inputs and use it to
build the ctypes module.
Ludovic Courtès [Tue, 25 Mar 2014 12:57:51 +0000 (13:57 +0100)]
hydra: Fix typo in core package list.
* build-aux/hydra/gnu-system.scm: Use (gnu packages gcc).
(%core-packages): Remove nonexistent 'gcc'; add GCC-4.8 and GCC-4.7.
Ludovic Courtès [Tue, 25 Mar 2014 12:55:56 +0000 (13:55 +0100)]
hydra: Remove cross-builds from i686-linux to mips64el-linux-gnuabi64.
* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs]: Define
'from-32-to-64?'. Filter out %CROSS-TARGETS that match.
Ludovic Courtès [Tue, 25 Mar 2014 12:40:27 +0000 (13:40 +0100)]
hydra: Build GCC and glibc, not their '-final' variant.
* build-aux/hydra/gnu-system.scm (%core-packages): Replace GCC-FINAL and
GLIBC-FINAL with GCC and GLIBC.
Manolis Ragkousis [Mon, 24 Mar 2014 22:18:09 +0000 (22:18 +0000)]
gnu: autotools: Add Autoconf 2.68; turn 'autoconf-wrapper' into a procedure.
* gnu/packages/autotools.scm (autoconf-2.68): New variable.
(autoconf-wrapper): Turn into a procedure. Turn comment into a
docstring.
(automake): Adjust accordingly.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Ludovic Courtès [Mon, 24 Mar 2014 21:20:54 +0000 (22:20 +0100)]
offload: Compress files being sent/retrieved.
* guix/scripts/offload.scm (send-files): Add "xz -dc |" to the remote
pipe command. Pass PIPE through 'call-with-compressed-output-port'.
Remove 'close-pipe' call.
(retrieve-files): Add "| xz -c" to the remote pipe command. Pass PIPE
through 'call-with-decompressed-port'. Remove 'close-pipe' call.
Ludovic Courtès [Mon, 24 Mar 2014 21:15:29 +0000 (22:15 +0100)]
utils: Add 'call-with-decompressed-port' and 'call-with-compressed-output-port'.
* guix/utils.scm (call-with-decompressed-port,
call-with-compressed-output-port): New procedures.
* tests/utils.scm ("compressed-output-port + decompressed-port"):
Rewrite to use them.
Ludovic Courtès [Mon, 24 Mar 2014 20:09:15 +0000 (21:09 +0100)]
utils: Add 'filtered-output-port' and 'compressed-output-port'.
* guix/utils.scm (filtered-output-port, compressed-output-port): New
procedures.
* tests/utils.scm ("compressed-output-port + decompressed-port"): New
test.
Ludovic Courtès [Sun, 23 Mar 2014 20:49:20 +0000 (21:49 +0100)]
gnu: glibc: Patch mtrace.pl to avoid retaining a reference to Perl.
* gnu/packages/base.scm (glibc)[argument] <pre-configure phase>: Patch
malloc/mtrace.pl.
Mark H Weaver [Sun, 23 Mar 2014 08:30:53 +0000 (04:30 -0400)]
gnu: tor: Upgrade to 0.2.4.21.
* gnu/packages/tor.scm (tor): Upgrade to 0.2.4.21.
Ludovic Courtès [Sat, 22 Mar 2014 21:55:58 +0000 (22:55 +0100)]
tests: Make sure substitutes are usable when we need them.
* tests/derivations.scm ("derivation-prerequisites-to-build and
substitutes"): Add call to 'set-build-options'.
Ludovic Courtès [Sat, 22 Mar 2014 21:46:11 +0000 (22:46 +0100)]
authenticate: Support reading the hash or key from stdin.
* guix/scripts/authenticate.scm (guix-authenticate): Add clauses
for ("rsautl" "-sign" "-inkey" key) and ("rsautl" "-verify" "-inkey" _
"-pubin").
* tests/guix-authenticate.sh (hash): Add test using -sign and -verify in
a pipeline.
Ludovic Courtès [Sat, 22 Mar 2014 21:38:23 +0000 (22:38 +0100)]
authenticate: Move actual work to separate procedures.
* guix/scripts/authenticate.scm (read-canonical-sexp): Change to expect
a port instead of a file name.
(read-hash-data): Likewise.
(sign-with-key, validate-signature): New procedures.
(guix-authenticate): Rewrite in terms of these two procedures.
Ludovic Courtès [Sat, 22 Mar 2014 21:19:29 +0000 (22:19 +0100)]
Update 'nix-upstream' sub-module.
* nix-upstream: Update.
Ludovic Courtès [Sat, 22 Mar 2014 20:58:23 +0000 (21:58 +0100)]
utils: Add 'decompressed-port' and 'compressed-port'.
* guix/utils.scm (decompressed-port, compressed-port): New procedures.
* guix/scripts/substitute-binary.scm (decompressed-port): Remove.
(guix-substitute-binary): Pass a symbol or #f as the first argument to
'decompress-port'.
* tests/utils.scm ("compressed-port, decompressed-port, non-file"): New
test.
Ludovic Courtès [Sat, 22 Mar 2014 20:50:12 +0000 (21:50 +0100)]
utils: 'filtered-port' doesn't leave dangling processes behind.
* guix/utils.scm (filtered-port): Make sure the 'execl' child process
always exits, and does (primitive-_exit 1) upon execution failure.
Use 'primitive-_exit' in the 'dump-port' child process.
* tests/utils.scm ("filtered-port, does not exist"): New test.
Yakkala Yagnesh Raghava [Thu, 20 Mar 2014 15:15:26 +0000 (00:15 +0900)]
licenses: Fix Nixpkgs license URL.
* guix/licenses.scm: Fix Nixpkgs URL in comment.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Eric Bavier [Sat, 22 Mar 2014 18:00:50 +0000 (13:00 -0500)]
gnu: Provide single-precision fftw library for pulseaudio
* gnu/packages/algebra.scm (fftwf): New variable
* gnu/packages/pulseaudio.scm (pulseaudio): Use it
Mark H Weaver [Sat, 22 Mar 2014 15:19:19 +0000 (11:19 -0400)]
Merge branch 'master' into core-updates
Mark H Weaver [Fri, 21 Mar 2014 02:27:43 +0000 (22:27 -0400)]
gnu: guile: Upgrade to 2.0.11.
* gnu/packages/guile.scm (guile): Upgrade to 2.0.11.
Mark H Weaver [Fri, 21 Mar 2014 07:44:03 +0000 (03:44 -0400)]
gnu: cmake: Install man pages and docs in share/{man,doc}.
* gnu/packages/cmake.scm (cmake): Pass --mandir and --docdir to configure.
Rewrite the code that selects the first two components of the version.
Mark H Weaver [Fri, 21 Mar 2014 07:14:54 +0000 (03:14 -0400)]
gnu: flac: Install man pages in share/man.
* gnu/packages/xiph.scm (flac): Add --mandir configure flag.
Eric Bavier [Fri, 21 Mar 2014 20:12:47 +0000 (15:12 -0500)]
gnu: libvorbis: disable parallel tests
* gnu/packages/xiph.scm (libvorbis): disable parallel tests
Mark H Weaver [Fri, 21 Mar 2014 08:04:37 +0000 (04:04 -0400)]
gnu: openssh: Upgrade to 6.6p1.
* gnu/packages/ssh.scm (openssh): Upgrade to 6.6p1.
Ludovic Courtès [Thu, 20 Mar 2014 22:05:59 +0000 (23:05 +0100)]
daemon: Really override the substituters setting.
Reported by Andreas Enge <andreas@enge.fr>:
<https://lists.gnu.org/archive/html/guix-devel/2014-03/msg00211.html>.
* nix/nix-daemon/guix-daemon.cc (main): Set the 'NIX_SUBSTITUTERS'
env. var. Leave 'settings.substituters' unchanged.
Ludovic Courtès [Thu, 20 Mar 2014 21:33:52 +0000 (22:33 +0100)]
pk-crypto: Don't use
Ed25519 when libgcrypt is older than 1.6.0.
* guix/pk-crypto.scm (gcrypt-version): New procedure.
* guix/scripts/archive.scm (%key-generation-parameters): New variable.
(%options) <generate-key>: Use it.
* tests/pk-crypto.scm ("sign + verify,
Ed25519"): Skip if using gcrypt < 1.6.0.
Mark H Weaver [Thu, 20 Mar 2014 20:29:21 +0000 (16:29 -0400)]
gnu: tzdata: Upgrade to 2014a.
Mark H Weaver [Thu, 20 Mar 2014 20:08:49 +0000 (16:08 -0400)]
gnu: lynx: Upgrade to 2.8.8rel.2.
* gnu/packages/lynx.scm (lynx): Upgrade to 2.8.8rel.2.
Mark H Weaver [Thu, 20 Mar 2014 07:52:13 +0000 (03:52 -0400)]
gnu: util-macros: Install .pc file in lib/pkgconfig; remove INSTALL file.
* gnu/packages/xorg.scm (util-macros): Substitute "$(libdir)/pkgconfig"
for "$(datadir)/pkgconfig" in Makefile.in. After install, remove
share/util-macros/INSTALL and share/util-macros.
Mark H Weaver [Thu, 20 Mar 2014 07:51:09 +0000 (03:51 -0400)]
gnu: bc: Install docs in share/man and share/info.
* gnu/packages/algebra.scm (bc): Pass --mandir and --infodir to configure.
Mark H Weaver [Thu, 20 Mar 2014 07:49:22 +0000 (03:49 -0400)]
gnu: unzip: Install man pages in share/man.
* gnu/packages/zip.scm (unzip): Substitute /share/man/ for /man/ in Makefile.
Mark H Weaver [Thu, 20 Mar 2014 07:47:31 +0000 (03:47 -0400)]
gnu: screen: Install docs in share/man and share/info.
* gnu/packages/screen.scm (screen): Add --mandir and --infodir
configure flags.
Mark H Weaver [Thu, 20 Mar 2014 07:45:29 +0000 (03:45 -0400)]
gnu: netcat: Install docs in share/man and share/info.
* gnu/packages/admin.scm (netcat): Add --mandir and --infodir
configure flags.
Ludovic Courtès [Wed, 19 Mar 2014 22:21:26 +0000 (23:21 +0100)]
gnu: readline: Fix cross-compilation.
* gnu/packages/readline.scm (readline)[arguments]: Add
"bash_cv_wcwidth_broken=no" to #:configure-flags
when (%current-target-system) is true.
Ludovic Courtès [Wed, 19 Mar 2014 22:12:06 +0000 (23:12 +0100)]
offload: Send build logs to file descriptor 4.
* guix/scripts/offload.scm (with-error-to-port): New macro.
(remote-pipe): Add #:error-port parameter. Use 'with-error-to-port'
around 'open-pipe*' call.
(build-log-port): New procedure.
(offload): Change #:log-port to default to (build-log-port). Call
'remote-pipe' with #:error-port LOG-PORT.
Ludovic Courtès [Wed, 19 Mar 2014 21:26:08 +0000 (22:26 +0100)]
substitute-binary: Quietly handle 404s when fetching narinfos.
* guix/scripts/substitute-binary.scm (fetch): Add #:quiet-404?
parameter. Upon &http-get-error, re-raise C if the QUIET-404? is
true and the code is 404.
(fetch-narinfo): Pass #:quiet-404? #t.
Ludovic Courtès [Wed, 19 Mar 2014 21:22:36 +0000 (22:22 +0100)]
gnu: xterm: Upgrade to 303.
* gnu/packages/xorg.scm (xterm): Upgrade to 303.
Ludovic Courtès [Wed, 19 Mar 2014 20:40:10 +0000 (21:40 +0100)]
pk-crypto: Use RFC6979 when signing with an ECC or DSA key.
* guix/pk-crypto.scm (bytevector->hash-data): Add #:key-type parameter.
Use the 'pkcs1' flag when KEY-TYPE is 'rsa', and 'rfc6979' when
KEY-TYPE is 'ecc' or 'dsa'.
(key-type): New procedure.
* guix/scripts/authenticate.scm (read-hash-data): Add 'key-type'
parameter. Pass it to 'bytevector->hash-data'. Adjust caller
accordingly.
* tests/pk-crypto.scm (%ecc-key-pair): New variable.
("key-type"): New test.
("sign + verify"): Pass #:key-type to 'bytevector->hash-data'.
("sign + verify,
Ed25519"): New test.
Ludovic Courtès [Wed, 19 Mar 2014 18:12:04 +0000 (19:12 +0100)]
gnu: imagemagick: Upgrade to 6.8.8-8.
* gnu/packages/imagemagick.scm (imagemagick): Upgrade to 6.8.8-8.
Mark H Weaver [Wed, 19 Mar 2014 09:00:38 +0000 (05:00 -0400)]
gnu: bzip2: Install man pages to share/man/man1, not share/man1.
* gnu/packages/compression.scm (bzip2)[fix-man-dir]: Rename "man"
to "share/man", not "share".
Mark H Weaver [Wed, 19 Mar 2014 09:02:25 +0000 (05:02 -0400)]
gnu: ncurses: Install man pages in share/man/man*, not man/man*.
* gnu/packages/ncurses.scm (ncurses): Add --mandir configure flag.
Ludovic Courtès [Tue, 18 Mar 2014 23:18:04 +0000 (00:18 +0100)]
gnu: Add Window Maker.
* gnu/packages/gnustep.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Ludovic Courtès [Tue, 18 Mar 2014 22:59:57 +0000 (23:59 +0100)]
tests: Test recovery from 'valid-path?' RPCs with an invalid parameter.
* tests/store.scm ("valid-path? live", "valid-path? false", "valid-path?
error", "valid-path? recovery"): New tests.
Ludovic Courtès [Tue, 18 Mar 2014 22:44:22 +0000 (23:44 +0100)]
Update 'nix-upstream' sub-module.
* nix-upstream: Update.
Ludovic Courtès [Tue, 18 Mar 2014 17:13:15 +0000 (18:13 +0100)]
gnu: libxft: Propagate Freetype and Fontconfig.
* gnu/packages/xorg.scm (libxft): Move Freetype and Fontconfig from
'inputs' to 'propagated-inputs'.
Ludovic Courtès [Tue, 18 Mar 2014 14:17:50 +0000 (15:17 +0100)]
gnu: guile: Upgrade to 2.0.10.
* gnu/packages/guile.scm (guile-2.0): Upgrade to 2.0.10.
Ludovic Courtès [Tue, 18 Mar 2014 14:14:02 +0000 (15:14 +0100)]
gnu: Make libgc 7.4 the default.
* gnu/packages/bdw-gc.scm (libgc): Rename to...
(libgc-7.2): ... this.
(libgc-7.4): Rename to...
(libgc): ... this.
* gnu/packages/guile.scm (guile-2.0): Switch to LIBGC.
(guile-2.0/fixed): Alias GUILE-2.0.
Ludovic Courtès [Mon, 17 Mar 2014 22:49:35 +0000 (23:49 +0100)]
guix archive: Generate curve
Ed25519 keys by default.
* guix/scripts/archive.scm (%options) <generate-key>: Default to curve
Ed25519. Suggested by Christian Grothoff <grothoff@in.tum.de>.
Ludovic Courtès [Mon, 17 Mar 2014 22:47:18 +0000 (23:47 +0100)]
guix archive: Improve '--generate-key' error reporting.
* guix/scripts/archive.scm (%options) <generate-key>: Report the error
source and string when 'string->canonical-sexp' fails.
Ludovic Courtès [Mon, 17 Mar 2014 22:30:21 +0000 (23:30 +0100)]
build: Fix test failures due to the nix -> guix directory name change.
Reported by Nikita Karetnikov <nikita@karetnikov.org>
and Pierre-Antoine Rault <par@rigelk.eu>.
* test-env.in: Change 'NIX_LOG_DIR' in accordance with
f5768af.
* tests/guix-register.sh: Likewise for 'NIX_LOG_DIR' and 'NIX_DB_DIR'.
Raimon Grau [Sun, 16 Mar 2014 22:38:23 +0000 (23:38 +0100)]
gnu: luajit: Update to 2.0.3.
* gnu/packages/lua.scm (luajit): Update to 2.0.3.
Ludovic Courtès [Mon, 17 Mar 2014 17:26:46 +0000 (18:26 +0100)]
Merge branch 'master' into core-updates
Ludovic Courtès [Mon, 17 Mar 2014 17:24:13 +0000 (18:24 +0100)]
gnu: python: Change URL to https.
* gnu/packages/python.scm (python-2, python)[source]: Change URL to
https. This makes sure GnuTLS is available in the derivation that
downloads the source, which is required since http URLs get redirected
to https anyway. Reported by Manolis Ragkousis <manolis837@gmail.com>.