Compare commits

...

23 Commits
f27 ... master

Author SHA1 Message Date
Fedora Release Engineering a03de2e28b - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 17:48:17 +00:00
Rex Dieter 41f80f3c36 build with python3 2019-07-16 11:07:18 -05:00
Jan Grulich 91e5dd6f32 5.12.4 2019-06-14 08:58:11 +02:00
Jan Grulich 1f68f19a42 5.12.3 2019-06-04 13:23:36 +02:00
Rex Dieter 8b92b96a28 fix no_examples logic 2019-03-25 13:06:09 -05:00
Rex Dieter 12278ffb15 de-bootstrap 2019-03-15 11:45:46 -05:00
Rex Dieter 9ea54560a9 5.12.1
drop remants of sse2 hack support
add bootstrap support (examples)
2019-02-15 08:48:25 -06:00
Fedora Release Engineering a559b62e4a - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 10:42:40 +00:00
Rex Dieter 160a831b8a 5.11.3 2018-12-07 13:03:17 -06:00
Jan Grulich feddfaee09 5.11.2 2018-09-21 11:47:22 +02:00
Rex Dieter e8c1e81b23 BR: /usr/bin/python 2018-07-15 11:13:06 -05:00
Fedora Release Engineering 5432740ac0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 03:08:34 +00:00
Rex Dieter 288e4bbb47 5.11.1 2018-06-20 07:53:49 -05:00
Rex Dieter 98992c7427 %ix86: nosse2_hack on < f29 only 2018-06-18 12:56:46 -05:00
Rex Dieter 8c6e45baf3 fix Release: tag 2018-05-27 08:46:23 -05:00
Rex Dieter 4cb5cd4a25 5.11.0
i686: use nosse2_hack again
2018-05-26 08:45:23 -05:00
Rex Dieter 983537cbc2 pull in candidate memleak fix (review#224684) 2018-04-03 11:17:39 -05:00
Iryna Shcherbina 493717fb42 Update Python 2 dependency declarations to new packaging standards 2018-03-19 01:13:58 +01:00
Rex Dieter 2fee9be2ca BR: qt5-rpm-macros 2018-03-08 11:34:25 -06:00
Rex Dieter 6118156d08 BR: gcc-c++, use %make_build %make_install %ldconfig_scriptlets 2018-03-05 10:50:57 -06:00
Jan Grulich 0c9554569f 5.10.1 2018-02-13 15:22:18 +01:00
Igor Gnatenko 9e7be95657
Escape macros in %changelog
Reference: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/Y2ZUKK2B7T2IKXPMODNF6HB2O5T5TS6H/
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-09 09:05:52 +01:00
Jan Grulich 71b3708f4d 5.10.0 2017-12-20 08:24:28 +01:00
8 changed files with 100 additions and 433 deletions

7
.gitignore vendored
View File

@ -1,3 +1,4 @@
/qtdeclarative-opensource-src-5.9.1.tar.xz
/qtdeclarative-opensource-src-5.9.2.tar.xz
/qtdeclarative-opensource-src-5.9.3.tar.xz
/qtdeclarative-everywhere-src-5.11.3.tar.xz
/qtdeclarative-everywhere-src-5.12.1.tar.xz
/qtdeclarative-everywhere-src-5.12.3.tar.xz
/qtdeclarative-everywhere-src-5.12.4.tar.xz

View File

@ -1,168 +0,0 @@
From 98358715930739ca8de172d88c5ce6941c275ff3 Mon Sep 17 00:00:00 2001
From: Simon Hausmann <simon.hausmann@qt.io>
Date: Tue, 12 Sep 2017 15:13:33 +0200
Subject: [PATCH 111/153] Fix qml cache invalidation when changing dependent
C++ registered QML singletons
When a qml file uses a qml singleton, we need to reliably detect when
the singleton changes and re-generate the cache of the qml file using
it. This is a scenario covered and fixed by commit
5b94de09cc738837d1539e28b3c0dccd17c18d29, with the exception that
currently QML singletons registered via qmlRegisterSingleton were not
added to the list of dependent singletons for a qml file. We can fix
this by extending findCompositeSingletons() to also cover the singletons
that do not originate from a qmldir file.
[ChangeLog][Qt][Qml] Fixed bug where sometimes changes to a qml
singleton would not propagate to the users or cause crashes.
Task-number: QTBUG-62243
Change-Id: I16c3d9ba65fd82e898a29b946c341907751135a9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
---
src/qml/qml/qqmlimport.cpp | 11 +++++
src/qml/qml/qqmlmetatype.cpp | 12 +++++
src/qml/qml/qqmlmetatype_p.h | 2 +
tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp | 61 ++++++++++++++++++++++++
4 files changed, 86 insertions(+)
diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
index 0bd731747..ccd287e1b 100644
--- a/src/qml/qml/qqmlimport.cpp
+++ b/src/qml/qml/qqmlimport.cpp
@@ -471,6 +471,17 @@ void findCompositeSingletons(const QQmlImportNamespace &set, QList<QQmlImports::
resultList.append(ref);
}
}
+
+ if (QQmlTypeModule *module = QQmlMetaType::typeModule(import->uri, import->majversion)) {
+ module->walkCompositeSingletons([&resultList, &set](const QQmlType &singleton) {
+ QQmlImports::CompositeSingletonReference ref;
+ ref.typeName = singleton.elementName();
+ ref.prefix = set.prefix;
+ ref.majorVersion = singleton.majorVersion();
+ ref.minorVersion = singleton.minorVersion();
+ resultList.append(ref);
+ });
+ }
}
}
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp
index 5bbc250d5..8f5d11a96 100644
--- a/src/qml/qml/qqmlmetatype.cpp
+++ b/src/qml/qml/qqmlmetatype.cpp
@@ -1258,6 +1258,18 @@ QQmlType QQmlTypeModule::type(const QV4::String *name, int minor) const
return QQmlType();
}
+void QQmlTypeModule::walkCompositeSingletons(const std::function<void(const QQmlType &)> &callback) const
+{
+ QMutexLocker lock(metaTypeDataLock());
+ for (auto typeCandidates = d->typeHash.begin(), end = d->typeHash.end();
+ typeCandidates != end; ++typeCandidates) {
+ for (auto type: typeCandidates.value()) {
+ if (type->regType == QQmlType::CompositeSingletonType)
+ callback(QQmlType(type));
+ }
+ }
+}
+
QQmlTypeModuleVersion::QQmlTypeModuleVersion()
: m_module(0), m_minor(0)
{
diff --git a/src/qml/qml/qqmlmetatype_p.h b/src/qml/qml/qqmlmetatype_p.h
index ac2133ba3..9a7736ffc 100644
--- a/src/qml/qml/qqmlmetatype_p.h
+++ b/src/qml/qml/qqmlmetatype_p.h
@@ -298,6 +298,8 @@ public:
QQmlType type(const QHashedStringRef &, int) const;
QQmlType type(const QV4::String *, int) const;
+ void walkCompositeSingletons(const std::function<void(const QQmlType &)> &callback) const;
+
QQmlTypeModulePrivate *priv() { return d; }
private:
//Used by register functions and creates the QQmlTypeModule for them
diff --git a/tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp b/tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp
index 6ab84774f..e75e51ed2 100644
--- a/tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp
+++ b/tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp
@@ -59,6 +59,7 @@ private slots:
void cacheResources();
void stableOrderOfDependentCompositeTypes();
void singletonDependency();
+ void cppRegisteredSingletonDependency();
};
// A wrapper around QQmlComponent to ensure the temporary reference counts
@@ -790,6 +791,66 @@ void tst_qmldiskcache::singletonDependency()
}
}
+void tst_qmldiskcache::cppRegisteredSingletonDependency()
+{
+ qmlClearTypeRegistrations();
+ QScopedPointer<QQmlEngine> engine(new QQmlEngine);
+
+ QTemporaryDir tempDir;
+ QVERIFY(tempDir.isValid());
+
+ const auto writeTempFile = [&tempDir](const QString &fileName, const char *contents) {
+ QFile f(tempDir.path() + '/' + fileName);
+ const bool ok = f.open(QIODevice::WriteOnly | QIODevice::Truncate);
+ Q_ASSERT(ok);
+ f.write(contents);
+ return f.fileName();
+ };
+
+ writeTempFile("MySingleton.qml", "import QtQml 2.0\npragma Singleton\nQtObject { property int value: 42 }");
+
+ qmlRegisterSingletonType(QUrl::fromLocalFile(tempDir.path() + QLatin1String("/MySingleton.qml")), "CppRegisteredSingletonDependency", 1, 0, "Singly");
+
+ const QString testFilePath = writeTempFile("main.qml", "import QtQml 2.0\nimport CppRegisteredSingletonDependency 1.0\nQtObject {\n"
+ " function getValue() { return Singly.value; }\n"
+ "}");
+
+ {
+ CleanlyLoadingComponent component(engine.data(), QUrl::fromLocalFile(testFilePath));
+ QScopedPointer<QObject> obj(component.create());
+ QVERIFY(!obj.isNull());
+ QVariant value;
+ QVERIFY(QMetaObject::invokeMethod(obj.data(), "getValue", Q_RETURN_ARG(QVariant, value)));
+ QCOMPARE(value.toInt(), 42);
+ }
+
+ const QString testFileCachePath = testFilePath + QLatin1Char('c');
+ QVERIFY(QFile::exists(testFileCachePath));
+ QDateTime initialCacheTimeStamp = QFileInfo(testFileCachePath).lastModified();
+
+ engine.reset(new QQmlEngine);
+ waitForFileSystem();
+
+ writeTempFile("MySingleton.qml", "import QtQml 2.0\npragma Singleton\nQtObject { property int value: 100 }");
+ waitForFileSystem();
+
+ {
+ CleanlyLoadingComponent component(engine.data(), QUrl::fromLocalFile(testFilePath));
+ QScopedPointer<QObject> obj(component.create());
+ QVERIFY(!obj.isNull());
+
+ {
+ QVERIFY(QFile::exists(testFileCachePath));
+ QDateTime newCacheTimeStamp = QFileInfo(testFileCachePath).lastModified();
+ QVERIFY2(newCacheTimeStamp > initialCacheTimeStamp, qPrintable(newCacheTimeStamp.toString()));
+ }
+
+ QVariant value;
+ QVERIFY(QMetaObject::invokeMethod(obj.data(), "getValue", Q_RETURN_ARG(QVariant, value)));
+ QCOMPARE(value.toInt(), 100);
+ }
+}
+
QTEST_MAIN(tst_qmldiskcache)
#include "tst_qmldiskcache.moc"
--
2.14.3

View File

@ -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
@@ -165,6 +165,7 @@ ExecutionEngine::ExecutionEngine(EvalISe
#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;

View File

@ -1,52 +1,28 @@
%global qt_module qtdeclarative
%if 0
#ifarch %{ix86}
%global nosse2_hack 1
## TODO:
# * consider debian's approach of runtime detection instead:
# https://codereview.qt-project.org/#/c/127354/
%endif
# definition borrowed from qtbase
%global multilib_archs x86_64 %{ix86} %{?mips} ppc64 ppc s390x s390 sparc64 sparcv9
#global bootstrap 1
Summary: Qt5 - QtDeclarative component
Name: qt5-%{qt_module}
Version: 5.9.3
Release: 1%{?dist}
Version: 5.12.4
Release: 3%{?dist}
# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
License: LGPLv2 with exceptions or GPLv3 with exceptions
Url: http://www.qt.io
Source0: https://download.qt.io/official_releases/qt/5.9/%{version}/submodules/%{qt_module}-opensource-src-%{version}.tar.xz
%global majmin %(echo %{version} | cut -d. -f1-2)
Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submodules/%{qt_module}-everywhere-src-%{version}.tar.xz
# header file to workaround multilib issue
# https://bugzilla.redhat.com/show_bug.cgi?id=1441343
Source5: qv4global_p-multilib.h
# support no_sse2 CONFIG (fedora i686 builds cannot assume -march=pentium4 -msse2 -mfpmath=sse flags, or the JIT that needs them)
# https://codereview.qt-project.org/#change,73710
Patch1: qtdeclarative-opensource-src-5.9.0-no_sse2.patch
# workaround for possible deadlock condition in QQuickShaderEffectSource
# https://bugzilla.redhat.com/show_bug.cgi?id=1237269
# https://bugs.kde.org/show_bug.cgi?id=348385
Patch2: qtdeclarative-QQuickShaderEffectSource_deadlock.patch
## upstream patches
# regression https://bugreports.qt.io/browse/QTBUG-64017
# so revert this offending commit (for now)
Patch111: 0111-Fix-qml-cache-invalidation-when-changing-dependent-C.patch
## upstreamable patches
# use system double-conversation
# https://bugs.kde.org/show_bug.cgi?id=346118#c108
Patch201: qtdeclarative-kdebug346118.patch
# https://codereview.qt-project.org/#/c/127354/
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=792594
Patch202: http://sources.debian.net/data/main/q/qtdeclarative-opensource-src/5.9.0~beta3-2/debian/patches/Do-not-make-lack-of-SSE2-support-on-x86-32-fatal.patch
# filter qml provides
%global __provides_exclude_from ^%{_qt5_archdatadir}/qml/.*\\.so$
@ -54,11 +30,17 @@ Patch202: http://sources.debian.net/data/main/q/qtdeclarative-opensource-src/5.9
Obsoletes: qt5-qtjsbackend < 5.2.0
Obsoletes: qt5-qtdeclarative-render2d < 5.7.1-10
BuildRequires: gcc-c++
BuildRequires: qt5-rpm-macros >= %{version}
BuildRequires: qt5-qtbase-devel >= %{version}
BuildRequires: qt5-qtbase-private-devel
%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}
BuildRequires: qt5-qtxmlpatterns-devel >= %{version}
BuildRequires: python
BuildRequires: python%{python3_pkgversion}
%if 0%{?bootstrap}
Obsoletes: %{name}-examples < %{version}-%{release}
%global no_examples CONFIG-=compile_examples
%endif
%if 0%{?tests}
BuildRequires: dbus-x11
@ -67,7 +49,6 @@ BuildRequires: time
BuildRequires: xorg-x11-server-Xvfb
%endif
%description
%{summary}.
@ -95,43 +76,22 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
%prep
%setup -q -n %{qt_module}-opensource-src-%{version}
%if 0%{?nosse2_hack}
%patch1 -p1 -b .no_sse2
%endif
%patch2 -p1 -b .QQuickShaderEffectSource_deadlock
%patch111 -p1 -R -b .0111
%patch201 -p0 -b .kdebug346118
%patch202 -p1 -b .no_sse2_non_fatal
%autosetup -n %{qt_module}-everywhere-src-%{version}
%build
%if 0%{?nosse2_hack}
# build libQt5Qml with no_sse2
mkdir -p %{_target_platform}-no_sse2
pushd %{_target_platform}-no_sse2
%{qmake_qt5} -config no_sse2 ..
make sub-src-clean
make %{?_smp_mflags} -C src/qml
popd
%endif
# no shadow builds until fixed: https://bugreports.qt.io/browse/QTBUG-37417
%{qmake_qt5}
# HACK so calls to "python" get what we want
ln -s %{__python3} python
export PATH=`pwd`:$PATH
make %{?_smp_mflags}
%qmake_qt5
%make_build
%install
make install INSTALL_ROOT=%{buildroot}
%if 0%{?nosse2_hack}
mkdir -p %{buildroot}%{_qt5_libdir}/sse2
mv %{buildroot}%{_qt5_libdir}/libQt5Qml.so.5* %{buildroot}%{_qt5_libdir}/sse2/
make install INSTALL_ROOT=%{buildroot} -C %{_target_platform}-no_sse2/src/qml
%endif
%make_install INSTALL_ROOT=%{buildroot}
%ifarch %{multilib_archs}
# multilib: qv4global_p.h
@ -187,18 +147,15 @@ make check -k -C tests ||:
%endif
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%ldconfig_scriptlets
%files
%license LICENSE.LGPL*
%{_qt5_libdir}/libQt5Qml.so.5*
%if 0%{?nosse2_hack}
%{_qt5_libdir}/sse2/libQt5Qml.so.5*
%endif
%{_qt5_libdir}/libQt5Quick.so.5*
%{_qt5_libdir}/libQt5QuickWidgets.so.5*
%{_qt5_libdir}/libQt5QuickParticles.so.5*
%{_qt5_libdir}/libQt5QuickShapes.so.5*
%{_qt5_libdir}/libQt5QuickTest.so.5*
%{_qt5_plugindir}/qmltooling/
%{_qt5_archdatadir}/qml/
@ -227,11 +184,80 @@ make check -k -C tests ||:
%{_qt5_libdir}/libQt5QmlDebug.a
%{_qt5_libdir}/libQt5QmlDebug.prl
%if ! 0%{?no_examples:1}
%files examples
%{_qt5_examplesdir}/
%endif
%changelog
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.12.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Jul 16 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.4-2
- build with python3
* Fri Jun 14 2019 Jan Grulich <jgrulich@redhat.com> - 5.12.4-1
- 5.12.4
* Tue Jun 04 2019 Jan Grulich <jgrulich@redhat.com> - 5.12.3-1
- 5.12.3
* Fri Mar 15 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-2
- de-bootstrap
* Mon Feb 04 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-1
- 5.12.1
- drop remants of sse2 hack support
- add bootstrap support (examples)
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.11.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Dec 07 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.3-1
- 5.11.3
* Fri Sep 21 2018 Jan Grulich <jgrulich@redhat.com> - 5.11.2-1
- 5.11.2
* Sun Jul 15 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.1-3
- BR: /usr/bin/python
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.11.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.1-1
- 5.11.1
* Mon Jun 18 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.0-2
- %%ix86: nosse2_hack on < f29 only
* Wed May 23 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.0-1
- 5.11.0
- i686: use nosse2_hack again
* Tue Apr 03 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.10.1-5
- pull in candidate memleak fix (review#224684)
* Sun Mar 18 2018 Iryna Shcherbina <ishcherb@redhat.com> - 5.10.1-4
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Thu Mar 08 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.10.1-3
- BR: qt5-rpm-macros
* Mon Mar 05 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.10.1-2
- BR: gcc-c++, use %%make_build %%make_install %%ldconfig_scriptlets
* Tue Feb 13 2018 Jan Grulich <jgrulich@redhat.com> - 5.10.1-1
- 5.10.1
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.10.0-2
- Escape macros in %%changelog
* Tue Dec 19 2017 Jan Grulich <jgrulich@redhat.com> - 5.10.0-1
- 5.10.0
* Thu Nov 23 2017 Jan Grulich <jgrulich@redhat.com> - 5.9.3-1
- 5.9.3
@ -270,7 +296,7 @@ make check -k -C tests ||:
- Upstream Release Candidate 1
* Sun May 14 2017 Rex Dieter <rdieter@fedoraproject.org> - 5.9.0-0.5.beta3
- Conflict in qt5-qtdeclarative-devel (#1441343), fix Release: 1%{?dist}
- Conflict in qt5-qtdeclarative-devel (#1441343), fix Release: 1%%{?dist}
* Mon May 08 2017 Than Ngo <than@redhat.com> - 5.9.0-0.beta.4
- drop useless qtdeclarative-opensource-src-5.9.0-v4bootstrap.patch,
@ -383,7 +409,7 @@ make check -k -C tests ||:
- use %%license
* Mon Dec 21 2015 Rex Dieter <rdieter@fedoraproject.org> 5.6.0-0.5.beta3
- fix Source URL, Release: 1%{?dist}
- fix Source URL, Release: 1%%{?dist}
* Mon Dec 21 2015 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.4
- Update to final beta3 release

View File

@ -1,15 +0,0 @@
--- qtdeclarative-opensource-src-5.4.2/src/quick/items/qquickshadereffectsource.cpp 2015-06-30 07:30:51.938794778 +0200
+++ qtdeclarative-opensource-src-5.4.2/src/quick/items/qquickshadereffectsource.cpp.orig 2015-06-30 07:29:47.019163937 +0200
@@ -632,8 +632,12 @@
const QSize minTextureSize = d->sceneGraphContext()->minimumFBOSize();
// Keep power-of-two by doubling the size.
+ if (textureSize.width() < 1)
+ textureSize.rwidth() = 1;
while (textureSize.width() < minTextureSize.width())
textureSize.rwidth() *= 2;
+ if (textureSize.height() < 1)
+ textureSize.rheight() = 1;
while (textureSize.height() < minTextureSize.height())
textureSize.rheight() *= 2;

View File

@ -1,19 +0,0 @@
--- src/qml/util/qqmladaptormodel.cpp.orig 2016-05-27 17:06:31.192332166 -0300
+++ src/qml/util/qqmladaptormodel.cpp 2016-05-27 18:37:27.764552053 -0300
@@ -163,8 +163,14 @@ public:
signalIndexes.append(propertyId + signalOffset);
}
- for (int i = 0, c = items.count(); i < c; ++i) {
- QQmlDelegateModelItem *item = items.at(i);
+ const QList<QQmlDelegateModelItem *> copy = items;
+ for (int i = 0, c = copy.count(); i < c; ++i) {
+ // Applying the same logic used in QQmlDelegateModel::_q_itemsRemoved().
+ QQmlDelegateModelItem *item = copy.at(i);
+ if (!items.contains(item)) {
+ continue;
+ }
+
const int idx = item->modelIndex();
if (idx >= index && idx < index + count) {
for (int i = 0; i < signalIndexes.count(); ++i)

View File

@ -1,36 +0,0 @@
--- qtdeclarative-opensource-src-5.9.0-beta3/src/qml/jsruntime/qv4global_p.h 2017-04-21 20:34:05.000000000 +0200
+++ qtdeclarative-opensource-src-5.9.0-beta3/src/qml/jsruntime/qv4global_p.h.new 2017-05-06 09:23:00.894049064 +0200
@@ -95,7 +95,7 @@
//
// NOTE: This should match the logic in qv4targetplatform_p.h!
-#if defined(Q_PROCESSOR_X86) && (QT_POINTER_SIZE == 4) \
+#if defined(Q_PROCESSOR_X86) && (QT_POINTER_SIZE == 4) && defined(__SSE2__) \
&& (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) \
--- qtdeclarative-opensource-src-5.9.0-beta3/src/qml/jsruntime/jsruntime.pri 2017-04-21 20:34:05.000000000 +0200
+++ qtdeclarative-opensource-src-5.9.0-beta3/src/qml/jsruntime/jsruntime.pri.new 2017-05-06 09:25:12.698437577 +0200
@@ -115,6 +115,11 @@
$$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
}
--- qtdeclarative-opensource-src-5.9.0-beta3/src/qml/qml/v8/qv8engine.cpp 2017-04-21 20:34:05.000000000 +0200
+++ qtdeclarative-opensource-src-5.9.0-beta3/src/qml/qml/v8/qv8engine.cpp.new 2017-05-06 09:27:19.373810971 +0200
@@ -129,7 +129,7 @@
, m_xmlHttpRequestData(0)
, m_listModelData(0)
{
-#ifdef Q_PROCESSOR_X86_32
+#if defined(Q_PROCESSOR_X86_32) && defined(__SSE2__)
if (!qCpuHasFeature(SSE2)) {
qFatal("This program requires an X86 processor that supports SSE2 extension, at least a Pentium 4 or newer");
}

View File

@ -1 +1 @@
SHA512 (qtdeclarative-opensource-src-5.9.3.tar.xz) = 933caf5848437cde45b4bbf0c70b6cafbc690657c651508b28138b2f90d2f823f4842bc709f4726e2c88d3913a92240b0dcd9248d83af0d06d7127b9a8211b24
SHA512 (qtdeclarative-everywhere-src-5.12.4.tar.xz) = 953b0dac76b73a7a21b393ab88718da12d77dfc688dc07c55c96ea1658bc14acd9097bef60df4a95d2923d3fb1e02b46499c032aa53844d4fd344b0037514671