[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#1095972: RFP: rust-ash -- Vulkan bindings for Rust



Matthias Geiger <werdahias@riseup.net> writes:

> On Fri, 14 Feb 2025 14:36, Gard Spreemann <gspr@nonempty.org> wrote:
>>Package: wnpp
>>X-Debbugs-Cc: debian-rust@lists.debian.org, gspr@nonempty.org
>>Severity: wishlist
>>
>>* Package name    : rust-ash
>>  Version         : 0.38.0
>>  Upstream Contact: https://github.com/ash-rs/ash
>>* URL             : https://github.com/ash-rs/ash
>>* License         : MIT OR Apache-2.0
>>  Programming Lang: Rust
>>  Description     : Vulkan bindings for Rust
>>
>>A thin Vulkan wrapper for Rust.
>>
>>This Rust crate is a dependency for Waypipe's rewritten Rust version [1]. It has
>>several workspace members, but I believe only the "ash" member from the
>>workspace is needed (if something depends on a crate named "foo", which is a
>>workspace member in a crate called "foo", then it's the workspace-member foo
>>that is the actual dependency, right?). That workspace member builds fine on
>>Debian sid.
>>
>>However: ash is a *generated* crate. The checked-in sources are generated from
>>Vulkan headers, and then published as the ash crate (yuck!). That seems counter
>>to Debian policy. The generator [2], in turn, has dependencies not yet in
>>Debian. I am therefore hoping to solicit help and/or advice from the Rust team
>>on packaging ash.
>>
>>[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1095971
>>
>>[2] https://github.com/ash-rs/ash/tree/master/generator
>>
>>Thanks for any help and/or insight.
>
> Hi Gard,
>
> this is indeed unfortunate :(  I maintain the GTK-rs binding who suffer from a
> similar issue. They are generated from the .gir instrospection data of the
> relevant libraries. This caused issues with ftpmasters, and I opted to
> regenerate all source code before build. This is annoying because it causes ever
> so sligthly code diff. Most of the time it's fine though. I fear you would need
> to do the same procedure here wrt the vulkan headers. This means: Packaging the
> generator, and then re-generating the rust code against our vulkan headers. I
> can't promise that this won't cause its own issues. Maybe reach out to upstream
> about this (that they align the vulkan headers to what we have )?
> src:rust-gtk4 gives you an idea how the code regeneration works with GTK (see
> d/rules).
> Let me know if you need any help with packaging the generator and regenerating
> code.

Hi,

Thanks for sharing your perspectives.

The generator doesn't seem _too_ bad – it's missing "only" the crates
"vkxml" and "vk-parse". And they themselves seem to have everything
needed already in Debian. But I find it highly unlikely that I'll manage
to get vkxml, vk-parse, the ash generator and ash itself packaged in
time for Trixie.

Oh well, I guess I'll focus on the next release :-)


Attachment: signature.asc
Description: PGP signature


Reply to: