forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
net-wireless/bluez: Version bump, don't install dbus conf file in /et…
…c (#558066 by Ulenrich), stop applying Ubuntu workaround patch as it is no longer needed (#556656 by josef.95). Package-Manager: portage-2.2.20.1
- Loading branch information
Showing
2 changed files
with
207 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,206 @@ | ||
# Copyright 1999-2015 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=5 | ||
PYTHON_COMPAT=( python{2_7,3_3,3_4} ) | ||
|
||
inherit autotools eutils multilib python-any-r1 readme.gentoo systemd udev user multilib-minimal | ||
|
||
DESCRIPTION="Bluetooth Tools and System Daemons for Linux" | ||
HOMEPAGE="http://www.bluez.org" | ||
SRC_URI="mirror://kernel/linux/bluetooth/${P}.tar.xz" | ||
|
||
LICENSE="GPL-2+ LGPL-2.1+" | ||
SLOT="0/3" | ||
KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86" | ||
IUSE="cups debug +obex +readline selinux systemd test +udev" | ||
|
||
CDEPEND=" | ||
>=dev-libs/glib-2.28:2 | ||
>=sys-apps/dbus-1.6:= | ||
>=sys-apps/hwids-20121202.2 | ||
cups? ( net-print/cups:= ) | ||
obex? ( dev-libs/libical:= ) | ||
readline? ( sys-libs/readline:= ) | ||
systemd? ( sys-apps/systemd ) | ||
udev? ( >=virtual/udev-172 ) | ||
abi_x86_32? ( | ||
!<app-emulation/emul-linux-x86-soundlibs-20140406-r1 | ||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32] | ||
) | ||
" | ||
DEPEND="${CDEPEND} | ||
app-arch/xz-utils | ||
virtual/pkgconfig | ||
test? ( | ||
$(python_gen_any_dep ' | ||
>=dev-python/dbus-python-1[${PYTHON_USEDEP}] | ||
|| ( | ||
dev-python/pygobject:3[${PYTHON_USEDEP}] | ||
dev-python/pygobject:2[${PYTHON_USEDEP}] | ||
) | ||
') | ||
) | ||
" | ||
RDEPEND="${CDEPEND} | ||
selinux? ( sec-policy/selinux-bluetooth ) | ||
" | ||
DOC_CONTENTS=" | ||
If you want to use rfcomm as a normal user, you need to add the user | ||
to the uucp group. | ||
" | ||
|
||
pkg_setup() { | ||
enewgroup plugdev | ||
use test && python-any-r1_pkg_setup | ||
|
||
if ! use udev; then | ||
ewarn | ||
ewarn "You are installing ${PN} with USE=-udev. This means various bluetooth" | ||
ewarn "devices and adapters from Apple, Dell, Logitech etc. will not work," | ||
ewarn "and hid2hci will not be available." | ||
ewarn | ||
fi | ||
} | ||
|
||
src_prepare() { | ||
# Use static group "plugdev" if there is no ConsoleKit (or systemd logind) | ||
epatch "${FILESDIR}"/bluez-plugdev.patch | ||
|
||
# Try both udevadm paths to cover udev/systemd vs. eudev locations (#539844) | ||
# http://www.spinics.net/lists/linux-bluetooth/msg58739.html | ||
epatch "${FILESDIR}"/bluez-udevadm-path.patch | ||
|
||
# Fedora patches | ||
# http://www.spinics.net/lists/linux-bluetooth/msg38490.html | ||
epatch "${FILESDIR}"/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch | ||
|
||
# http://www.spinics.net/lists/linux-bluetooth/msg40136.html | ||
epatch "${FILESDIR}"/0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch | ||
|
||
# http://www.spinics.net/lists/linux-bluetooth/msg41264.html | ||
epatch "${FILESDIR}"/0002-autopair-Don-t-handle-the-iCade.patch | ||
|
||
# ??? | ||
epatch "${FILESDIR}"/0004-agent-Assert-possible-infinite-loop.patch | ||
|
||
if use cups; then | ||
sed -i \ | ||
-e "s:cupsdir = \$(libdir)/cups:cupsdir = $(cups-config --serverbin):" \ | ||
Makefile.{in,tools} || die | ||
fi | ||
|
||
eautoreconf | ||
|
||
multilib_copy_sources | ||
} | ||
|
||
multilib_src_configure() { | ||
local myconf=( | ||
# readline is automagic when client is enabled | ||
# --enable-client always needs readline, bug #504038 | ||
ac_cv_header_readline_readline_h=$(multilib_native_usex readline) | ||
) | ||
|
||
if ! multilib_is_native_abi; then | ||
myconf+=( | ||
# deps not used for the library | ||
{DBUS,GLIB}_{CFLAGS,LIBS}=' ' | ||
) | ||
fi | ||
|
||
econf \ | ||
--localstatedir=/var \ | ||
--disable-android \ | ||
--enable-datafiles \ | ||
--enable-experimental \ | ||
--enable-optimization \ | ||
$(use_enable debug) \ | ||
--enable-pie \ | ||
--enable-threads \ | ||
--enable-library \ | ||
$(multilib_native_use_enable test) \ | ||
--enable-tools \ | ||
--enable-manpages \ | ||
--enable-monitor \ | ||
--disable-valgrind \ | ||
$(multilib_native_use_enable cups) \ | ||
$(multilib_native_use_enable obex) \ | ||
$(multilib_native_use_enable readline client) \ | ||
$(multilib_native_use_enable systemd) \ | ||
$(systemd_with_unitdir) \ | ||
$(multilib_native_use_enable udev) \ | ||
$(multilib_native_use_enable udev sixaxis) | ||
} | ||
|
||
multilib_src_compile() { | ||
if multilib_is_native_abi; then | ||
default | ||
else | ||
emake -f Makefile -f - libs \ | ||
<<<'libs: $(lib_LTLIBRARIES)' | ||
fi | ||
} | ||
|
||
multilib_src_test() { | ||
multilib_is_native_abi && default | ||
} | ||
|
||
multilib_src_install() { | ||
if multilib_is_native_abi; then | ||
emake DESTDIR="${D}" install | ||
|
||
# Upstream doesn't install this, bug #524640 | ||
# http://permalink.gmane.org/gmane.linux.bluez.kernel/53115 | ||
# http://comments.gmane.org/gmane.linux.bluez.kernel/54564 | ||
# gatttool is only built with readline, bug #530776 | ||
use readline && dobin attrib/gatttool | ||
dobin tools/hex2hcd | ||
|
||
# Unittests are not that useful once installed | ||
if use test ; then | ||
rm -r "${ED}"/usr/$(get_libdir)/bluez/test || die | ||
fi | ||
else | ||
emake DESTDIR="${D}" \ | ||
install-includeHEADERS \ | ||
install-libLTLIBRARIES \ | ||
install-pkgconfigDATA | ||
fi | ||
} | ||
|
||
multilib_src_install_all() { | ||
prune_libtool_files --modules | ||
|
||
keepdir /var/lib/bluetooth | ||
|
||
# Upstream don't want people to play with them | ||
# But we keep installing them due to 'historical' reasons | ||
insinto /etc/bluetooth | ||
local d | ||
for d in input network proximity; do | ||
doins profiles/${d}/${d}.conf | ||
done | ||
doins src/main.conf | ||
|
||
newinitd "${FILESDIR}"/bluetooth-init.d-r3 bluetooth | ||
newinitd "${FILESDIR}"/rfcomm-init.d-r2 rfcomm | ||
|
||
einstalldocs | ||
|
||
readme.gentoo_create_doc | ||
} | ||
|
||
pkg_postinst() { | ||
readme.gentoo_print_elog | ||
|
||
use udev && udev_reload | ||
|
||
has_version net-dialup/ppp || elog "To use dial up networking you must install net-dialup/ppp." | ||
|
||
if ! has_version sys-auth/consolekit && ! has_version sys-apps/systemd; then | ||
elog "Since you don't have sys-auth/consolekit neither sys-apps/systemd, you will" | ||
elog "need to add the user to the plugdev group." | ||
fi | ||
} |