Summary: | USES=cargo fails to fetch crates with multiple versions in name | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Jan Beich <jbeich> | ||||
Component: | Individual Port(s) | Assignee: | FreeBSD Rust Team <rust> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | CC: | vvd | ||||
Priority: | --- | ||||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Jan Beich
2020-03-22 14:19:56 UTC
Created attachment 212613 [details] cargo.diff Crate names have a restricted format [1], so let's restrict the regular expressions too and make them less greedy. [1] https://doc.rust-lang.org/cargo/reference/manifest.html#the-name-field Comment on attachment 212613 [details]
cargo.diff
Works for me: builds fine and other crates fetch fine. Tested only devel/cargo-c after removing %2D (percent quoting) workaround.
*** Bug 244989 has been marked as a duplicate of this bug. *** A commit references this bug: Author: tobik Date: Mon Mar 23 03:57:26 UTC 2020 New revision: 528945 URL: https://svnweb.freebsd.org/changeset/ports/528945 Log: Mk/Uses/cargo.mk: Better deal with versions with build identifier suffixes A crate spec like curl-sys-0.4.30+curl-7.69.1 was incorrectly interpreted as having a name of 'curl-sys-0.4.30+curl' instead of 'curl-sys' and failed to fetch as a consequence. Crate names can only be composed of a limited character set [1]. Limit the regular expressions to that set and make them less greedy. [1] https://doc.rust-lang.org/cargo/reference/manifest.html#the-name-field PR: 244977 Reported by: jbeich Changes: head/Mk/Uses/cargo.mk |