Commit graph

336 commits

Author SHA1 Message Date
Ricardo Wurmus
4e98ed826a
gnu: wllvm: Add missing inputs.
* gnu/packages/llvm.scm (wllvm)[native-inputs]: Add python-setuptools and
python-wheel.

Change-Id: I080f132763607f7bc5f4609c993bd2a067cd9be4
2025-01-20 21:37:59 +01:00
Ricardo Wurmus
1318aa10aa
gnu: python-llvmlite: Update to 0.42.0.
* gnu/packages/llvm.scm (python-llvmlite): Update to 0.42.0; inherit from
llvm-14.
[build-system]: Use pyproject-build-system.
[native-inputs]: Add python-setuptools and python-wheel.
[inputs]: Update patches.

Change-Id: I4c1c5741a31af49912fc42ebe2d6784c326e7d41
2024-12-15 19:54:08 +01:00
Zheng Junjie
9ec2ee8840
gnu: LLVM, Clang, libomp, lld: Update to 19.1.4.
* gnu/packages/llvm.scm (llvm-19, clang-19, libomp-19, lld-19): Update to 19.1.4.

Change-Id: I59ab5d74ebaac2ba1cc311ceb8534fde1b1d179c
2024-11-24 09:00:37 +08:00
dan
2d1fa4edd3
gnu: Add lld-19.
* gnu/packages/llvm.scm (lld-19): New variable.

Change-Id: I8d24e762fc7837f5d3ade91801c3ffc0a5cb84a9
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-11-24 09:00:37 +08:00
dan
c6beb882d8
gnu: Add llvm-19.
* 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>
2024-11-24 09:00:26 +08:00
Nicolas Graves
351f1a0504
gnu: clang-runtime: Fix build for versions 10 and 11.
* gnu/packages/llvm.scm (clang-runtime-from-llvm)[inputs]: Add
libxcrypt for versions 10 and 11.
2024-11-20 19:00:02 +08:00
John Kehayias
edf097aad5
gnu: llvm-for-mesa: Build all targets.
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
2024-11-05 11:56:28 -05:00
John Kehayias
6ebb5ecafc
gnu: llvm-for-mesa: Update to llvm-18.
* gnu/packages/llvm.scm (llvm-for-mesa): Update to llvm-18.
* gnu/packages/gl.scm (mesa)[inputs]: Always use llvm-for-mesa (remove llvm-18
for aarch64 to use llvm-for-mesa).
(mesa-opencl)[native-inputs]: Remove clang-15.  Add clang-18.

Change-Id: I767d40d62a827864d3d109c44f82a43302875eb8
2024-11-05 11:56:26 -05:00
Maxim Cournoyer
ab424da401
gnu: cling: Reduce closure by 236 MiB.
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
2024-10-07 01:20:22 +09:00
Maxim Cournoyer
866fc620b3
gnu: cling: Update to 1.1.
* 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
2024-10-07 01:20:22 +09:00
Maxim Cournoyer
41c8506330
gnu: cling: Wrap with GCC include paths.
(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
2024-10-07 01:20:22 +09:00
Danny Milosavljevic
a2edd2a4eb
gnu: clang-runtime: Fix build.
* 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
2024-09-26 00:06:11 +02:00
Maxim Cournoyer
0feeac35cb
gnu: clang-cling-runtime: Fix build.
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
2024-09-20 00:20:48 +09:00
Efraim Flashner
e885edc0df
gnu: libclc: Update to 18.1.8.
* gnu/packages/llvm.scm (libclc): Update to 18.1.8.
[native-inputs]: Replace clang-15, llvm-15 with clang-18, llvm-18.

Change-Id: I2f676eb2db9c3a8c808e1c26e3f93b9ed085b675
2024-08-31 10:45:42 +02:00
Efraim Flashner
d10ab3d397
gnu: mesa: Fix building on aarch64-linux.
* 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
2024-08-31 10:45:42 +02:00
宋文武
94f9feb0fb
gnu: cling: Add libxcrypt dependency.
* gnu/packages/llvm.scm (cling)[inputs]: Add libxcrypt.

Change-Id: I240b73ba1bb2fd3e2d7215c6b342aa45830236cf
2024-08-31 10:45:13 +02:00
Josselin Poiret
04a92e730e
gnu: clang: Fix build with libcrypt-less glibc.
* gnu/packages/patches/clang-13-remove-crypt-interceptors.patch
* gnu/packages/patches/clang-14-remove-crypt-interceptors.patch
* gnu/packages/patches/clang-16-remove-crypt-interceptors.patch: New patches.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/llvm.scm (%llvm-patches, clang-runtime-13): Use them.

Change-Id: Idcc82313f1a39710aa91fb577144321372a3af47
2024-08-31 10:44:55 +02:00
Efraim Flashner
9708cf9b85
gnu: clang-runtime-6: Fix build with newer glibc.
* gnu/packages/llvm.scm (clang-runtime-6): Add patch.

Change-Id: Iff5ad430876ff7f8319556b6648e223b7bb0e13a
2024-08-31 10:44:45 +02:00
Efraim Flashner
99efdf09ad
gnu: clang-runtime-7: Fix build with newer glibc.
* gnu/packages/llvm.scm (clang-runtime-7): Add patch.

Change-Id: Idba933cb04859d57066fd2e4b131ad9f4604fae8
2024-08-31 10:44:45 +02:00
Efraim Flashner
d92a6ae199
gnu: clang-runtime-8: Fix build with newer glibc.
* gnu/packages/llvm.scm (clang-runtime-8): Add patch.

Change-Id: I3ea8c6a597996adec567920d5714fb93ad91b2a9
2024-08-31 10:44:45 +02:00
Efraim Flashner
59dc9f87e9
gnu: clang-runtime-9: Fix build with newer glibc.
* gnu/packages/llvm.scm (clang-runtime-9): Add patch.
* gnu/packages/patches/clang-runtime-9-glibc-2.36-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I3f88e3e933d8bb8aa4ba130dfb72e093ac5d378f
2024-08-31 10:44:45 +02:00
Efraim Flashner
1fabc88d56
gnu: clang-runtime-10: Fix build with newer glibc.
* gnu/packages/llvm.scm (clang-runtime-10): Add patch.

Change-Id: If90ee6895634e6f1791516861be558af4d2ffe8e
2024-08-31 10:44:44 +02:00
Efraim Flashner
efb40d579a
gnu: clang-runtime-11: Fix build with newer glibc.
* gnu/packages/llvm.scm (clang-runtime-11): Add patch.

Change-Id: I5195c0a37e5dcc7ba200043e2028200492a74c14
2024-08-31 10:44:44 +02:00
Efraim Flashner
9e79ac0157
gnu: clang-runtime-12: Fix build with newer glibc.
* gnu/packages/llvm.scm (clang-runtime-12): Add patch.

Change-Id: Ia42a065972a1b908fa62db87cc23b2e5d119a9b0
2024-08-31 10:44:44 +02:00
Efraim Flashner
c7fb57798d
gnu: clang-runtime-13: Fix build with newer glibc.
* gnu/packages/llvm.scm (clang-runtime-13): Add patch.
* gnu/packages/patches/clang-runtime-13-glibc-2.36-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I0f78d826557a7ffa87f75ac521cc8fcec340bffd
2024-08-31 10:44:44 +02:00
Efraim Flashner
690b8901c3
gnu: clang-runtime-14: Fix build with newer glibc.
* gnu/packages/llvm.scm (%llvm-patches): Add patch for llvm-14.
* gnu/packages/patches/clang-runtime-14-glibc-2.36-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: Ib5350be48f6580d00cb9b70435931abf0444c664
2024-08-31 10:44:44 +02:00
Efraim Flashner
a9136076eb
gnu: clang-from-llvm: Use gcc's search paths.
* gnu/packages/llvm.scm (clang-from-llvm)[native-search-paths]: Use
%gcc-search-paths.

Change-Id: I777cab55e8a1931502a537c0680608d7d6b5b715
2024-08-31 10:42:48 +02:00
Christopher Baines
5f0dcf22a3
gnu: llvm: Fix misc errors for unsupported targets.
* gnu/packages/llvm.scm (system->llvm-target-arch): Return #f for unknown
targets.
(llvm-15, llvm-14): Handle system->llvm-target-arch and raise a
package-unsupported-target-error condition.

Change-Id: I647f721a64a39bb34196998b7e4adda3a25f1ab3
2024-08-11 10:48:13 +01:00
Efraim Flashner
ab41f5ec1c
gnu: llvm-18: Fix building on i686-linux.
* gnu/packages/llvm.scm (llvm-18)[arguments]: When building for
i686-linux delete the 'make-dynamic-linker-cache phase.

Change-Id: Icbbbccf74ad39d4f8d0270cc213f978c487edb75
2024-06-30 09:17:31 +03:00
Efraim Flashner
48934f0c2f
gnu: llvm-17: Fix building on i686-linux.
* gnu/packages/llvm.scm (llvm-17)[arguments]: When building for
i686-linux delete the 'make-dynamic-linker-cache phase.

Change-Id: I0745d9b1bda47ad4ad10680234c9257215de1c4b
2024-06-30 09:16:50 +03:00
Efraim Flashner
fc15524d37
gnu: clang-15: Fix building on i686-linux.
* 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
2024-06-30 09:15:29 +03:00
Efraim Flashner
69f9a43c87
gnu: llvm-16: Fix building on i686-linux.
* gnu/packages/llvm.scm (llvm-16)[arguments]: Skip the
make-dynamic-linker-phase on i686-linux.

Change-Id: I38c134d246859d7fc6025e2ed1c3f29d845a7d82
2024-06-27 16:43:55 +03:00
Michael Ford
c99b1e2fc6
gnu: LLVM, Clang, libomp, lld: Update to 18.1.8.
* gnu/packages/llvm.scm (llvm-18, clang-18, libomp-18, lld-18): Update to
18.1.8.

Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
Change-Id: I76f93d6dce19f0e1a0b99393a5865369c49c4072
2024-06-27 21:01:49 +08:00
Michael Ford
d601e953a4
gnu: LLVM, Clang, libomp, lld: Update to 18.1.7.
* gnu/packages/llvm.scm (llvm-18, clang-18, libomp-18, lld-18): Update to
18.1.7.

Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
Change-Id: Ie1d2d00207848145c1b19e551b43f8e55465d2f0
2024-06-22 22:08:21 +08:00
Maxim Cournoyer
29a4514a34
gnu: cling: Update to 1.0.
* gnu/packages/llvm.scm (%cling-version): Delete variable.
(llvm-cling): Inherit from llvm-15 and update to version 13-20240318-01.
[source]: Update source URL.  Remove obsolete snippet.  Add patches field.
[outputs]: Delete field.
[arguments]: Likewise.
(clang-cling-runtime): Update to 13-20240318-01.  Inherit from
clang-runtime-13.  Use llvm-cling source.
[phases]: Use gexps.  Add change-directory phase.
(clang-cling): Update to 13-20240318-01.  Inherit from
clang-13.  Use llvm-cling source.
[arguments]: Use gexps.  Add change-directory phase.
(cling): Update to 1.0.
[source]: Update URL.
[phases] {patch-paths}: Adjust patching of the 'getResourceDir' variable.
* gnu/packages/patches/cling-use-shared-library.patch: Rebase patch.
* gnu/packages/patches/clang-cling-13-libc-search-path.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I5d1f2c4d36ca226116bc74c2578154f86413f9e9
2024-05-29 22:01:24 -04:00
Michael Ford
1fa1325c0b
gnu: LLVM, Clang, libomp, lld: Update to 18.1.6.
* gnu/packages/llvm.scm (llvm-18, clang-18, libomp-18, lld-18):
Update to 18.1.6.

Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
Change-Id: Ifd5ab99f4195c93e9b8d67aa26caead26c8dd5bc
2024-05-22 11:37:42 +08:00
fanquake
14176a289b
gnu: LLVM, Clang, libomp, lld: Update to 18.1.5.
* gnu/packages/llvm.scm (llvm-18, clang-18, libomp-18, lld-18):
Update to 18.1.5.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-05-19 12:50:23 +01:00
Zheng Junjie
06a5ff1a41
gnu: Add wllvm.
* gnu/packages/llvm.scm (wllvm): New variable.

Change-Id: Ibfb47b3a129954adf73721d25e95c64f69e985a1
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-04-24 09:43:06 +08:00
fanquake
837016fe33
gnu: LLVM, Clang, libomp, lld: Update to 18.1.4.
* gnu/packages/llvm.scm (llvm-18, clang-18, libomp-18, lld-18):
Update to 18.1.4.

Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-04-23 15:22:09 +08:00
fanquake
17a6d20a42
gnu: Add lld-18.
* gnu/packages/llvm.scm (lld-18): New variable.

Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-04-23 15:05:24 +08:00
Efraim Flashner
cffe067937
gnu: Add llvm-18.
* gnu/packages/llvm.scm (clang-runtime-from-llvm)[native-inputs]: When
building clang-runtime-18 or newer use gcc-13.
(%llvm-monorepo-hashes): Add entry for llvm-18.
(%llvm-patches): Add entry for llvm-18.
(llvm-18, clang-runtime-18, clang-18, libomp-18, clang-toolchain-18):
New variables.
* gnu/packages/patches/clang-18.0-libc-search-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I4027065398300104c6a310187007448f5b2780c1
2024-03-26 17:44:15 +02:00
Efraim Flashner
4e26331a5e
gnu: llvm-17: Fix building on riscv64-linux.
* gnu/packages/llvm.scm (%llvm-patches): Add a patch for 17.0.6.
* gnu/packages/patches/clang-17.0-link-dsymutil-latomic.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I9dfd23d2f0fb10620c4aa73a6480151d6e6daa9a
2024-03-13 17:36:37 +02:00
Efraim Flashner
a3d2dde5b0
gnu: clang: Move compiler-cpu-architectures to llvm-meta.scm.
* gnu/packages/llvm.scm (clang-properties): Extract
compiler-cpu-architectures and move ...
* gnu/packages/llvm-meta.scm: ... to here.
* gnu/packages/zig.scm (zig-0.9, zig-0.10)[properties]: Use
clang-compiler-cpu-architectures.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register new file.

Change-Id: Ie0bedbd6e2927eaa05024685cc66375ea278e4c2
2024-03-10 12:50:13 +02:00
Efraim Flashner
e8c9043183
gnu: clang-properties: Add micro-architecture support for powerpc64le.
* gnu/packages/llvm.scm (clang-properties): Add entry for powerpc64le.

Change-Id: I89f300922270a1f35aa08e73e62d90843bd902c8
2024-03-07 13:04:27 +02:00
Efraim Flashner
7fd57fdd83
gnu: clang-properties: Update x86_64 micro-architectures.
* gnu/packages/llvm.scm (clang-properties): Add entries on x86_64 for
versions 17, 16, 15, 13, 9 and remove entry for version 10.

Change-Id: I93149c30f011c6de8ff0cc2c2b6f0186540359cd
2024-03-07 13:04:27 +02:00
Greg Hogan
354de73fa4
gnu: lldb: Update to 17.0.6.
* gnu/packages/llvm.scm (lldb): Update to 17.0.6.
[inputs]: Change from LLVM-15 and CLANG-15 to LLVM-17 and CLANG-17.

Change-Id: Iad04ee722c81ecb223ea4d57d25ea57ca7df59a0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-02-10 15:06:50 +00:00
Efraim Flashner
637b72e2b8
gnu: llvm-cling: Fix build.
This is a follow-up to 15ba54d0e9.

* gnu/packages/llvm.scm (llvm-cling)[arguments]: Use gexps for phases.

Change-Id: I12f048b1a6a350838572832ad33357046610b18d
2024-01-11 20:00:08 +02:00
Efraim Flashner
15ba54d0e9
gnu: llvm-12: Use gexps and simplify.
* gnu/packages/llvm.scm (llvm-12)[arguments]: Inherit from llvm-13.
Rewrite remaining new phase using gexps.  Remove trailing #t from
phases.
(llvm-9)[arguments]: Adjust accordingly.

Change-Id: I7ba4e9954b4e8766e9e072696ab55303c1642315
2024-01-11 19:21:30 +02:00
Zheng Junjie
53d9190efd
gnu: glew: Fix cross-compiling.
* gnu/packages/gl.scm (mesa)[native-inputs]: When cross-compiling, add
cmake-minimal-cross.
[arguments]: Adjust 'fix-cross-compiling to find llvm.
* gnu/packages/llvm.scm (llvm-for-mesa)
[arguments]<#:configure-flags>: When cross-compiling, set
-DBUILD_SHARED_LIBS:BOOL=TRUE and -DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE,
remove -DLLVM_LINK_LLVM_DYLIB.*.
<#:phases>: When cross-compiling, remove the 'delete-static-libraries phase.

Change-Id: If10dec7695e62604e080230e10f2b8d7167f660b
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-01-09 10:19:42 +01:00
Efraim Flashner
f03029a00e
gnu: system->llvm-target-arch: Add avr target.
* gnu/packages/llvm.scm (system->llvm-target-arch): Add case for avr.

Change-Id: I5291d396ad513cfecdf8f0a6f799ea095fc8d994
2023-12-12 08:57:10 +02:00