Tomoaki AOKI wrote:
Not really feasible, even if some other major changes happen. Every actual release is deemed stable.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.
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.
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.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.
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.
OpenPGP_signature
Description: OpenPGP digital signature