You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-db/sqlitestudio/sqlitestudio-3.0.7.ebuild

131 lines
3.3 KiB

# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# 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"
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}
$(add_qt_dep qtconcurrent)
>=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}" || die && emake
cd "${plugins_build_dir}" || die && emake
}
src_install() {
cd "${core_build_dir}" || die && emake INSTALL_ROOT="${ED}" install
cd "${plugins_build_dir}" || die && 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
}