summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gentoo.org>2023-09-05 15:03:56 -0400
committerMatt Turner <mattst88@gentoo.org>2023-09-05 16:28:30 -0400
commite6e31bcf38eeb174c4300793e2b17fa8d3ae8ce7 (patch)
tree3422281a81d9f0d6df63898ab1cee7ceaf039c14 /gui-libs
parentgnome-extra/zenity: Drop old versions (diff)
downloadgentoo-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/Manifest2
-rw-r--r--gui-libs/gtk/files/4.10.4-gtk-Align-key_size-up-to-key_align.patch50
-rw-r--r--gui-libs/gtk/files/4.10.4-gtk-Pass-G_ALIGNOF-.-to-gtk_sort_keys_new.patch160
-rw-r--r--gui-libs/gtk/gtk-4.10.4.ebuild230
-rw-r--r--gui-libs/gtk/gtk-4.12.0.ebuild229
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)
- ? &GTK_ASCENDING_BOOLEAN_SORT_KEYS_CLASS
- : &GTK_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)
- ? &GTK_ASCENDING_CHAR_SORT_KEYS_CLASS
- : &GTK_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)
- ? &GTK_ASCENDING_UCHAR_SORT_KEYS_CLASS
- : &GTK_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)
- ? &GTK_ASCENDING_INT_SORT_KEYS_CLASS
- : &GTK_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)
- ? &GTK_ASCENDING_UINT_SORT_KEYS_CLASS
- : &GTK_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)
- ? &GTK_ASCENDING_FLOAT_SORT_KEYS_CLASS
- : &GTK_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)
- ? &GTK_ASCENDING_DOUBLE_SORT_KEYS_CLASS
- : &GTK_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)
- ? &GTK_ASCENDING_LONG_SORT_KEYS_CLASS
- : &GTK_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)
- ? &GTK_ASCENDING_ULONG_SORT_KEYS_CLASS
- : &GTK_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)
- ? &GTK_ASCENDING_INT64_SORT_KEYS_CLASS
- : &GTK_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)
- ? &GTK_ASCENDING_UINT64_SORT_KEYS_CLASS
- : &GTK_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, &GTK_DEFAULT_SORT_KEYS_CLASS, sizeof (gpointer), sizeof (gpointer));
-+ fallback = gtk_sort_keys_new (GtkDefaultSortKeys, &GTK_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,
- &GTK_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,
- &GTK_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
-}