From 99f2151f16b68e5a9e2cd15429da6bfc0a4b992cd6547f3f48996130a47dc568 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 13 Jun 2017 14:02:07 +0000 Subject: [PATCH] Accepting request 499987 from KDE:Qt5 Qt 5.9.0 final OBS-URL: https://build.opensuse.org/request/show/499987 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtdeclarative?expand=0&rev=37 --- libqt5-qtdeclarative.changes | 21 ++++++++ libqt5-qtdeclarative.spec | 63 ++++++++++++++++------- qtdeclarative-opensource-src-5.7.1.tar.xz | 3 -- qtdeclarative-opensource-src-5.9.0.tar.xz | 3 ++ sse2_nojit.patch | 42 +++++++++++++++ 5 files changed, 110 insertions(+), 22 deletions(-) delete mode 100644 qtdeclarative-opensource-src-5.7.1.tar.xz create mode 100644 qtdeclarative-opensource-src-5.9.0.tar.xz create mode 100644 sse2_nojit.patch diff --git a/libqt5-qtdeclarative.changes b/libqt5-qtdeclarative.changes index 161633c..8f2b1ed 100644 --- a/libqt5-qtdeclarative.changes +++ b/libqt5-qtdeclarative.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed May 31 07:05:09 UTC 2017 - fabian@ritter-vogt.de + +- Update to 5.9.0 final + +------------------------------------------------------------------- +Wed May 24 19:16:41 UTC 2017 - fabian@ritter-vogt.de + +- Update to 5.9.0 RC: + * For more details please see: + http://lists.qt-project.org/pipermail/announce/2017-May/000115.html + and https://wiki.qt.io/New_Features_in_Qt_5.9 +- Refresh patches: + * sse2_nojit.patch + +------------------------------------------------------------------- +Fri Apr 28 12:34:26 UTC 2017 - wbauer@tmo.at + +- Add back sse2_nojit.patch to support 32bit CPUs without SSE2 + instructions (boo#1027691) + ------------------------------------------------------------------- Wed Dec 14 16:05:47 UTC 2016 - hrvoje.senjan@gmail.com diff --git a/libqt5-qtdeclarative.spec b/libqt5-qtdeclarative.spec index 13b0efa..72db108 100644 --- a/libqt5-qtdeclarative.spec +++ b/libqt5-qtdeclarative.spec @@ -21,18 +21,20 @@ %define libname libQtQuick5 Name: libqt5-qtdeclarative -Version: 5.7.1 +Version: 5.9.0 Release: 0 Summary: Qt 5 Declarative Library License: SUSE-LGPL-2.1-with-digia-exception-1.1 or GPL-3.0 Group: Development/Libraries/X11 -Url: http://qt.digia.com +Url: https://www.qt.io %define base_name libqt5 -%define real_version 5.7.1 -%define so_version 5.7.1 +%define real_version 5.9.0 +%define so_version 5.9.0 %define tar_version qtdeclarative-opensource-src-%{real_version} -Source: %{tar_version}.tar.xz +Source: https://download.qt.io/official_releases/qt/5.9/%{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 BuildRequires: fdupes BuildRequires: libQt5Core-private-headers-devel >= %{version} BuildRequires: libQt5Gui-private-headers-devel >= %{version} @@ -69,6 +71,9 @@ handling. %prep %setup -q -n qtdeclarative-opensource-src-%{real_version} +%ifarch %ix86 +%patch100 -p1 +%endif %package -n %libname Summary: Qt 5 Declarative Library @@ -139,16 +144,34 @@ mkdir .git mkdir -p %{_target_platform} pushd %{_target_platform} -%qmake5 .. +qmake-qt5 .. popd %make_jobs -C %{_target_platform} +%ifarch %ix86 +# build libQt5Qml with no_sse2 +mkdir -p %{_target_platform}-no_sse2 +pushd %{_target_platform}-no_sse2 +%qmake5 -config no_sse2 .. +make sub-src-clean +%make_jobs -C src/qml +popd +%endif + %install pushd %{_target_platform} %qmake5_install popd +%ifarch %ix86 +mkdir -p %{buildroot}%{_libqt5_libdir}//sse2 +mv %{buildroot}%{_libqt5_libdir}/libQt5Qml.so.5* %{buildroot}%{_libqt5_libdir}/sse2/ +pushd %{_target_platform}-no_sse2/src/qml +%qmake5_install +popd +%endif + find %{buildroot}/%{_libdir} -type f -name '*la' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} \; find %{buildroot}/%{_libdir}/pkgconfig -type f -name '*pc' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} \; # kill .la files @@ -177,36 +200,37 @@ popd %files -n %libname %defattr(-,root,root,755) -%doc LGPL_EXCEPTION.txt LICENSE.* +%doc LICENSE.* %{_libqt5_libdir}/libQt5Q*.so.* -%{_libqt5_archdatadir}/qml/QtQuick -%{_libqt5_archdatadir}/qml/QtQuick.2 -%{_libqt5_archdatadir}/qml/QtQml/Models.2 -%{_libqt5_archdatadir}/qml/QtQml/StateMachine/ +%ifarch %ix86 +%{_libqt5_libdir}/sse2/libQt5Q*.so.* +%endif %dir %{_libqt5_archdatadir}/qml %dir %{_libqt5_archdatadir}/qml/Qt -%dir %{_libqt5_archdatadir}/qml/Qt/labs -%dir %{_libqt5_archdatadir}/qml/QtQml -%{_libqt5_archdatadir}/qml/Qt/labs/folderlistmodel -%{_libqt5_archdatadir}/qml/Qt/labs/settings/ +%{_libqt5_archdatadir}/qml/QtQuick +%{_libqt5_archdatadir}/qml/QtQuick.2 %{_libqt5_archdatadir}/qml/QtQml %{_libqt5_archdatadir}/qml/builtins.qmltypes +%dir %{_libqt5_archdatadir}/qml/Qt/labs +%{_libqt5_archdatadir}/qml/Qt/labs/folderlistmodel +%{_libqt5_archdatadir}/qml/Qt/labs/settings/ +%{_libqt5_archdatadir}/qml/Qt/labs/sharedimage/ %{_libqt5_plugindir}/qmltooling %files private-headers-devel %defattr(-,root,root,755) -%doc LGPL_EXCEPTION.txt LICENSE.* +%doc LICENSE.* %{_libqt5_includedir}/Qt*/%{so_version} %files tools %defattr(-,root,root,755) -%doc LGPL_EXCEPTION.txt LICENSE.* +%doc LICENSE.* %{_bindir}/* %{_libqt5_bindir}/* %files devel %defattr(-,root,root,755) -%doc LGPL_EXCEPTION.txt LICENSE.* +%doc LICENSE.* %exclude %{_libqt5_includedir}/Qt*/%{so_version} %{_libqt5_includedir}/Qt* %{_libqt5_libdir}/cmake/Qt5* @@ -215,11 +239,12 @@ popd %{_libqt5_libdir}/libQt5*.a %{_libqt5_libdir}/pkgconfig/Qt5Q*.pc %{_libqt5_archdatadir}/mkspecs/modules/*.pri +%{_libqt5_archdatadir}/mkspecs/features/qmlcache.prf %{_libqt5_archdatadir}/qml/QtTest %files examples %defattr(-,root,root,755) -%doc LGPL_EXCEPTION.txt LICENSE.* +%doc LICENSE.* %{_libqt5_examplesdir}/ %changelog diff --git a/qtdeclarative-opensource-src-5.7.1.tar.xz b/qtdeclarative-opensource-src-5.7.1.tar.xz deleted file mode 100644 index 45b664e..0000000 --- a/qtdeclarative-opensource-src-5.7.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fd13dd3059d20694a857ed30ee56a2ade908c0cb93246f9804a65f7a2d775d56 -size 18976920 diff --git a/qtdeclarative-opensource-src-5.9.0.tar.xz b/qtdeclarative-opensource-src-5.9.0.tar.xz new file mode 100644 index 0000000..a2513ed --- /dev/null +++ b/qtdeclarative-opensource-src-5.9.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c9b72098f952155e943c4890c67f9a7dd81737ff69b482a401a2b2af0f93ebd +size 21380460 diff --git a/sse2_nojit.patch b/sse2_nojit.patch new file mode 100644 index 0000000..c78e8b0 --- /dev/null +++ b/sse2_nojit.patch @@ -0,0 +1,42 @@ +diff --git a/src/qml/jsruntime/jsruntime.pri b/src/qml/jsruntime/jsruntime.pri +index c27aaa9..05c86e8 100644 +--- a/src/qml/jsruntime/jsruntime.pri ++++ b/src/qml/jsruntime/jsruntime.pri +@@ -115,6 +115,11 @@ SOURCES += \ + $$PWD/qv4value.cpp \ + $$PWD/qv4executableallocator.cpp + ++linux-g++*:isEqual(QT_ARCH,i386):!no_sse2 { ++ QMAKE_CFLAGS += -msse2 -mfpmath=sse ++ QMAKE_CXXFLAGS += -msse2 -mfpmath=sse ++} ++ + valgrind { + DEFINES += V4_USE_VALGRIND + } +diff --git a/src/qml/jsruntime/qv4global_p.h b/src/qml/jsruntime/qv4global_p.h +index a58beb3..85e8dc0 100644 +--- a/src/qml/jsruntime/qv4global_p.h ++++ b/src/qml/jsruntime/qv4global_p.h +@@ -117,7 +117,7 @@ inline double trunc(double d) { return d > 0 ? floor(d) : ceil(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 +diff --git a/src/qml/qml/v8/qv8engine.cpp b/src/qml/qml/v8/qv8engine.cpp +index 39b816f..762ee61 100644 +--- a/src/qml/qml/v8/qv8engine.cpp ++++ b/src/qml/qml/v8/qv8engine.cpp +@@ -131,7 +131,7 @@ QV8Engine::QV8Engine(QJSEngine* qq) + { + #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 +