11# Template file for 'mesa'
22pkgname=mesa
3- version=25.1.9
3+ version=25.2.3
44revision=1
55build_style=meson
66_llvmver=19
7- _syn_version=2.0.68
8- _proc_macro_version=1.0.86
9- _quote_version=1.0.33
10- _unicode_ident_version=1.0.12
11- _paste_version=1.0.14
7+
128#Disable LTO flag should be present, see https://gitlab.freedesktop.org/mesa/mesa/-/issues/6911
13- configure_args="-Dglvnd=true -Dgbm =enabled -Degl =enabled
14- -Dgles1 =enabled -Dgles2 =enabled -Dglx=dri
9+ configure_args="-Dlibunwind=disabled -Dglvnd =enabled -Dgbm =enabled
10+ -Degl =enabled -Dgles1 =enabled -Dglx=dri
1511 -Dlmsensors=enabled -Dplatforms=x11$(vopt_if wayland ,wayland)
1612 -Dllvm=enabled -Db_lto=false -Dcpp_std=gnu++17"
1713hostmakedepends="gettext flex pkg-config python3-Mako glslang llvm${_llvmver}
@@ -20,31 +16,100 @@ makedepends="elfutils-devel expat-devel libXdamage-devel
2016 libXxf86vm-devel libdrm-devel libffi-devel libva-devel
2117 libvdpau-devel libxshmfence-devel ncurses-devel zlib-devel
2218 $(vopt_if wayland 'wayland-devel wayland-protocols') llvm${_llvmver}-devel libsensors-devel
23- libXrandr-devel libglvnd-devel libzstd-devel libxml2-devel lua53 -devel
24- libarchive-devel"
19+ libXrandr-devel libglvnd-devel libzstd-devel libxml2-devel lua54 -devel
20+ libarchive-devel libXext-devel libpng-devel "
2521depends="libglvnd"
2622short_desc="Open source implementation of OpenGL and Vulkan"
2723maintainer="Orphaned <
[email protected] >"
2824license="MIT, LGPL-2.1-or-later"
2925homepage="https://www.mesa3d.org/"
3026changelog="https://docs.mesa3d.org/relnotes.html"
27+
3128distfiles="https://mesa3d.org/archive/mesa-${version}.tar.xz
32- https://crates.io/api/v1/crates/syn/${_syn_version}/download>syn-${_syn_version}.tar.gz
33- https://crates.io/api/v1/crates/proc-macro2/${_proc_macro_version}/download>proc-macro2-${_proc_macro_version}.tar.gz
34- https://crates.io/api/v1/crates/quote/${_quote_version}/download>quote-${_quote_version}.tar.gz
35- https://crates.io/api/v1/crates/unicode-ident/${_unicode_ident_version}/download>unicode-ident-${_unicode_ident_version}.tar.gz
36- https://crates.io/api/v1/crates/paste/${_paste_version}/download>paste-${_paste_version}.tar.gz"
37- checksum="412df33a1bb3c785ed698555a3972118a37c458e7accf6ae53f4bb87b3db454a
38- 901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9
39- 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77
40- 5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae
29+ https://crates.io/api/v1/crates/zerocopy/0.8.13/download>zerocopy-0.8.13.tar.gz
30+ https://crates.io/api/v1/crates/zerocopy-derive/0.8.13/download>zerocopy-derive-0.8.13.tar.gz
31+ https://crates.io/api/v1/crates/unicode-ident/1.0.12/download>unicode-ident-1.0.12.tar.gz
32+ https://crates.io/api/v1/crates/ucd-trie/0.1.6/download>ucd-trie-0.1.6.tar.gz
33+ https://crates.io/api/v1/crates/thiserror/2.0.11/download>thiserror-2.0.11.tar.gz
34+ https://crates.io/api/v1/crates/thiserror-impl/2.0.11/download>thiserror-impl-2.0.11.tar.gz
35+ https://crates.io/api/v1/crates/syn/2.0.87/download>syn-2.0.87.tar.gz
36+ https://crates.io/api/v1/crates/rustix/1.0.7/download>rustix-1.0.7.tar.gz
37+ https://crates.io/api/v1/crates/rustc-hash/2.1.1/download>rustc-hash-2.1.1.tar.gz
38+ https://crates.io/api/v1/crates/roxmltree/0.20.0/download>roxmltree-0.20.0.tar.gz
39+ https://crates.io/api/v1/crates/remain/0.2.12/download>remain-0.2.12.tar.gz
40+ https://crates.io/api/v1/crates/quote/1.0.35/download>quote-1.0.35.tar.gz
41+ https://crates.io/api/v1/crates/proc-macro2/1.0.86/download>proc-macro2-1.0.86.tar.gz
42+ https://crates.io/api/v1/crates/pest_meta/2.8.0/download>pest_meta-2.8.0.tar.gz
43+ https://crates.io/api/v1/crates/pest_generator/2.8.0/download>pest_generator-2.8.0.tar.gz
44+ https://crates.io/api/v1/crates/pest_derive/2.8.0/download>pest_derive-2.8.0.tar.gz
45+ https://crates.io/api/v1/crates/pest/2.8.0/download>pest-2.8.0.tar.gz
46+ https://crates.io/api/v1/crates/paste/1.0.14/download>paste-1.0.14.tar.gz
47+ https://crates.io/api/v1/crates/once_cell/1.8.0/download>once_cell-1.8.0.tar.gz
48+ https://crates.io/api/v1/crates/log/0.4.27/download>log-0.4.27.tar.gz
49+ https://crates.io/api/v1/crates/libc/0.2.168/download>libc-0.2.168.tar.gz
50+ https://crates.io/api/v1/crates/indexmap/2.2.6/download>indexmap-2.2.6.tar.gz
51+ https://crates.io/api/v1/crates/hashbrown/0.14.1/download>hashbrown-0.14.1.tar.gz
52+ https://crates.io/api/v1/crates/errno/0.3.12/download>errno-0.3.12.tar.gz
53+ https://crates.io/api/v1/crates/equivalent/1.0.1/download>equivalent-1.0.1.tar.gz
54+ https://crates.io/api/v1/crates/cfg-if/1.0.0/download>cfg-if-1.0.0.tar.gz
55+ https://crates.io/api/v1/crates/bitflags/2.9.1/download>bitflags-2.9.1.tar.gz"
56+
57+ checksum="f2d6b28562f1d6cb9c17ee8e58eeade7aa5faf927ae71065eadb41e17f92b4f8
58+ 67914ab451f3bfd2e69e5e9d2ef3858484e7074d63f204fd166ec391b54de21d
59+ 7988d73a4303ca289df03316bc490e934accf371af6bc745393cf3c2c5c4f25d
4160 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
42- de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
43- skip_extraction="syn-${_syn_version}.tar.gz
44- proc-macro2-${_proc_macro_version}.tar.gz
45- quote-${_quote_version}.tar.gz
46- unicode-ident-${_unicode_ident_version}.tar.gz
47- paste-${_paste_version}.tar.gz"
61+ ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9
62+ d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc
63+ 26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2
64+ 25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d
65+ c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266
66+ 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
67+ 6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97
68+ 1ad5e011230cad274d0532460c5ab69828ea47ae75681b42a841663efffaf794
69+ 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef
70+ 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77
71+ 7f9f832470494906d1fca5329f8ab5791cc60beb230c74815dff541cbd2b5ca0
72+ db7d01726be8ab66ab32f9df467ae8b1148906685bbe75c82d1e65d7f5b3f841
73+ d725d9cfd79e87dccc9341a2ef39d1b6f6353d68c4b33c177febbe1a402c97c5
74+ 198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6
75+ de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
76+ 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56
77+ 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
78+ 5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d
79+ 168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26
80+ 7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12
81+ cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18
82+ 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
83+ baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
84+ 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
85+
86+ skip_extraction="zerocopy-0.8.13.tar.gz
87+ zerocopy-derive-0.8.13.tar.gz
88+ unicode-ident-1.0.12.tar.gz
89+ ucd-trie-0.1.6.tar.gz
90+ thiserror-2.0.11.tar.gz
91+ thiserror-impl-2.0.11.tar.gz
92+ syn-2.0.87.tar.gz
93+ rustix-1.0.7.tar.gz
94+ rustc-hash-2.1.1.tar.gz
95+ roxmltree-0.20.0.tar.gz
96+ remain-0.2.12.tar.gz
97+ quote-1.0.35.tar.gz
98+ proc-macro2-1.0.86.tar.gz
99+ pest_meta-2.8.0.tar.gz
100+ pest_generator-2.8.0.tar.gz
101+ pest_derive-2.8.0.tar.gz
102+ pest-2.8.0.tar.gz
103+ paste-1.0.14.tar.gz
104+ once_cell-1.8.0.tar.gz
105+ log-0.4.27.tar.gz
106+ libc-0.2.168.tar.gz
107+ indexmap-2.2.6.tar.gz
108+ hashbrown-0.14.1.tar.gz
109+ errno-0.3.12.tar.gz
110+ equivalent-1.0.1.tar.gz
111+ cfg-if-1.0.0.tar.gz
112+ bitflags-2.9.1.tar.gz"
48113
49114build_helper="qemu"
50115build_options="wayland"
@@ -91,7 +156,6 @@ case "$XBPS_TARGET_MACHINE" in
91156 i686*|x86_64*)
92157 _have_intel=yes
93158 _have_vmware=yes
94- _have_nine=yes
95159 ;;
96160 armv[67]*|aarch64*)
97161 _have_arm=yes
@@ -133,6 +197,10 @@ if [ "$_have_intel" ]; then
133197 subpackages+=" mesa-vulkan-intel"
134198 # transitional dummy packages
135199 subpackages+=" mesa-intel-dri"
200+
201+ case "$XBPS_TARGET_MACHINE" in
202+ x86_64*) configure_args+=" -Dintel-rt=enabled" ;;
203+ esac
136204fi
137205
138206if [ "$_have_nv" ]; then
@@ -166,18 +234,10 @@ if [ "$_have_virgl" ]; then
166234 _vulkan_drivers+=",virtio"
167235fi
168236
169- if [ "$_have_nine" ]; then
170- configure_args+=" -Dgallium-nine=true"
171- fi
172-
173237if [ "$_have_vmware" ]; then
174238 _gallium_drivers+=",svga"
175- configure_args+=" -Dgallium-xa=enabled"
176- subpackages+=" libxatracker"
177239 # transitional dummy packages
178240 subpackages+=" mesa-vmwgfx-dri"
179- else
180- configure_args+=" -Dgallium-xa=disabled"
181241fi
182242
183243# enabled currently by amd drivers
@@ -186,7 +246,8 @@ if [ "$_have_opencl" ]; then
186246 makedepends+=" clang${_llvmver} libclc${_llvmver} rust
187247 SPIRV-LLVM-Translator${_llvmver}-devel SPIRV-Tools-devel"
188248 subpackages+=" mesa-opencl"
189- configure_args+=" -Dgallium-opencl=icd -Dgallium-rusticl=true -Drust_std=2021"
249+ # configure_args+=" -Dgallium-opencl=icd -Dgallium-rusticl=true -Drust_std=2021" # meson.build:4:0: ERROR: Unknown option: "gallium-opencl"
250+ configure_args+=" -Dgallium-rusticl=true -Drust_std=2021"
190251fi
191252
192253if [ "$_have_hwdec" ]; then
@@ -209,7 +270,7 @@ configure_args+=" ${_vulkan_drivers}"
209270
210271if [ "$_have_vulkan" ]; then
211272 _have_zink=yes
212- configure_args+=" -Dvulkan-layers=device-select,overlay"
273+ configure_args+=" -Dvulkan-layers=device-select,overlay,screenshot,vram-report-limit "
213274 if [ "$_have_intel" ]; then
214275 configure_args+=",intel-nullhw"
215276 fi
@@ -239,11 +300,33 @@ _prepare_subproject() {
239300}
240301
241302post_extract() {
242- _prepare_subproject syn ${_syn_version}
243- _prepare_subproject proc-macro2 ${_proc_macro_version}
244- _prepare_subproject quote ${_quote_version}
245- _prepare_subproject unicode-ident ${_unicode_ident_version}
246- _prepare_subproject paste ${_paste_version}
303+ _prepare_subproject zerocopy 0.8.13
304+ _prepare_subproject zerocopy-derive 0.8.13
305+ _prepare_subproject unicode-ident 1.0.12
306+ _prepare_subproject ucd-trie 0.1.6
307+ _prepare_subproject thiserror 2.0.11
308+ _prepare_subproject thiserror-impl 2.0.11
309+ _prepare_subproject syn 2.0.87
310+ _prepare_subproject rustix 1.0.7
311+ _prepare_subproject rustc-hash 2.1.1
312+ _prepare_subproject roxmltree 0.20.0
313+ _prepare_subproject remain 0.2.12
314+ _prepare_subproject quote 1.0.35
315+ _prepare_subproject proc-macro2 1.0.86
316+ _prepare_subproject pest_meta 2.8.0
317+ _prepare_subproject pest_generator 2.8.0
318+ _prepare_subproject pest_derive 2.8.0
319+ _prepare_subproject pest 2.8.0
320+ _prepare_subproject paste 1.0.14
321+ _prepare_subproject once_cell 1.8.0
322+ _prepare_subproject log 0.4.27
323+ _prepare_subproject libc 0.2.168
324+ _prepare_subproject indexmap 2.2.6
325+ _prepare_subproject hashbrown 0.14.1
326+ _prepare_subproject errno 0.3.12
327+ _prepare_subproject equivalent 1.0.1
328+ _prepare_subproject cfg-if 1.0.0
329+ _prepare_subproject bitflags 2.9.1
247330}
248331
249332post_configure() {
@@ -285,6 +368,14 @@ post_install() {
285368 ${icd} > ${icd/.${arch}/.${oarch}}
286369 done
287370 done
371+
372+ # fix
373+ # /usr/share/vulkan/icd.d/*.i686*.json
374+ # "library_arch": "64" -> "library_arch": "32"
375+ case "${arch}" in
376+ x86_64) sed -i 's|"library_arch": "64"|"library_arch": "32"|' ${DESTDIR}/usr/share/vulkan/icd.d/*.i686*.json ;;
377+ *) ;;
378+ esac
288379}
289380
290381mesa-libgallium_package() {
@@ -313,9 +404,6 @@ libgbm-devel_package() {
313404
314405MesaLib-devel_package() {
315406 depends="mesa>=${version}_${revision} libgbm-devel>=${version}_${revision}"
316- if [ "$_have_vmware" ]; then
317- depends+=" libxatracker>=${version}_${revision}"
318- fi
319407 if [ "$_have_opencl" ]; then
320408 depends+=" mesa-opencl>=${version}_${revision}"
321409 fi
@@ -326,30 +414,18 @@ MesaLib-devel_package() {
326414 vmove usr/lib/pkgconfig
327415 vmove usr/lib/libEGL_mesa.so
328416 vmove usr/lib/libGLX_mesa.so
329- if [ "$_have_vmware" ]; then
330- vmove usr/lib/libxatracker.so
331- fi
417+
332418 if [ "$_have_opencl" ]; then
333- vmove usr/lib/libMesaOpenCL.so
334419 vmove usr/lib/libRusticlOpenCL.so
335420 fi
336421 }
337422}
338423
339- libxatracker_package() {
340- short_desc="Mesa XA tracker interface library"
341- pkg_install() {
342- vmove "usr/lib/libxatracker*.so.*"
343- }
344- }
345-
346424mesa-opencl_package() {
347425 short_desc="Mesa implementation of OpenCL (r600+ only)"
348426 depends="libclc${_llvmver}"
349427 pkg_install() {
350428 vmove etc/OpenCL
351- vmove usr/lib/gallium-pipe
352- vmove "usr/lib/libMesaOpenCL.so.*"
353429 vmove "usr/lib/libRusticlOpenCL.so.*"
354430 }
355431}
0 commit comments