Accepting request 125548 from mobile:synchronization:FACTORY

ix build with Cython 1.16 (forwarded request 125547 from dimstar)

OBS-URL: https://build.opensuse.org/request/show/125548
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libimobiledevice?expand=0&rev=21
This commit is contained in:
Stephan Kulow 2012-06-25 10:48:52 +00:00 committed by Git OBS Bridge
parent 3da718c4ab
commit 1043bad74c
3 changed files with 134 additions and 0 deletions

View File

@ -0,0 +1,126 @@
From 70dfe8ad1766990386f1db04bbe5a4826bcde4e5 Mon Sep 17 00:00:00 2001
From: Martin Szulecki
Date: Thu, 17 May 2012 13:42:50 +0000
Subject: m4: Fix parsing of "artistic" cython version strings to fix version detection
---
diff --git a/m4/ac_pkg_cython.m4 b/m4/ac_pkg_cython.m4
index 1b640e7..3b4c9a7 100644
--- a/m4/ac_pkg_cython.m4
+++ b/m4/ac_pkg_cython.m4
@@ -6,8 +6,11 @@ AC_DEFUN([AC_PROG_CYTHON],[
CYTHON=false
elif test -n "$1" ; then
AC_MSG_CHECKING([for Cython version])
- [cython_version=`$CYTHON --version 2>&1 | grep 'Cython version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`]
+ [cython_version=`$CYTHON --version 2>&1 | sed 's/Cython version \(.*\)$/\1/g'`]
AC_MSG_RESULT([$cython_version])
+
+ # Setup extra version string for parsing
+ [cython_version_stripped=`echo $cython_version | sed 's/\([0-9]\+\)\.\([0-9]\+\)[^\.]*\(\.\([0-9]\+\)\)\?.*/0\1.0\2.0\4/g'`]
if test -n "$cython_version" ; then
# Calculate the required version number components
[required=$1]
@@ -25,8 +28,9 @@ AC_DEFUN([AC_PROG_CYTHON],[
if test -z "$required_patch" ; then
[required_patch=0]
fi
+
# Calculate the available version number components
- [available=$cython_version]
+ [available=$cython_version_stripped]
[available_major=`echo $available | sed 's/[^0-9].*//'`]
if test -z "$available_major" ; then
[available_major=0]
@@ -41,6 +45,7 @@ AC_DEFUN([AC_PROG_CYTHON],[
if test -z "$available_patch" ; then
[available_patch=0]
fi
+
if test $available_major -gt $required_major || \
( test $available_major -eq $required_major && \
test $available_minor -gt $required_minor ) || \
--
cgit v0.8.3.1-34-gbf3d
From 84235e0834e57551028329723f4510e1dbe7bc11 Mon Sep 17 00:00:00 2001
From: Martin Szulecki
Date: Thu, 17 May 2012 13:44:31 +0000
Subject: cython: Do not override final methods as comply to Cython >= 0.16 strict check
---
diff --git a/cython/afc.pxi b/cython/afc.pxi
index cf72b69..0383471 100644
--- a/cython/afc.pxi
+++ b/cython/afc.pxi
@@ -162,7 +162,7 @@ cdef class AfcClient(BaseService):
err = afc_client_free(self._c_client)
self.handle_error(err)
- cdef inline BaseError _error(self, int16_t ret):
+ cdef BaseError _error(self, int16_t ret):
return AfcError(ret)
cpdef list get_device_info(self):
diff --git a/cython/imobiledevice.pxd b/cython/imobiledevice.pxd
index d0d1ada..3ec8dfb 100644
--- a/cython/imobiledevice.pxd
+++ b/cython/imobiledevice.pxd
@@ -51,8 +51,8 @@ cdef class BaseService(Base):
cdef class PropertyListService(BaseService):
cpdef send(self, plist.Node node)
cpdef object receive(self)
- cdef inline int16_t _send(self, plist.plist_t node)
- cdef inline int16_t _receive(self, plist.plist_t* c_node)
+ cdef int16_t _send(self, plist.plist_t node)
+ cdef int16_t _receive(self, plist.plist_t* c_node)
cdef extern from "libimobiledevice/lockdown.h":
cdef struct lockdownd_client_private:
diff --git a/cython/imobiledevice.pyx b/cython/imobiledevice.pyx
index ffaa3c1..9d2e13d 100644
--- a/cython/imobiledevice.pyx
+++ b/cython/imobiledevice.pyx
@@ -25,9 +25,8 @@ cdef class Base:
return 0
cdef BaseError err = self._error(ret)
raise err
- return -1
- cdef inline BaseError _error(self, int16_t ret): pass
+ cdef BaseError _error(self, int16_t ret): pass
cdef extern from "libimobiledevice/libimobiledevice.h":
ctypedef enum idevice_error_t:
@@ -211,10 +210,10 @@ cdef class PropertyListService(BaseService):
plist.plist_free(c_node)
raise
- cdef inline int16_t _send(self, plist.plist_t node):
+ cdef int16_t _send(self, plist.plist_t node):
raise NotImplementedError("send is not implemented")
- cdef inline int16_t _receive(self, plist.plist_t* c_node):
+ cdef int16_t _receive(self, plist.plist_t* c_node):
raise NotImplementedError("receive is not implemented")
cdef class DeviceLinkService(PropertyListService):
diff --git a/cython/mobilesync.pxi b/cython/mobilesync.pxi
index 0ec4710..e610191 100644
--- a/cython/mobilesync.pxi
+++ b/cython/mobilesync.pxi
@@ -149,10 +149,10 @@ cdef class MobileSyncClient(DeviceLinkService):
plist.plist_free(remapping)
raise
- cdef inline int16_t _send(self, plist.plist_t node):
+ cdef int16_t _send(self, plist.plist_t node):
return mobilesync_send(self._c_client, node)
- cdef inline int16_t _receive(self, plist.plist_t* node):
+ cdef int16_t _receive(self, plist.plist_t* node):
return mobilesync_receive(self._c_client, node)
cdef inline BaseError _error(self, int16_t ret):
--
cgit v0.8.3.1-34-gbf3d

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Jun 20 15:23:07 UTC 2012 - dimstar@opensuse.org
- Add libimobiledevice-cython1.16-detection.patch: Fix build with
Cython 1.16.
-------------------------------------------------------------------
Mon Apr 09 15:45:03 CEST 2012 - opensuse@sukimashita.com

View File

@ -42,6 +42,7 @@ BuildRequires: libusb-1_0-devel >= 1.0.3
%endif
Source: %{name}-%{version}.tar.bz2
Source1: baselibs.conf
Patch0: libimobiledevice-cython1.16-detection.patch
Summary: Native protocols library for iPhone, iPod Touch and iPad
License: LGPL-2.1+
Group: System/Libraries
@ -115,6 +116,7 @@ Contains Python bindings for developing applications that use %{_name}.
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1
%build
autoreconf -fi