diff --git a/community/supercollider/PKGBUILD b/community/supercollider/PKGBUILD index 291ed9d6e..aa421dccc 100644 --- a/community/supercollider/PKGBUILD +++ b/community/supercollider/PKGBUILD @@ -7,55 +7,62 @@ _name=SuperCollider pkgname=supercollider -pkgver=3.9.3 -pkgrel=5 +pkgver=3.10.0 +pkgrel=1 pkgdesc="Environment and programming language for real time audio synthesis and algorithmic composition" arch=('x86_64') url="https://supercollider.github.io" license=('GPL3') groups=('pro-audio') -depends=('boost-libs' 'desktop-file-utils' 'fftw' 'jack' 'qt5-webkit' 'yaml-cpp') +depends=('boost-libs' 'desktop-file-utils' 'fftw' 'jack' 'qt5-svg' 'qt5-webengine' 'qt5-webkit' 'qt5-websockets' 'yaml-cpp') makedepends=('boost' 'cmake' 'emacs' 'qt5-tools') optdepends=('emacs: emacs interface' 'gedit: gedit interface' 'sc3-plugins: additional extension plugins for scsynth') source=("https://github.com/${pkgname}/${pkgname}/releases/download/Version-${pkgver}/${_name}-${pkgver}-Source-linux.tar.bz2" - 'boost-1.67.patch') + 'boost-1.67.patch' + 'use-system-boost.patch' +) install="${pkgname}.install" -sha512sums=('5b0c29941907d5ca45c1676e34184664c03891051bba0ee50d9e8311400824054de7b6daba6d29fd875ff38f42ee9654504ea2f0b5bf0a36ae9605e6a79a0841' - '9980d77802f18fd56d2a13f24f070e81768d9111b2cc63e479a0e9b405a04aec28bc523e5d36aab0462af6a3831d64598470cdc6c3266431e2ca64aa427a6bf2') +sha512sums=('5670f0264329f0e90ed9c1b5bf63853fd67cd83ad48e2d96979ca548ed42265105d766e7fbb51839cb7b917a687929080e7c42f1c0baf3eb36a5365dee4b12bb' + '9980d77802f18fd56d2a13f24f070e81768d9111b2cc63e479a0e9b405a04aec28bc523e5d36aab0462af6a3831d64598470cdc6c3266431e2ca64aa427a6bf2' + '5e42f64e5e08ca9e03870e662b6694a0c41f4ab2e6522c8d2aade617a68b4455dc1932a18de18176a9ed9fc89e36f1f1ec76d3e3ff8322d0d1e8ae6fb85cbce9') prepare() { mv -v "${_name}-Source" "${pkgname}-${pkgver}" cd "${pkgname}-${pkgver}" + # supernova build: + # https://github.com/supercollider/supercollider/issues/3981 patch -Np1 -i ../boost-1.67.patch - # make sure the system boost headers are used + # make sure system boost is used # https://github.com/supercollider/supercollider/issues/4096 - rm -r external_libraries/boost - # fixing fundamental mathmatical problems: - # https://github.com/supercollider/supercollider/issues/4116 - sed -e 's/-ffast-math/-fno-math-errno -fno-signaling-nans/' \ - -i CMakeLists.txt - # requires out-of-tree build - mkdir -v bld + patch -Np1 -i ../use-system-boost.patch + mkdir -v build } build() { - cd "${pkgname}-${pkgver}/bld" + cd "${pkgname}-${pkgver}/build" cmake .. -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DLIBSCSYNTH=ON \ -DFORTIFY=ON \ - -DSYSTEM_BOOST=ON \ -DSYSTEM_YAMLCPP=ON \ + -DSYSTEM_BOOST=ON \ -DSC_VIM=OFF \ -DSSE=OFF -DSSE2=OFF -DSUPERNOVA=OFF -DNOVA_SIMD=ON -DNATIVE=OFF \ -DCMAKE_C_FLAGS="${CFLAGS}" - make + make VERBOSE=1 } +## too many tests dependent on X11: +## https://github.com/supercollider/supercollider/issues/3555 +#check() { +# cd "${pkgname}-${pkgver}/build" +# make test ARGS="-V" +#} + package() { - cd "${pkgname}-${pkgver}/bld" + cd "${pkgname}-${pkgver}/build" make DESTDIR="${pkgdir}" install install -t "${pkgdir}/usr/share/doc/${pkgname}/" \ -vDm 644 ../{AUTHORS,{CHANGELOG,README,README_LINUX}.md} diff --git a/community/supercollider/use-system-boost.patch b/community/supercollider/use-system-boost.patch new file mode 100644 index 000000000..0c69eb438 --- /dev/null +++ b/community/supercollider/use-system-boost.patch @@ -0,0 +1,75 @@ +diff -ruN a/editors/sc-ide/CMakeLists.txt b/editors/sc-ide/CMakeLists.txt +--- a/editors/sc-ide/CMakeLists.txt 2018-09-25 01:20:49.000000000 +0200 ++++ b/editors/sc-ide/CMakeLists.txt 2018-11-28 15:53:19.827910183 +0100 +@@ -219,7 +219,6 @@ + include_directories(${CMAKE_SOURCE_DIR}/include/common) + include_directories(${CMAKE_SOURCE_DIR}/common) + include_directories(${CMAKE_SOURCE_DIR}/include/plugin_interface) +-include_directories(${CMAKE_SOURCE_DIR}/external_libraries/boost) + include_directories(${YAMLCPP_INCLUDE_DIR}) + # For QtCollider headers: + include_directories(${CMAKE_SOURCE_DIR}) +@@ -304,6 +303,7 @@ + else() + # in-house-built boost system + target_link_libraries( SuperCollider boost_system boost_filesystem ) ++ include_directories(${CMAKE_SOURCE_DIR}/external_libraries/boost) + endif() + + if(APPLE) +diff -ruN a/external_libraries/CMakeLists.txt b/external_libraries/CMakeLists.txt +--- a/external_libraries/CMakeLists.txt 2018-08-28 03:12:47.000000000 +0200 ++++ b/external_libraries/CMakeLists.txt 2018-11-28 17:39:57.981205691 +0100 +@@ -74,6 +74,14 @@ + PROPERTY FOLDER 3rdparty + ) + ++ #oscpack ++ add_library(oscpack STATIC EXCLUDE_FROM_ALL "oscpack_build.cpp") ++ target_include_directories(oscpack PRIVATE boost) ++ target_include_directories(oscpack INTERFACE oscpack_1_1_0 ) ++else() ++ #oscpack ++ add_library(oscpack STATIC EXCLUDE_FROM_ALL "oscpack_build.cpp") ++ target_include_directories(oscpack INTERFACE oscpack_1_1_0 ) + endif() + + # tlsf +@@ -82,11 +90,6 @@ + target_include_directories( tlsf INTERFACE TLSF-2.4.6/src ) + set_property(TARGET tlsf PROPERTY POSITION_INDEPENDENT_CODE TRUE) + +-#oscpack +-add_library(oscpack STATIC EXCLUDE_FROM_ALL "oscpack_build.cpp") +-target_include_directories(oscpack PRIVATE boost) +-target_include_directories(oscpack INTERFACE oscpack_1_1_0 ) +- + + if(LTO) + set_property(TARGET oscpack tlsf +@@ -104,7 +107,11 @@ + CREATE_FINAL_FILE(${CMAKE_CURRENT_BINARY_DIR}/libyamlcpp.cpp ${yaml_src}) + + add_library(yaml STATIC EXCLUDE_FROM_ALL ${CMAKE_CURRENT_BINARY_DIR}/libyamlcpp.cpp) +- target_include_directories(yaml PUBLIC ${CMAKE_SOURCE_DIR}/external_libraries/yaml-cpp/include boost) ++ if(Boost_FOUND) ++ target_include_directories(yaml PUBLIC ${Boost_INCLUDE_DIRS}) ++ else() ++ target_include_directories(yaml PUBLIC ${CMAKE_SOURCE_DIR}/external_libraries/yaml-cpp/include boost) ++ endif() + set_property( TARGET yaml PROPERTY FOLDER 3rdparty ) + set(YAMLCPP_LIBRARY yaml) + set(YAMLCPP_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/external_libraries/yaml-cpp/include) +diff -ruN a/testsuite/server/CMakeLists.txt b/testsuite/server/CMakeLists.txt +--- a/testsuite/server/CMakeLists.txt 2018-08-28 03:12:47.000000000 +0200 ++++ b/testsuite/server/CMakeLists.txt 2018-11-28 16:24:08.449255929 +0100 +@@ -5,4 +5,8 @@ + endif() + + add_library(boost_test STATIC boost_test.cpp) +-target_include_directories(boost_test PUBLIC ${CMAKE_SOURCE_DIR}/external_libraries/boost) ++if (Boost_FOUND) ++ target_include_directories(boost_test PUBLIC ${Boost_INCLUDE_DIRS}) ++else() ++ target_include_directories(boost_test PUBLIC ${CMAKE_SOURCE_DIR}/external_libraries/boost) ++endif()