From 8d1c44cf044b4546104748f8f64efc41b2771304 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 21 Jan 2020 16:21:23 -0500 Subject: [PATCH] import qt5-qtwayland-5.12.5-1.el8 --- .gitignore | 1 + .qt5-qtwayland.metadata | 1 + ...-do-not-redraw-decorations-everytime.patch | 33 ++ ...dont-swap-after-deliverupdaterequest.patch | 127 +++++++ ...atform-theme-on-gnome-based-desktops.patch | 39 ++ SPECS/qt5-qtwayland.spec | 353 ++++++++++++++++++ 6 files changed, 554 insertions(+) create mode 100644 .gitignore create mode 100644 .qt5-qtwayland.metadata create mode 100644 SOURCES/qtwayland-do-not-redraw-decorations-everytime.patch create mode 100644 SOURCES/qtwayland-fix-100ms-freeze-when-apps-dont-swap-after-deliverupdaterequest.patch create mode 100644 SOURCES/qtwayland-use-gnome-platform-theme-on-gnome-based-desktops.patch create mode 100644 SPECS/qt5-qtwayland.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e19f73c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/qtwayland-everywhere-src-5.12.5.tar.xz diff --git a/.qt5-qtwayland.metadata b/.qt5-qtwayland.metadata new file mode 100644 index 0000000..a97d8d2 --- /dev/null +++ b/.qt5-qtwayland.metadata @@ -0,0 +1 @@ +73ba627ea857598e733721a5a74ef1ff01e88d0b SOURCES/qtwayland-everywhere-src-5.12.5.tar.xz diff --git a/SOURCES/qtwayland-do-not-redraw-decorations-everytime.patch b/SOURCES/qtwayland-do-not-redraw-decorations-everytime.patch new file mode 100644 index 0000000..b5a684e --- /dev/null +++ b/SOURCES/qtwayland-do-not-redraw-decorations-everytime.patch @@ -0,0 +1,33 @@ +diff --git a/src/client/qwaylandshmbackingstore.cpp b/src/client/qwaylandshmbackingstore.cpp +index 3fe2ce80..6d660e64 100644 +--- a/src/client/qwaylandshmbackingstore.cpp ++++ b/src/client/qwaylandshmbackingstore.cpp +@@ -289,11 +289,13 @@ void QWaylandShmBackingStore::resize(const QSize &size) + buffer = getBuffer(sizeWithMargins); + } + +- qsizetype oldSize = mBackBuffer ? mBackBuffer->image()->sizeInBytes() : 0; ++ qsizetype oldSizeInBytes = mBackBuffer ? mBackBuffer->image()->sizeInBytes() : 0; ++ qsizetype newSizeInBytes = buffer->image()->sizeInBytes(); ++ + // mBackBuffer may have been deleted here but if so it means its size was different so we wouldn't copy it anyway +- if (mBackBuffer != buffer && oldSize == buffer->image()->sizeInBytes()) { +- memcpy(buffer->image()->bits(), mBackBuffer->image()->constBits(), buffer->image()->sizeInBytes()); +- } ++ if (mBackBuffer != buffer && oldSizeInBytes == newSizeInBytes) ++ memcpy(buffer->image()->bits(), mBackBuffer->image()->constBits(), newSizeInBytes); ++ + mBackBuffer = buffer; + // ensure the new buffer is at the beginning of the list so next time getBuffer() will pick + // it if possible +@@ -302,8 +304,9 @@ void QWaylandShmBackingStore::resize(const QSize &size) + mBuffers.prepend(buffer); + } + +- if (windowDecoration() && window()->isVisible()) ++ if (windowDecoration() && window()->isVisible() && oldSizeInBytes != newSizeInBytes) { + windowDecoration()->update(); ++ } + } + + QImage *QWaylandShmBackingStore::entireSurface() const diff --git a/SOURCES/qtwayland-fix-100ms-freeze-when-apps-dont-swap-after-deliverupdaterequest.patch b/SOURCES/qtwayland-fix-100ms-freeze-when-apps-dont-swap-after-deliverupdaterequest.patch new file mode 100644 index 0000000..ff4040f --- /dev/null +++ b/SOURCES/qtwayland-fix-100ms-freeze-when-apps-dont-swap-after-deliverupdaterequest.patch @@ -0,0 +1,127 @@ +From 9f5b96225885f927727a57b6123d8550d6c373bb Mon Sep 17 00:00:00 2001 +From: Johan Klokkhammer Helsing +Date: Tue, 15 Oct 2019 09:51:43 +0200 +Subject: [PATCH] Client: Fix 100ms freeze when applications do not swap after deliverUpdateRequest + +[ChangeLog][QPA plugin] Fixed a 100 ms freeze that would occur if applications +did not draw after receiving a deliverUpdateRequest(). + +QtQuick does this at the start of animations. This should get rid of those +backingstore warnings (and also remove a 100ms freeze before animations start +in those instances). + +Fixes: QTBUG-76813 +Change-Id: Id366bf4a14f402fa44530ae46e7b66d9988c14f6 +Reviewed-by: Paul Olav Tvete +Reviewed-by: John Brooks +--- + +diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp +index ae26ba0..8d34afd 100644 +--- a/src/client/qwaylandwindow.cpp ++++ b/src/client/qwaylandwindow.cpp +@@ -1105,25 +1105,6 @@ + + void QWaylandWindow::timerEvent(QTimerEvent *event) + { +- if (event->timerId() == mFallbackUpdateTimerId) { +- killTimer(mFallbackUpdateTimerId); +- mFallbackUpdateTimerId = -1; +- qCDebug(lcWaylandBackingstore) << "mFallbackUpdateTimer timed out"; +- +- if (!isExposed()) { +- qCDebug(lcWaylandBackingstore) << "Fallback update timer: Window not exposed," +- << "not delivering update request."; +- return; +- } +- +- if (mWaitingForUpdate && hasPendingUpdateRequest() && !mWaitingForFrameCallback) { +- qCWarning(lcWaylandBackingstore) << "Delivering update request through fallback timer," +- << "may not be in sync with display"; +- deliverUpdateRequest(); +- } +- } +- +- + if (mFrameCallbackTimerId.testAndSetOrdered(event->timerId(), -1)) { + killTimer(event->timerId()); + qCDebug(lcWaylandBackingstore) << "Didn't receive frame callback in time, window should now be inexposed"; +@@ -1135,6 +1116,7 @@ + + void QWaylandWindow::requestUpdate() + { ++ qCDebug(lcWaylandBackingstore) << "requestUpdate"; + Q_ASSERT(hasPendingUpdateRequest()); // should be set by QPA + + // If we have a frame callback all is good and will be taken care of there +@@ -1142,20 +1124,17 @@ + return; + + // If we've already called deliverUpdateRequest(), but haven't seen any attach+commit/swap yet +- if (mWaitingForUpdate) { +- // Ideally, we should just have returned here, but we're not guaranteed that the client +- // will actually update, so start this timer to deliver another request update after a while +- // *IF* the client doesn't update. +- int fallbackTimeout = 100; +- mFallbackUpdateTimerId = startTimer(fallbackTimeout); +- return; +- } ++ // This is a somewhat redundant behavior and might indicate a bug in the calling code, so log ++ // here so we can get this information when debugging update/frame callback issues. ++ // Continue as nothing happened, though. ++ if (mWaitingForUpdate) ++ qCDebug(lcWaylandBackingstore) << "requestUpdate called twice without committing anything"; + + // Some applications (such as Qt Quick) depend on updates being delivered asynchronously, + // so use invokeMethod to delay the delivery a bit. + QMetaObject::invokeMethod(this, [this] { + // Things might have changed in the meantime +- if (hasPendingUpdateRequest() && !mWaitingForUpdate && !mWaitingForFrameCallback) ++ if (hasPendingUpdateRequest() && !mWaitingForFrameCallback) + deliverUpdateRequest(); + }, Qt::QueuedConnection); + } +@@ -1165,6 +1144,7 @@ + // Can be called from the render thread (without locking anything) so make sure to not make races in this method. + void QWaylandWindow::handleUpdate() + { ++ qCDebug(lcWaylandBackingstore) << "handleUpdate" << QThread::currentThread(); + // TODO: Should sync subsurfaces avoid requesting frame callbacks? + QReadLocker lock(&mSurfaceLock); + if (!isInitialized()) +@@ -1175,15 +1155,6 @@ + mFrameCallback = nullptr; + } + +- if (mFallbackUpdateTimerId != -1) { +- // Ideally, we would stop the fallback timer here, but since we're on another thread, +- // it's not allowed. Instead we set mFallbackUpdateTimer to -1 here, so we'll just +- // ignore it if it times out before it's cleaned up by the invokeMethod call. +- int id = mFallbackUpdateTimerId; +- mFallbackUpdateTimerId = -1; +- QMetaObject::invokeMethod(this, [this, id] { killTimer(id); }, Qt::QueuedConnection); +- } +- + mFrameCallback = frame(); + wl_callback_add_listener(mFrameCallback, &QWaylandWindow::callbackListener, this); + mWaitingForFrameCallback = true; +@@ -1203,6 +1174,7 @@ + + void QWaylandWindow::deliverUpdateRequest() + { ++ qCDebug(lcWaylandBackingstore) << "deliverUpdateRequest"; + mWaitingForUpdate = true; + QPlatformWindow::deliverUpdateRequest(); + } +diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h +index b03d92e..e4a1124 100644 +--- a/src/client/qwaylandwindow_p.h ++++ b/src/client/qwaylandwindow_p.h +@@ -232,7 +232,6 @@ + + // True when we have called deliverRequestUpdate, but the client has not yet attached a new buffer + bool mWaitingForUpdate = false; +- int mFallbackUpdateTimerId = -1; // Started when waiting for app to commit + + QMutex mResizeLock; + bool mWaitingToApplyConfigure = false; diff --git a/SOURCES/qtwayland-use-gnome-platform-theme-on-gnome-based-desktops.patch b/SOURCES/qtwayland-use-gnome-platform-theme-on-gnome-based-desktops.patch new file mode 100644 index 0000000..d4463bf --- /dev/null +++ b/SOURCES/qtwayland-use-gnome-platform-theme-on-gnome-based-desktops.patch @@ -0,0 +1,39 @@ +diff --git a/src/client/qwaylandintegration.cpp b/src/client/qwaylandintegration.cpp +index 97e0203c..5bee160a 100644 +--- a/src/client/qwaylandintegration.cpp ++++ b/src/client/qwaylandintegration.cpp +@@ -99,20 +99,26 @@ public: + + if (QGuiApplication::desktopSettingsAware()) { + const QByteArray desktopEnvironment = QGuiApplicationPrivate::platformIntegration()->services()->desktopEnvironment(); +- ++ QList gtkBasedEnvironments; ++ gtkBasedEnvironments << "GNOME" ++ << "X-CINNAMON" ++ << "UNITY" ++ << "MATE" ++ << "XFCE" ++ << "LXDE"; + if (desktopEnvironment == QByteArrayLiteral("KDE")) { + #if QT_CONFIG(settings) + result.push_back(QStringLiteral("kde")); + #endif +- } else if (!desktopEnvironment.isEmpty() && +- desktopEnvironment != QByteArrayLiteral("UNKNOWN") && +- desktopEnvironment != QByteArrayLiteral("GNOME") && +- desktopEnvironment != QByteArrayLiteral("UNITY") && +- desktopEnvironment != QByteArrayLiteral("MATE") && +- desktopEnvironment != QByteArrayLiteral("XFCE") && +- desktopEnvironment != QByteArrayLiteral("LXDE")) ++ } else if (gtkBasedEnvironments.contains(desktopEnvironment)) { ++ // prefer the GTK3 theme implementation with native dialogs etc. ++ result.push_back(QStringLiteral("gtk3")); ++ // fallback to the generic Gnome theme if loading the GTK3 theme fails ++ result.push_back(QLatin1String(QGnomeTheme::name)); ++ } else if (!desktopEnvironment.isEmpty() && desktopEnvironment != QByteArrayLiteral("UNKNOWN")) { + // Ignore X11 desktop environments + result.push_back(QString::fromLocal8Bit(desktopEnvironment.toLower())); ++ } + } + + if (result.isEmpty()) diff --git a/SPECS/qt5-qtwayland.spec b/SPECS/qt5-qtwayland.spec new file mode 100644 index 0000000..0844c94 --- /dev/null +++ b/SPECS/qt5-qtwayland.spec @@ -0,0 +1,353 @@ +%global qt_module qtwayland + +%global build_tests 1 + +Summary: Qt5 - Wayland platform support and QtCompositor module +Name: qt5-%{qt_module} +Version: 5.12.5 +Release: 1%{?dist} + +License: LGPLv3 +Url: http://www.qt.io +%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 + +Patch0: qtwayland-do-not-redraw-decorations-everytime.patch +Patch1: qtwayland-fix-100ms-freeze-when-apps-dont-swap-after-deliverupdaterequest.patch + +# Upstreamable patches +# https://fedoraproject.org/wiki/Changes/Qt_Wayland_By_Default_On_Gnome +# https://bugzilla.redhat.com/show_bug.cgi?id=1732129 +Patch50: qtwayland-use-gnome-platform-theme-on-gnome-based-desktops.patch + +# filter qml provides +%global __provides_exclude_from ^%{_qt5_archdatadir}/qml/.*\\.so$ + +BuildRequires: qt5-qtbase-devel >= %{version} +BuildRequires: qt5-qtbase-static +BuildRequires: qt5-qtbase-private-devel +%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}} +BuildRequires: qt5-qtdeclarative-devel + +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(wayland-scanner) +BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-cursor) +BuildRequires: pkgconfig(wayland-egl) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(xcomposite) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(libinput) + +%description +%{summary}. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: qt5-qtbase-devel%{?_isa} +%description devel +%{summary}. + +%package examples +Summary: Programming examples for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +%description examples +%{summary}. + +%if 0%{?build_tests} +%package tests +Summary: Unit tests for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tests +%{summary}. +%endif + +%prep +%autosetup -n %{qt_module}-everywhere-src-%{version} -p1 + +%build +%{qmake_qt5} + +%make_build + +%if 0%{?build_tests} +make sub-tests %{?_smp_mflags} -k ||: +%endif + +%install +make install INSTALL_ROOT=%{buildroot} + +%if 0%{?build_tests} +# Install tests for gating +mkdir -p %{buildroot}%{_qt5_libdir}/qt5 +find ./tests -not -path '*/\.*' -type d | while read LINE +do + mkdir -p "%{buildroot}%{_qt5_libdir}/qt5/$LINE" +done +find ./tests -not -path '*/\.*' -not -name '*.h' -not -name '*.cpp' -not -name '*.pro' -not -name 'uic_wrapper.sh' -not -name 'Makefile' -not -name 'target_wrapper.sh' -type f | while read LINE +do + cp -r --parents "$LINE" %{buildroot}%{_qt5_libdir}/qt5/ +done +%endif + +## .prl/.la file love +# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs +pushd %{buildroot}%{_qt5_libdir} +for prl_file in libQt5*.prl ; do + sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${prl_file} + if [ -f "$(basename ${prl_file} .prl).so" ]; then + rm -fv "$(basename ${prl_file} .prl).la" + sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file} + fi +done +popd + + +%ldconfig_scriptlets + +%files +%doc README +%license LICENSE.* +%{_qt5_libdir}/libQt5WaylandCompositor.so.5* +%{_qt5_libdir}/libQt5WaylandClient.so.5* +%{_qt5_plugindir}/wayland-decoration-client/ +%{_qt5_plugindir}/wayland-graphics-integration-server +%{_qt5_plugindir}/wayland-graphics-integration-client +%{_qt5_plugindir}/wayland-shell-integration +%{_qt5_plugindir}/platforms/libqwayland-egl.so +%{_qt5_plugindir}/platforms/libqwayland-generic.so +%{_qt5_plugindir}/platforms/libqwayland-xcomposite-egl.so +%{_qt5_plugindir}/platforms/libqwayland-xcomposite-glx.so +%{_qt5_qmldir}/QtWayland/ + +%files devel +%{_qt5_bindir}/qtwaylandscanner +%{_qt5_headerdir}/QtWaylandCompositor/ +%{_qt5_headerdir}/QtWaylandClient/ +%{_qt5_libdir}/libQt5WaylandCompositor.so +%{_qt5_libdir}/libQt5WaylandClient.so +%{_qt5_libdir}/libQt5WaylandCompositor.prl +%{_qt5_libdir}/libQt5WaylandClient.prl +%{_qt5_libdir}/cmake/Qt5WaylandCompositor/Qt5WaylandCompositorConfig*.cmake +%{_qt5_libdir}/pkgconfig/*.pc +%{_qt5_archdatadir}/mkspecs/modules/*.pri +%{_qt5_libdir}/cmake/Qt5WaylandCompositor/ +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_*.cmake +%{_qt5_libdir}/cmake/Qt5WaylandClient/ + +%files examples +%{_qt5_examplesdir}/wayland/ + +%if 0%{?build_tests} +%files tests +%{_qt5_libdir}/qt5/tests +%endif + +%changelog +* Mon Nov 18 2019 Jan Grulich - 5.12.5-1 +- 5.12.5 + Resolves: bz#1733154 + +* Mon Dec 10 2018 Jan Grulich - 5.11.1-2 +- Rebuild to fix CET notes + Resolves: bz#1657224 + +* Tue Jul 03 2018 Jan Grulich - 5.11.1-1 +- 5.11.1 + +* Tue Mar 13 2018 Jan Grulich - 5.10.1-2 +- Do not crash when opening dialogs + +* Wed Feb 14 2018 Jan Grulich - 5.10.1-1 +- 5.10.1 + +* Fri Feb 09 2018 Fedora Release Engineering - 5.10.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jan 10 2018 Jan Grulich - 5.10.0-2 +- Do not recreate hidden egl surfaces + QTBUG-65553 + +* Tue Dec 19 2017 Jan Grulich - 5.10.0-1 +- 5.10.0 + +* Thu Nov 23 2017 Jan Grulich - 5.9.3-1 +- 5.9.3 + +* Mon Oct 09 2017 Jan Grulich - 5.9.2-1 +- 5.9.2 + +* Thu Aug 03 2017 Fedora Release Engineering - 5.9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 5.9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Jul 19 2017 Rex Dieter - 5.9.1-1 +- 5.9.1 + +* Fri Jun 16 2017 Rex Dieter - 5.9.0-2 +- .spec cosmetics, Source URL, refer to qt5- builddeps directly + +* Wed May 31 2017 Helio Chissini de Castro - 5.9.0-1 +- Upstream official release + +* Fri May 26 2017 Helio Chissini de Castro - 5.9.0-0.1.rc +- Upstream Release Candidate retagged + +* Tue May 09 2017 Helio Chissini de Castro - 5.9.0-0.beta.3 +- Upstream beta 3 + +* Mon Jan 30 2017 Helio Chissini de Castro - 5.8.0-1 +- New upstream version + +* Mon Jan 02 2017 Rex Dieter - 5.7.1-3 +- filter qml provides, BR: qtbase-private-devel qtdeclarative explicitly + +* Sat Dec 10 2016 Rex Dieter - 5.7.1-2 +- drop BR: cmake (handled by qt5-rpm-macros now) +- 5.7.1 dec5 snapshot + +* Wed Nov 09 2016 Helio Chissini de Castro - 5.7.1-1 +- New upstream version + +* Mon Jul 04 2016 Helio Chissini de Castro - 5.7.0-2 +- Compiled with gcc + +* Wed Jun 15 2016 Helio Chissini de Castro - 5.7.0-1 +- Qt 5.7.0 release + +* Thu Jun 09 2016 Jan Grulich - 5.6.1-1 +- Update to 5.6.1 + +* Mon Mar 21 2016 Rex Dieter - 5.6.0-11 +- rebuild + +* Fri Mar 18 2016 Rex Dieter - 5.6.0-10 +- rebuild + +* Tue Mar 15 2016 Peter Robinson 5.6.0-9 +- Bump release to 9 so it's higher than the final RC + +* Mon Mar 14 2016 Helio Chissini de Castro - 5.6.0-1 +- 5.6.0 final release + +* Tue Feb 23 2016 Helio Chissini de Castro - 5.6.0-8.rc +- Update to final RC + +* Mon Feb 15 2016 Helio Chissini de Castro - 5.6.0-7 +- Update RC release + +* Thu Feb 04 2016 Fedora Release Engineering - 5.6.0-6.rc +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Feb 01 2016 Rex Dieter 5.6.0-5.rc +- use %%qmake_qt5 consistently + +* Mon Dec 28 2015 Rex Dieter 5.6.0-4.rc +- BR: cmake, update source URL, use %%license + +* Mon Dec 21 2015 Helio Chissini de Castro - 5.6.0-3 +- Update to final rc release + +* Thu Dec 10 2015 Helio Chissini de Castro - 5.6.0-2 +- Official rc release + +* Tue Nov 03 2015 Helio Chissini de Castro - 5.6.0-0.1 +- Start to implement 5.6.0 rc + +* Thu Oct 15 2015 Helio Chissini de Castro - 5.5.1-2 +- Update to final release 5.5.1 + +* Tue Sep 29 2015 Helio Chissini de Castro - 5.5.1-1 +- Update to Qt 5.5.1 RC1 + +* Thu Jul 16 2015 Rex Dieter 5.5.0-3 +- tighten qtbase dep (#1233829) + +* Sun Jul 05 2015 Pier Luigi Fiorini - 5.5.0-2 +- Add xkbcommon to the devel package. + +* Wed Jul 1 2015 Helio Chissini de Castro 5.5.0-1 +- New final upstream release Qt 5.5.0 + +* Thu Jun 25 2015 Helio Chissini de Castro - 5.5.0-0.2.rc +- Update for official RC1 released packages + +* Wed Jun 17 2015 Daniel Vrátil - 5.5.0-0.1.rc +- Qt5 5.5.0 RC1 + +* Wed Jun 03 2015 Jan Grulich - 5.4.2-1 +- 5.4.2 + +* Sat May 02 2015 Kalev Lember - 5.4.1-2 +- Rebuilt for GCC 5 C++11 ABI change + +* Fri Feb 27 2015 Rex Dieter 5.4.1-1 +- 5.4.1 + +* Wed Dec 10 2014 Rex Dieter 5.4.0-1 +- 5.4.0 (final) + +* Fri Nov 28 2014 Rex Dieter 5.4.0-0.3.rc +- 5.4.0-rc + +* Mon Nov 03 2014 Rex Dieter 5.4.0-0.2.rc +- use %%qmake_qt5 macro + +* Mon Oct 20 2014 Rex Dieter 5.4.0-0.1.rc +- 5.4.0-rc + +* Wed Sep 24 2014 Lubomir Rintel - 5.4.0-0.alpha1 +- Switch from a Git snapshot to a pre-release tarball + +* Sun Aug 17 2014 Fedora Release Engineering - 5.3.0-0.3.20140723git02c499c +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Thu Jul 24 2014 Lubomir Rintel - 5.3.0-0.2.20140723git02c499c +- Update + +* Sun Jun 08 2014 Fedora Release Engineering - 5.3.0-0.2.20140529git98dca3b +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue May 27 2014 Lubomir Rintel - 5.3.0-0.1.20140529git98dca3b +- Update and rebuild for Qt 5.3 + +* Fri Feb 14 2014 Lubomir Rintel - 5.1.0-0.6.20140202git6d038fb +- A more recent snapshot +- Disable xcomposite compositor until it builds + +* Sat Jan 04 2014 Lubomir Rintel - 5.1.0-0.6.20131203git6b20dfe +- Enable QtQuick compositor + +* Sat Jan 04 2014 Lubomir Rintel - 5.1.0-0.5.20131203git6b20dfe +- A newer snapshot + +* Mon Nov 25 2013 Lubomir Rintel - 5.1.0-0.5.20131125git4f5985c +- Rebase to a later snapshot, drop our patches +- Add license texts + +* Sat Nov 23 2013 Lubomir Rintel - 5.1.0-0.5.20131120git8cd1a77 +- Rebuild with EGL backend + +* Fri Nov 22 2013 Lubomir Rintel - 5.1.0-0.4.20131120git8cd1a77 +- Rebase to a later snapshot, drop 5.2 ABI patch +- Enable nogl backend + +* Sun Nov 10 2013 Rex Dieter 5.1.0-0.4.20130826git3b0b90b +- rebuild (arm/qreal) + +* Thu Oct 24 2013 Lubomir Rintel - 5.1.0-0.3.20130826git3b0b90b +- Bulk sad and useless attempt at consistent SPEC file formatting + +* Sun Oct 06 2013 Lubomir Rintel - 5.1.0-0.2.20130826git3b0b90b +- Bump platform plugin ABI to 5.2 for Qt 5.2 aplha + +* Wed Sep 11 2013 Lubomir Rintel - 5.1.0-0.1.20130826git3b0b90b +- Initial packaging +- Adjustments from review (Rex Dieter, #1008529)