From 3ecdae6e95fda4e53ed3c1ba3e30584818316794 Mon Sep 17 00:00:00 2001 From: Dmitry Isaenko Date: Sun, 20 Mar 2016 15:26:15 +0200 Subject: [PATCH] add lirc-0.9.3a ebuild --- app-misc/lirc/Manifest | 12 +++ app-misc/lirc/files/irexec-confd | 9 ++ app-misc/lirc/files/irexec-initd | 28 ++++++ app-misc/lirc/files/irexec.service | 10 ++ app-misc/lirc/files/lirc.service | 10 ++ app-misc/lirc/files/lircd | 52 ++++++++++ app-misc/lirc/files/lircd.conf.4 | 22 +++++ app-misc/lirc/files/lircm.service | 11 +++ app-misc/lirc/files/lircmd | 20 ++++ app-misc/lirc/files/modprobed.lirc | 22 +++++ app-misc/lirc/lirc-0.9.3a.ebuild | 154 +++++++++++++++++++++++++++++ app-misc/lirc/metadata.xml | 14 +++ 12 files changed, 364 insertions(+) create mode 100644 app-misc/lirc/Manifest create mode 100644 app-misc/lirc/files/irexec-confd create mode 100644 app-misc/lirc/files/irexec-initd create mode 100644 app-misc/lirc/files/irexec.service create mode 100644 app-misc/lirc/files/lirc.service create mode 100644 app-misc/lirc/files/lircd create mode 100644 app-misc/lirc/files/lircd.conf.4 create mode 100644 app-misc/lirc/files/lircm.service create mode 100644 app-misc/lirc/files/lircmd create mode 100644 app-misc/lirc/files/modprobed.lirc create mode 100644 app-misc/lirc/lirc-0.9.3a.ebuild create mode 100644 app-misc/lirc/metadata.xml diff --git a/app-misc/lirc/Manifest b/app-misc/lirc/Manifest new file mode 100644 index 0000000..68fe913 --- /dev/null +++ b/app-misc/lirc/Manifest @@ -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 diff --git a/app-misc/lirc/files/irexec-confd b/app-misc/lirc/files/irexec-confd new file mode 100644 index 0000000..48eb8dd --- /dev/null +++ b/app-misc/lirc/files/irexec-confd @@ -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 diff --git a/app-misc/lirc/files/irexec-initd b/app-misc/lirc/files/irexec-initd new file mode 100644 index 0000000..8c940d7 --- /dev/null +++ b/app-misc/lirc/files/irexec-initd @@ -0,0 +1,28 @@ +#!/sbin/runscript +# Copyright 2003 Martin Hierling +# 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." +} + diff --git a/app-misc/lirc/files/irexec.service b/app-misc/lirc/files/irexec.service new file mode 100644 index 0000000..53dac65 --- /dev/null +++ b/app-misc/lirc/files/irexec.service @@ -0,0 +1,10 @@ +[Unit] +Description=IR Exec +After=lirc.service +Wants=lirc.service + +[Service] +ExecStart=/usr/bin/irexec + +[Install] +WantedBy=multi-user.target diff --git a/app-misc/lirc/files/lirc.service b/app-misc/lirc/files/lirc.service new file mode 100644 index 0000000..6854786 --- /dev/null +++ b/app-misc/lirc/files/lirc.service @@ -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 + diff --git a/app-misc/lirc/files/lircd b/app-misc/lirc/files/lircd new file mode 100644 index 0000000..ed47795 --- /dev/null +++ b/app-misc/lirc/files/lircd @@ -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 $? +} diff --git a/app-misc/lirc/files/lircd.conf.4 b/app-misc/lirc/files/lircd.conf.4 new file mode 100644 index 0000000..f59c5f2 --- /dev/null +++ b/app-misc/lirc/files/lircd.conf.4 @@ -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" + diff --git a/app-misc/lirc/files/lircm.service b/app-misc/lirc/files/lircm.service new file mode 100644 index 0000000..cfd2c93 --- /dev/null +++ b/app-misc/lirc/files/lircm.service @@ -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 + diff --git a/app-misc/lirc/files/lircmd b/app-misc/lirc/files/lircmd new file mode 100644 index 0000000..b9903b7 --- /dev/null +++ b/app-misc/lirc/files/lircmd @@ -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 $? +} diff --git a/app-misc/lirc/files/modprobed.lirc b/app-misc/lirc/files/modprobed.lirc new file mode 100644 index 0000000..2ed9558 --- /dev/null +++ b/app-misc/lirc/files/modprobed.lirc @@ -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 + diff --git a/app-misc/lirc/lirc-0.9.3a.ebuild b/app-misc/lirc/lirc-0.9.3a.ebuild new file mode 100644 index 0000000..8fe898b --- /dev/null +++ b/app-misc/lirc/lirc-0.9.3a.ebuild @@ -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" +} diff --git a/app-misc/lirc/metadata.xml b/app-misc/lirc/metadata.xml new file mode 100644 index 0000000..2b4f9bf --- /dev/null +++ b/app-misc/lirc/metadata.xml @@ -0,0 +1,14 @@ + + + + + + + + Build alsa-lib and portaudio required for some receivers + Build libftdi required by FTDI driver + Build libiguanair required by iguanaIR + Build inputlirc + Build libirman required by Irman + +