packages: patch-and-repack: Build tarballs deterministically.
* guix/packages.scm (patch-and-repack)[build]: When invoking 'tar' to repack
the archive, pass "--mtime=@0", "--owner=root:0", and "--group=root:0".
gnu: Adjust packages to new handling of propagated inputs.
This is a followup to 161094c, which gets rid of the "a/b" notation for
propagated inputs.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Change reference from
"libc/linux-headers" to "linux-headers".
* gnu/packages/emacs.scm (magit-svn): Change "magit/git-modes" to
"git-modes".
gnu: util-linux: Use 'modify-phases'.
* gnu/packages/linux.scm (util-linux)[arguments]: Use 'modify-phases' instead
of 'alist-cons-before'.
gnu: corkscrew: Pass triplet instead of system as --build and --host.
This is a followup to commit 3c7d023d6458669c6bfa23bc85e098c91f699892,
"build-system/gnu: Pass --build=<triplet> to configure by default"
* gnu/packages/ssh.scm (corkscrew)[arguments]: In custom configure phase,
accept 'build' keyword argument and pass it to configure in --build argument
and, if not cross-compiling, the --host argument. Previously, the nix
system string was passed.
gnu: liba52: Remove --build from configure flags.
This is a followup to commit 3c7d023d6458669c6bfa23bc85e098c91f699892,
"build-system/gnu: Pass --build=<triplet> to configure by default"
* gnu/packages/video.scm (liba52)[arguments]: Remove --build from configure
flags.
gnu: sysfsutils-1: Remove --build from configure flags.
This is a followup to commit 3c7d023d6458669c6bfa23bc85e098c91f699892,
"build-system/gnu: Pass --build=<triplet> to configure by default"
* gnu/packages/linux.scm (sysfsutils-1)[arguments]: Remove field.
gnu: xbindkeys: Remove --build from configure flags.
This is a followup to commit 3c7d023d6458669c6bfa23bc85e098c91f699892,
"build-system/gnu: Pass --build=<triplet> to configure by default"
* gnu/packages/xdisorg.scm (xbindkeys)[arguments]: Remove field.
gnu: gmp: Remove --build from configure-flags.
This is a followup to commit 3c7d023d6458669c6bfa23bc85e098c91f699892,
"build-system/gnu: Pass --build=<triplet> to configure by default"
* gnu/packages/multiprecision.scm (gmp)[arguments]: Remove field.
build-system/gnu: Pass --build=<triplet> to configure by default.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Accept #:build
keyword argument. Pass it to 'gnu-build' on the build side.
* guix/build/gnu-build-system.scm (configure): Accept #:build keyword
argument. Unless it is false, pass --build to configure.
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.
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.
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.
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.
gnu: pcre: Enable more features.
* gnu/packages/pcre.scm (pcre)[arguments]: To configure-flags, add
"--enable-unicode-properties", "--enable-pcre16", and "--enable-pcre32".
gnu: bash: Update to 4.3.39.
* gnu/packages/bash.scm (%patch-series-4.3): Add patches 34-39.
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.
gnu: nss: Update to 3.19.2.
* gnu/packages/gnuzilla.scm (nss): Update to 3.19.2.
gnu: libgpg-error: Update to 1.19.
* gnu/packages/gnupg.scm (libgpg-error): Update to 1.19.
gnu: libidn: Update to 1.31.
* gnu/packages/libidn.scm (libidn): Update to 1.31.