summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch')
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch95
1 files changed, 95 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch
new file mode 100644
index 0000000000..2aa9164750
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch
@@ -0,0 +1,95 @@
+From dcaf3106e2cca27f728a8bd26127430500a1136e 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] 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>
+
+---
+ tests/meson.build | 11 +++++++++--
+ thumbnailer/meson.build | 23 ++++++++++++++++++++++-
+ 2 files changed, 31 insertions(+), 3 deletions(-)
+
+diff --git a/tests/meson.build b/tests/meson.build
+index 7c6cb11..07121f1 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -8,13 +8,20 @@ if enabled_loaders.contains('png') and host_system != 'windows'
+ # 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,
+ '--glib-compile-resources=@0@'.format(glib_compile_resources.full_path()),
+- '--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',
+@@ -33,7 +40,7 @@ if enabled_loaders.contains('png') and host_system != 'windows'
+ command: [
+ gen_resources,
+ '--glib-compile-resources=@0@'.format(glib_compile_resources.full_path()),
+- '--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 8c741e0..5a3b52a 100644
+--- a/thumbnailer/meson.build
++++ b/thumbnailer/meson.build
+@@ -14,7 +14,27 @@ gdk_pixbuf_print_mime_types = executable('gdk-pixbuf-print-mime-types',
+ install: true,
+ dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ])
+
+-custom_target('thumbnailer',
++if meson.is_cross_build()
++ custom_target('thumbnailer',
++ input: 'gdk-pixbuf-thumbnailer.thumbnailer.in',
++ output: 'gdk-pixbuf-thumbnailer.thumbnailer',
++ command: [
++ gen_thumbnailer,
++ '--printer=gdk-pixbuf-print-mime-types',
++ '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
++ '--loaders=@0@'.format(loaders_cache.full_path()),
++ '--bindir=@0@'.format(gdk_pixbuf_bindir),
++ '@INPUT@',
++ '@OUTPUT@',
++ ],
++ depends: [
++ gdk_pixbuf_print_mime_types,
++ gdk_pixbuf_pixdata,
++ ],
++ install: true,
++ install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers'))
++else
++ custom_target('thumbnailer',
+ input: 'gdk-pixbuf-thumbnailer.thumbnailer.in',
+ output: 'gdk-pixbuf-thumbnailer.thumbnailer',
+ command: [
+@@ -33,3 +53,4 @@ custom_target('thumbnailer',
+ ],
+ install: true,
+ install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers'))
++endif