diff --git a/.gitignore b/.gitignore index 1264b12..5d30715 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/qtbase-everywhere-src-5.11.3.tar.xz +/qtbase-everywhere-src-5.12.1.tar.xz diff --git a/qt5-qtbase-5.12.1-firebird.patch b/qt5-qtbase-5.12.1-firebird.patch new file mode 100644 index 0000000..674a5b5 --- /dev/null +++ b/qt5-qtbase-5.12.1-firebird.patch @@ -0,0 +1,29 @@ +diff -up qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/configure.json.firebird qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/configure.json +--- qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/configure.json.firebird 2019-01-28 11:11:52.000000000 -0600 ++++ qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/configure.json 2019-02-03 13:41:27.392305128 -0600 +@@ -49,10 +49,11 @@ + "ibase": { + "label": "InterBase", + "test": {}, +- "headers": "ibase.h", ++ "headers": "firebird/ibase.h", + "sources": [ + { "libs": "-lgds32_ms", "condition": "config.win32" }, +- { "libs": "-lgds", "condition": "!config.win32" } ++ { "libs": "-lgds", "condition": "!config.win32" }, ++ { "libs": "-lfbclient", "condition": "!config.win32" } + ] + }, + "mysql": { +diff -up qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/ibase/qsql_ibase_p.h.firebird qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/ibase/qsql_ibase_p.h +--- qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/ibase/qsql_ibase_p.h.firebird 2019-01-28 11:11:52.000000000 -0600 ++++ qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/ibase/qsql_ibase_p.h 2019-02-03 13:27:30.683142996 -0600 +@@ -52,7 +52,7 @@ + // + + #include +-#include ++#include + + #ifdef QT_PLUGIN + #define Q_EXPORT_SQLDRIVER_IBASE diff --git a/qt5-qtbase-5.9.1-firebird.patch b/qt5-qtbase-5.9.1-firebird.patch deleted file mode 100644 index a3510d9..0000000 --- a/qt5-qtbase-5.9.1-firebird.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/src/plugins/sqldrivers/configure.json b/src/plugins/sqldrivers/configure.json -index 234f880..7b13671 100644 ---- a/src/plugins/sqldrivers/configure.json -+++ b/src/plugins/sqldrivers/configure.json -@@ -50,11 +50,12 @@ - "ibase": { - "label": "InterBase", - "test": { -- "include": "ibase.h" -+ "include": "firebird/ibase.h" - }, - "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/src/plugins/sqldrivers/ibase/qsql_ibase_p.h b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h -index c7cee41..6a9c56c 100644 ---- a/src/plugins/sqldrivers/ibase/qsql_ibase_p.h -+++ b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h -@@ -52,7 +52,7 @@ - // - - #include --#include -+#include - - #ifdef QT_PLUGIN - #define Q_EXPORT_SQLDRIVER_IBASE diff --git a/qt5-qtbase-glibc.patch b/qt5-qtbase-glibc.patch deleted file mode 100644 index d96b22a..0000000 --- a/qt5-qtbase-glibc.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h -index 13523f07..d3245316 100644 ---- a/mkspecs/linux-g++/qplatformdefs.h -+++ b/mkspecs/linux-g++/qplatformdefs.h -@@ -72,7 +72,9 @@ - #include - #include - #include -+#if 0 - #include -+#endif - #include - #include - -diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp -index deb4a9f2..d03cf86c 100644 ---- a/src/corelib/io/qfilesystemengine_unix.cpp -+++ b/src/corelib/io/qfilesystemengine_unix.cpp -@@ -50,7 +50,9 @@ - #include - #include // for realpath() - #include -+#if 0 - #include -+#endif - #include - #include - #include -@@ -105,12 +107,12 @@ extern "C" NSString *NSTemporaryDirectory(); - # undef SYS_statx - # undef STATX_BASIC_STATS - # else --# if !QT_CONFIG(renameat2) && defined(SYS_renameat2) -+# if 0 && !QT_CONFIG(renameat2) && defined(SYS_renameat2) - static int renameat2(int oldfd, const char *oldpath, int newfd, const char *newpath, unsigned flags) - { return syscall(SYS_renameat2, oldfd, oldpath, newfd, newpath, flags); } - # endif - --# if !QT_CONFIG(statx) && defined(SYS_statx) -+# if 0 && !QT_CONFIG(statx) && defined(SYS_statx) - # include - static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf) - { return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); } diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 5cf6930..93f2236 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -52,8 +52,8 @@ BuildRequires: pkgconfig(libsystemd) Name: qt5-qtbase Summary: Qt5 - QtBase components -Version: 5.11.3 -Release: 4%{?dist} +Version: 5.12.1 +Release: 1%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -109,7 +109,7 @@ Patch54: qtbase-qmake_LFLAGS.patch Patch61: qt5-qtbase-cxxflag.patch # support firebird version 3.x -Patch64: qt5-qtbase-5.9.1-firebird.patch +Patch64: qt5-qtbase-5.12.1-firebird.patch # fix for new mariadb Patch65: qtbase-opensource-src-5.9.0-mysql.patch @@ -122,15 +122,9 @@ Patch67: https://bugreports.qt.io/secure/attachment/66353/xcberror_filter.patch # python3 Patch68: qtbase-everywhere-src-5.11.1-python3.patch -# build issue with gcc9 -Patch69: qtbase-everywhere-src-5.11.3-gcc9.patch - # glibc stat ## upstream patches -# still needed for 5.12.x ? -- rex -Patch500: qtbase-everywhere-src-5.11.2-rendering-issue.patch -Patch501: qtbase-everywhere-src-5.11.2-optimize-insertionPointsForLine.patch # Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires. # Those themes are there for platform integration. If the required libraries are @@ -177,7 +171,7 @@ BuildRequires: openssl-devel%{?openssl11: >= 1.1} %endif BuildRequires: pkgconfig(libpulse) pkgconfig(libpulse-mainloop-glib) %if 0%{?fedora} -%global xkbcommon -system-xkbcommon +#global xkbcommon -system-xkbcommon BuildRequires: pkgconfig(libinput) BuildRequires: pkgconfig(xcb-xkb) >= 1.10 BuildRequires: pkgconfig(xkbcommon) >= 0.4.1 @@ -187,7 +181,7 @@ BuildRequires: pkgconfig(xkbcommon-x11) >= 0.4.1 %if 0%{?rhel} == 6 %global xcb -qt-xcb %endif -%global xkbcommon -qt-xkbcommon +#global xkbcommon -qt-xkbcommon Provides: bundled(libxkbcommon) = 0.4.1 %endif BuildRequires: pkgconfig(xkeyboard-config) @@ -214,6 +208,8 @@ 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 +# see patch68 +BuildRequires: python3 BuildRequires: qt5-rpm-macros %if 0%{?tests} @@ -382,11 +378,8 @@ Qt5 libraries used for drawing widgets and OpenGL items. # FIXME/REBASE #patch67 -p1 -b .xcberror_filter %patch68 -p1 -%patch69 -p1 ## upstream patches -%patch500 -p1 -b .rendering-issue -%patch501 -p1 -b .optimize-insertionPointsForLine # move some bundled libs to ensure they're not accidentally used pushd src/3rdparty @@ -673,7 +666,9 @@ fi %endif %files -%license LICENSE.LGPL* LGPL_EXCEPTION.txt LICENSE.FDL +%license LICENSE.FDL +%license LICENSE.GPL* +%license LICENSE.LGPL* %if 0%{?qtchooser} %dir %{_sysconfdir}/xdg/qtchooser # not editable config files, so not using %%config here @@ -988,15 +983,18 @@ fi %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXcbIntegrationPlugin.cmake %{_qt5_plugindir}/xcbglintegrations/libqxcb-glx-integration.so %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXcbGlxIntegrationPlugin.cmake -%{_qt5_plugindir}/platformthemes/libqflatpak.so +%{_qt5_plugindir}/platformthemes/libqxdgdesktopportal.so %{_qt5_plugindir}/platformthemes/libqgtk3.so -%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QFlatpakThemePlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXdgDesktopPortalThemePlugin.cmake %{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QGtk3ThemePlugin.cmake %{_qt5_plugindir}/printsupport/libcupsprintersupport.so %{_qt5_libdir}/cmake/Qt5PrintSupport/Qt5PrintSupport_QCupsPrinterSupportPlugin.cmake %changelog +* Thu Feb 14 2019 Rex Dieter - 5.12.1-1 +- 5.12.1 + * Wed Feb 13 2019 Than Ngo - 5.11.3-4 - fixed build issue with gcc9 diff --git a/qtbase-everywhere-src-5.11.2-optimize-insertionPointsForLine.patch b/qtbase-everywhere-src-5.11.2-optimize-insertionPointsForLine.patch deleted file mode 100644 index 93858f8..0000000 --- a/qtbase-everywhere-src-5.11.2-optimize-insertionPointsForLine.patch +++ /dev/null @@ -1,105 +0,0 @@ -diff -up qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine.cpp.me qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine.cpp ---- qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine.cpp.me 2018-10-25 11:30:37.371800942 +0200 -+++ qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine.cpp 2018-10-25 11:36:24.496953609 +0200 -@@ -3663,11 +3663,12 @@ int QTextEngine::lineNumberForTextPositi - return -1; - } - --void QTextEngine::insertionPointsForLine(int lineNum, QVector &insertionPoints) -+std::vector QTextEngine::insertionPointsForLine(int lineNum) - { - QTextLineItemIterator iterator(this, lineNum); - -- insertionPoints.reserve(iterator.line.length); -+ std::vector insertionPoints; -+ insertionPoints.reserve(size_t(iterator.line.length)); - - bool lastLine = lineNum >= lines.size() - 1; - -@@ -3685,25 +3686,22 @@ void QTextEngine::insertionPointsForLine - insertionPoints.push_back(i); - } - } -+ return insertionPoints; - } - - int QTextEngine::endOfLine(int lineNum) - { -- QVector insertionPoints; -- insertionPointsForLine(lineNum, insertionPoints); -- -+ const auto insertionPoints = insertionPointsForLine(lineNum); - if (insertionPoints.size() > 0) -- return insertionPoints.constLast(); -+ return insertionPoints.back(); - return 0; - } - - int QTextEngine::beginningOfLine(int lineNum) - { -- QVector insertionPoints; -- insertionPointsForLine(lineNum, insertionPoints); -- -+ const auto insertionPoints = insertionPointsForLine(lineNum); - if (insertionPoints.size() > 0) -- return insertionPoints.constFirst(); -+ return insertionPoints.front(); - return 0; - } - -@@ -3720,10 +3718,8 @@ int QTextEngine::positionAfterVisualMove - if (lineNum < 0) - return pos; - -- QVector insertionPoints; -- insertionPointsForLine(lineNum, insertionPoints); -- int i, max = insertionPoints.size(); -- for (i = 0; i < max; i++) -+ const auto insertionPoints = insertionPointsForLine(lineNum); -+ for (size_t i = 0, max = insertionPoints.size(); i < max; ++i) - if (pos == insertionPoints[i]) { - if (moveRight) { - if (i + 1 < max) -diff -up qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine_p.h.me qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine_p.h ---- qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine_p.h.me 2018-10-25 11:36:39.243002574 +0200 -+++ qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine_p.h 2018-10-25 11:37:45.966224143 +0200 -@@ -74,6 +74,7 @@ - #include - - #include -+#include - - QT_BEGIN_NAMESPACE - -@@ -632,7 +633,7 @@ public: - int nextLogicalPosition(int oldPos) const; - int lineNumberForTextPosition(int pos); - int positionAfterVisualMovement(int oldPos, QTextCursor::MoveOperation op); -- void insertionPointsForLine(int lineNum, QVector &insertionPoints); -+ std::vector insertionPointsForLine(int lineNum); - void resetFontEngineCache(); - - void enableDelayDecorations(bool enable = true) { delayDecorations = enable; } -diff -up qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp.me qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp ---- qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp.me 2018-10-25 11:38:04.426285436 +0200 -+++ qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp 2018-10-25 11:40:23.919748643 +0200 -@@ -2841,9 +2841,7 @@ int QTextLine::xToCursor(qreal _x, Curso - bool rtl = eng->isRightToLeft(); - - eng->shapeLine(line); -- QVector insertionPoints; -- if (visual && rtl) -- eng->insertionPointsForLine(lineNum, insertionPoints); -+ const auto insertionPoints = (visual && rtl) ? eng->insertionPointsForLine(lineNum) : std::vector(); - int nchars = 0; - for (int i = 0; i < nItems; ++i) { - int item = visualOrder[i]+firstItem; -@@ -2975,7 +2973,7 @@ int QTextLine::xToCursor(qreal _x, Curso - continue; - } - if (rtl && nchars > 0) -- return insertionPoints[lastLine ? nchars : nchars - 1]; -+ return insertionPoints[size_t(lastLine ? nchars : nchars - 1)]; - } - return eng->positionInLigature(&si, end, x, pos, -1, - cpos == QTextLine::CursorOnCharacter); diff --git a/qtbase-everywhere-src-5.11.2-rendering-issue.patch b/qtbase-everywhere-src-5.11.2-rendering-issue.patch deleted file mode 100644 index ce8f672..0000000 --- a/qtbase-everywhere-src-5.11.2-rendering-issue.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -up qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp.me qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp ---- qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp.me 2018-10-25 10:54:48.849646288 +0200 -+++ qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp 2018-10-25 10:58:19.054347658 +0200 -@@ -1006,10 +1006,8 @@ static void addSelectedRegionsToPath(QTe - } - - if (lastSelectionWidth > 0) { -- QRectF rect = boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight); -- rect.moveLeft(qFloor(rect.left())); -- rect.moveTop(qFloor(rect.top())); -- region->addRect(rect); -+ const QRectF rect = boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight); -+ region->addRect(rect.toAlignedRect()); - } - - lastSelectionX = selectionX; -@@ -1017,10 +1015,8 @@ static void addSelectedRegionsToPath(QTe - } - } - if (lastSelectionWidth > 0) { -- QRectF rect = boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight); -- rect.moveLeft(qFloor(rect.left())); -- rect.moveTop(qFloor(rect.top())); -- region->addRect(rect); -+ const QRectF rect = boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight); -+ region->addRect(rect.toAlignedRect()); - } - } - -@@ -2135,7 +2131,7 @@ static void setPenAndDrawBackground(QPai - - QBrush bg = chf.background(); - if (bg.style() != Qt::NoBrush && !chf.property(SuppressBackground).toBool()) -- p->fillRect(QRectF(qFloor(r.x()), qFloor(r.y()), r.width(), r.height()), bg); -+ p->fillRect(r.toAlignedRect(), bg); - if (c.style() != Qt::NoBrush) { - p->setPen(QPen(c, 0)); - } diff --git a/qtbase-everywhere-src-5.11.3-gcc9.patch b/qtbase-everywhere-src-5.11.3-gcc9.patch deleted file mode 100644 index e662e22..0000000 --- a/qtbase-everywhere-src-5.11.3-gcc9.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up qtbase-everywhere-src-5.11.3/src/corelib/global/qrandom.cpp.me qtbase-everywhere-src-5.11.3/src/corelib/global/qrandom.cpp ---- qtbase-everywhere-src-5.11.3/src/corelib/global/qrandom.cpp.me 2019-02-13 19:13:26.115949411 +0100 -+++ qtbase-everywhere-src-5.11.3/src/corelib/global/qrandom.cpp 2019-02-13 19:26:57.822405994 +0100 -@@ -218,6 +218,7 @@ struct QRandomGenerator::SystemGenerator - #endif // Q_OS_WINRT - - static SystemGenerator &self(); -+ typedef quint32 result_type; - void generate(quint32 *begin, quint32 *end) Q_DECL_NOEXCEPT_EXPR(FillBufferNoexcept); - - // For std::mersenne_twister_engine implementations that use something diff --git a/qtbase-fdo101667.patch b/qtbase-fdo101667.patch deleted file mode 100644 index 69c6cc4..0000000 --- a/qtbase-fdo101667.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp.fdo101667 qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp ---- qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp.fdo101667 2018-01-16 00:53:43.000000000 -0600 -+++ qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp 2018-01-28 07:18:09.502534397 -0600 -@@ -418,6 +418,8 @@ QStringList QMimeType::suffixes() const - */ - QString QMimeType::preferredSuffix() const - { -+ if (isDefault()) // workaround for unwanted *.bin suffix for octet-stream, https://bugs.freedesktop.org/show_bug.cgi?id=101667, fixed upstream in 1.10 -+ return QString(); - const QStringList suffixList = suffixes(); - return suffixList.isEmpty() ? QString() : suffixList.at(0); - } diff --git a/qtbase-hidpi_scale_at_192.patch b/qtbase-hidpi_scale_at_192.patch index d93ac08..c8139f6 100644 --- a/qtbase-hidpi_scale_at_192.patch +++ b/qtbase-hidpi_scale_at_192.patch @@ -1,13 +1,12 @@ -diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp -index 7f2793b2..3ff6a924 100644 ---- a/src/plugins/platforms/xcb/qxcbscreen.cpp -+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp -@@ -753,7 +753,7 @@ void QXcbScreen::updateGeometry(const QRect &geometry, uint8_t rotation) - m_sizeMillimeters = sizeInMillimeters(geometry.size(), m_virtualDesktop->dpi()); - - qreal dpi = geometry.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) +diff -up qtbase-everywhere-src-5.12.1/src/plugins/platforms/xcb/qxcbscreen.cpp.hidpi_scale_at_192 qtbase-everywhere-src-5.12.1/src/plugins/platforms/xcb/qxcbscreen.cpp +--- qtbase-everywhere-src-5.12.1/src/plugins/platforms/xcb/qxcbscreen.cpp.hidpi_scale_at_192 2019-02-03 13:21:27.866906481 -0600 ++++ qtbase-everywhere-src-5.12.1/src/plugins/platforms/xcb/qxcbscreen.cpp 2019-02-03 13:23:47.554767565 -0600 +@@ -744,7 +744,7 @@ void QXcbScreen::updateGeometry(const QR + // Use 128 as a reference DPI on small screens. This favors "small UI" over "large UI". + qreal referenceDpi = physicalSize().width() <= 320 ? 128 : 96; + +- m_pixelDensity = qMax(1, qRound(dpi/referenceDpi)); ++ m_pixelDensity = qMax(1, (int) (dpi/referenceDpi)); //instead of rounding at 1.5, round at 2.0 (same as GNOME) m_geometry = geometry; m_availableGeometry = geometry & m_virtualDesktop->workArea(); QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry); diff --git a/sources b/sources index 34a2369..08604f4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qtbase-everywhere-src-5.11.3.tar.xz) = 93865e41c994211456a575b085c2e7491b7975a1c3b4deb48e9616b51104eb990c1fcfd53d5fb2146ba22457cb134e6254e9077ba73c8b4c4b4d1d525e66fb65 +SHA512 (qtbase-everywhere-src-5.12.1.tar.xz) = 51494d8947ae16ab7aee22aca156035718f5a700737547de59b4d61d3919c00f4de858111c8928a66c0385604623d847d231892d964d53924a8c97b6e2bedf25