Date: Friday, May 17, 2019 @ 20:06:05 Author: foutrelis Revision: 353558
archrelease: copy trunk to extra-x86_64 Added: tumbler/repos/extra-x86_64/PKGBUILD (from rev 353557, tumbler/trunk/PKGBUILD) Deleted: tumbler/repos/extra-x86_64/PKGBUILD tumbler/repos/extra-x86_64/move-sparse-file-check-to-plugins.patch -----------------------------------------+ PKGBUILD | 95 +++--- move-sparse-file-check-to-plugins.patch | 411 ------------------------------ 2 files changed, 46 insertions(+), 460 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2019-05-17 20:06:00 UTC (rev 353557) +++ PKGBUILD 2019-05-17 20:06:05 UTC (rev 353558) @@ -1,49 +0,0 @@ -# Maintainer: Evangelos Foutras <evange...@foutrelis.com> -# Contributor: Andreas Radke <andy...@archlinux.org> -# Contributor: Jan Jezek <honzin.je...@gmail.com> - -pkgname=tumbler -pkgver=0.2.3 -pkgrel=2 -pkgdesc="D-Bus service for applications to request thumbnails" -arch=('x86_64') -url="http://www.xfce.org/" -license=('GPL2' 'LGPL') -groups=('xfce4') -depends=('gdk-pixbuf2') -makedepends=('intltool' 'python' 'ffmpegthumbnailer' 'poppler-glib' 'libgsf' - 'libopenraw' 'freetype2') -optdepends=('ffmpegthumbnailer: for video thumbnails' - 'poppler-glib: for PDF thumbnails' - 'libgsf: for ODF thumbnails' - 'libopenraw: for RAW thumbnails' - 'freetype2: for font thumbnails') -source=(https://archive.xfce.org/src/xfce/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2 - move-sparse-file-check-to-plugins.patch) -sha256sums=('d022e1bd1559fba33e4bf20fb053b219eca17676ebffb1ceb214fcd58a187d40' - '5a51c3f6dc393f7a0f702a52628417b70271d362db84b132ed38f030c9f49943') - -prepare() { - cd "$srcdir/$pkgname-$pkgver" - patch -Np1 -i ../move-sparse-file-check-to-plugins.patch -} - -build() { - cd "$srcdir/$pkgname-$pkgver" - - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --libexecdir=/usr/lib/xfce4 \ - --disable-static \ - --disable-debug \ - --disable-gstreamer-thumbnailer - make -} - -package() { - cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir" install -} - -# vim:set ts=2 sw=2 et: Copied: tumbler/repos/extra-x86_64/PKGBUILD (from rev 353557, tumbler/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2019-05-17 20:06:05 UTC (rev 353558) @@ -0,0 +1,46 @@ +# Maintainer: Evangelos Foutras <evange...@foutrelis.com> +# Contributor: Andreas Radke <andy...@archlinux.org> +# Contributor: Jan Jezek <honzin.je...@gmail.com> + +pkgname=tumbler +pkgver=0.2.4 +pkgrel=1 +pkgdesc="D-Bus service for applications to request thumbnails" +arch=('x86_64') +url="https://www.xfce.org/" +license=('GPL2' 'LGPL') +groups=('xfce4') +depends=('gdk-pixbuf2') +makedepends=('intltool' 'python' 'ffmpegthumbnailer' 'poppler-glib' 'libgsf' + 'libopenraw' 'freetype2') +optdepends=('ffmpegthumbnailer: for video thumbnails' + 'poppler-glib: for PDF thumbnails' + 'libgsf: for ODF thumbnails' + 'libopenraw: for RAW thumbnails' + 'freetype2: for font thumbnails') +source=(https://archive.xfce.org/src/xfce/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2) +sha256sums=('0ff497e13f9f9322112cb7707918dd8970e405447f0c92dac40ec3d659e5b6a6') + +prepare() { + cd "$srcdir/$pkgname-$pkgver" +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib/xfce4 \ + --disable-static \ + --disable-debug \ + --disable-gstreamer-thumbnailer + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: Deleted: move-sparse-file-check-to-plugins.patch =================================================================== --- move-sparse-file-check-to-plugins.patch 2019-05-17 20:06:00 UTC (rev 353557) +++ move-sparse-file-check-to-plugins.patch 2019-05-17 20:06:05 UTC (rev 353558) @@ -1,411 +0,0 @@ -From da29dad8676b38b3e29396db1442d0ede6f6385d Mon Sep 17 00:00:00 2001 -From: Ali Abdallah <a...@xfce.org> -Date: Sun, 21 Oct 2018 11:14:16 +0200 -Subject: Check for sparse video files only on plugin side. - -Move the sparse video files check to ffmpeg and gstreamer plugins. ---- - plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer.c | 18 ++++-- - plugins/gst-thumbnailer/gst-thumbnailer.c | 8 +++ - tumbler/tumbler-util.c | 41 ++++++++++++- - tumbler/tumbler-util.h | 10 ++- - tumblerd/tumbler-registry.c | 82 ++++++++----------------- - 5 files changed, 92 insertions(+), 67 deletions(-) - -diff --git a/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer.c b/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer.c -index 81f2922..6bc9de3 100644 ---- a/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer.c -+++ b/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer.c -@@ -10,11 +10,11 @@ - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * -- * You should have received a copy of the GNU Library General -- * Public License along with this library; if not, write to the -+ * You should have received a copy of the GNU Library General -+ * Public License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ -@@ -149,7 +149,7 @@ generate_pixbuf (GdkPixbuf *source, - dest_height = rint (source_height / wratio); - - /* scale the pixbuf down to the desired size */ -- return gdk_pixbuf_scale_simple (source, MAX (dest_width, 1), MAX (dest_height, 1), -+ return gdk_pixbuf_scale_simple (source, MAX (dest_width, 1), MAX (dest_height, 1), - GDK_INTERP_BILINEAR); - } - -@@ -180,9 +180,17 @@ ffmpeg_thumbnailer_create (TumblerAbstractThumbnailer *thumbnailer, - g_return_if_fail (TUMBLER_IS_FILE_INFO (info)); - - /* do nothing if cancelled */ -- if (g_cancellable_is_cancelled (cancellable)) -+ if (g_cancellable_is_cancelled (cancellable)) - return; - -+ /* Check if is a sparse video file */ -+ if (tumbler_util_guess_is_sparse (info)) -+ { -+ g_debug ("Video file '%s' is probably sparse, skipping\n", -+ tumbler_file_info_get_uri (info)); -+ return; -+ } -+ - /* fetch required info */ - thumbnail = tumbler_file_info_get_thumbnail (info); - g_assert (thumbnail != NULL); -diff --git a/plugins/gst-thumbnailer/gst-thumbnailer.c b/plugins/gst-thumbnailer/gst-thumbnailer.c -index 284a0b9..73f884b 100644 ---- a/plugins/gst-thumbnailer/gst-thumbnailer.c -+++ b/plugins/gst-thumbnailer/gst-thumbnailer.c -@@ -570,6 +570,14 @@ gst_thumbnailer_create (TumblerAbstractThumbnailer *thumbnailer, - if (g_cancellable_is_cancelled (cancellable)) - return; - -+ /* Check if is a sparse video file */ -+ if (tumbler_util_guess_is_sparse (info)) -+ { -+ g_debug ("Video file '%s' is probably sparse, skipping\n", -+ tumbler_file_info_get_uri (info)); -+ return; -+ } -+ - /* get size of dest thumb */ - thumbnail = tumbler_file_info_get_thumbnail (info); - flavor = tumbler_thumbnail_get_flavor (thumbnail); -diff --git a/tumbler/tumbler-util.c b/tumbler/tumbler-util.c -index 9d656d5..a414e26 100644 ---- a/tumbler/tumbler-util.c -+++ b/tumbler/tumbler-util.c -@@ -9,11 +9,11 @@ - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * -- * You should have received a copy of the GNU Library General -- * Public License along with this library; if not, write to the -+ * You should have received a copy of the GNU Library General -+ * Public License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ -@@ -29,8 +29,12 @@ - #include <glib.h> - #include <gio/gio.h> - -+#include <sys/stat.h> -+ - #include <tumbler/tumbler-util.h> - -+/* Float block size used in the stat struct */ -+#define TUMBLER_STAT_BLKSIZE 512. - - - gchar ** -@@ -130,3 +134,34 @@ tumbler_util_get_settings (void) - - return settings; - } -+ -+ -+gboolean tumbler_util_guess_is_sparse (TumblerFileInfo *info) -+{ -+ gchar *filename; -+ struct stat sb; -+ gboolean ret_val = FALSE; -+ -+ g_return_val_if_fail (TUMBLER_IS_FILE_INFO (info), FALSE); -+ -+ filename = g_filename_from_uri (tumbler_file_info_get_uri (info), NULL, NULL); -+ -+ if (G_LIKELY(filename)) -+ { -+ stat (filename, &sb); -+ -+ g_free (filename); -+ -+ /* Test sparse files on regular ones */ -+ if (S_ISREG (sb.st_mode)) -+ { -+ if (((TUMBLER_STAT_BLKSIZE * sb.st_blocks) / sb.st_size) < 0.8) -+ { -+ ret_val = TRUE; -+ } -+ } -+ } -+ -+ return ret_val; -+} -+ -diff --git a/tumbler/tumbler-util.h b/tumbler/tumbler-util.h -index b68db0a..809332e 100644 ---- a/tumbler/tumbler-util.h -+++ b/tumbler/tumbler-util.h -@@ -9,11 +9,11 @@ - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * -- * You should have received a copy of the GNU Library General -- * Public License along with this library; if not, write to the -+ * You should have received a copy of the GNU Library General -+ * Public License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ -@@ -23,12 +23,16 @@ - - #include <glib.h> - -+#include <tumbler/tumbler-file-info.h> -+ - G_BEGIN_DECLS - - gchar **tumbler_util_get_supported_uri_schemes (void) G_GNUC_MALLOC; - - GKeyFile *tumbler_util_get_settings (void) G_GNUC_MALLOC; - -+gboolean tumbler_util_guess_is_sparse (TumblerFileInfo *info); -+ - G_END_DECLS - - #endif /* !__TUMBLER_UTIL_H__ */ -diff --git a/tumblerd/tumbler-registry.c b/tumblerd/tumbler-registry.c -index b87e2c1..317c853 100644 ---- a/tumblerd/tumbler-registry.c -+++ b/tumblerd/tumbler-registry.c -@@ -3,18 +3,18 @@ - * Copyright (c) 2009-2011 Jannis Pohlmann <jan...@xfce.org> - * Copyright (c) 2018 Ali Abdallah <a...@xfce.org> - * -- * This program is free software; you can redistribute it and/or -+ * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as -- * published by the Free Software Foundation; either version 2 of -+ * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * -- * You should have received a copy of the GNU General Public -- * License along with this program; if not, write to the Free -+ * You should have received a copy of the GNU General Public -+ * License along with this program; if not, write to the Free - * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ -@@ -26,7 +26,6 @@ - #include <glib.h> - #include <glib-object.h> - --#include <sys/stat.h> - - #include <tumbler/tumbler.h> - -@@ -34,8 +33,6 @@ - #include <tumblerd/tumbler-specialized-thumbnailer.h> - #include <tumblerd/tumbler-utils.h> - --/* Float block size used in the stat struct */ --#define TUMBLER_STAT_BLKSIZE 512. - - static void tumbler_registry_finalize (GObject *object); - static void tumbler_registry_remove_thumbnailer (const gchar *key, -@@ -83,11 +80,11 @@ tumbler_registry_class_init (TumblerRegistryClass *klass) - GObjectClass *gobject_class; - - /* pre-allocate the required quarks */ -- tumbler_registry_visited_quark = -+ tumbler_registry_visited_quark = - g_quark_from_static_string ("tumbler-registry-visited-quark"); - - gobject_class = G_OBJECT_CLASS (klass); -- gobject_class->finalize = tumbler_registry_finalize; -+ gobject_class->finalize = tumbler_registry_finalize; - } - - -@@ -174,7 +171,7 @@ tumbler_registry_compare (TumblerThumbnailer *a, - g_return_val_if_fail (TUMBLER_IS_THUMBNAILER (a), 0); - g_return_val_if_fail (TUMBLER_IS_THUMBNAILER (b), 0); - -- /* TODO Rewrite this based on a single get_registered() time function -+ /* TODO Rewrite this based on a single get_registered() time function - * for all thumbnailer types */ - - if (!TUMBLER_IS_SPECIALIZED_THUMBNAILER (a) || !TUMBLER_IS_SPECIALIZED_THUMBNAILER (b)) -@@ -367,7 +364,7 @@ tumbler_registry_add (TumblerRegistry *registry, - - if (list != NULL) - { -- /* we already have thumbnailers for this combination. insert the new -+ /* we already have thumbnailers for this combination. insert the new - * one at the right position in the list */ - *list = g_list_insert_sorted (*list, g_object_ref (thumbnailer), - (GCompareFunc) tumbler_registry_compare); -@@ -386,7 +383,7 @@ tumbler_registry_add (TumblerRegistry *registry, - } - - /* connect to the unregister signal of the thumbnailer */ -- g_signal_connect_swapped (thumbnailer, "unregister", -+ g_signal_connect_swapped (thumbnailer, "unregister", - G_CALLBACK (tumbler_registry_remove), registry); - - g_strfreev (hash_keys); -@@ -409,11 +406,11 @@ tumbler_registry_remove (TumblerRegistry *registry, - - tumbler_mutex_lock (registry->mutex); - -- g_signal_handlers_disconnect_matched (thumbnailer, G_SIGNAL_MATCH_DATA, -+ g_signal_handlers_disconnect_matched (thumbnailer, G_SIGNAL_MATCH_DATA, - 0, 0, NULL, NULL, registry); -- -+ - /* remove the thumbnailer from all hash key lists */ -- g_hash_table_foreach (registry->thumbnailers, -+ g_hash_table_foreach (registry->thumbnailers, - (GHFunc) tumbler_registry_remove_thumbnailer, thumbnailer); - - tumbler_mutex_unlock (registry->mutex); -@@ -465,42 +462,15 @@ tumbler_registry_get_thumbnailer_array (TumblerRegistry *registry, - /* iterate over all URIs */ - for (n = 0; n < length; ++n) - { -- gchar *filename; -- struct stat sb; -- - g_assert (TUMBLER_IS_FILE_INFO (infos[n])); - - /* reset */ - file_size = 0; - -- filename = g_filename_from_uri (tumbler_file_info_get_uri (infos[n]), NULL, NULL); -- -- if (G_LIKELY(filename)) -- { -- stat (filename, &sb); -- -- g_free (filename); -- -- /* Test sparse files on regular ones */ -- if (S_ISREG (sb.st_mode)) -- { -- if (((TUMBLER_STAT_BLKSIZE * sb.st_blocks) / sb.st_size) < 0.8) -- { -- g_debug ("'%s' is probably a sparse file, skipping\n", tumbler_file_info_get_uri (infos[n])); -- continue; -- } -- } -- } -- else -- { -- g_warning ("Failed to get filename from uri for '%s', skipping\n", tumbler_file_info_get_uri (infos[n])); -- continue; -- } -- - /* determine the URI scheme and generate a hash key */ - gfile = g_file_new_for_uri (tumbler_file_info_get_uri (infos[n])); - scheme = g_file_get_uri_scheme (gfile); -- hash_key = g_strdup_printf ("%s-%s", scheme, -+ hash_key = g_strdup_printf ("%s-%s", scheme, - tumbler_file_info_get_mime_type (infos[n])); - - /* get list of thumbnailer that can handle this URI/MIME type pair */ -@@ -593,8 +563,8 @@ tumbler_registry_update_supported (TumblerRegistry *registry) - g_object_set_qdata (lp->data, tumbler_registry_visited_quark, NULL); - - /* create a hash table to collect unique URI scheme / MIME type pairs */ -- unique_pairs = g_hash_table_new_full (g_str_hash, g_str_equal, -- (GDestroyNotify) g_free, -+ unique_pairs = g_hash_table_new_full (g_str_hash, g_str_equal, -+ (GDestroyNotify) g_free, - (GDestroyNotify) free_pair); - - /* prepare array */ -@@ -611,8 +581,8 @@ tumbler_registry_update_supported (TumblerRegistry *registry) - uri_schemes = tumbler_thumbnailer_get_uri_schemes (lp->data); - - /* insert all MIME types & URI schemes into the hash table */ -- for (n = 0; -- mime_types != NULL && uri_schemes != NULL && mime_types[n] != NULL; -+ for (n = 0; -+ mime_types != NULL && uri_schemes != NULL && mime_types[n] != NULL; - ++n) - { - /* remember the MIME type so that we can later reuse it without copying */ -@@ -620,8 +590,8 @@ tumbler_registry_update_supported (TumblerRegistry *registry) - - for (u = 0; uri_schemes[u] != NULL; ++u) - { -- /* remember the URI scheme for this pair so that we can later reuse it -- * without copying. Only remember it once (n==0) to avoid segmentation -+ /* remember the URI scheme for this pair so that we can later reuse it -+ * without copying. Only remember it once (n==0) to avoid segmentation - * faults when freeing the list */ - if (n == 0) - g_ptr_array_add (used_strings, uri_schemes[u]); -@@ -646,9 +616,9 @@ tumbler_registry_update_supported (TumblerRegistry *registry) - g_free (mime_types); - g_free (uri_schemes); - -- /* mark the thumbnailer as visited so we don't generate its -+ /* mark the thumbnailer as visited so we don't generate its - * MIME type & URI scheme pairs multiple times */ -- g_object_set_qdata (lp->data, tumbler_registry_visited_quark, -+ g_object_set_qdata (lp->data, tumbler_registry_visited_quark, - GUINT_TO_POINTER (1)); - } - -@@ -667,7 +637,7 @@ tumbler_registry_update_supported (TumblerRegistry *registry) - /* insert all unique URI scheme / MIME type pairs into string arrays */ - n = 0; - g_hash_table_iter_init (&iter, unique_pairs); -- while (g_hash_table_iter_next (&iter, NULL, (gpointer) &pair)) -+ while (g_hash_table_iter_next (&iter, NULL, (gpointer) &pair)) - { - /* fill the cache arrays with copied values */ - registry->uri_schemes[n] = g_strdup (pair[0]); -@@ -700,7 +670,7 @@ tumbler_registry_get_supported (TumblerRegistry *registry, - g_return_if_fail (TUMBLER_IS_REGISTRY (registry)); - - tumbler_mutex_lock (registry->mutex); -- -+ - if (uri_schemes != NULL) - *uri_schemes = (const gchar *const *)registry->uri_schemes; - -@@ -740,14 +710,14 @@ tumbler_registry_set_preferred (TumblerRegistry *registry, - g_return_if_fail (thumbnailer == NULL || TUMBLER_IS_THUMBNAILER (thumbnailer)); - - tumbler_mutex_lock (registry->mutex); -- -+ - if (thumbnailer == NULL) - { - g_hash_table_remove (registry->preferred_thumbnailers, hash_key); - } - else - { -- g_hash_table_insert (registry->preferred_thumbnailers, -+ g_hash_table_insert (registry->preferred_thumbnailers, - g_strdup (hash_key), g_object_ref (thumbnailer)); - } - --- -cgit v1.2.1 -