dev-db/sqlitestudio: version bump to 3.1.1
authorDmitry <reagentoo@gmail.com>
Wed, 30 Aug 2017 13:59:01 +0000 (16:59 +0300)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sun, 3 Sep 2017 21:15:12 +0000 (23:15 +0200)
- Dropped kde5-functions eclass
- Added l10n support
- Migrated fdo-mime to xdg eclass
- Improved overall ebuild quality.

Gentoo-Bug: 629322
Closes: https://github.com/gentoo/gentoo/pull/5557

dev-db/sqlitestudio/Manifest
dev-db/sqlitestudio/metadata.xml
dev-db/sqlitestudio/sqlitestudio-3.1.1.ebuild [new file with mode: 0644]

index b2ec9bd85b89ebccc8eb2f7db7312d9af20a6668..b3fd769739de8ff717baebe61814ea43a9b94206 100644 (file)
@@ -1 +1,2 @@
 DIST sqlitestudio-3.0.7.tar.gz 2551341 SHA256 b5ad7ac22a88eacb9404637ca6257934d0b1b59e16a182099bbdb158a7af55aa SHA512 2171fe26754aed2abe24d73e9ccc2ee1abe5e87228096bc5643c5638ad578dc323b810535f41d0206b3d7a7aa75132bfb578972c7945b962dd593543c7da3270 WHIRLPOOL 6078575b9bf6576d76965b2cf0c7a47a3b56488be8a75dd2df00b58cfab9d29e98ca30d21ac0dd47fe9a6fb0243052107b74686d90b12b9b2fbff05bc205736f
+DIST sqlitestudio-3.1.1.tar.gz 8610037 SHA256 f757a82466e97137addd70dd5323a1a7ba7cad7841dc138812a2da2799f92c6c SHA512 421247730660e8396f692fd8df9366e6ae834633823004ef3cb7c6f3064e66f420f0517df6a8542b800f7f88dacf2fc646b4224b423ab3994c7d8a083e82e143 WHIRLPOOL d3ce08e65ac53367067fd8cd73997cc1313a2cc9de2d15605b91bf57e729a1249c953c4db7b54901e8d41bb2b80d04184fbf19feaee9077e8a07002de2a61a2e
index 86e9ad8739225ae2ba31d0068979f38fa1174d91..0e58a49e72651484ed0a4ebd1f467898b5b21ef8 100644 (file)
@@ -1,8 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-<!-- maintainer-needed -->
-<use>
-       <flag name="cli">Build CLI interface</flag>
-</use>
+       <maintainer type="person">
+               <email>reagentoo@gmail.com</email>
+               <name>Dmitry Baranov</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <use>
+               <flag name="cli">Build CLI interface</flag>
+       </use>
 </pkgmetadata>
diff --git a/dev-db/sqlitestudio/sqlitestudio-3.1.1.ebuild b/dev-db/sqlitestudio/sqlitestudio-3.1.1.ebuild
new file mode 100644 (file)
index 0000000..09e4d46
--- /dev/null
@@ -0,0 +1,138 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PLOCALES="de es fr it pl pt_BR ru sk zh_CN"
+
+inherit eutils l10n qmake-utils xdg
+
+DESCRIPTION="Powerful cross-platform SQLite database manager"
+HOMEPAGE="https://sqlitestudio.pl"
+SRC_URI="https://sqlitestudio.pl/files/sqlitestudio3/complete/tar/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="cli cups tcl test"
+
+RDEPEND="
+       dev-db/sqlite:3
+       dev-qt/qtcore:5
+       dev-qt/qtgui:5
+       dev-qt/qtnetwork:5
+       dev-qt/qtscript:5
+       dev-qt/qtsvg:5
+       dev-qt/qtwidgets:5
+       dev-qt/qtxml:5
+       cli? ( sys-libs/readline:* )
+       cups? ( dev-qt/qtprintsupport:5 )
+       tcl? ( dev-lang/tcl:* )
+"
+DEPEND="${RDEPEND}
+       dev-qt/designer:5
+       test? ( dev-qt/qttest:5 )
+"
+
+S="${WORKDIR}"
+core_build_dir="${S}/output/build"
+plugins_build_dir="${core_build_dir}/Plugins"
+
+src_prepare() {
+       xdg_src_prepare
+
+       sed -i -e 's/linux|portable/portable/' \
+               SQLiteStudio3/sqlitestudio/sqlitestudio.pro || die
+
+       disable_modules() {
+               [[ $# -lt 2 ]] && die "not enough arguments"
+
+               local pro="$1"; shift
+               local modules="${@}"
+
+               sed -r -i \
+                       -e 's/('${modules// /|}')[[:space:]]*(\\?)/\2/' \
+                       ${pro} || die
+       }
+
+       use cli || disable_modules SQLiteStudio3/SQLiteStudio3.pro cli
+
+       local mod_lst=( DbSqlite2 )
+       use cups || mod_lst+=( Printing )
+       use tcl || mod_lst+=( ScriptingTcl )
+       disable_modules Plugins/Plugins.pro ${mod_lst[@]}
+
+       local mylrelease="$(qt5_get_bindir)"/lrelease
+       local ts_dir_lst=$(find * -type f -name "*.qm" -printf '%h\n' | sort -u)
+       local ts_pro_lst=$(find * -type f -name "*.pro" -exec grep -l 'TRANSLATIONS' {} \;)
+       local ts_qrc_lst=$(find * -type f -name "*.qrc" -exec grep -l '\.qm' {} \;)
+
+       # delete all "*.qm"
+       for ts_dir in ${ts_dir_lst[@]}; do
+               rm "${ts_dir}"/*.qm || die
+       done
+
+       prepare_locale() {
+               for ts_dir in ${ts_dir_lst[@]}; do
+                       local ts=$(find "${ts_dir}" -type f -name "*${1}.ts" || continue)
+                       "${mylrelease}" "${ts}" || die "preparing ${1} locale failed"
+               done
+       }
+
+       rm_locale() {
+               for ts_pro in ${ts_pro_lst[@]}; do
+                       sed -i -r -e 's/[^[:space:]]*'${1}'\.ts//' \
+                               ${ts_pro} || die
+               done
+
+               for ts_qrc in ${ts_qrc_lst[@]}; do
+                       sed -i -e '/'${1}'\.qm/d' \
+                               ${ts_qrc} || die
+               done
+       }
+
+       local ts_dir_main="SQLiteStudio3/sqlitestudio/translations"
+       l10n_find_plocales_changes ${ts_dir_main} "sqlitestudio_" '.ts'
+       l10n_for_each_locale_do prepare_locale
+       l10n_for_each_disabled_locale_do rm_locale
+}
+
+src_configure() {
+       # NOTE: QMAKE_CFLAGS_ISYSTEM option prevents
+       # build error with tcl use enabled (stdlib.h is missing)
+       local myqmakeargs=(
+               "BINDIR=${EPREFIX}/usr/bin"
+               "LIBDIR=${EPREFIX}/usr/$(get_libdir)"
+               "QMAKE_CFLAGS_ISYSTEM=\"\""
+               $(usex test 'DEFINES+=tests' '')
+       )
+
+       ## Core
+       mkdir -p "${core_build_dir}" && cd "${core_build_dir}" || die
+       eqmake5 "${myqmakeargs[@]}" "${S}/SQLiteStudio3"
+
+       ## Plugins
+       mkdir -p "${plugins_build_dir}" && cd "${plugins_build_dir}" || die
+       eqmake5 "${myqmakeargs[@]}" "${S}/Plugins"
+}
+
+src_compile() {
+       emake -C "${core_build_dir}"
+       emake -C "${plugins_build_dir}"
+}
+
+src_install() {
+       emake -C "${core_build_dir}" INSTALL_ROOT="${D}" install
+       emake -C "${plugins_build_dir}" INSTALL_ROOT="${D}" install
+
+       doicon -s scalable "SQLiteStudio3/guiSQLiteStudio/img/${PN}.svg"
+
+       local make_desktop_entry_args=(
+               "${PN} -- %F"
+               'SQLiteStudio3'
+               "${PN}"
+               'Development;Database;Utility'
+       )
+       make_desktop_entry "${make_desktop_entry_args[@]}" \
+               "$( printf '%s\n' "MimeType=application/x-sqlite3;" )"
+}