diff --git a/.gitignore b/.gitignore index f864c92..8fd4145 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/gtk+-3.24.30.tar.xz +SOURCES/gtk+-3.24.31.tar.xz diff --git a/.gtk3.metadata b/.gtk3.metadata index 1ec4d7b..11e8da2 100644 --- a/.gtk3.metadata +++ b/.gtk3.metadata @@ -1 +1 @@ -b16d0ed86c613708b161eb96b56f4df1e52a1e48 SOURCES/gtk+-3.24.30.tar.xz +4ff8fc4b9e42693aa661bb6e54089014146209b0 SOURCES/gtk+-3.24.31.tar.xz diff --git a/SOURCES/0001-reftests-Enforce-default-settings.patch b/SOURCES/0001-reftests-Enforce-default-settings.patch deleted file mode 100644 index e75895d..0000000 --- a/SOURCES/0001-reftests-Enforce-default-settings.patch +++ /dev/null @@ -1,70 +0,0 @@ -From b541ad48d1c7060e2d38205d4874675e27578b9b Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Mon, 19 Jul 2021 13:10:31 -0400 -Subject: [PATCH] reftests: Enforce default settings - -Set all settings to their default values, so we -are less dependent on the environment to be set -up just right. In particular, this fixes animations -being disabled when we happen to run in a vm. ---- - testsuite/reftests/gtk-reftest.c | 36 ++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - -diff --git a/testsuite/reftests/gtk-reftest.c b/testsuite/reftests/gtk-reftest.c -index 585e1c393d..1a51a9756b 100644 ---- a/testsuite/reftests/gtk-reftest.c -+++ b/testsuite/reftests/gtk-reftest.c -@@ -368,6 +368,40 @@ add_test_for_file (GFile *file) - g_list_free_full (files, g_object_unref); - } - -+static void -+enforce_default_settings (void) -+{ -+ GtkSettings *settings; -+ GTypeClass *klass; -+ GParamSpec **pspecs; -+ guint n_pspecs; -+ int i; -+ -+ settings = gtk_settings_get_default (); -+ -+ klass = g_type_class_ref (G_OBJECT_TYPE (settings)); -+ -+ pspecs = g_object_class_list_properties (klass, &n_pspecs); -+ for (i = 0; i < n_pspecs; i++) -+ { -+ GParamSpec *pspec = pspecs[i]; -+ const GValue *value; -+ -+ if ((pspec->flags & G_PARAM_WRITABLE) == 0) -+ continue; -+ -+ if (pspec->value_type == G_TYPE_HASH_TABLE) -+ continue; -+ -+ value = g_param_spec_get_default_value (pspec); -+ g_object_set_property (settings, pspec->name, value); -+ } -+ -+ g_free (pspecs); -+ -+ g_type_class_unref (klass); -+} -+ - int - main (int argc, char **argv) - { -@@ -382,6 +416,8 @@ main (int argc, char **argv) - if (!parse_command_line (&argc, &argv)) - return 1; - -+ enforce_default_settings (); -+ - if (arg_base_dir) - basedir = arg_base_dir; - else --- -2.31.1 - diff --git a/SOURCES/gtk3-3.24.30-entry-no-emoji-context-menu.patch b/SOURCES/gtk3-3.24.30-entry-no-emoji-context-menu.patch new file mode 100644 index 0000000..162e2a5 --- /dev/null +++ b/SOURCES/gtk3-3.24.30-entry-no-emoji-context-menu.patch @@ -0,0 +1,41 @@ +From 12a00f024c16a4540d5f457389fada2a4886d884 Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Tue, 25 May 2021 16:07:58 -0400 +Subject: [PATCH] entry: Only offer Emoji if requested + +Only offer the "Insert Emoji" context menu when input +hints explicitly suggest supporting Emoji. +--- + gtk/gtkentry.c | 2 +- + gtk/gtktextview.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c +index a01684101f..1f5a790ccc 100644 +--- a/gtk/gtkentry.c ++++ b/gtk/gtkentry.c +@@ -9591,7 +9591,7 @@ popup_targets_received (GtkClipboard *clipboard, + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); + + if (info_entry_priv->show_emoji_icon || +- (gtk_entry_get_input_hints (entry) & GTK_INPUT_HINT_NO_EMOJI) == 0) ++ (gtk_entry_get_input_hints (entry) & GTK_INPUT_HINT_EMOJI) != 0) + { + menuitem = gtk_menu_item_new_with_mnemonic (_("Insert _Emoji")); + gtk_widget_set_sensitive (menuitem, +diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c +index e0b1e20e87..eb53843fa6 100644 +--- a/gtk/gtktextview.c ++++ b/gtk/gtktextview.c +@@ -9521,7 +9521,7 @@ popup_targets_received (GtkClipboard *clipboard, + gtk_widget_show (menuitem); + gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem); + +- if ((gtk_text_view_get_input_hints (text_view) & GTK_INPUT_HINT_NO_EMOJI) == 0) ++ if ((gtk_text_view_get_input_hints (text_view) & GTK_INPUT_HINT_EMOJI) != 0) + { + menuitem = gtk_menu_item_new_with_mnemonic (_("Insert _Emoji")); + gtk_widget_set_sensitive (menuitem, can_insert); +-- +2.31.1 + diff --git a/SOURCES/gtk3-3.24.31-meson-reftest.patch b/SOURCES/gtk3-3.24.31-meson-reftest.patch new file mode 100644 index 0000000..16873e2 --- /dev/null +++ b/SOURCES/gtk3-3.24.31-meson-reftest.patch @@ -0,0 +1,53 @@ +From 7f295eeb324c3d793bdf302fa7ea9ebdd8a52bcf Mon Sep 17 00:00:00 2001 +From: David King +Date: Thu, 23 Dec 2021 10:53:57 +0000 +Subject: [PATCH] meson: Do not install reftests + +Match the testsuite in the main branch. +--- + testsuite/reftests/meson.build | 25 +------------------------ + 1 file changed, 1 insertion(+), 24 deletions(-) + +diff --git a/testsuite/reftests/meson.build b/testsuite/reftests/meson.build +index b4bf6784cc..2135ebb434 100644 +--- a/testsuite/reftests/meson.build ++++ b/testsuite/reftests/meson.build +@@ -22,9 +22,7 @@ libreftest = shared_library('reftest', + + gtk_reftest = executable('gtk-reftest', 'gtk-reftest.c', + link_with : [libgtkreftestprivate, libreftest], +- dependencies : libgtk_dep, +- install: get_option('installed_tests'), +- install_dir: installed_test_bindir) ++ dependencies : libgtk_dep) + + test_data = [ + '721800-0px-dotted-border.css', +@@ -457,24 +455,3 @@ foreach testname : test_data + is_parallel: false) + endif + endforeach +- +-reftests_installed_tests = [ +- 'reftests-dark.test', +- 'reftests-hc.test', +- 'reftests-hci.test', +- 'reftests.test', +-] +- +-if get_option('installed_tests') +- test_cdata = configuration_data() +- test_cdata.set('libexecdir', gtk_libexecdir) +- +- foreach t: reftests_installed_tests +- configure_file(input: '@0@.in'.format(t), +- output: t, +- configuration: test_cdata, +- install_dir: installed_test_datadir) +- endforeach +- +- install_data(test_data, install_dir: testexecdir) +-endif +-- +2.33.1 + diff --git a/SOURCES/gtk3-3.24.31-meson.patch b/SOURCES/gtk3-3.24.31-meson.patch new file mode 100644 index 0000000..0d97626 --- /dev/null +++ b/SOURCES/gtk3-3.24.31-meson.patch @@ -0,0 +1,316 @@ +From 9bad0a2d5e35fdd2d89efedae1298d7c3dd158a3 Mon Sep 17 00:00:00 2001 +From: David King +Date: Tue, 21 Dec 2021 10:09:29 +0000 +Subject: [PATCH 1/3] meson: Remove missing reftests + +Removed from autotools build in commit +93e1f7f1ec709325fe9b0554b92add06ad988ae8. +--- + testsuite/reftests/meson.build | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/testsuite/reftests/meson.build b/testsuite/reftests/meson.build +index 9bfe1bb698..b4bf6784cc 100644 +--- a/testsuite/reftests/meson.build ++++ b/testsuite/reftests/meson.build +@@ -291,9 +291,6 @@ test_data = [ + 'label-text-shadow-clipping.css', + 'label-text-shadow-clipping.ref.ui', + 'label-text-shadow-clipping.ui', +- 'label-text-shadow-changes-modify-clip.css', +- 'label-text-shadow-changes-modify-clip.ref.ui', +- 'label-text-shadow-changes-modify-clip.ui', + 'label-width-chars-dont-shrink.ref.ui', + 'label-width-chars-dont-shrink.ui', + 'label-wrap-justify.ref.ui', +@@ -405,10 +402,6 @@ test_data = [ + 'textview-margins.ui', + 'textview-tags.ref.ui', + 'textview-tags.ui', +- 'toplevel-vs-popup.ref.ui', +- 'toplevel-vs-popup.ui', +- 'treeview-crash-too-wide.ref.ui', +- 'treeview-crash-too-wide.ui', + 'treeview-fixed-height.css', + 'treeview-fixed-height.ref.ui', + 'treeview-fixed-height.ui', +-- +2.33.1 + + +From 2b566f0633a740cca2b30941231f0507de873002 Mon Sep 17 00:00:00 2001 +From: David King +Date: Tue, 21 Dec 2021 11:10:37 +0000 +Subject: [PATCH 2/3] meson: Install example schema XML + +--- + examples/application10/meson.build | 4 +++- + examples/application5/meson.build | 4 +++- + examples/application6/meson.build | 4 +++- + examples/application7/meson.build | 4 +++- + examples/application8/meson.build | 4 +++- + examples/application9/meson.build | 4 +++- + 6 files changed, 18 insertions(+), 6 deletions(-) + +diff --git a/examples/application10/meson.build b/examples/application10/meson.build +index ce842ae794..417a64155e 100644 +--- a/examples/application10/meson.build ++++ b/examples/application10/meson.build +@@ -5,7 +5,7 @@ app10_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app10_schemas = gnome.compile_schemas() ++app10_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app10 = executable( +@@ -21,3 +21,5 @@ app10 = executable( + app10_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +diff --git a/examples/application5/meson.build b/examples/application5/meson.build +index f0fed1ca59..8ecb41948e 100644 +--- a/examples/application5/meson.build ++++ b/examples/application5/meson.build +@@ -5,7 +5,7 @@ app5_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app5_schemas = gnome.compile_schemas() ++app5_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app5 = executable( +@@ -19,3 +19,5 @@ app5 = executable( + app5_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +diff --git a/examples/application6/meson.build b/examples/application6/meson.build +index 2d923f35a3..8a172e2e26 100644 +--- a/examples/application6/meson.build ++++ b/examples/application6/meson.build +@@ -5,7 +5,7 @@ app6_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app6_schemas = gnome.compile_schemas() ++app6_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app6 = executable( +@@ -21,3 +21,5 @@ app6 = executable( + app6_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +diff --git a/examples/application7/meson.build b/examples/application7/meson.build +index cc32f36ad0..4c46221085 100644 +--- a/examples/application7/meson.build ++++ b/examples/application7/meson.build +@@ -5,7 +5,7 @@ app7_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app7_schemas = gnome.compile_schemas() ++app7_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app7 = executable( +@@ -21,3 +21,5 @@ app7 = executable( + app7_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +diff --git a/examples/application8/meson.build b/examples/application8/meson.build +index 1192f4d688..ee49034d2b 100644 +--- a/examples/application8/meson.build ++++ b/examples/application8/meson.build +@@ -5,7 +5,7 @@ app8_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app8_schemas = gnome.compile_schemas() ++app8_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app8 = executable( +@@ -21,3 +21,5 @@ app8 = executable( + app8_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +diff --git a/examples/application9/meson.build b/examples/application9/meson.build +index fccee738cb..46b77c4d17 100644 +--- a/examples/application9/meson.build ++++ b/examples/application9/meson.build +@@ -5,7 +5,7 @@ app9_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app9_schemas = gnome.compile_schemas() ++app9_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app9 = executable( +@@ -21,3 +21,5 @@ app9 = executable( + app9_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +-- +2.33.1 + + +From e36849e6a397bc7e0356bd51583d79f821f9c3db Mon Sep 17 00:00:00 2001 +From: David King +Date: Tue, 21 Dec 2021 14:04:40 +0000 +Subject: [PATCH 3/3] Revert "meson: simplify builtin_immodules build option" + +This reverts commit 749a58ab26bc01381d66ccefdd3aa42a34353e70. + +This maintains feature parity with the autotools build. +--- + gtk/meson.build | 2 +- + meson.build | 30 ++++++++++++++++++++++++------ + meson_options.txt | 4 ++-- + modules/input/meson.build | 2 +- + 4 files changed, 28 insertions(+), 10 deletions(-) + +diff --git a/gtk/meson.build b/gtk/meson.build +index 9754686cca..12aa7db5c3 100644 +--- a/gtk/meson.build ++++ b/gtk/meson.build +@@ -959,7 +959,7 @@ foreach l: immodules + cond = l.get(2, true) + cflags = l.get(3, []) + +- if cond and builtin_immodules ++ if cond and (builtin_immodules.contains(name) or builtin_all_immodules) + gtk_cargs += ['-DINCLUDE_IM_@0@'.format(name.underscorify())] + mod = static_library('staticimmodule-@0@'.format(name), + sources + gtk_dep_sources, +diff --git a/meson.build b/meson.build +index 16d1597116..15cca3de15 100644 +--- a/meson.build ++++ b/meson.build +@@ -499,6 +499,8 @@ else + cdata.set_quoted('ISO_CODES_PREFIX', get_option('prefix')) + endif + ++backend_immodules = [] ++ + pc_gdk_extra_libs = [] + + cairo_found_type = cairo_dep.type_name() +@@ -554,6 +556,7 @@ if wayland_enabled + wlprotocolsdep = dependency('wayland-protocols', version: wayland_proto_req) + wlcursordep = dependency('wayland-cursor', version: wayland_req) + wlegldep = dependency('wayland-egl') ++ backend_immodules += ['wayland'] + + wayland_pkgs = [ + 'wayland-client', wayland_req, +@@ -578,6 +581,8 @@ if x11_enabled + fontconfig_dep = dependency('fontconfig', fallback: ['fontconfig', 'fontconfig_dep']) + atkbridge_dep = dependency('atk-bridge-2.0', version: at_spi2_atk_req) + ++ backend_immodules += ['xim'] ++ + x11_pkgs = ['fontconfig', 'x11', 'xext', 'xi', 'xrandr'] + + if xcursor_dep.found() +@@ -656,10 +661,12 @@ endif + + if broadway_enabled + pc_gdk_extra_libs += ['-lz'] ++ backend_immodules += ['broadway'] + endif + + if quartz_enabled + pc_gdk_extra_libs += ['-Wl,-framework,Cocoa', '-Wl,-framework,Carbon', '-Wl,-framework,CoreGraphics'] ++ backend_immodules += ['quartz'] + endif + + extra_demo_ldflags = [] +@@ -674,6 +681,7 @@ if win32_enabled + pc_gdk_extra_libs += ['-Wl,-luuid'] + endif + pc_gdk_extra_libs += ['-lwinmm', '-ldwmapi', '-lsetupapi', '-lcfgmgr32'] ++ backend_immodules += ['ime'] + + # Check whether libepoxy is built with EGL support on Windows + win32_has_egl = epoxy_dep.get_variable( +@@ -684,20 +692,30 @@ endif + + # IMModules stuff-unfortunately we need to put items here + # as they can be built as modules or built directly into GTK ++builtin_all_immodules = false ++ + builtin_modules_opt = get_option('builtin_immodules') +-if builtin_modules_opt == 'auto' ++builtin_immodules = [] ++ ++if builtin_modules_opt == '' + if os_win32 + # Current MSVC projects build all immodules directly into GTK by default, + # as does the mingw autotools build + message('IMModules are built into GTK for MSVC builds by default') +- builtin_immodules = true ++ builtin_immodules = ['all'] + else +- builtin_immodules = false ++ builtin_immodules = ['none'] + endif +-elif builtin_modules_opt == 'yes' +- builtin_immodules = true + else +- builtin_immodules = false ++ builtin_immodules = builtin_modules_opt.split(',') ++endif ++ ++if builtin_immodules.contains('none') ++ builtin_immodules = [] ++elif builtin_immodules.contains('all') ++ builtin_all_immodules = true ++elif builtin_immodules.contains('backend') ++ builtin_immodules += backend_immodules + endif + + proto_sources = [ +diff --git a/meson_options.txt b/meson_options.txt +index 1ca55b1467..94099aa01e 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -45,5 +45,5 @@ option('installed_tests', type: 'boolean', value: 'false', + description : 'enable installed tests') + + # input modules +-option('builtin_immodules', type: 'combo', choices : ['yes', 'no', 'auto'], +- value: 'auto', description: 'Build immodules into GTK so/DLL') ++option('builtin_immodules', type: 'string', ++ value: '', description: 'Build specified immodules into GTK so/DLL (comma-separated list), "all", "none" or "backend"') +diff --git a/modules/input/meson.build b/modules/input/meson.build +index 7b201af894..95534b05ec 100644 +--- a/modules/input/meson.build ++++ b/modules/input/meson.build +@@ -7,7 +7,7 @@ foreach l: immodules + cond = l.get(2, true) + cflags = l.get(3, []) + +- if cond and not builtin_immodules ++ if cond and not (builtin_immodules.contains(name) or builtin_all_immodules) + shared_module('im-@0@'.format(name), + immod_sources, + c_args: common_cflags + cflags, +-- +2.33.1 + diff --git a/SOURCES/gtk3-3.24.31-treeview-a11y-leak-fix.patch b/SOURCES/gtk3-3.24.31-treeview-a11y-leak-fix.patch new file mode 100644 index 0000000..f2dc206 --- /dev/null +++ b/SOURCES/gtk3-3.24.31-treeview-a11y-leak-fix.patch @@ -0,0 +1,27 @@ +From cc977be580b9a7c2683810fe36fe485ee8583ec0 Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Fri, 11 Feb 2022 18:39:55 -0500 +Subject: [PATCH] Fix a leak of cell accessibles + +gtk_container_cell_accessible_add_child is transfer none, +so we need to drop the reference we hold, otherwise it +leaks. +--- + gtk/a11y/gtktreeviewaccessible.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gtk/a11y/gtktreeviewaccessible.c b/gtk/a11y/gtktreeviewaccessible.c +index c1a2097a1e..c2b7e8add0 100644 +--- a/gtk/a11y/gtktreeviewaccessible.c ++++ b/gtk/a11y/gtktreeviewaccessible.c +@@ -413,6 +413,7 @@ create_cell_accessible (GtkTreeView *treeview, + { + cell = create_cell_accessible_for_renderer (l->data, GTK_WIDGET (treeview), ATK_OBJECT (container)); + gtk_container_cell_accessible_add_child (container, cell); ++ g_object_unref (cell); + } + + cell = GTK_CELL_ACCESSIBLE (container); +-- +GitLab + diff --git a/SPECS/gtk3.spec b/SPECS/gtk3.spec index 865c7db..f8fd520 100644 --- a/SPECS/gtk3.spec +++ b/SPECS/gtk3.spec @@ -18,25 +18,41 @@ %global __provides_exclude_from ^%{_libdir}/gtk-3.0 Name: gtk3 -Version: 3.24.30 -Release: 3%{?dist} +Version: 3.24.31 +Release: 2%{?dist} Summary: GTK+ graphical user interface library License: LGPLv2+ URL: http://www.gtk.org Source0: http://download.gnome.org/sources/gtk+/3.24/gtk+-%{version}.tar.xz -# Upstream patch to make reftests work in a vm -Patch1: 0001-reftests-Enforce-default-settings.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=2025439 +Patch0: gtk3-3.24.30-entry-no-emoji-context-menu.patch + +# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4273 +Patch1: gtk3-3.24.31-meson.patch +# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4280 +Patch2: gtk3-3.24.31-meson-reftest.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=2055013 +Patch3: gtk3-3.24.31-treeview-a11y-leak-fix.patch BuildRequires: pkgconfig(atk) >= %{atk_version} BuildRequires: pkgconfig(atk-bridge-2.0) -BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} -BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(avahi-gobject) BuildRequires: pkgconfig(cairo) >= %{cairo_version} BuildRequires: pkgconfig(cairo-gobject) >= %{cairo_version} -BuildRequires: pkgconfig(pango) >= %{pango_version} +BuildRequires: pkgconfig(colord) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf_version} +BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(pango) >= %{pango_version} +BuildRequires: pkgconfig(tracker-sparql-3.0) +BuildRequires: pkgconfig(wayland-client) >= %{wayland_version} +BuildRequires: pkgconfig(wayland-cursor) >= %{wayland_version} +BuildRequires: pkgconfig(wayland-egl) >= %{wayland_version} +BuildRequires: pkgconfig(wayland-protocols) >= %{wayland_protocols_version} BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xrandr) >= %{xrandr_version} BuildRequires: pkgconfig(xrender) @@ -46,22 +62,12 @@ BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xdamage) -BuildRequires: pkgconfig(epoxy) -BuildRequires: gettext -BuildRequires: gtk-doc +BuildRequires: pkgconfig(xkbcommon) BuildRequires: cups-devel -BuildRequires: pkgconfig(rest-0.7) -BuildRequires: pkgconfig(json-glib-1.0) -BuildRequires: pkgconfig(colord) -BuildRequires: pkgconfig(avahi-gobject) BuildRequires: desktop-file-utils -BuildRequires: pkgconfig(egl) -BuildRequires: pkgconfig(wayland-client) >= %{wayland_version} -BuildRequires: pkgconfig(wayland-cursor) >= %{wayland_version} -BuildRequires: pkgconfig(wayland-egl) >= %{wayland_version} -BuildRequires: pkgconfig(wayland-protocols) >= %{wayland_protocols_version} -BuildRequires: pkgconfig(xkbcommon) -BuildRequires: make +BuildRequires: gettext +BuildRequires: gtk-doc +BuildRequires: meson # standard icons Requires: adwaita-icon-theme @@ -89,6 +95,9 @@ Recommends: dconf%{?_isa} # For sound theme events in gtk3 apps Recommends: libcanberra-gtk3%{?_isa} +# For Tracker search in the file chooser. +Recommends: tracker-miners + %description GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for @@ -154,31 +163,22 @@ the functionality of the installed %{name} package. %build export CFLAGS='-fno-strict-aliasing %optflags' -(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi; - %configure $CONFIGFLAGS \ - --enable-xkb \ - --enable-xinerama \ - --enable-xrandr \ - --enable-xfixes \ - --enable-xcomposite \ - --enable-xdamage \ - --enable-x11-backend \ - --enable-wayland-backend \ +%meson \ %if 0%{?with_broadway} - --enable-broadway-backend \ + -Dbroadway_backend=true \ %endif - --enable-colord \ - --enable-installed-tests \ - --with-included-immodules=wayland -) - -# fight unused direct deps -sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool - -make %{?_smp_mflags} + -Dbuiltin_immodules=wayland,waylandgtk \ + -Dcolord=yes \ + -Dcloudproviders=false \ + -Dgtk_doc=true \ + -Dinstalled_tests=true \ + -Dman=true \ + -Dtracker3=true \ + -Dxinerama=yes \ +%meson_build %install -%make_install RUN_QUERY_IMMODULES_TEST=false +%meson_install %find_lang gtk30 %find_lang gtk30-properties @@ -189,13 +189,6 @@ make %{?_smp_mflags} echo ".so man1/gtk-query-immodules-3.0.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gtk-query-immodules-3.0-%{__isa_bits}.1 -# Remove unpackaged files -find $RPM_BUILD_ROOT -name '*.la' -delete - -%if !0%{?with_broadway} -rm $RPM_BUILD_ROOT%{_mandir}/man1/broadwayd.1* -%endif - touch $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{bin_version}/immodules.cache mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gtk-3.0 @@ -238,6 +231,8 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || : %{_datadir}/glib-2.0/schemas/org.gtk.Settings.EmojiChooser.gschema.xml %{_datadir}/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml %{_datadir}/glib-2.0/schemas/org.gtk.exampleapp.gschema.xml +%dir %{_datadir}/gtk-3.0 +%{_datadir}/gtk-3.0/emoji/ %if 0%{?with_broadway} %{_bindir}/broadwayd %{_mandir}/man1/broadwayd.1* @@ -289,7 +284,6 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || : %{_datadir}/gettext/ %{_datadir}/gir-1.0 %{_datadir}/glib-2.0/schemas/org.gtk.Demo.gschema.xml -%dir %{_datadir}/gtk-3.0 %{_datadir}/gtk-3.0/gtkbuilder.rng %{_datadir}/gtk-3.0/valgrind/ %{_mandir}/man1/gtk3-demo.1* @@ -308,6 +302,15 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || : %{_datadir}/installed-tests/ %changelog +* Thu Feb 17 2022 David King - 3.24.31-2 +- Fix treeview a11y refcount leak (#2055013) + +* Thu Jan 13 2022 David King - 3.24.31-1 +- Rebase to 3.24.31 (#2010192) + +* Thu Jan 13 2022 David King - 3.24.30-4 +- No entry emoji context menu (#2025439) + * Mon Aug 09 2021 Mohan Boddu - 3.24.30-3 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688