blob: 928962d230b9cf3917293eadd0b2d483d1bb3e5b [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001From 6fc7f341399ec49ab06c94426f50dbdca49a2844 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 22 Feb 2019 13:22:06 +0100
4Subject: [PATCH] (target only) Work-around thumbnailer and pixdata
5 cross-compile failure
6
7Use native gdk-pixbuf-print-mime-types and gdk-pixbuf-pixdata
8when generating the thumbnail metadata and resources.
9
10This works but the mime types will come from native
11loader.cache (which will only contain in-tree loaders), not from the
12target loader.cache.
13
14The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057
15
16Upstream-Status: Inappropriate [workaround]
17Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
18---
19 build-aux/gen-thumbnailer.py | 2 --
20 tests/meson.build | 11 +++++++++--
21 thumbnailer/meson.build | 5 +----
22 3 files changed, 10 insertions(+), 8 deletions(-)
23
24diff --git a/build-aux/gen-thumbnailer.py b/build-aux/gen-thumbnailer.py
25index 05ac821..c5b99ab 100644
26--- a/build-aux/gen-thumbnailer.py
27+++ b/build-aux/gen-thumbnailer.py
28@@ -20,8 +20,6 @@ argparser.add_argument('output', help='Output file')
29 args = argparser.parse_args()
30
31 newenv = os.environ.copy()
32-newenv['GDK_PIXBUF_PIXDATA'] = args.pixdata
33-newenv['GDK_PIXBUF_MODULE_FILE'] = args.loaders
34 # 'nt': NT-based Windows, see https://docs.python.org/3/library/os.html
35 if os.name == 'nt':
36 gdk_pixbuf_dll_buildpath = os.path.dirname(args.pixdata)
37diff --git a/tests/meson.build b/tests/meson.build
38index 4fa3fbc..eca5166 100644
39--- a/tests/meson.build
40+++ b/tests/meson.build
41@@ -1,12 +1,19 @@
42 # Resources; we cannot use gnome.compile_resources() here, because we need to
43 # override the environment in order to use the utilities we just built instead
44 # of the system ones
45+
46+if not meson.is_cross_build()
47+pixdata_binary = gdk_pixbuf_pixdata.full_path()
48+else
49+pixdata_binary = 'gdk-pixbuf-pixdata'
50+endif
51+
52 resources_c = custom_target('resources.c',
53 input: 'resources.gresource.xml',
54 output: 'resources.c',
55 command: [
56 gen_resources,
57- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
58+ '--pixdata=@0@'.format(pixdata_binary),
59 '--loaders=@0@'.format(loaders_cache.full_path()),
60 '--sourcedir=@0@'.format(meson.current_source_dir()),
61 '--source',
62@@ -24,7 +31,7 @@ resources_h = custom_target('resources.h',
63 output: 'resources.h',
64 command: [
65 gen_resources,
66- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
67+ '--pixdata=@0@'.format(pixdata_binary),
68 '--loaders=@0@'.format(loaders_cache.full_path()),
69 '--sourcedir=@0@'.format(meson.current_source_dir()),
70 '--header',
71diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build
72index aaafec8..71bd61b 100644
73--- a/thumbnailer/meson.build
74+++ b/thumbnailer/meson.build
75@@ -18,9 +18,7 @@ custom_target('thumbnailer',
76 output: 'gdk-pixbuf-thumbnailer.thumbnailer',
77 command: [
78 gen_thumbnailer,
79- '--printer=@0@'.format(gdk_pixbuf_print_mime_types.full_path()),
80- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
81- '--loaders=@0@'.format(loaders_cache.full_path()),
82+ '--printer=gdk-pixbuf-print-mime-types',
83 '--bindir=@0@'.format(gdk_pixbuf_bindir),
84 '@INPUT@',
85 '@OUTPUT@',
86@@ -28,7 +26,6 @@ custom_target('thumbnailer',
87 depends: [
88 gdk_pixbuf_print_mime_types,
89 gdk_pixbuf_pixdata,
90- loaders_cache,
91 ],
92 install: true,
93 install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers'))
94--
952.17.1
96