* guix/import/pypi.scm (maybe-inputs): Wrap PACKAGE-INPUTS in 'list'
instead of 'quasiquote'.
(compute-inputs)[requirement->package-name/sort]: Return a list of symbols.
* tests/pypi.scm ("pypi->guix-package, no wheel")
("pypi->guix-package, wheels"): Adjust accordingly.
* guix/utils.scm (source-location-key/stamp): New procedure.
(go-to-location): Use it.
(move-source-location-map!): New procedure.
(edit-expression): Call it.
* guix/utils.scm (%source-location-map): New variable.
(go-to-location): New procedure.
(edit-expression): Use it instead of custom loop.
* guix/packages.scm (package-field-location)[goto]: Remove.
Use 'go-to-location' instead of 'goto'.
This is a followup to df49fe2a13.
* gnu/ci.scm (%bootstrap-packages): Rename to...
(commencement-packages): ... this, and turn into a procedure. Filter
packages that pass 'supported-package?'.
(cuirass-jobs): Adjust accordingly.
python-cython is required to generate the C source for the libyaml
extension, which is required for the `_yaml' module to work. This in
turn lets the `sanity-check' phase succeed.
* gnu/packages/python-xyz.scm (python-pyyaml)[inputs]: Add
python-cython.
Fixes <https://bugs.gnu.org/49459>.
* gnu/packages/patches/coreutils-gnulib-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (coreutils)[source]: Use it.
* guix/build/utils.scm (search-input-directory): New procedure.
* doc/guix.texi (Build Utilities): Document it next to
'search-input-file'. Tweak wording.
Shebangs in "/bin" and "/sbin" subdirectories are currently
patched by patch-shebangs. But shebangs in "/libexec" currently
aren't, even though they occasionally need to be. E.g. when using
wrap-program on an executable in "libexec" without an explicit #:sh
when cross-compiling.
* guix/build/gnu-build-system.scm (patch-shebangs):
Add "/libexec" to 'bin-directories'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes <https://bugs.gnu.org/49417>.
Reported by Maxime Devos <maximedevos@telenet.be>.
* gnu/packages/patches/glibc-cross-objcopy.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc)[source]: Use it.
Fixes: <https://bugs.gnu.org/49218>.
* gnu/packages/tex.scm (texlive-bin)[#:configure-flags]: Add
"--disable-luajithbtex" on powerpc64le systems.
(texlive-latex-base)[#:phases][build]: Add "mfluajit" to the disabled-formats
list on powerpc64le systems.
This fixes cross-compilation of GCC, as in:
guix build --target=aarch64-linux-gnu -e '(@ (gnu packages gcc) gcc-10)'
* gnu/packages/gcc.scm (gcc-canadian-cross-objdump-snippet): New variable.
(gcc-5)[source]: Use it instead of inline 'snippet'.
(gcc-8)[source]: Add 'modules' and 'snippet'.
(gcc-9)[source]: Likewise.
(gcc-10)[source]: Likewise.
(gcc-11)[source]: Likewise.
* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[arguments]: Make
'use-modules' the first expression. Failing that, 'match' would not be
properly expanded when running on Guile 3.0.
This typo had always been there since the test was introduced in commit
ce72c78074. Presumably, it became visible
with 9e5812ac59, where caching was no
longer global and thus the 'store' argument of 'package-derivation' was
actually being used.
* tests/store.scm ("current-build-output-port, UTF-8"): Refer to
'%store' rather than 's' in 'package-derivation' call.
Fixes a regression introduced in
7d873f194c whereby host inputs would be
missing altogether from '%build-inputs', which broke cross-compilation.
* guix/build-system/trivial.scm (trivial-cross-build): Append
HOST-INPUTS to the 'with-build-variables' argument.
This is a followup to 09448c0994.
The 'check-build-failure' procedure would not actually check anything
since it did not call 'build-derivations'. However, it was throwing an
exception for unrelated reasons, so the tests would pass.
* tests/builders.scm (check-build-failure): Use 'guard' instead of
'false-if-exception'. Call 'build-derivations' to actually check for
build failures.
This is a followup to cfcead2e51 and
47a6a938c3, which made (guix packages)
dependent on the value of NIX_STORE_DIR.
* guix/tests.scm (call-with-external-store): Unset NIX_STORE_DIR before
calling PROC.
Do not match "gccgo". Match "gcov-dump" and "gcov-tool", as well as
"lto-dump" (which was introduced in GCC 10).
* gnu/packages/gcc.scm (custom-gcc)[arguments]: Update regex used for
matching broken or conflicting executables.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
LuaTeX has a bug where sometimes it corrupts the heap and aborts. This
causes the build of texlive packages to fail at random. The problem is
being tracked at https://issues.guix.gnu.org/48064.
While a fix isn't found, switch the default TeX format (and consequently
also the engine) to pdftex to avoid the issue.
* guix/build-system/texlive.scm (texlive-build): Change default value of
the ‘tex-format’ key parameter to “pdftex”.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes <https://bugs.gnu.org/49113>.
Reported by Maxime Devos <maximedevos@telenet.be>.
Previously, the cross-compiled libc.so linker script would read:
OUTPUT_FORMAT(elf64-little)
instead of:
OUTPUT_FORMAT(elf64-littleaarch64)
This is because glibc 2.33 runs "objdump -f" instead of
"aarch64-linux-gnu-objdump -f" to determine the output format.
* gnu/packages/patches/glibc-cross-objdump.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc)[source]: Use it.
Revert openssl support enabled in a1dd57ce83,
as GnuTLS is preferred over OpenSSL in Guix.
* gnu/packages/gnome.scm (glib-networking)[arguments](openssl): Remove flag.
[inputs]: Remove openssl.
Commit f08b070019 intended to skip
'test-fnmatch' on both x86_64-linux and i686-linux but it ended up
skipping it on x86_64-linux only.
* gnu/packages/commencement.scm (findutils-boot0)[arguments]: Use
'member' to test whether (%current-system) is "x86_64-linux" or
"i686-linux".
Fixes a regression introduced in
7d873f194c.
Starting from 7d873f194c, running
guix build -s aarch64-linux sed
on an x86_64-linux machine would return an x86_64-linux machine, whereby
only the top derivation of the graph would be aarch64-linux while all
its dependencies would be x86_64-linux.
* guix/packages.scm (expand-input): Add 'system' parameter and honor it.
(bag->derivation, bag->cross-derivation): Pass SYSTEM to 'expand-input'.
* tests/packages.scm ("package-derivation, different system"): New test.