From 902d4493ad02eaa04e4eb187f7c4efe578036915 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sat, 16 Nov 2024 09:29:09 -0500 Subject: [PATCH] libimobiledevice: rebuild for python3-3.13 --- .../libimobiledevice/patches/00.cython3.patch | 24 +++++++++ .../libimobiledevice/patches/01.cython3.patch | 50 +++++++++++++++++++ srcpkgs/libimobiledevice/template | 4 +- 3 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/libimobiledevice/patches/00.cython3.patch create mode 100644 srcpkgs/libimobiledevice/patches/01.cython3.patch diff --git a/srcpkgs/libimobiledevice/patches/00.cython3.patch b/srcpkgs/libimobiledevice/patches/00.cython3.patch new file mode 100644 index 00000000000..ce76f5d8465 --- /dev/null +++ b/srcpkgs/libimobiledevice/patches/00.cython3.patch @@ -0,0 +1,24 @@ +From fb1dec7e2cbb2eae14536d8d68db25d3f9384ac1 Mon Sep 17 00:00:00 2001 +From: aymenim +Date: Tue, 15 Mar 2016 23:56:08 +0300 +Subject: [PATCH] cython: fixed notification_proxy callback gil lock + +cython notification proxy bug segmentation fault when callback called +without gil +--- + cython/notification_proxy.pxi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cython/notification_proxy.pxi b/cython/notification_proxy.pxi +index 4ffbf0742..203c7835d 100644 +--- a/cython/notification_proxy.pxi ++++ b/cython/notification_proxy.pxi +@@ -70,7 +70,7 @@ NP_ITDBPREP_DID_END = C_NP_ITDBPREP_DID_END + 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) with gil: + (py_callback)(notification) + + cdef class NotificationProxyError(BaseError): diff --git a/srcpkgs/libimobiledevice/patches/01.cython3.patch b/srcpkgs/libimobiledevice/patches/01.cython3.patch new file mode 100644 index 00000000000..865e5c02901 --- /dev/null +++ b/srcpkgs/libimobiledevice/patches/01.cython3.patch @@ -0,0 +1,50 @@ +From 59ec38cb6465f794cf8e2ab204711b9a10dd9eda Mon Sep 17 00:00:00 2001 +From: Andrea Oliveri +Date: Thu, 11 Jan 2024 22:05:00 +0100 +Subject: [PATCH] cython: Fix cython3 noexcept compilation error + +--- + cython/imobiledevice.pyx | 2 +- + cython/installation_proxy.pxi | 2 +- + cython/notification_proxy.pxi | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/cython/imobiledevice.pyx b/cython/imobiledevice.pyx +index 2a125aa18..8da229626 100644 +--- a/cython/imobiledevice.pyx ++++ b/cython/imobiledevice.pyx +@@ -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: + cdef iDeviceEvent event = iDeviceEvent.__new__(iDeviceEvent) + event._c_event = c_event + (user_data)(event) +diff --git a/cython/installation_proxy.pxi b/cython/installation_proxy.pxi +index bf2c1da4c..1d3e3234d 100644 +--- a/cython/installation_proxy.pxi ++++ b/cython/installation_proxy.pxi +@@ -27,7 +27,7 @@ cdef extern from "libimobiledevice/installation_proxy.h": + 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: + (py_callback)(plist.plist_t_to_node(command, False), plist.plist_t_to_node(status, False)) + + cdef class InstallationProxyError(BaseError): +diff --git a/cython/notification_proxy.pxi b/cython/notification_proxy.pxi +index 203c7835d..261200ef0 100644 +--- a/cython/notification_proxy.pxi ++++ b/cython/notification_proxy.pxi +@@ -70,7 +70,7 @@ NP_ITDBPREP_DID_END = C_NP_ITDBPREP_DID_END + 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) with gil: ++cdef void np_notify_cb(const_char_ptr notification, void *py_callback) noexcept: + (py_callback)(notification) + + cdef class NotificationProxyError(BaseError): diff --git a/srcpkgs/libimobiledevice/template b/srcpkgs/libimobiledevice/template index d7021ccaaf8..0c0262cb2f2 100644 --- a/srcpkgs/libimobiledevice/template +++ b/srcpkgs/libimobiledevice/template @@ -1,9 +1,9 @@ # Template file for 'libimobiledevice' pkgname=libimobiledevice version=1.3.0 -revision=6 +revision=7 build_style=gnu-configure -hostmakedepends="automake libtool pkgconf python3-Cython0.29" +hostmakedepends="automake libtool pkgconf python3-Cython" makedepends="python3-devel libglib-devel openssl-devel libusb-devel libplist-devel libusbmuxd-devel" short_desc="Library to communicate with Apple devices"