blob: bc9f93b24b6ef53dd5d71876c86597f0919d02ff (
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
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
inherit eutils toolchain-funcs
DESCRIPTION="Utility to control and program CM11A, CM17A and CM12U X10 interfaces"
HOMEPAGE="http://www.heyu.org"
SRC_URI="http://www.heyu.org/download/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="kernel_Darwin kernel_FreeBSD kernel_linux cm17a dmx210 ext0 ore rfxm rfxs"
pkg_setup() {
enewgroup ${PN}
enewuser ${PN} -1 -1 /var/lib/${PN} "${PN},uucp"
ewarn "Heyu must not be running when updating to a higher version as"
ewarn "stray lockfiles may prevent it from restarting - in which case"
ewarn "you should refer to the cleanup section of the Heyu man page."
epause
}
src_configure() {
mv x10config.sample x10.conf.sample
"${S}"/Configure \
$(use kernel_FreeBSD && echo "freebsd") \
$(use kernel_Darwin && echo "darwin") \
$(use kernel_linux && echo "linux") \
$(use cm17a || echo "-nocm17a") \
$(use dmx210 || echo "-nodmx") \
$(use ext0 || echo "-noext0") \
$(use ore || echo "-noore") \
$(use rfxm || echo "-norfxm") \
$(use rfxs || echo "-norfxs") \
|| die "configure failed"
sed -i -r -e "s/CC\s*=.*/CC = $(tc-getCC)/" \
-e "s/CFLAGS\s*=.*/CFLAGS = ${CFLAGS} \$(DFLAGS)/" \
-e 's%^(DFLAGS.+)-DSYSBASEDIR=\\"[^\]+\\"%\1%' \
-e 's%^(DFLAGS\s*=\s*)%\1-DSYSBASEDIR=\\"/var/lib/heyu\\" %' \
-e 's%^(DFLAGS.+)-DSPOOLDIR=\\"[^\]+\\"%\1%' \
-e 's%^(DFLAGS\s*=\s*)%\1-DSPOOLDIR=\\"/var/lib/heyu\\" %' \
-e 's%^(DFLAGS.+)-DLOCKDIR=\\"[^\]+\\"%\1%' \
-e 's%^(DFLAGS\s*=\s*)%\1-DLOCKDIR=\\"/var/lock\\" %' "${S}"/Makefile || die "adjusting Makefile failed"
sed -i -r 's%(LOG_DIR.*?)NONE%\1/var/log/heyu%' "${S}"/x10.conf.sample || die "changing LOG_DIR failed"
}
src_install() {
dobin heyu || die "installing binary failed"
doman heyu.1 x10{config,scripts,sched}.5 || die "installing man pages failed"
newinitd "${FILESDIR}"/heyu.init heyu
insinto /etc/heyu
doins x10.*.sample || die "installing config samples failed"
diropts -m 0750 -o heyu
dodir /var/log/heyu || die "creating log directory failed"
dosym /etc/heyu/x10.conf /var/lib/heyu/x10.conf || die "dosym failed"
dosym /etc/heyu/x10.sched /var/lib/heyu/x10.sched || die "dosym failed"
}
pkg_postinst() {
elog "Don't forget to tell heyu where to find your CM11 or CM17. Therefore"
elog "the file /etc/heyu/x10.conf must contain a line starting with 'TTY'"
elog "followed by the corresponding device such as:"
elog
elog "TTY /dev/ttyS0 <-- on first serial port"
elog "TTY /dev/ttyS1 <-- on second serial port"
elog "TTY /dev/ttyUSB0 <-- on USB port"
elog
elog "To use your device on a USB port, the corresponding USB serial converter"
elog "kernel module must be loaded. Older CM11 are usually delivered with a"
elog "a Prolific 2303 cable (kernel module: pl2303) while newer come with a"
elog "FTDI cable (kernel module: ftdi_sio)."
elog
elog "Execute the following command if you wish to start the HEYU daemon"
elog "at boot time:"
elog
elog "rc-update add heyu default"
}
|