1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-01 00:59:48 +00:00

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>
This commit is contained in:
Alexander Kanavin
2019-02-22 15:16:49 +01:00
committed by Richard Purdie
parent 9de595659e
commit ce0d8dbbf0
7 changed files with 197 additions and 219 deletions
@@ -1,31 +0,0 @@
From b287cb313dbfac3257f1ab451b19ba59580f78e1 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 18 Feb 2019 16:00:12 +0100
Subject: [PATCH] Disable tests in native builds.
They have found to be problematic at least on Centos 7:
https://autobuilder.yoctoproject.org/typhoon/#/builders/50/builds/296/steps/7/logs/step1b
With autotools this was not a problem because it had a configuration
switch for disabling test, which was used. Meson has no such facility :(
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 92c4049..0871c84 100644
--- a/meson.build
+++ b/meson.build
@@ -397,7 +397,7 @@ endif
# i18n
subdir('po')
-subdir('tests')
+#subdir('tests')
subdir('thumbnailer')
# Documentation
@@ -1,23 +1,23 @@
From 48cbdd56036728ffea431ad63cf5e2ad05cef69c Mon Sep 17 00:00:00 2001 From bf71999b6e64d1f1919b0351b27c1c417e2b8856 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com> From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 14 Feb 2019 18:06:25 +0100 Date: Thu, 14 Feb 2019 18:06:25 +0100
Subject: [PATCH] Fix a couple of decisions around cross-compilation Subject: [PATCH] Generate loaders.cache using a native tool when
cross-compiling
1. gobject-introspection can be build when cross compiling Otherwise meson would attempt to run a target binary.
2. generating loaders.cache requires running a target binary which
we do elsewhere (in postinsts)
Upstream-Status: Pending Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
--- ---
gdk-pixbuf/meson.build | 4 +++- gdk-pixbuf/meson.build | 13 +++++++++++++
1 file changed, 3 insertions(+), 1 deletion(-) 1 file changed, 13 insertions(+)
diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
index 77c162b..fc3eb33 100644 index 1995ffd..d692cb7 100644
--- a/gdk-pixbuf/meson.build --- a/gdk-pixbuf/meson.build
+++ b/gdk-pixbuf/meson.build +++ b/gdk-pixbuf/meson.build
@@ -230,6 +230,7 @@ foreach bin: gdkpixbuf_bin @@ -291,6 +291,7 @@ foreach bin: gdkpixbuf_bin
set_variable(bin_name.underscorify(), bin) set_variable(bin_name.underscorify(), bin)
endforeach endforeach
@@ -25,14 +25,22 @@ index 77c162b..fc3eb33 100644
# The 'loaders.cache' used for testing, so we don't accidentally # The 'loaders.cache' used for testing, so we don't accidentally
# load the installed cache; we always build it by default # load the installed cache; we always build it by default
loaders_cache = custom_target('loaders.cache', loaders_cache = custom_target('loaders.cache',
@@ -241,8 +242,9 @@ loaders_cache = custom_target('loaders.cache', @@ -302,6 +303,18 @@ loaders_cache = custom_target('loaders.cache',
], ],
build_by_default: true) build_by_default: true)
loaders_dep = declare_dependency(sources: [ loaders_cache ]) loaders_dep = declare_dependency(sources: [ loaders_cache ])
+else
+loaders_cache = custom_target('loaders.cache',
+ output: 'loaders.cache',
+ capture: true,
+ depends: [ dynamic_loaders_dep ],
+ command: [
+ 'gdk-pixbuf-query-loaders',
+ dynamic_loaders,
+ ],
+ build_by_default: true)
+loaders_dep = declare_dependency(sources: [ loaders_cache ])
+endif +endif
-build_gir = get_option('with_gir') and not meson.is_cross_build() pkgconfig = import('pkgconfig')
+build_gir = get_option('with_gir') pkgconfig.generate(
if build_gir
gir_args = [
'--quiet',
@@ -1,131 +0,0 @@
From a184e6bfdd7761ad9807f3de9e873d49aff79e6d Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 14 Feb 2019 17:56:34 +0100
Subject: [PATCH] (target only) Work-around thumbnailer cross-compile failure
Use native gdk-pixbuf-print-mime-types when generating the thumbnail
metadata. 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 | 49 +-----------------------------------
thumbnailer/meson.build | 5 +---
3 files changed, 2 insertions(+), 54 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 77a427a..467f5b2 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -1,38 +1,6 @@
# 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
-resources_c = custom_target('resources.c',
- input: 'resources.gresource.xml',
- output: 'resources.c',
- command: [
- gen_resources,
- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
- '--loaders=@0@'.format(loaders_cache.full_path()),
- '--sourcedir=@0@'.format(meson.current_source_dir()),
- '--source',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: [
- gdk_pixbuf_pixdata,
- loaders_cache,
- ])
-resources_h = custom_target('resources.h',
- input: 'resources.gresource.xml',
- output: 'resources.h',
- command: [
- gen_resources,
- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
- '--loaders=@0@'.format(loaders_cache.full_path()),
- '--sourcedir=@0@'.format(meson.current_source_dir()),
- '--header',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: [
- gdk_pixbuf_pixdata,
- loaders_cache,
- ])
installed_tests = [
[ 'animation' ],
@@ -94,7 +62,7 @@ foreach t: installed_tests
test_sources = [ test_name + '.c', 'test-common.c' ]
needs_resources = t.get(1, false)
if needs_resources
- test_sources += [ resources_c, resources_h ]
+ test_sources += [ 'resources.c', 'resources.h' ]
endif
custom_target(test_name + '.test',
@@ -116,21 +84,6 @@ foreach t: installed_tests
],
c_args: common_cflags)
- # Two particularly slow tests
- if test_name == 'pixbuf-area-updated' or test_name == 'pixbuf-randomly-modified'
- timeout = 300
- else
- timeout = 30
- endif
-
- test(test_name, test_bin,
- args: [ '-k', '--tap' ],
- env: [
- 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
- 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
- 'GDK_PIXBUF_MODULE_FILE=@0@'.format(loaders_cache.full_path()),
- ],
- timeout: timeout)
endforeach
executable('pixbuf-read',
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'))
@@ -0,0 +1,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
@@ -0,0 +1,39 @@
From 3c4a6c147ae8a0962ba9194373d8a41d14eed44f Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 22 Feb 2019 13:23:55 +0100
Subject: [PATCH] Do not run tests when building
Upstream-Status: Inappropriate [cross-compile specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
tests/meson.build | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/tests/meson.build b/tests/meson.build
index 4fa3fbc..6ef7884 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -138,23 +138,6 @@ foreach t: installed_tests
install_dir: installed_test_bindir,
)
- # Two particularly slow tests
- if test_suites.contains('slow')
- timeout = 300
- else
- timeout = 30
- endif
-
- test(test_name, test_bin,
- suite: test_suites,
- args: [ '-k', '--tap' ],
- env: [
- 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
- 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
- 'GDK_PIXBUF_MODULE_FILE=@0@'.format(loaders_cache.full_path()),
- ],
- timeout: timeout,
- )
endforeach
executable('pixbuf-read',
@@ -1,7 +1,7 @@
From b6a7b30522455cab39a0b9ea8463313380146e70 Mon Sep 17 00:00:00 2001 From f00603d58d844422363b896ea7d07aaf48ddaa66 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com> From: Ross Burton <ross.burton@intel.com>
Date: Tue, 1 Apr 2014 17:23:36 +0100 Date: Tue, 1 Apr 2014 17:23:36 +0100
Subject: [PATCH 3/4] gdk-pixbuf: add an option so that loader errors are fatal Subject: [PATCH] gdk-pixbuf: add an option so that loader errors are fatal
If an environment variable is specified set the return value from main() to If an environment variable is specified set the return value from main() to
non-zero if the loader had errors (missing libraries, generally). non-zero if the loader had errors (missing libraries, generally).
@@ -14,10 +14,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
1 file changed, 15 insertions(+), 4 deletions(-) 1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
index a81c804..350bec8 100644 index 312aa78..b813d99 100644
--- a/gdk-pixbuf/queryloaders.c --- a/gdk-pixbuf/queryloaders.c
+++ b/gdk-pixbuf/queryloaders.c +++ b/gdk-pixbuf/queryloaders.c
@@ -146,7 +146,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info) @@ -212,7 +212,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
g_string_append_c (contents, '\n'); g_string_append_c (contents, '\n');
} }
@@ -26,7 +26,7 @@ index a81c804..350bec8 100644
query_module (GString *contents, const char *dir, const char *file) query_module (GString *contents, const char *dir, const char *file)
{ {
char *path; char *path;
@@ -155,6 +155,7 @@ query_module (GString *contents, const char *dir, const char *file) @@ -221,6 +221,7 @@ query_module (GString *contents, const char *dir, const char *file)
void (*fill_vtable) (GdkPixbufModule *module); void (*fill_vtable) (GdkPixbufModule *module);
gpointer fill_info_ptr; gpointer fill_info_ptr;
gpointer fill_vtable_ptr; gpointer fill_vtable_ptr;
@@ -34,7 +34,7 @@ index a81c804..350bec8 100644
if (g_path_is_absolute (file)) if (g_path_is_absolute (file))
path = g_strdup (file); path = g_strdup (file);
@@ -204,10 +205,13 @@ query_module (GString *contents, const char *dir, const char *file) @@ -270,10 +271,13 @@ query_module (GString *contents, const char *dir, const char *file)
g_module_error()); g_module_error());
else else
g_fprintf (stderr, "Cannot load loader %s\n", path); g_fprintf (stderr, "Cannot load loader %s\n", path);
@@ -48,26 +48,26 @@ index a81c804..350bec8 100644
} }
#ifdef G_OS_WIN32 #ifdef G_OS_WIN32
@@ -257,6 +261,7 @@ int main (int argc, char **argv) @@ -314,6 +318,7 @@ int main (int argc, char **argv)
GString *contents;
gchar *cache_file = NULL;
gint first_file = 1; gint first_file = 1;
GFile *pixbuf_libdir_file;
gchar *pixbuf_libdir;
+ gboolean success = TRUE; + gboolean success = TRUE;
#ifdef G_OS_WIN32 #ifdef G_OS_WIN32
gchar *libdir; gchar *libdir;
@@ -370,7 +375,9 @@ int main (int argc, char **argv) @@ -452,7 +457,9 @@ int main (int argc, char **argv)
} }
modules = g_list_sort (modules, (GCompareFunc)strcmp); modules = g_list_sort (modules, (GCompareFunc)strcmp);
for (l = modules; l != NULL; l = l->next) for (l = modules; l != NULL; l = l->next)
- query_module (contents, path, l->data); - query_module (contents, moduledir, l->data);
+ if (!query_module (contents, path, l->data)) + if (!query_module (contents, moduledir, l->data))
+ success = FALSE; + success = FALSE;
+ +
g_list_free_full (modules, g_free); g_list_free_full (modules, g_free);
g_free (moduledir);
#else #else
g_string_append_printf (contents, "# dynamic loading of modules not supported\n"); @@ -468,7 +475,8 @@ int main (int argc, char **argv)
@@ -385,7 +392,8 @@ int main (int argc, char **argv)
infilename = g_locale_to_utf8 (infilename, infilename = g_locale_to_utf8 (infilename,
-1, NULL, NULL, NULL); -1, NULL, NULL, NULL);
#endif #endif
@@ -77,9 +77,9 @@ index a81c804..350bec8 100644
} }
g_free (cwd); g_free (cwd);
} }
@@ -401,5 +409,8 @@ int main (int argc, char **argv) @@ -486,5 +494,8 @@ int main (int argc, char **argv)
else
g_print ("%s\n", contents->str); g_free (pixbuf_libdir);
- return 0; - return 0;
+ if (g_getenv ("GDK_PIXBUF_FATAL_LOADER")) + if (g_getenv ("GDK_PIXBUF_FATAL_LOADER"))
@@ -87,6 +87,3 @@ index a81c804..350bec8 100644
+ else + else
+ return 0; + return 0;
} }
--
2.14.1
@@ -2,9 +2,10 @@ SUMMARY = "Image loading library for GTK+"
HOMEPAGE = "http://www.gtk.org/" HOMEPAGE = "http://www.gtk.org/"
BUGTRACKER = "https://bugzilla.gnome.org/" BUGTRACKER = "https://bugzilla.gnome.org/"
LICENSE = "LGPLv2" LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b" file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b \
"
SECTION = "libs" SECTION = "libs"
@@ -18,29 +19,26 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
file://0001-Work-around-thumbnailer-cross-compile-failure.patch \ file://0001-Work-around-thumbnailer-cross-compile-failure.patch \
file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \ file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \
file://0001-loaders.cache-depend-on-loaders-being-fully-build.patch \ file://0001-loaders.cache-depend-on-loaders-being-fully-build.patch \
file://0004-Do-not-run-tests-when-building.patch \
" "
SRC_URI_append_class-target = " \ SRC_URI_append_class-target = " \
file://0002-Work-around-thumbnailer-cross-compile-failure.patch \ file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \
" "
SRC_URI_append_class-nativesdk = " \ SRC_URI_append_class-nativesdk = " \
file://0002-Work-around-thumbnailer-cross-compile-failure.patch \ file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \
file://0001-Disable-tests-in-native-builds.patch \
"
SRC_URI_append_class-native = " \
file://0001-Disable-tests-in-native-builds.patch \
" "
SRC_URI[md5sum] = "6e84e5485c17ce7c25df77fe76eb2d6a" SRC_URI[md5sum] = "77765f24496dc8c90c6e0cbe10fd8f0e"
SRC_URI[sha256sum] = "ae62ab87250413156ed72ef756347b10208c00e76b222d82d9ed361ed9dde2f3" SRC_URI[sha256sum] = "dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47"
inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package
GTKDOC_ENABLE_FLAG = "-Dwith_docs=true" GTKDOC_ENABLE_FLAG = "-Ddocs=true"
GTKDOC_DISABLE_FLAG = "-Dwith_docs=false" GTKDOC_DISABLE_FLAG = "-Ddocs=false"
GI_ENABLE_FLAG = "-Dwith_gir=true" GI_ENABLE_FLAG = "-Dgir=true"
GI_DISABLE_FLAG = "-Dwith_gir=false" GI_DISABLE_FLAG = "-Dgir=false"
EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}" EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
@@ -50,6 +48,8 @@ EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'T
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
'${GTKDOC_DISABLE_FLAG}', d)} " '${GTKDOC_DISABLE_FLAG}', d)} "
EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}"
LIBV = "2.10.0" LIBV = "2.10.0"
GDK_PIXBUF_LOADERS ?= "png jpeg" GDK_PIXBUF_LOADERS ?= "png jpeg"
@@ -63,7 +63,7 @@ PACKAGECONFIG[jpeg] = "-Denable_jpeg=true,-Denable_jpeg=false,jpeg"
PACKAGECONFIG[tiff] = "-Denable_tiff=true,-Denable_tiff=false,tiff" PACKAGECONFIG[tiff] = "-Denable_tiff=true,-Denable_tiff=false,tiff"
PACKAGECONFIG[jpeg2000] = "-Denable_jasper=true,-Denable_jasper=false,jasper" PACKAGECONFIG[jpeg2000] = "-Denable_jasper=true,-Denable_jasper=false,jasper"
PACKAGECONFIG[x11] = ",,virtual/libx11" PACKAGECONFIG[x11] = "-Dx11=true,-Dx11=false,virtual/libx11"
PACKAGES =+ "${PN}-xlib" PACKAGES =+ "${PN}-xlib"
@@ -102,14 +102,10 @@ python populate_packages_prepend () {
} }
do_install_append() { do_install_append() {
# Move gdk-pixbuf-query-loaders into libdir so it is always available # Copy gdk-pixbuf-query-loaders into libdir so it is always available
# in multilib builds. # in multilib builds.
mv ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/ cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
# Do not install ptests if ptest is not enabled; gdk-pixbuf has no configuration option for this
if [ "${PTEST_ENABLED}" != "1" ]; then
rm -rf ${D}${datadir}/installed-tests
fi
} }
do_install_append_class-native() { do_install_append_class-native() {
@@ -127,5 +123,9 @@ do_install_append_class-native() {
create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \ create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \
GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
} }
BBCLASSEXTEND = "native nativesdk" BBCLASSEXTEND = "native nativesdk"