void-packages/srcpkgs/supercollider/template

52 lines
2.0 KiB
Bash

# Template file for 'supercollider'
pkgname=supercollider
version=3.10.0
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-webengine-devel qt5-webchannel-devel qt5-websockets-devel yaml-cpp-devel"
short_desc="An 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=9b2035a3a7942c61cbe89b00c35c7e16ac281c06786fe1c30dfd333194be499a
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" qt5-host-tools qt5-devel"
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
}