glib-2.0: add 2.21.4, disabled by default
authorKoen Kooi <koen@openembedded.org>
Tue, 21 Jul 2009 09:03:11 +0000 (11:03 +0200)
committerKoen Kooi <koen@openembedded.org>
Tue, 21 Jul 2009 09:03:11 +0000 (11:03 +0200)
conf/checksums.ini
recipes/glib-2.0/glib-2.0-2.21.4/atomic-thumb.patch [new file with mode: 0644]
recipes/glib-2.0/glib-2.0-2.21.4/configure-libtool.patch [new file with mode: 0644]
recipes/glib-2.0/glib-2.0_2.21.4.bb [new file with mode: 0644]

index ca034dc..597c5ec 100644 (file)
@@ -7894,6 +7894,10 @@ sha256=6fb4269a187bee6f7825c358fd6f0e0e99e6ad71f7f995ddcbfe9466ec8f6631
 md5=346916673c0eab72191cf44b4afe535f
 sha256=af709f0eabfbbfa5c59a02764ca1dd5e6509bbe7fb67a474b2c448bda7b06fb9
 
+[http://ftp.gnome.org/pub/GNOME/sources/glib/2.21/glib-2.21.4.tar.bz2]
+md5=5092c5b479ba80065dc164d27e63000f
+sha256=b772e4bdf1b28dd23cdb4c4d7f1d219ddb748226d0207e57c75992bf0100182d
+
 [ftp://ftp.gtk.org/pub/gtk/v2.4/glib-2.4.6.tar.bz2]
 md5=a45db7d82480da431f6cd00ea041a534
 sha256=d2ca79bac06a625d9276b48492c2c1caccf7f8962f9b331b39796391013e72f2
diff --git a/recipes/glib-2.0/glib-2.0-2.21.4/atomic-thumb.patch b/recipes/glib-2.0/glib-2.0-2.21.4/atomic-thumb.patch
new file mode 100644 (file)
index 0000000..d7aa088
--- /dev/null
@@ -0,0 +1,42 @@
+# gatomic.c uses SWP, which doesn't work in Thumb mode.
+# Put that source file into a separate convenience library which is always built as ARM.
+
+Index: glib-2.18.1/glib/Makefile.am
+===================================================================
+--- glib-2.18.1/glib/Makefile.am       2008-09-18 00:33:57.000000000 +0200
++++ glib-2.18.1/glib/Makefile.am       2008-11-08 10:13:27.000000000 +0100
+@@ -80,6 +80,7 @@
+       galiasdef.c
+ lib_LTLIBRARIES = libglib-2.0.la
++noinst_LTLIBRARIES = libgatomic.la
+ if OS_WIN32_AND_DLL_COMPILATION
+ if MS_LIB_AVAILABLE
+@@ -96,10 +97,14 @@
+ uninstall-ms-lib:
+       $(uninstall_ms_lib_cmd)
++libgatomic_la_CFLAGS = $(CFLAGS) -mno-thumb
++
++libgatomic_la_SOURCES =                \
++       gatomic.c
++ 
+ libglib_2_0_la_SOURCES =      \
+       garray.c                \
+       gasyncqueue.c           \
+-      gatomic.c               \
+       gbacktrace.c            \
+       gbase64.c               \
+       gbookmarkfile.c         \
+@@ -286,8 +291,8 @@
+ pcre_inc =
+ endif
+-libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib)
+-libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) $(glib_def)
++libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib) libgatomic.la
++libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) $(glib_def) libgatomic.la
+ libglib_2_0_la_LDFLAGS = \
+        $(glib_win32_res_ldflag) \
diff --git a/recipes/glib-2.0/glib-2.0-2.21.4/configure-libtool.patch b/recipes/glib-2.0/glib-2.0-2.21.4/configure-libtool.patch
new file mode 100644 (file)
index 0000000..3ba79b8
--- /dev/null
@@ -0,0 +1,34 @@
+# Poky renames libtool to $host_alias-libtool.
+# ./$host_alias-libtool isn't created until after configure runs with libtool >= 2.2.2
+# so we can't call # it at this point. We can safely assume a version is available 
+# from PATH though
+
+--- glib-2.12.10/configure.in.orig     2006-06-05 13:34:08.000000000 +0100
++++ glib-2.12.10/configure.in  2006-06-05 13:34:36.000000000 +0100
+@@ -1174,7 +1174,7 @@
+   G_MODULE_LDFLAGS=
+ else
+   export SED
+-  G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++  G_MODULE_LDFLAGS=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ fi
+ dnl G_MODULE_IMPL= don't reset, so cmd-line can override
+ G_MODULE_NEED_USCORE=0
+@@ -1265,7 +1265,7 @@
+       LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
+ dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
+       echo "void glib_plugin_test(void) { }" > plugin.c
+-      ${SHELL} ./libtool --mode=compile ${CC} -shared \
++      ${SHELL} $host_alias-libtool --mode=compile ${CC} -shared \
+               -export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
+       AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
+               glib_cv_rtldglobal_broken,[
+@@ -1339,7 +1339,7 @@
+ AC_MSG_CHECKING(for the suffix of shared libraries)
+ export SED
+-shrext_cmds=`./libtool --config | grep '^shrext_cmds='`
++shrext_cmds=`$host_alias-libtool --config | grep '^shrext_cmds='`
+ eval $shrext_cmds
+ module=yes eval std_shrext=$shrext_cmds
+ # chop the initial dot
diff --git a/recipes/glib-2.0/glib-2.0_2.21.4.bb b/recipes/glib-2.0/glib-2.0_2.21.4.bb
new file mode 100644 (file)
index 0000000..4be0949
--- /dev/null
@@ -0,0 +1,11 @@
+require glib.inc
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_angstrom = "1"
+
+SRC_URI = "\
+  http://ftp.gnome.org/pub/GNOME/sources/glib/2.21/glib-${PV}.tar.bz2 \
+  file://glibconfig-sysdefs.h \
+  file://configure-libtool.patch;patch=1 \
+"
+SRC_URI_append_arm = " file://atomic-thumb.patch;patch=1"