pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/x11/qt4-libs qt4-libs: Compile with openssl-1.1.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/474169b5686c
branches:  trunk
changeset: 374161:474169b5686c
user:      markd <markd%pkgsrc.org@localhost>
date:      Wed Jan 17 18:37:34 2018 +0000

description:
qt4-libs: Compile with openssl-1.1.0

diffstat:

 x11/qt4-libs/Makefile                                                                        |    4 +-
 x11/qt4-libs/distinfo                                                                        |   14 +-
 x11/qt4-libs/patches/patch-aq                                                                |   13 +-
 x11/qt4-libs/patches/patch-src_3rdparty_javascriptcore_JavaScriptCore_wtf_HashTable.h        |   14 +
 x11/qt4-libs/patches/patch-src_3rdparty_javascriptcore_JavaScriptCore_yarr_RegexCompiler.cpp |   15 +
 x11/qt4-libs/patches/patch-src_network_ssl_qsslcertificate.cpp                               |   76 ++++++
 x11/qt4-libs/patches/patch-src_network_ssl_qsslkey.cpp                                       |   26 ++
 x11/qt4-libs/patches/patch-src_network_ssl_qsslsocket__openssl.cpp                           |  119 ++++++++++
 x11/qt4-libs/patches/patch-src_network_ssl_qsslsocket__openssl__symbols.cpp                  |  119 +++++++++-
 x11/qt4-libs/patches/patch-src_network_ssl_qsslsocket__openssl__symbols__p.h                 |   98 +++++++-
 x11/qt4-libs/patches/patch-src_tools_moc_main.cpp                                            |   15 +
 11 files changed, 496 insertions(+), 17 deletions(-)

diffs (truncated from 645 to 300 lines):

diff -r b3af19c503f0 -r 474169b5686c x11/qt4-libs/Makefile
--- a/x11/qt4-libs/Makefile     Wed Jan 17 12:10:37 2018 +0000
+++ b/x11/qt4-libs/Makefile     Wed Jan 17 18:37:34 2018 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.121 2017/11/23 17:20:20 wiz Exp $
+# $NetBSD: Makefile,v 1.122 2018/01/17 18:37:34 markd Exp $
 
 PKGNAME=       qt4-libs-${QTVERSION}
-PKGREVISION=   9
+PKGREVISION=   10
 COMMENT=       C++ X GUI toolkit
 
 .include "../../x11/qt4-libs/Makefile.common"
diff -r b3af19c503f0 -r 474169b5686c x11/qt4-libs/distinfo
--- a/x11/qt4-libs/distinfo     Wed Jan 17 12:10:37 2018 +0000
+++ b/x11/qt4-libs/distinfo     Wed Jan 17 18:37:34 2018 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.113 2017/05/26 12:09:11 jperkin Exp $
+$NetBSD: distinfo,v 1.114 2018/01/17 18:37:34 markd Exp $
 
 SHA1 (qt-everywhere-opensource-src-4.8.7.tar.gz) = 76aef40335c0701e5be7bb3a9101df5d22fe3666
 RMD160 (qt-everywhere-opensource-src-4.8.7.tar.gz) = afb5e5a99388e6429faca59cb5000054feffd166
@@ -20,7 +20,7 @@
 SHA1 (patch-an) = 8aa6ceffb9acab4771d22b3184a1360227a81409
 SHA1 (patch-ao) = a63839ae22e0bf13ff40f5377df2bc36ca052d91
 SHA1 (patch-ap) = 86a2f5cce47607c8c453c63c6213d5efb48c8569
-SHA1 (patch-aq) = b861cbfacc5f91339fc5f56cd7eeaad90d25c5d9
+SHA1 (patch-aq) = 7533741c81086cd1992d3e96a47c28d9ade27cbc
 SHA1 (patch-ar) = ba839210b42532b1797604722442841e43acbae1
 SHA1 (patch-as) = b0962c535fc2e8da08bb78b9ebcb5cd678565058
 SHA1 (patch-au) = 397a18f84299026e21aee0079784f56698fc9c6b
@@ -44,8 +44,10 @@
 SHA1 (patch-src_3rdparty_javascriptcore_JavaScriptCore_runtime_Collector.cpp) = 93d5de2e9aff4dcc2e8317296801fac7e16ec613
 SHA1 (patch-src_3rdparty_javascriptcore_JavaScriptCore_runtime_Structure.cpp) = 156e99fa8594470be4e89e212408258824044e41
 SHA1 (patch-src_3rdparty_javascriptcore_JavaScriptCore_runtime_Structure.h) = b822a84aae7e125cb56b01bffdcfec07060d88f6
+SHA1 (patch-src_3rdparty_javascriptcore_JavaScriptCore_wtf_HashTable.h) = a6c8fec7d1919a1fed3cb77b7b4ce9a0f496153f
 SHA1 (patch-src_3rdparty_javascriptcore_JavaScriptCore_wtf_RefCountedLeakCounter.h) = 3b70ecb3a95944a3dd4a26c7b5c53e44aa89de1a
 SHA1 (patch-src_3rdparty_javascriptcore_JavaScriptCore_wtf_TypeTraits.h) = f23437f6e4b47f999d4fc2c576c5e7a63446b9da
+SHA1 (patch-src_3rdparty_javascriptcore_JavaScriptCore_yarr_RegexCompiler.cpp) = f02b0174b6cf4093b210bcd32ef21d06a369b61f
 SHA1 (patch-src_3rdparty_javascriptcore_JavaScriptCore_yarr_RegexJIT.h) = b625c9edd3b3febc1338240549c32fb50ed0a5f4
 SHA1 (patch-src_3rdparty_sqlite_sqlite3.c) = 29685d814c8b2b0514987340a09871c719fc4a3f
 SHA1 (patch-src_3rdparty_webkit_Source_JavaScriptCore_heap_MachineStackMarker.cpp) = cbce2e10307d26163a76266c0ceee315a609d63d
@@ -75,8 +77,12 @@
 SHA1 (patch-src_corelib_io_qfilesystemwatcher.cpp) = bb16b95d20286b1aa069dc25843d7e0067cc0268
 SHA1 (patch-src_corelib_thread_qthread__unix.cpp) = 67fbdc29d6da0aa7309a7aeb653a5abf10bd4d78
 SHA1 (patch-src_gui_painting_qpaintengine__mac.cpp) = dc44116d5d138020e5d525ec5b7fd0f1b44ebeca
-SHA1 (patch-src_network_ssl_qsslsocket__openssl__symbols.cpp) = 3ad682b86d2e9bd2b282caa298508dc3e9dd8566
-SHA1 (patch-src_network_ssl_qsslsocket__openssl__symbols__p.h) = 417846ba9edab8638cafa41a54ef60029467ef80
+SHA1 (patch-src_network_ssl_qsslcertificate.cpp) = 92d6a3cd5deacd75ada210bed56f4d4ba749d2ba
+SHA1 (patch-src_network_ssl_qsslkey.cpp) = f17f52ba3aa37c9b2211dfcf1c7c2c12aa5d6473
+SHA1 (patch-src_network_ssl_qsslsocket__openssl.cpp) = 145fb594ba1e5153b0811ff37eb2a4bb1c41b4ba
+SHA1 (patch-src_network_ssl_qsslsocket__openssl__symbols.cpp) = f990be585d06082c5febc26f954901801fbd39f8
+SHA1 (patch-src_network_ssl_qsslsocket__openssl__symbols__p.h) = da87bd6f685f19d50e239787309bf73ce6ad08df
 SHA1 (patch-src_plugins_accessible_widgets_itemviews.cpp) = 1456fbaacef33f3b2422158d758d02990845048a
 SHA1 (patch-src_tools_bootstrap_bootstrap.pro) = ba6f4facabb621388f38ee95f31e8d6f797ae12a
+SHA1 (patch-src_tools_moc_main.cpp) = 66d6f58944e8c504a02ab91623700a852f930704
 SHA1 (patch-tools_linguist_linguist_messagemodel.cpp) = 7bb6982389a65724fd18dff0c56d72e792e13c11
diff -r b3af19c503f0 -r 474169b5686c x11/qt4-libs/patches/patch-aq
--- a/x11/qt4-libs/patches/patch-aq     Wed Jan 17 12:10:37 2018 +0000
+++ b/x11/qt4-libs/patches/patch-aq     Wed Jan 17 18:37:34 2018 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-aq,v 1.18 2017/05/26 12:09:11 jperkin Exp $
+$NetBSD: patch-aq,v 1.19 2018/01/17 18:37:34 markd Exp $
 
 --- configure.orig     2015-05-07 14:14:56.000000000 +0000
 +++ configure
@@ -88,7 +88,7 @@
        # Check gcc's version
        case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
 -          4*)
-+          5*|4*)
++          6*|5*|4*)
                ;;
            3.4*)
                canBuildQtXmlPatterns="no"
@@ -110,6 +110,15 @@
          # Avoid overriding the default settings when building clang/libc++.
          ;;
      *)
+@@ -8050,7 +8063,7 @@ g++*)
+     3.*)
+         COMPILER_VERSION="3.*"
+         ;;
+-    5*|4.*)
++    6*|5*|4.*)
+         COMPILER_VERSION="4"
+         ;;
+     *)
 @@ -8485,7 +8498,7 @@ QMakeVar set sql-plugins "$SQL_PLUGINS"
  [ "$CFG_EXCEPTIONS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EXCEPTIONS"
  [ "$CFG_IPV6" = "no" ]       && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_IPV6"
diff -r b3af19c503f0 -r 474169b5686c x11/qt4-libs/patches/patch-src_3rdparty_javascriptcore_JavaScriptCore_wtf_HashTable.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/qt4-libs/patches/patch-src_3rdparty_javascriptcore_JavaScriptCore_wtf_HashTable.h     Wed Jan 17 18:37:34 2018 +0000
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_3rdparty_javascriptcore_JavaScriptCore_wtf_HashTable.h,v 1.4 2018/01/17 18:37:34 markd Exp $
+
+--- src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h.orig    2015-05-07 14:14:48.000000000 +0000
++++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h
+@@ -257,7 +257,8 @@ namespace WTF {
+ 
+     using std::swap;
+ 
+-#if !COMPILER(MSVC) && !OS(QNX) && !defined(_LIBCPP_VERSION)
++#if 0 
++    !COMPILER(MSVC) && !OS(QNX) && !defined(_LIBCPP_VERSION)
+     // The Dinkumware C++ library (used by MSVC and QNX) and clang's libc++ have a swap for pairs defined.
+ 
+     // swap pairs by component, in case of pair members that specialize swap
diff -r b3af19c503f0 -r 474169b5686c x11/qt4-libs/patches/patch-src_3rdparty_javascriptcore_JavaScriptCore_yarr_RegexCompiler.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/qt4-libs/patches/patch-src_3rdparty_javascriptcore_JavaScriptCore_yarr_RegexCompiler.cpp      Wed Jan 17 18:37:34 2018 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_3rdparty_javascriptcore_JavaScriptCore_yarr_RegexCompiler.cpp,v 1.1 2018/01/17 18:37:34 markd Exp $
+
+function doesnt return a boolean
+
+--- src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexCompiler.cpp.orig     2015-05-07 14:14:47.000000000 +0000
++++ src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexCompiler.cpp
+@@ -719,7 +719,7 @@ const char* compileRegex(const UString&
+ 
+     constructor.setupOffsets();
+ 
+-    return false;
++    return 0;
+ };
+ 
+ 
diff -r b3af19c503f0 -r 474169b5686c x11/qt4-libs/patches/patch-src_network_ssl_qsslcertificate.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/qt4-libs/patches/patch-src_network_ssl_qsslcertificate.cpp    Wed Jan 17 18:37:34 2018 +0000
@@ -0,0 +1,76 @@
+$NetBSD: patch-src_network_ssl_qsslcertificate.cpp,v 1.3 2018/01/17 18:37:34 markd Exp $
+
+Compile with openssl-1.1.0 http://bugs.debian.org/828522 via archlinux
+
+--- src/network/ssl/qsslcertificate.cpp.orig   2015-05-07 14:14:44.000000000 +0000
++++ src/network/ssl/qsslcertificate.cpp
+@@ -259,10 +259,10 @@ void QSslCertificate::clear()
+ QByteArray QSslCertificate::version() const
+ {
+     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
+-    if (d->versionString.isEmpty() && d->x509)
++    if (d->versionString.isEmpty() && d->x509) {
+         d->versionString =
+-            QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
+-
++          QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1);
++    }
+     return d->versionString;
+ }
+ 
+@@ -276,7 +276,7 @@ QByteArray QSslCertificate::serialNumber
+ {
+     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
+     if (d->serialNumberString.isEmpty() && d->x509) {
+-        ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
++        ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
+         // if we cannot convert to a long, just output the hexadecimal number
+         if (serialNumber->length > 4) {
+             QByteArray hexString;
+@@ -489,24 +489,33 @@ QSslKey QSslCertificate::publicKey() con
+     QSslKey key;
+ 
+     key.d->type = QSsl::PublicKey;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+     X509_PUBKEY *xkey = d->x509->cert_info->key;
++#else
++    X509_PUBKEY *xkey = q_X509_get_X509_PUBKEY(d->x509);
++#endif
+     EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
+     Q_ASSERT(pkey);
+ 
+-    if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
++    int key_id;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++    key_id = q_EVP_PKEY_type(pkey->type);
++#else
++    key_id = q_EVP_PKEY_base_id(pkey);
++#endif
++    if (key_id == EVP_PKEY_RSA) {
+         key.d->rsa = q_EVP_PKEY_get1_RSA(pkey);
+         key.d->algorithm = QSsl::Rsa;
+         key.d->isNull = false;
+-    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
++    } else if (key_id == EVP_PKEY_DSA) {
+         key.d->dsa = q_EVP_PKEY_get1_DSA(pkey);
+         key.d->algorithm = QSsl::Dsa;
+         key.d->isNull = false;
+-    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
++    } else if (key_id == EVP_PKEY_DH) {
+         // DH unsupported
+     } else {
+         // error?
+     }
+-
+     q_EVP_PKEY_free(pkey);
+     return key;
+ }
+@@ -687,7 +696,7 @@ static QMap<QString, QString> _q_mapFrom
+         unsigned char *data = 0;
+         int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e));
+         info[QString::fromUtf8(obj)] = QString::fromUtf8((char*)data, size);
+-        q_CRYPTO_free(data);
++        q_OPENSSL_free(data);
+     }
+     return info;
+ }
diff -r b3af19c503f0 -r 474169b5686c x11/qt4-libs/patches/patch-src_network_ssl_qsslkey.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/qt4-libs/patches/patch-src_network_ssl_qsslkey.cpp    Wed Jan 17 18:37:34 2018 +0000
@@ -0,0 +1,26 @@
+$NetBSD: patch-src_network_ssl_qsslkey.cpp,v 1.1 2018/01/17 18:37:34 markd Exp $
+
+Compile with openssl-1.1.0 http://bugs.debian.org/828522 via archlinux
+
+--- src/network/ssl/qsslkey.cpp.orig   2015-05-07 14:14:44.000000000 +0000
++++ src/network/ssl/qsslkey.cpp
+@@ -321,8 +321,19 @@ int QSslKey::length() const
+ {
+     if (d->isNull)
+         return -1;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+     return (d->algorithm == QSsl::Rsa)
+            ? q_BN_num_bits(d->rsa->n) : q_BN_num_bits(d->dsa->p);
++#else
++    if (d->algorithm == QSsl::Rsa) {
++        return q_RSA_bits(d->rsa);
++    }else{
++        const BIGNUM *p = NULL;
++        q_DSA_get0_pqg(d->dsa, &p, NULL, NULL);
++      return q_BN_num_bits(p);
++    }
++#endif
++
+ }
+ 
+ /*!
diff -r b3af19c503f0 -r 474169b5686c x11/qt4-libs/patches/patch-src_network_ssl_qsslsocket__openssl.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/qt4-libs/patches/patch-src_network_ssl_qsslsocket__openssl.cpp        Wed Jan 17 18:37:34 2018 +0000
@@ -0,0 +1,119 @@
+$NetBSD: patch-src_network_ssl_qsslsocket__openssl.cpp,v 1.3 2018/01/17 18:37:34 markd Exp $
+
+react to OPENSSL_NO_SSL3
+Compile with openssl-1.1.0 http://bugs.debian.org/828522 via archlinux
+
+--- src/network/ssl/qsslsocket_openssl.cpp.orig        2015-05-07 14:14:44.000000000 +0000
++++ src/network/ssl/qsslsocket_openssl.cpp
+@@ -93,6 +93,7 @@ bool QSslSocketPrivate::s_libraryLoaded
+ bool QSslSocketPrivate::s_loadedCiphersAndCerts = false;
+ bool QSslSocketPrivate::s_loadRootCertsOnDemand = false;
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ /* \internal
+ 
+     From OpenSSL's thread(3) manual page:
+@@ -174,6 +175,8 @@ static unsigned long id_function()
+ }
+ } // extern "C"
+ 
++#endif //OPENSSL_VERSION_NUMBER >= 0x10100000L
++
+ QSslSocketBackendPrivate::QSslSocketBackendPrivate()
+     : ssl(0),
+       ctx(0),
+@@ -222,9 +225,12 @@ QSslCipher QSslSocketBackendPrivate::QSs
+             ciph.d->encryptionMethod = descriptionList.at(4).mid(4);
+         ciph.d->exportable = (descriptionList.size() > 6 && descriptionList.at(6) == QLatin1String("export"));
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+         ciph.d->bits = cipher->strength_bits;
+         ciph.d->supportedBits = cipher->alg_bits;
+-
++#else
++      ciph.d->bits = q_SSL_CIPHER_get_bits(cipher, &ciph.d->supportedBits);
++#endif
+     }
+     return ciph;
+ }
+@@ -267,7 +273,11 @@ init_context:
+ #endif
+         break;
+     case QSsl::SslV3:
++#ifndef OPENSSL_NO_SSL3
+         ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
++#else
++      ctx = 0; // SSL 3 not supported by the system, but chosen deliberately -> error
++#endif
+         break;
+     case QSsl::SecureProtocols: // SslV2 will be disabled below
+     case QSsl::TlsV1SslV3: // SslV2 will be disabled below
+@@ -363,7 +373,7 @@ init_context:
+         //
+         // See also: QSslContext::fromConfiguration()
+         if (caCertificate.expiryDate() >= QDateTime::currentDateTime()) {
+-            q_X509_STORE_add_cert(ctx->cert_store, (X509 *)caCertificate.handle());
++        q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(ctx), (X509 *)caCertificate.handle());
+         }
+     }



Home | Main Index | Thread Index | Old Index