diff options
author | 2018-05-20 12:00:59 +0200 | |
---|---|---|
committer | 2018-05-20 12:00:59 +0200 | |
commit | 9229fbcf4d445583000fcaefcd3a4a1849144c6e (patch) | |
tree | c8e6c282a124749db49b042d7d0ed9c81a4f5d3a | |
parent | media-fonts/powerline-fonts: remove (diff) | |
download | ennui-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/Manifest | 4 | ||||
-rw-r--r-- | dev-qt/qtnetwork/files/qtnetwork-5.11.0_rc2-libressl.patch | 52 | ||||
-rw-r--r-- | dev-qt/qtnetwork/metadata.xml | 25 | ||||
-rw-r--r-- | dev-qt/qtnetwork/qtnetwork-5.11.0_rc2.ebuild | 64 |
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 +} |