# Template file for 'sonic-visualiser'
pkgname=sonic-visualiser
version=4.0
revision=1
build_style=gnu-configure
hostmakedepends="pkg-config capnproto-devel"
makedepends="capnproto-devel jack-devel libfishsound-devel libid3tag-devel
 liblo-devel liblrdf-devel libmad-devel liboggz-devel libsamplerate-devel
 opusfile-devel portaudio-devel pulseaudio-devel qt5-svg-devel rubberband-devel
 sord-devel vamp-plugin-sdk-devel"
short_desc="Viewing and analysing the contents of music audio files"
maintainer="newbluemoon <blaumolch@mailbox.org>"
license="GPL-2.0-or-later"
homepage="https://www.sonicvisualiser.org/"
changelog="https://code.soundsoftware.ac.uk/projects/sonic-visualiser/repository/entry/CHANGELOG"
distfiles="https://code.soundsoftware.ac.uk/attachments/download/2580/${pkgname}-${version}.tar.gz"
checksum=355ee125e7b837fdbd008352c96e25b0271ff8234981375266a88bcdf0b43965

case "$XBPS_TARGET_MACHINE" in
	armv6*) makedepends+=" libatomic-devel" ;;
esac

if [ "$CROSS_BUILD" ]; then
	hostmakedepends+=" qt5-qmake qt5-svg-devel"
fi

post_extract() {
	if [ "$CROSS_BUILD" ]; then
		# don’t run target-built testing-binaries when cross building
		sed -i -e '/QMAKE_POST_LINK/d' \
		 test-svcore-base.pro \
		 test-svcore-data-fileio.pro \
		 test-svcore-data-model.pro \
		 test-svcore-system.pro

		# It’s a mixed build-style: gnu-configure calls qmake:
		# create the cross-qt.conf file from the qmake build-style
		# and make qmake use it
                cat > "${wrksrc}/qt.conf" <<_EOF
[Paths]
Sysroot=${XBPS_CROSS_BASE}
Prefix=${XBPS_CROSS_BASE}/usr
ArchData=${XBPS_CROSS_BASE}/usr/lib/qt5
Data=${XBPS_CROSS_BASE}/usr/share/qt5
Documentation=${XBPS_CROSS_BASE}/usr/share/doc/qt5
Headers=${XBPS_CROSS_BASE}/usr/include/qt5
Libraries=${XBPS_CROSS_BASE}/usr/lib
LibraryExecutables=/usr/lib/qt5/libexec
Binaries=/usr/lib/qt5/bin
Tests=${XBPS_CROSS_BASE}/usr/tests
Plugins=/usr/lib/qt5/plugins
Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/imports
Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/qml
Translations=${XBPS_CROSS_BASE}/usr/share/qt5/translations
Settings=${XBPS_CROSS_BASE}/etc/xdg
Examples=${XBPS_CROSS_BASE}/usr/share/qt5/examples
HostPrefix=/usr
HostData=/usr/lib/qt5
HostBinaries=/usr/lib/qt5/bin
HostLibraries=/usr/lib
Spec=linux-g++
TargetSpec=linux-g++
_EOF

		sed -i -e "s;\(\$QMAKE -r\) \(sonic-visualiser.pro\);\1 -qtconf ${wrksrc}/qt.conf \2;" \
		 configure
	fi

	case "$XBPS_TARGET_MACHINE" in
		armv6*) sed -i -e "s/^linux\*:LIBS +=.*/& -latomic/" config.pri.in ;;
	esac
}

do_install() {
	vbin sonic-visualiser
	vbin piper-vamp-simple-server
	vbin vamp-plugin-load-checker
	vdoc deploy/linux/doc/sonic-visualiser/copyright
	vdoc README.md
	vdoc README.OSC
	vdoc CITATION
	vinstall icons/sv-icon.svg 644 usr/share/pixmaps
	vinstall icons/sv-icon-light.svg 644 usr/share/pixmaps
	vinstall deploy/linux/deb-skeleton/usr/share/applications/sonic-visualiser.desktop 644 usr/share/applications
}
