aboutsummaryrefslogtreecommitdiff
path: root/dev-qt
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt')
-rw-r--r--dev-qt/qtnetwork/Manifest3
-rw-r--r--dev-qt/qtnetwork/files/qtnetwork-5.6-libressl.patch71
-rw-r--r--dev-qt/qtnetwork/qtnetwork-5.6.0-r1.ebuild59
3 files changed, 133 insertions, 0 deletions
diff --git a/dev-qt/qtnetwork/Manifest b/dev-qt/qtnetwork/Manifest
index 0a41abf..c85d178 100644
--- a/dev-qt/qtnetwork/Manifest
+++ b/dev-qt/qtnetwork/Manifest
@@ -1,5 +1,8 @@
AUX qtnetwork-5.5-libressl.patch 1626 SHA256 0633f0a6256d3e31c0257ea7096d2ca8c352f9327f53a413958bc8022c31e3e9 SHA512 a66a437d3ebff891d00acfa9f29515762fef3b6e93f8163c066f70fbc1b2ea4b0b13dc7ea729576df9831d5aed78f4fb628f5cfbabc90ad6c5c540f6ff619f61 WHIRLPOOL 47887cf92a6672ed8f8e69ae7dffde89bf5792ecb27d8bb3d3dcccaf27caf614a9bdf127ab2204bfdd705e4be6ad30acf2b461a0ec95ea6028e6979b70f1f934
AUX qtnetwork-5.5-socklen_t.patch 1318 SHA256 d2e258025502bd428f519ffe04dd362cc77c90685aa18038c2395f28a5d8f7ef SHA512 ebb7a8ee9bb51a886982dbac688f296fd93ee5b210895022670ef5e3b9ba22e02899be5755240d3cebe7cd1ed6ec4bf6c85c578fe0ed54e35b6fe9ac0e14dfcd WHIRLPOOL eb06aba3a1ee36380fd26039cfe677f64f9bdc4b1019f44ab5f933b7a5eb1320cfca591131d221d1ed5edbb40e48b7b5da879d3eae8eeaf91de9c6561c0874ca
+AUX qtnetwork-5.6-libressl.patch 3026 SHA256 b5e4066c67ccb838264d9921aef61c8a07d39c17ea38a642fd10da509b48fb08 SHA512 e5970133725fa7154fd3fc3c013ea37d1ea7645191d0a581442fb0b9ab92280f70a5d56d0e108f29b1c35b8b42fbc68502cab5705b9f46aa025fb3f4ae8459da WHIRLPOOL 9d045847550f85c949a9a34c450932f866604e8dbc441e8871da86ff0d7401203317a30f4eab9034b6bd03a35572effcd2a7bf38f56d7918c1b56f4372cb5167
DIST qtbase-opensource-src-5.5.1.tar.xz 46389212 SHA256 dfa4e8a4d7e4c6b69285e7e8833eeecd819987e1bdbe5baa6b6facd4420de916 SHA512 4d31de136870025dfb7544f255798884af1ad4f3060b0c00a0467c98af1f7de368eb298d4c52ba6d1ad27e36060b30c0314ce7ba0744b15642420ec89587a575 WHIRLPOOL 8975a54a720105d1b12b4f50072b98157f6a91020ecd7bad12ab4a92b7ac4663713a82e87f033cc6ad49602a5f9468c6d3ee23120be6c15d63e55ea0b5a343c4
+DIST qtbase-opensource-src-5.6.0.tar.xz 46757096 SHA256 6efa8a5c559e92b2e526d48034e858023d5fd3c39115ac1bfd3bb65834dbd67a SHA512 5b2a5842346475be0944fc44bc09ff5b5d5da167246310de132f034e17ebbcbbf103b6f085dbf8b566389694bd095227aa1ed569b93e0f9a8f02da51d8fe076e WHIRLPOOL 2f6817a0fbf5ad7f3457e778a33bcf38791ea6e0df68e7de4b0fc3ea8e84b35bc6c5bba2d574105dbaba8edbc8c2d954b13e4cf1784991544f7f77c8d6d68590
EBUILD qtnetwork-5.5.1-r100.ebuild 1364 SHA256 9a88d615dc9b103f21590a071eced24a1fb9a19f4a555f1ed2c3345be78d52fc SHA512 6b5959b10ea03fe34b91fa7956ca00fa29968853921a3c90fe619b030e682e14c4b05d7626ddf2e34b73f11526e350c53432232e961c3cd6955eaab7cb99453a WHIRLPOOL 9476f3084b0072f1fdf31da102c75a806095774d8cd57ae13a7d642702e02079dfc28c48e59332848f2558091fb59ee1e11fe469cf685e63d1d5a79e2bc9c11d
+EBUILD qtnetwork-5.6.0-r1.ebuild 1315 SHA256 387427b55e800c37823707bbd48c3f65ddcb1c4a36634266b3d5e5e7ba220621 SHA512 36e46d22c63870fe4a601859372141d3d5ce935525ff6376d336b35379cb16e754ba1185a65bbb96552a4eee1c9e129e2e5970d2c729e27152e71c280c51dcb6 WHIRLPOOL 2223d2a7cd5cf8dc1d030639db0a96f53853218ef1369e89f16ce871c5886ca128716d8a5471ac96ae7f5f61be0ff7f9d9575a107ac812006203b3cf6ad7e7e9
MISC metadata.xml 654 SHA256 911221413accf92b54fe5cfc263d91fea8cfac0a061f059644b75505284ad7a6 SHA512 a7a4c6d11cabf153f239e92fe43e6273cf2adb5ea1d5f92f94f0cbb0382ed96c7575b0b6c181acd8e898f008c31f7c5777c60303f47e9588fb3c1e3fdb353252 WHIRLPOOL d26401c6f045298c538e06da0b56dd114ecf16d428dba383defa3c0d1f7cb759c3608162b38afb644e3ea8f717737c8fb0bbd38636656a5d87680c1d13856b5a
diff --git a/dev-qt/qtnetwork/files/qtnetwork-5.6-libressl.patch b/dev-qt/qtnetwork/files/qtnetwork-5.6-libressl.patch
new file mode 100644
index 0000000..e1faac9
--- /dev/null
+++ b/dev-qt/qtnetwork/files/qtnetwork-5.6-libressl.patch
@@ -0,0 +1,71 @@
+diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
+index 68caaeb..5b8a809 100644
+--- a/src/network/ssl/qsslcontext_openssl.cpp
++++ b/src/network/ssl/qsslcontext_openssl.cpp
+@@ -65,6 +65,13 @@ static DH *get_dh1024()
+ return dh;
+ }
+
++static bool q_enableECSetCurves() {
++ // The ability to select elliptic curves is
++ // present in OpenSSL 1.0.2+ but not in LibreSSL.
++ // RFC4492 Section 5.1.1 "Supported Elliptic Curves Extension"
++ return q_SSLeay() >= 0x10002000L && !q_LibreSSL();
++}
++
+ QSslContext::QSslContext()
+ : ctx(0),
+ pkey(0),
+@@ -340,9 +347,9 @@ init_context:
+
+ const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
+ if (!qcurves.isEmpty()) {
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
++#if defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
+ // Set the curves to be used
+- if (q_SSLeay() >= 0x10002000L) {
++ if (q_enableECSetCurves()) {
+ // SSL_CTX_ctrl wants a non-const pointer as last argument,
+ // but let's avoid a copy into a temporary array
+ if (!q_SSL_CTX_ctrl(sslContext->ctx,
+@@ -354,10 +361,10 @@ init_context:
+ return sslContext;
+ }
+ } else
+-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
++#endif // defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
+ {
+ // specific curves requested, but not possible to set -> error
+- sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
++ sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("This version of OpenSSL lacks support for selecting specific elliptic curves."));
+ sslContext->errorCode = QSslError::UnspecifiedError;
+ return sslContext;
+ }
+diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+index e7829ba..7b164d0 100644
+--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
++++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+@@ -1000,6 +1000,11 @@ bool q_resolveOpenSslSymbols()
+ #endif
+ return true;
+ }
++
++bool q_LibreSSL()
++{
++ return strncmp(q_SSLeay_version(SSLEAY_VERSION), "LibreSSL", 8) == 0;
++}
+ #endif // !defined QT_LINKED_OPENSSL
+
+ //==============================================================================
+diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
+index 7f87f11..5da6ad1 100644
+--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
++++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
+@@ -209,6 +209,7 @@ QT_BEGIN_NAMESPACE
+ #endif // !defined QT_LINKED_OPENSSL
+
+ bool q_resolveOpenSslSymbols();
++bool q_LibreSSL();
+ long q_ASN1_INTEGER_get(ASN1_INTEGER *a);
+ unsigned char * q_ASN1_STRING_data(ASN1_STRING *a);
+ int q_ASN1_STRING_length(ASN1_STRING *a);
diff --git a/dev-qt/qtnetwork/qtnetwork-5.6.0-r1.ebuild b/dev-qt/qtnetwork/qtnetwork-5.6.0-r1.ebuild
new file mode 100644
index 0000000..6084559
--- /dev/null
+++ b/dev-qt/qtnetwork/qtnetwork-5.6.0-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+QT5_MODULE="qtbase"
+inherit qt5-build
+
+DESCRIPTION="Network abstraction library for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86"
+fi
+
+IUSE="bindist connman libproxy libressl networkmanager +ssl"
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}
+ >=sys-libs/zlib-1.2.5
+ connman? ( ~dev-qt/qtdbus-${PV} )
+ libproxy? ( net-libs/libproxy )
+ networkmanager? ( ~dev-qt/qtdbus-${PV} )
+ ssl? ( !libressl? ( dev-libs/openssl:0[bindist=] )
+ libressl? ( dev-libs/libressl ) )
+"
+RDEPEND="${DEPEND}
+ connman? ( net-misc/connman )
+ networkmanager? ( net-misc/networkmanager )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.6-libressl.patch" # bug 562050
+)
+
+QT5_TARGET_SUBDIRS=(
+ src/network
+ src/plugins/bearer/generic
+)
+
+QT5_GENTOO_CONFIG=(
+ libproxy
+ ssl::SSL
+ ssl::OPENSSL
+ ssl:openssl-linked:LINKED_OPENSSL
+)
+
+pkg_setup() {
+ use connman && QT5_TARGET_SUBDIRS+=(src/plugins/bearer/connman)
+ use networkmanager && QT5_TARGET_SUBDIRS+=(src/plugins/bearer/networkmanager)
+}
+
+src_configure() {
+ local myconf=(
+ $(use connman || use networkmanager && echo -dbus-linked)
+ $(qt_use libproxy)
+ $(use ssl && echo -openssl-linked)
+ )
+ qt5-build_src_configure
+}