summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Runge2018-11-30 19:45:11 +0100
committerDavid Runge2018-11-30 19:45:11 +0100
commit4eae3ec07f180e33227f897e6626645edf78983f (patch)
tree20ab0aee4d786598c41ccf05706a3d779a98d354
parent4b3f5097da935bcde3e7a6545da97bd1c14f9062 (diff)
downloadaur-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--.SRCINFO5
-rw-r--r--PKGBUILD19
-rw-r--r--use-system-boost.patch160
3 files changed, 176 insertions, 8 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 85e46343ce0a..446fac982bc5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index c15efb1221c8..8bbb5524f93f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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()