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
This commit is contained in:
parent
9de89aac63
commit
71de1f37ae
27
Mesa.changes
27
Mesa.changes
@ -1,3 +1,30 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 23 00:24:07 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||
|
||||
- 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 <obs@uncomfyhalomacro.pl>
|
||||
|
||||
- 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 <sndirsch@suse.com>
|
||||
|
||||
|
84
Mesa.spec
84
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
|
||||
|
8
README-suse-maintenance.md
Normal file
8
README-suse-maintenance.md
Normal file
@ -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.
|
@ -85,6 +85,10 @@ libvulkan_intel
|
||||
requires "Mesa-vulkan-device-select-<targettype> = <version>"
|
||||
provides "Mesa-libVulkan-devel-<targettype> = 22.0.0"
|
||||
obsoletes "Mesa-libVulkan-devel-<targettype> < 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-<targettype> = <version>"
|
||||
libvulkan_radeon
|
||||
targetarch aarch64 +/usr/share/vulkan/icd.d/radeon_icd.*.json
|
||||
targetarch ppc64 +/usr/share/vulkan/icd.d/radeon_icd.*.json
|
||||
|
3
paste-1.0.14.tar.gz
Normal file
3
paste-1.0.14.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
|
||||
size 18157
|
3
proc-macro2-1.0.70.tar.gz
Normal file
3
proc-macro2-1.0.70.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b
|
||||
size 44343
|
3
quote-1.0.33.tar.gz
Normal file
3
quote-1.0.33.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae
|
||||
size 28090
|
3
syn-2.0.39.tar.gz
Normal file
3
syn-2.0.39.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a
|
||||
size 244129
|
3
unicode-ident-1.0.12.tar.gz
Normal file
3
unicode-ident-1.0.12.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
|
||||
size 42168
|
Loading…
x
Reference in New Issue
Block a user