summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2006-03-25 09:29:03 +0000
committerAlin Năstac <mrness@gentoo.org>2006-03-25 09:29:03 +0000
commit934d99a3e10fdc72516b114ac08ac593f2d1b127 (patch)
tree0bf31c487323e15429d9d3f6e6dd77807a770b27 /app-mobilephone/kannel
parentRemoving masks for files no longer in the tree (diff)
downloadhistorical-934d99a3e10fdc72516b114ac08ac593f2d1b127.tar.gz
historical-934d99a3e10fdc72516b114ac08ac593f2d1b127.tar.bz2
historical-934d99a3e10fdc72516b114ac08ac593f2d1b127.zip
Add patch for customizing WAP ports, created by Lubor Kolar <kolar@porcus.cz> (#126331).
Package-Manager: portage-2.0.54
Diffstat (limited to 'app-mobilephone/kannel')
-rw-r--r--app-mobilephone/kannel/ChangeLog11
-rw-r--r--app-mobilephone/kannel/Manifest19
-rw-r--r--app-mobilephone/kannel/files/digest-kannel-1.4.0-r11
-rw-r--r--app-mobilephone/kannel/files/kannel-1.4.0-custom-wap-ports.patch360
-rw-r--r--app-mobilephone/kannel/kannel-1.4.0-r1.ebuild96
5 files changed, 477 insertions, 10 deletions
diff --git a/app-mobilephone/kannel/ChangeLog b/app-mobilephone/kannel/ChangeLog
index 38e12ae123bd..2f3b0f77f34c 100644
--- a/app-mobilephone/kannel/ChangeLog
+++ b/app-mobilephone/kannel/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-mobilephone/kannel
-# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-mobilephone/kannel/ChangeLog,v 1.4 2005/12/06 22:16:45 mrness Exp $
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-mobilephone/kannel/ChangeLog,v 1.5 2006/03/25 09:29:03 mrness Exp $
+
+*kannel-1.4.0-r1 (25 Mar 2006)
+
+ 25 Mar 2006; Alin Nastac <mrness@gentoo.org>
+ +files/kannel-1.4.0-custom-wap-ports.patch, +kannel-1.4.0-r1.ebuild:
+ Add patch for customizing WAP ports, created by Lubor Kolar
+ <kolar@porcus.cz> (#126331).
06 Dec 2005; Alin Nastac <mrness@gentoo.org>
+files/kannel-1.4.0-mysql-list.patch, kannel-1.4.0.ebuild:
diff --git a/app-mobilephone/kannel/Manifest b/app-mobilephone/kannel/Manifest
index 3225e3b6ff64..234b786be124 100644
--- a/app-mobilephone/kannel/Manifest
+++ b/app-mobilephone/kannel/Manifest
@@ -1,17 +1,20 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-MD5 46e07d5fc3939036bccefba3c8ab4a1c ChangeLog 803
-MD5 8e6557d777542beebd0e35c01bdc156c metadata.xml 389
-MD5 b66c40044356888f58a83e491406a6fc kannel-1.4.0.ebuild 2264
+MD5 6de3b0e5cffd0eb81f3ed25b0ebbc829 ChangeLog 1047
MD5 a7c05f05df99dd759d119b393cbe59e0 files/digest-kannel-1.4.0 66
+MD5 a7c05f05df99dd759d119b393cbe59e0 files/digest-kannel-1.4.0-r1 66
+MD5 0f567adfb816974f954e319e21b24893 files/kannel-1.4.0-custom-wap-ports.patch 13297
+MD5 600c73cb97d9ffdce59537ee94229ee7 files/kannel-1.4.0-mysql-list.patch 7291
MD5 b77f55cded4c364d155c302e81eb07c6 files/kannel-confd 366
MD5 0b79d37344165b8743061f68a18959ce files/kannel-initd 1529
-MD5 600c73cb97d9ffdce59537ee94229ee7 files/kannel-1.4.0-mysql-list.patch 7291
+MD5 d4dddefe4665121700b76b846b3fbf10 kannel-1.4.0-r1.ebuild 2332
+MD5 b66c40044356888f58a83e491406a6fc kannel-1.4.0.ebuild 2264
+MD5 8e6557d777542beebd0e35c01bdc156c metadata.xml 389
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.1 (GNU/Linux)
+Version: GnuPG v1.4.2.2 (GNU/Linux)
-iD8DBQFDlg3oNSP4Vda7IdsRAm7jAJ9KPYMfLUCu1EjzPagyA2+QBcb5hgCfX0nK
-t0hDeA+KiPVnf1BgLslXJps=
-=cA+E
+iD8DBQFEJQ1xjG8pv1lIUX4RAoXpAJ9f75G8cqSxqtZCtImrpKKx1VbPkgCglZdv
+blLTGys1fCKrVNlKjU4Ejss=
+=aCAu
-----END PGP SIGNATURE-----
diff --git a/app-mobilephone/kannel/files/digest-kannel-1.4.0-r1 b/app-mobilephone/kannel/files/digest-kannel-1.4.0-r1
new file mode 100644
index 000000000000..6c95c81880b6
--- /dev/null
+++ b/app-mobilephone/kannel/files/digest-kannel-1.4.0-r1
@@ -0,0 +1 @@
+MD5 b6fbb1599b377c44c35a5338746c42d3 gateway-1.4.0.tar.gz 2465341
diff --git a/app-mobilephone/kannel/files/kannel-1.4.0-custom-wap-ports.patch b/app-mobilephone/kannel/files/kannel-1.4.0-custom-wap-ports.patch
new file mode 100644
index 000000000000..efc5dcf1cb7a
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-1.4.0-custom-wap-ports.patch
@@ -0,0 +1,360 @@
+diff -r -u -N gateway-1.4.0.orig/gw/bb_udp.c gateway-1.4.0/gw/bb_udp.c
+--- gateway-1.4.0.orig/gw/bb_udp.c 2004-05-15 10:16:01.000000000 +0200
++++ gateway-1.4.0/gw/bb_udp.c 2006-03-15 21:08:52.000000000 +0100
+@@ -78,7 +78,7 @@
+ #include "gwlib/gwlib.h"
+ #include "msg.h"
+ #include "bearerbox.h"
+-
++#include "custports.h"
+ /* passed from bearerbox core */
+
+ extern volatile sig_atomic_t bb_status;
+@@ -352,13 +352,13 @@
+ while (list_len(ifs) > 0) {
+ iface = list_extract_first(ifs);
+ info(0, "Adding interface %s", octstr_get_cstr(iface));
+- add_service(9200, octstr_get_cstr(iface)); /* wsp */
+- add_service(9201, octstr_get_cstr(iface)); /* wsp/wtp */
++ add_service(port_wsp, octstr_get_cstr(iface)); /* wsp */
++ add_service(port_wtp, octstr_get_cstr(iface)); /* wsp/wtp */
+
+ #ifdef HAVE_WTLS_OPENSSL
+ if (allow_wtls) {
+- add_service(9202, octstr_get_cstr(iface)); /* wsp/wtls */
+- add_service(9203, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
++ add_service(port_wsps, octstr_get_cstr(iface)); /* wsp/wtls */
++ add_service(port_wtps, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
+ }
+ #else
+ if (allow_wtls)
+diff -r -u -N gateway-1.4.0.orig/gw/bearerbox.c gateway-1.4.0/gw/bearerbox.c
+--- gateway-1.4.0.orig/gw/bearerbox.c 2004-06-28 17:48:29.000000000 +0200
++++ gateway-1.4.0/gw/bearerbox.c 2006-03-15 21:08:52.000000000 +0100
+@@ -77,6 +77,7 @@
+ #include "bearerbox.h"
+ #include "shared.h"
+ #include "dlr.h"
++#include "custports.h"
+
+ /* global variables; included to other modules as needed */
+
+@@ -280,7 +281,6 @@
+ {
+ static int started = 0;
+ if (started) return 0;
+-
+ udp_start(cfg);
+
+ start_wap(cfg);
+@@ -353,6 +353,7 @@
+ int ssl_enabled = 0;
+ #endif /* HAVE_LIBSSL */
+
++ ReadCustomPorts(cfg);
+ /* defaults: use localtime and markers for access-log */
+ lf = m = 1;
+
+diff -r -u -N gateway-1.4.0.orig/gw/custports.c gateway-1.4.0/gw/custports.c
+--- gateway-1.4.0.orig/gw/custports.c 1970-01-01 01:00:00.000000000 +0100
++++ gateway-1.4.0/gw/custports.c 2006-03-15 21:08:52.000000000 +0100
+@@ -0,0 +1,94 @@
++/* ====================================================================
++ * The Kannel Software License, Version 1.0
++ *
++ * Copyright (c) 2001-2004 Kannel Group
++ * Copyright (c) 1998-2001 WapIT Ltd.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The end-user documentation included with the redistribution,
++ * if any, must include the following acknowledgment:
++ * "This product includes software developed by the
++ * Kannel Group (http://www.kannel.org/)."
++ * Alternately, this acknowledgment may appear in the software itself,
++ * if and wherever such third-party acknowledgments normally appear.
++ *
++ * 4. The names "Kannel" and "Kannel Group" must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission. For written permission, please
++ * contact org@kannel.org.
++ *
++ * 5. Products derived from this software may not be called "Kannel",
++ * nor may "Kannel" appear in their name, without prior written
++ * permission of the Kannel Group.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
++ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
++ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
++ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
++ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
++ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This software consists of voluntary contributions made by many
++ * individuals on behalf of the Kannel Group. For more information on
++ * the Kannel Group, please see <http://www.kannel.org/>.
++ *
++ * Portions of this software are based upon software originally written at
++ * WapIT Ltd., Helsinki, Finland for the Kannel project.
++ */
++
++/*
++ * gw/custports.c
++ *
++ * Implementation of reading custom UDP ports used by wapbox
++ *
++ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
++ */
++
++#include <custports.h>
++
++long port_wsp = 9200; // connectionless default
++long port_wtp = 9201; // connection-oriented default
++long port_wsps = 9202; // connectionless secure default
++long port_wtps = 9203; // connection-oriented secure
++
++
++void ReadCustomPorts(Cfg *config)
++{
++ CfgGroup *grp;
++ grp = cfg_get_single_group(config, octstr_imm("wapbox"));
++
++ if(cfg_get_integer(&port_wsp, grp, octstr_imm("wsp-port")) != -1)
++ {
++ info(0, "Using custom WSP port %ld", port_wsp);
++ }
++ if(cfg_get_integer(&port_wtp, grp, octstr_imm("wtp-port")) != -1)
++ {
++ info(0, "Using custom WSP/WTP port %ld", port_wtp);
++ }
++ if(cfg_get_integer(&port_wsps, grp, octstr_imm("wsps-port")) != -1)
++ {
++ info(0, "Using custom WSP/WTLS port %ld", port_wsps);
++ }
++ if(cfg_get_integer(&port_wtps, grp, octstr_imm("wtps-port")) != -1)
++ {
++ info(0, "Using custom WSP/WTP/WTLS port %ld", port_wtps);
++ }
++}
+diff -r -u -N gateway-1.4.0.orig/gw/custports.h gateway-1.4.0/gw/custports.h
+--- gateway-1.4.0.orig/gw/custports.h 1970-01-01 01:00:00.000000000 +0100
++++ gateway-1.4.0/gw/custports.h 2006-03-15 21:08:52.000000000 +0100
+@@ -0,0 +1,77 @@
++/* ====================================================================
++ * The Kannel Software License, Version 1.0
++ *
++ * Copyright (c) 2001-2004 Kannel Group
++ * Copyright (c) 1998-2001 WapIT Ltd.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The end-user documentation included with the redistribution,
++ * if any, must include the following acknowledgment:
++ * "This product includes software developed by the
++ * Kannel Group (http://www.kannel.org/)."
++ * Alternately, this acknowledgment may appear in the software itself,
++ * if and wherever such third-party acknowledgments normally appear.
++ *
++ * 4. The names "Kannel" and "Kannel Group" must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission. For written permission, please
++ * contact org@kannel.org.
++ *
++ * 5. Products derived from this software may not be called "Kannel",
++ * nor may "Kannel" appear in their name, without prior written
++ * permission of the Kannel Group.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
++ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
++ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
++ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
++ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
++ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This software consists of voluntary contributions made by many
++ * individuals on behalf of the Kannel Group. For more information on
++ * the Kannel Group, please see <http://www.kannel.org/>.
++ *
++ * Portions of this software are based upon software originally written at
++ * WapIT Ltd., Helsinki, Finland for the Kannel project.
++ */
++
++/*
++ * gw/custports.h
++ *
++ * Implementation of wapbox custom UDP ports)
++ *
++ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
++ */
++
++#ifndef CUSTPORTS_H
++#define CUSTPORTS_H
++
++#include "gwlib/gwlib.h"
++
++extern long port_wsp; // connectionless
++extern long port_wtp; // connection-oriented
++extern long port_wsps; // connectionless secure
++extern long port_wtps; // connection-oriented secure
++
++void ReadCustomPorts(Cfg *config);
++#endif /* CUSTPORTS_H */
++
+diff -r -u -N gateway-1.4.0.orig/gw/wap_push_ppg.c gateway-1.4.0/gw/wap_push_ppg.c
+--- gateway-1.4.0.orig/gw/wap_push_ppg.c 2004-06-20 20:26:16.000000000 +0200
++++ gateway-1.4.0/gw/wap_push_ppg.c 2006-03-15 21:08:52.000000000 +0100
+@@ -88,6 +88,7 @@
+ #include "wap_push_pap_compiler.h"
+ #include "wap_push_pap_mime.h"
+ #include "wap_push_ppg_pushuser.h"
++#include "custports.h"
+
+ enum {
+ TIME_EXPIRED = 0,
+@@ -1767,10 +1768,10 @@
+
+ if (!cless_accepted) {
+ cliport = CONNECTED_CLIPORT;
+- servport = CONNECTED_SERVPORT;
++ servport = port_wtp;
+ } else {
+ cliport = CONNECTIONLESS_PUSH_CLIPORT;
+- servport = CONNECTIONLESS_SERVPORT;
++ servport = port_wsp;
+ }
+
+ address_type = (**e).u.Push_Message.address_type;
+diff -r -u -N gateway-1.4.0.orig/gw/wap_push_ppg.h gateway-1.4.0/gw/wap_push_ppg.h
+--- gateway-1.4.0.orig/gw/wap_push_ppg.h 2004-01-22 15:08:24.000000000 +0100
++++ gateway-1.4.0/gw/wap_push_ppg.h 2006-03-15 21:08:52.000000000 +0100
+@@ -167,9 +167,7 @@
+ */
+ enum {
+ CONNECTIONLESS_PUSH_CLIPORT = 2948,
+- CONNECTIONLESS_SERVPORT = 9200,
+ CONNECTED_CLIPORT = 9209,
+- CONNECTED_SERVPORT = 9201
+ };
+
+ struct PPGSessionMachine {
+diff -r -u -N gateway-1.4.0.orig/gw/wapbox.c gateway-1.4.0/gw/wapbox.c
+--- gateway-1.4.0.orig/gw/wapbox.c 2004-08-28 20:09:19.000000000 +0200
++++ gateway-1.4.0/gw/wapbox.c 2006-03-15 21:08:52.000000000 +0100
+@@ -84,17 +84,11 @@
+ #include "gwlib/pki.h"
+ #endif
+ #include "radius/radius_acct.h"
++#include "custports.h"
+
+ static void config_reload(int reload);
+ static long logfilelevel=-1;
+
+-enum {
+- CONNECTIONLESS_PORT = 9200,
+- CONNECTION_ORIENTED_PORT = 9201,
+- WTLS_CONNECTIONLESS_PORT = 9202,
+- WTLS_CONNECTION_ORIENTED_PORT = 9203
+-};
+-
+ enum { DEFAULT_TIMER_FREQ = 1};
+
+ static Octstr *bearerbox_host;
+@@ -128,6 +122,8 @@
+
+ cfg_dump(cfg);
+
++ ReadCustomPorts(cfg);
++
+ /*
+ * Extract info from the core group.
+ */
+@@ -751,9 +747,9 @@
+ * XXXX here should be suspend/resume, add RSN
+ */
+ } else if (msg_type(msg) == wdp_datagram) {
+- switch (msg->wdp_datagram.destination_port) {
+- case CONNECTIONLESS_PORT:
+- case CONNECTION_ORIENTED_PORT:
++ if(msg->wdp_datagram.destination_port == port_wsp
++ || msg->wdp_datagram.destination_port == port_wtp)
++ {
+ dgram = wap_event_create(T_DUnitdata_Ind);
+ dgram->u.T_DUnitdata_Ind.addr_tuple = wap_addr_tuple_create(
+ msg->wdp_datagram.source_address,
+@@ -764,19 +760,22 @@
+ msg->wdp_datagram.user_data = NULL;
+
+ wap_dispatch_datagram(dgram);
+- break;
+- case WTLS_CONNECTIONLESS_PORT:
+- case WTLS_CONNECTION_ORIENTED_PORT:
++ }
++ else
++ if(msg->wdp_datagram.destination_port == port_wsps
++ || msg->wdp_datagram.destination_port == port_wtps)
++ {
+ #if (HAVE_WTLS_OPENSSL)
+ dgram = wtls_unpack_wdp_datagram(msg);
+ if (dgram != NULL)
+ wtls_dispatch_event(dgram);
+ #endif
+- break;
+- default:
++ }
++ else
++ {
+ panic(0,"Bad packet received! This shouldn't happen!");
+ break;
+- }
++ }
+ } else {
+ warning(0, "Received other message than wdp/admin, ignoring!");
+ }
+diff -r -u -N gateway-1.4.0.orig/gwlib/cfg.def gateway-1.4.0/gwlib/cfg.def
+--- gateway-1.4.0.orig/gwlib/cfg.def 2004-06-28 17:18:35.000000000 +0200
++++ gateway-1.4.0/gwlib/cfg.def 2006-03-15 21:09:14.000000000 +0100
+@@ -148,6 +148,10 @@
+ OCTSTR(http-interface-name)
+ OCTSTR(concatenation)
+ OCTSTR(max-messages)
++ OCTSTR(wsp-port)
++ OCTSTR(wtp-port)
++ OCTSTR(wsps-port)
++ OCTSTR(wtps-port)
+ )
+
+
diff --git a/app-mobilephone/kannel/kannel-1.4.0-r1.ebuild b/app-mobilephone/kannel/kannel-1.4.0-r1.ebuild
new file mode 100644
index 000000000000..649c5887481a
--- /dev/null
+++ b/app-mobilephone/kannel/kannel-1.4.0-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-mobilephone/kannel/kannel-1.4.0-r1.ebuild,v 1.1 2006/03/25 09:29:03 mrness Exp $
+inherit eutils
+
+DESCRIPTION="Powerful SMS and WAP gateway"
+HOMEPAGE="http://www.kannel.org/"
+SRC_URI="http://www.kannel.org/download/${PV}/gateway-${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ssl mysql sqlite postgres pcre doc debug pam"
+
+RDEPEND="virtual/libc
+ >=dev-libs/libxml2-2.6.17
+ >=dev-lang/perl-5.8.5
+ >=sys-libs/zlib-1.2.2
+ ssl? ( >=dev-libs/openssl-0.9.7d )
+ mysql? ( >=dev-db/mysql-4.0.22 )
+ sqlite? ( dev-db/sqlite )
+ postgres? ( dev-db/postgresql )
+ pcre? ( dev-libs/libpcre )
+ doc? ( media-gfx/transfig
+ app-text/jadetex
+ app-text/docbook-dsssl-stylesheets )
+ pam? ( >=sys-libs/pam-0.77 )"
+DEPEND="${RDEPEND}
+ >=sys-devel/bison-1.875d"
+
+S="${WORKDIR}/gateway-${PV}"
+
+pkg_setup() {
+ enewgroup kannel
+ enewuser kannel -1 -1 /var/log/kannel kannel
+}
+
+src_unpack() {
+ unpack ${A}
+
+ epatch "${FILESDIR}/${P}-mysql-list.patch"
+ epatch "${FILESDIR}/${P}-custom-wap-ports.patch"
+
+ cd "${S}"
+ #by default, use current directory for logging
+ sed -i -e 's:/tmp/::' doc/examples/kannel.conf
+ #correct doc path
+ sed -i -e "s:share/doc/kannel:share/doc/${P}:" configure configure.in
+}
+
+src_compile() {
+ econf \
+ --enable-localtime \
+ --disable-start-stop-daemon \
+ $(use_enable pam) \
+ $(use_enable debug debug) \
+ $(use_enable pcre) \
+ $(use_enable doc docs) \
+ $(use_enable ssl) \
+ $(use_with mysql) \
+ $(use_with sqlite) \
+ $(use_with postgres pgsql) \
+ || die "./configure failed"
+
+ emake || die "emake failed"
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+
+ use doc && make DESTDIR="${D}" install-docs
+ dodoc README LICENSE
+
+ diropts -g kannel -m0750
+ dodir /etc/kannel
+ insinto /etc/kannel
+ newins doc/examples/kannel.conf kannel.conf.sample
+ newins doc/examples/modems.conf modems.conf.sample
+ use mysql && newins doc/examples/dlr-mysql.conf dlr-mysql.conf.sample
+
+ diropts -g kannel -m0770
+ keepdir /var/log/kannel
+
+ exeinto /etc/init.d
+ newexe "${FILESDIR}/kannel-initd" kannel
+ insinto /etc/conf.d
+ newins "${FILESDIR}/kannel-confd" kannel
+}
+
+pkg_preinst() {
+ pkg_setup
+}