From 4b19be30aa626b327c885dae62c559ec0e9fb935 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 13 Oct 2019 22:19:36 +0100 Subject: gentoo resync : 13.10.2019 --- sys-libs/libomp/Manifest | 12 ++-- sys-libs/libomp/libomp-6.0.1-r1.ebuild | 2 +- sys-libs/libomp/libomp-7.1.0.ebuild | 2 +- sys-libs/libomp/libomp-8.0.0.ebuild | 115 ------------------------------- sys-libs/libomp/libomp-8.0.1.ebuild | 2 +- sys-libs/libomp/libomp-9.0.0.9999.ebuild | 112 ------------------------------ sys-libs/libomp/libomp-9.0.0.ebuild | 2 +- sys-libs/libomp/libomp-9.0.1.9999.ebuild | 112 ++++++++++++++++++++++++++++++ 8 files changed, 121 insertions(+), 238 deletions(-) delete mode 100644 sys-libs/libomp/libomp-8.0.0.ebuild delete mode 100644 sys-libs/libomp/libomp-9.0.0.9999.ebuild create mode 100644 sys-libs/libomp/libomp-9.0.1.9999.ebuild (limited to 'sys-libs/libomp') diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index 4249ea606fba..0eb0f664c5ee 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -1,13 +1,11 @@ DIST openmp-6.0.1.src.tar.xz 2048320 BLAKE2B 08b3a7051c985903f78331f55a1c6e928399b87c862c43c991e9bf78b66b6e412fc96f202b82c051176dbbe02422f8ceb7414f44ea8f3522f418e515c0f70c62 SHA512 abb956583e5d11d0c6f6d97183c081d658616a74933be884a591eaa3d8c4bb04f08f02016d2c86d7384c7ff1aa44fb949b0d967fc0ff50e3132aaba412e9add8 DIST openmp-7.1.0.src.tar.xz 909320 BLAKE2B 7a5fd4374992b7c440ff27917c0af6a2ec64aaeb2fda645f75b5affd4981e3ceef7f15cba61c37934c5b35be543af315cc4bff2937545fbf5eaa6593f1aa8b83 SHA512 57f18beede401c1c39766e13a03b52083a0f7b437758069f66b73d6d1388dc51e48c34b0a7ecd3552244fd35e2db57388642588febef413c161f5c5411ab1e5d -DIST openmp-8.0.0.src.tar.xz 934384 BLAKE2B f473fad9e8bcab1ad0c6ffab7cee471065d615947964177194f829847d41e726fb435562f1637f2a65d3ae84e01a8077662de047443f33d089948e2efb58906c SHA512 0fff071c9dbf118bc1908e433d6ce571f47a4f2dbc5bf2d843151889e3414473bb5a9c97dc0b6dc6d1bd9ab0c6e365cae625f97d1b11d5d6ae059fa5a0496cb3 DIST openmp-8.0.1.src.tar.xz 933320 BLAKE2B 02a7bf70cd3a217845ef1c5a35e0d7dbfbb39069a9029d462c797b5ddf2240fd627dee55856146ca4bb81622a41f31ecd11e0ed66baf3b7d99447087271991b0 SHA512 9ded785c8129e7b3a70b54f07c4dde529456edcc94904ad77fc578cf7f096cfa3ff2279959d7f7f1db51571e11c53375f33b597c7f36ce6dc6b512c44ced8026 DIST openmp-9.0.0.src.tar.xz 939036 BLAKE2B 3eee75f05f65a294db6e65c29b8871bb2dd4e0ee753447d2356010ca1a114f3ad2dc54c2f39ad7ffcebd510d912e96f54a2884ecdc7f50864f909184c707e7a5 SHA512 0be0e95026db574ad75d4a9d2fe4234056d16dc4fe24760f3e9e39f3e10099c7eea4ff76d7236e5a570809111fa18fa017cb679391c16a995ba0c194eb9391d4 EBUILD libomp-10.0.0.9999.ebuild 3155 BLAKE2B 69fed2b801866cb8025f1dcb450bfac5f4c7a8b70ae4454712581515ccedd8ea997cc89eec1201035e3817c53931d2cca97305ea1287980e38f509a02980502f SHA512 da65a9cdaae4969510462a3321bcdf29e8548bc00dd53e489509d5518842162897113f291f28b9a4bac511df4eb72eade4183d9ed9e7521ad14f611e7d979489 -EBUILD libomp-6.0.1-r1.ebuild 3261 BLAKE2B dc43e11cbd716285018a3857b33378715338350269cbfee3292c44ebb0d10584ea1f505962c34fc9c5a58771d6abb52f444467e79834e9a04d594c914af46a2f SHA512 eb901f8810fa552cad6d6510f54f30824a1d7f7931ccc1cf6bb02a2ed22a9e9af3d924bfbc09921510d2972ac4ca36fb1df4d6b7d52342a346fb8b5cfa0ac436 -EBUILD libomp-7.1.0.ebuild 3262 BLAKE2B 67e9c0dc1f9e20dcd68904dbaab30c9de6311f2deef536b7e2026150f1d80a98870351a12cbbd97800c79b19250e2e4348e319b3204a92be04122ac4d295261c SHA512 f5984db2dfbb23c610960a7799fceea7e6bf46285d98e2200653978382cd9b5b2510a18ea912e0d10aa36c6a593c7487e764437e714532af3f91159e3f950cba -EBUILD libomp-8.0.0.ebuild 3266 BLAKE2B 8cd6a5dfac53b82e0a92d647ae9b453a664f5b5fa8156c8185ccecf394f313ae826e29634b14126a53ce36498c485b658b36141ddd5895635437b59beabea001 SHA512 6fb36d649ce586f638f0846e26d7346ae9faeae571b1e61b2509b810a04e899b63293653d6b3af51924cbd2c1477f359b8e004f57cedf20385698eb8657caef5 -EBUILD libomp-8.0.1.ebuild 3292 BLAKE2B db26c9f6c3b3020b179a9a2e09ed56025d1f728eeb37a2a756737b960f2bbf058e77907e838c0ea607239c467e18e167f63127abebcb29543afbbb45456ffc95 SHA512 ddfe70504b99e551b3a3effc3cf5d689868d6b1ec06a2ed2b446c46ffa0f95c119c0a3bc211e59c1181bbe3a10e6747e126b36635fe2846084c2c9897d9a58b5 -EBUILD libomp-9.0.0.9999.ebuild 3180 BLAKE2B be06f2136d959c7a4f119b2197d3fc3e5039b1f5a02decab3602c3dba659f9427cf7f778f66f4cb1db8e6c6f795b22a16a08671f7e79a82887a3697440399deb SHA512 fb9766b7223f5104d427b97804801c34f735ee94d7b2eee27ffb9e9f7a60aeb9f61fa77df698435c8fbc0661a7f038a4e81f5acc937f6e317d886d02017f03b1 -EBUILD libomp-9.0.0.ebuild 3208 BLAKE2B 277d9eefeda231db4ff978e19b8f0a41c1e0eb722a2b5f8a18f4c820f4609432af107a7caa977f61e06be7f15a40d4a32da11a4ab5d1e781408b8495ff4286e4 SHA512 b21e1f5e9bb950df7fe02443aa65463639470c680e43d44836d5f2b1b822228ecf20ebddc5904fcbfd3f4d908c805dbd932393dd5db104993760f4c3e0bb159c +EBUILD libomp-6.0.1-r1.ebuild 3249 BLAKE2B c0128b595df288ca5d233d0de9f3dd1c6d60be6796530e3944d3cfe8b6aa983ba634714a0f1b8cdd5fd51a719c0547a34ab788c3fb2456d84b055d3b58c38f7b SHA512 c6f934694852f6c4ac474d04ab3b33204d5094c2a42f8935f6744e74041e2cfb6f9746b53dadadfeb1c5892efdf97c8d33865f72a9e4baa048984470a3efbcef +EBUILD libomp-7.1.0.ebuild 3250 BLAKE2B c01271dec02e6315408cf8751580a870f0a8a08f8a7d7801efd6780049676742acc10a284ab21eff5d178570f59995cc0c388adf7d4cbafe5a07324c63de7402 SHA512 463b486bdb6fbd4b85d0935905e7b80d7c28a3279159a15182ecc364aa56eff268ba6e1dd4c4e38d90c3229b057dcbc6037419442e9aae137afd71e69816bd45 +EBUILD libomp-8.0.1.ebuild 3280 BLAKE2B ad34cfd8d5043c0fa706e292f78c5458c659b26ce260c4a049a9e8ecc88f3c268d0b4849c269a41e95255c8ca72f8db0b1f57eb342a4af0980dd34bce77c3c69 SHA512 fbe46c483dcf27d5598058b6f6394811d1e2fd2ce73cb3c34bf6519d2de0ba274562cd4d1caaae3737b70a6188c36079547518ec3a47afadf69c4696d9ec5634 +EBUILD libomp-9.0.0.ebuild 3196 BLAKE2B 75685b504c261bd35e6f4fb949be3d1bdd7e4e07261c9c25a56ce545232c73125fab53d464aa4fdfb41e22136178fc045b589e34d458d6b40810891da823217f SHA512 ea159d7eee24eb8c44fd4e5bd359e129db6089120b92a3ae99892e98d4ae879c01defffe509de227c3dadef5c2f722c46cac3d2bc3e06292ef601ef431cdde9e +EBUILD libomp-9.0.1.9999.ebuild 3180 BLAKE2B be06f2136d959c7a4f119b2197d3fc3e5039b1f5a02decab3602c3dba659f9427cf7f778f66f4cb1db8e6c6f795b22a16a08671f7e79a82887a3697440399deb SHA512 fb9766b7223f5104d427b97804801c34f735ee94d7b2eee27ffb9e9f7a60aeb9f61fa77df698435c8fbc0661a7f038a4e81f5acc937f6e317d886d02017f03b1 MISC metadata.xml 825 BLAKE2B 07802144018f2f74b0927b53a346f99cbc7e36dbf501bb8dfc786f8d549c10eb688afafb1759f13d4d56d10f1bcae67dfa86cc2047cc39a9655a09a22e9a4260 SHA512 de43d5be94a5ea1cdfd3ae747d55b50d5d6ee577743f55d006d585d2d5acd5b3100845486ac415685f07361cd9985bae9347fff9c65417d198c49a61b4f6ba5e diff --git a/sys-libs/libomp/libomp-6.0.1-r1.ebuild b/sys-libs/libomp/libomp-6.0.1-r1.ebuild index 1dfb63c9f830..abc8941fe1ff 100644 --- a/sys-libs/libomp/libomp-6.0.1-r1.ebuild +++ b/sys-libs/libomp/libomp-6.0.1-r1.ebuild @@ -20,7 +20,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/openmp-${PV/_/}.src.tar.xz" LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant" SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~x64-macos" +KEYWORDS="amd64 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 ) )" diff --git a/sys-libs/libomp/libomp-7.1.0.ebuild b/sys-libs/libomp/libomp-7.1.0.ebuild index a52e23876b75..8946c652275f 100644 --- a/sys-libs/libomp/libomp-7.1.0.ebuild +++ b/sys-libs/libomp/libomp-7.1.0.ebuild @@ -20,7 +20,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/openmp-${PV/_/}.src.tar.xz" LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant" SLOT="0" -KEYWORDS="amd64 arm arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~x64-macos" +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 ) )" diff --git a/sys-libs/libomp/libomp-8.0.0.ebuild b/sys-libs/libomp/libomp-8.0.0.ebuild deleted file mode 100644 index d472c4f23795..000000000000 --- a/sys-libs/libomp/libomp-8.0.0.ebuild +++ /dev/null @@ -1,115 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# (needed due to CMAKE_BUILD_TYPE != Gentoo) -CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python2_7 ) - -inherit cmake-multilib linux-info multiprocessing python-any-r1 - -DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" -HOMEPAGE="https://openmp.llvm.org" -SRC_URI="https://releases.llvm.org/${PV/_//}/openmp-${PV/_/}.src.tar.xz" - -# Additional licenses: -# - MIT-licensed Intel code, -# - LLVM Software Grant from Intel. - -LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~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}] - virtual/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} - dev-lang/perl - offload? ( virtual/pkgconfig[${MULTILIB_USEDEP}] ) - test? ( - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - >=sys-devel/clang-6 - )" - -S=${WORKDIR}/openmp-${PV/_/}.src - -# 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-8.0.1.ebuild b/sys-libs/libomp/libomp-8.0.1.ebuild index 7cd25fdba874..e80ec0c8aeaa 100644 --- a/sys-libs/libomp/libomp-8.0.1.ebuild +++ b/sys-libs/libomp/libomp-8.0.1.ebuild @@ -21,7 +21,7 @@ SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${ LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant" SLOT="0" -KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-fbsd ~amd64-linux ~x64-macos" +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 ) )" diff --git a/sys-libs/libomp/libomp-9.0.0.9999.ebuild b/sys-libs/libomp/libomp-9.0.0.9999.ebuild deleted file mode 100644 index 024defb5b3be..000000000000 --- a/sys-libs/libomp/libomp-9.0.0.9999.ebuild +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# (needed due to CMAKE_BUILD_TYPE != Gentoo) -CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) - -inherit cmake-multilib git-r3 linux-info multiprocessing python-any-r1 - -DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" -HOMEPAGE="https://openmp.llvm.org" -SRC_URI="" -EGIT_REPO_URI="https://git.llvm.org/git/openmp.git - https://github.com/llvm-mirror/openmp.git" -EGIT_BRANCH="release_90" - -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}] - virtual/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[${MULTILIB_USEDEP}] ) - 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-9.0.0.ebuild b/sys-libs/libomp/libomp-9.0.0.ebuild index 66370efbadfe..f182d3947149 100644 --- a/sys-libs/libomp/libomp-9.0.0.ebuild +++ b/sys-libs/libomp/libomp-9.0.0.ebuild @@ -18,7 +18,7 @@ S=${WORKDIR}/${MY_P} LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x64-macos" +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 ) )" diff --git a/sys-libs/libomp/libomp-9.0.1.9999.ebuild b/sys-libs/libomp/libomp-9.0.1.9999.ebuild new file mode 100644 index 000000000000..024defb5b3be --- /dev/null +++ b/sys-libs/libomp/libomp-9.0.1.9999.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit cmake-multilib git-r3 linux-info multiprocessing python-any-r1 + +DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" +HOMEPAGE="https://openmp.llvm.org" +SRC_URI="" +EGIT_REPO_URI="https://git.llvm.org/git/openmp.git + https://github.com/llvm-mirror/openmp.git" +EGIT_BRANCH="release_90" + +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}] + virtual/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[${MULTILIB_USEDEP}] ) + 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 +} -- cgit v1.2.3