summaryrefslogtreecommitdiff
path: root/gui-libs/gtk
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 11:50:53 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 11:50:53 -0500
commit290aebdea65a02557706eaeda477fef0437b6a48 (patch)
treef87a939169a508a2e943570501b64cc16b411cda /gui-libs/gtk
parent6783ddcd4b73d9ce586a71770caed352bec93b16 (diff)
downloadbaldeagleos-repo-290aebdea65a02557706eaeda477fef0437b6a48.tar.gz
baldeagleos-repo-290aebdea65a02557706eaeda477fef0437b6a48.tar.xz
baldeagleos-repo-290aebdea65a02557706eaeda477fef0437b6a48.zip
Adding metadata
Diffstat (limited to 'gui-libs/gtk')
-rw-r--r--gui-libs/gtk/Manifest3
-rw-r--r--gui-libs/gtk/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_ge_4.18.5.patch93
-rw-r--r--gui-libs/gtk/files/gtk-4.20.3-32-bit.patch81
-rw-r--r--gui-libs/gtk/gtk-4.18.6-r1.ebuild294
-rw-r--r--gui-libs/gtk/gtk-4.20.3-r2.ebuild301
-rw-r--r--gui-libs/gtk/gtk-4.20.4.ebuild299
-rw-r--r--gui-libs/gtk/metadata.xml19
7 files changed, 0 insertions, 1090 deletions
diff --git a/gui-libs/gtk/Manifest b/gui-libs/gtk/Manifest
deleted file mode 100644
index b7e95f150b93..000000000000
--- a/gui-libs/gtk/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST gtk-4.18.6.tar.xz 17710412 BLAKE2B 8666ae72e35a9cc0686082ee054fab62ef737651015cdda85613a7d087d7649621203f98b72bf69bbd0f8191c065a26130030c6c48cfcb0b6ba1de775ff4e162 SHA512 636bc3adf01f444dfbf10a3fdce82cdd7b2914b9ff251e98e006a987c3216ef22f5ae8759aa5f2385d1e82813ab8bf2c8adc4f8d6db230e9f507b44fac10e359
-DIST gtk-4.20.3.tar.xz 16003020 BLAKE2B 71b04ea11bfb7ba1d8532c0fac1b76ba5bf39bd3eb537c093885d2cf718d4bcb2f706a845a5893cb03fb516d1ec6a323505f7287d1ecd7d06e703f15dcaf3dcb SHA512 9ae8d2fb6fc6b3780587e70cbf4bff972dd36eedce79d91de874cc813ba3cb100ce6cce076e063e4606e0e32aa51d05c625dd272d5766190045f32b3754368f1
-DIST gtk-4.20.4.tar.xz 16019448 BLAKE2B 2f82ebecb6b61de6bca8f0b0b6071234202cc3dd9cd0d8a7c4418b92267d0b51b222f58a192862cdb9c149a5e62ac6e42d5eeb51fbf881a3ace2fabeaad59edc SHA512 b11c9e09d1fe5a09b1f6a794b4f538921def361cd2e409abd079c81978749777708d78ed10446defca2acb9cd94f046060b4206ab059e0f44ad667f7ab477727
diff --git a/gui-libs/gtk/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_ge_4.18.5.patch b/gui-libs/gtk/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_ge_4.18.5.patch
deleted file mode 100644
index 18b6dc425b2f..000000000000
--- a/gui-libs/gtk/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_ge_4.18.5.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From e00bc31abbc489f1787cd5b2d5c441dbb82ed03a Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz93@gmail.com>
-Date: Wed, 19 Jun 2024 21:28:31 -0400
-Subject: [PATCH] gdk: add a "poison" macro to hide GDK_WINDOWING_*
-
-Many packages perform automagic dependencies on gdk's backend
-implementations by checking if the macro is defined and then using the
-code it unlocks, rather than having a buildsystem option such as
--Dwayland=true.
-
-It's unfeasible to patch every such package's source code to add
-configure options and respect them. Instead add a truly filthy hack and
-permit gtk itself to selectively show or hide the windowing system in
-use.
-
-By default, we assume this macro is never defined. It should only ever
-be defined inside an ebuild, as such:
-
-```
-use wayland || append-cflags -DGENTOO_GTK_HIDE_WAYLAND
-use X || append-cflags -DGENTOO_GTK_HIDE_X11
-```
-
-When seen, this will prevent code using "#ifdef GDK_WINDOWING_*" from
-seeing the define, so the automagic dependency won't be picked up. It
-will also cause any attempt to #include the backend-specific headers to
-bug out.
-
-Bug: https://bugs.gentoo.org/624960
-Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
-Signed-off-by: Lukas Schmelting <lschmelting@posteo.com>
----
- gdk/gdkconfig.h.meson | 7 +++++++
- gdk/wayland/gdkwayland.h | 4 ++++
- gdk/x11/gdkx.h | 4 ++++
- 3 files changed, 15 insertions(+)
-
-diff --git a/gdk/gdkconfig.h.meson b/gdk/gdkconfig.h.meson
-index 17276e0..03cf61c 100644
---- a/gdk/gdkconfig.h.meson
-+++ b/gdk/gdkconfig.h.meson
-@@ -10,11 +10,18 @@
- G_BEGIN_DECLS
-
-
-+#ifndef GENTOO_GTK_HIDE_X11
- #mesondefine GDK_WINDOWING_X11
-+#endif
-+
- #mesondefine GDK_WINDOWING_ANDROID
- #mesondefine GDK_WINDOWING_BROADWAY
- #mesondefine GDK_WINDOWING_MACOS
-+
-+#ifndef GENTOO_GTK_HIDE_WAYLAND
- #mesondefine GDK_WINDOWING_WAYLAND
-+#endif
-+
- #mesondefine GDK_WINDOWING_WIN32
-
- #mesondefine GDK_RENDERING_CAIRO
-diff --git a/gdk/wayland/gdkwayland.h b/gdk/wayland/gdkwayland.h
-index 8464459..5d84619 100644
---- a/gdk/wayland/gdkwayland.h
-+++ b/gdk/wayland/gdkwayland.h
-@@ -24,6 +24,10 @@
-
- #pragma once
-
-+#ifdef GENTOO_GTK_HIDE_WAYLAND
-+ #error "A Gentoo ebuild has hidden wayland and it cannot be used in this compilation unit. Please file a bug if you see this error."
-+#endif
-+
- #include <gdk/gdk.h>
-
- #define __GDKWAYLAND_H_INSIDE__
-diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
-index 6bef6b6..d4f8b94 100644
---- a/gdk/x11/gdkx.h
-+++ b/gdk/x11/gdkx.h
-@@ -24,6 +24,10 @@
-
- #pragma once
-
-+#ifdef GENTOO_GTK_HIDE_X11
-+ #error "A Gentoo ebuild has hidden x11 and it cannot be used in this compilation unit. Please file a bug if you see this error."
-+#endif
-+
- #include <gdk/gdk.h>
-
- #include <X11/Xlib.h>
---
-2.49.0
-
diff --git a/gui-libs/gtk/files/gtk-4.20.3-32-bit.patch b/gui-libs/gtk/files/gtk-4.20.3-32-bit.patch
deleted file mode 100644
index fe63cfcce103..000000000000
--- a/gui-libs/gtk/files/gtk-4.20.3-32-bit.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-https://gitlab.gnome.org/GNOME/gtk/-/issues/7883
-https://gitlab.gnome.org/GNOME/gtk/-/commit/3b7ed49f26700c65fa9c6f41cf40d4fd5f921756
-
-From af9440dea029d225adcfc1f9024a1122e9abb006 Mon Sep 17 00:00:00 2001
-From: Benjamin Otte <otte@redhat.com>
-Date: Fri, 21 Nov 2025 10:07:31 +0100
-Subject: [PATCH 1/2] vulkan: Don't treat Vulkan objects as pointers or 32bit
- breaks
-
-Fixes: #7883
-Part-of: <https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/9171>
----
- gdk/gdkvulkancontext.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gdk/gdkvulkancontext.c b/gdk/gdkvulkancontext.c
-index 541842bfa50..26393892f04 100644
---- a/gdk/gdkvulkancontext.c
-+++ b/gdk/gdkvulkancontext.c
-@@ -688,7 +688,7 @@ gdk_vulkan_present_is_busy (GdkVulkanContext *self,
- {
- VkResult res;
-
-- if (present->vk_swapchain == NULL)
-+ if (!present->vk_swapchain)
- return FALSE;
-
- if (!present->vk_fence)
-@@ -1208,7 +1208,7 @@ gdk_vulkan_context_surface_detach (GdkDrawContext *context)
- if (priv->presents[i].vk_swapchain)
- {
- gdk_vulkan_context_unref_swapchain (self, priv->presents[i].vk_swapchain);
-- priv->presents[i].vk_swapchain = NULL;
-+ priv->presents[i].vk_swapchain = VK_NULL_HANDLE;
- }
- vkDestroySemaphore (vk_device,
- priv->presents[i].vk_semaphore,
---
-GitLab
-
-
-From 1f9e80c8c0e7440f6d2256fbf8ead29c44a83b90 Mon Sep 17 00:00:00 2001
-From: Benjamin Otte <otte@redhat.com>
-Date: Fri, 21 Nov 2025 10:08:12 +0100
-Subject: [PATCH 2/2] Fix a few profiler messges for 32bit
-
-Related: #7883
-Part-of: <https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/9171>
----
- gdk/gdkmemoryformat.c | 2 +-
- gdk/gdkvulkancontext.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gdk/gdkmemoryformat.c b/gdk/gdkmemoryformat.c
-index 03f30448113..04f6057104d 100644
---- a/gdk/gdkmemoryformat.c
-+++ b/gdk/gdkmemoryformat.c
-@@ -6620,7 +6620,7 @@ gdk_memory_mipmap_same_format_linear (gpointer data)
- }
-
- ADD_MARK (before,
-- "Mipmap linear (thread)", "size %lux%lu, lod %u, %lu rows",
-+ "Mipmap linear (thread)", "size %zux%zu, lod %u, %zu rows",
- mipmap->src_layout.width, mipmap->src_layout.height, mipmap->lod_level, rows);
- }
-
-diff --git a/gdk/gdkvulkancontext.c b/gdk/gdkvulkancontext.c
-index 26393892f04..c39774bf9d6 100644
---- a/gdk/gdkvulkancontext.c
-+++ b/gdk/gdkvulkancontext.c
-@@ -1541,7 +1541,7 @@ gdk_vulkan_save_pipeline_cache (GdkDisplay *display)
- }
-
- gdk_profiler_end_markf (begin_time,
-- "Save Vulkan pipeline cache", "%s size %lu",
-+ "Save Vulkan pipeline cache", "%s size %zu",
- g_file_peek_path (file), size);
-
- g_object_unref (file);
---
-GitLab
diff --git a/gui-libs/gtk/gtk-4.18.6-r1.ebuild b/gui-libs/gtk/gtk-4.18.6-r1.ebuild
deleted file mode 100644
index 42ee3afdd006..000000000000
--- a/gui-libs/gtk/gtk-4.18.6-r1.ebuild
+++ /dev/null
@@ -1,294 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{13..14} )
-inherit flag-o-matic gnome.org gnome2-utils meson optfeature python-any-r1 toolchain-funcs virtualx xdg
-
-DESCRIPTION="GTK is a multi-platform toolkit for creating graphical user interfaces"
-HOMEPAGE="https://www.gtk.org/ https://gitlab.gnome.org/GNOME/gtk/"
-
-LICENSE="LGPL-2+"
-SLOT="4"
-REQUIRED_USE="
- || ( aqua wayland X )
- gtk-doc? ( introspection )
- test? ( introspection )
-"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
-IUSE="aqua broadway cloudproviders colord cups examples gstreamer gtk-doc +introspection sysprof test vulkan wayland +X cpu_flags_x86_f16c"
-
-# TODO: Optional gst build dep on >=gst-plugins-base-1.23.1, so depend on it once we can
-COMMON_DEPEND="
- >=dev-libs/glib-2.76.0:2
- >=x11-libs/cairo-1.18.2[aqua?,glib,svg(+),X?]
- >=x11-libs/pango-1.56.0[introspection?]
- >=dev-libs/fribidi-1.0.6
- >=media-libs/harfbuzz-8.4.0:=
- >=x11-libs/gdk-pixbuf-2.30:2[introspection?]
- media-libs/libpng:=
- media-libs/tiff:=
- media-libs/libjpeg-turbo:=
- >=media-libs/libepoxy-1.4[egl(+),X(+)?]
- >=media-libs/graphene-1.10.0[introspection?]
- app-text/iso-codes
- x11-misc/shared-mime-info
-
- cloudproviders? ( net-libs/libcloudproviders )
- colord? ( >=x11-misc/colord-0.1.9:0= )
- cups? ( >=net-print/cups-2.0 )
- examples? ( gnome-base/librsvg:2 )
- gstreamer? (
- >=media-libs/gstreamer-1.24.0:1.0
- >=media-libs/gst-plugins-bad-1.24.0:1.0
- || (
- >=media-libs/gst-plugins-base-1.24.0:1.0[gles2]
- >=media-libs/gst-plugins-base-1.24.0:1.0[opengl]
- )
- )
- introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= )
- vulkan? ( >=media-libs/vulkan-loader-1.3:=[wayland?,X?] )
- wayland? (
- >=dev-libs/wayland-1.23.0
- >=dev-libs/wayland-protocols-1.41
- media-libs/mesa[wayland]
- >=x11-libs/libxkbcommon-0.2
- )
- X? (
- media-libs/fontconfig
- media-libs/mesa[X(+)]
- x11-libs/libX11
- >=x11-libs/libXi-1.8
- x11-libs/libXext
- >=x11-libs/libXrandr-1.5
- x11-libs/libXcursor
- x11-libs/libXfixes
- x11-libs/libXdamage
- x11-libs/libXinerama
- )
-"
-DEPEND="${COMMON_DEPEND}
- kernel_linux? (
- x11-libs/libdrm
- sys-kernel/linux-headers
- )
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
- vulkan? ( dev-util/vulkan-headers )
- X? ( x11-base/xorg-proto )
-"
-RDEPEND="${COMMON_DEPEND}
- >=dev-util/gtk-update-icon-cache-3
-"
-# librsvg for svg icons (PDEPEND to avoid circular dep on wd40 profiles with librsvg[tools]), bug #547710
-PDEPEND="
- gnome-base/librsvg:2
- >=x11-themes/adwaita-icon-theme-3.14
-"
-BDEPEND="
- introspection? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- ')
- )
- dev-python/docutils
- >=dev-libs/glib-2.80
- >=dev-util/gdbus-codegen-2.80.5-r1
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.7
- virtual/pkgconfig
- gtk-doc? ( dev-util/gi-docgen )
- vulkan? ( media-libs/shaderc )
- wayland? (
- dev-util/wayland-scanner
- )
- test? (
- dev-libs/glib:2
- media-fonts/cantarell
- wayland? ( dev-libs/weston[headless] )
- )
-"
-
-PATCHES=(
- # 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_ge_4.18.5.patch
-)
-
-python_check_deps() {
- python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return
-}
-
-pkg_setup() {
- use introspection && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- xdg_environment_reset
-
- # Nothing should use gtk4-update-icon-cache and an unversioned one is shipped by dev-util/gtk-update-icon-cache
- sed -i \
- -e '/gtk4-update-icon-cache/d' \
- docs/reference/gtk/meson.build \
- tools/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
-}
-
-src_configure() {
- use x86 && append-flags -DDISABLE_X64=1 #943705 https://gitlab.gnome.org/GNOME/gtk/-/issues/4173
-
- local emesonargs=(
- # GDK backends
- $(meson_use X x11-backend)
- $(meson_use wayland wayland-backend)
- $(meson_use broadway broadway-backend)
- -Dwin32-backend=false
- -Dandroid-backend=false
- $(meson_use aqua macos-backend)
-
- # Media backends
- $(meson_feature gstreamer media-gstreamer)
-
- # Print backends
- -Dprint-cpdb=disabled
- $(meson_feature cups print-cups)
-
- # Optional dependencies
- $(meson_feature vulkan)
- $(meson_feature cloudproviders)
- $(meson_feature sysprof)
- -Dtracker=disabled # tracker3 is not packaged in Gentoo yet
- $(meson_feature colord)
- # Expected to fail with GCC < 11
- # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71993
- $(meson_feature cpu_flags_x86_f16c f16c)
-
- # Introspection
- $(meson_feature introspection)
-
- # Documentation
- $(meson_use gtk-doc documentation)
- -Dscreenshots=false
- -Dman-pages=true
-
- # Demos, examples, and tests
- -Dprofile=default
- $(meson_use examples build-demos)
- $(meson_use test build-testsuite)
- $(meson_use examples build-examples)
- -Dbuild-tests=false
- )
- meson_src_configure
-}
-
-src_test() {
- "${BROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
-
- addwrite /dev/dri
-
- # Note that skipping gsk-compare entirely means we do run *far*
- # fewer tests, but a reliable testsuite for us is more important
- # than absolute-maximum coverage if we can't trust the results and
- # dismiss any failures as "probably font related" and so on.
- if use X; then
- einfo "Running tests under X"
- GSETTINGS_SCHEMA_DIR="${S}/gtk" virtx meson_src_test --timeout-multiplier=130 \
- --setup=x11 \
- --no-suite=failing \
- --no-suite=x11_failing \
- --no-suite=flaky \
- --no-suite=headless \
- --no-suite=gsk-compare \
- --no-suite=gsk-compare-broadway \
- --no-suite=needs-udmabuf \
- --no-suite=pango
- fi
-
- if use wayland; then
- einfo "Running tests under Weston"
-
- export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
-
- weston --backend=headless-backend.so --socket=wayland-5 --idle-time=0 &
- compositor=$!
- export WAYLAND_DISPLAY=wayland-5
-
- GSETTINGS_SCHEMA_DIR="${S}/gtk" meson_src_test --timeout-multiplier=130 \
- --setup=wayland \
- --no-suite=failing \
- --no-suite=wayland_failing \
- --no-suite=flaky \
- --no-suite=headless \
- --no-suite=gsk-compare \
- --no-suite=gsk-compare-broadway \
- --no-suite=needs-udmabuf
-
- exit_code=$?
- kill ${compositor}
- fi
-}
-
-src_install() {
- local i src
-
- meson_src_install
-
- if use gtk-doc; then
- mkdir -p "${ED}/usr/share/gtk-doc/html" || die
-
- for dir in gdk4 gtk4 gsk4; do
- src="${ED}/usr/share/doc/${dir}"
- test -d "${src}" || die "Expected documentation directory ${src} not found"
- mv -v "${src}" "${ED}/usr/share/gtk-doc/html" || die
- done
-
- if use X; then
- src="${ED}/usr/share/doc/gdk4-x11"
- test -d "${src}" || die "Expected X11 documentation ${src} not found"
- mv -v "${src}" "${ED}/usr/share/gtk-doc/html" || die
- fi
-
- if use wayland; then
- src="${ED}/usr/share/doc/gdk4-wayland"
- test -d "${src}" || die "Expected Wayland documentation ${src} not found"
- mv -v "${src}" "${ED}/usr/share/gtk-doc/html" || die
- fi
- fi
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
- gnome2_schemas_savelist
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-
- 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
-
- if use examples ; then
- optfeature "syntax highlighting in gtk4-demo" app-text/highlight
- fi
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/gui-libs/gtk/gtk-4.20.3-r2.ebuild b/gui-libs/gtk/gtk-4.20.3-r2.ebuild
deleted file mode 100644
index 29de27c6e6ce..000000000000
--- a/gui-libs/gtk/gtk-4.20.3-r2.ebuild
+++ /dev/null
@@ -1,301 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{13..14} )
-inherit flag-o-matic gnome.org gnome2-utils meson optfeature python-any-r1 toolchain-funcs virtualx xdg
-
-DESCRIPTION="GTK is a multi-platform toolkit for creating graphical user interfaces"
-HOMEPAGE="https://www.gtk.org/ https://gitlab.gnome.org/GNOME/gtk/"
-
-LICENSE="LGPL-2+"
-SLOT="4"
-REQUIRED_USE="
- || ( aqua wayland X )
- gtk-doc? ( introspection )
- test? ( introspection )
-"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="aqua broadway cloudproviders colord cups examples gstreamer gtk-doc +introspection sysprof test vulkan wayland +X cpu_flags_x86_f16c"
-
-# librsvg for svg icons and "!8541 Use librsvg for symbolics that we
-# can't parse ourselves" (formerly a PDEPEND to avoid circular dep
-# on wd40 profiles with librsvg[tools]), bug #547710
-# NOTE: Support was added to build against both cups2 and cups3
-COMMON_DEPEND="
- >=dev-libs/glib-2.82:2
- >=x11-libs/cairo-1.18.2[aqua?,glib,svg(+),X?]
- >=x11-libs/pango-1.56.0[introspection?]
- >=dev-libs/fribidi-1.0.6
- >=media-libs/harfbuzz-8.4.0:=
- >=x11-libs/gdk-pixbuf-2.30:2[introspection?]
- media-libs/libpng:=
- media-libs/tiff:=
- media-libs/libjpeg-turbo:=
- >=gnome-base/librsvg-2.48:2
- >=media-libs/libepoxy-1.4[egl(+),X(+)?]
- >=media-libs/graphene-1.10.0[introspection?]
- app-text/iso-codes
- x11-misc/shared-mime-info
-
- cloudproviders? ( net-libs/libcloudproviders )
- colord? ( >=x11-misc/colord-0.1.9:0= )
- cups? ( >=net-print/cups-2.0 )
- examples? ( gnome-base/librsvg:2 )
- gstreamer? (
- >=media-libs/gstreamer-1.24.0:1.0
- >=media-libs/gst-plugins-bad-1.24.0:1.0
- || (
- >=media-libs/gst-plugins-base-1.24.0:1.0[gles2]
- >=media-libs/gst-plugins-base-1.24.0:1.0[opengl]
- )
- )
- introspection? ( >=dev-libs/gobject-introspection-1.84:= )
- vulkan? (
- >=media-libs/vulkan-loader-1.3:=[wayland?,X?]
- media-libs/mesa[vulkan]
- )
- wayland? (
- >=dev-libs/wayland-1.24.0
- >=dev-libs/wayland-protocols-1.44
- media-libs/mesa[wayland]
- >=x11-libs/libxkbcommon-0.2
- )
- X? (
- media-libs/fontconfig
- media-libs/mesa[X(+)]
- x11-libs/libX11
- >=x11-libs/libXi-1.8
- x11-libs/libXext
- >=x11-libs/libXrandr-1.5
- x11-libs/libXcursor
- x11-libs/libXfixes
- x11-libs/libXdamage
- x11-libs/libXinerama
- )
-"
-DEPEND="${COMMON_DEPEND}
- kernel_linux? (
- x11-libs/libdrm
- sys-kernel/linux-headers
- )
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
- X? ( x11-base/xorg-proto )
-"
-RDEPEND="${COMMON_DEPEND}
- >=dev-util/gtk-update-icon-cache-3
-"
-PDEPEND="
- >=x11-themes/adwaita-icon-theme-3.14
-"
-BDEPEND="
- >=dev-build/meson-1.5.0
- introspection? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- ')
- )
- dev-python/docutils
- >=dev-libs/glib-2.82
- >=dev-util/gdbus-codegen-2.80.5-r1
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.7
- virtual/pkgconfig
- gtk-doc? ( dev-util/gi-docgen )
- vulkan? ( media-libs/shaderc )
- wayland? (
- >=dev-util/wayland-scanner-1.24.0
- )
- test? (
- dev-libs/glib:2
- media-fonts/cantarell
- wayland? ( dev-libs/weston[headless] )
- )
-"
-
-PATCHES=(
- # 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_ge_4.18.5.patch
-
- "${FILESDIR}"/${P}-32-bit.patch
-)
-
-python_check_deps() {
- python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return
-}
-
-pkg_setup() {
- use introspection && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- xdg_environment_reset
-
- # Nothing should use gtk4-update-icon-cache and an unversioned one is shipped by dev-util/gtk-update-icon-cache
- sed -i \
- -e '/gtk4-update-icon-cache/d' \
- docs/reference/gtk/meson.build \
- tools/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
-}
-
-src_configure() {
- use x86 && append-flags -DDISABLE_X64=1 #943705 https://gitlab.gnome.org/GNOME/gtk/-/issues/4173
-
- local emesonargs=(
- # GDK backends
- $(meson_use X x11-backend)
- $(meson_use wayland wayland-backend)
- $(meson_use broadway broadway-backend)
- -Dwin32-backend=false
- -Dandroid-backend=false
- $(meson_use aqua macos-backend)
-
- # Media backends
- $(meson_feature gstreamer media-gstreamer)
-
- # Print backends
- -Dprint-cpdb=disabled
- $(meson_feature cups print-cups)
-
- # Optional dependencies
- $(meson_feature vulkan)
- $(meson_feature cloudproviders)
- $(meson_feature sysprof)
- -Dtracker=disabled # tracker3 is not packaged in Gentoo yet
- $(meson_feature colord)
- # Expected to fail with GCC < 11
- # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71993
- $(meson_feature cpu_flags_x86_f16c f16c)
- -Dandroid-runtime=disabled
- # Introspection
- $(meson_feature introspection)
-
- # Documentation
- $(meson_use gtk-doc documentation)
- -Dscreenshots=false
- -Dman-pages=true
-
- # Demos, examples, and tests
- -Dprofile=default
- $(meson_use examples build-demos)
- $(meson_use test build-testsuite)
- $(meson_use examples build-examples)
- -Dbuild-tests=false
- )
- meson_src_configure
-}
-
-src_test() {
- "${BROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
-
- addwrite /dev/dri
-
- # Note that skipping gsk-compare entirely means we do run *far*
- # fewer tests, but a reliable testsuite for us is more important
- # than absolute-maximum coverage if we can't trust the results and
- # dismiss any failures as "probably font related" and so on.
- if use X; then
- einfo "Running tests under X"
- GSETTINGS_SCHEMA_DIR="${S}/gtk" virtx meson_src_test --timeout-multiplier=130 \
- --setup=x11 \
- --no-suite=failing \
- --no-suite=x11_failing \
- --no-suite=flaky \
- --no-suite=headless \
- --no-suite=gsk-compare \
- --no-suite=gsk-compare-broadway \
- --no-suite=needs-udmabuf \
- --no-suite=pango
- fi
-
- if use wayland; then
- einfo "Running tests under Weston"
-
- export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
-
- weston --backend=headless-backend.so --socket=wayland-5 --idle-time=0 &
- compositor=$!
- export WAYLAND_DISPLAY=wayland-5
-
- GSETTINGS_SCHEMA_DIR="${S}/gtk" meson_src_test --timeout-multiplier=130 \
- --setup=wayland \
- --no-suite=failing \
- --no-suite=wayland_failing \
- --no-suite=flaky \
- --no-suite=headless \
- --no-suite=gsk-compare \
- --no-suite=gsk-compare-broadway \
- --no-suite=needs-udmabuf
-
- exit_code=$?
- kill ${compositor}
- fi
-}
-
-src_install() {
- local i src
-
- meson_src_install
-
- if use gtk-doc; then
- mkdir -p "${ED}/usr/share/gtk-doc/html" || die
-
- for dir in gdk4 gtk4 gsk4; do
- src="${ED}/usr/share/doc/${dir}"
- test -d "${src}" || die "Expected documentation directory ${src} not found"
- mv -v "${src}" "${ED}/usr/share/gtk-doc/html" || die
- done
-
- if use X; then
- src="${ED}/usr/share/doc/gdk4-x11"
- test -d "${src}" || die "Expected X11 documentation ${src} not found"
- mv -v "${src}" "${ED}/usr/share/gtk-doc/html" || die
- fi
-
- if use wayland; then
- src="${ED}/usr/share/doc/gdk4-wayland"
- test -d "${src}" || die "Expected Wayland documentation ${src} not found"
- mv -v "${src}" "${ED}/usr/share/gtk-doc/html" || die
- fi
- fi
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
- gnome2_schemas_savelist
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-
- 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
-
- if use examples ; then
- optfeature "syntax highlighting in gtk4-demo" app-text/highlight
- fi
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/gui-libs/gtk/gtk-4.20.4.ebuild b/gui-libs/gtk/gtk-4.20.4.ebuild
deleted file mode 100644
index e6e2058c8228..000000000000
--- a/gui-libs/gtk/gtk-4.20.4.ebuild
+++ /dev/null
@@ -1,299 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{13..14} )
-inherit flag-o-matic gnome.org gnome2-utils meson optfeature python-any-r1 toolchain-funcs virtualx xdg
-
-DESCRIPTION="GTK is a multi-platform toolkit for creating graphical user interfaces"
-HOMEPAGE="https://www.gtk.org/ https://gitlab.gnome.org/GNOME/gtk/"
-
-LICENSE="LGPL-2+"
-SLOT="4"
-REQUIRED_USE="
- || ( aqua wayland X )
- gtk-doc? ( introspection )
- test? ( introspection )
-"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="aqua broadway cloudproviders colord cups examples gstreamer gtk-doc +introspection sysprof test vulkan wayland +X cpu_flags_x86_f16c"
-
-# librsvg for svg icons and "!8541 Use librsvg for symbolics that we
-# can't parse ourselves" (formerly a PDEPEND to avoid circular dep
-# on wd40 profiles with librsvg[tools]), bug #547710
-# NOTE: Support was added to build against both cups2 and cups3
-COMMON_DEPEND="
- >=dev-libs/glib-2.82:2
- >=x11-libs/cairo-1.18.2[aqua?,glib,svg(+),X?]
- >=x11-libs/pango-1.56.0[introspection?]
- >=dev-libs/fribidi-1.0.6
- >=media-libs/harfbuzz-8.4.0:=
- >=x11-libs/gdk-pixbuf-2.30:2[introspection?]
- media-libs/libpng:=
- media-libs/tiff:=
- media-libs/libjpeg-turbo:=
- >=gnome-base/librsvg-2.48:2
- >=media-libs/libepoxy-1.4[egl(+),X(+)?]
- >=media-libs/graphene-1.10.0[introspection?]
- app-text/iso-codes
- x11-misc/shared-mime-info
-
- cloudproviders? ( net-libs/libcloudproviders )
- colord? ( >=x11-misc/colord-0.1.9:0= )
- cups? ( >=net-print/cups-2.0 )
- examples? ( gnome-base/librsvg:2 )
- gstreamer? (
- >=media-libs/gstreamer-1.24.0:1.0
- >=media-libs/gst-plugins-bad-1.24.0:1.0
- || (
- >=media-libs/gst-plugins-base-1.24.0:1.0[gles2]
- >=media-libs/gst-plugins-base-1.24.0:1.0[opengl]
- )
- )
- introspection? ( >=dev-libs/gobject-introspection-1.84:= )
- vulkan? (
- >=media-libs/vulkan-loader-1.3:=[wayland?,X?]
- media-libs/mesa[vulkan]
- )
- wayland? (
- >=dev-libs/wayland-1.24.0
- >=dev-libs/wayland-protocols-1.44
- media-libs/mesa[wayland]
- >=x11-libs/libxkbcommon-0.2
- )
- X? (
- media-libs/fontconfig
- media-libs/mesa[X(+)]
- x11-libs/libX11
- >=x11-libs/libXi-1.8
- x11-libs/libXext
- >=x11-libs/libXrandr-1.5
- x11-libs/libXcursor
- x11-libs/libXfixes
- x11-libs/libXdamage
- x11-libs/libXinerama
- )
-"
-DEPEND="${COMMON_DEPEND}
- kernel_linux? (
- x11-libs/libdrm
- sys-kernel/linux-headers
- )
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
- X? ( x11-base/xorg-proto )
-"
-RDEPEND="${COMMON_DEPEND}
- >=dev-util/gtk-update-icon-cache-3
-"
-PDEPEND="
- >=x11-themes/adwaita-icon-theme-3.14
-"
-BDEPEND="
- >=dev-build/meson-1.5.0
- introspection? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- ')
- )
- dev-python/docutils
- >=dev-libs/glib-2.82
- >=dev-util/gdbus-codegen-2.80.5-r1
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.7
- virtual/pkgconfig
- gtk-doc? ( dev-util/gi-docgen )
- vulkan? ( media-libs/shaderc )
- wayland? (
- >=dev-util/wayland-scanner-1.24.0
- )
- test? (
- dev-libs/glib:2
- media-fonts/cantarell
- wayland? ( dev-libs/weston[headless] )
- )
-"
-
-PATCHES=(
- # 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_ge_4.18.5.patch
-)
-
-python_check_deps() {
- python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return
-}
-
-pkg_setup() {
- use introspection && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- xdg_environment_reset
-
- # Nothing should use gtk4-update-icon-cache and an unversioned one is shipped by dev-util/gtk-update-icon-cache
- sed -i \
- -e '/gtk4-update-icon-cache/d' \
- docs/reference/gtk/meson.build \
- tools/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
-}
-
-src_configure() {
- use x86 && append-flags -DDISABLE_X64=1 #943705 https://gitlab.gnome.org/GNOME/gtk/-/issues/4173
-
- local emesonargs=(
- # GDK backends
- $(meson_use X x11-backend)
- $(meson_use wayland wayland-backend)
- $(meson_use broadway broadway-backend)
- -Dwin32-backend=false
- -Dandroid-backend=false
- $(meson_use aqua macos-backend)
-
- # Media backends
- $(meson_feature gstreamer media-gstreamer)
-
- # Print backends
- -Dprint-cpdb=disabled
- $(meson_feature cups print-cups)
-
- # Optional dependencies
- $(meson_feature vulkan)
- $(meson_feature cloudproviders)
- $(meson_feature sysprof)
- -Dtracker=disabled # tracker3 is not packaged in Gentoo yet
- $(meson_feature colord)
- # Expected to fail with GCC < 11
- # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71993
- $(meson_feature cpu_flags_x86_f16c f16c)
- -Dandroid-runtime=disabled
- # Introspection
- $(meson_feature introspection)
-
- # Documentation
- $(meson_use gtk-doc documentation)
- -Dscreenshots=false
- -Dman-pages=true
-
- # Demos, examples, and tests
- -Dprofile=default
- $(meson_use examples build-demos)
- $(meson_use test build-testsuite)
- $(meson_use examples build-examples)
- -Dbuild-tests=false
- )
- meson_src_configure
-}
-
-src_test() {
- "${BROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
-
- addwrite /dev/dri
-
- # Note that skipping gsk-compare entirely means we do run *far*
- # fewer tests, but a reliable testsuite for us is more important
- # than absolute-maximum coverage if we can't trust the results and
- # dismiss any failures as "probably font related" and so on.
- if use X; then
- einfo "Running tests under X"
- GSETTINGS_SCHEMA_DIR="${S}/gtk" virtx meson_src_test --timeout-multiplier=130 \
- --setup=x11 \
- --no-suite=failing \
- --no-suite=x11_failing \
- --no-suite=flaky \
- --no-suite=headless \
- --no-suite=gsk-compare \
- --no-suite=gsk-compare-broadway \
- --no-suite=needs-udmabuf \
- --no-suite=pango
- fi
-
- if use wayland; then
- einfo "Running tests under Weston"
-
- export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
-
- weston --backend=headless-backend.so --socket=wayland-5 --idle-time=0 &
- compositor=$!
- export WAYLAND_DISPLAY=wayland-5
-
- GSETTINGS_SCHEMA_DIR="${S}/gtk" meson_src_test --timeout-multiplier=130 \
- --setup=wayland \
- --no-suite=failing \
- --no-suite=wayland_failing \
- --no-suite=flaky \
- --no-suite=headless \
- --no-suite=gsk-compare \
- --no-suite=gsk-compare-broadway \
- --no-suite=needs-udmabuf
-
- exit_code=$?
- kill ${compositor}
- fi
-}
-
-src_install() {
- local i src
-
- meson_src_install
-
- if use gtk-doc; then
- mkdir -p "${ED}/usr/share/gtk-doc/html" || die
-
- for dir in gdk4 gtk4 gsk4; do
- src="${ED}/usr/share/doc/${dir}"
- test -d "${src}" || die "Expected documentation directory ${src} not found"
- mv -v "${src}" "${ED}/usr/share/gtk-doc/html" || die
- done
-
- if use X; then
- src="${ED}/usr/share/doc/gdk4-x11"
- test -d "${src}" || die "Expected X11 documentation ${src} not found"
- mv -v "${src}" "${ED}/usr/share/gtk-doc/html" || die
- fi
-
- if use wayland; then
- src="${ED}/usr/share/doc/gdk4-wayland"
- test -d "${src}" || die "Expected Wayland documentation ${src} not found"
- mv -v "${src}" "${ED}/usr/share/gtk-doc/html" || die
- fi
- fi
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
- gnome2_schemas_savelist
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-
- 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
-
- if use examples ; then
- optfeature "syntax highlighting in gtk4-demo" app-text/highlight
- fi
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/gui-libs/gtk/metadata.xml b/gui-libs/gtk/metadata.xml
deleted file mode 100644
index ed74eb8907ff..000000000000
--- a/gui-libs/gtk/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <use>
- <flag name="broadway">Enable the GDK Broadway backend.</flag>
- <flag name="cloudproviders">Enable GtkPlacesSidebar to access cloud services</flag>
- <flag name="colord">Use <pkg>x11-misc/colord</pkg> for color management in printing</flag>
- <flag name="sysprof">Enable profiling data capture support using <pkg>dev-util/sysprof-capture</pkg>
- </flag>
- </use>
- <upstream>
- <remote-id type="cpe">cpe:/a:gtk:gtk</remote-id>
- </upstream>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>