diff --git a/do-not-install-reftests-when-use-meson-build-system.patch b/do-not-install-reftests-when-use-meson-build-system.patch new file mode 100644 index 0000000000000000000000000000000000000000..8d8fca54dc40797e2e031e40f47a4c98a195abcf --- /dev/null +++ b/do-not-install-reftests-when-use-meson-build-system.patch @@ -0,0 +1,56 @@ +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. + +Conflict:NA +Reference:https://gitlab.gnome.org/GNOME/gtk/-/commit/7f295eeb324c3d793bdf302fa7ea9ebdd8a52bcf +--- + 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/gtk+-3.24.29.tar.xz b/gtk+-3.24.30.tar.xz similarity index 67% rename from gtk+-3.24.29.tar.xz rename to gtk+-3.24.30.tar.xz index 26f403ae9e071c4678f03a3e97c8b560dd656ca6..08089fd18e04b81af87bb13130e0625f4440557e 100644 Binary files a/gtk+-3.24.29.tar.xz and b/gtk+-3.24.30.tar.xz differ diff --git a/gtk3.spec b/gtk3.spec index 694e726cc682b46f2cdf7bc52382965960a6451f..ac29154dcecfae18a38d9a981020b67048022db2 100644 --- a/gtk3.spec +++ b/gtk3.spec @@ -13,13 +13,16 @@ #Basic Information Name: gtk3 -Version: 3.24.29 -Release: 2 +Version: 3.24.30 +Release: 5 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 +Patch6000: remove-missing-reftests-when-use-meson-build-system.patch +Patch6001: do-not-install-reftests-when-use-meson-build-system.patch + #Dependency BuildRequires: pkgconfig(atk) >= %{atk_version} pkgconfig(atk-bridge-2.0) BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} pkgconfig(gobject-introspection-1.0) @@ -28,8 +31,12 @@ BuildRequires: pkgconfig(pango) >= %{pango_version} pkgconfig(gdk-pixbuf-2.0) >= BuildRequires: pkgconfig(xi) pkgconfig(xrandr) pkgconfig(xinerama) pkgconfig(xcomposite) pkgconfig(xdamage) BuildRequires: pkgconfig(xkbcommon) pkgconfig(epoxy) >= %{epoxy_version} BuildRequires: wayland-devel >= %{wayland_version} wayland-protocols-devel >= %{wayland_protocols_version} -BuildRequires: pkgconfig(colord) pkgconfig(json-glib-1.0) pkgconfig(rest-0.7) -BuildRequires: gettext gtk-doc cups-devel libtool desktop-file-utils libXcursor-devel +BuildRequires: pkgconfig(colord) +BuildRequires: gettext gtk-doc libtool desktop-file-utils libXcursor-devel meson +%if 0%{?openEuler} +BuildRequires: cups-devel +%endif + Requires: adwaita-icon-theme hicolor-icon-theme Requires: atk >= %{atk_version} glib2 >= %{glib2_version} pango >= %{pango_version} Requires: cairo >= %{cairo_version} cairo-gobject >= %{cairo_version} @@ -41,8 +48,6 @@ Recommends: dconf Obsoletes: adwaita-gtk3-theme < 3.13.3 Provides: adwaita-gtk3-theme = %{version}-%{release} Conflicts: gtk2 < 2.24.29 -Obsoletes: gtk-update-icon-cache < %{version}-%{release} -Provides: gtk-update-icon-cache = %{version}-%{release} Obsoletes: gtk3-engines <= 2.91.5-5.fc15 Obsoletes: gtk-solidity-engine < 0.4.1-9 @@ -73,6 +78,13 @@ Requires: gtk3 = %{version}-%{release} %description immodule-xim The gtk3-immodule-xim package contains XIM support for GTK+ 3. +%package -n gtk-update-icon-cache +Summary: Icon theme caching utility +Obsoletes: gtk-update-icon-cache < %{version}-%{release} + +%description -n gtk-update-icon-cache +GTK+ can use the cache files created by gtk-update-icon-cache to avoid alot of system call and disk seek overhead when the application starts.Since the format of the cache files allows them to be mmap()ed shared between multiple applications,the overall memory consumption is reduced as well. + %package devel Summary: Development files for gtk+3 Requires: gtk3 = %{version}-%{release} @@ -101,29 +113,23 @@ This package contains man pages and other related documents for gtk3. %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 \ - --enable-broadway-backend \ - --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} +%meson \ + -Dbroadway_backend=true \ + -Dbuiltin_immodules=auto\ + -Dwayland-backend=true \ + -Dcolord=yes \ + -Dgtk_doc=true \ + -Dinstalled_tests=true \ + -Dman=true \ + -Dxinerama=yes \ + -Dbuiltin_immodules=wayland,waylandgtk \ + %if 0%{?openEuler} + -Dprint_backends=cups,file,lpr,test \ + %endif +%meson_build %install -%make_install RUN_QUERY_IMMODULES_TEST=false +%meson_install %find_lang gtk30 %find_lang gtk30-properties @@ -168,7 +174,6 @@ gtk-query-immodules-3.0-64 --update-cache &>/dev/null || : %{_bindir}/broadwayd %{_bindir}/gtk-launch %{_bindir}/gtk-query-immodules-3.0* -%{_bindir}/gtk-update-icon-cache %{_libdir}/libgtk-3.so.* %{_libdir}/libgdk-3.so.* %{_libdir}/libgailutil-3.so.* @@ -189,11 +194,16 @@ gtk-query-immodules-3.0-64 --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 +%{_datadir}/gtk-3.0/emoji/ %if ! 0%{?enable_immodules_package} %exclude %{_libdir}/gtk-3.0/%{bin_version}/immodules/* %exclude %{_sysconfdir}/gtk-3.0/im-multipress.conf %endif +%files -n gtk-update-icon-cache +%license COPYING +%{_bindir}/gtk-update-icon-cache + %if 0%{?enable_immodules_package} %files immodules %config(noreplace) %{_sysconfdir}/gtk-3.0/im-multipress.conf @@ -256,6 +266,21 @@ gtk-query-immodules-3.0-64 --update-cache &>/dev/null || : %{_mandir}/man1/gtk3-widget-factory.1* %changelog +* Wed Mar 23 2022 wangkerong - 3.24.30-5 +- use meson build system and remove librest and json-gilb buildrequires + +* Tue Mar 08 2022 Wenlong Ding - 3.24.30-4 +- Remove 'Provides: gtk-update-icon-cache' from gtk3 package + +* Fri Jan 14 2022 wangkerong - 3.24.30-3 +- Other distros disable cups + +* Mon Dec 06 2021 liuyumeng - 3.24.30-2 +- fix the date in the changelog,Split the update-icon-cache sub-package from the main package + +* Fri Dec 03 2021 liuyumeng - 3.24.30-1 +- update to gtk3-3.24.30-1 + * Wed Jun 23 2021 chenbo pan - 3.24.29-2 - Fix virt-manager 'NoneType' object has no attribute 'conn' error diff --git a/remove-missing-reftests-when-use-meson-build-system.patch b/remove-missing-reftests-when-use-meson-build-system.patch new file mode 100644 index 0000000000000000000000000000000000000000..9c07f628af9dc08a7ab5fe879c0088fb551d0ae2 --- /dev/null +++ b/remove-missing-reftests-when-use-meson-build-system.patch @@ -0,0 +1,319 @@ +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. + +Conflict:NA +Reference:https://src.fedoraproject.org/rpms/gtk3/blob/rawhide/f/gtk3-3.24.31-meson.patch +--- + 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 +