diff options
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.patch | 95 |
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 |