The upstream code checks whether GDK_WINDOWING_WAYLAND is defined by the
gtk headers, and if so will compile against the wayland symbols it
provides.

This means that libxfce4ui built on a system with gtk+[-wayland]
will be compatible with anything, but when built on a system with
gtk+[wayland], requires that at runtime regardless of USE flag.

This cannot be expressed with USE flags. We could bind tightly to
whether gtk was built with wayland and arbitrarily restrict
libxfce4ui[-wayland] to only build and install on a system with
gtk+[-wayland].

But we recently added a hack to gtk itself which allows hiding the
automagic macros entirely. Inject this via append-cflags if the USE
flags aren't set, to simulate building on a system with more minimal gtk
packages.

Fixed upstream in:
https://gitlab.xfce.org/xfce/libxfce4ui/-/commit/967359624e408365b4c027bab66e737063af604b
and hence only worked around for 4.18.

Bug: https://bugs.gentoo.org/624960
Closes: https://bugs.gentoo.org/873520
Signed-off-by: Eli Schwartz <eschwart...@gmail.com>
---
 ...e4ui-4.18.6.ebuild => libxfce4ui-4.18.6-r1.ebuild} | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
 copy xfce-base/libxfce4ui/{libxfce4ui-4.18.6.ebuild => 
libxfce4ui-4.18.6-r1.ebuild} (82%)

diff --git a/xfce-base/libxfce4ui/libxfce4ui-4.18.6.ebuild 
b/xfce-base/libxfce4ui/libxfce4ui-4.18.6-r1.ebuild
similarity index 82%
copy from xfce-base/libxfce4ui/libxfce4ui-4.18.6.ebuild
copy to xfce-base/libxfce4ui/libxfce4ui-4.18.6-r1.ebuild
index bc3c10b62bdf..888730690ed9 100644
--- a/xfce-base/libxfce4ui/libxfce4ui-4.18.6.ebuild
+++ b/xfce-base/libxfce4ui/libxfce4ui-4.18.6-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit xdg-utils vala
+inherit flag-o-matic xdg-utils vala
 
 DESCRIPTION="Unified widget and session management libs for Xfce"
 HOMEPAGE="
@@ -14,13 +14,13 @@ 
SRC_URI="https://archive.xfce.org/src/xfce/${PN}/${PV%.*}/${P}.tar.bz2";
 
 LICENSE="LGPL-2+ GPL-2+"
 SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv 
~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="glade +introspection startup-notification system-info vala"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 
~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="glade +introspection startup-notification system-info vala wayland"
 REQUIRED_USE="vala? ( introspection )"
 
 DEPEND="
        >=dev-libs/glib-2.66.0
-       >=x11-libs/gtk+-3.24.0:3[introspection?,X]
+       >=x11-libs/gtk+-3.24.0:3[introspection?,wayland?,X]
        x11-libs/libX11
        x11-libs/libICE
        x11-libs/libSM
@@ -47,6 +47,9 @@ BDEPEND="
 "
 
 src_configure() {
+       # defang automagic dependencies, bug #873520
+       use wayland || append-cflags -DGENTOO_GTK_HIDE_WAYLAND
+
        local myconf=(
                $(use_enable introspection)
                $(use_enable system-info glibtop)
-- 
2.44.2


Reply via email to