commit: 895960fd6bdc2bc24e416891a686cd0299cc84e5 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Mon Nov 24 22:00:06 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Nov 24 22:01:02 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=895960fd
x11-libs/gtk+: drop old 3.24.x Signed-off-by: Sam James <sam <AT> gentoo.org> x11-libs/gtk+/Manifest | 4 - .../gtk+/files/gtk+-3.24.48-signal-handler.patch | 31 --- x11-libs/gtk+/files/gtk+-3.24.49-java-crash.patch | 130 ------------- x11-libs/gtk+/gtk+-3.24.42-r1.ebuild | 211 -------------------- x11-libs/gtk+/gtk+-3.24.48.ebuild | 214 --------------------- x11-libs/gtk+/gtk+-3.24.49-r1.ebuild | 214 --------------------- x11-libs/gtk+/gtk+-3.24.49.ebuild | 212 -------------------- x11-libs/gtk+/gtk+-3.24.50.ebuild | 212 -------------------- 8 files changed, 1228 deletions(-) diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest index ba0555095583..c5443f55e085 100644 --- a/x11-libs/gtk+/Manifest +++ b/x11-libs/gtk+/Manifest @@ -1,6 +1,2 @@ DIST gtk+-2.24.33.tar.xz 12661828 BLAKE2B f3488b220aaee54bf36fa77e2112d060152e57938845d240014a7d43a5743b1d4de19cc09c683d9d238fd1967cd67cc3c493f2475e4e481f6709f5cdc652c65c SHA512 71b588797c81f727dfac8dcb1be193f7436f717d30ecf18eae2d3aeb0f445b3be4743400acac16435490db8f564f01032065d3f42d27871317f80c98aef929d5 -DIST gtk+-3.24.42.tar.xz 13226980 BLAKE2B 04675abfa056d19a8324c8310789227e661458cfa356b670ba79d61a9498fa1c65161d19799d33d717742912cdddc3400a548573809d5dd4e0f289d0c75e88d9 SHA512 53e86e35d33f82384f1d40bd91feee67be68bc9003abd095842991441b1f2ee11a5b431168963270d3ffc0c653d26673ca97cdd55a8f577ef21dbd5d6004b643 -DIST gtk-3.24.48.tar.xz 13414436 BLAKE2B d5201f434d2045feb68bf9cdbf1e254eba8377a17fcc1d32daf3298338cd3482b5f26158f1c498d70dc122451da45dfdbcea3a39ecd0b074a3659a362a4eb3ea SHA512 aea1c4e2c5c7415692ffedc238321a58c6fc1a56000694e00f7bfe374c6e52fde89f510c1bcccfe3713f8f645e5a117323186e4bb1cffc62855caa5ab08e6b1f -DIST gtk-3.24.49.tar.xz 13450556 BLAKE2B c45299fdf6c004c56d6480cbde9ff4dee64e460be6742331b93097e5782591c81decdd4dfbba59bd3f0a72ad26c7919c7363877b4d4b3227ecc246025c29f1b2 SHA512 d8727cff733ae06ea29cf6885d458804167e6e1d2c2e62a2881c39b953c6b1530ec72d14b7295e1148bd96233f7a0baef2ab96688fd1a6f048ec820a1f394a81 -DIST gtk-3.24.50.tar.xz 13463460 BLAKE2B 66f9a6641e539c5aa81e48a8659f217862dc3b1a03233eae2ca9af4bcafae6cef562c223f65ec7147ff4fc3394970807f50e289cef0a8c7327d802ae94e95258 SHA512 40db8b781372d45faebb571363a4919a3259e1bffd110eb91f11d33fcd175eaaf4a4241416dae3398bf0ce58a3d2a9e3dbee1a9153e4e673b45892044be6b9e5 DIST gtk-3.24.51.tar.xz 13483636 BLAKE2B 8e7483852ab74206cb1f2302bb996d706ffde9e53038f3f6d09fc456fa49d1cf2c0862c9d2f8e357eaf368a847bdb50d55b5edfe00b86ef4e30c04735940ec62 SHA512 f96ee1c586284af315709ec38e841bd1b2558d09e2162834a132ffc4bbcddca272a92a828550a3accaa3e4da1964ad32b3b48291e929a108a913bd18c61cd73b diff --git a/x11-libs/gtk+/files/gtk+-3.24.48-signal-handler.patch b/x11-libs/gtk+/files/gtk+-3.24.48-signal-handler.patch deleted file mode 100644 index 40ca24d90093..000000000000 --- a/x11-libs/gtk+/files/gtk+-3.24.48-signal-handler.patch +++ /dev/null @@ -1,31 +0,0 @@ -https://gitlab.gnome.org/GNOME/gtk/-/commit/32381771b1cfa55770036e525a6c53c70be6c920 - -From 32381771b1cfa55770036e525a6c53c70be6c920 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen <[email protected]> -Date: Wed, 12 Feb 2025 12:16:34 +0100 -Subject: [PATCH] im: Fix signal handler signature - -This was causing crashes, probably since 2019 :( - -Fixes: #7306 -Fixes: #7331 ---- - gtk/gtkimmulticontext.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/gtk/gtkimmulticontext.c b/gtk/gtkimmulticontext.c -index 50363559d7b..2d70cdeda06 100644 ---- a/gtk/gtkimmulticontext.c -+++ b/gtk/gtkimmulticontext.c -@@ -282,7 +282,8 @@ gtk_im_multicontext_get_slave (GtkIMMulticontext *multicontext) - } - - static void --im_module_setting_changed (GtkSettings *settings, -+im_module_setting_changed (GtkSettings *settings, -+ GParamSpec *pspec, - GtkIMMulticontext *self) - { - gtk_im_multicontext_set_slave (self, NULL, FALSE); --- -GitLab diff --git a/x11-libs/gtk+/files/gtk+-3.24.49-java-crash.patch b/x11-libs/gtk+/files/gtk+-3.24.49-java-crash.patch deleted file mode 100644 index eec148d5e227..000000000000 --- a/x11-libs/gtk+/files/gtk+-3.24.49-java-crash.patch +++ /dev/null @@ -1,130 +0,0 @@ -https://bugs.gentoo.org/952006 -https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8554 - -From d9f722455b51fe64bc1565ef1eae7230319e73cd Mon Sep 17 00:00:00 2001 -From: Matthias Clasen <[email protected]> -Date: Sun, 11 May 2025 09:18:22 -0400 -Subject: [PATCH] Revert "immulticontext: Don't have a global_context_id" - -This reverts commit 39345212e8190aefa55a5266c123b2a7afc5c75f. - -This is causing eclipse crashes. - -Fixes: #7438 -Part-of: <https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8554> ---- - gtk/gtkimmulticontext.c | 51 ++++++++++++++++++++++------------------- - 1 file changed, 27 insertions(+), 24 deletions(-) - -diff --git a/gtk/gtkimmulticontext.c b/gtk/gtkimmulticontext.c -index 2d70cdeda06..7c91fee45d0 100644 ---- a/gtk/gtkimmulticontext.c -+++ b/gtk/gtkimmulticontext.c -@@ -102,6 +102,8 @@ static gboolean gtk_im_multicontext_delete_surrounding_cb (GtkIMContext * - - static void propagate_purpose (GtkIMMulticontext *context); - -+static const gchar *global_context_id = NULL; -+ - G_DEFINE_TYPE_WITH_PRIVATE (GtkIMMulticontext, gtk_im_multicontext, GTK_TYPE_IM_CONTEXT) - - static void -@@ -254,7 +256,10 @@ get_effective_context_id (GtkIMMulticontext *multicontext) - if (priv->context_id_aux) - return priv->context_id_aux; - -- return _gtk_im_module_get_default_context_id (); -+ if (!global_context_id) -+ global_context_id = _gtk_im_module_get_default_context_id (); -+ -+ return global_context_id; - } - - static GtkIMContext * -@@ -262,6 +267,9 @@ gtk_im_multicontext_get_slave (GtkIMMulticontext *multicontext) - { - GtkIMMulticontextPrivate *priv = multicontext->priv; - -+ if (g_strcmp0 (priv->context_id, get_effective_context_id (multicontext)) != 0) -+ gtk_im_multicontext_set_slave (multicontext, NULL, FALSE); -+ - if (!priv->slave) - { - GtkIMContext *slave; -@@ -286,28 +294,20 @@ im_module_setting_changed (GtkSettings *settings, - GParamSpec *pspec, - GtkIMMulticontext *self) - { -- gtk_im_multicontext_set_slave (self, NULL, FALSE); -+ global_context_id = NULL; - } - -+ - static void - gtk_im_multicontext_set_client_window (GtkIMContext *context, - GdkWindow *window) - { -- GtkIMMulticontext *self = GTK_IM_MULTICONTEXT (context); -- GtkIMMulticontextPrivate *priv = self->priv; -+ GtkIMMulticontext *multicontext = GTK_IM_MULTICONTEXT (context); -+ GtkIMMulticontextPrivate *priv = multicontext->priv; - GtkIMContext *slave; - GdkScreen *screen; - GtkSettings *settings; -- -- if (priv->client_window != NULL) -- { -- screen = gdk_window_get_screen (priv->client_window); -- settings = gtk_settings_get_for_screen (screen); -- -- g_signal_handlers_disconnect_by_func (settings, -- im_module_setting_changed, -- self); -- } -+ gboolean connected; - - priv->client_window = window; - -@@ -316,12 +316,20 @@ gtk_im_multicontext_set_client_window (GtkIMContext *context, - screen = gdk_window_get_screen (window); - settings = gtk_settings_get_for_screen (screen); - -- g_signal_connect (settings, "notify::gtk-im-module", -- G_CALLBACK (im_module_setting_changed), -- self); -+ connected = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (settings), -+ "gtk-im-module-connected")); -+ if (!connected) -+ { -+ g_signal_connect (settings, "notify::gtk-im-module", -+ G_CALLBACK (im_module_setting_changed), NULL); -+ g_object_set_data (G_OBJECT (settings), "gtk-im-module-connected", -+ GINT_TO_POINTER (TRUE)); -+ -+ global_context_id = NULL; -+ } - } - -- slave = gtk_im_multicontext_get_slave (self); -+ slave = gtk_im_multicontext_get_slave (multicontext); - if (slave) - gtk_im_context_set_client_window (slave, window); - } -@@ -716,14 +724,9 @@ gtk_im_multicontext_append_menuitems (GtkIMMulticontext *context, - const char * - gtk_im_multicontext_get_context_id (GtkIMMulticontext *context) - { -- GtkIMMulticontextPrivate *priv = context->priv; -- - g_return_val_if_fail (GTK_IS_IM_MULTICONTEXT (context), NULL); - -- if (priv->context_id == NULL) -- gtk_im_multicontext_get_slave (context); -- -- return priv->context_id; -+ return context->priv->context_id; - } - - /** --- -GitLab diff --git a/x11-libs/gtk+/gtk+-3.24.42-r1.ebuild b/x11-libs/gtk+/gtk+-3.24.42-r1.ebuild deleted file mode 100644 index 12db5ed4c1ff..000000000000 --- a/x11-libs/gtk+/gtk+-3.24.42-r1.ebuild +++ /dev/null @@ -1,211 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit gnome2 meson-multilib multilib toolchain-funcs virtualx - -DESCRIPTION="Gimp ToolKit +" -HOMEPAGE="https://www.gtk.org/" - -LICENSE="LGPL-2+" -SLOT="3" -IUSE="aqua broadway cloudproviders colord cups examples gtk-doc +introspection sysprof test vim-syntax wayland +X xinerama" -REQUIRED_USE=" - || ( aqua wayland X ) - test? ( X ) - xinerama? ( X ) -" -RESTRICT="!test? ( test )" - -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-core-2.46.0[introspection?,${MULTILIB_USEDEP}] - >=dev-libs/fribidi-0.19.7[${MULTILIB_USEDEP}] - >=dev-libs/glib-2.57.2:2[${MULTILIB_USEDEP}] - media-libs/fontconfig[${MULTILIB_USEDEP}] - >=media-libs/harfbuzz-2.2.0:= - >=media-libs/libepoxy-1.4[X(+)?,egl(+),${MULTILIB_USEDEP}] - virtual/libintl[${MULTILIB_USEDEP}] - >=x11-libs/cairo-1.14[aqua?,glib,svg(+),X?,${MULTILIB_USEDEP}] - >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}] - >=x11-libs/pango-1.44.0[introspection?,${MULTILIB_USEDEP}] - x11-misc/shared-mime-info - - cloudproviders? ( net-libs/libcloudproviders[${MULTILIB_USEDEP}] ) - colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] ) - cups? ( >=net-print/cups-2.0[${MULTILIB_USEDEP}] ) - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) - wayland? ( - >=dev-libs/wayland-1.14.91[${MULTILIB_USEDEP}] - >=dev-libs/wayland-protocols-1.32 - media-libs/mesa[wayland,${MULTILIB_USEDEP}] - >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}] - ) - X? ( - media-libs/libglvnd[X(+),${MULTILIB_USEDEP}] - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXcomposite[${MULTILIB_USEDEP}] - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXdamage[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - >=x11-libs/libXi-1.8[${MULTILIB_USEDEP}] - >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}] - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - ) -" -DEPEND="${COMMON_DEPEND} - sysprof? ( >=dev-util/sysprof-capture-3.33.2:4[${MULTILIB_USEDEP}] ) - X? ( x11-base/xorg-proto ) -" -RDEPEND="${COMMON_DEPEND} - >=dev-util/gtk-update-icon-cache-3 -" -# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710 -PDEPEND=" - gnome-base/librsvg[${MULTILIB_USEDEP}] - >=x11-themes/adwaita-icon-theme-3.14 - vim-syntax? ( app-vim/gtk-syntax ) -" -BDEPEND=" - app-text/docbook-xml-dtd:4.1.2 - app-text/docbook-xsl-stylesheets - dev-libs/gobject-introspection-common - dev-libs/libxslt - >=dev-util/gdbus-codegen-2.48 - dev-util/glib-utils - >=dev-build/gtk-doc-am-1.20 - wayland? ( dev-util/wayland-scanner ) - >=sys-devel/gettext-0.19.7 - virtual/pkgconfig - x11-libs/gdk-pixbuf:2 - gtk-doc? ( - app-text/docbook-xml-dtd:4.3 - >=dev-util/gtk-doc-1.20 - ) - test? ( sys-apps/dbus ) -" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/gtk-query-immodules-3.0$(get_exeext) -) - -PATCHES=( - # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache - "${FILESDIR}"/${PN}-3.24.36-update-icon-cache.patch - # Gentoo-specific patch to add a "poison" macro support, allowing other ebuilds - # with USE="-wayland -X" to trick gtk into claiming that it wasn't built with - # such support. - # https://bugs.gentoo.org/624960 - "${FILESDIR}"/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch -) - -src_prepare() { - default - - # Force sysprof-capture-4 instead of checking sysprof-capture-3 first; either is - # fine as far as deps are concerned, as it static links, but sysprof-capture-3 - # links to glib which would be done statically if there's glib[static-libs], - # making the whole of gtk+ static link to glib instead of dynamic linking to glib. - sed -i -e "s/'sysprof-capture-3'/'sysprof-capture-4'/g" meson.build || die - - # The border-image-excess-size.ui test is known to fail on big-endian platforms - # See https://gitlab.gnome.org/GNOME/gtk/-/issues/5904 - if [[ $(tc-endian) == big ]]; then - sed -i \ - -e "/border-image-excess-size.ui/d" \ - -e "/^xfails =/a 'border-image-excess-size.ui'," \ - testsuite/reftests/meson.build || die - fi -} - -multilib_src_configure() { - local emesonargs=( - $(meson_use aqua quartz_backend) - $(meson_use broadway broadway_backend) - $(meson_use cloudproviders) - $(meson_use examples demos) - $(meson_use examples) - $(meson_native_use_bool gtk-doc gtk_doc) - $(meson_native_use_bool introspection) - $(meson_use sysprof profiler) - $(meson_use wayland wayland_backend) - $(meson_use X x11_backend) - -Dcolord=$(usex colord yes no) - -Dprint_backends=$(usex cups cups,file,lpr file,lpr) - -Dxinerama=$(usex xinerama yes no) - # Include backend immodules into gtk itself, to avoid problems like - # https://gitlab.gnome.org/GNOME/gnome-shell/issues/109 from a - # user overridden GTK_IM_MODULE envvar - -Dbuiltin_immodules=backend - -Dman=true - $(meson_use test tests) - -Dtracker3=false - ) - meson_src_configure -} - -multilib_src_compile() { - meson_src_compile -} - -multilib_src_test() { - virtx dbus-run-session meson test -C "${BUILD_DIR}" --timeout-multiplier 4 || die -} - -multilib_src_install() { - meson_src_install -} - -multilib_src_install_all() { - insinto /etc/gtk-3.0 - doins "${FILESDIR}"/settings.ini - # Skip README.win32.md that would get installed by default - DOCS=( NEWS README.md ) - einstalldocs -} - -pkg_preinst() { - gnome2_pkg_preinst - - multilib_pkg_preinst() { - # Make immodules.cache belongs to gtk+ alone - local cache="/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" - - if [[ -e ${EROOT}${cache} ]]; then - cp "${EROOT}${cache}" "${ED}${cache}" || die - else - touch "${ED}${cache}" || die - fi - } - multilib_parallel_foreach_abi multilib_pkg_preinst -} - -pkg_postinst() { - gnome2_pkg_postinst - - multilib_pkg_postinst() { - gnome2_query_immodules_gtk3 \ - || die "Update immodules cache failed (for ${ABI})" - } - multilib_parallel_foreach_abi multilib_pkg_postinst - - if ! has_version "app-text/evince"; then - elog "Please install app-text/evince for print preview functionality." - elog "Alternatively, check \"gtk-print-preview-command\" documentation and" - elog "add it to your settings.ini file." - fi -} - -pkg_postrm() { - gnome2_pkg_postrm - - if [[ -z ${REPLACED_BY_VERSION} ]]; then - multilib_pkg_postrm() { - rm -f "${EROOT}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" - } - multilib_foreach_abi multilib_pkg_postrm - fi -} diff --git a/x11-libs/gtk+/gtk+-3.24.48.ebuild b/x11-libs/gtk+/gtk+-3.24.48.ebuild deleted file mode 100644 index 7315415eae08..000000000000 --- a/x11-libs/gtk+/gtk+-3.24.48.ebuild +++ /dev/null @@ -1,214 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GNOME_ORG_MODULE=gtk -inherit gnome2 meson-multilib multilib toolchain-funcs virtualx - -DESCRIPTION="Gimp ToolKit +" -HOMEPAGE="https://www.gtk.org/" - -LICENSE="LGPL-2+" -SLOT="3" -IUSE="aqua broadway cloudproviders colord cups examples gtk-doc +introspection sysprof test vim-syntax wayland +X xinerama" -REQUIRED_USE=" - || ( aqua wayland X ) - test? ( X ) - xinerama? ( X ) -" -RESTRICT="!test? ( test )" - -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-core-2.46.0[introspection?,${MULTILIB_USEDEP}] - >=dev-libs/fribidi-0.19.7[${MULTILIB_USEDEP}] - >=dev-libs/glib-2.57.2:2[${MULTILIB_USEDEP}] - media-libs/fontconfig[${MULTILIB_USEDEP}] - >=media-libs/harfbuzz-2.2.0:= - >=media-libs/libepoxy-1.4[X(+)?,egl(+),${MULTILIB_USEDEP}] - virtual/libintl[${MULTILIB_USEDEP}] - >=x11-libs/cairo-1.14[aqua?,glib,svg(+),X?,${MULTILIB_USEDEP}] - >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}] - >=x11-libs/pango-1.44.0[introspection?,${MULTILIB_USEDEP}] - x11-misc/shared-mime-info - - cloudproviders? ( net-libs/libcloudproviders[${MULTILIB_USEDEP}] ) - colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] ) - cups? ( >=net-print/cups-2.0[${MULTILIB_USEDEP}] ) - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) - wayland? ( - >=dev-libs/wayland-1.14.91[${MULTILIB_USEDEP}] - >=dev-libs/wayland-protocols-1.32 - media-libs/mesa[wayland,${MULTILIB_USEDEP}] - >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}] - ) - X? ( - media-libs/libglvnd[X(+),${MULTILIB_USEDEP}] - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXcomposite[${MULTILIB_USEDEP}] - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXdamage[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - >=x11-libs/libXi-1.8[${MULTILIB_USEDEP}] - >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}] - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - ) -" -DEPEND="${COMMON_DEPEND} - sysprof? ( >=dev-util/sysprof-capture-3.33.2:4[${MULTILIB_USEDEP}] ) - X? ( x11-base/xorg-proto ) -" -RDEPEND="${COMMON_DEPEND} - >=dev-util/gtk-update-icon-cache-3 -" -# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710 -PDEPEND=" - gnome-base/librsvg[${MULTILIB_USEDEP}] - >=x11-themes/adwaita-icon-theme-3.14 - vim-syntax? ( app-vim/gtk-syntax ) -" -BDEPEND=" - app-text/docbook-xml-dtd:4.1.2 - app-text/docbook-xsl-stylesheets - dev-libs/gobject-introspection-common - dev-libs/libxslt - >=dev-util/gdbus-codegen-2.48 - dev-util/glib-utils - >=dev-build/gtk-doc-am-1.20 - wayland? ( dev-util/wayland-scanner ) - >=sys-devel/gettext-0.19.7 - virtual/pkgconfig - x11-libs/gdk-pixbuf:2 - gtk-doc? ( - app-text/docbook-xml-dtd:4.3 - >=dev-util/gtk-doc-1.20 - ) - test? ( sys-apps/dbus ) -" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/gtk-query-immodules-3.0$(get_exeext) -) - -PATCHES=( - # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache - "${FILESDIR}"/${PN}-3.24.36-update-icon-cache.patch - # Gentoo-specific patch to add a "poison" macro support, allowing other ebuilds - # with USE="-wayland -X" to trick gtk into claiming that it wasn't built with - # such support. - # https://bugs.gentoo.org/624960 - "${FILESDIR}"/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch - # Backport from 3.24 branch - "${FILESDIR}"/${P}-signal-handler.patch -) - -src_prepare() { - default - - # Force sysprof-capture-4 instead of checking sysprof-capture-3 first; either is - # fine as far as deps are concerned, as it static links, but sysprof-capture-3 - # links to glib which would be done statically if there's glib[static-libs], - # making the whole of gtk+ static link to glib instead of dynamic linking to glib. - sed -i -e "s/'sysprof-capture-3'/'sysprof-capture-4'/g" meson.build || die - - # The border-image-excess-size.ui test is known to fail on big-endian platforms - # See https://gitlab.gnome.org/GNOME/gtk/-/issues/5904 - if [[ $(tc-endian) == big ]]; then - sed -i \ - -e "/border-image-excess-size.ui/d" \ - -e "/^xfails =/a 'border-image-excess-size.ui'," \ - testsuite/reftests/meson.build || die - fi -} - -multilib_src_configure() { - local emesonargs=( - $(meson_use aqua quartz_backend) - $(meson_use broadway broadway_backend) - $(meson_use cloudproviders) - $(meson_use examples demos) - $(meson_use examples) - $(meson_native_use_bool gtk-doc gtk_doc) - $(meson_native_use_bool introspection) - $(meson_use sysprof profiler) - $(meson_use wayland wayland_backend) - $(meson_use X x11_backend) - -Dcolord=$(usex colord yes no) - -Dprint_backends=$(usex cups cups,file,lpr file,lpr) - -Dxinerama=$(usex xinerama yes no) - # Include backend immodules into gtk itself, to avoid problems like - # https://gitlab.gnome.org/GNOME/gnome-shell/issues/109 from a - # user overridden GTK_IM_MODULE envvar - -Dbuiltin_immodules=backend - -Dman=true - $(meson_use test tests) - -Dtracker3=false - ) - meson_src_configure -} - -multilib_src_compile() { - meson_src_compile -} - -multilib_src_test() { - virtx dbus-run-session meson test -C "${BUILD_DIR}" --timeout-multiplier 4 || die -} - -multilib_src_install() { - meson_src_install -} - -multilib_src_install_all() { - insinto /etc/gtk-3.0 - doins "${FILESDIR}"/settings.ini - # Skip README.win32.md that would get installed by default - DOCS=( NEWS README.md ) - einstalldocs -} - -pkg_preinst() { - gnome2_pkg_preinst - - multilib_pkg_preinst() { - # Make immodules.cache belongs to gtk+ alone - local cache="/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" - - if [[ -e ${EROOT}${cache} ]]; then - cp "${EROOT}${cache}" "${ED}${cache}" || die - else - touch "${ED}${cache}" || die - fi - } - multilib_parallel_foreach_abi multilib_pkg_preinst -} - -pkg_postinst() { - gnome2_pkg_postinst - - multilib_pkg_postinst() { - gnome2_query_immodules_gtk3 \ - || die "Update immodules cache failed (for ${ABI})" - } - multilib_parallel_foreach_abi multilib_pkg_postinst - - if ! has_version "app-text/evince"; then - elog "Please install app-text/evince for print preview functionality." - elog "Alternatively, check \"gtk-print-preview-command\" documentation and" - elog "add it to your settings.ini file." - fi -} - -pkg_postrm() { - gnome2_pkg_postrm - - if [[ -z ${REPLACED_BY_VERSION} ]]; then - multilib_pkg_postrm() { - rm -f "${EROOT}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" - } - multilib_foreach_abi multilib_pkg_postrm - fi -} diff --git a/x11-libs/gtk+/gtk+-3.24.49-r1.ebuild b/x11-libs/gtk+/gtk+-3.24.49-r1.ebuild deleted file mode 100644 index 4b3e735641c3..000000000000 --- a/x11-libs/gtk+/gtk+-3.24.49-r1.ebuild +++ /dev/null @@ -1,214 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GNOME_ORG_MODULE=gtk -inherit gnome2 meson-multilib multilib toolchain-funcs virtualx - -DESCRIPTION="Gimp ToolKit +" -HOMEPAGE="https://www.gtk.org/" - -LICENSE="LGPL-2+" -SLOT="3" -IUSE="aqua broadway cloudproviders colord cups examples gtk-doc +introspection sysprof test vim-syntax wayland +X xinerama" -REQUIRED_USE=" - || ( aqua wayland X ) - test? ( X ) - xinerama? ( X ) -" -RESTRICT="!test? ( test )" - -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-core-2.46.0[introspection?,${MULTILIB_USEDEP}] - >=dev-libs/fribidi-0.19.7[${MULTILIB_USEDEP}] - >=dev-libs/glib-2.57.2:2[${MULTILIB_USEDEP}] - media-libs/fontconfig[${MULTILIB_USEDEP}] - >=media-libs/harfbuzz-2.2.0:= - >=media-libs/libepoxy-1.4[X(+)?,egl(+),${MULTILIB_USEDEP}] - virtual/libintl[${MULTILIB_USEDEP}] - >=x11-libs/cairo-1.14[aqua?,glib,svg(+),X?,${MULTILIB_USEDEP}] - >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}] - >=x11-libs/pango-1.44.0[introspection?,${MULTILIB_USEDEP}] - x11-misc/shared-mime-info - - cloudproviders? ( net-libs/libcloudproviders[${MULTILIB_USEDEP}] ) - colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] ) - cups? ( >=net-print/cups-2.0[${MULTILIB_USEDEP}] ) - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) - wayland? ( - >=dev-libs/wayland-1.14.91[${MULTILIB_USEDEP}] - >=dev-libs/wayland-protocols-1.32 - media-libs/mesa[wayland,${MULTILIB_USEDEP}] - >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}] - ) - X? ( - media-libs/libglvnd[X(+),${MULTILIB_USEDEP}] - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXcomposite[${MULTILIB_USEDEP}] - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXdamage[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - >=x11-libs/libXi-1.8[${MULTILIB_USEDEP}] - >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}] - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - ) -" -DEPEND="${COMMON_DEPEND} - sysprof? ( >=dev-util/sysprof-capture-3.33.2:4[${MULTILIB_USEDEP}] ) - X? ( x11-base/xorg-proto ) -" -RDEPEND="${COMMON_DEPEND} - >=dev-util/gtk-update-icon-cache-3 -" -# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710 -PDEPEND=" - gnome-base/librsvg[${MULTILIB_USEDEP}] - >=x11-themes/adwaita-icon-theme-3.14 - vim-syntax? ( app-vim/gtk-syntax ) -" -BDEPEND=" - app-text/docbook-xml-dtd:4.1.2 - app-text/docbook-xsl-stylesheets - dev-libs/gobject-introspection-common - dev-libs/libxslt - >=dev-util/gdbus-codegen-2.48 - dev-util/glib-utils - >=dev-build/gtk-doc-am-1.20 - wayland? ( dev-util/wayland-scanner ) - >=sys-devel/gettext-0.19.7 - virtual/pkgconfig - x11-libs/gdk-pixbuf:2 - gtk-doc? ( - app-text/docbook-xml-dtd:4.3 - >=dev-util/gtk-doc-1.20 - ) - test? ( sys-apps/dbus ) -" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/gtk-query-immodules-3.0$(get_exeext) -) - -PATCHES=( - # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache - "${FILESDIR}"/${PN}-3.24.36-update-icon-cache.patch - # Gentoo-specific patch to add a "poison" macro support, allowing other ebuilds - # with USE="-wayland -X" to trick gtk into claiming that it wasn't built with - # such support. - # https://bugs.gentoo.org/624960 - "${FILESDIR}"/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch - # bug #952006 - "${FILESDIR}"/${PN}-3.24.49-java-crash.patch -) - -src_prepare() { - default - - # Force sysprof-capture-4 instead of checking sysprof-capture-3 first; either is - # fine as far as deps are concerned, as it static links, but sysprof-capture-3 - # links to glib which would be done statically if there's glib[static-libs], - # making the whole of gtk+ static link to glib instead of dynamic linking to glib. - sed -i -e "s/'sysprof-capture-3'/'sysprof-capture-4'/g" meson.build || die - - # The border-image-excess-size.ui test is known to fail on big-endian platforms - # See https://gitlab.gnome.org/GNOME/gtk/-/issues/5904 - if [[ $(tc-endian) == big ]]; then - sed -i \ - -e "/border-image-excess-size.ui/d" \ - -e "/^xfails =/a 'border-image-excess-size.ui'," \ - testsuite/reftests/meson.build || die - fi -} - -multilib_src_configure() { - local emesonargs=( - $(meson_use aqua quartz_backend) - $(meson_use broadway broadway_backend) - $(meson_use cloudproviders) - $(meson_use examples demos) - $(meson_use examples) - $(meson_native_use_bool gtk-doc gtk_doc) - $(meson_native_use_bool introspection) - $(meson_use sysprof profiler) - $(meson_use wayland wayland_backend) - $(meson_use X x11_backend) - -Dcolord=$(usex colord yes no) - -Dprint_backends=$(usex cups cups,file,lpr file,lpr) - -Dxinerama=$(usex xinerama yes no) - # Include backend immodules into gtk itself, to avoid problems like - # https://gitlab.gnome.org/GNOME/gnome-shell/issues/109 from a - # user overridden GTK_IM_MODULE envvar - -Dbuiltin_immodules=backend - -Dman=true - $(meson_use test tests) - -Dtracker3=false - ) - meson_src_configure -} - -multilib_src_compile() { - meson_src_compile -} - -multilib_src_test() { - virtx dbus-run-session meson test -C "${BUILD_DIR}" --timeout-multiplier 4 || die -} - -multilib_src_install() { - meson_src_install -} - -multilib_src_install_all() { - insinto /etc/gtk-3.0 - doins "${FILESDIR}"/settings.ini - # Skip README.win32.md that would get installed by default - DOCS=( NEWS README.md ) - einstalldocs -} - -pkg_preinst() { - gnome2_pkg_preinst - - multilib_pkg_preinst() { - # Make immodules.cache belongs to gtk+ alone - local cache="/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" - - if [[ -e ${EROOT}${cache} ]]; then - cp "${EROOT}${cache}" "${ED}${cache}" || die - else - touch "${ED}${cache}" || die - fi - } - multilib_parallel_foreach_abi multilib_pkg_preinst -} - -pkg_postinst() { - gnome2_pkg_postinst - - multilib_pkg_postinst() { - gnome2_query_immodules_gtk3 \ - || die "Update immodules cache failed (for ${ABI})" - } - multilib_parallel_foreach_abi multilib_pkg_postinst - - if ! has_version "app-text/evince"; then - elog "Please install app-text/evince for print preview functionality." - elog "Alternatively, check \"gtk-print-preview-command\" documentation and" - elog "add it to your settings.ini file." - fi -} - -pkg_postrm() { - gnome2_pkg_postrm - - if [[ -z ${REPLACED_BY_VERSION} ]]; then - multilib_pkg_postrm() { - rm -f "${EROOT}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" - } - multilib_foreach_abi multilib_pkg_postrm - fi -} diff --git a/x11-libs/gtk+/gtk+-3.24.49.ebuild b/x11-libs/gtk+/gtk+-3.24.49.ebuild deleted file mode 100644 index ab6274d10512..000000000000 --- a/x11-libs/gtk+/gtk+-3.24.49.ebuild +++ /dev/null @@ -1,212 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GNOME_ORG_MODULE=gtk -inherit gnome2 meson-multilib multilib toolchain-funcs virtualx - -DESCRIPTION="Gimp ToolKit +" -HOMEPAGE="https://www.gtk.org/" - -LICENSE="LGPL-2+" -SLOT="3" -IUSE="aqua broadway cloudproviders colord cups examples gtk-doc +introspection sysprof test vim-syntax wayland +X xinerama" -REQUIRED_USE=" - || ( aqua wayland X ) - test? ( X ) - xinerama? ( X ) -" -RESTRICT="!test? ( test )" - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-core-2.46.0[introspection?,${MULTILIB_USEDEP}] - >=dev-libs/fribidi-0.19.7[${MULTILIB_USEDEP}] - >=dev-libs/glib-2.57.2:2[${MULTILIB_USEDEP}] - media-libs/fontconfig[${MULTILIB_USEDEP}] - >=media-libs/harfbuzz-2.2.0:= - >=media-libs/libepoxy-1.4[X(+)?,egl(+),${MULTILIB_USEDEP}] - virtual/libintl[${MULTILIB_USEDEP}] - >=x11-libs/cairo-1.14[aqua?,glib,svg(+),X?,${MULTILIB_USEDEP}] - >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}] - >=x11-libs/pango-1.44.0[introspection?,${MULTILIB_USEDEP}] - x11-misc/shared-mime-info - - cloudproviders? ( net-libs/libcloudproviders[${MULTILIB_USEDEP}] ) - colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] ) - cups? ( >=net-print/cups-2.0[${MULTILIB_USEDEP}] ) - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) - wayland? ( - >=dev-libs/wayland-1.14.91[${MULTILIB_USEDEP}] - >=dev-libs/wayland-protocols-1.32 - media-libs/mesa[wayland,${MULTILIB_USEDEP}] - >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}] - ) - X? ( - media-libs/libglvnd[X(+),${MULTILIB_USEDEP}] - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXcomposite[${MULTILIB_USEDEP}] - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXdamage[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - >=x11-libs/libXi-1.8[${MULTILIB_USEDEP}] - >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}] - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - ) -" -DEPEND="${COMMON_DEPEND} - sysprof? ( >=dev-util/sysprof-capture-3.33.2:4[${MULTILIB_USEDEP}] ) - X? ( x11-base/xorg-proto ) -" -RDEPEND="${COMMON_DEPEND} - >=dev-util/gtk-update-icon-cache-3 -" -# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710 -PDEPEND=" - gnome-base/librsvg[${MULTILIB_USEDEP}] - >=x11-themes/adwaita-icon-theme-3.14 - vim-syntax? ( app-vim/gtk-syntax ) -" -BDEPEND=" - app-text/docbook-xml-dtd:4.1.2 - app-text/docbook-xsl-stylesheets - dev-libs/gobject-introspection-common - dev-libs/libxslt - >=dev-util/gdbus-codegen-2.48 - dev-util/glib-utils - >=dev-build/gtk-doc-am-1.20 - wayland? ( dev-util/wayland-scanner ) - >=sys-devel/gettext-0.19.7 - virtual/pkgconfig - x11-libs/gdk-pixbuf:2 - gtk-doc? ( - app-text/docbook-xml-dtd:4.3 - >=dev-util/gtk-doc-1.20 - ) - test? ( sys-apps/dbus ) -" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/gtk-query-immodules-3.0$(get_exeext) -) - -PATCHES=( - # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache - "${FILESDIR}"/${PN}-3.24.36-update-icon-cache.patch - # Gentoo-specific patch to add a "poison" macro support, allowing other ebuilds - # with USE="-wayland -X" to trick gtk into claiming that it wasn't built with - # such support. - # https://bugs.gentoo.org/624960 - "${FILESDIR}"/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch -) - -src_prepare() { - default - - # Force sysprof-capture-4 instead of checking sysprof-capture-3 first; either is - # fine as far as deps are concerned, as it static links, but sysprof-capture-3 - # links to glib which would be done statically if there's glib[static-libs], - # making the whole of gtk+ static link to glib instead of dynamic linking to glib. - sed -i -e "s/'sysprof-capture-3'/'sysprof-capture-4'/g" meson.build || die - - # The border-image-excess-size.ui test is known to fail on big-endian platforms - # See https://gitlab.gnome.org/GNOME/gtk/-/issues/5904 - if [[ $(tc-endian) == big ]]; then - sed -i \ - -e "/border-image-excess-size.ui/d" \ - -e "/^xfails =/a 'border-image-excess-size.ui'," \ - testsuite/reftests/meson.build || die - fi -} - -multilib_src_configure() { - local emesonargs=( - $(meson_use aqua quartz_backend) - $(meson_use broadway broadway_backend) - $(meson_use cloudproviders) - $(meson_use examples demos) - $(meson_use examples) - $(meson_native_use_bool gtk-doc gtk_doc) - $(meson_native_use_bool introspection) - $(meson_use sysprof profiler) - $(meson_use wayland wayland_backend) - $(meson_use X x11_backend) - -Dcolord=$(usex colord yes no) - -Dprint_backends=$(usex cups cups,file,lpr file,lpr) - -Dxinerama=$(usex xinerama yes no) - # Include backend immodules into gtk itself, to avoid problems like - # https://gitlab.gnome.org/GNOME/gnome-shell/issues/109 from a - # user overridden GTK_IM_MODULE envvar - -Dbuiltin_immodules=backend - -Dman=true - $(meson_use test tests) - -Dtracker3=false - ) - meson_src_configure -} - -multilib_src_compile() { - meson_src_compile -} - -multilib_src_test() { - virtx dbus-run-session meson test -C "${BUILD_DIR}" --timeout-multiplier 4 || die -} - -multilib_src_install() { - meson_src_install -} - -multilib_src_install_all() { - insinto /etc/gtk-3.0 - doins "${FILESDIR}"/settings.ini - # Skip README.win32.md that would get installed by default - DOCS=( NEWS README.md ) - einstalldocs -} - -pkg_preinst() { - gnome2_pkg_preinst - - multilib_pkg_preinst() { - # Make immodules.cache belongs to gtk+ alone - local cache="/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" - - if [[ -e ${EROOT}${cache} ]]; then - cp "${EROOT}${cache}" "${ED}${cache}" || die - else - touch "${ED}${cache}" || die - fi - } - multilib_parallel_foreach_abi multilib_pkg_preinst -} - -pkg_postinst() { - gnome2_pkg_postinst - - multilib_pkg_postinst() { - gnome2_query_immodules_gtk3 \ - || die "Update immodules cache failed (for ${ABI})" - } - multilib_parallel_foreach_abi multilib_pkg_postinst - - if ! has_version "app-text/evince"; then - elog "Please install app-text/evince for print preview functionality." - elog "Alternatively, check \"gtk-print-preview-command\" documentation and" - elog "add it to your settings.ini file." - fi -} - -pkg_postrm() { - gnome2_pkg_postrm - - if [[ -z ${REPLACED_BY_VERSION} ]]; then - multilib_pkg_postrm() { - rm -f "${EROOT}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" - } - multilib_foreach_abi multilib_pkg_postrm - fi -} diff --git a/x11-libs/gtk+/gtk+-3.24.50.ebuild b/x11-libs/gtk+/gtk+-3.24.50.ebuild deleted file mode 100644 index 1017c1e7aa9c..000000000000 --- a/x11-libs/gtk+/gtk+-3.24.50.ebuild +++ /dev/null @@ -1,212 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GNOME_ORG_MODULE=gtk -inherit gnome2 meson-multilib multilib toolchain-funcs virtualx - -DESCRIPTION="Gimp ToolKit +" -HOMEPAGE="https://www.gtk.org/" - -LICENSE="LGPL-2+" -SLOT="3" -IUSE="aqua broadway cloudproviders colord cups examples gtk-doc +introspection sysprof test vim-syntax wayland +X xinerama" -REQUIRED_USE=" - || ( aqua wayland X ) - test? ( X ) - xinerama? ( X ) -" -RESTRICT="!test? ( test )" - -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-core-2.46.0[introspection?,${MULTILIB_USEDEP}] - >=dev-libs/fribidi-0.19.7[${MULTILIB_USEDEP}] - >=dev-libs/glib-2.57.2:2[${MULTILIB_USEDEP}] - media-libs/fontconfig[${MULTILIB_USEDEP}] - >=media-libs/harfbuzz-2.2.0:= - >=media-libs/libepoxy-1.4[X(+)?,egl(+),${MULTILIB_USEDEP}] - virtual/libintl[${MULTILIB_USEDEP}] - >=x11-libs/cairo-1.14[aqua?,glib,svg(+),X?,${MULTILIB_USEDEP}] - >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}] - >=x11-libs/pango-1.44.0[introspection?,${MULTILIB_USEDEP}] - x11-misc/shared-mime-info - - cloudproviders? ( net-libs/libcloudproviders[${MULTILIB_USEDEP}] ) - colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] ) - cups? ( >=net-print/cups-2.0[${MULTILIB_USEDEP}] ) - introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) - wayland? ( - >=dev-libs/wayland-1.14.91[${MULTILIB_USEDEP}] - >=dev-libs/wayland-protocols-1.32 - media-libs/mesa[wayland,${MULTILIB_USEDEP}] - >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}] - ) - X? ( - media-libs/libglvnd[X(+),${MULTILIB_USEDEP}] - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXcomposite[${MULTILIB_USEDEP}] - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXdamage[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - >=x11-libs/libXi-1.8[${MULTILIB_USEDEP}] - >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}] - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - ) -" -DEPEND="${COMMON_DEPEND} - sysprof? ( >=dev-util/sysprof-capture-3.33.2:4[${MULTILIB_USEDEP}] ) - X? ( x11-base/xorg-proto ) -" -RDEPEND="${COMMON_DEPEND} - >=dev-util/gtk-update-icon-cache-3 -" -# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710 -PDEPEND=" - gnome-base/librsvg[${MULTILIB_USEDEP}] - >=x11-themes/adwaita-icon-theme-3.14 - vim-syntax? ( app-vim/gtk-syntax ) -" -BDEPEND=" - app-text/docbook-xml-dtd:4.1.2 - app-text/docbook-xsl-stylesheets - dev-libs/gobject-introspection-common - dev-libs/libxslt - >=dev-util/gdbus-codegen-2.48 - dev-util/glib-utils - >=dev-build/gtk-doc-am-1.20 - wayland? ( dev-util/wayland-scanner ) - >=sys-devel/gettext-0.19.7 - virtual/pkgconfig - x11-libs/gdk-pixbuf:2 - gtk-doc? ( - app-text/docbook-xml-dtd:4.3 - >=dev-util/gtk-doc-1.20 - ) - test? ( sys-apps/dbus ) -" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/gtk-query-immodules-3.0$(get_exeext) -) - -PATCHES=( - # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache - "${FILESDIR}"/${PN}-3.24.36-update-icon-cache.patch - # Gentoo-specific patch to add a "poison" macro support, allowing other ebuilds - # with USE="-wayland -X" to trick gtk into claiming that it wasn't built with - # such support. - # https://bugs.gentoo.org/624960 - "${FILESDIR}"/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch -) - -src_prepare() { - default - - # Force sysprof-capture-4 instead of checking sysprof-capture-3 first; either is - # fine as far as deps are concerned, as it static links, but sysprof-capture-3 - # links to glib which would be done statically if there's glib[static-libs], - # making the whole of gtk+ static link to glib instead of dynamic linking to glib. - sed -i -e "s/'sysprof-capture-3'/'sysprof-capture-4'/g" meson.build || die - - # The border-image-excess-size.ui test is known to fail on big-endian platforms - # See https://gitlab.gnome.org/GNOME/gtk/-/issues/5904 - if [[ $(tc-endian) == big ]]; then - sed -i \ - -e "/border-image-excess-size.ui/d" \ - -e "/^xfails =/a 'border-image-excess-size.ui'," \ - testsuite/reftests/meson.build || die - fi -} - -multilib_src_configure() { - local emesonargs=( - $(meson_use aqua quartz_backend) - $(meson_use broadway broadway_backend) - $(meson_use cloudproviders) - $(meson_use examples demos) - $(meson_use examples) - $(meson_native_use_bool gtk-doc gtk_doc) - $(meson_native_use_bool introspection) - $(meson_use sysprof profiler) - $(meson_use wayland wayland_backend) - $(meson_use X x11_backend) - -Dcolord=$(usex colord yes no) - -Dprint_backends=$(usex cups cups,file,lpr file,lpr) - -Dxinerama=$(usex xinerama yes no) - # Include backend immodules into gtk itself, to avoid problems like - # https://gitlab.gnome.org/GNOME/gnome-shell/issues/109 from a - # user overridden GTK_IM_MODULE envvar - -Dbuiltin_immodules=backend - -Dman=true - $(meson_use test tests) - -Dtracker3=false - ) - meson_src_configure -} - -multilib_src_compile() { - meson_src_compile -} - -multilib_src_test() { - virtx dbus-run-session meson test -C "${BUILD_DIR}" --timeout-multiplier 4 || die -} - -multilib_src_install() { - meson_src_install -} - -multilib_src_install_all() { - insinto /etc/gtk-3.0 - doins "${FILESDIR}"/settings.ini - # Skip README.win32.md that would get installed by default - DOCS=( NEWS README.md ) - einstalldocs -} - -pkg_preinst() { - gnome2_pkg_preinst - - multilib_pkg_preinst() { - # Make immodules.cache belongs to gtk+ alone - local cache="/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" - - if [[ -e ${EROOT}${cache} ]]; then - cp "${EROOT}${cache}" "${ED}${cache}" || die - else - touch "${ED}${cache}" || die - fi - } - multilib_parallel_foreach_abi multilib_pkg_preinst -} - -pkg_postinst() { - gnome2_pkg_postinst - - multilib_pkg_postinst() { - gnome2_query_immodules_gtk3 \ - || die "Update immodules cache failed (for ${ABI})" - } - multilib_parallel_foreach_abi multilib_pkg_postinst - - if ! has_version "app-text/evince"; then - elog "Please install app-text/evince for print preview functionality." - elog "Alternatively, check \"gtk-print-preview-command\" documentation and" - elog "add it to your settings.ini file." - fi -} - -pkg_postrm() { - gnome2_pkg_postrm - - if [[ -z ${REPLACED_BY_VERSION} ]]; then - multilib_pkg_postrm() { - rm -f "${EROOT}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" - } - multilib_foreach_abi multilib_pkg_postrm - fi -}
