From 721ded4bfb74163ff8aadad75f765245e89b87fd Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Sat, 18 Oct 2014 12:51:26 -0500 Subject: [PATCH 01/18] 5.4.0-0.1.beta - 5.4.0-beta - avoid extra -devel deps by moving *Plugin.cmake files to base pkgs - disable -doc,-examples to bootstrap other 5.4.0 modules --- .gitignore | 1 + qt5-qtbase.spec | 127 ++++--- qtbase-5.3.1-prefer-qpa-implementation.patch | 312 ------------------ ...implement-getopenfileurl-and-friends.patch | 261 --------------- sources | 1 + 5 files changed, 87 insertions(+), 615 deletions(-) delete mode 100644 qtbase-5.3.1-prefer-qpa-implementation.patch delete mode 100644 qtbase-qfiledialog-implement-getopenfileurl-and-friends.patch diff --git a/.gitignore b/.gitignore index 93c4a9b..01e17b3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /qtbase-opensource-src-5.3.2.tar.xz +/qtbase-opensource-src-5.4.0-beta.tar.xz diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 3ee5722..243ea43 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -15,32 +15,37 @@ %global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) +%global bootstrap 1 + # define to build docs, need to undef this for bootstrapping # where qt5-qttools builds are not yet available # only primary archs (for now), allow secondary to bootstrap +%if ! 0%{?bootstrap} %ifarch %{arm} %{ix86} x86_64 %define docs 1 %endif +%define examples 1 +%endif -#define pre rc1 -#define snap 2013-11-08_141 -#define snap_tag 20131108_141 +%define pre beta +#define snap 2014-10-07_40 +#define snap_tag 20141007_40 Summary: Qt5 - QtBase components Name: qt5-qtbase -Version: 5.3.2 -Release: 3%{?dist} +Version: 5.4.0 +Release: 0.1.%{pre}%{?dist} -# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details +# See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions Url: http://qt-project.org/ %if 0%{?snap:1} -Source0: http://download.qt-project.org/snapshots/qt/5.3/%{version}-%{pre}/%{snap}/submodules/%{qt_module}-opensource-src-%{version}-%{pre}.tar.xz +Source0: http://download.qt-project.org/snapshots/qt/5.4/%{version}-%{pre}/%{snap}/submodules/%{qt_module}-opensource-src-%{version}-%{pre}.tar.xz %else %if 0%{?pre:1} -Source0: http://download.qt-project.org/development_releases/qt/5.3/%{version}-%{pre}/submodules/%{qt_module}-opensource-src-%{version}-%{pre}.tar.xz +Source0: http://download.qt-project.org/development_releases/qt/5.4/%{version}-%{pre}/submodules/%{qt_module}-opensource-src-%{version}-%{pre}.tar.xz %else -Source0: http://download.qt-project.org/official_releases/qt/5.3/%{version}/submodules/%{qt_module}-opensource-src-%{version}.tar.xz +Source0: http://download.qt-project.org/official_releases/qt/5.4/%{version}/submodules/%{qt_module}-opensource-src-%{version}.tar.xz %endif %endif @@ -65,9 +70,6 @@ Patch2: qtbase-multilib_optflags.patch # fix QTBUG-35459 (too low entityCharacterLimit=1024 for CVE-2013-4549) Patch4: qtbase-opensource-src-5.3.2-QTBUG-35459.patch -# Prefer QPA implementation in qsystemtrayicon_x11 if available -Patch5: qtbase-5.3.1-prefer-qpa-implementation.patch - # unconditionally enable freetype lcdfilter support Patch12: qtbase-opensource-src-5.2.0-enable_ft_lcdfilter.patch @@ -78,7 +80,6 @@ Patch12: qtbase-opensource-src-5.2.0-enable_ft_lcdfilter.patch Patch50: qt5-poll.patch ##upstream patches -Patch100: qtbase-qfiledialog-implement-getopenfileurl-and-friends.patch # macros %define _qt5 %{name} @@ -193,16 +194,6 @@ handling. Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-gui%{?_isa} -# qtsql apparently wants all drivers available at buildtime -%if "%{?ibase}" != "-no-sql-ibase" -Requires: %{name}-ibase%{?_isa} -%endif -Requires: %{name}-mysql%{?_isa} -Requires: %{name}-odbc%{?_isa} -Requires: %{name}-postgresql%{?_isa} -%if "%{?tds}" != "-no-sql-tds" -Requires: %{name}-tds%{?_isa} -%endif %if 0%{?egl} Requires: pkgconfig(egl) %endif @@ -213,6 +204,7 @@ Requires: pkgconfig(gl) %if 0%{?docs} %package doc Summary: API documentation for %{name} +License: GFDL Requires: %{name} = %{version}-%{release} # for qhelpgenerator BuildRequires: qt5-qttools-devel @@ -304,13 +296,10 @@ Qt5 libraries used for drawing widgets and OpenGL items. rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags %patch4 -p1 -b .QTBUG-35459 -%patch5 -p1 -b .prefer-qpa %patch12 -p1 -b .enable_ft_lcdfilter #patch50 -p1 -b .poll -%patch100 -p1 -b .qfiledialog-implement-getopenfileurl-and-friends - # drop -fexceptions from $RPM_OPT_FLAGS RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'` @@ -367,6 +356,7 @@ popd -icu \ -openssl-linked \ -optimized-qmake \ + %{!?examples:-nomake examples} \ -nomake tests \ -no-pch \ -no-rpath \ @@ -548,7 +538,7 @@ fi %files -%doc LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt +%doc LICENSE.LGPL* LGPL_EXCEPTION.txt %if 0%{?qtchooser} %dir %{_sysconfdir}/xdg/qtchooser # not editable config files, so not using %%config here @@ -563,6 +553,19 @@ fi %{_qt5_libdir}/libQt5Sql.so.5* %{_qt5_libdir}/libQt5Test.so.5* %{_qt5_libdir}/libQt5Xml.so.5* +%dir %{_qt5_libdir}/cmake/ +%dir %{_qt5_libdir}/cmake/Qt5/ +%dir %{_qt5_libdir}/cmake/Qt5Concurrent/ +%dir %{_qt5_libdir}/cmake/Qt5Core/ +%dir %{_qt5_libdir}/cmake/Qt5DBus/ +%dir %{_qt5_libdir}/cmake/Qt5Gui/ +%dir %{_qt5_libdir}/cmake/Qt5Network/ +%dir %{_qt5_libdir}/cmake/Qt5OpenGL/ +%dir %{_qt5_libdir}/cmake/Qt5PrintSupport/ +%dir %{_qt5_libdir}/cmake/Qt5Sql/ +%dir %{_qt5_libdir}/cmake/Qt5Test/ +%dir %{_qt5_libdir}/cmake/Qt5Widgets/ +%dir %{_qt5_libdir}/cmake/Qt5Xml/ %dir %{_qt5_docdir}/ %{_qt5_docdir}/global/ %{_qt5_importdir}/ @@ -575,7 +578,10 @@ fi %{_qt5_plugindir}/bearer/libqconnmanbearer.so %{_qt5_plugindir}/bearer/libqgenericbearer.so %{_qt5_plugindir}/bearer/libqnmbearer.so -%dir %{_qt5_plugindir}/accessible/ +%{_qt5_libdir}/cmake/Qt5Network/Qt5Network_QConnmanEnginePlugin.cmake +%{_qt5_libdir}/cmake/Qt5Network/Qt5Network_QGenericEnginePlugin.cmake +%{_qt5_libdir}/cmake/Qt5Network/Qt5Network_QNetworkManagerEnginePlugin.cmake +#dir %{_qt5_plugindir}/accessible/ %dir %{_qt5_plugindir}/generic/ %dir %{_qt5_plugindir}/imageformats/ %dir %{_qt5_plugindir}/platforminputcontexts/ @@ -584,9 +590,11 @@ fi %dir %{_qt5_plugindir}/printsupport/ %dir %{_qt5_plugindir}/sqldrivers/ %{_qt5_plugindir}/sqldrivers/libqsqlite.so +%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QSQLiteDriverPlugin.cmake %if 0%{?docs} %files doc +%doc LICENSE.FDL %doc dist/README dist/changes-5.* %{_qt5_docdir}/*.qch %{_qt5_docdir}/qdoc/ @@ -597,6 +605,7 @@ fi %{_qt5_docdir}/qtgui/ %{_qt5_docdir}/qtnetwork/ %{_qt5_docdir}/qtopengl/ +%{_qt5_docdir}/qtplatformheaders/ %{_qt5_docdir}/qtprintsupport/ %{_qt5_docdir}/qtsql/ %{_qt5_docdir}/qttestlib/ @@ -636,6 +645,7 @@ fi %{_qt5_headerdir}/QtGui/ %{_qt5_headerdir}/QtNetwork/ %{_qt5_headerdir}/QtOpenGL/ +%{_qt5_headerdir}/QtPlatformHeaders/ %{_qt5_headerdir}/QtPrintSupport/ %{_qt5_headerdir}/QtSql/ %{_qt5_headerdir}/QtTest/ @@ -664,19 +674,22 @@ fi %{_qt5_libdir}/libQt5Widgets.so %{_qt5_libdir}/libQt5Xml.prl %{_qt5_libdir}/libQt5Xml.so -%dir %{_qt5_libdir}/cmake/ -%{_qt5_libdir}/cmake/Qt5/ -%{_qt5_libdir}/cmake/Qt5Concurrent/ -%{_qt5_libdir}/cmake/Qt5Core/ -%{_qt5_libdir}/cmake/Qt5DBus/ -%{_qt5_libdir}/cmake/Qt5Gui/ -%{_qt5_libdir}/cmake/Qt5Network/ -%{_qt5_libdir}/cmake/Qt5OpenGL/ -%{_qt5_libdir}/cmake/Qt5PrintSupport/ -%{_qt5_libdir}/cmake/Qt5Sql/ -%{_qt5_libdir}/cmake/Qt5Test/ -%{_qt5_libdir}/cmake/Qt5Widgets/ -%{_qt5_libdir}/cmake/Qt5Xml/ +%{_qt5_libdir}/cmake/Qt5/Qt5Config*.cmake +%{_qt5_libdir}/cmake/Qt5Concurrent/Qt5ConcurrentConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Core/Qt5CoreConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Core/Qt5CoreMacros.cmake +%{_qt5_libdir}/cmake/Qt5Core/Qt5CTestMacros.cmake +%{_qt5_libdir}/cmake/Qt5DBus/Qt5DBusConfig*.cmake +%{_qt5_libdir}/cmake/Qt5DBus/Qt5DBusMacros.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5GuiConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Network/Qt5NetworkConfig*.cmake +%{_qt5_libdir}/cmake/Qt5OpenGL/Qt5OpenGLConfig*.cmake +%{_qt5_libdir}/cmake/Qt5PrintSupport/Qt5PrintSupportConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Sql/Qt5SqlConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Test/Qt5TestConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Widgets/Qt5WidgetsConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Widgets/Qt5WidgetsMacros.cmake +%{_qt5_libdir}/cmake/Qt5Xml/Qt5XmlConfig*.cmake %{_qt5_libdir}/pkgconfig/Qt5.pc %{_qt5_libdir}/pkgconfig/Qt5Concurrent.pc %{_qt5_libdir}/pkgconfig/Qt5Core.pc @@ -704,26 +717,33 @@ fi %{_qt5_libdir}/libQt5PlatformSupport.prl %{_qt5_libdir}/pkgconfig/Qt5PlatformSupport.pc +%if 0%{?examples} %files examples %{_qt5_examplesdir}/ +%endif %if "%{?ibase}" != "-no-sql-ibase" %files ibase %{_qt5_plugindir}/sqldrivers/libqsqlibase.so +%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QIBaseDriverPlugin.cmake %endif %files mysql %{_qt5_plugindir}/sqldrivers/libqsqlmysql.so +%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QMYSQLDriverPlugin.cmake %files odbc %{_qt5_plugindir}/sqldrivers/libqsqlodbc.so +%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QODBCDriverPlugin.cmake %files postgresql %{_qt5_plugindir}/sqldrivers/libqsqlpsql.so +%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QPSQLDriverPlugin.cmake %if "%{?tds}" != "-no-sql-tds" %files tds %{_qt5_plugindir}/sqldrivers/libqsqltds.so +%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QTDSDriverPlugin.cmake %endif %post gui -p /sbin/ldconfig @@ -737,30 +757,53 @@ fi %{_qt5_libdir}/libQt5OpenGL.so.5* %{_qt5_libdir}/libQt5PrintSupport.so.5* %{_qt5_libdir}/libQt5Widgets.so.5* -%{_qt5_plugindir}/accessible/libqtaccessiblewidgets.so +#{_qt5_plugindir}/accessible/libqtaccessiblewidgets.so %{_qt5_plugindir}/generic/libqevdevkeyboardplugin.so %{_qt5_plugindir}/generic/libqevdevmouseplugin.so %{_qt5_plugindir}/generic/libqevdevtabletplugin.so %{_qt5_plugindir}/generic/libqevdevtouchplugin.so +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QEvdevKeyboardPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QEvdevMousePlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QEvdevTabletPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QEvdevTouchScreenPlugin.cmake %{_qt5_plugindir}/imageformats/libqgif.so %{_qt5_plugindir}/imageformats/libqico.so %{_qt5_plugindir}/imageformats/libqjpeg.so +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QGifPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QICOPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QJpegPlugin.cmake %{_qt5_plugindir}/platforminputcontexts/libcomposeplatforminputcontextplugin.so %{_qt5_plugindir}/platforminputcontexts/libibusplatforminputcontextplugin.so +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QComposePlatformInputContextPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QIbusPlatformInputContextPlugin.cmake %if 0%{?egl} %{_qt5_plugindir}/platforms/libqeglfs.so %{_qt5_plugindir}/platforms/libqkms.so %{_qt5_plugindir}/platforms/libqminimalegl.so +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QKmsIntegrationPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QMinimalEglIntegrationPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QEglFSIntegrationPlugin.cmake %endif %{_qt5_plugindir}/platforms/libqlinuxfb.so %{_qt5_plugindir}/platforms/libqminimal.so %{_qt5_plugindir}/platforms/libqoffscreen.so %{_qt5_plugindir}/platforms/libqxcb.so +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QLinuxFbIntegrationPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QOffscreenIntegrationPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXcbIntegrationPlugin.cmake %{_qt5_plugindir}/platformthemes/libqgtk2.so +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QGtk2ThemePlugin.cmake %{_qt5_plugindir}/printsupport/libcupsprintersupport.so +%{_qt5_libdir}/cmake/Qt5PrintSupport/Qt5PrintSupport_QCupsPrinterSupportPlugin.cmake %changelog +* Sat Oct 18 2014 Rex Dieter - 5.4.0-0.1.beta +- 5.4.0-beta +- avoid extra -devel deps by moving *Plugin.cmake files to base pkgs +- disable -doc,-examples to bootstrap other 5.4.0 modules + * Mon Oct 13 2014 Jan Grulich 5.3.2-3 - QFileDialog: implement getOpenFileUrl and friends for real diff --git a/qtbase-5.3.1-prefer-qpa-implementation.patch b/qtbase-5.3.1-prefer-qpa-implementation.patch deleted file mode 100644 index a91838c..0000000 --- a/qtbase-5.3.1-prefer-qpa-implementation.patch +++ /dev/null @@ -1,312 +0,0 @@ ---- a/src/widgets/util/qsystemtrayicon.cpp -+++ b/src/widgets/util/qsystemtrayicon.cpp -@@ -672,6 +672,74 @@ - QWidget::timerEvent(e); - } - -+////////////////////////////////////////////////////////////////////// -+void QSystemTrayIconPrivate::install_sys_qpa() -+{ -+ qpa_sys->init(); -+ QObject::connect(qpa_sys, SIGNAL(activated(QPlatformSystemTrayIcon::ActivationReason)), -+ q_func(), SLOT(_q_emitActivated(QPlatformSystemTrayIcon::ActivationReason))); -+ QObject::connect(qpa_sys, &QPlatformSystemTrayIcon::messageClicked, -+ q_func(), &QSystemTrayIcon::messageClicked); -+ updateMenu_sys(); -+ updateIcon_sys(); -+ updateToolTip_sys(); -+} -+ -+void QSystemTrayIconPrivate::remove_sys_qpa() -+{ -+ qpa_sys->cleanup(); -+} -+ -+QRect QSystemTrayIconPrivate::geometry_sys_qpa() const -+{ -+ return qpa_sys->geometry(); -+} -+ -+void QSystemTrayIconPrivate::updateIcon_sys_qpa() -+{ -+ qpa_sys->updateIcon(icon); -+} -+ -+void QSystemTrayIconPrivate::updateMenu_sys_qpa() -+{ -+ if (menu) { -+ if (!menu->platformMenu()) { -+ QPlatformMenu *platformMenu = qpa_sys->createMenu(); -+ if (platformMenu) -+ menu->setPlatformMenu(platformMenu); -+ } -+ qpa_sys->updateMenu(menu->platformMenu()); -+ } -+} -+ -+void QSystemTrayIconPrivate::updateToolTip_sys_qpa() -+{ -+ qpa_sys->updateToolTip(toolTip); -+} -+ -+void QSystemTrayIconPrivate::showMessage_sys_qpa(const QString &message, -+ const QString &title, -+ QSystemTrayIcon::MessageIcon icon, -+ int msecs) -+{ -+ QIcon notificationIcon; -+ switch (icon) { -+ case QSystemTrayIcon::Information: -+ notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation); -+ break; -+ case QSystemTrayIcon::Warning: -+ notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxWarning); -+ break; -+ case QSystemTrayIcon::Critical: -+ notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical); -+ break; -+ default: -+ break; -+ } -+ qpa_sys->showMessage(message, title, notificationIcon, -+ static_cast(icon), msecs); -+} -+ - QT_END_NAMESPACE - - #endif // QT_NO_SYSTEMTRAYICON ---- a/src/widgets/util/qsystemtrayicon_p.h -+++ b/src/widgets/util/qsystemtrayicon_p.h -@@ -98,6 +98,15 @@ - QSystemTrayIconSys *sys; - QPlatformSystemTrayIcon *qpa_sys; - bool visible; -+ -+private: -+ void install_sys_qpa(); -+ void remove_sys_qpa(); -+ void updateIcon_sys_qpa(); -+ void updateToolTip_sys_qpa(); -+ void updateMenu_sys_qpa(); -+ QRect geometry_sys_qpa() const; -+ void showMessage_sys_qpa(const QString &msg, const QString &title, QSystemTrayIcon::MessageIcon icon, int secs); - }; - - class QBalloonTip : public QWidget ---- a/src/widgets/util/qsystemtrayicon_qpa.cpp -+++ b/src/widgets/util/qsystemtrayicon_qpa.cpp -@@ -65,28 +65,20 @@ - - void QSystemTrayIconPrivate::install_sys() - { -- if (qpa_sys) { -- qpa_sys->init(); -- QObject::connect(qpa_sys, SIGNAL(activated(QPlatformSystemTrayIcon::ActivationReason)), -- q_func(), SLOT(_q_emitActivated(QPlatformSystemTrayIcon::ActivationReason))); -- QObject::connect(qpa_sys, SIGNAL(messageClicked()), -- q_func(), SIGNAL(messageClicked())); -- updateMenu_sys(); -- updateIcon_sys(); -- updateToolTip_sys(); -- } -+ if (qpa_sys) -+ install_sys_qpa(); - } - - void QSystemTrayIconPrivate::remove_sys() - { - if (qpa_sys) -- qpa_sys->cleanup(); -+ remove_sys_qpa(); - } - - QRect QSystemTrayIconPrivate::geometry_sys() const - { - if (qpa_sys) -- return qpa_sys->geometry(); -+ return geometry_sys_qpa(); - else - return QRect(); - } - - -@@ -94,25 +86,19 @@ - void QSystemTrayIconPrivate::updateIcon_sys() - { - if (qpa_sys) -- qpa_sys->updateIcon(icon); -+ updateIcon_sys_qpa(); - } - - void QSystemTrayIconPrivate::updateMenu_sys() - { -- if (qpa_sys && menu) { -- if (!menu->platformMenu()) { -- QPlatformMenu *platformMenu = qpa_sys->createMenu(); -- if (platformMenu) -- menu->setPlatformMenu(platformMenu); -- } -- qpa_sys->updateMenu(menu->platformMenu()); -- } -+ if (qpa_sys) -+ updateMenu_sys_qpa(); - } - - void QSystemTrayIconPrivate::updateToolTip_sys() - { - if (qpa_sys) -- qpa_sys->updateToolTip(toolTip); -+ updateToolTip_sys_qpa(); - } - - bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys() -@@ -138,25 +124,8 @@ - QSystemTrayIcon::MessageIcon icon, - int msecs) - { -- if (!qpa_sys) -- return; -- -- QIcon notificationIcon; -- switch (icon) { -- case QSystemTrayIcon::Information: -- notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation); -- break; -- case QSystemTrayIcon::Warning: -- notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxWarning); -- break; -- case QSystemTrayIcon::Critical: -- notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical); -- break; -- default: -- break; -- } -- qpa_sys->showMessage(message, title, notificationIcon, -- static_cast(icon), msecs); -+ if (qpa_sys) -+ showMessage_sys_qpa(message, title, icon, msecs); - } - - QT_END_NAMESPACE ---- a/src/widgets/util/qsystemtrayicon_x11.cpp -+++ b/src/widgets/util/qsystemtrayicon_x11.cpp -@@ -55,6 +55,9 @@ - #include - #include - #include -+#include -+#include -+#include - #include - - #ifndef QT_NO_SYSTEMTRAYICON - - -@@ -209,16 +212,22 @@ - - QSystemTrayIconPrivate::QSystemTrayIconPrivate() - : sys(0), -+ qpa_sys(QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon()), - visible(false) - { - } - - QSystemTrayIconPrivate::~QSystemTrayIconPrivate() - { -+ delete qpa_sys; - } - - void QSystemTrayIconPrivate::install_sys() - { -+ if (qpa_sys) { -+ install_sys_qpa(); -+ return; -+ } - Q_Q(QSystemTrayIcon); - if (!sys && locateSystemTray()) { - sys = new QSystemTrayIconSys(q); -@@ -229,6 +238,8 @@ - - QRect QSystemTrayIconPrivate::geometry_sys() const - { -+ if (qpa_sys) -+ return geometry_sys_qpa(); - if (!sys) - return QRect(); - return sys->globalGeometry(); -@@ -236,6 +247,10 @@ - - void QSystemTrayIconPrivate::remove_sys() - { -+ if (qpa_sys) { -+ remove_sys_qpa(); -+ return; -+ } - if (!sys) - return; - QBalloonTip::hideBalloon(); - - -@@ -246,17 +261,26 @@ - - void QSystemTrayIconPrivate::updateIcon_sys() - { -+ if (qpa_sys) { -+ updateIcon_sys_qpa(); -+ return; -+ } - if (sys) - sys->updateIcon(); - } - - void QSystemTrayIconPrivate::updateMenu_sys() - { -- -+ if (qpa_sys) -+ updateMenu_sys_qpa(); - } - - void QSystemTrayIconPrivate::updateToolTip_sys() - { -+ if (qpa_sys) { -+ updateToolTip_sys_qpa(); -+ return; -+ } - if (!sys) - return; - #ifndef QT_NO_TOOLTIP -@@ -266,6 +290,11 @@ - - bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys() - { -+ QScopedPointer sys(QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon()); -+ if (sys) -+ return sys->isSystemTrayAvailable(); -+ -+ // no QPlatformSystemTrayIcon so fall back to default xcb platform behavior - const QString platform = QGuiApplication::platformName(); - if (platform.compare(QStringLiteral("xcb"), Qt::CaseInsensitive) == 0) - return locateSystemTray(); - -@@ -274,12 +303,21 @@ - - bool QSystemTrayIconPrivate::supportsMessages_sys() - { -+ QScopedPointer sys(QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon()); -+ if (sys) -+ return sys->supportsMessages(); -+ -+ // no QPlatformSystemTrayIcon so fall back to default xcb platform behavior - return true; - } - - void QSystemTrayIconPrivate::showMessage_sys(const QString &message, const QString &title, - QSystemTrayIcon::MessageIcon icon, int msecs) - { -+ if (qpa_sys) { -+ showMessage_sys_qpa(message, title, icon, msecs); -+ return; -+ } - if (!sys) - return; - const QPoint g = sys->globalGeometry().topLeft(); \ No newline at end of file diff --git a/qtbase-qfiledialog-implement-getopenfileurl-and-friends.patch b/qtbase-qfiledialog-implement-getopenfileurl-and-friends.patch deleted file mode 100644 index 702ce7b..0000000 --- a/qtbase-qfiledialog-implement-getopenfileurl-and-friends.patch +++ /dev/null @@ -1,261 +0,0 @@ -diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp -index 9219757..22fbe37 100644 ---- a/src/widgets/dialogs/qfiledialog.cpp -+++ b/src/widgets/dialogs/qfiledialog.cpp -@@ -2100,35 +2100,9 @@ QString QFileDialog::getOpenFileName(QWidget *parent, - QString *selectedFilter, - Options options) - { -- QFileDialogArgs args; -- args.parent = parent; -- args.caption = caption; -- args.directory = QFileDialogPrivate::workingDirectory(dir); -- args.selection = QFileDialogPrivate::initialSelection(dir); -- args.filter = filter; -- args.mode = ExistingFile; -- args.options = options; --#if defined(Q_WS_WIN) -- if (QGuiApplicationPrivate::platformIntegration()->usePlatformNativeDialog() && !(args.options & DontUseNativeDialog)) { -- return qt_win_get_open_file_name(args, &(args.directory), selectedFilter); -- } --#endif -- -- // create a qt dialog -- QFileDialog dialog(args); -- if (selectedFilter && !selectedFilter->isEmpty()) -- dialog.selectNameFilter(*selectedFilter); -- if (dialog.exec() == QDialog::Accepted) { -- if (selectedFilter) -- *selectedFilter = dialog.selectedNameFilter(); -- return dialog.selectedFiles().value(0); -- } -- return QString(); --} -- --static inline QUrl dialogResultToUrl(const QString &file) --{ -- return file.isEmpty() ? QUrl() : QUrl::fromLocalFile(file); -+ const QStringList schemes = QStringList(QStringLiteral("file")); -+ const QUrl selectedUrl = getOpenFileUrl(parent, caption, QUrl::fromLocalFile(dir), filter, selectedFilter, options, schemes); -+ return selectedUrl.toLocalFile(); - } - - /*! -@@ -2166,10 +2140,26 @@ QUrl QFileDialog::getOpenFileUrl(QWidget *parent, - Options options, - const QStringList &supportedSchemes) - { -- Q_UNUSED(supportedSchemes); -+ Q_UNUSED(supportedSchemes); // TODO -+ -+ QFileDialogArgs args; -+ args.parent = parent; -+ args.caption = caption; -+ args.directory = QFileDialogPrivate::workingDirectory(dir.toLocalFile()); -+ args.selection = QFileDialogPrivate::initialSelection(dir.toLocalFile()); -+ args.filter = filter; -+ args.mode = ExistingFile; -+ args.options = options; - -- // Falls back to local file -- return dialogResultToUrl(getOpenFileName(parent, caption, dir.toLocalFile(), filter, selectedFilter, options)); -+ QFileDialog dialog(args); -+ if (selectedFilter && !selectedFilter->isEmpty()) -+ dialog.selectNameFilter(*selectedFilter); -+ if (dialog.exec() == QDialog::Accepted) { -+ if (selectedFilter) -+ *selectedFilter = dialog.selectedNameFilter(); -+ return dialog.selectedUrls().value(0); -+ } -+ return QUrl(); - } - - /*! -@@ -2228,31 +2218,12 @@ QStringList QFileDialog::getOpenFileNames(QWidget *parent, - QString *selectedFilter, - Options options) - { -- QFileDialogArgs args; -- args.parent = parent; -- args.caption = caption; -- args.directory = QFileDialogPrivate::workingDirectory(dir); -- args.selection = QFileDialogPrivate::initialSelection(dir); -- args.filter = filter; -- args.mode = ExistingFiles; -- args.options = options; -- --#if defined(Q_WS_WIN) -- if (QGuiApplicationPrivate::platformIntegration()->usePlatformNativeDialog() && !(args.options & DontUseNativeDialog)) { -- return qt_win_get_open_file_names(args, &(args.directory), selectedFilter); -- } --#endif -- -- // create a qt dialog -- QFileDialog dialog(args); -- if (selectedFilter && !selectedFilter->isEmpty()) -- dialog.selectNameFilter(*selectedFilter); -- if (dialog.exec() == QDialog::Accepted) { -- if (selectedFilter) -- *selectedFilter = dialog.selectedNameFilter(); -- return dialog.selectedFiles(); -- } -- return QStringList(); -+ const QStringList schemes = QStringList(QStringLiteral("file")); -+ const QList selectedUrls = getOpenFileUrls(parent, caption, QUrl::fromLocalFile(dir), filter, selectedFilter, options, schemes); -+ QStringList fileNames; -+ foreach (const QUrl &url, selectedUrls) -+ fileNames << url.toLocalFile(); -+ return fileNames; - } - - /*! -@@ -2293,14 +2264,24 @@ QList QFileDialog::getOpenFileUrls(QWidget *parent, - { - Q_UNUSED(supportedSchemes); - -- // Falls back to local files -- QList urls; -- -- const QStringList fileNames = getOpenFileNames(parent, caption, dir.toLocalFile(), filter, selectedFilter, options); -- foreach (const QString &fileName, fileNames) -- urls << QUrl::fromLocalFile(fileName); -+ QFileDialogArgs args; -+ args.parent = parent; -+ args.caption = caption; -+ args.directory = QFileDialogPrivate::workingDirectory(dir.toLocalFile()); -+ args.selection = QFileDialogPrivate::initialSelection(dir.toLocalFile()); -+ args.filter = filter; -+ args.mode = ExistingFiles; -+ args.options = options; - -- return urls; -+ QFileDialog dialog(args); -+ if (selectedFilter && !selectedFilter->isEmpty()) -+ dialog.selectNameFilter(*selectedFilter); -+ if (dialog.exec() == QDialog::Accepted) { -+ if (selectedFilter) -+ *selectedFilter = dialog.selectedNameFilter(); -+ return dialog.selectedUrls(); -+ } -+ return QList(); - } - - /*! -@@ -2360,33 +2341,9 @@ QString QFileDialog::getSaveFileName(QWidget *parent, - QString *selectedFilter, - Options options) - { -- QFileDialogArgs args; -- args.parent = parent; -- args.caption = caption; -- args.directory = QFileDialogPrivate::workingDirectory(dir); -- args.selection = QFileDialogPrivate::initialSelection(dir); -- args.filter = filter; -- args.mode = AnyFile; -- args.options = options; -- --#if defined(Q_WS_WIN) -- if (QGuiApplicationPrivate::platformIntegration()->usePlatformNativeDialog() && !(args.options & DontUseNativeDialog)) { -- return qt_win_get_save_file_name(args, &(args.directory), selectedFilter); -- } --#endif -- -- // create a qt dialog -- QFileDialog dialog(args); -- dialog.setAcceptMode(AcceptSave); -- if (selectedFilter && !selectedFilter->isEmpty()) -- dialog.selectNameFilter(*selectedFilter); -- if (dialog.exec() == QDialog::Accepted) { -- if (selectedFilter) -- *selectedFilter = dialog.selectedNameFilter(); -- return dialog.selectedFiles().value(0); -- } -- -- return QString(); -+ const QStringList schemes = QStringList(QStringLiteral("file")); -+ const QUrl selectedUrl = getSaveFileUrl(parent, caption, QUrl::fromLocalFile(dir), filter, selectedFilter, options, schemes); -+ return selectedUrl.toLocalFile(); - } - - /*! -@@ -2426,8 +2383,25 @@ QUrl QFileDialog::getSaveFileUrl(QWidget *parent, - { - Q_UNUSED(supportedSchemes); - -- // Falls back to local file -- return dialogResultToUrl(getSaveFileName(parent, caption, dir.toLocalFile(), filter, selectedFilter, options)); -+ QFileDialogArgs args; -+ args.parent = parent; -+ args.caption = caption; -+ args.directory = QFileDialogPrivate::workingDirectory(dir.toLocalFile()); -+ args.selection = QFileDialogPrivate::initialSelection(dir.toLocalFile()); -+ args.filter = filter; -+ args.mode = AnyFile; -+ args.options = options; -+ -+ QFileDialog dialog(args); -+ dialog.setAcceptMode(AcceptSave); -+ if (selectedFilter && !selectedFilter->isEmpty()) -+ dialog.selectNameFilter(*selectedFilter); -+ if (dialog.exec() == QDialog::Accepted) { -+ if (selectedFilter) -+ *selectedFilter = dialog.selectedNameFilter(); -+ return dialog.selectedUrls().value(0); -+ } -+ return QUrl(); - } - - /*! -@@ -2474,29 +2448,9 @@ QString QFileDialog::getExistingDirectory(QWidget *parent, - const QString &dir, - Options options) - { -- QFileDialogArgs args; -- args.parent = parent; -- args.caption = caption; -- args.directory = QFileDialogPrivate::workingDirectory(dir); -- args.mode = (options & ShowDirsOnly ? DirectoryOnly : Directory); -- args.options = options; -- --#if defined(Q_WS_WIN) -- if (QGuiApplicationPrivate::platformIntegration()->usePlatformNativeDialog() && !(args.options & DontUseNativeDialog) && (options & ShowDirsOnly) --#if defined(Q_OS_WINCE) -- && qt_priv_ptr_valid --#endif -- ) { -- return qt_win_get_existing_directory(args); -- } --#endif -- -- // create a qt dialog -- QFileDialog dialog(args); -- if (dialog.exec() == QDialog::Accepted) { -- return dialog.selectedFiles().value(0); -- } -- return QString(); -+ const QStringList schemes = QStringList(QStringLiteral("file")); -+ const QUrl selectedUrl = getExistingDirectoryUrl(parent, caption, QUrl::fromLocalFile(dir), options, schemes); -+ return selectedUrl.toLocalFile(); - } - - /*! -@@ -2534,8 +2488,17 @@ QUrl QFileDialog::getExistingDirectoryUrl(QWidget *parent, - { - Q_UNUSED(supportedSchemes); - -- // Falls back to local file -- return dialogResultToUrl(getExistingDirectory(parent, caption, dir.toLocalFile(), options)); -+ QFileDialogArgs args; -+ args.parent = parent; -+ args.caption = caption; -+ args.directory = QFileDialogPrivate::workingDirectory(dir.toLocalFile()); -+ args.mode = (options & ShowDirsOnly ? DirectoryOnly : Directory); -+ args.options = options; -+ -+ QFileDialog dialog(args); -+ if (dialog.exec() == QDialog::Accepted) -+ return dialog.selectedUrls().value(0); -+ return QUrl(); - } - - inline static QString _qt_get_directory(const QString &path) diff --git a/sources b/sources index 49ec7bc..85d6b70 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ 563e2b10274171f1184b3fd7260b4991 qtbase-opensource-src-5.3.2.tar.xz +bfe2c1d250e4771a55b37eb64edb832a qtbase-opensource-src-5.4.0-beta.tar.xz From b0a82fc59776a05ba6b930ab82b6eea5114b0c39 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Sat, 18 Oct 2014 12:52:26 -0500 Subject: [PATCH 02/18] whitespace cosmetics --- qt5-qtbase.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 243ea43..af14217 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -27,7 +27,7 @@ %define examples 1 %endif -%define pre beta +%define pre beta #define snap 2014-10-07_40 #define snap_tag 20141007_40 @@ -799,7 +799,7 @@ fi %changelog -* Sat Oct 18 2014 Rex Dieter - 5.4.0-0.1.beta +* Sat Oct 18 2014 Rex Dieter - 5.4.0-0.1.beta - 5.4.0-beta - avoid extra -devel deps by moving *Plugin.cmake files to base pkgs - disable -doc,-examples to bootstrap other 5.4.0 modules From 4018ad508ca308f7f83f270d8411f5748d6f4ecc Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Sat, 18 Oct 2014 14:51:19 -0500 Subject: [PATCH 03/18] skip bootstrap, I think we can avoid it this time --- qt5-qtbase.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index af14217..61451d4 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -15,8 +15,6 @@ %global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) -%global bootstrap 1 - # define to build docs, need to undef this for bootstrapping # where qt5-qttools builds are not yet available # only primary archs (for now), allow secondary to bootstrap @@ -802,7 +800,7 @@ fi * Sat Oct 18 2014 Rex Dieter - 5.4.0-0.1.beta - 5.4.0-beta - avoid extra -devel deps by moving *Plugin.cmake files to base pkgs -- disable -doc,-examples to bootstrap other 5.4.0 modules +- support bootstrap macro, to disable -doc,-examples * Mon Oct 13 2014 Jan Grulich 5.3.2-3 - QFileDialog: implement getOpenFileUrl and friends for real From e24d74bec9f0b6c07f4ef67f41320fb113073cde Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Sat, 18 Oct 2014 14:51:50 -0500 Subject: [PATCH 04/18] fix xources --- sources | 1 - 1 file changed, 1 deletion(-) diff --git a/sources b/sources index 85d6b70..eb1682a 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -563e2b10274171f1184b3fd7260b4991 qtbase-opensource-src-5.3.2.tar.xz bfe2c1d250e4771a55b37eb64edb832a qtbase-opensource-src-5.4.0-beta.tar.xz From d3bfc53697392ee0e505e54fe82b1d55a4a3a435 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Sat, 18 Oct 2014 21:20:15 -0500 Subject: [PATCH 05/18] fix build on f20 --- qt5-qtbase.spec | 6 +- ... qtbase-opensource-src-5.4.0-old_xcb.patch | 58 +++++++++---------- 2 files changed, 33 insertions(+), 31 deletions(-) rename qtbase-opensource-src-5.3.2-old_xcb.patch => qtbase-opensource-src-5.4.0-old_xcb.patch (72%) diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 61451d4..7570736 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -57,7 +57,7 @@ Source6: 10-qt5-check-opengl2.sh # support the old version of libxcb and the resulting lack of libxkbcommon-x11 # in F19 and F20 -Patch0: qtbase-opensource-src-5.3.2-old_xcb.patch +Patch0: qtbase-opensource-src-5.4.0-old_xcb.patch # support the old version of libxkbcommon in F19 and F20 Patch1: qtbase-opensource-src-5.3.2-old_xkbcommon.patch @@ -155,8 +155,10 @@ BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(sqlite3) >= 3.7 %define sqlite -system-sqlite -BuildRequires: pkgconfig(harfbuzz) >= 0.9.19 +%if 0%{?fedora} > 20 +BuildRequires: pkgconfig(harfbuzz) >= 0.9.31 %define harfbuzz -system-harfbuzz +%endif BuildRequires: pkgconfig(icu-i18n) BuildRequires: pkgconfig(libpcre) >= 8.30 %define pcre -system-pcre diff --git a/qtbase-opensource-src-5.3.2-old_xcb.patch b/qtbase-opensource-src-5.4.0-old_xcb.patch similarity index 72% rename from qtbase-opensource-src-5.3.2-old_xcb.patch rename to qtbase-opensource-src-5.4.0-old_xcb.patch index 0f6ce5b..c3d3c38 100644 --- a/qtbase-opensource-src-5.3.2-old_xcb.patch +++ b/qtbase-opensource-src-5.4.0-old_xcb.patch @@ -1,7 +1,7 @@ -diff -ur qtbase-opensource-src-5.3.2/configure qtbase-opensource-src-5.3.2-old_xcb/configure ---- qtbase-opensource-src-5.3.2/configure 2014-09-11 12:47:55.000000000 +0200 -+++ qtbase-opensource-src-5.3.2-old_xcb/configure 2014-10-08 19:46:02.000000000 +0200 -@@ -4982,10 +4982,8 @@ +diff -up qtbase-opensource-src-5.4.0-beta/configure.old_xcb qtbase-opensource-src-5.4.0-beta/configure +--- qtbase-opensource-src-5.4.0-beta/configure.old_xcb 2014-10-14 11:39:39.000000000 -0500 ++++ qtbase-opensource-src-5.4.0-beta/configure 2014-10-18 20:47:25.924959443 -0500 +@@ -5040,10 +5040,8 @@ if [ "$CFG_XCB" != "no" ]; then QMAKE_LIBS_XCB="`$PKG_CONFIG --libs $XCB_PACKAGES 2>/dev/null`" fi @@ -13,10 +13,10 @@ diff -ur qtbase-opensource-src-5.3.2/configure qtbase-opensource-src-5.3.2-old_x QMAKE_CFLAGS_XKB="`$PKG_CONFIG --cflags xcb xcb-xkb 2>/dev/null`" QMAKE_LIBS_XKB="`$PKG_CONFIG --libs xcb xcb-xkb 2>/dev/null`" if compileTest qpa/xcb-xkb "xcb-xkb" $QMAKE_CFLAGS_XKB $QMAKE_LIBS_XKB; then -@@ -5092,9 +5090,9 @@ - # currently only xcb platform plugin supports building xkbcommon +@@ -5150,16 +5148,16 @@ MIN_REQ_XKBCOMMON="0.4.1" if [ "$CFG_XCB" != "no" ]; then - if [ "$CFG_XKBCOMMON" = "auto" ] || [ "$CFG_XKBCOMMON" = "system" ]; then + if [ "$CFG_XKBCOMMON" != "no" ] && [ "$CFG_XKBCOMMON" != "qt" ]; then + # Check if there is a suitable system-wide xkbcommon - if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xkbcommon xkbcommon-x11 >= $MIN_REQ_XKBCOMMON" 2>/dev/null; then - QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon xkbcommon-x11 2>/dev/null`" - QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon xkbcommon-x11 2>/dev/null`" @@ -26,19 +26,19 @@ diff -ur qtbase-opensource-src-5.3.2/configure qtbase-opensource-src-5.3.2-old_x QMakeVar set QMAKE_CFLAGS_XKBCOMMON "$QMAKE_CFLAGS_XKBCOMMON" QMakeVar set QMAKE_LIBS_XKBCOMMON "$QMAKE_LIBS_XKBCOMMON" -@@ -6588,7 +6586,7 @@ - echo - fi - if [ "$ORIG_CFG_XKBCOMMON" != qt ] && [ "$CFG_XKBCOMMON" = qt ]; then -- echo "NOTE: libxkbcommon and libxkbcommon-x11 $MIN_REQ_XKBCOMMON or higher not found on the system, will use " -+ echo "NOTE: libxkbcommon $MIN_REQ_XKBCOMMON or higher not found on the system, will use " - echo "the bundled version from 3rd party directory." - fi - if [ "$CFG_XKBCOMMON" = "qt" ] && [ "$CFG_XKB_CONFIG_ROOT" = "not found" ]; then -diff -ur qtbase-opensource-src-5.3.2/src/plugins/platforms/xcb/qxcbconnection.cpp qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbconnection.cpp ---- qtbase-opensource-src-5.3.2/src/plugins/platforms/xcb/qxcbconnection.cpp 2014-09-11 12:48:06.000000000 +0200 -+++ qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbconnection.cpp 2014-10-08 19:46:02.000000000 +0200 -@@ -1710,7 +1710,7 @@ + CFG_XKBCOMMON=system + elif [ "$CFG_XKBCOMMON" = "system" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then +- echo " xkbcommon support cannot be enabled because either xkbcommon or " +- echo " xkbcommon-x11 >= $MIN_REQ_XKBCOMMON was not found via pkg-config!" ++ echo " xkbcommon support cannot be enabled because xkbcommon" ++ echo " >= $MIN_REQ_XKBCOMMON was not found via pkg-config!" + echo " Turn on verbose messaging (-v) to $0 to see the final report." + echo " If you believe this message is in error you may use the continue" + echo " switch (-continue) to $0 to continue." +diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbconnection.cpp.old_xcb qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbconnection.cpp +--- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbconnection.cpp.old_xcb 2014-10-14 11:40:06.000000000 -0500 ++++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbconnection.cpp 2014-10-18 20:42:22.996088321 -0500 +@@ -1751,7 +1751,7 @@ void QXcbConnection::initializeXKB() xcb_xkb_use_extension_cookie_t xkb_query_cookie; xcb_xkb_use_extension_reply_t *xkb_query; @@ -47,10 +47,10 @@ diff -ur qtbase-opensource-src-5.3.2/src/plugins/platforms/xcb/qxcbconnection.cp xkb_query = xcb_xkb_use_extension_reply(c, xkb_query_cookie, 0); if (!xkb_query) { -diff -ur qtbase-opensource-src-5.3.2/src/plugins/platforms/xcb/qxcbkeyboard.cpp qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.cpp ---- qtbase-opensource-src-5.3.2/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-09-11 12:48:06.000000000 +0200 -+++ qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-10-08 19:46:02.000000000 +0200 -@@ -697,50 +697,65 @@ +diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp.old_xcb qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp +--- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp.old_xcb 2014-10-14 11:40:06.000000000 -0500 ++++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-10-18 20:42:22.997088344 -0500 +@@ -693,50 +693,65 @@ void QXcbKeyboard::updateKeymap() // log only critical errors, we do our own error logging from printKeymapError() xkb_context_set_log_level(xkb_context, (xkb_log_level)XKB_LOG_LEVEL_CRITICAL); } @@ -151,7 +151,7 @@ diff -ur qtbase-opensource-src-5.3.2/src/plugins/platforms/xcb/qxcbkeyboard.cpp } #ifndef QT_NO_XKB -@@ -995,11 +1010,23 @@ +@@ -993,11 +1008,23 @@ QXcbKeyboard::QXcbKeyboard(QXcbConnectio if (connection->hasXKB()) { updateVModMapping(); updateVModToRModMapping(); @@ -177,10 +177,10 @@ diff -ur qtbase-opensource-src-5.3.2/src/plugins/platforms/xcb/qxcbkeyboard.cpp } else { #endif m_key_symbols = xcb_key_symbols_alloc(xcb_connection()); -diff -ur qtbase-opensource-src-5.3.2/src/plugins/platforms/xcb/qxcbkeyboard.h qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.h ---- qtbase-opensource-src-5.3.2/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-09-11 12:48:06.000000000 +0200 -+++ qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-10-08 19:46:02.000000000 +0200 -@@ -47,9 +47,6 @@ +diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h.old_xcb qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h +--- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h.old_xcb 2014-10-14 11:40:06.000000000 -0500 ++++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-10-18 20:42:22.997088344 -0500 +@@ -39,9 +39,6 @@ #include #include From b84181099c6bd0c63e47eff46d4d391a43f8baaf Mon Sep 17 00:00:00 2001 From: Kevin Kofler Date: Thu, 23 Oct 2014 00:27:38 +0200 Subject: [PATCH 06/18] -gui: don't require gtk2 (__requires_exclude_from platformthemes) (#1154884) * Wed Oct 22 2014 Kevin Kofler - 5.4.0-0.2.beta - -gui: don't require gtk2 (__requires_exclude_from platformthemes) (#1154884) --- qt5-qtbase.spec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 7570736..7edb4b1 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -32,7 +32,7 @@ Summary: Qt5 - QtBase components Name: qt5-qtbase Version: 5.4.0 -Release: 0.1.%{pre}%{?dist} +Release: 0.2.%{pre}%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -100,6 +100,13 @@ Patch50: qt5-poll.patch %define _qt5_sysconfdir %{_qt5_settingsdir} %define _qt5_translationdir %{_datadir}/qt5/translations +# Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires. +# Those themes are there for platform integration. If the required libraries are +# not there, the platform to integrate with isn't either. Then Qt will just +# silently ignore the plugin that fails to load. Thus, there is no need to let +# RPM drag in gtk2 as a dependency for the GTK+ 2 dialog support. +%global __requires_exclude_from ^%{_qt5_plugindir}/platformthemes/.*$ + # for %%check BuildRequires: cmake BuildRequires: cups-devel @@ -799,6 +806,9 @@ fi %changelog +* Wed Oct 22 2014 Kevin Kofler - 5.4.0-0.2.beta +- -gui: don't require gtk2 (__requires_exclude_from platformthemes) (#1154884) + * Sat Oct 18 2014 Rex Dieter - 5.4.0-0.1.beta - 5.4.0-beta - avoid extra -devel deps by moving *Plugin.cmake files to base pkgs From c242367a7f05433b2f8a03a09fa190f2b15737f0 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Thu, 30 Oct 2014 14:25:21 -0500 Subject: [PATCH 07/18] rebase old_xkbcommon.patch --- qt5-qtbase.spec | 4 +- ...e-opensource-src-5.4.0-old_xkbcommon.patch | 39 +++++++------------ 2 files changed, 17 insertions(+), 26 deletions(-) rename qtbase-opensource-src-5.3.2-old_xkbcommon.patch => qtbase-opensource-src-5.4.0-old_xkbcommon.patch (52%) diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 7edb4b1..3f2bb4c 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -59,8 +59,8 @@ Source6: 10-qt5-check-opengl2.sh # in F19 and F20 Patch0: qtbase-opensource-src-5.4.0-old_xcb.patch -# support the old version of libxkbcommon in F19 and F20 -Patch1: qtbase-opensource-src-5.3.2-old_xkbcommon.patch +# support the old version of libxkbcommon in F19 +Patch1: qtbase-opensource-src-5.4.0-old_xkbcommon.patch # support multilib optflags Patch2: qtbase-multilib_optflags.patch diff --git a/qtbase-opensource-src-5.3.2-old_xkbcommon.patch b/qtbase-opensource-src-5.4.0-old_xkbcommon.patch similarity index 52% rename from qtbase-opensource-src-5.3.2-old_xkbcommon.patch rename to qtbase-opensource-src-5.4.0-old_xkbcommon.patch index a2c0fd2..5429d09 100644 --- a/qtbase-opensource-src-5.3.2-old_xkbcommon.patch +++ b/qtbase-opensource-src-5.4.0-old_xkbcommon.patch @@ -1,28 +1,19 @@ -diff -ur qtbase-opensource-src-5.3.2-old_xcb/configure qtbase-opensource-src-5.3.2-old_xkbcommon/configure ---- qtbase-opensource-src-5.3.2-old_xcb/configure 2014-10-08 19:46:02.000000000 +0200 -+++ qtbase-opensource-src-5.3.2-old_xkbcommon/configure 2014-10-08 19:42:46.000000000 +0200 -@@ -5085,7 +5085,7 @@ +diff -up qtbase-opensource-src-5.4.0-beta/configure.old_xkbcommon qtbase-opensource-src-5.4.0-beta/configure +--- qtbase-opensource-src-5.4.0-beta/configure.old_xkbcommon 2014-10-30 14:22:00.388881243 -0500 ++++ qtbase-opensource-src-5.4.0-beta/configure 2014-10-30 14:23:39.800851375 -0500 +@@ -5143,7 +5143,7 @@ if [ "$CFG_KMS" != "no" ]; then fi # Detect libxkbcommon -MIN_REQ_XKBCOMMON="0.4.1" +MIN_REQ_XKBCOMMON="0.3.0" - ORIG_CFG_XKBCOMMON="$CFG_XKBCOMMON" # currently only xcb platform plugin supports building xkbcommon if [ "$CFG_XCB" != "no" ]; then -diff -ur qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.cpp qtbase-opensource-src-5.3.2-old_xkbcommon/src/plugins/platforms/xcb/qxcbkeyboard.cpp ---- qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-10-08 19:46:02.000000000 +0200 -+++ qtbase-opensource-src-5.3.2-old_xkbcommon/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-10-08 19:42:46.000000000 +0200 -@@ -871,7 +871,7 @@ - return QList(); - - QList result; -- int baseQtKey = keysymToQtKey(sym, modifiers, lookupString(kb_state, event->nativeScanCode())); -+ int baseQtKey = keysymToQtKey(sym, modifiers, keysymToUnicode(sym)); - result += (baseQtKey + modifiers); // The base key is _always_ valid, of course - - xkb_mod_index_t shiftMod = xkb_keymap_mod_get_index(xkb_keymap, "Shift"); -@@ -918,7 +918,7 @@ + if [ "$CFG_XKBCOMMON" != "no" ] && [ "$CFG_XKBCOMMON" != "qt" ]; then +diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp.old_xkbcommon qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp +--- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp.old_xkbcommon 2014-10-30 14:22:00.383881294 -0500 ++++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-10-30 14:22:00.390881222 -0500 +@@ -916,7 +916,7 @@ QList QXcbKeyboard::possibleKeys(co continue; Qt::KeyboardModifiers mods = modifiers & ~neededMods; @@ -31,7 +22,7 @@ diff -ur qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbkeybo if (qtKey == baseQtKey) continue; -@@ -1363,7 +1363,7 @@ +@@ -1361,7 +1361,7 @@ void QXcbKeyboard::handleKeyEvent(xcb_wi Qt::KeyboardModifiers modifiers = translateModifiers(state); @@ -40,7 +31,7 @@ diff -ur qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbkeybo int count = string.size(); string.truncate(count); -@@ -1427,12 +1427,18 @@ +@@ -1425,12 +1425,18 @@ void QXcbKeyboard::handleKeyEvent(xcb_wi } } @@ -63,10 +54,10 @@ diff -ur qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbkeybo return QString::fromUtf8(chars); } -diff -ur qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.h qtbase-opensource-src-5.3.2-old_xkbcommon/src/plugins/platforms/xcb/qxcbkeyboard.h ---- qtbase-opensource-src-5.3.2-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-10-08 19:46:02.000000000 +0200 -+++ qtbase-opensource-src-5.3.2-old_xkbcommon/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-10-08 19:42:46.000000000 +0200 -@@ -83,7 +83,7 @@ +diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h.old_xkbcommon qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h +--- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h.old_xkbcommon 2014-10-30 14:22:00.383881294 -0500 ++++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-10-30 14:22:00.390881222 -0500 +@@ -75,7 +75,7 @@ protected: void handleKeyEvent(xcb_window_t sourceWindow, QEvent::Type type, xcb_keycode_t code, quint16 state, xcb_timestamp_t time); void resolveMaskConflicts(); From dab46cba19dbbaa8ef730fc207f69d046b4bd04b Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 3 Nov 2014 08:11:19 -0600 Subject: [PATCH 08/18] macros.qt5: +%qmake_qt5 , to help set standard build flags (CFLAGS, etc...) --- macros.qt5 | 30 ++++++++++++++++++++++++++++++ qt5-qtbase.spec | 38 ++++++++++++++------------------------ 2 files changed, 44 insertions(+), 24 deletions(-) create mode 100644 macros.qt5 diff --git a/macros.qt5 b/macros.qt5 new file mode 100644 index 0000000..0283635 --- /dev/null +++ b/macros.qt5 @@ -0,0 +1,30 @@ +%_qt5 @@NAME@@ +%_qt5_epoch @@EPOCH@@ +%_qt5_version @@VERSION@@ +%_qt5_evr @@EVR@@ +%_qt5_prefix %{_libdir}/qt5 +%_qt5_archdatadir %{_qt5_prefix} +%_qt5_bindir %{_qt5_prefix}/bin +%_qt5_datadir %{_datadir}/qt5 +%_qt5_docdir %{_docdir}/qt5 +%_qt5_examplesdir %{_qt5_prefix}/examples +%_qt5_headerdir %{_includedir}/qt5 +%_qt5_importdir %{_qt5_archdatadir}/imports +%_qt5_libdir %{_libdir} +%_qt5_libexecdir %{_qt5_archdatadir}/libexec +%_qt5_plugindir %{_qt5_archdatadir}/plugins +%_qt5_qmake %{_qt5_bindir}/qmake +%_qt5_settingsdir %{_sysconfdir}/xdg +%_qt5_sysconfdir %{_qt5_settingsdir} +%_qt5_translationdir %{_datadir}/qt5/translations + +%qmake_qt5 \ + %{_qt5_qmake} \\\ + QMAKE_CFLAGS_DEBUG="${CFLAGS:-%optflags}" \\\ + QMAKE_CFLAGS_RELEASE="${CFLAGS:-%optflags}" \\\ + QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS:-%optflags}" \\\ + QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-%optflags}" \\\ + %{?__global_ldflags:QMAKE_LFLAGS_DEBUG="%{__global_ldflags}}" \\\ + %{?__global_ldflags:QMAKE_LFLAGS_RELEASE="%{__global_ldflags}}" \\\ + QMAKE_STRIP= + diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 7edb4b1..7a71a26 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -32,7 +32,7 @@ Summary: Qt5 - QtBase components Name: qt5-qtbase Version: 5.4.0 -Release: 0.2.%{pre}%{?dist} +Release: 0.3.%{pre}%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -79,7 +79,8 @@ Patch50: qt5-poll.patch ##upstream patches -# macros +# macros, be mindful to keep sync'd with macros.qt5 +Source1: macros.qt5 %define _qt5 %{name} %define _qt5_prefix %{_libdir}/qt5 %define _qt5_archdatadir %{_libdir}/qt5 @@ -426,28 +427,14 @@ Version: %{version} EOF # rpm macros -mkdir -p %{buildroot}%{rpm_macros_dir} -cat >%{buildroot}%{rpm_macros_dir}/macros.qt5< 5.4.0-0.3.beta +- macros.qt5: +%%qmake_qt5 , to help set standard build flags (CFLAGS, etc...) + * Wed Oct 22 2014 Kevin Kofler - 5.4.0-0.2.beta - -gui: don't require gtk2 (__requires_exclude_from platformthemes) (#1154884) From d299f7590e32bd4c596d9b209471db97ccb6b96a Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 3 Nov 2014 08:32:03 -0600 Subject: [PATCH 09/18] macros.qt5: allow LDFLAGS override via LDFLAGS evn var --- macros.qt5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/macros.qt5 b/macros.qt5 index 0283635..b8fb250 100644 --- a/macros.qt5 +++ b/macros.qt5 @@ -24,7 +24,7 @@ QMAKE_CFLAGS_RELEASE="${CFLAGS:-%optflags}" \\\ QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS:-%optflags}" \\\ QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-%optflags}" \\\ - %{?__global_ldflags:QMAKE_LFLAGS_DEBUG="%{__global_ldflags}}" \\\ - %{?__global_ldflags:QMAKE_LFLAGS_RELEASE="%{__global_ldflags}}" \\\ + QMAKE_LFLAGS_DEBUG="${LDFLAGS:-%{?__global_ldflags}}" \\\ + QMAKE_LFLAGS_RELEASE="${LDFLAGS:-%{?__global_ldflags}}" \\\ QMAKE_STRIP= From 0a278efc524ea95890cf128a06aff35893db565d Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 10 Nov 2014 08:07:31 -0600 Subject: [PATCH 10/18] Bad font rendering (#1052389,QTBUG-41590) --- qt-5.3.2-xcb-gamma-tweaks.patch | 10 ++++++++++ qt5-qtbase.spec | 10 +++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 qt-5.3.2-xcb-gamma-tweaks.patch diff --git a/qt-5.3.2-xcb-gamma-tweaks.patch b/qt-5.3.2-xcb-gamma-tweaks.patch new file mode 100644 index 0000000..19c4d26 --- /dev/null +++ b/qt-5.3.2-xcb-gamma-tweaks.patch @@ -0,0 +1,10 @@ +--- qtbase-opensource-src-5.3.2-ori/src/plugins/platforms/xcb/qxcbintegration.cpp 2014-09-11 12:48:06.000000000 +0200 ++++ qtbase-opensource-src-5.3.2/src/plugins/platforms/xcb/qxcbintegration.cpp 2014-10-19 01:21:48.115307241 +0200 +@@ -404,6 +404,7 @@ QVariant QXcbIntegration::styleHint(QPla + case QPlatformIntegration::KeyboardAutoRepeatRate: + case QPlatformIntegration::PasswordMaskDelay: + case QPlatformIntegration::FontSmoothingGamma: ++ return qreal(1.4); + case QPlatformIntegration::StartDragVelocity: + case QPlatformIntegration::UseRtlExtensions: + case QPlatformIntegration::PasswordMaskCharacter: diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index b0bdf20..d52d7dd 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -32,7 +32,7 @@ Summary: Qt5 - QtBase components Name: qt5-qtbase Version: 5.4.0 -Release: 0.3.%{pre}%{?dist} +Release: 0.4.%{pre}%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -76,6 +76,10 @@ Patch12: qtbase-opensource-src-5.2.0-enable_ft_lcdfilter.patch # https://bugreports.qt-project.org/browse/QTBUG-27195 # NEEDS REBASE Patch50: qt5-poll.patch +# Bad font rendering, http://bugzilla.redhat.com/1052389 +# tweak font gamma correction, from: +# https://bugreports.qt-project.org/browse/QTBUG-41590 +Patch51: https://bugreports.qt-project.org/secure/attachment/43824/qt-5.3.2-xcb-gamma-tweaks.patch ##upstream patches @@ -307,6 +311,7 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags %patch12 -p1 -b .enable_ft_lcdfilter #patch50 -p1 -b .poll +%patch51 -p1 -b .xcb-gamma-tweaks # drop -fexceptions from $RPM_OPT_FLAGS RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'` @@ -793,6 +798,9 @@ fi %changelog +* Mon Nov 10 2014 Rex Dieter 5.4.0-0.4.beta +- Bad font rendering (#1052389,QTBUG-41590) + * Mon Nov 03 2014 Rex Dieter 5.4.0-0.3.beta - macros.qt5: +%%qmake_qt5 , to help set standard build flags (CFLAGS, etc...) From 1932f186e57a04aa60b464af65e7f21ec4fa50e8 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 10 Nov 2014 10:34:57 -0600 Subject: [PATCH 11/18] refresh old_xkbcommon.patch (again?!) --- ...e-opensource-src-5.4.0-old_xkbcommon.patch | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/qtbase-opensource-src-5.4.0-old_xkbcommon.patch b/qtbase-opensource-src-5.4.0-old_xkbcommon.patch index 5429d09..8f1c636 100644 --- a/qtbase-opensource-src-5.4.0-old_xkbcommon.patch +++ b/qtbase-opensource-src-5.4.0-old_xkbcommon.patch @@ -1,6 +1,6 @@ diff -up qtbase-opensource-src-5.4.0-beta/configure.old_xkbcommon qtbase-opensource-src-5.4.0-beta/configure ---- qtbase-opensource-src-5.4.0-beta/configure.old_xkbcommon 2014-10-30 14:22:00.388881243 -0500 -+++ qtbase-opensource-src-5.4.0-beta/configure 2014-10-30 14:23:39.800851375 -0500 +--- qtbase-opensource-src-5.4.0-beta/configure.old_xkbcommon 2014-10-30 14:24:59.457026169 -0500 ++++ qtbase-opensource-src-5.4.0-beta/configure 2014-10-30 14:24:59.463026107 -0500 @@ -5143,7 +5143,7 @@ if [ "$CFG_KMS" != "no" ]; then fi @@ -11,8 +11,17 @@ diff -up qtbase-opensource-src-5.4.0-beta/configure.old_xkbcommon qtbase-opensou if [ "$CFG_XCB" != "no" ]; then if [ "$CFG_XKBCOMMON" != "no" ] && [ "$CFG_XKBCOMMON" != "qt" ]; then diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp.old_xkbcommon qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp ---- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp.old_xkbcommon 2014-10-30 14:22:00.383881294 -0500 -+++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-10-30 14:22:00.390881222 -0500 +--- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp.old_xkbcommon 2014-10-30 14:24:59.459026148 -0500 ++++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-10-30 15:34:39.003727750 -0500 +@@ -869,7 +869,7 @@ QList QXcbKeyboard::possibleKeys(co + } + + QList result; +- int baseQtKey = keysymToQtKey(sym, modifiers, lookupString(kb_state, event->nativeScanCode())); ++ int baseQtKey = keysymToQtKey(sym, modifiers, keysymToUnicode(sym)); + result += (baseQtKey + modifiers); // The base key is _always_ valid, of course + + xkb_mod_index_t shiftMod = xkb_keymap_mod_get_index(xkb_keymap, "Shift"); @@ -916,7 +916,7 @@ QList QXcbKeyboard::possibleKeys(co continue; @@ -55,8 +64,8 @@ diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard } diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h.old_xkbcommon qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h ---- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h.old_xkbcommon 2014-10-30 14:22:00.383881294 -0500 -+++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-10-30 14:22:00.390881222 -0500 +--- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h.old_xkbcommon 2014-10-30 14:24:59.459026148 -0500 ++++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-10-30 14:24:59.464026096 -0500 @@ -75,7 +75,7 @@ protected: void handleKeyEvent(xcb_window_t sourceWindow, QEvent::Type type, xcb_keycode_t code, quint16 state, xcb_timestamp_t time); From 4a377f02eb781de0358796b14fe286f78dd07893 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 11 Nov 2014 12:11:20 -0600 Subject: [PATCH 12/18] pull in slightly different upstreamed font rendering fix (#1052389,QTBUG-41590) --- ...ply-subpixel-gamma-correction-on-XCB.patch | 45 +++++++++++++++++++ qt-5.3.2-xcb-gamma-tweaks.patch | 10 ----- qt5-qtbase.spec | 14 +++--- 3 files changed, 54 insertions(+), 15 deletions(-) create mode 100644 0351-Do-not-apply-subpixel-gamma-correction-on-XCB.patch delete mode 100644 qt-5.3.2-xcb-gamma-tweaks.patch diff --git a/0351-Do-not-apply-subpixel-gamma-correction-on-XCB.patch b/0351-Do-not-apply-subpixel-gamma-correction-on-XCB.patch new file mode 100644 index 0000000..24207a8 --- /dev/null +++ b/0351-Do-not-apply-subpixel-gamma-correction-on-XCB.patch @@ -0,0 +1,45 @@ +From 501c510cc3cb6215aed27af7599395480a049667 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Tue, 11 Nov 2014 13:48:27 +0100 +Subject: [PATCH 351/351] Do not apply subpixel gamma-correction on XCB +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +To match rendering of subpixel antialiased text in Qt 4.8 and other +toolkits on X11, we should not apply gamma-correction. This also +makes the rendering of subpixel antialiased text closer to normal +antialiased text. + +Task-number: QTBUG-41590 +Change-Id: I45ad3448334951353657b878d002eea429858f2d +Reviewed-by: Samuel Rødal +Reviewed-by: Sérgio Martins +Reviewed-by: Eskil Abrahamsen Blomfeldt +--- + src/plugins/platforms/xcb/qxcbintegration.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp +index cace087..3818494 100644 +--- a/src/plugins/platforms/xcb/qxcbintegration.cpp ++++ b/src/plugins/platforms/xcb/qxcbintegration.cpp +@@ -427,12 +427,14 @@ QVariant QXcbIntegration::styleHint(QPlatformIntegration::StyleHint hint) const + case QPlatformIntegration::StartDragTime: + case QPlatformIntegration::KeyboardAutoRepeatRate: + case QPlatformIntegration::PasswordMaskDelay: +- case QPlatformIntegration::FontSmoothingGamma: + case QPlatformIntegration::StartDragVelocity: + case QPlatformIntegration::UseRtlExtensions: + case QPlatformIntegration::PasswordMaskCharacter: + // TODO using various xcb, gnome or KDE settings + break; // Not implemented, use defaults ++ case QPlatformIntegration::FontSmoothingGamma: ++ // Match Qt 4.8 text rendering, and rendering of other X11 toolkits. ++ return qreal(1.0); + case QPlatformIntegration::StartDragDistance: { + // The default (in QPlatformTheme::defaultThemeHint) is 10 pixels, but + // on a high-resolution screen it makes sense to increase it. +-- +2.1.0 + diff --git a/qt-5.3.2-xcb-gamma-tweaks.patch b/qt-5.3.2-xcb-gamma-tweaks.patch deleted file mode 100644 index 19c4d26..0000000 --- a/qt-5.3.2-xcb-gamma-tweaks.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- qtbase-opensource-src-5.3.2-ori/src/plugins/platforms/xcb/qxcbintegration.cpp 2014-09-11 12:48:06.000000000 +0200 -+++ qtbase-opensource-src-5.3.2/src/plugins/platforms/xcb/qxcbintegration.cpp 2014-10-19 01:21:48.115307241 +0200 -@@ -404,6 +404,7 @@ QVariant QXcbIntegration::styleHint(QPla - case QPlatformIntegration::KeyboardAutoRepeatRate: - case QPlatformIntegration::PasswordMaskDelay: - case QPlatformIntegration::FontSmoothingGamma: -+ return qreal(1.4); - case QPlatformIntegration::StartDragVelocity: - case QPlatformIntegration::UseRtlExtensions: - case QPlatformIntegration::PasswordMaskCharacter: diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index d52d7dd..352c420 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -32,7 +32,7 @@ Summary: Qt5 - QtBase components Name: qt5-qtbase Version: 5.4.0 -Release: 0.4.%{pre}%{?dist} +Release: 0.5.%{pre}%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -76,12 +76,13 @@ Patch12: qtbase-opensource-src-5.2.0-enable_ft_lcdfilter.patch # https://bugreports.qt-project.org/browse/QTBUG-27195 # NEEDS REBASE Patch50: qt5-poll.patch + +## upstream patches + # Bad font rendering, http://bugzilla.redhat.com/1052389 # tweak font gamma correction, from: # https://bugreports.qt-project.org/browse/QTBUG-41590 -Patch51: https://bugreports.qt-project.org/secure/attachment/43824/qt-5.3.2-xcb-gamma-tweaks.patch - -##upstream patches +Patch351: 0351-Do-not-apply-subpixel-gamma-correction-on-XCB.patch # macros, be mindful to keep sync'd with macros.qt5 Source1: macros.qt5 @@ -311,7 +312,7 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags %patch12 -p1 -b .enable_ft_lcdfilter #patch50 -p1 -b .poll -%patch51 -p1 -b .xcb-gamma-tweaks +%patch351 -p1 -b .0351 # drop -fexceptions from $RPM_OPT_FLAGS RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'` @@ -798,6 +799,9 @@ fi %changelog +* Tue Nov 11 2014 Rex Dieter 5.4.0-0.5.beta +- pull in slightly different upstreamed font rendering fix (#1052389,QTBUG-41590) + * Mon Nov 10 2014 Rex Dieter 5.4.0-0.4.beta - Bad font rendering (#1052389,QTBUG-41590) From 2fa25120ffe7fa728ba2f00880a60dad9376dd2f Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 12 Nov 2014 12:45:38 -0600 Subject: [PATCH 13/18] add versioned Requires: libxkbcommon dep --- qt5-qtbase.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 352c420..21af5e7 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -32,7 +32,7 @@ Summary: Qt5 - QtBase components Name: qt5-qtbase Version: 5.4.0 -Release: 0.5.%{pre}%{?dist} +Release: 0.6.%{pre}%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -147,6 +147,8 @@ BuildRequires: pkgconfig(xkbcommon-x11) >= 0.4.1 %if 0%{?fedora} > 19 # Fedora 20 BuildRequires: pkgconfig(xkbcommon) >= 0.4.1 +%global xkbcommon_version %(pkg-config --modversion xkbcommon 2> /dev/null || echo '0.4.1') +Requires: libxkbcommon%{?_isa} >= %{xkbcommon_version} %else # Fedora 19 and older BuildRequires: pkgconfig(xkbcommon) @@ -799,6 +801,9 @@ fi %changelog +* Wed Nov 12 2014 Rex Dieter 5.4.0-0.6.beta +- add versioned Requires: libxkbcommon dep + * Tue Nov 11 2014 Rex Dieter 5.4.0-0.5.beta - pull in slightly different upstreamed font rendering fix (#1052389,QTBUG-41590) From 1fb122151637a6391821a26cf124c77718da9cef Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Thu, 27 Nov 2014 20:09:20 -0600 Subject: [PATCH 14/18] 5.4.0-rc --- .gitignore | 2 +- ...ply-subpixel-gamma-correction-on-XCB.patch | 45 ------------------- qt5-qtbase.spec | 13 +++--- sources | 2 +- 4 files changed, 7 insertions(+), 55 deletions(-) delete mode 100644 0351-Do-not-apply-subpixel-gamma-correction-on-XCB.patch diff --git a/.gitignore b/.gitignore index 01e17b3..00107c8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ /qtbase-opensource-src-5.3.2.tar.xz -/qtbase-opensource-src-5.4.0-beta.tar.xz +/qtbase-opensource-src-5.4.0-rc.tar.xz diff --git a/0351-Do-not-apply-subpixel-gamma-correction-on-XCB.patch b/0351-Do-not-apply-subpixel-gamma-correction-on-XCB.patch deleted file mode 100644 index 24207a8..0000000 --- a/0351-Do-not-apply-subpixel-gamma-correction-on-XCB.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 501c510cc3cb6215aed27af7599395480a049667 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Tue, 11 Nov 2014 13:48:27 +0100 -Subject: [PATCH 351/351] Do not apply subpixel gamma-correction on XCB -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -To match rendering of subpixel antialiased text in Qt 4.8 and other -toolkits on X11, we should not apply gamma-correction. This also -makes the rendering of subpixel antialiased text closer to normal -antialiased text. - -Task-number: QTBUG-41590 -Change-Id: I45ad3448334951353657b878d002eea429858f2d -Reviewed-by: Samuel Rødal -Reviewed-by: Sérgio Martins -Reviewed-by: Eskil Abrahamsen Blomfeldt ---- - src/plugins/platforms/xcb/qxcbintegration.cpp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp -index cace087..3818494 100644 ---- a/src/plugins/platforms/xcb/qxcbintegration.cpp -+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp -@@ -427,12 +427,14 @@ QVariant QXcbIntegration::styleHint(QPlatformIntegration::StyleHint hint) const - case QPlatformIntegration::StartDragTime: - case QPlatformIntegration::KeyboardAutoRepeatRate: - case QPlatformIntegration::PasswordMaskDelay: -- case QPlatformIntegration::FontSmoothingGamma: - case QPlatformIntegration::StartDragVelocity: - case QPlatformIntegration::UseRtlExtensions: - case QPlatformIntegration::PasswordMaskCharacter: - // TODO using various xcb, gnome or KDE settings - break; // Not implemented, use defaults -+ case QPlatformIntegration::FontSmoothingGamma: -+ // Match Qt 4.8 text rendering, and rendering of other X11 toolkits. -+ return qreal(1.0); - case QPlatformIntegration::StartDragDistance: { - // The default (in QPlatformTheme::defaultThemeHint) is 10 pixels, but - // on a high-resolution screen it makes sense to increase it. --- -2.1.0 - diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 21af5e7..4a36676 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -25,14 +25,14 @@ %define examples 1 %endif -%define pre beta +%define pre rc #define snap 2014-10-07_40 #define snap_tag 20141007_40 Summary: Qt5 - QtBase components Name: qt5-qtbase Version: 5.4.0 -Release: 0.6.%{pre}%{?dist} +Release: 0.7.%{pre}%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -79,11 +79,6 @@ Patch50: qt5-poll.patch ## upstream patches -# Bad font rendering, http://bugzilla.redhat.com/1052389 -# tweak font gamma correction, from: -# https://bugreports.qt-project.org/browse/QTBUG-41590 -Patch351: 0351-Do-not-apply-subpixel-gamma-correction-on-XCB.patch - # macros, be mindful to keep sync'd with macros.qt5 Source1: macros.qt5 %define _qt5 %{name} @@ -314,7 +309,6 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags %patch12 -p1 -b .enable_ft_lcdfilter #patch50 -p1 -b .poll -%patch351 -p1 -b .0351 # drop -fexceptions from $RPM_OPT_FLAGS RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'` @@ -801,6 +795,9 @@ fi %changelog +* Thu Nov 27 2014 Rex Dieter 5.4.0-0.7.rc +- 5.4.0-rc + * Wed Nov 12 2014 Rex Dieter 5.4.0-0.6.beta - add versioned Requires: libxkbcommon dep diff --git a/sources b/sources index eb1682a..3567a65 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bfe2c1d250e4771a55b37eb64edb832a qtbase-opensource-src-5.4.0-beta.tar.xz +5b7461c9cbc8784b3d166f7e631e48f2 qtbase-opensource-src-5.4.0-rc.tar.xz From 92f366366b2df9ee7f57dd5db15e9cb75961ceed Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Fri, 28 Nov 2014 15:32:30 -0600 Subject: [PATCH 15/18] restore font rendering patch (#1052389,QTBUG-41590) --- ...ply-subpixel-gamma-correction-on-XCB.patch | 45 +++++++++++++++++++ qt5-qtbase.spec | 12 ++++- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 0009-Do-not-apply-subpixel-gamma-correction-on-XCB.patch diff --git a/0009-Do-not-apply-subpixel-gamma-correction-on-XCB.patch b/0009-Do-not-apply-subpixel-gamma-correction-on-XCB.patch new file mode 100644 index 0000000..f167026 --- /dev/null +++ b/0009-Do-not-apply-subpixel-gamma-correction-on-XCB.patch @@ -0,0 +1,45 @@ +From 501c510cc3cb6215aed27af7599395480a049667 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Tue, 11 Nov 2014 13:48:27 +0100 +Subject: [PATCH 009/131] Do not apply subpixel gamma-correction on XCB +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +To match rendering of subpixel antialiased text in Qt 4.8 and other +toolkits on X11, we should not apply gamma-correction. This also +makes the rendering of subpixel antialiased text closer to normal +antialiased text. + +Task-number: QTBUG-41590 +Change-Id: I45ad3448334951353657b878d002eea429858f2d +Reviewed-by: Samuel Rødal +Reviewed-by: Sérgio Martins +Reviewed-by: Eskil Abrahamsen Blomfeldt +--- + src/plugins/platforms/xcb/qxcbintegration.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp +index cace087..3818494 100644 +--- a/src/plugins/platforms/xcb/qxcbintegration.cpp ++++ b/src/plugins/platforms/xcb/qxcbintegration.cpp +@@ -427,12 +427,14 @@ QVariant QXcbIntegration::styleHint(QPlatformIntegration::StyleHint hint) const + case QPlatformIntegration::StartDragTime: + case QPlatformIntegration::KeyboardAutoRepeatRate: + case QPlatformIntegration::PasswordMaskDelay: +- case QPlatformIntegration::FontSmoothingGamma: + case QPlatformIntegration::StartDragVelocity: + case QPlatformIntegration::UseRtlExtensions: + case QPlatformIntegration::PasswordMaskCharacter: + // TODO using various xcb, gnome or KDE settings + break; // Not implemented, use defaults ++ case QPlatformIntegration::FontSmoothingGamma: ++ // Match Qt 4.8 text rendering, and rendering of other X11 toolkits. ++ return qreal(1.0); + case QPlatformIntegration::StartDragDistance: { + // The default (in QPlatformTheme::defaultThemeHint) is 10 pixels, but + // on a high-resolution screen it makes sense to increase it. +-- +1.9.3 + diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 4a36676..0542c48 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -32,7 +32,7 @@ Summary: Qt5 - QtBase components Name: qt5-qtbase Version: 5.4.0 -Release: 0.7.%{pre}%{?dist} +Release: 0.8.%{pre}%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -79,6 +79,11 @@ Patch50: qt5-poll.patch ## upstream patches +# Bad font rendering, http://bugzilla.redhat.com/1052389 +# tweak font gamma correction, from: +# https://bugreports.qt-project.org/browse/QTBUG-41590 +Patch109: 0009-Do-not-apply-subpixel-gamma-correction-on-XCB.patch + # macros, be mindful to keep sync'd with macros.qt5 Source1: macros.qt5 %define _qt5 %{name} @@ -310,6 +315,8 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags #patch50 -p1 -b .poll +%patch109 -p1 -b .0009 + # drop -fexceptions from $RPM_OPT_FLAGS RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'` @@ -795,6 +802,9 @@ fi %changelog +* Fri Nov 28 2014 Rex Dieter 5.4.0-0.8.rc +- restore font rendering patch (#1052389,QTBUG-41590) + * Thu Nov 27 2014 Rex Dieter 5.4.0-0.7.rc - 5.4.0-rc From 4996bdf06f00eebde0ea8d79e33cbdd938ccbc92 Mon Sep 17 00:00:00 2001 From: Kevin Kofler Date: Sat, 29 Nov 2014 03:38:51 +0100 Subject: [PATCH 16/18] rebase old_xcb and old_xkbcommon patches --- qt5-qtbase.spec | 4 +- ...base-opensource-src-5.4.0-rc-old_xcb.patch | 40 +++++++++---------- ...pensource-src-5.4.0-rc-old_xkbcommon.patch | 40 +++++++++---------- 3 files changed, 42 insertions(+), 42 deletions(-) rename qtbase-opensource-src-5.4.0-old_xcb.patch => qtbase-opensource-src-5.4.0-rc-old_xcb.patch (80%) rename qtbase-opensource-src-5.4.0-old_xkbcommon.patch => qtbase-opensource-src-5.4.0-rc-old_xkbcommon.patch (56%) diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 0542c48..a6d9166 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -57,10 +57,10 @@ Source6: 10-qt5-check-opengl2.sh # support the old version of libxcb and the resulting lack of libxkbcommon-x11 # in F19 and F20 -Patch0: qtbase-opensource-src-5.4.0-old_xcb.patch +Patch0: qtbase-opensource-src-5.4.0-rc-old_xcb.patch # support the old version of libxkbcommon in F19 -Patch1: qtbase-opensource-src-5.4.0-old_xkbcommon.patch +Patch1: qtbase-opensource-src-5.4.0-rc-old_xkbcommon.patch # support multilib optflags Patch2: qtbase-multilib_optflags.patch diff --git a/qtbase-opensource-src-5.4.0-old_xcb.patch b/qtbase-opensource-src-5.4.0-rc-old_xcb.patch similarity index 80% rename from qtbase-opensource-src-5.4.0-old_xcb.patch rename to qtbase-opensource-src-5.4.0-rc-old_xcb.patch index c3d3c38..b910287 100644 --- a/qtbase-opensource-src-5.4.0-old_xcb.patch +++ b/qtbase-opensource-src-5.4.0-rc-old_xcb.patch @@ -1,7 +1,7 @@ -diff -up qtbase-opensource-src-5.4.0-beta/configure.old_xcb qtbase-opensource-src-5.4.0-beta/configure ---- qtbase-opensource-src-5.4.0-beta/configure.old_xcb 2014-10-14 11:39:39.000000000 -0500 -+++ qtbase-opensource-src-5.4.0-beta/configure 2014-10-18 20:47:25.924959443 -0500 -@@ -5040,10 +5040,8 @@ if [ "$CFG_XCB" != "no" ]; then +diff -ur qtbase-opensource-src-5.4.0-rc/configure qtbase-opensource-src-5.4.0-rc-old_xcb/configure +--- qtbase-opensource-src-5.4.0-rc/configure 2014-11-24 15:59:27.000000000 +0100 ++++ qtbase-opensource-src-5.4.0-rc-old_xcb/configure 2014-11-29 03:07:40.000000000 +0100 +@@ -5041,10 +5041,8 @@ QMAKE_LIBS_XCB="`$PKG_CONFIG --libs $XCB_PACKAGES 2>/dev/null`" fi @@ -13,7 +13,7 @@ diff -up qtbase-opensource-src-5.4.0-beta/configure.old_xcb qtbase-opensource-sr QMAKE_CFLAGS_XKB="`$PKG_CONFIG --cflags xcb xcb-xkb 2>/dev/null`" QMAKE_LIBS_XKB="`$PKG_CONFIG --libs xcb xcb-xkb 2>/dev/null`" if compileTest qpa/xcb-xkb "xcb-xkb" $QMAKE_CFLAGS_XKB $QMAKE_LIBS_XKB; then -@@ -5150,16 +5148,16 @@ MIN_REQ_XKBCOMMON="0.4.1" +@@ -5151,16 +5149,16 @@ if [ "$CFG_XCB" != "no" ]; then if [ "$CFG_XKBCOMMON" != "no" ] && [ "$CFG_XKBCOMMON" != "qt" ]; then # Check if there is a suitable system-wide xkbcommon @@ -35,10 +35,10 @@ diff -up qtbase-opensource-src-5.4.0-beta/configure.old_xcb qtbase-opensource-sr echo " Turn on verbose messaging (-v) to $0 to see the final report." echo " If you believe this message is in error you may use the continue" echo " switch (-continue) to $0 to continue." -diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbconnection.cpp.old_xcb qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbconnection.cpp ---- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbconnection.cpp.old_xcb 2014-10-14 11:40:06.000000000 -0500 -+++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbconnection.cpp 2014-10-18 20:42:22.996088321 -0500 -@@ -1751,7 +1751,7 @@ void QXcbConnection::initializeXKB() +diff -ur qtbase-opensource-src-5.4.0-rc/src/plugins/platforms/xcb/qxcbconnection.cpp qtbase-opensource-src-5.4.0-rc-old_xcb/src/plugins/platforms/xcb/qxcbconnection.cpp +--- qtbase-opensource-src-5.4.0-rc/src/plugins/platforms/xcb/qxcbconnection.cpp 2014-11-24 16:00:12.000000000 +0100 ++++ qtbase-opensource-src-5.4.0-rc-old_xcb/src/plugins/platforms/xcb/qxcbconnection.cpp 2014-11-29 03:07:40.000000000 +0100 +@@ -1761,7 +1761,7 @@ xcb_xkb_use_extension_cookie_t xkb_query_cookie; xcb_xkb_use_extension_reply_t *xkb_query; @@ -47,10 +47,10 @@ diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbconnecti xkb_query = xcb_xkb_use_extension_reply(c, xkb_query_cookie, 0); if (!xkb_query) { -diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp.old_xcb qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp ---- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp.old_xcb 2014-10-14 11:40:06.000000000 -0500 -+++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-10-18 20:42:22.997088344 -0500 -@@ -693,50 +693,65 @@ void QXcbKeyboard::updateKeymap() +diff -ur qtbase-opensource-src-5.4.0-rc/src/plugins/platforms/xcb/qxcbkeyboard.cpp qtbase-opensource-src-5.4.0-rc-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.cpp +--- qtbase-opensource-src-5.4.0-rc/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-11-24 16:00:11.000000000 +0100 ++++ qtbase-opensource-src-5.4.0-rc-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-11-29 03:29:53.000000000 +0100 +@@ -693,50 +693,65 @@ // log only critical errors, we do our own error logging from printKeymapError() xkb_context_set_log_level(xkb_context, (xkb_log_level)XKB_LOG_LEVEL_CRITICAL); } @@ -92,7 +92,7 @@ diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard - if (xkb_keymap) { - new_state = xkb_state_new(xkb_keymap); - } else { -- printKeymapError("Failed to compile a keymap!"); +- printKeymapError("Qt: Failed to compile a keymap!"); - m_config = false; - return; - } @@ -148,10 +148,10 @@ diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard +#endif + updateXKBMods(); + } - } - #ifndef QT_NO_XKB -@@ -993,11 +1008,23 @@ QXcbKeyboard::QXcbKeyboard(QXcbConnectio + checkForLatinLayout(); + } +@@ -1096,11 +1111,23 @@ if (connection->hasXKB()) { updateVModMapping(); updateVModToRModMapping(); @@ -177,9 +177,9 @@ diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard } else { #endif m_key_symbols = xcb_key_symbols_alloc(xcb_connection()); -diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h.old_xcb qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h ---- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h.old_xcb 2014-10-14 11:40:06.000000000 -0500 -+++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-10-18 20:42:22.997088344 -0500 +diff -ur qtbase-opensource-src-5.4.0-rc/src/plugins/platforms/xcb/qxcbkeyboard.h qtbase-opensource-src-5.4.0-rc-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.h +--- qtbase-opensource-src-5.4.0-rc/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-11-24 16:00:12.000000000 +0100 ++++ qtbase-opensource-src-5.4.0-rc-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-11-29 03:07:40.000000000 +0100 @@ -39,9 +39,6 @@ #include diff --git a/qtbase-opensource-src-5.4.0-old_xkbcommon.patch b/qtbase-opensource-src-5.4.0-rc-old_xkbcommon.patch similarity index 56% rename from qtbase-opensource-src-5.4.0-old_xkbcommon.patch rename to qtbase-opensource-src-5.4.0-rc-old_xkbcommon.patch index 8f1c636..ea7c60a 100644 --- a/qtbase-opensource-src-5.4.0-old_xkbcommon.patch +++ b/qtbase-opensource-src-5.4.0-rc-old_xkbcommon.patch @@ -1,7 +1,7 @@ -diff -up qtbase-opensource-src-5.4.0-beta/configure.old_xkbcommon qtbase-opensource-src-5.4.0-beta/configure ---- qtbase-opensource-src-5.4.0-beta/configure.old_xkbcommon 2014-10-30 14:24:59.457026169 -0500 -+++ qtbase-opensource-src-5.4.0-beta/configure 2014-10-30 14:24:59.463026107 -0500 -@@ -5143,7 +5143,7 @@ if [ "$CFG_KMS" != "no" ]; then +diff -ur qtbase-opensource-src-5.4.0-rc-old_xcb/configure qtbase-opensource-src-5.4.0-rc-old_xkbcommon/configure +--- qtbase-opensource-src-5.4.0-rc-old_xcb/configure 2014-11-29 03:07:40.000000000 +0100 ++++ qtbase-opensource-src-5.4.0-rc-old_xkbcommon/configure 2014-11-29 03:32:16.000000000 +0100 +@@ -5144,7 +5144,7 @@ fi # Detect libxkbcommon @@ -10,37 +10,37 @@ diff -up qtbase-opensource-src-5.4.0-beta/configure.old_xkbcommon qtbase-opensou # currently only xcb platform plugin supports building xkbcommon if [ "$CFG_XCB" != "no" ]; then if [ "$CFG_XKBCOMMON" != "no" ] && [ "$CFG_XKBCOMMON" != "qt" ]; then -diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp.old_xkbcommon qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp ---- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp.old_xkbcommon 2014-10-30 14:24:59.459026148 -0500 -+++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-10-30 15:34:39.003727750 -0500 -@@ -869,7 +869,7 @@ QList QXcbKeyboard::possibleKeys(co +diff -ur qtbase-opensource-src-5.4.0-rc-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.cpp qtbase-opensource-src-5.4.0-rc-old_xkbcommon/src/plugins/platforms/xcb/qxcbkeyboard.cpp +--- qtbase-opensource-src-5.4.0-rc-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-11-29 03:29:53.000000000 +0100 ++++ qtbase-opensource-src-5.4.0-rc-old_xkbcommon/src/plugins/platforms/xcb/qxcbkeyboard.cpp 2014-11-29 03:35:36.000000000 +0100 +@@ -971,7 +971,7 @@ } QList result; -- int baseQtKey = keysymToQtKey(sym, modifiers, lookupString(kb_state, event->nativeScanCode())); +- int baseQtKey = keysymToQtKey(sym, modifiers, lookupString(kb_state, keycode)); + int baseQtKey = keysymToQtKey(sym, modifiers, keysymToUnicode(sym)); result += (baseQtKey + modifiers); // The base key is _always_ valid, of course xkb_mod_index_t shiftMod = xkb_keymap_mod_get_index(xkb_keymap, "Shift"); -@@ -916,7 +916,7 @@ QList QXcbKeyboard::possibleKeys(co +@@ -1008,7 +1008,7 @@ continue; Qt::KeyboardModifiers mods = modifiers & ~neededMods; -- qtKey = keysymToQtKey(sym, mods, lookupString(kb_state, event->nativeScanCode())); +- qtKey = keysymToQtKey(sym, mods, lookupString(kb_state, keycode)); + qtKey = keysymToQtKey(sym, mods, keysymToUnicode(sym)); - - if (qtKey == baseQtKey) + if (!qtKey || qtKey == baseQtKey) continue; -@@ -1361,7 +1361,7 @@ void QXcbKeyboard::handleKeyEvent(xcb_wi - Qt::KeyboardModifiers modifiers = translateModifiers(state); +@@ -1462,7 +1462,7 @@ + return; + } - QString string = lookupString(xkb_state, code); + QString string = keysymToUnicode(sym); int count = string.size(); string.truncate(count); -@@ -1425,12 +1425,18 @@ void QXcbKeyboard::handleKeyEvent(xcb_wi +@@ -1535,12 +1535,18 @@ } } @@ -63,10 +63,10 @@ diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard return QString::fromUtf8(chars); } -diff -up qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h.old_xkbcommon qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h ---- qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h.old_xkbcommon 2014-10-30 14:24:59.459026148 -0500 -+++ qtbase-opensource-src-5.4.0-beta/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-10-30 14:24:59.464026096 -0500 -@@ -75,7 +75,7 @@ protected: +diff -ur qtbase-opensource-src-5.4.0-rc-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.h qtbase-opensource-src-5.4.0-rc-old_xkbcommon/src/plugins/platforms/xcb/qxcbkeyboard.h +--- qtbase-opensource-src-5.4.0-rc-old_xcb/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-11-29 03:07:40.000000000 +0100 ++++ qtbase-opensource-src-5.4.0-rc-old_xkbcommon/src/plugins/platforms/xcb/qxcbkeyboard.h 2014-11-29 03:32:16.000000000 +0100 +@@ -75,7 +75,7 @@ void handleKeyEvent(xcb_window_t sourceWindow, QEvent::Type type, xcb_keycode_t code, quint16 state, xcb_timestamp_t time); void resolveMaskConflicts(); From 1363f7fc0f3cd4c6a186d3f516d832788e746060 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Thu, 4 Dec 2014 14:30:52 -0600 Subject: [PATCH 17/18] skip docs on el6, qdoc crashes (QTBUG-43057) See also: https://bugreports.qt-project.org/browse/QTBUG-43057 --- qt5-qtbase.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index a6d9166..779ee9e 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -18,7 +18,8 @@ # define to build docs, need to undef this for bootstrapping # where qt5-qttools builds are not yet available # only primary archs (for now), allow secondary to bootstrap -%if ! 0%{?bootstrap} +# skip docs on el6, qdoc crashes: https://bugreports.qt-project.org/browse/QTBUG-43057 +%if ! 0%{?bootstrap} && ! 0%{?rhel} == 6 %ifarch %{arm} %{ix86} x86_64 %define docs 1 %endif From 1d9f13a6e780397d39120381a22fae9b0f3d68a1 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 10 Dec 2014 07:18:27 -0600 Subject: [PATCH 18/18] 5.4.0 (final) --- .gitignore | 3 +-- qt5-qtbase.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 00107c8..9c844e1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/qtbase-opensource-src-5.3.2.tar.xz -/qtbase-opensource-src-5.4.0-rc.tar.xz +/qtbase-opensource-src-5.4.0.tar.xz diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 779ee9e..78dc5b5 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -26,14 +26,14 @@ %define examples 1 %endif -%define pre rc +#define pre rc #define snap 2014-10-07_40 #define snap_tag 20141007_40 Summary: Qt5 - QtBase components Name: qt5-qtbase Version: 5.4.0 -Release: 0.8.%{pre}%{?dist} +Release: 1%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -803,6 +803,9 @@ fi %changelog +* Wed Dec 10 2014 Rex Dieter 5.4.0-1 +- 5.4.0 (final) + * Fri Nov 28 2014 Rex Dieter 5.4.0-0.8.rc - restore font rendering patch (#1052389,QTBUG-41590) diff --git a/sources b/sources index 3567a65..f556783 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5b7461c9cbc8784b3d166f7e631e48f2 qtbase-opensource-src-5.4.0-rc.tar.xz +eaaa72a5cb25713ca8d17f3a8d149765 qtbase-opensource-src-5.4.0.tar.xz