commit:     3ae4040dcf8ac6b01f0d2281478fdd27e7b5aaaf
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 14 03:37:51 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 14 07:15:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ae4040d

llvm-runtimes/offload: Bump to 20.1.7

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/offload/Manifest              |   2 +
 llvm-runtimes/offload/offload-20.1.7.ebuild | 149 ++++++++++++++++++++++++++++
 2 files changed, 151 insertions(+)

diff --git a/llvm-runtimes/offload/Manifest b/llvm-runtimes/offload/Manifest
index b04bff8dc6ab..b2bf30c398f1 100644
--- a/llvm-runtimes/offload/Manifest
+++ b/llvm-runtimes/offload/Manifest
@@ -2,5 +2,7 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 
1259ed7f9aca7b35e89d818bef
 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 
4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd
 SHA512 
195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
 DIST llvm-project-20.1.6.src.tar.xz 147239668 BLAKE2B 
ccd86730fdea3dd40ebf054661b854b9332204389db2205e1e7b2a7f140fc187cacb34de68aa9a63c15c1e17b1d0976c080cfdee7e2cb6b0dd5570001d84be12
 SHA512 
aae652fdc61bda3f80b1340a3270b687355bfb6817f4bc05dac2268a2f8c5fc677eadb515cda7c8518005f1dc39e7ce5d1c34bbc5a25f106ef8e6c8f1ecfdf6d
 DIST llvm-project-20.1.6.src.tar.xz.sig 566 BLAKE2B 
b7c48cfc1f6c9f513dadb8837b150e22043c215bf4958a8036c4077aeebdcf7c18223b0ce0ffbcacb2c7ddfeb06611b1022528ee04d3efda1ee1aa58367a9203
 SHA512 
0884048ff164a1f5caed0f1aabec173630a08ece98cf793d21b77fc969501e4f03daec39ae0fb124ad34a3436ceae66452e36a42c309f19790b7a87652482691
+DIST llvm-project-20.1.7.src.tar.xz 147245448 BLAKE2B 
f7c57d1eba4e97e875b624dec3fb1b261a0203de7200366de5b3edcfbca2a170c41df46e91cd9cb78ae2af66120aef95334f5eb9628a1489e921c6bdf4cccfe8
 SHA512 
c2dbf6a468a8152409db7ff52902ecf8768a1d0328e386999f4f3672613903e1c10bddbba66b8553a6222952f8edb66266947f1fb21d0b09ae741e6249b6d1fa
+DIST llvm-project-20.1.7.src.tar.xz.sig 566 BLAKE2B 
72ce2a18c211cfce9581a9e3e71f1c55cf18672aa355267581220e1a89e3327f9e16107970b69bb8f10f390baa5e286487bdc4cc0a7d9155ec13a4977cd3f472
 SHA512 
eff885059d547f57b98bda1fc9631f716ca6c650cd48203d9ed5443a6afb9a2d4d91d3f5c8618e307c0a44b3040bce61fdc6bce965073adc537655755d9f2112
 DIST llvm-project-23d0c7348aacdfcb145a69e533a14131bae830cc.tar.gz 237123683 
BLAKE2B 
6713c82809a9793510615f54c3ad9b8b1d2449939b0c48ab10acd1a0db43b712b229356173c90b514bc91c08e9b2be7f8e54f797661b9743ae8c3aaa9acee15f
 SHA512 
de94ab38f1d46124638d6e0650142a1612db27871ffa339c56224aba94a77f8ae6eb8c68ad0a5ed3fe000d7bff309d324cdb66a095be3c8211abfe600659bf1a
 DIST llvm-project-f8ca9e59cb438bd35b29a6d7cf6d72f50673aec9.tar.gz 236069626 
BLAKE2B 
5547770a22e5fd0240c0e435d0b0af0ebd789aa72d6829250917f2df605f9a95c6756bc1afc9b611b176c1ba8394c757b94789511b98b38c6ade6cca4c9ce7f6
 SHA512 
b1fffd7d4f5ede9bcda759bc59cdd47373a44a3bbd31a50d1d213e438a59f1da3cc96780a1d17ecaeb14454822921476406a6c37493354169f72e1fab7b3a3be

diff --git a/llvm-runtimes/offload/offload-20.1.7.ebuild 
b/llvm-runtimes/offload/offload-20.1.7.ebuild
new file mode 100644
index 000000000000..0df48e22d73e
--- /dev/null
+++ b/llvm-runtimes/offload/offload-20.1.7.ebuild
@@ -0,0 +1,149 @@
+# 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 flag-o-matic llvm.org python-any-r1 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}"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+IUSE="+debug ompt test llvm_targets_AMDGPU llvm_targets_NVPTX"
+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
+       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
+       )
+"
+# TODO: can it be fixed to compile with gcc?
+BDEPEND+="
+       llvm-core/clang
+"
+
+LLVM_COMPONENTS=( offload cmake runtimes/cmake libc/shared )
+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() {
+       # TODO
+       local -x CC=${CHOST}-clang
+       local -x CXX=${CHOST}-clang++
+       strip-unsupported-flags
+
+       # 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}"
+               -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}"
+       )
+
+       [[ ! ${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
+
+       if [[ ${build_devicertl} == FALSE ]]; then
+               # clang requires libomptarget.devicertl.a, but it can be empty
+               > "${BUILD_DIR}"/libomptarget.devicertl.a || die
+       fi
+}
+
+src_test() {
+       # respect TMPDIR!
+       local -x LIT_PRESERVES_TMP=1
+
+       cmake_build check-offload
+}
+
+src_install() {
+       cmake_src_install
+
+       if [[ ! -f ${ED}/usr/$(get_libdir)/libomptarget.devicertl.a ]]
+       then
+               dolib.a "${BUILD_DIR}"/libomptarget.devicertl.a
+       fi
+}

Reply via email to