Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/libomp/
Date: Tue, 30 Nov 2021 10:01:40
Message-Id: 1638266484.fa2a742918cc53e0b7f5b14603ee326c3429f12d.mgorny@gentoo
1 commit: fa2a742918cc53e0b7f5b14603ee326c3429f12d
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Tue Nov 30 09:44:50 2021 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 30 10:01:24 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa2a7429
7
8 sys-libs/libomp: Bump to 13.0.1_rc1
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-libs/libomp/Manifest | 2 +
13 sys-libs/libomp/libomp-13.0.1_rc1.ebuild | 131 +++++++++++++++++++++++++++++++
14 2 files changed, 133 insertions(+)
15
16 diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
17 index f2aca477eda6..999aacbc5b97 100644
18 --- a/sys-libs/libomp/Manifest
19 +++ b/sys-libs/libomp/Manifest
20 @@ -1,5 +1,7 @@
21 DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
22 DIST llvm-gentoo-patchset-13.0.0-r2.tar.xz 6500 BLAKE2B 0ce8d0c4a5508f70c8ec49dbc03dfbfc6371ac224bc5dfc9a39f71def0f574405a06df5666baf6159afafd83a8028c5ea6cb369f22a06f927f3ce6795e96994d SHA512 800d44b382c03b673b43965d80d6ed1b7e8e4ced8d066183b9b8df722b2cc002a6aa54092e600f0d77611be581d312f8886ce8af25b23ff818115a209ec21312
23 +DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea
24 DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
25 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
26 DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
27 +DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d
28
29 diff --git a/sys-libs/libomp/libomp-13.0.1_rc1.ebuild b/sys-libs/libomp/libomp-13.0.1_rc1.ebuild
30 new file mode 100644
31 index 000000000000..7f61ca615aa0
32 --- /dev/null
33 +++ b/sys-libs/libomp/libomp-13.0.1_rc1.ebuild
34 @@ -0,0 +1,131 @@
35 +# Copyright 1999-2021 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=7
39 +
40 +CMAKE_ECLASS=cmake
41 +PYTHON_COMPAT=( python3_{8..10} )
42 +inherit cmake-multilib linux-info llvm llvm.org python-any-r1
43 +
44 +DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
45 +HOMEPAGE="https://openmp.llvm.org"
46 +
47 +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
48 +SLOT="0"
49 +KEYWORDS=""
50 +IUSE="cuda debug hwloc kernel_linux offload ompt test
51 + llvm_targets_AMDGPU llvm_targets_NVPTX"
52 +# CUDA works only with the x86_64 ABI
53 +REQUIRED_USE="
54 + cuda? ( llvm_targets_NVPTX )
55 + offload? ( cuda? ( abi_x86_64 ) )"
56 +RESTRICT="!test? ( test )"
57 +
58 +RDEPEND="
59 + hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] )
60 + offload? (
61 + virtual/libelf:=[${MULTILIB_USEDEP}]
62 + dev-libs/libffi:=[${MULTILIB_USEDEP}]
63 + ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}]
64 + cuda? ( dev-util/nvidia-cuda-toolkit:= )
65 + )"
66 +# tests:
67 +# - dev-python/lit provides the test runner
68 +# - sys-devel/llvm provide test utils (e.g. FileCheck)
69 +# - sys-devel/clang provides the compiler to run tests
70 +DEPEND="${RDEPEND}"
71 +BDEPEND="dev-lang/perl
72 + offload? (
73 + llvm_targets_AMDGPU? ( sys-devel/clang )
74 + llvm_targets_NVPTX? ( sys-devel/clang )
75 + virtual/pkgconfig
76 + )
77 + test? (
78 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
79 + sys-devel/clang
80 + )"
81 +
82 +LLVM_COMPONENTS=( openmp llvm/include )
83 +LLVM_PATCHSET=${PV/_/-}
84 +llvm.org_set_globals
85 +
86 +python_check_deps() {
87 + has_version "dev-python/lit[${PYTHON_USEDEP}]"
88 +}
89 +
90 +kernel_pds_check() {
91 + if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then
92 + local CONFIG_CHECK="~!SCHED_PDS"
93 + local ERROR_SCHED_PDS="\
94 +PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11
95 +< 4.14-pf9) do not implement sched_yield() call which may result in horrible
96 +performance problems with libomp. If you are using one of the specified
97 +kernel versions, you may want to disable the PDS scheduler."
98 +
99 + check_extra_config
100 + fi
101 +}
102 +
103 +pkg_pretend() {
104 + kernel_pds_check
105 +}
106 +
107 +pkg_setup() {
108 + use offload && LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
109 + use test && python-any-r1_pkg_setup
110 +}
111 +
112 +multilib_src_configure() {
113 + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
114 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
115 +
116 + local libdir="$(get_libdir)"
117 + local mycmakeargs=(
118 + -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}"
119 +
120 + -DLIBOMP_USE_HWLOC=$(usex hwloc)
121 + -DLIBOMP_OMPT_SUPPORT=$(usex ompt)
122 +
123 + -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload)
124 +
125 + # do not install libgomp.so & libiomp5.so aliases
126 + -DLIBOMP_INSTALL_ALIASES=OFF
127 + # disable unnecessary hack copying stuff back to srcdir
128 + -DLIBOMP_COPY_EXPORTS=OFF
129 + )
130 + if use offload && has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
131 + mycmakeargs+=(
132 + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda)
133 + -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=$(usex llvm_targets_AMDGPU)
134 + -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=$(usex llvm_targets_NVPTX)
135 + # a cheap hack to force clang
136 + -DLIBOMPTARGET_NVPTX_CUDA_COMPILER="$(type -P "${CHOST}-clang")"
137 + # upstream defaults to looking for it in clang dir
138 + # this fails when ccache is being used
139 + -DLIBOMPTARGET_NVPTX_BC_LINKER="$(type -P llvm-link)"
140 + )
141 + else
142 + mycmakeargs+=(
143 + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
144 + -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF
145 + -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=OFF
146 + )
147 + fi
148 + use test && mycmakeargs+=(
149 + # this project does not use standard LLVM cmake macros
150 + -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit"
151 + -DOPENMP_LIT_ARGS="$(get_lit_flags)"
152 +
153 + -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")"
154 + -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")"
155 + )
156 + addpredict /dev/nvidiactl
157 + cmake_src_configure
158 +}
159 +
160 +multilib_src_test() {
161 + # respect TMPDIR!
162 + local -x LIT_PRESERVES_TMP=1
163 +
164 + cmake_build check-libomp
165 +}