summaryrefslogtreecommitdiff
path: root/app-pda/libimobiledevice
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-pda/libimobiledevice
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-pda/libimobiledevice')
-rw-r--r--app-pda/libimobiledevice/Manifest7
-rw-r--r--app-pda/libimobiledevice/files/gnutls-3.4.patch51
-rw-r--r--app-pda/libimobiledevice/libimobiledevice-1.2.0-r1.ebuild115
-rw-r--r--app-pda/libimobiledevice/metadata.xml5
4 files changed, 178 insertions, 0 deletions
diff --git a/app-pda/libimobiledevice/Manifest b/app-pda/libimobiledevice/Manifest
new file mode 100644
index 000000000000..c7906cb6d725
--- /dev/null
+++ b/app-pda/libimobiledevice/Manifest
@@ -0,0 +1,7 @@
+AUX gnutls-3.4.patch 2415 BLAKE2B cdd9f3ad241a866db1794ec2ac661df902b180555102173706a47700889ff98a18bdadefba90818edea14def51664c3bbe75fe38cf1375574f3fe7ba51c10340 SHA512 d1a46062d3e4a37dfbb8d8ac754f7e927e0f8f2720152d7f8604667b65ea8fa5f26777f4490cb01c7dc01771a96c545bc1b1c8b433482ad24fb9840f063fb36b
+DIST libimobiledevice-1.2.0-git.patch 187304 BLAKE2B 7c184f823b831b913dbae16a58db1e4b7682fb42e573b1bab3983eb8150feb696795fd59c81ca7582fd56cd953e32489a8ddc502c4cb39a6ac88ff3d018ceace SHA512 cfc433a8eada9357ee5119ccfeb1e7444f10132637a43954174721905207b0e168f49a1728ee16ed6b0a9fd8b9617e8e35b04cf34f775abd1d12b8ecb7dbdbd2
+DIST libimobiledevice-1.2.0-userpref-GnuTLS-Fix-3.6.0-SHA1-compatibility.patch 2272 BLAKE2B 2f435af75c6f7fe319c76b52feac32d8f1389806835658bae5713d82471d0b2edd01b062871bff5e757795c220e2cd4c77d404c1df0cf9616c2fc2d77364b686 SHA512 a31741cfaae53781a1491fd53514e614e64c676573dc9252adea2fb0d64005eb5fad6483f1848b0246f0fff76c8fb4535f56a6e97c13dd7aa48a29061cabb172
+DIST libimobiledevice-1.2.0-userpref-GnuTLS-Use-valid-serial-for-3.6.0.patch 2014 BLAKE2B 8a6e51af145cf9983aa92ad7febf8d48a64b81f4f4664079ee7df3d433626141e10af6700ad38aad81bbbf3be03d6b35bae4f10a595e97f6998a06b6b2a4fbd4 SHA512 1c6002f8da5524603b989613fc1b14e526bc6fcbf515890f8c4976fe5e1b3801f04f6b210264624990ff7dd7de01063ad53dbf9ec506a0645098692a948216b9
+DIST libimobiledevice-1.2.0.tar.bz2 631495 BLAKE2B b04d87906615710e9e143013d27f4a0735e444160cb9dad464cb63d568470397f504680b3faca3995932cc8a80970a5923128d356fad9c98372af4981373ed69 SHA512 0de5f768aeb5d62445892855d84ceaff776f6667733c351ed6c34bf9d500802762d1a06e5efdf57f33cafc9ee788041cd9b6748fb9bad6c2e4ae2f9b9aa93589
+EBUILD libimobiledevice-1.2.0-r1.ebuild 3257 BLAKE2B 184f9dedfd8b29fad918269ed2977d3ace20fecac526ee01d1b4234965a803c27ad7e352d2886730ab1df5bf47d3f19b4749f9e1c18a4341487472b3a60511d2 SHA512 ed720ee197c6a28ac904c7387f6ac018435ee4e3fb1c7dec469f81a17252e239cbd8ab8da17f2bf6db5b45d0a43eaa0c6df8dd55550deb856df669a0cd5bd4e8
+MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84
diff --git a/app-pda/libimobiledevice/files/gnutls-3.4.patch b/app-pda/libimobiledevice/files/gnutls-3.4.patch
new file mode 100644
index 000000000000..9b4b83372109
--- /dev/null
+++ b/app-pda/libimobiledevice/files/gnutls-3.4.patch
@@ -0,0 +1,51 @@
+From 2a5868411c57e25802d2f16fd6b77601f10d0b72 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <nmav@redhat.com>
+Date: Fri, 29 Apr 2016 22:58:34 +0200
+Subject: [PATCH] Updated gnutls certificate callback to new API (backwards
+ compatible)
+
+---
+ src/idevice.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/src/idevice.c b/src/idevice.c
+index 5912aeb..f2de6a3 100644
+--- a/src/idevice.c
++++ b/src/idevice.c
+@@ -642,7 +642,11 @@ static const char *ssl_error_to_string(int e)
+ /**
+ * Internally used gnutls callback function that gets called during handshake.
+ */
++#if GNUTLS_VERSION_NUMBER >= 0x020b07
++static int internal_cert_callback(gnutls_session_t session, const gnutls_datum_t * req_ca_rdn, int nreqs, const gnutls_pk_algorithm_t * sign_algos, int sign_algos_length, gnutls_retr2_st * st)
++#else
+ static int internal_cert_callback(gnutls_session_t session, const gnutls_datum_t * req_ca_rdn, int nreqs, const gnutls_pk_algorithm_t * sign_algos, int sign_algos_length, gnutls_retr_st * st)
++#endif
+ {
+ int res = -1;
+ gnutls_certificate_type_t type = gnutls_certificate_type_get(session);
+@@ -650,7 +654,12 @@ static int internal_cert_callback(gnutls_session_t session, const gnutls_datum_t
+ ssl_data_t ssl_data = (ssl_data_t)gnutls_session_get_ptr(session);
+ if (ssl_data && ssl_data->host_privkey && ssl_data->host_cert) {
+ debug_info("Passing certificate");
++#if GNUTLS_VERSION_NUMBER >= 0x020b07
++ st->cert_type = type;
++ st->key_type = GNUTLS_PRIVKEY_X509;
++#else
+ st->type = type;
++#endif
+ st->ncerts = 1;
+ st->cert.x509 = &ssl_data->host_cert;
+ st->key.x509 = ssl_data->host_privkey;
+@@ -759,7 +768,11 @@ LIBIMOBILEDEVICE_API idevice_error_t idevice_connection_enable_ssl(idevice_conne
+ debug_info("enabling SSL mode");
+ errno = 0;
+ gnutls_certificate_allocate_credentials(&ssl_data_loc->certificate);
++#if GNUTLS_VERSION_NUMBER >= 0x020b07
++ gnutls_certificate_set_retrieve_function(ssl_data_loc->certificate, internal_cert_callback);
++#else
+ gnutls_certificate_client_set_retrieve_function(ssl_data_loc->certificate, internal_cert_callback);
++#endif
+ gnutls_init(&ssl_data_loc->session, GNUTLS_CLIENT);
+ gnutls_priority_set_direct(ssl_data_loc->session, "NONE:+VERS-SSL3.0:+ANON-DH:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA1:+MD5:+COMP-NULL", NULL);
+ gnutls_credentials_set(ssl_data_loc->session, GNUTLS_CRD_CERTIFICATE, ssl_data_loc->certificate);
diff --git a/app-pda/libimobiledevice/libimobiledevice-1.2.0-r1.ebuild b/app-pda/libimobiledevice/libimobiledevice-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..a17d9c8230e8
--- /dev/null
+++ b/app-pda/libimobiledevice/libimobiledevice-1.2.0-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit autotools python-r1
+
+DESCRIPTION="Support library to communicate with Apple iPhone/iPod Touch devices"
+HOMEPAGE="http://www.libimobiledevice.org/"
+
+# Get patches from Fedora
+SRC_URI="http://www.libimobiledevice.org/downloads/${P}.tar.bz2
+ https://src.fedoraproject.org/rpms/libimobiledevice/raw/master/f/0001-userpref-GnuTLS-Fix-3.6.0-SHA1-compatibility.patch -> ${P}-userpref-GnuTLS-Fix-3.6.0-SHA1-compatibility.patch
+ https://src.fedoraproject.org/rpms/libimobiledevice/raw/master/f/0002-userpref-GnuTLS-Use-valid-serial-for-3.6.0.patch -> ${P}-userpref-GnuTLS-Use-valid-serial-for-3.6.0.patch
+ https://src.fedoraproject.org/rpms/libimobiledevice/raw/master/f/344409e1d1ad917d377b256214c5411dda82e6b0...5a85432719fb3d18027d528f87d2a44b76fd3e12.patch -> ${P}-git.patch"
+
+# While COPYING* doesn't mention 'or any later version', all the headers do, hence use +
+LICENSE="GPL-2+ LGPL-2.1+"
+
+SLOT="0/6" # based on SONAME of libimobiledevice.so
+
+KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86"
+IUSE="gnutls libressl python static-libs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ >=app-pda/libplist-1.11:=
+ >=app-pda/libusbmuxd-1.0.9:=
+ gnutls? (
+ dev-libs/libgcrypt:0
+ >=dev-libs/libtasn1-1.1
+ >=net-libs/gnutls-2.2.0 )
+ !gnutls? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= ) )
+ python? (
+ ${PYTHON_DEPS}
+ app-pda/libplist[python(-),${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ python? ( >=dev-python/cython-0.17[${PYTHON_USEDEP}] )
+"
+
+BUILD_DIR="${S}_build"
+
+PATCHES=(
+ "${DISTDIR}"/${P}-git.patch
+ "${DISTDIR}"/${P}-userpref-GnuTLS-Fix-3.6.0-SHA1-compatibility.patch
+ "${DISTDIR}"/${P}-userpref-GnuTLS-Use-valid-serial-for-3.6.0.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local ECONF_SOURCE=${S}
+
+ local myeconfargs=( $(use_enable static-libs static) )
+ use gnutls && myeconfargs+=( --disable-openssl )
+
+ do_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" >/dev/null || die
+ econf "${myeconfargs[@]}" "${@}"
+ popd >/dev/null || die
+ }
+
+ do_configure_python() {
+ # Bug 567916
+ PYTHON_LDFLAGS="$(python_get_LIBS)" do_configure "$@"
+ }
+
+ do_configure --without-cython
+ use python && python_foreach_impl do_configure_python
+}
+
+src_compile() {
+ python_compile() {
+ emake -C "${BUILD_DIR}"/cython -j1 \
+ VPATH="${S}/cython:${native_builddir}/cython" \
+ imobiledevice_la_LIBADD="${native_builddir}/src/libimobiledevice.la"
+ }
+
+ local native_builddir=${BUILD_DIR}
+ pushd "${BUILD_DIR}" >/dev/null || die
+ emake -j1
+ use python && python_foreach_impl python_compile
+ popd >/dev/null || die
+}
+
+src_install() {
+ python_install() {
+ emake -C "${BUILD_DIR}/cython" -j1 \
+ VPATH="${S}/cython:${native_builddir}/cython" \
+ DESTDIR="${D}" install
+ }
+
+ local native_builddir=${BUILD_DIR}
+ pushd "${BUILD_DIR}" >/dev/null || die
+ emake -j1 DESTDIR="${D}" install
+ use python && python_foreach_impl python_install
+ popd >/dev/null || die
+
+ dodoc docs/html/*
+ if use python; then
+ insinto /usr/include/${PN}/cython
+ doins cython/imobiledevice.pxd
+ fi
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/app-pda/libimobiledevice/metadata.xml b/app-pda/libimobiledevice/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/app-pda/libimobiledevice/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>