On Nov 14, 2024, at 13:21, Charlie Li <vish...@freebsd.org> wrote: > Mark Millard wrote: >> https://github.com/rust-lang/rust/pull/130487 reports . . . >> QUOTE >> Update the minimum external LLVM to 18 #130487 >> With this change, we'll have stable support for LLVM 18 and 19. >> For reference, the previous increase to LLVM 17 was #122649. >> END QUOTE >> Note: the internal LLVM is 19 for 1.82.0 .
> This commit is not in the 1.82 releases so the USES=llvm values remain > correct. It will be bumped for 1.83 as tagged in the pull request.> It leads > me to wonder if lang/rust should be using an external From using pkg to update to the recent official lang/rust distribution: # rustc -vV rustc 1.82.0 (f6e511eec 2024-10-15) (built from a source tarball) binary: rustc commit-hash: f6e511eec7342f59a25f7c0534f1dbea00d01b14 commit-date: 2024-10-15 host: x86_64-unknown-freebsd release: 1.82.0 LLVM version: 19.1.1 So the internal LLVM for lang/rust is LLVM 19.1.1 based as of that update. It is not my build, but is the official FreeBSD one for main [so: 15 as stands]. For reference: # pkg info rust rust-1.82.0_1 Name : rust Version : 1.82.0_1 Installed on : Thu Nov 14 22:09:53 2024 UTC Origin : lang/rust Architecture : FreeBSD:15:amd64 Prefix : /usr/local Categories : lang Licenses : MIT or APACHE20 Maintainer : r...@freebsd.org WWW : https://www.rust-lang.org/ Comment : Language with a focus on memory safety and concurrency Options : DOCS : on GDB : off LTO : off PORT_LLVM : off SOURCES : on WASM : on Shared Libs required: libcurl.so.4 Shared Libs provided: libstd-d4ce5f4319a0892a.so librustc_driver-3dd68610bfbc3827.so Annotations : FreeBSD_version: 1500026 build_timestamp: 2024-11-12T01:08:37+0000 built_by : poudriere-git-3.4.2 cpe : cpe:2.3:a:rust-lang:rust:1.82.0:::::freebsd15:x64:1 port_checkout_unclean: no port_git_hash : b039f2e46b1 ports_top_checkout_unclean: no ports_top_git_hash: ea7acb65556 repo_type : binary repository : FreeBSD Flat size : 1.14GiB . . . The only way the internal LLVM for lang/rust ends up being based on LLVM 18 for 1.82.0 is via use of PORT_LLVM , which the official FreeBSD package builders do not do (at this time). So lang/rust 1.82.0 builds can potentially have newer, LLVM 19 specific material if there is such. >> devel/llvm* by default, set to match a default ports tree >> LLVM to be used for major ports that involve lang/rust use. > No. Not something upstream encourages by default even if support exists, > especially because the default upstream builds use the bundled LLVM which is > what most consumers qualify with. The FreeBSD may at times have to update such that the default LLVM is forced to well match the lang/rust default LLVM. That might mean not updating lang/rust . (I'm not claiming there are always conflicts to deal with when LLVM's mismatch, just that there could be such at times.) === Mark Millard marklmi at yahoo.com