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>
8 'lib32-vulkan-mesa-layers'
14 'lib32-libva-mesa-driver'
20 pkgdesc="An open-source implementation of the OpenGL specification (32-bit)"
21 url="https://www.mesa3d.org/"
42 'lib32-vulkan-icd-loader'
46 # shared with lib32-mesa
59 https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
62 sha256sums=('a9dde3c76571c4806245a05bda1cceee347c3267127e9e549e4f4e225d92e992'
64 '7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537')
65 b2sums=('47cc90da14a2c33bb54c7811e99b439fadef81a15b63e535210a329bad5e2524fcb415cc5ed51a8deb65ccc9a341af78f02178c93758f09946978179e494382c'
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>
84 -D android-libbacktrace=disabled
88 -D gallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,swrast,i915,iris,crocus,zink
89 -D gallium-extra-hud=true
91 -D gallium-omx=disabled
93 -D gallium-rusticl=false
95 -D gallium-vdpau=enabled
102 -D intel-clc=disabled
106 -D microsoft-clc=disabled
108 -D platforms=x11,wayland
110 -D shared-glapi=enabled
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
117 # Build only minimal debug info to reduce size
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
138 f="${src#fakeinstall/}"
139 dir="${pkgdir}/${f%/*}"
140 install -m755 -d "${dir}"
141 mv -v "${src}" "${dir}/"
145 package_lib32-vulkan-mesa-layers() {
146 pkgdesc="Mesa's Vulkan layers (32-bit)"
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)"
175 'spirv-llvm-translator'
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)"
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)"
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)"
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)"
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)"
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)"
302 provides=('lib32-vdpau-driver')
304 _install fakeinstall/$_libdir/vdpau
306 install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
309 package_lib32-mesa() {
320 'lib32-vulkan-icd-loader'
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'
333 'lib32-opengl-driver'
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
353 _install fakeinstall/$_libdir/libGLX_mesa.so*
354 _install fakeinstall/$_libdir/libEGL_mesa.so*
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