[arch-commits] Commit in qt5-webengine/repos (10 files)
Levente Polyak
anthraxx at archlinux.org
Thu Oct 6 19:12:35 UTC 2016
Date: Thursday, October 6, 2016 @ 19:12:35
Author: anthraxx
Revision: 277851
archrelease: copy trunk to staging-i686, staging-x86_64
Added:
qt5-webengine/repos/staging-i686/
qt5-webengine/repos/staging-i686/PKGBUILD
(from rev 277850, qt5-webengine/trunk/PKGBUILD)
qt5-webengine/repos/staging-i686/qt5-webengine-fno-delete-null-pointer-checks-2.patch
(from rev 277850, 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 277850, qt5-webengine/trunk/qt5-webengine-fno-delete-null-pointer-checks.patch)
qt5-webengine/repos/staging-i686/qt5-webengine-nss.patch
(from rev 277850, qt5-webengine/trunk/qt5-webengine-nss.patch)
qt5-webengine/repos/staging-x86_64/
qt5-webengine/repos/staging-x86_64/PKGBUILD
(from rev 277850, qt5-webengine/trunk/PKGBUILD)
qt5-webengine/repos/staging-x86_64/qt5-webengine-fno-delete-null-pointer-checks-2.patch
(from rev 277850, 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 277850, qt5-webengine/trunk/qt5-webengine-fno-delete-null-pointer-checks.patch)
qt5-webengine/repos/staging-x86_64/qt5-webengine-nss.patch
(from rev 277850, qt5-webengine/trunk/qt5-webengine-nss.patch)
---------------------------------------------------------------------+
staging-i686/PKGBUILD | 61 ++++++++++
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 | 61 ++++++++++
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, 338 insertions(+)
Copied: qt5-webengine/repos/staging-i686/PKGBUILD (from rev 277850, qt5-webengine/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD (rev 0)
+++ staging-i686/PKGBUILD 2016-10-06 19:12:35 UTC (rev 277851)
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-webengine
+_qtver=5.7.0
+pkgver=${_qtver/-/}
+pkgrel=4
+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' 'jsoncpp' 'libwebp' 'snappy' 'nss' 'protobuf') # minizip
+makedepends=('python2' 'git' 'gperf')
+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)
+
+md5sums=('937f64886fbcb038d6fa4b44ae80cbeb'
+ '2a1610b34204102938a24154a52e5571'
+ '5671a16fef65152928789bffd1f7cf24'
+ '8145ce05fb86e762f012ca1b56f718fe')
+
+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
+}
+
+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 277850, 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-10-06 19:12:35 UTC (rev 277851)
@@ -0,0 +1,50 @@
+From ba36da6c1f59da7687f6924cc558105dcd1c44dc Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen at 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.bruning at 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 277850, 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-10-06 19:12:35 UTC (rev 277851)
@@ -0,0 +1,27 @@
+From 5133f095bea2d147e86b99eacaa48363d08db35b Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen at 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 277850, qt5-webengine/trunk/qt5-webengine-nss.patch)
===================================================================
--- staging-i686/qt5-webengine-nss.patch (rev 0)
+++ staging-i686/qt5-webengine-nss.patch 2016-10-06 19:12:35 UTC (rev 277851)
@@ -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 277850, qt5-webengine/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2016-10-06 19:12:35 UTC (rev 277851)
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-webengine
+_qtver=5.7.0
+pkgver=${_qtver/-/}
+pkgrel=4
+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' 'jsoncpp' 'libwebp' 'snappy' 'nss' 'protobuf') # minizip
+makedepends=('python2' 'git' 'gperf')
+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)
+
+md5sums=('937f64886fbcb038d6fa4b44ae80cbeb'
+ '2a1610b34204102938a24154a52e5571'
+ '5671a16fef65152928789bffd1f7cf24'
+ '8145ce05fb86e762f012ca1b56f718fe')
+
+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
+}
+
+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 277850, 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-10-06 19:12:35 UTC (rev 277851)
@@ -0,0 +1,50 @@
+From ba36da6c1f59da7687f6924cc558105dcd1c44dc Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen at 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.bruning at 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 277850, 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-10-06 19:12:35 UTC (rev 277851)
@@ -0,0 +1,27 @@
+From 5133f095bea2d147e86b99eacaa48363d08db35b Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen at 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 277850, qt5-webengine/trunk/qt5-webengine-nss.patch)
===================================================================
--- staging-x86_64/qt5-webengine-nss.patch (rev 0)
+++ staging-x86_64/qt5-webengine-nss.patch 2016-10-06 19:12:35 UTC (rev 277851)
@@ -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);
+
More information about the arch-commits
mailing list