# for same application?
#
# Conditional build:
-%bcond_without dbus # disable DBUS support
-%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.10.0
+Version: 46.1
Release: 1
-License: GPL v2
+License: GPL v2+
Group: X11/Applications/Graphics
-Source0: http://ftp.gnome.org/pub/GNOME/sources/evince/3.10/%{name}-%{version}.tar.xz
-# Source0-md5: 155f458eb391d581aaa51582bc11965c
-Patch0: %{name}-linking.patch
-URL: http://www.gnome.org/projects/evince/
-BuildRequires: autoconf >= 2.57
-BuildRequires: automake >= 1:1.10
+Source0: https://download.gnome.org/sources/evince/46/%{name}-%{version}.tar.xz
+# Source0-md5: ec863563c5bc5d238e951d6f88c4de35
+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-devel
-BuildRequires: glib2-devel >= 1:2.36.0
-BuildRequires: gnome-common >= 2.24.0
-BuildRequires: gnome-icon-theme >= 3.2.0
-BuildRequires: gobject-introspection-devel >= 0.6.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.8.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
-BuildRequires: libtool >= 2.2
+BuildRequires: libstdc++-devel
+BuildRequires: libtiff-devel >= 4
BuildRequires: libxml2-devel >= 1:2.6.31
-BuildRequires: nautilus-devel >= 3.0.0
+BuildRequires: libxml2-progs >= 1:2.6.31
+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: xorg-lib-libSM-devel
+BuildRequires: xorg-lib-libSM-devel >= 1.0.0
+BuildRequires: xorg-lib-libX11-devel
BuildRequires: xz
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: glib2 >= 1:2.36.0
-Requires: gnome-icon-theme >= 3.2.0
+Requires: gdk-pixbuf2 >= 2.40.0
Requires: gsettings-desktop-schemas
-Requires: gtk+3 >= 3.8.0
+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
-Conflicts: 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
przeglądarki dokumentów dla środowiska GNOME, takie jak ggv, gpdf i
xpdf jedną prostą aplikacją.
+%package libs
+Summary: Evince shared libraries
+Summary(pl.UTF-8): Biblioteki współdzielone Evince
+Group: X11/Libraries
+Requires: glib2 >= 1:2.44.0
+Requires: gtk+3 >= 3.22.0
+Conflicts: evince < 3.10.3-2
+
+%description libs
+Evince shared libraries.
+
+%description libs -l pl.UTF-8
+Biblioteki współdzielone Evince.
+
%package devel
Summary: Header files for Evince
Summary(pl.UTF-8): Pliki nagłówkowe Evince
Group: X11/Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: gtk+3-devel >= 3.8.0
+Requires: %{name}-libs = %{version}-%{release}
+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
-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
-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: 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.
+View DjVu documents with Evince.
+
+%description backend-djvu -l pl.UTF-8
+Przeglądanie dokumentów DjVu przy użyciu Evince.
%package backend-dvi
Summary: View DVI documents with Evince
+Summary(pl.UTF-8): Przeglądanie dokumentów DVI przy użyciu Evince
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
+Requires: libspectre >= 0.2.0
%description backend-dvi
View DVI documents with Evince.
+%description backend-dvi -l pl.UTF-8
+Przeglądanie dokumentów DVI przy użyciu Evince.
+
%package backend-pdf
Summary: View PDF documents with Evince
+Summary(pl.UTF-8): Przeglądanie dokumentów PDF przy użyciu Evince
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
-Requires: poppler-glib >= 0.20.0
+Requires: libxml2 >= 1:2.6.31
+Requires: poppler-glib >= 22.05.0
%description backend-pdf
View PDF documents with Evince.
+%description backend-pdf -l pl.UTF-8
+Przeglądanie dokumentów PDF przy użyciu Evince.
+
%package backend-ps
-Summary: View Postscript documents with Evince
+Summary: View PostScript documents with Evince
+Summary(pl.UTF-8): Przeglądanie dokumentów PostScript przy użyciu Evince
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
+Requires: libspectre >= 0.2.0
%description backend-ps
-View Postscript documents with Evince.
+View PostScript documents with Evince.
+
+%description backend-ps -l pl.UTF-8
+Przeglądanie dokumentów PostScript przy użyciu Evince.
+
+%package backend-xps
+Summary: View XPS documents with Evince
+Summary(pl.UTF-8): Przeglądanie dokumentów XPS przy użyciu Evince
+Group: X11/Applications
+Requires: %{name} = %{version}-%{release}
+Requires: libgxps >= 0.2.1
+
+%description backend-xps
+View XPS documents with Evince.
+
+%description backend-xps -l pl.UTF-8
+Przeglądanie dokumentów XPS przy użyciu Evince.
%prep
%setup -q
-%patch0 -p1
%build
-%{__gtkdocize}
-%{__intltoolize}
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- %{?with_apidocs:--enable-gtk-doc} \
- --disable-static \
- --disable-silent-rules \
- --enable-comics \
- --enable-djvu \
- --enable-dvi \
- --enable-introspection \
- --enable-t1lib \
- --enable-nautilus \
- --enable-pdf \
- --enable-tiff \
- --with-smclient=xsmp \
- --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%{backendsdir}/*.la
-%{__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
rm -rf $RPM_BUILD_ROOT
%post
-/sbin/ldconfig
%update_desktop_database_post
%update_icon_cache hicolor
%glib_compile_schemas
%postun
-/sbin/ldconfig
%update_desktop_database_postun
%update_icon_cache hicolor
%glib_compile_schemas
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
%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
%attr(755,root,root) %{_libexecdir}/evinced
-%attr(755,root,root) %{_libdir}/libevdocument3.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libevdocument3.so.4
-%attr(755,root,root) %{_libdir}/libevview3.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libevview3.so.3
%dir %{_libdir}/evince
%dir %{_libdir}/evince/4
%dir %{backendsdir}
%{backendsdir}/comicsdocument.evince-backend
%attr(755,root,root) %{backendsdir}/libtiffdocument.so
%{backendsdir}/tiffdocument.evince-backend
-%attr(755,root,root) %{backendsdir}/libxpsdocument.so
-%{backendsdir}/xpsdocument.evince-backend
-%{_datadir}/GConf/gsettings/evince.convert
+%{_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/*/*/*.png
-%{_libdir}/girepository-1.0/*.typelib
+%{_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)
+%attr(755,root,root) %{_libdir}/libevdocument3.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libevdocument3.so.4
+%attr(755,root,root) %{_libdir}/libevview3.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libevview3.so.3
+%{_libdir}/girepository-1.0/EvinceDocument-3.0.typelib
+%{_libdir}/girepository-1.0/EvinceView-3.0.typelib
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libevdocument3.so
+%attr(755,root,root) %{_libdir}/libevview3.so
+%{_datadir}/gir-1.0/EvinceDocument-3.0.gir
+%{_datadir}/gir-1.0/EvinceView-3.0.gir
+%{_includedir}/evince
+%{_pkgconfigdir}/evince-document-3.0.pc
+%{_pkgconfigdir}/evince-view-3.0.pc
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%{_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}/metainfo/evince-djvudocument.metainfo.xml
%files backend-dvi
%defattr(644,root,root,755)
%attr(755,root,root) %{backendsdir}/libdvidocument.so
%{backendsdir}/dvidocument.evince-backend
-
-%files backend-ps
-%defattr(644,root,root,755)
-%attr(755,root,root) %{backendsdir}/libpsdocument.so
-%{backendsdir}/psdocument.evince-backend
+%{_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}/metainfo/evince-pdfdocument.metainfo.xml
-%files devel
+%files backend-ps
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libevdocument3.so
-%attr(755,root,root) %{_libdir}/libevview3.so
-%{_includedir}/evince
-%{_pkgconfigdir}/evince-document-*.pc
-%{_pkgconfigdir}/evince-view-*.pc
-%{_datadir}/gir-1.0/*.gir
+%attr(755,root,root) %{backendsdir}/libpsdocument.so
+%{backendsdir}/psdocument.evince-backend
+%{_datadir}/metainfo/evince-psdocument.metainfo.xml
-%if %{with apidocs}
-%files apidocs
+%files backend-xps
%defattr(644,root,root,755)
-%{_gtkdocdir}/evince
-%{_gtkdocdir}/libevdocument-*
-%{_gtkdocdir}/libevview-*
-%endif
+%attr(755,root,root) %{backendsdir}/libxpsdocument.so
+%{backendsdir}/xpsdocument.evince-backend
+%{_datadir}/metainfo/evince-xpsdocument.metainfo.xml
-%files -n nautilus-extension-evince
+%if %{with nautilus}
+%files -n nautilus3-extension-evince
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/nautilus/extensions-3.0/libevince-properties-page.so
+%endif