public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Marek Szuba" <marecki@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/amdgpu-pro-opencl/
Date: Wed, 29 May 2019 10:31:09 +0000 (UTC)	[thread overview]
Message-ID: <1559125858.5b8c1208f08af0fa8b870e3e677abf8cdc7c1bc3.marecki@gentoo> (raw)

commit:     5b8c1208f08af0fa8b870e3e677abf8cdc7c1bc3
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Wed May 29 10:30:24 2019 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Wed May 29 10:30:58 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b8c1208

dev-libs/amdgpu-pro-opencl: conflict with media-libs/mesa[opencl]

With both this and the Mesa OpenCL state tracker enabled, using
dev-libs/ocl-icd one ends up with two OpenCL platforms pointing
to the same hardware - and more importantly causes segmentation faults
in all applications attempting to use OpenCL.

Closes: https://bugs.gentoo.org/686790
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>
Package-Manager: Portage-2.3.66, Repoman-2.3.11

 .../amdgpu-pro-opencl-19.10.785425-r1.ebuild       | 100 +++++++++++++++++++++
 1 file changed, 100 insertions(+)

diff --git a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-19.10.785425-r1.ebuild b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-19.10.785425-r1.ebuild
new file mode 100644
index 00000000000..9e9ca9dc6be
--- /dev/null
+++ b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-19.10.785425-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+
+inherit unpacker multilib-minimal
+
+SUPER_PN='amdgpu-pro'
+MY_PV=$(ver_rs 2 '-')
+
+DESCRIPTION="Proprietary OpenCL implementation for AMD GPUs"
+HOMEPAGE="https://www.amd.com/en/support/kb/release-notes/rn-rad-lin-19-10-unified"
+SRC_URI="${SUPER_PN}-${MY_PV}-ubuntu-18.04.tar.xz"
+
+LICENSE="AMD-GPU-PRO-EULA"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RESTRICT="mirror fetch strip"
+
+BDEPEND="dev-util/patchelf"
+COMMON="app-eselect/eselect-opencl
+	dev-libs/ocl-icd"
+DEPEND="${COMMON}"
+RDEPEND="${COMMON}
+	!media-libs/mesa[opencl]" # Bug #686790
+
+QA_PREBUILT="/opt/amdgpu/lib*/*"
+
+S="${WORKDIR}/${SUPER_PN}-${MY_PV}-ubuntu-18.04"
+
+pkg_nofetch() {
+	local pkgver=$(ver_cut 1-2)
+	einfo "Please download Radeon Software for Linux version ${pkgver} for Ubuntu 18.04 from"
+	einfo "    ${HOMEPAGE}"
+	einfo "The archive should then be placed into your distfiles directory."
+}
+
+src_unpack() {
+	default
+
+	local ids_ver="1.0.0"
+	local patchlevel=$(ver_cut 3)
+	cd "${S}" || die
+	unpack_deb "${S}/libdrm-amdgpu-common_${ids_ver}-${patchlevel}_all.deb"
+	multilib_parallel_foreach_abi multilib_src_unpack
+}
+
+multilib_src_unpack() {
+	local libdrm_ver="2.4.97"
+	local patchlevel=$(ver_cut 3)
+	local deb_abi
+	[[ ${ABI} == x86 ]] && deb_abi=i386
+
+	mkdir -p "${BUILD_DIR}" || die
+	pushd "${BUILD_DIR}" >/dev/null || die
+	unpack_deb "${S}/opencl-orca-amdgpu-pro-icd_${MY_PV}_${deb_abi:-${ABI}}.deb"
+	unpack_deb "${S}/libdrm-amdgpu-amdgpu1_${libdrm_ver}-${patchlevel}_${deb_abi:-${ABI}}.deb"
+	popd >/dev/null || die
+}
+
+multilib_src_install() {
+	local dir_abi short_abi
+	[[ ${ABI} == x86 ]] && dir_abi=i386-linux-gnu && short_abi=32
+	[[ ${ABI} == amd64 ]] && dir_abi=x86_64-linux-gnu && short_abi=64
+
+	into "/opt/amdgpu"
+	patchelf --set-rpath '$ORIGIN' "opt/${SUPER_PN}/lib/${dir_abi}"/libamdocl-orca${short_abi}.so || die "Failed to fix library rpath"
+	dolib.so "opt/${SUPER_PN}/lib/${dir_abi}"/*
+	dolib.so "opt/amdgpu/lib/${dir_abi}"/*
+
+	insinto /etc/OpenCL/vendors
+	echo "/opt/amdgpu/$(get_libdir)/libamdocl-orca${short_abi}.so" \
+		> "${T}/${SUPER_PN}-${ABI}.icd" || die "Failed to generate ICD file for ABI ${ABI}"
+	doins "${T}/${SUPER_PN}-${ABI}.icd"
+}
+
+# FIXME: is this right?
+multilib_src_install_all() {
+	ewarn "FOO $PWD"
+	ewarn `ls`
+	insinto "/opt/amdgpu"
+	doins -r opt/amdgpu/share
+}
+
+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
+
+	"${ROOT}"/usr/bin/eselect opencl set --use-old ocl-icd
+}


             reply	other threads:[~2019-05-29 10:31 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-29 10:31 Marek Szuba [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-03-21  8:24 [gentoo-commits] repo/gentoo:master commit in: dev-libs/amdgpu-pro-opencl/ Joonas Niilola
2020-11-11 11:25 Joonas Niilola
2020-04-08 14:57 Marek Szuba
2019-10-07 10:19 Marek Szuba
2019-09-30 12:49 Marek Szuba
2019-09-23 17:16 Michał Górny
2019-08-20 15:14 Marek Szuba
2019-08-20 15:14 Marek Szuba
2019-08-10 21:10 Marek Szuba
2019-08-10 15:46 Marek Szuba
2019-06-18 18:24 Thomas Deutschmann
2019-05-30 22:17 Marek Szuba
2019-05-25 21:12 Marek Szuba
2019-05-25 12:03 Marek Szuba
2019-01-15  9:52 Marek Szuba
2018-11-09  8:45 Marek Szuba
2018-09-27  9:49 Marek Szuba
2018-08-31 13:44 Marek Szuba
2018-07-09 14:04 Marek Szuba
2018-07-09 14:04 Marek Szuba
2018-06-26 19:47 Marek Szuba
2018-06-20 10:10 Marek Szuba
2018-05-25 10:04 Marek Szuba
2018-05-25 10:04 Marek Szuba
2017-12-16 10:03 Marek Szuba
2017-12-16  9:44 Marek Szuba
2017-12-11  0:55 Ulrich Müller
2017-11-21 11:00 Marek Szuba
2017-11-20 15:32 Marek Szuba
2017-11-19 21:03 Marek Szuba
2017-10-13 22:26 Marek Szuba
2017-08-06 16:38 Marek Szuba
2017-08-06 16:38 Marek Szuba
2017-08-02 19:46 Marek Szuba
2017-06-30 12:58 Marek Szuba
2017-06-27 10:58 Marek Szuba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1559125858.5b8c1208f08af0fa8b870e3e677abf8cdc7c1bc3.marecki@gentoo \
    --to=marecki@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox