* gnu/packages/llvm.scm (%llvm-monorepo-hashes, %llvm-patches, llvm-monorepo):
New variables.
(clang-runtime-from-llvm): Make HASH optional; use monorepo when not present.
(clang-from-llvm): Likewise.
(llvm-14, clang-runtime-14, clang-14, clang-toolchain-14, lld-14): New variables.
(llvm-13): Inherit from LLVM-14.
(lld-13): Inherit from LLD-14.
(lld): Turn into alias for LLD-14.
* gnu/packages/patches/clang-14.0-libc-search-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/zig.scm (zig): Change from LLD to LLD-13.
Fixes <https://issues.guix.gnu.org/52054>.
* gnu/packages/llvm.scm (clang)[arguments]<#:phases>:
Remove the separate "extra" output and build the main package and
clang-tools-extras with shared library linkage.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/llvm.scm (lldb): Update to 13.0.1.
[inputs]: Change from LLVM-12 and CLANG-12 to LLVM-13 and CLANG-13.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/llvm.scm (libomp): Update to 13.0.0.
[arguments]: Add workaround to #:configure-flags.
[native-inputs]: Change from CLANG-9 and LLVM-9 to CLANG and LLVM.
This fixes a regression introduced in a05e573d60
as the LLD version must match the LLVM version.
* gnu/packages/llvm.scm (lld-12): New variable.
* gnu/packages/zig.scm (zig)[inputs]: Change from LLD to LLD-12.
* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Adjust
symlink-cfi_blacklist phase to work with the renamed "ignorelist" in
clang-runtime@13. Rename phase to match.
* gnu/packages/llvm.scm (clang-13)[arguments]: Remove.
* gnu/packages/llvm.scm (python-llvmlite)[inputs]: Remove patch from the
custom LLVM variant, because the custom patch phase was defunct and the patch
no longer applies.
* gnu/packages/llvm.scm (clang-from-llvm): Add #:properties and honor it.
(clang-properties): New procedures.
(make-clang-toolchain): Set 'properties' field.
Inheritance should happen within the same module.
* gnu/packages/cpp.scm (%cling, llvm-cling, clang-cling-runtime)
(clang-cling, cling): Move to...
* gnu/packages/llvm.scm: ... here. Use 'modify-inputs' instead of
'alist-replace'.
Inheritance should happen within the same module.
* gnu/packages/julia.scm (julia-patch): Make public.
(llvm-julia): Move to...
* gnu/packages/llvm.scm (llvm-julia): ... here.
Partly fixes <https://issues.guix.gnu.org/51088>.
* gnu/packages/patches/clang-11.0-libc-search-path.patch: Update.
* gnu/packages/patches/clang-12.0-libc-search-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/llvm.scm (clang-12): Use it.
Partly fixes <https://issues.guix.gnu.org/51088>.
* gnu/packages/patches/clang-7.0-libc-search-path.patch: Update.
* gnu/packages/patches/clang-8.0-libc-search-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/llvm.scm (clang-8): Use it.
* gnu/packages/patches/llvm-3.6-fix-build-with-gcc-10.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/llvm.scm (llvm-3.6)[source]: Use it.
The derivation when compiling natively remains the same,
so this doesn't cause any rebuilds.
* gnu/packages/llvm.scm (llvm-12)[arguments]<#:configure-flags>: Set
LLVM_TABLEGEN, LLVM_DEFAULT_TARGET_TRIPLE, LLVM_TARGET_ARCH and
LLVM_TARGETS_TO_BUILD when cross-compiling.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This removes a cross-module top-level reference, which could lead to
build errors when importing (gnu packages rocm) in another module.
* gnu/packages/rocm.scm (llvm-for-rocm): Move to...
* gnu/packages/llvm.scm (llvm-for-rocm): ... here.
* gnu/packages/arcan.scm (arcan)[arguments]: Use
'search-input-directory' for "include/libdrm" and "include/apr-1".
* gnu/packages/bioinformatics.scm (sailfish): Likewise for jellyfish.
* gnu/packages/boost.scm (boost-for-irods): Likewise for libcxx headers.
* gnu/packages/cedille.scm (cedille): Likewise for IAL headers.
* gnu/packages/compression.scm (snappy-with-clang6): Likewise for libcxx
headers.
* gnu/packages/cups.scm (hplip): Likewise for libusb headers.
* gnu/packages/emulators.scm (pcsxr): Likewise for libcdio headers.
* gnu/packages/game-development.scm (python2-renpy): Likewise for
fribidi headers.
* gnu/packages/games.scm (pokerth): Likewise for libircclient.
* gnu/packages/guile-xyz.scm (guile-persist): Likewise for Guile.
* gnu/packages/hurd.scm (hurd): Likewise for libtirpc.
* gnu/packages/irods.scm (irods, irods-client-icommands): Likewise for
libcxx, catch2, and nlohmann-json-cpp.
* gnu/packages/julia.scm (julia): Use 'search-input-file' for libuv's
errno.h.
* gnu/packages/kde-pim.scm (kdepim-runtime): Use
'search-input-directory' for "include/KF5".
(kmessagelib): Likewise.
* gnu/packages/kde.scm (kdeconnect): Likewise.
* gnu/packages/llvm.scm (clang-runtime-3.5): Likewise for libtirpc.
* gnu/packages/mpi.scm (openmpi): Likewise for "include/infiniband".
* gnu/packages/pumpio.scm (pumpa): Use 'search-input-file' for "tidy.h"
and "aspell.h".
* gnu/packages/radio.scm (dream): Use 'search-input-file' and
'search-input-directory' for pulseaudio, sndfile, etc.
* gnu/packages/selinux.scm (policycoreutils): Likewise for PAM and
libaudit.
* gnu/packages/serialization.scm (avro-cpp-1.9-for-irods): Likewise for
libcxx.
* gnu/packages/sync.scm (nextcloud-client): Likewise for "include/KF5".
* gnu/packages/video.scm (mkvtoolnix): Likewise for "include/gtest".
(libopenshot): Likewise for "include/UnitTest++".
* gnu/packages/virtualization.scm (criu): Likewise for libnl3 and for
protobuf file.