From 65a9fa60b6016fbadc08e10ced99c927baaa3278 Mon Sep 17 00:00:00 2001 From: AlmAck Date: Wed, 26 Jul 2017 00:25:41 +0200 Subject: [PATCH] new lib32-amdgpu-pro --- lib32-amdgpu-pro/PKGBUILD | 187 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 lib32-amdgpu-pro/PKGBUILD diff --git a/lib32-amdgpu-pro/PKGBUILD b/lib32-amdgpu-pro/PKGBUILD new file mode 100644 index 0000000..bdd8290 --- /dev/null +++ b/lib32-amdgpu-pro/PKGBUILD @@ -0,0 +1,187 @@ +# Arch Maintainer: David McFarland + +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.10.401251 +_pkgver=17.10-401251 +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=(0a10cf39841bf77eacb393ca112ce5f82ca0c4ea728d2fce975732855c039600) + + +# 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/ +} +