gnu: supercollider: Fix build and update to 3.10.3.

* gnu/packages/patches/supercollider-boost-1.70-build-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/audio.scm (supercollider): Update to 3.10.3 and apply the
previous patch to fix build with boost-1.70. Remove outdated
'fix-build-with-boost-1.68 phase.
This commit is contained in:
Mathieu Othacehe 2019-09-27 10:46:06 +02:00
parent 308eb5c11a
commit 772ca8e4f6
No known key found for this signature in database
GPG Key ID: 8354763531769CA6
3 changed files with 34 additions and 8 deletions

View File

@ -1328,6 +1328,7 @@ dist_patch_DATA = \
%D%/packages/patches/strace-ipc-tests.patch \ %D%/packages/patches/strace-ipc-tests.patch \
%D%/packages/patches/streamlink-update-test.patch \ %D%/packages/patches/streamlink-update-test.patch \
%D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \ %D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \
%D%/packages/patches/supercollider-boost-1.70-build-fix.patch \
%D%/packages/patches/superlu-dist-awpm-grid.patch \ %D%/packages/patches/superlu-dist-awpm-grid.patch \
%D%/packages/patches/superlu-dist-fix-mpi-deprecations.patch \ %D%/packages/patches/superlu-dist-fix-mpi-deprecations.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/superlu-dist-scotchmetis.patch \

View File

@ -22,6 +22,7 @@
;;; Copyright © 2019 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -2177,16 +2178,18 @@ background file post-processing.")
(define-public supercollider (define-public supercollider
(package (package
(name "supercollider") (name "supercollider")
(version "3.10.2") (version "3.10.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://github.com/supercollider/supercollider" "https://github.com/supercollider/supercollider"
"/releases/download/Version-" version "/releases/download/Version-" version
"/SuperCollider-" version "-Source-linux.tar.bz2")) "/SuperCollider-" version "-Source-linux.tar.bz2"))
(patches
(search-patches "supercollider-boost-1.70-build-fix.patch"))
(sha256 (sha256
(base32 (base32
"0ynz1ydcpsd5h57h1n4a7avm6p1cif5a8rkmz4qpr46pr8z9p6iq")))) "0srm6wbazidkrd4ckjy4ypyhkdwcnx2i7k9msjyngalh0mrc9zz1"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on" `(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
@ -2198,12 +2201,6 @@ background file post-processing.")
(ice-9 ftw)) (ice-9 ftw))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'fix-build-with-boost-1.68
(lambda _
(substitute* "server/supernova/utilities/time_tag.hpp"
(("(time_duration offset = .+ microseconds\\().*" _ m)
(string-append m "static_cast<long>(get_nanoseconds()/1000));\n")))
#t))
(add-after 'unpack 'rm-bundled-libs (add-after 'unpack 'rm-bundled-libs
(lambda _ (lambda _
;; The build system doesn't allow us to unbundle the following ;; The build system doesn't allow us to unbundle the following

View File

@ -0,0 +1,28 @@
Patches taken from https://gitweb.gentoo.org/repo/gentoo.git/tree/media-sound/supercollider/files/supercollider-3.10.2-boost-1.70.patch?id=a420618dc766bba0654dbe0ef67008fdc5e901c6 to fix supercollider build with boost 1.70.
diff --git a/server/supernova/sc/sc_osc_handler.cpp b/server/supernova/sc/sc_osc_handler.cpp
index 5116a1be87..96e937ec25 100644
--- a/server/supernova/sc/sc_osc_handler.cpp
+++ b/server/supernova/sc/sc_osc_handler.cpp
@@ -728,7 +728,8 @@ void sc_osc_handler::tcp_connection::handle_message() {
void sc_osc_handler::start_tcp_accept(void) {
- tcp_connection::pointer new_connection = tcp_connection::create(tcp_acceptor_.get_io_service());
+ tcp_connection::pointer new_connection =
+ tcp_connection::create((boost::asio::io_context&)tcp_acceptor_.get_executor().context());
tcp_acceptor_.async_accept(
new_connection->socket(),
diff --git a/server/supernova/utilities/utils.hpp b/server/supernova/utilities/utils.hpp
index 35b8ab5ad..a7c191f2d 100644
--- a/server/supernova/utilities/utils.hpp
+++ b/server/supernova/utilities/utils.hpp
@@ -23,6 +23,7 @@
#include <type_traits>
+#include <boost/checked_delete.hpp>
#include <boost/intrusive_ptr.hpp>
#include <boost/noncopyable.hpp>
#include <boost/detail/atomic_count.hpp>