From d05605285f4d47bee12b0d25ddc4c09e18b36285 Mon Sep 17 00:00:00 2001 From: lipingEmmaSiguyi <1477412247@qq.com> Date: Mon, 22 Sep 2025 15:35:47 +0000 Subject: [PATCH 1/2] Revert "requires higher version of vala" This reverts commit 10c29d5f651e81b5c1ca78fd988cc9dd816245d0. --- gtk4.spec | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/gtk4.spec b/gtk4.spec index 89be9e4..f23bdf4 100644 --- a/gtk4.spec +++ b/gtk4.spec @@ -14,7 +14,7 @@ Name: gtk4 Version: 4.17.1 -Release: 2 +Release: 1 Summary: GTK graphical user interface library License: LGPL-2.0-or-later URL: https://www.gtk.org @@ -94,7 +94,6 @@ This package contains version 4 of GTK. %package devel Summary: Development files for GTK Requires: gtk4%{?_isa} = %{version}-%{release} -Requires: (vala >= 0.56.15 if vala) %description devel This package contains the libraries and header files that are needed @@ -198,10 +197,6 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop %{_mandir}/man1/gtk4-widget-factory.1* %changelog -* Sun Feb 09 2025 Funda Wang - 4.17.1-2 -- requires higher version of vala, as old version produces - erorrs for some downstream packages - * Fri Feb 07 2025 wangkai <13474090681@163.com> - 4.17.1-1 - Update to 4.17.1 -- Gitee From 4a67001fc4d0d4b10c4965094e4ee546614fc0ca Mon Sep 17 00:00:00 2001 From: lipingEmmaSiguyi <1477412247@qq.com> Date: Mon, 22 Sep 2025 15:37:25 +0000 Subject: [PATCH 2/2] Revert "Update to 4.17.1" This reverts commit fb99345fe000eda8e1d14686fa08a19409e07835. --- ...on-Simplify-pkgconfig-file-generator.patch | 120 ++++++++++++++++++ gtk-4.17.1.tar.xz => gtk-4.10.5.tar.xz | 4 +- gtk4.spec | 67 ++++------ settings.ini | 2 + 4 files changed, 151 insertions(+), 42 deletions(-) create mode 100644 0001-Revert-Meson-Simplify-pkgconfig-file-generator.patch rename gtk-4.17.1.tar.xz => gtk-4.10.5.tar.xz (32%) create mode 100644 settings.ini diff --git a/0001-Revert-Meson-Simplify-pkgconfig-file-generator.patch b/0001-Revert-Meson-Simplify-pkgconfig-file-generator.patch new file mode 100644 index 0000000..a3de687 --- /dev/null +++ b/0001-Revert-Meson-Simplify-pkgconfig-file-generator.patch @@ -0,0 +1,120 @@ +From 5f5fd77f096174c45f8335afe6efd6745796d9a5 Mon Sep 17 00:00:00 2001 +From: Kalev Lember +Date: Mon, 25 Jul 2022 16:21:50 +0200 +Subject: [PATCH] Revert "Meson: Simplify pkgconfig file generator" + +Temporarily revert this until we figure out how to best restore +private requires that are needed for rpm automatic dep extraction. + +https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4756 + +This reverts commit 802bf4199911c811938b0454a876089bafa97dba. +--- + meson.build | 47 +++++++++++++++++++++++++++++++++-------------- + 1 file changed, 33 insertions(+), 14 deletions(-) + +diff --git a/meson.build b/meson.build +index 1b8f2d0248..4fc808dbd4 100644 +--- a/meson.build ++++ b/meson.build +@@ -471,6 +471,9 @@ if not os_win32 + endif + endif + ++ ++pc_gdk_extra_libs = [] ++ + cairo_backends = [] + foreach backend: [ ['cairo-xlib', cairo_req, x11_enabled], + ['cairo-win32', cairo_req, win32_enabled], +@@ -601,14 +604,26 @@ if x11_enabled + cdata.set('HAVE_RANDR15', xrandr15_dep.found()) + endif + ++if broadway_enabled ++ pc_gdk_extra_libs += ['-lz'] ++endif ++ ++if macos_enabled ++ pc_gdk_extra_libs += ['-framework Cocoa', '-framework Carbon'] ++endif ++ + extra_demo_ldflags = [] + if win32_enabled ++ pc_gdk_extra_libs += ['-lgdi32', '-limm32', '-lshell32', '-lole32'] + if cc.get_id() == 'msvc' + # Since the demo programs are now built as pure GUI programs, we + # need to pass in /entry:mainCRTStartup so that they will properly + # link on Visual Studio builds + extra_demo_ldflags = ['/entry:mainCRTStartup'] ++ else ++ pc_gdk_extra_libs += ['-Wl,-luuid'] + endif ++ pc_gdk_extra_libs += ['-lwinmm', '-ldwmapi', '-lsetupapi', '-lcfgmgr32', '-lhid'] + + # Check whether libepoxy is built with EGL support on Windows + endif +@@ -826,7 +841,16 @@ gsk_private_packages = [] # all already in gdk_private_packages + pangoft2_pkgs = (wayland_enabled or x11_enabled) ? ['pangoft2'] : [] + gtk_private_packages = pangoft2_pkgs + +-pkgs = [] ++gdk_extra_libs = pc_gdk_extra_libs ++gsk_extra_libs = [] ++gtk_extra_libs = [] ++ ++gdk_extra_cflags = [] ++gsk_extra_cflags = [] ++gtk_extra_cflags = [] ++ ++pkgs = [ 'gtk4' ] ++ + pkg_targets = [] + display_backends = [] + foreach backend: [ 'broadway', 'macos', 'wayland', 'win32', 'x11', ] +@@ -843,23 +867,18 @@ common_pc_variables = [ + 'gtk_host=@0@-@1@'.format(host_machine.cpu_family(), host_machine.system()), # FIXME + ] + +-pkg_config.generate(libgtk, +- filebase: 'gtk4', +- unescaped_variables: common_pc_variables, +- name: 'GTK', +- description: 'GTK Graphical UI Library', +- requires: gdk_packages + gsk_packages + gtk_packages, +- subdirs: ['gtk-@0@'.format(gtk_api_version)], +-) +-meson.override_dependency('gtk4', libgtk_dep) +- + foreach pkg: pkgs + pkg_config.generate( + filebase: pkg, + unescaped_variables: common_pc_variables, + name: 'GTK', + description: 'GTK Graphical UI Library', +- requires: 'gtk4', ++ requires: gdk_packages + gsk_packages + gtk_packages, ++ requires_private: gdk_private_packages + gsk_private_packages + gtk_private_packages, ++ libraries: ['-L${libdir}', '-lgtk-4'], ++ libraries_private: gdk_extra_libs + gsk_extra_libs + gtk_extra_libs, ++ subdirs: ['gtk-@0@'.format(gtk_api_version)], ++ extra_cflags: gdk_extra_cflags + gsk_extra_cflags + gtk_extra_cflags, + ) + meson.override_dependency(pkg, libgtk_dep) + endforeach +@@ -870,10 +889,10 @@ if os_unix + unescaped_variables: common_pc_variables, + name: 'GTK', + description: 'GTK Unix print support', +- requires: 'gtk4', ++ requires: ['gtk4'] + gtk_packages, ++ libraries: [], + subdirs: ['gtk-@0@/unix-print'.format(gtk_api_version)], + ) +- meson.override_dependency('gtk4-unix-print', libgtk_dep) + endif + + subdir('po') +-- +2.37.1 + diff --git a/gtk-4.17.1.tar.xz b/gtk-4.10.5.tar.xz similarity index 32% rename from gtk-4.17.1.tar.xz rename to gtk-4.10.5.tar.xz index 6ce5cdb..ef55c48 100644 --- a/gtk-4.17.1.tar.xz +++ b/gtk-4.10.5.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2bfcfda10d010e301f1a985d9dcae044845a97df43fc7772e63d50d29ac20010 -size 19326572 +oid sha256:9bd5e437e41d48e3d6a224c336b0fd3fd490036dceb8956ed74b956369af609b +size 16403464 diff --git a/gtk4.spec b/gtk4.spec index f23bdf4..5c6cf8e 100644 --- a/gtk4.spec +++ b/gtk4.spec @@ -1,9 +1,8 @@ -%global glib2_version 2.76.0 -%global pango_version 1.52.0 -%global cairo_version 1.18.0 +%global glib2_version 2.72.0 +%global pango_version 1.50.0 +%global cairo_version 1.14.0 %global gdk_pixbuf_version 2.30.0 -%global gstreamer_version 1.24.0 -%global wayland_protocols_version 1.31 +%global wayland_protocols_version 1.25 %global wayland_version 1.21.0 %global epoxy_version 1.4 @@ -13,23 +12,21 @@ %bcond_without sysprof Name: gtk4 -Version: 4.17.1 -Release: 1 +Version: 4.10.5 +Release: 2 Summary: GTK graphical user interface library License: LGPL-2.0-or-later URL: https://www.gtk.org -Source0: https://download.gnome.org/sources/gtk/4.17/gtk-%{version}.tar.xz - -BuildRequires: cups-devel -BuildRequires: desktop-file-utils -BuildRequires: docbook-style-xsl -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: gettext -BuildRequires: gi-docgen -BuildRequires: glslc -BuildRequires: meson -BuildRequires: python3-gobject +Source0: https://download.gnome.org/sources/gtk/4.10/gtk-%{version}.tar.xz +Source1: settings.ini +# Temporarily revert this until we figure out how to best restore +# private requires that are needed for rpm automatic dep extraction. +# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4756 +Patch0: 0001-Revert-Meson-Simplify-pkgconfig-file-generator.patch + +BuildRequires: cups-devel desktop-file-utils docbook-style-xsl gcc +BuildRequires: sassc libxslt gcc-c++ gettext meson +BuildRequires: gi-docgen python3-docutils python3-gobject BuildRequires: pkgconfig(avahi-gobject) BuildRequires: pkgconfig(cairo) >= %{cairo_version} BuildRequires: pkgconfig(cairo-gobject) >= %{cairo_version} @@ -40,14 +37,13 @@ BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf_version} BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(graphene-gobject-1.0) -BuildRequires: pkgconfig(gstreamer-player-1.0) >= %{gstreamer_version} +BuildRequires: pkgconfig(gstreamer-player-1.0) BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(pango) >= %{pango_version} BuildRequires: pkgconfig(tracker-sparql-3.0) -BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(wayland-client) >= %{wayland_version} BuildRequires: pkgconfig(wayland-cursor) >= %{wayland_version} BuildRequires: pkgconfig(wayland-egl) >= %{wayland_version} @@ -61,8 +57,6 @@ BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xrender) -BuildRequires: /usr/bin/appstream-util -BuildRequires: /usr/bin/rst2man %if %{with sysprof} BuildRequires: pkgconfig(sysprof-4) BuildRequires: pkgconfig(sysprof-capture-4) @@ -76,7 +70,6 @@ Requires: cairo%{?_isa} >= %{cairo_version} Requires: cairo-gobject%{?_isa} >= %{cairo_version} Requires: glib2%{?_isa} >= %{glib2_version} Requires: libepoxy%{?_isa} >= %{epoxy_version} -Requires: gstreamer1-plugins-bad-free%{?_isa} >= %{gstreamer_version} Requires: libwayland-client%{?_isa} >= %{wayland_version} Requires: libwayland-cursor%{?_isa} >= %{wayland_version} Requires: pango%{?_isa} >= %{pango_version} @@ -109,11 +102,8 @@ export CFLAGS='-fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT % %{?with_sysprof:-Dsysprof=enabled}%{?!with_sysprof:-Dsysprof=disabled} \ -Dtracker=enabled \ -Dcolord=enabled \ - -Ddocumentation=true \ - -Dman-pages=true \ - -Dbuild-testsuite=false \ - -Dbuild-tests=false \ - -Dbuild-examples=false + -Dgtk_doc=true \ + -Dman-pages=true %meson_build @@ -124,10 +114,10 @@ export CFLAGS='-fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT % mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gtk-4.0 mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-4.0/modules +install -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/gtk-4.0/ %check -appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_metainfodir}/*.xml -desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop +desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %files -f gtk40.lang %license COPYING @@ -149,6 +139,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop %{_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.FileChooser.gschema.xml %dir %{_datadir}/gtk-4.0 %{_datadir}/gtk-4.0/emoji/ +%{_datadir}/gtk-4.0/settings.ini %{_bindir}/gtk4-broadwayd %{_mandir}/man1/gtk4-broadwayd.1* @@ -158,7 +149,6 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop %{_libdir}/pkgconfig/* %{_bindir}/gtk4-builder-tool %{_bindir}/gtk4-encode-symbolic-svg -%{_bindir}/gtk4-path-tool %{_bindir}/gtk4-query-settings %{_datadir}/gettext/ %{_datadir}/gir-1.0 @@ -166,40 +156,37 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop %{_datadir}/gtk-4.0/valgrind/ %{_mandir}/man1/gtk4-builder-tool.1* %{_mandir}/man1/gtk4-encode-symbolic-svg.1* -%{_mandir}/man1/gtk4-path-tool.1* %{_mandir}/man1/gtk4-query-settings.1* %{_datadir}/doc/ %{_bindir}/gtk4-demo %{_bindir}/gtk4-demo-application -%{_bindir}/gtk4-image-tool +%{_bindir}/gtk4-icon-browser %{_bindir}/gtk4-node-editor %{_bindir}/gtk4-print-editor -%{_bindir}/gtk4-rendernode-tool %{_bindir}/gtk4-widget-factory %{_datadir}/applications/org.gtk.gtk4.NodeEditor.desktop %{_datadir}/applications/org.gtk.Demo4.desktop +%{_datadir}/applications/org.gtk.IconBrowser4.desktop %{_datadir}/applications/org.gtk.PrintEditor4.desktop %{_datadir}/applications/org.gtk.WidgetFactory4.desktop %{_datadir}/icons/hicolor/*/apps/org.gtk.gtk4.NodeEditor*.svg %{_datadir}/icons/hicolor/*/apps/org.gtk.Demo4*.svg +%{_datadir}/icons/hicolor/*/apps/org.gtk.IconBrowser4*.svg %{_datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.svg %{_datadir}/icons/hicolor/*/apps/org.gtk.WidgetFactory4*.svg %{_datadir}/glib-2.0/schemas/org.gtk.Demo4.gschema.xml %{_datadir}/metainfo/org.gtk.gtk4.NodeEditor.appdata.xml %{_datadir}/metainfo/org.gtk.Demo4.appdata.xml +%{_datadir}/metainfo/org.gtk.IconBrowser4.appdata.xml %{_datadir}/metainfo/org.gtk.PrintEditor4.appdata.xml %{_datadir}/metainfo/org.gtk.WidgetFactory4.appdata.xml %{_mandir}/man1/gtk4-demo.1* %{_mandir}/man1/gtk4-demo-application.1* -%{_mandir}/man1/gtk4-image-tool.1* +%{_mandir}/man1/gtk4-icon-browser.1* %{_mandir}/man1/gtk4-node-editor.1* -%{_mandir}/man1/gtk4-rendernode-tool.1* %{_mandir}/man1/gtk4-widget-factory.1* %changelog -* Fri Feb 07 2025 wangkai <13474090681@163.com> - 4.17.1-1 -- Update to 4.17.1 - * Sun Oct 13 2024 Funda Wang - 4.10.5-2 - make sysprof build conditioned - do not build sysprof support now, as it produces circular dependencies diff --git a/settings.ini b/settings.ini new file mode 100644 index 0000000..462e32c --- /dev/null +++ b/settings.ini @@ -0,0 +1,2 @@ +[Settings] +gtk-hint-font-metrics=1 -- Gitee