Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/supercollider/files/, media-sound/supercollider/
Date: Fri, 28 Jun 2019 01:18:03
Message-Id: 1561684049.44335924b908ee0308ee5c727bd9b8f0e1d7fb46.asturm@gentoo
1 commit: 44335924b908ee0308ee5c727bd9b8f0e1d7fb46
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jun 28 00:32:33 2019 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Fri Jun 28 01:07:29 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44335924
7
8 media-sound/supercollider: 3.10.2 version bump
9
10 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
11
12 media-sound/supercollider/Manifest | 1 +
13 .../files/supercollider-3.10.2-boost-1.67.patch | 27 ++
14 .../files/supercollider-3.10.2-system-boost.patch | 359 +++++++++++++++++++++
15 .../supercollider/supercollider-3.10.2.ebuild | 124 +++++++
16 4 files changed, 511 insertions(+)
17
18 diff --git a/media-sound/supercollider/Manifest b/media-sound/supercollider/Manifest
19 index 07d2fabe1f8..230929c5b12 100644
20 --- a/media-sound/supercollider/Manifest
21 +++ b/media-sound/supercollider/Manifest
22 @@ -1 +1,2 @@
23 +DIST SuperCollider-3.10.2-Source-linux.tar.bz2 11366481 BLAKE2B d01324ed65f7e8977c138709471e7b9000b1d05ce4c1c0ff83c9ca0ae6e3948b4933320c382b64ecd2aebc65597c963c9348dda09a8c2ec7bc2ea5a14473fe44 SHA512 f7d136cb03e32dfd0b72e36047deaa24d5edfac0f7e9eeaac35f8e991cd52b00db0701478e0daefb24bfbbc55b5cf240e3f3429fd46caa8d76daa21c7aebaf46
24 DIST SuperCollider-3.9.3-Source-linux.tar.bz2 11060240 BLAKE2B 5da51bece13d2a3e4ca1ff6b79637122a46c1f590aa7e4ebf52d7a663506c6f4bae4f3d618bb7f947c73828402f329be68e435a4de2ecc092c312cb2c993742c SHA512 5b0c29941907d5ca45c1676e34184664c03891051bba0ee50d9e8311400824054de7b6daba6d29fd875ff38f42ee9654504ea2f0b5bf0a36ae9605e6a79a0841
25
26 diff --git a/media-sound/supercollider/files/supercollider-3.10.2-boost-1.67.patch b/media-sound/supercollider/files/supercollider-3.10.2-boost-1.67.patch
27 new file mode 100644
28 index 00000000000..dd51d0b85d8
29 --- /dev/null
30 +++ b/media-sound/supercollider/files/supercollider-3.10.2-boost-1.67.patch
31 @@ -0,0 +1,27 @@
32 +From de567f9104af2b7b86d0de2f25eeb091a95e8579 Mon Sep 17 00:00:00 2001
33 +From: Tristan de Cacqueray <tristanC@×××××××.eu>
34 +Date: Sun, 9 Jun 2019 02:16:49 +0000
35 +Subject: [PATCH] Fix compilation with boost-1.67
36 +
37 +When using a system boost version >1.67, the compilation fails because of:
38 +server/supernova/./utilities/time_tag.hpp: In member function 'boost::posix_time::ptime nova::time_tag::to_ptime() const':
39 +supernova/./utilities/time_tag.hpp:232:102: error: no matching function for call to 'boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000000>::subsecond_duration(double)'
40 + 232 | time_duration offset = seconds(get_secs() - ntp_offset) + microseconds(get_nanoseconds()/1000);
41 +---
42 + server/supernova/utilities/time_tag.hpp | 3 ++-
43 + 1 file changed, 2 insertions(+), 1 deletion(-)
44 +
45 +diff --git a/server/supernova/utilities/time_tag.hpp b/server/supernova/utilities/time_tag.hpp
46 +index 0f49955fd3..c1bb0e73cb 100644
47 +--- a/server/supernova/utilities/time_tag.hpp
48 ++++ b/server/supernova/utilities/time_tag.hpp
49 +@@ -179,7 +179,8 @@ class time_tag {
50 + #ifdef BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG
51 + time_duration offset = seconds(get_secs() - ntp_offset) + nanoseconds(get_nanoseconds());
52 + #else
53 +- time_duration offset = seconds(get_secs() - ntp_offset) + microseconds(get_nanoseconds()/1000);
54 ++ time_duration offset =
55 ++ seconds(get_secs() - ntp_offset) + microseconds(static_cast<long>(get_nanoseconds() / 1000));
56 + #endif
57 + return ptime(base, offset);
58 + }
59
60 diff --git a/media-sound/supercollider/files/supercollider-3.10.2-system-boost.patch b/media-sound/supercollider/files/supercollider-3.10.2-system-boost.patch
61 new file mode 100644
62 index 00000000000..93c8c4fc2ab
63 --- /dev/null
64 +++ b/media-sound/supercollider/files/supercollider-3.10.2-system-boost.patch
65 @@ -0,0 +1,359 @@
66 +diff --git c/CMakeLists.txt w/CMakeLists.txt
67 +index 063028774..a6b76f49b 100644
68 +--- c/CMakeLists.txt
69 ++++ w/CMakeLists.txt
70 +@@ -253,20 +253,43 @@ if (NOT WIN32)
71 + endif()
72 +
73 + if(SYSTEM_BOOST)
74 +- set(Boost_USE_MULTITHREADED ON)
75 +- find_package( Boost 1.50.0 COMPONENTS thread system filesystem program_options regex test_exec_monitor )
76 +-endif()
77 +-
78 +-if (Boost_FOUND)
79 +- link_directories(${Boost_LIBRARY_DIRS})
80 ++ set(Boost_USE_MULTITHREADED ON)
81 ++ find_package( Boost 1.50.0 COMPONENTS thread system filesystem program_options regex test_exec_monitor )
82 ++ if (Boost_FOUND)
83 ++ # we're specifically setting up the boost libraries here, so we can
84 ++ # name them
85 ++ add_library(boost_thread_lib SHARED IMPORTED)
86 ++ set_property(TARGET boost_thread_lib PROPERTY IMPORTED_LOCATION
87 ++ ${Boost_THREAD_LIBRARY})
88 ++ add_library(boost_system_lib SHARED IMPORTED)
89 ++ set_property(TARGET boost_system_lib PROPERTY IMPORTED_LOCATION
90 ++ ${Boost_SYSTEM_LIBRARY})
91 ++ add_library(boost_filesystem_lib SHARED IMPORTED)
92 ++ set_property(TARGET boost_filesystem_lib PROPERTY IMPORTED_LOCATION
93 ++ ${Boost_FILESYSTEM_LIBRARY})
94 ++ add_library(boost_program_options_lib SHARED IMPORTED)
95 ++ set_property(TARGET boost_program_options_lib PROPERTY
96 ++ IMPORTED_LOCATION ${Boost_PROGRAM_OPTIONS_LIBRARY})
97 ++ add_library(boost_regex_lib SHARED IMPORTED)
98 ++ set_property(TARGET boost_regex_lib PROPERTY IMPORTED_LOCATION
99 ++ ${Boost_REGEX_LIBRARY})
100 ++ add_library(boost_test_exec_monitor_lib SHARED IMPORTED)
101 ++ set_property(TARGET boost_test_exec_monitor_lib PROPERTY
102 ++ IMPORTED_LOCATION ${Boost_TEST_EXEC_MONITOR_LIBRARY})
103 ++ set(boost_include_dirs ${Boost_INCLUDE_DIRS})
104 ++ else()
105 ++ set(SYSTEM_BOOST OFF)
106 ++ set(boost_include_dirs ${CMAKE_SOURCE_DIR}/external_libraries/boost)
107 ++ message(WARNING "Not using system boost because none was found.")
108 ++ endif()
109 + else()
110 +- message(STATUS "building boost libraries manually")
111 ++ set(boost_include_dirs ${CMAKE_SOURCE_DIR}/external_libraries/boost)
112 + endif()
113 +
114 + if(SYSTEM_YAMLCPP)
115 + find_package(YamlCpp)
116 + else()
117 +- set(YAMLCPP_FOUND OFF)
118 ++ set(SYSTEM_YAMLCPP OFF)
119 + endif()
120 +
121 + #############################################
122 +diff --git c/editors/sc-ide/CMakeLists.txt w/editors/sc-ide/CMakeLists.txt
123 +index 50059bc2f..8e48194fc 100644
124 +--- c/editors/sc-ide/CMakeLists.txt
125 ++++ w/editors/sc-ide/CMakeLists.txt
126 +@@ -219,7 +219,6 @@ endif()
127 + include_directories(${CMAKE_SOURCE_DIR}/include/common)
128 + include_directories(${CMAKE_SOURCE_DIR}/common)
129 + include_directories(${CMAKE_SOURCE_DIR}/include/plugin_interface)
130 +-include_directories(${CMAKE_SOURCE_DIR}/external_libraries/boost)
131 + include_directories(${YAMLCPP_INCLUDE_DIR})
132 + # For QtCollider headers:
133 + include_directories(${CMAKE_SOURCE_DIR})
134 +@@ -299,12 +298,8 @@ target_link_libraries( SuperCollider
135 + oscpack
136 + )
137 +
138 +-if(Boost_FOUND)
139 +- target_link_libraries( SuperCollider ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} )
140 +-else()
141 +- # in-house-built boost system
142 +- target_link_libraries( SuperCollider boost_system boost_filesystem )
143 +-endif()
144 ++target_link_libraries( SuperCollider boost_system_lib boost_filesystem_lib)
145 ++include_directories(${boost_include_dirs})
146 +
147 + if(APPLE)
148 + target_link_libraries( ${ide_name} "-framework CoreServices -framework Foundation")
149 +diff --git c/external_libraries/CMakeLists.txt w/external_libraries/CMakeLists.txt
150 +index df33dc6f1..896ce6206 100644
151 +--- c/external_libraries/CMakeLists.txt
152 ++++ w/external_libraries/CMakeLists.txt
153 +@@ -2,7 +2,8 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/nova-simd/vec.hpp)
154 + message(FATAL_ERROR "nova-simd submodule is missing: please run `git submodule init && git submodule update' from the toplevel of your git working tree")
155 + endif()
156 +
157 +-if(NOT Boost_FOUND) # we compile boost ourselves
158 ++if(NOT SYSTEM_BOOST) # we compile boost ourselves
159 ++ message(STATUS "Using bundled boost")
160 + # boost thread
161 + aux_source_directory(boost/libs/thread/src/ boost_thread_src )
162 +
163 +@@ -14,66 +15,65 @@ if(NOT Boost_FOUND) # we compile boost ourselves
164 + message(SEND_ERROR "we need to implement boost_thread")
165 + endif()
166 +
167 +- aux_source_directory(boost/libs/system/src/ boost_system )
168 +- add_library(boost_system STATIC EXCLUDE_FROM_ALL ${boost_system})
169 +- target_include_directories(boost_system PUBLIC boost)
170 ++ aux_source_directory(boost/libs/system/src/ boost_system_src )
171 ++ add_library(boost_system_lib STATIC EXCLUDE_FROM_ALL ${boost_system_src})
172 ++ target_include_directories(boost_system_lib PUBLIC boost)
173 +
174 +- aux_source_directory(boost/libs/program_options/src/ boost_program_options )
175 +- add_library(boost_program_options STATIC EXCLUDE_FROM_ALL ${boost_program_options})
176 +- target_include_directories(boost_program_options PUBLIC boost)
177 ++ aux_source_directory(boost/libs/program_options/src/ boost_program_options_src )
178 ++ add_library(boost_program_options_lib STATIC EXCLUDE_FROM_ALL ${boost_program_options_src})
179 ++ target_include_directories(boost_program_options_lib PUBLIC boost)
180 +
181 + aux_source_directory(boost/libs/filesystem/src boost_filesystem_src)
182 +- add_library(boost_filesystem STATIC EXCLUDE_FROM_ALL ${boost_filesystem_src})
183 +- target_include_directories(boost_filesystem PUBLIC boost)
184 ++ add_library(boost_filesystem_lib STATIC EXCLUDE_FROM_ALL ${boost_filesystem_src})
185 ++ target_include_directories(boost_filesystem_lib PUBLIC boost)
186 +
187 + aux_source_directory(boost/libs/regex/src boost_regex_src)
188 +- add_library(boost_regex STATIC EXCLUDE_FROM_ALL ${boost_regex_src})
189 +- target_include_directories(boost_regex PUBLIC boost)
190 ++ add_library(boost_regex_lib STATIC EXCLUDE_FROM_ALL ${boost_regex_src})
191 ++ target_include_directories(boost_regex_lib PUBLIC boost)
192 +
193 + if(LTO)
194 +- set_property(TARGET boost_program_options boost_system boost_filesystem
195 ++ set_property(TARGET boost_program_options_lib boost_system_lib boost_filesystem_lib
196 + APPEND PROPERTY COMPILE_FLAGS "-flto -flto-report")
197 +
198 +- set_property(TARGET boost_program_options boost_system boost_filesystem
199 ++ set_property(TARGET boost_program_options_lib boost_system_lib boost_filesystem_lib
200 + APPEND PROPERTY LINK_FLAGS "-flto -flto-report")
201 + endif()
202 +
203 +- add_library(boost_thread STATIC EXCLUDE_FROM_ALL ${boost_thread_src} ${boost_thread_platform})
204 +- target_link_libraries(boost_thread boost_system)
205 ++ add_library(boost_thread_lib STATIC EXCLUDE_FROM_ALL ${boost_thread_src} ${boost_thread_platform})
206 ++ target_link_libraries(boost_thread_lib boost_system_lib)
207 + # target_compile_definitions(boost_thread PUBLIC BOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS)
208 +- target_include_directories(boost_thread PUBLIC boost)
209 +- target_compile_definitions(boost_thread PUBLIC BOOST_THREAD_USE_LIB) # for win32
210 ++ target_include_directories(boost_thread_lib PUBLIC boost)
211 ++ target_compile_definitions(boost_thread_lib PUBLIC BOOST_THREAD_USE_LIB) # for win32
212 +
213 + if(PTHREADS_FOUND)
214 +- target_include_directories(boost_thread PUBLIC ${PTHREADS_INCLUDE_DIR})
215 ++ target_include_directories(boost_thread_lib PUBLIC ${PTHREADS_INCLUDE_DIR})
216 + endif()
217 + if(WIN32)
218 +- target_compile_definitions( boost_thread PRIVATE BOOST_THREAD_BUILD_LIB)
219 ++ target_compile_definitions( boost_thread_lib PRIVATE BOOST_THREAD_BUILD_LIB)
220 + endif()
221 +
222 +
223 + if(CMAKE_SYSTEM_NAME MATCHES "Linux")
224 +- target_compile_options(boost_thread PRIVATE -fPIC)
225 +- target_link_libraries(boost_thread rt)
226 ++ target_compile_options(boost_thread_lib PRIVATE -fPIC)
227 ++ target_link_libraries(boost_thread_lib rt)
228 + endif()
229 +
230 + if(LTO)
231 +- set_property(TARGET boost_thread
232 ++ set_property(TARGET boost_thread_lib
233 + APPEND PROPERTY COMPILE_FLAGS "-flto -flto-report")
234 +
235 +- set_property(TARGET boost_thread
236 ++ set_property(TARGET boost_thread_lib
237 + APPEND PROPERTY LINK_FLAGS "-flto -flto-report")
238 + endif()
239 +
240 + set_property( TARGET
241 +- boost_regex
242 +- boost_thread
243 +- boost_program_options
244 +- boost_system
245 +- boost_filesystem
246 ++ boost_regex_lib
247 ++ boost_thread_lib
248 ++ boost_program_options_lib
249 ++ boost_system_lib
250 ++ boost_filesystem_lib
251 + PROPERTY FOLDER 3rdparty
252 + )
253 +-
254 + endif()
255 +
256 + # tlsf
257 +@@ -84,10 +84,9 @@ set_property(TARGET tlsf PROPERTY POSITION_INDEPENDENT_CODE TRUE)
258 +
259 + #oscpack
260 + add_library(oscpack STATIC EXCLUDE_FROM_ALL "oscpack_build.cpp")
261 +-target_include_directories(oscpack PRIVATE boost)
262 ++target_include_directories(oscpack PRIVATE ${boost_include_dirs})
263 + target_include_directories(oscpack INTERFACE oscpack_1_1_0 )
264 +
265 +-
266 + if(LTO)
267 + set_property(TARGET oscpack tlsf
268 + APPEND PROPERTY COMPILE_FLAGS "-flto -flto-report")
269 +@@ -96,15 +95,15 @@ if(LTO)
270 + APPEND PROPERTY LINK_FLAGS "-flto -flto-report")
271 + endif()
272 +
273 +-if(NOT YAMLCPP_FOUND)
274 +- message(STATUS "using bundled libyaml-cpp")
275 ++if(NOT SYSTEM_YAMLCPP)
276 ++ message(STATUS "Using bundled yaml-cpp")
277 +
278 + # yaml-cpp
279 + aux_source_directory(${CMAKE_SOURCE_DIR}/external_libraries/yaml-cpp/src yaml_src)
280 + CREATE_FINAL_FILE(${CMAKE_CURRENT_BINARY_DIR}/libyamlcpp.cpp ${yaml_src})
281 +
282 + add_library(yaml STATIC EXCLUDE_FROM_ALL ${CMAKE_CURRENT_BINARY_DIR}/libyamlcpp.cpp)
283 +- target_include_directories(yaml PUBLIC ${CMAKE_SOURCE_DIR}/external_libraries/yaml-cpp/include boost)
284 ++ target_include_directories(yaml PUBLIC ${CMAKE_SOURCE_DIR}/external_libraries/yaml-cpp/include ${boost_include_dirs})
285 + set_property( TARGET yaml PROPERTY FOLDER 3rdparty )
286 + set(YAMLCPP_LIBRARY yaml)
287 + set(YAMLCPP_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/external_libraries/yaml-cpp/include)
288 +diff --git c/lang/CMakeLists.txt w/lang/CMakeLists.txt
289 +index c68b32fdc..593d91845 100644
290 +--- c/lang/CMakeLists.txt
291 ++++ w/lang/CMakeLists.txt
292 +@@ -202,14 +202,8 @@ if(SC_HIDAPI)
293 + endif()
294 + endif()
295 +
296 +-if (Boost_FOUND)
297 +- target_include_directories(libsclang PUBLIC ${Boost_INCLUDE_DIRS})
298 +- target_link_libraries(libsclang ${Boost_THREAD_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_REGEX_LIBRARY} ${Boost_FILESYSTEM_LIBRARY})
299 +-else()
300 +- target_include_directories(libsclang PUBLIC ${CMAKE_SOURCE_DIR}/external_libraries/boost)
301 +- target_link_libraries(libsclang boost_regex boost_thread boost_system boost_filesystem)
302 +-endif()
303 +-
304 ++target_link_libraries(libsclang boost_thread_lib boost_system_lib boost_regex_lib boost_filesystem_lib)
305 ++target_include_directories(libsclang PUBLIC ${boost_include_dirs})
306 +
307 + if (SCLANG_SERVER)
308 + target_link_libraries(libsclang libscsynth)
309 +diff --git c/server/CMakeLists.txt w/server/CMakeLists.txt
310 +index 2622b4e36..bf8dc863d 100644
311 +--- c/server/CMakeLists.txt
312 ++++ w/server/CMakeLists.txt
313 +@@ -12,11 +12,7 @@ include_directories(${CMAKE_SOURCE_DIR}/external_libraries
314 + ${CMAKE_SOURCE_DIR}/external_libraries/nova-tt
315 + )
316 +
317 +-if (Boost_FOUND)
318 +- include_directories(${Boost_INCLUDE_DIRS})
319 +-else()
320 +- include_directories(${CMAKE_SOURCE_DIR}/external_libraries/boost)
321 +-endif()
322 ++include_directories(${boost_include_dirs})
323 +
324 + # here we choose who provides us with the FFT lib
325 + if (APPLE)
326 +diff --git c/server/plugins/CMakeLists.txt w/server/plugins/CMakeLists.txt
327 +index 8287f7be9..9a4db7be5 100644
328 +--- c/server/plugins/CMakeLists.txt
329 ++++ w/server/plugins/CMakeLists.txt
330 +@@ -199,7 +199,7 @@ if (SUPERNOVA)
331 +
332 + if(SNDFILE_FOUND)
333 + target_include_directories(DiskIO_UGens_supernova PUBLIC ${SNDFILE_INCLUDE_DIR})
334 +- target_link_libraries(DiskIO_UGens_supernova ${SNDFILE_LIBRARIES} ${PTHREADS_LIBRARY} ${MATH_LIBRARY} ${Boost_THREAD_LIBRARY})
335 ++ target_link_libraries(DiskIO_UGens_supernova ${SNDFILE_LIBRARIES} ${PTHREADS_LIBRARY} ${MATH_LIBRARY} boost_thread_lib)
336 + list(APPEND supernova_plugins DiskIO_UGens_supernova)
337 + else()
338 + message(SEND_ERROR "Cannot find libsndfile")
339 +@@ -217,7 +217,7 @@ endforeach()
340 +
341 + if(NOT NO_X11)
342 + foreach(ugen ${uiugens})
343 +- target_link_libraries(${ugen} ${Boost_THREAD_LIBRARY})
344 ++ target_link_libraries(${ugen} boost_thread_lib)
345 + endforeach()
346 + endif()
347 +
348 +diff --git c/server/scsynth/CMakeLists.txt w/server/scsynth/CMakeLists.txt
349 +index 17c09f262..3a7145841 100644
350 +--- c/server/scsynth/CMakeLists.txt
351 ++++ w/server/scsynth/CMakeLists.txt
352 +@@ -176,11 +176,8 @@ elseif(AUDIOAPI STREQUAL coreaudio)
353 + target_link_libraries(libscsynth "-framework CoreAudio")
354 + endif()
355 +
356 +-if (Boost_FOUND)
357 +- target_link_libraries(libscsynth ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} )
358 +-else()
359 +- target_link_libraries(libscsynth boost_system boost_filesystem)
360 +-endif()
361 ++target_link_libraries(libscsynth boost_system_lib boost_filesystem_lib)
362 ++target_include_directories(libscsynth PUBLIC ${boost_include_dirs})
363 +
364 + if (WIN32)
365 + target_link_libraries(libscsynth wsock32 ws2_32 winmm)
366 +diff --git c/server/supernova/CMakeLists.txt w/server/supernova/CMakeLists.txt
367 +index cfe128880..2b80cb545 100644
368 +--- c/server/supernova/CMakeLists.txt
369 ++++ w/server/supernova/CMakeLists.txt
370 +@@ -70,7 +70,7 @@ if(NOT WIN32)
371 + PROPERTY OUTPUT_NAME supernova)
372 + endif()
373 +
374 +-target_link_libraries(libsupernova oscpack tlsf ${PTHREADS_LIBRARIES} boost_thread)
375 ++target_link_libraries(libsupernova oscpack tlsf ${PTHREADS_LIBRARIES} boost_thread_lib)
376 +
377 + target_compile_definitions(libsupernova PUBLIC SUPERNOVA)
378 + target_include_directories(libsupernova PUBLIC
379 +@@ -146,14 +146,8 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
380 + target_link_libraries(libsupernova rt)
381 + endif()
382 +
383 +-
384 +-if(Boost_FOUND)
385 +- target_link_libraries(libsupernova ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY})
386 +- target_include_directories(libsupernova PUBLIC ${Boost_INCLUDE_DIRS})
387 +-else()
388 +- target_include_directories(libsupernova PUBLIC ${CMAKE_SOURCE_DIR}/external_libraries/boost)
389 +- target_link_libraries(libsupernova boost_system boost_filesystem boost_program_options)
390 +-endif()
391 ++target_link_libraries(libsupernova boost_system_lib boost_filesystem_lib boost_program_options_lib)
392 ++target_include_directories(libsupernova PUBLIC ${boost_include_dirs})
393 +
394 + if(CMAKE_COMPILER_IS_GNUCXX)
395 + if( ${_gcc_version} VERSION_GREATER 5 )
396 +diff --git c/testsuite/server/CMakeLists.txt w/testsuite/server/CMakeLists.txt
397 +index 38ce4b486..da19c2e5d 100644
398 +--- c/testsuite/server/CMakeLists.txt
399 ++++ w/testsuite/server/CMakeLists.txt
400 +@@ -1,8 +1,8 @@
401 ++add_library(boost_test STATIC boost_test.cpp)
402 ++target_include_directories(boost_test PUBLIC ${boost_include_dirs})
403 ++
404 + add_subdirectory(scsynth)
405 +-
406 + if (SUPERNOVA)
407 + add_subdirectory(supernova)
408 + endif()
409 +
410 +-add_library(boost_test STATIC boost_test.cpp)
411 +-target_include_directories(boost_test PUBLIC ${CMAKE_SOURCE_DIR}/external_libraries/boost)
412 +diff --git c/testsuite/server/supernova/CMakeLists.txt w/testsuite/server/supernova/CMakeLists.txt
413 +index e8a9ccf5f..4022da847 100644
414 +--- c/testsuite/server/supernova/CMakeLists.txt
415 ++++ w/testsuite/server/supernova/CMakeLists.txt
416 +@@ -34,7 +34,7 @@ foreach(test ${simple_tests})
417 + string(REPLACE .cpp "" test_name ${test} )
418 + add_executable(${test_name} ${test})
419 +
420 +- target_link_libraries(${test_name} libsupernova boost_test boost_thread)
421 ++ target_link_libraries(${test_name} libsupernova boost_test boost_thread_lib)
422 +
423 + add_test(${test_name}_run ${EXECUTABLE_OUTPUT_PATH}/${test_name})
424 + endforeach(test)
425
426 diff --git a/media-sound/supercollider/supercollider-3.10.2.ebuild b/media-sound/supercollider/supercollider-3.10.2.ebuild
427 new file mode 100644
428 index 00000000000..3ebf0f2cc00
429 --- /dev/null
430 +++ b/media-sound/supercollider/supercollider-3.10.2.ebuild
431 @@ -0,0 +1,124 @@
432 +# Copyright 1999-2019 Gentoo Authors
433 +# Distributed under the terms of the GNU General Public License v2
434 +
435 +EAPI=7
436 +
437 +inherit cmake-utils readme.gentoo-r1 xdg-utils
438 +
439 +DESCRIPTION="An environment and a programming language for real time audio synthesis."
440 +HOMEPAGE="https://supercollider.github.io/"
441 +SRC_URI="https://github.com/supercollider/supercollider/releases/download/Version-${PV}/SuperCollider-${PV}-Source-linux.tar.bz2"
442 +
443 +LICENSE="GPL-2 gpl3? ( GPL-3 )"
444 +SLOT="0"
445 +KEYWORDS="~amd64 ~x86"
446 +IUSE="cpu_flags_x86_sse cpu_flags_x86_sse2 debug emacs +fftw gedit +gpl3 jack qt5 server +sndfile static-libs vim X zeroconf"
447 +
448 +REQUIRED_USE="qt5? ( X )"
449 +
450 +BDEPEND="
451 + virtual/pkgconfig
452 + qt5? ( dev-qt/linguist-tools:5 )
453 +"
454 +RDEPEND="
455 + dev-cpp/yaml-cpp:=
456 + dev-libs/boost:=
457 + media-libs/alsa-lib
458 + sys-libs/readline:0=
459 + virtual/libudev:=
460 + fftw? ( sci-libs/fftw:3.0= )
461 + jack? ( virtual/jack )
462 + !jack? ( media-libs/portaudio )
463 + qt5? (
464 + dev-qt/qtcore:5
465 + dev-qt/qtgui:5
466 + dev-qt/qtnetwork:5
467 + dev-qt/qtopengl:5
468 + dev-qt/qtprintsupport:5
469 + dev-qt/qtsql:5
470 + dev-qt/qtsvg:5
471 + dev-qt/qtwebchannel:5
472 + dev-qt/qtwebengine:5[widgets]
473 + dev-qt/qtwebsockets:5
474 + dev-qt/qtwidgets:5
475 + )
476 + server? ( !app-admin/supernova )
477 + sndfile? ( media-libs/libsndfile )
478 + X? (
479 + x11-libs/libX11
480 + x11-libs/libXt
481 + )
482 + zeroconf? ( net-dns/avahi )
483 +"
484 +DEPEND="${RDEPEND}
485 + dev-libs/icu
486 + emacs? ( virtual/emacs )
487 + gedit? ( app-editors/gedit )
488 + qt5? (
489 + dev-qt/qtconcurrent:5
490 + dev-qt/qtdeclarative:5
491 + )
492 + vim? ( app-editors/vim )
493 +"
494 +
495 +PATCHES=(
496 + "${FILESDIR}"/${P}-system-boost.patch
497 + "${FILESDIR}"/${P}-boost-1.67.patch
498 +)
499 +
500 +S="${WORKDIR}/SuperCollider-Source"
501 +
502 +src_configure() {
503 + local mycmakeargs=(
504 + -DINSTALL_HELP=ON
505 + -DSYSTEM_BOOST=ON
506 + -DSYSTEM_YAMLCPP=ON
507 + -DSSE=$(usex cpu_flags_x86_sse)
508 + -DSSE2=$(usex cpu_flags_x86_sse2)
509 + -DSC_EL=$(usex emacs)
510 + -DFFT_GREEN=$(usex !fftw)
511 + -DSC_ED=$(usex gedit)
512 + -DNO_GPL3=$(usex !gpl3)
513 + -DAUDIOAPI=$(usex jack jack portaudio)
514 + -DSC_IDE=$(usex qt5)
515 + -DSC_QT=$(usex qt5)
516 + -DSCLANG_SERVER=$(usex server)
517 + -DSUPERNOVA=$(usex server)
518 + -DNO_LIBSNDFILE=$(usex !sndfile)
519 + -DLIBSCSYNTH=$(usex !static-libs)
520 + -DSC_VIM=$(usex vim)
521 + -DNO_X11=$(usex !X)
522 + -DNO_AVAHI=$(usex !zeroconf)
523 + )
524 +
525 + use debug && mycmakeargs+=(
526 + -DSC_MEMORY_DEBUGGING=ON
527 + -DSN_MEMORY_DEBUGGING=ON
528 + -DGC_SANITYCHECK=ON
529 + )
530 +
531 + cmake-utils_src_configure
532 +}
533 +
534 +src_install() {
535 + cmake-utils_src_install
536 +
537 + use emacs && newdoc editors/scel/README.md README.emacs
538 + use gedit && newdoc editors/sced/README.md README.gedit
539 + use vim && newdoc editors/scvim/README.md README.vim
540 +}
541 +
542 +pkg_postinst() {
543 + einfo "Notice: SuperCollider is not very intuitive to get up and running."
544 + einfo "The best course of action to make sure that the installation was"
545 + einfo "successful and get you started with using SuperCollider is to take"
546 + einfo "a look through ${EROOT}/usr/share/doc/${PF}/README.md.bz2"
547 +
548 + xdg_mimeinfo_database_update
549 + xdg_desktop_database_update
550 +}
551 +
552 +pkg_postrm() {
553 + xdg_mimeinfo_database_update
554 + xdg_desktop_database_update
555 +}