You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-libs/libbtbb/libbtbb-9999.ebuild

157 lines
3.6 KiB

# 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
}