From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id A266B138334 for ; Sun, 21 Apr 2019 17:09:24 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 51463E0908; Sun, 21 Apr 2019 17:09:21 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 0DD80E08FF for ; Sun, 21 Apr 2019 17:09:21 +0000 (UTC) Received: from thinkpad.fritz.box (p200300E2EF027F0071E997E21436B6A0.dip0.t-ipconnect.de [IPv6:2003:e2:ef02:7f00:71e9:97e2:1436:b6a0]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: soap) by smtp.gentoo.org (Postfix) with ESMTPSA id 25E5D341D08 for ; Sun, 21 Apr 2019 17:09:18 +0000 (UTC) Message-ID: <0b47073a062a8b47d647f2397d06145305b50b20.camel@gentoo.org> Subject: [gentoo-dev] Introducing global USE=gui flag From: David Seifert To: gentoo-dev@lists.gentoo.org Date: Sun, 21 Apr 2019 19:09:12 +0200 Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-J2E9MVoswrwFxsU5okt+" User-Agent: Evolution 3.30.5 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 X-Archives-Salt: 46bceac4-3b55-4ab3-836a-2a2f3c99bd67 X-Archives-Hash: cf3f5a59ac918335766632bd02438722 --=-J2E9MVoswrwFxsU5okt+ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Dear fellow developers, as part of our effort in making Gentoo more pleasant to use, I am suggesting to add the global USE=3Dgui flag. This flag is the semantic analogue of USE=3Dssl, namely "Enable optional support for at least one GUI widget=20 toolkit". Please notice: this is *NOT* about solving the issue of USE-cascades vs REQUIRED_USE, as this is a much larger issue, that the introduction of a single global USE flag cannot solve. See https://bugs.gentoo.org/611564#c1 for the requirements to this problem. Rationale: so why introduce yet another global USE flag? Because it makes optional-GUI support *much* easier. Let's say we have one of the following situations 1. a package that optionally supports GTK2, GTK3 and Qt5, but also supports a pure CLI interface. USE=3D-gui allows users to disable the GUI, without individually disabling USE=3Dgtk2/gtk3/qt5, thereby easing package.use hacking for non-GUI users (as all the widgets are hidden behind a "gui? ( blabla )" clause or USE cascades). 2. a package that optionally supports *only* Qt5. In this case, many packages would just enable the GUI when users have USE=3D"qt5" enabled. That is, USE=3Dgui helps to clarify the semantics of the other toolkit flags, namely as implementation-enabling USE flags, whereas currently USE=3D"qt5" means implementation-enabling-unless-it's-the-only-toolkit- where-it-then-also-acts-as-GUI-enabling. This would be comparable to USE=3Dssl, where the package only supports openssl and nothing else. USE=3Dssl has well-defined semantics, and we should bring these semantics to toolkit-consuming packages too. Full disclosure: This is not my idea, as it was brought up by leio about 3 years ago: https://archives.gentoo.org/gentoo-dev/message/eecad370248118c474a0d819fa7f= 3576 --=-J2E9MVoswrwFxsU5okt+ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQKTBAABCgB9FiEEuNUxXaAAcsCoYIifzjbhFyAuOEIFAly8o7hfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEI4 RDUzMTVEQTAwMDcyQzBBODYwODg5RkNFMzZFMTE3MjAyRTM4NDIACgkQzjbhFyAu OEINIBAAwW9+aDfDtSPR8g02AdVu6csWbUYsoNBf7r9AHZYqj/IGBdoqUemFh4zt BLwwfyiVSFj0cgzeSRoMi8onsmEFOtcHowD40is8ubVGSZ1Gwimxeinpy1PJTG5t 15eR6QG0GkS4ZjNmrTeJ9WK9MFMLlOy66ekerRdzgDQKP+3VadhUpkZkoruDMOde 94ktCxKtwiv7wgMV1T0vNccCjjN+tOOLQiZNuVRsrZ3MZ9ncwcrMxZv0Wi62qnLF JjrWxB3qo7Bs/uOHBg0lXlksVA6qrVPshx0wQSNY1uJkY6RDE/xDLXmjg+yifQ+o PYKnVfW2D4xGgD2W4pOXs2IJ7oSgZuFkUtRNYnc8CsCIADJT/foJDbf0kERE7bUK wa7GVXLBaehxjcy07S3zbxJsbg9d1nDJW4A25tboJ+EUHYMRnw7FmNeo1tPwTedW vrRrbbk7ysJTnpSGH8GKURQwZJW0ejY5HDycnOJugwlZNse4/2c6i3HttVu//UwN OVEaajW4Qq6IxIMteId1p3EIO8l37m9YyCZnfefzhGaRZPJcgm2URtJwIPIu22xe sltbs8ak9n9ZBU3iNAPDulGm14QPf4wpi3TWDsh3sPWCa7yZAhfYmAUq5Aw7qp6+ XfgDE8jhbleRin3JOII46usZRYM4S4ggatzILAyLqHuSEMnz+98= =gg8g -----END PGP SIGNATURE----- --=-J2E9MVoswrwFxsU5okt+--