# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake DESCRIPTION="SDR Rx/Tx software" HOMEPAGE="https://github.com/f4exb/sdrangel" if [[ ${PV} =~ "9999" ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/f4exb/sdrangel.git" else SRC_URI="https://github.com/f4exb/sdrangel/archive/v${PV}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64" fi LICENSE="GPL-3" SLOT="0" IUSE="airspy bladerf cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 fcd debug doc +gui hackrf limesuite plutosdr rtlsdr server soapy uhd" REQUIRED_USE=" airspy? ( || ( gui server ) ) bladerf? ( || ( gui server ) ) fcd? ( || ( gui server ) ) hackrf? ( || ( gui server ) ) limesuite? ( || ( gui server ) ) plutosdr? ( || ( gui server ) ) rtlsdr? ( || ( gui server ) ) soapy? ( || ( gui server ) ) uhd? ( || ( gui server ) ) " # TODO: perseus, xtrx, mirisdr RDEPEND=" media-libs/opus sci-libs/fftw:3.0= dev-qt/qtbase:6[widgets] dev-qt/qtwebsockets:6 dev-qt/qtmultimedia:6 dev-qt/qtpositioning:6 dev-qt/qt5compat:6 airspy? ( net-wireless/airspy ) bladerf? ( net-wireless/bladerf:= ) fcd? ( dev-libs/hidapi ) hackrf? ( net-libs/libhackrf:= ) plutosdr? ( net-libs/libiio:= ) limesuite? ( net-wireless/limesuite ) rtlsdr? ( net-wireless/rtl-sdr ) soapy? ( net-wireless/soapysdr:= ) uhd? ( net-wireless/uhd:= ) gui? ( dev-qt/qtcharts:6 dev-qt/qtdeclarative:6 dev-qt/qtsvg:6 dev-qt/qtspeech:6 dev-qt/qtlocation:6 dev-qt/qtwebengine:6 dev-qt/qtserialport:6 media-libs/opencv:= dev-libs/cm256cc dev-libs/serialDV >=media-libs/codec2-0.9.1:= media-libs/hamlib:= media-video/ffmpeg:= net-wireless/dsdcc ) server? ( dev-qt/qtserialport:6 media-libs/opencv:= dev-libs/cm256cc dev-libs/serialDV >=media-libs/codec2-0.9.1:= media-libs/hamlib:= media-video/ffmpeg:= net-wireless/dsdcc ) " DEPEND="${RDEPEND} dev-libs/boost doc? ( app-text/doxygen ) " src_prepare() { sed -i '/ARCH_OPT/,+1 d' CMakeLists.txt || die cmake_src_prepare } src_configure() { mycmakeargs=( -DDEBUG_OUTPUT="$(usex debug)" \ -DSANITIZE_ADDRESS=OFF \ -DRX_SAMPLE_24BIT=ON \ -DBUILD_SERVER="$(usex server)" \ -DBUILD_GUI="$(usex gui)" \ -DENABLE_AIRSPY="$(usex airspy)" \ -DENABLE_AIRSPYHF="$(usex airspy)" \ -DENABLE_BLADERF="$(usex bladerf)" \ -DWITH_DOC="$(usex doc)" \ -DENABLE_FUNCUBE="$(usex fcd)" \ -DENABLE_HACKRF="$(usex hackrf)" \ -DENABLE_IIO="$(usex plutosdr)" \ -DENABLE_LIMESUITE="$(usex limesuite)" \ -DENABLE_MIRISDR=OFF \ -DENABLE_PERSEUS=OFF \ -DENABLE_QT6=ON \ -DENABLE_RTLSDR="$(usex rtlsdr)" \ -DENABLE_SOAPYSDR="$(usex soapy)" \ -DENABLE_USRP="$(usex uhd)" \ -DENABLE_XTRX=OFF ) cmake_src_configure sed -i 's#-isystem /usr/include/qt6/QtSvg#-isystem /usr/include/qt6/QtSvg -isystem /usr/include/qt6/QtSvgWidgets#g' \ "${BUILD_DIR}"/build.ninja || die }