Gentoo Archives: gentoo-commits

From: Marek Szuba <marecki@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/amdgpu-pro-opencl/
Date: Tue, 27 Jun 2017 10:58:08
Message-Id: 1498561067.777fd2b49b77f17662acc160bc734c51fd626cd7.marecki@gentoo
1 commit: 777fd2b49b77f17662acc160bc734c51fd626cd7
2 Author: Marek Szuba <marecki <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jun 27 10:52:24 2017 +0000
4 Commit: Marek Szuba <marecki <AT> gentoo <DOT> org>
5 CommitDate: Tue Jun 27 10:57:47 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=777fd2b4
7
8 dev-libs/amdgpu-pro-opencl: new package
9
10 Bits of AMDGPU-Pro providing OpenCL support. Work fine with the Open Source
11 amdgpu stack, the only catch is that one also needs the proprietary version of
12 libdrm_amdgpu which could conflict with the one from x11-libs/libdrm.
13 Fortunately, this can be easily worked around by hacking rpath of the OpenCL
14 library. Will hopefull integrate well with the rest of AMDGPU-Pro once it has
15 made it into the tree.
16
17 Please note that this driver works ONLY when loaded by dev-libs/ocl-icd;
18 there is no possibility for it to operate as an independent implementation.
19
20 For the time being this is a 64-bit only package. That said, although AMD
21 only supports AMDGPU-Pro on amd64 the driver pack does include 32-bit binaries
22 - so multilib support might be added later.
23
24 Inspired-By: Arch Linux opencl-amd AUR package
25
26 Package-Manager: Portage-2.3.6, Repoman-2.3.1
27
28 dev-libs/amdgpu-pro-opencl/Manifest | 1 +
29 .../amdgpu-pro-opencl-17.10.429170.ebuild | 67 ++++++++++++++++++++++
30 dev-libs/amdgpu-pro-opencl/metadata.xml | 14 +++++
31 3 files changed, 82 insertions(+)
32
33 diff --git a/dev-libs/amdgpu-pro-opencl/Manifest b/dev-libs/amdgpu-pro-opencl/Manifest
34 new file mode 100644
35 index 00000000000..728950f3c6a
36 --- /dev/null
37 +++ b/dev-libs/amdgpu-pro-opencl/Manifest
38 @@ -0,0 +1 @@
39 +DIST amdgpu-pro-17.10-429170.tar.xz 121382128 SHA256 cb1ea7f9756f197a976138d2c00f239ae4ee43b839fbb1ea57f8770957d4afd6 SHA512 2d9d0a97478564e259dc8494083df8dc13e3bc664384978aff369070b1105703653d8dc4dca38e94dc8bdf3ddfb5c6f4de39cec5a9b263423de8fb91fd0117c6 WHIRLPOOL 1e07579d2c9d5d8a796973658cbb6627418b133a630ca5e977f93da0d27b900da2078d2ea8b35a13071b0b05e3d5e7f47e17d61042dcca60709f6599c18380a2
40
41 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
42 new file mode 100644
43 index 00000000000..c75b64c1091
44 --- /dev/null
45 +++ b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-17.10.429170.ebuild
46 @@ -0,0 +1,67 @@
47 +# Copyright 1999-2017 Gentoo Foundation
48 +# Distributed under the terms of the GNU General Public License v2
49 +
50 +EAPI=6
51 +
52 +inherit unpacker versionator
53 +
54 +SUPER_PN='amdgpu-pro'
55 +MY_PV=$(replace_version_separator 2 '-')
56 +
57 +DESCRIPTION="Proprietary OpenCL implementation for AMD GPUs"
58 +HOMEPAGE="https://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Driver-for-Linux-Release-Notes.aspx"
59 +SRC_URI="${SUPER_PN}-${MY_PV}.tar.xz"
60 +
61 +LICENSE="AMD-GPU-PRO-EULA"
62 +SLOT="0"
63 +KEYWORDS="~amd64"
64 +
65 +RESTRICT="mirror fetch strip"
66 +
67 +DEPEND="dev-util/patchelf"
68 +RDEPEND="dev-libs/ocl-icd"
69 +
70 +QA_PREBUILT="/opt/${SUPER_PN}/lib*/*"
71 +
72 +S="${WORKDIR}/${SUPER_PN}-${MY_PV}"
73 +
74 +pkg_nofetch() {
75 + local pkgver=$(get_version_component_range 1-2)
76 + einfo "Please download the AMDGPU-Pro Driver ${pkgver} for Ubuntu from"
77 + einfo " ${HOMEPAGE}"
78 + einfo "The archive should then be placed into ${DISTDIR}."
79 +}
80 +
81 +src_unpack() {
82 + default
83 +
84 + local libdrm_ver="2.4.70"
85 + local patchlevel=$(get_version_component_range 3)
86 + cd "${S}" || die
87 + unpack_deb opencl-${SUPER_PN}-icd_${MY_PV}_amd64.deb
88 + unpack_deb libdrm-${SUPER_PN}-amdgpu1_${libdrm_ver}-${patchlevel}_amd64.deb
89 +}
90 +
91 +src_prepare() {
92 + default
93 +
94 + cd "${S}/opt/${SUPER_PN}/lib/x86_64-linux-gnu" || die
95 + patchelf --set-rpath '$ORIGIN' libamdocl64.so || die "Failed to fix library rpath"
96 +}
97 +
98 +src_install() {
99 +
100 + into "/opt/${SUPER_PN}"
101 + dolib opt/${SUPER_PN}/lib/x86_64-linux-gnu/*
102 +
103 + insinto /etc/OpenCL/vendors/
104 + echo "/opt/${SUPER_PN}/$(get_libdir)/libamdocl64.so" > "${SUPER_PN}.icd" || die "Failed to generate ICD file"
105 + doins "${SUPER_PN}.icd"
106 +}
107 +
108 +pkg_postinst() {
109 + elog "AMD OpenCL driver relies on dev-libs/ocl-icd to work. To enable it, please run"
110 + elog ""
111 + elog " eselect opencl set ocl-icd"
112 + elog ""
113 +}
114
115 diff --git a/dev-libs/amdgpu-pro-opencl/metadata.xml b/dev-libs/amdgpu-pro-opencl/metadata.xml
116 new file mode 100644
117 index 00000000000..8c9e58cc4d2
118 --- /dev/null
119 +++ b/dev-libs/amdgpu-pro-opencl/metadata.xml
120 @@ -0,0 +1,14 @@
121 +<?xml version="1.0" encoding="UTF-8"?>
122 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
123 +<pkgmetadata>
124 + <maintainer type="person">
125 + <email>marecki@g.o</email>
126 + <name>Marek Szuba</name>
127 + </maintainer>
128 + <longdescription lang="en">
129 + This package contains the libraries necessary to enable OpenCL support
130 + on AMD GPUs supported by the amdgpu driver. The libraries themselves
131 + are part of the proprietary AMDGPU-Pro suite but work fine with the
132 + free amdgpu driver stack.
133 + </longdescription>
134 +</pkgmetadata>