# Template file for 'supercollider'
pkgname=supercollider
version=3.11.1
revision=1
wrksrc="SuperCollider-${version}-Source"
build_style=cmake
configure_args="-DENABLE_TESTSUITE=OFF -DSYSTEM_BOOST=ON -DSYSTEM_YAMLCPP=ON"
hostmakedepends="emacs pkg-config"
makedepends="avahi-libs-devel boost-devel fftw-devel jack-devel libatomic-devel
 libsndfile-devel libXt-devel qt5-declarative-devel qt5-location-devel
 qt5-plugin-mysql qt5-plugin-odbc qt5-plugin-pgsql qt5-plugin-sqlite
 qt5-plugin-tds qt5-sensors-devel qt5-tools-devel qt5-svg-devel
 qt5-webchannel-devel qt5-websockets-devel yaml-cpp-devel"
short_desc="Environment and programming language for real time audio synthesis"
maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-3.0-or-later"
homepage="https://github.com/supercollider/supercollider"
distfiles="https://github.com/supercollider/supercollider/releases/download/Version-${version}/SuperCollider-${version}-Source.tar.bz2"
checksum=2dd2f8179a55de4735ac940e2e2d0df4e68cc3a33172628e4dd99ae89c74856b

if [ "$CROSS_BUILD" ]; then
	hostmakedepends+=" qt5-host-tools qt5-devel"
fi

# Liberation: Removed everything else related to webengine, except this one
# to disable webengine
configure_args+=" -DSC_USE_QTWEBENGINE=OFF"

if [ "$XBPS_TARGET_LIBC" = musl ]; then
	makedepends+=" libglob-devel"
fi

case "$XBPS_TARGET_MACHINE" in
	x86_64*|i686*);;
	*) configure_args+=" -DSSE=OFF -DSSE2=OFF";;
esac

pre_configure() {
	rm -rf external_libraries/boost # https://github.com/supercollider/supercollider/issues/4096
	sed -i 's/yaml/yaml-cpp/g' CMakeLists.txt editors/sc-ide/CMakeLists.txt
	case "$XBPS_TARGET_MACHINE" in
	*-musl)
		sed -i \
		 -e '/include/s,glob\.h,libglob/glob.h,g' \
		 -e 's/glob(/g_glob(/g' \
		 -e 's/globfree(/g_globfree(/g' \
		 common/SC_Filesystem_unix.cpp
		sed -i 's/__va_copy/va_copy/g' common/SC_StringBuffer.cpp
		echo 'target_link_libraries(sclang glob)' >> lang/CMakeLists.txt
		echo 'target_link_libraries(scsynth glob)' >> server/scsynth/CMakeLists.txt
		echo 'target_link_libraries(supernova glob)' >> server/supernova/CMakeLists.txt
		echo 'target_link_libraries(SuperCollider glob)' >> editors/sc-ide/CMakeLists.txt
		;;
	esac
}
