diff options
author | Rick Farina <zerochaos@gentoo.org> | 2012-07-27 07:01:25 +0000 |
---|---|---|
committer | Rick Farina <zerochaos@gentoo.org> | 2012-07-27 07:01:25 +0000 |
commit | 152fbd7fab98899f40b13a5980f40983f80fe127 (patch) | |
tree | e8b2e44bec2791a78ea836d1cb2cc192fcb0199d /net-wireless/ubertooth | |
parent | marked x86 per bug 428042 (diff) | |
download | gentoo-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/ubertooth')
-rw-r--r-- | net-wireless/ubertooth/ChangeLog | 11 | ||||
-rw-r--r-- | net-wireless/ubertooth/files/40-ubertooth.rules | 5 | ||||
-rw-r--r-- | net-wireless/ubertooth/metadata.xml | 17 | ||||
-rw-r--r-- | net-wireless/ubertooth/ubertooth-0.0_p534.ebuild | 90 | ||||
-rw-r--r-- | net-wireless/ubertooth/ubertooth-9999.ebuild | 121 |
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 +} |