lib32/lib32-amdgpu-pro/PKGBUILD
2017-07-27 23:46:42 +02:00

188 lines
7.0 KiB
Bash

# Arch Maintainer: David McFarland <corngood@gmail.com>
pkgbase=lib32-amdgpu-pro
pkgname=(lib32-amdgpu-pro lib32-amdgpu-pro-libdrm lib32-amdgpu-pro-libgl lib32-amdgpu-pro-opencl lib32-amdgpu-pro-vdpau lib32-amdgpu-pro-vulkan)
pkgver=17.30.458935
_pkgver=17.30-458935
pkgrel=1
arch=('x86_64')
url='http://www.amd.com'
license=('custom:AMD')
makedepends=('wget')
DLAGENTS='https::/usr/bin/wget --referer https://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Install.aspx -N %u'
source=(https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-${_pkgver}.tar.xz)
sha256sums=(3652a5c9476a650a3e3cd89bcd7ac119ed7d16a570501eeeea6a902cbc6f9488)
# extracts a debian package
# $1: deb file to extract
# $2: deb arch i386/amd64/all, if empty default amd64
extract_deb() {
local tmpdir="$1"
local debarch="$2"
if [ -z "$2" ]; then debarch="amd64"; fi
rm -Rf "$tmpdir"
mkdir "$tmpdir"
cd "$tmpdir"
local fullPath=$(readlink -f ${srcdir}/amdgpu-pro-${_pkgver}/./${1}_*_${debarch}.deb)
echo $fullPath
ar x "${fullPath}"
tar -C "${pkgdir}" -xf data.tar.xz
}
# move ubuntu specific /usr/lib/x86_64-linux-gnu to /usr/lib
# $1: library dir
# $2: destination (optional)
move_libdir() {
local libdir="usr/lib"
if [ -n "$2" ]; then
libdir="$2"
fi
if [ -d "$1" ]; then
if [ -d "${pkgdir}/${libdir}" ]; then
cp -ar -t "${pkgdir}/${libdir}/" "$1"/*
rm -rf "$1"
else
mkdir -p "${pkgdir}/${libdir}"
mv -t "${pkgdir}/${libdir}/" "$1"/*
rmdir "$1"
fi
fi
}
package_lib32-amdgpu-pro () {
pkgdesc="Meta package to install amdgpu Pro components. (32bit libraries)"
arch=('x86_64')
depends=('lib32-glib2>=2.37.3' 'lib32-gst-plugins-base' 'lib32-gstreamer' 'lib32-libomxil-bellagio' 'lib32-libx11' 'lib32-libxcb' 'lib32-libxdamage>=1.1' 'lib32-libxext' 'lib32-libxfixes' 'lib32-libxshmfence' 'lib32-libxxf86vm' 'lib32-ncurses5-compat-libs>=6' 'lib32-openssl' 'lib32-zlib' $pkgbase=$pkgver)
extract_deb amdgpu-pro i386
extract_deb gst-omx-amdgpu-pro i386
extract_deb libegl1-amdgpu-pro i386
extract_deb libgbm1-amdgpu-pro i386
extract_deb libgbm1-amdgpu-pro-dev i386
extract_deb libgl1-amdgpu-pro-dri i386
extract_deb libgl1-amdgpu-pro-ext i386
extract_deb libgl1-amdgpu-pro-glx i386
extract_deb libglamor-amdgpu-pro-dev i386
extract_deb libgles2-amdgpu-pro i386
extract_deb mesa-amdgpu-pro-omx-drivers i386
#move_libdir "${pkgdir}/opt/amdgpu-pro" "usr"
#move_libdir "${pkgdir}/opt/amdgpu-pro/lib/i386-linux-gnu" "usr/lib32"
move_libdir "${pkgdir}/lib" "usr/lib32"
# extra_commands:
mkdir -p "${pkgdir}"/usr/lib32/
mv "${pkgdir}"/usr/lib/i386-linux-gnu/dri "${pkgdir}"/usr/lib32/
rm -rf "${pkgdir}"/etc
mkdir -p "${pkgdir}/etc/ld.so.conf.d/"
echo "/opt/amdgpu-pro/lib/i386-linux-gnu/" > "${pkgdir}"/etc/ld.so.conf.d/lib32-amdgpu-pro.conf
# lib32 cleanup
rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/
}
package_lib32-amdgpu-pro-libdrm () {
pkgdesc="The AMDGPU Pro userspace interface to kernel DRM services (32bit libraries)"
arch=('x86_64')
provides=('lib32-libdrm')
conflicts=('lib32-libdrm')
depends=('amdgpu-pro-libdrm=${pkgver}')
extract_deb libdrm-amdgpu-pro-amdgpu1 i386
extract_deb libdrm-amdgpu-pro-dev i386
extract_deb libdrm-amdgpu-pro-radeon1 i386
extract_deb libdrm2-amdgpu-pro i386
#move_libdir "${pkgdir}/opt/amdgpu-pro" "usr"
#move_libdir "${pkgdir}/opt/amdgpu-pro/lib/i386-linux-gnu" "usr/lib32"
move_libdir "${pkgdir}/lib" "usr/lib32"
# lib32 cleanup
rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/
}
package_lib32-amdgpu-pro-libgl () {
pkgdesc="The AMDGPU Pro libgl library symlinks (32bit libraries)"
arch=('x86_64')
provides=('lib32-libgl')
conflicts=('lib32-libgl')
depends=(lib32-amdgpu-pro)
#move_libdir "${pkgdir}/opt/amdgpu-pro" "usr"
#move_libdir "${pkgdir}/opt/amdgpu-pro/lib/i386-linux-gnu" "usr/lib32"
move_libdir "${pkgdir}/lib" "usr/lib32"
# lib32 cleanup
rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/
}
package_lib32-amdgpu-pro-opencl () {
pkgdesc="The AMDGPU Pro OpenCL implementation"
arch=('x86_64')
provides=('lib32-opencl-driver')
depends=()
extract_deb libopencl1-amdgpu-pro i386
extract_deb opencl-amdgpu-pro-icd i386
#move_libdir "${pkgdir}/opt/amdgpu-pro" "usr"
#move_libdir "${pkgdir}/opt/amdgpu-pro/lib/i386-linux-gnu" "usr/lib32"
move_libdir "${pkgdir}/lib" "usr/lib32"
# lib32 cleanup
rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/
}
package_lib32-amdgpu-pro-vdpau () {
pkgdesc="The AMDGPU Pro VDPAU driver (32bit libraries)"
arch=('x86_64')
depends=('amdgpu-pro-libdrm=${pkgver}' 'lib32-libvdpau>=1.1' 'lib32-libxcb' 'lib32-libxcb>=1.8' 'lib32-ncurses5-compat-libs>=6' 'lib32-openssl' 'lib32-zlib')
extract_deb libvdpau-amdgpu-pro i386
#move_libdir "${pkgdir}/opt/amdgpu-pro" "usr"
#move_libdir "${pkgdir}/opt/amdgpu-pro/lib/i386-linux-gnu" "usr/lib32"
move_libdir "${pkgdir}/lib" "usr/lib32"
# extra_commands:
mkdir -p "${pkgdir}"/usr/lib32/
ln -s /opt/amdgpu-pro/lib/i386-linux-gnu/vdpau/libvdpau_amdgpu.so.1.0.0 "${pkgdir}"/usr/lib32/libvdpau_amdgpu.so.1.0.0
ln -s /opt/amdgpu-pro/lib/i368-linux-gnu/vdpau/libvdpau_amdgpu.so.1.0.0 "${pkgdir}"/usr/lib32/libvdpau_amdgpu.so.1
ln -s /opt/amdgpu-pro/lib/i368-linux-gnu/vdpau/libvdpau_amdgpu.so.1.0.0 "${pkgdir}"/usr/lib32/libvdpau_amdgpu.so
# lib32 cleanup
rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/
}
package_lib32-amdgpu-pro-vulkan () {
pkgdesc="The AMDGPU Pro Vulkan driver (32bit libraries)"
arch=('x86_64')
provides=('lib32-vulkan-driver')
depends=('amdgpu-pro-libdrm=${pkgver}')
extract_deb vulkan-amdgpu-pro i386
#move_libdir "${pkgdir}/opt/amdgpu-pro" "usr"
#move_libdir "${pkgdir}/opt/amdgpu-pro/lib/i386-linux-gnu" "usr/lib32"
move_libdir "${pkgdir}/lib" "usr/lib32"
# extra_commands:
mkdir -p "${pkgdir}"/usr/share/vulkan/icd.d/
mv "${pkgdir}"/etc/vulkan/icd.d/amd_icd32.json "${pkgdir}"/usr/share/vulkan/icd.d/
rm -rf "${pkgdir}"/etc/vulkan/
# lib32 cleanup
rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/
}