Overview

Request 1182705 accepted

- 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

Loading...

Soc Virnyl Estela's avatar

For any Rust related queries, @firstyear is who I will ask first. 🫡


Stefan Dirsch's avatar

Thanks a lot! But I have so many questions. Line 33: There is already %{ix86}. Why adding another ix86? Why adding 5 new rust crates/tarballs? They aren't extracted anywhere? Just add them to the Mesa source RPM? Why? What does that help during build/install? I simpy don't understand. I don't like the supplements. I don't think we can assume that NVK is that stable, let alone NVK+Zink would be more stable than Mesa-dri-nouveau, which we don't install by default either - for good reasons.


Soc Virnyl Estela's avatar

ix86

oh i got confused by that tbh. going to clean that up soon

why 5 new rust tarballs

nvk seems to be written in Rust so it requires those crates. it's not extracted or copied over to subprojects directory because of the MESON cache env var which points to %{_sourcedir}, a trick i just copied from archlinux PKGBUILD.

i disagree with the supplements

same. i agree that nvk isn't ready. i guess i will have to take note of that once I re-SR


Stefan Dirsch's avatar

Ok. I would like to avoid such a magic. Really nobody will understand this any more 3 days later - let alone me and myseelf. Please try to do this differently. Why not just extract within the %setup line with "... -b2 -b3 -b4 -b5 -b6 ..." or whatever is needed there" I need to understand the changes I accept since I'm responsible for this package.


Soc Virnyl Estela's avatar

i wonder if we could also just add a conditional also for nvk e.g. %{with nvk}. feel free to comment and add more suggestions in the next re-SR


Stefan Dirsch's avatar

Yes, you can add such a define. That way you can en/dis-able the build of NVK driver at one location in specfile.

Request History
Soc Virnyl Estela's avatar

uncomfyhalomacro created request

- 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


Stefan Dirsch's avatar

sndirsch accepted request

Ok. Let's give it a try. Will submit it to factory later this week.

openSUSE Build Service is sponsored by