From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-dev+bounces-102041-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 5EA9A15802E
	for <garchives@archives.gentoo.org>; Sun, 23 Jun 2024 18:34:46 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 27AF1E2AAA;
	Sun, 23 Jun 2024 18:34:43 +0000 (UTC)
Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id B8C3FE2A05
	for <gentoo-dev@lists.gentoo.org>; Sun, 23 Jun 2024 18:34:42 +0000 (UTC)
Message-ID: <ecf59f87c91d30e7f5013659cd46f18e95546cf9.camel@gentoo.org>
Subject: Re: [gentoo-dev] [PATCH 0/5] Fixing automagic dependencies on
 gtk[wayland,X],
From: James Le Cuirot <chewi@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Date: Sun, 23 Jun 2024 19:33:59 +0100
In-Reply-To: <20240623173646.3368935-1-eschwartz93@gmail.com>
References: <20240623173646.3368935-1-eschwartz93@gmail.com>
Autocrypt: addr=chewi@gentoo.org; prefer-encrypt=mutual;
 keydata=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
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-biqkrP0UxyEpgFP/QKtu"
User-Agent: Evolution 3.52.2 
Precedence: bulk
List-Post: <mailto:gentoo-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org>
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: e863f02b-fae4-4e2c-84c2-b04a5d0e9972
X-Archives-Hash: 1be491c3e97699e02f3327810309aae3


--=-biqkrP0UxyEpgFP/QKtu
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sun, 2024-06-23 at 13:35 -0400, Eli Schwartz wrote:
> There is a bug in how gtk 3 and gtk 4 are built against by other
> packages. GTK supports optionally enabling X and wayland support -- when
> you do so, the ABI of GTK changes.
>=20
> It is historically common for X11 packages to check for a macro provided
> by GTK that says "built with X11 support". This goes back to the days
> when X11 was the only backend shipped with GTK, and the main use of the
> macro was to check whether to use X11 or rather to use, say, the win32
> or Quartz (macOS) backends. The pattern has continued now that Linux has
> two backends.
>=20
> The result of this is that many packages really need to support their
> own IUSE=3D"X wayland" (because they can conditionally build code for
> that) and also need to make sure that USE flag is actually respected.
> Failure to do this means that when rebuilding GTK with different USE
> flags, all applications linking to GTK need to be rebuilt too, but
> portage doesn't know that.
>=20
> It also means that binhosts -- such as the one officially hosted by
> Gentoo -- have bad binaries that don't actually match the packages users
> have installed. This is particularly bad since it breaks expectations
> and is quite hard to debug. This has hit people a bunch of times when
> trying to install the xfce desktop environment, in particular.

<snip>

> - What I propose in this patchset. Hack a custom gentoo feature into the
>   GTK headers. GTK normally behaves exactly as it's supposed to
>   upstream, but we add the ability to pass a define via `append-cflags`
>   that makes the GTK headers tell an outright lie and claim its API
>   doesn't exist. Which is what we want -- we want packages to be able to
>   compile *as if* GTK wasn't built with support for a given backend.
>   This disables the automagic as if option 1 (implementing configure
>   options) was carried out. Advantage: automatically support proper
>   control of features. Disadvantage: requires patching GTK and
>   then still adding workarounds for each package that needs it.

Nice trick! I like it. Good work. :)

--=-biqkrP0UxyEpgFP/QKtu
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----

iQJFBAABCAAvFiEEPxcZ3tkwcedKm2a8EiZBXQDdMTcFAmZ4apcRHGNoZXdpQGdl
bnRvby5vcmcACgkQEiZBXQDdMTcIBg//U6WrNP0l8PbT4QHKcL3V/KQckF3vuag1
leeW3+cuxOs8L/0l7brrB+IO0L3Gq0gzy28AlSvD/E8JQolCyKxaVQvOd2Kw6EKa
ynj91gifWlAcTULp6HuYv9QeEqNif1k+MNJPvFFM7hfH+hMtvGda344Y6d/Gke6M
vZ+v3K76WIXTJLXIUmUSfHDoasweJXl0kf9DHicsl7A69i1RhMGdcUWqvbwI0RGC
l29D41e4b3naWm1b8+qL5NR4Gs6xgFw2FfBkBBsNCmf07wUkej4GPjWCBHZge33d
5b2oEV5TDbuG1ouq4puNjTJxsAGAQxVd6KVdpnJjMo1ztDYqanJNU90sJOJWB14+
NUF4fHDZJ3yalGEJkFsvmAiLoI1roIH5kOHQZGjOHKfcwywRilkv2wQ07wBUXENv
89Sz+LsAsIgduP1BfQfkhw0ZV8WUV8nl5ns8TOwIqv07y5yBoNiCctGOoV6mxKCy
po5IQ0VKCRZCQq6GKrW0QyS4TAR56HweAu8DBHdAkRyUAoWJeuN29H3gW/McZU65
Ogkao6dS3gGAkFGXiCgDpz75h//fSLoEZ1ADReRIKWBXtYeoAocQRMcEUXQIBS/m
ySTjL3dlLuCG7v93r54iDzIqPNKmSi4ULe7d1+3mA5mRQCGxxZhtossP91bhLAQg
+uYnj5ojlaA=
=g9Wl
-----END PGP SIGNATURE-----

--=-biqkrP0UxyEpgFP/QKtu--