dev-db/sqlitestudio: add Qt6-based 4.0.0_pre20251207 w/o KEYWORDS

Bug: https://bugs.gentoo.org/953925
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
Andreas Sturmlechner
2025-12-12 22:37:37 +01:00
parent 75c8796bf6
commit 4446ae516b
4 changed files with 215 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST sqlitestudio-3.4.17.tar.gz 16696859 BLAKE2B 6b1d4660c7b4ed4880df3c7e2e68d7b52edb46d7e19a751d49825c08a477adc02646729418e3a8b1fd6e5bc8192cc35197a23aa7e9142e4c2ebd184c049ee1eb SHA512 2fab60c9a695022998ad7848b0ece614170070fd9603fb559a942692fb644204aa4437cf33b18f66bbcfe36f82bdfddb7e1d5c934e2946a3e56f537171798f4a
DIST sqlitestudio-4.0.0_pre20251207-bac238cc.tar.gz 17654915 BLAKE2B fb93d688076cc27752b5578f764e4e99ee89bd7ff49ac2c06b4cc7fb3018835df1675aa053bad5eee06b6db40fae20535b63e6a4076213a05e4592d2faafdace SHA512 50fbe053ae9bc93019a71c9d4be4671e7c3b49e77eab7e341f6b7e2254fd9b2541b556e5e7eec0737ce39da2219ddb2b10bfdcb7637c789027370f7d8b59b0a9

View File

@@ -0,0 +1,13 @@
diff --git a/Plugins/ScriptingPython/ScriptingPython.pro b/Plugins/ScriptingPython/ScriptingPython.pro
index 75375da..614cfe8 100644
--- a/Plugins/ScriptingPython/ScriptingPython.pro
+++ b/Plugins/ScriptingPython/ScriptingPython.pro
@@ -22,7 +22,7 @@ isEmpty(PYTHON_VERSION) {
PYTHON_VERSION = 3.9
}
linux: {
- LIBS += -lpython$$PYTHON_VERSION
+ #LIBS += -lpython$$PYTHON_VERSION
}
macx: {

View File

@@ -0,0 +1,26 @@
From fba5a4e01a4d4e1114bbea21bf3ac9c27f3f8af9 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Fri, 12 Dec 2025 22:42:31 +0100
Subject: [PATCH] Add missing QJsonValue and QUuid headers
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
---
SQLiteStudio3/coreSQLiteStudio/common/utils.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp b/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp
index f9b550901..dc6177456 100644
--- a/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp
+++ b/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp
@@ -4,6 +4,8 @@
#include "dbobjecttype.h"
#include "rsa/RSA.h"
#include <QJsonDocument>
+#include <QJsonValue>
+#include <QUuid>
#include <QLine>
#include <QString>
#include <QStringConverter>
--
2.52.0

View File

@@ -0,0 +1,175 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
COMMIT=bac238ccb0000419a66f3b2134b08d1f7a2bd076
PLOCALES="af_ZA ar_SA be_BY 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_{11..13} )
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/${COMMIT}.tar.gz -> ${P}-${COMMIT:0:8}.tar.gz"
S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="GPL-3"
SLOT="0"
# KEYWORDS="~amd64 ~x86"
IUSE="cli python tcl test"
REQUIRED_USE="
test? ( cli )
python? ( ${PYTHON_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/openssl:=
dev-db/sqlite:3
dev-qt/qtbase:6[gui,network,widgets,xml]
dev-qt/qtdeclarative:6
dev-qt/qtsvg:6
cli? (
sys-libs/readline:=
sys-libs/ncurses:=
)
python? ( ${PYTHON_DEPS} )
tcl? ( dev-lang/tcl:0= )
"
DEPEND="${RDEPEND}
dev-qt/designer:6
dev-qt/qtconcurrent:6
"
BDEPEND="
dev-qt/qttools:6[linguist]
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${P}-fix-python.patch
"${FILESDIR}"/${P}-missing-headers.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 tcl || mod_lst+=( ScriptingTcl )
use python || mod_lst+=( ScriptingPython )
disable_modules Plugins/Plugins.pro ${mod_lst[@]}
local mylrelease="$(qt6_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
eqmake6 "${myqmakeargs[@]}" "${S}/SQLiteStudio3"
## Plugins
mkdir -p "${plugins_build_dir}" && cd "${plugins_build_dir}" || die
eqmake6 "${myqmakeargs[@]}" "${S}/Plugins"
}
src_compile() {
# -j1 for bug #902991; it clobbers object files in parallel
emake -j1 -C "${core_build_dir}"
emake -j1 -C "${plugins_build_dir}"
}
src_install() {
emake -j1 -C "${core_build_dir}" INSTALL_ROOT="${D}" install
emake -j1 -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/qt6/tests || die
fi
doicon -s scalable "SQLiteStudio3/guiSQLiteStudio/img/${PN}.svg"
make_desktop_entry --eapi9 ${PN} -a "-- %F" -n SQLiteStudio3 -i ${PN} \
-c "Development;Database;Utility" -e "MimeType=application/x-sqlite3;"
}