1 changed files with 174 additions and 0 deletions
@ -0,0 +1,174 @@ |
|||
# Copyright 1999-2018 Gentoo Foundation |
|||
# Distributed under the terms of the GNU General Public License v2 |
|||
|
|||
EAPI=6 |
|||
|
|||
inherit gnome2-utils scons-utils toolchain-funcs |
|||
|
|||
DESCRIPTION="An elegant, secure, adaptable and intuitive XMPP Client" |
|||
HOMEPAGE="https://www.swift.im/" |
|||
|
|||
if [[ ${PV} = "9999" ]] ; then |
|||
EGIT_REPO_URI="https://github.com/swift/swift.git" |
|||
EGIT_BRANCH="swift-4.x" |
|||
inherit git-r3 |
|||
KEYWORDS="" |
|||
else |
|||
RESTRICT="mirror" |
|||
SRC_URI="https://swift.im/downloads/releases/swift-${PV}/swift-${PV}.tar.gz" |
|||
KEYWORDS="~amd64 ~x86" |
|||
fi |
|||
|
|||
LICENSE="BSD BSD-1 CC-BY-3.0 GPL-3 OFL-1.1" |
|||
SLOT="0/4" |
|||
IUSE="client expat examples experimental ft gconf hunspell lua icu idn test tools unbound zeroconf" |
|||
REQUIRED_USE="ft? ( experimental ) |
|||
gconf? ( client ) |
|||
hunspell? ( client )" |
|||
|
|||
RDEPEND="dev-lang/lua:= |
|||
dev-libs/boost:= |
|||
dev-libs/openssl:0= |
|||
sys-libs/zlib:= |
|||
expat? ( dev-libs/expat ) |
|||
!expat? ( dev-libs/libxml2:2 ) |
|||
experimental? ( dev-db/sqlite:3 ) |
|||
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 ) |
|||
ft? ( net-libs/libnatpmp |
|||
net-libs/miniupnpc:= ) |
|||
hunspell? ( app-text/hunspell:= ) |
|||
icu? ( dev-libs/icu:= ) |
|||
gconf? ( gnome-base/gconf:2 ) |
|||
idn? ( net-dns/libidn:= ) |
|||
unbound? ( net-dns/unbound |
|||
net-libs/ldns ) |
|||
zeroconf? ( net-dns/avahi )" |
|||
|
|||
DEPEND="${RDEPEND} |
|||
>=dev-util/scons-3.0.1-r3 |
|||
client? ( dev-qt/linguist-tools:5 )" |
|||
|
|||
DOCS=( |
|||
"DEVELOPMENT.md" |
|||
"README.md" |
|||
"Swiften/ChangeLog.md" |
|||
) |
|||
|
|||
src_prepare() { |
|||
default |
|||
|
|||
# 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 |
|||
! use client && rm -fr Swift Slimber |
|||
! use lua && rm -fr Sluift |
|||
! use tools && rm -fr SwiftTools |
|||
! use zeroconf && rm -fr Limber |
|||
|
|||
# Remove '3rdParty', as the system libs should be used |
|||
rm -fr 3rdParty || die |
|||
} |
|||
|
|||
src_configure() { |
|||
use client && local QT_SELECT=qt5 |
|||
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="$(usex experimental)" |
|||
experimental_ft="$(usex ft)" |
|||
hunspell_enable="$(usex hunspell)" |
|||
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" |
|||
qt5="$(usex client)" |
|||
swiften_dll="true" |
|||
swift_mobile="no" |
|||
target="native" |
|||
test="none" |
|||
try_avahi="$(usex zeroconf)" |
|||
try_expat="$(usex expat)" |
|||
try_gconf="$(usex gconf)" |
|||
try_libidn="$(usex idn)" |
|||
try_libxml="$(usex !expat)" |
|||
tls_backend="openssl" |
|||
unbound="$(usex unbound)" |
|||
V="1" |
|||
valgrind="no" |
|||
zlib_bundled_enable="false" |
|||
) |
|||
} |
|||
|
|||
src_compile() { |
|||
local MYSCONSTARGETS=( |
|||
Swiften |
|||
$(usex client Slimber '') |
|||
$(usex client Swift '') |
|||
$(usex lua Sluift '') |
|||
$(usex tools SwifTools '') |
|||
$(usex zeroconf Limber '') |
|||
) |
|||
|
|||
escons "${MYSCONS[@]}" "${MYSCONSTARGETS[@]}" |
|||
} |
|||
|
|||
src_test() { |
|||
escons test=unit QA |
|||
} |
|||
|
|||
src_install() { |
|||
local mysconsinstall=( |
|||
"${MYSCONS[@]}" |
|||
SLUIFT_DIR="${ED%/}/usr" |
|||
SWIFTEN_INSTALLDIR="${ED%/}/usr" |
|||
SWIFTEN_LIBDIR="${ED%/}/usr/$(get_libdir)" |
|||
"${ED%/}" |
|||
) |
|||
escons "${mysconsinstall[@]}" |
|||
|
|||
|
|||
use client && newbin Slimber/CLI/slimber slimber-cli |
|||
use client && newbin Slimber/Qt/slimber slimber-qt |
|||
use lua && dobin Sluift/exe/sluift |
|||
use zeroconf && dobin Limber/limber |
|||
|
|||
local HTML_DOCS="Documentation/SwiftenDevelopersGuide/Swiften Developers Guide.html" |
|||
einstalldocs |
|||
} |
|||
|
|||
pkg_postinst() { |
|||
use client && gnome2_icon_cache_update |
|||
} |
|||
|
|||
pkg_postrm() { |
|||
use client && gnome2_icon_cache_update |
|||
} |
Loading…
Reference in new issue