From c3879d9ba562fb49f3787248fae0c840e5eb279e Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 2 Aug 2016 08:15:13 -0500 Subject: [PATCH 1/6] qt5-rpm-macros: Requires: cmake(3) --- qt5-qtbase.spec | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index ee2212b..08ebad0 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -57,7 +57,7 @@ BuildRequires: pkgconfig(libsystemd) Summary: Qt5 - QtBase components Name: qt5-qtbase Version: 5.6.1 -Release: 3%{?prerelease:.%{prerelease}}%{?dist} +Release: 4%{?prerelease:.%{prerelease}}%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -137,8 +137,13 @@ Source10: macros.qt5 # RPM drag in gtk2 as a dependency for the GTK+ 2 dialog support. %global __requires_exclude_from ^%{_qt5_plugindir}/platformthemes/.*$ -# for %%check -BuildRequires: cmake +# for %%check, rpm auto-provides +%if 0%{?fedora} +BuildRequires: cmake >= 3 +%endif +%if 0%{?rhel} +BuildRequires: cmake3 +%endif BuildRequires: cups-devel BuildRequires: desktop-file-utils BuildRequires: findutils @@ -343,6 +348,12 @@ Summary: RPM macros for Qt5 # https://bugzilla.redhat.com/show_bug.cgi?id=1248174 Requires: redhat-rpm-config %endif +%if 0%{?fedora} +Requires: cmake >= 3 +%endif +%if 0%{?rhel} +Requires: cmake3 +%endif # when qt5-rpm-macros was split out Conflicts: qt5-qtbase-devel < 5.6.0-0.23 BuildArch: noarch @@ -961,6 +972,9 @@ fi %changelog +* Tue Aug 02 2016 Rex Dieter - 5.6.1-4 +- qt5-rpm-macros: Requires: cmake(3) + * Tue Jun 14 2016 Rex Dieter - 5.6.1-3 - backport some xcb-plugin-related fixes From 01c7f9ab085b2acad53e52fc4b8132a1ab59e3a4 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 27 Sep 2016 09:09:57 -0500 Subject: [PATCH 2/6] cmake3 available only in epel --- qt5-qtbase.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 08ebad0..0fe3e5d 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -57,7 +57,7 @@ BuildRequires: pkgconfig(libsystemd) Summary: Qt5 - QtBase components Name: qt5-qtbase Version: 5.6.1 -Release: 4%{?prerelease:.%{prerelease}}%{?dist} +Release: 5%{?prerelease:.%{prerelease}}%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -141,7 +141,7 @@ Source10: macros.qt5 %if 0%{?fedora} BuildRequires: cmake >= 3 %endif -%if 0%{?rhel} +%if 0%{?epel} BuildRequires: cmake3 %endif BuildRequires: cups-devel @@ -351,7 +351,7 @@ Requires: redhat-rpm-config %if 0%{?fedora} Requires: cmake >= 3 %endif -%if 0%{?rhel} +%if 0%{?epel} Requires: cmake3 %endif # when qt5-rpm-macros was split out @@ -972,6 +972,9 @@ fi %changelog +* Tue Sep 27 2016 Rex Dieter - 5.6.1-5 +- cmake3 available only in epel + * Tue Aug 02 2016 Rex Dieter - 5.6.1-4 - qt5-rpm-macros: Requires: cmake(3) From b30ae9f982984fbdd2b6733bf25742facb443478 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 16 Nov 2016 09:56:49 -0600 Subject: [PATCH 3/6] 5.6.2 --- .gitignore | 7 +------ qt5-qtbase.spec | 39 +++++++++++++++------------------------ sources | 2 +- 3 files changed, 17 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index 4fbb1c0..b463b29 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1 @@ -/qtbase-opensource-src-5.5.1.tar.xz -/qtbase-opensource-src-5.6.0-beta.tar.gz -/qtbase-opensource-src-5.6.0-rc.tar.xz -/sources -/qtbase-opensource-src-5.6.0.tar.xz -/qtbase-opensource-src-5.6.1.tar.xz +/qtbase-opensource-src-5.6.2.tar.xz diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 0fe3e5d..b81e87c 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -52,12 +52,10 @@ BuildRequires: pkgconfig(libsystemd) %global tests 1 %endif -#define prerelease rc - Summary: Qt5 - QtBase components Name: qt5-qtbase -Version: 5.6.1 -Release: 5%{?prerelease:.%{prerelease}}%{?dist} +Version: 5.6.2 +Release: 1%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -79,10 +77,7 @@ Source6: 10-qt5-check-opengl2.sh 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 - -# unconditionally enable freetype lcdfilter support -Patch12: qtbase-opensource-src-5.2.0-enable_ft_lcdfilter.patch +Patch4: qtbase-opensource-src-5.6.2-QTBUG-35459.patch # upstreamable patches @@ -92,22 +87,16 @@ Patch12: qtbase-opensource-src-5.2.0-enable_ft_lcdfilter.patch Patch52: qtbase-opensource-src-5.6.0-moc_WORDSIZE.patch # arm patch -Patch54: qtbase-opensource-src-5.6.0-arm.patch +Patch54: qtbase-opensource-src-5.6.2-arm.patch # recently passed code review, not integrated yet # https://codereview.qt-project.org/126102/ -Patch60: moc-get-the-system-defines-from-the-compiler-itself.patch +Patch60: qtbase-opensource-src-5.6.2-moc_system_defines.patch # drop -O3 and make -O2 by default Patch61: qt5-qtbase-cxxflag.patch ## upstream patches -Patch101: 0001-xcb-Properly-interpret-data.l-0-field-of-XdndStatus-.patch -Patch111: 0011-XCB-Auto-detect-xcb-glx-also-with-xcb-qt.patch -Patch132: 0032-xcb-Fix-drop-of-text-uri-list-and-text-html.patch -Patch133: 0033-xcb-Fix-dropping-URL-on-Firefox-window.patch -Patch148: 0148-xcb-Disable-GLX-pbuffers-with-Chromium-in-VMs.patch -Patch155: 0155-xcb-Fix-transient-parent-and-Qt-Window-flag.patch # macros, be mindful to keep sync'd with macros.qt5 Source10: macros.qt5 @@ -184,6 +173,9 @@ BuildRequires: pkgconfig(xkbcommon-x11) >= 0.4.1 Provides: bundled(libxkbcommon) = 0.4.1 %endif BuildRequires: pkgconfig(xkeyboard-config) +%if 0%{?fedora} || 0%{?rhel} > 7 +%global eglfs 1 +%endif %if 0%{?fedora} || 0%{?rhel} > 6 %define egl 1 BuildRequires: pkgconfig(egl) @@ -365,20 +357,12 @@ RPM macros for building Qt5 packages. %setup -q -n %{qt_module}-opensource-src-%{version}%{?prerelease:-%{prerelease}} %patch4 -p1 -b .QTBUG-35459 -%patch12 -p1 -b .enable_ft_lcdfilter %patch52 -p1 -b .moc_WORDSIZE %patch54 -p1 -b .arm %patch60 -p1 -b .moc_system_defines %patch61 -p1 -b .qt5-qtbase-cxxflag -%patch101 -p1 -b .0001-xcb -%patch111 -p1 -b .0011 -%patch132 -p1 -b .0032 -%patch133 -p1 -b .0033 -%patch148 -p1 -b .0148 -%patch155 -p1 -b .0155 - %define platform linux-g++ %if 0%{?inject_optflags} @@ -952,6 +936,10 @@ fi %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QEglFSX11IntegrationPlugin.cmake %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXcbEglIntegrationPlugin.cmake %endif +%if 0%{?eglfs} +%{_qt5_plugindir}/egldeviceintegrations/libqeglfs-kms-egldevice-integration.so +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QEglFSKmsEglDeviceIntegrationPlugin.cmake +%endif %{_qt5_plugindir}/platforms/libqlinuxfb.so %{_qt5_plugindir}/platforms/libqminimal.so %{_qt5_plugindir}/platforms/libqoffscreen.so @@ -972,6 +960,9 @@ fi %changelog +* Sun Oct 16 2016 Rex Dieter - 5.6.2-1 +- 5.6.2 + * Tue Sep 27 2016 Rex Dieter - 5.6.1-5 - cmake3 available only in epel diff --git a/sources b/sources index 06cee79..d582043 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b23232190a3df61fe1ba81636987b036 qtbase-opensource-src-5.6.1.tar.xz +5672bf62a89061a6edb425b7796e4eca qtbase-opensource-src-5.6.2.tar.xz From 8723a0d67acc895fc654c0d05a4c5741a4aa44d4 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 16 Nov 2016 10:25:36 -0600 Subject: [PATCH 4/6] sync patches --- ...erpret-data.l-0-field-of-XdndStatus-.patch | 37 ----- ...Auto-detect-xcb-glx-also-with-xcb-qt.patch | 31 ---- ...-drop-of-text-uri-list-and-text-html.patch | 78 ---------- ...b-Fix-dropping-URL-on-Firefox-window.patch | 58 -------- ...le-GLX-pbuffers-with-Chromium-in-VMs.patch | 37 ----- ...-transient-parent-and-Qt-Window-flag.patch | 64 --------- ...source-src-5.2.0-enable_ft_lcdfilter.patch | 12 -- qtbase-opensource-src-5.3.2-QTBUG-35459.patch | 13 -- qtbase-opensource-src-5.6.0-arm.patch | 13 -- qtbase-opensource-src-5.6.2-QTBUG-35459.patch | 12 ++ qtbase-opensource-src-5.6.2-arm.patch | 13 ++ ...nsource-src-5.6.2-moc_system_defines.patch | 135 ++++++------------ 12 files changed, 71 insertions(+), 432 deletions(-) delete mode 100644 0001-xcb-Properly-interpret-data.l-0-field-of-XdndStatus-.patch delete mode 100644 0011-XCB-Auto-detect-xcb-glx-also-with-xcb-qt.patch delete mode 100644 0032-xcb-Fix-drop-of-text-uri-list-and-text-html.patch delete mode 100644 0033-xcb-Fix-dropping-URL-on-Firefox-window.patch delete mode 100644 0148-xcb-Disable-GLX-pbuffers-with-Chromium-in-VMs.patch delete mode 100644 0155-xcb-Fix-transient-parent-and-Qt-Window-flag.patch delete mode 100644 qtbase-opensource-src-5.2.0-enable_ft_lcdfilter.patch delete mode 100644 qtbase-opensource-src-5.3.2-QTBUG-35459.patch delete mode 100644 qtbase-opensource-src-5.6.0-arm.patch create mode 100644 qtbase-opensource-src-5.6.2-QTBUG-35459.patch create mode 100644 qtbase-opensource-src-5.6.2-arm.patch rename moc-get-the-system-defines-from-the-compiler-itself.patch => qtbase-opensource-src-5.6.2-moc_system_defines.patch (75%) diff --git a/0001-xcb-Properly-interpret-data.l-0-field-of-XdndStatus-.patch b/0001-xcb-Properly-interpret-data.l-0-field-of-XdndStatus-.patch deleted file mode 100644 index c0c3bc1..0000000 --- a/0001-xcb-Properly-interpret-data.l-0-field-of-XdndStatus-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 46f1c4c86bbfe7b6917907700bec998626ad4a8b Mon Sep 17 00:00:00 2001 -From: Alexander Volkov -Date: Wed, 11 May 2016 18:42:24 +0300 -Subject: [PATCH 001/178] xcb: Properly interpret data.l[0] field of XdndStatus - message - -The standard https://freedesktop.org/wiki/Specifications/XDND/ -states: "In order for the proxy window to behave correctly, the -appropriate field of the client messages, window or data.l[0], -must contain the ID of the window in which the mouse is located, -not the proxy window that is receiving the messages." - -So compare it with the current target window instead of the -current proxy window. - -Change-Id: Ie31fd3aeadebcf5a9be7b9a9194f35a4ec7bdebb -Reviewed-by: Lars Knoll ---- - src/plugins/platforms/xcb/qxcbdrag.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/plugins/platforms/xcb/qxcbdrag.cpp b/src/plugins/platforms/xcb/qxcbdrag.cpp -index 6fa5dfa..f93e420 100644 ---- a/src/plugins/platforms/xcb/qxcbdrag.cpp -+++ b/src/plugins/platforms/xcb/qxcbdrag.cpp -@@ -829,7 +829,7 @@ void QXcbDrag::handle_xdnd_status(const xcb_client_message_event_t *event) - DEBUG("xdndHandleStatus"); - waiting_for_status = false; - // ignore late status messages -- if (event->data.data32[0] && event->data.data32[0] != current_proxy_target) -+ if (event->data.data32[0] && event->data.data32[0] != current_target) - return; - - const bool dropPossible = event->data.data32[1]; --- -2.7.4 - diff --git a/0011-XCB-Auto-detect-xcb-glx-also-with-xcb-qt.patch b/0011-XCB-Auto-detect-xcb-glx-also-with-xcb-qt.patch deleted file mode 100644 index edaccef..0000000 --- a/0011-XCB-Auto-detect-xcb-glx-also-with-xcb-qt.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 2852a8b87e3a8ed95b72d26b0e180b7fd4491cf3 Mon Sep 17 00:00:00 2001 -From: Gabriel de Dietrich -Date: Fri, 26 Feb 2016 11:53:01 -0800 -Subject: [PATCH 011/178] XCB: Auto-detect xcb-glx also with xcb-qt - -Task-number: QTBUG-43784 -Change-Id: Iaa0388e34900f6241db8cd864caed4fb6fc32819 -Reviewed-by: Laszlo Agocs ---- - configure | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/configure b/configure -index ce5b9c2..a481981 100755 ---- a/configure -+++ b/configure -@@ -5555,6 +5555,11 @@ if [ "$CFG_XCB" != "no" ]; then - - if [ "$CFG_XCB" = "qt" ]; then - QT_CONFIG="$QT_CONFIG xcb-qt" -+ -+ if compileTest qpa/xcb-glx "xcb-glx" $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then -+ CFG_XCB_GLX=yes -+ QT_CONFIG="$QT_CONFIG xcb-glx" -+ fi - else - CFG_XCB="system" - if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then --- -2.7.4 - diff --git a/0032-xcb-Fix-drop-of-text-uri-list-and-text-html.patch b/0032-xcb-Fix-drop-of-text-uri-list-and-text-html.patch deleted file mode 100644 index db96ec5..0000000 --- a/0032-xcb-Fix-drop-of-text-uri-list-and-text-html.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 1108291e1a2e7de23440c2b36b2fd31010ae3f51 Mon Sep 17 00:00:00 2001 -From: Urs Fleisch -Date: Tue, 3 May 2016 20:01:01 +0200 -Subject: [PATCH 032/178] xcb: Fix drop of text/uri-list and text/html. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When dropping URLs from Firefox or Chrome, the contents are encoded as -UTF16, but not correctly decoded. Moreover, the special handling of -"text/x-moz-url" drops does not work because this format is converted to -"text/uri-list" before. This fixes the handling for URL list and also -for UTF16 "text/html". - -Task-number: QTBUG-47981 -Change-Id: I1153f21ede07b2bfe4d104e0fe8bc8487ec5c165 -Reviewed-by: Błażej Szczygieł -Reviewed-by: Shawn Rutledge ---- - src/plugins/platforms/xcb/qxcbmime.cpp | 42 +++++++++++++++++++++++++--------- - 1 file changed, 31 insertions(+), 11 deletions(-) - -diff --git a/src/plugins/platforms/xcb/qxcbmime.cpp b/src/plugins/platforms/xcb/qxcbmime.cpp -index eeac561..cef2210 100644 ---- a/src/plugins/platforms/xcb/qxcbmime.cpp -+++ b/src/plugins/platforms/xcb/qxcbmime.cpp -@@ -182,17 +182,37 @@ QVariant QXcbMime::mimeConvertToFormat(QXcbConnection *connection, xcb_atom_t a, - a == connection->atom(QXcbAtom::TEXT)) - return QString::fromLatin1(data); - } -- -- // special case for uri types -- if (format == QLatin1String("text/uri-list")) { -- if (atomName == QLatin1String("text/x-moz-url")) { -- // we expect this as utf16 -- // the first part is a url that should only contain ascci char -- // so it should be safe to check that the second char is 0 -- // to verify that it is utf16 -- if (data.size() > 1 && data.at(1) == 0) -- return QString::fromRawData((const QChar *)data.constData(), -- data.size() / 2).split(QLatin1Char('\n')).first().toLatin1(); -+ // If data contains UTF16 text, convert it to a string. -+ // Firefox uses UTF16 without BOM for text/x-moz-url, "text/html", -+ // Google Chrome uses UTF16 without BOM for "text/x-moz-url", -+ // UTF16 with BOM for "text/html". -+ if ((format == QLatin1String("text/html") || format == QLatin1String("text/uri-list")) -+ && data.size() > 1) { -+ const quint8 byte0 = data.at(0); -+ const quint8 byte1 = data.at(1); -+ if ((byte0 == 0xff && byte1 == 0xfe) || (byte0 == 0xfe && byte1 == 0xff) -+ || (byte0 != 0 && byte1 == 0) || (byte0 == 0 && byte1 != 0)) { -+ const QString str = QString::fromUtf16( -+ reinterpret_cast<const ushort *>(data.constData()), data.size() / 2); -+ if (!str.isNull()) { -+ if (format == QLatin1String("text/uri-list")) { -+ const QStringList urls = str.split(QLatin1Char('\n')); -+ QList<QVariant> list; -+ foreach (const QString &s, urls) { -+ const QUrl url(s.trimmed()); -+ if (url.isValid()) -+ list.append(url); -+ } -+ // We expect "text/x-moz-url" as <url><space><title>. -+ // The atomName variable is not used because mimeAtomToString() -+ // converts "text/x-moz-url" to "text/uri-list". -+ if (!list.isEmpty() && connection->atomName(a) == "text/x-moz-url") -+ return list.first(); -+ return list; -+ } else { -+ return str; -+ } -+ } - } - } - --- -2.7.4 - diff --git a/0033-xcb-Fix-dropping-URL-on-Firefox-window.patch b/0033-xcb-Fix-dropping-URL-on-Firefox-window.patch deleted file mode 100644 index c48076a..0000000 --- a/0033-xcb-Fix-dropping-URL-on-Firefox-window.patch +++ /dev/null @@ -1,58 +0,0 @@ -From f162e29acca99aaab173fb323d112aad9ec6c2b5 Mon Sep 17 00:00:00 2001 -From: Urs Fleisch <ufleisch@users.sourceforge.net> -Date: Wed, 4 May 2016 19:47:16 +0200 -Subject: [PATCH 033/178] xcb: Fix dropping URL on Firefox window. - -When a URL is dropped on a Firefox window, the "text/x-moz-url" data -takes precedence over the "text/uri-list". The "text/x-moz-url" is -interpreted as UTF16, however, the data from Qt 5 applications is not -in the correct format. The code to create correct UTF16 data exists, -but it is not called for two reasons: The atomName will never be -"text/x-moz-url" because it is changed to "text/uri-list" by -mimeAtomToString() and the InternalMimeData::hasFormatHelper() case is -already handled above and the else part will never be considered. -This patch fixes the check and brings it into the right order. - -Task-number: QTBUG-49947 -Change-Id: I5ebd31914cc6c1417c513c1ff09e0e858a16915d -Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> -Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com> ---- - src/plugins/platforms/xcb/qxcbmime.cpp | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -diff --git a/src/plugins/platforms/xcb/qxcbmime.cpp b/src/plugins/platforms/xcb/qxcbmime.cpp -index cef2210..7fea068 100644 ---- a/src/plugins/platforms/xcb/qxcbmime.cpp -+++ b/src/plugins/platforms/xcb/qxcbmime.cpp -@@ -111,17 +111,18 @@ bool QXcbMime::mimeDataForAtom(QXcbConnection *connection, xcb_atom_t a, QMimeDa - QString atomName = mimeAtomToString(connection, a); - if (QInternalMimeData::hasFormatHelper(atomName, mimeData)) { - *data = QInternalMimeData::renderDataHelper(atomName, mimeData); -- if (atomName == QLatin1String("application/x-color")) -+ // mimeAtomToString() converts "text/x-moz-url" to "text/uri-list", -+ // so QXcbConnection::atomName() has to be used. -+ if (atomName == QLatin1String("text/uri-list") -+ && connection->atomName(a) == "text/x-moz-url") { -+ const QByteArray uri = data->split('\n').first(); -+ QString mozUri = QString::fromLatin1(uri, uri.size()); -+ mozUri += QLatin1Char('\n'); -+ *data = QByteArray(reinterpret_cast<const char *>(mozUri.utf16()), -+ mozUri.length() * 2); -+ } else if (atomName == QLatin1String("application/x-color")) - *dataFormat = 16; - ret = true; -- } else if (atomName == QLatin1String("text/x-moz-url") && -- QInternalMimeData::hasFormatHelper(QLatin1String("text/uri-list"), mimeData)) { -- QByteArray uri = QInternalMimeData::renderDataHelper( -- QLatin1String("text/uri-list"), mimeData).split('\n').first(); -- QString mozUri = QString::fromLatin1(uri, uri.size()); -- mozUri += QLatin1Char('\n'); -- *data = QByteArray(reinterpret_cast<const char *>(mozUri.utf16()), mozUri.length() * 2); -- ret = true; - } else if ((a == XCB_ATOM_PIXMAP || a == XCB_ATOM_BITMAP) && mimeData->hasImage()) { - ret = true; - } --- -2.7.4 - diff --git a/0148-xcb-Disable-GLX-pbuffers-with-Chromium-in-VMs.patch b/0148-xcb-Disable-GLX-pbuffers-with-Chromium-in-VMs.patch deleted file mode 100644 index 3df92a5..0000000 --- a/0148-xcb-Disable-GLX-pbuffers-with-Chromium-in-VMs.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 76810e1495b65a09e9abd6164639e0caf34d61b8 Mon Sep 17 00:00:00 2001 -From: Laszlo Agocs <laszlo.agocs@theqtcompany.com> -Date: Fri, 20 May 2016 14:52:18 +0200 -Subject: [PATCH 148/178] xcb: Disable GLX pbuffers with Chromium in VMs -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Change-Id: I474e4a4ce424a92b46381eb26aeda811ed059819 -Task-number: QTCREATORBUG-16252 -Task-number: QTCREATORBUG-14937 -Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> -Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> ---- - .../platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp -index a3a8aa2..55d0ff3 100644 ---- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp -+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp -@@ -201,8 +201,10 @@ QPlatformOffscreenSurface *QXcbGlxIntegration::createPlatformOffscreenSurface(QO - display = static_cast<Display *>(m_connection->xlib_display()); - #endif - const char *glxvendor = glXGetClientString(display, GLX_VENDOR); -- if (glxvendor && !strcmp(glxvendor, "ATI")) -- glxPbufferUsable = false; -+ if (glxvendor) { -+ if (!strcmp(glxvendor, "ATI") || !strcmp(glxvendor, "Chromium")) -+ glxPbufferUsable = false; -+ } - } - if (glxPbufferUsable) - return new QGLXPbuffer(surface); --- -2.7.4 - diff --git a/0155-xcb-Fix-transient-parent-and-Qt-Window-flag.patch b/0155-xcb-Fix-transient-parent-and-Qt-Window-flag.patch deleted file mode 100644 index 3157aac..0000000 --- a/0155-xcb-Fix-transient-parent-and-Qt-Window-flag.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 4762fabce16c611f12542a48b0dd31b3cec8e530 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?B=C5=82a=C5=BCej=20Szczygie=C5=82?= <spaz16@wp.pl> -Date: Thu, 14 Apr 2016 13:20:23 +0200 -Subject: [PATCH 155/178] xcb: Fix transient parent and "Qt::Window" flag - -Don't set transient parent property when Qt::Window flag is set. -Delete transient parent property if a window doesn't have a transient parent. -Force setting standard window flags for Qt::Window only if there are no other -flags. - -Amends 98c10a02c5b77e023471ad6993dc66b013889cfb - -Task-number: QTBUG-52550 -Change-Id: I68ee715b632487e9dd0e7ffbbfc0c2cdd0f0e151 -Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> -Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> ---- - src/plugins/platforms/xcb/qxcbwindow.cpp | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp -index 429ba8d..0c2f0d7 100644 ---- a/src/plugins/platforms/xcb/qxcbwindow.cpp -+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp -@@ -821,9 +821,9 @@ void QXcbWindow::show() - propagateSizeHints(); - - // update WM_TRANSIENT_FOR -- const QWindow *tp = window()->transientParent(); -- if (isTransient(window()) || tp != 0) { -- xcb_window_t transientXcbParent = 0; -+ xcb_window_t transientXcbParent = 0; -+ if (isTransient(window())) { -+ const QWindow *tp = window()->transientParent(); - if (tp && tp->handle()) - transientXcbParent = static_cast<const QXcbWindow *>(tp->handle())->winId(); - // Default to client leader if there is no transient parent, else modal dialogs can -@@ -836,6 +836,8 @@ void QXcbWindow::show() - 1, &transientXcbParent)); - } - } -+ if (!transientXcbParent) -+ Q_XCB_CALL(xcb_delete_property(xcb_connection(), m_window, XCB_ATOM_WM_TRANSIENT_FOR)); - - // update _MOTIF_WM_HINTS - updateMotifWmHintsBeforeMap(); -@@ -1195,9 +1197,11 @@ void QXcbWindow::setMotifWindowFlags(Qt::WindowFlags flags) - mwmhints.flags |= MWM_HINTS_DECORATIONS; - - bool customize = flags & Qt::CustomizeWindowHint; -- if (type == Qt::Window && !customize) -- flags |= Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint; -- -+ if (type == Qt::Window && !customize) { -+ const Qt::WindowFlags defaultFlags = Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint; -+ if (!(flags & defaultFlags)) -+ flags |= defaultFlags; -+ } - if (!(flags & Qt::FramelessWindowHint) && !(customize && !(flags & Qt::WindowTitleHint))) { - mwmhints.decorations |= MWM_DECOR_BORDER; - mwmhints.decorations |= MWM_DECOR_RESIZEH; --- -2.7.4 - diff --git a/qtbase-opensource-src-5.2.0-enable_ft_lcdfilter.patch b/qtbase-opensource-src-5.2.0-enable_ft_lcdfilter.patch deleted file mode 100644 index 1c0326e..0000000 --- a/qtbase-opensource-src-5.2.0-enable_ft_lcdfilter.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qtbase-opensource-src-5.2.0/src/gui/text/qfontengine_ft.cpp.lcdfilter qtbase-opensource-src-5.2.0/src/gui/text/qfontengine_ft.cpp ---- qtbase-opensource-src-5.2.0/src/gui/text/qfontengine_ft.cpp.lcdfilter 2013-12-08 11:09:51.000000000 -0600 -+++ qtbase-opensource-src-5.2.0/src/gui/text/qfontengine_ft.cpp 2014-01-27 13:09:28.426065603 -0600 -@@ -69,7 +69,7 @@ - #include FT_CONFIG_OPTIONS_H - #endif - --#if defined(FT_LCD_FILTER_H) && defined(FT_CONFIG_OPTION_SUBPIXEL_RENDERING) -+#if defined(FT_LCD_FILTER_H) - #define QT_USE_FREETYPE_LCDFILTER - #endif - diff --git a/qtbase-opensource-src-5.3.2-QTBUG-35459.patch b/qtbase-opensource-src-5.3.2-QTBUG-35459.patch deleted file mode 100644 index 1ef698b..0000000 --- a/qtbase-opensource-src-5.3.2-QTBUG-35459.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up qtbase-opensource-src-5.3.2/src/xml/sax/qxml.cpp.QTBUG-35459 qtbase-opensource-src-5.3.2/src/xml/sax/qxml.cpp -diff -up qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h.QTBUG-35459 qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h ---- qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h.QTBUG-35459 2014-09-11 05:48:05.000000000 -0500 -+++ qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h 2014-09-16 09:35:01.189255615 -0500 -@@ -223,7 +223,7 @@ private: - // for the DTD currently being parsed. - static const int dtdRecursionLimit = 2; - // The maximum amount of characters an entity value may contain, after expansion. -- static const int entityCharacterLimit = 1024; -+ static const int entityCharacterLimit = 65536; - - const QString &string(); - void stringClear(); diff --git a/qtbase-opensource-src-5.6.0-arm.patch b/qtbase-opensource-src-5.6.0-arm.patch deleted file mode 100644 index 63df719..0000000 --- a/qtbase-opensource-src-5.6.0-arm.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up qtbase-opensource-src-5.6.0-beta/configure.than qtbase-opensource-src-5.6.0-beta/configure ---- qtbase-opensource-src-5.6.0-beta/configure.than 2016-02-12 13:56:20.057741037 +0100 -+++ qtbase-opensource-src-5.6.0-beta/configure 2016-02-12 14:10:10.267768256 +0100 -@@ -4346,6 +4346,9 @@ if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; th - else - # not cross compiling, host == target - CFG_HOST_ARCH="$CFG_ARCH" -+ if [ "$CFG_ARCH" = "arm" ] ; then -+ CFG_CPUFEATURES="neon" -+ fi - CFG_HOST_CPUFEATURES="$CFG_CPUFEATURES" - fi - unset OUTFILE diff --git a/qtbase-opensource-src-5.6.2-QTBUG-35459.patch b/qtbase-opensource-src-5.6.2-QTBUG-35459.patch new file mode 100644 index 0000000..b5548fd --- /dev/null +++ b/qtbase-opensource-src-5.6.2-QTBUG-35459.patch @@ -0,0 +1,12 @@ +diff -up qtbase-opensource-src-5.6.2/src/xml/sax/qxml_p.h.QTBUG-35459 qtbase-opensource-src-5.6.2/src/xml/sax/qxml_p.h +--- qtbase-opensource-src-5.6.2/src/xml/sax/qxml_p.h.QTBUG-35459 2016-09-16 00:49:42.000000000 -0500 ++++ qtbase-opensource-src-5.6.2/src/xml/sax/qxml_p.h 2016-10-16 08:40:04.441725330 -0500 +@@ -217,7 +217,7 @@ private: + // for the DTD currently being parsed. + static const int dtdRecursionLimit = 2; + // The maximum amount of characters an entity value may contain, after expansion. +- static const int entityCharacterLimit = 1024; ++ static const int entityCharacterLimit = 65536; + + const QString &string(); + void stringClear(); diff --git a/qtbase-opensource-src-5.6.2-arm.patch b/qtbase-opensource-src-5.6.2-arm.patch new file mode 100644 index 0000000..90483e5 --- /dev/null +++ b/qtbase-opensource-src-5.6.2-arm.patch @@ -0,0 +1,13 @@ +diff -up qtbase-opensource-src-5.6.2/configure.arm qtbase-opensource-src-5.6.2/configure +--- qtbase-opensource-src-5.6.2/configure.arm 2016-09-16 00:49:42.000000000 -0500 ++++ qtbase-opensource-src-5.6.2/configure 2016-10-16 08:41:20.583267295 -0500 +@@ -4373,6 +4373,9 @@ if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; th + else + # not cross compiling, host == target + CFG_HOST_ARCH="$CFG_ARCH" ++ if [ "$CFG_ARCH" = "arm" ] ; then ++ CFG_CPUFEATURES="neon" ++ fi + CFG_HOST_CPUFEATURES="$CFG_CPUFEATURES" + fi + unset OUTFILE diff --git a/moc-get-the-system-defines-from-the-compiler-itself.patch b/qtbase-opensource-src-5.6.2-moc_system_defines.patch similarity index 75% rename from moc-get-the-system-defines-from-the-compiler-itself.patch rename to qtbase-opensource-src-5.6.2-moc_system_defines.patch index 3912cc7..b718b60 100644 --- a/moc-get-the-system-defines-from-the-compiler-itself.patch +++ b/qtbase-opensource-src-5.6.2-moc_system_defines.patch @@ -1,39 +1,6 @@ -From fa0d02eedcacc22db1026b902801b29176755362 Mon Sep 17 00:00:00 2001 -From: Thiago Macieira <thiago.macieira@intel.com> -Date: Fri, 21 Aug 2015 17:08:19 -0700 -Subject: [PATCH] moc: get the system #defines from the compiler itself - -In order for moc to properly parse #ifdefs and family, we've had -QMAKE_COMPILER_DEFINES as a list of pre-defined macros from the -compiler. That list is woefully incomplete. - -Instead, let's simply ask the compiler for the list. With GCC and -family, we use the -dM flag while preprocessing. With ICC on Windows, -the flag gains an extra "Q" but is otherwise the same. For MSVC, it -requires using some undocumented switches and parsing environment -variables (I've tested MSVC 2012, 2013 and 2015). - -The new moc option is called --include to be similar to GCC's -include -option. It does more than just parse a list of pre-defined macros and -can be used to insert any sort of code that moc needs to parse prior to -the main file. - -Change-Id: I7de033f80b0e4431b7f1ffff13fca02dbb60a0a6 ---- - mkspecs/features/moc.prf | 31 +++++++++++++-- - qmake/main.cpp | 38 +++++++++++++++++++ - src/tools/moc/main.cpp | 16 +++++++- - src/tools/moc/preprocessor.cpp | 60 +++++++++++++++++------------- - src/tools/moc/preprocessor.h | 1 + - tests/auto/tools/moc/subdir/extradefines.h | 1 + - tests/auto/tools/moc/tst_moc.cpp | 42 +++++++++++++++++++++ - 7 files changed, 158 insertions(+), 31 deletions(-) - create mode 100644 tests/auto/tools/moc/subdir/extradefines.h - -diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf -index c0b5682..af885c3 100644 ---- a/mkspecs/features/moc.prf -+++ b/mkspecs/features/moc.prf +diff -up qtbase-opensource-src-5.6.2/mkspecs/features/moc.prf.moc_system_defines qtbase-opensource-src-5.6.2/mkspecs/features/moc.prf +--- qtbase-opensource-src-5.6.2/mkspecs/features/moc.prf.moc_system_defines 2016-09-16 00:49:42.000000000 -0500 ++++ qtbase-opensource-src-5.6.2/mkspecs/features/moc.prf 2016-10-16 08:42:20.561694271 -0500 @@ -24,8 +24,25 @@ win32:count(MOC_INCLUDEPATH, 40, >) { write_file($$absolute_path($$WIN_INCLUDETEMP, $$OUT_PWD), WIN_INCLUDETEMP_CONT)|error("Aborting.") } @@ -76,7 +43,7 @@ index c0b5682..af885c3 100644 return($$RET) } -@@ -46,7 +69,7 @@ moc_header.output = $$MOC_DIR/$${QMAKE_H_MOD_MOC}${QMAKE_FILE_BASE}$${first(QMAK +@@ -46,7 +69,7 @@ moc_header.output = $$MOC_DIR/$${QMAKE_H moc_header.input = HEADERS moc_header.variable_out = SOURCES moc_header.name = MOC ${QMAKE_FILE_IN} @@ -85,7 +52,7 @@ index c0b5682..af885c3 100644 silent:moc_header.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_header.commands QMAKE_EXTRA_COMPILERS += moc_header INCREDIBUILD_XGE += moc_header -@@ -58,7 +81,7 @@ moc_source.commands = ${QMAKE_FUNC_mocCmdBase} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_ +@@ -58,7 +81,7 @@ moc_source.commands = ${QMAKE_FUNC_mocCm moc_source.output = $$MOC_DIR/$${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_EXT_CPP_MOC} moc_source.input = SOURCES OBJECTIVE_SOURCES moc_source.name = MOC ${QMAKE_FILE_IN} @@ -94,10 +61,9 @@ index c0b5682..af885c3 100644 silent:moc_source.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_source.commands QMAKE_EXTRA_COMPILERS += moc_source INCREDIBUILD_XGE += moc_source -diff --git a/qmake/main.cpp b/qmake/main.cpp -index bde537d..e9b8bde 100644 ---- a/qmake/main.cpp -+++ b/qmake/main.cpp +diff -up qtbase-opensource-src-5.6.2/qmake/main.cpp.moc_system_defines qtbase-opensource-src-5.6.2/qmake/main.cpp +--- qtbase-opensource-src-5.6.2/qmake/main.cpp.moc_system_defines 2016-09-16 00:49:42.000000000 -0500 ++++ qtbase-opensource-src-5.6.2/qmake/main.cpp 2016-10-16 08:42:20.561694271 -0500 @@ -1,6 +1,7 @@ /**************************************************************************** ** @@ -117,7 +83,7 @@ index bde537d..e9b8bde 100644 QT_BEGIN_NAMESPACE #ifdef Q_OS_WIN -@@ -246,6 +251,30 @@ static int doInstall(int argc, char **argv) +@@ -246,6 +251,30 @@ static int doInstall(int argc, char **ar return 3; } @@ -164,11 +130,10 @@ index bde537d..e9b8bde 100644 #endif QMakeVfs vfs; -diff --git a/src/tools/moc/main.cpp b/src/tools/moc/main.cpp -index a5cbad7..d06335d 100644 ---- a/src/tools/moc/main.cpp -+++ b/src/tools/moc/main.cpp -@@ -259,6 +259,11 @@ int runMoc(int argc, char **argv) +diff -up qtbase-opensource-src-5.6.2/src/tools/moc/main.cpp.moc_system_defines qtbase-opensource-src-5.6.2/src/tools/moc/main.cpp +--- qtbase-opensource-src-5.6.2/src/tools/moc/main.cpp.moc_system_defines 2016-10-16 08:42:20.558694249 -0500 ++++ qtbase-opensource-src-5.6.2/src/tools/moc/main.cpp 2016-10-16 08:42:20.562694278 -0500 +@@ -263,6 +263,11 @@ int runMoc(int argc, char **argv) prependIncludeOption.setValueName(QStringLiteral("file")); parser.addOption(prependIncludeOption); @@ -180,7 +145,7 @@ index a5cbad7..d06335d 100644 QCommandLineOption noNotesWarningsCompatOption(QStringLiteral("n")); noNotesWarningsCompatOption.setDescription(QStringLiteral("Do not display notes (-nn) or warnings (-nw). Compatibility option.")); noNotesWarningsCompatOption.setValueName(QStringLiteral("which")); -@@ -406,7 +411,16 @@ int runMoc(int argc, char **argv) +@@ -412,7 +417,16 @@ int runMoc(int argc, char **argv) moc.includes = pp.includes; // 1. preprocess @@ -198,11 +163,10 @@ index a5cbad7..d06335d 100644 if (!pp.preprocessOnly) { // 2. parse -diff --git a/src/tools/moc/preprocessor.cpp b/src/tools/moc/preprocessor.cpp -index d036c40..70cf14a 100644 ---- a/src/tools/moc/preprocessor.cpp -+++ b/src/tools/moc/preprocessor.cpp -@@ -1001,6 +1001,37 @@ static void mergeStringLiterals(Symbols *_symbols) +diff -up qtbase-opensource-src-5.6.2/src/tools/moc/preprocessor.cpp.moc_system_defines qtbase-opensource-src-5.6.2/src/tools/moc/preprocessor.cpp +--- qtbase-opensource-src-5.6.2/src/tools/moc/preprocessor.cpp.moc_system_defines 2016-09-16 00:49:42.000000000 -0500 ++++ qtbase-opensource-src-5.6.2/src/tools/moc/preprocessor.cpp 2016-10-16 08:42:20.562694278 -0500 +@@ -1007,6 +1007,37 @@ static void mergeStringLiterals(Symbols } } @@ -240,7 +204,7 @@ index d036c40..70cf14a 100644 void Preprocessor::preprocess(const QByteArray &filename, Symbols &preprocessed) { currentFilenames.push(filename); -@@ -1021,33 +1052,9 @@ void Preprocessor::preprocess(const QByteArray &filename, Symbols &preprocessed) +@@ -1027,33 +1058,9 @@ void Preprocessor::preprocess(const QByt continue; until(PP_NEWLINE); @@ -276,7 +240,7 @@ index d036c40..70cf14a 100644 if (Preprocessor::preprocessedIncludes.contains(include)) continue; -@@ -1202,6 +1209,7 @@ Symbols Preprocessor::preprocessed(const QByteArray &filename, QFile *file) +@@ -1208,6 +1215,7 @@ Symbols Preprocessor::preprocessed(const input = cleaned(input); // phase 2: tokenize for the preprocessor @@ -284,10 +248,9 @@ index d036c40..70cf14a 100644 symbols = tokenize(input); #if 0 -diff --git a/src/tools/moc/preprocessor.h b/src/tools/moc/preprocessor.h -index 9c81f86..d876caf 100644 ---- a/src/tools/moc/preprocessor.h -+++ b/src/tools/moc/preprocessor.h +diff -up qtbase-opensource-src-5.6.2/src/tools/moc/preprocessor.h.moc_system_defines qtbase-opensource-src-5.6.2/src/tools/moc/preprocessor.h +--- qtbase-opensource-src-5.6.2/src/tools/moc/preprocessor.h.moc_system_defines 2016-09-16 00:49:42.000000000 -0500 ++++ qtbase-opensource-src-5.6.2/src/tools/moc/preprocessor.h 2016-10-16 08:42:20.562694278 -0500 @@ -67,6 +67,7 @@ public: QList<QByteArray> frameworks; QSet<QByteArray> preprocessedIncludes; @@ -296,18 +259,15 @@ index 9c81f86..d876caf 100644 Symbols preprocessed(const QByteArray &filename, QFile *device); void parseDefineArguments(Macro *m); -diff --git a/tests/auto/tools/moc/subdir/extradefines.h b/tests/auto/tools/moc/subdir/extradefines.h -new file mode 100644 -index 0000000..e7888ce ---- /dev/null -+++ b/tests/auto/tools/moc/subdir/extradefines.h +diff -up qtbase-opensource-src-5.6.2/tests/auto/tools/moc/subdir/extradefines.h.moc_system_defines qtbase-opensource-src-5.6.2/tests/auto/tools/moc/subdir/extradefines.h +--- qtbase-opensource-src-5.6.2/tests/auto/tools/moc/subdir/extradefines.h.moc_system_defines 2016-10-16 08:42:20.562694278 -0500 ++++ qtbase-opensource-src-5.6.2/tests/auto/tools/moc/subdir/extradefines.h 2016-10-16 08:42:20.562694278 -0500 @@ -0,0 +1 @@ +#define FOO 1 -diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp -index fa1b68b..1d6a911 100644 ---- a/tests/auto/tools/moc/tst_moc.cpp -+++ b/tests/auto/tools/moc/tst_moc.cpp -@@ -552,6 +552,8 @@ private slots: +diff -up qtbase-opensource-src-5.6.2/tests/auto/tools/moc/tst_moc.cpp.moc_system_defines qtbase-opensource-src-5.6.2/tests/auto/tools/moc/tst_moc.cpp +--- qtbase-opensource-src-5.6.2/tests/auto/tools/moc/tst_moc.cpp.moc_system_defines 2016-09-16 00:49:42.000000000 -0500 ++++ qtbase-opensource-src-5.6.2/tests/auto/tools/moc/tst_moc.cpp 2016-10-16 08:42:20.562694278 -0500 +@@ -581,6 +581,8 @@ private slots: void frameworkSearchPath(); void cstyleEnums(); void defineMacroViaCmdline(); @@ -316,10 +276,20 @@ index fa1b68b..1d6a911 100644 void specifyMetaTagsFromCmdline(); void invokable(); void singleFunctionKeywordSignalAndSlot(); -@@ -1219,6 +1221,46 @@ void tst_Moc::defineMacroViaCmdline() - #endif - } +@@ -1248,6 +1250,46 @@ void tst_Moc::defineMacroViaCmdline() + args << m_sourceDirectory + QStringLiteral("/macro-on-cmdline.h"); + proc.start(m_moc, args); ++ QVERIFY(proc.waitForFinished()); ++ QCOMPARE(proc.exitCode(), 0); ++ QCOMPARE(proc.readAllStandardError(), QByteArray()); ++ QByteArray mocOut = proc.readAllStandardOutput(); ++ QVERIFY(!mocOut.isEmpty()); ++#else ++ QSKIP("Only tested on linux/gcc"); ++#endif ++} ++ +void tst_Moc::defineMacroViaForcedInclude() +{ +#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(QT_NO_PROCESS) @@ -350,19 +320,6 @@ index fa1b68b..1d6a911 100644 + args << m_sourceDirectory + QStringLiteral("/macro-on-cmdline.h"); + + proc.start(m_moc, args); -+ QVERIFY(proc.waitForFinished()); -+ QCOMPARE(proc.exitCode(), 0); -+ QCOMPARE(proc.readAllStandardError(), QByteArray()); -+ QByteArray mocOut = proc.readAllStandardOutput(); -+ QVERIFY(!mocOut.isEmpty()); -+#else -+ QSKIP("Only tested on linux/gcc"); -+#endif -+} -+ - // tst_Moc::specifyMetaTagsFromCmdline() - // plugin_metadata.h contains a plugin which we register here. Since we're not building this - // application as a plugin, we need top copy some of the initializer code found in qplugin.h: --- -1.9.3 - + QVERIFY(proc.waitForFinished()); + QCOMPARE(proc.exitCode(), 0); + QCOMPARE(proc.readAllStandardError(), QByteArray()); From 8d54bf0fcb9d1fad77a179308e1dc226b6e3edda Mon Sep 17 00:00:00 2001 From: Rex Dieter <rdieter@math.unl.edu> Date: Wed, 16 Nov 2016 10:46:45 -0600 Subject: [PATCH 5/6] +qt5-srpm-macros --- macros.qt5-srpm | 9 +++++++++ qt5-qtbase.spec | 15 ++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 macros.qt5-srpm diff --git a/macros.qt5-srpm b/macros.qt5-srpm new file mode 100644 index 0000000..632755c --- /dev/null +++ b/macros.qt5-srpm @@ -0,0 +1,9 @@ + +# # the architectures theoretically supported by the version of V8 used (#1298011) +# # You may need some minor patching to build on one of the secondary +# # architectures, e.g., to add to the Qt -> Chromium -> V8 arch translations. +# # If you cannot get this package to build on your secondary architecure, please: +# # * remove your architecture from this list AND +# # * put #1298011 onto your ExcludeArch tracker. +%qt5_qtwebengine_arches %{ix86} x86_64 %{arm} aarch64 mips mipsel mips64el + diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index b81e87c..2ccdec0 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -100,6 +100,7 @@ Patch61: qt5-qtbase-cxxflag.patch # macros, be mindful to keep sync'd with macros.qt5 Source10: macros.qt5 +Source11: macros.qt5-srpm %define _qt5 %{name} %define _qt5_prefix %{_libdir}/qt5 %define _qt5_archdatadir %{_libdir}/qt5 @@ -352,6 +353,12 @@ BuildArch: noarch %description -n qt5-rpm-macros RPM macros for building Qt5 packages. +%package -n qt5-srpm-macros +Summary: RPM macros for source Qt5 packages +BuildArch: noarch +%description -n qt5-srpm-macros +%{summary}. + %prep %setup -q -n %{qt_module}-opensource-src-%{version}%{?prerelease:-%{prerelease}} @@ -543,6 +550,9 @@ sed -i \ -e "s|@@QT5_RPM_OPT_FLAGS@@|%{?qt5_rpm_opt_flags} %{?qt5_null_flag}|g" \ %{buildroot}%{rpm_macros_dir}/macros.qt5 +install -p -m644 -D %{SOURCE11} \ + %{buildroot}%{rpm_macros_dir}/macros.qt5-srpm + # create/own dirs mkdir -p %{buildroot}{%{_qt5_archdatadir}/mkspecs/modules,%{_qt5_importdir},%{_qt5_libexecdir},%{_qt5_plugindir}/{designer,iconengines,script,styles},%{_qt5_translationdir}} mkdir -p %{buildroot}%{_sysconfdir}/xdg/QtProject @@ -958,10 +968,13 @@ fi %files -n qt5-rpm-macros %{rpm_macros_dir}/macros.qt5 +%files -n qt5-srpm-macros +%{rpm_macros_dir}/macros.qt5-srpm + %changelog * Sun Oct 16 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.2-1 -- 5.6.2 +- 5.6.2, +qt5-srpm-macros * Tue Sep 27 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.1-5 - cmake3 available only in epel From edeff1b64020faeb72357436bcd514932ce08641 Mon Sep 17 00:00:00 2001 From: Rex Dieter <rdieter@math.unl.edu> Date: Wed, 16 Nov 2016 11:11:34 -0600 Subject: [PATCH 6/6] Revert "+qt5-srpm-macros" This reverts commit 8d54bf0fcb9d1fad77a179308e1dc226b6e3edda. Generating this from qt5 module instead --- macros.qt5-srpm | 9 --------- qt5-qtbase.spec | 15 +-------------- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 macros.qt5-srpm diff --git a/macros.qt5-srpm b/macros.qt5-srpm deleted file mode 100644 index 632755c..0000000 --- a/macros.qt5-srpm +++ /dev/null @@ -1,9 +0,0 @@ - -# # the architectures theoretically supported by the version of V8 used (#1298011) -# # You may need some minor patching to build on one of the secondary -# # architectures, e.g., to add to the Qt -> Chromium -> V8 arch translations. -# # If you cannot get this package to build on your secondary architecure, please: -# # * remove your architecture from this list AND -# # * put #1298011 onto your ExcludeArch tracker. -%qt5_qtwebengine_arches %{ix86} x86_64 %{arm} aarch64 mips mipsel mips64el - diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 2ccdec0..b81e87c 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -100,7 +100,6 @@ Patch61: qt5-qtbase-cxxflag.patch # macros, be mindful to keep sync'd with macros.qt5 Source10: macros.qt5 -Source11: macros.qt5-srpm %define _qt5 %{name} %define _qt5_prefix %{_libdir}/qt5 %define _qt5_archdatadir %{_libdir}/qt5 @@ -353,12 +352,6 @@ BuildArch: noarch %description -n qt5-rpm-macros RPM macros for building Qt5 packages. -%package -n qt5-srpm-macros -Summary: RPM macros for source Qt5 packages -BuildArch: noarch -%description -n qt5-srpm-macros -%{summary}. - %prep %setup -q -n %{qt_module}-opensource-src-%{version}%{?prerelease:-%{prerelease}} @@ -550,9 +543,6 @@ sed -i \ -e "s|@@QT5_RPM_OPT_FLAGS@@|%{?qt5_rpm_opt_flags} %{?qt5_null_flag}|g" \ %{buildroot}%{rpm_macros_dir}/macros.qt5 -install -p -m644 -D %{SOURCE11} \ - %{buildroot}%{rpm_macros_dir}/macros.qt5-srpm - # create/own dirs mkdir -p %{buildroot}{%{_qt5_archdatadir}/mkspecs/modules,%{_qt5_importdir},%{_qt5_libexecdir},%{_qt5_plugindir}/{designer,iconengines,script,styles},%{_qt5_translationdir}} mkdir -p %{buildroot}%{_sysconfdir}/xdg/QtProject @@ -968,13 +958,10 @@ fi %files -n qt5-rpm-macros %{rpm_macros_dir}/macros.qt5 -%files -n qt5-srpm-macros -%{rpm_macros_dir}/macros.qt5-srpm - %changelog * Sun Oct 16 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.2-1 -- 5.6.2, +qt5-srpm-macros +- 5.6.2 * Tue Sep 27 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.1-5 - cmake3 available only in epel