# 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.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/ }