summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2014-05-09 13:59:20 +0000
committerMichał Górny <mgorny@gentoo.org>2014-05-09 13:59:20 +0000
commita114dcfed22884654e2a43a47b6fa967c9b5c2d7 (patch)
treecd77203c4f007da68866000b99ae70a4ddbf52ca /net-wireless/bluez
parentBump to 2.11 (diff)
downloadgentoo-2-a114dcfed22884654e2a43a47b6fa967c9b5c2d7.tar.gz
gentoo-2-a114dcfed22884654e2a43a47b6fa967c9b5c2d7.tar.bz2
gentoo-2-a114dcfed22884654e2a43a47b6fa967c9b5c2d7.zip
Introduce multilib support.
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key EFB4464E!)
Diffstat (limited to 'net-wireless/bluez')
-rw-r--r--net-wireless/bluez/ChangeLog9
-rw-r--r--net-wireless/bluez/bluez-4.101-r9.ebuild204
-rw-r--r--net-wireless/bluez/bluez-5.18-r1.ebuild193
3 files changed, 405 insertions, 1 deletions
diff --git a/net-wireless/bluez/ChangeLog b/net-wireless/bluez/ChangeLog
index 8d176179c255..0a7453e2d324 100644
--- a/net-wireless/bluez/ChangeLog
+++ b/net-wireless/bluez/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-wireless/bluez
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez/ChangeLog,v 1.202 2014/05/04 12:13:02 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez/ChangeLog,v 1.203 2014/05/09 13:59:20 mgorny Exp $
+
+*bluez-5.18-r1 (09 May 2014)
+*bluez-4.101-r9 (09 May 2014)
+
+ 09 May 2014; Michał Górny <mgorny@gentoo.org> +bluez-4.101-r9.ebuild,
+ +bluez-5.18-r1.ebuild:
+ Introduce multilib support.
04 May 2014; Pacho Ramos <pacho@gentoo.org> bluez-5.18.ebuild:
x86 stable, bug 508862
diff --git a/net-wireless/bluez/bluez-4.101-r9.ebuild b/net-wireless/bluez/bluez-4.101-r9.ebuild
new file mode 100644
index 000000000000..fc0fd466e2d4
--- /dev/null
+++ b/net-wireless/bluez/bluez-4.101-r9.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez/bluez-4.101-r9.ebuild,v 1.1 2014/05/09 13:59:20 mgorny Exp $
+
+EAPI=5
+PYTHON_COMPAT=( python{2_6,2_7} )
+inherit autotools eutils multilib python-single-r1 readme.gentoo \
+ systemd 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
+ http://dev.gentoo.org/~pacho/bluez/${P}-patches.tar.xz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE="alsa cups debug gstreamer hid2hci pcmcia readline selinux test-programs usb"
+
+REQUIRED_USE="test-programs? ( ${PYTHON_REQUIRED_USE} )"
+
+# TODO: revisit USE=gstreamer once gstreamer is ported to multilib
+
+CDEPEND="
+ >=dev-libs/glib-2.28:2
+ >=sys-apps/dbus-1.6:=
+ >=sys-apps/hwids-20121202.2
+ >=virtual/udev-171
+ alsa? (
+ media-libs/alsa-lib:=[${MULTILIB_USEDEP},alsa_pcm_plugins_extplug(+),alsa_pcm_plugins_ioplug(+)]
+ media-libs/libsndfile:=
+ )
+ cups? ( net-print/cups:= )
+ gstreamer? (
+ >=media-libs/gstreamer-0.10:0.10
+ >=media-libs/gst-plugins-base-0.10:0.10
+ )
+ readline? ( sys-libs/readline:= )
+ selinux? ( sec-policy/selinux-bluetooth )
+ usb? ( virtual/libusb:0 )
+"
+DEPEND="${CDEPEND}
+ sys-devel/flex
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ test-programs? ( >=dev-libs/check-0.9.6 )
+"
+RDEPEND="${CDEPEND}
+ test-programs? (
+ >=dev-python/dbus-python-1
+ dev-python/pygobject:2
+ dev-python/pygobject:3
+ ${PYTHON_DEPS}
+ )
+ abi_x86_32? (
+ !<app-emulation/emul-linux-x86-soundlibs-20140406-r1
+ !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32]
+ )
+"
+
+DOCS=( AUTHORS ChangeLog README )
+
+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-programs && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Fedora patches
+ epatch "${WORKDIR}/${P}-patches"/*.patch
+
+ # Use static group "plugdev" if there is no ConsoleKit (or systemd logind)
+ epatch "${FILESDIR}"/bluez-plugdev.patch
+
+ sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.ac || die
+
+ eautoreconf
+
+ if use cups; then
+ sed -i \
+ -e "s:cupsdir = \$(libdir)/cups:cupsdir = `cups-config --serverbin`:" \
+ Makefile.{in,tools} || die
+ fi
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myconf=(
+ 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
+
+ # Missing flags: --enable-{sap,hidd,pand,dund,dbusoob,gatt}
+ # Keep this in ./configure --help order!
+ econf \
+ --localstatedir=/var \
+ --enable-network \
+ --enable-serial \
+ --enable-input \
+ --enable-audio \
+ --enable-service \
+ --enable-health \
+ --enable-pnat \
+ $(multilib_native_use_enable gstreamer) \
+ $(use_enable alsa) \
+ $(multilib_native_use_enable usb) \
+ $(multilib_native_use_enable usb cable) \
+ --enable-tools \
+ --enable-bccmd \
+ $(use_enable pcmcia) \
+ $(multilib_native_use_enable hid2hci) \
+ --enable-dfutool \
+ $(multilib_native_use_enable cups) \
+ $(multilib_native_use_enable test-programs test) \
+ --enable-datafiles \
+ $(use_enable debug) \
+ --enable-maemo6 \
+ --enable-wiimote \
+ --disable-hal \
+ --with-ouifile=/usr/share/misc/oui.txt \
+ --with-systemdunitdir="$(systemd_get_unitdir)"
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi; then
+ default
+ else
+ emake -f Makefile -f - libs \
+ <<<'libs: $(lib_LTLIBRARIES) $(alsa_LTLIBRARIES)'
+ fi
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && default
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" install
+ else
+ emake DESTDIR="${D}" \
+ install-includeHEADERS \
+ install-libLTLIBRARIES \
+ install-alsaLTLIBRARIES \
+ install-pkgconfigDATA
+ fi
+
+ if multilib_is_native_abi && use test-programs; then
+ pushd test >/dev/null
+ dobin simple-agent simple-service monitor-bluetooth
+ newbin list-devices list-bluetooth-devices
+ rm test-textfile.{c,o} || die #356529
+ local b
+ for b in hsmicro hsplay test-*; do
+ newbin "${b}" bluez-"${b}"
+ done
+ insinto /usr/share/doc/${PF}/test-services
+ doins service-*
+ python_fix_shebang "${ED}"
+ popd >/dev/null
+ fi
+}
+
+multilib_src_install_all() {
+ insinto /etc/bluetooth
+ local d
+ for d in input audio network serial; do
+ doins ${d}/${d}.conf
+ done
+
+ newinitd "${FILESDIR}"/bluetooth-init.d-r2 bluetooth
+ newinitd "${FILESDIR}"/rfcomm-init.d rfcomm
+ newconfd "${FILESDIR}"/rfcomm-conf.d rfcomm
+
+ readme.gentoo_create_doc
+
+ prune_libtool_files --modules
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ udevadm control --reload-rules
+
+ 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 only"
+ elog "be able to run bluetooth clients as root. If you want to be able to run bluetooth clientes as"
+ elog "a regular user, you need to enable the consolekit use flag for this package or"
+ elog "to add the user to the plugdev group."
+ fi
+}
diff --git a/net-wireless/bluez/bluez-5.18-r1.ebuild b/net-wireless/bluez/bluez-5.18-r1.ebuild
new file mode 100644
index 000000000000..1646000a5ce1
--- /dev/null
+++ b/net-wireless/bluez/bluez-5.18-r1.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez/bluez-5.18-r1.ebuild,v 1.1 2014/05/09 13:59:20 mgorny Exp $
+
+EAPI=5
+PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
+
+inherit 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 ~ppc ~ppc64 ~x86"
+IUSE="cups debug +obex +readline selinux systemd test +udev"
+REQUIRED_USE="test? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=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:= )
+ selinux? ( sec-policy/selinux-bluetooth )
+ systemd? ( sys-apps/systemd )
+ udev? ( >=virtual/udev-171 )
+ abi_x86_32? (
+ !<app-emulation/emul-linux-x86-soundlibs-20140406-r1
+ !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32]
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ ${PYTHON_DEPS}
+ >=dev-python/dbus-python-1
+ dev-python/pygobject:2
+ dev-python/pygobject:3
+ )
+"
+
+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
+
+ # 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
+
+ # Ubuntu workaround for bug #501120
+ epatch "${FILESDIR}"/0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch
+
+ if use cups; then
+ sed -i \
+ -e "s:cupsdir = \$(libdir)/cups:cupsdir = $(cups-config --serverbin):" \
+ Makefile.{in,tools} || die
+ fi
+
+ 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
+
+ # Missing flags: experimental (sap, nfc, ...)
+ econf \
+ --localstatedir=/var \
+ --disable-android \
+ --enable-experimental \
+ --enable-optimization \
+ $(use_enable debug) \
+ --enable-pie \
+ --enable-threads \
+ --enable-library \
+ $(multilib_native_use_enable test) \
+ --enable-tools \
+ --enable-monitor \
+ $(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
+
+ # 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
+
+ insinto /etc/bluetooth
+ local d
+ for d in input network proximity; do
+ doins profiles/${d}/${d}.conf
+ done
+
+ doins src/main.conf
+ doins src/bluetooth.conf
+
+ insinto /usr/share/dbus-1/system-services
+ doins src/org.bluez.service
+
+ newinitd "${FILESDIR}"/bluetooth-init.d-r3 bluetooth
+
+ 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 only"
+ elog "be able to run bluetooth clients as root. If you want to be able to run bluetooth clientes as"
+ elog "a regular user, you need to enable the consolekit use flag for this package or"
+ elog "to add the user to the plugdev group."
+ fi
+}