aboutsummaryrefslogtreecommitdiff
path: root/sys-devel/llvm-roc
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/llvm-roc')
-rw-r--r--sys-devel/llvm-roc/Manifest4
-rw-r--r--sys-devel/llvm-roc/llvm-roc-4.5.0.ebuild102
-rw-r--r--sys-devel/llvm-roc/llvm-roc-9999.ebuild102
-rw-r--r--sys-devel/llvm-roc/metadata.xml8
4 files changed, 216 insertions, 0 deletions
diff --git a/sys-devel/llvm-roc/Manifest b/sys-devel/llvm-roc/Manifest
new file mode 100644
index 0000000..7fd62a1
--- /dev/null
+++ b/sys-devel/llvm-roc/Manifest
@@ -0,0 +1,4 @@
+DIST llvm-rocm-ocl-4.5.0.tar.gz 137372719 BLAKE2B 02cd8dee3df503efa7b5287d9584acb12e1c92bbeb2724584a066bb842132e9ac396c68ffef321078e6abce689ab2776bf89f98e23715aa4f4d63343ed7bfddf SHA512 45d5cb63502d18c96abcdaa00912bc87ded5c2e79b56bd3fbf8169d631f4d65c8755416e37d93ccd2188bd93187562278e75376f1b7f8c3b34b055f4c1e63138
+EBUILD llvm-roc-4.5.0.ebuild 2591 BLAKE2B 3753eec614e6768e259741266df8d15662a4f9626a0848383ff47eefd306a397ee8c0cce5563c19ad0a51566d9d66a5fae0b10c302597f5be413e2b969920c1b SHA512 e0d7af57fb3d32a8788c53fa2c13b969caa4a3485c63858403e65771318bfb872af20546e85d90a9f0160b0f0d201ef3a71012ddc6b19159b0c053eb1d7c4d2f
+EBUILD llvm-roc-9999.ebuild 2591 BLAKE2B 3753eec614e6768e259741266df8d15662a4f9626a0848383ff47eefd306a397ee8c0cce5563c19ad0a51566d9d66a5fae0b10c302597f5be413e2b969920c1b SHA512 e0d7af57fb3d32a8788c53fa2c13b969caa4a3485c63858403e65771318bfb872af20546e85d90a9f0160b0f0d201ef3a71012ddc6b19159b0c053eb1d7c4d2f
+MISC metadata.xml 241 BLAKE2B 6dac420f48c539432671f9251c134a254e92cd56082e2551d3f9153c4319f11d06ee167a7ea10b4d16764fc2325db5057662ac61812c1ead8e7256915d9f494b SHA512 da3a07ed2a719b870f4a8f2fb10a54f6248184f553d6b8b55c7faa6b7d90aaf1d2a77ac40e08c1b6eb33f6a6da5f1db4d5eaf6c6332ffbd232fddc4ac3a1086a
diff --git a/sys-devel/llvm-roc/llvm-roc-4.5.0.ebuild b/sys-devel/llvm-roc/llvm-roc-4.5.0.ebuild
new file mode 100644
index 0000000..59fb241
--- /dev/null
+++ b/sys-devel/llvm-roc/llvm-roc-4.5.0.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz"
+ S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute llvm,lld,clang"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/"
+
+LICENSE="UoI-NCSA rc BSD public-domain"
+SLOT="0"
+IUSE="debug +runtime"
+
+RDEPEND="
+ dev-libs/libxml2
+ sys-libs/zlib
+ sys-libs/ncurses:="
+DEPEND="${RDEPEND}"
+
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-current_pos.patch"
+ "${FILESDIR}/${PN}-4.2.0-add_Object.patch"
+)
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ cd "${WORKDIR}/llvm-project-rocm-${PV}" || die
+ eapply "${FILESDIR}/${PN}-3.0.0-add_libraries.patch"
+ eapply "${FILESDIR}/${PN}-4.0.0-remove-isystem-usr-include.patch"
+ eapply "${FILESDIR}/${PN}-4.3.0-hip-location.patch"
+ eapply "${FILESDIR}/${PN}-4.2.0-cyclades.patch"
+
+ if [[ -n ${EPREFIX} ]]; then
+ pushd "${S}"/../clang >/dev/null || die
+ sed -i -e "s@DEFAULT_SYSROOT \"\"@DEFAULT_SYSROOT \"${EPREFIX}\"@" CMakeLists.txt || die
+ eend $?
+ ebegin "Use "${EPREFIX}" as default sysroot"
+ cd lib/Driver/ToolChains >/dev/null || die
+ ebegin "Use dynamic linker from ${EPREFIX}"
+ sed -i -e "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" Linux.cpp || die
+ eend $?
+
+ ebegin "Remove --sysroot call on ld for native toolchain"
+ sed -i -e "$(grep -n -B1 sysroot= Gnu.cpp | sed -ne '{1s/-.*//;1p}'),+1 d" Gnu.cpp || die
+ eend $?
+ popd >/dev/null || die
+ fi
+
+ # handled by sysroot, don't prefixify here.
+ sed -e 's:/opt/rocm:/usr/lib/hip:' \
+ -i "${S}"/../clang/lib/Driver/ToolChains/AMDGPU.cpp || die
+
+ eapply_user
+ cmake_src_prepare
+}
+
+src_configure() {
+ PROJECTS="clang;lld"
+
+ if usex runtime; then
+ PROJECTS+=";compiler-rt"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
+ -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
+ -DLLVM_ENABLE_PROJECTS="${PROJECTS}"
+ -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
+ -DLLVM_BUILD_DOCS=NO
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=NO
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ -DLLVM_VERSION_SUFFIX=roc
+ -DOCAMLFIND=NO
+ )
+
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ cat > "99${PN}" <<-EOF
+ LDPATH="${EROOT}/usr/lib/llvm/roc/lib"
+ EOF
+ doenvd "99${PN}"
+}
diff --git a/sys-devel/llvm-roc/llvm-roc-9999.ebuild b/sys-devel/llvm-roc/llvm-roc-9999.ebuild
new file mode 100644
index 0000000..59fb241
--- /dev/null
+++ b/sys-devel/llvm-roc/llvm-roc-9999.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz"
+ S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute llvm,lld,clang"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/"
+
+LICENSE="UoI-NCSA rc BSD public-domain"
+SLOT="0"
+IUSE="debug +runtime"
+
+RDEPEND="
+ dev-libs/libxml2
+ sys-libs/zlib
+ sys-libs/ncurses:="
+DEPEND="${RDEPEND}"
+
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-current_pos.patch"
+ "${FILESDIR}/${PN}-4.2.0-add_Object.patch"
+)
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ cd "${WORKDIR}/llvm-project-rocm-${PV}" || die
+ eapply "${FILESDIR}/${PN}-3.0.0-add_libraries.patch"
+ eapply "${FILESDIR}/${PN}-4.0.0-remove-isystem-usr-include.patch"
+ eapply "${FILESDIR}/${PN}-4.3.0-hip-location.patch"
+ eapply "${FILESDIR}/${PN}-4.2.0-cyclades.patch"
+
+ if [[ -n ${EPREFIX} ]]; then
+ pushd "${S}"/../clang >/dev/null || die
+ sed -i -e "s@DEFAULT_SYSROOT \"\"@DEFAULT_SYSROOT \"${EPREFIX}\"@" CMakeLists.txt || die
+ eend $?
+ ebegin "Use "${EPREFIX}" as default sysroot"
+ cd lib/Driver/ToolChains >/dev/null || die
+ ebegin "Use dynamic linker from ${EPREFIX}"
+ sed -i -e "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" Linux.cpp || die
+ eend $?
+
+ ebegin "Remove --sysroot call on ld for native toolchain"
+ sed -i -e "$(grep -n -B1 sysroot= Gnu.cpp | sed -ne '{1s/-.*//;1p}'),+1 d" Gnu.cpp || die
+ eend $?
+ popd >/dev/null || die
+ fi
+
+ # handled by sysroot, don't prefixify here.
+ sed -e 's:/opt/rocm:/usr/lib/hip:' \
+ -i "${S}"/../clang/lib/Driver/ToolChains/AMDGPU.cpp || die
+
+ eapply_user
+ cmake_src_prepare
+}
+
+src_configure() {
+ PROJECTS="clang;lld"
+
+ if usex runtime; then
+ PROJECTS+=";compiler-rt"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
+ -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
+ -DLLVM_ENABLE_PROJECTS="${PROJECTS}"
+ -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
+ -DLLVM_BUILD_DOCS=NO
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=NO
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ -DLLVM_VERSION_SUFFIX=roc
+ -DOCAMLFIND=NO
+ )
+
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ cat > "99${PN}" <<-EOF
+ LDPATH="${EROOT}/usr/lib/llvm/roc/lib"
+ EOF
+ doenvd "99${PN}"
+}
diff --git a/sys-devel/llvm-roc/metadata.xml b/sys-devel/llvm-roc/metadata.xml
new file mode 100644
index 0000000..97ba7c2
--- /dev/null
+++ b/sys-devel/llvm-roc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>julien@jroy.ca</email>
+ <name>Julien Roy</name>
+ </maintainer>
+</pkgmetadata>