Commit graph

348 commits

Author SHA1 Message Date
Zheng Junjie
9fccb66bb4
gnu: llvm: Support loongarch64.
* gnu/packages/llvm.scm (system->llvm-target-arch): Add loongarch64 case.

Change-Id: I5378063130df4194048638d352b93674a30d47a9
2025-02-13 13:49:06 +08:00
Hikari
2877c75dc5
gnu: libcxx: Update to 19.1.4.
* gnu/packages/llvm.scm (libcxx): Update to 19.1.4.
[native-inputs]: Replace clang with clang-19.  Add libuwind-headers.
[arguments]<#:configure-flags>: Add libunwind to LLVM_ENABLE_RUNTIMES.

Change-Id: I8235077727b6f54edddc60d9bf1c4c9de93b32fe
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-02-13 11:25:47 +08:00
Zheng Junjie
8d4e3ab874
gnu: LLVM, Clang, libomp, lld: Update to 19.1.7.
* gnu/packages/llvm.scm (llvm-19, clang-19, libomp-19, lld-19): Update to 19.1.7.

Change-Id: I9adc9762a19da487c9a70bb9cf089ff08de4da84
2025-02-06 22:57:57 +08:00
Ricardo Wurmus
1ac57fd579
gnu: python-llvmlite: Update to 0.44.0.
* 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
2025-01-29 15:52:36 +01:00
Efraim Flashner
5481a96417
gnu: llvm-19: Rewrite using make-llvm.
* gnu/packages/llvm.scm (llvm-19): Rewrite using make-llvm.

Change-Id: If22a7388f38c139cd35225b8afe8f812ff158673
2025-01-26 17:15:52 +02:00
Efraim Flashner
a88db75e2c
gnu: llvm-17: Rewrite using make-llvm.
* 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
2025-01-26 17:15:52 +02:00
Efraim Flashner
ba1d16b1b2
gnu: llvm-16: Rewrite using make-llvm.
* 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
2025-01-26 17:15:52 +02:00
Efraim Flashner
deb3562384
gnu: Add make-llvm procedure.
* gnu/packages/llvm.scm (make-llvm): New procedure.
(llvm-15): Rewrite using make-llvm.

Change-Id: I8f7d7bd5cf8bbe86af8f4a75bf8aec09074c07dc
2025-01-26 17:15:52 +02:00
Efraim Flashner
b821b3bedc
gnu: llvm-19: Fix cross-building.
* gnu/packages/llvm.scm (llvm-19)[arguments]: When cross-building use an
updated set of configure-flags.

Change-Id: If29af878c3941aa994850e55c00cd818aab61f49
2025-01-26 17:15:52 +02:00
Efraim Flashner
2d1fda2ca9
gnu: llvm-17: Fix cross-building.
* gnu/packages/llvm.scm (llvm-17)[arguments]: When cross-building use an
updated set of configure-flags.

Change-Id: Icbb51b26de24818532c2f0f8e4cf4c4ff0664092
2025-01-26 17:15:52 +02:00
Efraim Flashner
8ff7139d6e
gnu: llvm-16: Fix cross-building.
* gnu/packages/llvm.scm (llvm-16)[arguments]: When cross-building use an
updated set of configure-flags.

Change-Id: I1a09c3cb0a7a1104ab0704234a48487f1f5e82a7
2025-01-26 17:15:52 +02:00
Efraim Flashner
259a5085fb
gnu: llvm-18: Fix cross-building.
* gnu/packages/llvm.scm (llvm-18)[arguments]: When cross-building use an
updated set of configure-flags.

Change-Id: Ibe6a7798288c3899857c1ae2c94984b5a74fbbee
2025-01-26 17:15:48 +02:00
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