From efb85b9bff52947d9675fe7f8e89260154f35479 Mon Sep 17 00:00:00 2001 From: Kevin Kofler Date: Sun, 26 Mar 2017 18:52:22 +0200 Subject: [PATCH] Update to 5.8.0 - Really debootstrap :-P --- .gitignore | 1 + ...r-add-missing-out-of-line-destructor.patch | 45 --- qt5-qtbase-5.7.1-firebird.patch | 45 --- qt5-qtbase-5.7.1-libpng.patch | 33 -- qt5-qtbase-5.8-QTBUG-55583.patch | 38 -- qt5-qtbase-5.8-QTBUG-56140.patch | 48 --- qt5-qtbase-5.8.0-firebird.patch | 37 ++ qt5-qtbase.spec | 131 +++---- qtbase-hidpi_scale_at_192.patch | 9 +- qtbase-opensource-src-5.6.0-arm.patch | 13 - ...pensource-src-5.7.1-QT_VERSION_CHECK.patch | 12 - ...nsource-src-5.7.1-moc_system_defines.patch | 331 ------------------ ...pensource-src-5.8.0-QT_VERSION_CHECK.patch | 11 + sources | 2 +- 14 files changed, 125 insertions(+), 631 deletions(-) delete mode 100644 0053-QMimeXMLProvider-add-missing-out-of-line-destructor.patch delete mode 100644 qt5-qtbase-5.7.1-firebird.patch delete mode 100644 qt5-qtbase-5.7.1-libpng.patch delete mode 100644 qt5-qtbase-5.8-QTBUG-55583.patch delete mode 100644 qt5-qtbase-5.8-QTBUG-56140.patch create mode 100644 qt5-qtbase-5.8.0-firebird.patch delete mode 100644 qtbase-opensource-src-5.6.0-arm.patch delete mode 100644 qtbase-opensource-src-5.7.1-QT_VERSION_CHECK.patch delete mode 100644 qtbase-opensource-src-5.7.1-moc_system_defines.patch create mode 100644 qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch diff --git a/.gitignore b/.gitignore index 852757c..1ed676a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /qtbase-opensource-src-5.6.1.tar.xz /qtbase-opensource-src-5.7.0.tar.xz /qtbase-opensource-src-5.7.1.tar.xz +/qtbase-opensource-src-5.8.0.tar.xz diff --git a/0053-QMimeXMLProvider-add-missing-out-of-line-destructor.patch b/0053-QMimeXMLProvider-add-missing-out-of-line-destructor.patch deleted file mode 100644 index af69c01..0000000 --- a/0053-QMimeXMLProvider-add-missing-out-of-line-destructor.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 7740f5e98b2f3ab5d9c1f512d1a89e9e1b64434d Mon Sep 17 00:00:00 2001 -From: J-P Nurmi -Date: Thu, 13 Oct 2016 13:04:33 +0200 -Subject: [PATCH 053/233] QMimeXMLProvider: add missing out-of-line destructor - -Fixes build with the latest GCC 7. - -Change-Id: I4900a256ed1c6cb177d7f94d54e5b07c06ddad08 -Task-number: QTBUG-56514 -Reviewed-by: Marc Mutz ---- - src/corelib/mimetypes/qmimeprovider.cpp | 4 ++++ - src/corelib/mimetypes/qmimeprovider_p.h | 1 + - 2 files changed, 5 insertions(+) - -diff --git a/src/corelib/mimetypes/qmimeprovider.cpp b/src/corelib/mimetypes/qmimeprovider.cpp -index fbd14e2..aa8d8c9 100644 ---- a/src/corelib/mimetypes/qmimeprovider.cpp -+++ b/src/corelib/mimetypes/qmimeprovider.cpp -@@ -706,6 +706,10 @@ QMimeXMLProvider::QMimeXMLProvider(QMimeDatabasePrivate *db) - initResources(); - } - -+QMimeXMLProvider::~QMimeXMLProvider() -+{ -+} -+ - bool QMimeXMLProvider::isValid() - { - return true; -diff --git a/src/corelib/mimetypes/qmimeprovider_p.h b/src/corelib/mimetypes/qmimeprovider_p.h -index c0517d6..8eba71e 100644 ---- a/src/corelib/mimetypes/qmimeprovider_p.h -+++ b/src/corelib/mimetypes/qmimeprovider_p.h -@@ -132,6 +132,7 @@ class QMimeXMLProvider : public QMimeProviderBase - { - public: - QMimeXMLProvider(QMimeDatabasePrivate *db); -+ ~QMimeXMLProvider(); - - virtual bool isValid() Q_DECL_OVERRIDE; - virtual QMimeType mimeTypeForName(const QString &name) Q_DECL_OVERRIDE; --- -2.9.3 - diff --git a/qt5-qtbase-5.7.1-firebird.patch b/qt5-qtbase-5.7.1-firebird.patch deleted file mode 100644 index dec14a7..0000000 --- a/qt5-qtbase-5.7.1-firebird.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up qtbase-opensource-src-5.7.1/config.tests/unix/ibase/ibase.cpp.than qtbase-opensource-src-5.7.1/config.tests/unix/ibase/ibase.cpp ---- qtbase-opensource-src-5.7.1/config.tests/unix/ibase/ibase.cpp.than 2016-11-28 11:53:02.621749003 -0500 -+++ qtbase-opensource-src-5.7.1/config.tests/unix/ibase/ibase.cpp 2016-11-28 11:53:17.072001489 -0500 -@@ -37,7 +37,7 @@ - ** - ****************************************************************************/ - --#include -+#include - - int main(int, char **) - { -diff -up qtbase-opensource-src-5.7.1/config.tests/unix/ibase/ibase.pro.than qtbase-opensource-src-5.7.1/config.tests/unix/ibase/ibase.pro ---- qtbase-opensource-src-5.7.1/config.tests/unix/ibase/ibase.pro.than 2016-11-29 08:00:35.270039482 -0500 -+++ qtbase-opensource-src-5.7.1/config.tests/unix/ibase/ibase.pro 2016-11-29 08:00:41.280142713 -0500 -@@ -1,3 +1,3 @@ - SOURCES = ibase.cpp - CONFIG -= qt dylib --LIBS += -lgds -+LIBS += -lfbclient -diff -up qtbase-opensource-src-5.7.1/src/plugins/sqldrivers/ibase/ibase.pro.than qtbase-opensource-src-5.7.1/src/plugins/sqldrivers/ibase/ibase.pro -diff -up qtbase-opensource-src-5.7.1/src/sql/drivers/ibase/qsql_ibase.pri.than qtbase-opensource-src-5.7.1/src/sql/drivers/ibase/qsql_ibase.pri ---- qtbase-opensource-src-5.7.1/src/sql/drivers/ibase/qsql_ibase.pri.than 2016-11-29 08:04:26.344004252 -0500 -+++ qtbase-opensource-src-5.7.1/src/sql/drivers/ibase/qsql_ibase.pri 2016-11-29 08:04:56.684523066 -0500 -@@ -2,7 +2,7 @@ HEADERS += $$PWD/qsql_ibase_p.h - SOURCES += $$PWD/qsql_ibase.cpp - - unix { -- !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lgds -+ !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lfbclient - } else { - !contains(LIBS, .*gds.*):!contains(LIBS, .*fbclient.*) { - LIBS += -lgds32_ms -diff -up qtbase-opensource-src-5.7.1/src/sql/drivers/ibase/qsql_ibase_p.h.than qtbase-opensource-src-5.7.1/src/sql/drivers/ibase/qsql_ibase_p.h ---- qtbase-opensource-src-5.7.1/src/sql/drivers/ibase/qsql_ibase_p.h.than 2016-11-29 08:27:25.917767879 -0500 -+++ qtbase-opensource-src-5.7.1/src/sql/drivers/ibase/qsql_ibase_p.h 2016-11-29 08:27:53.338244987 -0500 -@@ -52,7 +52,7 @@ - // - - #include --#include -+#include - - #ifdef QT_PLUGIN - #define Q_EXPORT_SQLDRIVER_IBASE diff --git a/qt5-qtbase-5.7.1-libpng.patch b/qt5-qtbase-5.7.1-libpng.patch deleted file mode 100644 index f479d1c..0000000 --- a/qt5-qtbase-5.7.1-libpng.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- qtbase-opensource-src-5.7.1/src/src.pro.orig 2016-10-05 19:33:26.000000000 +0200 -+++ qtbase-opensource-src-5.7.1/src/src.pro 2016-11-09 12:31:35.781935319 +0100 -@@ -135,8 +135,10 @@ - contains(QT_CONFIG, zlib)|cross_compile { - SUBDIRS += src_qtzlib - contains(QT_CONFIG, zlib) { -- src_3rdparty_libpng.depends += src_corelib -- src_3rdparty_freetype.depends += src_corelib -+ !contains(QT_CONFIG, system-png) { -+ src_3rdparty_libpng.depends += src_corelib -+ src_3rdparty_freetype.depends += src_corelib -+ } - } - } - SUBDIRS += src_tools_bootstrap src_tools_moc src_tools_rcc -@@ -167,10 +169,13 @@ - SUBDIRS += src_angle - src_gui.depends += src_angle - } -- contains(QT_CONFIG, png) { -- SUBDIRS += src_3rdparty_libpng -- src_3rdparty_freetype.depends += src_3rdparty_libpng -- src_gui.depends += src_3rdparty_libpng -+ -+ !contains(QT_CONFIG, system-png) { -+ contains(QT_CONFIG, png) { -+ SUBDIRS += src_3rdparty_libpng -+ src_3rdparty_freetype.depends += src_3rdparty_libpng -+ src_gui.depends += src_3rdparty_libpng -+ } - } - contains(QT_CONFIG, freetype) { - SUBDIRS += src_3rdparty_freetype diff --git a/qt5-qtbase-5.8-QTBUG-55583.patch b/qt5-qtbase-5.8-QTBUG-55583.patch deleted file mode 100644 index 67efee1..0000000 --- a/qt5-qtbase-5.8-QTBUG-55583.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 84ea00d47049d882f2fabf1446ec6c6eb5fe3038 Mon Sep 17 00:00:00 2001 -From: J-P Nurmi -Date: Tue, 6 Dec 2016 16:30:31 +0100 -Subject: [PATCH] QGtk3Dialog: don't crash on Wayland - -Check if it's an X11 window before calling XSetTransientForHint(). -No transient parent will be set for GTK+ dialogs on Wayland. That -has to be implemented separately. - -Task-number: QTBUG-55583 -Change-Id: Iabc2a72681c8157bb2f2fe500892853aa397106b -Reviewed-by: Dmitry Shachnev -Reviewed-by: Shawn Rutledge ---- - src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp b/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp -index ba5089a..699b058 100644 ---- a/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp -+++ b/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp -@@ -135,10 +135,12 @@ bool QGtk3Dialog::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWind - - GdkWindow *gdkWindow = gtk_widget_get_window(gtkWidget); - if (parent) { -- GdkDisplay *gdkDisplay = gdk_window_get_display(gdkWindow); -- XSetTransientForHint(gdk_x11_display_get_xdisplay(gdkDisplay), -- gdk_x11_window_get_xid(gdkWindow), -- parent->winId()); -+ if (GDK_IS_X11_WINDOW(gdkWindow)) { -+ GdkDisplay *gdkDisplay = gdk_window_get_display(gdkWindow); -+ XSetTransientForHint(gdk_x11_display_get_xdisplay(gdkDisplay), -+ gdk_x11_window_get_xid(gdkWindow), -+ parent->winId()); -+ } - } - - if (modality != Qt::NonModal) { diff --git a/qt5-qtbase-5.8-QTBUG-56140.patch b/qt5-qtbase-5.8-QTBUG-56140.patch deleted file mode 100644 index e3024f7..0000000 --- a/qt5-qtbase-5.8-QTBUG-56140.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up qtbase-opensource-src-5.7.1/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp.0295 qtbase-opensource-src-5.7.1/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp ---- qtbase-opensource-src-5.7.1/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp.0295 2017-02-09 07:41:56.976681266 -0600 -+++ qtbase-opensource-src-5.7.1/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp 2017-02-09 07:43:31.812667108 -0600 -@@ -222,7 +222,7 @@ QDpi QEGLDeviceIntegration::logicalDpi() - - qreal QEGLDeviceIntegration::pixelDensity() const - { -- return qRound(logicalDpi().first / qreal(100)); -+ return qMax(1, qRound(logicalDpi().first / qreal(100))); - } - - Qt::ScreenOrientation QEGLDeviceIntegration::nativeOrientation() const -diff -up qtbase-opensource-src-5.7.1/src/plugins/platforms/windows/qwindowsscreen.cpp.0295 qtbase-opensource-src-5.7.1/src/plugins/platforms/windows/qwindowsscreen.cpp ---- qtbase-opensource-src-5.7.1/src/plugins/platforms/windows/qwindowsscreen.cpp.0295 2016-12-01 02:17:04.000000000 -0600 -+++ qtbase-opensource-src-5.7.1/src/plugins/platforms/windows/qwindowsscreen.cpp 2017-02-09 07:41:56.976681266 -0600 -@@ -264,7 +264,7 @@ qreal QWindowsScreen::pixelDensity() con - // the pixel density since it is reflects the Windows UI scaling. - // High DPI auto scaling should be disabled when the user chooses - // small fonts on a High DPI monitor, resulting in lower logical DPI. -- return qRound(logicalDpi().first / 96); -+ return qMax(1, qRound(logicalDpi().first / 96)); - } - - /*! -diff -up qtbase-opensource-src-5.7.1/src/plugins/platforms/winrt/qwinrtscreen.cpp.0295 qtbase-opensource-src-5.7.1/src/plugins/platforms/winrt/qwinrtscreen.cpp ---- qtbase-opensource-src-5.7.1/src/plugins/platforms/winrt/qwinrtscreen.cpp.0295 2016-12-01 02:17:04.000000000 -0600 -+++ qtbase-opensource-src-5.7.1/src/plugins/platforms/winrt/qwinrtscreen.cpp 2017-02-09 07:41:56.976681266 -0600 -@@ -644,7 +644,7 @@ QDpi QWinRTScreen::logicalDpi() const - qreal QWinRTScreen::pixelDensity() const - { - Q_D(const QWinRTScreen); -- return qRound(d->logicalDpi / 96); -+ return qMax(1, qRound(d->logicalDpi / 96)); - } - - qreal QWinRTScreen::scaleFactor() const -diff -up qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp.0295 qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp ---- qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp.0295 2016-12-01 02:17:04.000000000 -0600 -+++ qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp 2017-02-09 07:41:56.977681276 -0600 -@@ -633,7 +633,7 @@ void QXcbScreen::updateGeometry(const QR - m_sizeMillimeters = sizeInMillimeters(xGeometry.size(), virtualDpi()); - - qreal dpi = xGeometry.width() / physicalSize().width() * qreal(25.4); -- m_pixelDensity = qRound(dpi/96); -+ m_pixelDensity = qMax(1, qRound(dpi/96)); - m_geometry = QRect(xGeometry.topLeft(), xGeometry.size()); - m_availableGeometry = xGeometry & m_virtualDesktop->workArea(); - QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry); diff --git a/qt5-qtbase-5.8.0-firebird.patch b/qt5-qtbase-5.8.0-firebird.patch new file mode 100644 index 0000000..75c0861 --- /dev/null +++ b/qt5-qtbase-5.8.0-firebird.patch @@ -0,0 +1,37 @@ +diff -r -u a/config.tests/unix/ibase/ibase.cpp b/config.tests/unix/ibase/ibase.cpp +--- a/config.tests/unix/ibase/ibase.cpp 2017-01-18 15:20:58.000000000 +0100 ++++ b/config.tests/unix/ibase/ibase.cpp 2017-01-27 11:19:39.894994134 +0100 +@@ -37,7 +37,7 @@ + ** + ****************************************************************************/ + +-#include ++#include + + int main(int, char **) + { +diff -r -u a/src/plugins/sqldrivers/ibase/qsql_ibase_p.h b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h +--- a/src/plugins/sqldrivers/ibase/qsql_ibase_p.h 2017-01-18 15:20:58.000000000 +0100 ++++ b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h 2017-01-27 11:29:10.169983782 +0100 +@@ -52,7 +52,7 @@ + // + + #include +-#include ++#include + + #ifdef QT_PLUGIN + #define Q_EXPORT_SQLDRIVER_IBASE +diff -r -u a/src/sql/configure.json b/src/sql/configure.json +--- a/src/sql/configure.json 2017-01-18 15:20:58.000000000 +0100 ++++ b/src/sql/configure.json 2017-01-27 11:23:31.186794680 +0100 +@@ -51,7 +51,8 @@ + "test": "unix/ibase", + "sources": [ + { "libs": "-lgds32_ms", "condition": "config.win32" }, +- { "libs": "-lgds", "condition": "!config.win32" } ++ { "libs": "-lgds", "condition": "!config.win32" }, ++ { "libs": "-lfbclient", "condition": "!config.win32" } + ] + }, + "mysql": { diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 416a5d6..f3e3c68 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -24,12 +24,6 @@ # set to 1 to enable bootstrap %global bootstrap 0 -%if 0%{?fedora} > 25 || 0%{?rhel} > 7 -# set to 1 for openssl-1.1.x support -#global openssl11 1 -%global firebird3x 1 -%endif - %if 0%{?fedora} > 21 # use external qt_settings pkg %global qt_settings 1 @@ -65,13 +59,13 @@ BuildRequires: pkgconfig(libsystemd) Name: qt5-qtbase Summary: Qt5 - QtBase components -Version: 5.7.1 -Release: 15%{?dist} +Version: 5.8.0 +Release: 5%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions Url: http://qt-project.org/ -Source0: http://download.qt.io/official_releases/qt/5.7/%{version}/submodules/%{qt_module}-opensource-src-%{version}.tar.xz +Source0: http://download.qt.io/official_releases/qt/5.8/%{version}/submodules/%{qt_module}-opensource-src-%{version}.tar.xz # https://bugzilla.redhat.com/show_bug.cgi?id=1227295 Source1: qtlogging.ini @@ -95,7 +89,7 @@ Patch4: qtbase-opensource-src-5.3.2-QTBUG-35459.patch # upstreamable patches # namespace QT_VERSION_CHECK to workaround major/minor being pre-defined (#1396755) -Patch50: qtbase-opensource-src-5.7.1-QT_VERSION_CHECK.patch +Patch50: qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch # 1381828 - Broken window scaling for some QT5 applications (#1381828) # This patch moves the threshold for 2x scaling from the DPI of 144 to 192, @@ -108,36 +102,15 @@ Patch51: qtbase-hidpi_scale_at_192.patch # 2. Workaround sysmacros.h (pre)defining major/minor a breaking stuff Patch52: qtbase-opensource-src-5.7.1-moc_macros.patch -# arm patch -Patch54: qtbase-opensource-src-5.6.0-arm.patch - -# recently passed code review, now integrated into 5.8 branch -# https://codereview.qt-project.org/126102/ -Patch60: qtbase-opensource-src-5.7.1-moc_system_defines.patch - # drop -O3 and make -O2 by default Patch61: qt5-qtbase-cxxflag.patch -# Fix png system compilation -Patch62: qt5-qtbase-5.7.1-libpng.patch - # adapted from berolinux for fedora # https://github.com/patch-exchange/openssl-1.1-transition/blob/master/qt5-qtbase/qtbase-5.7.0-openssl-1.1.patch Patch63: qt5-qtbase-5.7.1-openssl11.patch # support firebird version 3.x -Patch64: qt5-qtbase-5.7.1-firebird.patch - -## upstream patches -## 5.8 branch -# https://bugzilla.redhat.com/show_bug.cgi?id=1403500 -# https://bugreports.qt.io/browse/QTBUG-55583 -Patch100: qt5-qtbase-5.8-QTBUG-55583.patch -# Ensure a pixel density of at least 1 for Qt::AA_EnableHighDpiScaling -# https://bugreports.qt.io/browse/QTBUG-56140 -Patch101: qt5-qtbase-5.8-QTBUG-56140.patch -# gcc7 FTBFS fix -Patch153: 0053-QMimeXMLProvider-add-missing-out-of-line-destructor.patch +Patch64: qt5-qtbase-5.8.0-firebird.patch # Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires. # Those themes are there for platform integration. If the required libraries are @@ -221,7 +194,7 @@ BuildRequires: libicu-devel BuildRequires: pkgconfig(xcb) pkgconfig(xcb-glx) pkgconfig(xcb-icccm) pkgconfig(xcb-image) pkgconfig(xcb-keysyms) pkgconfig(xcb-renderutil) BuildRequires: pkgconfig(zlib) BuildRequires: perl-generators -BuildRequires: qt5-rpm-macros >= %{version} +BuildRequires: qt5-rpm-macros >= 5.7.1 %if 0%{?tests} BuildRequires: dbus-x11 @@ -270,7 +243,7 @@ Requires: %{name}-gui%{?_isa} Requires: pkgconfig(egl) %endif Requires: pkgconfig(gl) -Requires: qt5-rpm-macros >= %{version} +Requires: qt5-rpm-macros >= 5.7.1 %if 0%{?use_clang} Requires: clang >= 3.7.0 %endif @@ -282,8 +255,7 @@ Requires: clang >= 3.7.0 Summary: API documentation for %{name} License: GFDL Requires: %{name} = %{version}-%{release} -BuildRequires: qt5-qhelpgenerator -BuildRequires: qt5-qdoc +BuildRequires: qt5-doctools BuildArch: noarch %description doc @@ -370,23 +342,15 @@ Qt5 libraries used for drawing widgets and OpenGL items. %setup -q -n %{qt_module}-opensource-src-%{version} %patch4 -p1 -b .QTBUG-35459 -%patch100 -p1 -b .QTBUG-55583 -%patch101 -p1 -b .QTBUG-56140 -%patch153 -p1 -b .0053 %patch50 -p1 -b .QT_VERSION_CHECK %patch51 -p1 -b .hidpi_scale_at_192 %patch52 -p1 -b .moc_macros -%patch54 -p1 -b .arm -%patch60 -p1 -b .moc_system_defines %patch61 -p1 -b .qt5-qtbase-cxxflag -%patch62 -p1 -b .libpng %if 0%{?openssl11} %patch63 -p1 -b .openssl11 %endif -%if 0%{?firebird3x} %patch64 -p1 -b .firebird -%endif %if 0%{?inject_optflags} ## adjust $RPM_OPT_FLAGS @@ -453,7 +417,8 @@ export CFLAGS="$CFLAGS $RPM_OPT_FLAGS -DOPENSSL_API_COMPAT=0x10100000L" export CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS -DOPENSSL_API_COMPAT=0x10100000L" %endif -./configure -v \ +./configure \ + -verbose \ -confirm-license \ -opensource \ -prefix %{_qt5_prefix} \ @@ -478,18 +443,15 @@ export CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS -DOPENSSL_API_COMPAT=0x10100000L" -glib \ -gtk \ %{?ibase} \ - -iconv \ -icu \ %{?journald} \ %{?openssl} \ - -optimized-qmake \ %{!?examples:-nomake examples} \ %{!?tests:-nomake tests} \ - -no-pch \ -no-rpath \ -no-separate-debug-info \ %ifarch %{ix86} - -no-sse2 \ + -no-sse2 -no-pch \ %endif -no-strip \ -system-libjpeg \ @@ -700,6 +662,7 @@ fi %{_qt5_libdir}/libQt5Sql.so.5* %{_qt5_libdir}/libQt5Test.so.5* %{_qt5_libdir}/libQt5Xml.so.5* +%{_qt5_libdir}/libQt5EglFSDeviceIntegration.so.5* %dir %{_qt5_libdir}/cmake/ %dir %{_qt5_libdir}/cmake/Qt5/ %dir %{_qt5_libdir}/cmake/Qt5Concurrent/ @@ -810,6 +773,8 @@ fi %{_qt5_headerdir}/QtTest/ %{_qt5_headerdir}/QtWidgets/ %{_qt5_headerdir}/QtXml/ +%{_qt5_headerdir}/QtEglFSDeviceIntegration +%{_qt5_headerdir}/QtInputSupport %{_qt5_archdatadir}/mkspecs/ %{_qt5_libdir}/libQt5Concurrent.prl %{_qt5_libdir}/libQt5Concurrent.so @@ -835,6 +800,8 @@ fi %{_qt5_libdir}/libQt5XcbQpa.so %{_qt5_libdir}/libQt5Xml.prl %{_qt5_libdir}/libQt5Xml.so +%{_qt5_libdir}/libQt5EglFSDeviceIntegration.prl +%{_qt5_libdir}/libQt5EglFSDeviceIntegration.so %{_qt5_libdir}/cmake/Qt5/Qt5Config*.cmake %{_qt5_libdir}/cmake/Qt5Concurrent/Qt5ConcurrentConfig*.cmake %{_qt5_libdir}/cmake/Qt5Core/Qt5CoreConfig*.cmake @@ -851,6 +818,7 @@ fi %{_qt5_libdir}/cmake/Qt5Widgets/Qt5WidgetsConfig*.cmake %{_qt5_libdir}/cmake/Qt5Widgets/Qt5WidgetsMacros.cmake %{_qt5_libdir}/cmake/Qt5Xml/Qt5XmlConfig*.cmake +%{_qt5_libdir}/cmake/Qt5/Qt5ModuleLocation.cmake %{_qt5_libdir}/pkgconfig/Qt5.pc %{_qt5_libdir}/pkgconfig/Qt5Concurrent.pc %{_qt5_libdir}/pkgconfig/Qt5Core.pc @@ -864,8 +832,9 @@ fi %{_qt5_libdir}/pkgconfig/Qt5Widgets.pc %{_qt5_libdir}/pkgconfig/Qt5Xml.pc %if 0%{?egl} -%{_qt5_libdir}/libQt5EglDeviceIntegration.prl -%{_qt5_libdir}/libQt5EglDeviceIntegration.so + +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QEglFSKmsEglDeviceIntegrationPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QVncIntegrationPlugin.cmake %{_qt5_libdir}/libQt5EglFsKmsSupport.prl %{_qt5_libdir}/libQt5EglFsKmsSupport.so %endif @@ -879,9 +848,41 @@ fi %{_qt5_libdir}/libQt5OpenGLExtensions.prl %{_qt5_libdir}/cmake/Qt5OpenGLExtensions/ %{_qt5_libdir}/pkgconfig/Qt5OpenGLExtensions.pc -%{_qt5_headerdir}/QtPlatformSupport/ -%{_qt5_libdir}/libQt5PlatformSupport.*a -%{_qt5_libdir}/libQt5PlatformSupport.prl +%{_qt5_libdir}/libQt5AccessibilitySupport.*a +%{_qt5_libdir}/libQt5AccessibilitySupport.prl +%{_qt5_headerdir}/QtAccessibilitySupport +%{_qt5_libdir}/libQt5DeviceDiscoverySupport.*a +%{_qt5_libdir}/libQt5DeviceDiscoverySupport.prl +%{_qt5_headerdir}/QtDeviceDiscoverySupport +%{_qt5_libdir}/libQt5EglSupport.*a +%{_qt5_libdir}/libQt5EglSupport.prl +%{_qt5_headerdir}/QtEglSupport +%{_qt5_libdir}/libQt5EventDispatcherSupport.*a +%{_qt5_libdir}/libQt5EventDispatcherSupport.prl +%{_qt5_headerdir}/QtEventDispatcherSupport +%{_qt5_libdir}/libQt5FbSupport.*a +%{_qt5_libdir}/libQt5FbSupport.prl +%{_qt5_headerdir}/QtFbSupport +%{_qt5_libdir}/libQt5FontDatabaseSupport.*a +%{_qt5_libdir}/libQt5FontDatabaseSupport.prl +%{_qt5_headerdir}/QtFontDatabaseSupport +%{_qt5_libdir}/libQt5GlxSupport.*a +%{_qt5_libdir}/libQt5GlxSupport.prl +%{_qt5_headerdir}/QtGlxSupport +%{_qt5_libdir}/libQt5InputSupport.*a +%{_qt5_libdir}/libQt5InputSupport.prl +%{_qt5_libdir}/libQt5LinuxAccessibilitySupport.*a +%{_qt5_libdir}/libQt5LinuxAccessibilitySupport.prl +%{_qt5_headerdir}/QtLinuxAccessibilitySupport +%{_qt5_libdir}/libQt5PlatformCompositorSupport.*a +%{_qt5_libdir}/libQt5PlatformCompositorSupport.prl +%{_qt5_headerdir}/QtPlatformCompositorSupport +%{_qt5_libdir}/libQt5ServiceSupport.*a +%{_qt5_libdir}/libQt5ServiceSupport.prl +%{_qt5_headerdir}/QtServiceSupport +%{_qt5_libdir}/libQt5ThemeSupport.*a +%{_qt5_libdir}/libQt5ThemeSupport.prl +%{_qt5_headerdir}/QtThemeSupport %if 0%{?examples} %files examples @@ -952,7 +953,6 @@ fi %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QComposePlatformInputContextPlugin.cmake %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QIbusPlatformInputContextPlugin.cmake %if 0%{?egl} -%{_qt5_libdir}/libQt5EglDeviceIntegration.so.5* %{_qt5_libdir}/libQt5EglFsKmsSupport.so.5* %{_qt5_plugindir}/platforms/libqeglfs.so %{_qt5_plugindir}/platforms/libqminimalegl.so @@ -966,12 +966,12 @@ fi %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QEglFSX11IntegrationPlugin.cmake %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QEglFSKmsGbmIntegrationPlugin.cmake %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXcbEglIntegrationPlugin.cmake -%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QEglFSKmsEglDeviceIntegrationPlugin.cmake %endif %{_qt5_plugindir}/platforms/libqlinuxfb.so %{_qt5_plugindir}/platforms/libqminimal.so %{_qt5_plugindir}/platforms/libqoffscreen.so %{_qt5_plugindir}/platforms/libqxcb.so +%{_qt5_plugindir}/platforms/libqvnc.so %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QLinuxFbIntegrationPlugin.cmake %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin.cmake %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QOffscreenIntegrationPlugin.cmake @@ -985,11 +985,22 @@ fi %changelog -* Fri Feb 17 2017 Rex Dieter - 5.7.1-15 -- gcc7 FTBFS fix (#1423090) +* Sat Jan 28 2017 Helio Chissini de Castro - 5.8.0-5 +- Really debootstrap :-P -* Thu Feb 09 2017 Rex Dieter - 5.7.1-14 -- 5.8 backport: Ensure a pixel density of at least 1 for Qt::AA_EnableHighDpiScaling (QTBUG-56140) +* Fri Jan 27 2017 Helio Chissini de Castro - 5.8.0-4 +- Debootstrap +- Use meta doctools package to build docs + +* Fri Jan 27 2017 Helio Chissini de Castro - 5.8.0-3 +- Unify firebird patch for both versions +- Bootstrap again for copr + +* Thu Jan 26 2017 Helio Chissini de Castro - 5.8.0-2 +- Debootstrap after tools built. New tool needed qtattributionsscanner + +* Thu Jan 26 2017 Helio Chissini de Castro - 5.8.0-1 +- Initial update for 5.8.0 * Tue Jan 24 2017 Rex Dieter - 5.7.1-13 - Broken window scaling (#1381828) diff --git a/qtbase-hidpi_scale_at_192.patch b/qtbase-hidpi_scale_at_192.patch index bd85294..123f1ae 100644 --- a/qtbase-hidpi_scale_at_192.patch +++ b/qtbase-hidpi_scale_at_192.patch @@ -1,12 +1,11 @@ -diff -up qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp.hidpi_scale_at_192 qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp ---- qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp.hidpi_scale_at_192 2017-02-09 07:47:26.060096259 -0600 -+++ qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp 2017-02-09 07:48:11.497567447 -0600 +--- qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp.orig 2017-01-11 11:42:59.544860428 +0100 ++++ qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp 2017-01-11 11:43:51.142956762 +0100 @@ -633,7 +633,7 @@ void QXcbScreen::updateGeometry(const QR m_sizeMillimeters = sizeInMillimeters(xGeometry.size(), virtualDpi()); qreal dpi = xGeometry.width() / physicalSize().width() * qreal(25.4); -- m_pixelDensity = qMax(1, qRound(dpi/96)); -+ m_pixelDensity = qMax(1, (int) (dpi/96)); // instead of rounding at 1.5, round at 2.0 (same as GNOME) +- m_pixelDensity = qRound(dpi/96); ++ m_pixelDensity = (int) (dpi/96); // instead of rounding at 1.5, round at 2.0 (same as GNOME) m_geometry = QRect(xGeometry.topLeft(), xGeometry.size()); m_availableGeometry = xGeometry & m_virtualDesktop->workArea(); QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry); 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.7.1-QT_VERSION_CHECK.patch b/qtbase-opensource-src-5.7.1-QT_VERSION_CHECK.patch deleted file mode 100644 index 1b3a0e9..0000000 --- a/qtbase-opensource-src-5.7.1-QT_VERSION_CHECK.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qtbase-opensource-src-5.7.1/src/corelib/global/qglobal.h.QT_VERSION_CHECK qtbase-opensource-src-5.7.1/src/corelib/global/qglobal.h ---- qtbase-opensource-src-5.7.1/src/corelib/global/qglobal.h.QT_VERSION_CHECK 2016-12-01 02:17:04.000000000 -0600 -+++ qtbase-opensource-src-5.7.1/src/corelib/global/qglobal.h 2016-12-08 12:19:41.165310158 -0600 -@@ -54,7 +54,7 @@ - /* - can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0)) - */ --#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) -+#define QT_VERSION_CHECK(qt_version_check_major, qt_version_check_minor, qt_version_check_patch) ((qt_version_check_major<<16)|(qt_version_check_minor<<8)|(qt_version_check_patch)) - - #if !defined(QT_BUILD_QMAKE) && !defined(QT_BUILD_CONFIGURE) - #include diff --git a/qtbase-opensource-src-5.7.1-moc_system_defines.patch b/qtbase-opensource-src-5.7.1-moc_system_defines.patch deleted file mode 100644 index a8acd8f..0000000 --- a/qtbase-opensource-src-5.7.1-moc_system_defines.patch +++ /dev/null @@ -1,331 +0,0 @@ -diff -up qtbase-opensource-src-5.7.1/mkspecs/features/moc.prf.moc_system_defines qtbase-opensource-src-5.7.1/mkspecs/features/moc.prf ---- qtbase-opensource-src-5.7.1/mkspecs/features/moc.prf.moc_system_defines 2016-12-01 02:17:04.000000000 -0600 -+++ qtbase-opensource-src-5.7.1/mkspecs/features/moc.prf 2016-12-09 10:24:12.463205987 -0600 -@@ -24,8 +24,25 @@ win32:count(MOC_INCLUDEPATH, 40, >) { - write_file($$absolute_path($$WIN_INCLUDETEMP, $$OUT_PWD), WIN_INCLUDETEMP_CONT)|error("Aborting.") - } - -+# QNX's compiler sets "gcc" config, but does not support the -dM option; -+# iOS builds are multi-arch, so this feature cannot possibly work. -+if(gcc|intel_icl|msvc):!rim_qcc:!ios { -+ moc_predefs.CONFIG = no_link -+ gcc: moc_predefs.commands = $$QMAKE_CXX $$QMAKE_CXXFLAGS -dM -E -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} -+ else:intel_icl: moc_predefs.commands = $$QMAKE_CXX $$QMAKE_CXXFLAGS -QdM -P -Fi${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} -+ else:msvc { -+ # make sure that our bin dir is first in path, so qmake is found -+ moc_predefs.commands = PATH $$shell_path($$[QT_INSTALL_BINS/src]);%PATH%& -+ moc_predefs.commands += $$QMAKE_CXX -Bxqmake $$QMAKE_CXXFLAGS -E ${QMAKE_FILE_IN} 2>NUL >${QMAKE_FILE_OUT} -+ } else: error("Oops, I messed up") -+ moc_predefs.output = $$MOC_DIR/moc_predefs.h -+ moc_predefs.input = MOC_PREDEF_FILE -+ silent: moc_predefs.commands = @echo generating $$moc_predefs.output$$escape_expand(\n\t)@$$moc_predefs.commands -+ QMAKE_EXTRA_COMPILERS += moc_predefs -+ MOC_PREDEF_FILE = $$[QT_HOST_DATA/src]/mkspecs/features/data/dummy.cpp -+} -+ - defineReplace(mocCmdBase) { -- RET = - !isEmpty(WIN_INCLUDETEMP) { - incvar = @$$WIN_INCLUDETEMP - } else { -@@ -34,7 +51,13 @@ defineReplace(mocCmdBase) { - incvar += -I$$shell_quote($$inc) - incvar += $$QMAKE_FRAMEWORKPATH_FLAGS - } -- RET += $$QMAKE_MOC $(DEFINES) $$join(QMAKE_COMPILER_DEFINES, " -D", -D) $$incvar $$QMAKE_MOC_OPTIONS -+ -+ RET = $$QMAKE_MOC $(DEFINES) -+ -+ isEmpty(MOC_PREDEF_FILE): RET += $$join(QMAKE_COMPILER_DEFINES, " -D", -D) -+ else: RET += --include $$moc_predefs.output -+ -+ RET += $$incvar $$QMAKE_MOC_OPTIONS - return($$RET) - } - -@@ -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} --moc_header.depends += $$WIN_INCLUDETEMP -+moc_header.depends += $$WIN_INCLUDETEMP $$moc_predefs.output - 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_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} --moc_source.depends += $$WIN_INCLUDETEMP -+moc_source.depends += $$WIN_INCLUDETEMP $$moc_predefs.output - silent:moc_source.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_source.commands - QMAKE_EXTRA_COMPILERS += moc_source - INCREDIBUILD_XGE += moc_source -diff -up qtbase-opensource-src-5.7.1/qmake/main.cpp.moc_system_defines qtbase-opensource-src-5.7.1/qmake/main.cpp ---- qtbase-opensource-src-5.7.1/qmake/main.cpp.moc_system_defines 2016-12-01 02:17:04.000000000 -0600 -+++ qtbase-opensource-src-5.7.1/qmake/main.cpp 2016-12-09 10:24:12.463205987 -0600 -@@ -42,6 +42,10 @@ - #include - #include - -+#ifdef Q_OS_WIN -+# include -+#endif -+ - QT_BEGIN_NAMESPACE - - #ifdef Q_OS_WIN -@@ -241,6 +245,30 @@ static int doInstall(int argc, char **ar - return 3; - } - -+static int dumpMacros(const wchar_t *cmdline) -+{ -+ // from http://stackoverflow.com/questions/3665537/how-to-find-out-cl-exes-built-in-macros -+ int argc; -+ wchar_t **argv = CommandLineToArgvW(cmdline, &argc); -+ if (!argv) -+ return 2; -+ for (int i = 0; i < argc; ++i) { -+ if (argv[i][0] != L'-' || argv[i][1] != 'D') -+ continue; -+ -+ wchar_t *value = wcschr(argv[i], L'='); -+ if (value) { -+ *value = 0; -+ ++value; -+ } else { -+ // point to the NUL at the end, so we don't print anything -+ value = argv[i] + wcslen(argv[i]); -+ } -+ wprintf(L"#define %Ls %Ls\n", argv[i] + 2, value); -+ } -+ return 0; -+} -+ - #endif // Q_OS_WIN - - /* This is to work around lame implementation on Darwin. It has been noted that the getpwd(3) function -@@ -275,6 +303,15 @@ int runQMake(int argc, char **argv) - // Workaround for inferior/missing command line tools on Windows: make our own! - if (argc >= 2 && !strcmp(argv[1], "-install")) - return doInstall(argc - 2, argv + 2); -+ -+ { -+ // Support running as Visual C++'s compiler -+ const wchar_t *cmdline = _wgetenv(L"MSC_CMD_FLAGS"); -+ if (!cmdline || !*cmdline) -+ cmdline = _wgetenv(L"MSC_IDE_FLAGS"); -+ if (cmdline && *cmdline) -+ return dumpMacros(cmdline); -+ } - #endif - - QMakeVfs vfs; -diff -up qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp.moc_system_defines qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp ---- qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp.moc_system_defines 2016-12-09 10:24:12.458205887 -0600 -+++ qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp 2016-12-09 10:53:10.285347282 -0600 -@@ -259,6 +259,11 @@ int runMoc(int argc, char **argv) - prependIncludeOption.setValueName(QStringLiteral("file")); - parser.addOption(prependIncludeOption); - -+ QCommandLineOption includeOption(QStringLiteral("include")); -+ includeOption.setDescription(QStringLiteral("Parse as an #include before the main source(s).")); -+ includeOption.setValueName(QStringLiteral("file")); -+ parser.addOption(includeOption); -+ - QCommandLineOption noNotesWarningsCompatOption(QStringLiteral("n")); - noNotesWarningsCompatOption.setDescription(QStringLiteral("Do not display notes (-nn) or warnings (-nw). Compatibility option.")); - noNotesWarningsCompatOption.setValueName(QStringLiteral("which")); -@@ -415,7 +420,31 @@ int runMoc(int argc, char **argv) - moc.includes = pp.includes; - - // 1. preprocess -- moc.symbols = pp.preprocessed(moc.filename, &in); -+ const auto includeFiles = parser.values(includeOption); -+ for (const QString &includeName : includeFiles) { -+ QByteArray rawName = pp.resolveInclude(QFile::encodeName(includeName), moc.filename); -+ if (rawName.isEmpty()) { -+ fprintf(stderr, "Warning: Failed to resolve include \"%s\" for moc file %s\n", -+ includeName.toLocal8Bit().constData(), -+ moc.filename.isEmpty() ? "" : moc.filename.constData()); -+ } else { -+ QFile f(QFile::decodeName(rawName)); -+ if (f.open(QIODevice::ReadOnly)) { -+ moc.symbols += Symbol(0, MOC_INCLUDE_BEGIN, rawName); -+ moc.symbols += pp.preprocessed(rawName, &f); -+ moc.symbols += Symbol(0, MOC_INCLUDE_END, rawName); -+ } else { -+ fprintf(stderr, "Warning: Cannot open %s included by moc file %s: %s\n", -+ rawName.constData(), -+ moc.filename.isEmpty() ? "" : moc.filename.constData(), -+ f.errorString().toLocal8Bit().constData()); -+ } -+ } -+ } -+ moc.symbols += pp.preprocessed(moc.filename, &in); -+ -+ // We obviously do not support MS extensions -+ pp.macros.remove("_MSC_EXTENSIONS"); - - if (!pp.preprocessOnly) { - // 2. parse -diff -up qtbase-opensource-src-5.7.1/src/tools/moc/preprocessor.cpp.moc_system_defines qtbase-opensource-src-5.7.1/src/tools/moc/preprocessor.cpp ---- qtbase-opensource-src-5.7.1/src/tools/moc/preprocessor.cpp.moc_system_defines 2016-12-01 02:17:04.000000000 -0600 -+++ qtbase-opensource-src-5.7.1/src/tools/moc/preprocessor.cpp 2016-12-09 10:24:12.464206007 -0600 -@@ -1008,6 +1008,37 @@ static void mergeStringLiterals(Symbols - } - } - -+QByteArray Preprocessor::resolveInclude(const QByteArray &include, const QByteArray &relativeTo) -+{ -+ // #### stringery -+ QFileInfo fi; -+ if (!relativeTo.isEmpty()) -+ fi.setFile(QFileInfo(QString::fromLocal8Bit(relativeTo.constData())).dir(), QString::fromLocal8Bit(include.constData())); -+ for (int j = 0; j < Preprocessor::includes.size() && !fi.exists(); ++j) { -+ const IncludePath &p = Preprocessor::includes.at(j); -+ if (p.isFrameworkPath) { -+ const int slashPos = include.indexOf('/'); -+ if (slashPos == -1) -+ continue; -+ QByteArray frameworkCandidate = include.left(slashPos); -+ frameworkCandidate.append(".framework/Headers/"); -+ fi.setFile(QString::fromLocal8Bit(QByteArray(p.path + '/' + frameworkCandidate).constData()), QString::fromLocal8Bit(include.mid(slashPos + 1).constData())); -+ } else { -+ fi.setFile(QString::fromLocal8Bit(p.path.constData()), QString::fromLocal8Bit(include.constData())); -+ } -+ // try again, maybe there's a file later in the include paths with the same name -+ // (186067) -+ if (fi.isDir()) { -+ fi = QFileInfo(); -+ continue; -+ } -+ } -+ -+ if (!fi.exists() || fi.isDir()) -+ return QByteArray(); -+ return fi.canonicalFilePath().toLocal8Bit(); -+} -+ - void Preprocessor::preprocess(const QByteArray &filename, Symbols &preprocessed) - { - currentFilenames.push(filename); -@@ -1028,32 +1059,9 @@ void Preprocessor::preprocess(const QByt - continue; - until(PP_NEWLINE); - -- // #### stringery -- QFileInfo fi; -- if (local) -- fi.setFile(QFileInfo(QString::fromLocal8Bit(filename.constData())).dir(), QString::fromLocal8Bit(include.constData())); -- for (int j = 0; j < Preprocessor::includes.size() && !fi.exists(); ++j) { -- const IncludePath &p = Preprocessor::includes.at(j); -- if (p.isFrameworkPath) { -- const int slashPos = include.indexOf('/'); -- if (slashPos == -1) -- continue; -- fi.setFile(QString::fromLocal8Bit(p.path + '/' + include.left(slashPos) + ".framework/Headers/"), -- QString::fromLocal8Bit(include.mid(slashPos + 1).constData())); -- } else { -- fi.setFile(QString::fromLocal8Bit(p.path.constData()), QString::fromLocal8Bit(include.constData())); -- } -- // try again, maybe there's a file later in the include paths with the same name -- // (186067) -- if (fi.isDir()) { -- fi = QFileInfo(); -- continue; -- } -- } -- -- if (!fi.exists() || fi.isDir()) -+ include = resolveInclude(include, local ? filename : QByteArray()); -+ if (include.isNull()) - continue; -- include = fi.canonicalFilePath().toLocal8Bit(); - - if (Preprocessor::preprocessedIncludes.contains(include)) - continue; -@@ -1208,6 +1216,7 @@ Symbols Preprocessor::preprocessed(const - input = cleaned(input); - - // phase 2: tokenize for the preprocessor -+ index = 0; - symbols = tokenize(input); - - #if 0 -diff -up qtbase-opensource-src-5.7.1/src/tools/moc/preprocessor.h.moc_system_defines qtbase-opensource-src-5.7.1/src/tools/moc/preprocessor.h ---- qtbase-opensource-src-5.7.1/src/tools/moc/preprocessor.h.moc_system_defines 2016-12-01 02:17:04.000000000 -0600 -+++ qtbase-opensource-src-5.7.1/src/tools/moc/preprocessor.h 2016-12-09 10:24:12.464206007 -0600 -@@ -62,6 +62,7 @@ public: - QList frameworks; - QSet preprocessedIncludes; - Macros macros; -+ QByteArray resolveInclude(const QByteArray &filename, const QByteArray &relativeTo); - Symbols preprocessed(const QByteArray &filename, QFile *device); - - void parseDefineArguments(Macro *m); -diff -up qtbase-opensource-src-5.7.1/tests/auto/tools/moc/subdir/extradefines.h.moc_system_defines qtbase-opensource-src-5.7.1/tests/auto/tools/moc/subdir/extradefines.h ---- qtbase-opensource-src-5.7.1/tests/auto/tools/moc/subdir/extradefines.h.moc_system_defines 2016-12-09 10:24:12.464206007 -0600 -+++ qtbase-opensource-src-5.7.1/tests/auto/tools/moc/subdir/extradefines.h 2016-12-09 10:24:12.464206007 -0600 -@@ -0,0 +1 @@ -+#define FOO 1 -diff -up qtbase-opensource-src-5.7.1/tests/auto/tools/moc/tst_moc.cpp.moc_system_defines qtbase-opensource-src-5.7.1/tests/auto/tools/moc/tst_moc.cpp ---- qtbase-opensource-src-5.7.1/tests/auto/tools/moc/tst_moc.cpp.moc_system_defines 2016-12-01 02:17:04.000000000 -0600 -+++ qtbase-opensource-src-5.7.1/tests/auto/tools/moc/tst_moc.cpp 2016-12-09 10:24:12.465206027 -0600 -@@ -576,6 +576,8 @@ private slots: - void frameworkSearchPath(); - void cstyleEnums(); - void defineMacroViaCmdline(); -+ void defineMacroViaForcedInclude(); -+ void defineMacroViaForcedIncludeRelative(); - void specifyMetaTagsFromCmdline(); - void invokable(); - void singleFunctionKeywordSignalAndSlot(); -@@ -1244,6 +1246,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) -+ QProcess proc; -+ -+ QStringList args; -+ args << "--include" << m_sourceDirectory + QLatin1String("/subdir/extradefines.h"); -+ 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::defineMacroViaForcedIncludeRelative() -+{ -+#if defined(Q_OS_LINUX) && defined(Q_CC_GNU) && !defined(QT_NO_PROCESS) -+ QProcess proc; -+ -+ QStringList args; -+ args << "--include" << QStringLiteral("extradefines.h") << "-I" + m_sourceDirectory + "/subdir"; -+ args << m_sourceDirectory + QStringLiteral("/macro-on-cmdline.h"); -+ -+ proc.start(m_moc, args); - QVERIFY(proc.waitForFinished()); - QCOMPARE(proc.exitCode(), 0); - QCOMPARE(proc.readAllStandardError(), QByteArray()); diff --git a/qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch b/qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch new file mode 100644 index 0000000..d94caf4 --- /dev/null +++ b/qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch @@ -0,0 +1,11 @@ +--- qtbase-opensource-src-5.8.0/src/corelib/global/qglobal.h.orig 2017-01-26 10:45:40.905010896 +0100 ++++ qtbase-opensource-src-5.8.0/src/corelib/global/qglobal.h 2017-01-26 10:46:50.299858887 +0100 +@@ -55,7 +55,7 @@ + /* + can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0)) + */ +-#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) ++#define QT_VERSION_CHECK(qt_version_check_major, qt_version_check_minor, qt_version_check_patch) ((qt_version_check_major<<16)|(qt_version_check_minor<<8)|(qt_version_check_patch)) + + #ifdef QT_BOOTSTRAPPED + #include diff --git a/sources b/sources index c96e61f..c728b29 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f0809befe04160fbb73bbf38a06a2073 qtbase-opensource-src-5.7.1.tar.xz +SHA512 (qtbase-opensource-src-5.8.0.tar.xz) = 36a1ba4b0dba02ae65c3b2b0aa3fb3767cbee4dbdf204c9ded7d1700e70144ce85a3a66167f86cc716a1fdd38d832962b2a752e803b0647d03032b2685da5ced