# Contributor: Jakob Meier <comcloudway@ccw.icu>
# Maintainer: Jakob Meier <comcloudway@ccw.icu>
pkgname=welle-io
pkgver=2.7
pkgrel=0
pkgdesc="A DAB/DAB+ Software Defined Radio (SDR)"
url="https://www.welle.io/"
# armhf blocked by: qt6-qtcharts-dev, qt6-qtdeclarative-dev, qt6-qtmultimedia-dev
arch="all !armhf"
license="GPL-2.0-or-later"
# potentally missing: airspy-dev
makedepends="
	cmake
	faad2-dev
	fftw-dev
	lame-dev
	librtlsdr-dev
	mpg123-dev
	qt6-qtbase-dev
	qt6-qtcharts-dev
	qt6-qtdeclarative-dev
	qt6-qtmultimedia-dev
	qt6-qttools-dev
	samurai
	soapy-sdr-dev
	alsa-lib-dev
	xxd
	"
subpackages="$pkgname-doc welle-cli:cli"
source="
	welle-$pkgver.tar.gz::https://github.com/AlbrechtL/welle.io/archive/refs/tags/v$pkgver.tar.gz
	"
builddir="$srcdir/welle.io-$pkgver"

build() {
	if [ "$CBUILD" != "$CHOST" ]; then
		CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
	fi
	# DCMAKE_EXE_LINKER_FLAGS required,
	# to prevent segfault when trying to interact with device
	cmake -B build -G Ninja \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=True \
		-DCMAKE_BUILD_TYPE=None \
		-DRTLSDR=ON \
		-DSOAPYSDR=ON \
		-DCMAKE_EXE_LINKER_FLAGS=-Wl,-z,stack-size=512000 \
		$CMAKE_CROSSOPTS
	cmake --build build
}

check() {
	cd build
	ctest
}

package() {
	DESTDIR="$pkgdir" cmake --install build
}

cli() {
	pkgdesc="$pkgdesc (cli frontend)"
	amove usr/bin/welle-cli
}

sha512sums="
2ace0a3ff5d509962aa878e97336d00c2cf4a32d327fea656da755919db6d16b55ae21be068109277c271bf47e05bc2f8c6ebc016c05b87f8fc8241ab2d0be68  welle-2.7.tar.gz
"
