* gnu/packages/llvm.scm (python-llvmlite): Update to 0.44.0.
[arguments]: Use G-expression.
[inputs]: Update to latest upstream patches for LLVM; use llvm-15.
Change-Id: I294d67f368b9c0b1196514fadc3cecf5dd51fe3e
* gnu/packages/llvm.scm (make-llvm)[arguments]: Adjust configure-flags
for llvm version 17 and higher.
(llvm-17): Rewrite using make-llvm.
Change-Id: I3d3437333409c1882e41d1fcf8cda8e1cadd1786
* gnu/packages/llvm.scm (make-llvm)[arguments]: Adjust configure-flags
and phases for llvm version 16 and higher.
(llvm-16): Rewrite using make-llvm.
Change-Id: Ia79cd90d1219fc6210090a724595b3df04a097d7
* gnu/packages/llvm.scm (llvm-19)[arguments]: When cross-building use an
updated set of configure-flags.
Change-Id: If29af878c3941aa994850e55c00cd818aab61f49
* gnu/packages/llvm.scm (llvm-17)[arguments]: When cross-building use an
updated set of configure-flags.
Change-Id: Icbb51b26de24818532c2f0f8e4cf4c4ff0664092
* gnu/packages/llvm.scm (llvm-16)[arguments]: When cross-building use an
updated set of configure-flags.
Change-Id: I1a09c3cb0a7a1104ab0704234a48487f1f5e82a7
* gnu/packages/llvm.scm (llvm-18)[arguments]: When cross-building use an
updated set of configure-flags.
Change-Id: Ibe6a7798288c3899857c1ae2c94984b5a74fbbee
* gnu/packages/llvm.scm (clang-runtime-from-llvm)[native-inputs]: When
building clang-runtime-19 or newer use gcc-14.
(clang-from-llvm)[#:configure-flags]: When building clang-19 or newer, pass in
USE_DEPRECATED_GCC_INSTALL_PREFIX.
(%llvm-monorepo-hashes): Add entry for llvm-19.
(llvm-19, clang-runtime-19, clang-19, libomp-19, clang-toolchain-19): New
variables.
Change-Id: I55630c3ecd2e6caa4237f28ac9f41726ed09eec4
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
This change is needed for updating mesa to 24.2.1. Otherwise, mesa fails to
build. For example, linking intel_clc fails with errors of libclang-cpp.so
having undefined references to various LLVM targets.
It is possible that just some LLVM targets could be built or a modified
version of the clang input for mesa (now required) could be used to try to
reduce the closure size as before.
* gnu/packages/llvm.scm (llvm-for-mesa)[arguments]: Don't set the
LLVM_TARGETS_TO_BUILD configure flag. Also, don't remove it from the
inherited configure-flags. Fix indentation.
Change-Id: I4a2b7239e6ea77b0d3bce10bdf945691faa84994
This is accomplished by building LLVM only for the host target.
* gnu/packages/llvm.scm (llvm-cling) [configure-flags]: Add
'-DLLVM_TARGETS_TO_BUILD=host;NVPTX'.
Cover-letter:
Update cling to 1.1 and wrap with GCC include paths
This series does two things:
1. Update the cling package and its related inputs
2. Fix cling crashing when wrong or missing GCC includes were not provided.
Cling is built to use the specific GCC version it knows from at build time;
the headers available should match that version. Wrapping cling with the
gcc-toolchain ones ensures it works correctly out of the box, without the user
having to know to manually match the right GCC (such as in 'guix shell cling
gcc-toolchain@11').
END
Change-Id: Ib24d3b692070e6de9ad4aa558918786d9e25379d
* gnu/packages/llvm.scm (llvm-cling-base): New variable
(llvm-cling): Use it. Update to version 16-20240621-02.
[source]: Delete patches.
(clang-cling-runtime): Base on clang-runtime-16.
[phases]: Delete change-directory phase.
(clang-cling): Base on clang-16.
[phases]: Delete change-directory and delete-static-libraries phases (the
later would cause CMake to fail due to baking the static targets in).
(cling): Update to 1.1.
[source]: Delete patches.
[arguments] <#:tests?>: Reference upstream discussion in comment.
[phases] <patch-paths>: Adjust file name of clang lib directory.
<set-CLANG>: New phase.
[native-inputs]: Add clang-cling, used by the test suite.
* gnu/packages/patches/clang-cling-13-libc-search-path.patch
* gnu/packages/patches/clang-cling-13-remove-crypt-interceptors.patch
* gnu/packages/patches/clang-cling-runtime-13-glibc-2.36-compat.patch
* gnu/packages/patches/cling-use-shared-library.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): De-register deleted files.
Change-Id: Ia8b58188ad9de2795a52289bd46ed15a8e722bfa
(cling) [phases] <patch-paths>: Do not patch CLING_CXX_RLTV anymore; this is
now handled more correctly by wrapping the 'cling' executable. Adjust file
name of clang lib directory. <wrap-with-include-paths, fix-wrapper>: New
phases.
[inputs]: Add gcc-toolchain*, a delayed version of gcc-toolchain, used in the
wrap phase.
Fixes: https://issues.guix.gnu.org/57116
Change-Id: I29f9eee8f4a0e91eadc2eeff2a70d58db3ed0a26
* gnu/packages/patches/clang-runtime-12-remove-crypt-interceptors.patch: New
file.
* gnu/local.mk (dist_PATCH_DATA): Register it.
* gnu/packages/llvm.scm (clang-runtime-12)[source]: Use it.
Change-Id: I78e078ff09beb2943ba9387813ebc29069ae8f7d
New patches were applied to clang-runtime only, not the whole LLVM base
source, hence they were not applied to the cling variants.
* gnu/packages/llvm.scm (llvm-cling) [source]: Add
clang-cling-runtime-13-glibc-2.36-compat.patch and
clang-cling-13-remove-crypt-interceptors.patch patches.
* gnu/packages/patches/clang-cling-13-remove-crypt-interceptors.patch: New file.
* gnu/packages/patches/clang-cling-runtime-13-glibc-2.36-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register them.
Change-Id: I4c5ee5f65b2bc04935865ad8e67bc2c3833da2eb
* gnu/packages/gl.scm (mesa)[inputs]: When building for aarch64-linux
use clang-18 and llvm-18 instead of llvm-for-mesa.
[native-inputs]: When building for aarch64-linux add libclc.
[arguments]: Adjust the 'disable-failing-test phase when building for
aarch64-linux to skip a test.
(mesa-opencl)[native-inputs]: When building for aarch64-linux don't add
clang-15.
* gnu/packages/check.scm (python-lit),
* gnu/packages/llvm.scm (libclc),
* gnu/packages/vulkan.scm (spirv-llvm-translator): Add a note about it
being a dependency for mesa.
Change-Id: I0bf5ab019ffd0626ad2d0c38bafceec401e3c886
* gnu/packages/llvm.scm (llvm-18)[arguments]: When building for
i686-linux delete the 'make-dynamic-linker-cache phase.
Change-Id: Icbbbccf74ad39d4f8d0270cc213f978c487edb75
* gnu/packages/llvm.scm (llvm-17)[arguments]: When building for
i686-linux delete the 'make-dynamic-linker-cache phase.
Change-Id: I0745d9b1bda47ad4ad10680234c9257215de1c4b
* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: When building for
i686-linux on clang 15 or newer delete the 'make-dynamic-linker-cache
phase.
Change-Id: I0c8c273ce8eca100a97a9a64a4524558acd7cfbd