Diff cake-5.0.0 with a hipCUB-6.3.2

/usr/portage/sci-libs/hipCUB/hipCUB-6.3.2.ebuild 2025-07-29 16:22:17.336467760 +0300
1
# Copyright 1999-2024 Gentoo Authors
1
# Copyright 1999-2025 Gentoo Authors
2 2
# Distributed under the terms of the GNU General Public License v2
3 3

  
4 4
EAPI=8
5 5

  
6
DOTNET_PKG_COMPAT="9.0"
7
NUGETS="
8
argon@0.15.0
9
argon@0.24.2
10
autofac@8.1.1
11
basic.reference.assemblies.net80@1.7.9
12
basic.reference.assemblies.net90@1.7.9
13
castle.core@5.1.1
14
diffengine@15.1.1
15
diffengine@15.5.3
16
emptyfiles@8.1.0
17
emptyfiles@8.5.0
18
microsoft.bcl.cryptography@9.0.0
19
microsoft.bcl.timeprovider@8.0.1
20
microsoft.build.tasks.git@8.0.0
21
microsoft.codeanalysis.analyzers@3.3.4
22
microsoft.codeanalysis.common@4.11.0
23
microsoft.codeanalysis.common@4.12.0-3.final
24
microsoft.codeanalysis.csharp.scripting@4.12.0-3.final
25
microsoft.codeanalysis.csharp@4.12.0-3.final
26
microsoft.codeanalysis.scripting.common@4.12.0-3.final
27
microsoft.codecoverage@17.11.1
28
microsoft.csharp@4.7.0
29
microsoft.extensions.dependencyinjection.abstractions@9.0.0
30
microsoft.extensions.dependencyinjection@9.0.0
31
microsoft.identitymodel.abstractions@8.2.0
32
microsoft.identitymodel.jsonwebtokens@8.2.0
33
microsoft.identitymodel.logging@8.2.0
34
microsoft.identitymodel.tokens@8.2.0
35
microsoft.net.test.sdk@17.11.1
36
microsoft.netcore.platforms@7.0.4
37
microsoft.sourcelink.common@8.0.0
38
microsoft.sourcelink.github@8.0.0
39
microsoft.testplatform.objectmodel@17.11.1
40
microsoft.testplatform.testhost@17.11.1
41
microsoft.win32.registry@5.0.0
42
newtonsoft.json@13.0.3
43
nsubstitute@5.3.0
44
nuget.common@6.11.1
45
nuget.configuration@6.11.1
46
nuget.frameworks@6.11.1
47
nuget.packaging@6.11.1
48
nuget.protocol@6.11.1
49
nuget.resolver@6.11.1
50
nuget.versioning@6.11.1
51
simpleinfoname@2.2.0
52
simpleinfoname@3.0.1
53
spectre.console.cli@0.49.1
54
spectre.console@0.49.1
55
spectre.verify.extensions@22.3.1
56
stylecop.analyzers@1.1.118
57
system.codedom@8.0.0
58
system.collections.immutable@9.0.0
59
system.diagnostics.diagnosticsource@8.0.1
60
system.diagnostics.eventlog@6.0.0
61
system.formats.asn1@9.0.0
62
system.io.hashing@8.0.0
63
system.management@8.0.0
64
system.reflection.metadata@9.0.0
65
system.security.accesscontrol@5.0.0
66
system.security.cryptography.pkcs@9.0.0
67
system.security.cryptography.protecteddata@4.4.0
68
system.security.principal.windows@5.0.0
69
verify.xunit@28.2.0
70
verify@23.0.0
71
verify@28.2.0
72
xunit.abstractions@2.0.3
73
xunit.analyzers@1.16.0
74
xunit.assert@2.9.2
75
xunit.core@2.9.2
76
xunit.extensibility.core@2.9.2
77
xunit.extensibility.execution@2.9.2
78
xunit.runner.visualstudio@2.8.2
79
xunit@2.9.2
80
"
81

  
82
inherit dotnet-pkg
83

  
84
DESCRIPTION="Cake (C# Make) is a cross platform build automation system with a C# DSL"
85
HOMEPAGE="https://cakebuild.net/
86
	https://github.com/cake-build/cake/"
87

  
88
if [[ "${PV}" == *9999* ]] ; then
89
	inherit git-r3
90

  
91
	EGIT_REPO_URI="https://github.com/cake-build/${PN}.git"
92
else
93
	SRC_URI="https://github.com/cake-build/${PN}/archive/v${PV}.tar.gz
94
		-> ${P}.tar.gz"
95

  
96
	KEYWORDS="amd64"
97
fi
6
ROCM_VERSION=${PV}
98 7

  
99
SRC_URI+=" ${NUGET_URIS} "
8
inherit cmake rocm
100 9

  
101
LICENSE="MIT"
102
SLOT="0"
103

  
104
DOTNET_PKG_PROJECTS=( src/Cake )
105
PATCHES=( "${FILESDIR}/${PN}-4.2.0-no-git.patch" )
10
DESCRIPTION="Wrapper of rocPRIM or CUB for GPU parallel primitives"
11
HOMEPAGE="https://github.com/ROCm/hipCUB"
12
SRC_URI="https://github.com/ROCm/hipCUB/archive/rocm-${PV}.tar.gz -> hipCUB-${PV}.tar.gz"
13
S="${WORKDIR}/hipCUB-rocm-${PV}"
14

  
15
LICENSE="BSD"
16
SLOT="0/$(ver_cut 1-2)"
17
KEYWORDS="~amd64"
18
IUSE="benchmark test"
19
REQUIRED_USE="
20
	benchmark? ( ${ROCM_REQUIRED_USE} )
21
	test? ( ${ROCM_REQUIRED_USE} )
22
"
23
RESTRICT="!test? ( test )"
106 24

  
107
DOCS=( README.md ReleaseNotes.md SECURITY.md )
25
RDEPEND="dev-util/hip:${SLOT}
26
	sci-libs/rocPRIM:${SLOT}[${ROCM_USEDEP}]
27
	benchmark? ( dev-cpp/benchmark )
28
	test? ( dev-cpp/gtest )
29
"
30
DEPEND="${RDEPEND}"
108 31

  
109
src_unpack() {
110
	dotnet-pkg_src_unpack
32
src_prepare() {
33
	sed -e "s:set(ROCM_INSTALL_LIBDIR lib):set(ROCM_INSTALL_LIBDIR $(get_libdir)):" \
34
		-i cmake/ROCMExportTargetsHeaderOnly.cmake || die
111 35

  
112
	if [[ -n "${EGIT_REPO_URI}" ]] ; then
113
		git-r3_src_unpack
114
	fi
36
	cmake_src_prepare
115 37
}
116 38

  
117
src_prepare() {
118
	dotnet-pkg_src_prepare
39
src_configure() {
40
	rocm_use_hipcc
41

  
42
	local mycmakeargs=(
43
		-DAMDGPU_TARGETS="$(get_amdgpu_flags)"
44
		-DBUILD_TEST=$(usex test ON OFF)
45
		-DBUILD_BENCHMARK=$(usex benchmark ON OFF)
46
		-DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
47
	)
119 48

  
120
	sed -i \
121
		-e "s|net.*;net9.0|net${DOTNET_PKG_COMPAT}|" \
122
		src/Shared.msbuild \
123
		tests/integration/Cake.Frosting/build/Build.csproj \
124
		|| die
49
	cmake_src_configure
125 50
}
126 51

  
127 52
src_test() {
128
	dotnet-pkg-base_restore src/Cake.Common.Tests
129
	dotnet-pkg-base_test src/Cake.Common.Tests
53
	check_amdgpu
54
	# Expected time on gfx1100 (-j32) is 85s
55
	# hipcub.BlockShuffle fails in parallel tests, but adding -j1 makes tests too slow.
56
	local CMAKE_SKIP_TESTS=(hipcub.BlockShuffle)
57
	cmake_src_test
130 58
}
Thank you!