blob: e77f5fa6e55e365dbffd3da9dce48fd514259c48 (
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
|
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
inherit eutils flag-o-matic systemd
DESCRIPTION="decode and send infra-red signals of many commonly used remote controls"
HOMEPAGE="http://www.lirc.org/"
LIRC_DRIVER_DEVICE="/dev/lirc0"
MY_P=${PN}-${PV/_/}
if [[ "${PV/_pre/}" = "${PV}" ]]; then
SRC_URI="mirror://sourceforge/lirc/${MY_P}.tar.bz2"
else
SRC_URI="http://www.lirc.org/software/snapshots/${MY_P}.tar.bz2"
fi
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="doc static-libs X audio irman ftdi inputlirc iguanair systemd usb"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
iguanair? ( irman )
"
DEPEND="
doc? ( app-doc/doxygen )
"
RDEPEND="
X? (
x11-libs/libX11
x11-libs/libSM
x11-libs/libICE
)
systemd? ( sys-apps/systemd )
audio? (
>media-libs/portaudio-18
media-libs/alsa-lib
)
irman? ( media-libs/libirman )
iguanair? ( app-misc/iguanaIR )
ftdi? ( dev-embedded/libftdi:0 )
inputlirc? ( app-misc/inputlircd )
usb? ( virtual/libusb:0 )
"
PATCHES=(
"${FILESDIR}"/lirc-0.9.4-doc-path-fix.patch # https://bugs.gentoo.org/show_bug.cgi?id=589246 https://sourceforge.net/p/lirc/tickets/214/
)
src_configure() {
filter-flags -Wl,-O1
econf \
--docdir=/usr/share/doc/${PF} \
--localstatedir=/var \
$(use_enable static-libs static) \
$(use_with X x)
}
src_install() {
default
newinitd "${FILESDIR}"/lircd-0.8.6-r2 lircd
newinitd "${FILESDIR}"/lircmd lircmd
newconfd "${FILESDIR}"/lircd.conf.4 lircd
insinto /etc/modprobe.d/
newins "${FILESDIR}"/modprobed.lirc lirc.conf
newinitd "${FILESDIR}"/irexec-initd-0.9.4a-r1 irexec
newconfd "${FILESDIR}"/irexec-confd irexec
keepdir /etc/lirc
if [[ -e "${D}"/etc/lirc/lircd.conf ]]; then
newdoc "${D}"/etc/lirc/lircd.conf lircd.conf.example
fi
if ! use static-libs; then
rm "${D}/usr/$(get_libdir)/liblirc_client.la" || die
fi
# Avoid QA notice
rm -d "${D}"/var/run/lirc || die
rm -d "${D}"/var/run || die
}
pkg_preinst() {
local dir="${EROOT}/etc/modprobe.d"
if [[ -a "${dir}"/lirc && ! -a "${dir}"/lirc.conf ]]; then
elog "Renaming ${dir}/lirc to lirc.conf"
mv -f "${dir}/lirc" "${dir}/lirc.conf" || die
fi
# copy the first file that can be found
if [[ -f "${EROOT}"/etc/lirc/lircd.conf ]]; then
cp "${EROOT}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
elif [[ -f "${EROOT}"/etc/lircd.conf ]]; then
cp "${EROOT}"/etc/lircd.conf "${T}"/lircd.conf || die
MOVE_OLD_LIRCD_CONF=1
elif [[ -f "${D}"/etc/lirc/lircd.conf ]]; then
cp "${D}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
fi
# stop portage from touching the config file
if [[ -e "${D}"/etc/lirc/lircd.conf ]]; then
rm -f "${D}"/etc/lirc/lircd.conf || die
fi
}
pkg_postinst() {
# copy config file to new location
# without portage knowing about it
# so it will not delete it on unmerge or ever touch it again
if [[ -e "${T}"/lircd.conf ]]; then
cp "${T}"/lircd.conf "${EROOT}"/etc/lirc/lircd.conf || die
if [[ "$MOVE_OLD_LIRCD_CONF" = "1" ]]; then
elog "Moved /etc/lircd.conf to /etc/lirc/lircd.conf"
rm -f "${EROOT}"/etc/lircd.conf || die
fi
fi
einfo "The new default location for lircd.conf is inside of"
einfo "/etc/lirc/ directory"
}
|