Screenshot of QEMU VM showing an ASCII Gentoo Logo + system info
I followed Mental Outlaw’s 2019 guide and followed the official handbook to get up-to-date instructions and tailored instructions for my system, the process took about 4 hours however I did go out for a nice walk while my kernel was compiling. Overall I enjoyed the process and learnt a lot about the Linux kernel while doing it.
I’m planning on installing it to my hardware soon, this was to get a feel for the process in a non-destructive way.
I regularly compile packages with tweaked options for various purposes. Maybe I want a stripped down cURL for container health checks. Maybe I want cURL with HTTP/3 for development against Quic server. Maybe I want to build only the QT6 frontend for freeciv because I don’t need the dependencies that come with GTK.
These are all real examples, from packages that I maintain and use cases that I’ve seen or are my own.
Portage makes doing all of this trivial through the implementation of USE flags; it’s certainly not fluff.
Gentoo still ships a sane set of defaults for when users don’t want / need to change these things, but having the option is fantastic.
Interesting, in my experience apps use either GTK or KDE and often KDE just uses GTK? I dont know how this works on GNOME, I guess it forces GTK somehow anyways.
Not technical enough to understand the rest haha.
Oh, I missed this response, sorry!
The example in question there is freeciv, which supports each of those frontends. Typically you’re going to pick the one that your DE uses, but because I maintain the package I had to go through and test it all when I updated it and converted it to the meson build recently. :)
https://github.com/gentoo/gentoo/blob/master/games-strategy/freeciv/freeciv-3.1.0_beta2.ebuild#L106-L140 should give you some indication of the complexity that I had to handle here. Not every app supports every toolkit, and this supports more than most!
Edit:
All that complexity means that if I set, for example,
USE='sdl qt6'
the build will produce a client for each of those toolkits. Most users don’t have to worry because at least one will be inherited from their profile!