add lirc-0.9.3a ebuild

This commit is contained in:
Dmitry Isaenko 2016-03-20 15:26:15 +02:00
commit 3ecdae6e95
12 changed files with 364 additions and 0 deletions

12
app-misc/lirc/Manifest Normal file
View file

@ -0,0 +1,12 @@
AUX irexec-confd 280 SHA256 c404ad3b624004cab25bd3a89593cdeb0abbc25771d6e52caf2f37cb4f7b2b79 SHA512 2b33e1044086d11fd6e1f9a204ce925182a3a2b92ef4399610e01702f9c2c8fbc87cae52961123297171eef3d40468ac17437b4281b26a5f3b256c9cebc612ac WHIRLPOOL ff0e09a0babe7f434252416f3c7d0fb27b95215c62e582c1cd4670130c48c74dcf1e565e4aa7c5705fe39f67922b0abdc28a1938a9288ef3476979bd99609377
AUX irexec-initd 709 SHA256 9ceab9fcd186726ee45332baac07047dbed96b567ac987353e6d5ff2edc5512c SHA512 3073c3c389ed5b95f939af4f0daaa1a8b9cecf58b989c3995f7c5b07d7a3e8741a828df34e9d5bf998967221559d7781fdd87b175bd16d91417f544e6912013c WHIRLPOOL 4056e61a57b8f1de7fc846ec7d86e6cacb80de7e52ffbdfe3685e09820e8ebc9a2de96e58023259ad8b935a298a3f9607418d88ae74942076f3a2c88d505c83a
AUX irexec.service 140 SHA256 e8c5c387f9f357d4b19215bec5f7f3ac4a2722ec4f23f85417428465afe0fe9d SHA512 573e037d7132d216f095e4af370cdd020d72eca4ca6dfb1a652d6cd3f533b7d86491469a14d86419406561a6fb6500567e5e38a13b8dd0c99c63ff8494562249 WHIRLPOOL 7b018590f32f7129621eba73785b2925962a9b8d7356d92191b2937e3354902689dda1ace94cb4f3dcae4f6fb0700b42b5e176a3674c2e9d9dd43464f7835849
AUX lirc.service 194 SHA256 2c5b3a1f3800e298af8f37d569cfc3a43e68dfe967a54312eabc7218055f4ef9 SHA512 5f22121b15c7e456d4a1501be82a3b2df2fd6e6f32a5bb1f7a33866ae39913a7476807f35865469eef2e67bd95cffd03422ce66484c0d1c28630be6d712e67b5 WHIRLPOOL 9587c87023c4845b8a7943b1d28cc0decf6e25c54be471acfc0af07ee7bf85e622f1732a59e800f70acf33869ec04e72c86c8c75ed3014e8a2f31ff3dea60c88
AUX lircd 1210 SHA256 f14287c35d59065ad3c9e5075b1cc05d16f4911949cea58ac4e14f429f5c376e SHA512 8ed93671c98bba8a4f052598c6bf09ee45091517adca6bc9d85f8c723b14fc89ce320b531c8c7e2e40bc9b1d8cf2971a567a6b1ac06c36766b2b9cef445373bd WHIRLPOOL 9cb6d2ea24c4eeb11d2d0111fcb693727b7d17e4065723b758445e70b93f9bafcbbf5d27a7401a64b4727e2d1c6cee196ea5f091b9bb58c27066b4b5cb71d1d7
AUX lircd.conf.4 699 SHA256 d36ff77fa193a065d25e373723e03f1a9471205151b82c73a6574cce4f095962 SHA512 1fb1778f4cc72fc9c11b13a704b3abe80bcce5b3770b69b6b6bea8571e5293adad8c6968779b812e611b67734462c9a577cc71c6b16da3a5bfe31b8007300a62 WHIRLPOOL c9d3b5845b4d395abed932f4553808c0eff66f2be2b6d6ab302c98b11eb2ffc0fcd752e2862982896a4c935425ae03a545cdeb4a6c0da91141d1622178263053
AUX lircm.service 174 SHA256 67c7d03a3c43b5c0d03d2b9c994dced8a9473c3e22e32c67e4baf75fb8ccabd1 SHA512 8baccd7138fb9095c99f4f0a8ef398114dfa2bba798f23e07d41d6a7433242e2e1f071d44e1b336fb2a36b30c650ed01f2ccdb1ed365e590f85007c012343db5 WHIRLPOOL d542ad3a1ed5a4b3eec957e7cf8814ba2548f2f27cf9502aa342ea6a9c389cedcf5cf26793d94fa0977819ff6a3ebc6ee500eaf3debeddf2b4c65e82cad42eff
AUX lircmd 370 SHA256 c1cca5fbdb98e4a93802b841fd7293773af2724c48021eb1758eb144a1cc4332 SHA512 6a0d9a41df2f8f5112437fccb8c5fe3aea385325f7bf3bd4ca5244e6c68651986cfc642bc2c2d71b9a30998e00a25209401780d7cd07c20fd2465973fb4b4b65 WHIRLPOOL a75f8502582a409f89898c2fb9c7cb1fcac54933d6ac26fbad2c304af555849bd35c0d43a57b0b5947912b595591b83b5f15e1d78737fc5f4fa766f05afb7e43
AUX modprobed.lirc 549 SHA256 b4951252321ea326d3ec401e5ff1112716c5aaf5b2ca94d9f5e187e22ad35c44 SHA512 a64cac97e21ab53c247d8dd3e518b3caee5eeb9c3558727eba8a04684894c6be1695ce681e71d559474f4e78bbb39130d97f843eae18e56b3d3eb70f1fbefc63 WHIRLPOOL a45ec8b3cd725f9b4c6b991cf6d4fec7869a07911a2ac82535dca665a0dd99a66b40d85faf0beea780001e9260a8a17c1ccec880c05a271a138c1e0501f7727c
DIST lirc-0.9.3a.tar.bz2 2283361 SHA256 9aff0cf6cbdbb46f55317777e651d796c10bf9287f3acb3bc0113440a276ef22 SHA512 d12b7cb8e701886f4ceca9182795577a64373f9e96c74ec638129651b1d6f9ae5c5133504adc3d28f267ab54288c4b57569891331fa1b842c17e3d327d9402d4 WHIRLPOOL 86ff150307a597b0e5e4b36868c796d5cf2f508dc59f905cae97b8ea0ffa003add5e2726d71217263959459c4709eed50ecf003e3595ac4a73d358b437921add
EBUILD lirc-0.9.3a.ebuild 3704 SHA256 942c3553747047007a2e35d3ff454376878746635806113fa5dff05f5038f7c7 SHA512 d9bef71963ec4b8e05b1d244587b8a3a529a6c964f13b1bf5ff07279879b7be2a4bafe7cdb8c5a0536e3c84269e173751ac3a1f818d9a650865b96a4fcbc31a2 WHIRLPOOL 01b9ebd00a092ecf494395606ee067d62a7a6e255c19c68fef40b2d0943293bb46f4e6c5849b32225b4cb1b86e192144adb02cafa2c0095ca5362ac433464a9c
MISC metadata.xml 561 SHA256 894b3b74a59da7279dd4b491a56c90d7ff0bc5f149851a95472b353eff742fa2 SHA512 cc3b04cd41aa1fb9ef73fca7fec14d00c07fe3c86bb357daa4400480a86880a227d31d3d6ab60cf1188d30e5618c8ad1f22289d8a5a1b29516c8ca02cef75fbf WHIRLPOOL 479d319f8592194347f8e2c5ff009225ea04fd125a89d0ecedaae43d597f485ea57e3b5bb4c8865c0945a893e7a01cf3f6337c7bf8b0ac8a4ac348f4904d5046

View file

@ -0,0 +1,9 @@
# Options to pass to the irexec process
IREXEC_OPTS="/etc/lircrc"
# User to execute irexec as.
# Warning: Running irexec as root can open security holes
#IREXEC_USER="root"
# Use this to disable the warning printed when starting irexec as root
# IREXEC_DISABLE_ROOT_WARNING=yes

View file

@ -0,0 +1,28 @@
#!/sbin/runscript
# Copyright 2003 Martin Hierling <mad@cc.fh-lippe.de>
# Distributed under the terms of the GNU General Public License v2
# $Id$
: ${IREXEC_USER:=root}
depend() {
need lirc
}
start() {
if [ "x${IREXEC_USER}" = "xroot" -a "x${IREXEC_DISABLE_ROOT_WARNING}" != "xyes" ]; then
ewarn "Warning: Running irexec as root can open security holes"
fi
ebegin "Starting irexec"
start-stop-daemon --start --chuid ${IREXEC_USER} --user ${IREXEC_USER} --chdir / \
--exec /usr/bin/irexec -- --daemon ${IREXEC_OPTS}
eend $? "Failed to start irexec."
}
stop() {
ebegin "Stopping irexec"
start-stop-daemon --stop --exec /usr/bin/irexec --user ${IREXEC_USER}
eend $? "Failed to stop irexec."
}

View file

@ -0,0 +1,10 @@
[Unit]
Description=IR Exec
After=lirc.service
Wants=lirc.service
[Service]
ExecStart=/usr/bin/irexec
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,10 @@
[Unit]
Description=Linux Infrared Remote Control
After=network.target
[Service]
ExecStart=/usr/sbin/lircd --nodaemon --driver=default --device=/dev/lirc0
[Install]
WantedBy=multi-user.target

52
app-misc/lirc/files/lircd Normal file
View file

@ -0,0 +1,52 @@
#!/sbin/runscript
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
PIDFILE=/var/run/lirc/${SVCNAME}.pid
: ${LIRCD_SYMLINKFILE:=/dev/lircd}
: ${LIRCD_SOCKET:=/var/run/lirc/lircd}
depend() {
need localmount
use modules
provide lirc
}
start() {
local retval
ebegin "Starting lircd"
for retval in ${LIRCD_SET_SYSCLASSRCS} ; do
if [ -e /sys/class/rc/${retval}/protocols ] && \
grep -qs 'lirc' /sys/class/rc/${retval}/protocols ; then
einfo "Setting lirc protocol active for ${retval}"
echo lirc >/sys/class/rc/${retval}/protocols
fi
done
checkpath -q -d -m 0755 -o root:root /var/run/lirc
rm -Rf ${LIRCD_SOCKET} && ln -s ${LIRCD_SOCKET} ${LIRCD_SYMLINKFILE}
if [ $? -ne 0 ]; then
eend $? "Unable to create symbolic link ${LIRCD_SYMLINKFILE}"
return 1
fi
start-stop-daemon --start --quiet --pidfile "${PIDFILE}" --exec /usr/sbin/lircd -- \
-P "${PIDFILE}" ${LIRCD_OPTS}
retval=$?
if [ ${retval} -ne 0 ]; then
rm -Rf ${LIRCD_SOCKET}
fi
eend ${retval}
}
stop() {
ebegin "Stopping lircd"
rm -f ${LIRCD_SYMLINKFILE}
start-stop-daemon --stop --quiet --pidfile "${PIDFILE}" --exec /usr/sbin/lircd
eend $?
}

View file

@ -0,0 +1,22 @@
# Options to pass to the lircd process
# for devices with lirc-kernel-module
#LIRCD_OPTS="-d /dev/lirc0"
#LIRCD_OPTS="-d /dev/lirc"
# for devices using the input-layer
#LIRCD_OPTS="-H devinput -d /dev/input/by-path/pci-0000:00:0a.0--event-ir"
# This should work, Bug #235107
#LIRCD_OPTS="-H devinput -d name=*DVB*"
# set default protocol to 'lirc' for in-kernel IR decoding
# for the following entries in /sys/class/rc/
# (space-separated list if there is more than one)
LIRCD_SET_SYSCLASSRCS="rc0"
# If running mulitple instances of lircd, the following
# can be used to override the default socket path and
# socket symlink
#LIRCD_SOCKET="/var/run/lirc/lircd"
#LIRCD_SYMLINKFILE="/dev/lircd"

View file

@ -0,0 +1,11 @@
[Unit]
Description=LIRC Mouse
Requires=lirc.service
After=network.target lirc.service
[Service]
ExecStart=/usr/sbin/lircmd --nodaemon
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,20 @@
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
depend() {
need lircd
}
start() {
ebegin "Starting lircmd"
start-stop-daemon --start --quiet --exec /usr/sbin/lircmd
eend $?
}
stop() {
ebegin "Stopping lircmd"
start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd
eend $?
}

View file

@ -0,0 +1,22 @@
#
# For first serial receivers:
#
#options lirc_serial irq=4 io=0x3f8
#options lirc_sir irq=4 io=0x3f8
#
# Detach first serial port from serial-driver.
# Use this when you have your serial-port-driver statically
# compiled into your kernel, or as a module but loaded before
# the lirc-module.
#
#install lirc_serial setserial /dev/ttyS0 uart none; modprobe --ignore-install lirc_serial
#
#install lirc_sir setserial /dev/ttyS0 uart none; modprobe --ignore-install lirc_sir
#
# For parallel receivers:
#
#options lirc_parallel irq=7 io=0x3bc

View file

@ -0,0 +1,154 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
inherit eutils systemd flag-o-matic autotools
DESCRIPTION="decode and send infra-red signals of many commonly used remote controls"
HOMEPAGE="http://www.lirc.org/"
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"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
iguanair? ( irman )
"
DEPEND="
doc? ( app-doc/doxygen )
"
RDEPEND="
X? (
x11-libs/libX11
x11-libs/libSM
x11-libs/libICE
)
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 )
"
pkg_setup() {
# set default configure options Any ideas what is this used for now?
LIRC_DRIVER_DEVICE="/dev/lirc0"
filter-flags -Wl,-O1
}
src_prepare() {
# Rip out dos CRLF
edos2unix contrib/lirc.rules
}
src_configure() {
econf \
$(use_enable static-libs static) \
$(use_with X x)
}
# ARCH="$(tc-arch-kernel)"
# ABI="${KERNEL_ABI}" \ i have no idea how to make it work. Inherit kernel-2 cause errors and linux-info does not have such feature
# --localstatedir=/var \ To avoid QA Notice leave it in here. No need to use it during install / after the first run lircd creates this dir
#src_compile() {
# force non-parallel make, Bug 196134 (confirmed valid for 0.9.0-r2) @QA: works fine with 0.9.3a
# emake -j1
#
#}
src_install() {
emake DESTDIR="${D}" install
newinitd "${FILESDIR}"/lircd 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 irexec
newconfd "${FILESDIR}"/irexec-confd irexec
systemd_dounit "${FILESDIR}"/irexec.service
systemd_dounit "${FILESDIR}"/lirc.service
systemd_dounit "${FILESDIR}"/lircm.service
if use doc ; then
dohtml doc/html/*.html
insinto /usr/share/doc/${PF}/images
doins doc/images/*
fi
keepdir /etc/lirc
if [[ -e "${D}"/etc/lirc/lircd.conf ]]; then
newdoc "${D}"/etc/lirc/lircd.conf lircd.conf.example
fi
use static-libs || rm "${D}/usr/$(get_libdir)/liblirc_client.la"
}
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"
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
elif [[ -f "${EROOT}"/etc/lircd.conf ]]; then
cp "${EROOT}"/etc/lircd.conf "${T}"/lircd.conf
MOVE_OLD_LIRCD_CONF=1
elif [[ -f "${D}"/etc/lirc/lircd.conf ]]; then
cp "${D}"/etc/lirc/lircd.conf "${T}"/lircd.conf
fi
# stop portage from touching the config file
if [[ -e "${D}"/etc/lirc/lircd.conf ]]; then
rm -f "${D}"/etc/lirc/lircd.conf
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
if [[ "$MOVE_OLD_LIRCD_CONF" = "1" ]]; then
elog "Moved /etc/lircd.conf to /etc/lirc/lircd.conf"
rm -f "${EROOT}"/etc/lircd.conf
fi
fi
einfo "The new default location for lircd.conf is inside of"
einfo "/etc/lirc/ directory"
}

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email></email>
</maintainer>
<use>
<flag name="audio">Build alsa-lib and portaudio required for some receivers</flag>
<flag name="ftdi">Build libftdi required by FTDI driver</flag>
<flag name="iguanair">Build libiguanair required by iguanaIR</flag>
<flag name="inputlirc">Build inputlirc</flag>
<flag name="irman">Build libirman required by Irman</flag>
</use>
</pkgmetadata>