[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