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


Reply via email to