aboutsummaryrefslogtreecommitdiff
path: root/dev-qt
diff options
context:
space:
mode:
authorNicholas Fish <gentoo@seaofdirac.net>2016-01-07 21:24:00 +0100
committerNicholas Fish <gentoo@seaofdirac.net>2016-01-07 21:24:00 +0100
commitbcbec06530c77dcea1c25b4a29f863785e69f40a (patch)
tree99068da1c6acd0568e61b52a7e62a4685fc47e2d /dev-qt
parentRemove pam ebuild as this is now in the official musl overlay (diff)
downloadennui-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/Manifest5
-rw-r--r--dev-qt/qtnetwork/files/qtnetwork-5.5-libressl.patch36
-rw-r--r--dev-qt/qtnetwork/files/qtnetwork-5.5-socklen_t.patch40
-rw-r--r--dev-qt/qtnetwork/metadata.xml17
-rw-r--r--dev-qt/qtnetwork/qtnetwork-5.5.1-r99.ebuild59
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
+}