Skip to content

Commit

Permalink
dev-db/sqlitestudio: new package
Browse files Browse the repository at this point in the history
Closes: gentoo#1088
  • Loading branch information
rindeal authored and monsieurp committed Mar 19, 2016
1 parent fd9a2b4 commit 803b02d
Show file tree
Hide file tree
Showing 6 changed files with 212 additions and 0 deletions.
1 change: 1 addition & 0 deletions dev-db/sqlitestudio/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DIST sqlitestudio-3.0.7.tar.gz 2551341 SHA256 b5ad7ac22a88eacb9404637ca6257934d0b1b59e16a182099bbdb158a7af55aa SHA512 2171fe26754aed2abe24d73e9ccc2ee1abe5e87228096bc5643c5638ad578dc323b810535f41d0206b3d7a7aa75132bfb578972c7945b962dd593543c7da3270 WHIRLPOOL 6078575b9bf6576d76965b2cf0c7a47a3b56488be8a75dd2df00b58cfab9d29e98ca30d21ac0dd47fe9a6fb0243052107b74686d90b12b9b2fbff05bc205736f
11 changes: 11 additions & 0 deletions dev-db/sqlitestudio/files/sqlitestudio-3.0.6-portable.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/SQLiteStudio3/sqlitestudio/sqlitestudio.pro 2015-11-24 20:09:29.000000000 +0100
+++ b/SQLiteStudio3/sqlitestudio/sqlitestudio.pro 2016-01-20 15:04:46.700926391 +0100
@@ -25,7 +25,7 @@

CONFIG += c++11
QMAKE_CXXFLAGS += -pedantic
-linux|portable {
+portable {
QMAKE_LFLAGS += -Wl,-rpath,./lib
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
--- a/SQLiteStudio3/coreSQLiteStudio/db/db.cpp 2015-05-11 23:22:41.000000000 +0200
+++ b/SQLiteStudio3/coreSQLiteStudio/db/db.cpp 2016-01-20 02:21:00.350160645 +0100
@@ -1,6 +1,7 @@
#include "db.h"
#include <QMetaEnum>
#include <QDebug>
+#include <QDataStream>

Db::Db()
{
--- a/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp 2015-05-11 23:22:41.000000000 +0200
+++ b/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp 2016-01-20 01:46:22.113263710 +0100
@@ -11,6 +11,7 @@
#include <QDebug>
#include <QRegularExpression>
#include <QDir>
+#include <QDataStream>

#ifdef Q_OS_LINUX
#include <sys/utsname.h>
--- a/SQLiteStudio3/sqlitestudiocli/cli_config.h 2015-05-11 23:22:40.000000000 +0200
+++ b/SQLiteStudio3/sqlitestudiocli/cli_config.h 2016-01-20 02:45:11.393819294 +0100
@@ -2,6 +2,7 @@
#define CLI_CONFIG_H

#include "config_builder.h"
+#include <QDataStream>

namespace CliResultsDisplay
{
22 changes: 22 additions & 0 deletions dev-db/sqlitestudio/files/sqlitestudio-3.0.7-paths.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
--- a/Plugins/DbAndroid/DbAndroid.pro 2015-11-24 20:09:41.000000000 +0100
+++ a/Plugins/DbAndroid/DbAndroid.pro 2016-01-20 13:39:02.436869035 +0100
@@ -6,7 +6,7 @@

QT += widgets network

-include($$PWD/../../../sqlitestudio/SQLiteStudio3/plugins.pri)
+include($$PWD/../../SQLiteStudio3/plugins.pri)

TARGET = DbAndroid
TEMPLATE = lib
--- a/Plugins/ScriptingTcl/ScriptingTcl.pro
+++ b/Plugins/ScriptingTcl/ScriptingTcl.pro
@@ -35,7 +35,7 @@ linux: {

# Find tclConfig.sh
TCL_CONFIG_DIR = $$system(echo "puts [info library]" | tclsh)
- TCL_CONFIG = $$TCL_CONFIG_DIR/tclConfig.sh
+ TCL_CONFIG = $$TCL_CONFIG_DIR/../tclConfig.sh
message("Looking for $$TCL_CONFIG")
!exists($$TCL_CONFIG) {
# Debian case
16 changes: 16 additions & 0 deletions dev-db/sqlitestudio/metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>[email protected]</email>
<name>Jan Chren (rindeal)</name>
<description>Proxied maintainer; set to assignee in all bugs</description>
</maintainer>
<maintainer type="project">
<email>[email protected]</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="cli">Build CLI interface</flag>
</use>
</pkgmetadata>
132 changes: 132 additions & 0 deletions dev-db/sqlitestudio/sqlitestudio-3.0.7.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

# Upstream guide: http://wiki.sqlitestudio.pl/index.php/Compiling_application_from_sources

EAPI=6

inherit qmake-utils fdo-mime kde5-functions

DESCRIPTION="SQLiteStudio3 is a powerful cross-platform SQLite database manager"
HOMEPAGE="http://sqlitestudio.pl"
LICENSE="GPL-3"
SRC_URI="${HOMEPAGE}/files/sqlitestudio3/complete/tar/${P}.tar.gz"

SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="cli cups tcl test"

QT_MINIMAL=5.3

RDEPEND="
dev-db/sqlite:3
$(add_qt_dep qtcore)
$(add_qt_dep qtgui)
$(add_qt_dep qtnetwork)
$(add_qt_dep qtscript)
$(add_qt_dep qtsvg)
$(add_qt_dep qtwidgets)
$(add_qt_dep qtxml)
$(add_qt_dep designer)
cups? ( $(add_qt_dep qtprintsupport) )
cli? ( sys-libs/readline:= )
tcl? ( dev-lang/tcl:= )
"
DEPEND="${RDEPEND}
>=sys-devel/gcc-4.8:*
test? ( $(add_qt_dep qttest) )
"

S="${WORKDIR}"
core_build_dir="${S}/output/build"
core_src_dir="${S}/SQLiteStudio3"
plugins_build_dir="${core_build_dir}/Plugins"
plugins_src_dir="${S}/Plugins"

src_prepare() {
PATCHES=(
"${FILESDIR}"/${PN}-3.0.6-qt5_5-QDataStream.patch
"${FILESDIR}"/${PN}-3.0.6-portable.patch
"${FILESDIR}"/${PN}-3.0.7-paths.patch
)
default

disable_modules() {
[ $# -lt 2 ] && return 0
local file="$1"; shift

edos2unix "${file}"

local regex=""
for m in "$@"; do
regex+="\b${m}\b( \\\\|\$)|"
done
regex="${regex:0:-1}" # last pipe

elog "Disabling modules: '$*' in '${file#${S}/}'"
sed -i -r -e "/${regex}/d" -- "${file}" || return 1
}

## Core
local disabled_modules=(
$(usex cli '' 'cli')
)
disable_modules "${core_src_dir}/SQLiteStudio3.pro" "${disabled_modules[@]}" || die

## Plugins
local disabled_plugins=(
'DbSqlite2'
$(usex tcl '' 'ScriptingTcl')
$(usex cups '' 'Printing')
)
disable_modules "${plugins_src_dir}/Plugins.pro" "${disabled_plugins[@]}" || die
}

src_configure() {
local qmake_args=(
"LIBDIR=${EROOT}usr/$(get_libdir)"
"BINDIR=${EROOT}usr/bin"
"DEFINES+=PLUGINS_DIR=${EROOT}usr/$(get_libdir)/${PN}"
"DEFINES+=ICONS_DIR=${EROOT}usr/share/${PN}/icons"
"DEFINES+=FORMS_DIR=${EROOT}usr/share/${PN}/forms"

'DEFINES+=NO_AUTO_UPDATES' # not strictly needed since 3.0.6, but nevermind
$(usex test 'DEFINES+=tests' '')
)

## Core
mkdir -p "${core_build_dir}" && cd "${core_build_dir}" || die
eqmake5 "${qmake_args[@]}" "${core_src_dir}"

## Plugins
mkdir -p "${plugins_build_dir}" && cd "${plugins_build_dir}" || die
eqmake5 "${qmake_args[@]}" "${plugins_src_dir}"
}

src_compile() {
cd "${core_build_dir}" && emake
cd "${plugins_build_dir}" && emake
}

src_install() {
cd "${core_build_dir}" && emake INSTALL_ROOT="${ED}" install
cd "${plugins_build_dir}" && emake INSTALL_ROOT="${ED}" install

dodoc "${core_src_dir}/docs/sqlitestudio3_docs.cfg"
doicon -s scalable "${core_src_dir}/guiSQLiteStudio/img/${PN}.svg"

make_desktop_entry_args=(
"${EROOT}usr/bin/${PN} %F" # exec
'SQLiteStudio3' # name
"${PN}" # icon
'Development;Utility' # categories
)
make_desktop_entry_extras=( 'MimeType=application/x-sqlite3;' )
make_desktop_entry "${make_desktop_entry_args[@]}" \
"$( printf '%s\n' "${make_desktop_entry_extras[@]}" )"
}

pkg_postinst() {
fdo-mime_desktop_database_update
}

0 comments on commit 803b02d

Please sign in to comment.