Tomoaki AOKI wrote:
On Tue, 26 Sep 2023 22:03:18 +0200
Thierry Thomas <thie...@freebsd.org> wrote:
This is true, but rust is very heavy, and it seems to be updated quiet
frequently.

Just an idea: maybe it could be possible to repocopy lang/rust to e.g.
lang/rust-devel (we already have rust-nightly), lang/rust being a stable
release, used to compile the depending ports, and rust-devel being used
by rust developers and updated more frequently.

Not really feasible, even if some other major changes happen. Every actual release is deemed stable.
I do not know if these ports would be installed at the same place, with
CONFLICTS_INSTALL, or if would be better to install the -devel port
with some suffix? [r...@freebsd.org added to Cc:]

They would conflict big time by default.
There is lang/rust-nightly [1] [2], which may be the -devel version.
IIRC, this is not so frequently updated. currently, the latest update
was to 1.72.0.20230612 at Jun.20, 2023, while lang/rust 1.72.0 landed
at Sep.08, 2023.

The problem, I think, is that all BUILD_DEPEND'ed ports are basically
bumped when lang/rust is updated.

I'm not at all a rust developer nor porter, but if possible, files
causing the rebuild (would be statically linked files like crt0.o in C)
would be better splitted into individual port(s) and updated only when
its source code is updated (and, if applicable, the behaviour of
resulting binary is ACTUALLY changed WITH BACKWARD-INCOMPATIBLE WAY by
rust code generator or optimizer) and all rust[-nightly] consumers
LIB_DEPEND to them.

Every Rust release contains changes to the compiler itself and the supporting cast in dependent crates and external non-Rust libraries including LLVM. Crates are always built as single unit outputs, with all dependencies built together. Unless the crate uses FFI, the only dynamic linking by default is with libc.

Think of the bumps like every time a new LLVM/clang is getting prepared for -CURRENT.

https://rustc-dev-guide.rust-lang.org/overview.html
https://doc.rust-lang.org/reference/crates-and-source-files.html
https://doc.rust-lang.org/reference/linkage.html

--
Charlie Li
...nope, still don't have an exit line.

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to