mesa: enable nouveau vulkan driver.

The Rust distfiles necessary for the Vulkan driver have been added
directly to the main distfiles variable, because the driver will be
built for most platforms, and this simplifies checksum updating.
This commit is contained in:
Érico Nogueira 2025-03-12 23:53:38 -03:00
parent b5ecd72f39
commit 1355b6bffa
2 changed files with 51 additions and 4 deletions

1
srcpkgs/mesa-vulkan-nouveau Symbolic link
View file

@ -0,0 +1 @@
mesa

View file

@ -1,9 +1,14 @@
# Template file for 'mesa'
pkgname=mesa
version=24.3.4
revision=1
revision=2
build_style=meson
_llvmver=19
_syn_version=2.0.68
_proc_macro_version=1.0.86
_quote_version=1.0.33
_unicode_ident_version=1.0.12
_paste_version=1.0.14
#Disable LTO flag should be present, see https://gitlab.freedesktop.org/mesa/mesa/-/issues/6911
configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled
-Dosmesa=true -Dgles1=enabled -Dgles2=enabled -Dglx=dri
@ -23,8 +28,23 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT, LGPL-2.1-or-later"
homepage="https://www.mesa3d.org/"
changelog="https://docs.mesa3d.org/relnotes.html"
distfiles="https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
checksum=e641ae27191d387599219694560d221b7feaa91c900bcec46bf444218ed66025
distfiles="https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz
https://crates.io/api/v1/crates/syn/${_syn_version}/download>syn-${_syn_version}.tar.gz
https://crates.io/api/v1/crates/proc-macro2/${_proc_macro_version}/download>proc-macro2-${_proc_macro_version}.tar.gz
https://crates.io/api/v1/crates/quote/${_quote_version}/download>quote-${_quote_version}.tar.gz
https://crates.io/api/v1/crates/unicode-ident/${_unicode_ident_version}/download>unicode-ident-${_unicode_ident_version}.tar.gz
https://crates.io/api/v1/crates/paste/${_paste_version}/download>paste-${_paste_version}.tar.gz"
checksum="e641ae27191d387599219694560d221b7feaa91c900bcec46bf444218ed66025
901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9
5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77
5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae
3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
skip_extraction="syn-${_syn_version}.tar.gz
proc-macro2-${_proc_macro_version}.tar.gz
quote-${_quote_version}.tar.gz
unicode-ident-${_unicode_ident_version}.tar.gz
paste-${_paste_version}.tar.gz"
build_helper="qemu"
build_options="wayland"
@ -113,6 +133,9 @@ if [ "$_have_nv" ]; then
# transitional dummy packages
subpackages+=" mesa-tegra-dri"
fi
_vulkan_drivers+=",nouveau"
hostmakedepends+=" cbindgen"
subpackages+=" mesa-vulkan-nouveau"
# transitional dummy packages
subpackages+=" mesa-nouveau-dri"
fi
@ -193,6 +216,21 @@ case "$XBPS_TARGET_MACHINE" in
ppc*) configure_args+=" -Dpower8=false" ;;
esac
_prepare_subproject() {
local subname=$1
local subversion=$2
vsrcextract -C subprojects/${subname}-${subversion} ${subname}-${subversion}.tar.gz
cp subprojects/packagefiles/${subname}/meson.build subprojects/${subname}-${subversion}
}
post_extract() {
_prepare_subproject syn ${_syn_version}
_prepare_subproject proc-macro2 ${_proc_macro_version}
_prepare_subproject quote ${_quote_version}
_prepare_subproject unicode-ident ${_unicode_ident_version}
_prepare_subproject paste ${_paste_version}
}
post_configure() {
if [ "$CROSS_BUILD" ]; then
find -iname "*.ninja" -exec sed -i "{}" \
@ -355,6 +393,14 @@ mesa-vulkan-intel_package() {
}
}
mesa-vulkan-nouveau_package() {
short_desc="Mesa Nouveau Vulkan driver"
pkg_install() {
vmove "usr/share/vulkan/icd.d/nouveau*.json"
vmove "usr/lib/libvulkan_nouveau*.so"
}
}
mesa-vulkan-radeon_package() {
short_desc="Mesa Radeon Vulkan driver"
pkg_install() {
@ -449,7 +495,7 @@ mesa-nouveau-dri_package() {
short_desc="Mesa DRI drivers for NVIDIA GPUs (transitional dummy package)"
depends="mesa-dri"
if [ "$_have_hwdec" ]; then
depends+=" mesa-vaapi mesa-vdpau"
depends+=" mesa-vaapi mesa-vdpau mesa-vulkan-nouveau"
fi
}