summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSammysHP2018-09-24 14:12:05 +0200
committerSammysHP2018-09-24 14:14:56 +0200
commit6b041dc53814c4f0d2259df714a6732b2663cb20 (patch)
tree47d7dd6dca1788fa1db7b16b2bbd2dc1dc193908
parentfb7c3b3c5e8d60303eaa827ac0acf6f602aa326c (diff)
downloadaur-sqliteman.tar.gz
qt5 compatibility
The patches are taken from Gentoo [1]. Thanks to simplexe who made me aware of these patches and for sending me a patched PKGBUILD (which I have modified slightly). [1] https://packages.gentoo.org/packages/dev-db/sqliteman
-rw-r--r--.SRCINFO12
-rw-r--r--0001_qt5.patch346
-rw-r--r--0002_lpthread.patch19
-rw-r--r--0003_icons.patch11
-rw-r--r--PKGBUILD26
-rw-r--r--sqliteman-qscintilla-2.10.patch11
6 files changed, 403 insertions, 22 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8fcf11d09b26..9b920a1453a4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,17 +1,21 @@
pkgbase = sqliteman
pkgdesc = Graphical sqlite3 browser and editor
pkgver = 1.2.2
- pkgrel = 11
+ pkgrel = 12
url = http://sqliteman.yarpen.cz/
arch = i686
arch = x86_64
license = GPL
makedepends = cmake
- depends = qscintilla-qt4
+ depends = qscintilla-qt5
source = http://downloads.sourceforge.net/sqliteman/sqliteman-1.2.2.tar.gz
- source = sqliteman-qscintilla-2.10.patch
+ source = 0001_qt5.patch
+ source = 0002_lpthread.patch
+ source = 0003_icons.patch
md5sums = 5ecdf710e23606e1b924f740ea69306d
- md5sums = 9922a1f404f2381564abfb9096973911
+ md5sums = 8e0fadd613f819d3814c24c28287c4e4
+ md5sums = 8e24fc6b9231e7307bd6a86af8f4796a
+ md5sums = 7976cef250c2a1fd49607cd5f1cd21d2
pkgname = sqliteman
diff --git a/0001_qt5.patch b/0001_qt5.patch
new file mode 100644
index 000000000000..ebc571a33981
--- /dev/null
+++ b/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 <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>
+
+
diff --git a/0002_lpthread.patch b/0002_lpthread.patch
new file mode 100644
index 000000000000..a9bf4f4f9528
--- /dev/null
+++ b/0002_lpthread.patch
@@ -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)
+
+
diff --git a/0003_icons.patch b/0003_icons.patch
new file mode 100644
index 000000000000..879c9fc66a0a
--- /dev/null
+++ b/0003_icons.patch
@@ -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)
diff --git a/PKGBUILD b/PKGBUILD
index 910f7dd579f5..4486d698cc56 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,30 +3,42 @@
# Contributor: Geoffroy Carrier <geoffroy@archlinux.org>
# Contributor: Roman Porizka <artee@beer.cz>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Semen Soldatov <simplexe@mail.ru>
pkgname=sqliteman
pkgver=1.2.2
-pkgrel=11
+pkgrel=12
pkgdesc='Graphical sqlite3 browser and editor'
arch=('i686' 'x86_64')
url='http://sqliteman.yarpen.cz/'
license=('GPL')
-depends=('qscintilla-qt4')
+depends=('qscintilla-qt5')
makedepends=('cmake')
-source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz" sqliteman-qscintilla-2.10.patch)
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ "0001_qt5.patch"
+ "0002_lpthread.patch"
+ "0003_icons.patch")
md5sums=('5ecdf710e23606e1b924f740ea69306d'
- '9922a1f404f2381564abfb9096973911')
+ '8e0fadd613f819d3814c24c28287c4e4'
+ '8e24fc6b9231e7307bd6a86af8f4796a'
+ '7976cef250c2a1fd49607cd5f1cd21d2')
prepare() {
mkdir build
- # Fix qscintilla 2.10 detection
- cd $pkgname-$pkgver
- patch -p1 -i ../sqliteman-qscintilla-2.10.patch
+ cd ${pkgname}-${pkgver}
+ patch -p1 -i ../0001_qt5.patch
+ patch -p1 -i ../0002_lpthread.patch
+ patch -p1 -i ../0003_icons.patch
+
}
build() {
cd build
+
+ # remove bundled lib
+ rm -rf {$pkgname}/qscintilla2
+
cmake ../${pkgname}-${pkgver} \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release
diff --git a/sqliteman-qscintilla-2.10.patch b/sqliteman-qscintilla-2.10.patch
deleted file mode 100644
index e1a362812596..000000000000
--- a/sqliteman-qscintilla-2.10.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- sqliteman-1.2.2/cmake/modules/FindQScintilla.cmake.orig 2017-02-25 12:02:29.500716404 +0000
-+++ sqliteman-1.2.2/cmake/modules/FindQScintilla.cmake 2017-02-25 12:02:55.167341296 +0000
-@@ -21,7 +21,7 @@
- "${QT_INCLUDE_DIR}/Qsci" /usr/include /usr/include/Qsci
- )
-
-- SET(QSCINTILLA_NAMES ${QSCINTILLA_NAMES} qscintilla2 libqscintilla2)
-+ SET(QSCINTILLA_NAMES ${QSCINTILLA_NAMES} qscintilla2 libqscintilla2 qscintilla2_qt4 libqscintilla2_qt4)
- FIND_LIBRARY(QSCINTILLA_LIBRARY
- NAMES ${QSCINTILLA_NAMES}
- PATHS ${QT_LIBRARY_DIR}