summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch')
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch96
1 files changed, 96 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
new file mode 100644
index 0000000000..928962d230
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
@@ -0,0 +1,96 @@
+From 6fc7f341399ec49ab06c94426f50dbdca49a2844 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 22 Feb 2019 13:22:06 +0100
+Subject: [PATCH] (target only) Work-around thumbnailer and pixdata
+ cross-compile failure
+
+Use native gdk-pixbuf-print-mime-types and gdk-pixbuf-pixdata
+when generating the thumbnail metadata and resources.
+
+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 | 11 +++++++++--
+ thumbnailer/meson.build | 5 +----
+ 3 files changed, 10 insertions(+), 8 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 4fa3fbc..eca5166 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -1,12 +1,19 @@
+ # 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
++
++if not meson.is_cross_build()
++pixdata_binary = gdk_pixbuf_pixdata.full_path()
++else
++pixdata_binary = 'gdk-pixbuf-pixdata'
++endif
++
+ resources_c = custom_target('resources.c',
+ input: 'resources.gresource.xml',
+ output: 'resources.c',
+ command: [
+ gen_resources,
+- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
++ '--pixdata=@0@'.format(pixdata_binary),
+ '--loaders=@0@'.format(loaders_cache.full_path()),
+ '--sourcedir=@0@'.format(meson.current_source_dir()),
+ '--source',
+@@ -24,7 +31,7 @@ resources_h = custom_target('resources.h',
+ output: 'resources.h',
+ command: [
+ gen_resources,
+- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
++ '--pixdata=@0@'.format(pixdata_binary),
+ '--loaders=@0@'.format(loaders_cache.full_path()),
+ '--sourcedir=@0@'.format(meson.current_source_dir()),
+ '--header',
+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'))
+--
+2.17.1
+