From 9de89aac632f413ac9a175709197e95fe9f931f1896df65eb00e9a145730f8ec Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Thu, 20 Jun 2024 14:25:18 +0000 Subject: [PATCH 1/2] - Update to bugfix release 24.1.2 --> https://docs.mesa3d.org/relnotes/24.1.2 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=1303 --- Mesa.changes | 6 ++++++ Mesa.spec | 4 ++-- mesa-24.1.1.tar.xz | 3 --- mesa-24.1.1.tar.xz.sig | Bin 310 -> 0 bytes mesa-24.1.2.tar.xz | 3 +++ mesa-24.1.2.tar.xz.sig | Bin 0 -> 310 bytes 6 files changed, 11 insertions(+), 5 deletions(-) delete mode 100644 mesa-24.1.1.tar.xz delete mode 100644 mesa-24.1.1.tar.xz.sig create mode 100644 mesa-24.1.2.tar.xz create mode 100644 mesa-24.1.2.tar.xz.sig diff --git a/Mesa.changes b/Mesa.changes index 24f64ef..262491f 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jun 20 13:39:48 UTC 2024 - Stefan Dirsch + +- Update to bugfix release 24.1.2 + --> https://docs.mesa3d.org/relnotes/24.1.2 + ------------------------------------------------------------------- Wed Jun 19 17:31:26 UTC 2024 - Mikhail Paulyshka diff --git a/Mesa.spec b/Mesa.spec index a39a35b..8e6fefc 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -42,7 +42,7 @@ %define glamor 1 %define _name_archive mesa -%define _version 24.1.1 +%define _version 24.1.2 %define with_opencl 0 %define with_rusticl 0 %define with_vulkan 0 @@ -130,7 +130,7 @@ %endif Name: Mesa%{psuffix} -Version: 24.1.1 +Version: 24.1.2 Release: 0 Summary: System for rendering 3-D graphics License: MIT diff --git a/mesa-24.1.1.tar.xz b/mesa-24.1.1.tar.xz deleted file mode 100644 index 0bb4101..0000000 --- a/mesa-24.1.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0038826c6f7e88d90b4ce6f719192fa58ca7dedf4edcaa1174cf7bd920ef89ea -size 29019256 diff --git a/mesa-24.1.1.tar.xz.sig b/mesa-24.1.1.tar.xz.sig deleted file mode 100644 index 093ec9be3a246f5f32b9971fbeac38363fc77f6d8fbb592876984e1976df5e82..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmV-60m=S}0W$;u0SEvc79j*zRUP45mXBjW!btXwjxn#pBq*i@0%l;i1po>O5RHy8 zufrrLrdnJG0HYHP-Sly>p47gc;ui5I$cP^$q|na2c;jPcjytDE{35e+1J?vwnPrPdYGaq-@lY5<*DCe zM!jUF2a+)>HOUv?uCZC$kmyR4iWL@gr)X5T+CQG~Y0!rsL(qYwqiffp{1IW^D}A4v zjtu;sYb`r+?Wsd+uclb81VjNA98n6HagIzrVxDhDAy;dF6VoHH%4AWq|)h@-Hh I*U&N-rdt(|(EtDd diff --git a/mesa-24.1.2.tar.xz b/mesa-24.1.2.tar.xz new file mode 100644 index 0000000..7c10d04 --- /dev/null +++ b/mesa-24.1.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2c584c8d57d3bd8ba11790a6e9ae3713f8821df96c059b78afb29dd975c9f45 +size 29057184 diff --git a/mesa-24.1.2.tar.xz.sig b/mesa-24.1.2.tar.xz.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..8062b2a299a98206c83f55b32acb51b31d33a95827508dba4fe2397dab22fd79 GIT binary patch literal 310 zcmV-60m=S}0W$;u0SEvc79j*zRUP45mXBjW!btXwjxn#pBq*i@0%mgtS^x?O5RHy8 zufrrLrc1#G`vvqgM~9#RN)O-xA{Sh(l=&>BTSQ`Fpz=IK0uMg@lmBf5sKzKr-g3vd zFzbmv0s$=xa2@6T9IOmZE;ZdIBCr@9ZXDz^*KzC0416RLb!28IUkell={v;YCw^7; zd(3LidIpk$uBaOxn_{k{3E{SkuxbII0Ejj{J(H9F^Fur&>3My^K#*&N5M}D3A+A#H z*_RMc8#@6k4CJ|uvVv8DYqJg%Ak#+~mR;?JB1w9Ce^<@1c;GDUntuzV-`9MGcASA3^$dJ?7Gw(Hqxon=FhG*tHwkHkFLNu^ I)$pwAM6jiaYXATM literal 0 HcmV?d00001 From 71de1f37ae9fb4023ba4df636a171dc33aa0c7b6689ec298f35189fb19927c35 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Sun, 23 Jun 2024 08:17:18 +0000 Subject: [PATCH 2/2] Accepting request 1182705 from home:uncomfyhalomacro:branches:X11:XOrg - Specfile cleanup * copy rust crate sources into subprojects folder * remove supplements. nvk is still new - Specfile changes for Rust crates. Also added this to README-suse-maintenance.md * Since Rust crates are not installed or discouraged to be installed as system dependencies because of the maintenance burden of being the next crates.io, we will have to download the following crates as vendored dependencies. Hence, do not be scared if the dependencies are done like this To check new crates or update the versions, just go to the subprojects folder and run `grep -r crates .` then set versions appropriately. - Update baselibs.conf - Build requires rust-cbindgen >= 0.25. However, this means we cannot build libvulkan_nouveau on Leap. - Enable libvulkan_nouveau including the following depencencies * add rust crate paste-1.0.14.tar.gz * add rust crate proc-macro2-1.0.70.tar.gz * add rust crate quote-1.0.33.tar.gz * add rust crate syn-2.0.39.tar.gz * add rust crate unicode-ident-1.0.12.tar.gz OBS-URL: https://build.opensuse.org/request/show/1182705 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=1305 --- Mesa.changes | 27 ++++++++++++ Mesa.spec | 84 +++++++++++++++++++++++++++++++++---- README-suse-maintenance.md | 8 ++++ baselibs.conf | 4 ++ paste-1.0.14.tar.gz | 3 ++ proc-macro2-1.0.70.tar.gz | 3 ++ quote-1.0.33.tar.gz | 3 ++ syn-2.0.39.tar.gz | 3 ++ unicode-ident-1.0.12.tar.gz | 3 ++ 9 files changed, 129 insertions(+), 9 deletions(-) create mode 100644 README-suse-maintenance.md create mode 100644 paste-1.0.14.tar.gz create mode 100644 proc-macro2-1.0.70.tar.gz create mode 100644 quote-1.0.33.tar.gz create mode 100644 syn-2.0.39.tar.gz create mode 100644 unicode-ident-1.0.12.tar.gz diff --git a/Mesa.changes b/Mesa.changes index 262491f..3d2662f 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Sun Jun 23 00:24:07 UTC 2024 - Soc Virnyl Estela + +- Specfile cleanup + * copy rust crate sources into subprojects folder + * remove supplements. nvk is still new +- Specfile changes for Rust crates. Also added this to README-suse-maintenance.md + * Since Rust crates are not installed or discouraged to be installed + as system dependencies because of the maintenance burden of being the + next crates.io, we will have to download the following crates as vendored + dependencies. Hence, do not be scared if the dependencies are done like + this To check new crates or update the versions, just go to the subprojects + folder and run `grep -r crates .` then set versions appropriately. + +------------------------------------------------------------------- +Fri Jun 21 08:41:10 UTC 2024 - Soc Virnyl Estela + +- Update baselibs.conf +- Build requires rust-cbindgen >= 0.25. However, this means + we cannot build libvulkan_nouveau on Leap. +- Enable libvulkan_nouveau including the following depencencies + * add rust crate paste-1.0.14.tar.gz + * add rust crate proc-macro2-1.0.70.tar.gz + * add rust crate quote-1.0.33.tar.gz + * add rust crate syn-2.0.39.tar.gz + * add rust crate unicode-ident-1.0.12.tar.gz + ------------------------------------------------------------------- Thu Jun 20 13:39:48 UTC 2024 - Stefan Dirsch diff --git a/Mesa.spec b/Mesa.spec index 8e6fefc..78c0c59 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -1,5 +1,5 @@ # -# spec file +# spec file for package Mesa # # Copyright (c) 2024 SUSE LLC # @@ -76,11 +76,19 @@ %define with_opencl 1 %ifarch %{ix86} x86_64 %define with_vulkan 1 + %if 0%{?suse_version} > 1600 + %define vulkan_drivers swrast,amd,intel,intel_hasvk,nouveau + %else %define vulkan_drivers swrast,amd,intel,intel_hasvk + %endif %endif %ifarch %{arm} aarch64 %define with_vulkan 1 + %if 0%{?suse_version} > 1600 + %define vulkan_drivers swrast,amd,broadcom,freedreno,intel,intel_hasvk,nouveau + %else %define vulkan_drivers swrast,amd,broadcom,freedreno,intel,intel_hasvk + %endif %endif %ifarch riscv64 %define with_vulkan 1 @@ -88,7 +96,7 @@ %endif %endif -%ifarch aarch64 %{arm} ppc64 ppc64le riscv64 s390x %{ix86} x86_64 +%ifarch aarch64 %{arm} ppc64 ppc64le riscv64 s390x %{ix86} x86_64 ix86 %define with_llvm 1 %endif @@ -129,6 +137,13 @@ %define with_vulkan 0 %endif +# NVK aka Vulkan Nouveau dependencies +%global _unicode_ident_crate_ver 1.0.12 +%global _syn_crate_ver 2.0.39 +%global _quote_crate_ver 1.0.33 +%global _proc_macro2_ver 1.0.70 +%global _paste_crate_ver 1.0.14 + Name: Mesa%{psuffix} Version: 24.1.2 Release: 0 @@ -137,13 +152,27 @@ License: MIT Group: System/Libraries URL: https://www.mesa3d.org #Git-Clone: git://anongit.freedesktop.org/mesa/mesa -Source: https://archive.mesa3d.org/%{_name_archive}-%{_version}.tar.xz +Source0: https://archive.mesa3d.org/%{_name_archive}-%{_version}.tar.xz Source1: https://archive.mesa3d.org/%{_name_archive}-%{_version}.tar.xz.sig -Source2: baselibs.conf -Source3: README.updates -Source4: manual-pages.tar.bz2 -Source6: Mesa-rpmlintrc -Source7: Mesa.keyring +# NVK aka Vulkan Nouveau dependencies +# Explainer: +# Since Rust crates are not installed or discouraged to be installed as system +# dependencies because of the maintenance burden of being the next crates.io, +# we will have to download the following crates as vendored dependencies. +# Hence, do not be scared if the dependencies are done like this +# To check new crates or update the versions, just go to the subprojects folder and +# run `grep -r crates .` then set versions appropriately. +Source2: http://crates.io/api/v1/crates/unicode-ident/%{_unicode_ident_crate_ver}/download#/unicode-ident-%{_unicode_ident_crate_ver}.tar.gz +Source3: http://crates.io/api/v1/crates/syn/%{_syn_crate_ver}/download#/syn-%{_syn_crate_ver}.tar.gz +Source4: http://crates.io/api/v1/crates/quote/%{_quote_crate_ver}/download#/quote-%{_quote_crate_ver}.tar.gz +Source5: http://crates.io/api/v1/crates/proc-macro2/%{_proc_macro2_ver}/download#/proc-macro2-%{_proc_macro2_ver}.tar.gz +Source6: http://crates.io/api/v1/crates/paste/%{_paste_crate_ver}/download#/paste-%{_paste_crate_ver}.tar.gz +Source7: baselibs.conf +Source8: README.updates +Source9: manual-pages.tar.bz2 +Source10: Mesa-rpmlintrc +Source11: Mesa.keyring +Source12: README-suse-maintenance.md Patch2: n_add-Mesa-headers-again.patch Patch11: u_0001-intel-genxml-Drop-from-__future__-import-annotations.patch Patch12: u_0002-intel-genxml-Add-a-untyped-OrderedDict-fallback-for-.patch @@ -269,6 +298,12 @@ BuildRequires: clang18-devel BuildRequires: libclc BuildRequires: pkgconfig(LLVMSPIRVLib) BuildRequires: pkgconfig(SPIRV-Tools) +# For NVK or libvulkan_nouveau.so +# Rust Cbindgen >=0.25 is required +# but it's only available on tumbleweed +%if 0%{?suse_version} > 1600 +BuildRequires: rust-cbindgen >= 0.25 +%endif %if 0%{with_rusticl} BuildRequires: rust BuildRequires: rust-bindgen @@ -690,6 +725,17 @@ Obsoletes: Mesa-libVulkan-devel < 22.0.0 %description -n libvulkan_intel This package contains the Vulkan parts for Mesa. +# Only available on Tumbleweed because of rust-cbindgen >= 1.25 requirement +%if 0%{?suse_version} > 1600 +%package -n libvulkan_nouveau +Summary: Mesa vulkan driver for NVK (Nouveau Vulkan) +Group: System/Libraries +Requires: Mesa-vulkan-device-select = %{version} + +%description -n libvulkan_nouveau +This package contains the Vulkan parts for Mesa. +%endif + %package -n libvulkan_radeon Summary: Mesa vulkan driver for AMD GPU Group: System/Libraries @@ -764,10 +810,18 @@ This package provides the development environment for compiling programs against the XA state tracker. %prep -%setup -q -n %{_name_archive}-%{_version} -b4 +%setup -q -n %{_name_archive}-%{_version} -b9 # remove some docs rm -rf docs/README.{VMS,WIN32,OS2} +# Rust crates to subprojects +mkdir -p subprojects/packagecache +cp %{SOURCE2} subprojects/packagecache/ +cp %{SOURCE3} subprojects/packagecache/ +cp %{SOURCE4} subprojects/packagecache/ +cp %{SOURCE5} subprojects/packagecache/ +cp %{SOURCE6} subprojects/packagecache/ + %patch -P 2 -p1 # fixes build against python 3.6 %patch -P 11 -p1 @@ -902,6 +956,7 @@ egl_platforms=x11,wayland %meson_build %install +export MESON_PACKAGE_CACHE_DIR="%{_sourcedir}" %meson_install find %{buildroot} -type f -name "*.la" -delete -print @@ -1234,6 +1289,17 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen %{_libdir}/libvulkan_intel_hasvk.so %endif +%ifarch %{ix86} x86_64 aarch64 %{arm} +# Only available on Tumbleweed because of rust-cbindgen >= 1.25 requirement +%if 0%{?suse_version} > 1600 +%files -n libvulkan_nouveau +%{_libdir}/libvulkan_nouveau.so +%{_datadir}/vulkan/icd.d/nouveau_icd.*.json +%dir %{_datadir}/vulkan +%dir %{_datadir}/vulkan/icd.d +%endif +%endif + %files -n libvulkan_radeon %{_libdir}/libvulkan_radeon.so %dir %{_datadir}/vulkan diff --git a/README-suse-maintenance.md b/README-suse-maintenance.md new file mode 100644 index 0000000..4794faf --- /dev/null +++ b/README-suse-maintenance.md @@ -0,0 +1,8 @@ +Since Rust crates are not installed or discouraged to be installed +as system dependencies because of the maintenance burden of being the +next crates.io, we will have to download the following crates as vendored +dependencies. Hence, do not be scared if the dependencies are done like +this. + +To check new crates or update the versions, just go to the subprojects +folder and run `grep -r crates .` then set versions appropriately. diff --git a/baselibs.conf b/baselibs.conf index 2e31850..0f17ae4 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -85,6 +85,10 @@ libvulkan_intel requires "Mesa-vulkan-device-select- = " provides "Mesa-libVulkan-devel- = 22.0.0" obsoletes "Mesa-libVulkan-devel- < 22.0.0" +libvulkan_nouveau + targetarch aarch64 +/usr/share/vulkan/icd.d/nouveau_icd.*.json + targetarch x86_64 +/usr/share/vulkan/icd.d/nouveau_icd.*.json + requires "Mesa-vulkan-device-select- = " libvulkan_radeon targetarch aarch64 +/usr/share/vulkan/icd.d/radeon_icd.*.json targetarch ppc64 +/usr/share/vulkan/icd.d/radeon_icd.*.json diff --git a/paste-1.0.14.tar.gz b/paste-1.0.14.tar.gz new file mode 100644 index 0000000..4ea3423 --- /dev/null +++ b/paste-1.0.14.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c +size 18157 diff --git a/proc-macro2-1.0.70.tar.gz b/proc-macro2-1.0.70.tar.gz new file mode 100644 index 0000000..4ea00dd --- /dev/null +++ b/proc-macro2-1.0.70.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b +size 44343 diff --git a/quote-1.0.33.tar.gz b/quote-1.0.33.tar.gz new file mode 100644 index 0000000..fbeee89 --- /dev/null +++ b/quote-1.0.33.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae +size 28090 diff --git a/syn-2.0.39.tar.gz b/syn-2.0.39.tar.gz new file mode 100644 index 0000000..30e4b20 --- /dev/null +++ b/syn-2.0.39.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a +size 244129 diff --git a/unicode-ident-1.0.12.tar.gz b/unicode-ident-1.0.12.tar.gz new file mode 100644 index 0000000..d8939fd --- /dev/null +++ b/unicode-ident-1.0.12.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b +size 42168