maintainer="fossdd <fossdd@pwned.life>"
pkgname=mixxx
pkgver=2.5.1
pkgrel=2
pkgdesc="DJ mixing software"
url="https://www.mixxx.org/"
# armhf: qt6-qtdeclarative
# TODO: aarch64, armv7: fails to build
arch="all !armhf !aarch64 !armv7"
license="GPL-2.0-or-later"
depends="qt5-qtbase-sqlite"
# eudev is used to determine the right location to install a udev file by the build system
makedepends="
	benchmark-dev
	chromaprint-dev
	cmake
	eudev-dev
	ffmpeg-dev
	fftw-dev
	flac-dev
	glu-dev
	gtest-dev
	hidapi-dev
	lame-dev
	libdjinterop-dev
	libebur128-dev
	libid3tag-dev
	libkeyfinder-dev
	libmad-dev
	libmodplug-dev
	libshout-dev
	libsndfile-dev
	libusb-dev
	libvorbis-dev
	lilv-dev
	msgsl
	opusfile-dev
	portaudio-dev
	portmidi-dev<=200
	protobuf-dev
	qt6-qt5compat-dev
	qt6-qtbase-dev
	qt6-qtdeclarative-dev
	qt6-qtdeclarative-private-dev
	qt6-qtsvg-dev
	qt6-qttools-dev
	qtkeychain-dev
	rubberband-dev
	samurai
	soundtouch-dev
	sqlite-dev
	taglib-dev
	upower-dev
	wavpack-dev
	"
checkdepends="xvfb-run"
subpackages="$pkgname-doc"
source="https://github.com/mixxxdj/mixxx/archive/$pkgver/mixxx-$pkgver.tar.gz
	disable-external-libdjinterop.patch
	"
install="$pkgname.post-install $pkgname.post-upgrade"
options="!check" # no tests

build() {
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib
	cmake --build build
}

check() {
	xvfb-run -a ctest
}

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

sha512sums="
14ca19b58e5f3bb2502a3a79125c2e4f149d002ff6e89bd3bad61a6bb268cfcecaaf1ee31eac3eb39bfdcdf77bae38ea6ef0ad3cdb8df9bfb842070b642b3ffc  mixxx-2.5.1.tar.gz
e8a879b127163091b843f1321559285b67778cdccb3fc9f463ecb23bb1f053cd74d9dd6b798442985db64fa926d0ed11825177b21af04921bc46994d48b17376  disable-external-libdjinterop.patch
"
