diff options
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/llvm-roc/Manifest | 4 | ||||
-rw-r--r-- | sys-devel/llvm-roc/llvm-roc-4.5.0.ebuild | 102 | ||||
-rw-r--r-- | sys-devel/llvm-roc/llvm-roc-9999.ebuild | 102 | ||||
-rw-r--r-- | sys-devel/llvm-roc/metadata.xml | 8 |
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> |