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

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



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.

best,

werdahias

Attachment: signature.asc
Description: Digital signature


Reply to: