[packages/python-imobiledevice] - last version of python-imobiledevice module, taken from libimobiledevice.spec for 1.3.0
qboosh
qboosh at pld-linux.org
Sat Mar 28 22:39:52 CET 2026
commit 01192f287bab4cf4b8e2ecda13b0a6eb2d808594
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Mar 28 22:40:05 2026 +0100
- last version of python-imobiledevice module, taken from libimobiledevice.spec for 1.3.0
libimobiledevice-cython.patch | 45 +++++++++++++++++++
libimobiledevice-system-library.patch | 32 +++++++++++++
python-imobiledevice.spec | 85 +++++++++++++++++++++++++++++++++++
3 files changed, 162 insertions(+)
---
diff --git a/python-imobiledevice.spec b/python-imobiledevice.spec
new file mode 100644
index 0000000..0789d3d
--- /dev/null
+++ b/python-imobiledevice.spec
@@ -0,0 +1,85 @@
+#
+# Conditional build:
+%bcond_without openssl # OpenSSL for SSL support
+%bcond_with gnutls # GnuTLS for SSL support
+
+%if %{with gnutls}
+%undefine with_openssl
+%endif
+Summary: libimobiledevice Python 2 bindings
+Summary(pl.UTF-8): Wiązania libimobiledevice dla Pythona 2
+Name: python-imobiledevice
+Version: 1.3.0
+Release: 10
+License: LGPL v2+
+Group: Development/Languages/Python
+#Source0Download: https://www.libimobiledevice.org/
+Source0: https://github.com/libimobiledevice/libimobiledevice/releases/download/%{version}/libimobiledevice-%{version}.tar.bz2
+# Source0-md5: c50a3a32acf33dc8c9ec88137ad12ec4
+Patch0: libimobiledevice-cython.patch
+Patch1: libimobiledevice-system-library.patch
+URL: https://libimobiledevice.org/
+BuildRequires: autoconf >= 2.64
+BuildRequires: automake
+%{?with_gnutls:BuildRequires: gnutls-devel >= 2.2.0}
+BuildRequires: libgcrypt-devel
+BuildRequires: libimobiledevice-devel >= 1.3.0
+BuildRequires: libplist-devel >= 2.3.0
+BuildRequires: libplist-c++-devel >= 2.3.0
+BuildRequires: libstdc++-devel
+%{?with_gnutls:BuildRequires: libtasn1-devel >= 1.1}
+BuildRequires: libtool
+BuildRequires: libusbmuxd-devel >= 2.0.2
+%{?with_openssl:BuildRequires: openssl-devel >= 0.9.8}
+BuildRequires: pkgconfig
+BuildRequires: python-Cython >= 0.17.0
+BuildRequires: python-devel >= 1:2.3
+BuildRequires: python-modules >= 1:2.3
+BuildRequires: python-plist-devel >= 2.2.0
+BuildRequires: rpmbuild(macros) >= 2.043
+BuildRequires: rpm-pythonprov
+Requires: libimobiledevice >= 1.3.0
+Requires: python-plist >= 2.2.0
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+libimobiledevice Python 2 bindings.
+
+%description -l pl.UTF-8
+Wiązania libimobiledevice dla Pythona 2.
+
+%prep
+%setup -q -n libimobiledevice-%{version}
+%patch -P0 -p1
+%patch -P1 -p1
+
+%build
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+ CYTHON=/usr/bin/cython2 \
+ PYTHON=%{__python} \
+ %{!?with_openssl:--disable-openssl} \
+ --disable-silent-rules \
+ --disable-static
+
+%{__make} -C cython
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} -C cython install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS NEWS README.md
+%{py_sitedir}/imobiledevice.so
diff --git a/libimobiledevice-cython.patch b/libimobiledevice-cython.patch
new file mode 100644
index 0000000..2a8c3d2
--- /dev/null
+++ b/libimobiledevice-cython.patch
@@ -0,0 +1,45 @@
+diff -urNp -x '*.orig' libimobiledevice-1.3.0.org/cython/lockdown.pxi libimobiledevice-1.3.0/cython/lockdown.pxi
+--- libimobiledevice-1.3.0.org/cython/lockdown.pxi 2017-07-18 21:03:02.000000000 +0200
++++ libimobiledevice-1.3.0/cython/lockdown.pxi 2021-03-05 22:34:55.596823231 +0100
+@@ -263,7 +263,7 @@ cdef class LockdownClient(PropertyListSe
+ cdef:
+ lockdownd_error_t err
+ char* c_session_id = NULL
+- bint ssl_enabled
++ int ssl_enabled
+ bytes session_id
+ err = lockdownd_start_session(self._c_client, host_id, &c_session_id, <int *>&ssl_enabled)
+ try:
+--- libimobiledevice-1.3.0/cython/installation_proxy.pxi.orig 2017-07-18 21:03:02.000000000 +0200
++++ libimobiledevice-1.3.0/cython/installation_proxy.pxi 2025-04-12 19:00:25.736985506 +0200
+@@ -27,7 +27,7 @@ cdef extern from "libimobiledevice/insta
+ instproxy_error_t instproxy_restore(instproxy_client_t client, char *appid, plist.plist_t client_options, instproxy_status_cb_t status_cb, void *user_data)
+ instproxy_error_t instproxy_remove_archive(instproxy_client_t client, char *appid, plist.plist_t client_options, instproxy_status_cb_t status_cb, void *user_data)
+
+-cdef void instproxy_notify_cb(plist.plist_t command, plist.plist_t status, void *py_callback) with gil:
++cdef void instproxy_notify_cb(plist.plist_t command, plist.plist_t status, void *py_callback) noexcept with gil:
+ (<object>py_callback)(plist.plist_t_to_node(command, False), plist.plist_t_to_node(status, False))
+
+ cdef class InstallationProxyError(BaseError):
+--- libimobiledevice-1.3.0/cython/imobiledevice.pyx.orig 2020-06-07 16:57:09.000000000 +0200
++++ libimobiledevice-1.3.0/cython/imobiledevice.pyx 2025-04-12 19:02:20.821035188 +0200
+@@ -94,7 +94,7 @@ cdef class iDeviceEvent:
+ def __get__(self):
+ return self._c_event.conn_type
+
+-cdef void idevice_event_cb(const_idevice_event_t c_event, void *user_data) with gil:
++cdef void idevice_event_cb(const_idevice_event_t c_event, void *user_data) noexcept with gil:
+ cdef iDeviceEvent event = iDeviceEvent.__new__(iDeviceEvent)
+ event._c_event = c_event
+ (<object>user_data)(event)
+--- libimobiledevice-1.3.0/cython/notification_proxy.pxi.orig 2017-07-18 21:03:02.000000000 +0200
++++ libimobiledevice-1.3.0/cython/notification_proxy.pxi 2025-04-12 19:03:04.957976592 +0200
+@@ -70,7 +70,7 @@ NP_ITDBPREP_DID_END = C_NP_ITDBPREP_DID_
+ NP_LANGUAGE_CHANGED = C_NP_LANGUAGE_CHANGED
+ NP_ADDRESS_BOOK_PREF_CHANGED = C_NP_ADDRESS_BOOK_PREF_CHANGED
+
+-cdef void np_notify_cb(const_char_ptr notification, void *py_callback):
++cdef void np_notify_cb(const_char_ptr notification, void *py_callback) noexcept with gil:
+ (<object>py_callback)(notification)
+
+ cdef class NotificationProxyError(BaseError):
diff --git a/libimobiledevice-system-library.patch b/libimobiledevice-system-library.patch
new file mode 100644
index 0000000..29bc6ba
--- /dev/null
+++ b/libimobiledevice-system-library.patch
@@ -0,0 +1,32 @@
+--- libimobiledevice-1.3.0/cython/Makefile.am.orig 2020-06-15 14:45:51.000000000 +0200
++++ libimobiledevice-1.3.0/cython/Makefile.am 2026-03-28 22:20:54.433986513 +0100
+@@ -1,6 +1,3 @@
+-AM_CPPFLAGS = \
+- -I$(top_srcdir)/include
+-
+ AM_CFLAGS = \
+ $(GLOBAL_CFLAGS) \
+ $(libgnutls_CFLAGS) \
+@@ -58,8 +55,6 @@ imobiledevicedir = $(pyexecdir)
+ imobiledevice_LTLIBRARIES = imobiledevice.la
+ imobiledevice_la_SOURCES = imobiledevice.pyx
+ imobiledevice_la_CFLAGS = \
+- -I$(top_srcdir)/include \
+- -I$(top_srcdir)/src \
+ $(PYTHON_CPPFLAGS) \
+ $(AM_CFLAGS) \
+ -Wno-shadow \
+@@ -73,12 +68,11 @@ imobiledevice_la_CFLAGS = \
+ imobiledevice_la_LDFLAGS = \
+ -module \
+ -avoid-version \
+- -L$(libdir) \
+ $(PYTHON_LIBS) \
+ $(AM_LIBS) \
+ -no-undefined
+
+-imobiledevice_la_LIBADD = $(top_builddir)/src/libimobiledevice-1.0.la
++imobiledevice_la_LIBADD = -limobiledevice-1.0
+
+ imobiledevice.c: imobiledevice.pyx $(PXDINCLUDES) $(PXIINCLUDES)
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/python-imobiledevice.git/commitdiff/01192f287bab4cf4b8e2ecda13b0a6eb2d808594
More information about the pld-cvs-commit
mailing list