|
|
|
# Copyright 1999-2020 Gentoo Authors
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=6
|
|
|
|
#not sure why, but eapi 7 fails
|
|
|
|
|
|
|
|
PYTHON_COMPAT=( python3_{7,8} )
|
|
|
|
|
|
|
|
inherit eapi7-ver python-single-r1 gnome2-utils cmake-utils multilib
|
|
|
|
|
|
|
|
DESCRIPTION="Universal Software Radio Peripheral (USRP) Hardware Driver"
|
|
|
|
HOMEPAGE="https://kb.ettus.com"
|
|
|
|
|
|
|
|
SRC_URI="https://github.com/EttusResearch/uhd/archive/v${PV}.tar.gz -> EttusResearch-UHD-${PV}.tar.gz \
|
|
|
|
https://github.com/EttusResearch/uhd/releases/download/v${PV}/uhd-images_${PV}.tar.xz"
|
|
|
|
#https://github.com/EttusResearch/UHD-Mirror/tags
|
|
|
|
#http://files.ettus.com/binaries/images/
|
|
|
|
|
|
|
|
LICENSE="GPL-3"
|
|
|
|
SLOT="0/$(ver_cut 1-3)"
|
|
|
|
KEYWORDS="~amd64 ~arm ~x86"
|
|
|
|
IUSE="+b100 +b200 doc e300 examples +mpmd octoclock +n230 test +usb +usrp1 +usrp2 +utils +x300"
|
|
|
|
RESTRICT="!test? ( test )"
|
|
|
|
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
|
|
|
b100? ( usb )
|
|
|
|
b200? ( usb )
|
|
|
|
usrp1? ( usb )
|
|
|
|
usrp2? ( usb )
|
|
|
|
|| ( b100 b200 e300 mpmd n230 usrp1 usrp2 x300 )"
|
|
|
|
|
|
|
|
RDEPEND="${PYTHON_DEPS}
|
|
|
|
e300? ( virtual/udev )
|
|
|
|
usb? ( virtual/libusb:1 )
|
|
|
|
dev-libs/boost:=
|
|
|
|
sys-libs/ncurses:0[tinfo]
|
|
|
|
$(python_gen_cond_dep '
|
|
|
|
|| (
|
|
|
|
dev-python/numpy-python2[${PYTHON_MULTI_USEDEP}]
|
|
|
|
dev-python/numpy[${PYTHON_MULTI_USEDEP}]
|
|
|
|
)
|
|
|
|
dev-python/requests[${PYTHON_MULTI_USEDEP}]
|
|
|
|
')
|
|
|
|
"
|
|
|
|
|
|
|
|
DEPEND="${RDEPEND}
|
|
|
|
doc? ( app-doc/doxygen )
|
|
|
|
$(python_gen_cond_dep '
|
|
|
|
dev-python/mako[${PYTHON_MULTI_USEDEP}]
|
|
|
|
')
|
|
|
|
app-arch/unzip
|
|
|
|
app-arch/gzip
|
|
|
|
"
|
|
|
|
|
|
|
|
PATCHES=( "${FILESDIR}/${PN}-4.0.0.0-tinfo.patch" )
|
|
|
|
|
|
|
|
S="${WORKDIR}/${P}/host"
|
|
|
|
|
|
|
|
src_unpack() {
|
|
|
|
default
|
|
|
|
mv "uhd-images_${PV}" images || die
|
|
|
|
}
|
|
|
|
|
|
|
|
src_prepare() {
|
|
|
|
cmake-utils_src_prepare
|
|
|
|
|
|
|
|
gnome2_environment_reset #534582
|
|
|
|
|
|
|
|
#rpath is set for apple and no one else, just remove the conditional
|
|
|
|
sed -i -e '/if(APPLE)/d' -e '/endif(APPLE)/d' CMakeLists.txt || die
|
|
|
|
}
|
|
|
|
|
|
|
|
src_configure() {
|
|
|
|
mycmakeargs=(
|
|
|
|
-DENABLE_LIBUHD=ON
|
|
|
|
-DENABLE_C_API=ON
|
|
|
|
-DENABLE_LIBERIO=OFF
|
|
|
|
-DENABLE_MAN_PAGES=ON
|
|
|
|
-DENABLE_MAN_PAGE_COMPRESSION=OFF
|
|
|
|
-DENABLE_EXAMPLES="$(usex examples)"
|
|
|
|
-DENABLE_TESTS="$(usex test)"
|
|
|
|
-DENABLE_USB="$(usex usb)"
|
|
|
|
-DENABLE_UTILS="$(usex utils)"
|
|
|
|
-DENABLE_MANUAL="$(usex doc)"
|
|
|
|
-DENABLE_DOXYGEN="$(usex doc)"
|
|
|
|
-DENABLE_B100="$(usex b100)"
|
|
|
|
-DENABLE_B200="$(usex b200)"
|
|
|
|
-DENABLE_E300="$(usex e300)"
|
|
|
|
-DENABLE_USRP1="$(usex usrp1)"
|
|
|
|
-DENABLE_USRP2="$(usex usrp2)"
|
|
|
|
-DENABLE_X300="$(usex x300)"
|
|
|
|
-DENABLE_N230="$(usex n230)"
|
|
|
|
-DENABLE_MPMD="$(usex mpmd)"
|
|
|
|
-DENABLE_OCTOCLOCK="$(usex octoclock)"
|
|
|
|
-DPYTHON_EXECUTABLE="${PYTHON}"
|
|
|
|
-DPKG_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
|
|
|
|
)
|
|
|
|
cmake-utils_src_configure
|
|
|
|
}
|
|
|
|
src_install() {
|
|
|
|
cmake-utils_src_install
|
|
|
|
python_optimize
|
|
|
|
use utils && python_fix_shebang "${ED}"/usr/$(get_libdir)/${PN}/utils/
|
|
|
|
if [ "${PV}" != "9999" ]; then
|
|
|
|
rm -rf "${ED}/usr/bin/uhd_images_downloader"
|
|
|
|
rm -rf "${ED}/usr/share/man/man1/uhd_images_downloader.1"
|
|
|
|
fi
|
|
|
|
|
|
|
|
insinto /lib/udev/rules.d/
|
|
|
|
doins "${S}/utils/uhd-usrp.rules"
|
|
|
|
|
|
|
|
rm -rf "${WORKDIR}/images/winusb_driver"
|
|
|
|
if ! use b100; then
|
|
|
|
rm "${WORKDIR}"/images/usrp_b100* || die
|
|
|
|
fi
|
|
|
|
if ! use b200; then
|
|
|
|
rm "${WORKDIR}"/images/usrp_b2[01]* || die
|
|
|
|
fi
|
|
|
|
if ! use e300; then
|
|
|
|
rm "${WORKDIR}"/images/usrp_e3* || die
|
|
|
|
fi
|
|
|
|
if ! use mpmd; then
|
|
|
|
rm "${WORKDIR}"/images/usrp_n310* || die
|
|
|
|
fi
|
|
|
|
if ! use n230; then
|
|
|
|
rm "${WORKDIR}"/images/usrp_n230* || die
|
|
|
|
fi
|
|
|
|
if ! use octoclock; then
|
|
|
|
rm "${WORKDIR}"/images/octoclock* || die
|
|
|
|
fi
|
|
|
|
if ! use usrp1; then
|
|
|
|
rm "${WORKDIR}"/images/usrp1* || die
|
|
|
|
fi
|
|
|
|
if ! use usrp2; then
|
|
|
|
rm "${WORKDIR}"/images/usrp2* || die
|
|
|
|
rm "${WORKDIR}"/images/usrp_n2[01]* || die
|
|
|
|
rm -r "${WORKDIR}"/images/bit || die
|
|
|
|
fi
|
|
|
|
if ! use x300; then
|
|
|
|
rm "${WORKDIR}/"images/usrp_x3* || die
|
|
|
|
fi
|
|
|
|
insinto /usr/share/${PN}
|
|
|
|
doins -r "${WORKDIR}/images"
|
|
|
|
}
|
|
|
|
|
|
|
|
src_test() {
|
|
|
|
#we can disable the python tests
|
|
|
|
#ctest -E 'py*'
|
|
|
|
PYTHON_PATH=python/ cmake-utils_src_test
|
|
|
|
}
|