summaryrefslogtreecommitdiff
blob: 08bfa32e3bb1d12ec347aae4531d1d4d1c5c719f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-dialup/isdn4k-utils/isdn4k-utils-3.2_p1-r3.ebuild,v 1.6 2004/06/24 22:28:09 agriffis Exp $

inherit eutils

IUSE="X"
VBOX_V=0.1.9
MY_PVR=${PV}-r2

S=${WORKDIR}/${PN}
DESCRIPTION="ISDN-4-Linux Utils"
SRC_URI="ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/${PN}.v3.2p1.tar.bz2
	http://smarden.org/pape/vbox3/vbox3_${VBOX_V}.tar.gz"
HOMEPAGE="http://www.isdn4linux.de/"

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

RDEPEND=">=sys-apps/portage-2.0.47-r10
	virtual/glibc
	sys-libs/ncurses
	sys-libs/gdbm
	X? (
		virtual/x11
		dev-lang/tcl
	)"

DEPEND="${RDEPEND} virtual/linux-sources"

src_unpack() {
	unpack ${A}
	# Get country code from I4L_CC variable
	# default country: DE (Germany)
	export I4L_CC=`echo -n "${I4L_CC}" | tr "[:lower:]" "[:upper:]"`
	[ "X${I4L_CC}" == "X" ] && export I4L_CC=DE
	export I4L_CC_LOW=`echo -n "${I4L_CC}" | tr "[:upper:]" "[:lower:]"`
	cd ${S}

	# Patch .config file to suit our needs
	cat ${FILESDIR}/${MY_PVR}/config | { \
		if use X >/dev/null; then
			cat
		else
			sed -e s/CONFIG_BUILDX11=y/#/ -e s/CONFIG_XISDNLOAD=y/#/ -e s/CONFIG_XMONISDN=y/#/;
		fi; } | { \
		case "${I4L_CC}" in
			DE|AT|CH|NL)
				# These countries are specially supported in the isdnlog source.
				sed -e s/CONFIG_ISDN_LOG_XX=y/CONFIG_ISDN_LOG_${I4L_CC}=y/ -e s/CONFIG_ISDN_LOG_CC=\'\'/#/
				;;
			*)
				# Others get a generic isdnlog.
				sed s/CONFIG_ISDN_LOG_CC=\'\'/CONFIG_ISDN_LOG_CC=\'${I4L_CC_LOW}\'/
				;;
		esac } \
		> .config || die

	# Patch in order to make generic config for countries which are not known to isdnlog source
	epatch ${FILESDIR}/${MY_PVR}/gentoo.patch

	#disabling device creation the easy way:
	echo "#!/bin/bash" > scripts/makedev.sh
	echo "true" >> scripts/makedev.sh

	epatch ${FILESDIR}/gcc33-multiline.patch

	#disable vbox
	sed -i -e "s:CONFIG_VBOX=y::" .config
}

src_compile() {
	make subconfig || die
	make || die

	cd ${S}/../vbox3-${VBOX_V}
	econf || die "econf failed"
	emake || die
}

src_install() {
	dodir /dev /sbin /usr/bin
	make DESTDIR=${D} install || die
	rm -rf ${D}/usr/doc ${D}/dev
	dodoc COPYING NEWS README Mini-FAQ/isdn-faq.txt

	cd ${FILESDIR}/${MY_PVR}
	dodir /etc/init.d /etc/conf.d /etc/ppp /var/lib/isdn4linux

	exeinto /etc/init.d
	doexe net.ippp0
	newexe isdn4linux.init isdn4linux

	insinto /etc/conf.d
	newins isdn4linux.conf isdn4linux

	exeinto /etc/ppp
	insinto /etc/ppp
	doexe ip-up
	dosym ip-up /etc/ppp/ip-down
	doins ip-down.ippp0
	doins ioptions
	doins options.ippp0

	cd ${S}/../vbox3-${VBOX_V}
	einstall || die
}

pkg_postinst() {

	einfo
	einfo "Please edit:"
	einfo
	einfo "- /etc/modules.autoload to contain your ISDN kernel modules"
	einfo "- /etc/isdn/* (critical)"
	einfo "- /etc/ppp/* (critical)"
	einfo
	einfo "/etc/init.d/isdn4linux will save and restore your isdnctrl config."
	einfo "/etc/init.d/net.ippp0 will start synchronous PPP connections which"
	einfo "you need to set up using isdnctrl first!"
	einfo

}