void-packages/srcpkgs/supercollider/template

67 lines
2.3 KiB
Bash

# Template file for 'supercollider'
pkgname=supercollider
version=3.10.3
revision=2
wrksrc=SuperCollider-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="Andrea Brancaleoni <abc@pompel.me>"
license="GPL-3.0-or-later"
homepage="https://github.com/supercollider/supercollider"
distfiles="${homepage}/releases/download/Version-${version}/SuperCollider-${version}-Source-linux.tar.bz2"
checksum=e1ffc4720590aa67bdd435cd1345b78cb709fdf5c4cbc948cbb3c5af1637356b
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" qt5-host-tools qt5-devel"
fi
build_options="webengine"
desc_option_webengine="Build Qt5 WebEngine support"
if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
if [ "$XBPS_TARGET_WORDSIZE" = "$XBPS_WORDSIZE" ]; then
build_options_default="webengine"
fi
fi
if [ "$build_option_webengine" ]; then
makedepends+=" qt5-webengine-devel"
else
configure_args+=" -DSC_USE_QTWEBENGINE=OFF"
fi
case "$XBPS_TARGET_MACHINE" in
*-musl) makedepends+=" libglob-devel";;
esac
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
}