From 846c93130d311936245486a5cb58d1d308beb0e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Fri, 14 Sep 2018 07:48:45 -0400 Subject: [PATCH] - Include temporary big endian fix (#1623547) --- ...osure-typecasts-from-commit-25a5b066.patch | 95 +++++++++++++++++++ pygobject3.spec | 10 +- 2 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 0001-revert-closure-typecasts-from-commit-25a5b066.patch diff --git a/0001-revert-closure-typecasts-from-commit-25a5b066.patch b/0001-revert-closure-typecasts-from-commit-25a5b066.patch new file mode 100644 index 0000000..119dec4 --- /dev/null +++ b/0001-revert-closure-typecasts-from-commit-25a5b066.patch @@ -0,0 +1,95 @@ +From a48d61dfa00ba118979b27ca688e7bb195e9574f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20Hor=C3=A1k?= +Date: Fri, 14 Sep 2018 07:16:39 -0400 +Subject: [PATCH] revert closure typecasts from commit 25a5b066 + +--- + gi/pygi-closure.c | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +diff --git a/gi/pygi-closure.c b/gi/pygi-closure.c +index 0eef41e7..c01283a4 100644 +--- a/gi/pygi-closure.c ++++ b/gi/pygi-closure.c +@@ -52,31 +52,31 @@ _pygi_closure_assign_pyobj_to_retval (gpointer retval, + + switch (arg_cache->type_tag) { + case GI_TYPE_TAG_BOOLEAN: +- *((gboolean *) retval) = arg->v_boolean; ++ *((ffi_sarg *) retval) = arg->v_boolean; + break; + case GI_TYPE_TAG_INT8: +- *((gint8 *) retval) = arg->v_int8; ++ *((ffi_sarg *) retval) = arg->v_int8; + break; + case GI_TYPE_TAG_UINT8: +- *((guint8 *) retval) = arg->v_uint8; ++ *((ffi_arg *) retval) = arg->v_uint8; + break; + case GI_TYPE_TAG_INT16: +- *((gint16 *) retval) = arg->v_int16; ++ *((ffi_sarg *) retval) = arg->v_int16; + break; + case GI_TYPE_TAG_UINT16: +- *((guint16 *) retval) = arg->v_uint16; ++ *((ffi_arg *) retval) = arg->v_uint16; + break; + case GI_TYPE_TAG_INT32: +- *((gint32 *) retval) = arg->v_int32; ++ *((ffi_sarg *) retval) = arg->v_int32; + break; + case GI_TYPE_TAG_UINT32: +- *((guint32 *) retval) = arg->v_uint32; ++ *((ffi_arg *) retval) = arg->v_uint32; + break; + case GI_TYPE_TAG_INT64: +- *((gint64 *) retval) = arg->v_int64; ++ *((ffi_sarg *) retval) = arg->v_int64; + break; + case GI_TYPE_TAG_UINT64: +- *((guint64 *) retval) = arg->v_uint64; ++ *((ffi_arg *) retval) = arg->v_uint64; + break; + case GI_TYPE_TAG_FLOAT: + *((gfloat *) retval) = arg->v_float; +@@ -85,10 +85,10 @@ _pygi_closure_assign_pyobj_to_retval (gpointer retval, + *((gdouble *) retval) = arg->v_double; + break; + case GI_TYPE_TAG_GTYPE: +- *((gsize *) retval) = arg->v_size; ++ *((ffi_arg *) retval) = arg->v_size; + break; + case GI_TYPE_TAG_UNICHAR: +- *((guint32 *) retval) = arg->v_uint32; ++ *((ffi_arg *) retval) = arg->v_uint32; + break; + case GI_TYPE_TAG_INTERFACE: + { +@@ -98,20 +98,20 @@ _pygi_closure_assign_pyobj_to_retval (gpointer retval, + + switch (g_base_info_get_type (interface_info)) { + case GI_INFO_TYPE_ENUM: +- *(gint *) retval = arg->v_int; ++ *(ffi_sarg *) retval = arg->v_int; + break; + case GI_INFO_TYPE_FLAGS: +- *(guint *) retval = arg->v_uint; ++ *(ffi_arg *) retval = arg->v_uint; + break; + default: +- *(gpointer *) retval = arg->v_pointer; ++ *(ffi_arg *) retval = arg->v_pointer; + break; + } + + break; + } + default: +- *(gpointer *) retval = arg->v_pointer; ++ *(ffi_arg *) retval = arg->v_pointer; + break; + } + } +-- +2.17.1 + diff --git a/pygobject3.spec b/pygobject3.spec index 68b05bf..ef84042 100644 --- a/pygobject3.spec +++ b/pygobject3.spec @@ -13,12 +13,16 @@ Name: pygobject3 Version: 3.30.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for GObject Introspection License: LGPLv2+ and MIT URL: https://wiki.gnome.org/Projects/PyGObject Source0: https://download.gnome.org/sources/pygobject/3.30/pygobject-%{version}.tar.xz +# temporary big endian fix +# https://gitlab.gnome.org/GNOME/pygobject/issues/247 +# https://bugzilla.redhat.com/show_bug.cgi?id=1623547 +Patch0: 0001-revert-closure-typecasts-from-commit-25a5b066.patch BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} @@ -120,6 +124,7 @@ This package contains files required to embed PyGObject %prep %setup -q -n pygobject-%{version} +%patch0 -p1 %if 0%{?with_python3} rm -rf %{py3dir} @@ -202,6 +207,9 @@ xvfb-run make DESTDIR=$RPM_BUILD_ROOT check V=1 %{_libdir}/pkgconfig/pygobject-3.0.pc %changelog +* Fri Sep 14 2018 Dan HorĂ¡k - 3.30.0-2 +- Include temporary big endian fix (#1623547) + * Thu Sep 06 2018 Kalev Lember - 3.30.0-1 - Update to 3.30.0