sqliteman: apply patch for qt5

This commit is contained in:
Chaoting Liu 2018-11-05 16:00:49 +01:00
parent b3714162a1
commit 5ca3ab491a
4 changed files with 404 additions and 14 deletions

346
sqliteman/0001_qt5.patch Normal file
View File

@ -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 <qwidget.h>
-
#include "ui_createviewdialog.h"
-
/*! \brief GUI for view altering
\author Petr Vanek <petr@scribus.info>
*/
@@ -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 <qdialog.h>
-
#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 <qdialog.h>
-
#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 <qwidget.h>
-
#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 << "<tr>";
for (int i = 0; i < m_header.size(); ++i)
- out << "<th>" << m_header.at(i) << "</th>";
+ out << "<th>" << m_header.at(i).toHtmlEscaped() << "</th>";
out << "</tr>" << endl();
}
@@ -234,7 +234,7 @@ bool DataExportDialog::exportHTML()
out << "<tr>";
QSqlRecord r = m_data->record(i);
for (int j = 0; j < m_header.size(); ++j)
- out << "<td>" << r.value(j).toString() << "</td>";
+ out << "<td>" << r.value(j).toString().toHtmlEscaped() << "</td>";
out << "</tr>" << endl();
}
out << "</table>" << endl() << "</body>" << endl() << "</html>";
@@ -256,7 +256,7 @@ bool DataExportDialog::exportExcelXML()
{
out << "<ss:Row ss:StyleID=\"1\">" << endl();
for (int i = 0; i < m_header.size(); ++i)
- out << "<ss:Cell><ss:Data ss:Type=\"String\">" << m_header.at(i) << "</ss:Data></ss:Cell>" << endl();
+ out << "<ss:Cell><ss:Data ss:Type=\"String\">" << m_header.at(i).toHtmlEscaped() << "</ss:Data></ss:Cell>" << endl();
out << "</ss:Row>" << endl();
}
@@ -267,7 +267,7 @@ bool DataExportDialog::exportExcelXML()
out << "<ss:Row>" << endl();
QSqlRecord r = m_data->record(i);
for (int j = 0; j < m_header.size(); ++j)
- out << "<ss:Cell><ss:Data ss:Type=\"String\">" << r.value(j).toString() << "</ss:Data></ss:Cell>" << endl();
+ out << "<ss:Cell><ss:Data ss:Type=\"String\">" << r.value(j).toString().toHtmlEscaped() << "</ss:Data></ss:Cell>" << endl();
out << "</ss:Row>" << 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 <QSqlQuery>
#include <QSqlError>
#include <QHeaderView>
-#include <math.h>
+#include <QtMath>
#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 <list>
#include <algorithm>
-// #include <qstring.h>
#include <QString>
// 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 <QMouseEvent>
#include <QApplication>
+#include <QDrag>
+#include <QMimeData>
#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 <qdialog.h>
+#include <QDialog>
#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 <QObject>
#include <QStringList>

View File

@ -0,0 +1,19 @@
Resolves underlinking issue causing build failure on uclibc.
Author: René Rhéaume <rene.rheaume@gmail.com>
Gentoo-bug: 587076
--- a/sqliteman/CMakeLists.txt
+++ b/sqliteman/CMakeLists.txt
@@ -183,7 +183,10 @@ IF (WIN32)
# don't use console subsystem
IF (MINGW)
TARGET_LINK_LIBRARIES(${EXE_NAME} "-mwindows")
- ENDIF (MINGW)
+ ENDIF (MINGW)
+ELSE (WIN32)
+ FIND_PACKAGE(Threads)
+ TARGET_LINK_LIBRARIES(${EXE_NAME} ${CMAKE_THREAD_LIBS_INIT})
ENDIF (WIN32)

View File

@ -0,0 +1,11 @@
diff -ura sqliteman-1.2.2/CMakeLists.txt sqliteman-1.2.2patched/CMakeLists.txt
--- sqliteman-1.2.2/CMakeLists.txt 2018-09-18 21:32:23.983974807 +0400
+++ sqliteman-1.2.2patched/CMakeLists.txt 2018-09-18 21:46:43.110647913 +0400
@@ -133,6 +133,6 @@
)
INSTALL(FILES
sqliteman/icons/sqliteman.png
- DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/32x32/apps"
)
ENDIF (WIN32)

View File

@ -1,28 +1,42 @@
#
# Apps Packages for Chakra, part of chakra-project.org
#
# maintainer abveritas@chakra-project.org
# contributor Giuseppe calà <jiveaxe@gmail.com>
pkgname=sqliteman
pkgver=1.2.2
pkgrel=4
pkgrel=6
pkgdesc="The best developer's and/or admin's GUI tool for Sqlite3 in the world"
arch=('x86_64')
url="http://sqliteman.sf.net"
url="http://sqliteman.yarpen.cz/"
license=('GPL')
depends=('qt' 'qscintilla')
depends=('qscintilla-qt5')
makedepends=('cmake')
source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz")
md5sums=('5ecdf710e23606e1b924f740ea69306d')
source=("https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
0001_qt5.patch
0002_lpthread.patch
0003_icons.patch)
md5sums=('5ecdf710e23606e1b924f740ea69306d'
'8e0fadd613f819d3814c24c28287c4e4'
'8e24fc6b9231e7307bd6a86af8f4796a'
'7976cef250c2a1fd49607cd5f1cd21d2')
prepare() {
cd ${pkgname}-${pkgver}
for patch in $(ls $srcdir| grep patch); do
patch -p1 -i $srcdir/$patch
done
# remove bundled lib
rm -rf $pkgname/qscintilla2
mkdir $srcdir/build
}
build() {
cd ${srcdir}/${pkgname}-${pkgver}
cmake . -DCMAKE_INSTALL_PREFIX:PATH=/usr
cd build
cmake ../${pkgname}-${pkgver} \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release
make
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}
cd build
make DESTDIR=${pkgdir} install
}