On Sat, Apr 6, 2024 at 12:42 PM Björn Persson <Bjorn@rombobjörn.se> wrote:
>
> Fabio Valentini wrote:
> > - Installing rust-*-devel packages on your local system (i.e. outside
> > of ephemeral build environments) is not supported.
> > - The "rust-*-devel" packages are build system implementation details,
> > if you want to say it like that.
> > - They are not shipped to users and are not useful for Rust developers.
> > - They are *only* intended to be installed in temporary chroots (like
> > those set up by mock).
>
> I don't know enough about Rust to understand how the perfectly normal
> usecase of installing libraries as RPM packages has been made so
> problematic. I'll just state my strong opinion that packages that
> aren't meant for software development should not have "-devel" in their
> names.

Bascially, this is because of limitations of cargo.
It has no support for looking up dependencies in multiple places, only
*one* source of dependencies is configurable.
By default, dependencies are downloaded from crates.io. We override
the "crates.io" source with the directory where Rust crates are
packaged for Fedora.
Using vendored dependencies works similarly - there, the "crates.io"
source is overridden with the directory that contains vendored
sources.

But there is *no way* to specify *look here, and if it's not there,
look elsewhere". If dependencies are not present in the one configured
source, cargo just fails.
So using packaged Rust crates for development is difficult - since you
can't configure cargo to "use dependencies from
"/usr/share/cargo/registry" and fall back to downloading from
crates.io for things that aren't available".

(Side note: The train for using a different suffix than "-devel" has
left the station a decade ago. Changing this now is impractical, so
the naming bikeshedding is not helping.)

Fabio
--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to