# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-misc/ser/ser-0.9.4.ebuild,v 1.8 2008/06/15 11:04:25 zmedico Exp $ inherit eutils flag-o-matic IUSE="ipv6 mysql radius postgres jabber ldap ssl" ETHZ_PV="1.0" LDAP_PV="1.0" LDAPS_PV="1.0" SILOMAIL_PV="1.0" DESCRIPTION="SIP Express Router" HOMEPAGE="http://www.iptel.org/ser" SRC_URI="ftp://ftp.berlios.de/pub/ser/${PV}/src/${P}_src.tar.gz mirror://gentoo/silomail-${SILOMAIL_PV}-${PN}-0.9.0.tar.gz mirror://gentoo/ethz-${ETHZ_PV}-${PN}-0.9.0.tar.gz ldap? ( mirror://gentoo/ldap-${LDAP_PV}-${PN}-0.9.0.tar.gz mirror://gentoo/ldaps-${LDAPS_PV}-${PN}-0.9.0.tar.gz )" SLOT="0" LICENSE="GPL-2" KEYWORDS="~ppc ~sparc x86" RDEPEND=" mysql? ( virtual/mysql ) radius? ( >=net-dialup/radiusclient-ng-0.5.0 ) postgres? ( virtual/postgresql-server ) jabber? ( dev-libs/expat ) ldap? ( net-nds/openldap ssl? ( dev-libs/openssl ) )" DEPEND="${RDEPEND} >=sys-devel/bison-1.35 >=sys-devel/flex-2.5.4a" pkg_setup() { enewgroup ser enewuser ser -1 -1 /dev/null ser } src_unpack() { local modules extmodules MY_A # unpack ser source unpack ${P}_src.tar.gz cd ${S} use ipv6 || \ sed -i -e "s/-DUSE_IPV6//g" Makefile.defs # external modules extmodules="silomail ethz" use mysql && \ modules="${modules} mysql" use radius && \ modules="${modules} auth_radius group_radius uri_radius avp_radius" use jabber && \ modules="${modules} jabber" use postgres && \ modules="${modules} postgres" use ldap && \ extmodules="${extmodules} ldap" use ldap && use ssl && \ extmodules="${extmodules} ldaps" # put list of modules into Makefile, we need the list # during compile and install phase... sed -i -e "s:^\(include_modules.*\):\1 ${modules} ${extmodules}:" \ Makefile # fix ser.cfg sed -i -e "/force_send_socket(smaug:5080);/ d" \ etc/ser.cfg # unpack external modules # ugly i know... for x in ${extmodules}; do MY_A=$(eval echo ${x}-\${$(echo ${x} | tr "[:lower:]" "[:upper:]")_PV}-${PN}-0.9.0) mkdir -p ${S}/modules/${x} cd ${S}/modules/${x} unpack ${MY_A}.tar.gz # fix makefiles if [[ -f ${FILESDIR}/${MY_A}.diff ]]; then epatch ${FILESDIR}/${MY_A}.diff fi done if use mysql || use postgres; then sed -i -e "s:^#DEFS+=-DSQL_ACC$:DEFS+=-DSQL_ACC:" \ ${S}/modules/acc/Makefile fi # remove sasl if openldap hasn't been built with it if use ldap && ! built_with_use net-nds/openldap sasl; then sed -i -e "s:-lsasl::g" \ ${S}/modules/ldap/Makefile if use ssl; then sed -i -e "s:-lsasl::g" \ ${S}/modules/ldaps/Makefile fi fi } src_compile() { # add -fPIC append-flags -fPIC make all \ CFLAGS="${CFLAGS}" \ cfg-prefix=/ \ cfg-target=/etc/ser/ \ ${myconf} || die } src_install () { make install \ prefix="" \ bin-prefix=${D}/usr/sbin \ bin-dir="" \ cfg-prefix=${D}/etc \ cfg-dir=ser/ \ cfg-target=/etc/ser/ \ modules-prefix=${D}/usr/lib/ser \ modules-dir=modules \ modules-target=/usr/lib/ser/modules/ \ man-prefix=${D}/usr/share/man \ man-dir="" \ doc-prefix=${D}/usr/share/doc \ doc-dir=${P} || die newinitd ${FILESDIR}/ser.rc6 ser newconfd ${FILESDIR}/ser.confd ser exeinto /usr/sbin newexe scripts/harv_ser.sh harv_ser.sh newexe scripts/sc serctl newexe scripts/ser_mysql.sh ser_mysql.sh chown -R root:ser ${D}/etc/ser chmod 750 ${D}/etc/ser chmod 640 ${D}/etc/ser/* # fix manpages sed -i -e "s:^.B /ser-${PV}AUTHORS:.B /usr/share/doc/${PF}/AUTHORS:" \ -e "s:^.B /ser:.B /usr/sbin/ser:" \ ${D}/usr/share/man/*/* } pkg_preinst() { has_version "${CATEGORY}/${PN}" previous_installed_version=$? } pkg_postinst() { if [[ $previous_installed_version = 0 ]] ; then einfo "Changing permissions on ${ROOT}etc/ser" chown -R root:ser ${ROOT}/etc/ser chmod 750 ${ROOT}/etc/ser chmod 640 ${ROOT}/etc/ser/* fi }