From 3bd264869747532239e7561c407d2442b54e14dc Mon Sep 17 00:00:00 2001 From: Dave Woodfall Date: Sat, 18 May 2019 21:51:46 +0100 Subject: libraries/qt5: Add mysql patch. --- libraries/qt5/explicitly-initialize-sqlite.patch | 217 --------------------- .../qt5/patches/explicitly-initialize-sqlite.patch | 217 +++++++++++++++++++++ libraries/qt5/patches/nss-update-sslv3-nonce.patch | 44 ----- libraries/qt5/patches/qt5.mysql.h.diff | 6 +- libraries/qt5/qt5.SlackBuild | 23 ++- 5 files changed, 238 insertions(+), 269 deletions(-) delete mode 100644 libraries/qt5/explicitly-initialize-sqlite.patch create mode 100644 libraries/qt5/patches/explicitly-initialize-sqlite.patch delete mode 100644 libraries/qt5/patches/nss-update-sslv3-nonce.patch (limited to 'libraries/qt5') diff --git a/libraries/qt5/explicitly-initialize-sqlite.patch b/libraries/qt5/explicitly-initialize-sqlite.patch deleted file mode 100644 index 2773658adc..0000000000 --- a/libraries/qt5/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/explicitly-initialize-sqlite.patch b/libraries/qt5/patches/explicitly-initialize-sqlite.patch new file mode 100644 index 0000000000..2773658adc --- /dev/null +++ b/libraries/qt5/patches/explicitly-initialize-sqlite.patch @@ -0,0 +1,217 @@ +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/nss-update-sslv3-nonce.patch b/libraries/qt5/patches/nss-update-sslv3-nonce.patch deleted file mode 100644 index 1700c226a6..0000000000 --- a/libraries/qt5/patches/nss-update-sslv3-nonce.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -Naur qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc ---- qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc 2015-10-13 04:36:54.000000000 +0000 -+++ qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc 2016-03-15 11:57:53.898988200 +0000 -@@ -66,9 +66,9 @@ - AeadParams* aead_params) const { - aead_params->len = sizeof(aead_params->data.nss_aead_params); - CK_NSS_AEAD_PARAMS* nss_aead_params = &aead_params->data.nss_aead_params; -- nss_aead_params->pIv = -+ nss_aead_params->pNonce = - reinterpret_cast(const_cast(nonce.data())); -- nss_aead_params->ulIvLen = nonce.size(); -+ nss_aead_params->ulNonceLen = nonce.size(); - nss_aead_params->pAAD = - reinterpret_cast(const_cast(associated_data.data())); - nss_aead_params->ulAADLen = associated_data.size(); -diff -Naur qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc ---- qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc 2015-10-13 04:36:54.000000000 +0000 -+++ qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc 2016-03-15 11:57:53.902988200 +0000 -@@ -66,9 +66,9 @@ - AeadParams* aead_params) const { - aead_params->len = sizeof(aead_params->data.nss_aead_params); - CK_NSS_AEAD_PARAMS* nss_aead_params = &aead_params->data.nss_aead_params; -- nss_aead_params->pIv = -+ nss_aead_params->pNonce = - reinterpret_cast(const_cast(nonce.data())); -- nss_aead_params->ulIvLen = nonce.size(); -+ nss_aead_params->ulNonceLen = nonce.size(); - nss_aead_params->pAAD = - reinterpret_cast(const_cast(associated_data.data())); - nss_aead_params->ulAADLen = associated_data.size(); -diff -Naur qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c ---- qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c 2015-10-13 04:36:52.000000000 +0000 -+++ qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c 2016-03-15 12:00:01.376986796 +0000 -@@ -2088,8 +2088,8 @@ - param.len = sizeof(aeadParams); - param.data = (unsigned char *) &aeadParams; - memset(&aeadParams, 0, sizeof(aeadParams)); -- aeadParams.pIv = (unsigned char *) additionalData; -- aeadParams.ulIvLen = 8; -+ aeadParams.pNonce = (unsigned char *) additionalData; -+ aeadParams.ulNonceLen = 8; - aeadParams.pAAD = (unsigned char *) additionalData; - aeadParams.ulAADLen = additionalDataLen; - aeadParams.ulTagLen = tagSize; diff --git a/libraries/qt5/patches/qt5.mysql.h.diff b/libraries/qt5/patches/qt5.mysql.h.diff index 41dc9d34d5..1ac6faacfd 100644 --- a/libraries/qt5/patches/qt5.mysql.h.diff +++ b/libraries/qt5/patches/qt5.mysql.h.diff @@ -1,6 +1,6 @@ -diff -Naur qt-everywhere-opensource-src-5.1.0.orig/qtbase/src/sql/drivers/mysql/qsql_mysql_p.h qt-everywhere-opensource-src-5.1.0/qtbase/src/sql/drivers/mysql/qsql_mysql_p.h ---- qt-everywhere-opensource-src-5.1.0.orig/qtbase/src/sql/drivers/mysql/qsql_mysql_p.h 2013-07-02 07:09:52.000000000 +0000 -+++ qt-everywhere-opensource-src-5.1.0/qtbase/src/sql/drivers/mysql/qsql_mysql_p.h 2013-07-21 21:21:01.190172379 +0000 +diff -Naur qt-everywhere-opensource-src-5.1.0.orig/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h qt-everywhere-opensource-src-5.1.0/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h +--- qt-everywhere-opensource-src-5.1.0.orig/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h 2013-07-02 07:09:52.000000000 +0000 ++++ qt-everywhere-opensource-src-5.1.0/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h 2013-07-21 21:21:01.190172379 +0000 @@ -60,7 +60,7 @@ #include #endif diff --git a/libraries/qt5/qt5.SlackBuild b/libraries/qt5/qt5.SlackBuild index 8a1046f062..6d36e054f0 100644 --- a/libraries/qt5/qt5.SlackBuild +++ b/libraries/qt5/qt5.SlackBuild @@ -51,7 +51,7 @@ PRGNAM=qt5 VERSION=${VERSION:-5.9.8} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -122,6 +122,7 @@ elif [ "$ARCH" = "i686" ]; then elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" + SLKLDFLAGS="-L/usr/lib64" elif [ "$ARCH" = "armv7hl" ]; then # To prevent "qatomic_armv6.h error: output number 2 not directly addressable" # More permanent solution is to patch gcc: @@ -164,17 +165,29 @@ else RELOCATIONS="" fi -sed -i "s|-O2|$SLKCFLAGS|" qtbase/mkspecs/common/gcc-base.conf - # Patch to fix renderer crash on some sites with 5.9.8: # https://bugreports.qt.io/browse/QTBUG-75853 if [ "$WEBENGINE" = "yes" ]; then ( cd qtwebengine/src/3rdparty - patch -p1 <$CWD/explicitly-initialize-sqlite.patch - ) + cat $CWD/patches/explicitly-initialize-sqlite.patch \ + | patch -p1 --verbose + ) || exit 1 fi +# Borrowed a few things from alienBOB: +# Fix path to mysql header: +cat $CWD/patches/qt5.mysql.h.diff | patch -p1 --verbose + +# Fix missing private includes: QTBUG-37417 +sed -e '/CMAKE_NO_PRIVATE_INCLUDES\ \=\ true/d' \ + -i qtbase/mkspecs/features/create_cmake.prf + +# Use our custom compiler and linker flags: +sed -i -re "s,-O(2|3),$SLKCFLAGS," qtbase/mkspecs/common/gcc-base.conf +sed -i -e "/^QMAKE_LFLAGS\s/s,+=,+= $SLKLDFLAGS,g" \ + qtbase/mkspecs/common/gcc-base.conf + export CFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS -std=c++11" ./configure -v \ -- cgit v1.2.3