commit:     a3988caa1ddc1a320c4e0fbbf5df6aa7a398ddf2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr  5 10:51:48 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Apr  5 12:23:57 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3988caa

llvm-runtimes/offload: Add 21.0.0_pre20250405 snapshot

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

 llvm-runtimes/offload/Manifest                     |   1 +
 .../offload/offload-21.0.0_pre20250405.ebuild      | 139 +++++++++++++++++++++
 2 files changed, 140 insertions(+)

diff --git a/llvm-runtimes/offload/Manifest b/llvm-runtimes/offload/Manifest
index 8961147f8237..5c6352891076 100644
--- a/llvm-runtimes/offload/Manifest
+++ b/llvm-runtimes/offload/Manifest
@@ -7,3 +7,4 @@ DIST llvm-project-20.1.1.src.tar.xz.sig 566 BLAKE2B 
76c49401d9b8e283fc29586c32fc
 DIST llvm-project-20.1.2.src.tar.xz 147229028 BLAKE2B 
90be4c8b69d44bc3a295f3f63081f999cf35d05e9157ab104d403a5d5b6c3ff97b57a89598d2ec0413988f93a23f97f485b2216bbf0630cade754e9830246621
 SHA512 
c95e088e471d49c6692c8af1a7e40924467e4c269dada019c44455687c9f0e6a213b9b3ac8afa4e3d20cb3e757afc3400152e7cd06981aeebd61591cac15580d
 DIST llvm-project-20.1.2.src.tar.xz.sig 566 BLAKE2B 
fa4637cd41bddb0425567b17bcb0ba4800ec9a689897610febfba7f49f8218d6aff7bb8f7ecf6bb927397096ca49c0c1817b243e5ba7fc0ba51993ef532dadeb
 SHA512 
d3f6a350ebd9884878442ea202f58328f8e85c30cfb150371e4af7fa8dc560bb421cd0f49f49e6bc95f57de6c06543633f0b2799aab9590750f440e099424e01
 DIST llvm-project-21eeca3db0341fef4ab4a6464ffe38b2eba5810c.tar.gz 229546432 
BLAKE2B 
e783f08b93498b252741a07fd3aa3383ca93f66688f9bbdb2e11185c660dfff1020ab4a1ca803ab69ab28dc2fd8b5c3855f45c0b77851b8e6edeb0dc5bf6cbd4
 SHA512 
54420956b36f3bccabea2171a4103ca20d6b136e1d1f7f217e0ec735be4542bbd840ef228c55f3e9103ad2f9fb41393e611d5aaa1521d01fdd163b770b80ba0b
+DIST llvm-project-f3e6473df46fd920e09e06e57a5549eb8e3a8bd3.tar.gz 229893133 
BLAKE2B 
20a14a99fb55070c30b05298916875d7f7b5476bc47c72f675204adb62daf1126bc83f2e7e51867042cb0ea415f04ef32653118116d01f666a82dc888fb6e999
 SHA512 
f11eac15fc1d96232267d588fa1c41ebbff3367b1fccf1cfd43f3290f682b73ffa78f2336a2a155c41ef67cf4e6f43019b152996d790f03acf4b9b732a3cf4b7

diff --git a/llvm-runtimes/offload/offload-21.0.0_pre20250405.ebuild 
b/llvm-runtimes/offload/offload-21.0.0_pre20250405.ebuild
new file mode 100644
index 000000000000..1c79940848bd
--- /dev/null
+++ b/llvm-runtimes/offload/offload-21.0.0_pre20250405.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake 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}"
+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
+       )
+"
+
+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() {
+       # 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