--- /dev/null
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib cmake-utils
+
+DESCRIPTION="A library to decode Bluetooth baseband packets"
+HOMEPAGE="http://libbtbb.sourceforge.net/"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/greatscottgadgets/libbtbb.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ MY_PV=${PV/\./-}
+ MY_PV=${MY_PV/./-R}
+ S=${WORKDIR}/${PN}-${MY_PV}
+ SRC_URI="https://github.com/greatscottgadgets/${PN}/archive/${MY_PV}.tar.gz -> ${PN}-${MY_PV}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+IUSE="+pcap +wireshark-plugins"
+
+RDEPEND="
+ pcap? ( net-libs/libpcap )
+ wireshark-plugins? (
+ >=net-analyzer/wireshark-1.8.3-r1:=
+ !>net-analyzer/wireshark-1.98
+ )
+"
+DEPEND="${RDEPEND}
+ wireshark-plugins? ( dev-libs/glib
+ virtual/pkgconfig )"
+
+get_PV() { local pv=$(best_version $1); pv=${pv#$1-}; pv=${pv%-r*}; pv=${pv//_}; echo ${pv}; }
+
+which_plugins() {
+ if has_version '>=net-analyzer/wireshark-1.12.0'; then
+ plugins="btbb btbredr"
+ elif has_version '<net-analyzer/wireshark-1.12.0'; then
+ plugins="btbb btle btsm"
+ fi
+}
+
+src_prepare(){
+ CMAKE_USE_DIR="${S}"
+ BUILD_DIR="${S}"_build
+ cmake-utils_src_prepare
+
+ if use wireshark-plugins; then
+ which_plugins
+ for i in ${plugins}
+ do
+ sed -i 's#column_info#packet#' wireshark/plugins/${i}/cmake/FindWireshark.cmake || die
+ CMAKE_USE_DIR="${S}"/wireshark/plugins/${i}
+ BUILD_DIR="${WORKDIR}"/${i}_build
+ cmake-utils_src_prepare
+ done
+ fi
+}
+
+src_configure() {
+ CMAKE_USE_DIR="${S}"
+ BUILD_DIR="${S}"_build
+ local mycmakeargs=(
+ -DDISABLE_PYTHON=true
+ -DPACKAGE_MANAGER=true
+ $(cmake-utils_use pcap PCAPDUMP)
+ $(cmake-utils_use pcap USE_PCAP)
+ )
+ cmake-utils_src_configure
+
+ if use wireshark-plugins; then
+ for i in ${plugins}
+ do
+ CMAKE_USE_DIR="${S}"/wireshark/plugins/${i}
+ BUILD_DIR="${WORKDIR}"/${i}_build
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_LIBDIR="/usr/$(get_libdir)/wireshark/plugins/$(get_PV net-analyzer/wireshark)"
+ )
+ cmake-utils_src_configure
+ done
+ fi
+}
+
+src_compile(){
+ CMAKE_USE_DIR="${S}"
+ BUILD_DIR="${S}"_build
+ cmake-utils_src_compile
+
+ if use wireshark-plugins; then
+ for i in ${plugins}
+ do
+ CMAKE_USE_DIR="${S}"/wireshark/plugins/${i}
+ BUILD_DIR="${WORKDIR}"/${i}_build
+ cmake-utils_src_compile
+ done
+ fi
+}
+
+src_test(){
+ CMAKE_USE_DIR="${S}"
+ BUILD_DIR="${S}"_build
+ cmake-utils_src_test
+
+ if use wireshark-plugins; then
+ for i in ${plugins}
+ do
+ CMAKE_USE_DIR="${S}"/wireshark/plugins/${i}
+ BUILD_DIR="${WORKDIR}"/${i}_build
+ cmake-utils_src_test
+ done
+ fi
+}
+
+src_install(){
+ CMAKE_USE_DIR="${S}"
+ BUILD_DIR="${S}"_build
+ cmake-utils_src_install
+
+ if use wireshark-plugins; then
+ for i in ${plugins}
+ do
+ CMAKE_USE_DIR="${S}"/wireshark/plugins/${i}
+ BUILD_DIR="${WORKDIR}"/${i}_build
+ cmake-utils_src_install
+ done
+ fi
+}