Accepting request 734738 from home:Vogtinator:qt5.14

Qt 5.14 Alpha

OBS-URL: https://build.opensuse.org/request/show/734738
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.14/libqt5-qtdeclarative?expand=0&rev=2
This commit is contained in:
Fabian Vogt 2019-10-05 16:00:54 +00:00 committed by Git OBS Bridge
parent f024e2d195
commit c335d67678
5 changed files with 57 additions and 42 deletions

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Mon Sep 30 13:30:01 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.14.0-alpha:
* New feature release
* No changelog available
* For more details about Qt 5.14 please see:
https://wiki.qt.io/New_Features_in_Qt_5.14
- Refresh sse2_nojit.patch:
* Basically a rewrite, needed for the new config system
-------------------------------------------------------------------
Fri Sep 6 08:03:38 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>

View File

@ -21,17 +21,17 @@
%define libname libQtQuick5
Name: libqt5-qtdeclarative
Version: 5.13.1
Version: 5.14.0~alpha
Release: 0
Summary: Qt 5 Declarative Library
License: LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only
Group: Development/Libraries/X11
Url: https://www.qt.io
%define base_name libqt5
%define real_version 5.13.1
%define so_version 5.13.1
%define tar_version qtdeclarative-everywhere-src-5.13.1
Source: https://download.qt.io/official_releases/qt/5.13/%{real_version}/submodules/%{tar_version}.tar.xz
%define real_version 5.14.0-alpha
%define so_version 5.14.0
%define tar_version qtdeclarative-everywhere-src-5.14.0-alpha
Source: https://download.qt.io/development_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz
Source1: baselibs.conf
# PATCH-FIX-OPENSUSE sse2_nojit.patch -- enable JIT and sse2 only on sse2 case
Patch100: sse2_nojit.patch
@ -142,7 +142,7 @@ mkdir .git
mkdir -p %{_target_platform}
pushd %{_target_platform}
qmake-qt5 ..
qmake-qt5 .. -- -qml-jit
popd
%{__make} %{?_smp_mflags} VERBOSE=1 -C %{_target_platform}
@ -152,7 +152,7 @@ popd
# build libQt5Qml with no_sse2
mkdir -p %{_target_platform}-no_sse2
pushd %{_target_platform}-no_sse2
%qmake5 -config no_sse2 ..
%qmake5 -config no_sse2 .. -- -no-qml-jit
make sub-src-clean
%{__make} %{?_smp_mflags} VERBOSE=1 -C src/qml
popd
@ -214,6 +214,7 @@ popd
%{_libqt5_archdatadir}/qml/QtQml
%{_libqt5_archdatadir}/qml/builtins.qmltypes
%dir %{_libqt5_archdatadir}/qml/Qt/labs
%{_libqt5_archdatadir}/qml/Qt/labs/animation/
%{_libqt5_archdatadir}/qml/Qt/labs/folderlistmodel/
%{_libqt5_archdatadir}/qml/Qt/labs/settings/
%{_libqt5_archdatadir}/qml/Qt/labs/sharedimage/

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ae3477401b13d6b31e8569629d3f73b3e81e27cec27595988ffd320eaec7f0e2
size 20918916

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a0ef5a219ddfc3df7daf6e423120743bf52991958a98a0f38dcc18c47006c415
size 21584756

View File

@ -1,42 +1,45 @@
Index: qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/jsruntime/jsruntime.pri
From: Fabian Vogt <fabian@ritter-vogt.de>
Subject: Allow building with and without JIT on i586
For i586, the default Qt does not have sse2 enabled, but for sse2 capable systems
we'd like to have it use the JIT. Do some patching in the configuration system
to allow toggling it from the qmake call.
Originally written by Wolfgang Bauer <wbauer@tmo.at>
Index: qtdeclarative-everywhere-src-5.14.0-alpha/src/qml/jsruntime/jsruntime.pri
===================================================================
--- qtdeclarative-everywhere-src-5.13.0-beta1.orig/src/qml/jsruntime/jsruntime.pri
+++ qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/jsruntime/jsruntime.pri
@@ -174,6 +174,11 @@ qmldevtools_build {
--- qtdeclarative-everywhere-src-5.14.0-alpha.orig/src/qml/jsruntime/jsruntime.pri
+++ qtdeclarative-everywhere-src-5.14.0-alpha/src/qml/jsruntime/jsruntime.pri
@@ -164,6 +164,10 @@ win32 {
$$PWD/qv4functiontable_unix.cpp
}
+linux-g++*:isEqual(QT_ARCH,i386):!no_sse2 {
+ QMAKE_CFLAGS += -msse2 -mfpmath=sse
+ QMAKE_CXXFLAGS += -msse2 -mfpmath=sse
+}
+
valgrind {
DEFINES += V4_USE_VALGRIND
}
Index: qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/jsruntime/qv4global_p.h
Index: qtdeclarative-everywhere-src-5.14.0-alpha/src/qml/configure.json
===================================================================
--- qtdeclarative-everywhere-src-5.13.0-beta1.orig/src/qml/jsruntime/qv4global_p.h
+++ qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/jsruntime/qv4global_p.h
@@ -115,7 +115,7 @@ inline double trunc(double d) { return d
// Black list some platforms
#if defined(V4_ENABLE_JIT)
-#if defined(Q_OS_IOS) || defined(Q_OS_TVOS)
+#if defined(Q_OS_IOS) || defined(Q_OS_TVOS) || (defined(Q_PROCESSOR_X86) && !defined(__SSE2__))
# undef V4_ENABLE_JIT
#endif
#endif
Index: qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/qml/v8/qv8engine.cpp
===================================================================
--- qtdeclarative-everywhere-src-5.13.0-beta1.orig/src/qml/qml/v8/qv8engine.cpp
+++ qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/qml/v8/qv8engine.cpp
@@ -141,7 +141,7 @@ QV8Engine::QV8Engine(QV4::ExecutionEngin
#ifndef Q_OS_WASM // wasm does not have working simd QTBUG-63924
#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");
+ qDebug("This program requires an X86 processor that supports SSE2 extension, at least a Pentium 4 or newer, processors missing the extension are NOT supported to run QML2 code!");
}
#endif
#endif
--- qtdeclarative-everywhere-src-5.14.0-alpha.orig/src/qml/configure.json
+++ qtdeclarative-everywhere-src-5.14.0-alpha/src/qml/configure.json
@@ -8,6 +8,7 @@
"commandline": {
"options": {
"qml-network": "boolean",
+ "qml-jit": "boolean",
"qml-debug": "boolean"
}
},
@@ -90,7 +91,7 @@
"purpose": "Provides a JIT for QML and JavaScript",
"section": "QML",
"condition": [
- " (arch.i386 && tests.pointer_32bit && features.sse2)
+ " (arch.i386 && tests.pointer_32bit)
|| (arch.x86_64 && tests.pointer_64bit && features.sse2)
|| (arch.arm && tests.pointer_32bit && tests.arm_fp && tests.arm_thumb
&& (config.linux || config.ios || config.tvos || config.qnx))