llvm-runtimes/offload: Add 22.1.3

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2026-04-07 15:55:14 +02:00
parent af76834a9b
commit 0ff3a67dfe
2 changed files with 135 additions and 0 deletions
+2
View File
@@ -6,3 +6,5 @@ DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e9815261
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
DIST llvm-project-22.1.2.src.tar.xz 167026580 BLAKE2B f838277e2bb47c273e8c709940aff5e21b88ad8216a4c6813d783f6041ac4b624c954bedd4c572c117d308ccafedca80ea95fcd73675c00ebfa998057e522f7b SHA512 d5adfbb8e5026b845f8251f5f490b4646ccd2ecaf81a2b80091d1c71044f5c7726f2df6680a95589f2dedc614bdd9cdd88febcce6d5fc92f638f616d503b8066
DIST llvm-project-22.1.2.src.tar.xz.sig 119 BLAKE2B 4ca084feb2d99ca6d763048244305408400fd9e1fb08a4314112d4d0318e4a2f3337858217c6d09fc136e0dd48f5bed7e88ecd3510116a3777dedec013f915f3 SHA512 dba272f935aa5ff3e93e538ac8877a79fdd3d2bf0efa61266c3caa85ac3aab167213a76759ed9531b539cdfd57c96a9c890807c4a04ba65a4d80b0c3dff044f2
DIST llvm-project-22.1.3.src.tar.xz 167045212 BLAKE2B 4ee4a2ab5ac5f93b7d727ec4b44af86d42eb728e36ae7eeb183e47b949da61a5c31b714516fcef0c3f43dd5529d239059af84daa66dde9ae5fc5e3ea1b03e944 SHA512 3557a955d55471671ae2f7b9c809affd59a29a6fb1e70a2a5d040dc1c6376246deb0635be8ca36cae09112981760e9afb128c822e5554bd722589fb8dee3f0df
DIST llvm-project-22.1.3.src.tar.xz.sig 119 BLAKE2B b732e64dc681f12815c10ab1c83e492b172189717653f0503c6633e0b3844a57fc39de9cb8fa83cf141f9e8b0736c384b9f04275f025889ed0b466da8448b2f1 SHA512 153a0d174492a0facd061b5cfa3e18dbf946cc0c7d1fb50f4d961410d41cea1f355515fd3e892be676b8b34d61a21962c48acb90aa5d310d05cf6452053e52ad
+133
View File
@@ -0,0 +1,133 @@
# Copyright 1999-2026 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}"
KEYWORDS="~amd64 ~arm64 ~ppc64"
IUSE="+clang 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
clang? ( llvm-core/clang )
test? (
$(python_gen_any_dep '
dev-python/lit[${PYTHON_USEDEP}]
')
llvm-core/clang:${LLVM_MAJOR}
)
"
LLVM_COMPONENTS=( runtimes offload cmake libc llvm/{cmake,utils/llvm-lit} )
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"
if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
if use llvm_targets_AMDGPU; then
plugins+=";amdgpu"
fi
if use llvm_targets_NVPTX; then
plugins+=";cuda"
fi
fi
local mycmakeargs=(
-DLLVM_ENABLE_RUNTIMES=offload
-DOPENMP_STANDALONE_BUILD=ON
-DOFFLOAD_LIBDIR_SUFFIX="${libdir#lib}"
-DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
-DOFFLOAD_INCLUDE_TESTS=$(usex test)
-DLIBOMPTARGET_PLUGINS_TO_BUILD="${plugins}"
-DLIBOMPTARGET_OMPT_SUPPORT="$(usex ompt)"
# this breaks building static target libs
-DBUILD_SHARED_LIBS=OFF
)
[[ ! ${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 check-offload-unit
}