Skip to content

Commit

Permalink
pkg: add ebuild for 5.2 branch for new gento packages (GH #2220)
Browse files Browse the repository at this point in the history
  • Loading branch information
fsantulli authored and henningw committed Feb 17, 2020
1 parent b389c87 commit 443b06b
Showing 1 changed file with 156 additions and 0 deletions.
156 changes: 156 additions & 0 deletions pkg/kamailio/gentoo/kamailio-5.2.6.ebuild
@@ -0,0 +1,156 @@
# Copyright 1999-2020 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit eutils flag-o-matic toolchain-funcs user

IUSE="ipv6 mysql radius postgres jabber ssl odbc sctp rtpengine redis pua ims presence sqlite snmp json http ldap geoip2 erlang xml jansson lua evapi"

DESCRIPTION="The Open Source SIP Server"
HOMEPAGE="http://www.kamailio.org/"
SRC_URI="http://www.${PN}.org/pub/${PN}/${PV}/src/${P}_src.tar.gz"

SLOT="0"
LICENSE="GPL-2+"
KEYWORDS="~amd64 ~x86"

RDEPEND=">=sys-devel/bison-1.35
>=sys-devel/flex-2.5.4a
app-text/dos2unix
dev-libs/libpcre
>=dev-libs/libical-3.0.5
ssl? ( dev-libs/openssl )
mysql? ( virtual/mysql )
radius? ( >=net-dialup/radiusclient-ng-0.5.0 )
postgres? ( dev-db/libpq )
jabber? ( dev-libs/expat )
odbc? ( dev-db/unixODBC )
sctp? ( net-misc/lksctp-tools )
redis? ( dev-db/redis )
rtpengine? ( net-misc/ngcp-rtpengine )
ldap? ( net-nds/openldap )
sqlite? ( dev-db/sqlite )
snmp? ( net-analyzer/net-snmp )
xml? ( dev-libs/libxml2 )
jansson? ( dev-libs/jansson )
json? ( dev-libs/json-c )
lua? ( dev-lang/lua )
geoip2? ( dev-libs/libmaxminddb )
evapi? ( >=dev-libs/libev-4.23 )"

DEPEND="${RDEPEND}"

src_prepare() {
eapply_user
}

src_configure() {
use ipv6 || \
sed -i -e "s/-DUSE_IPV6//g" Makefile.defs

use ssl && \
sed -i -e "s:^#\(TLS=1\).*:\1:" Makefile && \
KAMODULES="${KAMODULES} tls"

use mysql && KAMODULES="${KAMODULES} db_mysql"

use radius && KAMODULES="${KAMODULES} acc_radius auth_radius misc_radius"

use jabber && KAMODULES="${KAMODULES} xmpp"
use jabber && \
use pua && \
KAMODULES="${KAMODULES} pua_xmpp"

use postgres && KAMODULES="${KAMODULES} db_postgres"

use odbc && KAMODULES="${KAMODULES} db_unixodbc"

use sqlite && KAMODULES="${KAMODULES} db_sqlite"

use sctp && KAMODULES="${KAMODULES} sctp"

use redis && KAMODULES="${KAMODULES} db_redis ndb_redis topos_redis"

use json && KAMODULES="${KAMODULES} json acc_json jsonrpcc"
use json && \
use pua && \
KAMODULES="${KAMODULES} pua_json"

use pua && KAMODULES="${KAMODULES} pua pua_bla pua_dialoginfo pua_reginfo pua_rpc pua_usrloc"

use ims && KAMODULES="${KAMODULES} ims_auth ims_charging ims_dialog ims_diameter_server ims_icscf ims_ipsec_pcscf ims_isc ims_ocs ims_qos ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf ims_usrloc_scscf cdp cdp_avp"

use presence && KAMODULES="${KAMODULES} presence presence_conference presence_dialoginfo presence_mwi presence_profile presence_reginfo presence_xml"

use snmp && KAMODULES="${KAMODULES} snmpstats"

use http && KAMODULES="${KAMODULES} http_async_client http_client"

use ldap && KAMODULES="${KAMODULES} ldap"

use geoip2 && KAMODULES="${KAMODULES} geoip2"

use erlang && KAMODULES="${KAMODULES} erlang"

use evapi && KAMODULES="${KAMODULES} evapi"

use xml && KAMODULES="${KAMODULES} xmlops"

use lua && KAMODULES="${KAMODULES} app_lua"

use jansson && KAMODULES="${KAMODULES} jansson"

KAMODULES="${KAMODULES} dialplan lcr outbound utils regex uuid"
}

src_compile() {
use amd64 && append-flags "-fPIC"
use json && append-flags "-I/usr/include/json-c"

emake \
CC="$(tc-getCC)" \
CPU_TYPE="$(get-flag march)" \
mode="release" \
prefix="/usr" \
include_modules="${KAMODULES}" \
cfg_prefix="/etc" \
cfg_dir="${PN}/" \
cfg_target="/etc/${PN}/" \
doc_dir="share/doc/${PF}/" \
all || die
}

src_install () {
emake \
BASEDIR="${D}" \
mode="release" \
prefix="/usr" \
include_modules="${KAMODULES}" \
cfg_prefix="${D}/etc" \
cfg_dir="${PN}/" \
cfg_target="/etc/${PN}/" \
doc_dir="share/doc/${PF}/" \
share_prefix="${D}/usr/" \
share_dir="share/${PF}/" \
data_prefix="${D}/usr" \
data_dir="share/${PF}/" \
data_target="/usr/share/${PF}/" \
install || die

newinitd "${FILESDIR}/${PN}".initd ${PN}
newconfd "${FILESDIR}/${PN}".confd ${PN}

cd "${S}"
dodoc ChangeLog CODE_OF_CONDUCT.md COPYING INSTALL ISSUES README README.md
}

pkg_preinst() {
if [[ -z "$(egetent passwd ${PN})" ]]; then
einfo "Adding ${PN} user and group"
enewgroup ${PN}
enewuser ${PN} -1 -1 /dev/null ${PN}
fi
chown -R root:${PN} ${D}/etc/${PN}
chmod -R u=rwX,g=rX,o= ${D}/etc/${PN}
}

0 comments on commit 443b06b

Please sign in to comment.