summaryrefslogtreecommitdiff
blob: 990c556afe0daa5cffa110bae7c5ebfe549d9328 (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
132
133
134
135
136
137
138
139
140
141
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/lirc-0.7.0-r1.ebuild,v 1.11 2005/04/01 03:29:11 agriffis Exp $

inherit eutils linux-mod flag-o-matic

DESCRIPTION="LIRC is a package that allows you to decode and send infra-red \
	signals of many (but not all) commonly used remote controls."
HOMEPAGE="http://www.lirc.org"

# LIRC_OPTS = ???? v
# This are the defaults. With this support for all supported remotes
# will be build.
# If you want other options then set the Environment variable to your needs.

# Note: If you don't specify the driver configure becomes interactiv.

# You have to know, which driver you want;
# --with-driver=X

# where X is one of:
# none, any, animax, avermedia, avermedia98,
# bestbuy, bestbuy2, caraca, chronos, comX,
# cph03x, cph06x, creative, fly98, flyvideo,
# hauppauge,hauppauge_dvb, ipaq, irdeo,
# irdeo_remote, irman, irreal, it87, knc_one,
# logitech, lptX, mediafocusI, packard_bell,
# parallel, pctv, pixelview_bt878,
# pixelview_pak, pixelview_pro, provideo,
# realmagic, remotemaster, serial, silitek,
# sir, slinke, streamzap tekram
# winfast_tv2000 is now leadtek_0010

# This could be usefull too

# --with-port=port	# port number for the lirc device.
# --with-irq=irq	# irq line for the lirc device.
# --with-timer=value	# timer value for the parallel driver
# --with-tty=file	# tty to use (Irman, RemoteMaster, etc.)
# --without-soft-carrier	# if your serial hw generates carrier
# --with-transmitter	# if you use a transmitter diode

SLOT="0"
LICENSE="GPL-2"
IUSE="debug doc streamzap"
KEYWORDS="x86 ppc alpha ia64 amd64 ppc64"

RDEPEND="virtual/libc
	X11? ( virtual/x11 )"

DEPEND="virtual/linux-sources
	sys-devel/autoconf
	${RDEPEND}"

SRC_URI="mirror://sourceforge/lirc/${P}.tar.bz2"

src_unpack() {
	unpack ${A}
	cd ${S}
	if use streamzap; then
		if kernel_is 2 6; then
			ewarn "Streamzap is not Kernel 2.6 ready and will not be compiled"
		else
			epatch ${FILESDIR}/lirc-0.7.0-streamzap.patch.bz2
		fi
	fi
	if [ "${PROFILE_ARCH}" == "xbox" ]; then
		epatch ${FILESDIR}/lirc-0.7.0-xbox.patch.bz2
	fi

	filter-flags -Wl,-O1
	sed	-i -e "s:-O2 -g:${CFLAGS}:" configure configure.in
}

src_compile() {
	# set default configure options
	[ "x${LIRC_OPTS}" = x ] && [ "${PROFILE_ARCH}" == "xbox" ] && \
		LIRC_OPTS="--with-driver=xboxusb"
	[ "x${LIRC_OPTS}" = x ] && LIRC_OPTS="--with-driver=serial \
		--with-port=0x3f8 --with-irq=4"

	# remove parallel driver on SMP systems
	if [ ! -z "`uname -v | grep SMP`" ]; then
		sed -i -e "s:lirc_parallel::" drivers/Makefile
	fi

	# Patch bad configure for /usr/src/linux
	libtoolize --copy --force || die "libtoolize failed"
	sed -si "s|/usr/src/kernel\-source\-\`uname \-r\` /usr/src/linux\-\`uname \-r\` ||" \
		acinclude.m4 aclocal.m4 configure || die "/usr/src/linux sed failed"

	get_version
	sed -si "s|\`uname \-r\`|${KV_FULL}|" configure configure.in setup.sh || \
		die "/lib/modules sed failed"

	unset ARCH
	export WANT_AUTOCONF=2.5

	econf \
		--disable-manage-devices \
		--localstatedir=/var \
		--with-syslog=LOG_DAEMON \
		--enable-sandboxed \
		`use_enable debug` \
		${LIRC_OPTS} || die "./configure failed"

	convert_to_m ${S}/Makefile
	emake || die

}

src_install() {
	make DESTDIR=${D} install || die

	exeinto /etc/init.d
	doexe ${FILESDIR}/lircd
	doexe ${FILESDIR}/lircmd

	insinto /etc/conf.d
	newins ${FILESDIR}/lircd.conf lircd

	if use doc ; then
		dohtml doc/html/*.html
		insinto /usr/share/doc/${PF}/images
		doins doc/images/*
	fi
}

pkg_postinst() {
	einfo
	einfo "The lirc Linux Infrared Remote Control Package has been"
	einfo "merged, please read the documentation, and if necessary"
	einfo "add what is needed to /etc/modules.autoload or"
	einfo "/etc/modules.d.  If you need special compile options"
	einfo "then read the comments at the begin of this"
	einfo "ebuild (source) and set the LIRC_OPTS environment"
	einfo "variable to your needs."
	einfo

	update_depmod
}