Date: Friday, November 11, 2016 @ 22:07:30 Author: arojas Revision: 280589
archrelease: copy trunk to staging-i686, staging-x86_64 Added: qt5-webengine/repos/staging-i686/ qt5-webengine/repos/staging-i686/PKGBUILD (from rev 280588, qt5-webengine/trunk/PKGBUILD) qt5-webengine/repos/staging-i686/qt5-webengine-fno-delete-null-pointer-checks-2.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-fno-delete-null-pointer-checks-2.patch) qt5-webengine/repos/staging-i686/qt5-webengine-fno-delete-null-pointer-checks.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-fno-delete-null-pointer-checks.patch) qt5-webengine/repos/staging-i686/qt5-webengine-nss.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-nss.patch) qt5-webengine/repos/staging-x86_64/ qt5-webengine/repos/staging-x86_64/PKGBUILD (from rev 280588, qt5-webengine/trunk/PKGBUILD) qt5-webengine/repos/staging-x86_64/qt5-webengine-fno-delete-null-pointer-checks-2.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-fno-delete-null-pointer-checks-2.patch) qt5-webengine/repos/staging-x86_64/qt5-webengine-fno-delete-null-pointer-checks.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-fno-delete-null-pointer-checks.patch) qt5-webengine/repos/staging-x86_64/qt5-webengine-nss.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-nss.patch) ---------------------------------------------------------------------+ staging-i686/PKGBUILD | 66 ++++++++++ staging-i686/qt5-webengine-fno-delete-null-pointer-checks-2.patch | 50 +++++++ staging-i686/qt5-webengine-fno-delete-null-pointer-checks.patch | 27 ++++ staging-i686/qt5-webengine-nss.patch | 31 ++++ staging-x86_64/PKGBUILD | 66 ++++++++++ staging-x86_64/qt5-webengine-fno-delete-null-pointer-checks-2.patch | 50 +++++++ staging-x86_64/qt5-webengine-fno-delete-null-pointer-checks.patch | 27 ++++ staging-x86_64/qt5-webengine-nss.patch | 31 ++++ 8 files changed, 348 insertions(+) Copied: qt5-webengine/repos/staging-i686/PKGBUILD (from rev 280588, qt5-webengine/trunk/PKGBUILD) =================================================================== --- staging-i686/PKGBUILD (rev 0) +++ staging-i686/PKGBUILD 2016-11-11 22:07:30 UTC (rev 280589) @@ -0,0 +1,66 @@ +# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Andrea Scarpino <and...@archlinux.org> + +pkgname=qt5-webengine +_qtver=5.7.0 +pkgver=${_qtver/-/} +pkgrel=6 +arch=('i686' 'x86_64') +url='http://qt-project.org/' +license=('LGPL3' 'LGPL2.1' 'BSD') +pkgdesc='Provides support for web applications using the Chromium browser project' +depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'libxtst' 'libxcursor' 'libpulse' 'pciutils' 'libxss' 'libvpx' 'opus' + 'libevent' 'libsrtp' 'libwebp' 'snappy' 'nss' 'protobuf' 'libxslt') +makedepends=('python2' 'git' 'gperf' 'jsoncpp') +groups=('qt' 'qt5') +_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}" +source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" qt5-webengine-nss.patch + qt5-webengine-fno-delete-null-pointer-checks.patch qt5-webengine-fno-delete-null-pointer-checks-2.patch + qt5-webengine-glibc2.24.patch::"https://github.com/qt/qtwebengine-chromium/commit/b12ffcd4.patch") + +md5sums=('937f64886fbcb038d6fa4b44ae80cbeb' + '2a1610b34204102938a24154a52e5571' + '5671a16fef65152928789bffd1f7cf24' + '8145ce05fb86e762f012ca1b56f718fe' + '753154df82838d19a7629d56cec7b649') + +prepare() { + mkdir -p build + + # Hack to force using python2 + mkdir -p bin + ln -s /usr/bin/python2 bin/python + + # Fix opening some websites with recent NSS https://github.com/QupZilla/qupzilla/issues/1870 (KaOSx patch) + cd ${_pkgfqn} + # patch -p1 -i ../qt5-webengine-nss.patch + + # Workaround for v8 segfaults with GCC 6 + patch -p1 -i "$srcdir"/qt5-webengine-fno-delete-null-pointer-checks.patch + cd src/3rdparty + patch -p1 -i "$srcdir"/qt5-webengine-fno-delete-null-pointer-checks-2.patch + + # Fix segfault with glibc 2.24 + patch -p1 -i "$srcdir"/qt5-webengine-glibc2.24.patch +} + +build() { + cd build + + export PATH="$srcdir/bin:$PATH" + export CXXFLAGS+=" -fno-delete-null-pointer-checks" + qmake WEBENGINE_CONFIG+=use_proprietary_codecs ../${_pkgfqn} + make +} + +package() { + cd build + make INSTALL_ROOT="$pkgdir" install + + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir + find "$pkgdir/usr/lib" -type f -name '*.prl' \ + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; + + install -Dm644 "$srcdir"/${_pkgfqn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium +} Copied: qt5-webengine/repos/staging-i686/qt5-webengine-fno-delete-null-pointer-checks-2.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-fno-delete-null-pointer-checks-2.patch) =================================================================== --- staging-i686/qt5-webengine-fno-delete-null-pointer-checks-2.patch (rev 0) +++ staging-i686/qt5-webengine-fno-delete-null-pointer-checks-2.patch 2016-11-11 22:07:30 UTC (rev 280589) @@ -0,0 +1,50 @@ +From ba36da6c1f59da7687f6924cc558105dcd1c44dc Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jen...@theqtcompany.com> +Date: Fri, 10 Jun 2016 13:26:22 +0200 +Subject: [PATCH] Use -fno-delete-null-pointer-checks with gcc 6 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +V8 is not safe for removing null pointer checks. Until it is, we need +to disable optimizations in GCC that assume it is not doing something +wrong. + +This patch only enables it for v8, and requires it to be activated +by qtwebengine. + +Change-Id: I9da15ecf85719f211ba921a620e9d195eff26178 +Task-number: QTBUG-53956 +Reviewed-by: Michael BrĂ¼ning <michael.brun...@qt.io> +--- + chromium/v8/build/toolchain.gypi | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/chromium/v8/build/toolchain.gypi b/chromium/v8/build/toolchain.gypi +index 8a26cc2..2dd4a50 100644 +--- a/chromium/v8/build/toolchain.gypi ++++ b/chromium/v8/build/toolchain.gypi +@@ -72,6 +72,10 @@ + # Some versions of GCC 4.5 seem to need -fno-strict-aliasing. + 'v8_no_strict_aliasing%': 0, + ++ # V8 needs support for illegal null this pointers, and must disable ++ # optimizations in GCC 6 that relies on correct behavior. ++ 'v8_no_delete_null_pointer_checks%': 0, ++ + # Chrome needs this definition unconditionally. For standalone V8 builds, + # it's handled in build/standalone.gypi. + 'want_separate_host_toolset%': 1, +@@ -1066,6 +1070,9 @@ + [ 'v8_no_strict_aliasing==1', { + 'cflags': [ '-fno-strict-aliasing' ], + }], ++ [ 'v8_no_delete_null_pointer_checks==1', { ++ 'cflags_cc': [ '-fno-delete-null-pointer-checks' ], ++ }], + ], # conditions + }], + ['OS=="solaris"', { +-- +2.8.3 + Copied: qt5-webengine/repos/staging-i686/qt5-webengine-fno-delete-null-pointer-checks.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-fno-delete-null-pointer-checks.patch) =================================================================== --- staging-i686/qt5-webengine-fno-delete-null-pointer-checks.patch (rev 0) +++ staging-i686/qt5-webengine-fno-delete-null-pointer-checks.patch 2016-11-11 22:07:30 UTC (rev 280589) @@ -0,0 +1,27 @@ +From 5133f095bea2d147e86b99eacaa48363d08db35b Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jen...@theqtcompany.com> +Date: Fri, 10 Jun 2016 14:46:24 +0200 +Subject: [PATCH] Enable -fno_delete_null_pointer_checks on V8 for G++ 6 + +Detect g++ 6 and disable null pointer check optimizations on v8. + +Change-Id: I5064823af3784786d455ce86592b5e65c1020f21 +Task-number: QTBUG-53956 +--- + +diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri +index 8854a4b..b579e2a 100644 +--- a/src/core/config/linux.pri ++++ b/src/core/config/linux.pri +@@ -29,6 +29,8 @@ use?(nss) { + use_openssl_certs=1 + } + ++gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): GYP_CONFIG += v8_no_delete_null_pointer_checks=1 ++ + contains(QT_CONFIG, system-zlib): use?(system_minizip): GYP_CONFIG += use_system_zlib=1 + contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1 + contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1 +-- +2.8.3 + Copied: qt5-webengine/repos/staging-i686/qt5-webengine-nss.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-nss.patch) =================================================================== --- staging-i686/qt5-webengine-nss.patch (rev 0) +++ staging-i686/qt5-webengine-nss.patch 2016-11-11 22:07:30 UTC (rev 280589) @@ -0,0 +1,31 @@ +diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc +qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc +--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc 2015-12-10 18:17:21.000000000 +0100 ++++ qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc 2016-01-14 +17:11:38.432633534 +0100 +@@ -57,6 +57,10 @@ + #include "net/ssl/ssl_platform_key.h" + #endif + ++#if defined(USE_NSS_CERTS) || defined(OS_IOS) ++#include "net/cert_net/nss_ocsp.h" ++#endif ++ + namespace net { + + namespace { +@@ -795,6 +799,14 @@ + DCHECK(!ssl_); + DCHECK(!transport_bio_); + ++#if defined(USE_NSS_CERTS) || defined(OS_IOS) ++ if (ssl_config_.cert_io_enabled) { ++ // TODO(davidben): Move this out of SSLClientSocket. See ++ // https://crbug.com/539520. ++ EnsureNSSHttpIOInit(); ++ } ++#endif ++ + SSLContext* context = SSLContext::GetInstance(); + crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE); + Copied: qt5-webengine/repos/staging-x86_64/PKGBUILD (from rev 280588, qt5-webengine/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2016-11-11 22:07:30 UTC (rev 280589) @@ -0,0 +1,66 @@ +# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Andrea Scarpino <and...@archlinux.org> + +pkgname=qt5-webengine +_qtver=5.7.0 +pkgver=${_qtver/-/} +pkgrel=6 +arch=('i686' 'x86_64') +url='http://qt-project.org/' +license=('LGPL3' 'LGPL2.1' 'BSD') +pkgdesc='Provides support for web applications using the Chromium browser project' +depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'libxtst' 'libxcursor' 'libpulse' 'pciutils' 'libxss' 'libvpx' 'opus' + 'libevent' 'libsrtp' 'libwebp' 'snappy' 'nss' 'protobuf' 'libxslt') +makedepends=('python2' 'git' 'gperf' 'jsoncpp') +groups=('qt' 'qt5') +_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}" +source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" qt5-webengine-nss.patch + qt5-webengine-fno-delete-null-pointer-checks.patch qt5-webengine-fno-delete-null-pointer-checks-2.patch + qt5-webengine-glibc2.24.patch::"https://github.com/qt/qtwebengine-chromium/commit/b12ffcd4.patch") + +md5sums=('937f64886fbcb038d6fa4b44ae80cbeb' + '2a1610b34204102938a24154a52e5571' + '5671a16fef65152928789bffd1f7cf24' + '8145ce05fb86e762f012ca1b56f718fe' + '753154df82838d19a7629d56cec7b649') + +prepare() { + mkdir -p build + + # Hack to force using python2 + mkdir -p bin + ln -s /usr/bin/python2 bin/python + + # Fix opening some websites with recent NSS https://github.com/QupZilla/qupzilla/issues/1870 (KaOSx patch) + cd ${_pkgfqn} + # patch -p1 -i ../qt5-webengine-nss.patch + + # Workaround for v8 segfaults with GCC 6 + patch -p1 -i "$srcdir"/qt5-webengine-fno-delete-null-pointer-checks.patch + cd src/3rdparty + patch -p1 -i "$srcdir"/qt5-webengine-fno-delete-null-pointer-checks-2.patch + + # Fix segfault with glibc 2.24 + patch -p1 -i "$srcdir"/qt5-webengine-glibc2.24.patch +} + +build() { + cd build + + export PATH="$srcdir/bin:$PATH" + export CXXFLAGS+=" -fno-delete-null-pointer-checks" + qmake WEBENGINE_CONFIG+=use_proprietary_codecs ../${_pkgfqn} + make +} + +package() { + cd build + make INSTALL_ROOT="$pkgdir" install + + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir + find "$pkgdir/usr/lib" -type f -name '*.prl' \ + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; + + install -Dm644 "$srcdir"/${_pkgfqn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium +} Copied: qt5-webengine/repos/staging-x86_64/qt5-webengine-fno-delete-null-pointer-checks-2.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-fno-delete-null-pointer-checks-2.patch) =================================================================== --- staging-x86_64/qt5-webengine-fno-delete-null-pointer-checks-2.patch (rev 0) +++ staging-x86_64/qt5-webengine-fno-delete-null-pointer-checks-2.patch 2016-11-11 22:07:30 UTC (rev 280589) @@ -0,0 +1,50 @@ +From ba36da6c1f59da7687f6924cc558105dcd1c44dc Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jen...@theqtcompany.com> +Date: Fri, 10 Jun 2016 13:26:22 +0200 +Subject: [PATCH] Use -fno-delete-null-pointer-checks with gcc 6 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +V8 is not safe for removing null pointer checks. Until it is, we need +to disable optimizations in GCC that assume it is not doing something +wrong. + +This patch only enables it for v8, and requires it to be activated +by qtwebengine. + +Change-Id: I9da15ecf85719f211ba921a620e9d195eff26178 +Task-number: QTBUG-53956 +Reviewed-by: Michael BrĂ¼ning <michael.brun...@qt.io> +--- + chromium/v8/build/toolchain.gypi | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/chromium/v8/build/toolchain.gypi b/chromium/v8/build/toolchain.gypi +index 8a26cc2..2dd4a50 100644 +--- a/chromium/v8/build/toolchain.gypi ++++ b/chromium/v8/build/toolchain.gypi +@@ -72,6 +72,10 @@ + # Some versions of GCC 4.5 seem to need -fno-strict-aliasing. + 'v8_no_strict_aliasing%': 0, + ++ # V8 needs support for illegal null this pointers, and must disable ++ # optimizations in GCC 6 that relies on correct behavior. ++ 'v8_no_delete_null_pointer_checks%': 0, ++ + # Chrome needs this definition unconditionally. For standalone V8 builds, + # it's handled in build/standalone.gypi. + 'want_separate_host_toolset%': 1, +@@ -1066,6 +1070,9 @@ + [ 'v8_no_strict_aliasing==1', { + 'cflags': [ '-fno-strict-aliasing' ], + }], ++ [ 'v8_no_delete_null_pointer_checks==1', { ++ 'cflags_cc': [ '-fno-delete-null-pointer-checks' ], ++ }], + ], # conditions + }], + ['OS=="solaris"', { +-- +2.8.3 + Copied: qt5-webengine/repos/staging-x86_64/qt5-webengine-fno-delete-null-pointer-checks.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-fno-delete-null-pointer-checks.patch) =================================================================== --- staging-x86_64/qt5-webengine-fno-delete-null-pointer-checks.patch (rev 0) +++ staging-x86_64/qt5-webengine-fno-delete-null-pointer-checks.patch 2016-11-11 22:07:30 UTC (rev 280589) @@ -0,0 +1,27 @@ +From 5133f095bea2d147e86b99eacaa48363d08db35b Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jen...@theqtcompany.com> +Date: Fri, 10 Jun 2016 14:46:24 +0200 +Subject: [PATCH] Enable -fno_delete_null_pointer_checks on V8 for G++ 6 + +Detect g++ 6 and disable null pointer check optimizations on v8. + +Change-Id: I5064823af3784786d455ce86592b5e65c1020f21 +Task-number: QTBUG-53956 +--- + +diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri +index 8854a4b..b579e2a 100644 +--- a/src/core/config/linux.pri ++++ b/src/core/config/linux.pri +@@ -29,6 +29,8 @@ use?(nss) { + use_openssl_certs=1 + } + ++gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): GYP_CONFIG += v8_no_delete_null_pointer_checks=1 ++ + contains(QT_CONFIG, system-zlib): use?(system_minizip): GYP_CONFIG += use_system_zlib=1 + contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1 + contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1 +-- +2.8.3 + Copied: qt5-webengine/repos/staging-x86_64/qt5-webengine-nss.patch (from rev 280588, qt5-webengine/trunk/qt5-webengine-nss.patch) =================================================================== --- staging-x86_64/qt5-webengine-nss.patch (rev 0) +++ staging-x86_64/qt5-webengine-nss.patch 2016-11-11 22:07:30 UTC (rev 280589) @@ -0,0 +1,31 @@ +diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc +qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc +--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc 2015-12-10 18:17:21.000000000 +0100 ++++ qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc 2016-01-14 +17:11:38.432633534 +0100 +@@ -57,6 +57,10 @@ + #include "net/ssl/ssl_platform_key.h" + #endif + ++#if defined(USE_NSS_CERTS) || defined(OS_IOS) ++#include "net/cert_net/nss_ocsp.h" ++#endif ++ + namespace net { + + namespace { +@@ -795,6 +799,14 @@ + DCHECK(!ssl_); + DCHECK(!transport_bio_); + ++#if defined(USE_NSS_CERTS) || defined(OS_IOS) ++ if (ssl_config_.cert_io_enabled) { ++ // TODO(davidben): Move this out of SSLClientSocket. See ++ // https://crbug.com/539520. ++ EnsureNSSHttpIOInit(); ++ } ++#endif ++ + SSLContext* context = SSLContext::GetInstance(); + crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE); +