[arch-commits] CVS update of arch/build/lib/glib2 (5 files)
Jan de Groot
jgc at archlinux.org
Sun Aug 19 10:23:12 UTC 2007
Date: Sunday, August 19, 2007 @ 06:23:12
Author: jgc
Path: /home/cvs-arch/arch/build/lib/glib2
Added: glib-gmarkup.patch (1.1) glib-gthread.patch (1.1)
gobject-gsignal.patch (1.1)
Modified: PKGBUILD (1.55 -> 1.56)
Removed: gtype-revert-lock.patch (1.1)
upgpkg: glib2 2.14.0-3
Remove patch to revert problems with GTK, these are application bugs.
Add 3 patches from SVN trunk targeted for 2.14.1
-------------------------+
PKGBUILD | 16 +++++++++----
glib-gmarkup.patch | 56 ++++++++++++++++++++++++++++++++++++++++++++++
glib-gthread.patch | 55 +++++++++++++++++++++++++++++++++++++++++++++
gobject-gsignal.patch | 15 ++++++++++++
gtype-revert-lock.patch | 33 ---------------------------
5 files changed, 137 insertions(+), 38 deletions(-)
Index: arch/build/lib/glib2/PKGBUILD
diff -u arch/build/lib/glib2/PKGBUILD:1.55 arch/build/lib/glib2/PKGBUILD:1.56
--- arch/build/lib/glib2/PKGBUILD:1.55 Sun Aug 5 17:50:19 2007
+++ arch/build/lib/glib2/PKGBUILD Sun Aug 19 06:23:12 2007
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD,v 1.55 2007/08/05 21:50:19 jgc Exp $
+# $Id: PKGBUILD,v 1.56 2007/08/19 10:23:12 jgc Exp $
# Maintainer: Jan de Groot <jgc at archlinux.org>
pkgname=glib2
pkgver=2.14.0
-pkgrel=2
+pkgrel=3
pkgdesc="Common C routines used by GTK+ 2.4 and other libs"
url="http://www.gtk.org/"
arch=(i686 x86_64)
@@ -12,17 +12,23 @@
makedepends=('pkgconfig')
options=('!libtool')
source=(ftp://ftp.gnome.org/pub/GNOME/sources/glib/2.14/glib-${pkgver}.tar.bz2
- gtype-revert-lock.patch
+ glib-gmarkup.patch
+ glib-gthread.patch
+ gobject-gsignal.patch
glib2.sh
glib2.csh)
md5sums=('6fabf21f68631043bc6924e01398e3af'
- 'c3709b4bde02527e0e37e8b81787a22b'
+ '4f6e83674d2afeabb5132e40ceee74a2'
+ 'a814c19a7d4cd1be58667d1452c32fc2'
+ 'd8667f5f92f6d1976ead1e16efb573ec'
'803017b365bd35dc20b092ce43b8c8c5'
'90c7b830bef4baf225c2eb8b7ead0cab')
build() {
cd ${startdir}/src/glib-${pkgver}
- patch -Np1 -R -i ${startdir}/src/gtype-revert-lock.patch || return 1
+ patch -Np1 -i ${startdir}/src/glib-gmarkup.patch || return 1
+ patch -Np1 -i ${startdir}/src/glib-gthread.patch || return 1
+ patch -Np1 -i ${startdir}/src/gobject-gsignal.patch || return 1
./configure --prefix=/usr --enable-static --enable-shared --with-pcre=system
make || return 1
make DESTDIR=${startdir}/pkg install
Index: arch/build/lib/glib2/glib-gmarkup.patch
diff -u /dev/null arch/build/lib/glib2/glib-gmarkup.patch:1.1
--- /dev/null Sun Aug 19 06:23:12 2007
+++ arch/build/lib/glib2/glib-gmarkup.patch Sun Aug 19 06:23:12 2007
@@ -0,0 +1,56 @@
+--- trunk/glib/gmarkup.c 2007/07/08 00:18:38 5604
++++ trunk/glib/gmarkup.c 2007/08/09 02:06:04 5684
+@@ -955,7 +955,7 @@
+ set_error (context,
+ error,
+ G_MARKUP_ERROR_BAD_UTF8,
+- _("Invalid UTF-8 encoded text"));
++ _("Invalid UTF-8 encoded text - overlong sequence"));
+ }
+
+ goto finished;
+@@ -983,7 +983,7 @@
+ set_error (context,
+ error,
+ G_MARKUP_ERROR_BAD_UTF8,
+- _("Invalid UTF-8 encoded text"));
++ _("Invalid UTF-8 encoded text - not a start char"));
+ goto finished;
+ }
+
+@@ -1019,7 +1019,9 @@
+ set_error (context,
+ error,
+ G_MARKUP_ERROR_BAD_UTF8,
+- _("Invalid UTF-8 encoded text"));
++ _("Invalid UTF-8 encoded text - not valid '%s'"),
++ g_strndup (context->current_text,
++ context->current_text_len));
+ goto finished;
+ }
+
+@@ -1900,6 +1902,7 @@
+ {
+ const gchar *p;
+ const gchar *end;
++ gunichar c;
+
+ p = text;
+ end = text + length;
+@@ -1932,7 +1935,15 @@
+ break;
+
+ default:
+- g_string_append_len (str, p, next - p);
++ c = g_utf8_get_char (p);
++ if ((0x1 <= c && c <= 0x8) ||
++ (0xb <= c && c <= 0xc) ||
++ (0xe <= c && c <= 0x1f) ||
++ (0x7f <= c && c <= 0x84) ||
++ (0x86 <= c && c <= 0x9f))
++ g_string_append_printf (str, "&#x%x;", c);
++ else
++ g_string_append_len (str, p, next - p);
+ break;
+ }
+
Index: arch/build/lib/glib2/glib-gthread.patch
diff -u /dev/null arch/build/lib/glib2/glib-gthread.patch:1.1
--- /dev/null Sun Aug 19 06:23:12 2007
+++ arch/build/lib/glib2/glib-gthread.patch Sun Aug 19 06:23:12 2007
@@ -0,0 +1,55 @@
+--- trunk/glib/gthread.c 2007/07/12 23:03:06 5638
++++ trunk/glib/gthread.c 2007/08/14 00:05:52 5701
+@@ -202,18 +202,19 @@
+ gboolean
+ g_once_init_enter_impl (volatile gsize *value_location)
+ {
+- gboolean need_init;
++ gboolean need_init = FALSE;
+ g_mutex_lock (g_once_mutex);
+- if (!g_once_init_list || !g_slist_find (g_once_init_list, (void*) value_location))
++ if (g_atomic_pointer_get ((void**) value_location) == 0)
+ {
+- g_once_init_list = g_slist_prepend (g_once_init_list, (void*) value_location);
+- need_init = TRUE;
+- }
+- else
+- {
+- while (g_slist_find (g_once_init_list, (void*) value_location))
+- g_cond_wait (g_once_cond, g_once_mutex);
+- need_init = FALSE;
++ if (!g_slist_find (g_once_init_list, (void*) value_location))
++ {
++ need_init = TRUE;
++ g_once_init_list = g_slist_prepend (g_once_init_list, (void*) value_location);
++ }
++ else
++ do
++ g_cond_wait (g_once_cond, g_once_mutex);
++ while (g_slist_find (g_once_init_list, (void*) value_location));
+ }
+ g_mutex_unlock (g_once_mutex);
+ return need_init;
+@@ -579,7 +580,7 @@
+
+ /* Just to make sure, this isn't used any more */
+ g_system_thread_assign (thread->system_thread, zero_thread);
+- g_free (thread);
++ g_free (thread);
+ }
+ }
+ }
+@@ -662,8 +663,11 @@
+ G_THREAD_UF (thread_create, (g_thread_create_proxy, result,
+ stack_size, joinable, bound, priority,
+ &result->system_thread, &local_error));
+- result->next = g_thread_all_threads;
+- g_thread_all_threads = result;
++ if (!local_error)
++ {
++ result->next = g_thread_all_threads;
++ g_thread_all_threads = result;
++ }
+ G_UNLOCK (g_thread);
+
+ if (local_error)
Index: arch/build/lib/glib2/gobject-gsignal.patch
diff -u /dev/null arch/build/lib/glib2/gobject-gsignal.patch:1.1
--- /dev/null Sun Aug 19 06:23:12 2007
+++ arch/build/lib/glib2/gobject-gsignal.patch Sun Aug 19 06:23:12 2007
@@ -0,0 +1,15 @@
+--- trunk/gobject/gsignal.c 2006/09/30 13:59:01 5035
++++ trunk/gobject/gsignal.c 2007/08/14 22:55:23 5704
+@@ -1058,10 +1058,10 @@
+ if (!g_type_name (itype))
+ g_warning (G_STRLOC ": unable to list signals for invalid type id `%lu'",
+ itype);
+- else if (!G_TYPE_IS_INSTANTIATABLE (itype))
++ else if (!G_TYPE_IS_INSTANTIATABLE (itype) && !G_TYPE_IS_INTERFACE (itype))
+ g_warning (G_STRLOC ": unable to list signals of non instantiatable type `%s'",
+ g_type_name (itype));
+- else if (!g_type_class_peek (itype))
++ else if (!g_type_class_peek (itype) && !G_TYPE_IS_INTERFACE (itype))
+ g_warning (G_STRLOC ": unable to list signals of unloaded type `%s'",
+ g_type_name (itype));
+ }
Index: arch/build/lib/glib2/gtype-revert-lock.patch
diff -u arch/build/lib/glib2/gtype-revert-lock.patch:1.1 arch/build/lib/glib2/gtype-revert-lock.patch:removed
--- arch/build/lib/glib2/gtype-revert-lock.patch:1.1 Sun Aug 5 17:50:19 2007
+++ arch/build/lib/glib2/gtype-revert-lock.patch Sun Aug 19 06:23:12 2007
@@ -1,33 +0,0 @@
---- trunk/gobject/gtype.h 2007/06/22 09:34:33 5582
-+++ trunk/gobject/gtype.h 2007/07/10 10:33:03 5618
-@@ -368,23 +368,24 @@
- GType \
- type_name##_get_type (void) \
- { \
-- static GType g_define_type_id = 0; \
-- if (G_UNLIKELY (g_define_type_id == 0)) \
-+ static volatile gsize g_define_type_id__volatile = 0; \
-+ if (g_once_init_enter (&g_define_type_id__volatile)) \
- { \
-- g_define_type_id = \
-+ GType g_define_type_id = \
- g_type_register_static_simple (TYPE_PARENT, \
- g_intern_static_string (#TypeName), \
- sizeof (TypeName##Class), \
-- (GClassInitFunc)type_name##_class_intern_init, \
-+ (GClassInitFunc) type_name##_class_intern_init, \
- sizeof (TypeName), \
-- (GInstanceInitFunc)type_name##_init, \
-+ (GInstanceInitFunc) type_name##_init, \
- (GTypeFlags) flags); \
- { /* custom code follows */
- #define _G_DEFINE_TYPE_EXTENDED_END() \
- /* following custom code */ \
- } \
-+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
- } \
-- return g_define_type_id; \
-+ return g_define_type_id__volatile; \
- } /* closes type_name##_get_type() */
-
-
More information about the arch-commits
mailing list