Re: holding rust at a particular version

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Mon, 15 Apr 2024 16:58:11 UTC
On 15 Apr 2024, at 18:48, Chris <portmaster@bsdforge.com> wrote:
> 
> On 2024-04-15 09:31, Moin Rahman wrote:
>>> On Apr 15, 2024, at 6:27 PM, Chris <portmaster@bsdforge.com> wrote:
>>> On 2024-04-15 06:33, void wrote:
>>>> Is it possible, either within poudriere or using traditional ports,
>>>> to not have ports building fetching latest rust?
>>>> rust 1.76 is already installed. 1.77 is in the ports tree.
>>>> 1.76 is the latest for -current on arm64 on the pkg builders.
>>>> if I go into the ports tree and build something needing rust,
>>>> it'll build 1.77 rust locally instead of using the already-installed 1.76.
>>>> which would tie the machine up for hours if not days if allowed to proceed.
>>>> Can this be avoided?
>>> make.conf(5) is your friend. You should be able to add
>>> DEFAULT_VERSIONS+=rust1.76
>>> to accomplish your task. NOTE you may want to comment this line later
>>> should it cause problems with other ports that aren't your current target.
>>> IOW your choices here should be chosen carefully and watched closely. It's
>>> easy to set it and forget it. :)
>>> To get the right permutation. Have a look in Mk/bsd.default-versions.mk
>>> --
>>> --Chris Hutchinson
>> This is not correct. :/
> I'm sorry to hear this. For the sake of clarity; Is this just my ignorance for rust?
> I have no difficulty accomplishing this task with other targets -- perl, php, *SQL,...
> So long as the *chosen* version is still available within the ports tree. Granted;
> this isn't a one-size-fits-all situation. Much the same as mixing ports && packages.
> But if carefully curated, has worked for me.

The problem is that there is only one lang/rust. There are no
"versioned" port versions, like lang/phpXY, lang/pythonXYZ, etc. There
is a lang/rust-nightly port, but I don't think it is meant for general
consumption.

That said, I don't know if it is technically possible to have more than
one rust port. I would guess the whole crate system depends on which
rust version built it? If so, you would also have to "flavorize" all
the rust crates and their sub-ports.

It sounds like quite a lot of work, while in the mean time the rust
releases keep on coming fast. :)

-Dimitry