summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRick Farina <zerochaos@gentoo.org>2012-07-27 07:01:25 +0000
committerRick Farina <zerochaos@gentoo.org>2012-07-27 07:01:25 +0000
commit152fbd7fab98899f40b13a5980f40983f80fe127 (patch)
treee8b2e44bec2791a78ea836d1cb2cc192fcb0199d /net-wireless
parentmarked x86 per bug 428042 (diff)
downloadgentoo-2-152fbd7fab98899f40b13a5980f40983f80fe127.tar.gz
gentoo-2-152fbd7fab98899f40b13a5980f40983f80fe127.tar.bz2
gentoo-2-152fbd7fab98899f40b13a5980f40983f80fe127.zip
initial commit of ubertooth, a few comments left in the ebuild but mostly functional for all
(Portage version: 2.1.11.9/cvs/Linux x86_64)
Diffstat (limited to 'net-wireless')
-rw-r--r--net-wireless/ubertooth/ChangeLog11
-rw-r--r--net-wireless/ubertooth/files/40-ubertooth.rules5
-rw-r--r--net-wireless/ubertooth/metadata.xml17
-rw-r--r--net-wireless/ubertooth/ubertooth-0.0_p534.ebuild90
-rw-r--r--net-wireless/ubertooth/ubertooth-9999.ebuild121
5 files changed, 244 insertions, 0 deletions
diff --git a/net-wireless/ubertooth/ChangeLog b/net-wireless/ubertooth/ChangeLog
new file mode 100644
index 000000000000..85b96dea9b22
--- /dev/null
+++ b/net-wireless/ubertooth/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for net-wireless/ubertooth
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ubertooth/ChangeLog,v 1.1 2012/07/27 07:01:25 zerochaos Exp $
+
+*ubertooth-9999 (27 Jul 2012)
+*ubertooth-0.0_p534 (27 Jul 2012)
+
+ 27 Jul 2012; Rick Farina <zerochaos@gentoo.org> +files/40-ubertooth.rules,
+ +metadata.xml, +ubertooth-0.0_p534.ebuild, +ubertooth-9999.ebuild:
+ initial commit of ubertooth, a few comments left in the ebuild but mostly
+ functional for all
diff --git a/net-wireless/ubertooth/files/40-ubertooth.rules b/net-wireless/ubertooth/files/40-ubertooth.rules
new file mode 100644
index 000000000000..e5537aa1f831
--- /dev/null
+++ b/net-wireless/ubertooth/files/40-ubertooth.rules
@@ -0,0 +1,5 @@
+ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0004", MODE="0660", GROUP="usb"
+ATTRS{idVendor}=="id50", ATTRS{idProduct}=="6000", MODE="0660", GROUP="usb"
+ATTRS{idVendor}=="id50", ATTRS{idProduct}=="6001", MODE="0660", GROUP="usb"
+ATTRS{idVendor}=="id50", ATTRS{idProduct}=="6002", MODE="0660", GROUP="usb"
+ATTRS{idVendor}=="id50", ATTRS{idProduct}=="6003", MODE="0660", GROUP="usb"
diff --git a/net-wireless/ubertooth/metadata.xml b/net-wireless/ubertooth/metadata.xml
new file mode 100644
index 000000000000..9c73c03cbc28
--- /dev/null
+++ b/net-wireless/ubertooth/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>zerochaos@gentoo.org</email>
+ <name>Rick Farina</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <use>
+ <flag name="dfu">Install ubertooth-dfu (needed for read/write of firmware)</flag>
+ <flag name="specan">Enable the ubertooth spectrum analyzer</flag>
+ <flag name="ubertooth0-firmware">Build/install ubertooth0-firmware</flag>
+ <flag name="ubertooth1-firmware">Build/install ubertooth1-firmware</flag>
+ </use>
+</pkgmetadata>
+
diff --git a/net-wireless/ubertooth/ubertooth-0.0_p534.ebuild b/net-wireless/ubertooth/ubertooth-0.0_p534.ebuild
new file mode 100644
index 000000000000..e92e8178d37b
--- /dev/null
+++ b/net-wireless/ubertooth/ubertooth-0.0_p534.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ubertooth/ubertooth-0.0_p534.ebuild,v 1.1 2012/07/27 07:01:25 zerochaos Exp $
+
+EAPI="4"
+
+#inherit flag-o-matic
+
+DESCRIPTION="An open source wireless development platform suitable for Bluetooth experimentation"
+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? ( >=dev-libs/libusb-1.0.8 )
+ dfu? ( >=dev-libs/libusb-1.0.8 )
+ specan? ( >=x11-libs/qt-gui-4.7.2
+ >=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=""
+ 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}/"
+ RDEPEND="${RDEPEND}
+ >=net-libs/libbtbb-0.8"
+fi
+
+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."
+}
diff --git a/net-wireless/ubertooth/ubertooth-9999.ebuild b/net-wireless/ubertooth/ubertooth-9999.ebuild
new file mode 100644
index 000000000000..c1b5be087b9e
--- /dev/null
+++ b/net-wireless/ubertooth/ubertooth-9999.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ubertooth/ubertooth-9999.ebuild,v 1.1 2012/07/27 07:01:25 zerochaos Exp $
+
+EAPI="4"
+
+#inherit flag-o-matic
+
+DESCRIPTION="An open source wireless development platform suitable for Bluetooth experimentation"
+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? ( >=dev-libs/libusb-1.0.8 )
+ dfu? ( >=dev-libs/libusb-1.0.8 )
+ specan? ( >=x11-libs/qt-gui-4.7.2
+ >=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=""
+ RDEPEND="${RDEPEND}
+ >=net-libs/libbtbb-9999"
+ DEPEND="ubertooth0-firmware? ( sys-devel/crossdev )
+ ubertooth1-firmware? ( sys-devel/crossdev )"
+else
+ MY_PV="${PV/p/r}"
+ MY_PV="${MY_PV/0.0_/}"
+ SRC_URI="mirror://sourceforge/${PN}/${PN}-${MY_PV}.tar.gz"
+ #re-add arm keyword after making a lib-only target
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${PN}-${MY_PV}/"
+ RDEPEND="${RDEPEND}
+ >=net-libs/libbtbb-0.8"
+fi
+
+pkg_setup() {
+ ebegin "arm-none-eabi-gcc"
+ if type -p arm-none-eabi-gcc > /dev/null ; then
+ eend 0
+ else
+ eend 1
+ eerror "Failed to locate 'arm-none-eabi-gcc' in \$PATH. You can install the needed toolchain using:"
+ eerror " $ crossdev --genv 'USE=\"-openmp -fortran\"' -s4 -t arm-none-eabi"
+ die "arm-none-eabi toolchain not found"
+ fi
+}
+
+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.py
+
+ #newlib.so bluetooth_rxtx/libubertooth.so.0.svn-exported libubertooth.so.0.svn-"${ESVN_WC_REVISION}"
+ #dosym libubertooth.so.0.svn-"${ESVN_WC_REVISION}" /usr/$(get_libdir)/libubertooth.so.0
+ #dosym libubertooth.so.0.svn-"${ESVN_WC_REVISION}" /usr/$(get_libdir)/libubertooth.so
+ dolib.so bluetooth_rxtx/libubertooth.so.0.1
+ dosym libubertooth.so.0.1 /usr/$(get_libdir)/libubertooth.so.0
+ dosym libubertooth.so.0.1 /usr/$(get_libdir)/libubertooth.so
+
+ 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 "${S}"/host/bluetooth_rxtx/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."
+}
+
+pkg_postinst() {
+ if use ubertooth0-firmware || use ubertooth1-firmware; then
+ ewarn "currently the firmware builds using cross dev but is completely"
+ ewarn "NON-FUNCTIONAL. This is supported for development only."
+ ewarn "If you do not know what you are doing to NOT install this version"
+ ewarn "of the firmware. If you ignore this warning and break your device"
+ ewarn "you can find repair instructions at ${HOMEPAGE}"
+ ewarn "You have been warned."
+ fi
+}