summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
blob: 928962d230b9cf3917293eadd0b2d483d1bb3e5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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