diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-06-03 09:30:56 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-06-03 09:30:56 +0100 |
commit | 9f322d80b846d0000268f94422b74c28979e4adf (patch) | |
tree | 7d0526672ae719056f1d302b68cde18c11fc3ab3 /sys-libs/libomp | |
parent | eaef2dddc42323859c2525b466b380620534c051 (diff) |
gentoo auto-resync : 03:06:2023 - 09:30:55
Diffstat (limited to 'sys-libs/libomp')
-rw-r--r-- | sys-libs/libomp/Manifest | 3 | ||||
-rw-r--r-- | sys-libs/libomp/libomp-16.0.5.ebuild | 151 |
2 files changed, 154 insertions, 0 deletions
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index abe0d3c5e922..b53ed6a5f4ae 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -9,6 +9,8 @@ DIST llvm-project-16.0.3.src.tar.xz 117998136 BLAKE2B 6117586a117c30515e9a5623ab DIST llvm-project-16.0.3.src.tar.xz.sig 566 BLAKE2B bbd96268b006fecffd7402452ae7559bd2ea42c7b771999f58893a48d66b1b056b476a7022c70e2ab8f11dba8318ccc141f97a05ece3b9ed3b4405a6890b0c3a SHA512 cdd5e1c2a252ba58f9b7f8687d6cf9a330c188988707bd72f4632a8158a2db9ac180b3936da99b87e7e99886c39cb8517ebbb04b7d1be198e76964e31ec8dc58 DIST llvm-project-16.0.4.src.tar.xz 117996332 BLAKE2B 2ea3ef25290ce6180d271e42fbf5e02da973a21e3929c1ac8d1e3e7b268d39db97611e15654ca7e6527add24542d0eed0ee2b1b9d85dfd0ba661e55356bac5d3 SHA512 860bcb999005f55bed25691304983d7bf707f8e3246000595b412b9e88f4a1614be0adb43bbff9c30f49b969373fa0becab02a56ac37915a5f83c52ca8ea3f95 DIST llvm-project-16.0.4.src.tar.xz.sig 566 BLAKE2B 43cb2147f12f98f864797158e8efcfed9c6780fae3b5c71c0f1aea19a4131ee91c36bdf5b10e44f478f2370c8d22a9038038ecd607f25a95f2d3e33628eb9ac0 SHA512 c902d1b652e6e144fcf74f550539f56665475b6bdf673ba5bf2f1731c3bb8f5717ed56433d488c54bbf2f429b432da84e0bfb4b5fb5f2b7fa208b4f24f682be7 +DIST llvm-project-16.0.5.src.tar.xz 118000368 BLAKE2B 9f84e6bab450dc8d6379771afbca5cddc6fbad6c9728726f7158f290ab87d464ff657e89e1c8fc3c474362cc865ff13c5d55ef758c848ea3e660d732cb2fdefa SHA512 7008e7e9c8c2246fe98ba3f0c0fa91e41c88c4da427bf1cfdcce7ef57e5ea838efe7c58c523a7d1708e70d64a4338afe16d06fba2fc7ac5a6c19ca3d6ee41e99 +DIST llvm-project-16.0.5.src.tar.xz.sig 566 BLAKE2B 4c96f294f350e0086f8504a54c3387308c60efb573c8def40aec45b1918d43e36c44bafb0823625b6cefa5d99b3aacd7823d6c92c7a64a737653d5b51839a924 SHA512 4550c7c6a1b6ea603d1499aba5aca746f3948a00e7567604f5e7dc3b215a34357bad382a7ebea1f6cd7952841cb75a0dfbe2c278a8c6fcb630a5035b3e16e869 DIST llvm-project-a2684acfb61d40f441e240035d7f1ba50da637c8.tar.gz 184900914 BLAKE2B fb1f836738415a640bc84283722f6a7355a06bc8ac05b544dd4ad4ac9552dcf70040b82b0493c5b4485b28610412279ec0adcf467e71915167aa7d010c08216e SHA512 c08ff8abc166399e692d3166ccf65eb4b647893cba8ffc10bcda815bc914a944855bac036d6349f6d820a6ff43d5417170e6ff8620d97a2a144a0898e95d09e3 EBUILD libomp-14.0.6-r1.ebuild 3917 BLAKE2B d92540af690dd622122ad1a4ed2548afa141f1254fbe9a9b3d34286b36f0fa70ccaf915f218c1bea8c68377ea20724db9443d365e2e5f290707f444d3ff47ca5 SHA512 433ae63716103af5aa493c7dbae43f10003cac95abaae579dcb61cba6390da4b9b3fc921e410ba899719bd170fa153a7b3d66c8776c37fd074066173c1fea160 EBUILD libomp-15.0.7-r2.ebuild 3474 BLAKE2B c75fddce61b7e8fe837b4c5bc1b7dacfbe4bc1572537dd7c44c23f894d05b104e8946d896b3b19d78de32a87d866d5911a0f3a8f81796469bba2753d051b2105 SHA512 7dc7c5fd7cd370acadfdf6e15ed09cde0798312ed3c72e770596aecb5817a4ec1477cc1092e3c159d1988bba4200808259705206f80d8fd0019fe07c34f4455d @@ -16,6 +18,7 @@ EBUILD libomp-15.0.7-r6.ebuild 3480 BLAKE2B 89d638d156dba3a56ad23baef8b14084f1d8 EBUILD libomp-16.0.3.ebuild 3993 BLAKE2B 12ea9bf058a78f1a4439ee65528a592b0fed0a1234e3c318a748f9bf8e520763c7ffda28719f00abbb01fb1a77798f1094ed48fc344d1ea12999a0bbe60a8675 SHA512 b517da1c7c983f21969377852743b5015f6ea86ec078f330d100c8a5bc39de6ee0aa488a15f1702ea765a958ec9ea8903226d81a3ba154273cfa8a5e615cb3b5 EBUILD libomp-16.0.4.ebuild 3993 BLAKE2B 12ea9bf058a78f1a4439ee65528a592b0fed0a1234e3c318a748f9bf8e520763c7ffda28719f00abbb01fb1a77798f1094ed48fc344d1ea12999a0bbe60a8675 SHA512 b517da1c7c983f21969377852743b5015f6ea86ec078f330d100c8a5bc39de6ee0aa488a15f1702ea765a958ec9ea8903226d81a3ba154273cfa8a5e615cb3b5 EBUILD libomp-16.0.5.9999.ebuild 3920 BLAKE2B f128f041db9ab95beed986fad4fce1d70d30688dff973aa15a1ffb268f248ade667da316effe8de491d836bebc289a30a691910d1159c7a2563cbaad42f1bfbc SHA512 56a8a37f77c4690041fa9d274b3b52a5cc41588e02961b157f078adafe882bf66957d4d729037baf25f1257a0cb2af5f83e432c2d214234cf6942bf31eb7bd9d +EBUILD libomp-16.0.5.ebuild 3993 BLAKE2B 12ea9bf058a78f1a4439ee65528a592b0fed0a1234e3c318a748f9bf8e520763c7ffda28719f00abbb01fb1a77798f1094ed48fc344d1ea12999a0bbe60a8675 SHA512 b517da1c7c983f21969377852743b5015f6ea86ec078f330d100c8a5bc39de6ee0aa488a15f1702ea765a958ec9ea8903226d81a3ba154273cfa8a5e615cb3b5 EBUILD libomp-17.0.0.9999.ebuild 3921 BLAKE2B 2aa5aa2719a4f9a7f244cd92fb819d0fafc81d7f806d1b295c583159e0884c14c04bf1188d8c9e315c4cd2e1d3940311cd4e80f03e501958cd3b38e1c0567ab9 SHA512 c6f7bbf7296b24154a170c47044851c7331564af58cdca813ac13903535e49438c9165c8c811e72ad18e0a2db4e890f9dce163f6f07b0b1d60a473e455402b00 EBUILD libomp-17.0.0_pre20230526.ebuild 3921 BLAKE2B 2aa5aa2719a4f9a7f244cd92fb819d0fafc81d7f806d1b295c583159e0884c14c04bf1188d8c9e315c4cd2e1d3940311cd4e80f03e501958cd3b38e1c0567ab9 SHA512 c6f7bbf7296b24154a170c47044851c7331564af58cdca813ac13903535e49438c9165c8c811e72ad18e0a2db4e890f9dce163f6f07b0b1d60a473e455402b00 MISC metadata.xml 963 BLAKE2B fdea4545db21492049061b85eaa7038965183e10aceae7c41daadc1ce10e7e1bcb2e86344659787ee244360b50b51c99e1a348d3acd2185dac80097541a00dd7 SHA512 c279f8e9c2463dc3f6e02856e520105d6f3321b633439bfe7409bfd6e7e43f1450053dc4f6663492caf7077caf3f4ab0f5cf0161631639e3aefa9ff985dc476f diff --git a/sys-libs/libomp/libomp-16.0.5.ebuild b/sys-libs/libomp/libomp-16.0.5.ebuild new file mode 100644 index 000000000000..72038b861daa --- /dev/null +++ b/sys-libs/libomp/libomp-16.0.5.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit flag-o-matic cmake-multilib linux-info llvm llvm.org +inherit python-single-r1 toolchain-funcs + +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/${LLVM_SOABI}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" +IUSE=" + debug gdb-plugin hwloc offload ompt test + llvm_targets_AMDGPU llvm_targets_NVPTX +" +REQUIRED_USE=" + gdb-plugin? ( ${PYTHON_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + gdb-plugin? ( ${PYTHON_DEPS} ) + hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) + offload? ( + dev-libs/libffi:=[${MULTILIB_USEDEP}] + ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}] + llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= ) + ) +" +# 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? ( + llvm_targets_AMDGPU? ( sys-devel/clang ) + llvm_targets_NVPTX? ( sys-devel/clang ) + virtual/pkgconfig + ) + test? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/lit[${PYTHON_USEDEP}] + ') + sys-devel/clang + ) +" + +LLVM_COMPONENTS=( openmp cmake llvm/include ) +llvm.org_set_globals + +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 offload && LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + if use gdb-plugin || use test; then + python-single-r1_pkg_setup + fi +} + +multilib_src_configure() { + # LTO causes issues in other packages building, #870127 + filter-lto + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + local build_omptarget=OFF + # upstream disallows building libomptarget when sizeof(void*) != 8 + if use offload && + "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null \ + <<-EOF &>/dev/null + int test[sizeof(void *) == 8 ? 1 : -1]; + EOF + then + build_omptarget=ON + fi + + local libdir="$(get_libdir)" + local mycmakeargs=( + -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" + + -DLIBOMP_USE_HWLOC=$(usex hwloc) + -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin) + -DLIBOMP_OMPT_SUPPORT=$(usex ompt) + + -DOPENMP_ENABLE_LIBOMPTARGET=${build_omptarget} + + # do not install libgomp.so & libiomp5.so aliases + -DLIBOMP_INSTALL_ALIASES=OFF + # disable unnecessary hack copying stuff back to srcdir + -DLIBOMP_COPY_EXPORTS=OFF + # prevent trying to access the GPU + -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND + ) + + if [[ ${build_omptarget} == ON ]]; then + if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then + mycmakeargs+=( + -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=$(usex llvm_targets_AMDGPU) + -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=$(usex llvm_targets_NVPTX) + ) + else + mycmakeargs+=( + -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=OFF + -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=OFF + ) + fi + fi + + 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++")" + ) + addpredict /dev/nvidiactl + cmake_src_configure +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-libomp +} |