476
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 24 Aug 2023
476 points (97.0% liked)
Linux
48023 readers
869 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
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!