qt5-webkit: new snapshot; ARMv6 patch
[ci skip]
This commit is contained in:
parent
cb7f8c8f3b
commit
4341725217
6 changed files with 78 additions and 123 deletions
72
srcpkgs/qt5-webkit/patches/armv6.patch
Normal file
72
srcpkgs/qt5-webkit/patches/armv6.patch
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
From 7cc86ebe881f36bfef18d8eeee666d2a55eae892 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Guilherme Iscaro <iscaro@profusion.mobi>
|
||||||
|
Date: Fri, 31 Mar 2017 10:31:49 -0300
|
||||||
|
Subject: [PATCH] Fix build on ARMv6.
|
||||||
|
|
||||||
|
The ARMv6 and older architures does not support the movw and movl
|
||||||
|
instructions, thus causing a build break.
|
||||||
|
This patch fix the problem by creating a new offlineasm instruction,
|
||||||
|
which will use the ldr instruction to load a immediate into a register.
|
||||||
|
|
||||||
|
https://bugs.webkit.org/show_bug.cgi?id=141288
|
||||||
|
|
||||||
|
Reviewed by NOBODY (OOPS!).
|
||||||
|
|
||||||
|
* llint/LowLevelInterpreter.asm:
|
||||||
|
* offlineasm/arm.rb:
|
||||||
|
* offlineasm/instructions.rb:
|
||||||
|
---
|
||||||
|
Source/JavaScriptCore/llint/LowLevelInterpreter.asm | 8 +++++++-
|
||||||
|
Source/JavaScriptCore/offlineasm/arm.rb | 2 ++
|
||||||
|
Source/JavaScriptCore/offlineasm/instructions.rb | 3 ++-
|
||||||
|
3 files changed, 11 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git Source/JavaScriptCore/llint/LowLevelInterpreter.asm Source/JavaScriptCore/llint/LowLevelInterpreter.asm
|
||||||
|
index ab3c0c8e771..6c32eef8852 100644
|
||||||
|
--- Source/JavaScriptCore/llint/LowLevelInterpreter.asm
|
||||||
|
+++ Source/JavaScriptCore/llint/LowLevelInterpreter.asm
|
||||||
|
@@ -1167,7 +1167,13 @@ macro setEntryAddress(index, label)
|
||||||
|
move index, t4
|
||||||
|
storep t1, [a0, t4, 8]
|
||||||
|
elsif ARM or ARMv7 or ARMv7_TRADITIONAL
|
||||||
|
- mvlbl (label - _relativePCBase), t4
|
||||||
|
+ if ARM
|
||||||
|
+ ldrlbl t4, label
|
||||||
|
+ ldrlbl t3, _relativePCBase
|
||||||
|
+ subp t4, t3, t4
|
||||||
|
+ else
|
||||||
|
+ mvlbl (label - _relativePCBase), t4
|
||||||
|
+ end
|
||||||
|
addp t4, t1, t4
|
||||||
|
move index, t3
|
||||||
|
storep t4, [a0, t3, 4]
|
||||||
|
diff --git Source/JavaScriptCore/offlineasm/arm.rb Source/JavaScriptCore/offlineasm/arm.rb
|
||||||
|
index c8064a59196..a9c40c8995c 100644
|
||||||
|
--- Source/JavaScriptCore/offlineasm/arm.rb
|
||||||
|
+++ Source/JavaScriptCore/offlineasm/arm.rb
|
||||||
|
@@ -504,6 +504,8 @@ class Instruction
|
||||||
|
when "mvlbl"
|
||||||
|
$asm.puts "movw #{operands[1].armOperand}, \#:lower16:#{operands[0].value}"
|
||||||
|
$asm.puts "movt #{operands[1].armOperand}, \#:upper16:#{operands[0].value}"
|
||||||
|
+ when "ldrlbl"
|
||||||
|
+ $asm.puts "ldr #{operands[0].armOperand}, =#{operands[1].value}"
|
||||||
|
when "nop"
|
||||||
|
$asm.puts "nop"
|
||||||
|
when "bieq", "bpeq", "bbeq"
|
||||||
|
diff --git Source/JavaScriptCore/offlineasm/instructions.rb Source/JavaScriptCore/offlineasm/instructions.rb
|
||||||
|
index bbfce7193b3..8cc1cb961ce 100644
|
||||||
|
--- Source/JavaScriptCore/offlineasm/instructions.rb
|
||||||
|
+++ Source/JavaScriptCore/offlineasm/instructions.rb
|
||||||
|
@@ -261,7 +261,8 @@ X86_INSTRUCTIONS =
|
||||||
|
ARM_INSTRUCTIONS =
|
||||||
|
[
|
||||||
|
"clrbp",
|
||||||
|
- "mvlbl"
|
||||||
|
+ "mvlbl",
|
||||||
|
+ "ldrlbl"
|
||||||
|
]
|
||||||
|
|
||||||
|
ARM64_INSTRUCTIONS =
|
||||||
|
--
|
||||||
|
2.12.1
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
Fix code emitted for armv6l to not use movw/movt but ldr.
|
|
||||||
See https://bugs.webkit.org/show_bug.cgi?id=131612
|
|
||||||
and https://bugs.webkit.org/show_bug.cgi?id=141288
|
|
||||||
|
|
||||||
--- Source/JavaScriptCore/offlineasm/arm.rb 2015-07-22 14:37:57.000000000 +0200
|
|
||||||
+++ Source/JavaScriptCore/offlineasm/arm.rb 2015-08-08 00:31:21.011824644 +0200
|
|
||||||
@@ -473,8 +473,16 @@
|
|
||||||
$asm.puts "mov #{armFlippedOperands(operands)}"
|
|
||||||
end
|
|
||||||
when "mvlbl"
|
|
||||||
+ if isARMv7 or isARMv7Traditional
|
|
||||||
$asm.puts "movw #{operands[1].armOperand}, \#:lower16:#{operands[0].value}"
|
|
||||||
$asm.puts "movt #{operands[1].armOperand}, \#:upper16:#{operands[0].value}"
|
|
||||||
+ else
|
|
||||||
+ $mvlbl_counter ||= 0
|
|
||||||
+ $mvlbl_counter += 1
|
|
||||||
+ const_label = "_mvlbl_const_label#{$mvlbl_counter}"
|
|
||||||
+ $asm.puts ".equ #{const_label}, (#{operands[0].value})"
|
|
||||||
+ $asm.puts "ldr #{operands[1].armOperand}, =#{const_label}"
|
|
||||||
+ end
|
|
||||||
when "nop"
|
|
||||||
$asm.puts "nop"
|
|
||||||
when "bieq", "bpeq", "bbeq"
|
|
|
@ -1,93 +0,0 @@
|
||||||
From c344187a099f8fd749dc84ffcc125c0925103819 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Konstantin Tokarev <annulen@yandex.ru>
|
|
||||||
Date: Tue, 10 Sep 2019 03:51:42 +0300
|
|
||||||
Subject: Fix compilation of HTTP2 settings with Qt >= 5.14
|
|
||||||
|
|
||||||
Public API QHttp2Configuration was added, so we use it now instead of
|
|
||||||
ugly hack required for previous versions. Workaround for QTBUG-77308 is
|
|
||||||
no loger needed in 5.14, so we only enable server push.
|
|
||||||
|
|
||||||
Change-Id: I3e6817d8fa274c3a849f09b23ca58f93318be6c4
|
|
||||||
---
|
|
||||||
.../network/qt/QNetworkReplyHandler.cpp | 6 +++---
|
|
||||||
.../platform/network/qt/ResourceRequestQt.cpp | 20 ++++++++++++++++++-
|
|
||||||
2 files changed, 22 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
|
|
||||||
index 0da45fbc79a5..7924595582ac 100644
|
|
||||||
--- a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
|
|
||||||
+++ b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
|
|
||||||
@@ -41,7 +41,7 @@
|
|
||||||
|
|
||||||
#include <QCoreApplication>
|
|
||||||
|
|
||||||
-#if USE(HTTP2)
|
|
||||||
+#if USE(HTTP2) && QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
|
|
||||||
|
|
||||||
#include <private/http2protocol_p.h>
|
|
||||||
#include <cstdlib>
|
|
||||||
@@ -62,7 +62,7 @@ ProtocolParameters::ProtocolParameters()
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
-#endif // USE(HTTP2)
|
|
||||||
+#endif // USE(HTTP2) && QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
|
|
||||||
|
|
||||||
static const int gMaxRedirections = 10;
|
|
||||||
|
|
||||||
@@ -797,7 +797,7 @@ QNetworkReply* QNetworkReplyHandler::sendNetworkRequest(QNetworkAccessManager* m
|
|
||||||
if (!manager)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
-#if USE(HTTP2)
|
|
||||||
+#if USE(HTTP2) && QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
|
|
||||||
static const bool alpnIsSupported = ResourceRequest::alpnIsSupported();
|
|
||||||
if (alpnIsSupported && !manager->property(Http2::http2ParametersPropertyName).isValid()) {
|
|
||||||
Http2::ProtocolParameters params;
|
|
||||||
diff --git a/Source/WebCore/platform/network/qt/ResourceRequestQt.cpp b/Source/WebCore/platform/network/qt/ResourceRequestQt.cpp
|
|
||||||
index 2cf2e7750dde..310738449b75 100644
|
|
||||||
--- a/Source/WebCore/platform/network/qt/ResourceRequestQt.cpp
|
|
||||||
+++ b/Source/WebCore/platform/network/qt/ResourceRequestQt.cpp
|
|
||||||
@@ -29,7 +29,10 @@
|
|
||||||
|
|
||||||
#if USE(HTTP2)
|
|
||||||
#include <QSslSocket>
|
|
||||||
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
|
|
||||||
+#include <QHttp2Configuration>
|
|
||||||
#endif
|
|
||||||
+#endif // USE(HTTP2)
|
|
||||||
|
|
||||||
namespace WebCore {
|
|
||||||
|
|
||||||
@@ -65,6 +68,16 @@ bool ResourceRequest::alpnIsSupported()
|
|
||||||
return QSslSocket::sslLibraryVersionNumber() > 0x10002000L &&
|
|
||||||
QSslSocket::sslLibraryVersionString().startsWith(QLatin1String("OpenSSL"));
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
|
|
||||||
+static QHttp2Configuration createHttp2Configuration()
|
|
||||||
+{
|
|
||||||
+ QHttp2Configuration params;
|
|
||||||
+ params.setServerPushEnabled(true);
|
|
||||||
+ return params;
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#endif
|
|
||||||
|
|
||||||
QNetworkRequest ResourceRequest::toNetworkRequest(NetworkingContext *context) const
|
|
||||||
@@ -76,8 +89,13 @@ QNetworkRequest ResourceRequest::toNetworkRequest(NetworkingContext *context) co
|
|
||||||
|
|
||||||
#if USE(HTTP2)
|
|
||||||
static const bool NegotiateHttp2ForHttps = alpnIsSupported();
|
|
||||||
- if (originalUrl.protocolIs("https") && NegotiateHttp2ForHttps)
|
|
||||||
+ if (originalUrl.protocolIs("https") && NegotiateHttp2ForHttps) {
|
|
||||||
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
|
|
||||||
+ static const auto params = createHttp2Configuration();
|
|
||||||
+ request.setHttp2Configuration(params);
|
|
||||||
+#endif
|
|
||||||
request.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, true);
|
|
||||||
+ }
|
|
||||||
#endif // USE(HTTP2)
|
|
||||||
|
|
||||||
const HTTPHeaderMap &headers = httpHeaderFields();
|
|
|
@ -1 +0,0 @@
|
||||||
-Np1
|
|
|
@ -1,10 +1,10 @@
|
||||||
# Template file for 'qt5-webkit'
|
# Template file for 'qt5-webkit'
|
||||||
pkgname=qt5-webkit
|
pkgname=qt5-webkit
|
||||||
version=5.212.0
|
version=5.212.0
|
||||||
revision=7
|
revision=8
|
||||||
_snap=1565895469
|
_snap=1586819898
|
||||||
_v=${version%.*}
|
_v=${version%.*}
|
||||||
wrksrc="qtwebkit-everywhere-src-${_v}"
|
wrksrc="qtwebkit-opensource-src-${_v}"
|
||||||
build_style=cmake
|
build_style=cmake
|
||||||
# some nasty stuff to prevent cmake from inducing buggy -O3 and default -g
|
# some nasty stuff to prevent cmake from inducing buggy -O3 and default -g
|
||||||
configure_args="-DPORT=Qt -DUSE_LD_GOLD=OFF
|
configure_args="-DPORT=Qt -DUSE_LD_GOLD=OFF
|
||||||
|
@ -23,8 +23,8 @@ short_desc="Cross-platform application and UI framework (Qt5) - WebKit2 componen
|
||||||
maintainer="q66 <daniel@octaforge.org>"
|
maintainer="q66 <daniel@octaforge.org>"
|
||||||
license="LGPL-2.1-or-later"
|
license="LGPL-2.1-or-later"
|
||||||
homepage="https://www.qt.io/"
|
homepage="https://www.qt.io/"
|
||||||
distfiles="https://download.qt.io/snapshots/ci/qtwebkit/${_v}/${_snap}/src/submodules/qtwebkit-everywhere-src-${_v}.tar.xz"
|
distfiles="https://download.qt.io/snapshots/ci/qtwebkit/${_v}/${_snap}/src/submodules/qtwebkit-opensource-src-${_v}.tar.xz"
|
||||||
checksum=607f0a13e05bbf831d86904d12ae464e7d46a15f0ceed2465487b53512948824
|
checksum=9a6ed083154c7ec850081102b299afa928ca7e48bbdf2b5f3ae152425e46eb17
|
||||||
|
|
||||||
CPPFLAGS="-I${XBPS_CROSS_BASE}/usr/include"
|
CPPFLAGS="-I${XBPS_CROSS_BASE}/usr/include"
|
||||||
CXXFLAGS="-fpermissive -Wno-class-memaccess"
|
CXXFLAGS="-fpermissive -Wno-class-memaccess"
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
pkgname=qtwebkit-everywhere-src
|
pkgname=qtwebkit-opensource-src
|
||||||
|
|
Loading…
Reference in a new issue