commit: 6992e6ff39664c798459db3f93e048a06095adf6 Author: Sv. Lockal <lockalsash <AT> gmail <DOT> com> AuthorDate: Wed Oct 18 18:37:09 2023 +0000 Commit: Benda XU <heroxbd <AT> gentoo <DOT> org> CommitDate: Sun Nov 19 02:18:15 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6992e6ff
dev-util/hipcc-5.7.1: fix compilation issues - Restore the patch for adding -fno-stack-protector - Better handling of clang path using llvm.eclass - Fix the device lib path parsed to clang - QA: remove files installed to wrong location Bug: https://bugs.gentoo.org/890377 Bug: https://github.com/gentoo/gentoo/pull/33400 Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com> Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com> Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/33845 .../files/hipcc-5.7.1-fno-stack-protector.patch | 13 ++++++++++++ ...hipcc-5.7.1-r1.ebuild => hipcc-5.7.1-r2.ebuild} | 24 +++++++++++++++++++--- dev-util/hipcc/hipcc-5.7.1.ebuild | 21 ------------------- 3 files changed, 34 insertions(+), 24 deletions(-) diff --git a/dev-util/hipcc/files/hipcc-5.7.1-fno-stack-protector.patch b/dev-util/hipcc/files/hipcc-5.7.1-fno-stack-protector.patch new file mode 100644 index 000000000000..c46420265005 --- /dev/null +++ b/dev-util/hipcc/files/hipcc-5.7.1-fno-stack-protector.patch @@ -0,0 +1,13 @@ +Related bug: https://bugs.gentoo.org/890377 +--- a/bin/hipcc.pl ++++ b/bin/hipcc.pl +@@ -552,6 +552,9 @@ if ($buildDeps and $HIP_PLATFORM eq 'amd') { + # pass-through CPP mode. + + if ($HIP_PLATFORM eq "amd") { ++ # Append -fno-stack-protector due to stack protection for HIP is not supported ++ $HIPCXXFLAGS .= " -fno-stack-protector"; ++ $HIPCFLAGS .= " -fno-stack-protector"; + # Set default optimization level to -O3 for hip-clang. + if ($optArg eq "") { + $HIPCXXFLAGS .= " -O3"; diff --git a/dev-util/hipcc/hipcc-5.7.1-r1.ebuild b/dev-util/hipcc/hipcc-5.7.1-r2.ebuild similarity index 51% rename from dev-util/hipcc/hipcc-5.7.1-r1.ebuild rename to dev-util/hipcc/hipcc-5.7.1-r2.ebuild index 78f9a80f3561..d711d8956ac0 100644 --- a/dev-util/hipcc/hipcc-5.7.1-r1.ebuild +++ b/dev-util/hipcc/hipcc-5.7.1-r2.ebuild @@ -3,7 +3,9 @@ EAPI=8 -inherit cmake +inherit cmake llvm + +LLVM_MAX_SLOT=17 DESCRIPTION="Radeon Open Compute hipcc" HOMEPAGE="https://github.com/ROCm-Developer-Tools/hipcc" @@ -20,8 +22,24 @@ S=${WORKDIR}/HIPCC-rocm-${PV} RDEPEND="!<dev-util/hip-5.7" +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-fno-stack-protector.patch" +) + src_prepare() { - # hardcoded paths are wrong - sed -i -e 's~$ROCM_PATH/llvm/bin~/usr/lib/llvm/17/bin~' bin/hipvars.pm || die 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{'DEVICE_LIB_PATH'}:'${EPREFIX}/usr/lib/amdgcn/bitcode':" \ + -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 } diff --git a/dev-util/hipcc/hipcc-5.7.1.ebuild b/dev-util/hipcc/hipcc-5.7.1.ebuild deleted file mode 100644 index 71fbdc1e5def..000000000000 --- a/dev-util/hipcc/hipcc-5.7.1.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="Radeon Open Compute hipcc" -HOMEPAGE="https://github.com/ROCm-Developer-Tools/hipcc" - -KEYWORDS="~amd64" -SRC_URI="https://github.com/ROCm-Developer-Tools/hipcc/archive/refs/tags/rocm-${PV}.tar.gz -> hipcc-${PV}.tar.gz" - -LICENSE="Apache-2.0 MIT" -SLOT="0/$(ver_cut 1-2)" -IUSE="debug test" -RESTRICT="!test? ( test )" - -S=${WORKDIR}/HIPCC-rocm-${PV} - -RDEPEND="!<dev-util/hip-5.7"
