diff options
-rw-r--r-- | meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Disable-tests-in-native-builds.patch | 31 | ||||
-rw-r--r-- | meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch | 38 | ||||
-rw-r--r-- | meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch | 131 | ||||
-rw-r--r-- | meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch | 96 | ||||
-rw-r--r-- | meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch | 39 | ||||
-rw-r--r-- | meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch | 37 | ||||
-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 @@ | |||
1 | From b287cb313dbfac3257f1ab451b19ba59580f78e1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Mon, 18 Feb 2019 16:00:12 +0100 | ||
4 | Subject: [PATCH] Disable tests in native builds. | ||
5 | |||
6 | They have found to be problematic at least on Centos 7: | ||
7 | https://autobuilder.yoctoproject.org/typhoon/#/builders/50/builds/296/steps/7/logs/step1b | ||
8 | |||
9 | With autotools this was not a problem because it had a configuration | ||
10 | switch for disabling test, which was used. Meson has no such facility :( | ||
11 | |||
12 | Upstream-Status: Inappropriate [oe-core specific] | ||
13 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
14 | |||
15 | --- | ||
16 | meson.build | 2 +- | ||
17 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
18 | |||
19 | diff --git a/meson.build b/meson.build | ||
20 | index 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 @@ | |||
1 | From 48cbdd56036728ffea431ad63cf5e2ad05cef69c Mon Sep 17 00:00:00 2001 | 1 | From bf71999b6e64d1f1919b0351b27c1c417e2b8856 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Thu, 14 Feb 2019 18:06:25 +0100 | 3 | Date: Thu, 14 Feb 2019 18:06:25 +0100 |
4 | Subject: [PATCH] Fix a couple of decisions around cross-compilation | 4 | Subject: [PATCH] Generate loaders.cache using a native tool when |
5 | cross-compiling | ||
5 | 6 | ||
6 | 1. gobject-introspection can be build when cross compiling | 7 | Otherwise meson would attempt to run a target binary. |
7 | 2. generating loaders.cache requires running a target binary which | ||
8 | we do elsewhere (in postinsts) | ||
9 | 8 | ||
10 | Upstream-Status: Pending | 9 | Upstream-Status: Pending |
11 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | 10 | Signed-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 | ||
16 | diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build | 16 | diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build |
17 | index 77c162b..fc3eb33 100644 | 17 | index 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 @@ | |||
1 | From a184e6bfdd7761ad9807f3de9e873d49aff79e6d Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Thu, 14 Feb 2019 17:56:34 +0100 | ||
4 | Subject: [PATCH] (target only) Work-around thumbnailer cross-compile failure | ||
5 | |||
6 | Use native gdk-pixbuf-print-mime-types when generating the thumbnail | ||
7 | metadata. This works but the mime types will come from native | ||
8 | loader.cache (which will only contain in-tree loaders), not from the | ||
9 | target loader.cache. | ||
10 | |||
11 | The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057 | ||
12 | |||
13 | Upstream-Status: Inappropriate [workaround] | ||
14 | Signed-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 | |||
22 | diff --git a/build-aux/gen-thumbnailer.py b/build-aux/gen-thumbnailer.py | ||
23 | index 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) | ||
35 | diff --git a/tests/meson.build b/tests/meson.build | ||
36 | index 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', | ||
109 | diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build | ||
110 | index 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 @@ | |||
1 | From 6fc7f341399ec49ab06c94426f50dbdca49a2844 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Fri, 22 Feb 2019 13:22:06 +0100 | ||
4 | Subject: [PATCH] (target only) Work-around thumbnailer and pixdata | ||
5 | cross-compile failure | ||
6 | |||
7 | Use native gdk-pixbuf-print-mime-types and gdk-pixbuf-pixdata | ||
8 | when generating the thumbnail metadata and resources. | ||
9 | |||
10 | This works but the mime types will come from native | ||
11 | loader.cache (which will only contain in-tree loaders), not from the | ||
12 | target loader.cache. | ||
13 | |||
14 | The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057 | ||
15 | |||
16 | Upstream-Status: Inappropriate [workaround] | ||
17 | Signed-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 | |||
24 | diff --git a/build-aux/gen-thumbnailer.py b/build-aux/gen-thumbnailer.py | ||
25 | index 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) | ||
37 | diff --git a/tests/meson.build b/tests/meson.build | ||
38 | index 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', | ||
71 | diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build | ||
72 | index 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 | -- | ||
95 | 2.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 @@ | |||
1 | From 3c4a6c147ae8a0962ba9194373d8a41d14eed44f Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Fri, 22 Feb 2019 13:23:55 +0100 | ||
4 | Subject: [PATCH] Do not run tests when building | ||
5 | |||
6 | Upstream-Status: Inappropriate [cross-compile specific] | ||
7 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
8 | --- | ||
9 | tests/meson.build | 17 ----------------- | ||
10 | 1 file changed, 17 deletions(-) | ||
11 | |||
12 | diff --git a/tests/meson.build b/tests/meson.build | ||
13 | index 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 @@ | |||
1 | From b6a7b30522455cab39a0b9ea8463313380146e70 Mon Sep 17 00:00:00 2001 | 1 | From f00603d58d844422363b896ea7d07aaf48ddaa66 Mon Sep 17 00:00:00 2001 |
2 | From: Ross Burton <ross.burton@intel.com> | 2 | From: Ross Burton <ross.burton@intel.com> |
3 | Date: Tue, 1 Apr 2014 17:23:36 +0100 | 3 | Date: Tue, 1 Apr 2014 17:23:36 +0100 |
4 | Subject: [PATCH 3/4] gdk-pixbuf: add an option so that loader errors are fatal | 4 | Subject: [PATCH] gdk-pixbuf: add an option so that loader errors are fatal |
5 | 5 | ||
6 | If an environment variable is specified set the return value from main() to | 6 | If an environment variable is specified set the return value from main() to |
7 | non-zero if the loader had errors (missing libraries, generally). | 7 | non-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 | ||
16 | diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c | 16 | diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c |
17 | index a81c804..350bec8 100644 | 17 | index 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 | -- | ||
91 | 2.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+" | |||
2 | HOMEPAGE = "http://www.gtk.org/" | 2 | HOMEPAGE = "http://www.gtk.org/" |
3 | BUGTRACKER = "https://bugzilla.gnome.org/" | 3 | BUGTRACKER = "https://bugzilla.gnome.org/" |
4 | 4 | ||
5 | LICENSE = "LGPLv2" | 5 | LICENSE = "LGPLv2.1" |
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ | 6 | LIC_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 | ||
9 | SECTION = "libs" | 10 | SECTION = "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 | ||
23 | SRC_URI_append_class-target = " \ | 25 | SRC_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 | " |
26 | SRC_URI_append_class-nativesdk = " \ | 28 | SRC_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 | " | ||
30 | SRC_URI_append_class-native = " \ | ||
31 | file://0001-Disable-tests-in-native-builds.patch \ | ||
32 | " | 30 | " |
33 | 31 | ||
34 | SRC_URI[md5sum] = "6e84e5485c17ce7c25df77fe76eb2d6a" | 32 | SRC_URI[md5sum] = "77765f24496dc8c90c6e0cbe10fd8f0e" |
35 | SRC_URI[sha256sum] = "ae62ab87250413156ed72ef756347b10208c00e76b222d82d9ed361ed9dde2f3" | 33 | SRC_URI[sha256sum] = "dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47" |
36 | 34 | ||
37 | inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package | 35 | inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package |
38 | 36 | ||
39 | GTKDOC_ENABLE_FLAG = "-Dwith_docs=true" | 37 | GTKDOC_ENABLE_FLAG = "-Ddocs=true" |
40 | GTKDOC_DISABLE_FLAG = "-Dwith_docs=false" | 38 | GTKDOC_DISABLE_FLAG = "-Ddocs=false" |
41 | 39 | ||
42 | GI_ENABLE_FLAG = "-Dwith_gir=true" | 40 | GI_ENABLE_FLAG = "-Dgir=true" |
43 | GI_DISABLE_FLAG = "-Dwith_gir=false" | 41 | GI_DISABLE_FLAG = "-Dgir=false" |
44 | 42 | ||
45 | EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}" | 43 | EXTRA_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 | |||
50 | EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ | 48 | EXTRA_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 | ||
51 | EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}" | ||
52 | |||
53 | LIBV = "2.10.0" | 53 | LIBV = "2.10.0" |
54 | 54 | ||
55 | GDK_PIXBUF_LOADERS ?= "png jpeg" | 55 | GDK_PIXBUF_LOADERS ?= "png jpeg" |
@@ -63,7 +63,7 @@ PACKAGECONFIG[jpeg] = "-Denable_jpeg=true,-Denable_jpeg=false,jpeg" | |||
63 | PACKAGECONFIG[tiff] = "-Denable_tiff=true,-Denable_tiff=false,tiff" | 63 | PACKAGECONFIG[tiff] = "-Denable_tiff=true,-Denable_tiff=false,tiff" |
64 | PACKAGECONFIG[jpeg2000] = "-Denable_jasper=true,-Denable_jasper=false,jasper" | 64 | PACKAGECONFIG[jpeg2000] = "-Denable_jasper=true,-Denable_jasper=false,jasper" |
65 | 65 | ||
66 | PACKAGECONFIG[x11] = ",,virtual/libx11" | 66 | PACKAGECONFIG[x11] = "-Dx11=true,-Dx11=false,virtual/libx11" |
67 | 67 | ||
68 | PACKAGES =+ "${PN}-xlib" | 68 | PACKAGES =+ "${PN}-xlib" |
69 | 69 | ||
@@ -102,14 +102,10 @@ python populate_packages_prepend () { | |||
102 | } | 102 | } |
103 | 103 | ||
104 | do_install_append() { | 104 | do_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 | ||
115 | do_install_append_class-native() { | 111 | do_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 | } |
131 | BBCLASSEXTEND = "native nativesdk" | 131 | BBCLASSEXTEND = "native nativesdk" |