commit: cec63c55db0dded229ba78395830af7fb7e0bed0 Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com> AuthorDate: Sun May 19 18:01:45 2024 +0000 Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org> CommitDate: Tue Aug 6 00:18:30 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cec63c55
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 <AT> gmail.com> Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org> xfce-base/libxfce4ui/libxfce4ui-4.18.6-r1.ebuild | 79 ++++++++++++++++++++++++ 1 file changed, 79 insertions(+) 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 +}