summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf')
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch42
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch79
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch33
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest3
4 files changed, 157 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch
new file mode 100644
index 0000000000..edbdced43a
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch
@@ -0,0 +1,42 @@
1Upstream-Status: Pending
2
3This patch fixes parallel install issue that lib libpixbufloader-png.la
4depends on libgdk_pixbuf-2.0.la which will be regenerated during insta-
5llation, if libgdk_pixbuf-2.0.la is regenerating and at the same time
6libpixbufloader-png.la links it, the error will happen.
7
8Error message is:
9* usr/bin/ld: cannot find -lgdk_pixbuf-2.0
10* collect2: ld returned 1 exit status
11
12Make an explicit dependency to the libs install targets would fix this
13issue.
14
15Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
16---
17 gdk-pixbuf/Makefile.am | 1 +
18 libdeps.mk | 3 +++
19 2 files changed, 4 insertions(+), 0 deletions(-)
20 create mode 100644 libdeps.mk
21
22diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am
23index 95a93a8..db44cae 100644
24--- a/gdk-pixbuf/Makefile.am
25+++ b/gdk-pixbuf/Makefile.am
26@@ -783,3 +783,4 @@ loaders.cache:
27 endif
28
29 -include $(top_srcdir)/git.mk
30+-include $(top_srcdir)/libdeps.mk
31diff --git a/libdeps.mk b/libdeps.mk
32new file mode 100644
33index 0000000..d7a10a8
34--- /dev/null
35+++ b/libdeps.mk
36@@ -0,0 +1,3 @@
37+# Extending dependencies of install-loaderLTLIBRARIES:
38+# The $(lib-LTLIBRARIES) is needed by relinking $(loader_LTLIBRARIES)
39+install-loaderLTLIBRARIES: install-libLTLIBRARIES
40--
411.7.6.1
42
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
new file mode 100644
index 0000000000..70146c6181
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
@@ -0,0 +1,79 @@
1If an environment variable is specified set the return value from main() to
2non-zero if the loader had errors (missing libraries, generally).
3
4Upstream-Status: Pending
5Signed-off-by: Ross Burton <ross.burton@intel.com>
6
7diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
8index a9ca015..395674a 100644
9--- a/gdk-pixbuf/queryloaders.c
10+++ b/gdk-pixbuf/queryloaders.c
11@@ -146,7 +146,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
12 g_string_append_c (contents, '\n');
13 }
14
15-static void
16+static gboolean
17 query_module (GString *contents, const char *dir, const char *file)
18 {
19 char *path;
20@@ -155,6 +155,7 @@ query_module (GString *contents, const char *dir, const char *file)
21 void (*fill_vtable) (GdkPixbufModule *module);
22 gpointer fill_info_ptr;
23 gpointer fill_vtable_ptr;
24+ gboolean ret = TRUE;
25
26 if (g_path_is_absolute (file))
27 path = g_strdup (file);
28@@ -204,10 +205,13 @@ query_module (GString *contents, const char *dir, const char *file)
29 g_module_error());
30 else
31 g_fprintf (stderr, "Cannot load loader %s\n", path);
32+ ret = FALSE;
33 }
34 if (module)
35 g_module_close (module);
36 g_free (path);
37+
38+ return ret;
39 }
40
41 #ifdef G_OS_WIN32
42@@ -257,6 +261,7 @@ int main (int argc, char **argv)
43 GString *contents;
44 gchar *cache_file = NULL;
45 gint first_file = 1;
46+ gboolean success = TRUE;
47
48 #ifdef G_OS_WIN32
49 gchar *libdir;
50@@ -360,7 +365,8 @@ int main (int argc, char **argv)
51 gint len = strlen (dent);
52 if (len > SOEXT_LEN &&
53 strcmp (dent + len - SOEXT_LEN, SOEXT) == 0) {
54- query_module (contents, path, dent);
55+ if (!query_module (contents, path, dent))
56+ success = FALSE;
57 }
58 }
59 g_dir_close (dir);
60@@ -378,7 +384,8 @@ int main (int argc, char **argv)
61 infilename = g_locale_to_utf8 (infilename,
62 -1, NULL, NULL, NULL);
63 #endif
64- query_module (contents, cwd, infilename);
65+ if (!query_module (contents, cwd, infilename))
66+ success = FALSE;
67 }
68 g_free (cwd);
69 }
70@@ -394,5 +401,8 @@ int main (int argc, char **argv)
71 else
72 g_print ("%s\n", contents->str);
73
74- return 0;
75+ if (g_getenv ("GDK_PIXBUF_FATAL_LOADER"))
76+ return success ? 0 : 1;
77+ else
78+ return 0;
79 }
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch
new file mode 100644
index 0000000000..ecca62a712
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch
@@ -0,0 +1,33 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: gdk-pixbuf-2.22.1/configure.ac
4===================================================================
5--- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-26 09:06:34.000000000 +0800
6+++ gdk-pixbuf-2.22.1/configure.ac 2010-11-26 09:07:33.000000000 +0800
7@@ -287,7 +287,7 @@
8 case $enable_explicit_deps in
9 auto)
10 export SED
11- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
12+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
13 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
14 enable_explicit_deps=yes
15 else
16@@ -484,7 +484,7 @@
17 dnl Now we check to see if our libtool supports shared lib deps
18 dnl (in a rather ugly way even)
19 if $dynworks; then
20- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
21+ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config"
22 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
23 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
24 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
25@@ -957,7 +957,7 @@
26 # We are using gmodule-no-export now, but I'm leaving the stripping
27 # code in place for now, since pango and atk still require gmodule.
28 export SED
29-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
30+export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
31 if test -n "$export_dynamic"; then
32 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
33 fi
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest
new file mode 100644
index 0000000000..8f9072386e
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/run-ptest
@@ -0,0 +1,3 @@
1#! /bin/sh
2
3gnome-desktop-testing-runner gdk-pixbuf