diff options
author | Matt Turner <mattst88@gentoo.org> | 2023-09-05 15:03:56 -0400 |
---|---|---|
committer | Matt Turner <mattst88@gentoo.org> | 2023-09-05 16:28:30 -0400 |
commit | e6e31bcf38eeb174c4300793e2b17fa8d3ae8ce7 (patch) | |
tree | 3422281a81d9f0d6df63898ab1cee7ceaf039c14 /gui-libs | |
parent | gnome-extra/zenity: Drop old versions (diff) | |
download | gentoo-e6e31bcf38eeb174c4300793e2b17fa8d3ae8ce7.tar.gz gentoo-e6e31bcf38eeb174c4300793e2b17fa8d3ae8ce7.tar.bz2 gentoo-e6e31bcf38eeb174c4300793e2b17fa8d3ae8ce7.zip |
gui-libs/gtk: Drop old versions
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Diffstat (limited to 'gui-libs')
-rw-r--r-- | gui-libs/gtk/Manifest | 2 | ||||
-rw-r--r-- | gui-libs/gtk/files/4.10.4-gtk-Align-key_size-up-to-key_align.patch | 50 | ||||
-rw-r--r-- | gui-libs/gtk/files/4.10.4-gtk-Pass-G_ALIGNOF-.-to-gtk_sort_keys_new.patch | 160 | ||||
-rw-r--r-- | gui-libs/gtk/gtk-4.10.4.ebuild | 230 | ||||
-rw-r--r-- | gui-libs/gtk/gtk-4.12.0.ebuild | 229 |
5 files changed, 0 insertions, 671 deletions
diff --git a/gui-libs/gtk/Manifest b/gui-libs/gtk/Manifest index d40c7656062e..38c56ebcb56c 100644 --- a/gui-libs/gtk/Manifest +++ b/gui-libs/gtk/Manifest @@ -1,4 +1,2 @@ -DIST gtk-4.10.4.tar.xz 20526652 BLAKE2B 12874d90f9f48f22d57c53cf035065726e5bbd9a701cacf390acad6889fd86dbc3c4cb2f8f9a0690d9375935a7e3a8685211283814dbbfb28c6c08fd159529c5 SHA512 0c5db3af72227977e11fea3adddec1321b82bcace3c3d10a7c914b8d98b0bdb7994084c0a9e883b24815038bf4a0efe1eb1c4ff79e6838e83cadb6ddf2a1239f DIST gtk-4.10.5.tar.xz 16403464 BLAKE2B 9ca10de5e178e0b3e34fdf5f6126fc89e914a06e60c1c160b6273a5eb10b60e362e3db27af6012d2ea92452bb5787e6784e11d1f15a4ff284b04bbf9750ff91a SHA512 7ca1d2cabbeb6020613fcb11f57b8161f38337a6c3bc3572365dd642af9498fad0f5b2fc0a2419e06567d541e62e67b3d1087ab9bd3e756363052b2f7b366fde -DIST gtk-4.12.0.tar.xz 16918992 BLAKE2B ea689b61efa961725444b61fcafae2e56154be64771fa6dce3f1835edafc6e74ce5879ea0bf0631c8f254352f26cd8252dcf6b92ce4eed344456cf21c4a8fda3 SHA512 a69f82e1f021b1eb68e8723bc9003bfca0b5939fd3cc7cda87d7dde0b3e37bb39d9594cb93a73f54bd1cff1b63a1c459d1217e8df794c67fda50bf0b9b732826 DIST gtk-4.12.1.tar.xz 16924668 BLAKE2B c59d944de510e1c024564c320d44e15b5766f48bd03532944f01ae91111eb909d535011e07f871b3bef17213575acb13c03108cf1bba82987fc15f7cebcc0b83 SHA512 5a893d3d855b5f1cf5b2e3c1c5178cc25e4165288f1ecc257d8af5ac1f94fc70fce7be34cf4b0292acd6652e544dd989c0065c1287623b6d4a115a9974a441c9 diff --git a/gui-libs/gtk/files/4.10.4-gtk-Align-key_size-up-to-key_align.patch b/gui-libs/gtk/files/4.10.4-gtk-Align-key_size-up-to-key_align.patch deleted file mode 100644 index 388c8011344f..000000000000 --- a/gui-libs/gtk/files/4.10.4-gtk-Align-key_size-up-to-key_align.patch +++ /dev/null @@ -1,50 +0,0 @@ -From a3582031576783fbc644fdd2ad914820d0ba4863 Mon Sep 17 00:00:00 2001 -From: Matt Turner <mattst88@gmail.com> -Date: Mon, 19 Jun 2023 15:50:04 -0400 -Subject: [PATCH] gtk: Align key_size up to key_align - -Avoids unaligned accesses when e.g. the key_size is 12 and key_align is -8. We need to round the key size up to 16 to ensure that all keys are -appropriately aligned. - -This manifested as a failure in the `gtk:gtk / sorter` unit test on -sparc. - -Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5907 -(cherry picked from commit 3f360aa883dc51ad986c721be01b494020e5ac9d) ---- - gtk/gtkmultisorter.c | 3 ++- - gtk/gtksortlistmodel.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/gtk/gtkmultisorter.c b/gtk/gtkmultisorter.c -index ddbdb440cb..e8744015af 100644 ---- a/gtk/gtkmultisorter.c -+++ b/gtk/gtkmultisorter.c -@@ -186,7 +186,8 @@ gtk_multi_sort_keys_new (GtkMultiSorter *self) - { - result->keys[i].keys = gtk_sorter_get_keys (gtk_sorters_get (&self->sorters, i)); - result->keys[i].offset = GTK_SORT_KEYS_ALIGN (keys->key_size, gtk_sort_keys_get_key_align (result->keys[i].keys)); -- keys->key_size = result->keys[i].offset + gtk_sort_keys_get_key_size (result->keys[i].keys); -+ keys->key_size = result->keys[i].offset + GTK_SORT_KEYS_ALIGN (gtk_sort_keys_get_key_size (result->keys[i].keys), -+ gtk_sort_keys_get_key_align (result->keys[i].keys)); - keys->key_align = MAX (keys->key_align, gtk_sort_keys_get_key_align (result->keys[i].keys)); - } - -diff --git a/gtk/gtksortlistmodel.c b/gtk/gtksortlistmodel.c -index c2feb9e250..44414c1fd4 100644 ---- a/gtk/gtksortlistmodel.c -+++ b/gtk/gtksortlistmodel.c -@@ -439,7 +439,8 @@ gtk_sort_list_model_create_keys (GtkSortListModel *self) - g_assert (self->key_size == 0); - - self->sort_keys = gtk_sorter_get_keys (self->sorter); -- self->key_size = gtk_sort_keys_get_key_size (self->sort_keys); -+ self->key_size = GTK_SORT_KEYS_ALIGN (gtk_sort_keys_get_key_size (self->sort_keys), -+ gtk_sort_keys_get_key_align (self->sort_keys)); - self->keys = g_malloc_n (self->n_items, self->key_size); - self->missing_keys = gtk_bitset_new_range (0, self->n_items); - } --- -2.41.0 - diff --git a/gui-libs/gtk/files/4.10.4-gtk-Pass-G_ALIGNOF-.-to-gtk_sort_keys_new.patch b/gui-libs/gtk/files/4.10.4-gtk-Pass-G_ALIGNOF-.-to-gtk_sort_keys_new.patch deleted file mode 100644 index 3cfe54078c03..000000000000 --- a/gui-libs/gtk/files/4.10.4-gtk-Pass-G_ALIGNOF-.-to-gtk_sort_keys_new.patch +++ /dev/null @@ -1,160 +0,0 @@ -From 00cdaba5a89eedb6f7334bdfa523e374e5dc4b12 Mon Sep 17 00:00:00 2001 -From: Matt Turner <mattst88@gmail.com> -Date: Mon, 19 Jun 2023 15:47:17 -0400 -Subject: [PATCH] gtk: Pass G_ALIGNOF (...) to gtk_sort_keys_new - -The sizeof and G_ALIGNOF are often, but not always, identical. - -(cherry picked from commit a4440453868ebe7c87d0a69de9609b33a688a8bb) ---- - gtk/gtknumericsorter.c | 22 +++++++++++----------- - gtk/gtksorter.c | 2 +- - gtk/gtkstringsorter.c | 2 +- - gtk/gtktreelistrowsorter.c | 2 +- - 4 files changed, 14 insertions(+), 14 deletions(-) - -diff --git a/gtk/gtknumericsorter.c b/gtk/gtknumericsorter.c -index 4f474ad14d..f66d5ff505 100644 ---- a/gtk/gtknumericsorter.c -+++ b/gtk/gtknumericsorter.c -@@ -227,7 +227,7 @@ gtk_numeric_sort_keys_new (GtkNumericSorter *self) - ? >K_ASCENDING_BOOLEAN_SORT_KEYS_CLASS - : >K_DESCENDING_BOOLEAN_SORT_KEYS_CLASS, - sizeof (char), -- sizeof (char)); -+ G_ALIGNOF (char)); - break; - - case G_TYPE_CHAR: -@@ -236,7 +236,7 @@ gtk_numeric_sort_keys_new (GtkNumericSorter *self) - ? >K_ASCENDING_CHAR_SORT_KEYS_CLASS - : >K_DESCENDING_CHAR_SORT_KEYS_CLASS, - sizeof (char), -- sizeof (char)); -+ G_ALIGNOF (char)); - break; - - case G_TYPE_UCHAR: -@@ -245,7 +245,7 @@ gtk_numeric_sort_keys_new (GtkNumericSorter *self) - ? >K_ASCENDING_UCHAR_SORT_KEYS_CLASS - : >K_DESCENDING_UCHAR_SORT_KEYS_CLASS, - sizeof (guchar), -- sizeof (guchar)); -+ G_ALIGNOF (guchar)); - break; - - case G_TYPE_INT: -@@ -254,7 +254,7 @@ gtk_numeric_sort_keys_new (GtkNumericSorter *self) - ? >K_ASCENDING_INT_SORT_KEYS_CLASS - : >K_DESCENDING_INT_SORT_KEYS_CLASS, - sizeof (int), -- sizeof (int)); -+ G_ALIGNOF (int)); - break; - - case G_TYPE_UINT: -@@ -263,7 +263,7 @@ gtk_numeric_sort_keys_new (GtkNumericSorter *self) - ? >K_ASCENDING_UINT_SORT_KEYS_CLASS - : >K_DESCENDING_UINT_SORT_KEYS_CLASS, - sizeof (guint), -- sizeof (guint)); -+ G_ALIGNOF (guint)); - break; - - case G_TYPE_FLOAT: -@@ -272,7 +272,7 @@ gtk_numeric_sort_keys_new (GtkNumericSorter *self) - ? >K_ASCENDING_FLOAT_SORT_KEYS_CLASS - : >K_DESCENDING_FLOAT_SORT_KEYS_CLASS, - sizeof (float), -- sizeof (float)); -+ G_ALIGNOF (float)); - break; - - case G_TYPE_DOUBLE: -@@ -281,7 +281,7 @@ gtk_numeric_sort_keys_new (GtkNumericSorter *self) - ? >K_ASCENDING_DOUBLE_SORT_KEYS_CLASS - : >K_DESCENDING_DOUBLE_SORT_KEYS_CLASS, - sizeof (double), -- sizeof (double)); -+ G_ALIGNOF (double)); - break; - - case G_TYPE_LONG: -@@ -290,7 +290,7 @@ gtk_numeric_sort_keys_new (GtkNumericSorter *self) - ? >K_ASCENDING_LONG_SORT_KEYS_CLASS - : >K_DESCENDING_LONG_SORT_KEYS_CLASS, - sizeof (long), -- sizeof (long)); -+ G_ALIGNOF (long)); - break; - - case G_TYPE_ULONG: -@@ -299,7 +299,7 @@ gtk_numeric_sort_keys_new (GtkNumericSorter *self) - ? >K_ASCENDING_ULONG_SORT_KEYS_CLASS - : >K_DESCENDING_ULONG_SORT_KEYS_CLASS, - sizeof (gulong), -- sizeof (gulong)); -+ G_ALIGNOF (gulong)); - break; - - case G_TYPE_INT64: -@@ -308,7 +308,7 @@ gtk_numeric_sort_keys_new (GtkNumericSorter *self) - ? >K_ASCENDING_INT64_SORT_KEYS_CLASS - : >K_DESCENDING_INT64_SORT_KEYS_CLASS, - sizeof (gint64), -- sizeof (gint64)); -+ G_ALIGNOF (gint64)); - break; - - case G_TYPE_UINT64: -@@ -317,7 +317,7 @@ gtk_numeric_sort_keys_new (GtkNumericSorter *self) - ? >K_ASCENDING_UINT64_SORT_KEYS_CLASS - : >K_DESCENDING_UINT64_SORT_KEYS_CLASS, - sizeof (guint64), -- sizeof (guint64)); -+ G_ALIGNOF (guint64)); - break; - - default: -diff --git a/gtk/gtksorter.c b/gtk/gtksorter.c -index 2de29554ec..18bf950cf6 100644 ---- a/gtk/gtksorter.c -+++ b/gtk/gtksorter.c -@@ -304,7 +304,7 @@ gtk_sorter_get_keys (GtkSorter *self) - if (priv->keys) - return gtk_sort_keys_ref (priv->keys); - -- fallback = gtk_sort_keys_new (GtkDefaultSortKeys, >K_DEFAULT_SORT_KEYS_CLASS, sizeof (gpointer), sizeof (gpointer)); -+ fallback = gtk_sort_keys_new (GtkDefaultSortKeys, >K_DEFAULT_SORT_KEYS_CLASS, sizeof (gpointer), G_ALIGNOF (gpointer)); - fallback->sorter = g_object_ref (self); - - return (GtkSortKeys *) fallback; -diff --git a/gtk/gtkstringsorter.c b/gtk/gtkstringsorter.c -index 70739509e2..17c46b4436 100644 ---- a/gtk/gtkstringsorter.c -+++ b/gtk/gtkstringsorter.c -@@ -234,7 +234,7 @@ gtk_string_sort_keys_new (GtkStringSorter *self) - result = gtk_sort_keys_new (GtkStringSortKeys, - >K_STRING_SORT_KEYS_CLASS, - sizeof (char *), -- sizeof (char *)); -+ G_ALIGNOF (char *)); - - result->expression = gtk_expression_ref (self->expression); - result->ignore_case = self->ignore_case; -diff --git a/gtk/gtktreelistrowsorter.c b/gtk/gtktreelistrowsorter.c -index d7932cb067..6503948a89 100644 ---- a/gtk/gtktreelistrowsorter.c -+++ b/gtk/gtktreelistrowsorter.c -@@ -350,7 +350,7 @@ gtk_tree_list_row_sort_keys_new (GtkTreeListRowSorter *self) - result = gtk_sort_keys_new (GtkTreeListRowSortKeys, - >K_TREE_LIST_ROW_SORT_KEYS_CLASS, - sizeof (gpointer[MAX_KEY_DEPTH]), -- sizeof (gpointer[MAX_KEY_DEPTH])); -+ G_ALIGNOF (gpointer)); - - if (self->sorter) - result->sort_keys = gtk_sorter_get_keys (self->sorter); --- -2.41.0 - diff --git a/gui-libs/gtk/gtk-4.10.4.ebuild b/gui-libs/gtk/gtk-4.10.4.ebuild deleted file mode 100644 index e9c069a3e77e..000000000000 --- a/gui-libs/gtk/gtk-4.10.4.ebuild +++ /dev/null @@ -1,230 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit 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" -IUSE="aqua broadway cloudproviders colord cups examples ffmpeg gstreamer +introspection sysprof test vulkan wayland +X cpu_flags_x86_f16c" -REQUIRED_USE=" - || ( aqua wayland X ) - test? ( introspection ) -" - -KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86" - -COMMON_DEPEND=" - >=dev-libs/glib-2.72.0:2 - >=x11-libs/cairo-1.17.6[aqua?,glib,svg(+),X?] - >=x11-libs/pango-1.50.0[introspection?] - >=dev-libs/fribidi-1.0.6 - >=media-libs/harfbuzz-2.6.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 ) - ffmpeg? ( media-video/ffmpeg:= ) - gstreamer? ( - >=media-libs/gst-plugins-bad-1.12.3:1.0 - >=media-libs/gst-plugins-base-1.12.3:1.0[opengl] - ) - introspection? ( >=dev-libs/gobject-introspection-1.72:= ) - vulkan? ( media-libs/vulkan-loader:= ) - wayland? ( - >=dev-libs/wayland-1.21.0 - >=dev-libs/wayland-protocols-1.25 - media-libs/mesa[wayland] - >=x11-libs/libxkbcommon-0.2 - ) - X? ( - >=app-accessibility/at-spi2-core-2.46.0 - 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} - sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 ) - 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 - >=x11-themes/adwaita-icon-theme-3.14 -" -BDEPEND=" - dev-libs/gobject-introspection-common - introspection? ( - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/pygobject:3[${PYTHON_USEDEP}] - ') - ) - dev-python/docutils - >=dev-util/gdbus-codegen-2.48 - dev-util/glib-utils - >=sys-devel/gettext-0.19.7 - virtual/pkgconfig - test? ( - dev-libs/glib:2 - media-fonts/cantarell - wayland? ( dev-libs/weston[headless] ) - ) -" - -PATCHES=( - "${FILESDIR}"/${PV}-gtk-Pass-G_ALIGNOF-.-to-gtk_sort_keys_new.patch - "${FILESDIR}"/${PV}-gtk-Align-key_size-up-to-key_align.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() { - local emesonargs=( - # GDK backends - $(meson_use X x11-backend) - $(meson_use wayland wayland-backend) - $(meson_use broadway broadway-backend) - -Dwin32-backend=false - $(meson_use aqua macos-backend) - - # Media backends - $(meson_feature ffmpeg media-ffmpeg) - $(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) - - # Documentation and introspection - -Dgtk_doc=false # we ship pregenerated API docs from tarball - -Dupdate_screenshots=false - -Dman-pages=true - $(meson_feature introspection) - - # Demos and binaries - $(meson_use test build-testsuite) - $(meson_use examples build-examples) - $(meson_use examples demos) - -Dbuild-tests=false - ) - meson_src_configure -} - -src_test() { - "${BROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die - - if use X; then - einfo "Running tests under X" - GSETTINGS_SCHEMA_DIR="${S}/gtk" virtx meson_src_test --setup=x11 --timeout-multiplier=130 - 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 --setup=wayland --timeout-multiplier=130 - - exit_code=$? - kill ${compositor} - fi -} - -src_install() { - meson_src_install - - insinto /usr/share/gtk-doc/html - # This will install API docs specific to X11 and wayland regardless of USE flags, but this is intentional - doins -r "${S}"/docs/reference/{gtk/gtk4,gsk/gsk4,gdk/gdk4{,-wayland,-x11}} -} - -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.12.0.ebuild b/gui-libs/gtk/gtk-4.12.0.ebuild deleted file mode 100644 index b1efa467ddf8..000000000000 --- a/gui-libs/gtk/gtk-4.12.0.ebuild +++ /dev/null @@ -1,229 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -inherit 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" -IUSE="aqua broadway cloudproviders colord cups examples ffmpeg gstreamer +introspection sysprof test vulkan wayland +X cpu_flags_x86_f16c" -REQUIRED_USE=" - || ( aqua wayland X ) - test? ( introspection ) -" - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" - -COMMON_DEPEND=" - >=dev-libs/glib-2.76.0:2 - >=x11-libs/cairo-1.17.6[aqua?,glib,svg(+),X?] - >=x11-libs/pango-1.50.0[introspection?] - >=dev-libs/fribidi-1.0.6 - >=media-libs/harfbuzz-2.6.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 ) - ffmpeg? ( media-video/ffmpeg:= ) - gstreamer? ( - >=media-libs/gst-plugins-bad-1.12.3:1.0 - >=media-libs/gst-plugins-base-1.12.3:1.0[opengl] - ) - introspection? ( >=dev-libs/gobject-introspection-1.76:= ) - vulkan? ( media-libs/vulkan-loader:= ) - wayland? ( - >=dev-libs/wayland-1.21.0 - >=dev-libs/wayland-protocols-1.31 - media-libs/mesa[wayland] - >=x11-libs/libxkbcommon-0.2 - ) - X? ( - >=app-accessibility/at-spi2-core-2.46.0 - 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} - sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 ) - 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 - >=x11-themes/adwaita-icon-theme-3.14 -" -BDEPEND=" - dev-libs/gobject-introspection-common - introspection? ( - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/pygobject:3[${PYTHON_USEDEP}] - ') - ) - dev-python/docutils - dev-libs/glib - >=dev-util/gdbus-codegen-2.48 - dev-util/glib-utils - >=sys-devel/gettext-0.19.7 - virtual/pkgconfig - test? ( - dev-libs/glib:2 - media-fonts/cantarell - wayland? ( dev-libs/weston[headless] ) - ) -" - -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() { - local emesonargs=( - # GDK backends - $(meson_use X x11-backend) - $(meson_use wayland wayland-backend) - $(meson_use broadway broadway-backend) - -Dwin32-backend=false - $(meson_use aqua macos-backend) - - # Media backends - $(meson_feature ffmpeg media-ffmpeg) - $(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 - -Ddocumentation=false # we ship pregenerated API docs from tarball - -Dscreenshots=false - -Dman-pages=true - - # Demos, examples, and tests - -Ddemo-profile=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 - - if use X; then - einfo "Running tests under X" - GSETTINGS_SCHEMA_DIR="${S}/gtk" virtx meson_src_test --setup=x11 --timeout-multiplier=130 - 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 --setup=wayland --timeout-multiplier=130 - - exit_code=$? - kill ${compositor} - fi -} - -src_install() { - meson_src_install - - insinto /usr/share/gtk-doc/html - # This will install API docs specific to X11 and wayland regardless of USE flags, but this is intentional - doins -r "${S}"/docs/reference/{gtk/gtk4,gsk/gsk4,gdk/gdk4{,-wayland,-x11}} -} - -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 -} |