summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2019-02-22 15:16:49 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-02-25 12:35:59 +0000
commitce0d8dbbf01960a13e5883fa036acef346c56c85 (patch)
tree39f865316bac2a87de7fbb1c64b196607d6af74c
parent9de595659e95f4f646d3c08fc258fd1558e9a098 (diff)
downloadpoky-ce0d8dbbf01960a13e5883fa036acef346c56c85.tar.gz
gdk-pixbuf: update to 2.38.0
Drop 0001-Disable-tests-in-native-builds.patch as upstream has fixed the issue. Rework 0001-Fix-a-couple-of-decisions-around-cross-compilation.patch to enable generation of loaders.cache in target builds (using a native tool), because otherwise building tests becomes impossible. Rework 0002-Work-around-thumbnailer-cross-compile-failure.patch into 0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch (which deals with substituting native tools in cross builds) and 0004-Do-not-run-tests-when-building.patch (which avoids running test binaries during cross builds). Rebase fatal-loader.patch. License checksum updates as COPYING file had 2.0 version of LGPL and has been replaced with 2.1 version. Take meson's x11 and installed_tests options into use. Install gdk-pixbuf-query-loaders also into $bindir, as we need the native version during cross compile. (From OE-Core rev: 8fb16df2e6977bb3508239eb8d447b8c5401d5ed) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Disable-tests-in-native-builds.patch31
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch38
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch131
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch96
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch39
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch37
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb (renamed from meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb)44
7 files changed, 197 insertions, 219 deletions
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Disable-tests-in-native-builds.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Disable-tests-in-native-builds.patch
deleted file mode 100644
index 1e45b716b9..0000000000
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Disable-tests-in-native-builds.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From b287cb313dbfac3257f1ab451b19ba59580f78e1 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 18 Feb 2019 16:00:12 +0100
4Subject: [PATCH] Disable tests in native builds.
5
6They have found to be problematic at least on Centos 7:
7https://autobuilder.yoctoproject.org/typhoon/#/builders/50/builds/296/steps/7/logs/step1b
8
9With autotools this was not a problem because it had a configuration
10switch for disabling test, which was used. Meson has no such facility :(
11
12Upstream-Status: Inappropriate [oe-core specific]
13Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
14
15---
16 meson.build | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/meson.build b/meson.build
20index 92c4049..0871c84 100644
21--- a/meson.build
22+++ b/meson.build
23@@ -397,7 +397,7 @@ endif
24 # i18n
25 subdir('po')
26
27-subdir('tests')
28+#subdir('tests')
29 subdir('thumbnailer')
30
31 # Documentation
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
index 90d4830df5..e638fd3b6f 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
@@ -1,23 +1,23 @@
1From 48cbdd56036728ffea431ad63cf5e2ad05cef69c Mon Sep 17 00:00:00 2001 1From bf71999b6e64d1f1919b0351b27c1c417e2b8856 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Thu, 14 Feb 2019 18:06:25 +0100 3Date: Thu, 14 Feb 2019 18:06:25 +0100
4Subject: [PATCH] Fix a couple of decisions around cross-compilation 4Subject: [PATCH] Generate loaders.cache using a native tool when
5 cross-compiling
5 6
61. gobject-introspection can be build when cross compiling 7Otherwise meson would attempt to run a target binary.
72. generating loaders.cache requires running a target binary which
8we do elsewhere (in postinsts)
9 8
10Upstream-Status: Pending 9Upstream-Status: Pending
11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11
12--- 12---
13 gdk-pixbuf/meson.build | 4 +++- 13 gdk-pixbuf/meson.build | 13 +++++++++++++
14 1 file changed, 3 insertions(+), 1 deletion(-) 14 1 file changed, 13 insertions(+)
15 15
16diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build 16diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
17index 77c162b..fc3eb33 100644 17index 1995ffd..d692cb7 100644
18--- a/gdk-pixbuf/meson.build 18--- a/gdk-pixbuf/meson.build
19+++ b/gdk-pixbuf/meson.build 19+++ b/gdk-pixbuf/meson.build
20@@ -230,6 +230,7 @@ foreach bin: gdkpixbuf_bin 20@@ -291,6 +291,7 @@ foreach bin: gdkpixbuf_bin
21 set_variable(bin_name.underscorify(), bin) 21 set_variable(bin_name.underscorify(), bin)
22 endforeach 22 endforeach
23 23
@@ -25,14 +25,22 @@ index 77c162b..fc3eb33 100644
25 # The 'loaders.cache' used for testing, so we don't accidentally 25 # The 'loaders.cache' used for testing, so we don't accidentally
26 # load the installed cache; we always build it by default 26 # load the installed cache; we always build it by default
27 loaders_cache = custom_target('loaders.cache', 27 loaders_cache = custom_target('loaders.cache',
28@@ -241,8 +242,9 @@ loaders_cache = custom_target('loaders.cache', 28@@ -302,6 +303,18 @@ loaders_cache = custom_target('loaders.cache',
29 ], 29 ],
30 build_by_default: true) 30 build_by_default: true)
31 loaders_dep = declare_dependency(sources: [ loaders_cache ]) 31 loaders_dep = declare_dependency(sources: [ loaders_cache ])
32+else
33+loaders_cache = custom_target('loaders.cache',
34+ output: 'loaders.cache',
35+ capture: true,
36+ depends: [ dynamic_loaders_dep ],
37+ command: [
38+ 'gdk-pixbuf-query-loaders',
39+ dynamic_loaders,
40+ ],
41+ build_by_default: true)
42+loaders_dep = declare_dependency(sources: [ loaders_cache ])
32+endif 43+endif
33 44
34-build_gir = get_option('with_gir') and not meson.is_cross_build() 45 pkgconfig = import('pkgconfig')
35+build_gir = get_option('with_gir') 46 pkgconfig.generate(
36 if build_gir
37 gir_args = [
38 '--quiet',
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch
deleted file mode 100644
index b0cd838a8f..0000000000
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch
+++ /dev/null
@@ -1,131 +0,0 @@
1From a184e6bfdd7761ad9807f3de9e873d49aff79e6d Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Thu, 14 Feb 2019 17:56:34 +0100
4Subject: [PATCH] (target only) Work-around thumbnailer cross-compile failure
5
6Use native gdk-pixbuf-print-mime-types when generating the thumbnail
7metadata. This works but the mime types will come from native
8loader.cache (which will only contain in-tree loaders), not from the
9target loader.cache.
10
11The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057
12
13Upstream-Status: Inappropriate [workaround]
14Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
15
16---
17 build-aux/gen-thumbnailer.py | 2 --
18 tests/meson.build | 49 +-----------------------------------
19 thumbnailer/meson.build | 5 +---
20 3 files changed, 2 insertions(+), 54 deletions(-)
21
22diff --git a/build-aux/gen-thumbnailer.py b/build-aux/gen-thumbnailer.py
23index 05ac821..c5b99ab 100644
24--- a/build-aux/gen-thumbnailer.py
25+++ b/build-aux/gen-thumbnailer.py
26@@ -20,8 +20,6 @@ argparser.add_argument('output', help='Output file')
27 args = argparser.parse_args()
28
29 newenv = os.environ.copy()
30-newenv['GDK_PIXBUF_PIXDATA'] = args.pixdata
31-newenv['GDK_PIXBUF_MODULE_FILE'] = args.loaders
32 # 'nt': NT-based Windows, see https://docs.python.org/3/library/os.html
33 if os.name == 'nt':
34 gdk_pixbuf_dll_buildpath = os.path.dirname(args.pixdata)
35diff --git a/tests/meson.build b/tests/meson.build
36index 77a427a..467f5b2 100644
37--- a/tests/meson.build
38+++ b/tests/meson.build
39@@ -1,38 +1,6 @@
40 # Resources; we cannot use gnome.compile_resources() here, because we need to
41 # override the environment in order to use the utilities we just built instead
42 # of the system ones
43-resources_c = custom_target('resources.c',
44- input: 'resources.gresource.xml',
45- output: 'resources.c',
46- command: [
47- gen_resources,
48- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
49- '--loaders=@0@'.format(loaders_cache.full_path()),
50- '--sourcedir=@0@'.format(meson.current_source_dir()),
51- '--source',
52- '@INPUT@',
53- '@OUTPUT@',
54- ],
55- depends: [
56- gdk_pixbuf_pixdata,
57- loaders_cache,
58- ])
59-resources_h = custom_target('resources.h',
60- input: 'resources.gresource.xml',
61- output: 'resources.h',
62- command: [
63- gen_resources,
64- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
65- '--loaders=@0@'.format(loaders_cache.full_path()),
66- '--sourcedir=@0@'.format(meson.current_source_dir()),
67- '--header',
68- '@INPUT@',
69- '@OUTPUT@',
70- ],
71- depends: [
72- gdk_pixbuf_pixdata,
73- loaders_cache,
74- ])
75
76 installed_tests = [
77 [ 'animation' ],
78@@ -94,7 +62,7 @@ foreach t: installed_tests
79 test_sources = [ test_name + '.c', 'test-common.c' ]
80 needs_resources = t.get(1, false)
81 if needs_resources
82- test_sources += [ resources_c, resources_h ]
83+ test_sources += [ 'resources.c', 'resources.h' ]
84 endif
85
86 custom_target(test_name + '.test',
87@@ -116,21 +84,6 @@ foreach t: installed_tests
88 ],
89 c_args: common_cflags)
90
91- # Two particularly slow tests
92- if test_name == 'pixbuf-area-updated' or test_name == 'pixbuf-randomly-modified'
93- timeout = 300
94- else
95- timeout = 30
96- endif
97-
98- test(test_name, test_bin,
99- args: [ '-k', '--tap' ],
100- env: [
101- 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
102- 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
103- 'GDK_PIXBUF_MODULE_FILE=@0@'.format(loaders_cache.full_path()),
104- ],
105- timeout: timeout)
106 endforeach
107
108 executable('pixbuf-read',
109diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build
110index aaafec8..71bd61b 100644
111--- a/thumbnailer/meson.build
112+++ b/thumbnailer/meson.build
113@@ -18,9 +18,7 @@ custom_target('thumbnailer',
114 output: 'gdk-pixbuf-thumbnailer.thumbnailer',
115 command: [
116 gen_thumbnailer,
117- '--printer=@0@'.format(gdk_pixbuf_print_mime_types.full_path()),
118- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
119- '--loaders=@0@'.format(loaders_cache.full_path()),
120+ '--printer=gdk-pixbuf-print-mime-types',
121 '--bindir=@0@'.format(gdk_pixbuf_bindir),
122 '@INPUT@',
123 '@OUTPUT@',
124@@ -28,7 +26,6 @@ custom_target('thumbnailer',
125 depends: [
126 gdk_pixbuf_print_mime_types,
127 gdk_pixbuf_pixdata,
128- loaders_cache,
129 ],
130 install: true,
131 install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers'))
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 @@
1From 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
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch
new file mode 100644
index 0000000000..96c546f271
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch
@@ -0,0 +1,39 @@
1From 3c4a6c147ae8a0962ba9194373d8a41d14eed44f Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 22 Feb 2019 13:23:55 +0100
4Subject: [PATCH] Do not run tests when building
5
6Upstream-Status: Inappropriate [cross-compile specific]
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8---
9 tests/meson.build | 17 -----------------
10 1 file changed, 17 deletions(-)
11
12diff --git a/tests/meson.build b/tests/meson.build
13index 4fa3fbc..6ef7884 100644
14--- a/tests/meson.build
15+++ b/tests/meson.build
16@@ -138,23 +138,6 @@ foreach t: installed_tests
17 install_dir: installed_test_bindir,
18 )
19
20- # Two particularly slow tests
21- if test_suites.contains('slow')
22- timeout = 300
23- else
24- timeout = 30
25- endif
26-
27- test(test_name, test_bin,
28- suite: test_suites,
29- args: [ '-k', '--tap' ],
30- env: [
31- 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
32- 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
33- 'GDK_PIXBUF_MODULE_FILE=@0@'.format(loaders_cache.full_path()),
34- ],
35- timeout: timeout,
36- )
37 endforeach
38
39 executable('pixbuf-read',
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
index 7d0d54bafe..25410b11ea 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
@@ -1,7 +1,7 @@
1From b6a7b30522455cab39a0b9ea8463313380146e70 Mon Sep 17 00:00:00 2001 1From f00603d58d844422363b896ea7d07aaf48ddaa66 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com> 2From: Ross Burton <ross.burton@intel.com>
3Date: Tue, 1 Apr 2014 17:23:36 +0100 3Date: Tue, 1 Apr 2014 17:23:36 +0100
4Subject: [PATCH 3/4] gdk-pixbuf: add an option so that loader errors are fatal 4Subject: [PATCH] gdk-pixbuf: add an option so that loader errors are fatal
5 5
6If an environment variable is specified set the return value from main() to 6If an environment variable is specified set the return value from main() to
7non-zero if the loader had errors (missing libraries, generally). 7non-zero if the loader had errors (missing libraries, generally).
@@ -14,10 +14,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
14 1 file changed, 15 insertions(+), 4 deletions(-) 14 1 file changed, 15 insertions(+), 4 deletions(-)
15 15
16diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c 16diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
17index a81c804..350bec8 100644 17index 312aa78..b813d99 100644
18--- a/gdk-pixbuf/queryloaders.c 18--- a/gdk-pixbuf/queryloaders.c
19+++ b/gdk-pixbuf/queryloaders.c 19+++ b/gdk-pixbuf/queryloaders.c
20@@ -146,7 +146,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info) 20@@ -212,7 +212,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
21 g_string_append_c (contents, '\n'); 21 g_string_append_c (contents, '\n');
22 } 22 }
23 23
@@ -26,7 +26,7 @@ index a81c804..350bec8 100644
26 query_module (GString *contents, const char *dir, const char *file) 26 query_module (GString *contents, const char *dir, const char *file)
27 { 27 {
28 char *path; 28 char *path;
29@@ -155,6 +155,7 @@ query_module (GString *contents, const char *dir, const char *file) 29@@ -221,6 +221,7 @@ query_module (GString *contents, const char *dir, const char *file)
30 void (*fill_vtable) (GdkPixbufModule *module); 30 void (*fill_vtable) (GdkPixbufModule *module);
31 gpointer fill_info_ptr; 31 gpointer fill_info_ptr;
32 gpointer fill_vtable_ptr; 32 gpointer fill_vtable_ptr;
@@ -34,7 +34,7 @@ index a81c804..350bec8 100644
34 34
35 if (g_path_is_absolute (file)) 35 if (g_path_is_absolute (file))
36 path = g_strdup (file); 36 path = g_strdup (file);
37@@ -204,10 +205,13 @@ query_module (GString *contents, const char *dir, const char *file) 37@@ -270,10 +271,13 @@ query_module (GString *contents, const char *dir, const char *file)
38 g_module_error()); 38 g_module_error());
39 else 39 else
40 g_fprintf (stderr, "Cannot load loader %s\n", path); 40 g_fprintf (stderr, "Cannot load loader %s\n", path);
@@ -48,26 +48,26 @@ index a81c804..350bec8 100644
48 } 48 }
49 49
50 #ifdef G_OS_WIN32 50 #ifdef G_OS_WIN32
51@@ -257,6 +261,7 @@ int main (int argc, char **argv) 51@@ -314,6 +318,7 @@ int main (int argc, char **argv)
52 GString *contents;
53 gchar *cache_file = NULL;
54 gint first_file = 1; 52 gint first_file = 1;
53 GFile *pixbuf_libdir_file;
54 gchar *pixbuf_libdir;
55+ gboolean success = TRUE; 55+ gboolean success = TRUE;
56 56
57 #ifdef G_OS_WIN32 57 #ifdef G_OS_WIN32
58 gchar *libdir; 58 gchar *libdir;
59@@ -370,7 +375,9 @@ int main (int argc, char **argv) 59@@ -452,7 +457,9 @@ int main (int argc, char **argv)
60 } 60 }
61 modules = g_list_sort (modules, (GCompareFunc)strcmp); 61 modules = g_list_sort (modules, (GCompareFunc)strcmp);
62 for (l = modules; l != NULL; l = l->next) 62 for (l = modules; l != NULL; l = l->next)
63- query_module (contents, path, l->data); 63- query_module (contents, moduledir, l->data);
64+ if (!query_module (contents, path, l->data)) 64+ if (!query_module (contents, moduledir, l->data))
65+ success = FALSE; 65+ success = FALSE;
66+ 66+
67 g_list_free_full (modules, g_free); 67 g_list_free_full (modules, g_free);
68 g_free (moduledir);
68 #else 69 #else
69 g_string_append_printf (contents, "# dynamic loading of modules not supported\n"); 70@@ -468,7 +475,8 @@ int main (int argc, char **argv)
70@@ -385,7 +392,8 @@ int main (int argc, char **argv)
71 infilename = g_locale_to_utf8 (infilename, 71 infilename = g_locale_to_utf8 (infilename,
72 -1, NULL, NULL, NULL); 72 -1, NULL, NULL, NULL);
73 #endif 73 #endif
@@ -77,9 +77,9 @@ index a81c804..350bec8 100644
77 } 77 }
78 g_free (cwd); 78 g_free (cwd);
79 } 79 }
80@@ -401,5 +409,8 @@ int main (int argc, char **argv) 80@@ -486,5 +494,8 @@ int main (int argc, char **argv)
81 else 81
82 g_print ("%s\n", contents->str); 82 g_free (pixbuf_libdir);
83 83
84- return 0; 84- return 0;
85+ if (g_getenv ("GDK_PIXBUF_FATAL_LOADER")) 85+ if (g_getenv ("GDK_PIXBUF_FATAL_LOADER"))
@@ -87,6 +87,3 @@ index a81c804..350bec8 100644
87+ else 87+ else
88+ return 0; 88+ return 0;
89 } 89 }
90--
912.14.1
92
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb
index 5f081fbb94..3a544bd8a6 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb
@@ -2,9 +2,10 @@ SUMMARY = "Image loading library for GTK+"
2HOMEPAGE = "http://www.gtk.org/" 2HOMEPAGE = "http://www.gtk.org/"
3BUGTRACKER = "https://bugzilla.gnome.org/" 3BUGTRACKER = "https://bugzilla.gnome.org/"
4 4
5LICENSE = "LGPLv2" 5LICENSE = "LGPLv2.1"
6LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ 6LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
7 file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b" 7 file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b \
8 "
8 9
9SECTION = "libs" 10SECTION = "libs"
10 11
@@ -18,29 +19,26 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
18 file://0001-Work-around-thumbnailer-cross-compile-failure.patch \ 19 file://0001-Work-around-thumbnailer-cross-compile-failure.patch \
19 file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \ 20 file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \
20 file://0001-loaders.cache-depend-on-loaders-being-fully-build.patch \ 21 file://0001-loaders.cache-depend-on-loaders-being-fully-build.patch \
22 file://0004-Do-not-run-tests-when-building.patch \
21 " 23 "
22 24
23SRC_URI_append_class-target = " \ 25SRC_URI_append_class-target = " \
24 file://0002-Work-around-thumbnailer-cross-compile-failure.patch \ 26 file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \
25 " 27 "
26SRC_URI_append_class-nativesdk = " \ 28SRC_URI_append_class-nativesdk = " \
27 file://0002-Work-around-thumbnailer-cross-compile-failure.patch \ 29 file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \
28 file://0001-Disable-tests-in-native-builds.patch \
29 "
30SRC_URI_append_class-native = " \
31 file://0001-Disable-tests-in-native-builds.patch \
32 " 30 "
33 31
34SRC_URI[md5sum] = "6e84e5485c17ce7c25df77fe76eb2d6a" 32SRC_URI[md5sum] = "77765f24496dc8c90c6e0cbe10fd8f0e"
35SRC_URI[sha256sum] = "ae62ab87250413156ed72ef756347b10208c00e76b222d82d9ed361ed9dde2f3" 33SRC_URI[sha256sum] = "dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47"
36 34
37inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package 35inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package
38 36
39GTKDOC_ENABLE_FLAG = "-Dwith_docs=true" 37GTKDOC_ENABLE_FLAG = "-Ddocs=true"
40GTKDOC_DISABLE_FLAG = "-Dwith_docs=false" 38GTKDOC_DISABLE_FLAG = "-Ddocs=false"
41 39
42GI_ENABLE_FLAG = "-Dwith_gir=true" 40GI_ENABLE_FLAG = "-Dgir=true"
43GI_DISABLE_FLAG = "-Dwith_gir=false" 41GI_DISABLE_FLAG = "-Dgir=false"
44 42
45EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}" 43EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
46 44
@@ -50,6 +48,8 @@ EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'T
50EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ 48EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
51 '${GTKDOC_DISABLE_FLAG}', d)} " 49 '${GTKDOC_DISABLE_FLAG}', d)} "
52 50
51EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}"
52
53LIBV = "2.10.0" 53LIBV = "2.10.0"
54 54
55GDK_PIXBUF_LOADERS ?= "png jpeg" 55GDK_PIXBUF_LOADERS ?= "png jpeg"
@@ -63,7 +63,7 @@ PACKAGECONFIG[jpeg] = "-Denable_jpeg=true,-Denable_jpeg=false,jpeg"
63PACKAGECONFIG[tiff] = "-Denable_tiff=true,-Denable_tiff=false,tiff" 63PACKAGECONFIG[tiff] = "-Denable_tiff=true,-Denable_tiff=false,tiff"
64PACKAGECONFIG[jpeg2000] = "-Denable_jasper=true,-Denable_jasper=false,jasper" 64PACKAGECONFIG[jpeg2000] = "-Denable_jasper=true,-Denable_jasper=false,jasper"
65 65
66PACKAGECONFIG[x11] = ",,virtual/libx11" 66PACKAGECONFIG[x11] = "-Dx11=true,-Dx11=false,virtual/libx11"
67 67
68PACKAGES =+ "${PN}-xlib" 68PACKAGES =+ "${PN}-xlib"
69 69
@@ -102,14 +102,10 @@ python populate_packages_prepend () {
102} 102}
103 103
104do_install_append() { 104do_install_append() {
105 # Move gdk-pixbuf-query-loaders into libdir so it is always available 105 # Copy gdk-pixbuf-query-loaders into libdir so it is always available
106 # in multilib builds. 106 # in multilib builds.
107 mv ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/ 107 cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
108 108
109 # Do not install ptests if ptest is not enabled; gdk-pixbuf has no configuration option for this
110 if [ "${PTEST_ENABLED}" != "1" ]; then
111 rm -rf ${D}${datadir}/installed-tests
112 fi
113} 109}
114 110
115do_install_append_class-native() { 111do_install_append_class-native() {
@@ -127,5 +123,9 @@ do_install_append_class-native() {
127 create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \ 123 create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
128 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ 124 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
129 GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders 125 GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
126
127 create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \
128 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
129 GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
130} 130}
131BBCLASSEXTEND = "native nativesdk" 131BBCLASSEXTEND = "native nativesdk"