upgpkg: wordpress 6.2.1-1
[ArchLinux/community.git] / lib32-mesa / trunk / PKGBUILD
blobdad9226f5a0177b35fae58234bd9fdc3a46e5537
1 # Maintainer: Laurent Carlier <lordheavym@gmail.com>
2 # Maintainer: Felix Yan <felixonmars@archlinux.org>
3 # Contributor: Jan de Groot <jgc@archlinux.org>
4 # Contributor: Andreas Radke <andyrtr@archlinux.org>
6 pkgbase=lib32-mesa
7 pkgname=(
8   'lib32-vulkan-mesa-layers'
9   'lib32-opencl-mesa'
10   'lib32-vulkan-intel'
11   'lib32-vulkan-radeon'
12   'lib32-vulkan-swrast'
13   'lib32-vulkan-virtio'
14   'lib32-libva-mesa-driver'
15   'lib32-mesa-vdpau'
16   'lib32-mesa'
18 pkgver=23.1.0
19 pkgrel=1
20 pkgdesc="An open-source implementation of the OpenGL specification (32-bit)"
21 url="https://www.mesa3d.org/"
22 arch=('x86_64')
23 license=('custom')
24 makedepends=(
25   'lib32-clang'
26   'lib32-expat'
27   'lib32-libdrm'
28   'lib32-libelf'
29   'lib32-libglvnd'
30   'lib32-libunwind'
31   'lib32-libva'
32   'lib32-libvdpau'
33   'lib32-libx11'
34   'lib32-libxdamage'
35   'lib32-libxml2'
36   'lib32-libxrandr'
37   'lib32-libxshmfence'
38   'lib32-libxxf86vm'
39   'lib32-llvm'
40   'lib32-lm_sensors'
41   'lib32-systemd'
42   'lib32-vulkan-icd-loader'
43   'lib32-wayland'
44   'lib32-zstd'
46   # shared with lib32-mesa
47   'clang'
48   'cmake'
49   'elfutils'
50   'glslang'
51   'libclc'
52   'meson'
53   'python-mako'
54   'wayland-protocols'
55   'xorgproto'
58 source=(
59   https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
60   LICENSE
62 sha256sums=('a9dde3c76571c4806245a05bda1cceee347c3267127e9e549e4f4e225d92e992'
63             'SKIP'
64             '7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537')
65 b2sums=('47cc90da14a2c33bb54c7811e99b439fadef81a15b63e535210a329bad5e2524fcb415cc5ed51a8deb65ccc9a341af78f02178c93758f09946978179e494382c'
66         'SKIP'
67         '1ecf007b82260710a7bf5048f47dd5d600c168824c02c595af654632326536a6527fbe0738670ee7b921dd85a70425108e0f471ba85a8e1ca47d294ad74b4adb')
68 validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D'  # Emil Velikov <emil.l.velikov@gmail.com>
69               '946D09B5E4C9845E63075FF1D961C596A7203456'  # Andres Gomez <tanty@igalia.com>
70               'E3E8F480C52ADD73B278EE78E1ECBE07D7D70895'  # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez@igalia.com>
71               'A5CC9FEC93F2F837CB044912336909B6B25FADFA'  # Juan A. Suarez Romero <jasuarez@igalia.com>
72               '71C4B75620BC75708B4BDB254C95FAAB3EB073EC'  # Dylan Baker <dylan@pnwbakers.com>
73               '57551DE15B968F6341C248F68D8E31AFC32428A6') # Eric Engestrom <eric@engestrom.ch>
75 prepare() {
76   cd mesa-$pkgver
79 _libdir=usr/lib32
81 build() {
82   local meson_options=(
83     --libdir=/$_libdir
84     -D android-libbacktrace=disabled
85     -D b_ndebug=true
86     -D dri3=enabled
87     -D egl=enabled
88     -D gallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,swrast,i915,iris,crocus,zink
89     -D gallium-extra-hud=true
90     -D gallium-nine=true
91     -D gallium-omx=disabled
92     -D gallium-opencl=icd
93     -D gallium-rusticl=false
94     -D gallium-va=enabled
95     -D gallium-vdpau=enabled
96     -D gallium-xa=enabled
97     -D gbm=enabled
98     -D gles1=disabled
99     -D gles2=enabled
100     -D glvnd=true
101     -D glx=dri
102     -D intel-clc=disabled
103     -D libunwind=enabled
104     -D llvm=enabled
105     -D lmsensors=enabled
106     -D microsoft-clc=disabled
107     -D osmesa=true
108     -D platforms=x11,wayland
109     -D rust_std=2021
110     -D shared-glapi=enabled
111     -D valgrind=disabled
112     -D video-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc
113     -D vulkan-drivers=amd,intel,intel_hasvk,swrast,virtio-experimental
114     -D vulkan-layers=device-select,intel-nullhw,overlay
115   )
117   # Build only minimal debug info to reduce size
118   CFLAGS+=' -g1'
119   CXXFLAGS+=' -g1'
121   export CC="gcc -m32"
122   export CXX="g++ -m32"
123   export PKG_CONFIG="i686-pc-linux-gnu-pkg-config"
124   export LLVM_CONFIG="llvm-config32"
126   arch-meson mesa-$pkgver build "${meson_options[@]}"
127   meson configure build # Print config
128   meson compile -C build
130   # fake installation to be seperated into packages
131   # outside of fakeroot but mesa doesn't need to chown/mod
132   DESTDIR="${srcdir}/fakeinstall" meson install -C build
135 _install() {
136   local src f dir
137   for src; do
138     f="${src#fakeinstall/}"
139     dir="${pkgdir}/${f%/*}"
140     install -m755 -d "${dir}"
141     mv -v "${src}" "${dir}/"
142   done
145 package_lib32-vulkan-mesa-layers() {
146   pkgdesc="Mesa's Vulkan layers (32-bit)"
147   depends=(
148     'lib32-libdrm'
149     'lib32-libxcb'
150     'lib32-wayland'
152     'vulkan-mesa-layers'
153   )
154   conflicts=('lib32-vulkan-mesa-layer')
155   replaces=('lib32-vulkan-mesa-layer')
157   rm -rv fakeinstall/usr/share/vulkan/explicit_layer.d
158   rm -rv fakeinstall/usr/share/vulkan/implicit_layer.d
159   _install fakeinstall/$_libdir/libVkLayer_*.so
160   rm -v fakeinstall/usr/bin/mesa-overlay-control.py
162   install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
165 package_lib32-opencl-mesa() {
166   pkgdesc="OpenCL support for AMD/ATI Radeon mesa drivers (32-bit)"
167   depends=(
168     'lib32-clang'
169     'lib32-expat'
170     'lib32-libdrm'
171     'lib32-libelf'
172     'lib32-zstd'
174     'libclc'
175     'spirv-llvm-translator'
176     'opencl-mesa'
177   )
178   optdepends=('opencl-headers: headers necessary for OpenCL development')
179   provides=('lib32-opencl-driver')
181   rm -rv fakeinstall/etc/OpenCL
182   _install fakeinstall/$_libdir/lib*OpenCL*
183   _install fakeinstall/$_libdir/gallium-pipe
185   install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
188 package_lib32-vulkan-intel() {
189   pkgdesc="Intel's Vulkan mesa driver (32-bit)"
190   depends=(
191     'lib32-libdrm'
192     'lib32-libx11'
193     'lib32-libxshmfence'
194     'lib32-systemd'
195     'lib32-wayland'
196     'lib32-zstd'
197   )
198   optdepends=('lib32-vulkan-mesa-layers: additional vulkan layers')
199   provides=('lib32-vulkan-driver')
201   _install fakeinstall/usr/share/vulkan/icd.d/intel_*.json
202   _install fakeinstall/$_libdir/libvulkan_intel*.so
204   install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
207 package_lib32-vulkan-radeon() {
208   pkgdesc="Radeon's Vulkan mesa driver (32-bit)"
209   depends=(
210     'lib32-libdrm'
211     'lib32-libelf'
212     'lib32-libx11'
213     'lib32-libxshmfence'
214     'lib32-llvm-libs'
215     'lib32-systemd'
216     'lib32-wayland'
217     'lib32-zstd'
219     'vulkan-radeon'
220   )
221   optdepends=('lib32-vulkan-mesa-layers: additional vulkan layers')
222   provides=('lib32-vulkan-driver')
224   rm -v fakeinstall/usr/share/drirc.d/00-radv-defaults.conf
225   _install fakeinstall/usr/share/vulkan/icd.d/radeon_icd*.json
226   _install fakeinstall/$_libdir/libvulkan_radeon.so
228   install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
231 package_lib32-vulkan-swrast() {
232   pkgdesc="Vulkan software rasteriser driver (32-bit)"
233   depends=(
234     'lib32-libdrm'
235     'lib32-libunwind'
236     'lib32-libx11'
237     'lib32-libxshmfence'
238     'lib32-llvm-libs'
239     'lib32-systemd'
240     'lib32-wayland'
241     'lib32-zstd'
242   )
243   optdepends=('lib32-vulkan-mesa-layers: additional vulkan layers')
244   conflicts=('lib32-vulkan-mesa')
245   replaces=('lib32-vulkan-mesa')
246   provides=('lib32-vulkan-driver')
248   _install fakeinstall/usr/share/vulkan/icd.d/lvp_icd*.json
249   _install fakeinstall/$_libdir/libvulkan_lvp.so
251   install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
254 package_lib32-vulkan-virtio() {
255   pkgdesc="Venus Vulkan mesa driver for Virtual Machines (32-bit)"
256   depends=(
257     'lib32-libdrm'
258     'lib32-libx11'
259     'lib32-libxshmfence'
260     'lib32-systemd'
261     'lib32-wayland'
262     'lib32-zstd'
263   )
264   optdepends=('lib32-vulkan-mesa-layers: additional vulkan layers')
265   provides=('lib32-vulkan-driver')
267   _install fakeinstall/usr/share/vulkan/icd.d/virtio_icd*.json
268   _install fakeinstall/$_libdir/libvulkan_virtio.so
270   install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
273 package_lib32-libva-mesa-driver() {
274   pkgdesc="VA-API drivers (32-bit)"
275   depends=(
276     'lib32-expat'
277     'lib32-libdrm'
278     'lib32-libelf'
279     'lib32-libx11'
280     'lib32-libxshmfence'
281     'lib32-llvm-libs'
282     'lib32-zstd'
283   )
284   provides=('lib32-libva-driver')
286   _install fakeinstall/$_libdir/dri/*_drv_video.so
288   install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
291 package_lib32-mesa-vdpau() {
292   pkgdesc="VDPAU drivers (32-bit)"
293   depends=(
294     'lib32-expat'
295     'lib32-libdrm'
296     'lib32-libelf'
297     'lib32-libx11'
298     'lib32-libxshmfence'
299     'lib32-llvm-libs'
300     'lib32-zstd'
301   )
302   provides=('lib32-vdpau-driver')
304   _install fakeinstall/$_libdir/vdpau
306   install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
309 package_lib32-mesa() {
310   depends=(
311     'lib32-libdrm'
312     'lib32-libelf'
313     'lib32-libglvnd'
314     'lib32-libunwind'
315     'lib32-libxdamage'
316     'lib32-libxshmfence'
317     'lib32-libxxf86vm'
318     'lib32-llvm-libs'
319     'lib32-lm_sensors'
320     'lib32-vulkan-icd-loader'
321     'lib32-wayland'
322     'lib32-zstd'
324     'mesa'
325   )
326   optdepends=(
327     'lib32-libva-mesa-driver: for accelerated video playback'
328     'lib32-mesa-vdpau: for accelerated video playback'
329     'opengl-man-pages: for the OpenGL API man pages'
330   )
331   provides=(
332     'lib32-mesa-libgl'
333     'lib32-opengl-driver'
334   )
335   conflicts=('lib32-mesa-libgl')
336   replaces=('lib32-mesa-libgl')
338   rm -v fakeinstall/usr/share/drirc.d/00-mesa-defaults.conf
339   rm -v fakeinstall/usr/share/glvnd/egl_vendor.d/50_mesa.json
341   # ati-dri, nouveau-dri, intel-dri, svga-dri, swrast, swr
342   _install fakeinstall/$_libdir/dri/*_dri.so
344   _install fakeinstall/$_libdir/d3d
345   _install fakeinstall/$_libdir/lib{gbm,glapi}.so*
346   _install fakeinstall/$_libdir/libOSMesa.so*
347   _install fakeinstall/$_libdir/libxatracker.so*
349   rm -rv fakeinstall/usr/include
350   _install fakeinstall/$_libdir/pkgconfig
352   # libglvnd support
353   _install fakeinstall/$_libdir/libGLX_mesa.so*
354   _install fakeinstall/$_libdir/libEGL_mesa.so*
356   # indirect rendering
357   ln -sr "$pkgdir"/$_libdir/libGLX_{mesa,indirect}.so.0
359   # make sure there are no files left to install
360   find fakeinstall -depth -print0 | xargs -0 rmdir
362   install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE