From 34b29a66e764cfc626dbd0c8a3454c3cf6077e02 Mon Sep 17 00:00:00 2001 From: Pacho Ramos Date: Sun, 3 Apr 2016 14:26:41 +0200 Subject: net-wireless/bluez: Version bump, make experimental plugins optional and disabled by default as wanted by upstream (#566004) Package-Manager: portage-2.2.28 --- net-wireless/bluez/Manifest | 1 + net-wireless/bluez/bluez-5.38.ebuild | 231 +++++++++++++++++++++++++++++++++++ net-wireless/bluez/metadata.xml | 1 + 3 files changed, 233 insertions(+) create mode 100644 net-wireless/bluez/bluez-5.38.ebuild (limited to 'net-wireless') diff --git a/net-wireless/bluez/Manifest b/net-wireless/bluez/Manifest index e9f3a013c63c..3b9b6e49deec 100644 --- a/net-wireless/bluez/Manifest +++ b/net-wireless/bluez/Manifest @@ -2,3 +2,4 @@ DIST bluez-4.101-patches.tar.xz 12380 SHA256 ea4b837245080ebe904fe4f338cd3c8c137 DIST bluez-4.101.tar.xz 887236 SHA256 41f9578bef39b8c94a2d6ddeaa556afd22d136936d0f03100e422fe970a45a7d SHA512 c8a88fa6948e43c81687047856806c9dc576d3223371947b496f228dec2b2614d1c5a8ff587e9f26eec44843a50503c55861f9fa736fdba43b2364f663f0cb0d WHIRLPOOL 0c4f163e4f4d0ba8f7928f5330ac3fd5f204c299346c59e73b64ebb331b0887a2b01e8ed6f4e6ae91f826a0431df4f97fe3a0900fa6013ae66fd755aaa136196 DIST bluez-5.35.tar.xz 1643068 SHA256 1afee054644a8b1753ac98d7ad5cd95681a38f5c4cbb1b4bb3ceaa078bf8f0e2 SHA512 33850a01e135f14015295f0eb9b578c515d180d24441b89dff545ec7c0ce8dad5fa321e20918ed6285edaa386375b4ed5688cb17bbfaf4db0742f6d6a72eec6d WHIRLPOOL e334e0e9b37f823eb348cf1679e010567893a73941533a5dc12b598f3b3c845d82f15b3b79e106a7fc4c4344a204a2205fa96509e61d7e61b6ec9f413d650356 DIST bluez-5.37.tar.xz 1657760 SHA256 c14ba9ddcb0055522073477b8fd8bf1ddf5d219e75fdfd4699b7e0ce5350d6b0 SHA512 e9af3b1dd079185425db10630fefbb66c26f398f21edb0c213baba9599f73715ca36f405a3f9d9572e6c55b7d3d25a4cdc18668c6eb439422f637e64798a28e9 WHIRLPOOL 1697a379d944978193db51a50c19a10fb27aa4e57ee9793563ba59b25de6388dfb4847c1a851fe1467d2521f14b2b9655208b8cef0cd5e44604bc0b26beb0c2b +DIST bluez-5.38.tar.xz 1658428 SHA256 0618c5440be6715805060ab5eea930526f34089c437bf61819447b160254f4df SHA512 8b072d90baac3223002969cf70aa77e1df3d4bf80044101c75735d7e5ad1c81b7c24dc343f88a4aec89c8e92887c2aaf9fd2060c36e0095281a390d16335e27a WHIRLPOOL 5eaa8e52cea89ab2beff0ff923045369aeec729b90f1506349d6fee200a447942452f60489847aedd184931c0983f035ba5409d7cc629a6e270993f126e48b8f diff --git a/net-wireless/bluez/bluez-5.38.ebuild b/net-wireless/bluez/bluez-5.38.ebuild new file mode 100644 index 000000000000..cac4be515fd2 --- /dev/null +++ b/net-wireless/bluez/bluez-5.38.ebuild @@ -0,0 +1,231 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools eutils multilib python-single-r1 readme.gentoo-r1 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 ~arm64 ~hppa ~mips ~ppc ~ppc64 ~x86" + +IUSE="cups doc debug extra-tools experimental +obex +readline selinux systemd test test-programs +udev" +REQUIRED_USE=" + test? ( ${PYTHON_REQUIRED_USE} ) + test-programs? ( ${PYTHON_REQUIRED_USE} ) +" + +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 ) +" +TEST_DEPS="${PYTHON_DEPS} + >=dev-python/dbus-python-1[${PYTHON_USEDEP}] + || ( + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/pygobject:2[${PYTHON_USEDEP}] + ) +" + +DEPEND="${CDEPEND} + virtual/pkgconfig + test? ( ${TEST_DEPS} ) +" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-bluetooth ) + test-programs? ( ${TEST_DEPS} ) +" +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 + + if use test || use test-programs; then + python-single-r1_pkg_setup + fi + + 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() { + default + + # 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 \ + --enable-tools \ + --enable-manpages \ + --enable-monitor \ + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \ + $(multilib_native_use_enable cups) \ + $(multilib_native_use_enable experimental) \ + $(multilib_native_use_enable obex) \ + $(multilib_native_use_enable readline client) \ + $(multilib_native_use_enable systemd) \ + $(multilib_native_use_enable test-programs test) \ + $(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 + + # Only install extra-tools when relevant USE flag is enabled + if use extra-tools; then + ewarn "Upstream doesn't support using this tools and their bugs are" + ewarn "likely to be ignored forever, also that tools can break" + ewarn "without previous announcement." + ewarn "Upstream also states all this tools are not really needed," + ewarn "then, if you still need to rely on them, you must ask them" + ewarn "to either install that tool by default or add the needed" + ewarn "functionality to the existing 'official' tools." + ewarn "Please report this issues to:" + ewarn "http://www.bluez.org/development/lists/" + + # 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 + if use readline; then + dobin attrib/gatttool + dobin tools/btmgmt + fi + dobin tools/hex2hcd + fi + + # Unittests are not that useful once installed, so make them optional + if use test-programs; then + python_fix_shebang "${ED}"/usr/$(get_libdir)/bluez/test + for i in $(find "${ED}"/usr/$(get_libdir)/bluez/test -maxdepth 1 -type f ! -name "*.*"); do + dosym "${i}" /usr/bin/bluez-"${i##*/}" + done + 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 + use doc && dodoc doc/*.txt + 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 +} diff --git a/net-wireless/bluez/metadata.xml b/net-wireless/bluez/metadata.xml index b765ca45c8c3..ea1c574ee183 100644 --- a/net-wireless/bluez/metadata.xml +++ b/net-wireless/bluez/metadata.xml @@ -6,6 +6,7 @@ Pacho Ramos + Build experimental plugins Install tools that upstream doesn't install on purpose by default. All this tools shouldn't be used. Then, please notify upstream about you still need them to let them know the -- cgit v1.2.3-65-gdbad