]> git.pld-linux.org Git - packages/gtk4.git/blobdiff - gtk4.spec
- updated to 4.14.2
[packages/gtk4.git] / gtk4.spec
index 4a048619740b8c11bbddc746a780e2c429fb0505..f7719875c6f418ebf90df6a19fff133206fd3e31 100644 (file)
--- a/gtk4.spec
+++ b/gtk4.spec
@@ -1,14 +1,14 @@
 #
 # Conditional build:
-%bcond_without apidocs         # gtk-doc build
+%bcond_without apidocs         # gi-docgen based API documentation
 %bcond_without broadway        # Broadway target
 %bcond_without wayland         # Wayland target
 %bcond_without vulkan          # Vulkan graphics support
-%bcond_without ffmpeg          # FFmpeg media backend
 %bcond_without gstreamer       # GStreamer media backend
-%bcond_without cloudprint      # cloudprint print backend
+%bcond_with    cpdb            # CPDB print backend
 %bcond_without cups            # CUPS print backend
 %bcond_without cloudproviders  # cloudproviders support
+%bcond_without static_libs     # static library
 %bcond_with    sysprof         # sysprof tracing support
 %bcond_with    tracker         # Tracker3 filechooser search
 
@@ -21,54 +21,61 @@ 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.0.3
+Version:       4.14.2
 Release:       1
 License:       LGPL v2+
 Group:         X11/Libraries
-Source0:       https://download.gnome.org/sources/gtk/4.0/gtk-%{version}.tar.xz
-# Source0-md5: 070422559bdc656077c413c05a054624
-Patch0:                %{name}-lpr.patch
+Source0:       https://download.gnome.org/sources/gtk/4.14/gtk-%{version}.tar.xz
+# Source0-md5: 347219770bd27520209607c4d474c033
+Patch0:                %{name}-print-backends.patch
 URL:           https://www.gtk.org/
-%{?with_vulkan:BuildRequires:  Vulkan-Loader-devel}
+%{?with_vulkan:BuildRequires:  Vulkan-Loader-devel >= 1.3}
 # cairo-gobject + cairo-pdf,cairo-ps,cairo-svg
 BuildRequires: cairo-gobject-devel >= 1.14.0
 BuildRequires: colord-devel >= 0.1.9
+%if %{with cpdb}
+BuildRequires: cpdb-frontend-devel >= 2.0
+%endif
 %if %{with cups}
 BuildRequires: cups-devel >= 1:2.0
 %endif
 BuildRequires: docbook-dtd412-xml
 BuildRequires: docbook-style-xsl
+BuildRequires: docutils
 BuildRequires: fontconfig-devel
-# libavfilter >= 6.47.100, libavformat >= 57.41.100, libavcodec >= 57.48.101, libavutil >= 55.28.100, libswscale >= 4.6.100
-%{?with_ffmpeg:BuildRequires:  ffmpeg-devel >= 3.1.1}
 BuildRequires: freetype-devel >= 1:2.7.1
-BuildRequires: fribidi-devel >= 0.19.7
+BuildRequires: fribidi-devel >= 1.0.6
 BuildRequires: gdk-pixbuf2-devel >= 2.31.0
 BuildRequires: gettext-tools >= 0.19.7
-BuildRequires: glib2-devel >= 1:2.65.0
-BuildRequires: gobject-introspection-devel >= 1.39.0
-BuildRequires: graphene-devel >= 1.9.1
+%{?with_apidocs:BuildRequires: gi-docgen >= 2021.1}
+BuildRequires: glib2-devel >= 1:2.78.0
+BuildRequires: gobject-introspection-devel >= 1.76.0
+BuildRequires: graphene-devel >= 1.10.0
 %{?with_gstreamer:BuildRequires:       gstreamer-devel >= 1.12.3}
-%if %{with apidocs}
-BuildRequires: gtk-doc >= 1.33
-%endif
-BuildRequires: harfbuzz-devel >= 0.9
-%{?with_cloudprint:BuildRequires:      json-glib-devel >= 1.0}
+%{?with_gstreamer:BuildRequires:       gstreamer-gl-devel >= 1.12.3}
+# pkgconfig(gstreamer-allocators-1.0) >= 1.23.1
+%{?with_gstreamer:BuildRequires:       gstreamer-plugins-base-devel >= 1.23.1}
+# pkgconfig(gstreamer-player-1.0)
+%{?with_gstreamer:BuildRequires:       gstreamer-plugins-bad-devel >= 1.12.3}
+BuildRequires: harfbuzz-devel >= 2.6.0
+BuildRequires: iso-codes
 %{?with_cloudproviders:BuildRequires:  libcloudproviders-devel >= 0.3.1}
 BuildRequires: libepoxy-devel >= 1.4
+BuildRequires: libjpeg-turbo-devel
+BuildRequires: libpng-devel
 BuildRequires: libstdc++-devel
+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 >= 0.54
+BuildRequires: meson >= 0.63
 BuildRequires: ninja >= 1.5
-%{?with_apidocs:BuildRequires: pandoc >= 1.18}
-BuildRequires: pango-devel >= 1:1.47.0
+BuildRequires: pango-devel >= 1:1.50.0
 BuildRequires: perl-base
 BuildRequires: pkgconfig
-%{?with_cloudprint:BuildRequires:      rest-devel >= 0.7}
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.752
+BuildRequires: rpmbuild(macros) >= 2.029
 # glslc required to rebuild some files from source
 %{?with_vulkan:BuildRequires:  shaderc}
 BuildRequires: sqlite3-devel
@@ -82,7 +89,7 @@ BuildRequires:        xorg-lib-libXdamage-devel
 BuildRequires: xorg-lib-libXext-devel
 BuildRequires: xorg-lib-libXfixes-devel
 BuildRequires: xorg-lib-libXft-devel
-BuildRequires: xorg-lib-libXi-devel
+BuildRequires: xorg-lib-libXi-devel >= 1.8
 BuildRequires: xorg-lib-libXinerama-devel
 BuildRequires: xorg-lib-libXrandr-devel >= 1.5.0
 BuildRequires: xorg-lib-libXrender-devel
@@ -90,25 +97,28 @@ BuildRequires:      xz
 %{?with_broadway:BuildRequires:        zlib-devel}
 %if %{with wayland}
 # wayland-client, wayland-cursor, wayland-scanner
-BuildRequires: wayland-devel >= 1.14.91
+BuildRequires: wayland-devel >= 1.21.0
 BuildRequires: wayland-egl-devel
-BuildRequires: wayland-protocols >= 1.20
+BuildRequires: wayland-protocols >= 1.32
 BuildRequires: xorg-lib-libxkbcommon-devel >= 0.2.0
 %endif
 Requires:      xorg-lib-libX11 >= 1.5.0
-Requires(post,postun): glib2 >= 1:2.65.0
+Requires(post,postun): glib2 >= 1:2.78.0
 Requires:      cairo-gobject >= 1.14.0
 Requires:      freetype >= 1:2.7.1
+Requires:      fribidi >= 1.0.6
 Requires:      gdk-pixbuf2 >= 2.31.0
-Requires:      glib2 >= 1:2.65.0
-Requires:      graphene >= 1.9.1
+Requires:      glib2 >= 1:2.78.0
+Requires:      graphene >= 1.10.0
+Requires:      harfbuzz >= 2.6.0
+Requires:      iso-codes
 %{?with_cloudproviders:Requires:       libcloudproviders >= 0.3.1}
 Requires:      libepoxy >= 1.4
-Requires:      pango >= 1:1.47.0
-Requires:      xorg-lib-libXi >= 1.3.0
+Requires:      pango >= 1:1.50.0
+Requires:      xorg-lib-libXi >= 1.8
 Requires:      xorg-lib-libXrandr >= 1.5.0
 %if %{with wayland}
-Requires:      wayland >= 1.14.91
+Requires:      wayland >= 1.21.0
 Requires:      xorg-lib-libxkbcommon >= 0.2.0
 %endif
 # evince is used as gtk-print-preview-command by default
@@ -118,7 +128,10 @@ Suggests:  evince-backend-pdf
 Suggests:      %{name}-cups = %{version}-%{release}
 %endif
 Obsoletes:     gtk+4 < 3.95
-Obsoletes:     gtk+4-papi
+Obsoletes:     gtk+4-papi < 3.94
+Obsoletes:     gtk+4-cloudprint < 3.95
+Obsoletes:     gtk4-cloudprint < 4.4
+Obsoletes:     gtk4-media-ffmpeg < 4.13.7
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                abivers 4.0.0
@@ -176,8 +189,9 @@ programlarca da kullanılmaktadır.
 Summary:       Utility to update icon cache used by GTK library
 Summary(pl.UTF-8):     Narzędzie do uaktualniania cache'a ikon używanego przez bibliotekę GTK
 Group:         Applications/System
+Requires:      fribidi >= 1.0.6
 Requires:      gdk-pixbuf2 >= 2.31.0
-Requires:      glib2 >= 1:2.65.0
+Requires:      glib2 >= 1:2.78.0
 Obsoletes:     gtk+4-update-icon-cache < 3.95
 
 %description update-icon-cache
@@ -202,11 +216,12 @@ Requires: %{name} = %{version}-%{release}
 %{?with_vulkan:Requires:       Vulkan-Loader-devel}
 Requires:      cairo-gobject-devel >= 1.14.0
 Requires:      fontconfig-devel
+Requires:      fribidi-devel >= 1.0.6
 Requires:      gdk-pixbuf2-devel >= 2.31.0
-Requires:      glib2-devel >= 1:2.65.0
-Requires:      graphene-devel >= 1.9.1
+Requires:      glib2-devel >= 1:2.78.0
+Requires:      graphene-devel >= 1.10.0
 Requires:      libepoxy-devel >= 1.4
-Requires:      pango-devel >= 1:1.47.0
+Requires:      pango-devel >= 1:1.50.0
 Requires:      shared-mime-info
 Requires:      xorg-lib-libX11-devel >= 1.5.0
 Requires:      xorg-lib-libXcomposite-devel
@@ -214,13 +229,13 @@ Requires: xorg-lib-libXcursor-devel
 Requires:      xorg-lib-libXdamage-devel
 Requires:      xorg-lib-libXext-devel
 Requires:      xorg-lib-libXfixes-devel
-Requires:      xorg-lib-libXi-devel
+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.14.91
+Requires:      wayland-devel >= 1.21.0
 Requires:      wayland-egl-devel
-Requires:      wayland-protocols >= 1.20
+Requires:      wayland-protocols >= 1.32
 Requires:      xorg-lib-libxkbcommon-devel >= 0.2.0
 %endif
 Requires:      zlib-devel
@@ -249,9 +264,8 @@ Biblioteki statyczne GTK
 Summary:       GTK API documentation
 Summary(pl.UTF-8):     Dokumentacja API GTK
 Group:         Documentation
-Requires:      gtk-doc-common
 Obsoletes:     gtk+4-apidocs < 3.95
-%{?noarchpackage}
+BuildArch:     noarch
 
 %description apidocs
 GTK API documentation.
@@ -263,7 +277,7 @@ Dokumentacja API GTK.
 Summary:       GTK - example programs
 Summary(pl.UTF-8):     GTK - programy przykładowe
 Group:         X11/Development/Libraries
-Requires(post,postun): glib2 >= 1:2.65.0
+Requires(post,postun): glib2 >= 1:2.78.0
 Requires:      %{name}-devel = %{version}-%{release}
 Obsoletes:     gtk+4-examples < 3.95
 
@@ -273,38 +287,15 @@ GTK - example programs.
 %description examples -l pl.UTF-8
 GTK - przykładowe programy.
 
-%package cloudprint
-Summary:       Cloudprint printing module for GTK
-Summary(pl.UTF-8):     Moduł GTK do drukowania przez Cloudprint
-Group:         X11/Libraries
-Requires:      %{name} = %{version}-%{release}
-Obsoletes:     gtk+4-cloudprint < 3.95
-
-%description cloudprint
-Cloudprint printing module for GTK.
-
-%description cloudprint -l pl.UTF-8
-Moduł GTK do drukowania przez Cloudprint.
-
-%package media-ffmpeg
-Summary:       FFmpeg media backend for GTK
-Summary(pl.UTF-8):     Backend multimedialny FFmpeg dla GTK
-Group:         X11/Libraries
-Requires:      %{name} = %{version}-%{release}
-Requires:      ffmpeg-libs >= 3.1.1
-
-%description media-ffmpeg
-FFmpeg media backend for GTK.
-
-%description media-ffmpeg -l pl.UTF-8
-Backend multimedialny FFmpeg dla GTK.
-
 %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.12.3
+Requires:      gstreamer-gl-libs >= 1.12.3
+Requires:      gstreamer-plugins-bad >= 1.12.3
+Requires:      gstreamer-plugins-base >= 1.23.1
 
 %description media-gstreamer
 GStreamer media backend for GTK.
@@ -312,6 +303,19 @@ 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
@@ -331,6 +335,14 @@ Moduł GTK do drukowania przez CUPS.
 %patch0 -p1
 
 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' demos/gtk-demo/geninclude.py
+%{__sed} -i -e '1s,/usr/bin/env .* gjs,/usr/bin/gjs,' examples/labels.js
+%{__sed} -i -e '1s,/usr/bin/env .* python3,%{__python3},' examples/squares.py
+
+%if %{with static_libs}
+%{__sed} -i -e '/^libgtk = / s/shared_library/library/' gtk/meson.build
+%endif
+
+%{__sed} -i -e "/^docs_dir =/ s,gtk_datadir / 'doc','%{_gidocdir}'," docs/reference/meson.build
 
 %build
 %meson build \
@@ -338,13 +350,11 @@ Moduł GTK do drukowania przez CUPS.
        %{?with_cloudproviders:-Dcloudproviders=enabled} \
        -Dcolord=enabled \
        %{?with_apidocs:-Dgtk_doc=true} \
-       -Dinstall-tests=false \
+       -Dintrospection=enabled \
        -Dman-pages=true \
-       %{!?with_ffmpeg:-Dmedia-ffmpeg=disabled} \
        %{!?with_gstreamer:-Dmedia-gstreamer=disabled} \
-       %{!?with_cloudprint:-Dprint-cloudprint=disabled} \
+       %{?with_cpdb:-Dprint-cpdb=enabled} \
        %{!?with_cups:-Dprint-cups=disabled} \
-       -Dprint-lpr=true \
        %{?with_sysprof:-Dsysprof=enabled} \
        %{?with_tracker:-Dtracker=enabled} \
        %{!?with_vulkan:-Dvulkan=disabled} \
@@ -352,11 +362,6 @@ Moduł GTK do drukowania przez CUPS.
 
 %ninja_build -C build
 
-%if %{with apidocs}
-# seems missing in default target (as of 4.0.0)
-%ninja_build -C build gtk4-doc
-%endif
-
 %install
 rm -rf $RPM_BUILD_ROOT
 
@@ -369,7 +374,7 @@ cp -a demos examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr@ije,sr@ijekavian}
 # unsupported by glibc
-%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/io
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{ie,io}
 
 # gtk40 and gtk40-properties domains
 %find_lang %{name} --all-name
@@ -406,17 +411,6 @@ exit 0
 %update_desktop_database
 %update_icon_cache hicolor
 
-%post cloudprint
-umask 022
-gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/printbackends
-
-%postun cloudprint
-if [ "$1" != "0" ]; then
-       umask 022
-       gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/printbackends
-fi
-exit 0
-
 %post cups
 umask 022
 gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/printbackends
@@ -440,10 +434,11 @@ exit 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
-%attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/printbackends/libprintbackend-lpr.so
 %{_libdir}/girepository-1.0/Gdk-4.0.typelib
 %if %{with wayland}
 %{_libdir}/girepository-1.0/GdkWayland-4.0.typelib
@@ -469,10 +464,12 @@ exit 0
 %files devel
 %defattr(644,root,root,755)
 %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
 %{_includedir}/gtk-4.0
 %{_pkgconfigdir}/gtk4.pc
+%{_pkgconfigdir}/gtk4-atspi.pc
 %{_pkgconfigdir}/gtk4-unix-print.pc
 %{_pkgconfigdir}/gtk4-x11.pc
 %if %{with broadway}
@@ -492,18 +489,23 @@ exit 0
 %{_datadir}/gir-1.0/Gsk-4.0.gir
 %{_datadir}/gir-1.0/Gtk-4.0.gir
 %{_mandir}/man1/gtk4-builder-tool.1*
+%{_mandir}/man1/gtk4-path-tool.1*
 %{_mandir}/man1/gtk4-query-settings.1*
 
+%if %{with static_libs}
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libgtk-4.a
+%endif
 
 %if %{with apidocs}
 %files apidocs
 %defattr(644,root,root,755)
-%{_gtkdocdir}/gdk4
-%{_gtkdocdir}/gsk4
-%{_gtkdocdir}/gtk4
+%{_gidocdir}/gdk4
+%{_gidocdir}/gdk4-wayland
+%{_gidocdir}/gdk4-x11
+%{_gidocdir}/gsk4
+%{_gidocdir}/gtk4
 %endif
 
 %files examples
@@ -511,48 +513,51 @@ exit 0
 %attr(755,root,root) %{_bindir}/gtk4-demo
 %attr(755,root,root) %{_bindir}/gtk4-demo-application
 %attr(755,root,root) %{_bindir}/gtk4-icon-browser
+%attr(755,root,root) %{_bindir}/gtk4-node-editor
 %attr(755,root,root) %{_bindir}/gtk4-print-editor
+%attr(755,root,root) %{_bindir}/gtk4-rendernode-tool
 %attr(755,root,root) %{_bindir}/gtk4-widget-factory
 %{_datadir}/glib-2.0/schemas/org.gtk.Demo4.gschema.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
+%{_datadir}/metainfo/org.gtk.gtk4.NodeEditor.appdata.xml
 %{_desktopdir}/org.gtk.Demo4.desktop
 %{_desktopdir}/org.gtk.IconBrowser4.desktop
 %{_desktopdir}/org.gtk.PrintEditor4.desktop
 %{_desktopdir}/org.gtk.WidgetFactory4.desktop
+%{_desktopdir}/org.gtk.gtk4.NodeEditor.desktop
 %{_iconsdir}/hicolor/scalable/apps/org.gtk.Demo4.svg
 %{_iconsdir}/hicolor/scalable/apps/org.gtk.IconBrowser4.svg
 %{_iconsdir}/hicolor/scalable/apps/org.gtk.PrintEditor4.svg
 %{_iconsdir}/hicolor/scalable/apps/org.gtk.PrintEditor4.Devel.svg
 %{_iconsdir}/hicolor/scalable/apps/org.gtk.WidgetFactory4.svg
+%{_iconsdir}/hicolor/scalable/apps/org.gtk.gtk4.NodeEditor.svg
+%{_iconsdir}/hicolor/scalable/apps/org.gtk.gtk4.NodeEditor.Devel.svg
 %{_iconsdir}/hicolor/symbolic/apps/org.gtk.Demo4-symbolic.svg
 %{_iconsdir}/hicolor/symbolic/apps/org.gtk.IconBrowser4-symbolic.svg
 %{_iconsdir}/hicolor/symbolic/apps/org.gtk.PrintEditor4-symbolic.svg
 %{_iconsdir}/hicolor/symbolic/apps/org.gtk.WidgetFactory4-symbolic.svg
+%{_iconsdir}/hicolor/symbolic/apps/org.gtk.gtk4.NodeEditor-symbolic.svg
 %{_mandir}/man1/gtk4-demo.1*
 %{_mandir}/man1/gtk4-demo-application.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*
 %{_examplesdir}/%{name}-%{version}
 
-%if %{with ffmpeg}
-%files media-ffmpeg
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/media/libmedia-ffmpeg.so
-%endif
-
 %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 cloudprint}
-%files cloudprint
+%if %{with cpdb}
+%files print-cpdb
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/printbackends/libprintbackend-cloudprint.so
+%attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/printbackends/libprintbackend-cpdb.so
 %endif
 
 %if %{with cups}
This page took 0.077807 seconds and 4 git commands to generate.