summaryrefslogtreecommitdiff
path: root/sys-libs/libomp
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/libomp')
-rw-r--r--sys-libs/libomp/Manifest2
-rw-r--r--sys-libs/libomp/libomp-11.1.0_rc1.ebuild105
2 files changed, 107 insertions, 0 deletions
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index 3f06bd2c069e..6634dddadc2e 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -1,10 +1,12 @@
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
+DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
EBUILD libomp-10.0.1.ebuild 2893 BLAKE2B e91e074bfa0d1584d40d997a1661507f404d6a6e4593e6da2a6825a1f8260ff02c4daebe4b9183d6ea025aa5c3be6986f3f7a920f578ad16d993ea10db272943 SHA512 558940389a55b5ea0e6e4c5b0fb48a8eaad5c00e26c1af90d5619106711b78341a532c59535f01ba5eedf99902af4494838b6edf5a0ade8693524d662d55053a
EBUILD libomp-11.0.0.ebuild 2900 BLAKE2B 7aeeb7dd0598c9834437176843cd11f43c3e77c73b1638c15ce2d00cfbf44a2af939a5f1a24759c7f8f118ff13e17d26769263eac84ef4b7ea2ce9e560ffd443 SHA512 95d4c487ae19ce18d8f8efb22c71a85c38cbfed7dcdbf7d9a2bae8633ae066cef6dd4a64e8ad80a3684590ffbaf3451577e11ad40b7ab6a10a29cb0f71917c66
EBUILD libomp-11.0.1.ebuild 2906 BLAKE2B bce35e43491b220188b20aa2fa00c3c2cc30a2324a0d0728a05b3bd1d40cf615fbe16be93d88f5aa103888def3287fcac03fa2ea1361534a3577976038b76bb1 SHA512 d434996297f5d32c9cf9dc815b234ba4020827a6b84ccc3419ca81f2bbe13803a260b4065a18aa39b4fd292cc2d26f42cbe414fcf83f906c116a33b976040a31
+EBUILD libomp-11.1.0_rc1.ebuild 2845 BLAKE2B 487479b030b45e229a721c155278fcf24936c7e95c593c3057db513213c95a6e8de408a083fabb059f9f728f059894ab4b95a907119d2535f444c8339edc1976 SHA512 ec007fc958a54d809dd338877f7f54ccb3a5b8d50093e4985f31db2fa18fd811ab3da54bb3105c3e33edf4118cc6f6d542e72c4fd7ac9679ce69596e9f10894f
EBUILD libomp-12.0.0.9999.ebuild 2858 BLAKE2B 5b23d8c8e540decfa950bd795e0b3ec956307e9bbcd8aa67e9e7e574a0a0990987d8ad0bf2e7543bea128a052212f36bdc25d7d086a85092b1dade3ef1017f22 SHA512 f823e550a414fa30b23c2ac1ef1a53090bb0d547ae4ebbcecf227936e6f46d8dbdf23cc42b87cdbd009e5feddbad17a24b3bec065043a1460812258b74d89e66
EBUILD libomp-9.0.1.ebuild 3011 BLAKE2B 33ccc441765ab33b61c9739e999039b24437c6f79b89a4db5ee1575b072fd3af609d5c8c583331db81b0b5a24a2a85cc359b4df312330b5732a24c7a8ebe3021 SHA512 404f3df2df27e031b59c4f827b13b2d9ce2b6af4126abdd1d6a233cfe0ec26ede61d01ddf6ca3434b6698ac6407ce8b4a845070b875f92eff4d961280c95ed5a
MISC metadata.xml 825 BLAKE2B 07802144018f2f74b0927b53a346f99cbc7e36dbf501bb8dfc786f8d549c10eb688afafb1759f13d4d56d10f1bcae67dfa86cc2047cc39a9655a09a22e9a4260 SHA512 de43d5be94a5ea1cdfd3ae747d55b50d5d6ee577743f55d006d585d2d5acd5b3100845486ac415685f07361cd9985bae9347fff9c65417d198c49a61b4f6ba5e
diff --git a/sys-libs/libomp/libomp-11.1.0_rc1.ebuild b/sys-libs/libomp/libomp-11.1.0_rc1.ebuild
new file mode 100644
index 000000000000..98b7cae751a3
--- /dev/null
+++ b/sys-libs/libomp/libomp-11.1.0_rc1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake-multilib linux-info llvm.org python-any-r1
+
+DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="cuda hwloc kernel_linux offload ompt test"
+# CUDA works only with the x86_64 ABI
+REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] )
+ offload? (
+ virtual/libelf:=[${MULTILIB_USEDEP}]
+ dev-libs/libffi:=[${MULTILIB_USEDEP}]
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ )"
+# tests:
+# - dev-python/lit provides the test runner
+# - sys-devel/llvm provide test utils (e.g. FileCheck)
+# - sys-devel/clang provides the compiler to run tests
+DEPEND="${RDEPEND}"
+BDEPEND="dev-lang/perl
+ offload? ( virtual/pkgconfig )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ >=sys-devel/clang-6
+ )"
+
+LLVM_COMPONENTS=( openmp )
+llvm.org_set_globals
+
+python_check_deps() {
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+kernel_pds_check() {
+ if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then
+ local CONFIG_CHECK="~!SCHED_PDS"
+ local ERROR_SCHED_PDS="\
+PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11
+< 4.14-pf9) do not implement sched_yield() call which may result in horrible
+performance problems with libomp. If you are using one of the specified
+kernel versions, you may want to disable the PDS scheduler."
+
+ check_extra_config
+ fi
+}
+
+pkg_pretend() {
+ kernel_pds_check
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local libdir="$(get_libdir)"
+ local mycmakeargs=(
+ -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}"
+
+ -DLIBOMP_USE_HWLOC=$(usex hwloc)
+ -DLIBOMP_OMPT_SUPPORT=$(usex ompt)
+
+ -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload)
+
+ # do not install libgomp.so & libiomp5.so aliases
+ -DLIBOMP_INSTALL_ALIASES=OFF
+ # disable unnecessary hack copying stuff back to srcdir
+ -DLIBOMP_COPY_EXPORTS=OFF
+ )
+ use offload && mycmakeargs+=(
+ # this is non-fatal and libomp checks for CUDA conditionally
+ # to ABI, so we can just ignore passing the wrong value
+ # on non-amd64 ABIs
+ -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda)
+ )
+ 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++")"
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-libomp
+}