diff options
author | Eli Schwartz <eschwartz93@gmail.com> | 2024-05-19 14:01:45 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz@gentoo.org> | 2024-08-05 20:18:30 -0400 |
commit | cec63c55db0dded229ba78395830af7fb7e0bed0 (patch) | |
tree | 2ee1c8c6d97c3c9431e956cc855e754bc9d6864c /xfce-base | |
parent | x11-libs/wxGTK: prevent automagically building against gtk[X,wayland] (diff) | |
download | gentoo-cec63c55db0dded229ba78395830af7fb7e0bed0.tar.gz gentoo-cec63c55db0dded229ba78395830af7fb7e0bed0.tar.bz2 gentoo-cec63c55db0dded229ba78395830af7fb7e0bed0.zip |
xfce-base/libxfce4ui: prevent automagically building against gtk[wayland]
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 <eschwartz93@gmail.com>
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
Diffstat (limited to 'xfce-base')
-rw-r--r-- | xfce-base/libxfce4ui/libxfce4ui-4.18.6-r1.ebuild | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/xfce-base/libxfce4ui/libxfce4ui-4.18.6-r1.ebuild b/xfce-base/libxfce4ui/libxfce4ui-4.18.6-r1.ebuild new file mode 100644 index 000000000000..f8978f7e1dd2 --- /dev/null +++ b/xfce-base/libxfce4ui/libxfce4ui-4.18.6-r1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic xdg-utils vala + +DESCRIPTION="Unified widget and session management libs for Xfce" +HOMEPAGE=" + https://docs.xfce.org/xfce/libxfce4ui/start + https://gitlab.xfce.org/xfce/libxfce4ui/ +" +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 wayland" +REQUIRED_USE="vala? ( introspection )" + +DEPEND=" + >=dev-libs/glib-2.66.0 + >=x11-libs/gtk+-3.24.41-r1:3[introspection?,wayland?,X] + x11-libs/libX11 + x11-libs/libICE + x11-libs/libSM + >=xfce-base/libxfce4util-4.17.2:=[introspection?,vala?] + >=xfce-base/xfconf-4.12:= + glade? ( dev-util/glade:3.10 ) + introspection? ( >=dev-libs/gobject-introspection-1.66:= ) + startup-notification? ( x11-libs/startup-notification ) + system-info? ( + dev-libs/libgudev + gnome-base/libgtop + >=media-libs/libepoxy-1.2 + ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-lang/perl + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig + vala? ( $(vala_depend) ) +" + +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) + $(use_enable system-info epoxy) + $(use_enable system-info gudev) + $(use_enable startup-notification) + $(use_enable vala) + $(use_enable glade gladeui2) + --with-vendor-info=Gentoo + ) + + use vala && vala_setup + econf "${myconf[@]}" +} + +src_install() { + emake -j1 DESTDIR="${D}" install + find "${D}" -name '*.la' -delete || die +} + +pkg_postinst() { + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_icon_cache_update +} |