Gentoo Archives: gentoo-commits

From: Benda XU <heroxbd@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/rocThrust/
Date: Thu, 22 Sep 2022 01:08:57
Message-Id: 1663808874.a440582ae525e51c5f4d2fa4b0ebfb9c748a3e20.heroxbd@gentoo
1 commit: a440582ae525e51c5f4d2fa4b0ebfb9c748a3e20
2 Author: Yiyang Wu <xgreenlandforwyy <AT> gmail <DOT> com>
3 AuthorDate: Fri Jul 15 12:18:41 2022 +0000
4 Commit: Benda XU <heroxbd <AT> gentoo <DOT> org>
5 CommitDate: Thu Sep 22 01:07:54 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a440582a
7
8 sci-libs/rocThrust: add 5.1.3, using rocm.eclass
9
10 No need to rebuilt rocThrust when hip upgrade because it is dynamically
11 linked to libhipamd, while llvm SLOT does not matter because it is only
12 used to produce GPU kernels, libclang and libLLVM does not linked in.
13
14 Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com>
15 Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>
16
17 sci-libs/rocThrust/Manifest | 1 +
18 sci-libs/rocThrust/rocThrust-5.1.3.ebuild | 74 +++++++++++++++++++++++++++++++
19 2 files changed, 75 insertions(+)
20
21 diff --git a/sci-libs/rocThrust/Manifest b/sci-libs/rocThrust/Manifest
22 index 1f55b8280b6b..13445c171f29 100644
23 --- a/sci-libs/rocThrust/Manifest
24 +++ b/sci-libs/rocThrust/Manifest
25 @@ -1,3 +1,4 @@
26 DIST rocThrust-4.0.0.tar.gz 1166346 BLAKE2B 02c89e0c4ab2c888a20b7c956a73012157f2735e6ec76369a1f75fbc17bb3f995d1914106ec58562f28243fbe5f019ac230ac3313b6aacb4d8b868f3ac1f091e SHA512 476aa5706487c5801cc91908806a1a1fcb550171f63e0b2debd9b59b18c7435c484578ec456ccfabc140dd7bca7d9bb432a7ba223946b1fca22e72e7d053af2d
27 DIST rocThrust-4.3.0.tar.gz 1156832 BLAKE2B a462cfaa31883253fabba584ca77622cc5a7234bd9979472a84ec77b91c60f48f1064149b86d624aaedd70262fb65fb6aadb03cc6e00939d4eed6cd11bfc0090 SHA512 8c6aa3aefd59c87cc8278930bf90021867f519c356c86a3c3ebfcdf90887b8631250b6a9a8156f77c0cbf7ddbad7881e5e1b802f1cd1305cc3a2e7d95ef4e6f3
28 DIST rocThrust-5.0.2.tar.gz 1183550 BLAKE2B 88021266dc9ffcb8f5e803acfe767c52aaa04b2348d0dcb204eb74bdf44ed26eb6d98f8d85324b90fe73228b52a0ad22686b87274c868ef19ec8ded825b58ea9 SHA512 3599b9498db392d480c08873d9e84ff1c05e5417e14e43e56f190fe4490873fec37c944a3c252942d6275a4fa4af85c82d39b62b0fdb5daa82023a2df8a3228f
29 +DIST rocThrust-5.1.3.tar.gz 1186518 BLAKE2B 2defe71247915940917438d4f0d0a811dca7de39e5168248968fa9c165b81d94b0e20f3df9b84db1fbdcd2eb87942dec5d3adbbe1a699eb51eeb4e1b2f0a88d0 SHA512 189c70343a410cf3f3c1589ef24c68a38b5270d8780d15261a124b8250f279a3c3c7afef38e6310d57cb1741b3ee75f0b4ac0bb9dfcf4a4fb0e7e6c0516faf74
30
31 diff --git a/sci-libs/rocThrust/rocThrust-5.1.3.ebuild b/sci-libs/rocThrust/rocThrust-5.1.3.ebuild
32 new file mode 100644
33 index 000000000000..c7ef0e87fa4a
34 --- /dev/null
35 +++ b/sci-libs/rocThrust/rocThrust-5.1.3.ebuild
36 @@ -0,0 +1,74 @@
37 +# Copyright 1999-2022 Gentoo Authors
38 +# Distributed under the terms of the GNU General Public License v2
39 +
40 +EAPI=8
41 +
42 +ROCM_VERSION=${PV}
43 +
44 +inherit cmake rocm
45 +
46 +DESCRIPTION="HIP back-end for the parallel algorithm library Thrust"
47 +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocThrust"
48 +SRC_URI="https://github.com/ROCmSoftwarePlatform/rocThrust/archive/rocm-${PV}.tar.gz -> rocThrust-${PV}.tar.gz"
49 +
50 +LICENSE="Apache-2.0"
51 +KEYWORDS="~amd64"
52 +SLOT="0/$(ver_cut 1-2)"
53 +IUSE="benchmark test"
54 +REQUIRED_USE="${ROCM_REQUIRED_USE}"
55 +
56 +RESTRICT="!test? ( test )"
57 +
58 +RDEPEND="dev-util/hip
59 + sci-libs/rocPRIM:${SLOT}[${ROCM_USEDEP}]
60 + test? ( dev-cpp/gtest )"
61 +DEPEND="${RDEPEND}"
62 +BDEPEND=">=dev-util/cmake-3.22"
63 +
64 +S="${WORKDIR}/rocThrust-rocm-${PV}"
65 +
66 +PATCHES=( "${FILESDIR}/${PN}-4.0-operator_new.patch" )
67 +
68 +src_prepare() {
69 + sed -e "/PREFIX rocthrust/d" \
70 + -e "/DESTINATION/s:rocthrust/include/thrust:include/thrust:" \
71 + -e "/rocm_install_symlink_subdir(rocthrust)/d" \
72 + -e "/<INSTALL_INTERFACE/s:rocthrust/include/:include/:" -i thrust/CMakeLists.txt || die
73 +
74 + sed -e "s:\${CMAKE_INSTALL_INCLUDEDIR}:&/rocthrust:" \
75 + -e "s:\${ROCM_INSTALL_LIBDIR}:\${CMAKE_INSTALL_LIBDIR}:" -i cmake/ROCMExportTargetsHeaderOnly.cmake || die
76 +
77 + # disable downloading googletest and googlebenchmark
78 + sed -r -e '/Downloading/{:a;N;/\n *\)$/!ba; d}' -i cmake/Dependencies.cmake || die
79 +
80 + # remove GIT dependency
81 + sed -r -e '/find_package\(Git/{:a;N;/\nendif/!ba; d}' -i cmake/Dependencies.cmake || die
82 +
83 + eapply_user
84 + cmake_src_prepare
85 +}
86 +
87 +src_configure() {
88 + addpredict /dev/kfd
89 + addpredict /dev/dri/
90 +
91 + local mycmakeargs=(
92 + -DSKIP_RPATH=On
93 + -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
94 + -DBUILD_TEST=$(usex test ON OFF)
95 + -DBUILD_BENCHMARKS=$(usex benchmark ON OFF)
96 + )
97 +
98 + CXX=hipcc cmake_src_configure
99 +}
100 +
101 +src_test() {
102 + check_amdgpu
103 + MAKEOPTS="-j1" cmake_src_test
104 +}
105 +
106 +src_install() {
107 + cmake_src_install
108 +
109 + use benchmark && dobin "${BUILD_DIR}"/benchmarks/benchmark_thrust_bench
110 +}