+++ /dev/null
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="4"
-
-inherit multilib #flag-o-matic
-
-HOMEPAGE="http://ubertooth.sourceforge.net/"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+dfu +specan ubertooth0-firmware +ubertooth1-firmware"
-REQUIRED_USE="ubertooth0-firmware? ( dfu )
- ubertooth1-firmware? ( dfu )"
-DEPEND=""
-RDEPEND="specan? ( virtual/libusb:1 )
- dfu? ( virtual/libusb:1 )
- specan? ( >=dev-qt/qtgui-4.7.2:4
- >=dev-python/pyside-1.0.2
- >=dev-python/numpy-1.3 )
- specan? ( >=dev-python/pyusb-1.0.0_alpha1 )
- dfu? ( >=dev-python/pyusb-1.0.0_alpha1 )"
-
-if [[ ${PV} == "9999" ]] ; then
- ESVN_REPO_URI="https://ubertooth.svn.sourceforge.net/svnroot/ubertooth/trunk/"
- SRC_URI=""
- inherit subversion
- KEYWORDS=""
- DEPEND="=net-libs/libbtbb-9999"
- RDEPEND="${RDEPEND}
- =net-libs/libbtbb-9999
- ubertooth0-firmware? ( sys-devel/gcc-arm-embedded-bin )
- ubertooth1-firmware? ( sys-devel/gcc-arm-embedded-bin )"
-else
- MY_PV="${PV/p/r}"
- MY_PV="${MY_PV/0.0_/}"
- SRC_URI="mirror://sourceforge/${PN}/${PN}-${MY_PV}.tar.gz"
- KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/${PN}-${MY_PV}/"
- DEPEND=">=net-libs/libbtbb-0.8"
- RDEPEND="${RDEPEND}
- >=net-libs/libbtbb-0.8"
-fi
-DESCRIPTION="An open source wireless development platform suitable for Bluetooth experimentation"
-
-src_compile() {
- #sometimes needed to build, remove when a release is made after r534 if not needed
- #filter-ldflags -Wl,--as-needed
- cd "${S}/host/bluetooth_rxtx" || die
- emake
-
- if [[ ${PV} == "9999" ]] ; then
- cd "${S}"/firmware/bluetooth_rxtx || die
- if use ubertooth0-firmware; then
- SVN_REV_NUM="-D'SVN_REV_NUM'=${ESVN_WC_REVISION}" DFU_TOOL=/usr/bin/ubertooth-dfu BOARD=UBERTOOTH_ZERO emake -j1
- mv bluetooth_rxtx.bin bluetooth_rxtx_U0.bin || die
- emake clean
- fi
- if use ubertooth1-firmware; then
- SVN_REV_NUM="-D'SVN_REV_NUM'=${ESVN_WC_REVISION}" DFU_TOOL=/usr/bin/ubertooth-dfu emake -j1
- mv bluetooth_rxtx.bin bluetooth_rxtx_U1.bin || die
- fi
- fi
-}
-
-src_install() {
- cd host || die
- dobin bluetooth_rxtx/ubertooth-dump bluetooth_rxtx/ubertooth-lap \
- bluetooth_rxtx/ubertooth-btle bluetooth_rxtx/ubertooth-uap \
- bluetooth_rxtx/ubertooth-hop bluetooth_rxtx/ubertooth-util
-
- use specan && dobin bluetooth_rxtx/ubertooth-specan specan_ui/specan.py specan_ui/ubertooth-specan-ui
-
- use dfu && dobin usb_dfu/ubertooth-dfu usb_dfu/dfu_suffix.py
-
- insinto /lib/firmware
- cd "${S}"
- if [[ ${PV} == "9999" ]] ; then
- use ubertooth0-firmware && doins firmware/bluetooth_rxtx/bluetooth_rxtx_U0.bin
- use ubertooth1-firmware && doins firmware/bluetooth_rxtx/bluetooth_rxtx_U1.bin
- else
- use ubertooth0-firmware && newins ubertooth-zero-firmware-bin/bluetooth_rxtx.bin bluetooth_rxtx_U0.bin
- use ubertooth1-firmware && newins ubertooth-one-firmware-bin/bluetooth_rxtx.bin bluetooth_rxtx_U1.bin
- fi
-
- insinto /lib/udev/rules.d/
- doins "${FILESDIR}"/40-ubertooth.rules
-
- elog "Everyone can read from the ubertooth, but to talk to it"
- elog "your user needs to be in the usb group."
-}
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
-PYTHON_DEPEND="python? 2"
-SUPPORT_PYTHON_ABIS="1"
-RESTRICT_PYTHON_ABIS="3.*"
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_OPTIONAL=1
-inherit multilib distutils cmake-utils
+inherit multilib distutils-r1 cmake-utils udev
HOMEPAGE="http://ubertooth.sourceforge.net/"
LICENSE="GPL-2"
SLOT="0"
-IUSE="+bluez +dfu +specan +python +ubertooth1-firmware +udev"
-REQUIRED_USE="dfu? ( python )
- specan? ( python )
- ubertooth1-firmware? ( dfu )
- python? ( || ( dfu specan ) )"
+IUSE="+bluez +specan +pcap +ubertooth1-firmware +udev"
+REQUIRED_USE=" specan? ( ${PYTHON_REQUIRED_USE} )"
DEPEND="bluez? ( net-wireless/bluez:= )
- >=net-libs/libbtbb-2014.02.2:=
- net-libs/libpcap:="
+ >=net-libs/libbtbb-${PV}:=
+ pcap? ( net-libs/libbtbb[pcap] )
+ specan? ( ${PYTHON_DEPS} )
+ virtual/libusb:1="
RDEPEND="${DEPEND}
- specan? ( virtual/libusb:1
- >=dev-qt/qtgui-4.7.2:4
- >=dev-python/pyside-1.0.2
- >=dev-python/numpy-1.3
- >=dev-python/pyusb-1.0.0_alpha1 )
- dfu? ( virtual/libusb:1
- >=dev-python/pyusb-1.0.0_alpha1 )
+ specan? ( >=dev-qt/qtgui-4.7.2:4
+ >=dev-python/pyside-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.3[${PYTHON_USEDEP}] )
udev? ( virtual/udev )"
+MY_PV=${PV/\./-}
+MY_PV=${MY_PV/./-R}
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/greatscottgadgets/ubertooth.git"
inherit git-r3
KEYWORDS=""
S="${WORKDIR}/${P}/host"
else
- MY_PV=${PV/\./-}
- MY_PV=${MY_PV/./-R}
S="${WORKDIR}/${PN}-${MY_PV}/host"
SRC_URI="https://github.com/greatscottgadgets/${PN}/releases/download/${MY_PV}/${PN}-${MY_PV}.tar.xz"
- #re-add arm keyword after making a lib-only target
KEYWORDS="~amd64 ~arm ~x86"
fi
DESCRIPTION="An open source wireless development platform suitable for Bluetooth experimentation"
#readd firmware building, but do it right
#USE="-fortran -mudflap -nls -openmp -multilib" crossdev --without-headers --genv 'EXTRA_ECONF="--with-mode=thumb --with-cpu=cortex-m3 --with-float=soft"' -s4 -t arm-cortexm3-eabi
-pkg_setup() {
- if use python; then
- python_pkg_setup;
- DISTUTILS_SETUP_FILES=()
- if use dfu; then
- DISTUTILS_SETUP_FILES+=("${S}/python/usb_dfu|setup.py")
- PYTHON_MODNAME="dfu"
- fi
- if use specan; then
- DISTUTILS_SETUP_FILES+=("${S}/python/specan_ui|setup.py")
- PYTHON_MODNAME+=" specan"
- fi
- fi
-}
-
src_prepare() {
cmake-utils_src_prepare
- use python && distutils_src_prepare
+ if use specan; then
+ pushd python/specan_ui || die
+ distutils-r1_src_prepare
+ popd
+ fi
}
src_configure() {
mycmakeargs=(
$(cmake-utils_use_enable bluez USE_BLUEZ)
+ $(cmake-utils_use pcap USE_PCAP)
+ $(cmake-utils_use_enable udev INSTALL_UDEV_RULES)
-DDISABLE_PYTHON=true
)
+ if use udev; then
+ mycmakeargs+=(
+ -DUDEV_RULES_GROUP=usb
+ -DUDEV_RULES_PATH="$(get_udevdir)/rules.d"
+ )
+ fi
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
- use python && distutils_src_compile
+ if use specan; then
+ pushd python/specan_ui || die
+ distutils-r1_src_compile
+ popd
+ fi
}
src_install() {
cmake-utils_src_install
insinto /usr/share/${PN}
- cd "${WORKDIR}/${PN}-${MY_PV}" || die
+ pushd "${WORKDIR}/${PN}-${MY_PV}" || die
if [[ ${PV} == "9999" ]] ; then
ewarn "Firmware isn't available for git releases, we assume you are already"
ewarn "on the latest and/or can build your own."
else
use ubertooth1-firmware && newins ubertooth-one-firmware-bin/bluetooth_rxtx.dfu ${PN}-one-${PV}-bluetooth_rxtx.dfu
fi
+ popd
- if use udev; then
- insinto /lib/udev/rules.d/
- doins "${S}"/lib${PN}/40-${PN}.rules
+ if use specan; then
+ pushd python/specan_ui || die
+ distutils-r1_src_install
+ popd
fi
- use python && distutils_src_install
-
elog "Everyone can read from the ubertooth, but to talk to it"
elog "your user needs to be in the usb group."
}
-
-pkg_postinst() {
- use python && distutils_pkg_postinst
-}
-
-pkg_postrm() {
- use python && distutils_pkg_postrm
-}