commit:     d96e8a93b096a8671c5a7940f2f2bb1b08d37e7d
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Tue Apr 23 14:17:27 2024 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Tue Apr 23 14:17:27 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=d96e8a93

app-pda/libimobiledevice: add 1.3.0-r4, 1.3.0_p20240201, drop 1.3.0-r3

Signed-off-by: orbea <orbea <AT> riseup.net>

 app-pda/libimobiledevice/Manifest                  |  1 +
 .../files/libimobiledevice-1.3.0-cython3.patch     | 48 ++++++++++++++
 .../files/libimobiledevice-1.3.0-libressl.patch    | 31 +++------
 ...libimobiledevice-1.3.0_p20240201-libressl.patch | 23 +++++++
 .../libimobiledevice-1.3.0_p20240201_time_h.patch  | 10 +++
 ...-r3.ebuild => libimobiledevice-1.3.0-r4.ebuild} |  8 +--
 .../libimobiledevice-1.3.0_p20240201.ebuild        | 77 ++++++++++++++++++++++
 7 files changed, 172 insertions(+), 26 deletions(-)

diff --git a/app-pda/libimobiledevice/Manifest 
b/app-pda/libimobiledevice/Manifest
index 1a1995a..c02e6d5 100644
--- a/app-pda/libimobiledevice/Manifest
+++ b/app-pda/libimobiledevice/Manifest
@@ -1 +1,2 @@
 DIST libimobiledevice-1.3.0.tar.bz2 733949 BLAKE2B 
40717280bb3424c7431aa93d06d10de817e6761acf2b19948d80b691cfb4dd4ef0e31b81c8458eed29a43c8c8aa256da7baa3648fb785cfbdb7316daaba119a3
 SHA512 
7b22040552a6561729c79c0846f571b0e608abb7c297567d2ecfdd1718ce86df08a5e34ba51f209bdee96a1917da15e7ba3aaef1d289a951d1d3470b1f89e6a8
+DIST libimobiledevice-1.3.0_p20240201.tar.gz 405723 BLAKE2B 
5f3672e6b3c180440c215d9411eb2f21fe9451d822707e5b11ffff6693dccabfb5d184ef35f36bce2af508cbdebb656923927558ef39669825679a8ebf3cc8ee
 SHA512 
d3746b7e0803840489593c9a3d8c8b16f6d4be5e2cd5c947d05be31e49c095c6503ef9150c886a87c68f4694bc6c1bfba96c4578789adc8f165a6391d0e4918f

diff --git 
a/app-pda/libimobiledevice/files/libimobiledevice-1.3.0-cython3.patch 
b/app-pda/libimobiledevice/files/libimobiledevice-1.3.0-cython3.patch
new file mode 100644
index 0000000..c7b8cf0
--- /dev/null
+++ b/app-pda/libimobiledevice/files/libimobiledevice-1.3.0-cython3.patch
@@ -0,0 +1,48 @@
+https://bugs.gentoo.org/898666
+https://github.com/libimobiledevice/libimobiledevice/pull/1521
+
+--- 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):
+
+From deba42ba94c13517ebdbe7a4d8177ab47a9589a5 Mon Sep 17 00:00:00 2001
+From: IridiumXOR <[email protected]>
+Date: Thu, 11 Jan 2024 22:00:39 +0100
+Subject: [PATCH 2/3] Fix np_notify_cb for Cython 3 noexcept error
+
+--- 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) 
noexcept:
+     (<object>py_callback)(notification)
+ 
+ cdef class NotificationProxyError(BaseError):
+
+From 7739a4bf61a0fa549646d6062978f126a1ff06fa Mon Sep 17 00:00:00 2001
+From: IridiumXOR <[email protected]>
+Date: Thu, 11 Jan 2024 22:03:07 +0100
+Subject: [PATCH 3/3] Fix idevice_event_cb for Cython 3 noexcept error
+
+--- 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/app-pda/libimobiledevice/files/libimobiledevice-1.3.0-libressl.patch 
b/app-pda/libimobiledevice/files/libimobiledevice-1.3.0-libressl.patch
index 0957c91..9f13402 100644
--- a/app-pda/libimobiledevice/files/libimobiledevice-1.3.0-libressl.patch
+++ b/app-pda/libimobiledevice/files/libimobiledevice-1.3.0-libressl.patch
@@ -1,25 +1,12 @@
-From 170e1c445e8c930f4ee9dddfb9f1bcf24c089962 Mon Sep 17 00:00:00 2001
-From: Nikias Bassen <[email protected]>
-Date: Thu, 6 Aug 2020 20:43:08 +0200
-Subject: [PATCH] idevice: Fix build with LibreSSL
-
-Upstream-Status: Accepted
-[https://github.com/libimobiledevice/libimobiledevice/commit/170e1c445e8c930f4ee9dddfb9f1bcf24c089962]
-Signed-off-by: Stefan Strogin <[email protected]>
----
- src/idevice.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/idevice.c b/src/idevice.c
-index fea1e03f..47c9ab4d 100644
---- a/src/idevice.c
-+++ b/src/idevice.c
-@@ -1015,7 +1015,7 @@ LIBIMOBILEDEVICE_API idevice_error_t 
idevice_connection_enable_ssl(idevice_conne
-               return ret;
+--- a/common/userpref.c
++++ b/common/userpref.c
+@@ -627,7 +627,9 @@ userpref_error_t 
pair_record_generate_keys_and_certs(plist_t pair_record, key_da
+               }
        }
  
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-       SSL_CTX_set_security_level(ssl_ctx, 0);
- #endif
++#ifndef LIBRESSL_VERSION_NUMBER
+       X509V3_EXT_cleanup();
++#endif
+       X509_free(dev_cert);
  
+       EVP_PKEY_free(pubkey);

diff --git 
a/app-pda/libimobiledevice/files/libimobiledevice-1.3.0_p20240201-libressl.patch
 
b/app-pda/libimobiledevice/files/libimobiledevice-1.3.0_p20240201-libressl.patch
new file mode 100644
index 0000000..6b1ad26
--- /dev/null
+++ 
b/app-pda/libimobiledevice/files/libimobiledevice-1.3.0_p20240201-libressl.patch
@@ -0,0 +1,23 @@
+--- a/3rd_party/libsrp6a-sha512/t_math.c
++++ b/3rd_party/libsrp6a-sha512/t_math.c
+@@ -720,7 +720,7 @@ BigIntegerModExp(BigInteger r, BigInteger b, BigInteger e, 
BigInteger m, BigInte
+   else if(a == NULL) {
+     BN_mod_exp(r, b, e, m, c);
+   }
+-#if OPENSSL_VERSION_NUMBER >= 0x00906000
++#if OPENSSL_VERSION_NUMBER >= 0x00906000 && !defined(LIBRESSL_VERSION_NUMBER)
+   else if(B > 0 && B < ULONG_MAX) {  /* 0.9.6 and above has mont_word 
optimization */
+     BN_mod_exp_mont_word(r, B, e, m, c, a);
+   }
+--- a/common/userpref.c
++++ b/common/userpref.c
+@@ -627,7 +627,9 @@ userpref_error_t 
pair_record_generate_keys_and_certs(plist_t pair_record, key_da
+               }
+       }
+ 
++#ifndef LIBRESSL_VERSION_NUMBER
+       X509V3_EXT_cleanup();
++#endif
+       X509_free(dev_cert);
+ 
+       EVP_PKEY_free(pubkey);

diff --git 
a/app-pda/libimobiledevice/files/libimobiledevice-1.3.0_p20240201_time_h.patch 
b/app-pda/libimobiledevice/files/libimobiledevice-1.3.0_p20240201_time_h.patch
new file mode 100644
index 0000000..b158c97
--- /dev/null
+++ 
b/app-pda/libimobiledevice/files/libimobiledevice-1.3.0_p20240201_time_h.patch
@@ -0,0 +1,10 @@
+--- a/tools/afcclient.c
++++ b/tools/afcclient.c
+@@ -36,6 +36,7 @@
+ #include <signal.h>
+ #include <ctype.h>
+ #include <unistd.h>
++#include <time.h>
+ 
+ #ifdef WIN32
+ #include <windows.h>

diff --git a/app-pda/libimobiledevice/libimobiledevice-1.3.0-r3.ebuild 
b/app-pda/libimobiledevice/libimobiledevice-1.3.0-r4.ebuild
similarity index 96%
rename from app-pda/libimobiledevice/libimobiledevice-1.3.0-r3.ebuild
rename to app-pda/libimobiledevice/libimobiledevice-1.3.0-r4.ebuild
index f994417..32e70f4 100644
--- a/app-pda/libimobiledevice/libimobiledevice-1.3.0-r3.ebuild
+++ b/app-pda/libimobiledevice/libimobiledevice-1.3.0-r4.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
 PYTHON_COMPAT=( python3_{9..11} )
 
@@ -37,20 +37,20 @@ RDEPEND="
 DEPEND="
        ${RDEPEND}
 "
-# <cython-3 for bug #898666
 BDEPEND="
        virtual/pkgconfig
        doc? ( app-text/doxygen )
-       python? ( <dev-python/cython-3[${PYTHON_USEDEP}] )
+       python? ( dev-python/cython[${PYTHON_USEDEP}] )
 "
 
 BUILD_DIR="${S}_build"
 
 PATCHES=(
+       "${FILESDIR}/${P}-libressl.patch"
        "${FILESDIR}/${P}-slibtool.patch"
        "${FILESDIR}/${P}-missing_libflags.patch" #787962
-       "${FILESDIR}/${P}-libressl.patch"
        "${FILESDIR}/${P}-python.patch"
+       "${FILESDIR}"/${P}-cython3.patch # Bug #898666
 )
 
 src_prepare() {

diff --git a/app-pda/libimobiledevice/libimobiledevice-1.3.0_p20240201.ebuild 
b/app-pda/libimobiledevice/libimobiledevice-1.3.0_p20240201.ebuild
new file mode 100644
index 0000000..944188f
--- /dev/null
+++ b/app-pda/libimobiledevice/libimobiledevice-1.3.0_p20240201.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_COMMIT=73b6fd183872096f20e6d1007429546a317a7cb1
+
+DESCRIPTION="Support library to communicate with Apple iPhone/iPod Touch 
devices"
+HOMEPAGE="https://www.libimobiledevice.org/";
+SRC_URI="https://github.com/libimobiledevice/libimobiledevice/archive/${MY_COMMIT}.tar.gz
 -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_COMMIT}
+
+# While COPYING* doesn't mention 'or any later version', all the headers do, 
hence use +
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0/1.0-6" # based on SONAME of libimobiledevice-1.0.so
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="doc gnutls readline static-libs"
+
+RDEPEND="
+       app-pda/libimobiledevice-glue:=
+       >=app-pda/libplist-2.3:=
+       >=app-pda/libusbmuxd-2.0.2:=
+       gnutls? (
+               dev-libs/libgcrypt:0
+               >=dev-libs/libtasn1-1.1
+               >=net-libs/gnutls-2.2.0
+       )
+       !gnutls? (
+               dev-libs/openssl:0=
+       )
+       readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       virtual/pkgconfig
+       doc? ( app-text/doxygen )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.3.0_p20240201-libressl.patch
+       "${FILESDIR}"/${PN}-1.3.0_p20240201_time_h.patch
+)
+
+src_prepare() {
+       default
+       echo ${PV}-${MY_COMMIT} > .tarball-version
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               --without-cython
+               $(use_enable static-libs static)
+       )
+       use gnutls && myeconfargs+=( --disable-openssl )
+       # --with-readline also causes readline to not be used
+       use readline || myeconfargs+=( --without-readline )
+       econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+       emake
+
+       if use doc; then
+               doxygen doxygen.cfg || die
+       fi
+}
+
+src_install() {
+       emake install DESTDIR="${D}"
+
+       use doc && dodoc docs/html/*
+
+       find "${D}" -name '*.la' -delete || die
+}

Reply via email to