Commit Graph

7706 Commits

Author SHA1 Message Date
Ludovic Courtès ef8f910fce substitute: Improve functional decomposition.
* guix/scripts/substitute.scm (display-narinfo-data,
  process-query, process-substitution): New procedures.  Code moved from...
  (guix-substitute): ... here.  Use them.
2015-07-13 18:29:01 +02:00
Ludovic Courtès f8a8e0fe16 guix build: Add '--substitute-urls' client option.
* guix/scripts/build.scm (%standard-build-options,
  show-build-options-help): Add --substitute-urls=URLS.
  (set-build-options-from-command-line): Honor it.
* guix/store.scm (%default-substitute-urls): Make public.
* doc/guix.texi (Substitutes): Add xref to the client --substitute-urls
  option.
  (Invoking guix build): Document it.
  (Invoking guix-daemon): Add 'daemon-substitute-urls' anchor.
2015-07-13 18:29:01 +02:00
Ludovic Courtès 24f5aaaf24 substitute: Honor "substitute-urls" option passed by "untrusted" clients.
* guix/scripts/substitute.scm (or*): New macro.
  (%cache-url): Honor "untrusted-substitute-urls".
* guix/tests.scm (%test-substitute-urls): New variable.
  (open-connection-for-tests): Use it.
* tests/derivations.scm ("derivation-prerequisites-to-build and substitutes",
  "derivation-prerequisites-to-build and substitutes, non-substitutable
  build", "derivation-prerequisites-to-build and substitutes, local build"):
  Pass it to 'set-build-options'.
* tests/guix-daemon.sh: Likewise.
* tests/store.scm ("substitute query, alternating URLs"): New test.
  ("substitute query", "substitute", "substitute + build-things with output
  path", "substitute, corrupt output hash", "substitute --fallback"): Pass
  #:substitute-urls to 'set-build-options'.
2015-07-13 18:29:01 +02:00
Ludovic Courtès 895d1eda54 substitute: Store cached narinfo in cache-specific sub-directories.
This ensures that switching between different substitute servers doesn't lead
to a polluted narinfo cache.

* guix/scripts/substitute.scm (narinfo-cache-file): Add 'cache-url'
  parameter.  Add the base32 of CACHE-URL as a sub-directory under
  %NARINFO-CACHE-DIRECTORY.  Update callers.
  (cached-narinfo): Likewise.  Call 'mkdir-p' on the dirname of the cache
  file.  Update callers.
  (remove-expired-cached-narinfos): Add 'directory' parameter and use it
  instead of %NARINFO-CACHE-DIRECTORY.
  (narinfo-cache-directories): New procedure.
  (maybe-remove-expired-cached-narinfo): Call 'remove-expired-cached-narinfos'
  for each item returned by 'narinfo-cache-directories'.
2015-07-13 18:29:01 +02:00
Ludovic Courtès 074efd63a8 substitute: Pass the cache URL instead of <cache> objects.
* guix/scripts/substitute.scm (<cache>): Rename to...
  (<cache-info>): ... this.
  (open-cache): Rename to...
  (download-cache-info): ... this.  Return a <cache-info> or #f.
  (open-cache*): Remove.
  (cache-narinfo!): Take a URL instead of a <cache> as the first parameter.
  (fetch-narinfos): Likewise.  Call 'download-cache-info'.  Remove use of
  'force'.
  (guix-substitute): Replace calls to 'open-cache*' with %CACHE-URL.
2015-07-13 18:29:01 +02:00
Ludovic Courtès e4e099feca substitute: Remove unneeded conditionals.
* guix/scripts/substitute.scm (guix-substitute): Remove unneeded (if cache
  ...) forms since CACHE is always true (it's a promise.)
2015-07-13 18:29:01 +02:00
Mathieu Lirzin b57ec5f6cd gnu: file-systems: Fix typo.
* gnu/system/file-systems.scm (%container-file-systems): Fix typo in a
  comment.
2015-07-13 16:22:16 +02:00
Alex Kost 663d0733c8 guix lint: Remove duplicated module lines.
* guix/scripts/lint.scm (guix): Remove duplicated lines for using
  'srfi-34' and 'srfi-35' modules.  These lines were introduced twice by
  commits b210b35 and 002c57c.
2015-07-13 10:20:34 +03:00
David Hashe f0afb0c86f gnu: Add rhythmbox.
* gnu/packages/gnome.scm (rhythmbox): New variable.
2015-07-12 23:29:08 -04:00
Ludovic Courtès 98b385d15b gnu: Add 'libstdc++-doc'.
* gnu/packages/gcc.scm (make-libstdc++-doc): New procedure.
  (libstdc++-doc-4.9, libstdc++-doc-5.1): New variables.
2015-07-12 23:10:43 +02:00
Claes Wallin e662d64481 gnu: Add execline.
* gnu/package/skarnet.scm (execline): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-07-12 22:02:41 +02:00
Claes Wallin 4e2bd414f8 gnu: Add skalibs.
* gnu/package/skarnet.scm (skalibs): New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-07-12 22:00:40 +02:00
Claes Wallin fd83aa000c gnu: pumpa: Update to 0.9.1.
* gnu/packages/pumpio.scm (pumpa): Update to 0.9.1.  Change URL.

Signed-off-by: Mathieu Lirzin <mthl@openmailbox.org>
2015-07-12 11:09:05 +02:00
Ludovic Courtès f727ec5bc8 gnu: perl: Do not retain references to Binutils and other build-time tools.
* gnu/packages/perl.scm (perl)[arguments]: Pass -Dlibpth and -Dplibpth to
  ./Configure.
2015-07-12 01:27:00 +02:00
Ludovic Courtès 161094c8e2 packages: Rewrite 'transitive-inputs' to be linear and remove duplicates.
There were two issues:

  1. Use of 'delete-duplicates', which is quadratic, was a serious problem for
     closures with lots of propagated inputs, such as that of the 'hydra'
     package (several minutes for 'guix build hydra -n'!).

  2. The 'delete-duplicates' call essentially had no effect since duplicate
     inputs typically had a different label and were thus kept.  For
     instance, (bag-transitive-inputs (package->bag inkscape)) would return
     216 items whereas (delete-duplicates (map cdr THAT)) contains only 67
     items.

     The new implementation returns 67 items in this case.  For 'hydra', we're
     down from 42211 items to 361, and roughly 13s for 'guix build hydra'.

* guix/packages.scm (transitive-inputs): Rewrite as a breadth-first
  traversal.  Remove duplicate propagated inputs.
* tests/packages.scm ("package-transitive-inputs", "package->bag, propagated
  inputs"): Adjust to use simple labels for propagated inputs, without "/".
  ("package-transitive-inputs, no duplicates"): New test.
2015-07-12 01:27:00 +02:00
Ludovic Courtès 686784d0b9 tests: Adjust tests for new bootstrap Guile.
This is a followup to commit 5d6792f ("gnu: bootstrap: Create a wrapper for
guile to set the system load path.")

* tests/size.scm ("store-profile"): Expect profile of 'bash' bootstrap binary.
* tests/gexp.scm ("gexp->derivation #:references-graphs"): Expect GUILE-DRV to
  depend on 'bash' bootstrap binary.
2015-07-12 01:27:00 +02:00
Mark H Weaver aa7251176f gnu: Require NEON on armhf.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): On armhf,
  include --with-fpu=neon.
* doc/guix.texi (GNU Distribution): Document that our armhf port
  requires NEON.
2015-07-11 19:06:20 -04:00
Mark H Weaver c7bdc6bb7d gnu: polkit: Update to 0.113.
* gnu/packages/polkit.scm (polkit): Update to 0.113.
2015-07-11 19:03:19 -04:00
Mark H Weaver 087a4e9c43 gnu: openssh: Update to 6.9p1.
* gnu/packages/ssh.scm (openssh): Update to 6.9p1.
  [source]: Use http mirrors.  Add mirror from Erlangen.
2015-07-11 18:40:33 -04:00
Mark H Weaver f8facc18ed install: Fix variable reference to iproute2 package.
This is a followup to commit d43002f645.

* gnu/system/install.scm (installation-os)[packages]: Refer to IPROUTE instead
  of IPROUTE2.
2015-07-11 16:44:23 -04:00
Mark H Weaver e52ecc74c9 gnu: openssl: Update to 1.0.2d.
* gnu/packages/tls.scm (openssl): Update to 1.0.2d.
2015-07-11 15:50:13 -04:00
Mark H Weaver 16f7190830 gnu: pcre: Enable more features.
* gnu/packages/pcre.scm (pcre)[arguments]: To configure-flags, add
  "--enable-unicode-properties", "--enable-pcre16", and "--enable-pcre32".
2015-07-11 13:00:13 -04:00
Mark H Weaver a60cd281d1 gnu: ntp: Update to 4.2.8p3; use system libevent.
* gnu/packages/ntp.scm (ntp): Update to 4.2.8p3.
  [source]: Add snippet to remove bundled copy of libevent.
  [inputs]: Add libevent.
  [arguments]: Add 'disable-network-test' phase.
2015-07-11 11:39:34 -04:00
Alex Kost 7741139080 emacs: Find autoloads in "guix.d" subdirectories.
Co-authored-by: Federico Beffa <beffa@fbengineering.ch>.

* emacs/guix-emacs.el (guix-emacs-find-autoloads-in-directory,
  guix-emacs-subdirs): New functions.
  (guix-emacs-find-autoloads): Search for autoloads in "guix.d"
  subdirectories.
  (guix-emacs-load-autoloads): Add subdirectories to 'load-path'.
* emacs/guix-init.el.in: Do not add guix emacs directory to 'load-path'
  because it will be done by 'guix-emacs-load-autoloads'.  Move
  requiring 'guix-emacs' from the top-level to a clause for checking for
  'guix-package-enable-at-startup'.
2015-07-11 18:21:35 +03:00
Ludovic Courtès d43002f645 install: Add iproute2 to the installation image.
Fixes <http://bugs.gnu.org/21019>.
Reported by <info@danieleparisi.me>.

* gnu/system/install.scm (installation-os)[packages]: Add IPROUTE2.
2015-07-11 12:25:39 +02:00
Mark H Weaver 6870216758 gnu: gnome-terminal: Move dconf to propagated-inputs.
* gnu/packages/gnome.scm (gnome-terminal): Move dconf from inputs to
  propagated-inputs.
2015-07-11 02:48:50 -04:00
Mark H Weaver db35fb88e4 gnu: bash: Update to 4.3.39.
* gnu/packages/bash.scm (%patch-series-4.3): Add patches 34-39.
2015-07-11 01:04:18 -04:00
Mark H Weaver 47ed8e048b gnu: texinfo: Add procps to native-inputs to fix tests.
* gnu/packages/texinfo.scm (texinfo)[native-inputs]: Add procps.
  (texinfo-5, texinfo-4)[native-inputs]: Override to be empty.
* gnu/packages/commencement.scm (texinfo-boot0)[texinfo]: Override
  native-inputs to be empty.
2015-07-11 00:59:31 -04:00
Mark H Weaver 8ba24e62af gnu: nss: Update to 3.19.2.
* gnu/packages/gnuzilla.scm (nss): Update to 3.19.2.
2015-07-10 23:47:08 -04:00
Paul van der Walt c273728a12 gnu: libgpg-error: Update to 1.19.
* gnu/packages/gnupg.scm (libgpg-error): Update to 1.19.
2015-07-10 23:47:08 -04:00
Mark H Weaver f9aec676ac gnu: libidn: Update to 1.31.
* gnu/packages/libidn.scm (libidn): Update to 1.31.
2015-07-10 23:47:08 -04:00
Mark H Weaver f7b55b0416 gnu: texinfo: Use version 6.0 by default.
* gnu/packages/texinfo.scm (texinfo): Update to 6.0.
  (texinfo-6): Removed.
  (texinfo-5): New variable.
2015-07-10 23:47:08 -04:00
Mark H Weaver 5182657449 gnu: libunistring: Update to 0.9.6.
* gnu/packages/libunistring.scm (libunistring): Update to 0.9.6.
2015-07-10 23:47:08 -04:00
Mark H Weaver 87da4f1ed8 gnu: mpfr: Update to 3.1.3.
* gnu/packages/multiprecision.scm (mpfr): Update to 3.1.3.
2015-07-10 23:47:08 -04:00
Mark H Weaver 302af59fc1 gnu: ed: Update to 1.12.
* gnu/packages/ed.scm (ed): Update to 1.12.
2015-07-10 23:47:08 -04:00
Mark H Weaver 79e09ef2fd gnu: gettext: Update to 0.19.5.
* gnu/packages/patches/gettext-msgunfmt.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/gettext.scm (gnu-gettext): Update to 0.19.5.  Remove patch.
2015-07-10 23:47:07 -04:00
Mark H Weaver c2ba49ef8e gnu: coreutils: Update to 8.24.
* gnu/packages/patches/coreutils-dummy-man.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.
* gnu/packages/base.scm (coreutils): Update to 8.24.  Remove patch.
2015-07-10 23:47:07 -04:00
Mark H Weaver 6f317fa365 gnu: gcc-4.9: Update to 4.9.3.
* gnu/packages/gcc.scm (gcc-4.9): Update to 4.9.3.  Remove
  "gcc-arm-link-spec-fix.patch" from patches.
2015-07-10 23:47:07 -04:00
Mark H Weaver 5d6792f06f gnu: bootstrap: Create a wrapper for guile to set the system load path.
* gnu/packages/bootstrap.scm (raw-build): After unpacking, use the bootstrap
  guile to create its own wrapper that sets the guile system load path.
2015-07-10 23:47:07 -04:00
Ludovic Courtès b62a3ebcdd tests: Skip namespace-related tests when that feature is missing.
* tests/syscalls.scm ("clone", "setns", "pivot-root"): Skip
  unless (user-namespace (getpid)) exists.
2015-07-10 23:46:52 +02:00
Mark H Weaver 1f4335ae78 gnu: openssl: Update to 1.0.2d.
* gnu/packages/tls.scm (openssl): Update to 1.0.2d.
2015-07-10 12:36:52 -04:00
Mark H Weaver 6c413c92f2 Revert "gnu: boost: Update to 1.58.0."
This reverts commit 16de69c950.
2015-07-10 12:35:50 -04:00
David Thompson 1e49bcf981 gnu: Include (guix build syscalls) module in initrd/VM derivations.
This bug was introduced in commit 85c3127.

Thanks to Christopher Webber for reporting it.

* gnu/syste/linux-initrd.scm (base-initrd): Include (guix build syscalls)
  module in derivation.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
2015-07-10 09:47:07 -04:00
David Hashe e8627cd995 gnu: brasero: Update to 3.12.1, Add inputs.
* gnu/packages/gnome.scm (brasero): Update to 3.12.1.
  [inputs]: Add gobject-introspection, nettle, and totem-pl-parser.
2015-07-10 01:00:18 -04:00
Mark H Weaver b93c1d9dba gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix-devel): Update to dd91141.
  [arguments]: Use 'modify-phases'.  Add 'disable-container-tests' phase.
2015-07-09 17:43:34 -04:00
Mark H Weaver dd9114107d Revert "gnu: guix: Update snapshot."
This reverts commit bfabd1fbb8.
2015-07-09 15:15:06 -04:00
Mark H Weaver bfabd1fbb8 gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix-devel): Update to 9f04196.
2015-07-09 13:07:11 -04:00
Mark H Weaver a8f7da211d Revert "gnu: libgpg-error: Update to 1.19."
This reverts commit 552b98a208.
2015-07-09 12:51:17 -04:00
Paul van der Walt 552b98a208 gnu: libgpg-error: Update to 1.19.
* gnu/packages/gnupg.scm (libgpg-error): Update to 1.19.
2015-07-09 18:43:10 +02:00
Paul van der Walt 18ed97d6e2 gnu: pinentry: Update to 1.9.5; add input libassuan.
* gnu/packages/gnupg.scm (pinentry): Update to 1.9.5. Add input libassuan.
2015-07-09 18:43:10 +02:00