summaryrefslogtreecommitdiff
blob: 89f1c5c3bce73d5c4f1521ec285c97170da8bc54 (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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-dialup/mgetty/mgetty-1.1.30-r2.ebuild,v 1.12 2005/07/20 05:49:00 mrness Exp $

inherit flag-o-matic eutils

DESCRIPTION="Fax and Voice modem programs."
SRC_URI="ftp://alpha.greenie.net/pub/mgetty/source/1.1/${PN}${PV}-Dec16.tar.gz"
HOMEPAGE="http://alpha.greenie.net/mgetty/"

DEPEND=">=sys-apps/portage-2.0.47-r10
	>=sys-apps/sed-4.0.5
	doc? ( virtual/tetex )
	sys-apps/gawk
	dev-lang/perl"

SLOT="0"
LICENSE="GPL-2"
KEYWORDS="alpha amd64 hppa ia64 ~mips ppc sparc x86"
IUSE="doc"

pkg_setup() {
	enewgroup fax
	enewgroup modem
	enewuser fax -1 -1 /dev/null fax
}

src_unpack() {
	unpack ${A}

	epatch ${FILESDIR}/mgetty-${PV}-gentoo.diff
	cd ${S}/doc
	sed -i "s:dvips -o mgetty.ps:dvips -M -o mgetty.ps:" Makefile
	cd ${S}
	sed -e 's:var/log/mgetty:var/log/mgetty/mgetty:' \
		-e 's:var/log/sendfax:var/log/mgetty/sendfax:' \
		-e 's:\/\* \(\#define CNDFILE "dialin.config"\) \*\/:\1:' \
		-e 's:\(\#define FAX_NOTIFY_PROGRAM\).*:\1 "/etc/mgetty+sendfax/new_fax":' \
		policy.h-dist > policy.h
	sed -i -e "s:phone_group phone:phone_group fax:g" voice/voice.conf-dist
	sed -i 's:ECHO="echo":ECHO="echo -e":' Makefile
}

src_compile() {
	append-flags "-DAUTO_PPP"

	emake prefix=/usr \
		CONFDIR=/etc/mgetty+sendfax \
		CFLAGS="${CFLAGS}" \
		|| make prefix=/usr \
			CONFDIR=/etc/mgetty+sendfax \
			CFLAGS="${CFLAGS}" \
			|| die

	einfo "building voice"
	cd voice
	emake CONFDIR=/etc/mgetty+sendfax \
		|| make CONFDIR=/etc/mgetty+sendfax \
			|| die

	cd ${S}

	einfo "building callback"
	cd callback
	emake CONFDIR=/etc/mgetty+sendfax \
		CFLAGS="${CFLAGS}" \
		|| make CONFDIR=/etc/mgetty+sendfax \
			|| die
	cd ${S}
}

src_install () {
	dodir /var/spool
	dodir /var/log/mgetty
	dodir /usr/share/info
	make prefix=${D}/usr \
		INFODIR=${D}/usr/share/info \
		CONFDIR=${D}/etc/mgetty+sendfax \
		MAN1DIR=${D}/usr/share/man/man1 \
		MAN4DIR=${D}/usr/share/man/man4 \
		MAN5DIR=${D}/usr/share/man/man5 \
		MAN8DIR=${D}/usr/share/man/man8 \
		spool=${D}/var/spool \
		install || die

	einfo "Installing callback"
	cd callback
	make prefix=${D}/usr \
		CONFDIR=${D}/etc/mgetty+sendfax \
		MAN1DIR=${D}/usr/share/man/man1 \
		MAN8DIR=${D}/usr/share/man/man8 \
		VOICE_DIR=${D}/var/spool/voice \
		SBINDIR=${D}/usr/sbin \
		BINDIR=${D}/usr/bin \
		INSTALL="install -c -o bin -g bin" \
		PHONE_GROUP=root \
		PHONE_PERMS=755 \
		install || die
	cd ${S}

	einfo "installing voice"
	cd voice
	make prefix=${D}/usr \
		CONFDIR=${D}/etc/mgetty+sendfax \
		MAN1DIR=${D}/usr/share/man/man1 \
		MAN8DIR=${D}/usr/share/man/man8 \
		VOICE_DIR=${D}/var/spool/voice \
		PHONE_GROUP=root \
		PHONE_PERMS=755 \
		install || die

	cd ${S}
	dodoc BUGS ChangeLog FTP README.1st Recommend THANKS TODO
	cd doc
	dodoc *.txt modems.db
	cd ${S}/samples/
	docinto samples
	dodoc *
	if use doc; then
		dodoc mgetty.ps
		cd ${S}/voice/doc/
		docinto voice
		dodoc *
	fi

	#generate missing fonts if any.
	if [ -f ${S}/doc/missfont.log ]
	then
		echo '#!/bin/bash' >genfonts.sh
		cat missfont.log >>genfonts.sh
		chmod +x genfonts.sh
		dodoc genfonts.sh
	fi
}

pkg_postinst() {
	#generate missing fonts if any.
	if [ -x {$ROOT}/usr/share/doc/${PF}/genfonts.sh ]
	then
		{$ROOT}/usr/share/doc/${PF}/genfonts.sh
	fi

	if [ ! -d ${ROOT}/var/spool/fax/incoming ]
	then
		mkdir -p ${ROOT}/var/spool/fax/incoming
	fi
	if [ ! -d ${ROOT}/var/spool/fax/outgoing/locks ]
	then
		mkdir -p ${ROOT}/var/spool/fax/outgoing/locks
	fi
}