Ludovic Courtès
81fa80b245
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.
2013-12-21 22:53:58 +01:00
Ludovic Courtès
3f26bfc18a
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.
2013-12-21 22:36:32 +01:00
Ludovic Courtès
0820098d1c
authenticate: Add test.
...
* tests/guix-authenticate.sh: New file.
* Makefile.am (SH_TESTS): Add it.
2013-12-21 21:47:17 +01:00
Ludovic Courtès
0a66781eee
build: Adjust pk-crypto tests to Libgcrypt 1.5.3.
...
Reported by Andreas Enge <andreas@enge.fr>.
* tests/pk-crypto.scm ("string->gcry-sexp->string"): Remove "#C0FFEE#"
from SEXPS.
("gcry-sexp-nth"): Start at index 1.
2013-12-21 00:10:09 +01:00
Ludovic Courtès
526382ff92
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.
2013-12-20 17:17:42 +01:00
Ludovic Courtès
ce507041f7
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.
2013-12-20 15:22:15 +01:00
Ludovic Courtès
971cb56dd0
Update 'TODO'.
2013-12-20 00:37:41 +01:00
Ludovic Courtès
3476ded934
Add (guix pk-crypto).
...
* guix/pk-crypto.scm, tests/pk-crypto.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
2013-12-20 00:36:26 +01:00
Ludovic Courtès
b1aa25be00
sync-with-upstream: Work around limitation of dash.
...
Reported by Andreas Enge <andreas@enge.fr>.
* nix/sync-with-upstream: Expand use of {cc,hh}, to placate dash.
2013-12-19 00:42:35 +01:00
Ludovic Courtès
0c5028faea
daemon: Fix 'HashSink::currentHash()'.
...
Before that, calls to 'HashSink::currentHash()' would eventually lead to
a segfault because the underlying gcrypt handle has been closed. (Note
that this method is only used via 'importPaths' and 'exportPath', though.)
* nix/libutil/gcrypt-hash.hh (struct guix_hash_context): Add a
constructor and a copy constructor; move out of 'extern "C"'.
* nix/libutil/gcrypt-hash.cc (guix_hash_final): Clear 'md_handle' upon
exit.
* nix/sync-with-upstream (top_srcdir): Change hash.{cc,hh} to read
'struct Ctx' instead of 'union Ctx'.
2013-12-19 00:02:49 +01:00
Ludovic Courtès
37dd969c2e
daemon: Add libgcrypt call to state that the initialization is over.
...
* nix/nix-daemon/guix-daemon.cc (main): Add 'gcry_control' call.
2013-12-19 00:02:49 +01:00
Andreas Enge
7eb71d7a3d
gnu: xf86-video-vmware: Add input xorg-server.
...
* gnu/packages/xorg.scm (xf86-video-vmware): Add input xorg-server.
2013-12-18 19:58:40 +01:00
Andreas Enge
217a67c020
gnu: iso-codes: Update to 3.49.
...
* gnu/packages/iso-codes.scm (iso-codes): Update to 3.49.
2013-12-18 15:49:57 +01:00
Andreas Enge
e148203588
gnu: shishi: Use libgcrypt-1.5.
...
* gnu/packages/shishi.scm (shishi): Use input libgcrypt-1.5 instead of 1.6.
2013-12-18 14:24:34 +01:00
Andreas Enge
a53421fdda
gnu: libgcrypt: Make old version 1.5.3 public.
...
* gnu/packages/gnupg.scm (libgcrypt-1.5): New variable.
* gnu/packages/ssh.scm (libssh): Use libgcrypt-1.5 instead of defining it
ad-hoc.
2013-12-18 14:11:01 +01:00
Ludovic Courtès
d44da8b092
gnu: libssh: Upgrade to 0.5.5.
...
* gnu/packages/ssh.scm (libssh): Upgrade to 0.5.5.
2013-12-17 22:02:07 +01:00
Ludovic Courtès
678110b949
gnu: libssh: Build against an older libgcrypt.
...
* gnu/packages/ssh.scm (libssh): Use libgcrypt 1.5.3 as an input.
2013-12-17 22:01:42 +01:00
Andreas Enge
f22e0e264e
gnu: ffmpeg: Modify runpath of binaries to include output library path.
...
* gnu/packages/video.scm (ffmpeg): Patch binaries to add output library path
to runpath.
2013-12-17 21:19:41 +01:00
Ludovic Courtès
f733c4c838
gnu: tor: Upgrade to 0.2.4.19.
...
* gnu/packages/tor.scm (tor): Upgrade to 0.2.4.19.
2013-12-16 23:57:24 +01:00
Ludovic Courtès
ec9a25612e
gnu: freeipmi: Upgrade to 1.3.4.
...
* gnu/packages/freeipmi.scm (freeipmi): Upgrade to 1.3.4.
2013-12-16 23:45:21 +01:00
Ludovic Courtès
375c6297c6
gnu: libgcrypt: Upgrade to 1.6.0.
...
* gnu/packages/gnupg.scm (libgcrypt): Upgrade to 1.6.0.
2013-12-16 23:44:58 +01:00
Ludovic Courtès
3dbeecd2ff
pull: Move build code to (guix build pull).
...
* guix/build/pull.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/pull.scm (unpack): Use it.
2013-12-16 23:26:48 +01:00
Cyril Roelandt
9cc98f8aa6
gnu: Add gnome-desktop.
...
* gnu/packages/gnome.scm (gnome-desktop): New variable.
2013-12-16 02:21:09 +01:00
Cyril Roelandt
2748062080
gnu: Add iso-codes.
...
* gnu/packages/iso-codes.scm: New file.
* gnu-system.am: Add it.
2013-12-15 23:39:43 +01:00
Cyril Roelandt
7a8605ceb5
gnu: Add libpeas.
...
* gnu/packages/gnome.scm (libpeas): New variable.
2013-12-15 23:39:43 +01:00
Cyril Roelandt
af949e8ee7
gnu: gtk+: enable introspection.
...
* gnu/packages/gtk.scm (atk, gdk-pixbuf, gtk+, pango): enable introspection
* guix/build/gnome.scm: New file.
2013-12-15 23:39:43 +01:00
Cyril Roelandt
503c5f6d5d
gnu: gobject-introspection: look for 'gcc' when no compiler seems available.
...
* gnu/packages/patches/gobject-introspection.patch: New file.
2013-12-15 23:37:22 +01:00
Ludovic Courtès
3e778ad3af
gnu: Move libelf and patchelf to (gnu packages elf).
...
* gnu/packages/patchelf.scm (patchelf): Move to...
* gnu/packages/elf.scm (patchelf): ... here.
* gnu/packages/patchelf.scm: Remove.
* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
* gnu/packages/gcc.scm (libelf): Move to...
* gnu/packages/elf.scm (libelf): ... here.
* gnu/packages/cdrom.scm, gnu/packages/icu4c.scm,
gnu/packages/samba.scm, gnu/packages/scheme.scm, gnu/packages/ssh.scm:
Adjust references to (gnu packages patchelf).
2013-12-15 23:27:56 +01:00
Ludovic Courtès
2ed5b0f42c
gnu: Add elfutils.
...
* gnu/packages/elf.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-12-15 23:19:44 +01:00
John Darrington
c4c4cc0597
gnu: Move numerous "inputs" which should be "native-inputs".
...
* gnu/packages/avahi.scm, gnu/packages/cdrom.scm, gnu/packages/cryptsetup.scm,
gnu/packages/curl.scm, gnu/packages/emacs.scm, gnu/packages/fontutils.scm,
gnu/packages/gdb.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/graphviz.scm,
gnu/packages/groff.scm, gnu/packages/gstreamer.scm, gnu/packages/gtk.scm,
gnu/packages/gv.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm,
gnu/packages/kde.scm, gnu/packages/libcanberra.scm, gnu/packages/libtiff.scm,
gnu/packages/linux.scm, gnu/packages/lvm.scm, gnu/packages/mp3.scm,
gnu/packages/netpbm.scm, gnu/packages/parted.scm, gnu/packages/pdf.scm,
gnu/packages/pulseaudio.scm, gnu/packages/qemu.scm, gnu/packages/qt.scm,
gnu/packages/ratpoison.scm, gnu/packages/rdf.scm, gnu/packages/slim.scm,
gnu/packages/texlive.scm, gnu/packages/version-control.scm,
gnu/packages/video.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/xml.scm, gnu/packages/xnee.scm, gnu/packages/xorg.scm,
gnu/packages/zip.scm: Move some build-time dependencies from `inputs' to
`native-inputs'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-15 22:31:19 +01:00
John Darrington
e766f699be
gnu: gnupg: Fix cross-compile issues.
...
* gnu/packages/gnupg.scm (libgpg-error): Add gcc as a native input,
and set the CC_FOR_BUILD variable.
* gnu/packages/gnupg.scm (libgcrypt): Add libgpg-error as a native input and
set the --with-gpg-error-prefix configure option.
* gnu/packages/gnupg.scm (libksba): Add libgpg-error as a native input and
set the --with-gpg-error-prefix configure option.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-15 22:31:18 +01:00
John Darrington
94e450812b
gnu: openssl: Fix cross-compile issues.
...
* gnu/packages/openssl.scm (openssl): Move perl from inputs to
native-inputs.
Replace reference to target bash with the native bash or target bash as
appropriate.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-15 22:31:18 +01:00
Andreas Enge
9b937137fb
gnu: imagemagick: Add inputs.
...
* gnu/packages/imagemagick.scm (imagemagick): Add inputs fftw and lcms.
2013-12-15 01:15:49 +01:00
Andreas Enge
d694a44cef
gnu: imagemagick: Update to 6.8.7-9.
...
* gnu/packages/imagemagick.scm (imagemagick): Update to 6.8.7-9.
2013-12-15 00:19:09 +01:00
Andreas Enge
f198ffd097
gnu: qt: Update to 5.2.0.
...
* gnu/packages/qt.scm (qt): Update to 5.2.0.
2013-12-14 23:49:27 +01:00
Mark H Weaver
6447738c01
guix package: allow multiple arguments after -i, -r, and -u.
...
* guix/scripts/package.scm (%options): Adapt option processors to accept and
return a second seed value: 'arg-handler', which handles bare arguments (if
not false). The install, remove, and upgrade option processors return an
arg-handler that repeat the same operation. All other option processors
return #f as the arg-handler. Make the arguments to install and remove
optional. The upgrade option processor deletes (upgrade . #f) from the
alist before adding a new entry.
(guix-package): Procedures passed to 'args-fold*' accept the new seed value
'arg-handler'. The 'operand-proc' uses 'arg-handler' (if not false).
* doc/guix.texi (Invoking guix package): Update docs.
* tests/guix-package.sh: Add test.
2013-12-14 16:25:02 -05:00
John Darrington
5839958a8f
gnu: libxml2: Fixed cross-compilation.
...
* gnu/packages/xml.scm (libxml2): assign "cross-libc"
to the variable glibc.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-14 22:12:08 +01:00
Ludovic Courtès
c94d01bab2
gnu: tzdata: Fix cross-compilation.
...
Reported by John Darrington <john@darrington.wattle.id.au>.
* gnu/packages/base.scm (tzdata): Use the 'source' keyword argument in
phases rather than the "source" input. This fixes cross-compilation.
2013-12-14 19:23:29 +01:00
Ludovic Courtès
52a79f1e73
pull: Compile guix/ files before gnu/ files.
...
* guix/scripts/pull.scm (unpack)[builder]: Build files under guix/
before files under gnu/.
2013-12-14 16:48:38 +01:00
Ludovic Courtès
ca6c4fa190
pull: Compile files in parallel.
...
* guix/scripts/pull.scm (unpack)[builder](compile-file*): Remove.
(call-with-process, p-for-each): New procedures. Use them to compile
files in parallel.
2013-12-14 16:32:42 +01:00
Ludovic Courtès
0c2e1dd45d
pull: Limit memory usage when compiling.
...
Reported by Arne Babenhauserheide <arne.babenhauserheide@kit.edu>.
* guix/scripts/pull.scm (unpack)[builder](compile-file*): Change to run
'compile-file' in a child process. This limits memory usage; before
that memory usage was proportional to the number of files to compile.
2013-12-14 16:32:42 +01:00
Andreas Enge
98a046cd25
gnu: icecat: Further analyse the failure of using system libpng and libjpeg.
...
* gnu/packages/gnuzilla.scm (icecat): Add comments.
2013-12-14 13:51:54 +01:00
John Darrington
e93c24df09
gnu: file: Fixed cross-compilation.
...
* gnu/packages/file.scm (file): [(eq? (%current-target-system) #f)] Add native-inputs.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-13 23:36:57 +01:00
Ludovic Courtès
1ae6df81db
gnu: icecat: Build without debugging symbols; use some of the system libs.
...
* gnu/packages/gnuzilla.scm (icecat): Add 'native-inputs'. Add bzip2,
libevent, libffi, and zlib as inputs. Add #:configure-flags. Change
'configure' phase to honor it.
2013-12-13 18:09:01 +01:00
Ludovic Courtès
2e5728318b
gnu: idutils: Add Emacs as an input so idutils.el gets compiled and installed.
...
* gnu/packages/idutils.scm (idutils): Add Emacs to 'native-inputs'.
2013-12-13 18:09:01 +01:00
Ludovic Courtès
9ed1ba8ae2
gnu: global: Install the elisp file under $out/share/emacs/site-lisp.
...
* gnu/packages/global.scm (global)[arguments]: Add #:phases.
2013-12-13 18:09:01 +01:00
Andreas Enge
31f9322e6f
gnu: ffmpeg: Check via "make fate".
...
* gnu/packages/patches/ffmpeg-check.patch: Drop patch.
* gnu-system.am (dist_patch_DATA): Unregister patch.
* gnu/packages/video.scm (ffmpeg): Drop patch and use "fate" as test target
as recommended at http://trac.ffmpeg.org/ticket/3177#comment:11 .
* gnu/packages/video.scm
2013-12-13 11:32:25 +01:00
Ludovic Courtès
a31f4d3557
gnu: libtasn1: Upgrade to 3.4.
...
* gnu/packages/gnutls.scm (libtasn1): Upgrade to 3.4. Add
'native-inputs' field.
2013-12-11 23:05:12 +01:00
Ludovic Courtès
b29f947d22
build: Skip one 'package-source-derivation' test when networking is missing.
...
* tests/packages.scm ("package-source-derivation, snippet"): Skip when
networking is missing.
2013-12-11 13:55:49 +01:00
Ludovic Courtès
8a43ff101e
gnu: guix: Upgrade to 0.5.
...
* gnu/packages/package-management.scm (guix): Upgrade to 0.5. Update
the bootstrap binaries; add mips64el; add
'guix-test-networking.patch'.
2013-12-11 13:55:17 +01:00