From 6abbf81ef2f298e3221ff5e67a1f3c5f23958212 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 14 Dec 2020 13:26:14 +0000 Subject: gentoo resync : 14.12.2020 --- sys-libs/libomp/Manifest | 10 +-- sys-libs/libomp/libomp-10.0.0.ebuild | 106 ------------------------------ sys-libs/libomp/libomp-11.0.0.9999.ebuild | 104 ----------------------------- sys-libs/libomp/libomp-11.0.0.ebuild | 2 +- sys-libs/libomp/libomp-11.0.1.9999.ebuild | 105 +++++++++++++++++++++++++++++ sys-libs/libomp/libomp-11.0.1_rc1.ebuild | 105 +++++++++++++++++++++++++++++ sys-libs/libomp/libomp-12.0.0.9999.ebuild | 5 +- 7 files changed, 219 insertions(+), 218 deletions(-) delete mode 100644 sys-libs/libomp/libomp-10.0.0.ebuild delete mode 100644 sys-libs/libomp/libomp-11.0.0.9999.ebuild create mode 100644 sys-libs/libomp/libomp-11.0.1.9999.ebuild create mode 100644 sys-libs/libomp/libomp-11.0.1_rc1.ebuild (limited to 'sys-libs/libomp') diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index 73c2520eae98..dc006eb6c59c 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -1,11 +1,11 @@ -DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0 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-rc1.tar.gz 122777435 BLAKE2B 23b520d33cf4b641027ee52bb10c6171d60356c9167d5b94012929e6e547c526cda1a6177c295ed19592dfb83b020f63b2cef4cabc70ce9a2a8e098fe654a3cd SHA512 605c7bbff1610f335be8ea4f1204df797fed21185a54c77565f6ff2d00794d1967e9c5fab7c87633e242f2f999bdffb76da83f756d261c1ca476114599409ae1 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59 -EBUILD libomp-10.0.0.ebuild 3013 BLAKE2B cebd2bde8d98f6b4941f8c5000295424ee995ca2601224ae0ba535ae3fd327065688d481a498953450364b7725d60b4beea386f859660cac70292882365b8d79 SHA512 1938aff720e1e87fa290076f204feab09eaee1ff6152e65466fc1905a7afb03064a51ed39d3653d17ccf06a68344e2662a148d6913f7eb60797ded593146b8be EBUILD libomp-10.0.1.ebuild 2893 BLAKE2B e91e074bfa0d1584d40d997a1661507f404d6a6e4593e6da2a6825a1f8260ff02c4daebe4b9183d6ea025aa5c3be6986f3f7a920f578ad16d993ea10db272943 SHA512 558940389a55b5ea0e6e4c5b0fb48a8eaad5c00e26c1af90d5619106711b78341a532c59535f01ba5eedf99902af4494838b6edf5a0ade8693524d662d55053a -EBUILD libomp-11.0.0.9999.ebuild 2844 BLAKE2B edf9ceb8c819d5c522c92af4de5c5470f9d99e09d60c29d1ecc0aa71aea9a281bc797fc141881759cbecbea150dc00b0ae07276808959dc566402f319526061a SHA512 4fed307e6ea1b5e9c5859a6b8d51756a5cb0775dddbefd830acea7633cdb57fd08ec4bc406500b283054d9896a41a194f496fc7dc9f60bc86ca74a165c3a76a2 -EBUILD libomp-11.0.0.ebuild 2893 BLAKE2B e91e074bfa0d1584d40d997a1661507f404d6a6e4593e6da2a6825a1f8260ff02c4daebe4b9183d6ea025aa5c3be6986f3f7a920f578ad16d993ea10db272943 SHA512 558940389a55b5ea0e6e4c5b0fb48a8eaad5c00e26c1af90d5619106711b78341a532c59535f01ba5eedf99902af4494838b6edf5a0ade8693524d662d55053a -EBUILD libomp-12.0.0.9999.ebuild 2857 BLAKE2B ebe0d81c7306479129006e96b379edb4ee6b25e99e797ad67bd38847374aa1115d1053fd7ddca358d5470b8a85f56f414e9dc8b36a7cc8e99cd6d62f027b4d91 SHA512 28c58b66a3b9de6d6b1adc0a64172c1eceea2d95959801659026314b744643c3d47cb21059ee4dea61951ea2c77bff3e863bcdc43638c79bf50137a2a77abde6 +EBUILD libomp-11.0.0.ebuild 2900 BLAKE2B 7aeeb7dd0598c9834437176843cd11f43c3e77c73b1638c15ce2d00cfbf44a2af939a5f1a24759c7f8f118ff13e17d26769263eac84ef4b7ea2ce9e560ffd443 SHA512 95d4c487ae19ce18d8f8efb22c71a85c38cbfed7dcdbf7d9a2bae8633ae066cef6dd4a64e8ad80a3684590ffbaf3451577e11ad40b7ab6a10a29cb0f71917c66 +EBUILD libomp-11.0.1.9999.ebuild 2845 BLAKE2B 13c2ef4577d1dcd14f11d5100797a5bc936d9f02c0ca9814c63e4fd8b9e8c274404c8d672ededfd4b304c1c864a33c39d7b1c9f2b1c7c98c70008f809dbb3f19 SHA512 1552854a04dfc15e518a2b8234e64f1d6679638681023d4fd5690ca6577eec4f84b4ab64f3f211c20c9167be354549e2ab96fa2051dc40e66f1689caeea2d58d +EBUILD libomp-11.0.1_rc1.ebuild 2845 BLAKE2B 13c2ef4577d1dcd14f11d5100797a5bc936d9f02c0ca9814c63e4fd8b9e8c274404c8d672ededfd4b304c1c864a33c39d7b1c9f2b1c7c98c70008f809dbb3f19 SHA512 1552854a04dfc15e518a2b8234e64f1d6679638681023d4fd5690ca6577eec4f84b4ab64f3f211c20c9167be354549e2ab96fa2051dc40e66f1689caeea2d58d +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-10.0.0.ebuild b/sys-libs/libomp/libomp-10.0.0.ebuild deleted file mode 100644 index 3e9988c75e68..000000000000 --- a/sys-libs/libomp/libomp-10.0.0.ebuild +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) -inherit cmake-multilib linux-info llvm.org multiprocessing python-any-r1 - -DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" -HOMEPAGE="https://openmp.llvm.org" -LLVM_COMPONENTS=( openmp ) -llvm.org_set_globals - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~x64-macos" -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 - )" - -# least intrusive of all -CMAKE_BUILD_TYPE=RelWithDebInfo - -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="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" - - -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")" - -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")" - ) - cmake-utils_src_configure -} - -multilib_src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - - cmake-utils_src_make check-libomp -} diff --git a/sys-libs/libomp/libomp-11.0.0.9999.ebuild b/sys-libs/libomp/libomp-11.0.0.9999.ebuild deleted file mode 100644 index 5bffd6685f64..000000000000 --- a/sys-libs/libomp/libomp-11.0.0.9999.ebuild +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright 1999-2020 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" -LLVM_COMPONENTS=( openmp ) -llvm.org_set_globals - -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 - )" - -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 -} diff --git a/sys-libs/libomp/libomp-11.0.0.ebuild b/sys-libs/libomp/libomp-11.0.0.ebuild index 9908059ef41f..e00e4423178e 100644 --- a/sys-libs/libomp/libomp-11.0.0.ebuild +++ b/sys-libs/libomp/libomp-11.0.0.ebuild @@ -14,7 +14,7 @@ llvm.org_set_globals LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~x64-macos" +KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x64-macos" IUSE="cuda hwloc kernel_linux offload ompt test" # CUDA works only with the x86_64 ABI REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )" diff --git a/sys-libs/libomp/libomp-11.0.1.9999.ebuild b/sys-libs/libomp/libomp-11.0.1.9999.ebuild new file mode 100644 index 000000000000..f715bdea5353 --- /dev/null +++ b/sys-libs/libomp/libomp-11.0.1.9999.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2020 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 +} diff --git a/sys-libs/libomp/libomp-11.0.1_rc1.ebuild b/sys-libs/libomp/libomp-11.0.1_rc1.ebuild new file mode 100644 index 000000000000..f715bdea5353 --- /dev/null +++ b/sys-libs/libomp/libomp-11.0.1_rc1.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2020 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 +} diff --git a/sys-libs/libomp/libomp-12.0.0.9999.ebuild b/sys-libs/libomp/libomp-12.0.0.9999.ebuild index eefd40f7c1f0..2164682a260e 100644 --- a/sys-libs/libomp/libomp-12.0.0.9999.ebuild +++ b/sys-libs/libomp/libomp-12.0.0.9999.ebuild @@ -9,8 +9,6 @@ inherit cmake-multilib linux-info llvm.org python-any-r1 DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" HOMEPAGE="https://openmp.llvm.org" -LLVM_COMPONENTS=( openmp llvm/include ) -llvm.org_set_globals LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" @@ -39,6 +37,9 @@ BDEPEND="dev-lang/perl >=sys-devel/clang-6 )" +LLVM_COMPONENTS=( openmp llvm/include ) +llvm.org_set_globals + python_check_deps() { has_version "dev-python/lit[${PYTHON_USEDEP}]" } -- cgit v1.2.3