[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