Package: rust-weedle Version: 0.12.0-1 Severity: serious x-debbugs-cc: g...@rxv.cc, james...@debian.org
James McCoy and I are currently working on updating the rust-nom package in Debian from version 5 to version 7. Debian also has version 4 of nom packaged as a separate source package. The version of rust-weedle currently in testing, depends on version 5 of rust-nom and hence is a blocker for this transition. This was not realized before starting the transition because the version of rust-weedle in Debian at the time I did the pre-transition analysis depended on nom 4. The only reverse dependency of rust-weedle in Debian is rust-wasm-bindgen-webidl. rust-wasm-bindgen-webidl has no reverse dependencies. I first tried relaxing the dependency to allow nom 7, unfortunately it quickly became clear, that it was beyond my skill level to port the crate to nom 7. I filed a bug upstream but have not yet received any response. I did not consider it appropriate to introduce yet another version of nom to the Debian archive to support a crate that was not being used by any applications. So I decided to patch weedle to use nom 4 which was already in the archive, by reverting the upstream changes that switched from nom 4 to nom 5. This passed it's autopkgtests and I uploaded it. Unfortunately it turns out that reverting the nom 5 changes, changed the API of the crate and broke rust-wasm-bindgen-webidl. Possible ways forward: 1. Port weedle to nom 7. This beyond my skill level and it wouldn't surprise me if it caused API breaks of it's own. 2. Port weedle to nom 4 in a way that avoids the API break, I tried to do this, but it also turned out to be beyond my skill level. 3. Remove rust-weedle and rust-wasm-bindgen-webidl from testing, this is IMO the most appropriate option if there are no-longer any short to medium term plans to package software that depends on these crates. 4. Introduce a rust-nom-5 source package. This is probably what I would suggest if there are applications that people want to package that use weedle and/or wasm-bindgen-webidl. 5. Patch rust-wasm-bindgen-webidl to work with the API break, this is probably feasible from a code point of view, but i'm not sure how one would handle it from a dependency versioning point of view 6. Revert rust-weedle and rust-wasm-bindgen-webidl to earlier versions using "really" version numbers, this may cause some issues with dependency versioning (though I think the way rust dependencies use virtual packages will mitigate this) If noone objects or prposes a different route, I intend to ask the release team to remove rust-weedle and rust-wasm-bindgen-webidl from testing after other blockers for the nom 7 transition are cleared.