From 0de27250de9d350ac3f8a44ab5265f23361675c2 Mon Sep 17 00:00:00 2001 From: Dave Woodfall Date: Mon, 30 Mar 2020 16:38:18 +0100 Subject: libraries/qt5: Updated for version 5.12.7. --- libraries/qt5/README | 2 +- .../qt5/patches/explicitly-initialize-sqlite.patch | 217 --------------------- .../qt5.qtbase_cmake_isystem_includes.patch | 14 ++ libraries/qt5/qt5.SlackBuild | 27 +-- libraries/qt5/qt5.info | 6 +- 5 files changed, 21 insertions(+), 245 deletions(-) delete mode 100644 libraries/qt5/patches/explicitly-initialize-sqlite.patch create mode 100644 libraries/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch diff --git a/libraries/qt5/README b/libraries/qt5/README index d102803d2d..f19c24f651 100644 --- a/libraries/qt5/README +++ b/libraries/qt5/README @@ -7,7 +7,7 @@ against if they are detected at build time: libwebp, opus, ffmpeg, pcre2, snappy, libminizip, jsnoncpp, libinput, unixODBC, postgresql, SDL2, assimp, wayland, -OpenAL, protobuf(3?), and perhaps more. +OpenAL, protobuf(3?), argon2, and perhaps more. ============================================================ diff --git a/libraries/qt5/patches/explicitly-initialize-sqlite.patch b/libraries/qt5/patches/explicitly-initialize-sqlite.patch deleted file mode 100644 index 2773658adc..0000000000 --- a/libraries/qt5/patches/explicitly-initialize-sqlite.patch +++ /dev/null @@ -1,217 +0,0 @@ -From 9bab2acc924790b0a01a08e76f9216acc2d6528b Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Thu, 16 May 2019 11:19:49 +0200 -Subject: [Backport] WebSQL: Explicitly initialize SQLite, remove deprecated - API usage. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Change-Id: I291dd041c5646c4fdd714ff98dd939566861d921 -Reviewed-on: https://chromium-review.googlesource.com/892092 -Task-number: QTBUG-75853 -Reviewed-by: Jüri Valdmann ---- - .../Source/modules/webdatabase/DatabaseTracker.cpp | 2 +- - .../modules/webdatabase/sqlite/SQLiteFileSystem.cpp | 21 ++++++++++++++++++++- - .../modules/webdatabase/sqlite/SQLiteFileSystem.h | 21 +++++++++++++++------ - .../webdatabase/sqlite/SQLiteFileSystemPosix.cpp | 19 ++++++++++--------- - .../webdatabase/sqlite/SQLiteFileSystemWin.cpp | 19 ++++++++++--------- - 5 files changed, 56 insertions(+), 26 deletions(-) - -diff --git a/chromium/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp b/chromium/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp -index 13ea7d8181..f78d90a5df 100644 ---- a/chromium/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp -+++ b/chromium/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp -@@ -66,7 +66,7 @@ DatabaseTracker& DatabaseTracker::tracker() { - } - - DatabaseTracker::DatabaseTracker() { -- SQLiteFileSystem::registerSQLiteVFS(); -+ SQLiteFileSystem::initializeSQLite(); - } - - bool DatabaseTracker::canEstablishDatabase(DatabaseContext* databaseContext, -diff --git a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp -index 9c25341c57..2a6e140f9e 100644 ---- a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp -+++ b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp -@@ -39,9 +39,28 @@ - // platform-specific files SQLiteFileSystemChromium{Win|Posix}.cpp - namespace blink { - --SQLiteFileSystem::SQLiteFileSystem() {} -+#if DCHECK_IS_ON() -+// static -+bool SQLiteFileSystem::initialize_sqlite_called_ = false; -+#endif // DCHECK_IS_ON - -+// static -+void SQLiteFileSystem::initializeSQLite() { -+#if DCHECK_IS_ON() -+ DCHECK(!initialize_sqlite_called_) << __func__ << " already called"; -+ initialize_sqlite_called_ = true; -+#endif // DCHECK_IS_ON() -+ -+ sqlite3_initialize(); -+ registerSQLiteVFS(); -+} -+ -+// static - int SQLiteFileSystem::openDatabase(const String& filename, sqlite3** database) { -+#if DCHECK_IS_ON() -+ DCHECK(initialize_sqlite_called_) -+ << "InitializeSQLite() must be called before " << __func__; -+#endif // DCHECK_IS_ON() - SafePointScope scope(BlinkGC::HeapPointersOnStack); - return sqlite3_open_v2(filename.utf8().data(), database, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, -diff --git a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.h b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.h -index 97c0ad83a1..af2bcd9211 100644 ---- a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.h -+++ b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.h -@@ -42,22 +42,31 @@ namespace blink { - // A class that abstracts the file system related operations required - // by the WebKit database code. - class SQLiteFileSystem { -- DISALLOW_NEW(); -- - public: -- // Registers a user-defined SQLite VFS. -- static void registerSQLiteVFS(); -+ // This class is used as a namespace, so instantiating it doesn't make sense. -+ SQLiteFileSystem() = delete; -+ -+ // Initializes SQLite for Blink's use. -+ // -+ // This must be called exactly once in each renderer process that uses SQLite. -+ static void initializeSQLite(); - - // Opens a database file. - // -+ // initializeSQLite() must be called before this method is called. -+ // - // filemame - The name of the database file. - // database - The SQLite structure that represents the database stored - // in the given file. - static int openDatabase(const String& filename, sqlite3** database); - - private: -- // do not instantiate this class -- SQLiteFileSystem(); -+ // Registers Chromium's VFS with SQLite. -+ static void registerSQLiteVFS(); -+ -+#if DCHECK_IS_ON() -+ static bool initialize_sqlite_called_; -+#endif // DCHECK_IS_ON() - }; // class SQLiteFileSystem - - } // namespace blink -diff --git a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemPosix.cpp b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemPosix.cpp -index 77e7b6d904..20d0fd2e0e 100644 ---- a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemPosix.cpp -+++ b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemPosix.cpp -@@ -321,11 +321,6 @@ int chromiumSleep(sqlite3_vfs* vfs, int microseconds) { - return wrappedVfs->xSleep(wrappedVfs, microseconds); - } - --int chromiumCurrentTime(sqlite3_vfs* vfs, double* prNow) { -- sqlite3_vfs* wrappedVfs = static_cast(vfs->pAppData); -- return wrappedVfs->xCurrentTime(wrappedVfs, prNow); --} -- - int chromiumGetLastError(sqlite3_vfs* vfs, int e, char* s) { - // xGetLastError() has never been used by SQLite. The implementation in - // os_win.c indicates this is a reasonable implementation. -@@ -333,6 +328,11 @@ int chromiumGetLastError(sqlite3_vfs* vfs, int e, char* s) { - return 0; - } - -+int chromiumCurrentTimeInt64(sqlite3_vfs* vfs, sqlite3_int64* now) { -+ sqlite3_vfs* wrapped_vfs = static_cast(vfs->pAppData); -+ return wrapped_vfs->xCurrentTimeInt64(wrapped_vfs, now); -+} -+ - } // namespace - - void SQLiteFileSystem::registerSQLiteVFS() { -@@ -342,9 +342,9 @@ void SQLiteFileSystem::registerSQLiteVFS() { - // TODO(shess): Implement local versions. - ASSERT(wrappedVfs->xRandomness); - ASSERT(wrappedVfs->xSleep); -- ASSERT(wrappedVfs->xCurrentTime); -+ ASSERT(wrappedVfs->xCurrentTimeInt64); - -- static sqlite3_vfs chromium_vfs = {1, -+ static sqlite3_vfs chromium_vfs = {2, - sizeof(chromiumVfsFile), - wrappedVfs->mxPathname, - 0, -@@ -360,8 +360,9 @@ void SQLiteFileSystem::registerSQLiteVFS() { - chromiumDlClose, - chromiumRandomness, - chromiumSleep, -- chromiumCurrentTime, -- chromiumGetLastError}; -+ nullptr, // CurrentTime is deprecated. -+ chromiumGetLastError, -+ chromiumCurrentTimeInt64}; - sqlite3_vfs_register(&chromium_vfs, 0); - } - -diff --git a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemWin.cpp b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemWin.cpp -index 2933df65f6..31103047fd 100644 ---- a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemWin.cpp -+++ b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemWin.cpp -@@ -148,11 +148,6 @@ int chromiumSleep(sqlite3_vfs* vfs, int microseconds) { - return wrappedVfs->xSleep(wrappedVfs, microseconds); - } - --int chromiumCurrentTime(sqlite3_vfs* vfs, double* prNow) { -- sqlite3_vfs* wrappedVfs = static_cast(vfs->pAppData); -- return wrappedVfs->xCurrentTime(wrappedVfs, prNow); --} -- - int chromiumGetLastError(sqlite3_vfs* vfs, int e, char* s) { - // xGetLastError() has never been used by SQLite. The implementation in - // os_win.c indicates this is a reasonable implementation. -@@ -160,6 +155,11 @@ int chromiumGetLastError(sqlite3_vfs* vfs, int e, char* s) { - return 0; - } - -+int chromiumCurrentTimeInt64(sqlite3_vfs* vfs, sqlite3_int64* now) { -+ sqlite3_vfs* wrapped_vfs = static_cast(vfs->pAppData); -+ return wrapped_vfs->xCurrentTimeInt64(wrapped_vfs, now); -+} -+ - } // namespace - - void SQLiteFileSystem::registerSQLiteVFS() { -@@ -169,9 +169,9 @@ void SQLiteFileSystem::registerSQLiteVFS() { - // TODO(shess): Implement local versions. - ASSERT(wrappedVfs->xRandomness); - ASSERT(wrappedVfs->xSleep); -- ASSERT(wrappedVfs->xCurrentTime); -+ ASSERT(wrappedVfs->xCurrentTimeInt64); - -- static sqlite3_vfs chromium_vfs = {1, -+ static sqlite3_vfs chromium_vfs = {2, - wrappedVfs->szOsFile, - wrappedVfs->mxPathname, - 0, -@@ -187,8 +187,9 @@ void SQLiteFileSystem::registerSQLiteVFS() { - chromiumDlClose, - chromiumRandomness, - chromiumSleep, -- chromiumCurrentTime, -- chromiumGetLastError}; -+ nullptr, // CurrentTime is deprecated. -+ chromiumGetLastError, -+ chromiumCurrentTimeInt64}; - sqlite3_vfs_register(&chromium_vfs, 0); - } - --- -cgit v1.2.1 - diff --git a/libraries/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch b/libraries/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch new file mode 100644 index 0000000000..ff00e63bed --- /dev/null +++ b/libraries/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch @@ -0,0 +1,14 @@ +diff -up qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in.foo qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in +--- qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in.foo 2019-04-30 15:18:24.886346423 -0500 ++++ qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in 2019-04-30 15:19:48.303873296 -0500 +@@ -66,8 +66,10 @@ unset(_GL_INCDIRS) + # Don\'t check for existence of the "_qt5gui_OPENGL_INCLUDE_DIR" because it is + # optional. + ++if (NOT ${_qt5gui_OPENGL_INCLUDE_DIR} STREQUAL "/usr/include") + list(APPEND Qt5Gui_INCLUDE_DIRS ${_qt5gui_OPENGL_INCLUDE_DIR}) + set_property(TARGET Qt5::Gui APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${_qt5gui_OPENGL_INCLUDE_DIR}) ++endif() + + unset(_qt5gui_OPENGL_INCLUDE_DIR CACHE) + diff --git a/libraries/qt5/qt5.SlackBuild b/libraries/qt5/qt5.SlackBuild index 1395136349..f1533bbc28 100644 --- a/libraries/qt5/qt5.SlackBuild +++ b/libraries/qt5/qt5.SlackBuild @@ -50,8 +50,8 @@ PRGNAM=qt5 SRCNAM=${PRGNAM%%[[:digit:]]*} -VERSION=${VERSION:-5.12.6} -BUILD=${BUILD:-4} +VERSION=${VERSION:-5.12.7} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -164,18 +164,6 @@ cd qtbase | patch -p1 --verbose || exit 1 cd - 1>/dev/null -# CVE-2020-0569 (fixed in 5.14.0): -cd qtbase - cat $CWD/patches/qt5.cve-2020-0569.patch \ - | patch -p1 --verbose || exit 1 -cd - 1>/dev/null - -# CVE-2020-0570 (fixed in 5.14.1): -cd qtbase - cat $CWD/patches/qt5.cve-2020-0570.patch \ - | patch -p1 --verbose || exit 1 -cd - 1>/dev/null - # Use our custom compiler and linker flags: sed -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${SLKCFLAGS}|" \ -i qtbase/mkspecs/common/gcc-base.conf || exit 1 @@ -183,7 +171,7 @@ sed -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${SLKLDFLAGS}|" \ -i qtbase/mkspecs/common/g++-unix.conf || exit 1 export CFLAGS="$SLKCFLAGS" -export CXXFLAGS="$SLKCFLAGS -std=c++14" +export CXXFLAGS="$SLKCFLAGS" export OPENSOURCE_CXXFLAGS="$SLKCFLAGS" export QTDIR="${TMP}/qt-everywhere-src-$VERSION" export LD_LIBRARY_PATH="${QTDIR}/qtbase/lib:${QTDIR}/qttools/lib:${LD_LIBRARY_PATH}" @@ -216,7 +204,6 @@ export QT_PLUGIN_PATH="${QTDIR}/qtbase/plugins" -no-rpath \ -no-strip \ -release \ - -c++std c++14 \ $USE_CCACHE \ $CODECS \ $PULSE \ @@ -293,14 +280,6 @@ Description: Qt5 Configuration Version: $VERSION EOF -# Fix internal linking for Qt5WebEngineCore.pc. -if [ "$WEBENGINE" = "yes" ]; then - sed -i \ - -e 's|-Wl,--start-group.* -Wl,--end-group||' \ - -e "s|-L${PWD}/qtwebengine/src/core/api/Release||" \ - $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/Qt5WebEngineCore.pc -fi - # Fix the path in prl files: find "$PKG/usr/lib${LIBDIRSUFFIX}" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; diff --git a/libraries/qt5/qt5.info b/libraries/qt5/qt5.info index cf6115cda3..2f2ad611d0 100644 --- a/libraries/qt5/qt5.info +++ b/libraries/qt5/qt5.info @@ -1,8 +1,8 @@ PRGNAM="qt5" -VERSION="5.12.6" +VERSION="5.12.7" HOMEPAGE="http://qt-project.org/" -DOWNLOAD="https://download.qt.io/official_releases/qt/5.12/5.12.6/single/qt-everywhere-src-5.12.6.tar.xz" -MD5SUM="287d71e71ebd97f77220873e7b131b1a" +DOWNLOAD="https://download.qt.io/official_releases/qt/5.12/5.12.7/single/qt-everywhere-src-5.12.7.tar.xz" +MD5SUM="ce2c5661c028b9de6183245982d7c120" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="libxkbcommon" -- cgit v1.2.3