--- zaptel-1.2.24.ebuild.original 2008-03-07 18:06:48.000000000 +0100 +++ zaptel-1.2.24.ebuild 2008-03-20 23:20:28.000000000 +0100 @@ -1,13 +1,16 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/zaptel/zaptel-1.2.24.ebuild,v 1.2 2008/03/07 16:50:36 opfer Exp $ +# $Header: $ inherit toolchain-funcs eutils linux-mod flag-o-matic -BRI_VERSION="0.3.0-PRE-1y-l" +BRI_VERSION="0.3.0-PRE-1y-p" FLORZ_VERSION="0.3.0-PRE-1y-l_florz-12.1" -IUSE="astribank bri ecmark ecmark2 ecmark3 ecaggressive eckb1 ecmg2 ecsteve ecsteve2 florz +OSLEC_VERSION="0.1" +OSLEC_PATCH="oslec-${OSLEC_VERSION}-${P}" + +IUSE="astribank bri ecmark ecmark2 ecmark3 ecaggressive eckb1 ecmg2 ecsteve ecsteve2 ecoslec florz rtc watchdog zapras zapnet" MY_P="${P/_/-}" @@ -17,26 +20,44 @@ SRC_URI="http://downloads.digium.com/pub/zaptel/releases/${MY_P}.tar.gz bri? ( http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz ) florz? ( http://zaphfc.florz.dyndns.org/zaphfc_${FLORZ_VERSION}.diff.gz ) - " + ecoslec? ( http://www.rowetel.com/ucasterisk/downloads/oslec-${OSLEC_VERSION}.tar.gz + mirror://gentoo/${OSLEC_PATCH}.diff.gz )" S="${WORKDIR}/${MY_P}" S_BRI="${WORKDIR}/bristuff-${BRI_VERSION}" +S_OSLEC="${WORKDIR}/oslec-${OSLEC_VERSION}/kernel" SLOT="0" LICENSE="GPL-2" -KEYWORDS="~amd64 ~ppc x86" +KEYWORDS="~x86" RDEPEND="virtual/libc dev-libs/libusb >=dev-libs/newt-0.50.0 - astribank? ( dev-lang/perl )" + astribank? ( dev-lang/perl ) + ecoslec? ( dev-util/dialog )" DEPEND="${RDEPEND} virtual/linux-sources" +MODULE_NAMES="zaptel() tor2() torisa() wcusb() wcfxo() wctdm() ztdynamic() ztd-eth() wct1xxp() wcte11xp() pciradio() ztd-loc() wct4xxp(misc/wct4xxp::${S}/wct4xxp)" +if kernel_is 2 6 ; then + MODULE_NAMES="${MODULE_NAMES} ztdummy() zttranscode() wctc4xxp(misc/wctc4xxp::${S}/wctc4xxp) wcte12xp(misc/wcte12xp::${S}/wcte12xp) wctdm24xxp(misc/wctdm24xxp::${S}/wctdm24xxp)" +fi +# aliases = wcfxs wctdm8xxp wct2xxp + +use ecoslec && MODULE_NAMES="${MODULE_NAMES} oslec(:${S_OSLEC})" +use astribank && MODULE_NAMES="${MODULE_NAMES} xpd_fxo(misc/xpp::${S}/xpp) xpd_fxs(misc/xpp::${S}/xpp) xpp(misc/xpp::${S}/xpp) xpd_pri(misc/xpp::${S}/xpp)" +use astribank && use bri && MODULE_NAMES="${MODULE_NAMES} xpd_bri(misc/xpp::${S}/xpp)" +use astribank && linux_chkconfig_present USB && MODULE_NAMES="${MODULE_NAMES} xpp_usb(misc/xpp::${S}/xpp)" +use bri && MODULE_NAMES="${MODULE_NAMES} cwain(:${S_BRI}/cwain) qozap(:${S_BRI}/qozap) zaphfc(:${S_BRI}/zaphfc)" + +BUILD_PARAMS="KVERS=${KV_FULL} SRC=${KV_DIR} ARCH=$(tc-arch-kernel)" +BUILD_TARGETS="all" + # list of echo canceller use flags, # first active in this list is selected (=order does matter) -ZAP_EC_FLAGS="ecmark ecmark2 ecmark3 ecsteve ecsteve2 eckb1 ecmg2" +ZAP_EC_FLAGS="ecmark ecmark2 ecmark3 ecsteve ecsteve2 eckb1 ecmg2 ecoslec" ### Begin: Helper functions @@ -170,8 +191,9 @@ unpack ${A} cd "${S}" - epatch "${FILESDIR}"/${PN}-1.2.23-gentoo.diff + epatch "${FILESDIR}"/${P}-gentoo.diff epatch "${FILESDIR}"/zaptel-1.2.9.1-ar.patch + epatch "${FILESDIR}"/zaptel-1.2.24-linux-mod.diff # try to apply bristuff patch if use bri; then @@ -179,13 +201,18 @@ chmod -R a=rwX ${S_BRI} einfo "Patching zaptel w/ BRI stuff (${BRI_VERSION})" - epatch ${S_BRI}/patches/zaptel.patch + #epatch ${S_BRI}/patches/zaptel.patch + epatch ${S_BRI}/patches/zaptel/100-zapel-BRI-dchan.diff + epatch ${S_BRI}/patches/zaptel/101-ztcfg-start_stop.diff + sed -i -e "s:LDFLAGS:EXTRALDFLAGS:" \ + ${S_BRI}/patches/zaptel/102-ztpty.diff + epatch ${S_BRI}/patches/zaptel/102-ztpty.diff cd ${S_BRI} if use florz; then einfo "Patching zaptel with florz (${FLORZ_VERSION}) for zaphfc" - epatch "${WORKDIR}"/zaphfc_${FLORZ_VERSION}.diff + epatch ${WORKDIR}/zaphfc_${FLORZ_VERSION}.diff fi # patch includes @@ -208,6 +235,24 @@ cd "${S}" fi + # oslec echo canceller + if use ecoslec; then + # + # meh... bristuff and oslec patch are touching the same place, + # apply bristuff first then fixup the oslec patch + # ugly, but saves us from creating yet another set of patches + # + if use bri; then + sed -i \ + -e "s:^-\(#define ECHO_CAN_KB1\).*:-/* \1 */:" \ + -e "s:^.*\(#define ECHO_CAN_MG2\).*: \1:" \ + "${WORKDIR}/${OSLEC_PATCH}.diff" || die "Failed to fix oslec patch for bri" + fi + + EPATCH_SINGLE_MSG="Applying ${OSLEC_PATCH} zaptel patch" \ + epatch "${WORKDIR}/${OSLEC_PATCH}.diff" + fi + ### Configuration changes local myEC @@ -244,25 +289,12 @@ } src_compile() { - # build - make KVERS=${KV_FULL} \ - KSRC=${KV_DIR} ARCH=$(tc-arch-kernel) || die + linux-mod_src_compile if use astribank; then cd "${S}"/xpp/utils make || die "make xpp utils failed" fi - - if use bri; then - cd ${S_BRI} - for x in cwain qozap zaphfc; do - einfo "Building ${x}..." - make KVERS=${KV_FULL} \ - KSRC=/usr/src/linux \ - ARCH=$(tc-arch-kernel) \ - -C ${x} || die "make ${x} failed" - done - fi } src_install() { @@ -271,11 +303,13 @@ kernel_is 2 4 && cp /etc/modules.conf "${D}"/etc make DESTDIR="${D}" ARCH=$(tc-arch-kernel) \ - KVERS=${KV_FULL} KSRC=/usr/src/linux devices firmware \ - install-modules install-programs || die + KVERS=${KV_FULL} KSRC=${KV_DIR} devices firmware \ + install-programs || die + + linux-mod_src_install dodoc ChangeLog README README.udev README.fxsusb zaptel.init - dodoc zaptel.conf.sample zaptel.sysconfig README.fxotune + dodoc zaptel.conf.sample LICENSE zaptel.sysconfig README.fxotune # additional tools dobin ztmonitor ztspeed zttest fxotune @@ -288,12 +322,7 @@ if use bri; then einfo "Installing bri" cd ${S_BRI} - - insinto /lib/modules/${KV_FULL}/misc - doins qozap/qozap.${KV_OBJ} - doins zaphfc/zaphfc.${KV_OBJ} - doins cwain/cwain.${KV_OBJ} - + # install example configs for octoBRI and quadBRI insinto /etc doins qozap/zaptel.conf.octoBRI @@ -320,6 +349,17 @@ cd "${S}" fi + if use ecoslec; then + cd "${S_OSLEC}" + + newsbin oslec-ctrl-panel.sh oslec-ctrl-panel + + docinto oslec + dodoc ../{README.txt,COPYING} + + cd "${S}" + fi + # install init script newinitd "${FILESDIR}"/zaptel.rc6 zaptel newconfd "${FILESDIR}"/zaptel.confd zaptel @@ -332,7 +372,9 @@ cd "${S}"/xpp/utils eval `perl '-V:installarchlib'` make DESTDIR="${D}" PERLLIBDIR=${installarchlib} install || die "failed xpp utils install" - dosbin zt_registration xpp_sync lszaptel + dosbin zt_registration xpp_sync xpp_blink lszaptel zapconf zaptel_drivers zaptel_hardware + docinto astribank + dodoc ../README.Astribank ../README.metering fi } @@ -360,4 +402,18 @@ einfo " zapata.conf.octoBRI" echo fi + + if use ecoslec; then + einfo "The OSLEC control panel has been installed as:" + einfo " \"/usr/sbin/oslec-ctrl-panel\"" + echo + einfo "Important options in zapata.conf:" + einfo " echocancel=yes" + einfo " echocancelwhenbridged=no" + einfo " ;echotraining=400 (must be disabled)" + echo + einfo "More information about the OSLEC echo canceller:" + einfo " \"http://www.rowetel.com/ucasterisk/oslec.html\"" + echo + fi }