diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4a406bf --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*~ +*.rpm +*.tar* +results_*/ diff --git a/Remove_obsolete_gnome-desktop-thumbnail.patch b/Remove_obsolete_gnome-desktop-thumbnail.patch new file mode 100644 index 0000000..34f71cc --- /dev/null +++ b/Remove_obsolete_gnome-desktop-thumbnail.patch @@ -0,0 +1,57 @@ +From 0e7749ba0bfac7e72c19841afcbebb10851533b4 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Fri, 14 Jul 2017 11:41:38 +0200 +Subject: [PATCH] thumbnail: Remove use of obsolete gnome-desktop-thumbnail + helper + +gnome_desktop_thumbnail_scale_down_pixbuf() is obsolete now that +gdk-pixbuf doesn't have the same bugs when shrinking images by large +factors. + +https://bugzilla.gnome.org/show_bug.cgi?id=784942 +--- + configure.ac | 2 +- + src/xviewer-thumbnail.c | 9 +++++---- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index e991fd035..763fef2dd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -88,7 +88,7 @@ + GTK_REQUIRED=3.10.0 + GLIB_REQUIRED=2.38.0 + GNOME_DESKTOP_REQUIRED=2.91.2 +-GDKPIXBUF_REQUIRED=2.4.0 ++GDKPIXBUF_REQUIRED=2.36.5 + GTK_PRINT_REQUIRED=3.5.4 + SHARED_MIME_INFO_REQUIRED=0.20 + EXEMPI_REQUIRED=1.99.5 + +diff --git a/src/xviewer-thumbnail.c b/src/xviewer-thumbnail.c +index 2e9fdd02c..2cc6fdf07 100644 +--- a/src/xviewer-thumbnail.c ++++ b/src/xviewer-thumbnail.c +@@ -123,9 +123,10 @@ create_thumbnail_from_pixbuf (EogThumbData *data, + + perc = CLAMP (128.0/(MAX (width, height)), 0, 1); + +- thumb = gnome_desktop_thumbnail_scale_down_pixbuf (pixbuf, +- width*perc, +- height*perc); ++ thumb = gdk_pixbuf_scale_simple (pixbuf, ++ width*perc, ++ height*perc, ++ GDK_INTERP_HYPER); + + return thumb; + } +@@ -444,7 +445,7 @@ eog_thumbnail_fit_to_size (GdkPixbuf *thumbnail, gint dimension) + width = MAX (width * factor, 1); + height = MAX (height * factor, 1); + +- result_pixbuf = gnome_desktop_thumbnail_scale_down_pixbuf (thumbnail, width, height); ++ result_pixbuf = gdk_pixbuf_scale_simple (thumbnail, width, height, GDK_INTERP_HYPER); + + return result_pixbuf; + } diff --git a/dead.package b/dead.package deleted file mode 100644 index 5204a84..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Orphaned for 6+ weeks diff --git a/free_xviewer_gnome_dep.patch b/free_xviewer_gnome_dep.patch new file mode 100644 index 0000000..910449b --- /dev/null +++ b/free_xviewer_gnome_dep.patch @@ -0,0 +1,84 @@ +From 61a2da998bf447c0e9aea9d5d0c1a7472715b1df Mon Sep 17 00:00:00 2001 +From: Michael Webster +Date: Sat, 10 Mar 2018 00:39:37 -0500 +Subject: [PATCH] build: Use cinnamon-desktop instead of gnome-desktop. + +--- + configure.ac | 6 ++---- + debian/control | 3 +-- + src/xviewer-file-chooser.c | 2 +- + src/xviewer-thumbnail.c | 2 +- + 4 files changed, 5 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3b168dd..f0f8bc7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -87,12 +87,11 @@ YELP_HELP_INIT + + GTK_REQUIRED=3.10.0 + GLIB_REQUIRED=2.38.0 +-GNOME_DESKTOP_REQUIRED=2.91.2 ++CINNAMON_DESKTOP_REQUIRED=3.2.0 + GDKPIXBUF_REQUIRED=2.4.0 + GTK_PRINT_REQUIRED=3.5.4 + SHARED_MIME_INFO_REQUIRED=0.20 + EXEMPI_REQUIRED=1.99.5 +-DESKTOP_SCHEMAS_REQUIRED=2.91.92 + LIBPEAS_REQUIRED=0.7.4 + LIBPEAS_GTK_REQUIRED=0.7.4 + +@@ -100,11 +99,10 @@ XVIEWER_MODULES="gtk+-3.0 >= $GTK_REQUIRED \ + glib-2.0 >= $GLIB_REQUIRED \ + gio-2.0 >= $GLIB_REQUIRED \ + gio-unix-2.0 >= $GLIB_REQUIRED \ +- gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED \ ++ cinnamon-desktop >= $CINNAMON_DESKTOP_REQUIRED \ + gdk-pixbuf-2.0 >= $GDKPIXBUF_REQUIRED \ + gtk+-unix-print-3.0 >= $GTK_PRINT_REQUIRED \ + shared-mime-info >= $SHARED_MIME_INFO_REQUIRED \ +- gsettings-desktop-schemas >= $DESKTOP_SCHEMAS_REQUIRED \ + libpeas-1.0 >= $LIBPEAS_REQUIRED \ + libpeas-gtk-1.0 >= $LIBPEAS_GTK_REQUIRED" + +diff --git a/debian/control b/debian/control +index 601b98a..ab53292 100644 +--- a/debian/control ++++ b/debian/control +@@ -15,9 +15,8 @@ Build-Depends: cdbs (>= 0.4.41), + libgtk-3-dev, + libgdk-pixbuf2.0-dev (>= 2.19.1), + libglib2.0-dev (>= 2.38.0), +- libgnome-desktop-3-dev (>= 2.91.2), ++ libcinnamon-desktop-dev (>=3.2.0), + shared-mime-info (>= 0.20), +- gsettings-desktop-schemas-dev (>= 2.91.92), + libpeas-dev (>= 0.7.4), + yelp-tools, + zlib1g-dev, +diff --git a/src/xviewer-file-chooser.c b/src/xviewer-file-chooser.c +index adaee1d..f9c952d 100644 +--- a/src/xviewer-file-chooser.c ++++ b/src/xviewer-file-chooser.c +@@ -33,7 +33,7 @@ + #ifndef GNOME_DESKTOP_USE_UNSTABLE_API + #define GNOME_DESKTOP_USE_UNSTABLE_API + #endif +-#include ++#include + + static char *last_dir[] = { NULL, NULL, NULL, NULL }; + +diff --git a/src/xviewer-thumbnail.c b/src/xviewer-thumbnail.c +index 26ee6a0..db42124 100644 +--- a/src/xviewer-thumbnail.c ++++ b/src/xviewer-thumbnail.c +@@ -31,7 +31,7 @@ + #ifndef GNOME_DESKTOP_USE_UNSTABLE_API + #define GNOME_DESKTOP_USE_UNSTABLE_API + #endif +-#include ++#include + + #include "xviewer-thumbnail.h" + #include "xviewer-list-store.h" diff --git a/sources b/sources new file mode 100644 index 0000000..275a58b --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (xviewer-1.6.1.tar.gz) = 255f35e7a08550c0f079b1475799f7d5efa7219aacc187119d13cdd1bf77c05dc5f450eb57b8f39291098e27ab2487c7b514e6ee33f1a7869e0ebf7c89964281 diff --git a/xviewer.spec b/xviewer.spec new file mode 100644 index 0000000..e5960c9 --- /dev/null +++ b/xviewer.spec @@ -0,0 +1,225 @@ +# Uncomment for bootstrapping on so-name bump. +%global bootstrap 0 + +# Filter provides from plugins. +%global __provides_exclude_from ^%{_libdir}/%{name}/plugins/.*$ + + +Name: xviewer +Version: 1.6.1 +Release: 1%{?dist} +Summary: Fast and functional graphics viewer + +License: GPLv2+ and LGPLv2+ +Url: https://github.com/linuxmint/%{name} +Source: %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Patch0: %{url}/commit/61a2da998bf447c0e9aea9d5d0c1a7472715b1df.patch#/free_xviewer_gnome_dep.patch + +BuildRequires: desktop-file-utils +BuildRequires: libappstream-glib +BuildRequires: gnome-common +BuildRequires: intltool +BuildRequires: itstool +BuildRequires: pkgconfig(dbus-glib-1) +BuildRequires: pkgconfig(exempi-2.0) +BuildRequires: pkgconfig(gdk-pixbuf-2.0) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(cinnamon-desktop) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(gtk+-unix-print-3.0) +BuildRequires: pkgconfig(lcms2) +BuildRequires: pkgconfig(libexif) +%if 0%{?fedora} || 0%{?rhel} >= 8 +BuildRequires: pkgconfig(libjpeg) +%else +BuildRequires: libjpeg-devel +%endif +BuildRequires: pkgconfig(libpeas-gtk-1.0) +BuildRequires: pkgconfig(librsvg-2.0) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: shared-mime-info +BuildRequires: yelp-devel + + +Requires: gsettings-desktop-schemas%{?_isa} +Requires: shared-mime-info%{?_isa} +Requires: xapps%{?_isa} +%if !0%{?bootstrap} +Requires: %{name}-plugins%{?_isa} +%endif # !0%%{?bootstrap} + +%if 0%{?fedora} || 0%{?rhel} >= 8 +Recommends: yelp%{?_isa} +%else +Requires: yelp%{?_isa} +%endif + +%description +Xviewer is a simple graphics viewer for the Cinnamon desktop and others +which uses the gdk-pixbuf library. It can deal with large images, and zoom +and scroll with constant memory usage. Its goals are simplicity and standards +compliance. + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} == %{version}-%{release} + +%description devel +This package contains the development files to developt plugins for %{name}. + + +%package doc +Summary: Documentation files for %{name} + +BuildArch: noarch +BuildRequires: gtk-doc + +%description doc +This package contains the documentation files for %{name}. + + +%prep +%autosetup -p 1 +NOCONFIGURE=1 %{_bindir}/gnome-autogen.sh + + +%build +%configure \ + --disable-silent-rules \ + --enable-gtk-doc + +%make_build + + +%install +%make_install +%{__mkdir} -p %{buildroot}%{_datadir}/%{name}/plugins \ + %{buildroot}%{_libdir}/%{name}/plugins \ + %{buildroot}%{_mandir}/man1 +%{__install} -pm 0644 debian/%{name}.1 %{buildroot}%{_mandir}/man1 +%{_bindir}/find %{buildroot} -type f -name '*.a' -print -delete +%{_bindir}/find %{buildroot} -type f -name '*.la' -print -delete +%find_lang %{name} + + +%check +# Validate desktop-files. +%{_bindir}/desktop-file-validate \ + %{buildroot}%{_datadir}/applications/*.desktop + +# Validate AppData-files. +%{_bindir}/appstream-util validate-relax --nonet \ + %{buildroot}%{_datadir}/appdata/*.appdata.xml + + +%if (0%{?rhel} && 0%{?rhel <= 7}) +%post +/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : +%{_bindir}/update-desktop-database >&/dev/null || : + +%postun +%{_bindir}/update-desktop-database >&/dev/null || : +if [ $1 -eq 0 ] ; then + %{_bindir}/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : + %{_bindir}/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + %{_bindir}/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +fi + +%posttrans +%{_bindir}/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : +%{_bindir}/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +%endif + + +%files -f %{name}.lang +%dir %{_datadir}/%{name}/plugins +%dir %{_libdir}/%{name}/plugins +%doc ChangeLog README THANKS debian/changelog +%license AUTHORS COPYING debian/copyright +%exclude %{_datadir}/%{name}/gir-1.0/ +%{_bindir}/%{name} +%{_datadir}/appdata/%{name}.appdata.xml +%{_datadir}/applications/%{name}.desktop +%{_datadir}/GConf/gsettings/%{name}.convert +%{_datadir}/glib-2.0/schemas/*.xml +%{_datadir}/help/*/%{name} +%{_datadir}/icons/hicolor/*/apps/%{name}.* +%{_datadir}/%{name} +%{_libdir}/%{name} +%{_mandir}/man1/%{name}.1* + + +%files devel +%{_datadir}/%{name}/gir-1.0 +%{_includedir}/%{name}-3.0 +%{_libdir}/pkgconfig/%{name}.pc + + +%files doc +%license %{_datadir}/licenses/%{name}* +%doc %{_datadir}/doc/%{name}* +%doc %{_datadir}/gtk-doc + + +%changelog +* Sun Mar 11 2018 Leigh Scott - 1.6.1-1 +- Free xview from gnome-desktop requirement + +* Tue Feb 20 2018 Leigh Scott - 1.6.0-7 +- Fix build with newer gnome-desktop3 +- Fix scriplets + +* Sun Feb 11 2018 Björn Esser - 1.6.0-6 +- Rebuilt for gnome-desktop3 + +* Fri Feb 09 2018 Fedora Release Engineering - 1.6.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Nov 17 2017 Björn Esser - 1.6.0-4 +- Add required scriptlets for EPEL7 + +* Thu Nov 16 2017 Björn Esser - 1.6.0-3 +- Redistributable build on EPEL7 + +* Thu Nov 16 2017 Björn Esser - 1.6.0-2 +- Bootstrapping on EPEL7 + +* Sat Nov 04 2017 Leigh Scott - 1.6.0-1 +- Update to 1.6.0 release + +* Thu Aug 03 2017 Fedora Release Engineering - 1.4.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jun 30 2017 Björn Esser - 1.4.3-2 +- Fix filtered provides + +* Wed Jun 28 2017 Björn Esser - 1.4.3-1 +- New upstream release (rhbz#1465898) + +* Wed May 24 2017 Björn Esser - 1.4.2-1 +- New upstream release (rhbz#1454987) + +* Mon May 08 2017 Björn Esser - 1.4.1-1 +- Initial import (rhbz#1424825) + +* Sun May 07 2017 Björn Esser - 1.4.1-0.1 +- New upstream release (rhbz#1448442) +- Properly own plugin-dirs + +* Sat May 06 2017 Björn Esser - 1.4.0-0.1 +- New upstream release (rhbz#1448442) + +* Tue Feb 21 2017 Björn Esser - 1.2.2-0.3 +- Initial import (rhbz#1424825) +- Bootstrap-build for xviewer-plugins + +* Sun Feb 19 2017 Björn Esser - 1.2.2-0.2 +- Fix dir-ownership for %%{_datadir}/help + +* Sun Feb 19 2017 Björn Esser - 1.2.2-0.1 +- Initial rpm-release (rhbz#1424825)