%define build_dvi 1 %define major 4 %define major_evdocument 4 %define major_evview 3 %define api 3.0 %define gir_major 3.0 %define devname %mklibname -d %{name} %define libname_evdocument %mklibname evdocument 3 %{major_evdocument} %define libname_evview %mklibname evview 3 %{major_evview} %define girname %mklibname %{name}-gir %{gir_major} %define backendsname %mklibname %{name}-backends %{major} %define url_ver %{lua: ver = rpm.expand("%{version}"); majmin, count1 = string.gsub(ver, "^([0123456789]+%.[0123456789]+).*", "%1", 1); if count1 == 0 then print(ver); return; end; maj, count2 = string.gsub(majmin, "^([0123456789]+).*", "%1", 1); if count2 == 0 then print(majmin) elseif tonumber(majmin) < 40 then print(majmin) else print(maj) end} %global libarchive_version 3.6.0 %global poppler_version 22.05.0 %global tarball_version %%(echo %{version} | tr '~' '.') Summary: GNOME Document viewer Name: evince Version: 46.0 Release: %mkrel 1 License: GPLv2+ Group: Graphical desktop/GNOME URL: https://www.gnome.org/ Source0: https://download.gnome.org/sources/%{name}/%{url_ver}/%{name}-%{tarball_version}.tar.xz BuildRequires: pkgconfig(appstream-glib) BuildRequires: pkgconfig(cairo) >= 1.10.0 BuildRequires: pkgconfig(cairo-pdf) BuildRequires: pkgconfig(cairo-ps) BuildRequires: pkgconfig(ddjvuapi) >= 3.5.17 BuildRequires: pkgconfig(gail-3.0) >= 3.8.0 BuildRequires: pkgconfig(gio-2.0) >= 2.36.0 BuildRequires: pkgconfig(adwaita-icon-theme) >= 2.17.1 BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(gnome-keyring-1) >= 2.22.0 BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.6 BuildRequires: pkgconfig(gsettings-desktop-schemas) BuildRequires: pkgconfig(gthread-2.0) BuildRequires: pkgconfig(gtk+-3.0) >= 3.8.0 BuildRequires: pkgconfig(gtk+-unix-print-3.0) >= 3.0.2 BuildRequires: pkgconfig(gtk+-x11-3.0) BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(libgxps) >= 0.2.0 %if 0 BuildRequires: pkgconfig(libnautilus-extension) >= 2.91.4 %endif BuildRequires: pkgconfig(libspectre) >= 0.2.0 BuildRequires: pkgconfig(libxml-2.0) >= 2.5.0 BuildRequires: pkgconfig(libarchive) >= %{libarchive_version} BuildRequires: pkgconfig(libhandy-1) BuildRequires: pkgconfig(poppler-glib) >= %{poppler_version} BuildRequires: pkgconfig(sm) >= 1.0.0 BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(libsecret-1) >= 0.5 BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(gspell-1) BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(gstreamer-base-1.0) BuildRequires: pkgconfig(gstreamer-video-1.0) BuildRequires: pkgconfig(gnome-desktop-3.0) BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(synctex) >= 1.19 BuildRequires: ghostscript BuildRequires: itstool BuildRequires: gnome-doc-utils BuildRequires: gi-docgen BuildRequires: meson BuildRequires: yelp-tools BuildRequires: gettext-devel Requires: ghostscript Requires: ghostscript-module-X Requires: gsettings-desktop-schemas Requires: shared-mime-info %description Evince is the GNOME Document viewer. It supports PDF, PostScript and other formats. To view .dvi files as produced by TeX in evince, install the %{name}-dvi package. %package -n %backendsname Summary: Common backends files for %name Group: Graphical desktop/GNOME Conflicts: evince < 3.37.3-2 %description -n %backendsname This package contains the common backends. %if %build_dvi %package dvi Summary: TeX DVI document support for evince Group: Graphical desktop/GNOME BuildRequires: pkgconfig(kpathsea) #gw just like xdvi, needed for rendering the fonts Requires: texlive Requires: texlive-texmf Requires: %{name} = %{version}-%{release} Conflicts: evince < 3.37.3-2 %description dvi This package adds support for displaying .dvi files to evince. These files are produced by TeX, often using a macro package like LaTeX. %endif %package -n %{libname_evdocument} Group: System/Libraries Summary: GNOME Document viewer library Obsoletes: %{mklibname %{name} 3} < 3.3.92 Requires: %backendsname = %{version}-%{release} %description -n %{libname_evdocument} This is the GNOME Document viewer library, the shared parts of evince. %package -n %{libname_evview} Group: System/Libraries Summary: GNOME Document viewer library Requires: %backendsname = %{version}-%{release} %description -n %{libname_evview} This is the GNOME Document viewer library, the shared parts of evince. %package -n %{devname} Group: Development/C Summary: GNOME Document viewer library Requires: %{libname_evdocument} = %{version}-%{release} Requires: %{libname_evview} = %{version}-%{release} Requires: %{girname} = %{version}-%{release} Provides: lib%{name}-devel = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n %{devname} This is the GNOME Document viewer library, the shared parts of evince. %package -n %{girname} Summary: GObject Introspection interface description for %{name} Group: System/Libraries Requires: %{libname_evdocument} = %{version}-%{release} Requires: %{libname_evview} = %{version}-%{release} %description -n %{girname} GObject Introspection interface description for %{name}. %prep %autosetup -p1 -n %{name}-%{tarball_version} %build %meson \ -Dtiff=enabled \ -Ddjvu=enabled \ -Dcomics=enabled \ -Dnautilus=false \ -Dps=enabled \ %if %build_dvi -Ddvi=enabled \ %endif -Dgtk_doc=true \ -Dintrospection=true \ -Dmultimedia=enabled %meson_build %install %meson_install %find_lang %{name} --with-gnome rm -f $RPM_BUILD_ROOT%{_datadir}/metainfo/evince-pdfdocument.metainfo.xml rm -f $RPM_BUILD_ROOT%{_datadir}/metainfo/evince-psdocument.metainfo.xml rm -f $RPM_BUILD_ROOT%{_datadir}/metainfo/evince-tiffdocument.metainfo.xml rm -f $RPM_BUILD_ROOT%{_datadir}/metainfo/evince-comicsdocument.metainfo.xml rm -f $RPM_BUILD_ROOT%{_datadir}/metainfo/evince-xpsdocument.metainfo.xml %files -f %name.lang %doc NEWS AUTHORS TODO README.md %{_bindir}/* %{_datadir}/evince %{_datadir}/applications/* %{_iconsdir}/hicolor/*/apps/org.gnome.Evinc* %{_datadir}/glib-2.0/schemas/org.gnome.Evince.gschema.xml %{_mandir}/man1/evince*.1* %if 0 %{_libdir}/nautilus/extensions-3.0/libevince*so* %endif %{_libexecdir}/evinced %{_datadir}/dbus-1/services/org.gnome.evince.Daemon.service %{_datadir}/thumbnailers/evince.thumbnailer %{_metainfodir}/org.gnome.Evince.metainfo.xml %{_userunitdir}/org.gnome.Evince.service %files -n %backendsname %dir %{_libdir}/evince/%{major}/ %dir %{_libdir}/evince/%{major}/backends %{_libdir}/evince/%{major}/backends/libcomicsdocument.so %{_libdir}/evince/%{major}/backends/comicsdocument.evince-backend %{_libdir}/evince/%{major}/backends/libdjvudocument.so %{_libdir}/evince/%{major}/backends/djvudocument.evince-backend %{_datadir}/metainfo/evince-djvudocument.metainfo.xml %{_libdir}/evince/%{major}/backends/libpdfdocument.so %{_libdir}/evince/%{major}/backends/pdfdocument.evince-backend %{_libdir}/evince/%{major}/backends/libtiffdocument.so %{_libdir}/evince/%{major}/backends/tiffdocument.evince-backend %{_libdir}/evince/%{major}/backends/libxpsdocument.so %{_libdir}/evince/%{major}/backends/libpsdocument.so %{_libdir}/evince/%{major}/backends/xpsdocument.evince-backend %{_libdir}/evince/%{major}/backends/libpsdocument.so %{_libdir}/evince/%{major}/backends/psdocument.evince-backend %if %build_dvi %files dvi %{_libdir}/evince/%{major}/backends/libdvidocument.so %{_libdir}/evince/%{major}/backends/dvidocument.evince-backend %{_datadir}/metainfo/evince-dvidocument.metainfo.xml %endif %files -n %{libname_evdocument} %{_libdir}/libevdocument3.so.%{major_evdocument}{,.*} %files -n %{libname_evview} %{_libdir}/libevview3.so.%{major_evview}{,.*} %files -n %{girname} %{_libdir}/girepository-1.0/EvinceDocument-%{gir_major}.typelib %{_libdir}/girepository-1.0/EvinceView-%{gir_major}.typelib %files -n %{devname} %doc MAINTAINERS #{_datadir}/doc/evince-libs %{_datadir}/doc/libevview %{_datadir}/doc/libevdocument %{_libdir}/libevdocument3.so %{_libdir}/libevview3.so %{_libdir}/pkgconfig/evince*pc %{_includedir}/evince* %{_datadir}/gir-1.0/EvinceDocument-%{gir_major}.gir %{_datadir}/gir-1.0/EvinceView-%{gir_major}.gir