summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorMatthew White <mehw.is.me@inventati.org>2023-05-05 19:13:18 +0000
committerSam James <sam@gentoo.org>2023-05-06 04:46:11 +0100
commitede032d33b920e15cdea6ae5d0266c03ece7ba6d (patch)
tree58eb66c60038049f490daa0d151ae787ca9be44c /dev-db
parentdev-db/sqlitestudio: enable compiling plugins with Python 3.11 for 3.4.3-r1 (diff)
downloadgentoo-ede032d33b920e15cdea6ae5d0266c03ece7ba6d.tar.gz
gentoo-ede032d33b920e15cdea6ae5d0266c03ece7ba6d.tar.bz2
gentoo-ede032d33b920e15cdea6ae5d0266c03ece7ba6d.zip
dev-db/sqlitestudio: add 3.4.4
Closes: https://bugs.gentoo.org/905787 Package-Manager: portage-3.0.44-r1 Signed-off-by: Matteo Bianco <mehw.is.me@inventati.org> Closes: https://github.com/gentoo/gentoo/pull/30885 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/sqlitestudio/Manifest1
-rw-r--r--dev-db/sqlitestudio/sqlitestudio-3.4.4.ebuild187
2 files changed, 188 insertions, 0 deletions
diff --git a/dev-db/sqlitestudio/Manifest b/dev-db/sqlitestudio/Manifest
index 7430f3aa492c..b6bdf7398fe1 100644
--- a/dev-db/sqlitestudio/Manifest
+++ b/dev-db/sqlitestudio/Manifest
@@ -1,2 +1,3 @@
DIST sqlitestudio-3.3.3.tar.gz 8863232 BLAKE2B 1dfa74ab405ec057090f87726c3562470de4c1fd7b97c0fbc3e3fb4b3c8413825ec1884ac8bc9cb86e0d3d64b42af323a46ae4aa324de98c1dc8e967a4eb0d35 SHA512 1b92b06dbca3b5ee051d2582345c0e9a0a3cbd2cbbde0c6b9b18f75ca30140c777746fc9d35a3c314c13d99300dbe8d9bbd313b2ae4cb069b8e81446b27e982f
DIST sqlitestudio-3.4.3.tar.gz 16115078 BLAKE2B ac083ea53276a87917a532359c5f3eae665140e04efe01c8172fbcb135df65f4128a6b09b96f781c411e3b105f47a2c30172e37ab1bd82be32a36027c75770d9 SHA512 5261bd9c5a7e5be3e140eefda45961dc1978b6d1f9f180a8db07671acc55d275c0f2755a580f57681b17fe233ef54b2680a633693c1ec62d3517e4f968e80549
+DIST sqlitestudio-3.4.4.tar.gz 16187828 BLAKE2B 34a19880c0ce82a0457c8b34fe713d1792101563dd37849f02538a3f62310e0720939a3930c2c1d2fe43a8379c66012e75cf9e45e961a382c3ea5fbd857e42d3 SHA512 ddbb926afcca0afe8e4199be64254d0a9a47bef66f260c51cc7e5c5d38c8a00bfbe2012e8ec933bf69e85481c0c214136146cd3bff0975f6178f9fe7884e8190
diff --git a/dev-db/sqlitestudio/sqlitestudio-3.4.4.ebuild b/dev-db/sqlitestudio/sqlitestudio-3.4.4.ebuild
new file mode 100644
index 000000000000..72ae21dc8d10
--- /dev/null
+++ b/dev-db/sqlitestudio/sqlitestudio-3.4.4.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PLOCALES="af_ZA ar_SA ca_ES cs_CZ da_DK de_DE el_GR en_US es_ES fa_IR fi_FI fr_FR he_IL hu_HU it_IT ja_JP kaa ko_KR nl_NL no_NO pl_PL pt_BR pt_PT ro_RO ru_RU sk_SK sr_SP sv_SE tr_TR uk_UA vi_VN zh_CN zh_TW"
+
+# ScriptingPython says exactly 3.9
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit desktop plocale python-single-r1 qmake-utils xdg
+
+DESCRIPTION="Powerful cross-platform SQLite database manager"
+HOMEPAGE="https://sqlitestudio.pl"
+SRC_URI="https://github.com/pawelsalawa/sqlitestudio/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cli cups python tcl test"
+
+REQUIRED_USE="
+ test? ( cli )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/openssl:=
+ dev-db/sqlite:3
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative: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:=
+ sys-libs/ncurses:=
+ )
+ python? ( ${PYTHON_DEPS} )
+ cups? ( dev-qt/qtprintsupport:5 )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-qt/designer:5
+ dev-qt/qtconcurrent:5
+ test? ( dev-qt/qttest:5 )
+"
+BDEPEND="
+ dev-qt/linguist-tools:5
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.4.3-fix-python.patch
+ "${FILESDIR}"/${PN}-3.4.3-fix-PyThreadState.patch
+)
+
+core_build_dir="${S}/output/build"
+plugins_build_dir="${core_build_dir}/Plugins"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ 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 )
+ use python || mod_lst+=( ScriptingPython )
+ 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
+
+ lrelease_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"
+ plocale_find_changes ${ts_dir_main} "sqlitestudio_" '.ts'
+ plocale_for_each_locale lrelease_locale
+ plocale_for_each_disabled_locale rm_locale
+
+ # prevent "multilib-strict check failed" with USE test by
+ # replacing target paths with dynamic lib dir
+ #
+ sed -i -e 's/\(target\.path = .*\/\)lib/\1'$(get_libdir)'/' \
+ SQLiteStudio3/Tests/TestUtils/TestUtils.pro || die
+}
+
+src_configure() {
+ # NOTE: QMAKE_CFLAGS_ISYSTEM option prevents
+ # build error with tcl use enabled (stdlib.h is missing)
+ # "QMAKE_CFLAGS_ISYSTEM=\"\""
+ # CONFIG+ borrowed from compile.sh of tarball
+ local myqmakeargs=(
+ "BINDIR=${EPREFIX}/usr/bin"
+ "LIBDIR=${EPREFIX}/usr/$(get_libdir)"
+ "CONFIG+=portable"
+ $(usex test 'DEFINES+=tests' '')
+ )
+
+ # Combination of kvirc ebuild and qtcompress
+ if use python; then
+ myqmakeargs+=(
+ INCLUDEPATH+=" $(python_get_includedir)"
+ LIBS+=" $(python_get_LIBS)"
+ )
+ fi
+
+ ## 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
+
+ if use test; then
+ # remove test artifacts that must not be installed
+ rm -r "${ED}"/lib64 || die
+ rm -r "${ED}"/usr/share/qt5/tests || die
+ fi
+
+ 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;" )"
+}