Accepting request 1068677 from home:Vogtinator:qt5.15
Drop support for systems without SSE2 to fix boo#1208188. RFC, not built yet OBS-URL: https://build.opensuse.org/request/show/1068677 OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.15/libqt5-qtdeclarative?expand=0&rev=26
This commit is contained in:
parent
500e45da2f
commit
333a30d800
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 2 11:49:15 UTC 2023 - Fabian Vogt <fvogt@suse.com>
|
||||
|
||||
- Drop the mechanism for supporting systems without SSE2. glibc removed
|
||||
support for looking up libraries in sse2/ subdirectories and libQt5Qml5
|
||||
without SSE2 crashes Plasma (boo#1208188):
|
||||
* sse2_nojit.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 9 09:19:15 UTC 2023 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
|
@ -31,8 +31,6 @@ Group: Development/Libraries/X11
|
||||
URL: https://www.qt.io
|
||||
Source: %{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
|
||||
# https://invent.kde.org/qt/qt/qtdeclarative/-/merge_requests/32
|
||||
Patch103: qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch
|
||||
BuildRequires: fdupes
|
||||
@ -143,49 +141,16 @@ mkdir .git
|
||||
|
||||
mkdir -p %{_target_platform}
|
||||
pushd %{_target_platform}
|
||||
# Force-enable the JIT for 32-bit x86
|
||||
%ifarch %{ix86}
|
||||
qmake-qt5 .. -- -qml-jit
|
||||
%else
|
||||
qmake-qt5 ..
|
||||
%endif
|
||||
popd
|
||||
|
||||
make %{?_smp_mflags} VERBOSE=1 -C %{_target_platform}
|
||||
|
||||
%ifarch %{ix86}
|
||||
%if 0%{?sle_version:%sle_version} < 150000
|
||||
# build libQt5Qml with no_sse2
|
||||
mkdir -p %{_target_platform}-no_sse2
|
||||
pushd %{_target_platform}-no_sse2
|
||||
%qmake5 -config no_sse2 .. -- -no-qml-jit
|
||||
|
||||
make %{?_smp_mflags} VERBOSE=1 sub-src-qmake_all
|
||||
# src/qml/Makefile has to be generated after qmltyperegistrar was built,
|
||||
# so we have to run qmake again after that. There is no explicit
|
||||
# dependency, it relies on CONFIG+=ordered...
|
||||
make %{?_smp_mflags} VERBOSE=1 -C src/qmltyperegistrar
|
||||
make %{?_smp_mflags} VERBOSE=1 sub-src-qmake_all
|
||||
make %{?_smp_mflags} VERBOSE=1 -C src/qml
|
||||
popd
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%install
|
||||
pushd %{_target_platform}
|
||||
%qmake5_install
|
||||
popd
|
||||
|
||||
%ifarch %{ix86}
|
||||
%if 0%{?sle_version:%sle_version} < 150000
|
||||
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
|
||||
%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
|
||||
@ -214,11 +179,6 @@ popd
|
||||
%files -n %{libname}
|
||||
%license LICENSE.*
|
||||
%{_libqt5_libdir}/libQt5Q*.so.*
|
||||
%ifarch %{ix86}
|
||||
%if 0%{?sle_version:%sle_version} < 150000
|
||||
%{_libqt5_libdir}/sse2/libQt5Q*.so.*
|
||||
%endif
|
||||
%endif
|
||||
%dir %{_libqt5_archdatadir}/qml
|
||||
%dir %{_libqt5_archdatadir}/qml/Qt
|
||||
%{_libqt5_archdatadir}/qml/QtQuick
|
||||
|
@ -1,45 +0,0 @@
|
||||
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.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.14.0-alpha/src/qml/configure.json
|
||||
===================================================================
|
||||
--- 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))
|
Loading…
Reference in New Issue
Block a user