# Contributor: Bart Ribbers <bribbers@disroot.org>
# Contributor: Dominika Liberda <ja@sdomi.pl>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=fluidsynth
pkgver=2.4.1
pkgrel=0
arch="all"
url="https://www.fluidsynth.org/"
pkgdesc="A real-time software synthesizer based on the SoundFont 2 specifications"
license="LGPL-2.1-or-later"
depends="soundfont-timgm"
makedepends="
	alsa-lib-dev
	cmake
	dbus-dev
	doxygen
	glib-dev
	graphviz
	jack-dev
	ladspa-dev
	libsndfile-dev
	pipewire-dev
	portaudio-dev
	pulseaudio-dev
	readline-dev
	samurai
	"
source="https://github.com/fluidsynth/fluidsynth/archive/v$pkgver/fluidsynth-v$pkgver.tar.gz"
subpackages="$pkgname-dev $pkgname-libs $pkgname-doc"

# tests are broken on s390x
case "$CARCH" in
	s390x) options="!check"
esac

build() {
	# need to set gnu_source globally to fix implicit decls
	CFLAGS="$CFLAGS -D_GNU_SOURCE" \
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=RelWithDebInfo \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_MODULE_PATH=/usr/lib/cmake \
		-DLIB_INSTALL_DIR=lib \
		-DFLUID_DAEMON_ENV_FILE=/etc/conf.d/fluidsynth \
		-Denable-ladspa=ON \
		-Denable-portaudio=ON
	cmake --build build
}

check() {
	# ctest can't currently be used https://github.com/FluidSynth/fluidsynth/issues/881

	ninja -C build check
}

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

sha512sums="
d01d18c42ce98d0daa4e137118fc41f0a59047013870c09bacd9014baadf747e8e73571046781e34bc03eef454f2ef12ee59cf9b2c7f9517c586c08041ebe081  fluidsynth-v2.4.1.tar.gz
"
