From 777fd2b49b77f17662acc160bc734c51fd626cd7 Mon Sep 17 00:00:00 2001 From: Marek Szuba Date: Tue, 27 Jun 2017 12:51:24 +0159 Subject: dev-libs/amdgpu-pro-opencl: new package Bits of AMDGPU-Pro providing OpenCL support. Work fine with the Open Source amdgpu stack, the only catch is that one also needs the proprietary version of libdrm_amdgpu which could conflict with the one from x11-libs/libdrm. Fortunately, this can be easily worked around by hacking rpath of the OpenCL library. Will hopefull integrate well with the rest of AMDGPU-Pro once it has made it into the tree. Please note that this driver works ONLY when loaded by dev-libs/ocl-icd; there is no possibility for it to operate as an independent implementation. For the time being this is a 64-bit only package. That said, although AMD only supports AMDGPU-Pro on amd64 the driver pack does include 32-bit binaries - so multilib support might be added later. Inspired-By: Arch Linux opencl-amd AUR package Package-Manager: Portage-2.3.6, Repoman-2.3.1 --- dev-libs/amdgpu-pro-opencl/Manifest | 1 + .../amdgpu-pro-opencl-17.10.429170.ebuild | 67 ++++++++++++++++++++++ dev-libs/amdgpu-pro-opencl/metadata.xml | 14 +++++ 3 files changed, 82 insertions(+) create mode 100644 dev-libs/amdgpu-pro-opencl/Manifest create mode 100644 dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-17.10.429170.ebuild create mode 100644 dev-libs/amdgpu-pro-opencl/metadata.xml diff --git a/dev-libs/amdgpu-pro-opencl/Manifest b/dev-libs/amdgpu-pro-opencl/Manifest new file mode 100644 index 000000000000..728950f3c6a0 --- /dev/null +++ b/dev-libs/amdgpu-pro-opencl/Manifest @@ -0,0 +1 @@ +DIST amdgpu-pro-17.10-429170.tar.xz 121382128 SHA256 cb1ea7f9756f197a976138d2c00f239ae4ee43b839fbb1ea57f8770957d4afd6 SHA512 2d9d0a97478564e259dc8494083df8dc13e3bc664384978aff369070b1105703653d8dc4dca38e94dc8bdf3ddfb5c6f4de39cec5a9b263423de8fb91fd0117c6 WHIRLPOOL 1e07579d2c9d5d8a796973658cbb6627418b133a630ca5e977f93da0d27b900da2078d2ea8b35a13071b0b05e3d5e7f47e17d61042dcca60709f6599c18380a2 diff --git a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-17.10.429170.ebuild b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-17.10.429170.ebuild new file mode 100644 index 000000000000..c75b64c1091f --- /dev/null +++ b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-17.10.429170.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit unpacker versionator + +SUPER_PN='amdgpu-pro' +MY_PV=$(replace_version_separator 2 '-') + +DESCRIPTION="Proprietary OpenCL implementation for AMD GPUs" +HOMEPAGE="https://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Driver-for-Linux-Release-Notes.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=$(get_version_component_range 1-2) + einfo "Please download the AMDGPU-Pro Driver ${pkgver} for Ubuntu from" + einfo " ${HOMEPAGE}" + einfo "The archive should then be placed into ${DISTDIR}." +} + +src_unpack() { + default + + local libdrm_ver="2.4.70" + local patchlevel=$(get_version_component_range 3) + cd "${S}" || die + unpack_deb opencl-${SUPER_PN}-icd_${MY_PV}_amd64.deb + unpack_deb libdrm-${SUPER_PN}-amdgpu1_${libdrm_ver}-${patchlevel}_amd64.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/${SUPER_PN}" + dolib opt/${SUPER_PN}/lib/x86_64-linux-gnu/* + + insinto /etc/OpenCL/vendors/ + echo "/opt/${SUPER_PN}/$(get_libdir)/libamdocl64.so" > "${SUPER_PN}.icd" || die "Failed to generate ICD file" + doins "${SUPER_PN}.icd" +} + +pkg_postinst() { + 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 "" +} diff --git a/dev-libs/amdgpu-pro-opencl/metadata.xml b/dev-libs/amdgpu-pro-opencl/metadata.xml new file mode 100644 index 000000000000..8c9e58cc4d24 --- /dev/null +++ b/dev-libs/amdgpu-pro-opencl/metadata.xml @@ -0,0 +1,14 @@ + + + + + marecki@gentoo.org + Marek Szuba + + + This package contains the libraries necessary to enable OpenCL support + on AMD GPUs supported by the amdgpu driver. The libraries themselves + are part of the proprietary AMDGPU-Pro suite but work fine with the + free amdgpu driver stack. + + -- cgit v1.2.3-65-gdbad