summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Palimaka <kensington@gentoo.org>2016-04-24 02:57:01 +1000
committerMichael Palimaka <kensington@gentoo.org>2016-04-24 03:23:11 +1000
commit421e93435a836b5245edd3e97a533ab806941e91 (patch)
treed4ef6b3cf40176ce99ac82a1d6f9144532d93842 /dev-qt/qtwebengine
parentapp-emulation/qemu-guest-agent: fix build w/newer glibc #580924 (diff)
downloadgentoo-421e93435a836b5245edd3e97a533ab806941e91.tar.gz
gentoo-421e93435a836b5245edd3e97a533ab806941e91.tar.bz2
gentoo-421e93435a836b5245edd3e97a533ab806941e91.zip
dev-qt: version bump 5.6.0
Package-Manager: portage-2.2.28
Diffstat (limited to 'dev-qt/qtwebengine')
-rw-r--r--dev-qt/qtwebengine/Manifest1
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.6.0-icu.patch15
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.6.0-nss-3.23-01.patch59
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.6.0-nss-3.23-02.patch69
-rw-r--r--dev-qt/qtwebengine/metadata.xml26
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.6.0.ebuild96
6 files changed, 266 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
new file mode 100644
index 000000000000..83d12054d481
--- /dev/null
+++ b/dev-qt/qtwebengine/Manifest
@@ -0,0 +1 @@
+DIST qtwebengine-opensource-src-5.6.0.tar.xz 143433576 SHA256 8aa2b5ad6c9f98a781aa99303eab3a40bbe74d26a543eea6b4145f5f47c76a03 SHA512 273dbac60536e4d21eeace80058f172deb7593372bc131b5446326d189ae291b7a23fe7d574e8929fb97ed8a77219a3f1a14bd88315a1c5121d4a0f6c77a96b1 WHIRLPOOL b80234c73392c1116e5319f09d8381a749180285bbb04964107b84abfd068d068db98eb4ff49a058a1b18b622c74b6f407ba1c4cd6a351ae110a0286f61e6d12
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.6.0-icu.patch b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-icu.patch
new file mode 100644
index 000000000000..0b367c726aa7
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-icu.patch
@@ -0,0 +1,15 @@
+Solves issue with trying to locate icudtl.dat in /usr/share/qt5/ when built
+with system-icu.
+
+Patch from Fedora.
+
+--- a/src/core/config/linux.pri
++++ b/src/core/config/linux.pri
+@@ -40,6 +40,6 @@
+ use?(system_snappy): GYP_CONFIG += use_system_snappy=1
+ use?(system_speex): GYP_CONFIG += use_system_speex=1
+ use?(system_vpx): GYP_CONFIG += use_system_libvpx=1
+-use?(system_icu): GYP_CONFIG += use_system_icu=1
++use?(system_icu): GYP_CONFIG += use_system_icu=1 icu_use_data_file_flag=0
+ use?(system_ffmpeg): GYP_CONFIG += use_system_ffmpeg=1
+
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.6.0-nss-3.23-01.patch b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-nss-3.23-01.patch
new file mode 100644
index 000000000000..8d192b6edc36
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-nss-3.23-01.patch
@@ -0,0 +1,59 @@
+From 0a385bb01d9cf060fae4c9d350ee98561654df96 Mon Sep 17 00:00:00 2001
+From: Kai Koehne <kai.koehne@theqtcompany.com>
+Date: Thu, 24 Mar 2016 12:34:25 +0100
+Subject: [PATCH] [backport] Call EnsureNSSHttpIOInit in the chimera build.
+
+Otherwise we end up using the default NSS client and not
+SystemURLRequestContext.
+
+This is a minimal fix to be merged onto release branches.
+A follow-up will revise this to be somewhat less error-prone.
+
+BUG=539520
+TEST=Open about:net-internals on Linux or Chrome OS
+ Visit https://incomplete-chain.badssl.com/ in a new tab
+ The Events tab of about:net-internals should show a fetch for http://crt.comodoca.com/COMODORSADomainValidationSecureServerCA.crt
+
+Review URL: https://codereview.chromium.org/1384343002
+
+Task-number: QTBUG-51890
+Task-number: QTBUG-52068
+Change-Id: I567d5cd5e6d4e53b833699e67c45f3bdfc52953d
+Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
+---
+ chromium/net/socket/ssl_client_socket_openssl.cc | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc b/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc
+index 5489ead..dc9b3ff 100644
+--- a/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc
++++ b/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc
+@@ -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 @@ int SSLClientSocketOpenSSL::Init() {
+ 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);
+
+--
+2.7.4
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.6.0-nss-3.23-02.patch b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-nss-3.23-02.patch
new file mode 100644
index 000000000000..a194650ed34f
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-nss-3.23-02.patch
@@ -0,0 +1,69 @@
+From 82900c7b96b2a6fb42fe3841df7685b820edd588 Mon Sep 17 00:00:00 2001
+From: Kai Koehne <kai.koehne@theqtcompany.com>
+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 <third_party/libpng> [Backport] update to libpng 1.2.56
+34857b8 <third_party/libpng> [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 <allan.jensen@theqtcompany.com>
+---
+ src/core/config/linux.pri | 9 ++++++---
+ tools/qmake/mkspecs/features/configure.prf | 4 ++--
+ 3 files changed, 9 insertions(+), 6 deletions(-)
+
+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") {
+--
+2.7.4
+
diff --git a/dev-qt/qtwebengine/metadata.xml b/dev-qt/qtwebengine/metadata.xml
new file mode 100644
index 000000000000..881cc17567c8
--- /dev/null
+++ b/dev-qt/qtwebengine/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <use>
+ <flag name="geolocation">Enable physical position determination
+ via <pkg>dev-qt/qtpositioning</pkg></flag>
+ <flag name="system-ffmpeg">Use the system-wide <pkg>media-video/ffmpeg</pkg>
+ instead of bundled.</flag>
+ <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>
+ instead of bundled.</flag>
+ <flag name="widgets">Enable QtWidgets support</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://bugreports.qt.io/</bugs-to>
+ <doc>http://doc.qt.io/</doc>
+ </upstream>
+ <slots>
+ <subslots>
+ Must only be used by packages that are known to use private parts of the Qt API.
+ </subslots>
+ </slots>
+</pkgmetadata>
diff --git a/dev-qt/qtwebengine/qtwebengine-5.6.0.ebuild b/dev-qt/qtwebengine/qtwebengine-5.6.0.ebuild
new file mode 100644
index 000000000000..b08dbf7c0271
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.6.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit python-any-r1 qt5-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~x86"
+fi
+
+IUSE="bindist geolocation +system-ffmpeg +system-icu widgets"
+
+RDEPEND="
+ app-arch/snappy
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtdeclarative-${PV}
+ ~dev-qt/qtgui-${PV}
+ ~dev-qt/qtnetwork-${PV}
+ ~dev-qt/qtwebchannel-${PV}[qml]
+ dev-libs/expat
+ dev-libs/jsoncpp
+ dev-libs/libevent
+ dev-libs/libxml2
+ dev-libs/libxslt
+ media-libs/alsa-lib
+ media-libs/flac
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/harfbuzz:=
+ media-libs/libpng:0=
+ >=media-libs/libvpx-1.4
+ media-libs/libwebp
+ media-libs/opus
+ media-libs/speex
+ net-libs/libsrtp
+ sys-apps/dbus
+ sys-apps/pciutils
+ sys-libs/libcap
+ sys-libs/zlib
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libXtst
+ geolocation? ( ~dev-qt/qtpositioning-${PV} )
+ system-ffmpeg? ( =media-video/ffmpeg-2*:= )
+ system-icu? ( dev-libs/icu:= )
+ widgets? ( ~dev-qt/qtwidgets-${PV} )
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-util/gperf
+ dev-util/ninja
+ dev-util/re2c
+ sys-devel/bison
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.6.0-icu.patch"
+ "${FILESDIR}/${PN}-5.6.0-nss-3.23-01.patch"
+ "${FILESDIR}/${PN}-5.6.0-nss-3.23-02.patch"
+)
+
+src_prepare() {
+ qt_use_disable_mod geolocation positioning \
+ src/core/core_common.pri \
+ src/core/core_gyp_generator.pro
+ qt_use_disable_mod widgets widgets \
+ src/src.pro \
+ tests/quicktestbrowser/quicktestbrowser.pro
+
+ qt5-build_src_prepare
+}
+
+src_configure() {
+ export NINJA_PATH="/usr/bin/ninja"
+ local myqmakeargs=(
+ $(usex bindist '' 'WEBENGINE_CONFIG+=use_proprietary_codecs')
+ $(usex system-ffmpeg 'WEBENGINE_CONFIG+=use_system_ffmpeg' '')
+ $(usex system-icu 'WEBENGINE_CONFIG+=use_system_icu' '')
+ )
+ qt5-build_src_configure
+}