Gentoo Archives: gentoo-commits

From: Stefan Strogin <stefan.strogin@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtnetwork/files/, dev-qt/qtnetwork/
Date: Sat, 02 Mar 2019 00:51:42
Message-Id: 1551487842.e7ebc1bc36959b7a842b5800b4459dd444c3b5d6.steils@gentoo
1 commit: e7ebc1bc36959b7a842b5800b4459dd444c3b5d6
2 Author: Stefan Strogin <stefan.strogin <AT> gmail <DOT> com>
3 AuthorDate: Sat Mar 2 00:50:42 2019 +0000
4 Commit: Stefan Strogin <stefan.strogin <AT> gmail <DOT> com>
5 CommitDate: Sat Mar 2 00:50:42 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=e7ebc1bc
7
8 dev-qt/qtnetwork: bump version to 5.12.1; add patch
9
10 Bug: https://bugs.gentoo.org/562050
11 Package-Manager: Portage-2.3.62, Repoman-2.3.12
12 Signed-off-by: Stefan Strogin <stefan.strogin <AT> gmail.com>
13
14 dev-qt/qtnetwork/Manifest | 1 +
15 .../files/qtnetwork-5.12.1-libressl.patch | 93 ++++++++++++++++++++++
16 dev-qt/qtnetwork/qtnetwork-5.12.1.ebuild | 67 ++++++++++++++++
17 3 files changed, 161 insertions(+)
18
19 diff --git a/dev-qt/qtnetwork/Manifest b/dev-qt/qtnetwork/Manifest
20 index 69f23c6..95f102a 100644
21 --- a/dev-qt/qtnetwork/Manifest
22 +++ b/dev-qt/qtnetwork/Manifest
23 @@ -1 +1,2 @@
24 DIST qtbase-everywhere-src-5.11.3.tar.xz 46997676 BLAKE2B a70089be5530dec0eedcd5ba990140b375261dea5c85ea7d1dbb5b0bd09ee23edbb4917851127686b5f3cac6969a284eb91ab075ebe53326e69e99e81b257da0 SHA512 93865e41c994211456a575b085c2e7491b7975a1c3b4deb48e9616b51104eb990c1fcfd53d5fb2146ba22457cb134e6254e9077ba73c8b4c4b4d1d525e66fb65
25 +DIST qtbase-everywhere-src-5.12.1.tar.xz 48239912 BLAKE2B 99a92c2134a20d5f52a1ae69e5d248f12e4668308f894ead17927a778558b4fcd598f5f5208527a77e20550d7eb77502253cae91ad19f61ff422a1ff52e84060 SHA512 51494d8947ae16ab7aee22aca156035718f5a700737547de59b4d61d3919c00f4de858111c8928a66c0385604623d847d231892d964d53924a8c97b6e2bedf25
26
27 diff --git a/dev-qt/qtnetwork/files/qtnetwork-5.12.1-libressl.patch b/dev-qt/qtnetwork/files/qtnetwork-5.12.1-libressl.patch
28 new file mode 100644
29 index 0000000..bd86269
30 --- /dev/null
31 +++ b/dev-qt/qtnetwork/files/qtnetwork-5.12.1-libressl.patch
32 @@ -0,0 +1,93 @@
33 +diff --git a/src/network/configure.json b/src/network/configure.json
34 +index f3e18662aa..8990763756 100644
35 +--- a/src/network/configure.json
36 ++++ b/src/network/configure.json
37 +@@ -165,7 +165,7 @@
38 + "test": {
39 + "include": "openssl/opensslv.h",
40 + "tail": [
41 +- "#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L",
42 ++ "#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)",
43 + "# error OpenSSL >= 1.1 is required",
44 + "#endif"
45 + ]
46 +diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
47 +index 35cca9f01a..03afdc5945 100644
48 +--- a/src/network/ssl/qsslcontext_openssl.cpp
49 ++++ b/src/network/ssl/qsslcontext_openssl.cpp
50 +@@ -249,7 +249,7 @@ void QSslContext::applyBackendConfig(QSslContext *sslContext)
51 + if (sslContext->sslConfiguration.backendConfiguration().isEmpty())
52 + return;
53 +
54 +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
55 ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
56 + if (QSslSocket::sslLibraryVersionNumber() >= 0x10002000L) {
57 + QSharedPointer<SSL_CONF_CTX> cctx(q_SSL_CONF_CTX_new(), &q_SSL_CONF_CTX_free);
58 + if (cctx) {
59 +diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
60 +index 299df6b685..670314d7e5 100644
61 +--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
62 ++++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
63 +@@ -216,8 +216,13 @@ DEFINEFUNC3(void *, ASN1_dup, i2d_of_void *a, a, d2i_of_void *b, b, char *c, c,
64 + #endif
65 + DEFINEFUNC2(BIO *, BIO_new_file, const char *filename, filename, const char *mode, mode, return nullptr, return)
66 + DEFINEFUNC(void, ERR_clear_error, DUMMYARG, DUMMYARG, return, DUMMYARG)
67 ++#ifdef LIBRESSL_VERSION_NUMBER
68 ++DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return nullptr, return)
69 ++DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return nullptr, return)
70 ++#else
71 + DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return nullptr, return)
72 + DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return nullptr, return)
73 ++#endif
74 + DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
75 + DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
76 + DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
77 +@@ -443,7 +448,7 @@ DEFINEFUNC2(int, SSL_CTX_use_PrivateKey, SSL_CTX *a, a, EVP_PKEY *b, b, return -
78 + DEFINEFUNC2(int, SSL_CTX_use_RSAPrivateKey, SSL_CTX *a, a, RSA *b, b, return -1, return)
79 + DEFINEFUNC3(int, SSL_CTX_use_PrivateKey_file, SSL_CTX *a, a, const char *b, b, int c, c, return -1, return)
80 + DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *a, a, return nullptr, return)
81 +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
82 ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
83 + DEFINEFUNC(SSL_CONF_CTX *, SSL_CONF_CTX_new, DUMMYARG, DUMMYARG, return nullptr, return);
84 + DEFINEFUNC(void, SSL_CONF_CTX_free, SSL_CONF_CTX *a, a, return ,return);
85 + DEFINEFUNC2(void, SSL_CONF_CTX_set_ssl_ctx, SSL_CONF_CTX *a, a, SSL_CTX *b, b, return, return);
86 +@@ -1246,7 +1251,7 @@ bool q_resolveOpenSslSymbols()
87 + RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey)
88 + RESOLVEFUNC(SSL_CTX_use_PrivateKey_file)
89 + RESOLVEFUNC(SSL_CTX_get_cert_store);
90 +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
91 ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
92 + RESOLVEFUNC(SSL_CONF_CTX_new);
93 + RESOLVEFUNC(SSL_CONF_CTX_free);
94 + RESOLVEFUNC(SSL_CONF_CTX_set_ssl_ctx);
95 +diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
96 +index bfdfbf0efc..ad2bd4056b 100644
97 +--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
98 ++++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
99 +@@ -359,7 +359,7 @@ int q_SSL_CTX_use_PrivateKey(SSL_CTX *a, EVP_PKEY *b);
100 + int q_SSL_CTX_use_RSAPrivateKey(SSL_CTX *a, RSA *b);
101 + int q_SSL_CTX_use_PrivateKey_file(SSL_CTX *a, const char *b, int c);
102 + X509_STORE *q_SSL_CTX_get_cert_store(const SSL_CTX *a);
103 +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
104 ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
105 + SSL_CONF_CTX *q_SSL_CONF_CTX_new();
106 + void q_SSL_CONF_CTX_free(SSL_CONF_CTX *a);
107 + void q_SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *a, SSL_CTX *b);
108 +diff --git a/src/network/ssl/qsslsocket_opensslpre11_symbols_p.h b/src/network/ssl/qsslsocket_opensslpre11_symbols_p.h
109 +index b7bac5d2a2..9a1a89b0e4 100644
110 +--- a/src/network/ssl/qsslsocket_opensslpre11_symbols_p.h
111 ++++ b/src/network/ssl/qsslsocket_opensslpre11_symbols_p.h
112 +@@ -78,8 +78,13 @@
113 + unsigned char * q_ASN1_STRING_data(ASN1_STRING *a);
114 + BIO *q_BIO_new_file(const char *filename, const char *mode);
115 + void q_ERR_clear_error();
116 ++#ifdef LIBRESSL_VERSION_NUMBER
117 ++Q_AUTOTEST_EXPORT BIO *q_BIO_new(const BIO_METHOD *a);
118 ++Q_AUTOTEST_EXPORT const BIO_METHOD *q_BIO_s_mem();
119 ++#else
120 + Q_AUTOTEST_EXPORT BIO *q_BIO_new(BIO_METHOD *a);
121 + Q_AUTOTEST_EXPORT BIO_METHOD *q_BIO_s_mem();
122 ++#endif
123 + int q_CRYPTO_num_locks();
124 + void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int));
125 + void q_CRYPTO_set_id_callback(unsigned long (*a)());
126
127 diff --git a/dev-qt/qtnetwork/qtnetwork-5.12.1.ebuild b/dev-qt/qtnetwork/qtnetwork-5.12.1.ebuild
128 new file mode 100644
129 index 0000000..1362f6b
130 --- /dev/null
131 +++ b/dev-qt/qtnetwork/qtnetwork-5.12.1.ebuild
132 @@ -0,0 +1,67 @@
133 +# Copyright 1999-2019 Gentoo Authors
134 +# Distributed under the terms of the GNU General Public License v2
135 +
136 +EAPI=6
137 +QT5_MODULE="qtbase"
138 +inherit qt5-build
139 +
140 +DESCRIPTION="Network abstraction library for the Qt5 framework"
141 +
142 +if [[ ${QT5_BUILD_TYPE} == release ]]; then
143 + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
144 +fi
145 +
146 +IUSE="bindist connman libproxy libressl networkmanager sctp +ssl"
147 +
148 +DEPEND="
149 + ~dev-qt/qtcore-${PV}
150 + sys-libs/zlib:=
151 + connman? ( ~dev-qt/qtdbus-${PV} )
152 + libproxy? ( net-libs/libproxy )
153 + networkmanager? ( ~dev-qt/qtdbus-${PV} )
154 + sctp? ( kernel_linux? ( net-misc/lksctp-tools ) )
155 + ssl? (
156 + !libressl? ( dev-libs/openssl:0=[bindist=] )
157 + libressl? ( dev-libs/libressl:0= )
158 + )
159 +"
160 +RDEPEND="${DEPEND}
161 + connman? ( net-misc/connman )
162 + networkmanager? ( net-misc/networkmanager )
163 +"
164 +
165 +PATCHES=(
166 + "${FILESDIR}"/${P}-libressl.patch
167 +)
168 +
169 +QT5_TARGET_SUBDIRS=(
170 + src/network
171 + src/plugins/bearer/generic
172 +)
173 +
174 +QT5_GENTOO_CONFIG=(
175 + libproxy:libproxy:
176 + ssl::SSL
177 + ssl::OPENSSL
178 + ssl:openssl-linked:LINKED_OPENSSL
179 +)
180 +
181 +QT5_GENTOO_PRIVATE_CONFIG=(
182 + :network
183 +)
184 +
185 +pkg_setup() {
186 + use connman && QT5_TARGET_SUBDIRS+=(src/plugins/bearer/connman)
187 + use networkmanager && QT5_TARGET_SUBDIRS+=(src/plugins/bearer/networkmanager)
188 +}
189 +
190 +src_configure() {
191 + local myconf=(
192 + $(usex connman -dbus-linked '')
193 + $(qt_use libproxy)
194 + $(usex networkmanager -dbus-linked '')
195 + $(qt_use sctp)
196 + $(usex ssl -openssl-linked '')
197 + )
198 + qt5-build_src_configure
199 +}