summaryrefslogtreecommitdiff
path: root/app-pda/libimobiledevice
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /app-pda/libimobiledevice
reinit the tree, so we can have metadata
Diffstat (limited to 'app-pda/libimobiledevice')
-rw-r--r--app-pda/libimobiledevice/Manifest6
-rw-r--r--app-pda/libimobiledevice/files/gnutls-3.4.patch51
-rw-r--r--app-pda/libimobiledevice/libimobiledevice-1.2.0.ebuild99
-rw-r--r--app-pda/libimobiledevice/metadata.xml5
4 files changed, 161 insertions, 0 deletions
diff --git a/app-pda/libimobiledevice/Manifest b/app-pda/libimobiledevice/Manifest
new file mode 100644
index 000000000000..bcf066775535
--- /dev/null
+++ b/app-pda/libimobiledevice/Manifest
@@ -0,0 +1,6 @@
+AUX gnutls-3.4.patch 2415 SHA256 d83bf5e231fd2255800ddda9b0fc546d6f49abcd447fc9f2a40bca6ab1058028 SHA512 d1a46062d3e4a37dfbb8d8ac754f7e927e0f8f2720152d7f8604667b65ea8fa5f26777f4490cb01c7dc01771a96c545bc1b1c8b433482ad24fb9840f063fb36b WHIRLPOOL 8d6324cdef665f0871f801f50030d179639558876a00be34f53db0ef819c4ca29b5aa1ef4866d9f1d7babdb03bf29a7b2f7e3aa204632e01d9bc1fceceaf4891
+DIST libimobiledevice-1.2.0.tar.bz2 631495 SHA256 786b0de0875053bf61b5531a86ae8119e320edab724fc62fe2150cc931f11037 SHA512 0de5f768aeb5d62445892855d84ceaff776f6667733c351ed6c34bf9d500802762d1a06e5efdf57f33cafc9ee788041cd9b6748fb9bad6c2e4ae2f9b9aa93589 WHIRLPOOL ca0d709fcc844811fa19b1b149afd81c15f75c213384789b1bc1a4ec838f12ffa33c6f78753befd4eae81156cb1c002d24e7ddc50a59f374164c33ddfd37ddb6
+EBUILD libimobiledevice-1.2.0.ebuild 2477 SHA256 288e6dc4b668aac8fbbb81b693670942c74a1d2cb4becac421dd9fe67757f9d9 SHA512 b1157df10321b06393c8f17b437faa1dcb208e8b52e01209ded2a81512733f4c1aab3a3fe17cec5f47a2f2b8f9d2cc409cfec952f20931fa37d4404083697d34 WHIRLPOOL 5100959dce819c5dafbcd23442c1d325d058eec8ed92dac4a50ba339e87a9a72c011831a1af4dd3e3b79fad173b6bb37c4451ce02559d7cb1015b03948fa5d3a
+MISC ChangeLog 3848 SHA256 d4e22294de815b4014c5dd0570b8aee34a424eb63e2813cc9e034e4d86070e80 SHA512 368dba87cb5931b4b55c03d4ff9a62bf5ba29051039d0b24873a40130e5ac69374bf83b9c2d063d5386997010f1f89615cf1ed5c6ea5453ba8d261879344d7a9 WHIRLPOOL 49f4e268cceb400728033d122446513b4130fcec64b8b7fa31ee5ff4d274d7644db730e5abac71a4595770e6f8abca1b992812d4428ff322d3d39e8560a90765
+MISC ChangeLog-2015 9346 SHA256 e1be98d7cb55d8886dfb9283f160152d5fcff3110cbacfe6d6f46dea0f32586f SHA512 37811520f12ca305c8b5d1d3454d2614c2141a5086b5b44236a8ff320ae1c376b651997ac0e516a8464921356ced8a99e898d8bebc9bafc8d43da16032b4a195 WHIRLPOOL 5e185170bf151324b88b4dbdd97d298640002f916e86fa1d96ac90443067a7c9e28f2b855fdc8c0724e4eb0245183324cf8beebc62c843828d162b99a806b972
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
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.ebuild b/app-pda/libimobiledevice/libimobiledevice-1.2.0.ebuild
new file mode 100644
index 000000000000..af97f9a81f98
--- /dev/null
+++ b/app-pda/libimobiledevice/libimobiledevice-1.2.0.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+inherit eutils python-r1
+
+DESCRIPTION="Support library to communicate with Apple iPhone/iPod Touch devices"
+HOMEPAGE="http://www.libimobiledevice.org/"
+SRC_URI="http://www.libimobiledevice.org/downloads/${P}.tar.bz2"
+
+# 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 python static-libs"
+
+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? ( dev-libs/openssl:0 )
+ python? (
+ ${PYTHON_DEPS}
+ app-pda/libplist[python(-),${PYTHON_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ python? ( >=dev-python/cython-0.17[${PYTHON_USEDEP}] )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DOCS=( AUTHORS NEWS README )
+
+BUILD_DIR="${S}_build"
+
+src_prepare() {
+ epatch "${FILESDIR}/gnutls-3.4.patch"
+}
+
+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
+ prune_libtool_files --all
+}
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>