summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYiyang Wu <xgreenlandforwyy@gmail.com>2024-05-03 12:14:18 +0800
committerSam James <sam@gentoo.org>2024-06-26 10:18:59 +0100
commit46c1f7dd59e10e5f9d318f6c3f82a9946b12819f (patch)
tree115a79dd44f898b139ca20cae6d7de67237883fc /dev-util
parentdev-util/hipcc: use more precise dependencies (diff)
downloadgentoo-46c1f7dd59e10e5f9d318f6c3f82a9946b12819f.tar.gz
gentoo-46c1f7dd59e10e5f9d318f6c3f82a9946b12819f.tar.bz2
gentoo-46c1f7dd59e10e5f9d318f6c3f82a9946b12819f.zip
dev-util/hipcc: add 6.1.1
Clang can auto detects the new rocm-device-lib paths, so specifying DEVICE_LIB_PATH is not needed Clang-18 can compile GPU kernel ignoring stack-protector-strong, so -fno-stack-protector is not needed Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/hipcc/Manifest1
-rw-r--r--dev-util/hipcc/hipcc-6.1.1.ebuild73
2 files changed, 74 insertions, 0 deletions
diff --git a/dev-util/hipcc/Manifest b/dev-util/hipcc/Manifest
index c923482a6346..0ad138441d19 100644
--- a/dev-util/hipcc/Manifest
+++ b/dev-util/hipcc/Manifest
@@ -1,2 +1,3 @@
DIST hipcc-5.7.1.tar.gz 36589 BLAKE2B a8ae6bd9f0f985d78119223b67b5b35b8d1ee38edb7e43c1e77752d203fe2c8b669b3bcff0cec661054d8cb24f799e7784a49eb0664bdd1dc2bf024ce026c175 SHA512 2d232c8dd4a47de6e0cff9d37b4e63a26cb1809ef2ff3a119c15e992cae96ffc2f4d8c1ddffd8732dea3a3d589a93e177f424a6174f982908aa50904e265432a
DIST hipcc-6.0.0.tar.gz 36648 BLAKE2B d4b67a962e61da5e96423191dad13e90c6aaec890a2b0dccb83ec4b3a9551ed9e2050bdc747fe7c79627d51b62408918157114f954aa579097163af2fc0b06e8 SHA512 e5307c880c96906d216b44b7bb269756e713cf45f5c72fc5dfc31f1e69d8e5e2cc8022bca289dc2b0a1bd72f86ddbdbb29dfda45010d4e4a4fb77096c9c93621
+DIST llvm-project-rocm-6.1.1.tar.gz 196027084 BLAKE2B 3ef0b6e3c47c66fd80289373e6ff8aaff44751f9b380addfae73a18dc388093c0535f230b0cc7528724bc43f6992e2ae6decd3d0d3c700893ca95a6166b7b8dc SHA512 e320d4eeaa6f61ed1cdbf653d67fe887d3ce9dc0d6743b4713502e1cb5318ab8afbe1ee71f8cba07635c54ce532df6683de40ade0e5be4a52e50ce25a9b70818
diff --git a/dev-util/hipcc/hipcc-6.1.1.ebuild b/dev-util/hipcc/hipcc-6.1.1.ebuild
new file mode 100644
index 000000000000..1a978f2151be
--- /dev/null
+++ b/dev-util/hipcc/hipcc-6.1.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake perl-functions llvm
+
+LLVM_MAX_SLOT=18
+
+DESCRIPTION="Radeon Open Compute hipcc"
+HOMEPAGE="https://github.com/ROCm/hipcc"
+
+MY_P=llvm-project-rocm-${PV}
+components=( "amd/hipcc" )
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/ROCm/llvm-project"
+ inherit git-r3
+ S="${WORKDIR}/${P}/${components[0]}"
+else
+ SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz"
+ S="${WORKDIR}/${MY_P}/${components[0]}"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+DEPEND="<sys-devel/llvm-19:=
+ <sys-devel/clang-19:=
+ "
+RDEPEND="${DEPEND}
+ >=dev-libs/rocm-device-libs-6.1.1
+ !<dev-util/hip-5.7"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7.1-hipcc-hip-version.patch"
+)
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]] ; then
+ git-r3_fetch
+ git-r3_checkout '' . '' "${components[@]}"
+ else
+ archive="${MY_P}.tar.gz"
+ ebegin "Unpacking from ${archive}"
+ tar -x -z -o \
+ -f "${DISTDIR}/${archive}" \
+ "${components[@]/#/${MY_P}/}" || die
+ eend ${?}
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e "s:\$ROCM_PATH/llvm/bin:$(get_llvm_prefix ${LLVM_MAX_SLOT})/bin:" \
+ -i bin/hipvars.pm || die
+
+ sed -e "s:\$ENV{'HIP_LIB_PATH'}:'${EPREFIX}/usr/$(get_libdir)':" \
+ -e "/HIP.*FLAGS.*isystem.*HIP_INCLUDE_PATH/d" \
+ -i bin/hipcc.pl || die
+}
+
+src_install() {
+ cmake_src_install
+ # rm unwanted copy
+ rm -rf "${ED}/usr/hip" || die
+ # Handle hipvars.pm
+ rm "${ED}/usr/bin/hipvars.pm" || die
+ perl_domodule "${S}"/bin/hipvars.pm
+}