aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Fish <gentoo@seaofdirac.net>2018-05-20 12:00:59 +0200
committerNicholas Fish <gentoo@seaofdirac.net>2018-05-20 12:00:59 +0200
commit9229fbcf4d445583000fcaefcd3a4a1849144c6e (patch)
treec8e6c282a124749db49b042d7d0ed9c81a4f5d3a
parentmedia-fonts/powerline-fonts: remove (diff)
downloadennui-9229fbcf4d445583000fcaefcd3a4a1849144c6e.tar.gz
ennui-9229fbcf4d445583000fcaefcd3a4a1849144c6e.tar.bz2
ennui-9229fbcf4d445583000fcaefcd3a4a1849144c6e.zip
dev-qt/qtnetwork: add LibreSSL compatible qtnetwork-5.11.x
-rw-r--r--dev-qt/qtnetwork/Manifest4
-rw-r--r--dev-qt/qtnetwork/files/qtnetwork-5.11.0_rc2-libressl.patch52
-rw-r--r--dev-qt/qtnetwork/metadata.xml25
-rw-r--r--dev-qt/qtnetwork/qtnetwork-5.11.0_rc2.ebuild64
4 files changed, 145 insertions, 0 deletions
diff --git a/dev-qt/qtnetwork/Manifest b/dev-qt/qtnetwork/Manifest
new file mode 100644
index 0000000..807d403
--- /dev/null
+++ b/dev-qt/qtnetwork/Manifest
@@ -0,0 +1,4 @@
+AUX qtnetwork-5.11.0_rc2-libressl.patch 2950 BLAKE2B d72c525c06bbe1baae4803d062e210eb14ff6ac6a6f71a735d4f43fde6e2f1684add6950b94bc2125aa848a435e23317383c377d7f974696a131db7abe6c26e8 SHA512 13e0722e334617c8ab6b5f0d5e5f906fefb293ad16e7df0ac5bd8a6d8c9bf44ea1e3dd839ae2669bbec13e5c31df3af3b9777a6da4488e6ac74082f3d084f8a9
+DIST qtbase-everywhere-src-5.11.0-rc2.tar.xz 46810456 BLAKE2B 4d3e0c89f828332356d8cd8f666b4973bc436a735571786ee24ee2baa3b28868007513d9937511a8262e35b3d4e2234db372b804837f0c5eeda25f4648a6ac1d SHA512 54290b950f808d2e6f3560f66b3ebe47a95a00eba163d515a34d6b17c077aa38253b0e3ebac79844ae077c8a9bc4bcb68eece21af5a9ad38a616c4151d6a98f8
+EBUILD qtnetwork-5.11.0_rc2.ebuild 1339 BLAKE2B 82c8ddab1b7f7fe85abc05ee11dc31220c62bebcd99b25fb977933a1656fe14a33c1721505a8fce54177f8568598c5ffccbce80c6d651d3d29ecc016ebff0ed7 SHA512 a2b8e1c0022c85e92bddccf150e7400e8bf6f75013479bc3379ef6d652510173a989ae2ebf0631c895e1a47c3cadc5b19e752f2e82a1530092e22083296d8522
+MISC metadata.xml 876 BLAKE2B cd547dff93432d3d0c4baba6790166ab951035e3c7b9d66fb9717349626f7ac72ef38daf7c648de40bf73ad59f5f7ad8c85894d73e2c37b24832371bed868656 SHA512 6a38a068dd89a9a1bb470938bf4b2427553356fed8f1a638596e21261363544b8fb770ca2ec9e619aedb4e4ea260b60966924b5b8beb8295804c99cb8d916f5f
diff --git a/dev-qt/qtnetwork/files/qtnetwork-5.11.0_rc2-libressl.patch b/dev-qt/qtnetwork/files/qtnetwork-5.11.0_rc2-libressl.patch
new file mode 100644
index 0000000..22482eb
--- /dev/null
+++ b/dev-qt/qtnetwork/files/qtnetwork-5.11.0_rc2-libressl.patch
@@ -0,0 +1,52 @@
+--- a/config.tests/unix/openssl11/openssl.cpp 2017-11-05 16:07:40.963385070 -0500
++++ b/config.tests/unix/openssl11/openssl.cpp 2017-11-05 16:07:51.755255545 -0500
+@@ -39,7 +39,7 @@
+
+ #include <openssl/opensslv.h>
+
+-#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L
++#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ # error "OpenSSL >= 1.1 is required"
+ #endif
+
+
+diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
+index 41b759364b..17ce5b4b30 100644
+--- a/src/network/ssl/qsslcontext_openssl.cpp
++++ b/src/network/ssl/qsslcontext_openssl.cpp
+@@ -248,7 +248,7 @@ void QSslContext::applyBackendConfig(QSslContext *sslContext)
+ if (sslContext->sslConfiguration.backendConfiguration().isEmpty())
+ return;
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
+ if (QSslSocket::sslLibraryVersionNumber() >= 0x10002000L) {
+ QSharedPointer<SSL_CONF_CTX> cctx(q_SSL_CONF_CTX_new(), &q_SSL_CONF_CTX_free);
+ if (cctx) {
+
+diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+index 82ff5e9e3a..77e5d03b7d 100644
+--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
++++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+@@ -402,7 +402,7 @@ DEFINEFUNC2(int, SSL_CTX_use_PrivateKey, SSL_CTX *a, a, EVP_PKEY *b, b, return -
+ DEFINEFUNC2(int, SSL_CTX_use_RSAPrivateKey, SSL_CTX *a, a, RSA *b, b, return -1, return)
+ DEFINEFUNC3(int, SSL_CTX_use_PrivateKey_file, SSL_CTX *a, a, const char *b, b, int c, c, return -1, return)
+ DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *a, a, return 0, return)
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
+ DEFINEFUNC(SSL_CONF_CTX *, SSL_CONF_CTX_new, DUMMYARG, DUMMYARG, return 0, return);
+ DEFINEFUNC(void, SSL_CONF_CTX_free, SSL_CONF_CTX *a, a, return ,return);
+ DEFINEFUNC2(void, SSL_CONF_CTX_set_ssl_ctx, SSL_CONF_CTX *a, a, SSL_CTX *b, b, return, return);
+diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
+index 4fb8f26cf6..3a7de93113 100644
+--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
++++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
+@@ -352,7 +352,7 @@ int q_SSL_CTX_use_PrivateKey(SSL_CTX *a, EVP_PKEY *b);
+ int q_SSL_CTX_use_RSAPrivateKey(SSL_CTX *a, RSA *b);
+ int q_SSL_CTX_use_PrivateKey_file(SSL_CTX *a, const char *b, int c);
+ X509_STORE *q_SSL_CTX_get_cert_store(const SSL_CTX *a);
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
+ SSL_CONF_CTX *q_SSL_CONF_CTX_new();
+ void q_SSL_CONF_CTX_free(SSL_CONF_CTX *a);
+ void q_SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *a, SSL_CTX *b);
diff --git a/dev-qt/qtnetwork/metadata.xml b/dev-qt/qtnetwork/metadata.xml
new file mode 100644
index 0000000..cc8f058
--- /dev/null
+++ b/dev-qt/qtnetwork/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <use>
+ <flag name="bindist">Disable EC support via <pkg>dev-libs/openssl</pkg></flag>
+ <flag name="connman">Enable <pkg>net-misc/connman</pkg>-based bearer plugin</flag>
+ <flag name="libproxy">Use <pkg>net-libs/libproxy</pkg> for automatic
+ HTTP/SOCKS proxy configuration</flag>
+ <flag name="networkmanager">Enable <pkg>net-misc/networkmanager</pkg>-based
+ bearer plugin</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://bugreports.qt.io/</bugs-to>
+ <doc>https://doc.qt.io/</doc>
+ </upstream>
+ <slots>
+ <subslots>
+ Must only be used by packages that are known to use private parts of the Qt API.
+ </subslots>
+ </slots>
+</pkgmetadata>
diff --git a/dev-qt/qtnetwork/qtnetwork-5.11.0_rc2.ebuild b/dev-qt/qtnetwork/qtnetwork-5.11.0_rc2.ebuild
new file mode 100644
index 0000000..2d28d8f
--- /dev/null
+++ b/dev-qt/qtnetwork/qtnetwork-5.11.0_rc2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ~amd64-fbsd"
+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:0= )
+ )
+"
+RDEPEND="${DEPEND}
+ connman? ( net-misc/connman )
+ networkmanager? ( net-misc/networkmanager )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libressl.patch
+)
+
+QT5_TARGET_SUBDIRS=(
+ src/network
+ src/plugins/bearer/generic
+)
+
+QT5_GENTOO_CONFIG=(
+ libproxy
+ ssl::SSL
+ ssl::OPENSSL
+ ssl:openssl-linked:LINKED_OPENSSL
+)
+
+QT5_GENTOO_PRIVATE_CONFIG=(
+ :network
+)
+
+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)
+ $(usex ssl -openssl-linked '')
+ )
+ qt5-build_src_configure
+}