|
|
@ -1,75 +1,90 @@ |
|
|
|
# Copyright 1999-2017 Gentoo Foundation |
|
|
|
# Copyright 1999-2018 Gentoo Foundation |
|
|
|
# Distributed under the terms of the GNU General Public License v2 |
|
|
|
|
|
|
|
EAPI="6" |
|
|
|
|
|
|
|
inherit cmake-utils systemd versionator |
|
|
|
|
|
|
|
MY_PN="spectrum2" |
|
|
|
inherit cmake-utils user |
|
|
|
|
|
|
|
if [[ ${PV} = "9999" ]] ; then |
|
|
|
EGIT_REPO_URI="git://github.com/hanzz/${MY_PN}.git" |
|
|
|
EGIT_REPO_URI="git://github.com/SpectrumIM/${PN}.git" |
|
|
|
inherit git-r3 |
|
|
|
KEYWORDS="" |
|
|
|
else |
|
|
|
RESTRICT="mirror" |
|
|
|
MY_PV=$(replace_version_separator '_' '-') |
|
|
|
MY_P="${MY_PN}-${MY_PV}" |
|
|
|
SRC_URI="https://github.com/hanzz/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" |
|
|
|
S="${WORKDIR}/${MY_P}" |
|
|
|
SRC_URI="https://github.com/SpectrumIM/spectrum2/archive/${PV}.tar.gz -> ${P}.tar.gz" |
|
|
|
KEYWORDS="~amd64 ~x86" |
|
|
|
fi |
|
|
|
|
|
|
|
DESCRIPTION="Spectrum is a XMPP transport/gateway" |
|
|
|
HOMEPAGE="http://spectrum.im" |
|
|
|
DESCRIPTION="An open source instant messaging transport" |
|
|
|
HOMEPAGE="https://www.spectrum.im" |
|
|
|
|
|
|
|
LICENSE="GPL-2" |
|
|
|
LICENSE="GPL-2+" |
|
|
|
SLOT="0" |
|
|
|
IUSE_PLUGINS="frotz irc jabber purple sms twitter" |
|
|
|
IUSE="debug doc libev mysql postgres sqlite test ${IUSE_PLUGINS}" |
|
|
|
IUSE="debug doc frotz irc mysql postgres purple sms +sqlite test twitter xmpp" |
|
|
|
REQUIRED_USE="|| ( mysql postgres sqlite )" |
|
|
|
|
|
|
|
RDEPEND="${RDEPEND} |
|
|
|
>=net-im/swiften-3.0 |
|
|
|
dev-libs/boost:= |
|
|
|
DEPEND="dev-libs/boost:= |
|
|
|
dev-libs/expat |
|
|
|
dev-libs/log4cxx |
|
|
|
dev-libs/jsoncpp:= |
|
|
|
dev-libs/openssl:0= |
|
|
|
dev-libs/popt |
|
|
|
dev-libs/protobuf:= |
|
|
|
mysql? ( virtual/mysql ) |
|
|
|
postgres? ( dev-libs/libpqxx ) |
|
|
|
sqlite? ( dev-db/sqlite:3 ) |
|
|
|
irc? ( net-im/libcommuni[qt4] ) |
|
|
|
sms? ( app-mobilephone/smstools ) |
|
|
|
purple? ( |
|
|
|
>=net-im/pidgin-2.6.0 |
|
|
|
libev? ( dev-libs/libev ) |
|
|
|
)" |
|
|
|
|
|
|
|
DEPEND="${RDEPEND} |
|
|
|
sys-devel/gettext |
|
|
|
net-dns/libidn |
|
|
|
net-misc/curl |
|
|
|
sys-libs/zlib |
|
|
|
doc? ( app-doc/doxygen ) |
|
|
|
frotz? ( !games-engines/frotz ) |
|
|
|
irc? ( net-im/libcommuni ) |
|
|
|
mysql? ( || ( dev-db/mariadb-connector-c dev-db/mysql-connector-c ) ) |
|
|
|
postgres? ( dev-db/postgresql:= ) |
|
|
|
purple? ( dev-libs/glib |
|
|
|
dev-libs/libev |
|
|
|
net-im/pidgin ) |
|
|
|
sms? ( app-mobilephone/smstools ) |
|
|
|
sqlite? ( dev-db/sqlite:3 ) |
|
|
|
test? ( dev-util/cppunit ) |
|
|
|
" |
|
|
|
twitter? ( net-misc/curl ) |
|
|
|
xmpp? ( net-im/swift:=[ft] )" |
|
|
|
|
|
|
|
RDEPEND="${DEPEND}" |
|
|
|
|
|
|
|
PATCHES=( "${FILESDIR}/remove_debug_cflags.patch" "${FILESDIR}/use_qt5_libcommuni.patch" ) |
|
|
|
|
|
|
|
REQUIRED_USE="|| ( sqlite mysql postgres )" |
|
|
|
pkg_setup() { |
|
|
|
enewgroup spectrum |
|
|
|
enewuser spectrum -1 -1 /var/lib/spectrum2 spectrum |
|
|
|
} |
|
|
|
|
|
|
|
src_prepare() { |
|
|
|
# Respect users LDFLAGS |
|
|
|
sed -i -e "s/-Wl,-export-dynamic/& ${LDFLAGS}/" spectrum/src/CMakeLists.txt || die |
|
|
|
|
|
|
|
CMAKE_IN_SOURCE_BUILD=1 |
|
|
|
# Respect users CFLAGS, when compiling for debug mode. |
|
|
|
# Since Spectrum2 searches for a qt4 compiled libcommuni, |
|
|
|
# it must be patched, to find the qt5 compiled libcommuni. |
|
|
|
# See: https://github.com/SpectrumIM/spectrum2/pull/253 |
|
|
|
cmake-utils_src_prepare |
|
|
|
} |
|
|
|
|
|
|
|
src_configure() { |
|
|
|
if use debug; then |
|
|
|
CMAKE_BUILD_TYPE="Debug" |
|
|
|
fi |
|
|
|
|
|
|
|
local mycmakeargs=( |
|
|
|
$(cmake-utils_use_find_package libev event) |
|
|
|
-DENABLE_MYSQL="$(usex mysql)" |
|
|
|
-DENABLE_PQXX="$(usex postgres)" |
|
|
|
-DENABLE_SQLITE3="$(usex sqlite)" |
|
|
|
-DENABLE_DOCS="$(usex doc)" |
|
|
|
-DENABLE_FROTZ="$(usex frotz)" |
|
|
|
-DENABLE_IRC="$(usex irc)" |
|
|
|
-DENABLE_XMPP="$(usex jabber)" |
|
|
|
-DENABLE_PURPLE="$(usex purple)" |
|
|
|
-DENABLE_SMSTOOLS3="$(usex sms)" |
|
|
|
-DENABLE_TWITTER="$(usex twitter)" |
|
|
|
-DENABLE_TESTS="$(usex test)" |
|
|
|
-DLIB_INSTALL_DIR=$(get_libdir) |
|
|
|
-DENABLE_DOCS="$(usex doc)" \ |
|
|
|
-DENABLE_FROTZ="$(usex frotz)" \ |
|
|
|
-DENABLE_IRC="$(usex irc)" \ |
|
|
|
-DENABLE_MYSQL="$(usex mysql)" \ |
|
|
|
-DENABLE_PQXX="$(usex postgres)" \ |
|
|
|
-DENABLE_PURPLE="$(usex purple)" \ |
|
|
|
-DENABLE_SMSTOOLS3="$(usex sms)" \ |
|
|
|
-DENABLE_SQLITE3="$(usex sqlite)" \ |
|
|
|
-DENABLE_TESTS="$(usex test)" \ |
|
|
|
-DENABLE_TWITTER="$(usex twitter)" \ |
|
|
|
-DENABLE_XMPP="$(usex xmpp)" \ |
|
|
|
-DLIB_INSTALL_DIR="$(get_libdir)" |
|
|
|
) |
|
|
|
|
|
|
|
cmake-utils_src_configure |
|
|
@ -78,17 +93,10 @@ src_configure() { |
|
|
|
src_install() { |
|
|
|
cmake-utils_src_install |
|
|
|
|
|
|
|
newinitd "${FILESDIR}"/spectrum2.initd spectrum2 |
|
|
|
systemd_dotmpfilesd "${FILESDIR}"/systemd/spectrum2.conf |
|
|
|
keepdir "${EPREFIX}"/var/lib/spectrum2 |
|
|
|
keepdir "${EPREFIX}"/var/log/spectrum2 |
|
|
|
} |
|
|
|
einstalldocs |
|
|
|
|
|
|
|
pkg_postinst() { |
|
|
|
chown jabber:jabber -R "/etc/spectrum2" || die |
|
|
|
chown jabber:jabber -R "${EPREFIX}/var/lib/spectrum2" || die |
|
|
|
chown jabber:jabber -R "${EPREFIX}/var/log/spectrum2" || die |
|
|
|
chmod 750 "/etc/spectrum2" || die |
|
|
|
chmod 750 "${EPREFIX}/var/lib/spectrum2" || die |
|
|
|
chmod 750 "${EPREFIX}/var/log/spectrum2" || die |
|
|
|
diropts -o spectrum -g spectrum |
|
|
|
keepdir /var/log/spectrum2 /var/lib/spectrum2 |
|
|
|
|
|
|
|
newinitd "${FILESDIR}"/spectrum2.initd spectrum2 |
|
|
|
} |
|
|
|