diff options
Diffstat (limited to 'net-libs/libbtbb/libbtbb-2017.03.2.ebuild')
-rw-r--r-- | net-libs/libbtbb/libbtbb-2017.03.2.ebuild | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/net-libs/libbtbb/libbtbb-2017.03.2.ebuild b/net-libs/libbtbb/libbtbb-2017.03.2.ebuild new file mode 100644 index 000000000000..b29bdf569323 --- /dev/null +++ b/net-libs/libbtbb/libbtbb-2017.03.2.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 + +inherit multilib cmake-utils python-single-r1 + +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="extras static-libs wireshark-plugins" + +RDEPEND="extras? ( ${PYTHON_DEPS} ) + wireshark-plugins? ( + >=net-analyzer/wireshark-1.8.3-r1:= + ) +" +DEPEND="${RDEPEND} + wireshark-plugins? ( dev-libs/glib + virtual/pkgconfig )" + +REQUIRED_USE="extras? ( ${PYTHON_REQUIRED_USE} )" + +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-2.2.0'; then + plugins="" + elif 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 + if has_version '>=net-analyzer/wireshark-2.0'; then + CMAKE_USE_DIR="${S}"/wireshark/plugins/${i} + else + CMAKE_USE_DIR="${S}"/wireshark/plugins-legacy/${i} + fi + BUILD_DIR="${WORKDIR}"/${i}_build + cmake-utils_src_prepare + done + fi +} + +src_configure() { + CMAKE_USE_DIR="${S}" + BUILD_DIR="${S}"_build + local mycmakeargs=( + -DENABLE_PYTHON=$(usex extras) + -DBUILD_STATIC_LIB=$(usex static-libs) + -DBUILD_ROOT="${ED}" + ) + cmake-utils_src_configure + + if use wireshark-plugins; then + for i in ${plugins} + do + if has_version '>=net-analyzer/wireshark-2.0'; then + CMAKE_USE_DIR="${S}"/wireshark/plugins/${i} + else + CMAKE_USE_DIR="${S}"/wireshark/plugins-legacy/${i} + fi + 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 + if has_version '>=net-analyzer/wireshark-2.0'; then + CMAKE_USE_DIR="${S}"/wireshark/plugins/${i} + else + CMAKE_USE_DIR="${S}"/wireshark/plugins-legacy/${i} + fi + 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 + if has_version '>=net-analyzer/wireshark-2.0'; then + CMAKE_USE_DIR="${S}"/wireshark/plugins/${i} + else + CMAKE_USE_DIR="${S}"/wireshark/plugins-legacy/${i} + fi + 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 + if has_version '>=net-analyzer/wireshark-2.0'; then + CMAKE_USE_DIR="${S}"/wireshark/plugins/${i} + else + CMAKE_USE_DIR="${S}"/wireshark/plugins-legacy/${i} + fi + BUILD_DIR="${WORKDIR}"/${i}_build + cmake-utils_src_install + done + fi +} |