summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Briesenick <sbriesen@gentoo.org>2006-10-08 00:46:15 +0000
committerStefan Briesenick <sbriesen@gentoo.org>2006-10-08 00:46:15 +0000
commitd73b07677448219d9998318a84b8139bc8c07656 (patch)
treea7316517c1bcaa8d67668f9d63c0335cd5c41cfc /net-dialup/misdn
parentsh love (diff)
downloadgentoo-2-d73b07677448219d9998318a84b8139bc8c07656.tar.gz
gentoo-2-d73b07677448219d9998318a84b8139bc8c07656.tar.bz2
gentoo-2-d73b07677448219d9998318a84b8139bc8c07656.zip
version bump, adding echo canceler USE-flags.
(Portage version: 2.1.2_pre2-r5)
Diffstat (limited to 'net-dialup/misdn')
-rw-r--r--net-dialup/misdn/ChangeLog8
-rw-r--r--net-dialup/misdn/files/digest-misdn-200610033
-rw-r--r--net-dialup/misdn/misdn-20061003.ebuild178
3 files changed, 188 insertions, 1 deletions
diff --git a/net-dialup/misdn/ChangeLog b/net-dialup/misdn/ChangeLog
index 8237dce6b8f5..77194e8523b7 100644
--- a/net-dialup/misdn/ChangeLog
+++ b/net-dialup/misdn/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-dialup/misdn
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/misdn/ChangeLog,v 1.12 2006/09/14 22:48:27 genstef Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/misdn/ChangeLog,v 1.13 2006/10/08 00:46:15 sbriesen Exp $
+
+*misdn-20061003 (08 Oct 2006)
+
+ 08 Oct 2006; Stefan Briesenick <sbriesen@gentoo.org>
+ +misdn-20061003.ebuild:
+ version bump, adding echo canceler USE-flags.
14 Sep 2006; Stefan Schweizer <genstef@gentoo.org> misdn-20060811.ebuild:
MODE="0660" is needed for udev, thanks sbriesen
diff --git a/net-dialup/misdn/files/digest-misdn-20061003 b/net-dialup/misdn/files/digest-misdn-20061003
new file mode 100644
index 000000000000..d34cf8f471a4
--- /dev/null
+++ b/net-dialup/misdn/files/digest-misdn-20061003
@@ -0,0 +1,3 @@
+MD5 b52fe6dbe35a9761e608294fae3125fb mISDN-CVS-2006-10-03.tar.bz2 367873
+RMD160 d90df08eec78baa1619ee03b8e527c206ecb436b mISDN-CVS-2006-10-03.tar.bz2 367873
+SHA256 b192fabacef6167b4e2f4bdfc433febd1ec3d9d2a384e0b9c1909bf37195e0e1 mISDN-CVS-2006-10-03.tar.bz2 367873
diff --git a/net-dialup/misdn/misdn-20061003.ebuild b/net-dialup/misdn/misdn-20061003.ebuild
new file mode 100644
index 000000000000..e06ed5beff06
--- /dev/null
+++ b/net-dialup/misdn/misdn-20061003.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/misdn/misdn-20061003.ebuild,v 1.1 2006/10/08 00:46:15 sbriesen Exp $
+
+inherit eutils linux-mod
+
+MY_P="mISDN-CVS-${PV:0:4}-${PV:4:2}-${PV:6:2}"
+DESCRIPTION="mISDN is the new ISDN stack of the linux kernel 2.6."
+HOMEPAGE="http://www.isdn4linux.de/mISDN"
+SRC_URI="ftp://ftp.isdn4linux.de/pub/isdn4linux/CVS-Snapshots/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64 ~ppc"
+RDEPEND=">=net-dialup/capi4k-utils-20050718"
+S="${WORKDIR}/${MY_P}/drivers/isdn/hardware/mISDN"
+
+# list of echo canceller use flags,
+# first active in this list is selected (=order does matter)
+MISDN_EC_FLAGS="ecmg2 eckb1 ecmark2"
+
+# list of card modules
+MISDN_MODULES=("avmfritz" "hfcpci" "hfcmulti" "hfcsusb" "hfcsmini" "xhfc" "sedlfax" "w6692pci" "netjetpci")
+MISDN_KCONFIG=("AVM_FRITZ" "HFCPCI" "HFCMULTI" "HFCUSB" "HFCMINI" "XHFC" "SPEEDFAX" "W6692" "NETJET")
+
+IUSE="ecaggressive ${MISDN_EC_FLAGS}"
+for i in ${MISDN_MODULES[@]}; do IUSE="${IUSE} misdn_cards_${i}"; done
+
+### Begin: Helper functions
+
+select_echo_cancel() {
+ local myEC=""
+ for x in ${MISDN_EC_FLAGS}; do
+ if use ${x}; then
+ myEC=$(echo "${x}" | sed -e "s:^ec\(.*\):\U\1\E:")
+ break;
+ fi
+ done
+ echo ${myEC}
+}
+
+dsp_enable() {
+ local i
+ for i in "${@}"; do
+ sed -i -e "s:.*\(#include.*dsp_${i}\):\1:m" dsp.h
+ done
+}
+
+dsp_disable() {
+ local i
+ for i in "${@}"; do
+ sed -i -e "s:.*\(#include.*dsp_${i}\)://\1:m" dsp.h
+ done
+}
+
+### End: Helper functions
+
+pkg_setup() {
+ local numec=0
+
+ CONFIG_CHECK="ISDN_CAPI ISDN_CAPI_CAPI20 ISDN_CAPI_CAPIFS_BOOL"
+ linux-mod_pkg_setup
+ MODULE_NAMES="mISDN_capi(net:) mISDN_dtmf(net:) mISDN_l1(net:)
+ mISDN_x25dte(net:) l3udss1(net:) mISDN_core(net:) mISDN_isac(net:)
+ mISDN_l2(net:) mISDN_dsp(net:)"
+ BUILD_PARAMS="-C ${KV_DIR} SUBDIRS=${S} MINCLUDES=${WORKDIR}/${MY_P}/include CONFIG_MISDN_DRV=m CONFIG_MISDN_DSP=y"
+ BUILD_TARGETS="modules"
+ #I4LmISDN(net:) does not compile :( CONFIG_I4L_CAPI_LAYER=m
+ # the i4l->capi simulation seems to be only for kernel 2.4
+
+ # check if multiple echo cancellers have been selected
+ for x in ${MISDN_EC_FLAGS}; do
+ use ${x} && : $((numec++))
+ done
+ if [[ ${numec} -gt 1 ]]; then
+ # multiple flags are active, only the first in the ZAP_EC_FLAGS list
+ # will be used, make sure the user knows about this
+ ewarn
+ ewarn "Multiple echo canceller flags are active but only one will be used!"
+ ewarn "Selected: $(select_echo_cancel)"
+ fi
+
+ # Check existence of user selected cards
+ if [ -n "${MISDN_CARDS}" ]; then
+ for USERCARD in ${MISDN_CARDS} ; do
+ for ((CARD=0; CARD < ${#MISDN_MODULES[*]}; CARD++)); do
+ if [ "${USERCARD}" = "${MISDN_MODULES[CARD]}" ]; then
+ MODULE_NAMES="${MODULE_NAMES} ${MISDN_MODULES[CARD]}(net:)"
+ #[ "sedlfax" = "${MISDN_MODULES[CARD]}" ] && MODULE_NAMES="${MODULE_NAMES} faxl3(net:)"
+ BUILD_PARAMS="${BUILD_PARAMS} CONFIG_MISDN_${MISDN_KCONFIG[CARD]}=y"
+ continue 2
+ fi
+ done
+ die "Module ${USERCARD} not present in ${P}"
+ done
+ else
+ einfo
+ einfo "You can control the modules which are built with the variable"
+ einfo "MISDN_CARDS which should contain a blank separated list"
+ einfo "of a selection from the following cards:"
+ einfo " ${MISDN_MODULES[*]}"
+ einfo
+ ewarn "I give you the chance of hitting Ctrl-C and make the necessary"
+ ewarn "adjustments in /etc/make.conf."
+
+ # enable everything
+ for ((CARD=0; CARD < ${#MISDN_MODULES[*]}; CARD++)); do
+ MODULE_NAMES="${MODULE_NAMES} ${MISDN_MODULES[CARD]}(net:)"
+ #[ "sedlfax" = "${MISDN_MODULES[CARD]}" ] && MODULE_NAMES="${MODULE_NAMES} faxl3(net:)"
+ BUILD_PARAMS="${BUILD_PARAMS} CONFIG_MISDN_${MISDN_KCONFIG[CARD]}=y"
+ done
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ if use ecaggressive; then
+ sed -i -e "s:.*#define \(AGGRESSIVE_SUPPRESSOR\):#define \1:m" dsp.h
+ fi
+
+ case "$(select_echo_cancel)" in
+ MG2)
+ dsp_enable mg2ec
+ dsp_disable kb1ec mec2
+ ;;
+ KB1)
+ dsp_enable kb1ec
+ dsp_disable mg2ec mec2
+ ;;
+ MARK2)
+ dsp_enable mec2
+ dsp_disable mg2ec kb1ec
+ ;;
+ esac
+}
+
+src_install() {
+ linux-mod_src_install
+
+ insinto /usr/include/linux
+ doins "${WORKDIR}/${MY_P}/include/linux/"*.h
+
+ dodir /etc/udev/rules.d
+ echo 'KERNEL=="obj-*", NAME="mISDN", GROUP="dialout", MODE="0660"' \
+ > "${D}/etc/udev/rules.d/53-${PN}.rules"
+
+ insinto /etc/modules.d
+ newins "${WORKDIR}/${MY_P}/"mISDN.modprobe.d ${PN}
+
+ sed -i -e "s:USER=.*:USER=root:" \
+ -e "s:GROUP=.*:GROUP=dialout:" "${WORKDIR}/${MY_P}/"misdn-init
+ dosbin "${WORKDIR}/${MY_P}/"misdn-init
+
+ dodoc Kconfig.v2.6
+ dodoc "${FILESDIR}/README.hfcmulti" "${WORKDIR}/${MY_P}/"README.misdn-init
+}
+
+pkg_preinst() {
+ if [ -e ${ROOT}/etc/misdn-init.conf ]; then
+ cp ${ROOT}/etc/misdn-init.conf ${IMAGE}/etc
+ else
+ sed -i -e "s:/etc/misdn-init.conf:${IMAGE}\0:" ${IMAGE}/usr/sbin/misdn-init
+ ${IMAGE}/usr/sbin/misdn-init config
+ sed -i -e "s:${IMAGE}/etc/misdn-init.conf:/etc/misdn-init.conf:" ${IMAGE}/usr/sbin/misdn-init
+ fi
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ ewarn
+ ewarn "This driver is still under heavy development"
+ ewarn "Please report ebuild related bugs / wishes to http://bugs.gentoo.org"
+ ewarn "Please report driver bugs to the mISDN mailing-list:"
+ ewarn " https://www.isdn4linux.de/mailman/listinfo/isdn4linux"
+}