blob: 13af2110daec4b3ed6d958d9b41dcd4ee48f7d38 (
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic systemd toolchain-funcs
DESCRIPTION="A programm for sending and receiving fax and voice"
HOMEPAGE="http://mgetty.greenie.net/"
SRC_URI="ftp://mgetty.greenie.net/pub/mgetty/source/$(ver_cut 1-2)/${P}.tar.gz"
DEPEND="
dev-lang/perl
sys-apps/groff
sys-apps/texinfo
app-alternatives/awk
fax? ( !net-misc/efax )
"
RDEPEND="
${DEPEND}
acct-group/fax
acct-user/fax
fax? (
app-text/ghostscript-gpl
media-libs/netpbm
)
"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+fax fidonet split-usr"
PATCHES=(
"${FILESDIR}"/${PN}-1.1.36-callback.patch
"${FILESDIR}"/${PN}-1.1.36-tmpfile.patch
"${FILESDIR}"/${PN}-1.1.37-qa-fixes.patch
"${FILESDIR}"/${PN}-1.2.1-Lucent.c.patch
"${FILESDIR}"/${PN}-1.2.1-gentoo.patch
"${FILESDIR}"/${PN}-1.2.1-aarch64.patch
"${FILESDIR}"/${PN}-1.2.1-riscv64.patch
)
src_prepare() {
default
chmod +x mkidirs || die
# don't install fax related files - bug #195467
use fax || eapply "${FILESDIR}/${PN}-1.1.37-nofax.patch"
sed -i -e 's:/usr/local/lib/mgetty+sendfax:/etc/mgetty+sendfax:' faxrunq.config || die 'changing mgetty config dir failed'
sed -i -e 's:/usr/local/bin/g3cat:/usr/bin/g3cat:' faxrunq.config fax/faxspool.rules || die 'changing g3cat path failed'
sed -e "/^doc-all:/s/mgetty.asc mgetty.info mgetty.dvi mgetty.ps/mgetty.info/" \
-i doc/Makefile || die 'first sed on doc/Makefile failed'
sed -i \
-e 's:^CC=:CC?=:g' \
-e 's:^CFLAGS=:CFLAGS?=:g' \
{,*/}Makefile || die
sed -i \
-e 's:^AR=:AR?=:g' \
-e 's:^CFLAGS=:CFLAGS+= -I..:g' \
-e 's:^RANLIB=:RANLIB?=:g' \
*/Makefile || die
# Use POSIX compatible commands
sed -e 's/echo -e/printf %b/g' -i Makefile || die
}
src_configure() {
tc-export AR CC RANLIB
use fidonet && append-cppflags "-DFIDO"
append-cppflags "-DAUTO_PPP"
filter-lto
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 || die 'creating policy.h failed'
sed -i \
-e "s/\$(CFLAGS) -o newslock/${CFLAGS} ${LDFLAGS} -Wall -o newslock/" \
-e "s/\$(LDLAGS)/${LDFLAGS}/" \
{,fax/}Makefile || die
}
src_compile() {
local target
for target in mgetty sedscript all vgetty;do
VARTEXFONTS="${T}"/fonts emake prefix=/usr \
CONFDIR=/etc/mgetty+sendfax \
CFLAGS="${CFLAGS} ${CPPFLAGS}" \
LDFLAGS="${LDFLAGS}" \
${target}
done
}
src_install() {
# parallelization issue: vgetty-install target fails if install target
# isn't finished
local target
for target in install "vgetty-install install-callback"; do
emake 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" \
SBINDIR="${D}/usr/sbin" \
BINDIR="${D}/usr/bin" \
VOICE_DIR="${D}/var/spool/voice" \
PHONE_GROUP=fax \
PHONE_PERMS=755 \
spool="${D}/var/spool" \
${target}
done
keepdir /var/log/mgetty
# Install mgetty into /sbin (#119078)
if use split-usr; then
dodir /sbin
mv "${D}"/usr/sbin/mgetty "${D}"/sbin || die
dosym ../../sbin/mgetty /usr/sbin/mgetty
fi
# Don't install ct (#106337)
rm "${D}"/usr/bin/ct || die "failed to remove useless ct program"
dodoc BUGS ChangeLog README.1st Recommend THANKS TODO \
doc/*.txt doc/modems.db
doinfo doc/mgetty.info
docinto vgetty
dodoc voice/{Readme,Announce,ChangeLog,Credits}
docinto vgetty/doc
dodoc voice/doc/*
if use fax; then
mv samples/new_fax.all samples_new_fax.all || die "move failed."
docinto samples
dodoc samples/*
docinto samples/new_fax
dodoc samples_new_fax.all/*
fi
if ! use fax; then
insinto /usr/share/${PN}/frontends
doins -r frontends/{voice,network}
else
insinto /usr/share/${PN}
doins -r frontends
fi
insinto /usr/share/${PN}
doins -r patches
insinto /usr/share/${PN}/voice
doins -r voice/{contrib,Perl,scripts}
diropts -m 0750 -o fax -g fax
dodir /var/spool/voice
keepdir /var/spool/voice/incoming
keepdir /var/spool/voice/messages
if use fax; then
dodir /var/spool/fax
dodir /var/spool/fax/outgoing
keepdir /var/spool/fax/outgoing/locks
keepdir /var/spool/fax/incoming
fi
systemd_newunit "${FILESDIR}"/mgetty.service mgetty@.service
}
pkg_postinst() {
elog "Users who wish to use the fax or voicemail capabilities must be members"
elog "of the group fax in order to access files"
elog
elog "If you want to grab voice messages from a remote location, you must save"
elog "the password in /var/spool/voice/.code file"
}
|