papers/papers.spec

285 lines
8.2 KiB
RPMSpec

## START: Set by rpmautospec
## (rpmautospec version 0.6.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 6;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
%global tarball_version %%(echo %{version} | tr '~' '.')
%global commit 5de8d26c
%if 0%{?rhel}
%global bundled_rust_deps 1
%endif
# djvulibre is not available in RHEL 10+
%bcond djvu %{undefined rhel}
# Filter out soname provides for plugins
%global __provides_exclude_from ^(%{_libdir}/papers/.*\\.so|%{_libdir}/nautilus/extensions-4/.*\\.so)$
Name: papers
Version: 47.0
Release: %autorelease -s git%{commit}
Summary: View multipage documents
# papers itself is:
SourceLicense: GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND MIT AND libtiff
# ... and its crate dependencies are:
# (MIT OR Apache-2.0) AND Unicode-DFS-2016
# Apache-2.0 OR MIT
# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
# BSD-2-Clause OR Apache-2.0 OR MIT
# BSD-3-Clause
# GPL-2.0-or-later
# MIT
# MIT AND (MIT OR Apache-2.0)
# MIT OR Apache-2.0
# Unlicense OR MIT
License: GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND MIT AND libtiff AND (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (Unlicense OR MIT)
URL: https://gitlab.gnome.org/GNOME/Incubator/papers
Source: papers-%{commit}.tar.xz
%if 0%{?bundled_rust_deps}
# To generate vendored cargo sources:
# tar xf papers-%%{tarball_version}.tar.xz ; pushd papers-%%{tarball_version}/shell-rs ; \
# cargo vendor && tar Jcvf ../../papers-%%{tarball_version}-vendor.tar.xz ../shell-rs/vendor/ ; popd
Source1: papers-%{commit}-vendor.tar.xz
%endif
# Patch to make Papers build with snapshot
Patch: papers-47.0-snapshot-5de8d26c.patch
# Patch to avoid crash when sidebar-page has unexpected value
Patch: papers-47.0-check-sidebar-page.patch
# Fix fast navigation
Patch: papers-47.0-go-backwards-action.patch
Patch: papers-47.0-fast-navigation.patch
# Fix help
Patch: papers-47.0-help.patch
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: gcc
BuildRequires: itstool
BuildRequires: meson
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(cairo-pdf)
BuildRequires: pkgconfig(cairo-ps)
BuildRequires: pkgconfig(dbus-1)
%if %{with djvu}
BuildRequires: pkgconfig(ddjvuapi)
%endif
BuildRequires: pkgconfig(exempi-2.0)
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gthread-2.0)
BuildRequires: pkgconfig(gtk4)
BuildRequires: pkgconfig(gtk4-unix-print)
BuildRequires: pkgconfig(libadwaita-1)
BuildRequires: pkgconfig(libarchive)
BuildRequires: pkgconfig(libnautilus-extension-4)
BuildRequires: pkgconfig(libsecret-1)
BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(poppler-glib)
BuildRequires: pkgconfig(sysprof-capture-4)
BuildRequires: /usr/bin/appstream-util
BuildRequires: /usr/bin/desktop-file-validate
BuildRequires: pkgconfig(libspelling-1)
%if 0%{?rhel}
BuildRequires: rust-toolset
%else
BuildRequires: cargo-rpm-macros
%endif
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}-previewer%{?_isa} = %{version}-%{release}
Requires: %{name}-thumbnailer%{?_isa} = %{version}-%{release}
# For hicolor icon theme directories
Requires: hicolor-icon-theme
%description
Papers is a document viewer for multiple document formats for GNOME.
%package libs
Summary: Libraries for the Papers document viewer
%description libs
This package contains shared libraries needed for Papers.
%package devel
Summary: Support for developing backends for the Papers document viewer
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
This package contains libraries and header files needed for Papers
backend development.
%package nautilus
Summary: Papers extension for nautilus
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: nautilus%{?_isa}
Supplements: (nautilus and %{name})
%description nautilus
This package contains the Papers extension for the Nautilus file manager.
It adds an additional tab called "Document" to the file properties dialog.
%package previewer
Summary: Papers previewer
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description previewer
This package brings the Papers previewer independently from Papers.
It provides the printing preview for the GTK printing dialog.
%package thumbnailer
Summary: Papers thumbnailer
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description thumbnailer
This package brings the Papers thumbnailer independently from Papers.
%prep
%autosetup -p1 -n papers-%{tarball_version} %{?bundled_rust_deps:-a1}
%if 0%{?bundled_rust_deps}
%cargo_prep -v shell/vendor
%else
rm shell/Cargo.lock
%cargo_prep
%endif
%if !0%{?bundled_rust_deps}
%generate_buildrequires
cd shell
%cargo_generate_buildrequires -a -t
cd ~-
%endif
%build
%meson \
-Ddjvu=%{?with_djvu:enabled}%{!?with_djvu:disabled} \
-Dintrospection=disabled \
-Dspell_check=enabled \
-Dtests=false \
%{nil}
%meson_build
cd shell
%cargo_license_summary -a
%{cargo_license -a} > LICENSE.dependencies
%if 0%{?bundled_rust_deps}
%cargo_vendor_manifest
# We need to remove paths of dependencies if listed. These break resolution
# of RPM dependencies
sed -i 's/ (.*)//' cargo-vendor.txt
%endif
cd ~-
%install
%meson_install
# Remove unused symbolic link
%find_lang papers --with-gnome
%check
%meson_test
appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_metainfodir}/*.metainfo.xml
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
%files -f papers.lang
%doc README.md
%license COPYING
%license shell/LICENSE.dependencies
%if 0%{?bundled_rust_deps}
%license shell/cargo-vendor.txt
%endif
%{_bindir}/papers
# internal library not used by other apps, which is why it is not in -libs
%{_datadir}/applications/org.gnome.Papers.desktop
%{_datadir}/glib-2.0/schemas/org.gnome.Papers.gschema.xml
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Papers.svg
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Papers-symbolic.svg
%{_mandir}/man1/papers.1*
%{_metainfodir}/org.gnome.Papers.metainfo.xml
%files libs
%license COPYING
%{_libdir}/libppsdocument-4.0.so.5{,.*}
%{_libdir}/libppsview-4.0.so.4{,.*}
%{_libdir}/papers/
%{_metainfodir}/papers-comicsdocument.metainfo.xml
%if %{with djvu}
%{_metainfodir}/papers-djvudocument.metainfo.xml
%endif
%{_metainfodir}/papers-pdfdocument.metainfo.xml
%{_metainfodir}/papers-tiffdocument.metainfo.xml
%files devel
%{_includedir}/papers/
%{_libdir}/libppsdocument-4.0.so
%{_libdir}/libppsview-4.0.so
%{_libdir}/pkgconfig/papers-document-4.0.pc
%{_libdir}/pkgconfig/papers-view-4.0.pc
%files nautilus
%{_libdir}/nautilus/extensions-4/libpapers-document-properties.so
%files previewer
%{_bindir}/papers-previewer
%{_datadir}/applications/org.gnome.Papers-previewer.desktop
%{_mandir}/man1/papers-previewer.1*
%files thumbnailer
%{_bindir}/papers-thumbnailer
%{_datadir}/thumbnailers/
%{_mandir}/man1/papers-thumbnailer.1*
%changelog
## START: Generated by rpmautospec
* Thu Mar 27 2025 Marek Kasik <mkasik@redhat.com> - 47.0-6.git5de8d26c
- Fix showing of help
* Mon Feb 03 2025 Marek Kasik <mkasik@redhat.com> - 47.0-5.git5de8d26c
- Fix fast navigation
* Wed Jan 29 2025 Marek Kasik <mkasik@redhat.com> - 47.0-4.git5de8d26c
- Check value of "sidebar-page" key
* Mon Jan 20 2025 Marek Kasik <mkasik@redhat.com> - 47.0-3.git5de8d26c
- Update Papers to current git snapshot
* Wed Nov 20 2024 Tomas Pelka <tpelka@redhat.com> - 47.0-2
- Update file gating.yaml
* Wed Nov 20 2024 Tomas Popela <tpopela@redhat.com> - 47.0-1
- Initial import
## END: Generated by rpmautospec