blob: 659ddc293e44b9f407c7646f2d1c8eef9fced80d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
# Author: Janusz Lewandowski <lew21@xtreeme.org>
# Contributor: David McFarland <corngood@gmail.com>
# Maintainer: Andrew Shark <ashark @at@ linuxcomp.ru>
# Autogenerated from AMD's Packages file
# with https://github.com/Ashark/archlinux-amdgpu-pro/blob/master/gen-PKGBUILD.py
repo_ver=5.4.1
major=22.40.0
major_short=22.40
minor=1518373
ubuntu_ver=22.04
pkgbase=amdgpu-pro-installer
pkgname=(
amf-amdgpu-pro
amdgpu-pro-libgl
lib32-amdgpu-pro-libgl
vulkan-amdgpu-pro
lib32-vulkan-amdgpu-pro
)
pkgver=${major}_${minor}
pkgrel=2
arch=('x86_64')
url=https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-22-20
license=('custom: multiple')
groups=('Radeon_Software_for_Linux')
source=(progl::https://raw.githubusercontent.com/Ashark/archlinux-amdgpu-pro/master/progl
progl.bash-completion::https://raw.githubusercontent.com/Ashark/archlinux-amdgpu-pro/master/progl.bash-completion
https://repo.radeon.com/amdgpu/${repo_ver}/ubuntu/pool/proprietary/a/amf-amdgpu-pro/amf-amdgpu-pro_1.4.29-${minor}.${ubuntu_ver}_amd64.deb
https://repo.radeon.com/amdgpu/${repo_ver}/ubuntu/pool/proprietary/liba/libamdenc-amdgpu-pro/libamdenc-amdgpu-pro_1.0-${minor}.${ubuntu_ver}_amd64.deb
https://repo.radeon.com/amdgpu/${repo_ver}/ubuntu/pool/proprietary/v/vulkan-amdgpu-pro/vulkan-amdgpu-pro_${major_short}-${minor}.${ubuntu_ver}_i386.deb
https://repo.radeon.com/amdgpu/${repo_ver}/ubuntu/pool/proprietary/v/vulkan-amdgpu-pro/vulkan-amdgpu-pro_${major_short}-${minor}.${ubuntu_ver}_amd64.deb)
sha256sums=(feb74796c3152cbafaba89d96e68a152f209bd3058c7eb0413cbe1ab0764e96f
e32801c38b475cd8df17a407726b86db3de26410f563d688325b4d4314fc5354
9b7814d8f3b32aef4bf4550b51b38096b5cc28e1a1cf6d3318e42c044070ef6e
02bdb1eb1cae28794e6892b0892ce9d3e43ef6f7dd7d853b74a91f2ba49fab1c
68e025b363aa97b9dde6c957d7906157fdaf11f28ee2a94d4ee98cc3fd93234a
1754591537448202728d592c7f9af7f1acf5ccf8cbbca413ef9a00206e248267)
# extracts a debian package
# $1: deb file to extract
extract_deb() {
local tmpdir="$(basename "${1%.deb}")"
rm -Rf "$tmpdir"
mkdir "$tmpdir"
cd "$tmpdir"
ar x "$1"
tar -C "${pkgdir}" -xf data.tar.xz
}
# move ubuntu specific /usr/lib/x86_64-linux-gnu to /usr/lib
# $1: debian package library dir (goes from opt/amdgpu or opt/amdgpu-pro and from x86_64 or i386)
# $2: arch package library dir (goes to usr/lib or usr/lib32)
move_libdir() {
local deb_libdir="$1"
local arch_libdir="$2"
if [ -d "${pkgdir}/${deb_libdir}" ]; then
if [ ! -d "${pkgdir}/${arch_libdir}" ]; then
mkdir -p "${pkgdir}/${arch_libdir}"
fi
mv -t "${pkgdir}/${arch_libdir}/" "${pkgdir}/${deb_libdir}"/*
find ${pkgdir} -type d -empty -delete
fi
}
# move copyright file to proper place and remove debian changelog
move_copyright() {
find ${pkgdir}/usr/share/doc -name "changelog.Debian.gz" -delete
mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
find ${pkgdir}/usr/share/doc -name "copyright" -exec mv {} ${pkgdir}/usr/share/licenses/${pkgname} \;
find ${pkgdir}/usr/share/doc -type d -empty -delete
}
package_amf-amdgpu-pro () {
pkgdesc="AMDGPU Pro Advanced Multimedia Framework"
license=('custom: AMDGPU-PRO EULA')
depends=("libdrm" "vulkan-amdgpu-pro=${major}_${minor}-${pkgrel}")
optdepends=("rocm-opencl-runtime: Warning unspecified optdep description")
extract_deb "${srcdir}"/amf-amdgpu-pro_1.4.29-${minor}.${ubuntu_ver}_amd64.deb
extract_deb "${srcdir}"/libamdenc-amdgpu-pro_1.0-${minor}.${ubuntu_ver}_amd64.deb
move_libdir "opt/amdgpu-pro/lib/x86_64-linux-gnu" "usr/lib"
move_copyright
}
package_amdgpu-pro-libgl () {
pkgdesc="AMDGPU Pro OpenGL driver"
provides=('libgl')
# extra_commands:
move_libdir "usr/lib/x86_64-linux-gnu" "usr/lib"
move_libdir "opt/amdgpu-pro/lib/x86_64-linux-gnu" "usr/lib/amdgpu-pro"
move_libdir "opt/amdgpu-pro/lib/xorg" "usr/lib/amdgpu-pro/xorg"
move_libdir "opt/amdgpu/share/drirc.d" "usr/share/drirc.d"
install -Dm755 "${srcdir}"/progl "${pkgdir}"/usr/bin/progl
install -Dm644 "${srcdir}"/progl.bash-completion "${pkgdir}"/usr/share/bash-completion/completions/progl
}
package_lib32-amdgpu-pro-libgl () {
pkgdesc="AMDGPU Pro OpenGL driver (32-bit)"
provides=('lib32-libgl')
# extra_commands:
move_libdir "usr/lib/i386-linux-gnu" "usr/lib32"
move_libdir "opt/amdgpu-pro/lib/i386-linux-gnu" "usr/lib32/amdgpu-pro"
}
package_vulkan-amdgpu-pro () {
pkgdesc="AMDGPU Pro Vulkan driver"
license=('custom: AMDGPU-PRO EULA')
provides=('vulkan-driver')
depends=("vulkan-icd-loader" "zlib")
optdepends=("openssl-1.1: Warning unspecified optdep description")
extract_deb "${srcdir}"/vulkan-amdgpu-pro_${major_short}-${minor}.${ubuntu_ver}_amd64.deb
move_libdir "opt/amdgpu-pro/lib/x86_64-linux-gnu" "usr/lib"
move_copyright
# extra_commands:
mkdir -p "${pkgdir}"/usr/share/vulkan/icd.d/
mv "${pkgdir}"/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd64.json "${pkgdir}"/usr/share/vulkan/icd.d/amd_pro_icd64.json
mv "${pkgdir}"/usr/lib/amdvlk64.so "${pkgdir}"/usr/lib/amdvlkpro64.so
sed -i "s#/opt/amdgpu-pro/lib/x86_64-linux-gnu/amdvlk64.so#/usr/lib/amdvlkpro64.so#" "${pkgdir}"/usr/share/vulkan/icd.d/amd_pro_icd64.json
find ${pkgdir} -type d -empty -delete
}
package_lib32-vulkan-amdgpu-pro () {
pkgdesc="AMDGPU Pro Vulkan driver (32-bit)"
license=('custom: AMDGPU-PRO EULA')
provides=('lib32-vulkan-driver')
depends=("lib32-vulkan-icd-loader" "lib32-zlib")
optdepends=("lib32-openssl-1.1: Warning unspecified optdep description")
extract_deb "${srcdir}"/vulkan-amdgpu-pro_${major_short}-${minor}.${ubuntu_ver}_i386.deb
move_libdir "opt/amdgpu-pro/lib/i386-linux-gnu" "usr/lib32"
move_copyright
# extra_commands:
mkdir -p "${pkgdir}"/usr/share/vulkan/icd.d/
mv "${pkgdir}"/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd32.json "${pkgdir}"/usr/share/vulkan/icd.d/amd_pro_icd32.json
mv "${pkgdir}"/usr/lib32/amdvlk32.so "${pkgdir}"/usr/lib32/amdvlkpro32.so
sed -i "s#/opt/amdgpu-pro/lib/i386-linux-gnu/amdvlk32.so#/usr/lib32/amdvlkpro32.so#" "${pkgdir}"/usr/share/vulkan/icd.d/amd_pro_icd32.json
find ${pkgdir} -type d -empty -delete
}
|