From ea816dcc9f1274f2138668123d1b18babb1a77be Mon Sep 17 00:00:00 2001 From: Cristiano Urban Date: Wed, 1 Apr 2020 23:59:37 +0700 Subject: libraries/opencl-amd: Added (OpenCL Userspace Driver). Signed-off-by: Willy Sudiarto Raharjo --- libraries/opencl-amd/README | 6 ++ libraries/opencl-amd/opencl-amd.SlackBuild | 137 +++++++++++++++++++++++++++++ libraries/opencl-amd/opencl-amd.info | 10 +++ libraries/opencl-amd/slack-desc | 20 +++++ 4 files changed, 173 insertions(+) create mode 100644 libraries/opencl-amd/README create mode 100644 libraries/opencl-amd/opencl-amd.SlackBuild create mode 100644 libraries/opencl-amd/opencl-amd.info create mode 100644 libraries/opencl-amd/slack-desc diff --git a/libraries/opencl-amd/README b/libraries/opencl-amd/README new file mode 100644 index 0000000000..27b9d280af --- /dev/null +++ b/libraries/opencl-amd/README @@ -0,0 +1,6 @@ +OpenCL userspace driver as provided in the amdgpu-pro driver stack and intended to work along with the free amdgpu stack. +It's a repackage of AUR opencl-amd and don't provide the full amdgpu-pro stack. + +The Ubuntu 18.04 drivers can be downloaded using: +/usr/bin/wget --referer https://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Driver-for-Linux-Release-Notes.aspx +-N https://drivers.amd.com/drivers/linux/19.50/amdgpu-pro-19.50-967956-ubuntu-18.04.tar.xz diff --git a/libraries/opencl-amd/opencl-amd.SlackBuild b/libraries/opencl-amd/opencl-amd.SlackBuild new file mode 100644 index 0000000000..4aecebb654 --- /dev/null +++ b/libraries/opencl-amd/opencl-amd.SlackBuild @@ -0,0 +1,137 @@ +#!/bin/sh + +# Copyright 2020 Ciprian Stingu +# Repackage of AUR : opencl-amd.git for Slackware +# +# Original credits of AUR : opencl-amd.git +# Maintainer: Christopher Snowhill +# Contributor: ipha +# Contributor: johnnybash +# Contributor: grmat +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM="opencl-amd" +VERSION=${VERSION:-19.50} +MINVER="967956" +AMDVER="2.4.99" +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +SRCNAM="amdgpu-pro-${VERSION}-${MINVER}-ubuntu-18.04" +CLINFO_SHARED="opt/amdgpu-pro/bin" +OPENCL_SHARED="opt/amdgpu-pro/lib/x86_64-linux-gnu" +LIBDRM_SHARED="opt/amdgpu/lib/x86_64-linux-gnu" + +# Allow $ARCH to be preset before running the script. This is useful in the +# case where someone is running a 32-bit chroot environment under an x86_64 +# kernel: +ARCH=${ARCH:-$(uname -m)} + +case "$ARCH" in + x86_64) DEBARCH="amd64" ; LIBDIRSUFFIX="64" ; ARCH=x86_64 ;; + *) echo "Package for $(uname -m) architecture is not available." ; exit 1 ;; +esac + +if [ ! $UID = 0 ]; then + cat << EOF + +This script must be run as root. + +EOF + exit 1 +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG="${TMP}/package-${PKGNAM}" +SRCDIR="${TMP}/${SRCNAM}" +OUTPUT=${OUTPUT:-/tmp} + +rm -rf "${PKG}" +mkdir -p "${TMP}" "${PKG}" "${OUTPUT}" +cd "${TMP}" + +rm -rf ${SRCDIR} +tar -xf "${CWD}/${SRCNAM}.tar.xz" + +rm -rf "${TMP}/opencl" +rm -rf "${TMP}/libdrm" + +#start AUR : opencl-amd.git +mkdir -p "${TMP}/opencl" +cd "${TMP}/opencl" +# clinfo +ar x "${SRCDIR}/clinfo-amdgpu-pro_${VERSION}-${MINVER}_${DEBARCH}.deb" +tar xJf "data.tar.xz" +# pal +ar x "${SRCDIR}/opencl-amdgpu-pro-icd_${VERSION}-${MINVER}_${DEBARCH}.deb" +tar xJf "data.tar.xz" +ar x "${SRCDIR}/opencl-amdgpu-pro-comgr_${VERSION}-${MINVER}_${DEBARCH}.deb" +tar xJf "data.tar.xz" +# orca +ar x "${SRCDIR}/opencl-orca-amdgpu-pro-icd_${VERSION}-${MINVER}_${DEBARCH}.deb" +tar xJf "data.tar.xz" +cd "${OPENCL_SHARED}" +sed -i "s|libdrm_amdgpu|libdrm_amdgpo|g" libamdocl-orca64.so +# libdrm +mkdir -p "${TMP}/libdrm" +cd "${TMP}/libdrm" +ar x "${SRCDIR}/libdrm-amdgpu-amdgpu1_${AMDVER}-${MINVER}_${DEBARCH}.deb" +tar xJf "data.tar.xz" +cd "${LIBDRM_SHARED}" +rm "libdrm_amdgpu.so.1" +mv "libdrm_amdgpu.so.1.0.0" "libdrm_amdgpo.so.1.0.0" +ln -s "libdrm_amdgpo.so.1.0.0" "libdrm_amdgpo.so.1" + +mv "${TMP}/opencl/etc" "${PKG}/" +mkdir -p "${PKG}/usr/lib${LIBDIRSUFFIX}" +mkdir -p "${PKG}/usr/bin" +# clinfo +mv "${TMP}/opencl/${CLINFO_SHARED}/clinfo" "${PKG}/usr/bin/" +# pal +mv "${TMP}/opencl/${OPENCL_SHARED}/libamdocl64.so" "${PKG}/usr/lib${LIBDIRSUFFIX}/" +mv "${TMP}/opencl/${OPENCL_SHARED}/libamd_comgr.so" "${PKG}/usr/lib${LIBDIRSUFFIX}/" +# orca +mv "${TMP}/opencl/${OPENCL_SHARED}/libamdocl-orca64.so" "${PKG}/usr/lib${LIBDIRSUFFIX}/" +mv "${TMP}/opencl/${OPENCL_SHARED}/libamdocl12cl64.so" "${PKG}/usr/lib${LIBDIRSUFFIX}/" +# libdrm +mv "${TMP}/libdrm/${LIBDRM_SHARED}/libdrm_amdgpo.so.1.0.0" "${PKG}/usr/lib${LIBDIRSUFFIX}/" +mv "${TMP}/libdrm/${LIBDRM_SHARED}/libdrm_amdgpo.so.1" "${PKG}/usr/lib${LIBDIRSUFFIX}/" + +mkdir -p "${PKG}/opt/amdgpu/share/libdrm" +cd "${PKG}/opt/amdgpu/share/libdrm" +ln -s "/usr/share/libdrm/amdgpu.ids" "amdgpu.ids" + +rm -rf "${TMP}/opencl" +rm -rf "${TMP}/libdrm" +#end AUR : opencl-amd.git + +mkdir -p "${PKG}/install" +cat "${CWD}/slack-desc" > "${PKG}/install/slack-desc" + +cd ${PKG} +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +/sbin/makepkg -l y -c n "${OUTPUT}/${PKGNAM}-${VERSION}-${MINVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}" diff --git a/libraries/opencl-amd/opencl-amd.info b/libraries/opencl-amd/opencl-amd.info new file mode 100644 index 0000000000..0d52a00ae2 --- /dev/null +++ b/libraries/opencl-amd/opencl-amd.info @@ -0,0 +1,10 @@ +PRGNAM="opencl-amd" +VERSION="19.50-967956" +HOMEPAGE="https://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Driver-for-Linux-Release-Notes.aspx" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://drivers.amd.com/drivers/linux/19.50/amdgpu-pro-19.50-967956-ubuntu-18.04.tar.xz" +MD5SUM_x86_64="aa0df956b488789896b82359ddb856c8" +REQUIRES="" +MAINTAINER="Ciprian Stingu" +EMAIL="ciprian dot stingu at gmail dot com" diff --git a/libraries/opencl-amd/slack-desc b/libraries/opencl-amd/slack-desc new file mode 100644 index 0000000000..6d051ae8e9 --- /dev/null +++ b/libraries/opencl-amd/slack-desc @@ -0,0 +1,20 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler----------------------------------------------------| +opencl-amd: opencl-amd (OpenCL Userspace Driver) +opencl-amd: +opencl-amd: OpenCL userspace driver as provided in the amdgpu-pro driver stack +opencl-amd: This package is intended to work along with the free amdgpu stack +opencl-amd: +opencl-amd: +opencl-amd: +opencl-amd: Homepage: https://support.amd.com/en-us/kb-articles/Pages/ +opencl-amd: AMDGPU-PRO-Driver-for-Linux-Release-Notes.aspx +opencl-amd: +opencl-amd: +opencl-amd: -- cgit v1.2.3