diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 11:50:53 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 11:50:53 -0500 |
| commit | 290aebdea65a02557706eaeda477fef0437b6a48 (patch) | |
| tree | f87a939169a508a2e943570501b64cc16b411cda /gui-libs/gtk | |
| parent | 6783ddcd4b73d9ce586a71770caed352bec93b16 (diff) | |
| download | baldeagleos-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/Manifest | 3 | ||||
| -rw-r--r-- | gui-libs/gtk/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_ge_4.18.5.patch | 93 | ||||
| -rw-r--r-- | gui-libs/gtk/files/gtk-4.20.3-32-bit.patch | 81 | ||||
| -rw-r--r-- | gui-libs/gtk/gtk-4.18.6-r1.ebuild | 294 | ||||
| -rw-r--r-- | gui-libs/gtk/gtk-4.20.3-r2.ebuild | 301 | ||||
| -rw-r--r-- | gui-libs/gtk/gtk-4.20.4.ebuild | 299 | ||||
| -rw-r--r-- | gui-libs/gtk/metadata.xml | 19 |
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> |
