commit 20528acfa236ac0f4f4bca5fd6e4a4f38112742c Author: MSVSphere Packaging Team Date: Mon Dec 2 09:41:27 2024 +0300 import papers-47.0-2.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b3f4bdf --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/papers-47.0-vendor.tar.xz +SOURCES/papers-47.0.tar.xz diff --git a/.papers.metadata b/.papers.metadata new file mode 100644 index 0000000..4bc2ef0 --- /dev/null +++ b/.papers.metadata @@ -0,0 +1,2 @@ +c7f7b642a57347fcf9bd9eea0a2a0cb2bc98a628 SOURCES/papers-47.0-vendor.tar.xz +759a62c5b6ee1e91fae8b30d0c805182e6c8ea26 SOURCES/papers-47.0.tar.xz diff --git a/SOURCES/0001-shell-rs-Use-RefCell-replace-rather-than-glib-Proper.patch b/SOURCES/0001-shell-rs-Use-RefCell-replace-rather-than-glib-Proper.patch new file mode 100644 index 0000000..fc20af1 --- /dev/null +++ b/SOURCES/0001-shell-rs-Use-RefCell-replace-rather-than-glib-Proper.patch @@ -0,0 +1,36 @@ +From 3c14c67a38db5ef124fa53c6d7a40ef272b9b229 Mon Sep 17 00:00:00 2001 +From: Kalev Lember +Date: Tue, 5 Nov 2024 12:58:15 +0100 +Subject: [PATCH] shell-rs: Use RefCell::replace rather than + glib::Property::set + +Since glib-macros 0.20.3, the glib::Property::set method now requires to +be explicitly imported. As .set() is a wrapper around RefCell::replace, +we can instead simply just call .replace() directly. + +Thanks to msandova for the idea how to best fix it! + +This regressed with +https://github.com/gtk-rs/gtk-rs-core/commit/795e2c5d25d45442c1f77ddabda21370365ccc45 + +Fixes https://gitlab.gnome.org/GNOME/Incubator/papers/-/issues/278 +--- + shell-rs/src/sidebar.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/shell-rs/src/sidebar.rs b/shell-rs/src/sidebar.rs +index 0d3443967..1e83d7a2d 100644 +--- a/shell-rs/src/sidebar.rs ++++ b/shell-rs/src/sidebar.rs +@@ -101,7 +101,7 @@ mod imp { + } + )); + +- self.model.set(Some(model)); ++ self.model.replace(Some(model)); + } + + fn document(&self) -> Option { +-- +2.47.0 + diff --git a/SPECS/papers.spec b/SPECS/papers.spec new file mode 100644 index 0000000..4e7d62e --- /dev/null +++ b/SPECS/papers.spec @@ -0,0 +1,265 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 2; + 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 '~' '.') + +%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 +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: https://download.gnome.org/sources/papers/47/papers-%{tarball_version}.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-%{tarball_version}-vendor.tar.xz +%endif + +# Fix the build with glib-macros 0.20.3 +# https://gitlab.gnome.org/GNOME/Incubator/papers/-/merge_requests/366 +Patch: 0001-shell-rs-Use-RefCell-replace-rather-than-glib-Proper.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(libgxps) +BuildRequires: pkgconfig(libnautilus-extension-4) +BuildRequires: pkgconfig(libsecret-1) +BuildRequires: pkgconfig(libspectre) +BuildRequires: pkgconfig(libtiff-4) +BuildRequires: pkgconfig(poppler-glib) +BuildRequires: pkgconfig(sysprof-capture-4) +BuildRequires: /usr/bin/appstream-util +BuildRequires: /usr/bin/desktop-file-validate + +%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-rs/vendor +%else +rm shell-rs/Cargo.lock +%cargo_prep +%endif + + +%if !0%{?bundled_rust_deps} +%generate_buildrequires +cd shell-rs +%cargo_generate_buildrequires -a -t +cd ~- +%endif + + +%build +%meson \ + -Ddjvu=%{?with_djvu:enabled}%{!?with_djvu:disabled} \ + -Dintrospection=disabled \ + -Dtests=false \ + %{nil} + +%meson_build + +cd shell-rs +%cargo_license_summary -a +%{cargo_license -a} > LICENSE.dependencies +%if 0%{?bundled_rust_deps} +%cargo_vendor_manifest +%endif +cd ~- + + +%install +%meson_install + +# Remove unused symbolic link +rm $RPM_BUILD_ROOT%{_libdir}/libppsshell-4.0.so + +%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-rs/LICENSE.dependencies +%if 0%{?bundled_rust_deps} +%license shell-rs/cargo-vendor.txt +%endif +%{_bindir}/papers +# internal library not used by other apps, which is why it is not in -libs +%{_libdir}/libppsshell-4.0.so.4{,.*} +%{_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 +%{_metainfodir}/papers-xpsdocument.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 +* Mon Dec 02 2024 MSVSphere Packaging Team - 47.0-2 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Wed Nov 20 2024 Tomas Pelka - 47.0-2 +- Update file gating.yaml + +* Wed Nov 20 2024 Tomas Popela - 47.0-1 +- Initial import +## END: Generated by rpmautospec