Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 603464 Details for
Bug 842092
libimobiledevice does not build with Cython 0.16
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
fixes the build
0001-Fix-build-with-cython-0.16.patch (text/plain), 10.82 KB, created by
Christophe Fergeau
on 2012-08-10 10:30:54 UTC
(
hide
)
Description:
fixes the build
Filename:
MIME Type:
Creator:
Christophe Fergeau
Created:
2012-08-10 10:30:54 UTC
Size:
10.82 KB
patch
obsolete
>From a4f6624b2b8d2ac1ab55606c80987b76baa37acd Mon Sep 17 00:00:00 2001 >From: Christophe Fergeau <cfergeau@redhat.com> >Date: Fri, 10 Aug 2012 12:28:59 +0200 >Subject: [PATCH] Fix build with cython 0.16 > >--- > ...ing-of-artistic-cython-version-strings-to.patch | 49 ++++++++++++ > ...ot-override-final-methods-as-comply-to-Cy.patch | 89 ++++++++++++++++++++++ > ...heck-if-libplist-Cython-bindings-are-inst.patch | 41 ++++++++++ > libimobiledevice.spec | 19 ++++- > 4 files changed, 197 insertions(+), 1 deletion(-) > create mode 100644 0001-m4-Fix-parsing-of-artistic-cython-version-strings-to.patch > create mode 100644 0002-cython-Do-not-override-final-methods-as-comply-to-Cy.patch > create mode 100644 0003-configure-Check-if-libplist-Cython-bindings-are-inst.patch > >diff --git a/0001-m4-Fix-parsing-of-artistic-cython-version-strings-to.patch b/0001-m4-Fix-parsing-of-artistic-cython-version-strings-to.patch >new file mode 100644 >index 0000000..27dda40 >--- /dev/null >+++ b/0001-m4-Fix-parsing-of-artistic-cython-version-strings-to.patch >@@ -0,0 +1,49 @@ >+From 70dfe8ad1766990386f1db04bbe5a4826bcde4e5 Mon Sep 17 00:00:00 2001 >+From: Martin Szulecki <opensuse@sukimashita.com> >+Date: Thu, 17 May 2012 15:42:50 +0200 >+Subject: [PATCH 1/3] m4: Fix parsing of "artistic" cython version strings to >+ fix version detection >+ >+--- >+ m4/ac_pkg_cython.m4 | 9 +++++++-- >+ 1 file changed, 7 insertions(+), 2 deletions(-) >+ >+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 ) || \ >+-- >+1.7.11.2 >+ >diff --git a/0002-cython-Do-not-override-final-methods-as-comply-to-Cy.patch b/0002-cython-Do-not-override-final-methods-as-comply-to-Cy.patch >new file mode 100644 >index 0000000..cf4707d >--- /dev/null >+++ b/0002-cython-Do-not-override-final-methods-as-comply-to-Cy.patch >@@ -0,0 +1,89 @@ >+From 84235e0834e57551028329723f4510e1dbe7bc11 Mon Sep 17 00:00:00 2001 >+From: Martin Szulecki <opensuse@sukimashita.com> >+Date: Thu, 17 May 2012 15:44:31 +0200 >+Subject: [PATCH 2/3] cython: Do not override final methods as comply to >+ Cython >= 0.16 strict check >+ >+--- >+ cython/afc.pxi | 2 +- >+ cython/imobiledevice.pxd | 4 ++-- >+ cython/imobiledevice.pyx | 7 +++---- >+ cython/mobilesync.pxi | 4 ++-- >+ 4 files changed, 8 insertions(+), 9 deletions(-) >+ >+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): >+-- >+1.7.11.2 >+ >diff --git a/0003-configure-Check-if-libplist-Cython-bindings-are-inst.patch b/0003-configure-Check-if-libplist-Cython-bindings-are-inst.patch >new file mode 100644 >index 0000000..286feb8 >--- /dev/null >+++ b/0003-configure-Check-if-libplist-Cython-bindings-are-inst.patch >@@ -0,0 +1,41 @@ >+From 849ea066426b8f5f6e6d1aea9804e095edca3b49 Mon Sep 17 00:00:00 2001 >+From: Martin Szulecki <opensuse@sukimashita.com> >+Date: Thu, 17 May 2012 16:57:17 +0200 >+Subject: [PATCH 3/3] configure: Check if libplist Cython bindings are >+ installed at configure time >+ >+--- >+ configure.ac | 16 +++++++++++++--- >+ 1 file changed, 13 insertions(+), 3 deletions(-) >+ >+diff --git a/configure.ac b/configure.ac >+index 140c9bd..bab4512 100644 >+--- a/configure.ac >++++ b/configure.ac >+@@ -83,10 +83,20 @@ else >+ CYTHON=false >+ fi >+ if [test "x$CYTHON" != "xfalse"]; then >+- CYTHON_SUB=cython >++ AC_MSG_CHECKING([for libplist Cython bindings]) >+ CYTHON_PLIST_INCLUDE_DIR=$($PKG_CONFIG --variable=includedir libplist)/plist/cython >+- AC_SUBST([CYTHON_PLIST_INCLUDE_DIR]) >+- cython_python_bindings=yes >++ if [test ! -d "$CYTHON_PLIST_INCLUDE_DIR"]; then >++ CYTHON=false >++ CYTHON_SUB= >++ cython_python_bindings=no >++ AC_MSG_RESULT([no]) >++ AC_MSG_WARN([cannot find libplist Cython bindings. You should install your distribution specific libplist Cython bindings package.]) >++ else >++ AC_SUBST([CYTHON_PLIST_INCLUDE_DIR]) >++ AC_MSG_RESULT([$CYTHON_PLIST_INCLUDE_DIR]) >++ CYTHON_SUB=cython >++ cython_python_bindings=yes >++ fi >+ else >+ CYTHON_SUB= >+ cython_python_bindings=no >+-- >+1.7.11.2 >+ >diff --git a/libimobiledevice.spec b/libimobiledevice.spec >index 650291c..be06678 100644 >--- a/libimobiledevice.spec >+++ b/libimobiledevice.spec >@@ -2,13 +2,17 @@ > > Name: libimobiledevice > Version: 1.1.4 >-Release: 2%{?dist} >+Release: 3%{?dist} > Summary: Library for connecting to mobile devices > > Group: System Environment/Libraries > License: LGPLv2+ > URL: http://www.libimobiledevice.org/ > Source0: http://www.libimobiledevice.org/downloads/%{name}-%{version}.tar.bz2 >+# these 3 patches have been cherry-picked from upstream git >+Patch0: 0001-m4-Fix-parsing-of-artistic-cython-version-strings-to.patch >+Patch1: 0002-cython-Do-not-override-final-methods-as-comply-to-Cy.patch >+Patch2: 0003-configure-Check-if-libplist-Cython-bindings-are-inst.patch > > BuildRequires: libxml2-devel > BuildRequires: libusb1-devel >@@ -20,6 +24,12 @@ BuildRequires: python-devel > BuildRequires: Cython > BuildRequires: swig > BuildRequires: usbmuxd-devel >+BuildRequires: readline-devel >+ >+# for Patch2: 0003-configure-Check-if-libplist-Cython-bindings-are-inst.patch >+BuildRequires: autoconf >+BuildRequires: automake >+BuildRequires: libtool > > %description > libimobiledevice is a library for connecting to mobile devices including phones >@@ -45,11 +55,15 @@ Python bindings for libimobiledevice. > > %prep > %setup -q >+%patch0 -p1 >+%patch1 -p1 >+%patch2 -p1 > > # Fix dir permissions on html docs > chmod +x docs/html > > %build >+autoreconf -fi > %configure --disable-static --disable-openssl --enable-dev-tools > # Remove rpath as per https://fedoraproject.org/wiki/Packaging/Guidelines#Beware_of_Rpath > sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool >@@ -86,6 +100,9 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';' > %{python_sitearch}/imobiledevice* > > %changelog >+* Fri Aug 10 2012 Christophe Fergeau <cfergeau@redhat.com> - 1.1.4-3 >+- Fix build with Cython 0.16 >+ > * Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.4-2 > - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild > >-- >1.7.11.2 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 842092
: 603464