Advertisement
Guest User

amdgpu-pro 17.30 non conventional PKGBUILD

a guest
Sep 10th, 2017
948
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.88 KB | None | 0 0
  1. # Inspired from the original work of Janusz Lewandowski <lew21@xtreeme.org>
  2. # and David McFarland <corngood@gmail.com>
  3. # from https://aur.archlinux.org/pkgbase/amdgpu-pro-installer
  4. # Modified : nmset@netcourrier.com
  5. # Thanks to Paullux (https://aur.archlinux.org/account/Paullux)
  6. # for testing the 32-bit setup and sanitizing the 'provides' instructions.
  7.  
  8. #Alien PKGBUILD, not for general use.
  9. #Download amdgpu-pro-17.30.465504.tar.xz separately (.deb) and makepkg.
  10. #Reboot after install, libraries are not in standard locations.
  11. #If X fails to start,
  12. #log through SSH
  13. #OR reboot (wildly or with magic SysRq) on another partition and chroot in some way to your partition
  14. #To uninstall in any case:
  15. #Close DE; in a TTY :
  16. #pacman -Rdd amdgpu-pro
  17. #pacman -S xf86-video-amdgpu ocl-icd lib32-ocl-icd
  18. #Reboot
  19.  
  20. REV=465504
  21. pkgbase=amdgpu-pro-alien-installer
  22. pkgname=(amdgpu-pro)
  23. pkgver=17.30.$REV
  24. pkgrel=11
  25. arch=('x86_64')
  26. url='http://www.amd.com'
  27. license=('custom:AMD')
  28. conflicts=('xf86-video-amdgpu' 'ocl-icd' 'lib32-ocl-icd')
  29. provides=('lib32-libgl' 'libgl' 'libcl' 'opencl-icd-loader' 'lib32-libegl' 'libegl' 'lib32-libgles' 'libgles' 'lib32-opengl-driver' 'opengl-driver')
  30.  
  31. source=("amdgpu-pro-17.30-$REV.tar.xz")
  32. sha256sums=("SKIP")
  33.  
  34. PKGVER="17.30-$REV"
  35.  
  36. prepare () {
  37. cd "${startdir}"
  38. cat > amdgpu-pro-32.conf <<EOF
  39. /opt/amdgpu-pro-32/lib/i386-linux-gnu
  40. /opt/amdgpu-pro-32/lib/i386-linux-gnu/dri
  41. /opt/amdgpu-pro-32/lib/i386-linux-gnu/gbm
  42. /opt/amdgpu-pro-32/lib/i386-linux-gnu/gstreamer-1.0
  43. /opt/amdgpu-pro-32/lib/i386-linux-gnu/libomxil-bellagio0
  44. /opt/amdgpu-pro-32/lib/i386-linux-gnu/vdpau
  45. /opt/amdgpu-pro-32/lib/xorg/modules
  46. /opt/amdgpu-pro-32/lib/xorg/modules/drivers
  47. /opt/amdgpu-pro-32/lib/xorg/modules/extensions
  48. /usr/lib32/dri
  49. EOF
  50.  
  51. #cat > amdgpu-pro-32.sh <<EOF
  52. #export LD_LIBRARY_PATH=\$(tr "\n" ":" < /etc/ld.so.conf.d/amdgpu-pro-32.conf ):\$LD_LIBRARY_PATH
  53. #EOF
  54.  
  55. cat > amdgpu-pro.conf <<EOF
  56. /opt/amdgpu-pro/lib/x86_64-linux-gnu
  57. /opt/amdgpu-pro/lib/x86_64-linux-gnu/dri
  58. /opt/amdgpu-pro/lib/x86_64-linux-gnu/gbm
  59. /opt/amdgpu-pro/lib/x86_64-linux-gnu/gstreamer-1.0
  60. /opt/amdgpu-pro/lib/x86_64-linux-gnu/libomxil-bellagio0
  61. /opt/amdgpu-pro/lib/x86_64-linux-gnu/vdpau
  62. /opt/amdgpu-pro/lib/xorg/modules
  63. /opt/amdgpu-pro/lib/xorg/modules/drivers
  64. /opt/amdgpu-pro/lib/xorg/modules/extensions
  65. /usr/lib/dri
  66. EOF
  67.  
  68. #cat > amdgpu-pro.sh <<EOF
  69. #export LD_LIBRARY_PATH=\$(tr "\n" ":" < /etc/ld.so.conf.d/amdgpu-pro.conf ):\$LD_LIBRARY_PATH
  70. #EOF
  71.  
  72. }
  73.  
  74. unpack_deb () {
  75. ar x $1
  76. tar -xJf data.tar.xz
  77. rm -f control.tar.gz
  78. rm -f debian-binary
  79. rm -f data.tar.xz
  80. }
  81.  
  82. package_amdgpu-pro () {
  83. umask 0022
  84. pkgdesc="This package install all amdgpu-pro components in a monolithic way, except DKMS."
  85. arch=('x86_64')
  86. # You should edit the libtinfo PKGBUILDs and uncomment the line dealing with libtinfo.so.5 symlink. libvdpau_amdgpu.so.1.0.0 needs that.
  87. depends=('lib32-libtinfo' 'libtinfo')
  88.  
  89. export XZ_OPT="-T 0"
  90. SRC="${srcdir}/${pkgname}-${PKGVER}"
  91. rm -Rf "${srcdir}"
  92. mkdir "${srcdir}"
  93. cd "${srcdir}"
  94. tar -xJf ${startdir}/${pkgname}-${PKGVER}.tar.xz
  95.  
  96. #Get rid of dkms stuff.
  97. rm -f ${SRC}/*dkms*
  98.  
  99. #32 bit libs
  100. cd ${pkgdir} #Quoted vars get problematic below
  101. for f in ${SRC}/*_i386.deb;do
  102. unpack_deb ${f}
  103. sync
  104. done
  105. mv ${pkgdir}/lib ${pkgdir}/lib32
  106. mv ${pkgdir}/lib32/* ${pkgdir}/usr/lib32/
  107. rm -fR ${pkgdir}/lib32
  108. mv ${pkgdir}/usr/lib/i386-linux-gnu/* ${pkgdir}/usr/lib32/
  109. rm -fR ${pkgdir}/usr/lib
  110. mv ${pkgdir}/opt/amdgpu-pro ${pkgdir}/opt/amdgpu-pro-32
  111. cd ${pkgdir}/opt/amdgpu-pro-32/lib/i386-linux-gnu/vdpau
  112. ln -s libvdpau_amdgpu.so.1 libvdpau_amdgpu.so
  113. cd -
  114. mkdir -p ${pkgdir}/etc/ld.so.conf.d
  115. cp ${startdir}/amdgpu-pro-32.conf ${pkgdir}/etc/ld.so.conf.d/
  116. #mkdir -p ${pkgdir}/etc/profile.d
  117. #cp ${startdir}/amdgpu-pro-32.sh ${pkgdir}/etc/profile.d/
  118. sed -i "s/amdgpu-pro/amdgpu-pro-32/" "${pkgdir}/etc/vulkan/icd.d/amd_icd32.json"
  119. #Overlaps with 64 bit pkgs.
  120. rm -fR "${pkgdir}/etc/{amd,xdg}"
  121. rm -fR "${pkgdir}/usr/share/{doc,X11}"
  122. sync
  123.  
  124. #64 bit libs
  125. for f in ${SRC}/*_amd64.deb;do
  126. unpack_deb ${f}
  127. sync
  128. done
  129. mv ${pkgdir}/lib/* ${pkgdir}/usr/lib/
  130. rm -fR ${pkgdir}/lib
  131. mv ${pkgdir}/usr/lib/x86_64-linux-gnu/* ${pkgdir}/usr/lib/
  132. rm -fR ${pkgdir}/usr/lib/x86_64-linux-gnu
  133. cd ${pkgdir}/opt/amdgpu-pro/lib/x86_64-linux-gnu/vdpau
  134. ln -s libvdpau_amdgpu.so.1 libvdpau_amdgpu.so
  135. cd -
  136. cp ${startdir}/amdgpu-pro.conf ${pkgdir}/etc/ld.so.conf.d/
  137. #cp ${startdir}/amdgpu-pro.sh ${pkgdir}/etc/profile.d/
  138.  
  139. #Common pkgs
  140. for f in ${SRC}/*_all.deb;do
  141. unpack_deb ${f}
  142. sync
  143. done
  144.  
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement