Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Apr 2024 18:58:11 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Chris <portmaster@bsdforge.com>
Cc:        Moin Rahman <bofh@freebsd.org>, FreeBSD Mailing List <freebsd-ports@freebsd.org>
Subject:   Re: holding rust at a particular version
Message-ID:  <559DA6D5-D6F1-4B47-99EA-DC0C0B37417F@FreeBSD.org>
In-Reply-To: <cc8ed2c43ab8e19c1dc16b9c7a394c8e@bsdforge.com>
References:  <Zh0srdWHPh9JlW8p@int21h> <20f77d23043622d68d6421bfdc9a1cc7@bsdforge.com> <CC1C6BE0-E7F4-4973-9FA7-087BB62B3ACC@freebsd.org> <cc8ed2c43ab8e19c1dc16b9c7a394c8e@bsdforge.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 15 Apr 2024, at 18:48, Chris <portmaster@bsdforge.com> wrote:
>=20
> 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+=3Drust1.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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?559DA6D5-D6F1-4B47-99EA-DC0C0B37417F>