diff options
author | Nicholas Fish <gentoo@seaofdirac.net> | 2016-01-07 21:24:00 +0100 |
---|---|---|
committer | Nicholas Fish <gentoo@seaofdirac.net> | 2016-01-07 21:24:00 +0100 |
commit | bcbec06530c77dcea1c25b4a29f863785e69f40a (patch) | |
tree | 99068da1c6acd0568e61b52a7e62a4685fc47e2d /dev-qt | |
parent | Remove pam ebuild as this is now in the official musl overlay (diff) | |
download | ennui-bcbec06530c77dcea1c25b4a29f863785e69f40a.tar.gz ennui-bcbec06530c77dcea1c25b4a29f863785e69f40a.tar.bz2 ennui-bcbec06530c77dcea1c25b4a29f863785e69f40a.zip |
Add qtnetwork package that will build against libressl
Diffstat (limited to 'dev-qt')
-rw-r--r-- | dev-qt/qtnetwork/Manifest | 5 | ||||
-rw-r--r-- | dev-qt/qtnetwork/files/qtnetwork-5.5-libressl.patch | 36 | ||||
-rw-r--r-- | dev-qt/qtnetwork/files/qtnetwork-5.5-socklen_t.patch | 40 | ||||
-rw-r--r-- | dev-qt/qtnetwork/metadata.xml | 17 | ||||
-rw-r--r-- | dev-qt/qtnetwork/qtnetwork-5.5.1-r99.ebuild | 59 |
5 files changed, 157 insertions, 0 deletions
diff --git a/dev-qt/qtnetwork/Manifest b/dev-qt/qtnetwork/Manifest new file mode 100644 index 0000000..994f773 --- /dev/null +++ b/dev-qt/qtnetwork/Manifest @@ -0,0 +1,5 @@ +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 +DIST qtbase-opensource-src-5.5.1.tar.xz 46389212 SHA256 dfa4e8a4d7e4c6b69285e7e8833eeecd819987e1bdbe5baa6b6facd4420de916 SHA512 4d31de136870025dfb7544f255798884af1ad4f3060b0c00a0467c98af1f7de368eb298d4c52ba6d1ad27e36060b30c0314ce7ba0744b15642420ec89587a575 WHIRLPOOL 8975a54a720105d1b12b4f50072b98157f6a91020ecd7bad12ab4a92b7ac4663713a82e87f033cc6ad49602a5f9468c6d3ee23120be6c15d63e55ea0b5a343c4 +EBUILD qtnetwork-5.5.1-r99.ebuild 1299 SHA256 4b597c298b0005eff6f02a6b3a7ef9f9f858720c2082d04a042a4a18b822ea55 SHA512 1075d1820acbf69b753a04e780213ed221f4edbe7ef8d516c73206eca972fc6e1c6ce8ebea9ef937441afacb82e21e4dfb3caafde963bda14b1d5eceacdf72e9 WHIRLPOOL 82168f93002f2b717b5af8e9e829b0cfbfeb71578f798383d47b4554407e9738b70bd472dda4ab97df3b3c6abdd27cb44e8090d1ae9fed54b56c074bdb1fd63a +MISC metadata.xml 654 SHA256 911221413accf92b54fe5cfc263d91fea8cfac0a061f059644b75505284ad7a6 SHA512 a7a4c6d11cabf153f239e92fe43e6273cf2adb5ea1d5f92f94f0cbb0382ed96c7575b0b6c181acd8e898f008c31f7c5777c60303f47e9588fb3c1e3fdb353252 WHIRLPOOL d26401c6f045298c538e06da0b56dd114ecf16d428dba383defa3c0d1f7cb759c3608162b38afb644e3ea8f717737c8fb0bbd38636656a5d87680c1d13856b5a diff --git a/dev-qt/qtnetwork/files/qtnetwork-5.5-libressl.patch b/dev-qt/qtnetwork/files/qtnetwork-5.5-libressl.patch new file mode 100644 index 0000000..c49be2f --- /dev/null +++ b/dev-qt/qtnetwork/files/qtnetwork-5.5-libressl.patch @@ -0,0 +1,36 @@ +From 81494e67eccba04fc3fe554d76a9ca6fe7f2250e Mon Sep 17 00:00:00 2001 +From: hasufell <hasufell@gentoo.org> +Date: Sat, 10 Oct 2015 01:15:01 +0200 +Subject: [PATCH] Fix compilation with libressl + +By additionally checking for defined(SSL_CTRL_SET_CURVES), which +is defined in openssl, but not in libressl. +--- + src/network/ssl/qsslcontext_openssl.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp +index b88ab54..cfc4f6d 100644 +--- a/src/network/ssl/qsslcontext_openssl.cpp ++++ b/src/network/ssl/qsslcontext_openssl.cpp +@@ -338,7 +338,7 @@ init_context: + + const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves(); + if (!qcurves.isEmpty()) { +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC) + // Set the curves to be used + if (q_SSLeay() >= 0x10002000L) { + // SSL_CTX_ctrl wants a non-const pointer as last argument, +@@ -352,7 +352,7 @@ init_context: + return sslContext; + } + } else +-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) ++#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && 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")); +-- +2.6.0 + diff --git a/dev-qt/qtnetwork/files/qtnetwork-5.5-socklen_t.patch b/dev-qt/qtnetwork/files/qtnetwork-5.5-socklen_t.patch new file mode 100644 index 0000000..dd8c335 --- /dev/null +++ b/dev-qt/qtnetwork/files/qtnetwork-5.5-socklen_t.patch @@ -0,0 +1,40 @@ +From 813f468a14fb84af43c1f8fc0a1430277358eba2 Mon Sep 17 00:00:00 2001 +From: Dave Flogeras <dflogeras2@gmail.com> +Date: Tue, 29 Sep 2015 08:52:31 -0300 +Subject: [PATCH] Fix for platform socklen_t on other C libraries than glibc. + +Rather than treating >=glibc-2 specially, we treat <glibc-2 specially +and all other libc implementations as POSIX. + +This was found here http://patchwork.openembedded.org/patch/94947/ and +tested with armv6j-hardfloat-linux-uclibceabi and +armv6j-hardfloat-linux-musleabi. + +Change-Id: I3850b1561a2e240f6564afedd80ce39407cc50b6 +Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> +Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> +--- + mkspecs/linux-g++/qplatformdefs.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h +index 5c18632..95a5758 100644 +--- a/mkspecs/linux-g++/qplatformdefs.h ++++ b/mkspecs/linux-g++/qplatformdefs.h +@@ -78,10 +78,10 @@ + + #undef QT_SOCKLEN_T + +-#if defined(__GLIBC__) && (__GLIBC__ >= 2) +-#define QT_SOCKLEN_T socklen_t +-#else ++#if defined(__GLIBC__) && (__GLIBC__ < 2) + #define QT_SOCKLEN_T int ++#else ++#define QT_SOCKLEN_T socklen_t + #endif + + #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) +-- +2.6.0 + diff --git a/dev-qt/qtnetwork/metadata.xml b/dev-qt/qtnetwork/metadata.xml new file mode 100644 index 0000000..651a7c8 --- /dev/null +++ b/dev-qt/qtnetwork/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>qt</herd> + <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>http://doc.qt.io/</doc> + </upstream> +</pkgmetadata> diff --git a/dev-qt/qtnetwork/qtnetwork-5.5.1-r99.ebuild b/dev-qt/qtnetwork/qtnetwork-5.5.1-r99.ebuild new file mode 100644 index 0000000..bb11673 --- /dev/null +++ b/dev-qt/qtnetwork/qtnetwork-5.5.1-r99.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +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 ~ppc64 ~x86" +fi + +IUSE="bindist connman libproxy 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? ( dev-libs/openssl:0[bindist=] ) +" +RDEPEND="${DEPEND} + connman? ( net-misc/connman ) + networkmanager? ( net-misc/networkmanager ) +" + +PATCHES=( + "${FILESDIR}/${PN}-5.5-socklen_t.patch" # bug 554556 + "${FILESDIR}/${PN}-5.5-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 +} |