summaryrefslogtreecommitdiff
path: root/user/qt5-qtdeclarative
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-12-27 04:02:42 -0600
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-12-27 04:02:42 -0600
commit47d18b13213ccd7c51894796760f97571c3eb424 (patch)
tree6e31cc5d066c199564a5c8f34a40d313a08c44aa /user/qt5-qtdeclarative
parent9b07de55dfe6d50baeda3a8feda7f9fcade9c647 (diff)
downloadpackages-47d18b13213ccd7c51894796760f97571c3eb424.tar.gz
packages-47d18b13213ccd7c51894796760f97571c3eb424.tar.bz2
packages-47d18b13213ccd7c51894796760f97571c3eb424.tar.xz
packages-47d18b13213ccd7c51894796760f97571c3eb424.zip
user/qt5: Bump to 5.12.6 LTS
This updates Qt 5 to the latest LTS release available. Notable changes: * The infamous clipboard bug (upstream QTBUG-65145; Gerrit 254187) is fixed! * Qt Declarative's "V4 JIT" is disabled globally on pmmx. It is no longer (easily) possible to turn off the JIT selectively based on CPU capability. * Qt Script builds correctly on GCC 8 now. This does not include: * Build testing of Qt Multimedia (yet); this depends on the time64-isation of the alsa-lib package (at least). * Build testing of Qt Speech (yet); speech-dispatcher also deps on alsa-lib indirectly. * Qt WebKit 5.212. This will be committed later.
Diffstat (limited to 'user/qt5-qtdeclarative')
-rw-r--r--user/qt5-qtdeclarative/APKBUILD19
-rw-r--r--user/qt5-qtdeclarative/disable-jit-pmmx.patch18
-rw-r--r--user/qt5-qtdeclarative/pmmx.patch122
-rw-r--r--user/qt5-qtdeclarative/python3.patch2
4 files changed, 29 insertions, 132 deletions
diff --git a/user/qt5-qtdeclarative/APKBUILD b/user/qt5-qtdeclarative/APKBUILD
index 38d6e1bb1..349bdfd84 100644
--- a/user/qt5-qtdeclarative/APKBUILD
+++ b/user/qt5-qtdeclarative/APKBUILD
@@ -1,17 +1,18 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=qt5-qtdeclarative
-_pkgname=${pkgname#qt5-}-opensource-src
-pkgver=5.9.7
-pkgrel=1
-pkgdesc="Qt 5 - Qt Declarative and Qt Quick 2"
+_pkgname=${pkgname#qt5-}-everywhere-src
+pkgver=5.12.6
+pkgrel=0
+pkgdesc="Qt Declarative and Qt Quick 2"
url="https://www.qt.io/"
arch="all"
-license="LGPL-2.0 with exceptions OR GPL-3.0 with exceptions"
+license="LGPL-3.0-only WITH Qt-LGPL-exception-1.1 OR GPL-3.0-only WITH Qt-GPL-exception-1.0"
+depends=""
makedepends="qt5-qtbase-dev libexecinfo-dev python3"
subpackages="$pkgname-dev"
source="https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodules/$_pkgname-$pkgver.tar.xz
add-execinfo.patch
- pmmx.patch
+ disable-jit-pmmx.patch
python3.patch
"
@@ -35,7 +36,7 @@ package() {
done
}
-sha512sums="bccddeca26c317083fcebc182dd3221dcbe9af665c502bfb636907f2c17a6edd8874a964910423c9eaa6e5c68bf5a13520193ba77f915be08ba1982348d2a9ee qtdeclarative-opensource-src-5.9.7.tar.xz
+sha512sums="b60537dd10bc2c91c7a40035248d898733fbf1486ae2e00f8d8de37af965dcb1ee48828f82704441370656f0821896b09acf7f06dd0a7c398a2a9497ce4f0250 qtdeclarative-everywhere-src-5.12.6.tar.xz
065ab2440fd0a81e76fe8873b0991929fad3d4189c8938e0205e94478a6cdce81ef710e3bad19cd5ca0b5ea0f8b3cd1b366969ddede51070496d1d02ace59220 add-execinfo.patch
-07bad5742bf00acadc6f2d5e1b8756b9545b95ad93d2b16646c0031abec881bfab6e1c39ca2f1b0a4e43d716518bd4380fd45995a9597d9ce1b51f88f9379176 pmmx.patch
-c434ec3b3eaa8859cc3a3ce48d0299533428d94c998876e5735c210b25f89bc8509980cee0d96f2e68331540f95b5f1ec5e9745949d26367bde1d15bc7ac9081 python3.patch"
+d21aeba1167ebebcdfc54eca14f714efc3de7252513ea4fd096dcbcab2d509faa06d94a6b8978ee7ea15b1c9acb94bc23662debecc2f443a4a5258b90c872048 disable-jit-pmmx.patch
+bb39564f2d68e5635141f3de950ff7ec8174d2c972d066049153039268154de1cad7fcb82d191e325db0a0317ed90eb869431432e32494fa52584af1536f1990 python3.patch"
diff --git a/user/qt5-qtdeclarative/disable-jit-pmmx.patch b/user/qt5-qtdeclarative/disable-jit-pmmx.patch
new file mode 100644
index 000000000..971fd9f14
--- /dev/null
+++ b/user/qt5-qtdeclarative/disable-jit-pmmx.patch
@@ -0,0 +1,18 @@
+It is no longer possible to remove the SSE2 requirement.
+
+So we remove the JIT entirely on pmmx/x86.
+
+--- qtdeclarative-everywhere-src-5.12.6/src/qml/jsruntime/qv4global_p.h.old 2019-11-07 11:01:48.000000000 +0000
++++ qtdeclarative-everywhere-src-5.12.6/src/qml/jsruntime/qv4global_p.h 2019-12-27 06:11:55.456270846 +0000
+@@ -88,10 +88,7 @@
+ //
+ // NOTE: This should match the logic in qv4targetplatform_p.h!
+
+-#if defined(Q_PROCESSOR_X86_32) && (QT_POINTER_SIZE == 4) \
+- && (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD))
+-# define V4_ENABLE_JIT
+-#elif defined(Q_PROCESSOR_X86_64) && (QT_POINTER_SIZE == 8) \
++#if defined(Q_PROCESSOR_X86_64) && (QT_POINTER_SIZE == 8) \
+ && (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_MAC) || defined(Q_OS_FREEBSD))
+ # define V4_ENABLE_JIT
+ #elif defined(Q_PROCESSOR_ARM_32) && (QT_POINTER_SIZE == 4) \
diff --git a/user/qt5-qtdeclarative/pmmx.patch b/user/qt5-qtdeclarative/pmmx.patch
deleted file mode 100644
index a4ce84650..000000000
--- a/user/qt5-qtdeclarative/pmmx.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 4950c366b12265f1ea390a6feb8dbbd0d850d206 Mon Sep 17 00:00:00 2001
-From: Guillem Jover <guillem@hadrons.org>
-Date: Mon, 12 Oct 2015 01:45:37 +0200
-Subject: [PATCH v2] Do not make lack of SSE2 support on x86-32 fatal
-
-When an x86-32 CPU does not have SSE2 support (which is the case for
-all AMD CPUs, and older Intel CPUs), fallback to use the interpreter,
-otherwise use the JIT engine.
-
-Even then, make the lack of SSE2 support on x86-32 fatal when trying
-to instantiate a JIT engine, which does require it.
-
-Refactor the required CPU support check into a new pair of privately
-exported functions to avoid duplicating the logic, and do so in
-functions instead of class members to avoid changing the class
-signatures.
-
-Version: 5.7.x
-Bug-Debian: https://bugs.debian.org/792594
----
- src/qml/jit/qv4isel_masm.cpp | 2 ++
- src/qml/jit/qv4isel_masm_p.h | 18 ++++++++++++++++++
- src/qml/jsruntime/qv4engine.cpp | 1 +
- src/qml/qml/v8/qv8engine.cpp | 7 -------
- tools/qmljs/qmljs.cpp | 7 +++----
- 5 files changed, 24 insertions(+), 11 deletions(-)
-
---- a/src/qml/jit/qv4isel_masm.cpp
-+++ b/src/qml/jit/qv4isel_masm.cpp
-@@ -72,6 +72,8 @@ InstructionSelection<JITAssembler>::Inst
- , compilationUnit(new CompilationUnit)
- , qmlEngine(qmlEngine)
- {
-+ checkRequiredCpuSupport();
-+
- compilationUnit->codeRefs.resize(module->functions.size());
- module->unitFlags |= QV4::CompiledData::Unit::ContainsMachineCode;
- }
---- a/src/qml/jit/qv4isel_masm_p.h
-+++ b/src/qml/jit/qv4isel_masm_p.h
-@@ -60,6 +60,7 @@
-
- #include <QtCore/QHash>
- #include <QtCore/QStack>
-+#include <private/qsimd_p.h>
- #include <config.h>
- #include <wtf/Vector.h>
-
-@@ -72,6 +73,23 @@ QT_BEGIN_NAMESPACE
- namespace QV4 {
- namespace JIT {
-
-+Q_QML_PRIVATE_EXPORT inline bool hasRequiredCpuSupport()
-+{
-+#ifdef Q_PROCESSOR_X86_32
-+ return qCpuHasFeature(SSE2);
-+#else
-+ return true;
-+#endif
-+}
-+
-+Q_QML_PRIVATE_EXPORT inline void checkRequiredCpuSupport()
-+{
-+#ifdef Q_PROCESSOR_X86_32
-+ if (!qCpuHasFeature(SSE2))
-+ qFatal("This program requires an X86 processor that supports SSE2 extension, at least a Pentium 4 or newer");
-+#endif
-+}
-+
- template <typename JITAssembler = Assembler<DefaultAssemblerTargetConfiguration>>
- class Q_QML_EXPORT InstructionSelection:
- protected IR::IRDecoder,
---- a/src/qml/jsruntime/qv4engine.cpp
-+++ b/src/qml/jsruntime/qv4engine.cpp
-@@ -159,6 +159,7 @@
-
- #ifdef V4_ENABLE_JIT
- static const bool forceMoth = !qEnvironmentVariableIsEmpty("QV4_FORCE_INTERPRETER") ||
-+ !JIT::hasRequiredCpuSupport() ||
- !OSAllocator::canAllocateExecutableMemory();
- if (forceMoth) {
- factory = new Moth::ISelFactory;
---- a/src/qml/qml/v8/qv8engine.cpp
-+++ b/src/qml/qml/v8/qv8engine.cpp
-@@ -64,7 +64,6 @@
- #include <QtCore/qjsonvalue.h>
- #include <QtCore/qdatetime.h>
- #include <QtCore/qdatastream.h>
--#include <private/qsimd_p.h>
-
- #include <private/qv4value_p.h>
- #include <private/qv4dateobject_p.h>
-@@ -129,12 +128,6 @@ QV8Engine::QV8Engine(QJSEngine* qq)
- , m_xmlHttpRequestData(0)
- , m_listModelData(0)
- {
--#ifdef Q_PROCESSOR_X86_32
-- if (!qCpuHasFeature(SSE2)) {
-- qFatal("This program requires an X86 processor that supports SSE2 extension, at least a Pentium 4 or newer");
-- }
--#endif
--
- QML_MEMORY_SCOPE_STRING("QV8Engine::QV8Engine");
- qMetaTypeId<QJSValue>();
- qMetaTypeId<QList<int> >();
---- a/tools/qmljs/qmljs.cpp
-+++ b/tools/qmljs/qmljs.cpp
-@@ -92,11 +92,10 @@ int main(int argc, char *argv[])
- enum {
- use_masm,
- use_moth
-- } mode;
-+ } mode = use_moth;
- #ifdef V4_ENABLE_JIT
-- mode = use_masm;
--#else
-- mode = use_moth;
-+ if (QV4::JIT::hasRequiredCpuSupport())
-+ mode = use_masm;
- #endif
-
- bool runAsQml = false;
diff --git a/user/qt5-qtdeclarative/python3.patch b/user/qt5-qtdeclarative/python3.patch
index 2d67290bb..e863f7a9f 100644
--- a/user/qt5-qtdeclarative/python3.patch
+++ b/user/qt5-qtdeclarative/python3.patch
@@ -20,7 +20,7 @@
QMAKE_EXTRA_COMPILERS += udis86
udis86_tab_cfile.target = $$OUT_PWD/udis86_itab.c
-@@ -110,7 +110,7 @@
+@@ -113,7 +113,7 @@
retgen.script = $$PWD/create_regex_tables
retgen.input = retgen.script
retgen.CONFIG += no_link