diff --git a/0001-Revert-Meson-Simplify-pkgconfig-file-generator.patch b/0001-Revert-Meson-Simplify-pkgconfig-file-generator.patch deleted file mode 100644 index a3de6872b677e9c72ac0f24256cd812de123ffe1..0000000000000000000000000000000000000000 --- a/0001-Revert-Meson-Simplify-pkgconfig-file-generator.patch +++ /dev/null @@ -1,120 +0,0 @@ -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.10.5.tar.xz b/gtk-4.17.0.tar.xz similarity index 61% rename from gtk-4.10.5.tar.xz rename to gtk-4.17.0.tar.xz index 1736a2bb166ed6eb2a0a077e3b49f71218599029..17327f17274691a088a8a53db8825d92fe7da3db 100644 Binary files a/gtk-4.10.5.tar.xz and b/gtk-4.17.0.tar.xz differ diff --git a/gtk4.spec b/gtk4.spec index fcba47c5e18f0f1fc2ef3aceb4eea855f6ec7c2a..151a025913225f6ccf5b5b63ecdd43992bab0ef1 100644 --- a/gtk4.spec +++ b/gtk4.spec @@ -1,30 +1,42 @@ -%global glib2_version 2.72.0 -%global pango_version 1.50.0 -%global cairo_version 1.14.0 +%global glib2_version 2.76.0 +%global pango_version 1.52.0 +%global cairo_version 1.18.0 %global gdk_pixbuf_version 2.30.0 -%global wayland_protocols_version 1.25 +%global gstreamer_version 1.24.0 +%global wayland_protocols_version 1.31 %global wayland_version 1.21.0 %global epoxy_version 1.4 %global bin_version 4.0.0 + +# Filter provides for private modules %global __provides_exclude_from ^%{_libdir}/gtk-4.0 +# FTBFS on i686 with GCC 14 -Werror=int-conversion +# https://gitlab.gnome.org/GNOME/gtk/-/issues/6033 +%ifarch %{ix86} +%global build_type_safety_c 1 +%endif + Name: gtk4 -Version: 4.10.5 +Version: 4.17.0 Release: 1 Summary: GTK graphical user interface library -License: LGPLv2+ + +License: LGPL-2.0-or-later URL: https://www.gtk.org -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 +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 BuildRequires: pkgconfig(avahi-gobject) BuildRequires: pkgconfig(cairo) >= %{cairo_version} BuildRequires: pkgconfig(cairo-gobject) >= %{cairo_version} @@ -35,15 +47,15 @@ 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) +BuildRequires: pkgconfig(gstreamer-player-1.0) >= %{gstreamer_version} BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(pango) >= %{pango_version} -BuildRequires: pkgconfig(sysprof-4) BuildRequires: pkgconfig(sysprof-capture-4) 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} @@ -57,19 +69,29 @@ BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xrender) +BuildRequires: /usr/bin/appstream-util +BuildRequires: /usr/bin/rst2man +# standard icons Requires: adwaita-icon-theme +# required for icon theme apis to work Requires: hicolor-icon-theme +# split out in a subpackage Requires: gtk-update-icon-cache 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-libs%{?_isa} >= %{gstreamer_version} Requires: libwayland-client%{?_isa} >= %{wayland_version} Requires: libwayland-cursor%{?_isa} >= %{wayland_version} Requires: pango%{?_isa} >= %{pango_version} + +# required to support all the different image formats Requires: gdk-pixbuf2-modules%{?_isa} + +# make sure we have a reasonable gsettings backend Recommends: dconf%{?_isa} %description @@ -98,8 +120,11 @@ export CFLAGS='-fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT % -Dsysprof=enabled \ -Dtracker=enabled \ -Dcolord=enabled \ - -Dgtk_doc=true \ - -Dman-pages=true + -Ddocumentation=true \ + -Dman-pages=true \ + -Dbuild-testsuite=false \ + -Dbuild-tests=false \ + -Dbuild-examples=false %meson_build @@ -110,12 +135,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 -desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop - -%ldconfig_scriptlets +appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_metainfodir}/*.xml +desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop %files -f gtk40.lang %license COPYING @@ -128,7 +151,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_libdir}/gtk-4.0/%{bin_version}/media/ %{_libdir}/gtk-4.0/%{bin_version}/printbackends/ %{_libdir}/gtk-4.0/modules -%{_libdir}/girepository-1.0 +%{_libdir}/girepository-1.0/ %{_mandir}/man1/gtk4-launch.1* %{_mandir}/man1/gtk4-update-icon-cache.1* %{_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.ColorChooser.gschema.xml @@ -137,7 +160,6 @@ desktop-file-validate %{buildroot}%{_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* @@ -147,20 +169,30 @@ desktop-file-validate %{buildroot}%{_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 +%{_datadir}/gir-1.0/ %{_datadir}/gtk-4.0/gtk4builder.rng %{_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/ + +%{_datadir}/doc/gdk4/ +%{_datadir}/doc/gdk4-wayland/ +%{_datadir}/doc/gdk4-x11/ +%{_datadir}/doc/gsk4/ +%{_datadir}/doc/gtk4/ + %{_bindir}/gtk4-demo %{_bindir}/gtk4-demo-application %{_bindir}/gtk4-icon-browser +%{_bindir}/gtk4-image-tool %{_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 @@ -173,18 +205,23 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_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 +%{_metainfodir}/org.gtk.gtk4.NodeEditor.appdata.xml +%{_metainfodir}/org.gtk.Demo4.appdata.xml +%{_metainfodir}/org.gtk.IconBrowser4.appdata.xml +%{_metainfodir}/org.gtk.PrintEditor4.appdata.xml +%{_metainfodir}/org.gtk.WidgetFactory4.appdata.xml %{_mandir}/man1/gtk4-demo.1* %{_mandir}/man1/gtk4-demo-application.1* %{_mandir}/man1/gtk4-icon-browser.1* +%{_mandir}/man1/gtk4-image-tool.1* %{_mandir}/man1/gtk4-node-editor.1* +%{_mandir}/man1/gtk4-rendernode-tool.1* %{_mandir}/man1/gtk4-widget-factory.1* %changelog +* Wed Nov 20 2024 shenzhongwei - 4.17.0-1 +- update yo 4.17.0 + * Fri Nov 17 2023 lvgenggeng - 4.10.5-1 - bump to 4.10.5-1