From 000cfb81760ad66246571d950395a70aa9f62976 Mon Sep 17 00:00:00 2001 From: Willy Sudiarto Raharjo Date: Thu, 5 May 2016 07:47:27 +0700 Subject: [PATCH] libraries/qt5: Fix build against nss 3.23. Signed-off-by: Willy Sudiarto Raharjo --- libraries/qt5/qt5-nss.patch | 83 ++++++++++++++++++++++++++++++++++++ libraries/qt5/qt5.SlackBuild | 6 ++- 2 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 libraries/qt5/qt5-nss.patch diff --git a/libraries/qt5/qt5-nss.patch b/libraries/qt5/qt5-nss.patch new file mode 100644 index 0000000000..3974989037 --- /dev/null +++ b/libraries/qt5/qt5-nss.patch @@ -0,0 +1,83 @@ +QTBUG-51890: qtwebengine fails to build with system nss 3.23 +Patch obtained from: +https://github.com/qtproject/qtwebengine/commit/82900c7b96b2a6fb42fe3841df7685b820edd588.patch + +And modified to exclude the "Subproject commit" lines. + +# ---------------------------------------------------------------------------- + +From 82900c7b96b2a6fb42fe3841df7685b820edd588 Mon Sep 17 00:00:00 2001 +From: Kai Koehne +Date: Thu, 24 Mar 2016 13:55:28 +0100 +Subject: [PATCH] Use system NSS only for certificate handling + +Compiling against NSS 3.23 fails with current Chromium. Also, with NSS +3.21 there are failures connecting to e.g. google.com. + +Fix this by adapting the setup endorsed by upstream Chromium: BoringSSL +is always used for cryptography, and NSS only for certificate handlng. + +Patches included in 3rdparty update: + +0a385bb [backport] Call EnsureNSSHttpIOInit in the chimera build. +0472123 Fix build against newer NSS +90c62c4 [Backport] update to libpng 1.2.56 +34857b8 [Backport] Stop large iCCP chunks causing delays and "Aw Snap!" + +Task-number: QTBUG-52193 +Task-number: QTBUG-51890 +Task-number: QTBUG-52068 +Change-Id: If8aaed9b9a09475c5ed0dfec64d31f45ce9670f5 +Reviewed-by: Allan Sandfeld Jensen +--- + src/3rdparty | 2 +- + src/core/config/linux.pri | 9 ++++++--- + tools/qmake/mkspecs/features/configure.prf | 4 ++-- + 3 files changed, 9 insertions(+), 6 deletions(-) + +#diff --git a/src/3rdparty b/src/3rdparty +#index 3b2b78c..0a385bb 160000 +#--- a/src/3rdparty +#+++ b/src/3rdparty +#@@ -1 +1 @@ +#-Subproject commit 3b2b78caa761db2b7b25dc51c3dae8316f595db1 +#+Subproject commit 0a385bb01d9cf060fae4c9d350ee98561654df96 +diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri +index 88c1a41..39eeb2a 100644 +--- a/src/core/config/linux.pri ++++ b/src/core/config/linux.pri +@@ -18,11 +18,14 @@ GYP_CONFIG += \ + use_gio=0 \ + use_gnome_keyring=0 \ + use_kerberos=0 \ +- use_pango=0 ++ use_pango=0 \ ++ use_openssl=1 + +-!use?(nss) { ++use?(nss) { ++ GYP_CONFIG += use_nss_certs=1 \ ++ use_openssl_certs=0 ++} else { + GYP_CONFIG += use_nss_certs=0 \ +- use_openssl=1 \ + use_openssl_certs=1 + } + +diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf +index 4cb4600..953572d 100644 +--- a/tools/qmake/mkspecs/features/configure.prf ++++ b/tools/qmake/mkspecs/features/configure.prf +@@ -72,9 +72,9 @@ defineTest(runConfigure) { + defineTest(finalizeConfigure) { + linux { + use?(nss) { +- log("SSL............................... Using system NSS$${EOL}") ++ log("Certificate handling.............. Using system NSS$${EOL}") + } else { +- log("SSL............................... Using bundled BoringSSL$${EOL}") ++ log("Certificate handling.............. Using bundled BoringSSL$${EOL}") + } + use?(system_icu) { + packagesExist("icu-uc icu-i18n") { + diff --git a/libraries/qt5/qt5.SlackBuild b/libraries/qt5/qt5.SlackBuild index 4d61d8b4b0..52a13e746f 100644 --- a/libraries/qt5/qt5.SlackBuild +++ b/libraries/qt5/qt5.SlackBuild @@ -47,7 +47,7 @@ PRGNAM=qt5 VERSION=${VERSION:-5.5.1} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -119,6 +119,10 @@ else RELOCATIONS="" fi +# Patch for qtwebengine against nss 3.23 +cd qtwebengine +cat $CWD/patches/qt5-nss.patch | patch -p1 --verbose || exit 1 +cd .. sed -i "s|-O2|$SLKCFLAGS|" qtbase/mkspecs/common/gcc-base.conf # Build examples. Default is no.