commit:     2e4388996ec26736cce16c1cd7c42584f5836dc0
Author:     Lukas Schmelting <lschmelting <AT> posteo <DOT> com>
AuthorDate: Sun Jul 27 17:53:10 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 16 08:15:28 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e438899

gnome-base/gnome-control-center: enforce binary dependency on gtk x11 and 
wayland backends

Note that for >=v48.3, we currently need to hard depend on the gtk
wayland backend:
"In file included from
'../gnome-control-center-48.3/subprojects/libgxdp/src/gxdp-wayland.c:25:'
'/usr/include/gtk-4.0/gdk/wayland/gdkwayland.h:28:4: error: #error"'
```
 * QA Notice: binaries depend on Gtk's wayland-specific ABI without USE dep:
 *
 *   /usr/bin/gnome-control-center

 * QA Notice: binaries depend on Gtk's x11-specific ABI without USE dep:
 *
 *   /usr/bin/gnome-control-center
```

Closes: https://bugs.gentoo.org/960764
Signed-off-by: Lukas Schmelting <lschmelting <AT> posteo.com>
Part-of: https://github.com/gentoo/gentoo/pull/43235
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...-center-47.6.ebuild => gnome-control-center-47.6-r1.ebuild} |  9 ++++++---
 ...-center-47.7.ebuild => gnome-control-center-47.7-r1.ebuild} |  9 ++++++---
 .../gnome-control-center/gnome-control-center-48.3.ebuild      | 10 ++++++----
 .../gnome-control-center/gnome-control-center-48.4.ebuild      |  8 +++++---
 4 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/gnome-base/gnome-control-center/gnome-control-center-47.6.ebuild 
b/gnome-base/gnome-control-center/gnome-control-center-47.6-r1.ebuild
similarity index 95%
rename from gnome-base/gnome-control-center/gnome-control-center-47.6.ebuild
rename to gnome-base/gnome-control-center/gnome-control-center-47.6-r1.ebuild
index 3c765d70305c..2343edec81a0 100644
--- a/gnome-base/gnome-control-center/gnome-control-center-47.6.ebuild
+++ b/gnome-base/gnome-control-center/gnome-control-center-47.6-r1.ebuild
@@ -16,7 +16,7 @@ LICENSE="GPL-2+ CC-BY-SA-2.5"
 SLOT="2"
 KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
 
-IUSE="+bluetooth +cups debug elogind +gnome-online-accounts +ibus 
input_devices_wacom kerberos +geolocation networkmanager systemd test wayland"
+IUSE="X +bluetooth +cups debug elogind +gnome-online-accounts +ibus 
input_devices_wacom kerberos +geolocation networkmanager systemd test wayland"
 REQUIRED_USE="
        ^^ ( elogind systemd )
 " # Theoretically "?? ( elogind systemd )" is fine too, lacking some 
functionality at runtime,
@@ -32,11 +32,11 @@ RESTRICT="!test? ( test )"
 # Second block is dependency() from subdir meson.builds, sorted by directory 
name occurrence order
 DEPEND="
        gnome-online-accounts? (
-               x11-libs/gtk+:3
+               x11-libs/gtk+:3[X?,wayland?]
                >=net-libs/gnome-online-accounts-3.51.0:=
        )
        >=media-libs/libpulse-2.0[glib]
-       >=gui-libs/gtk-4.15.2:4[X,wayland=]
+       >=gui-libs/gtk-4.15.2:4[X?,wayland?]
        >=gui-libs/libadwaita-1.6_beta:1
        >=sys-apps/accountsservice-23.11.69
        >=x11-misc/colord-0.1.34:0=
@@ -169,6 +169,9 @@ src_configure() {
        append-flags -fno-strict-aliasing
        filter-lto
 
+       use X || append-cppflags -DGENTOO_GTK_HIDE_X11
+       use wayland || append-cppflags -DGENTOO_GTK_HIDE_WAYLAND
+
        local emesonargs=(
                $(meson_use bluetooth)
                -Dcups=$(usex cups enabled disabled)

diff --git a/gnome-base/gnome-control-center/gnome-control-center-47.7.ebuild 
b/gnome-base/gnome-control-center/gnome-control-center-47.7-r1.ebuild
similarity index 95%
rename from gnome-base/gnome-control-center/gnome-control-center-47.7.ebuild
rename to gnome-base/gnome-control-center/gnome-control-center-47.7-r1.ebuild
index 36efe63a0130..a4017a3d049f 100644
--- a/gnome-base/gnome-control-center/gnome-control-center-47.7.ebuild
+++ b/gnome-base/gnome-control-center/gnome-control-center-47.7-r1.ebuild
@@ -16,7 +16,7 @@ LICENSE="GPL-2+ CC-BY-SA-2.5"
 SLOT="2"
 KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
 
-IUSE="+bluetooth +cups debug elogind +gnome-online-accounts +ibus 
input_devices_wacom kerberos +geolocation networkmanager systemd test wayland"
+IUSE="X +bluetooth +cups debug elogind +gnome-online-accounts +ibus 
input_devices_wacom kerberos +geolocation networkmanager systemd test wayland"
 REQUIRED_USE="
        ^^ ( elogind systemd )
 " # Theoretically "?? ( elogind systemd )" is fine too, lacking some 
functionality at runtime,
@@ -32,11 +32,11 @@ RESTRICT="!test? ( test )"
 # Second block is dependency() from subdir meson.builds, sorted by directory 
name occurrence order
 DEPEND="
        gnome-online-accounts? (
-               x11-libs/gtk+:3
+               x11-libs/gtk+:3[X?,wayland?]
                >=net-libs/gnome-online-accounts-3.51.0:=
        )
        >=media-libs/libpulse-2.0[glib]
-       >=gui-libs/gtk-4.15.2:4[X,wayland=]
+       >=gui-libs/gtk-4.15.2:4[X?,wayland?]
        >=gui-libs/libadwaita-1.6_beta:1
        >=sys-apps/accountsservice-23.11.69
        >=x11-misc/colord-0.1.34:0=
@@ -169,6 +169,9 @@ src_configure() {
        append-flags -fno-strict-aliasing
        filter-lto
 
+       use X || append-cppflags -DGENTOO_GTK_HIDE_X11
+       use wayland || append-cppflags -DGENTOO_GTK_HIDE_WAYLAND
+
        local emesonargs=(
                $(meson_use bluetooth)
                -Dcups=$(usex cups enabled disabled)

diff --git a/gnome-base/gnome-control-center/gnome-control-center-48.3.ebuild 
b/gnome-base/gnome-control-center/gnome-control-center-48.3.ebuild
index c26159fb3884..c42632528123 100644
--- a/gnome-base/gnome-control-center/gnome-control-center-48.3.ebuild
+++ b/gnome-base/gnome-control-center/gnome-control-center-48.3.ebuild
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
-PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{11..14} )
 
 inherit flag-o-matic gnome.org gnome2-utils meson python-any-r1 virtualx xdg
 
@@ -16,7 +16,7 @@ LICENSE="GPL-2+ CC-BY-SA-2.5"
 SLOT="2"
 KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
 
-IUSE="+bluetooth +cups debug elogind +gnome-online-accounts +ibus 
input_devices_wacom kerberos +geolocation networkmanager systemd test wayland"
+IUSE="X +bluetooth +cups debug elogind +gnome-online-accounts +ibus 
input_devices_wacom kerberos +geolocation networkmanager systemd test wayland"
 REQUIRED_USE="
        ^^ ( elogind systemd )
 " # Theoretically "?? ( elogind systemd )" is fine too, lacking some 
functionality at runtime,
@@ -32,11 +32,11 @@ RESTRICT="!test? ( test )"
 # Second block is dependency() from subdir meson.builds, sorted by directory 
name occurrence order
 DEPEND="
        gnome-online-accounts? (
-               x11-libs/gtk+:3
+               x11-libs/gtk+:3[X?,wayland]
                >=net-libs/gnome-online-accounts-3.51.0:=
        )
        >=media-libs/libpulse-2.0[glib]
-       >=gui-libs/gtk-4.17.1:4[X,wayland=]
+       >=gui-libs/gtk-4.17.1:4[X?,wayland]
        >=gui-libs/libadwaita-1.7_alpha:1
        >=sys-apps/accountsservice-23.11.69
        >=x11-misc/colord-0.1.34:0=
@@ -169,6 +169,8 @@ src_configure() {
        append-flags -fno-strict-aliasing
        filter-lto
 
+       use X || append-cppflags -DGENTOO_GTK_HIDE_X11
+
        local emesonargs=(
                $(meson_use bluetooth)
                $(meson_use cups)

diff --git a/gnome-base/gnome-control-center/gnome-control-center-48.4.ebuild 
b/gnome-base/gnome-control-center/gnome-control-center-48.4.ebuild
index bb131aceda1b..ac8ad3bf87aa 100644
--- a/gnome-base/gnome-control-center/gnome-control-center-48.4.ebuild
+++ b/gnome-base/gnome-control-center/gnome-control-center-48.4.ebuild
@@ -16,7 +16,7 @@ LICENSE="GPL-2+ CC-BY-SA-2.5"
 SLOT="2"
 KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
 
-IUSE="+bluetooth +cups debug elogind +gnome-online-accounts +ibus 
input_devices_wacom kerberos +geolocation networkmanager systemd test wayland"
+IUSE="X +bluetooth +cups debug elogind +gnome-online-accounts +ibus 
input_devices_wacom kerberos +geolocation networkmanager systemd test wayland"
 REQUIRED_USE="
        ^^ ( elogind systemd )
 " # Theoretically "?? ( elogind systemd )" is fine too, lacking some 
functionality at runtime,
@@ -32,11 +32,11 @@ RESTRICT="!test? ( test )"
 # Second block is dependency() from subdir meson.builds, sorted by directory 
name occurrence order
 DEPEND="
        gnome-online-accounts? (
-               x11-libs/gtk+:3
+               x11-libs/gtk+:3[X?,wayland]
                >=net-libs/gnome-online-accounts-3.51.0:=
        )
        >=media-libs/libpulse-2.0[glib]
-       >=gui-libs/gtk-4.17.1:4[X,wayland=]
+       >=gui-libs/gtk-4.17.1:4[X?,wayland]
        >=gui-libs/libadwaita-1.7_alpha:1
        >=sys-apps/accountsservice-23.11.69
        >=x11-misc/colord-0.1.34:0=
@@ -169,6 +169,8 @@ src_configure() {
        append-flags -fno-strict-aliasing
        filter-lto
 
+       use X || append-cppflags -DGENTOO_GTK_HIDE_X11
+
        local emesonargs=(
                $(meson_use bluetooth)
                $(meson_use cups)

Reply via email to