On 2024.11.01 12:41, Michael wrote:
On Friday 1 November 2024 14:43:17 GMT Jack Ostroff wrote:
> On 11/1/24 7:15 AM, Michael wrote:
> > Any idea why clang was disabled in www-client/firefox-128.4.0:
> >
> > [ebuild U ] www-client/firefox-128.4.0:esr::gentoo
> > [128.3.1:esr::gentoo] USE="X dbus gmp-autoupdate hwaccel
jumbo-build
> > openh264 system-av1 system- harfbuzz system-icu system-jpeg
> > system-libevent system-libvpx system-webp telemetry wayland
-clang*
> > -debug -eme-free -gnome-shell -hardened -jack - libproxy -lto -pgo
> > -pulseaudio (-selinux) -sndio -system-png -wifi" L10N="en- GB
-ach -af
> > -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs
-cy -da
> > -de -dsb -el -en-CA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa
-ff -fi -
> > fr -fur -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id
-is -it
> > -ja - ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb
-ne -nl
> > -nn -oc -pa - pl -pt-BR -pt-PT -rm -ro -ru -sc -sco -si -sk -skr
-sl -son
> > -sq -sr -sv -szl - ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh
-zh-CN
> > -zh-TW" LLVM_SLOT="18 -17 (-19)" 546,124 KiB
> >
> > https://gitweb.gentoo.org/repo/gentoo.git/commit/?
> > id=75c0bdfd0b02568466c14d81aa0027c873a76617
>
> Unless I miss something, I don't see evidence of that in the
ebuilds.
> It looks like IUSE has changed from +clang to just clang in the
latest
> ebuilds in both slots. Is it possible there is something else in
your
> make.conf or packages.* which disables it? Actually, it might be
that
> you need to explicitly add clang to packages.use, as not it is still
> allowed, but does not default to on.
I've checked and I have no bespoke directives for USE="clang".
Emerge will
use whatever is the default setting for this flag.
Right, and since clang is not set by default in make.conf or your
profile, it is not set for firefox, although the IUSE=+clang set it as
the default in the prvious ebuild.
Without USE="clang" the emerge takes 12-18% longer, but I am not sure
what is
the recommended compiler for FF or why it was changed.
My inadequate understanding (from the wiki) is that clang works better
with firefox's use of rust, compiling faster and giving better
performance due to optimizations which don't happen with gcc. Without
having read the git logs for the ebuild, I would assume the change is
because the relative build and runtime performance using gcc vs. clang
has changed.
PS. Also I do not understand the meaning of these notations:
IUSE="foo"
This just says that the package responds to the use flag "foo"
IUSE="+foo"
This also says that the default value of "foo" for this package is on,
unless explicitly unset in make.conf or package.use.
IUSE+="foo"
The "+=" (similar to use with ENV variables) appends the right hand
string to the current value, allowing the full set of IUSE flags to be
set over more than one line, where without the "+" a second "IUSE=xxx"
line in an ebuild would just completely override a previous line.