From f62622e527beb3e10f271f88e63642583ce379c2 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Mon, 5 Dec 2011 11:42:34 +0100 Subject: [PATCH] add fix for PPC failure, bugzilla 749604 Conflicts: gobject-introspection.spec --- gobject-introspection-1.30.0-749604.patch | 83 +++++++++++++++++++++++ gobject-introspection.spec | 8 +++ 2 files changed, 91 insertions(+) create mode 100644 gobject-introspection-1.30.0-749604.patch diff --git a/gobject-introspection-1.30.0-749604.patch b/gobject-introspection-1.30.0-749604.patch new file mode 100644 index 0000000..69d61b2 --- /dev/null +++ b/gobject-introspection-1.30.0-749604.patch @@ -0,0 +1,83 @@ +diff -up gobject-introspection-1.30.0/girepository/girffi.c.enum-fixes gobject-introspection-1.30.0/girepository/girffi.c +--- gobject-introspection-1.30.0/girepository/girffi.c.enum-fixes 2011-11-29 12:30:04.759106057 -0600 ++++ gobject-introspection-1.30.0/girepository/girffi.c 2011-11-29 11:06:26.540248521 -0600 +@@ -30,16 +30,10 @@ + #include "girepository.h" + #include "girepository-private.h" + +-/** +- * gi_type_tag_get_ffi_type: +- * @tag: A #GITypeTag +- * @is_pointer: Whether or not this is a pointer type +- * +- * Returns: A #ffi_type corresponding to the platform default C ABI for @tag and @is_pointer. +- */ +-ffi_type * +-gi_type_tag_get_ffi_type (GITypeTag tag, +- gboolean is_pointer) ++static ffi_type * ++gi_type_tag_get_ffi_type_internal (GITypeInfo *info, ++ GITypeTag tag, ++ gboolean is_pointer) + { + switch (tag) + { +@@ -77,12 +71,27 @@ gi_type_tag_get_ffi_type (GITypeTag ta + case GI_TYPE_TAG_UTF8: + case GI_TYPE_TAG_FILENAME: + case GI_TYPE_TAG_ARRAY: +- case GI_TYPE_TAG_INTERFACE: + case GI_TYPE_TAG_GLIST: + case GI_TYPE_TAG_GSLIST: + case GI_TYPE_TAG_GHASH: + case GI_TYPE_TAG_ERROR: + return &ffi_type_pointer; ++ case GI_TYPE_TAG_INTERFACE: ++ { ++ /* This is for compat, but is broken! */ ++ if (info == NULL) ++ return &ffi_type_pointer; ++ ++ GIBaseInfo *interface = g_type_info_get_interface (info); ++ switch (g_base_info_get_type (interface)) ++ { ++ case GI_INFO_TYPE_ENUM: ++ case GI_INFO_TYPE_FLAGS: ++ return &ffi_type_sint32; ++ default: ++ return &ffi_type_pointer; ++ } ++ } + case GI_TYPE_TAG_VOID: + if (is_pointer) + return &ffi_type_pointer; +@@ -96,6 +105,20 @@ gi_type_tag_get_ffi_type (GITypeTag ta + } + + /** ++ * gi_type_tag_get_ffi_type: ++ * @tag: A #GITypeTag ++ * @is_pointer: Whether or not this is a pointer type ++ * ++ * Returns: A #ffi_type corresponding to the platform default C ABI for @tag and @is_pointer. ++ */ ++ffi_type * ++gi_type_tag_get_ffi_type (GITypeTag tag, ++ gboolean is_pointer) ++{ ++ return gi_type_tag_get_ffi_type_internal (NULL, tag, is_pointer); ++} ++ ++/** + * g_type_info_get_ffi_type: + * @info: A #GITypeInfo + * +@@ -104,7 +127,7 @@ gi_type_tag_get_ffi_type (GITypeTag ta + ffi_type * + g_type_info_get_ffi_type (GITypeInfo *info) + { +- return gi_type_tag_get_ffi_type (g_type_info_get_tag (info), g_type_info_is_pointer (info)); ++ return gi_type_tag_get_ffi_type_internal (info, g_type_info_get_tag (info), g_type_info_is_pointer (info)); + } + + /** diff --git a/gobject-introspection.spec b/gobject-introspection.spec index 1268a0d..b04e7a0 100644 --- a/gobject-introspection.spec +++ b/gobject-introspection.spec @@ -11,6 +11,7 @@ License: GPLv2+, LGPLv2+, MIT URL: http://live.gnome.org/GObjectIntrospection #VCS: git:git://git.gnome.org/gobject-introspection Source0: http://download.gnome.org/sources/gobject-introspection/1.31/%{name}-%{version}.tar.xz +Patch0: gobject-introspection-1.30.0-749604.patch Obsoletes: gir-repository @@ -54,6 +55,7 @@ Libraries and headers for gobject-introspection %prep %setup -q +%patch0 -p1 -b .538194 %build (if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi; @@ -94,6 +96,9 @@ find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';' %{_datadir}/gtk-doc/html/gi/* %changelog +* Mon Dec 05 2011 Karsten Hopp 1.31.0-2 +- add fix for PPC failure, bugzilla 749604 + * Wed Nov 16 2011 Colin Walters - 1.31.0-2 - -devel package requires libtool https://bugzilla.redhat.com/show_bug.cgi?id=613466 @@ -101,6 +106,9 @@ find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';' * Wed Nov 2 2011 Matthias Clasen - 1.31.0-1 - Update to 1.31.0 +* Mon Sep 26 2011 Ray - 1.30.0-1 +- Update to 1.30.0 + * Tue Sep 20 2011 Matthias Clasen - 1.30.0-1 - Update to 1.30.0