[Slackbuilds-users] qt5 5.5.1 fails to build with multiple jobs

Matteo Bernardini matteo.bernardini at gmail.com
Wed Mar 16 06:29:24 UTC 2016


2016-03-15 22:05 GMT+01:00 Larry Hajali <larryhaja at gmail.com>:
> So, I was able to recreate the issue Matteo posted on
> http://pastebin.com/6QcYEQVE using all optional dependencies and adding DOCS
> and EXAMPLES as yes.  Fortunately, I was able to create a patch that
> compiles qt5.
>
> The short answer of why it fails on Slackware -current is that the newer
> mozilla-nss package now defines CKM_NSS_CHACHA20_POLY1305 and
> CK_NSS_AEAD_PARAMS.  They were originally defined in ssl3con.c if
> CKM_NSS_CHACHA20_POLY1305 wasn't defined.  Also the nonce and nonce length
> for CK_NSS_AEAD_PARAMS, which were pIv and ulIvLen, are now renamed pNonce
> and ulNonceLen, respectively, in /usr/include/nss/pkcs11n.h.
> I'm still building qt5 but it is past the point where the error happens.
> I'm providing a patch to account for the updated headers in mozilla-nss
> package.
>
> Note that this patch won't work on Slackware 14.1.

Larry, thanks a lot for the patch! I just tested it and everything went fine.
if it's ok for you I will push it to our git grabbing the occasion to
include another small fix related to some other report we got (already
applied to the upstream git), regarding video cropping when using vlc
built over qt5 (verified also here): I just grabbed the patch from
Eric's vlc build directory.
I attach the diff waiting for your confirmation.

Matteo
-------------- next part --------------
diff -Naur qt5/patches/nss-update-sslv3-nonce.patch qt5.new/patches/nss-update-sslv3-nonce.patch
--- qt5/patches/nss-update-sslv3-nonce.patch	1970-01-01 01:00:00.000000000 +0100
+++ qt5.new/patches/nss-update-sslv3-nonce.patch	2016-03-15 23:13:32.835250047 +0100
@@ -0,0 +1,44 @@
+diff -Naur qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc
+--- qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc	2015-10-13 04:36:54.000000000 +0000
++++ qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc	2016-03-15 11:57:53.898988200 +0000
+@@ -66,9 +66,9 @@
+                                                AeadParams* aead_params) const {
+   aead_params->len = sizeof(aead_params->data.nss_aead_params);
+   CK_NSS_AEAD_PARAMS* nss_aead_params = &aead_params->data.nss_aead_params;
+-  nss_aead_params->pIv =
++  nss_aead_params->pNonce =
+       reinterpret_cast<CK_BYTE*>(const_cast<char*>(nonce.data()));
+-  nss_aead_params->ulIvLen = nonce.size();
++  nss_aead_params->ulNonceLen = nonce.size();
+   nss_aead_params->pAAD =
+       reinterpret_cast<CK_BYTE*>(const_cast<char*>(associated_data.data()));
+   nss_aead_params->ulAADLen = associated_data.size();
+diff -Naur qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc
+--- qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc	2015-10-13 04:36:54.000000000 +0000
++++ qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc	2016-03-15 11:57:53.902988200 +0000
+@@ -66,9 +66,9 @@
+                                                AeadParams* aead_params) const {
+   aead_params->len = sizeof(aead_params->data.nss_aead_params);
+   CK_NSS_AEAD_PARAMS* nss_aead_params = &aead_params->data.nss_aead_params;
+-  nss_aead_params->pIv =
++  nss_aead_params->pNonce =
+       reinterpret_cast<CK_BYTE*>(const_cast<char*>(nonce.data()));
+-  nss_aead_params->ulIvLen = nonce.size();
++  nss_aead_params->ulNonceLen = nonce.size();
+   nss_aead_params->pAAD =
+       reinterpret_cast<CK_BYTE*>(const_cast<char*>(associated_data.data()));
+   nss_aead_params->ulAADLen = associated_data.size();
+diff -Naur qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c
+--- qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c	2015-10-13 04:36:52.000000000 +0000
++++ qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c	2016-03-15 12:00:01.376986796 +0000
+@@ -2088,8 +2088,8 @@
+     param.len = sizeof(aeadParams);
+     param.data = (unsigned char *) &aeadParams;
+     memset(&aeadParams, 0, sizeof(aeadParams));
+-    aeadParams.pIv = (unsigned char *) additionalData;
+-    aeadParams.ulIvLen = 8;
++    aeadParams.pNonce = (unsigned char *) additionalData;
++    aeadParams.ulNonceLen = 8;
+     aeadParams.pAAD = (unsigned char *) additionalData;
+     aeadParams.ulAADLen = additionalDataLen;
+     aeadParams.ulTagLen = tagSize;
diff -Naur qt5/patches/qt5.whandle.patch qt5.new/patches/qt5.whandle.patch
--- qt5/patches/qt5.whandle.patch	1970-01-01 01:00:00.000000000 +0100
+++ qt5.new/patches/qt5.whandle.patch	2016-02-07 22:56:45.000000000 +0100
@@ -0,0 +1,24 @@
+From: Ulf Hermann <ulf.hermann at theqtcompany.com>
+Date: Tue, 27 Oct 2015 14:25:42 +0000 (+0100)
+Subject: WIP: Also do hide/show via WA_OutsideWSRange for native widgets
+X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=commitdiff_plain;h=5ea44d1d516f0c68a6793279df5c1569ef9fadd2
+
+WIP: Also do hide/show via WA_OutsideWSRange for native widgets
+
+Task-number: QTBUG-48321
+Change-Id: I78ef29975181ee22429c9bd4b11d96d9e68b7a9c
+---
+
+diff --git a/qtbase/src/widgets/kernel/qwidget.cpp b/qtbase/src/widgets/kernel/qwidget.cpp
+index a006246..024005d 100644
+--- a/qtbase/src/widgets/kernel/qwidget.cpp
++++ b/qtbase/src/widgets/kernel/qwidget.cpp
+@@ -7169,7 +7169,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
+ 
+     bool needsShow = false;
+ 
+-    if (q->isWindow()) {
++    if (q->isWindow() || q->windowHandle()) {
+         if (!(data.window_state & Qt::WindowFullScreen) && (w == 0 || h == 0)) {
+             q->setAttribute(Qt::WA_OutsideWSRange, true);
+             if (q->isVisible() && q->testAttribute(Qt::WA_Mapped))
diff -Naur qt5/qt5.SlackBuild qt5.new/qt5.SlackBuild
--- qt5/qt5.SlackBuild	2016-03-14 08:31:49.044454568 +0100
+++ qt5.new/qt5.SlackBuild	2016-03-15 23:17:34.467960322 +0100
@@ -47,7 +47,7 @@
 
 PRGNAM=qt5
 VERSION=${VERSION:-5.5.1}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
 TAG=${TAG:-_SBo}
 
 if [ -z "$ARCH" ]; then
@@ -105,6 +105,12 @@
 # https://bugs.webkit.org/show_bug.cgi?id=117077
 patch -p1 < $CWD/patches/platformplugin-install-path-fix.patch
 
+# Prevent cropped video in full-screen mode (QTBUG-48321).
+patch -p1 < $CWD/patches/qt5.whandle.patch
+
+# Patch for the newer mozilla-nss
+patch -p1 < $CWD/patches/nss-update-sslv3-nonce.patch
+
 # Limit -reduce-relocations to ix86 and x86_64.
 # https://bugreports.qt-project.org/browse/QTBUG-36129
 if echo $ARCH | grep -q '\(i.86\|x86_64\)' 2>/dev/null; then


More information about the SlackBuilds-users mailing list