summaryrefslogtreecommitdiff
blob: 4db6797f95ae8b518a7a8a5f2c721fca45914ea3 (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
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez-utils/bluez-utils-2.24.ebuild,v 1.7 2007/02/10 22:31:54 genstef Exp $

inherit eutils

DESCRIPTION="Bluetooth Tools and System Daemons for Linux"
HOMEPAGE="http://bluez.sourceforge.net/"
SRC_URI="http://bluez.sourceforge.net/download/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 hppa ppc sparc x86"

IUSE="alsa cups dbus gtk pcmcia"

RDEPEND="!net-wireless/bluez-pan
		>=net-wireless/bluez-libs-2.22
		dev-libs/libusb
		alsa? ( >=media-libs/alsa-lib-1.0.9 )
		cups? ( net-print/cups )
		dbus? ( >=sys-apps/dbus-0.31 )
		gtk? ( >=dev-python/pygtk-2.2 )
		pcmcia? ( virtual/pcmcia
				  sys-apps/setserial )"
DEPEND="sys-devel/bison
		sys-devel/flex
		>=sys-apps/sed-4
		${RDEPEND}"

src_unpack() {
	unpack ${A}

	sed -i \
		-e "s:^HIDD_ENABLE=.*:HIDD_ENABLE=false:" \
		-e "s:^HID2HCI_ENABLE=.*:HID2HCI_ENABLE=false:" \
		${S}/scripts/bluetooth.default

	sed -i \
		-e "s:security .*;:security user;:" \
		${S}/hcid/hcid.conf

	if use gtk; then
		sed -i -e "s:\(pin_helper \).*:\1/usr/bin/bluepin;:" \
			${S}/hcid/hcid.conf
	else
		sed -i -e "s:\(pin_helper \).*:\1/etc/bluetooth/pin-helper;:" \
			${S}/hcid/hcid.conf
	fi
}

src_compile() {
	econf \
		$(use_enable alsa) \
		$(use_enable cups) \
		$(use_enable dbus) \
		$(use_enable pcmcia) \
		$(use_enable gtk bluepin) \
		--enable-avctrl \
		--enable-bcm203x \
		--enable-dfutool \
		--enable-hid2hci \
		--enable-obex \
		--disable-initscripts \
		--localstatedir=/var \
		|| die "econf failed"

	emake || die "emake failed"
}

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

	dodoc AUTHORS ChangeLog README

	# optional bluetooth utils
	cd ${S}/tools
	dosbin bccmd hcisecfilter ppporc pskey

	exeinto /etc/bluetooth
	newexe ${FILESDIR}/${P}-pin-helper.sh pin-helper

	insinto /etc/bluetooth
	newins ${FILESDIR}/${P}-pin pin
	fperms 0600 /etc/bluetooth/pin

	newinitd ${FILESDIR}/${P}-init.d bluetooth
	newconfd ${S}/scripts/bluetooth.default bluetooth

	# bug #103498
	if use pcmcia; then
		fperms 755 /etc/pcmcia/bluetooth
	fi

	# bug #84431
	insinto /etc/udev/rules.d/
	newins ${FILESDIR}/${P}-udev.rules 70-bluetooth.rules

	exeinto /lib/udev/
	newexe ${FILESDIR}/${P}-udev.script bluetooth.sh
}

pkg_postinst() {
	einfo
	einfo "A startup script has been installed in /etc/init.d/bluetooth."
	einfo
	einfo "If you need to set a default PIN, edit /etc/bluetooth/pin, and change"
	einfo "/etc/bluetooth/hcid.conf option 'pin_helper' to /etc/bluetooth/pin-helper."
	einfo

	if use gtk; then
		einfo "By default, /usr/bin/bluepin will be launched on the desktop display"
		einfo "for pin number input."
		einfo
	fi

	einfo "You need to run 'udevstart' or reboot for the udev rules to take effect."
	einfo
}