diff options
author | David Runge | 2018-11-30 19:45:11 +0100 |
---|---|---|
committer | David Runge | 2018-11-30 19:45:11 +0100 |
commit | 4eae3ec07f180e33227f897e6626645edf78983f (patch) | |
tree | 20ab0aee4d786598c41ccf05706a3d779a98d354 | |
parent | 4b3f5097da935bcde3e7a6545da97bd1c14f9062 (diff) | |
download | aur-4eae3ec07f180e33227f897e6626645edf78983f.tar.gz |
PKGBUILD: Adding use-system-boost.patch instead of removing the external_libraries/boost directory. Adding check(), using xvfb-run.
-rw-r--r-- | .SRCINFO | 5 | ||||
-rw-r--r-- | PKGBUILD | 19 | ||||
-rw-r--r-- | use-system-boost.patch | 160 |
3 files changed, 176 insertions, 8 deletions
@@ -1,6 +1,6 @@ pkgbase = supercollider-git pkgdesc = Environment and programming language for real time audio synthesis and algorithmic composition - pkgver = 3.10.0.beta2.r210.g7f8e08a04f + pkgver = 3.10.0.r218.g794a842c86 pkgrel = 1 url = https://supercollider.github.io/ arch = i686 @@ -8,6 +8,7 @@ pkgbase = supercollider-git arch = armv6h arch = armv7h license = GPL3 + checkdepends = xorg-server-xvfb makedepends = boost makedepends = cmake makedepends = emacs @@ -27,12 +28,14 @@ pkgbase = supercollider-git provides = supercollider conflicts = supercollider source = git+https://github.com/supercollider/supercollider.git#branch=develop + source = use-system-boost.patch source = git+https://github.com/timblechmann/nova-simd.git source = git+https://github.com/timblechmann/nova-tt.git source = git+https://github.com/supercollider/hidapi.git source = git+https://github.com/supercollider/portaudio.git source = git+https://github.com/supercollider/yaml-cpp.git sha512sums = SKIP + sha512sums = 0126a81b410c40bcbfaaaf07ecc8ce292b8eaf5d814eb5ad7c36c76e24b1a39d7b5bd607833b6082f92dd5a9aded7d8360b86a77021ead4a1860f548607e80bf sha512sums = SKIP sha512sums = SKIP sha512sums = SKIP @@ -2,7 +2,7 @@ pkgname=supercollider-git _name="supercollider" -pkgver=3.10.0.beta2.r210.g7f8e08a04f +pkgver=3.10.0.r218.g794a842c86 pkgrel=1 pkgdesc="Environment and programming language for real time audio synthesis and algorithmic composition" arch=('i686' 'x86_64' 'armv6h' 'armv7h') @@ -11,18 +11,21 @@ license=('GPL3') depends=('boost-libs' 'desktop-file-utils' 'fftw' 'jack' 'qt5-svg' 'qt5-webengine' 'qt5-websockets' 'yaml-cpp') makedepends=('boost' 'cmake' 'emacs' 'git' 'qt5-tools') +checkdepends=('xorg-server-xvfb') optdepends=('emacs: emacs interface' 'gedit: gedit interface' 'sc3-plugins: additional extension plugins for scsynth') conflicts=('supercollider') provides=('supercollider') source=("git+https://github.com/${_name}/${_name}.git#branch=develop" + "use-system-boost.patch" "git+https://github.com/timblechmann/nova-simd.git" "git+https://github.com/timblechmann/nova-tt.git" "git+https://github.com/${_name}/hidapi.git" "git+https://github.com/${_name}/portaudio.git" "git+https://github.com/${_name}/yaml-cpp.git") sha512sums=('SKIP' + '0126a81b410c40bcbfaaaf07ecc8ce292b8eaf5d814eb5ad7c36c76e24b1a39d7b5bd607833b6082f92dd5a9aded7d8360b86a77021ead4a1860f548607e80bf' 'SKIP' 'SKIP' 'SKIP' @@ -46,11 +49,7 @@ prepare() { git submodule update # make sure system boost is used: # https://github.com/supercollider/supercollider/issues/4096 - rm -r external_libraries/boost - # removing math optimizations, leading to flaky behavior: - # https://github.com/supercollider/supercollider/issues/4116 - sed -e 's/-ffast-math/-fno-math-errno -fno-signaling-nans/' \ - -i CMakeLists.txt + patch -Np1 -i ../use-system-boost.patch mkdir -p build } @@ -112,9 +111,15 @@ build() { .. ;; esac - make + make VERBOSE=1 } +check() { + cd "${_name}/build" + xvfb-run make test ARGS="-V" || warning "Known failing tests: https://github.com/supercollider/supercollider/issues/3555" +} + + package() { cd "${_name}/build" make DESTDIR="${pkgdir}/" install diff --git a/use-system-boost.patch b/use-system-boost.patch new file mode 100644 index 000000000000..f8c48eaee43a --- /dev/null +++ b/use-system-boost.patch @@ -0,0 +1,160 @@ +diff --git c/CMakeLists.txt w/CMakeLists.txt +index 063028774..be3e0aebc 100644 +--- c/CMakeLists.txt ++++ w/CMakeLists.txt +@@ -253,14 +253,15 @@ if (NOT WIN32) + endif() + + if(SYSTEM_BOOST) +- set(Boost_USE_MULTITHREADED ON) +- find_package( Boost 1.50.0 COMPONENTS thread system filesystem program_options regex test_exec_monitor ) +-endif() +- +-if (Boost_FOUND) +- link_directories(${Boost_LIBRARY_DIRS}) +-else() +- message(STATUS "building boost libraries manually") ++ set(Boost_USE_MULTITHREADED ON) ++ find_package( Boost 1.50.0 COMPONENTS thread system filesystem program_options regex test_exec_monitor ) ++ if (Boost_FOUND) ++ link_directories(${Boost_LIBRARY_DIRS}) ++ else() ++ set(SYSTEM_BOOST OFF) ++ set(Boost_USE_MULTITHREADED OFF) ++ message(WARNING "Not using SYSTEM_BOOST because none was found.") ++ endif() + endif() + + if(SYSTEM_YAMLCPP) +diff --git c/editors/sc-ide/CMakeLists.txt w/editors/sc-ide/CMakeLists.txt +index 50059bc2f..ba30f857f 100644 +--- c/editors/sc-ide/CMakeLists.txt ++++ w/editors/sc-ide/CMakeLists.txt +@@ -219,7 +219,6 @@ endif() + 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}) +@@ -299,11 +298,12 @@ target_link_libraries( SuperCollider + oscpack + ) + +-if(Boost_FOUND) ++if(${SYSTEM_BOOST}) + target_link_libraries( SuperCollider ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ) + 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 --git c/external_libraries/CMakeLists.txt w/external_libraries/CMakeLists.txt +index df33dc6f1..b850657eb 100644 +--- c/external_libraries/CMakeLists.txt ++++ w/external_libraries/CMakeLists.txt +@@ -2,7 +2,8 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/nova-simd/vec.hpp) + message(FATAL_ERROR "nova-simd submodule is missing: please run `git submodule init && git submodule update' from the toplevel of your git working tree") + endif() + +-if(NOT Boost_FOUND) # we compile boost ourselves ++if(NOT SYSTEM_BOOST) # we compile boost ourselves ++ message(STATUS "building boost libraries manually") + # boost thread + aux_source_directory(boost/libs/thread/src/ boost_thread_src ) + +@@ -84,10 +85,10 @@ 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 ++ PRIVATE $<IF:$<STREQUAL:${SYSTEM_BOOST},"ON">,${Boost_INCLUDE_DIRS},${CMAKE_SOURCE_DIR}/external_libraries/boost>) + target_include_directories(oscpack INTERFACE oscpack_1_1_0 ) + +- + if(LTO) + set_property(TARGET oscpack tlsf + APPEND PROPERTY COMPILE_FLAGS "-flto -flto-report") +@@ -104,7 +105,11 @@ if(NOT YAMLCPP_FOUND) + 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(SYSTEM_BOOST) ++ 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 --git c/lang/CMakeLists.txt w/lang/CMakeLists.txt +index c68b32fdc..ca4f7a4f1 100644 +--- c/lang/CMakeLists.txt ++++ w/lang/CMakeLists.txt +@@ -202,7 +202,7 @@ if(SC_HIDAPI) + endif() + endif() + +-if (Boost_FOUND) ++if (SYSTEM_BOOST) + target_include_directories(libsclang PUBLIC ${Boost_INCLUDE_DIRS}) + target_link_libraries(libsclang ${Boost_THREAD_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_REGEX_LIBRARY} ${Boost_FILESYSTEM_LIBRARY}) + else() +diff --git c/server/CMakeLists.txt w/server/CMakeLists.txt +index 2622b4e36..ba28c9b49 100644 +--- c/server/CMakeLists.txt ++++ w/server/CMakeLists.txt +@@ -12,7 +12,7 @@ include_directories(${CMAKE_SOURCE_DIR}/external_libraries + ${CMAKE_SOURCE_DIR}/external_libraries/nova-tt + ) + +-if (Boost_FOUND) ++if(SYSTEM_BOOST) + include_directories(${Boost_INCLUDE_DIRS}) + else() + include_directories(${CMAKE_SOURCE_DIR}/external_libraries/boost) +diff --git c/server/scsynth/CMakeLists.txt w/server/scsynth/CMakeLists.txt +index 17c09f262..d95378c54 100644 +--- c/server/scsynth/CMakeLists.txt ++++ w/server/scsynth/CMakeLists.txt +@@ -176,7 +176,7 @@ elseif(AUDIOAPI STREQUAL coreaudio) + target_link_libraries(libscsynth "-framework CoreAudio") + endif() + +-if (Boost_FOUND) ++if (SYSTEM_BOOST) + target_link_libraries(libscsynth ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ) + else() + target_link_libraries(libscsynth boost_system boost_filesystem) +diff --git c/server/supernova/CMakeLists.txt w/server/supernova/CMakeLists.txt +index cfe128880..59e5a444a 100644 +--- c/server/supernova/CMakeLists.txt ++++ w/server/supernova/CMakeLists.txt +@@ -147,7 +147,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux") + endif() + + +-if(Boost_FOUND) ++if(SYSTEM_BOOST) + target_link_libraries(libsupernova ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY}) + target_include_directories(libsupernova PUBLIC ${Boost_INCLUDE_DIRS}) + else() +diff --git c/testsuite/server/CMakeLists.txt w/testsuite/server/CMakeLists.txt +index 38ce4b486..9c611a9ad 100644 +--- c/testsuite/server/CMakeLists.txt ++++ w/testsuite/server/CMakeLists.txt +@@ -5,4 +5,8 @@ if (SUPERNOVA) + endif() + + add_library(boost_test STATIC boost_test.cpp) +-target_include_directories(boost_test PUBLIC ${CMAKE_SOURCE_DIR}/external_libraries/boost) ++if (SYSTEM_BOOST) ++ target_include_directories(boost_test PUBLIC ${Boost_INCLUDE_DIRS}) ++else() ++ target_include_directories(boost_test PUBLIC ${CMAKE_SOURCE_DIR}/external_libraries/boost) ++endif() |