commit: 750480d7dc5ec63bf563620f0eae844336d6fdc4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 19 17:55:06 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 20 14:14:53 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=750480d7
llvm-runtimes/offload: Bump to 21.1.0_rc1
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
llvm-runtimes/offload/Manifest | 2 +
llvm-runtimes/offload/offload-21.1.0_rc1.ebuild | 145 ++++++++++++++++++++++++
2 files changed, 147 insertions(+)
diff --git a/llvm-runtimes/offload/Manifest b/llvm-runtimes/offload/Manifest
index 921bc0f7067a..22a0d9cf6c6f 100644
--- a/llvm-runtimes/offload/Manifest
+++ b/llvm-runtimes/offload/Manifest
@@ -4,4 +4,6 @@ DIST llvm-project-20.1.7.src.tar.xz 147245448 BLAKE2B
f7c57d1eba4e97e875b624dec3
DIST llvm-project-20.1.7.src.tar.xz.sig 566 BLAKE2B
72ce2a18c211cfce9581a9e3e71f1c55cf18672aa355267581220e1a89e3327f9e16107970b69bb8f10f390baa5e286487bdc4cc0a7d9155ec13a4977cd3f472
SHA512
eff885059d547f57b98bda1fc9631f716ca6c650cd48203d9ed5443a6afb9a2d4d91d3f5c8618e307c0a44b3040bce61fdc6bce965073adc537655755d9f2112
DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B
7657ac0b26acc5affb1bfc91b912ade3191c5d77f3979d5a80d5f6ce52f56a7d1c448bd257398390bf10838f02faa6f3ece37a7327cced69d165ec2e2e699316
SHA512
f330e72e6a1da468569049437cc0ba7a41abb816ccece7367189344f7ebfef730f4788ac7af2bef0aa8a49341c15ab1d31e941ffa782f264d11fe0dc05470773
DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B
85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4
SHA512
d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
+DIST llvm-project-21.1.0-rc1.src.tar.xz 158955624 BLAKE2B
6a33d48f41f92cd8731011678afdf4c6f6a4581af04483626c511d1c9410d62788eb660e05cdfe418085509b576c29eec5bb07ae7ddc993e9931287657c11e03
SHA512
7ab3d1bb49bd3c5c9c1490cd865fdef027c25d64bb7f6a2a16c11c311670d08b7a214323ae4781aa0f49973deb0039ebea9d04887089df8dedf65080acdfc871
+DIST llvm-project-21.1.0-rc1.src.tar.xz.sig 438 BLAKE2B
d3736b7f4bb6133e542fb3f52d1b76acc2920558e61bbbeeec6e5b7639ca54e229803b27baa4aedd2134c11fb4439064ac36e90c8c1831a503dd1754efee8da6
SHA512
6b9565f270fae4e534a160916bbd01ccd0e1295bf17df13f3be05bed4f058c0e935ba7385aba74a195d3a13868d81f2a0cf4be966b216fc6d7b56002f33eb4a0
DIST llvm-project-b6313b381ac0e83012ea11b4549cd8cb39b686d2.tar.gz 242588863
BLAKE2B
81e7db20b849ce7a5c7c6b03d1e62a2e225eb68473509baf0adc9e74a2f759d251b61b018528d5db93f77b65ac355a71ede81bec7e97f9c71a41f34a5d8625bd
SHA512
258b99ef79d7efd4ec58d6a5370969b8032149f05fea4dfa841398ed59a550219f4223cd79581bc6fc4428dd9b09f44abf9f5369348831f463b9eb401a614d61
diff --git a/llvm-runtimes/offload/offload-21.1.0_rc1.ebuild
b/llvm-runtimes/offload/offload-21.1.0_rc1.ebuild
new file mode 100644
index 000000000000..5f4ab8697496
--- /dev/null
+++ b/llvm-runtimes/offload/offload-21.1.0_rc1.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+inherit cmake crossdev flag-o-matic llvm.org python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="OpenMP offloading support"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0/${LLVM_SOABI}"
+IUSE="+clang +debug ompt test llvm_targets_AMDGPU llvm_targets_NVPTX"
+REQUIRED_USE="
+ llvm_targets_AMDGPU? ( clang )
+ llvm_targets_NVPTX? ( clang )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libffi:=
+ ~llvm-core/llvm-${PV}
+ ~llvm-runtimes/openmp-${PV}[ompt?]
+ llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+# tests:
+# - dev-python/lit provides the test runner
+# - llvm-core/llvm provide test utils (e.g. FileCheck)
+# - llvm-core/clang provides the compiler to run tests
+BDEPEND="
+ dev-lang/perl
+ virtual/pkgconfig
+ clang? ( llvm-core/clang )
+ llvm_targets_AMDGPU? ( llvm-core/clang[llvm_targets_AMDGPU] )
+ llvm_targets_NVPTX? ( llvm-core/clang[llvm_targets_NVPTX] )
+ test? (
+ $(python_gen_any_dep '
+ dev-python/lit[${PYTHON_USEDEP}]
+ ')
+ llvm-core/clang
+ )
+"
+
+LLVM_COMPONENTS=( offload cmake runtimes/cmake libc )
+LLVM_TEST_COMPONENTS=( openmp/cmake )
+llvm.org_set_globals
+
+pkg_pretend() {
+ if [[ ${LLVM_ALLOW_GPU_TESTING} ]]; then
+ ewarn "LLVM_ALLOW_GPU_TESTING set. This package will run tests
against your"
+ ewarn "GPU if it is supported. Note that these tests may be
flaky, fail or"
+ ewarn "hang, or even cause your GPU to crash (requiring a
reboot)."
+ fi
+}
+
+python_check_deps() {
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ if use test; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_configure() {
+ if use clang && ! is_crosspkg; then
+ # Only do this conditionally to allow overriding with
+ # e.g. CC=clang-13 in case of breakage
+ if ! tc-is-clang ; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ fi
+
+ strip-unsupported-flags
+ fi
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ local libdir="$(get_libdir)"
+ local ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ local ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ local plugins="host"
+ local build_devicertl=FALSE
+
+ if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
+ if use llvm_targets_AMDGPU; then
+ plugins+=";amdgpu"
+ build_devicertl=TRUE
+ fi
+ if use llvm_targets_NVPTX; then
+ plugins+=";cuda"
+ build_devicertl=TRUE
+ fi
+ fi
+
+ local mycmakeargs=(
+ -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
+
+ -DOFFLOAD_LIBDIR_SUFFIX="${libdir#lib}"
+ -DOFFLOAD_INCLUDE_TESTS=$(usex test)
+ -DLIBOMPTARGET_PLUGINS_TO_BUILD="${plugins}"
+ -DLIBOMPTARGET_OMPT_SUPPORT="$(usex ompt)"
+ -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB="${build_devicertl}"
+
+ # this breaks building static target libs
+ -DBUILD_SHARED_LIBS=OFF
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # force using shared libffi
+ -DFFI_STATIC_LIBRARIES=NO
+ )
+
+ [[ ! ${LLVM_ALLOW_GPU_TESTING} ]] && mycmakeargs+=(
+ # prevent trying to access the GPU
+ -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND
+ -DLIBOMPTARGET_NVPTX_ARCH=LIBOMPTARGET_NVPTX_ARCH-NOTFOUND
+ )
+ use test && mycmakeargs+=(
+ # this project does not use standard LLVM cmake macros
+ -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit"
+ -DOPENMP_LIT_ARGS="$(get_lit_flags)"
+
+ -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")"
+ -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")"
+ # requires flang
+ -DOPENMP_TEST_Fortran_COMPILER=
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-offload
+}