From 59ec38cb6465f794cf8e2ab204711b9a10dd9eda Mon Sep 17 00:00:00 2001
From: Andrea Oliveri <oliveriandrea@gmail.com>
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
     (<object>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:
     (<object>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:
     (<object>py_callback)(notification)
 
 cdef class NotificationProxyError(BaseError):
