aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororbea <orbea@riseup.net>2024-04-23 07:17:27 -0700
committerorbea <orbea@riseup.net>2024-04-23 07:17:27 -0700
commitd96e8a93b096a8671c5a7940f2f2bb1b08d37e7d (patch)
tree8911a19dccaac60bb90158de718a2265c5ae196d
parentdev-util/maturin: stabilize 1.5.1-r1 for ppc64 (diff)
downloadlibressl-d96e8a93b096a8671c5a7940f2f2bb1b08d37e7d.tar.gz
libressl-d96e8a93b096a8671c5a7940f2f2bb1b08d37e7d.tar.bz2
libressl-d96e8a93b096a8671c5a7940f2f2bb1b08d37e7d.zip
app-pda/libimobiledevice: add 1.3.0-r4, 1.3.0_p20240201, drop 1.3.0-r3
Signed-off-by: orbea <orbea@riseup.net>
-rw-r--r--app-pda/libimobiledevice/Manifest1
-rw-r--r--app-pda/libimobiledevice/files/libimobiledevice-1.3.0-cython3.patch48
-rw-r--r--app-pda/libimobiledevice/files/libimobiledevice-1.3.0-libressl.patch31
-rw-r--r--app-pda/libimobiledevice/files/libimobiledevice-1.3.0_p20240201-libressl.patch23
-rw-r--r--app-pda/libimobiledevice/files/libimobiledevice-1.3.0_p20240201_time_h.patch10
-rw-r--r--app-pda/libimobiledevice/libimobiledevice-1.3.0-r4.ebuild (renamed from app-pda/libimobiledevice/libimobiledevice-1.3.0-r3.ebuild)8
-rw-r--r--app-pda/libimobiledevice/libimobiledevice-1.3.0_p20240201.ebuild77
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 <oliveriandrea@gmail.com>
+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 <oliveriandrea@gmail.com>
+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 <nikias@gmx.li>
-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 <steils@gentoo.org>
----
- 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
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
+}