summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch')
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch131
1 files changed, 131 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch
new file mode 100644
index 0000000000..b0cd838a8f
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch
@@ -0,0 +1,131 @@
+From a184e6bfdd7761ad9807f3de9e873d49aff79e6d Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 14 Feb 2019 17:56:34 +0100
+Subject: [PATCH] (target only) Work-around thumbnailer cross-compile failure
+
+Use native gdk-pixbuf-print-mime-types when generating the thumbnail
+metadata. This works but the mime types will come from native
+loader.cache (which will only contain in-tree loaders), not from the
+target loader.cache.
+
+The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057
+
+Upstream-Status: Inappropriate [workaround]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ build-aux/gen-thumbnailer.py | 2 --
+ tests/meson.build | 49 +-----------------------------------
+ thumbnailer/meson.build | 5 +---
+ 3 files changed, 2 insertions(+), 54 deletions(-)
+
+diff --git a/build-aux/gen-thumbnailer.py b/build-aux/gen-thumbnailer.py
+index 05ac821..c5b99ab 100644
+--- a/build-aux/gen-thumbnailer.py
++++ b/build-aux/gen-thumbnailer.py
+@@ -20,8 +20,6 @@ argparser.add_argument('output', help='Output file')
+ args = argparser.parse_args()
+
+ newenv = os.environ.copy()
+-newenv['GDK_PIXBUF_PIXDATA'] = args.pixdata
+-newenv['GDK_PIXBUF_MODULE_FILE'] = args.loaders
+ # 'nt': NT-based Windows, see https://docs.python.org/3/library/os.html
+ if os.name == 'nt':
+ gdk_pixbuf_dll_buildpath = os.path.dirname(args.pixdata)
+diff --git a/tests/meson.build b/tests/meson.build
+index 77a427a..467f5b2 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -1,38 +1,6 @@
+ # Resources; we cannot use gnome.compile_resources() here, because we need to
+ # override the environment in order to use the utilities we just built instead
+ # of the system ones
+-resources_c = custom_target('resources.c',
+- input: 'resources.gresource.xml',
+- output: 'resources.c',
+- command: [
+- gen_resources,
+- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
+- '--loaders=@0@'.format(loaders_cache.full_path()),
+- '--sourcedir=@0@'.format(meson.current_source_dir()),
+- '--source',
+- '@INPUT@',
+- '@OUTPUT@',
+- ],
+- depends: [
+- gdk_pixbuf_pixdata,
+- loaders_cache,
+- ])
+-resources_h = custom_target('resources.h',
+- input: 'resources.gresource.xml',
+- output: 'resources.h',
+- command: [
+- gen_resources,
+- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
+- '--loaders=@0@'.format(loaders_cache.full_path()),
+- '--sourcedir=@0@'.format(meson.current_source_dir()),
+- '--header',
+- '@INPUT@',
+- '@OUTPUT@',
+- ],
+- depends: [
+- gdk_pixbuf_pixdata,
+- loaders_cache,
+- ])
+
+ installed_tests = [
+ [ 'animation' ],
+@@ -94,7 +62,7 @@ foreach t: installed_tests
+ test_sources = [ test_name + '.c', 'test-common.c' ]
+ needs_resources = t.get(1, false)
+ if needs_resources
+- test_sources += [ resources_c, resources_h ]
++ test_sources += [ 'resources.c', 'resources.h' ]
+ endif
+
+ custom_target(test_name + '.test',
+@@ -116,21 +84,6 @@ foreach t: installed_tests
+ ],
+ c_args: common_cflags)
+
+- # Two particularly slow tests
+- if test_name == 'pixbuf-area-updated' or test_name == 'pixbuf-randomly-modified'
+- timeout = 300
+- else
+- timeout = 30
+- endif
+-
+- test(test_name, test_bin,
+- args: [ '-k', '--tap' ],
+- env: [
+- 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
+- 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
+- 'GDK_PIXBUF_MODULE_FILE=@0@'.format(loaders_cache.full_path()),
+- ],
+- timeout: timeout)
+ endforeach
+
+ executable('pixbuf-read',
+diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build
+index aaafec8..71bd61b 100644
+--- a/thumbnailer/meson.build
++++ b/thumbnailer/meson.build
+@@ -18,9 +18,7 @@ custom_target('thumbnailer',
+ output: 'gdk-pixbuf-thumbnailer.thumbnailer',
+ command: [
+ gen_thumbnailer,
+- '--printer=@0@'.format(gdk_pixbuf_print_mime_types.full_path()),
+- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
+- '--loaders=@0@'.format(loaders_cache.full_path()),
++ '--printer=gdk-pixbuf-print-mime-types',
+ '--bindir=@0@'.format(gdk_pixbuf_bindir),
+ '@INPUT@',
+ '@OUTPUT@',
+@@ -28,7 +26,6 @@ custom_target('thumbnailer',
+ depends: [
+ gdk_pixbuf_print_mime_types,
+ gdk_pixbuf_pixdata,
+- loaders_cache,
+ ],
+ install: true,
+ install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers'))