From b82b43ae3be416fb7597abaaaed2d57f1bafa89b Mon Sep 17 00:00:00 2001 From: Matteo Bernardini Date: Sat, 26 Feb 2022 14:44:13 +0100 Subject: development/sqliteman: Use qt5. Signed-off-by: Matteo Bernardini Signed-off-by: Willy Sudiarto Raharjo --- development/sqliteman/0001_qt5.patch | 346 +++++++++++++++++++++++++++++ development/sqliteman/sqliteman.SlackBuild | 9 +- 2 files changed, 352 insertions(+), 3 deletions(-) create mode 100644 development/sqliteman/0001_qt5.patch diff --git a/development/sqliteman/0001_qt5.patch b/development/sqliteman/0001_qt5.patch new file mode 100644 index 0000000000000..ebc571a33981d --- /dev/null +++ b/development/sqliteman/0001_qt5.patch @@ -0,0 +1,346 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d9fd041..f589bfe 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -101,28 +101,7 @@ + + +-SET (QT_MT_REQUIRED true) +-SET (QT_MIN_VERSION "4.2.0") ++SET (QT_MIN_VERSION "5.7.1") +-SET( QT_USE_QTSQL TRUE ) +-SET( QT_USE_QTXML TRUE ) +-FIND_PACKAGE( Qt4 REQUIRED ) +-MESSAGE(STATUS Qt4 version: ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}) +-# suggest Qt upgrade +-if (QT_VERSION_MINOR LESS 3) +- MESSAGE(STATUS "") +- MESSAGE(STATUS "__ BIG FAT WARNING! _______________________________") +- MESSAGE(STATUS "Your Qt version seems older than it should be.") +- MESSAGE(STATUS "Althought will be Sqliteman compilled successfully,") +- MESSAGE(STATUS "it will be limited in its features.") +- MESSAGE(STATUS "There are some important bugs in older Qt versions.") +- MESSAGE(STATUS "Please upgrade to the current Qt version.") +- MESSAGE(STATUS "___________________________________________________") +- MESSAGE(STATUS "") +-endif (QT_VERSION_MINOR LESS 3) +-MESSAGE(STATUS Qt4 includes: ${QT_INCLUDES}) +-MESSAGE(STATUS Qt4 libs: ${QT_LIBRARY_DIR}) +- +-INCLUDE( ${QT_USE_FILE} ) +- ++FIND_PACKAGE( Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Sql Widgets ) + + IF (WANT_INTERNAL_QSCINTILLA) + MESSAGE(STATUS "QSci: Building with internal copy of QScintilla.") +diff --git a/cmake/modules/FindQScintilla.cmake b/cmake/modules/FindQScintilla.cmake +index c4592d0..92754b4 100644 +--- a/cmake/modules/FindQScintilla.cmake ++++ b/cmake/modules/FindQScintilla.cmake +@@ -10,22 +10,19 @@ + # + # Redistribution and use is allowed according to the terms of the FreeBSD license. + +-IF(NOT QT4_FOUND) +- INCLUDE(FindQt4) +-ENDIF(NOT QT4_FOUND) +- + SET(QSCINTILLA_FOUND FALSE) + +-IF(QT4_FOUND) +- FIND_PATH(QSCINTILLA_INCLUDE_DIR qsciglobal.h +- "${QT_INCLUDE_DIR}/Qsci" /usr/include /usr/include/Qsci ++IF(Qt5_FOUND) ++ FIND_PATH(QSCINTILLA_INCLUDE_DIR qsciglobal.h ++ HINTS ${Qt5Core_INCLUDE_DIRS} ++ PATH_SUFFIXES Qsci + ) + +- SET(QSCINTILLA_NAMES ${QSCINTILLA_NAMES} qscintilla2 libqscintilla2) +- FIND_LIBRARY(QSCINTILLA_LIBRARY +- NAMES ${QSCINTILLA_NAMES} +- PATHS ${QT_LIBRARY_DIR} +- ) ++ SET(QSCINTILLA_NAMES ${QSCINTILLA_NAMES} qscintilla2 libqscintilla2 qscintilla2_qt5 libqscintilla2_qt5) ++ FIND_LIBRARY(QSCINTILLA_LIBRARY ++ NAMES ${QSCINTILLA_NAMES} ++ HINTS ${Qt5Core_LIBRARIES} ++ ) + + IF (QSCINTILLA_LIBRARY AND QSCINTILLA_INCLUDE_DIR) + +@@ -41,7 +34,7 @@ IF(QT4_FOUND) + ENDIF (CYGWIN) + + ENDIF (QSCINTILLA_LIBRARY AND QSCINTILLA_INCLUDE_DIR) +-ENDIF(QT4_FOUND) ++ENDIF(Qt5_FOUND) + + IF (QSCINTILLA_FOUND) + IF (NOT QScintilla_FIND_QUIETLY) +diff --git a/sqliteman/CMakeLists.txt b/sqliteman/CMakeLists.txt +index c9154a7..13397ee 100644 +--- a/sqliteman/CMakeLists.txt ++++ b/sqliteman/CMakeLists.txt +@@ -139,12 +139,12 @@ IF (WANT_RESOURCES) + ) + ENDIF (WANT_RESOURCES) + SET (SQLITEMAN_RCS ${SQLITEMAN_RCS} api/api.qrc) +-QT4_ADD_RESOURCES( SQLITEMAN_RC_RCS ${SQLITEMAN_RCS} ) ++QT5_ADD_RESOURCES( SQLITEMAN_RC_RCS ${SQLITEMAN_RCS} ) + + +-QT4_WRAP_UI( SQLITEMAN_UI_HDRS ${SQLITEMAN_UI} ) ++QT5_WRAP_UI( SQLITEMAN_UI_HDRS ${SQLITEMAN_UI} ) + +-QT4_WRAP_CPP( SQLITEMAN_MOC_SRC ${SQLITEMAN_MOC} ) ++QT5_WRAP_CPP( SQLITEMAN_MOC_SRC ${SQLITEMAN_MOC} ) + + INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR} ) + INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR}/sqliteman ) +@@ -157,10 +157,13 @@ IF (WANT_INTERNAL_QSCINTILLA) + ${CMAKE_SOURCE_DIR}/sqliteman/qscintilla2/Qt4/Qsci + ) + ELSE (WANT_INTERNAL_QSCINTILLA) +- INCLUDE_DIRECTORIES( ${QSCINTILLA_INCLUDE_DIR} ) ++ INCLUDE_DIRECTORIES( ++ ${QSCINTILLA_INCLUDE_DIR} ++ ${Qt5Widgets_INCLUDE_DIRS} ++ ${Qt5Sql_INCLUDE_DIRS} ++ ) + ENDIF (WANT_INTERNAL_QSCINTILLA) + +- + IF (MSVC) + # this is a must to switch off subsystem:console (console window poping up) + # WinMain wrapper from QT_QTMAIN_LIBRARY is used and liner must be modified +@@ -178,6 +181,6 @@ ADD_EXECUTABLE( ${EXE_NAME} ${WIN32_SUBSYSTEM} + ) + +-TARGET_LINK_LIBRARIES( ${EXE_NAME} ${QT_LIBRARIES}) # ${POPULATOR_LIB}) ++TARGET_LINK_LIBRARIES( ${EXE_NAME} Qt5::Widgets Qt5::Sql ) + + IF (WIN32) + # don't use console subsystem +diff --git a/sqliteman/alterviewdialog.h b/sqliteman/alterviewdialog.h +index 31407f9..b014473 100644 +--- a/sqliteman/alterviewdialog.h ++++ b/sqliteman/alterviewdialog.h +@@ -8,11 +8,8 @@ for which a new license (GPL+exception) is in place. + #ifndef ALTERVIEWDIALOG_H + #define ALTERVIEWDIALOG_H + +-#include +- + #include "ui_createviewdialog.h" + +- + /*! \brief GUI for view altering + \author Petr Vanek + */ +@@ -22,10 +19,10 @@ class AlterViewDialog : public QDialog + + public: + AlterViewDialog(const QString & name, const QString & schema, QWidget * parent = 0); +- ~AlterViewDialog(){}; ++ ~AlterViewDialog(){} + + bool update; +- void setText(const QString & text) { ui.sqlEdit->setText(text); }; ++ void setText(const QString & text) { ui.sqlEdit->setText(text); } + + private: + Ui::CreateViewDialog ui; +diff --git a/sqliteman/analyzedialog.h b/sqliteman/analyzedialog.h +index 4b871cf..3f4302e 100644 +--- a/sqliteman/analyzedialog.h ++++ b/sqliteman/analyzedialog.h +@@ -8,8 +8,6 @@ for which a new license (GPL+exception) is in place. + #ifndef ANALYZEDIALOG_H + #define ANALYZEDIALOG_H + +-#include +- + #include "ui_analyzedialog.h" + + +@@ -23,7 +21,7 @@ class AnalyzeDialog : public QDialog + + public: + AnalyzeDialog(QWidget * parent = 0); +- ~AnalyzeDialog(){}; ++ ~AnalyzeDialog(){} + + private: + Ui::AnalyzeDialog ui; +diff --git a/sqliteman/constraintsdialog.h b/sqliteman/constraintsdialog.h +index 6ab19c7..61485bb 100644 +--- a/sqliteman/constraintsdialog.h ++++ b/sqliteman/constraintsdialog.h +@@ -8,8 +8,6 @@ for which a new license (GPL+exception) is in place. + #ifndef CONSTRAINTSDIALOG_H + #define CONSTRAINTSDIALOG_H + +-#include +- + #include "ui_constraintsdialog.h" + + +@@ -23,7 +21,7 @@ class ConstraintsDialog : public QDialog + + public: + ConstraintsDialog(const QString & tabName, const QString & schema, QWidget * parent = 0); +- ~ConstraintsDialog(){}; ++ ~ConstraintsDialog(){} + + bool update; + +diff --git a/sqliteman/createindexdialog.h b/sqliteman/createindexdialog.h +index 9c75b35..186a46a 100644 +--- a/sqliteman/createindexdialog.h ++++ b/sqliteman/createindexdialog.h +@@ -8,8 +8,6 @@ for which a new license (GPL+exception) is in place. + #ifndef INDEXDIALOG_H + #define INDEXDIALOG_H + +-#include +- + #include "ui_createindexdialog.h" + + +@@ -27,7 +25,7 @@ class CreateIndexDialog : public QDialog + \param parent standard Qt parent + */ + CreateIndexDialog(const QString & tabName, const QString & schema, QWidget * parent = 0); +- ~CreateIndexDialog(){}; ++ ~CreateIndexDialog(){} + + bool update; + +diff --git a/sqliteman/dataexportdialog.cpp b/sqliteman/dataexportdialog.cpp +index 7ad5d03..ee77b25 100644 +--- a/sqliteman/dataexportdialog.cpp ++++ b/sqliteman/dataexportdialog.cpp +@@ -223,7 +223,7 @@ bool DataExportDialog::exportHTML() + { + out << ""; + for (int i = 0; i < m_header.size(); ++i) +- out << "" << m_header.at(i) << ""; ++ out << "" << m_header.at(i).toHtmlEscaped() << ""; + out << "" << endl(); + } + +@@ -234,7 +234,7 @@ bool DataExportDialog::exportHTML() + out << ""; + QSqlRecord r = m_data->record(i); + for (int j = 0; j < m_header.size(); ++j) +- out << "" << r.value(j).toString() << ""; ++ out << "" << r.value(j).toString().toHtmlEscaped() << ""; + out << "" << endl(); + } + out << "" << endl() << "" << endl() << ""; +@@ -256,7 +256,7 @@ bool DataExportDialog::exportExcelXML() + { + out << "" << endl(); + for (int i = 0; i < m_header.size(); ++i) +- out << "" << m_header.at(i) << "" << endl(); ++ out << "" << m_header.at(i).toHtmlEscaped() << "" << endl(); + out << "" << endl(); + } + +@@ -267,7 +267,7 @@ bool DataExportDialog::exportExcelXML() + out << "" << endl(); + QSqlRecord r = m_data->record(i); + for (int j = 0; j < m_header.size(); ++j) +- out << "" << r.value(j).toString() << "" << endl(); ++ out << "" << r.value(j).toString().toHtmlEscaped() << "" << endl(); + out << "" << endl(); + } + +diff --git a/sqliteman/populatordialog.cpp b/sqliteman/populatordialog.cpp +index 1e55f63..8e6e246 100644 +--- a/sqliteman/populatordialog.cpp ++++ b/sqliteman/populatordialog.cpp +@@ -7,7 +7,7 @@ for which a new license (GPL+exception) is in place. + #include + #include + #include +-#include ++#include + + #include "populatordialog.h" + #include "populatorcolumnwidget.h" +--- a/sqliteman/shortcutmodel.cpp ++++ b/sqliteman/shortcutmodel.cpp +@@ -45,7 +45,7 @@ QVariant ShortcutModel::data(const QModelIndex & index, int role) const + return QVariant(index.column() == 0 ? m_values.at(index.row()).first : m_values.at(index.row()).second); + } + if (role == Qt::BackgroundRole && index.column() == 0 && m_values.at(index.row()).first.isEmpty()) +- return QVariant(Qt::red); ++ return QVariant(QColor(Qt::red)); + return QVariant(); + } + +diff --git a/sqliteman/sqlmodels.cpp b/sqliteman/sqlmodels.cpp +index 178b2e7..82d1f0c 100644 +--- a/sqliteman/sqlmodels.cpp ++++ b/sqliteman/sqlmodels.cpp +@@ -47,7 +47,7 @@ QVariant SqlTableModel::data(const QModelIndex & item, int role) const + + // mark rows prepared for a deletion in this trasnaction + if (role == Qt::BackgroundColorRole && m_deleteCache.contains(item.row())) +- return QVariant(Qt::red); ++ return QVariant(QColor(Qt::red)); + + // nulls + if (m_useNull && curr.isNull()) +diff --git a/sqliteman/sqlparser/tosqlparse.h b/sqliteman/sqlparser/tosqlparse.h +index 3424fa2..678df90 100644 +--- a/sqliteman/sqlparser/tosqlparse.h ++++ b/sqliteman/sqlparser/tosqlparse.h +@@ -50,7 +50,6 @@ This file is based on the TOra source code. http://tora.sf.net + + #include + #include +-// #include + #include + + // class toConnection; +diff --git a/sqliteman/tabletree.cpp b/sqliteman/tabletree.cpp +index 339e259..f4ab00c 100644 +--- a/sqliteman/tabletree.cpp ++++ b/sqliteman/tabletree.cpp +@@ -6,6 +6,8 @@ for which a new license (GPL+exception) is in place. + */ + #include + #include ++#include ++#include + + #include "database.h" + #include "tabletree.h" +diff --git a/sqliteman/vacuumdialog.h b/sqliteman/vacuumdialog.h +index cac27f1..5e25214 100644 +--- a/sqliteman/vacuumdialog.h ++++ b/sqliteman/vacuumdialog.h +@@ -8,7 +8,7 @@ for which a new license (GPL+exception) is in place. + #ifndef VACUUMDIALOG_H + #define VACUUMDIALOG_H + +-#include ++#include + + #include "ui_vacuumdialog.h" + +diff --git a/sqliteman/sqliteprocess.h b/sqliteman/sqliteprocess.h +index aaa60ca..5bec5b0 100644 +--- a/sqliteman/sqliteprocess.h ++++ b/sqliteman/sqliteprocess.h +@@ -8,6 +8,7 @@ for which a new license (GPL+exception) is in place. + #ifndef SQLITEPROCESS_H + #define SQLITEPROCESS_H + ++#include + #include + + diff --git a/development/sqliteman/sqliteman.SlackBuild b/development/sqliteman/sqliteman.SlackBuild index f9ed88438fefd..62136a44b71ab 100644 --- a/development/sqliteman/sqliteman.SlackBuild +++ b/development/sqliteman/sqliteman.SlackBuild @@ -31,7 +31,7 @@ PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -49,8 +49,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -78,6 +78,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# Thankx Archlinux! +patch -p1 < $CWD/0001_qt5.patch + cmake \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -- cgit v1.2.3