Modify the invocation of strace's "readlink" and "readlinkat" tests to prevent
them from failing due to an additional system call made by Guix's patched
version of glibc.
* gnu/packages/linux.scm (strace)[source]: Add patch.
[arguments]<#:phases>: Do not disable the "readlink" test now that it can
succeed.
* gnu/packages/patches/strace-readlink-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This fixes the generation of a tarball with "make dist":
tar: guix-1.3.0.10365-4c4f9/gnu/packages/patches/gd-Revert-fix-303-gdlib.pc-use-Requires-instead-of-Libs.patch:
file name is too long (max 99); not dumped
* gnu/packages/patches/gd-Revert-fix-303-gdlib.pc-use-Requires-instead-of-Libs.patch:
Rename patch to ...
* gnu/packages/patches/gd-Revert-fix-303-gdlib.pc.patch: ... this.
* gnu/packages/gd.scm (gd)[source]: Update patch filename.
* gnu/local.mk (dist_patch_DATA): Update patch filename.
Update genimage from version 11 to 14. A patch is required for the
tests due to differences in ext tooling.
* gnu/local.mk (dist_patch_DATA): Replace patch reference.
* gnu/packages/genimage.scm: Update package source.
* gnu/packages/patches/genimage-mke2fs-test.patch: New patch file.
* gnu/packages/patches/genimage-signedness.patch: Delete obsolete patch.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/packages/polkit.scm (polkit): Disable a JavaScript related test, somehow
triggered in the polkit-duktape build.
(polkit-duktape): New variable.
* gnu/packages/patches/polkit-use-duktape.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/cpp.scm (cling): New variable.
(llvm-cling): New private variable.
(clang-cling): Likewise.
* gnu/packages/patches/cling-use-shared-library.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/dlang.scm (ldc-bootstrap): Rename to...
(ldc-bootstrap-0.17): ... this. Fix indentation. Disable tests.
[phases]: Remove test related patching.
{patch-phobos}: Rename to ...
{patch-paths}: ... this.
[inputs]: Remove llvm-6, which is propagated by clang-6.
(ldc-bootstrap-1.12): New variable, based on the previous ldc.
[source]: Use the official release tarball.
[build-type]: Set the build type to Release.
[configure-flags]: Pass the -GNinja configure flag.
[phases]{patch-paths}: Override to adjust for changed paths.
{build, install}: Override to use ninja.
[native-inputs]: Add ld-gold-wrapper. Update llvm to version 11 and use
ldc-bootstrap-0.17 as the bootstrapping D compiler. Add ninja. Remove the
phobos-src, druntime-src and dmd-testsuite-src source inputs, now included in
the official release.
(ldc-bootstrap-1.24): Other intermediate variant for bootstrapping purposes.
(ldc): Update to 1.27.1.
[make-flags]: New argument.
[configure-flags]: Adjust.
[phases]{fix-compiler-rt-library-discovery}: New phase.
{patch-paths-in-tests}: Likewise.
{disable-problematic-tests}: Likewise. Compared to before, many GDB tests are
reinstated.
{set-cc-and-cxx-to-use-clang}: New phase.
{tests}: Override.
[inputs]: Update clang to version 11. Bootstrap from a stage 1 version of
itself.
* gnu/packages/patches/ldc-bootstrap-disable-tests.patch: Delete file.
* gnu/packages/patches/ldc-disable-phobos-tests.patch: Likewise.
* gnu/local.mk: De-register them.
Meson goes to lengths at preventing installation to directories outside of the
main installation prefix. This isn't convenient or desirable in Guix; patch
it out using a patch maintained by Nix.
* gnu/packages/patches/meson-allow-dirs-outside-of-prefix.patch: Add patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/build-tools.scm (meson): Use it.
Only stage 1 (rather than stage 2) rustc and cargo are built and the
installation phase rewritten to not invoke the build tool, which helps to
shorten the build time to about 10 minutes per Rust on a fast machine. The
total build time should take less than 4h30, down from the current 8 hours on
a Ryzen 3900X CPU.
* gnu/packages/patches/rust-reproducible-builds.patch: Delete file.
* gnu/packages/patches/rustc-1.39.0-src.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it, and un-register
rust-reproducible-builds.patch.
* gnu/packages/rust.scm (%mrustc-commit): New variable.
(%mrustc-source): Update to latest commit.
(rust-1.29): Morph into...
(rust-1.39): ... this.
[source]: Adjust the snippet, patches and patch-flags fields.
[inputs]: Replace llvm-7 by llvm (9).
[make-flags]: Add the RUSTC_VERSION, MRUSTC_TARGET_VER and OUTDIR_SUF make
variables. Remove the RUSTCSRC make variable.
[phases]{copy-mrustc-and-patch}: Rename to...
{setup-mrustc-sources}: ... this. A symbolic link is created inside the
mrustc directory, pointing to the Rust 1.39.0 sources.
{patch-makefiles}: Adjust directory. Patch date and git definitions. Edit
out the RUSTC_SRC_DL prerequisite. Adjust the patching of a shebang.
{patch-cargo-checksums}: Adjust.
{configure-cargo-home}: New phase.
{configure}: Create and add a 'cc' shim to PATH.
{build}: Do not invoke make in parallel mode inside the run_rustc directory.
(rust-1.30): Morph into...
(rust-1.40): ... this, integrating the changes introduced between 1.30 and
1.40.
[modules]: Properly import (guix build cargo-utils).
[phases]{add-cc-shim-to-path}: New phase.
{configure}: Increase the codegen-units value to 256.
{build}: Only build stage 1 rustc and cargo, and group the commands into one
invocation.
{install}: Manually install the stage 1 build artifacts.
{patch-cargo-checksums}: Remove the ad-hoc use-modules, no longer needed.
[source]: Adjust.
[arguments]: Set validate-runpath? to #f.
[phases]{patch-cargo-checksums}: Remove phase.
{configure}: Repatriate the jemalloc configuration changes from 1.40.
[native-inputs]: Replace the rust-1.29 inputs by rust-1.39. Use regular
jemalloc and llvm versions.
(rust-1.41)[phases]: Add the patch-cargo-checksums phase.
(rust-1.31, rust-1.32, rust-1.33, rust-1.34, rust-1.35, rust-1.36, rust-1.37)
(rust-1.38, rust-1.39, rust-1.40): Delete variables.
(rust-1.46)[phases]{install}: Group build, test and install commands.
(rust-1.47)[phases]{build}: Override to adjust for the relocation of the
standard library source directory.
GCC 5 has a misaligned access to a vector pointer which causes a build failure
when using GCC 8 and later. Backport upstream fix that was applied on the GCC
6 branch.
* gnu/packages/gcc.scm (gcc-5)[source]: Apply
gcc-5-fix-powerpc64le-build.patch.
* gnu/packages/patches/gcc-5-fix-powerpc64le-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
‘coreutils-gnulib-tests.patch’ is applied in the gnulib version shipped
with 3.8.
* gnu/packages/base.scm (diffutils): Update to 3.8.
[source]: Do not apply coreutils-gnulib-tests.patch.
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
diffutils has a race condition in its signal processing code which is easy to
trigger on powerpc64le-linux. More often than not, it causes the ‘colors’
test to fail and therefore the build of the package fails as well.
Add the patch proposed in Debian bug 922552 which fixes the problem.
* gnu/packages/patches/diffutils-fix-signal-processing.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (diffutils)[source]: Use it.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
The signal callbacks in the ‘builder’ testcase have wrong prototypes.
This causes it to fail the “/Builder/Signal Autoconnect” test on
powerpc64le-linux.
Solve the problem by backporting the upstream fix that was applied to
GTK+ 3.0.
* gnu/packages/patches/gtk2-fix-builder-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gtk.scm (gtk+-2): Use it.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This patch depends on gstreamer's update to 1.18.4.
* gnu/packages/patches/farstream-gupnp.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/freedesktop.scm (farstream)[patches]: Use it.
[arguments](tests?): Remove argument.
[phases](disable-timeout-tests): New phase.