diff options
author | Stefan Strogin <stefan.strogin@gmail.com> | 2019-03-25 18:39:32 +0200 |
---|---|---|
committer | Aaron Bauman <bman@gentoo.org> | 2019-03-29 01:11:07 -0400 |
commit | 4d26198ef2dd685c8b3c4e066e70a1645227d6d1 (patch) | |
tree | 966c85860c34657cd1e414b9dbeca508c74bd0b1 /dev-db/sqlitestudio/sqlitestudio-3.2.1-r1.ebuild | |
parent | sys-libs/libseccomp-2.4.0: ppc64 stable, bug 680442 (diff) | |
download | gentoo-4d26198ef2dd685c8b3c4e066e70a1645227d6d1.tar.gz gentoo-4d26198ef2dd685c8b3c4e066e70a1645227d6d1.tar.bz2 gentoo-4d26198ef2dd685c8b3c4e066e70a1645227d6d1.zip |
dev-db/sqlitestudio: add patch to fix build with LibreSSL
Closes: https://bugs.gentoo.org/681638
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Stefan Strogin <stefan.strogin@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/11495
Signed-off-by: Aaron Bauman <bman@gentoo.org>
Diffstat (limited to 'dev-db/sqlitestudio/sqlitestudio-3.2.1-r1.ebuild')
-rw-r--r-- | dev-db/sqlitestudio/sqlitestudio-3.2.1-r1.ebuild | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/dev-db/sqlitestudio/sqlitestudio-3.2.1-r1.ebuild b/dev-db/sqlitestudio/sqlitestudio-3.2.1-r1.ebuild new file mode 100644 index 000000000000..f1b05ce7abeb --- /dev/null +++ b/dev-db/sqlitestudio/sqlitestudio-3.2.1-r1.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="de es fr it pl pt_BR ro_RO ru sk zh_CN" + +inherit desktop 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" + +REQUIRED_USE="test? ( cli )" + +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:0= ) + 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 ) +" +PATCHES=( "${FILESDIR}"/${P}-libressl.patch ) + +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 + + # prevent "multilib-strict check failed" with USE test + sed -i -e 's/\(target.*usr\/\)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) + 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;" )" +} |