summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-libs/amdgpu-pro-opencl/Manifest1
-rw-r--r--dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-17.50.552542.ebuild81
2 files changed, 82 insertions, 0 deletions
diff --git a/dev-libs/amdgpu-pro-opencl/Manifest b/dev-libs/amdgpu-pro-opencl/Manifest
index 764775311545..135057b87655 100644
--- a/dev-libs/amdgpu-pro-opencl/Manifest
+++ b/dev-libs/amdgpu-pro-opencl/Manifest
@@ -1,2 +1,3 @@
DIST amdgpu-pro-17.50-511655.tar.xz 547875548 BLAKE2B c3e396d9846ca15297ecbfd8ff1c9ca3aae6352080f280dc13f2ad4d32da7b84a6d069fd4b64c6e4d9814459cc5cca1ab838295a83ede953a9df6cdcd1387f91 SHA512 d4d995eb596f94656d2fb6e43a2db29bcbfe28e09f75e19e23d1d446de899dbb6e4597ef833955a8b1788055fa848bc14e45a32c820ed8e97c667a784cf816cc
+DIST amdgpu-pro-17.50-552542.tar.xz 549501204 BLAKE2B 37dcda126a3bda4e87b64ce260c7e4b65a1b864363c51f06e3152f152b83a60074331e6a0bf7b831c059a50192dea8add9b38ed16971c87293ce0e56ddf26bb2 SHA512 060e96609cf1a013fddf10db9bba4b512750e5188671a669e2582c28a03213b40d073031e35a617b982374d9d1cd4078f43b27053ee34be7c83873c0814ed196
DIST amdgpu-pro-18.20-606296.tar.xz 230733856 BLAKE2B 21a498a894a9712d9f0277fae7f704413be0cd01cebbe427008fa3d181d03b58268e74bd3cdaf0dfb9aeca2871dad82b4aa640bbce690ca461e3f3e4acf01ffd SHA512 6575bf963e5714657914d9116de4d9b1835851fe0609b1f072b1fbdf73c068da77aba0eca1c9cce6e05e6cd8f2c1ed6b4bd6ab4ef334be5ff796ee6a3ad73831
diff --git a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-17.50.552542.ebuild b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-17.50.552542.ebuild
new file mode 100644
index 000000000000..19adb74c35b8
--- /dev/null
+++ b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-17.50.552542.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit unpacker
+
+SUPER_PN='amdgpu-pro'
+MY_PV=$(ver_rs 2 '-')
+
+DESCRIPTION="Proprietary OpenCL implementation for AMD GPUs"
+HOMEPAGE="https://support.amd.com/en-us/kb-articles/Pages/Radeon-Software-for-Linux-with-Vulkan-1.1-support.aspx"
+SRC_URI="${SUPER_PN}-${MY_PV}.tar.xz"
+
+LICENSE="AMD-GPU-PRO-EULA"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RESTRICT="mirror fetch strip"
+
+DEPEND="dev-util/patchelf"
+RDEPEND="dev-libs/ocl-icd"
+
+QA_PREBUILT="/opt/${SUPER_PN}/lib*/*"
+
+S="${WORKDIR}/${SUPER_PN}-${MY_PV}"
+
+pkg_nofetch() {
+ local pkgver=$(ver_cut 1-2)
+ einfo "Please download the Radeon Software for Linux Driver ${pkgver} for Ubuntu from"
+ einfo " ${HOMEPAGE}"
+ einfo "The archive should then be placed into ${DISTDIR}."
+}
+
+src_unpack() {
+ default
+
+ local ids_ver="1.0.0"
+ local libdrm_ver="2.4.82"
+ local patchlevel=$(ver_cut 3)
+ cd "${S}" || die
+ unpack_deb opencl-${SUPER_PN}-icd_${MY_PV}_amd64.deb
+ unpack_deb libdrm-amdgpu-amdgpu1_${libdrm_ver}-${patchlevel}_amd64.deb
+ unpack_deb ids-amdgpu_${ids_ver}-${patchlevel}_all.deb
+}
+
+src_prepare() {
+ default
+
+ cd "${S}/opt/${SUPER_PN}/lib/x86_64-linux-gnu" || die
+ patchelf --set-rpath '$ORIGIN' libamdocl64.so || die "Failed to fix library rpath"
+}
+
+src_install() {
+ into "/opt/amdgpu"
+ dolib.so opt/${SUPER_PN}/lib/x86_64-linux-gnu/*
+ dolib.so opt/amdgpu/lib/x86_64-linux-gnu/*
+ insinto "/opt/amdgpu"
+ doins -r opt/amdgpu/share
+
+ insinto /etc/OpenCL/vendors/
+ echo "/opt/amdgpu/$(get_libdir)/libamdocl64.so" > "${SUPER_PN}.icd" || die "Failed to generate ICD file"
+ doins "${SUPER_PN}.icd"
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ ewarn "Please note that using proprietary OpenCL libraries together with the"
+ ewarn "Open Source amdgpu stack is not officially supported by AMD. Do not ask them"
+ ewarn "for support in case of problems with this package."
+ ewarn ""
+ ewarn "Furthermore, if you have the whole AMDGPU-Pro stack installed this package"
+ ewarn "will almost certainly conflict with it. This might change once AMDGPU-Pro"
+ ewarn "has become officially supported by Gentoo."
+ fi
+
+ elog "AMD OpenCL driver relies on dev-libs/ocl-icd to work. To enable it, please run"
+ elog ""
+ elog " eselect opencl set ocl-icd"
+ elog ""
+}