* 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.
QEMU guest agent hardcodes paths to /sbin/hwclock and /sbin/shutdown. Patch
the source to try binaries under /run/current-system/profile/sbin first.
* gnu/packages/patches/qemu-fix-agent-paths.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register the patch.
* gnu/packages/virtualization.scm (qemu)[origin]: Apply it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash. Update to latest gnuzilla
commit. Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead. Add python to PATH. Set PYTHONPATH
appropriately. Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib. Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51. Update rust-cbindgen to 0.19.
Update llvm and clang to 11. Add m4. Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t". Add "#:validate-runpath? #f". In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib". Adjust
the set of modules. Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases. Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase. Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package. Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure'). Update the 'build' and 'install' phases to
use './mach'. Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'. In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
Fixes <https://issues.guix.gnu.org/50672>.
This makes users of python-peachpy bit-reproducible, such as nnpack.
* gnu/packages/patches/python-peachpy-determinism.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/python-xyz.scm (python-peachpy)[source]: Use it.
Co-authored-by: Kyle Meyer <kyle@kyleam.com>