As a Funtoo user LLVM and llvm-kit components are critical for those who wish to compile certain larger software projects from source code like Firefox, Thunderbird, Rust, Chromium, Mesa GPU drivers, and more.
LLVM is not the primary toolchain compiler of Funtoo Linux and is mostly optional except for critical package components like Mesa GPU drivers that use LLVM backends. And for all other critical software, Firefox, Thunderbird, Rust, and Google Chrome, we have convenient pre-compiled bin packages so it is not required to build these from source with LLVM.
Nevertheless for those wanting to use their Funtoo System to do deeper software development and more advanced compilations, having an up to date llvm-kit is useful.
Also, bugs like https://bugs.funtoo.org/browse/FL-10073 have been blocked for a long time due to the the stagnation of package versions in llvm-kit.
This proposal is to bring metatooling and robust statically version autogens to the llvm-kit so that we can track closely with upstream releases and effortlessly get new versions (major or patch releases) with changing just a few lines of code. Similar to things like ruby-kit metatools modernization, the entire llvm-kit is mostly a port from upstream Gentoo, so particular care needs to be taken to ensure it meets Funtoo standards and is smartly designed with metatools. This could involve original Funtoo ebuilds templates.
An important aspect of this proposal is llvm-kit core components versions should still be multi-slotted and locked to ensure maximum stability considering this is a toolchain, but all generation of all ebuilds would be backed by metatoools. This will allow for far easier maintenance and testing of llvm-kit and could give an opportunity for Funtoo users to have fun with the latest LLVM versions for their software projects.
If this improvement proposal is approved, I am willing to help on this effort with other community members too if they are interested. I think this would be a well accepted improvement based on discussions I have had with members of the community on the Funtoo Linux Discord server.
- blocks
-
FL-10073 [llvm-kit] rust-bin needs to be installed alongside llvm-15 for lto optimizations to work in firefox/thunderbird
- Work Queue