# for same application?
#
# Conditional build:
-%bcond_without apidocs # disable gtk-doc
+%bcond_without apidocs # gi-docgen based API documentation
%bcond_without nautilus # Nautilus extensions
Summary: Document viewer for multiple document formats
Summary(pl.UTF-8): Przeglądarka dokumentów w wielu formatach
Name: evince
-Version: 3.14.1
+Version: 45.0
Release: 1
License: GPL v2+
Group: X11/Applications/Graphics
-Source0: http://ftp.gnome.org/pub/GNOME/sources/evince/3.14/%{name}-%{version}.tar.xz
-# Source0-md5: 20575f13ce1a0bf31f085d2430848c40
-Patch0: %{name}-linking.patch
-Patch1: icon-theme.patch
-URL: http://www.gnome.org/projects/evince/
-BuildRequires: autoconf >= 2.57
-BuildRequires: automake >= 1:1.10
+Source0: https://download.gnome.org/sources/evince/45/%{name}-%{version}.tar.xz
+# Source0-md5: 494cdeef8898a2479aa86f8def7a63bc
+URL: https://wiki.gnome.org/Apps/Evince
BuildRequires: cairo-devel >= 1.10.0
-BuildRequires: djvulibre-devel >= 3.5.17
+BuildRequires: dbus-devel
+BuildRequires: djvulibre-devel >= 3.5.22
BuildRequires: docbook-dtd412-xml
-BuildRequires: gettext-tools
-BuildRequires: glib2-devel >= 1:2.36.0
-BuildRequires: gnome-common >= 2.24.0
+BuildRequires: gdk-pixbuf2-devel >= 2.40.0
+BuildRequires: gettext-tools >= 0.19.8
+BuildRequires: glib2-devel >= 1:2.44.0
BuildRequires: gnome-desktop-devel >= 3.0
BuildRequires: gobject-introspection-devel >= 1.0
BuildRequires: gsettings-desktop-schemas-devel
-BuildRequires: gtk+3-devel >= 3.12.0
-%{?with_apidocs:BuildRequires: gtk-doc >= 1.13}
-BuildRequires: intltool >= 0.40.0
+BuildRequires: gspell-devel >= 1.6.0
+BuildRequires: gstreamer-devel >= 1.0
+BuildRequires: gstreamer-plugins-base-devel >= 1.0
+BuildRequires: gtk+3-devel >= 3.22.0
+%{?with_apidocs:BuildRequires: gi-docgen >= 2021.1}
BuildRequires: kpathsea-devel
+BuildRequires: libarchive-devel >= 3.6.0
BuildRequires: libgxps-devel >= 0.2.1
+BuildRequires: libhandy1-devel >= 1.5.0
BuildRequires: libsecret-devel >= 0.5
BuildRequires: libspectre-devel >= 0.2.0
-BuildRequires: libtiff-devel >= 3.6
-BuildRequires: libtool >= 2:2.2
+BuildRequires: libstdc++-devel
+BuildRequires: libtiff-devel >= 4
BuildRequires: libxml2-devel >= 1:2.6.31
BuildRequires: libxml2-progs >= 1:2.6.31
-%{?with_nautilus:BuildRequires: nautilus-devel >= 3.0.0}
+BuildRequires: meson >= 0.59.0
+BuildRequires: ninja >= 1.5
+%{?with_nautilus:BuildRequires: nautilus3-devel >= 3.28.0}
+%{?with_nautilus:BuildRequires: nautilus3-devel < 42.20}
BuildRequires: pkgconfig
-BuildRequires: poppler-glib-devel >= 0.24.0
+BuildRequires: poppler-glib-devel >= 22.05.0
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpmbuild(find_lang) >= 1.23
-BuildRequires: rpmbuild(macros) >= 1.592
+BuildRequires: rpmbuild(macros) >= 2.029
+BuildRequires: synctex-devel >= 1.19
BuildRequires: t1lib-devel
BuildRequires: tar >= 1:1.22
BuildRequires: xorg-lib-libICE-devel
BuildRequires: yelp-tools
BuildRequires: zlib-devel
Requires(post,postun): desktop-file-utils
-Requires(post,postun): glib2 >= 1:2.36.0
+Requires(post,postun): glib2 >= 1:2.44.0
Requires: %{name}-libs = %{version}-%{release}
Requires: cairo >= 1.10.0
Requires: dconf
+Requires: gdk-pixbuf2 >= 2.40.0
Requires: gsettings-desktop-schemas
+Requires: gspell >= 1.6.0
Requires: gtk-update-icon-cache
Requires: hicolor-icon-theme
+Requires: libarchive >= 3.6.0
+Requires: libhandy1 >= 1.5.0
Requires: libsecret >= 0.5
Requires: xorg-lib-libSM >= 1.0.0
Suggests: evince-backend-djvu
Suggests: evince-backend-dvi
Suggests: evince-backend-pdf
Suggests: evince-backend-ps
-Suggests: gtk+3-cups >= 3.12.0
-Obsoletes: evince-gtk
-# sr@Latn vs. sr@latin
-Conflicts: glibc-misc < 6:2.7
+Suggests: gtk+3-cups >= 3.22.0
+Obsoletes: browser-plugin-evince < 41
+Obsoletes: evince-gtk < 3.1
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define backendsdir %{_libdir}/evince/4/backends
Summary: Evince shared libraries
Summary(pl.UTF-8): Biblioteki współdzielone Evince
Group: X11/Libraries
-Requires: glib2 >= 1:2.36.0
-Requires: gtk+3 >= 3.12.0
+Requires: glib2 >= 1:2.44.0
+Requires: gtk+3 >= 3.22.0
Conflicts: evince < 3.10.3-2
%description libs
Summary(pl.UTF-8): Pliki nagłówkowe Evince
Group: X11/Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
-Requires: glib2-devel >= 1:2.36.0
-Requires: gtk+3-devel >= 3.12.0
+Requires: glib2-devel >= 1:2.44.0
+Requires: gtk+3-devel >= 3.22.0
%description devel
Header files for Evince.
Summary: Evince API documentation
Summary(pl.UTF-8): Dokumentacja API aplikacji Evince
Group: Documentation
-Requires: gtk-doc-common
+BuildArch: noarch
%description apidocs
Evince API documentation.
%description apidocs -l pl.UTF-8
Dokumentacja API aplikacji Evince.
-%package -n nautilus-extension-evince
-Summary: Evince extension for Nautilus
-Summary(pl.UTF-8): Rozszerzenie Evince dla Nautilusa
+%package -n nautilus3-extension-evince
+Summary: Evince extension for Nautilus 3
+Summary(pl.UTF-8): Rozszerzenie Evince dla Nautilusa 3
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
-Requires: nautilus >= 3.0.0
+Requires: nautilus3 >= 3.28.0
+Obsoletes: nautilus-extension-evince < 43
-%description -n nautilus-extension-evince
-This extension shows Evince document properties in Nautilus.
+%description -n nautilus3-extension-evince
+This extension shows Evince document properties in Nautilus 3.
-%description -n nautilus-extension-evince -l pl.UTF-8
-To rozszerzenie pokazuje właściwości dokumentu Evince w Nautilusie.
+%description -n nautilus3-extension-evince -l pl.UTF-8
+To rozszerzenie pokazuje właściwości dokumentu Evince w Nautilusie 3.
%package backend-djvu
Summary: View DjVu documents with Evince
Summary(pl.UTF-8): Przeglądanie dokumentów DjVu przy użyciu Evince
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
-Requires: djvulibre >= 3.5.17
+Requires: djvulibre >= 3.5.22
%description backend-djvu
View DjVu documents with Evince.
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
Requires: libxml2 >= 1:2.6.31
-Requires: poppler-glib >= 0.24.0
+Requires: poppler-glib >= 22.05.0
%description backend-pdf
View PDF documents with Evince.
%description backend-xps -l pl.UTF-8
Przeglądanie dokumentów XPS przy użyciu Evince.
-%package -n browser-plugin-evince
-Summary: Evince browser plugin
-Summary(pl.UTF-8): Wtyczka Evince dla przegądarek WWW
-Group: X11/Applications/Graphics
-Requires: %{name} = %{version}-%{release}
-Requires: browser-plugins >= 2.0
-
-%description -n browser-plugin-evince
-Evince plugin for Mozilla-compatible web browsers.
-
-%description -n browser-plugin-evince -l pl.UTF-8
-Wtyczka Evince dla przegądarek WWW zgodnych z Mozillą.
-
%prep
%setup -q
-%patch0 -p1
-%patch1 -p1
%build
-%{__gtkdocize}
-%{__intltoolize}
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- BROWSER_PLUGIN_DIR=%{_browserpluginsdir} \
- --enable-comics \
- --enable-djvu \
- --enable-dvi \
- %{?with_apidocs:--enable-gtk-doc} \
- --enable-introspection \
- --enable-nautilus%{!?with_nautilus:=no} \
- --enable-pdf \
- --disable-silent-rules \
- --disable-static \
- --enable-t1lib \
- --enable-tiff \
- --with-html-dir=%{_gtkdocdir}
-%{__make}
+%meson build \
+ %{!?with_apidocs:-Dgtk_doc=false} \
+ %{?with_nautilus:-Dnautilus=true} \
+ -Dps=enabled
+
+%ninja_build -C build
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
+%ninja_install -C build
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
-%{__rm} $RPM_BUILD_ROOT%{_browserpluginsdir}/*.la
-%{__rm} $RPM_BUILD_ROOT%{backendsdir}/*.la
-%if %{with nautilus}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/nautilus/extensions-3.0/*.la
+%if %{with apidocs}
+install -d $RPM_BUILD_ROOT%{_gidocdir}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/libev* $RPM_BUILD_ROOT%{_gidocdir}
%endif
+# not supported by glibc (as of 2.37)
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ie
+
%find_lang %{name} --with-gnome
%clean
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
-%post -n browser-plugin-evince
-%update_browser_plugins
-
-%postun -n browser-plugin-evince
-if [ "$1" = 0 ]; then
- %update_browser_plugins
-fi
-
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README TODO
+%doc AUTHORS MAINTAINERS NEWS NEWS-security.md NOTES README.md TODO
%attr(755,root,root) %{_bindir}/evince
%attr(755,root,root) %{_bindir}/evince-previewer
%attr(755,root,root) %{_bindir}/evince-thumbnailer
%{backendsdir}/comicsdocument.evince-backend
%attr(755,root,root) %{backendsdir}/libtiffdocument.so
%{backendsdir}/tiffdocument.evince-backend
-%{_datadir}/GConf/gsettings/evince.convert
-%{_datadir}/appdata/evince.appdata.xml
-%{_datadir}/appdata/evince-comicsdocument.metainfo.xml
-%{_datadir}/appdata/evince-tiffdocument.metainfo.xml
+%{_datadir}/metainfo/org.gnome.Evince.metainfo.xml
+%{_datadir}/metainfo/evince-comicsdocument.metainfo.xml
+%{_datadir}/metainfo/evince-tiffdocument.metainfo.xml
%{_datadir}/dbus-1/services/org.gnome.evince.Daemon.service
%{_datadir}/glib-2.0/schemas/org.gnome.Evince.gschema.xml
%{_datadir}/%{name}
%{_datadir}/thumbnailers/evince.thumbnailer
+%{systemduserunitdir}/org.gnome.Evince.service
%{_mandir}/man1/evince.1*
-%{_desktopdir}/evince.desktop
-%{_desktopdir}/evince-previewer.desktop
-%{_iconsdir}/hicolor/*x*/apps/evince.png
+%{_mandir}/man1/evince-previewer.1*
+%{_mandir}/man1/evince-thumbnailer.1*
+%{_desktopdir}/org.gnome.Evince.desktop
+%{_desktopdir}/org.gnome.Evince-previewer.desktop
+%{_iconsdir}/hicolor/scalable/apps/org.gnome.Evince.svg
+%{_iconsdir}/hicolor/symbolic/apps/org.gnome.Evince-symbolic.svg
%files libs
%defattr(644,root,root,755)
%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
-%{_gtkdocdir}/evince
-%{_gtkdocdir}/libevdocument-3.0
-%{_gtkdocdir}/libevview-3.0
+%{_gidocdir}/libevdocument
+%{_gidocdir}/libevview
%endif
%files backend-djvu
%defattr(644,root,root,755)
%attr(755,root,root) %{backendsdir}/libdjvudocument.so
%{backendsdir}/djvudocument.evince-backend
-%{_datadir}/appdata/evince-djvudocument.metainfo.xml
+%{_datadir}/metainfo/evince-djvudocument.metainfo.xml
%files backend-dvi
%defattr(644,root,root,755)
%attr(755,root,root) %{backendsdir}/libdvidocument.so
%{backendsdir}/dvidocument.evince-backend
-%{_datadir}/appdata/evince-dvidocument.metainfo.xml
+%{_datadir}/metainfo/evince-dvidocument.metainfo.xml
%files backend-pdf
%defattr(644,root,root,755)
%attr(755,root,root) %{backendsdir}/libpdfdocument.so
%{backendsdir}/pdfdocument.evince-backend
-%{_datadir}/appdata/evince-pdfdocument.metainfo.xml
+%{_datadir}/metainfo/evince-pdfdocument.metainfo.xml
%files backend-ps
%defattr(644,root,root,755)
%attr(755,root,root) %{backendsdir}/libpsdocument.so
%{backendsdir}/psdocument.evince-backend
-%{_datadir}/appdata/evince-psdocument.metainfo.xml
+%{_datadir}/metainfo/evince-psdocument.metainfo.xml
%files backend-xps
%defattr(644,root,root,755)
%attr(755,root,root) %{backendsdir}/libxpsdocument.so
%{backendsdir}/xpsdocument.evince-backend
-%{_datadir}/appdata/evince-xpsdocument.metainfo.xml
+%{_datadir}/metainfo/evince-xpsdocument.metainfo.xml
%if %{with nautilus}
-%files -n nautilus-extension-evince
+%files -n nautilus3-extension-evince
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/nautilus/extensions-3.0/libevince-properties-page.so
%endif
-
-%files -n browser-plugin-evince
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_browserpluginsdir}/libevbrowserplugin.so