# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="2" WANT_AUTOMAKE=none inherit eutils autotools flag-o-matic ssl-cert user DESCRIPTION="Powerful SMS and WAP gateway" HOMEPAGE="http://www.kannel.org/" SRC_URI="http://www.kannel.org/download/${PV}/gateway-${PV}.tar.gz" LICENSE="Apache-1.1" SLOT="0" KEYWORDS="~amd64 x86" IUSE="ssl mysql sqlite postgres pcre doc debug pam" RESTRICT="test" # some tests fail with "address already in use" RDEPEND="sys-libs/e2fsprogs-libs dev-libs/libxml2 dev-lang/perl sys-libs/zlib ssl? ( dev-libs/openssl ) mysql? ( virtual/mysql ) sqlite? ( dev-db/sqlite:3 ) postgres? ( dev-db/postgresql[server] ) pcre? ( dev-libs/libpcre ) pam? ( virtual/pam )" DEPEND="${RDEPEND} >=sys-devel/bison-2.2 doc? ( media-gfx/transfig app-text/jadetex app-text/docbook-dsssl-stylesheets app-text/docbook-sgml-dtd:3.1 )" S="${WORKDIR}/gateway-${PV}" pkg_setup() { enewgroup kannel enewuser kannel -1 -1 /var/log/kannel kannel } src_prepare() { epatch "${FILESDIR}/${P}-custom-wap-ports.patch" epatch "${FILESDIR}/${P}-autotools.patch" epatch "${FILESDIR}/${P}-external-libuuid.patch" #by default, use current directory for logging sed -i -e 's:/tmp/::' doc/examples/kannel.conf eautoconf } src_configure() { append-flags -fno-strict-aliasing # some code breaks strict aliasing econf --docdir=/usr/share/doc/${PF} \ --enable-localtime \ --disable-start-stop-daemon \ --without-sqlite2 \ $(use_enable pam) \ $(use_enable debug debug) \ $(use_enable pcre) \ $(use_enable doc docs) \ $(use_enable ssl) \ $(use_with mysql) \ $(use_with sqlite sqlite3) \ $(use_with postgres pgsql) \ || die "econf failed" } # phase disabled by RESTRICT # src_test() { # emake check || die "emake check failed" # } src_install() { emake DESTDIR="${D}" install || die "emake install failed" if use doc; then emake DESTDIR="${D}" install-docs || die "emake install-docs failed" fi dodoc README diropts -g kannel -m0750 dodir /etc/kannel insinto /etc/kannel newins doc/examples/kannel.conf kannel.conf.sample local f for f in bearerbox smsbox wapbox; do newinitd "${FILESDIR}/kannel-$f.initd" kannel-$f done diropts -g kannel -m0770 keepdir /var/log/kannel /var/run/kannel } pkg_postinst() { if use ssl; then elog "SSL certificate can be created by running" elog " emerge --config =${CATEGORY}/${PF}" fi } pkg_config() { if use ssl; then if install_cert /etc/ssl/kannel; then chown kannel "${ROOT}"etc/ssl/kannel.{pem,key} einfo "For using this certificate, you have to add following line to your kannel.conf:" einfo ' ssl-client-certkey-file = "/etc/ssl/kannel.pem"' einfo ' ssl-server-cert-file = "/etc/ssl/kannel.crt"' einfo ' ssl-server-key-file = "/etc/ssl/kannel.key"' fi else eerror "This phase exists only for creating kannel SSL certificate" eerror "and ssl USE flag is disabled for this package!" fi }