xz compression is slow; using the multi-thread mode of xz can make it more
than 6 times faster, for example when compressing the large linux-libre
source.
* guix/build/utils.scm (%xz-parallel-args): New procedure.
* guix/packages.scm (patch-and-repack): Specify the required above xz
arguments by setting the XZ_DEFAULTS environment variable.
* guix/scripts/pack.scm (%compressors, bootstrap-xz): Modify the commands
Gexps so they do not need to be quoted. This allows lazily evaluating the
arguments on the builder's side. Specify the required xz arguments.
(self-contained-tarball): Do not quote the compressor command value.
(docker-image): Likewise.
* guix/utils.scm (decompressed-port, compressed-port)
(compressed-output-port): Specify the required above xz arguments.
This makes it so that delete-file-recursively honors its docstring, which says
it should "report but ignore errors".
Fixes <https://issues.guix.gnu.org/43366>.
* guix/build/utils.scm (warn-on-error): New syntax.
(delete-file-recursively): Use it to catch exceptions and print warning
messages.
Reported-by: Fredrik Salomonsson <plattfot@gmail.com>
This is a followup to 5cf6f6fe7b.
* gnu/packages/tls.scm (gnutls)[arguments]: In 'disable-failing-tests'
phase, change 'tests/fastopen.sh' instead of 'tests/Makefile.am'.
[native-inputs]: Remove AUTOCONF, AUTOMAKE, GETTEXT-MINIMAL, and
LIBTOOL.
'GUILE_SYSTEM_COMPILED_PATH' is set by guile-bootstrap@2.0. Unsetting
it ensures it does not interfere.
* gnu/packages/ld-wrapper.in: Unset GUILE_SYSTEM_COMPILED_PATH.
To allow using mount as an unprivileged user, the helper commands must also be
setuid. Before this change, the 'mount' command would only look under
/run/current/profile/sbin. Extend the default path to include
/run/setuid-programs as well.
Partially addresses <https://issues.guix.gnu.org/39670>.
* gnu/packages/linux.scm (util-linux)[configure-flags]: Prepend
"/run/setuid-programs:" to the default search path.
Reported-by: Nathan Dehnel <ncdehnel@gmail.com>
Fixes <https://bugs.gnu.org/43508>.
* gnu/packages/commencement.scm (gcc-mesboot)[native-inputs]: Remove
GCC-MESBOOT1, which is already in %BOOT-MESBOOT4-INPUTS.
[Accidentally pushed patch v1, this commit contains the rest of the
changes. Revised commit message follows.]
Apart from debug information, one can also strip some symbols. This can
be a significant difference, the closure of gcc-toolchain@7 got reduced
by 15 MB in my tests.
As per [1], --strip-debug is included in --strip-unneeded, and
the debug files created also contain a copy of the information removed
by --strip-unneeded.
Linux From Scratch suggests that this option shouldn't be used on static
libraries [2], however other sources [3] indicate otherwise. Building a
toolchain with this patch succeeds, and the result works fine for
'gcc -static hello-world.c'.
[1]: https://stackoverflow.com/a/52555093
[2]: http://www.linuxfromscratch.org/lfs/view/9.1/chapter05/stripping.html
[3]: https://www.technovelty.org/linux/stripping-shared-libraries.html
* guix/build/gnu-build-system.scm (strip): Use --strip-unneeded.
* guix/build-system/gnu.scm (static-package, gnu-build, gnu-cross-build): Likewise.
Apart from debug information, one can also strip some symbols. This can
be a significant difference, qtbase:out consists of about 5 MB of those
symbols. As per [1], --strip-debug is included in --strip-unneeded, and
the debug files created also contain a copy of the information removed
by --strip-unneeded.
Linux From Scratch suggests that this option shouldn't be used on static
libraries [2], however other sources [3] indicate otherwise. Building a
toolchain with this patch succeeds, and the result works fine for
'gcc -static hello-world.c'.
[1]: https://stackoverflow.com/a/52555093
[2]: http://www.linuxfromscratch.org/lfs/view/9.1/chapter05/stripping.html
[3]: https://www.technovelty.org/linux/stripping-shared-libraries.html
* guix/build/gnu-build-system.scm (strip): Use --strip-unneeded.