Tags 959439 +patch thanks I was able to apply the upstream fixes to the Debian supercollider packaging, in order to do so I had to make some formatting adjustments to the code(it seems upstream reformatted their codebase since the version that is in Debian) I did builds in Debian sid and Raspbian bullseye-staging and have uploaded the changes to raspbian (note: the raspbian package also contains some other unrelated changes).
A debdiff is attatched, no intent to NMU in Debian.
diff -Nru supercollider-3.10.0+repack/debian/changelog supercollider-3.10.0+repack/debian/changelog --- supercollider-3.10.0+repack/debian/changelog 2019-02-03 21:31:06.000000000 +0000 +++ supercollider-3.10.0+repack/debian/changelog 2020-06-08 07:17:12.000000000 +0000 @@ -1,3 +1,10 @@ +supercollider (1:3.10.0+repack-1.1) unstable; urgency=medium + + * Patch proposed to BTS, no immediate intent to NMU. + * Apply upstream patches for new boost ( Closes: 959439 ). + + -- Peter Michael Green <plugw...@debian.org> Mon, 08 Jun 2020 07:17:12 +0000 + supercollider (1:3.10.0+repack-1) unstable; urgency=medium * fixed a little error in d/rules: create a missing directory diff -Nru supercollider-3.10.0+repack/debian/patches/boost1.71-00-formatting supercollider-3.10.0+repack/debian/patches/boost1.71-00-formatting --- supercollider-3.10.0+repack/debian/patches/boost1.71-00-formatting 1970-01-01 00:00:00.000000000 +0000 +++ supercollider-3.10.0+repack/debian/patches/boost1.71-00-formatting 2020-06-08 07:17:12.000000000 +0000 @@ -0,0 +1,93 @@ +Description: Adjust code formatting to allow upstream boost1.71 patches to be applied. +Author: Peter Michael Green <plugw...@raspbian.org> + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: <vendor|upstream|other>, <url of original patch> +Bug: <url in upstream bugtracker> +Bug-Debian: https://bugs.debian.org/<bugnumber> +Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber> +Forwarded: <no|not-needed|url proving that it has been forwarded> +Reviewed-By: <name and email of someone who approved the patch> +Last-Update: 2020-06-08 + +Index: supercollider-3.10.0+repack/CMakeLists.txt +=================================================================== +--- supercollider-3.10.0+repack.orig/CMakeLists.txt ++++ supercollider-3.10.0+repack/CMakeLists.txt +@@ -253,8 +253,8 @@ 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 ) ++ 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) +Index: supercollider-3.10.0+repack/server/supernova/sc/sc_osc_handler.cpp +=================================================================== +--- supercollider-3.10.0+repack.orig/server/supernova/sc/sc_osc_handler.cpp ++++ supercollider-3.10.0+repack/server/supernova/sc/sc_osc_handler.cpp +@@ -932,9 +932,7 @@ void sc_osc_handler::tcp_connection::han + + + +- +-void sc_osc_handler::start_tcp_accept(void) +-{ ++void sc_osc_handler::start_tcp_accept(void) { + tcp_connection::pointer new_connection = tcp_connection::create(tcp_acceptor_.get_io_service()); + + tcp_acceptor_.async_accept(new_connection->socket(), +Index: supercollider-3.10.0+repack/server/supernova/sc/sc_osc_handler.hpp +=================================================================== +--- supercollider-3.10.0+repack.orig/server/supernova/sc/sc_osc_handler.hpp ++++ supercollider-3.10.0+repack/server/supernova/sc/sc_osc_handler.hpp +@@ -278,10 +278,7 @@ public: + public: + typedef std::shared_ptr<tcp_connection> pointer; + +- static pointer create(boost::asio::io_service& io_service) +- { +- return pointer(new tcp_connection(io_service)); +- } ++ static pointer create(boost::asio::io_service& io_service) { return pointer(new tcp_connection(io_service)); } + + tcp::socket& socket() + { +@@ -296,9 +293,7 @@ public: + } + + private: +- tcp_connection(boost::asio::io_service& io_service) +- : socket_(io_service) +- {} ++ tcp_connection(boost::asio::io_service& io_service): socket_(io_service) {} + + void send(const char *data, size_t length) override final; + +Index: supercollider-3.10.0+repack/server/supernova/sc/sc_synthdef.hpp +=================================================================== +--- supercollider-3.10.0+repack.orig/server/supernova/sc/sc_synthdef.hpp ++++ supercollider-3.10.0+repack/server/supernova/sc/sc_synthdef.hpp +@@ -35,10 +35,12 @@ namespace nova { + + class sc_synthdef + { +- typedef std::vector<float, boost::alignment::aligned_allocator<float, 64> > float_vector; +- typedef std::vector<char, boost::alignment::aligned_allocator<char, 64> > char_vector; ++ typedef std::vector<float, boost::alignment::aligned_allocator<float, 64>> float_vector; ++ typedef std::vector<char, boost::alignment::aligned_allocator<char, 64>> char_vector; + #if BOOST_VERSION > 107000 +- typedef std::map<symbol, int32_t, std::less<symbol>, boost::alignment::aligned_allocator<std::pair<symbol, int32_t>, 64>> parameter_index_map_t; ++ typedef std::map<symbol, int32_t, std::less<symbol>, ++ boost::alignment::aligned_allocator<std::pair<symbol, int32_t>, 64>> ++ parameter_index_map_t; + #else + typedef std::map<symbol, int32_t, std::less<symbol>> parameter_index_map_t; + #endif diff -Nru supercollider-3.10.0+repack/debian/patches/boost1.71-01-ee2c63c89e6e3f5a14e09a9c7edaaf6774190ce6 supercollider-3.10.0+repack/debian/patches/boost1.71-01-ee2c63c89e6e3f5a14e09a9c7edaaf6774190ce6 --- supercollider-3.10.0+repack/debian/patches/boost1.71-01-ee2c63c89e6e3f5a14e09a9c7edaaf6774190ce6 1970-01-01 00:00:00.000000000 +0000 +++ supercollider-3.10.0+repack/debian/patches/boost1.71-01-ee2c63c89e6e3f5a14e09a9c7edaaf6774190ce6 2020-06-08 07:17:12.000000000 +0000 @@ -0,0 +1,33 @@ +patch defuzzed by Peter Michael Green for Raspbian/Debian packaging. + +commit ee2c63c89e6e3f5a14e09a9c7edaaf6774190ce6 +Author: Brian Heim <brianlh...@gmail.com> +Date: Thu Sep 19 20:54:52 2019 -0500 + + Update for boost 1.70 + +Index: supercollider-3.10.0+repack/server/supernova/sc/sc_osc_handler.cpp +=================================================================== +--- supercollider-3.10.0+repack.orig/server/supernova/sc/sc_osc_handler.cpp ++++ supercollider-3.10.0+repack/server/supernova/sc/sc_osc_handler.cpp +@@ -933,7 +933,7 @@ void sc_osc_handler::tcp_connection::han + + + 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(tcp_acceptor_.get_executor().context()); + + tcp_acceptor_.async_accept(new_connection->socket(), + boost::bind(&sc_osc_handler::handle_tcp_accept, this, new_connection, +Index: supercollider-3.10.0+repack/server/supernova/utilities/utils.hpp +=================================================================== +--- supercollider-3.10.0+repack.orig/server/supernova/utilities/utils.hpp ++++ supercollider-3.10.0+repack/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> diff -Nru supercollider-3.10.0+repack/debian/patches/boost1.71-02-265a8a6750bb6ea9ad8c19d19916d8ba860c844d supercollider-3.10.0+repack/debian/patches/boost1.71-02-265a8a6750bb6ea9ad8c19d19916d8ba860c844d --- supercollider-3.10.0+repack/debian/patches/boost1.71-02-265a8a6750bb6ea9ad8c19d19916d8ba860c844d 1970-01-01 00:00:00.000000000 +0000 +++ supercollider-3.10.0+repack/debian/patches/boost1.71-02-265a8a6750bb6ea9ad8c19d19916d8ba860c844d 2020-06-08 07:17:12.000000000 +0000 @@ -0,0 +1,26 @@ +patch defuzzed by Peter Michael Green for Raspbian/Debian packaging. + +commit 265a8a6750bb6ea9ad8c19d19916d8ba860c844d +Author: Brian Heim <brianlh...@gmail.com> +Date: Sun Oct 6 18:24:55 2019 -0500 + + supernova: fix compile error with 1.71 + +Index: supercollider-3.10.0+repack/server/supernova/sc/sc_synthdef.hpp +=================================================================== +--- supercollider-3.10.0+repack.orig/server/supernova/sc/sc_synthdef.hpp ++++ supercollider-3.10.0+repack/server/supernova/sc/sc_synthdef.hpp +@@ -37,13 +37,7 @@ class sc_synthdef + { + typedef std::vector<float, boost::alignment::aligned_allocator<float, 64>> float_vector; + typedef std::vector<char, boost::alignment::aligned_allocator<char, 64>> char_vector; +-#if BOOST_VERSION > 107000 +- typedef std::map<symbol, int32_t, std::less<symbol>, +- boost::alignment::aligned_allocator<std::pair<symbol, int32_t>, 64>> +- parameter_index_map_t; +-#else + typedef std::map<symbol, int32_t, std::less<symbol>> parameter_index_map_t; +-#endif + + public: + struct input_spec diff -Nru supercollider-3.10.0+repack/debian/patches/boost1.71-03-f4e5cc69aaa09f26f3dcd19f0e9db85b525b4b70 supercollider-3.10.0+repack/debian/patches/boost1.71-03-f4e5cc69aaa09f26f3dcd19f0e9db85b525b4b70 --- supercollider-3.10.0+repack/debian/patches/boost1.71-03-f4e5cc69aaa09f26f3dcd19f0e9db85b525b4b70 1970-01-01 00:00:00.000000000 +0000 +++ supercollider-3.10.0+repack/debian/patches/boost1.71-03-f4e5cc69aaa09f26f3dcd19f0e9db85b525b4b70 2020-06-08 07:17:12.000000000 +0000 @@ -0,0 +1,59 @@ +patch defuzzed by Peter Michael Green for Raspbian/Debian packaging. + +commit f4e5cc69aaa09f26f3dcd19f0e9db85b525b4b70 +Author: Brian Heim <brianlh...@gmail.com> +Date: Sun Oct 6 18:39:38 2019 -0500 + + supernova: fix compile errors with boost 1.71 + + class hierarchy changed. this change is at least backward compatible with 1.70 + + tested with boost 1.66, 1.71 + +Index: supercollider-3.10.0+repack/server/supernova/sc/sc_osc_handler.cpp +=================================================================== +--- supercollider-3.10.0+repack.orig/server/supernova/sc/sc_osc_handler.cpp ++++ supercollider-3.10.0+repack/server/supernova/sc/sc_osc_handler.cpp +@@ -933,7 +933,7 @@ void sc_osc_handler::tcp_connection::han + + + void sc_osc_handler::start_tcp_accept(void) { +- tcp_connection::pointer new_connection = tcp_connection::create(tcp_acceptor_.get_executor().context()); ++ tcp_connection::pointer new_connection = tcp_connection::create(tcp_acceptor_.get_executor()); + + tcp_acceptor_.async_accept(new_connection->socket(), + boost::bind(&sc_osc_handler::handle_tcp_accept, this, new_connection, +Index: supercollider-3.10.0+repack/server/supernova/sc/sc_osc_handler.hpp +=================================================================== +--- supercollider-3.10.0+repack.orig/server/supernova/sc/sc_osc_handler.hpp ++++ supercollider-3.10.0+repack/server/supernova/sc/sc_osc_handler.hpp +@@ -276,9 +276,14 @@ public: + public nova_endpoint + { + public: +- typedef std::shared_ptr<tcp_connection> pointer; ++ using pointer = std::shared_ptr<tcp_connection>; ++#if BOOST_VERSION >= 107000 ++ using executor = boost::asio::executor; ++#else ++ using executor = boost::asio::io_context::executor_type; ++#endif + +- static pointer create(boost::asio::io_service& io_service) { return pointer(new tcp_connection(io_service)); } ++ static pointer create(const executor& executor) { return pointer(new tcp_connection(executor)); } + + tcp::socket& socket() + { +@@ -293,7 +298,11 @@ public: + } + + private: +- tcp_connection(boost::asio::io_service& io_service): socket_(io_service) {} ++#if BOOST_VERSION >= 107000 ++ tcp_connection(const executor& executor): socket_(executor) {} ++#else ++ tcp_connection(const executor& executor): socket_(executor.context()) {} ++#endif + + void send(const char *data, size_t length) override final; + diff -Nru supercollider-3.10.0+repack/debian/patches/boost1.71-04-1ede37b287dbe3010f98d0be9d1b38108e1dd530 supercollider-3.10.0+repack/debian/patches/boost1.71-04-1ede37b287dbe3010f98d0be9d1b38108e1dd530 --- supercollider-3.10.0+repack/debian/patches/boost1.71-04-1ede37b287dbe3010f98d0be9d1b38108e1dd530 1970-01-01 00:00:00.000000000 +0000 +++ supercollider-3.10.0+repack/debian/patches/boost1.71-04-1ede37b287dbe3010f98d0be9d1b38108e1dd530 2020-06-08 07:17:12.000000000 +0000 @@ -0,0 +1,22 @@ +Patch defuzzed by Peter Michael Green for Debian/Raspbian supercollider packaging. + +commit 1ede37b287dbe3010f98d0be9d1b38108e1dd530 +Author: Brian Heim <brianlh...@gmail.com> +Date: Sun Oct 6 19:24:57 2019 -0500 + + CMake: don't use boost cmake config file + +Index: supercollider-3.10.0+repack/CMakeLists.txt +=================================================================== +--- supercollider-3.10.0+repack.orig/CMakeLists.txt ++++ supercollider-3.10.0+repack/CMakeLists.txt +@@ -253,6 +253,9 @@ if (NOT WIN32) + endif() + + if(SYSTEM_BOOST) ++ # https://github.com/supercollider/supercollider/issues/4576#issuecomment-531499017 ++ # Boost >= 1.71 ships with its own Boost config file, we ignore it for now. ++ set(Boost_NO_BOOST_CMAKE ON) + set(Boost_USE_MULTITHREADED ON) + find_package( Boost 1.50.0 COMPONENTS thread system filesystem program_options regex test_exec_monitor ) + endif() diff -Nru supercollider-3.10.0+repack/debian/patches/series supercollider-3.10.0+repack/debian/patches/series --- supercollider-3.10.0+repack/debian/patches/series 2018-12-26 11:50:55.000000000 +0000 +++ supercollider-3.10.0+repack/debian/patches/series 2020-06-08 07:17:12.000000000 +0000 @@ -1,3 +1,8 @@ Remove-autodetection-of-raspberry-cpus.patch disable-ccache.patch fix-numeric-type.patch +boost1.71-00-formatting +boost1.71-01-ee2c63c89e6e3f5a14e09a9c7edaaf6774190ce6 +boost1.71-02-265a8a6750bb6ea9ad8c19d19916d8ba860c844d +boost1.71-03-f4e5cc69aaa09f26f3dcd19f0e9db85b525b4b70 +boost1.71-04-1ede37b287dbe3010f98d0be9d1b38108e1dd530