mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 17:09:10 -07:00
net-im/swift: migrate to python3
Also bumped to EAPI=7 and enabled client for default use flags. Closes: https://bugs.gentoo.org/735548 Closes: https://bugs.gentoo.org/701016 Package-Manager: Portage-3.0.1, Repoman-2.3.23 Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
This commit is contained in:
@@ -1 +1,2 @@
|
||||
DIST swift-4.0.2-python3-compatibility.patch.gz 14959 BLAKE2B 17b75950bba9252bb76e30eb9fadb9eaaaad6d693a09f6fa357fe174ade1bd283d00838e87b55059e0601edc5d72c02c952f53ca16dd597010c9f0ffe955662a SHA512 fac9cf0a85b55b1b9bba786cc6456ceaa6257d5f2cdd4d41c4fdee526c301de94bb6f7c71bc00aaec992d0aaf3787e2db3e9c7eed6ec88facea776db66941dba
|
||||
DIST swift-4.0.2.tar.gz 19083393 BLAKE2B de4ad1c3d68dfc4d693cdebdf4e18809210aa4e83af31b77bf730c7018507877852b5ea634623c037250de4005606108bd0372d39177093769c5dc5f72bd4812 SHA512 b7d4b90f387d5ea4ac3ca31794eabd1f12a64274628d75c7570f40269777b9003182884730a6340c5e0b5b7928a68bda5e49be623b47da9fa64fe4c3f25be167
|
||||
|
||||
215
net-im/swift/swift-4.0.2-r3.ebuild
Normal file
215
net-im/swift/swift-4.0.2-r3.ebuild
Normal file
@@ -0,0 +1,215 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..8} )
|
||||
|
||||
inherit gnome2-utils python-any-r1 scons-utils toolchain-funcs
|
||||
|
||||
DESCRIPTION="An elegant, secure, adaptable and intuitive XMPP Client"
|
||||
HOMEPAGE="https://www.swift.im/"
|
||||
SRC_URI="
|
||||
https://swift.im/downloads/releases/${P}/${P}.tar.gz
|
||||
https://dev.gentoo.org/~conikost/distfiles/patches/swift-4.0.2-python3-compatibility.patch.gz"
|
||||
|
||||
LICENSE="BSD BSD-1 CC-BY-3.0 GPL-3 OFL-1.1"
|
||||
SLOT="4/0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+client expat gconf +icu +idn lua spell test zeroconf"
|
||||
REQUIRED_USE="
|
||||
|| ( icu idn )
|
||||
gconf? ( client )
|
||||
spell? ( client )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
dev-db/sqlite:3
|
||||
dev-libs/boost:=
|
||||
dev-libs/openssl:0=
|
||||
net-libs/libnatpmp
|
||||
net-libs/miniupnpc:=
|
||||
sys-libs/zlib
|
||||
client? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtdbus:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtmultimedia:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtwebkit:5
|
||||
dev-qt/qtx11extras:5
|
||||
net-dns/avahi
|
||||
)
|
||||
expat? ( dev-libs/expat )
|
||||
!expat? ( dev-libs/libxml2:2 )
|
||||
gconf? ( gnome-base/gconf:2 )
|
||||
icu? ( dev-libs/icu:= )
|
||||
idn? ( net-dns/libidn:= )
|
||||
lua? ( dev-lang/lua:= )
|
||||
spell? ( app-text/hunspell:= )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
>=dev-util/scons-3.0.1-r3
|
||||
client? ( dev-qt/linguist-tools:5 )
|
||||
test? ( net-dns/avahi )
|
||||
"
|
||||
|
||||
# Tests don't run, as they fail with "[QA/UnitTest/**dummy**] Error -6".
|
||||
RESTRICT="test"
|
||||
|
||||
DOCS=(
|
||||
"DEVELOPMENT.md"
|
||||
"README.md"
|
||||
"Swiften/ChangeLog.md"
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-boost-1.69-compatibility.patch
|
||||
"${WORKDIR}"/${P}-python3-compatibility.patch
|
||||
"${FILESDIR}"/${P}-qt-5.11-compatibility.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Don't include '/usr/lib*' in the link command line for `swiften-config`
|
||||
sed -e '/_LIBDIRFLAGS/d' -i Swiften/Config/SConscript || die
|
||||
|
||||
# Hack for finding Qt system libs
|
||||
mkdir "${T}"/qt || die
|
||||
ln -s "${EPREFIX}"/usr/$(get_libdir)/qt5/bin "${T}"/qt/bin || die
|
||||
ln -s "${EPREFIX}"/usr/$(get_libdir)/qt5 "${T}"/qt/lib || die
|
||||
ln -s "${EPREFIX}"/usr/include/qt5 "${T}"/qt/include || die
|
||||
|
||||
# Remove parts of Swift, which a user don't want to compile
|
||||
if ! use client; then rm -fr Swift Slimber || die; fi
|
||||
if ! use lua; then rm -fr Sluift || die; fi
|
||||
if ! use zeroconf; then
|
||||
rm -fr Limber || die
|
||||
if use client; then rm -fr Slimber || die; fi
|
||||
fi
|
||||
|
||||
# Remove '3rdParty', as the system libs should be used
|
||||
# `CppUnit`, `GoogleTest` and `HippoMocks` are needed for tests
|
||||
local my3rdparty=(
|
||||
Boost
|
||||
Breakpad
|
||||
DocBook
|
||||
Expat
|
||||
LCov
|
||||
Ldns
|
||||
LibIDN
|
||||
LibMiniUPnPc
|
||||
LibNATPMP
|
||||
Lua
|
||||
OpenSSL
|
||||
SCons
|
||||
SQLite
|
||||
Unbound
|
||||
ZLib
|
||||
)
|
||||
|
||||
if use test; then
|
||||
cd 3rdParty && rm -fr "${my3rdparty[@]}" || die
|
||||
else
|
||||
rm -fr 3rdParty || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
MYSCONS=(
|
||||
ar="$(tc-getAR)"
|
||||
allow_warnings="yes"
|
||||
assertions="no"
|
||||
build_examples="yes"
|
||||
boost_bundled_enable="false"
|
||||
boost_force_bundled="false"
|
||||
cc="$(tc-getCC)"
|
||||
ccache="no"
|
||||
ccflags="${CFLAGS}"
|
||||
coverage="no"
|
||||
cxx="$(tc-getCXX)"
|
||||
cxxflags="${CXXFLAGS}"
|
||||
debug="no"
|
||||
distcc="no"
|
||||
experimental="no"
|
||||
experimental_ft="yes"
|
||||
hunspell_enable="$(usex spell)"
|
||||
icu="$(usex icu)"
|
||||
install_git_hooks="no"
|
||||
libidn_bundled_enable="false"
|
||||
libminiupnpc_force_bundled="false"
|
||||
libnatpmp_force_bundled="false"
|
||||
link="$(tc-getCXX)"
|
||||
linkflags="${LDFLAGS}"
|
||||
max_jobs="no"
|
||||
optimize="no"
|
||||
qt="${T}/qt"
|
||||
qt5="$(usex client)"
|
||||
swiften_dll="true"
|
||||
swift_mobile="no"
|
||||
target="native"
|
||||
test="none"
|
||||
try_avahi="$(usex client)"
|
||||
try_expat="$(usex expat)"
|
||||
try_gconf="$(usex gconf)"
|
||||
try_libidn="$(usex idn)"
|
||||
try_libxml="$(usex !expat)"
|
||||
tls_backend="openssl"
|
||||
unbound="no"
|
||||
V="1"
|
||||
valgrind="no"
|
||||
zlib_bundled_enable="false"
|
||||
)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myesconsinstall=(
|
||||
Swiften
|
||||
$(usex client Swift '')
|
||||
$(usex lua Sluift '')
|
||||
$(usex zeroconf Limber '')
|
||||
$(usex zeroconf "$(usex client Slimber '')" '')
|
||||
)
|
||||
|
||||
escons "${MYSCONS[@]}" "${myesconsinstall[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
MYSCONS=(
|
||||
V="1"
|
||||
)
|
||||
|
||||
escons "${MYSCONS[@]}" test=unit QA
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local myesconsinstall=(
|
||||
SWIFTEN_INSTALLDIR="${ED}/usr"
|
||||
SWIFTEN_LIBDIR="${ED}/usr/$(get_libdir)"
|
||||
$(usex client "SWIFT_INSTALLDIR=${ED}/usr" '')
|
||||
$(usex lua "SLUIFT_DIR=${ED}/usr" '')
|
||||
$(usex lua "SLUIFT_INSTALLDIR=${ED}/usr" '')
|
||||
"${ED}"
|
||||
)
|
||||
|
||||
escons "${MYSCONS[@]}" "${myesconsinstall[@]}"
|
||||
|
||||
use zeroconf && dobin Limber/limber
|
||||
use zeroconf && use client && newbin Slimber/CLI/slimber slimber-cli
|
||||
use zeroconf && use client && newbin Slimber/Qt/slimber slimber-qt
|
||||
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use client && gnome2_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use client && gnome2_icon_cache_update
|
||||
}
|
||||
Reference in New Issue
Block a user