Skip to content

Commit

Permalink
app-misc/lirc-0.9.4: version bump
Browse files Browse the repository at this point in the history
Significantly cleaned up and uses upstream's systemd units.

Gentoo-bug: 515902, 579478
Closes: gentoo#1774

Signed-off-by: David Seifert <[email protected]>
  • Loading branch information
candrews authored and SoapGentoo committed Jul 1, 2016
1 parent 53c8431 commit e2dc560
Show file tree
Hide file tree
Showing 4 changed files with 181 additions and 10 deletions.
1 change: 1 addition & 0 deletions app-misc/lirc/Manifest
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
DIST lirc-0.9.0.tar.bz2 857286 SHA256 6323afae6ad498d4369675f77ec3dbb680fe661bea586aa296e67f2e2daba4ff SHA512 e91534c63e6065bd7da3b15e1676edf1672b8beb21864a6825df86247d7d165bf2dee6f8191732933e24e42a406e46afc55559948e4061eed2de7b08fac13431 WHIRLPOOL 0a1c00b07898aa7a5d78865fb73c6d26c6331dd0a4945773a801d29e40298b365eb58cae113a95fcf73be678a24ac082ad0868e8051303d732882fb82a859a7b
DIST lirc-0.9.4.tar.bz2 2291164 SHA256 dd18a6751674fd61e4a96eebc3b9e5c883389d6230811943513443522dfc5dd0 SHA512 0220cfa0e1900691eed3d6b0624c27e0a99825cd60303304eee7c60e3ae1d8e939d05d32680da64cdbf764919708888ce05803e9ab2423f4bf019b4acd8542f1 WHIRLPOOL 83390295e55445f2d10372e1515b0163d5b3b1e9903f132e018d975d66998d98ffee1caaa1fe26577a0ce18fce20ec025fd5cc0aaf5074728269b12e84d55268
28 changes: 28 additions & 0 deletions app-misc/lirc/files/irexec-initd
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/sbin/runscript
# Copyright 2003 Martin Hierling <[email protected]>
# Distributed under the terms of the GNU General Public License v2
# $Id$

: ${IREXEC_USER:=root}

depend() {
need lircd
}

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."
}

126 changes: 126 additions & 0 deletions app-misc/lirc/lirc-0.9.4.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# 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"

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 )
"

src_configure() {
filter-flags -Wl,-O1
econf \
$(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 irexec
newconfd "${FILESDIR}"/irexec-confd irexec

if use doc ; then
dodoc -r doc/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

if ! use static-libs; then
rm "${D}/usr/$(get_libdir)/liblirc_client.la" || die
fi
}

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"
}
36 changes: 26 additions & 10 deletions app-misc/lirc/metadata.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
<flag name="hardware-carrier">The transmitter device generates its clock
signal in hardware</flag>
<flag name="transmitter">Add transmitter support to some lirc-drivers
(e.g. serial)</flag>
</use>
<upstream>
<remote-id type="sourceforge">lirc</remote-id>
</upstream>
<!-- maintainer-needed -->
<maintainer type="person">
<email>[email protected]</email>
<name>Craig Andrews</name>
<description>Proxied maintainer; set to assignee in all bugs</description>
</maintainer>
<maintainer type="project">
<email>[email protected]</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="hardware-carrier">The transmitter device generates its clock signal in hardware</flag>
<flag name="transmitter">Add transmitter support to some lirc-drivers (e.g. serial)</flag>
<flag name="inputlirc">Add a dependency on app-misc/inputlircd</flag>
<flag name="irman">Add a dependency on media-libs/libirman</flag>
<flag name="audio">Support using an audio device connected to an IR receiver</flag>
<flag name="iguanair">Support iguanaIR devices</flag>
<flag name="ftdi">Support FTDI devices</flag>
</use>
<upstream>
<remote-id type="sourceforge">lirc</remote-id>
</upstream>
<longdescription lang="en">
LIRC (Linux Infrared remote control) allows users to receive and send infrared signals.
</longdescription>
</pkgmetadata>

0 comments on commit e2dc560

Please sign in to comment.