add fix for PPC failure, bugzilla 749604
Conflicts: gobject-introspection.spec
This commit is contained in:
parent
44b4a0a07e
commit
f62622e527
83
gobject-introspection-1.30.0-749604.patch
Normal file
83
gobject-introspection-1.30.0-749604.patch
Normal file
@ -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));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
@ -11,6 +11,7 @@ License: GPLv2+, LGPLv2+, MIT
|
|||||||
URL: http://live.gnome.org/GObjectIntrospection
|
URL: http://live.gnome.org/GObjectIntrospection
|
||||||
#VCS: git:git://git.gnome.org/gobject-introspection
|
#VCS: git:git://git.gnome.org/gobject-introspection
|
||||||
Source0: http://download.gnome.org/sources/gobject-introspection/1.31/%{name}-%{version}.tar.xz
|
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
|
Obsoletes: gir-repository
|
||||||
|
|
||||||
@ -54,6 +55,7 @@ Libraries and headers for gobject-introspection
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1 -b .538194
|
||||||
|
|
||||||
%build
|
%build
|
||||||
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
|
(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/*
|
%{_datadir}/gtk-doc/html/gi/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Dec 05 2011 Karsten Hopp <karsten@redhat.com> 1.31.0-2
|
||||||
|
- add fix for PPC failure, bugzilla 749604
|
||||||
|
|
||||||
* Wed Nov 16 2011 Colin Walters <walters@verbum.org> - 1.31.0-2
|
* Wed Nov 16 2011 Colin Walters <walters@verbum.org> - 1.31.0-2
|
||||||
- -devel package requires libtool
|
- -devel package requires libtool
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=613466
|
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 <mclasen@redhat.com> - 1.31.0-1
|
* Wed Nov 2 2011 Matthias Clasen <mclasen@redhat.com> - 1.31.0-1
|
||||||
- Update to 1.31.0
|
- Update to 1.31.0
|
||||||
|
|
||||||
|
* Mon Sep 26 2011 Ray <rstrode@redhat.com> - 1.30.0-1
|
||||||
|
- Update to 1.30.0
|
||||||
|
|
||||||
* Tue Sep 20 2011 Matthias Clasen <mclasen@redhat.com> - 1.30.0-1
|
* Tue Sep 20 2011 Matthias Clasen <mclasen@redhat.com> - 1.30.0-1
|
||||||
- Update to 1.30.0
|
- Update to 1.30.0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user