summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Dave Woodfall2020-04-06 01:50:54 +0200
committer Dave Woodfall2020-04-06 05:09:17 +0200
commit1c4cb7751c0fc256154bde487b02605a45133282 (patch)
tree81f921b0ea787c543c2cd5bb3e9d7b726032049e
parent439e402d43c27f19205c969909f10657d201b720 (diff)
downloadslackbuilds-1c4cb7751c0fc256154bde487b02605a45133282.tar.gz
libraries/qt5-legacy: Update to 5.9.9.
-rw-r--r--libraries/qt5-legacy/README100
-rw-r--r--libraries/qt5-legacy/README.ccache46
-rw-r--r--libraries/qt5-legacy/patches/explicitly-initialize-sqlite.patch217
-rw-r--r--libraries/qt5-legacy/patches/nss-update-sslv3-nonce.patch44
-rw-r--r--libraries/qt5-legacy/patches/qt5.mysql.h.diff6
-rw-r--r--libraries/qt5-legacy/qt5-legacy.SlackBuild137
-rw-r--r--libraries/qt5-legacy/qt5-legacy.info10
-rw-r--r--libraries/qt5-legacy/slack-desc6
8 files changed, 453 insertions, 113 deletions
diff --git a/libraries/qt5-legacy/README b/libraries/qt5-legacy/README
index eefa1df469..5a5ed06ccc 100644
--- a/libraries/qt5-legacy/README
+++ b/libraries/qt5-legacy/README
@@ -1,24 +1,94 @@
-Qt is a cross-platform C++ application framework. Qt's primary feature
-is its rich set of widgets that provide standard GUI functionality.
+Qt is a cross-platform C++ application framework. Qt's
+primary feature is its rich set of widgets that provide
+standard GUI functionality.
-This builds the legacy 5.7.1 version.
+The following are optional dependencies that Qt will link
+against if they are detected at build time:
-Optional dependencies: unixodbc, freetds, OpenAL, libwebp, opus, snappy,
-wayland, and postgresql
+libwebp opus pcre2 snappy libinput
-Optional dependencies: openvg and firebird (not available
-at slackbuilds.org)
+============================================================
-Note1: To build documentation pass DOCS=yes to the slackbuild
+OPTIONS
- DOCS=yes ./qt5-legacy.SlackBuild
+To use Qt's built-in ccache option:
-Note2: To build examples pass EXAMPLES=yes to the slackbuild
+ CCACHE=yes ./qt5.SlackBuild
- EXAMPLES=yes ./qt5-legacy.SlackBuild
+To build the documentation:
-Note3: To build support for proprietary media codecs (note that this
-will produce a non-redistributable package in some countries) pass
-PROPRIETARY_CODECS=yes to the slackbuild
+ DOCS=yes ./qt5.SlackBuild
- PROPRIETARY_CODECS=yes ./qt5-legacy.SlackBuild
+To build the examples:
+
+ EXAMPLES=yes ./qt5.SlackBuild
+
+To build support for proprietary media codecs:
+
+ PROPRIETARY_CODECS=yes ./qt5.SlackBuild
+
+(this will produce a non-redistributable package in some
+countries)
+
+To disable support for pulseaudio:
+
+ PULSEAUDIO=no ./qt5.SlackBuild
+
+(Qt will automatically detect if pulseaudio is not installed
+at build time and disable it if it is missing.)
+
+To NOT build qtwebengine (EXPERIMENTAL):
+
+ WEBENGINE=no ./qt5.SlackBuild
+
+
+Combine any or all of the above.
+
+============================================================
+
+GENERAL NOTES
+
+After upgrading Qt5 it is important to rebuild qt5ct too, if
+it is installed, or some applications may not display or
+function correctly.
+
+There is a qt5-legacy (5.7.1) SlackBuild that is available
+for older applications that do not run correctly with this
+version. However it will not coexist with this version.
+
+Please report any problems about applications that don't
+work correctly to the Qt5 maintainer or to the mailing list.
+
+============================================================
+
+NOTES ON OPTIONS
+
+* Using ccache should speed up subsequent rebuilds, but may
+ be slower for first time or one-off builds.
+
+* Building the documentation and/or examples creates a
+ significantly larger package.
+
+* Successfully tested so far without webengine (VERY quick
+ tests):
+
+ QMPlay2
+ qt5ct
+ qbittorrent-qt5
+ speedcrunch
+ qca-qt5
+ psi-plus
+ sddm
+
+============================================================
+
+BUILDING WITHOUT WEBENGINE
+
+YMMV whether it works with an application or not, but if you
+have no intention of using the browser code, which includes
+a chunk of 3rd party Google Chromium source, then it may
+make sense to skip it and save yourself about 2/3 of the
+build time.
+
+The package version has _nowebengine appended to it for
+clarity.
diff --git a/libraries/qt5-legacy/README.ccache b/libraries/qt5-legacy/README.ccache
new file mode 100644
index 0000000000..1053bcc5c9
--- /dev/null
+++ b/libraries/qt5-legacy/README.ccache
@@ -0,0 +1,46 @@
+NOTES ON SETTING UP CCACHE
+
+Using ccache can save a lot of time when building packages,
+and this is not limited to Qt5. Ccache is installed by
+default on stock Slackware.
+
+ccache(1) has a lot of useful info on using ccache, however
+I don't recommend using its method of symlinking. Instead I
+recommend the following way:
+
+mkdir -p /usr/local/bin
+ln -s /usr/bin/ccache /usr/local/bin/cc
+ln -s /usr/bin/ccache /usr/local/bin/c++
+ln -s /usr/bin/ccache /usr/local/bin/gcc
+ln -s /usr/bin/ccache /usr/local/bin/g++
+
+Doing it this way rather than copying the ccache binary as
+the man page suggests will ensure that the ccache used is
+updated whenever the ccache package is.
+
+The cache is created in the home directory of the user using
+it, and since slackbuilds are run by root that will be in
+/root/.ccache, therefore ensure that you have enough free
+space on the root file system for it. It is possible to put
+the cache directory elsewhere though. See the man page for
+info. But it would probably be fastest when on the same
+file system as the build directory.
+
+It's also possible to host the cache on a shared NFS
+directory, but be sure to test the speed before committing
+to that. The man page has some notes on this.
+
+Since Qt5 can take a lot of build space I recommend a max
+cache size of AT LEAST 6 GB. If you intend to use it all
+the time then use as much as you can. The default size is
+5 GB. I use 20 GB on my main build box, but use 7 GB on
+workstations and servers.
+
+Handy commands:
+
+ccache -s: To show some statistics.
+ccache -M <N>: To set the max cache size to N.
+
+(use G for GB with -M.)
+
+Last updated Mon 10 Dec 03:46:41 UTC 2018
diff --git a/libraries/qt5-legacy/patches/explicitly-initialize-sqlite.patch b/libraries/qt5-legacy/patches/explicitly-initialize-sqlite.patch
new file mode 100644
index 0000000000..2773658adc
--- /dev/null
+++ b/libraries/qt5-legacy/patches/explicitly-initialize-sqlite.patch
@@ -0,0 +1,217 @@
+From 9bab2acc924790b0a01a08e76f9216acc2d6528b Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+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 <juri.valdmann@qt.io>
+---
+ .../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<sqlite3_vfs*>(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<sqlite3_vfs*>(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<sqlite3_vfs*>(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<sqlite3_vfs*>(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-legacy/patches/nss-update-sslv3-nonce.patch b/libraries/qt5-legacy/patches/nss-update-sslv3-nonce.patch
deleted file mode 100644
index 1700c226a6..0000000000
--- a/libraries/qt5-legacy/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<CK_BYTE*>(const_cast<char*>(nonce.data()));
-- nss_aead_params->ulIvLen = nonce.size();
-+ nss_aead_params->ulNonceLen = nonce.size();
- nss_aead_params->pAAD =
- reinterpret_cast<CK_BYTE*>(const_cast<char*>(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<CK_BYTE*>(const_cast<char*>(nonce.data()));
-- nss_aead_params->ulIvLen = nonce.size();
-+ nss_aead_params->ulNonceLen = nonce.size();
- nss_aead_params->pAAD =
- reinterpret_cast<CK_BYTE*>(const_cast<char*>(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-legacy/patches/qt5.mysql.h.diff b/libraries/qt5-legacy/patches/qt5.mysql.h.diff
index 41dc9d34d5..1ac6faacfd 100644
--- a/libraries/qt5-legacy/patches/qt5.mysql.h.diff
+++ b/libraries/qt5-legacy/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 <QtCore/qt_windows.h>
#endif
diff --git a/libraries/qt5-legacy/qt5-legacy.SlackBuild b/libraries/qt5-legacy/qt5-legacy.SlackBuild
index 88e35e600c..3418558ffb 100644
--- a/libraries/qt5-legacy/qt5-legacy.SlackBuild
+++ b/libraries/qt5-legacy/qt5-legacy.SlackBuild
@@ -2,7 +2,8 @@
# Slackware build script for qt5-legacy
-# Maintained 2018- by Dave Woodfall <dave@slackbuilds.org>
+# Update for 5.9.6-5.9.9 by David Woodfall <dave@slackbuilds.org>
+#
# Copyright 2013-2017 Larry Hajali <larryhaja[at]gmail[dot]com>
# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
@@ -46,10 +47,12 @@
# This is the highly modified version qt.SlackBuild found in Slackware
# tailored to Qt 5. Modified by Larry Hajali.
+# Adapted for Qt 5.9.6 by David Woodfall
+
PRGNAM=qt5-legacy
-LIBNAM=qt5
-SRCNAM=qt-everywhere-opensource-src
-VERSION=${VERSION:-5.7.1}
+LIBNAM=${PRGNAM%%-*}
+SRCNAM=${PRGNAM%%5*}
+VERSION=${VERSION:-5.9.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -66,6 +69,52 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
+EXAMPLES=${EXAMPLES:-no}
+DOCS=${DOCS:-no}
+PROPRIETARY_CODECS=${PROPRIETARY_CODECS:-no}
+PULSEAUDIO=${PULSEAUDIO:-yes}
+CCACHE=${CCACHE:-no}
+WEBENGINE=${WEBENGINE:-yes}
+
+printf "\n%s\n\n" "SlackBuild Options:"
+printf "%s\n" "CCACHE: $CCACHE"
+printf "%s\n" "DOCS: $DOCS"
+printf "%s\n" "EXAMPLES: $EXAMPLES"
+printf "%s\n" "PROPRIETARY_CODECS: $PROPRIETARY_CODECS"
+printf "%s\n" "PULSEAUDIO: $PULSEAUDIO"
+printf "%s\n" "WEBENGINE: $WEBENGINE"
+printf "\n"
+
+# Default is no.
+if [ "$EXAMPLES" == "yes" ]; then
+ BUILD_EXAMPLES=""
+else
+ BUILD_EXAMPLES="-nomake examples"
+fi
+
+# Default is yes.
+if [ "$PULSEAUDIO" = "no" ]; then
+ PULSE="-no-pulseaudio"
+fi
+
+# Default is no.
+if [ "$CCACHE" = "yes" ]; then
+ CCACHE="-ccache"
+else
+ unset CCACHE
+fi
+
+if [ "$WEBENGINE" = "no" ]; then
+ EXCLUDE="--exclude=qtweb*"
+ PKGVERSION="${VERSION}_nowebengine"
+else
+ PKGVERSION="${VERSION}"
+ # Note that this changes to -webengine-proprietary-codecs in later versions
+ if [ "$PROPRIETARY_CODECS" = "yes" ]; then
+ CODECS="-proprietary-codecs"
+ fi
+fi
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
@@ -75,6 +124,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:
@@ -86,30 +136,21 @@ else
LIBDIRSUFFIX=""
fi
-# http://doc.qt.io/qt-5/qtwebengine-platform-notes.html#audio-and-video-codec-support
-PRCOD=""
-[ "$PROPRIETARY_CODECS" = "yes" ] && PRCOD="WEBENGINE_CONFIG += use_proprietary_codecs"
-
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.xz
-cd $SRCNAM-$VERSION
+echo "Removing any existing source directory. Please wait..."
+rm -rf ${SRCNAM}-everywhere-opensource-src-$VERSION
+tar xvf $CWD/${SRCNAM}-everywhere-opensource-src-$VERSION.tar.xz $EXCLUDE
+cd ${SRCNAM}-everywhere-opensource-src-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
+ -o -perm 511 \) -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-
-# Slackware patch to build against MySQL/MariaDB.
-patch -p1 < $CWD/patches/qt5.mysql.h.diff
-
-# Patch for the newer mozilla-nss
-patch -p1 < $CWD/patches/nss-update-sslv3-nonce.patch
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
# Limit -reduce-relocations to ix86 and x86_64.
# https://bugreports.qt-project.org/browse/QTBUG-36129
@@ -119,19 +160,25 @@ else
RELOCATIONS=""
fi
-sed -i "s|-O2|$SLKCFLAGS|" qtbase/mkspecs/common/gcc-base.conf
+# Borrowed a few things from alienBOB:
+# Fix path to mysql header:
+cat $CWD/patches/qt5.mysql.h.diff | patch -p1 --verbose
-# Build examples. Default is no.
-if [ "${EXAMPLES:-no}" == "yes" ]; then
- BUILD_EXAMPLES=""
-else
- BUILD_EXAMPLES="-nomake examples"
-fi
+# 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
-echo "$PRCOD" >> qtwebengine/.qmake.conf
+if [ "$ARCH" = "x86_64" ]; then
+ sed -i -e "/^QMAKE_LFLAGS\s/s,+=,+= $SLKLDFLAGS,g" \
+ qtbase/mkspecs/common/gcc-base.conf
+ export LDFLAGS="$SLKLDFLAGS"
+fi
export CFLAGS="$SLKCFLAGS"
-export CXXFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS -std=c++11"
./configure -v \
-confirm-license \
-opensource \
@@ -144,12 +191,10 @@ export CXXFLAGS="$SLKCFLAGS"
-system-libjpeg \
-system-zlib \
-system-sqlite \
- -system-pcre \
-plugin-sql-sqlite \
-icu \
- -openssl \
+ -openssl-linked \
-verbose \
- -optimized-qmake \
-dbus-linked \
-qpa xcb \
-xcb \
@@ -161,7 +206,10 @@ export CXXFLAGS="$SLKCFLAGS"
-no-strip \
-release \
-no-use-gold-linker \
- -pulseaudio \
+ -c++std c++11 \
+ $CCACHE \
+ $CODECS \
+ $PULSE \
$RELOCATIONS \
$BUILD_EXAMPLES
@@ -169,7 +217,7 @@ make
make install INSTALL_ROOT=$PKG
# Install documentation. Default is not to install documentation.
-if [ "${DOCS:-no}" == "yes" ]; then
+if [ "$DOCS" == "yes" ]; then
# Recreate Makefiles in order to use the just compiled qdoc.
for doc in $(find . -name "Makefile*" | xargs egrep "^\s/usr/lib${LIBDIRSUFFIX}/qt5/bin/" \
| cut -d':' -f1 | uniq)
@@ -183,17 +231,15 @@ fi
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-ln -s $LIBNAM $PKG/usr/lib${LIBDIRSUFFIX}/qt-$VERSION
-
mkdir -p $PKG/usr/bin
for BIN in $PKG/usr/lib${LIBDIRSUFFIX}/$LIBNAM/bin/*; do
TMP_FILE=$(echo $BIN | sed -e "s|$PKG||")
case $(basename $BIN) in
syncqt.pl|fixqt4headers.pl)
- ln -s $TMP_FILE $PKG/usr/bin/$(basename $BIN)
+ ln -vs $TMP_FILE $PKG/usr/bin/$(basename $BIN)
;;
*)
- ln -s $TMP_FILE $PKG/usr/bin/$(basename $BIN)-$LIBNAM
+ ln -vs $TMP_FILE $PKG/usr/bin/$(basename $BIN)-$LIBNAM
;;
esac
done
@@ -229,11 +275,13 @@ Description: Qt5 Configuration
Version: $VERSION
EOF
-# Fix internal linking for Qt5WebEngineCore.pc.
-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
+if [ "$WEBENGINE" = "yes" ]; then
+ # Fix internal linking for Qt5WebEngineCore.pc.
+ 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
# While we are at it, there isn't any reason to keep references to $PKG in the *.prl files.
for PRL in $(find $PKG -name "*\.prl"); do
@@ -269,6 +317,7 @@ find $PKG \( -name "*.qml" -o -name "*.app" \) -perm 755 -exec chmod 644 '{}' \;
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
README qtbase/{header*,LGPL_EXCEPTION.txt,LICENSE.*L} \
+ $CWD/README.benchmarks $CWD/README.ccache \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
@@ -277,4 +326,6 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKGVERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+
+# vim: expandtab
diff --git a/libraries/qt5-legacy/qt5-legacy.info b/libraries/qt5-legacy/qt5-legacy.info
index b2eac2c0f0..fc02ef7b03 100644
--- a/libraries/qt5-legacy/qt5-legacy.info
+++ b/libraries/qt5-legacy/qt5-legacy.info
@@ -1,10 +1,10 @@
PRGNAM="qt5-legacy"
-VERSION="5.7.1"
+VERSION="5.9.9"
HOMEPAGE="http://qt-project.org/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/qt-everywhere-opensource-src-5.7.1.tar.xz"
-MD5SUM="7524ffba8411119d867f673155ec91bc"
+DOWNLOAD="https://download.qt.io/official_releases/qt/5.9/5.9.9/single/qt-everywhere-opensource-src-5.9.9.tar.xz"
+MD5SUM="97e81709b57e82ab2b279408eaa9270e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libxkbcommon libinput"
-MAINTAINER="David Woodfall"
+REQUIRES="libxkbcommon"
+MAINTAINER="Dave Woodfall"
EMAIL="dave@slackbuilds.org"
diff --git a/libraries/qt5-legacy/slack-desc b/libraries/qt5-legacy/slack-desc
index d5abcfd6c0..6b0c96cca0 100644
--- a/libraries/qt5-legacy/slack-desc
+++ b/libraries/qt5-legacy/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-qt5-legacy: qt5-legacy (a multi-platform C++ graphical user interface toolkit)
+qt5-legacy: qt5 (a multi-platform C++ graphical user interface toolkit)
qt5-legacy:
qt5-legacy: Qt is a cross-platform C++ application framework. Qt's primary feature
qt5-legacy: is its rich set of widgets that provide standard GUI functionality.
qt5-legacy:
-qt5-legacy: This is the legacy 5.7.1 version of qt5
-qt5-legacy:
qt5-legacy: Homepage: http://qt-project.org
qt5-legacy:
qt5-legacy:
qt5-legacy:
+qt5-legacy:
+qt5-legacy: