[packages/gtk4] - updated to 4.20.1; included modules are always builtin now
qboosh
qboosh at pld-linux.org
Mon Sep 15 19:46:11 CEST 2025
commit fa3e978e09275e887214e21011a42df7d364ddde
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Mon Sep 15 19:49:04 2025 +0200
- updated to 4.20.1; included modules are always builtin now
gtk4-print-backends.patch | 16 ++--
gtk4.spec | 191 +++++++++++++++++++---------------------------
2 files changed, 87 insertions(+), 120 deletions(-)
---
diff --git a/gtk4.spec b/gtk4.spec
index 0250ec4..77a8210 100644
--- a/gtk4.spec
+++ b/gtk4.spec
@@ -8,6 +8,7 @@
%bcond_with cpdb # CPDB print backend
%bcond_without cups # CUPS print backend
%bcond_without cloudproviders # cloudproviders support
+%bcond_without accesskit # AccessKit accessibility backend
%bcond_without static_libs # static library
%bcond_with sysprof # sysprof tracing support
%bcond_with tracker # Tracker3 filechooser search
@@ -21,22 +22,25 @@ Summary(it.UTF-8): Il toolkit per GIMP
Summary(pl.UTF-8): GIMP Toolkit
Summary(tr.UTF-8): GIMP ToolKit arayüz kitaplığı
Name: gtk4
-Version: 4.18.6
+Version: 4.20.1
Release: 1
License: LGPL v2+
Group: X11/Libraries
-Source0: https://download.gnome.org/sources/gtk/4.18/gtk-%{version}.tar.xz
-# Source0-md5: 9ad89b1e6a71ac3a06ca8bbeed6fd466
+Source0: https://download.gnome.org/sources/gtk/4.20/gtk-%{version}.tar.xz
+# Source0-md5: 865e4e4e592d2e166406508d0324a146
Patch0: %{name}-print-backends.patch
URL: https://www.gtk.org/
%{?with_vulkan:BuildRequires: Vulkan-Loader-devel >= 1.3}
+%{?with_accesskit:BuildRequires: accesskit-c-devel >= 0.17}
+BuildRequires: bash
# cairo-gobject + cairo-pdf,cairo-ps,cairo-svg
BuildRequires: cairo-gobject-devel >= 1.18.2
BuildRequires: colord-devel >= 0.1.9
%if %{with cpdb}
-BuildRequires: cpdb-frontend-devel >= 2.0
+BuildRequires: cpdb-libs-devel >= 2.0
%endif
%if %{with cups}
+# or libcups-devel >= 3.0, 2 is preferred currently
BuildRequires: cups-devel >= 1:2.0
%endif
BuildRequires: docbook-dtd412-xml
@@ -45,31 +49,38 @@ BuildRequires: docutils
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel >= 1:2.7.1
BuildRequires: fribidi-devel >= 1.0.6
+# c_std=gnu11
+BuildRequires: gcc >= 6:4.7
BuildRequires: gdk-pixbuf2-devel >= 2.31.0
BuildRequires: gettext-tools >= 0.19.7
%{?with_apidocs:BuildRequires: gi-docgen >= 2021.1}
BuildRequires: glib2-devel >= 1:2.78.0
-BuildRequires: gobject-introspection-devel >= 1.76.0
+BuildRequires: gobject-introspection-devel >= 1.84
BuildRequires: graphene-devel >= 1.10.0
-%{?with_gstreamer:BuildRequires: gstreamer-devel >= 1.24.0}
-%{?with_gstreamer:BuildRequires: gstreamer-gl-devel >= 1.24.0}
-# pkgconfig(gstreamer-allocators-1.0) >= 1.23.1
-%{?with_gstreamer:BuildRequires: gstreamer-plugins-base-devel >= 1.24.0}
-# pkgconfig(gstreamer-player-1.0)
-%{?with_gstreamer:BuildRequires: gstreamer-plugins-bad-devel >= 1.24.0}
+%if %{with gstreamer}
+BuildRequires: gstreamer-devel >= 1.24.0
+BuildRequires: gstreamer-gl-devel >= 1.24.0
+# pkgconfig(gstreamer-allocators-1.0)
+BuildRequires: gstreamer-plugins-base-devel >= 1.24.0
+# pkgconfig(gstreamer-play-1.0)
+BuildRequires: gstreamer-plugins-bad-devel >= 1.24.0
+%endif
BuildRequires: harfbuzz-devel >= 8.4.0
BuildRequires: harfbuzz-subset-devel >= 8.4.0
BuildRequires: iso-codes
%{?with_cloudproviders:BuildRequires: libcloudproviders-devel >= 0.3.1}
+BuildRequires: libdrm-devel
BuildRequires: libepoxy-devel >= 1.4
BuildRequires: libjpeg-turbo-devel
BuildRequires: libpng-devel
+BuildRequires: librsvg-devel >= 2.48
+# cpp_std=c++11
BuildRequires: libstdc++-devel >= 6:4.7
BuildRequires: libtiff-devel >= 4
BuildRequires: libtool >= 2:2.2.6
BuildRequires: libxml2-progs >= 1:2.6.31
BuildRequires: libxslt-progs >= 1.1.20
-BuildRequires: meson >= 1.2.0
+BuildRequires: meson >= 1.8.0
BuildRequires: ninja >= 1.5
BuildRequires: pango-devel >= 1:1.52.0
BuildRequires: perl-base
@@ -98,29 +109,41 @@ BuildRequires: xz
%{?with_broadway:BuildRequires: zlib-devel}
%if %{with wayland}
# wayland-client, wayland-cursor, wayland-scanner
-BuildRequires: wayland-devel >= 1.23.0
+BuildRequires: wayland-devel >= 1.24.0
BuildRequires: wayland-egl-devel
-BuildRequires: wayland-protocols >= 1.41
+BuildRequires: wayland-protocols >= 1.44
BuildRequires: xorg-lib-libxkbcommon-devel >= 0.2.0
%endif
-Requires: xorg-lib-libX11 >= 1.5.0
Requires(post,postun): glib2 >= 1:2.78.0
Requires: cairo-gobject >= 1.18.2
+%if %{with cpdb}
+Requires: cpdb-libs >= 2.0
+%endif
+%if %{with cups}
+Requires: cups-lib >= 2.0
+%endif
Requires: freetype >= 1:2.7.1
Requires: fribidi >= 1.0.6
Requires: gdk-pixbuf2 >= 2.31.0
Requires: glib2 >= 1:2.78.0
Requires: graphene >= 1.10.0
+%if %{with gstreamer}
+Requires: gstreamer >= 1.24.0
+Requires: gstreamer-gl-libs >= 1.24.0
+Requires: gstreamer-plugins-bad >= 1.24.0
+Requires: gstreamer-plugins-base >= 1.24.0
+%endif
Requires: harfbuzz >= 8.4.0
Requires: harfbuzz-subset >= 8.4.0
Requires: iso-codes
%{?with_cloudproviders:Requires: libcloudproviders >= 0.3.1}
Requires: libepoxy >= 1.4
Requires: pango >= 1:1.52.0
+Requires: xorg-lib-libX11 >= 1.5.0
Requires: xorg-lib-libXi >= 1.8
Requires: xorg-lib-libXrandr >= 1.5.0
%if %{with wayland}
-Requires: wayland >= 1.23.0
+Requires: wayland >= 1.24.0
Requires: xorg-lib-libxkbcommon >= 0.2.0
%endif
# evince is used as gtk-print-preview-command by default
@@ -130,10 +153,14 @@ Suggests: evince-backend-pdf
Suggests: %{name}-cups = %{version}-%{release}
%endif
Obsoletes: gtk+4 < 3.95
+Obsoletes: gtk+4-cups < 3.95
Obsoletes: gtk+4-papi < 3.94
Obsoletes: gtk+4-cloudprint < 3.95
Obsoletes: gtk4-cloudprint < 4.4
+Obsoletes: gtk4-cups < 4.19.2
Obsoletes: gtk4-media-ffmpeg < 4.13.7
+Obsoletes: gtk4-media-gstreamer < 4.19.2
+Obsoletes: gtk4-print-cpdb < 4.19.2
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define abivers 4.0.0
@@ -215,7 +242,7 @@ Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do GTK
Summary(tr.UTF-8): GIMP araç takımı ve çizim takımı
Group: X11/Development/Libraries
Requires: %{name} = %{version}-%{release}
-%{?with_vulkan:Requires: Vulkan-Loader-devel}
+%{?with_vulkan:Requires: Vulkan-Loader-devel >= 1.3}
Requires: cairo-gobject-devel >= 1.18.2
Requires: fontconfig-devel
Requires: fribidi-devel >= 1.0.6
@@ -235,9 +262,9 @@ Requires: xorg-lib-libXi-devel >= 1.8
Requires: xorg-lib-libXinerama-devel
Requires: xorg-lib-libXrandr-devel >= 1.5.0
%if %{with wayland}
-Requires: wayland-devel >= 1.23.0
+Requires: wayland-devel >= 1.24.0
Requires: wayland-egl-devel
-Requires: wayland-protocols >= 1.41
+Requires: wayland-protocols >= 1.44
Requires: xorg-lib-libxkbcommon-devel >= 0.2.0
%endif
Requires: zlib-devel
@@ -289,49 +316,6 @@ GTK - example programs.
%description examples -l pl.UTF-8
GTK - przykładowe programy.
-%package media-gstreamer
-Summary: GStreamer media backend for GTK
-Summary(pl.UTF-8): Backend multimedialny GStreamer dla GTK
-Group: X11/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: gstreamer >= 1.24.0
-Requires: gstreamer-gl-libs >= 1.24.0
-Requires: gstreamer-plugins-bad >= 1.24.0
-Requires: gstreamer-plugins-base >= 1.24.0
-
-%description media-gstreamer
-GStreamer media backend for GTK.
-
-%description media-gstreamer -l pl.UTF-8
-Backend multimedialny GStreamer dla GTK.
-
-%package print-cpdb
-Summary: CPDB printing module for GTK
-Summary(pl.UTF-8): Moduł GTK do drukowania przez CPDB
-Group: X11/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: cpdb-libs >= 2.0
-
-%description print-cpdb
-CPDB printing module for GTK.
-
-%description print-cpdb -l pl.UTF-8
-Moduł GTK do drukowania przez CPDB.
-
-%package cups
-Summary: CUPS printing module for GTK
-Summary(pl.UTF-8): Moduł GTK do drukowania przez CUPS
-Group: X11/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: cups-lib >= 2.0
-Obsoletes: gtk+4-cups < 3.95
-
-%description cups
-CUPS printing module for GTK.
-
-%description cups -l pl.UTF-8
-Moduł GTK do drukowania przez CUPS.
-
%prep
%setup -q -n gtk-%{version}
%patch -P0 -p1
@@ -348,6 +332,7 @@ Moduł GTK do drukowania przez CUPS.
%build
%meson \
+ %{?with_accesskit:-Daccesskit=enabled} \
%{?with_broadway:-Dbroadway-backend=true} \
%{?with_cloudproviders:-Dcloudproviders=enabled} \
-Dcolord=enabled \
@@ -369,7 +354,7 @@ rm -rf $RPM_BUILD_ROOT
%meson_install
-install -d $RPM_BUILD_ROOT%{_libdir}/gtk-4.0/%{abivers}/{immodules,inspector}
+install -d $RPM_BUILD_ROOT%{_libdir}/gtk-4.0/%{abivers}/{immodules,inspector,media,printbackends}
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
cp -a demos examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
@@ -413,34 +398,13 @@ exit 0
%update_desktop_database
%update_icon_cache hicolor
-%post cups
-umask 022
-gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/printbackends
-
-%postun cups
-if [ "$1" != "0" ]; then
- umask 022
- gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/printbackends
-fi
-exit 0
-
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc AUTHORS NEWS README.md
%{?with_broadway:%attr(755,root,root) %{_bindir}/gtk4-broadwayd}
%attr(755,root,root) %{_bindir}/gtk4-launch
%attr(755,root,root) %{_libdir}/libgtk-4.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgtk-4.so.1
-
-%dir %{_libdir}/gtk-4.0
-%dir %{_libdir}/gtk-4.0/%{abivers}
-%dir %{_libdir}/gtk-4.0/%{abivers}/immodules
-%dir %{_libdir}/gtk-4.0/%{abivers}/inspector
-%if %{with gstreamer}
-%dir %{_libdir}/gtk-4.0/%{abivers}/media
-%endif
-%dir %{_libdir}/gtk-4.0/%{abivers}/printbackends
-%attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/printbackends/libprintbackend-file.so
+%ghost %{_libdir}/libgtk-4.so.1
%{_libdir}/girepository-1.0/Gdk-4.0.typelib
%if %{with wayland}
%{_libdir}/girepository-1.0/GdkWayland-4.0.typelib
@@ -449,11 +413,20 @@ exit 0
%{_libdir}/girepository-1.0/Gsk-4.0.typelib
%{_libdir}/girepository-1.0/Gtk-4.0.typelib
+%dir %{_libdir}/gtk-4.0
+%dir %{_libdir}/gtk-4.0/%{abivers}
+%dir %{_libdir}/gtk-4.0/%{abivers}/immodules
+%dir %{_libdir}/gtk-4.0/%{abivers}/inspector
+%dir %{_libdir}/gtk-4.0/%{abivers}/media
+%dir %{_libdir}/gtk-4.0/%{abivers}/printbackends
+
%{_datadir}/glib-2.0/schemas/org.gtk.gtk4.Inspector.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.ColorChooser.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.Debug.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.EmojiChooser.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.FileChooser.gschema.xml
+%dir %{_datadir}/gtk-4.0
+%{_datadir}/gtk-4.0/emoji
%{?with_broadway:%{_mandir}/man1/gtk4-broadwayd.1*}
%{_mandir}/man1/gtk4-launch.1*
@@ -469,12 +442,22 @@ exit 0
%attr(755,root,root) %{_bindir}/gtk4-builder-tool
%attr(755,root,root) %{_bindir}/gtk4-path-tool
%attr(755,root,root) %{_bindir}/gtk4-query-settings
-%attr(755,root,root) %{_libdir}/libgtk-4.so
+%{_libdir}/libgtk-4.so
%{_includedir}/gtk-4.0
+%{_datadir}/gir-1.0/Gdk-4.0.gir
+%if %{with wayland}
+%{_datadir}/gir-1.0/GdkWayland-4.0.gir
+%endif
+%{_datadir}/gir-1.0/GdkX11-4.0.gir
+%{_datadir}/gir-1.0/Gsk-4.0.gir
+%{_datadir}/gir-1.0/Gtk-4.0.gir
%{_pkgconfigdir}/gtk4.pc
%{_pkgconfigdir}/gtk4-atspi.pc
%{_pkgconfigdir}/gtk4-unix-print.pc
%{_pkgconfigdir}/gtk4-x11.pc
+%if %{with accesskit}
+%{_pkgconfigdir}/gtk4-accesskit.pc
+%endif
%if %{with broadway}
%{_pkgconfigdir}/gtk4-broadway.pc
%endif
@@ -483,14 +466,10 @@ exit 0
%endif
%{_datadir}/gettext/its/gtk4builder.its
%{_datadir}/gettext/its/gtk4builder.loc
-%{_datadir}/gtk-4.0
-%{_datadir}/gir-1.0/Gdk-4.0.gir
-%if %{with wayland}
-%{_datadir}/gir-1.0/GdkWayland-4.0.gir
-%endif
-%{_datadir}/gir-1.0/GdkX11-4.0.gir
-%{_datadir}/gir-1.0/Gsk-4.0.gir
-%{_datadir}/gir-1.0/Gtk-4.0.gir
+%{_datadir}/gtk-4.0/gtk4builder.rng
+%{_datadir}/gtk-4.0/valgrind
+%{bash_compdir}/gtk4-builder-tool
+%{bash_compdir}/gtk4-path-tool
%{_mandir}/man1/gtk4-builder-tool.1*
%{_mandir}/man1/gtk4-path-tool.1*
%{_mandir}/man1/gtk4-query-settings.1*
@@ -525,6 +504,12 @@ exit 0
%{_datadir}/metainfo/org.gtk.PrintEditor4.appdata.xml
%{_datadir}/metainfo/org.gtk.WidgetFactory4.appdata.xml
%{_datadir}/metainfo/org.gtk.gtk4.NodeEditor.appdata.xml
+%{bash_compdir}/gtk4-demo
+%{bash_compdir}/gtk4-image-tool
+%{bash_compdir}/gtk4-node-editor
+%{bash_compdir}/gtk4-print-editor
+%{bash_compdir}/gtk4-rendernode-tool
+%{bash_compdir}/gtk4-widget-factory
%{_desktopdir}/org.gtk.Demo4.desktop
%{_desktopdir}/org.gtk.PrintEditor4.desktop
%{_desktopdir}/org.gtk.WidgetFactory4.desktop
@@ -546,21 +531,3 @@ exit 0
%{_mandir}/man1/gtk4-rendernode-tool.1*
%{_mandir}/man1/gtk4-widget-factory.1*
%{_examplesdir}/%{name}-%{version}
-
-%if %{with gstreamer}
-%files media-gstreamer
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/media/libmedia-gstreamer.so
-%endif
-
-%if %{with cpdb}
-%files print-cpdb
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/printbackends/libprintbackend-cpdb.so
-%endif
-
-%if %{with cups}
-%files cups
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/printbackends/libprintbackend-cups.so
-%endif
diff --git a/gtk4-print-backends.patch b/gtk4-print-backends.patch
index 8ba8e55..53b3843 100644
--- a/gtk4-print-backends.patch
+++ b/gtk4-print-backends.patch
@@ -1,13 +1,13 @@
---- gtk-4.10.1/modules/printbackends/meson.build.orig 2023-03-22 17:53:14.882878089 +0100
-+++ gtk-4.10.1/modules/printbackends/meson.build 2023-03-22 20:30:37.471723193 +0100
-@@ -26,7 +26,9 @@ if get_option('print-cpdb').enabled() an
- install_dir: printbackends_install_dir,
- install: true,
- )
+--- gtk-4.20.1/gtk/print/backends/meson.build.orig 2025-09-08 22:57:32.000000000 +0200
++++ gtk-4.20.1/gtk/print/backends/meson.build 2025-09-14 21:51:07.010046174 +0200
+@@ -14,7 +14,9 @@ if get_option('print-cpdb').enabled() an
+ ])
+ print_backend_deps += [cpdb_dep]
+ cdata.set('HAVE_PRINTBACKEND_CPDB', 1)
-elif cups_dep.found()
+endif
+
+if not get_option('print-cups').disabled() and cups_dep.found()
print_backends += 'cups'
- shared_module('printbackend-cups',
- sources: [
+ print_backend_sources += files([
+ 'gtkprintbackendcups.c',
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/gtk4.git/commitdiff/fa3e978e09275e887214e21011a42df7d364ddde
More information about the pld-cvs-commit
mailing list