diff --git a/srcpkgs/mesa-vulkan-nouveau b/srcpkgs/mesa-vulkan-nouveau new file mode 120000 index 00000000000..1ad1bbec7ab --- /dev/null +++ b/srcpkgs/mesa-vulkan-nouveau @@ -0,0 +1 @@ +mesa \ No newline at end of file diff --git a/srcpkgs/mesa/template b/srcpkgs/mesa/template index 69c45a93b55..26d5866c4ff 100644 --- a/srcpkgs/mesa/template +++ b/srcpkgs/mesa/template @@ -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 " 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 }