commit: b2a88ced8cbf57a332712706cc302c8d87d11ad6 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Wed Jan 22 22:45:16 2025 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Wed Jan 22 23:14:36 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2a88ced
media-sound/supercollider: Fix build w/ boost-1.87 Closes: https://bugs.gentoo.org/946624 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> .../files/supercollider-3.13.0-boost-1.87-1.patch | 584 +++++++++++++++++++++ .../files/supercollider-3.13.0-boost-1.87-2.patch | 37 ++ .../supercollider/supercollider-3.13.0-r2.ebuild | 3 +- 3 files changed, 623 insertions(+), 1 deletion(-) diff --git a/media-sound/supercollider/files/supercollider-3.13.0-boost-1.87-1.patch b/media-sound/supercollider/files/supercollider-3.13.0-boost-1.87-1.patch new file mode 100644 index 000000000000..e3aaee971e98 --- /dev/null +++ b/media-sound/supercollider/files/supercollider-3.13.0-boost-1.87-1.patch @@ -0,0 +1,584 @@ +From 1bdc50ab4172c229e130120e9e075e5c3319f9f0 Mon Sep 17 00:00:00 2001 +From: Dennis Scheiba <g...@dennis-scheiba.com> +Date: Thu, 19 Dec 2024 15:58:01 +0100 +Subject: [PATCH 1/5] replace deprecated `boost::asio::io_service` with + `boost::asio::io_context` (#6572) + +--- + QtCollider/LanguageClient.cpp | 2 +- + lang/LangPrimSource/OSCData.cpp | 2 +- + lang/LangPrimSource/PyrSerialPrim.cpp | 4 ++-- + lang/LangPrimSource/SC_ComPort.cpp | 20 +++++++++---------- + lang/LangPrimSource/SC_ComPort.h | 2 +- + lang/LangSource/SC_TerminalClient.cpp | 24 +++++++++++------------ + lang/LangSource/SC_TerminalClient.h | 8 ++++---- + server/scsynth/SC_ComPort.cpp | 18 ++++++++--------- + server/supernova/sc/sc_osc_handler.hpp | 6 +++--- + server/supernova/utilities/osc_server.hpp | 13 ++++++------ + 10 files changed, 49 insertions(+), 50 deletions(-) + +diff --git a/QtCollider/LanguageClient.cpp b/QtCollider/LanguageClient.cpp +index 00576ebd04a..83c73a5bf83 100644 +--- a/QtCollider/LanguageClient.cpp ++++ b/QtCollider/LanguageClient.cpp +@@ -70,7 +70,7 @@ void LangClient::customEvent(QEvent* e) { + + case Event_SCRequest_Work: + QApplication::removePostedEvents(this, Event_SCRequest_Work); +- mIoService.poll(); ++ mIoContext.poll(); + break; + case Event_SCRequest_Quit: { + int code = static_cast<SCRequestEvent*>(e)->data.toInt(); +diff --git a/lang/LangPrimSource/OSCData.cpp b/lang/LangPrimSource/OSCData.cpp +index 0c0d7f9f7ff..bbb3caa8006 100644 +--- a/lang/LangPrimSource/OSCData.cpp ++++ b/lang/LangPrimSource/OSCData.cpp +@@ -934,7 +934,7 @@ void cleanup_OSC() { + #endif + } + +-extern boost::asio::io_service ioService; ++extern boost::asio::io_context ioContext; + + static int prGetHostByName(VMGlobals* g, int numArgsPushed) { + PyrSlot* a = g->sp; +diff --git a/lang/LangPrimSource/PyrSerialPrim.cpp b/lang/LangPrimSource/PyrSerialPrim.cpp +index cc56abdcead..bcfbeda5551 100644 +--- a/lang/LangPrimSource/PyrSerialPrim.cpp ++++ b/lang/LangPrimSource/PyrSerialPrim.cpp +@@ -49,7 +49,7 @@ + using boost::uint8_t; + using boost::asio::serial_port; + +-extern boost::asio::io_service ioService; // defined in SC_ComPort.cpp ++extern boost::asio::io_context ioContext; // defined in SC_ComPort.cpp + + /** + * \brief Serial port abstraction +@@ -104,7 +104,7 @@ class SerialPort { + */ + SerialPort(PyrObject* obj, const char* serialport, const Options& options): + m_obj(obj), +- m_port(ioService, serialport), ++ m_port(ioContext, serialport), + m_options(options), + m_rxErrors(0) { + using namespace boost::asio; +diff --git a/lang/LangPrimSource/SC_ComPort.cpp b/lang/LangPrimSource/SC_ComPort.cpp +index 78f01b389d9..aa48e078311 100644 +--- a/lang/LangPrimSource/SC_ComPort.cpp ++++ b/lang/LangPrimSource/SC_ComPort.cpp +@@ -46,12 +46,12 @@ void ProcessRawMessage(std::unique_ptr<char[]> inData, size_t inSize, ReplyAddre + ////////////////////////////////////////////////////////////////////////////////////////////////////////// + + SC_Thread gAsioThread; +-boost::asio::io_service ioService; ++boost::asio::io_context ioContext; + + + static void asioFunction() { +- boost::asio::io_service::work work(ioService); +- ioService.run(); ++ boost::asio::io_context::work work(ioContext); ++ ioContext.run(); + } + + void startAsioThread() { +@@ -60,7 +60,7 @@ void startAsioThread() { + } + + void stopAsioThread() { +- ioService.stop(); ++ ioContext.stop(); + gAsioThread.join(); + } + +@@ -66,7 +66,7 @@ + + ////////////////////////////////////////////////////////////////////////////////////////////////////////// + +-SC_UdpInPort::SC_UdpInPort(int inPortNum, int portsToCheck): mPortNum(inPortNum), udpSocket(ioService) { ++SC_UdpInPort::SC_UdpInPort(int inPortNum, int portsToCheck): mPortNum(inPortNum), udpSocket(ioContext) { + using namespace boost::asio; + + BOOST_AUTO(protocol, ip::udp::v4()); +@@ -142,7 +142,7 @@ + ////////////////////////////////////////////////////////////////////////////////////////////////////////// + + SC_TcpInPort::SC_TcpInPort(int inPortNum, int inMaxConnections, int inBacklog): +- acceptor(ioService, boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), inPortNum)), ++ acceptor(ioContext, boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), inPortNum)), + mPortNum(inPortNum) { + // FIXME: handle max connections + // FIXME: backlog??? +@@ -151,7 +151,7 @@ + } + + void SC_TcpInPort::startAccept() { +- SC_TcpConnection::pointer newConnection(new SC_TcpConnection(ioService, this)); ++ SC_TcpConnection::pointer newConnection(new SC_TcpConnection(ioContext, this)); + + acceptor.async_accept( + newConnection->socket, +@@ -210,7 +210,7 @@ + ////////////////////////////////////////////////////////////////////////////////////////////////////////// + + SC_TcpClientPort::SC_TcpClientPort(unsigned long inAddress, int inPort, ClientNotifyFunc notifyFunc, void* clientData): +- socket(ioService), ++ socket(ioContext), + endpoint(boost::asio::ip::address_v4(inAddress), inPort), + mClientNotifyFunc(notifyFunc), + mClientData(clientData) { +diff --git a/lang/LangPrimSource/SC_ComPort.h b/lang/LangPrimSource/SC_ComPort.h +index 0e192e91914..99d23b3b27b 100644 +--- a/lang/LangPrimSource/SC_ComPort.h ++++ b/lang/LangPrimSource/SC_ComPort.h +@@ -63,8 +63,8 @@ + typedef boost::shared_ptr<SC_TcpConnection> pointer; + boost::asio::ip::tcp::socket socket; + +- SC_TcpConnection(boost::asio::io_service& ioService, class SC_TcpInPort* parent): +- socket(ioService), ++ SC_TcpConnection(boost::asio::io_context& ioContext, class SC_TcpInPort* parent): ++ socket(ioContext), + mParent(parent) {} + + void start(); +diff --git a/lang/LangSource/SC_TerminalClient.cpp b/lang/LangSource/SC_TerminalClient.cpp +index 13f11a11176..3a091514ab5 100644 +--- a/lang/LangSource/SC_TerminalClient.cpp ++++ b/lang/LangSource/SC_TerminalClient.cpp +@@ -75,12 +75,12 @@ SC_TerminalClient::SC_TerminalClient(const char* name): + SC_LanguageClient(name), + mReturnCode(0), + mUseReadline(false), +- mWork(mIoService), +- mTimer(mIoService), ++ mWork(mIoContext), ++ mTimer(mIoContext), + #ifndef _WIN32 +- mStdIn(mInputService, STDIN_FILENO) ++ mStdIn(mInputContext, STDIN_FILENO) + #else +- mStdIn(mInputService, GetStdHandle(STD_INPUT_HANDLE)) ++ mStdIn(mInputContext, GetStdHandle(STD_INPUT_HANDLE)) + #endif + { + } +@@ -360,19 +360,19 @@ void SC_TerminalClient::onLibraryStartup() { + void SC_TerminalClient::sendSignal(Signal sig) { + switch (sig) { + case sig_input: +- mIoService.post(boost::bind(&SC_TerminalClient::interpretInput, this)); ++ mIoContext.post(boost::bind(&SC_TerminalClient::interpretInput, this)); + break; + + case sig_recompile: +- mIoService.post(boost::bind(&SC_TerminalClient::recompileLibrary, this)); ++ mIoContext.post(boost::bind(&SC_TerminalClient::recompileLibrary, this)); + break; + + case sig_sched: +- mIoService.post(boost::bind(&SC_TerminalClient::tick, this, boost::system::error_code())); ++ mIoContext.post(boost::bind(&SC_TerminalClient::tick, this, boost::system::error_code())); + break; + + case sig_stop: +- mIoService.post(boost::bind(&SC_TerminalClient::stopMain, this)); ++ mIoContext.post(boost::bind(&SC_TerminalClient::stopMain, this)); + break; + } + } +@@ -447,7 +447,7 @@ void SC_TerminalClient::tick(const boost::system::error_code& error) { + } + } + +-void SC_TerminalClient::commandLoop() { mIoService.run(); } ++void SC_TerminalClient::commandLoop() { mIoContext.run(); } + + void SC_TerminalClient::daemonLoop() { commandLoop(); } + +@@ -614,8 +614,8 @@ void SC_TerminalClient::inputThreadFn() { + + startInputRead(); + +- boost::asio::io_service::work work(mInputService); +- mInputService.run(); ++ boost::asio::io_context::work work(mInputContext); ++ mInputContext.run(); + } + + +@@ -662,7 +662,7 @@ void SC_TerminalClient::startInput() { + } + + void SC_TerminalClient::endInput() { +- mInputService.stop(); ++ mInputContext.stop(); + mStdIn.cancel(); + #ifdef _WIN32 + // Note this breaks Windows XP compatibility, since this function is only defined in Vista and later +diff --git a/lang/LangSource/SC_TerminalClient.h b/lang/LangSource/SC_TerminalClient.h +index 373e82bb830..0ea3cdc35b3 100644 +--- a/lang/LangSource/SC_TerminalClient.h ++++ b/lang/LangSource/SC_TerminalClient.h +@@ -91,7 +91,7 @@ class SCLANG_DLLEXPORT SC_TerminalClient : public SC_LanguageClient { + // NOTE: It may be called from any thread, and with interpreter locked. + virtual void sendSignal(Signal code); + +- void stop() { mIoService.stop(); } ++ void stop() { mIoContext.stop(); } + + protected: + bool parseOptions(int& argc, char**& argv, Options& opt); +@@ -151,14 +151,14 @@ class SCLANG_DLLEXPORT SC_TerminalClient : public SC_LanguageClient { + + // app-clock io service + protected: +- boost::asio::io_service mIoService; ++ boost::asio::io_context mIoContext; + + private: +- boost::asio::io_service::work mWork; ++ boost::asio::io_context::work mWork; + boost::asio::basic_waitable_timer<std::chrono::system_clock> mTimer; + + // input io service +- boost::asio::io_service mInputService; ++ boost::asio::io_context mInputContext; + SC_Thread mInputThread; + void inputThreadFn(); + +diff --git a/server/scsynth/SC_ComPort.cpp b/server/scsynth/SC_ComPort.cpp +index 5541f509bbd..a8ebbfe71c6 100644 +--- a/server/scsynth/SC_ComPort.cpp ++++ b/server/scsynth/SC_ComPort.cpp +@@ -145,7 +145,7 @@ static bool UnrollOSCPacket(World* inWorld, int inSize, char* inData, OSC_Packet + ///////////////////////////////////////////////////////////////////////////////////////////////////////// + + SC_Thread gAsioThread; +-boost::asio::io_service ioService; ++boost::asio::io_context ioContext; + + const int kTextBufSize = 65536; + +@@ -252,7 +252,7 @@ class SC_UdpInPort { + mWorld(world), + mPortNum(inPortNum), + mbindTo(bindTo), +- udpSocket(ioService) { ++ udpSocket(ioContext) { + using namespace boost::asio; + BOOST_AUTO(protocol, ip::udp::v4()); + udpSocket.open(protocol); +@@ -282,9 +282,9 @@ class SC_TcpConnection : public boost::enable_shared_from_this<SC_TcpConnection> + typedef boost::shared_ptr<SC_TcpConnection> pointer; + boost::asio::ip::tcp::socket socket; + +- SC_TcpConnection(struct World* world, boost::asio::io_service& ioService, class SC_TcpInPort* parent): ++ SC_TcpConnection(struct World* world, boost::asio::io_context& ioContext, class SC_TcpInPort* parent): + mWorld(world), +- socket(ioService), ++ socket(ioContext), + mParent(parent) {} + + ~SC_TcpConnection(); +@@ -400,7 +400,7 @@ class SC_TcpInPort { + public: + SC_TcpInPort(struct World* world, const std::string& bindTo, int inPortNum, int inMaxConnections, int inBacklog): + mWorld(world), +- acceptor(ioService, boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string(bindTo), inPortNum)), ++ acceptor(ioContext, boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string(bindTo), inPortNum)), + mAvailableConnections(inMaxConnections) { + // FIXME: backlog??? + +@@ -419,7 +419,7 @@ class SC_TcpInPort { + void startAccept() { + if (mAvailableConnections > 0) { + --mAvailableConnections; +- SC_TcpConnection::pointer newConnection(new SC_TcpConnection(mWorld, ioService, this)); ++ SC_TcpConnection::pointer newConnection(new SC_TcpConnection(mWorld, ioContext, this)); + + acceptor.async_accept( + newConnection->socket, +@@ -453,8 +453,8 @@ static void asioFunction() { + nova::thread_set_priority_rt(priority); + #endif + +- boost::asio::io_service::work work(ioService); +- ioService.run(); ++ boost::asio::io_context::work work(ioContext); ++ ioContext.run(); + } + + void startAsioThread() { +@@ -463,7 +463,7 @@ void startAsioThread() { + } + + void stopAsioThread() { +- ioService.stop(); ++ ioContext.stop(); + gAsioThread.join(); + } + +diff --git a/server/supernova/sc/sc_osc_handler.hpp b/server/supernova/sc/sc_osc_handler.hpp +index ae75c9dc05a..ce342c419e1 100644 +--- a/server/supernova/sc/sc_osc_handler.hpp ++++ b/server/supernova/sc/sc_osc_handler.hpp +@@ -95,7 +95,7 @@ class sc_notify_observers { + public: + typedef enum { no_error = 0, already_registered = -1, not_registered = -2 } error_code; + +- sc_notify_observers(boost::asio::io_service& io_service): udp_socket(io_service) {} ++ sc_notify_observers(boost::asio::io_context& io_context): udp_socket(io_context) {} + + int add_observer(endpoint_ptr const& ep); + int remove_observer(endpoint_ptr const& ep); +@@ -186,8 +186,8 @@ class sc_osc_handler : private detail::network_thread, public sc_notify_observer + + public: + sc_osc_handler(server_arguments const& args): +- sc_notify_observers(detail::network_thread::io_service_), +- tcp_acceptor_(detail::network_thread::io_service_), ++ sc_notify_observers(detail::network_thread::io_context_), ++ tcp_acceptor_(detail::network_thread::io_context_), + tcp_password_(args.server_password.size() ? args.server_password.c_str() : nullptr) { + if (!args.non_rt) { + if (args.tcp_port && !open_socket(IPPROTO_TCP, args.socket_address, args.tcp_port)) +diff --git a/server/supernova/utilities/osc_server.hpp b/server/supernova/utilities/osc_server.hpp +index 1746fa172b3..d209fed8983 100644 +--- a/server/supernova/utilities/osc_server.hpp ++++ b/server/supernova/utilities/osc_server.hpp +@@ -30,7 +30,6 @@ + # define BOOST_ASIO_HAS_STD_STRING_VIEW 1 + #endif + +-#include <boost/asio/io_service.hpp> + #include <boost/asio/ip/udp.hpp> + + #include "branch_hints.hpp" +@@ -56,8 +55,8 @@ class network_thread { + name_thread("Network Receive"); + + sem.post(); +- io_service::work work(io_service_); +- io_service_.run(); ++ io_context::work work(io_context_); ++ io_context_.run(); + }); + sem.wait(); + } +@@ -65,20 +64,20 @@ class network_thread { + ~network_thread(void) { + if (!thread_.joinable()) + return; +- io_service_.stop(); ++ io_context_.stop(); + thread_.join(); + } + +- io_service& get_io_service(void) { return io_service_; } ++ io_context& get_io_context(void) { return io_context_; } + + void send_udp(const char* data, unsigned int size, udp::endpoint const& receiver) { +- udp::socket socket(io_service_); ++ udp::socket socket(io_context_); + socket.open(udp::v4()); + socket.send_to(boost::asio::buffer(data, size), receiver); + } + + protected: +- io_service io_service_; ++ io_context io_context_; + + private: + semaphore sem; + +From 8015d8ebf26c1f95a0a646775f1e75397966b294 Mon Sep 17 00:00:00 2001 +From: Dennis Scheiba <g...@dennis-scheiba.com> +Date: Thu, 19 Dec 2024 16:41:44 +0100 +Subject: [PATCH 2/5] replace deprecated `boost::asio::io_context::work` with + `boost::asio::make_work_guard` + +--- + lang/LangPrimSource/SC_ComPort.cpp | 3 ++- + lang/LangSource/SC_TerminalClient.cpp | 5 +++-- + lang/LangSource/SC_TerminalClient.h | 2 +- + server/scsynth/SC_ComPort.cpp | 3 ++- + server/supernova/utilities/osc_server.hpp | 3 ++- + 5 files changed, 10 insertions(+), 6 deletions(-) + +diff --git a/lang/LangPrimSource/SC_ComPort.cpp b/lang/LangPrimSource/SC_ComPort.cpp +index aa48e078311..57b0fc5e89f 100644 +--- a/lang/LangPrimSource/SC_ComPort.cpp ++++ b/lang/LangPrimSource/SC_ComPort.cpp +@@ -50,7 +50,8 @@ boost::asio::io_context ioContext; + + + static void asioFunction() { +- boost::asio::io_context::work work(ioContext); ++ boost::asio::executor_work_guard<boost::asio::io_context::executor_type> work = ++ boost::asio::make_work_guard(ioContext); + ioContext.run(); + } + +diff --git a/lang/LangSource/SC_TerminalClient.cpp b/lang/LangSource/SC_TerminalClient.cpp +index 3a091514ab5..2c2a1a2eaac 100644 +--- a/lang/LangSource/SC_TerminalClient.cpp ++++ b/lang/LangSource/SC_TerminalClient.cpp +@@ -75,7 +75,7 @@ SC_TerminalClient::SC_TerminalClient(const char* name): + SC_LanguageClient(name), + mReturnCode(0), + mUseReadline(false), +- mWork(mIoContext), ++ mWork(boost::asio::make_work_guard(mIoContext)), + mTimer(mIoContext), + #ifndef _WIN32 + mStdIn(mInputContext, STDIN_FILENO) +@@ -614,7 +614,8 @@ void SC_TerminalClient::inputThreadFn() { + + startInputRead(); + +- boost::asio::io_context::work work(mInputContext); ++ boost::asio::executor_work_guard<boost::asio::io_context::executor_type> work = ++ boost::asio::make_work_guard(mInputContext); + mInputContext.run(); + } + +diff --git a/lang/LangSource/SC_TerminalClient.h b/lang/LangSource/SC_TerminalClient.h +index 0ea3cdc35b3..b4cf0e96482 100644 +--- a/lang/LangSource/SC_TerminalClient.h ++++ b/lang/LangSource/SC_TerminalClient.h +@@ -154,7 +154,7 @@ class SCLANG_DLLEXPORT SC_TerminalClient : public SC_LanguageClient { + boost::asio::io_context mIoContext; + + private: +- boost::asio::io_context::work mWork; ++ boost::asio::executor_work_guard<boost::asio::io_context::executor_type> mWork; + boost::asio::basic_waitable_timer<std::chrono::system_clock> mTimer; + + // input io service +diff --git a/server/scsynth/SC_ComPort.cpp b/server/scsynth/SC_ComPort.cpp +index a8ebbfe71c6..1e6f6d0784e 100644 +--- a/server/scsynth/SC_ComPort.cpp ++++ b/server/scsynth/SC_ComPort.cpp +@@ -453,7 +453,8 @@ static void asioFunction() { + nova::thread_set_priority_rt(priority); + #endif + +- boost::asio::io_context::work work(ioContext); ++ boost::asio::executor_work_guard<boost::asio::io_context::executor_type> work = ++ boost::asio::make_work_guard(ioContext); + ioContext.run(); + } + +diff --git a/server/supernova/utilities/osc_server.hpp b/server/supernova/utilities/osc_server.hpp +index d209fed8983..cbecfc23d7c 100644 +--- a/server/supernova/utilities/osc_server.hpp ++++ b/server/supernova/utilities/osc_server.hpp +@@ -55,7 +55,8 @@ class network_thread { + name_thread("Network Receive"); + + sem.post(); +- io_context::work work(io_context_); ++ boost::asio::executor_work_guard<boost::asio::io_context::executor_type> work = ++ boost::asio::make_work_guard(io_context_); + io_context_.run(); + }); + sem.wait(); + +From ec58a79c2f6bc474d6835d6228ccb7e397465fe5 Mon Sep 17 00:00:00 2001 +From: Dennis Scheiba <g...@dennis-scheiba.com> +Date: Fri, 20 Dec 2024 00:00:20 +0100 +Subject: [PATCH 3/5] replace deprecated `address::from_string` with + `make_address` + +--- + server/scsynth/SC_ComPort.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/server/scsynth/SC_ComPort.cpp b/server/scsynth/SC_ComPort.cpp +index 1e6f6d0784e..272eeebfbc2 100644 +--- a/server/scsynth/SC_ComPort.cpp ++++ b/server/scsynth/SC_ComPort.cpp +@@ -257,7 +257,7 @@ class SC_UdpInPort { + BOOST_AUTO(protocol, ip::udp::v4()); + udpSocket.open(protocol); + +- udpSocket.bind(ip::udp::endpoint(boost::asio::ip::address::from_string(bindTo), inPortNum)); ++ udpSocket.bind(ip::udp::endpoint(boost::asio::ip::make_address(bindTo), inPortNum)); + + boost::asio::socket_base::send_buffer_size option(65536); + udpSocket.set_option(option); +@@ -400,7 +400,7 @@ class SC_TcpInPort { + public: + SC_TcpInPort(struct World* world, const std::string& bindTo, int inPortNum, int inMaxConnections, int inBacklog): + mWorld(world), +- acceptor(ioContext, boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string(bindTo), inPortNum)), ++ acceptor(ioContext, boost::asio::ip::tcp::endpoint(boost::asio::ip::make_address(bindTo), inPortNum)), + mAvailableConnections(inMaxConnections) { + // FIXME: backlog??? + + +From 2cadfb7de577defb1664d7cc846d379721f13fa7 Mon Sep 17 00:00:00 2001 +From: Dennis Scheiba <g...@dennis-scheiba.com> +Date: Fri, 20 Dec 2024 00:16:23 +0100 +Subject: [PATCH 4/5] replace deprecated `io_context.post` with + `boost::asio::post` + +--- + lang/LangSource/SC_TerminalClient.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/lang/LangSource/SC_TerminalClient.cpp b/lang/LangSource/SC_TerminalClient.cpp +index 2c2a1a2eaac..551369304a9 100644 +--- a/lang/LangSource/SC_TerminalClient.cpp ++++ b/lang/LangSource/SC_TerminalClient.cpp +@@ -360,19 +360,19 @@ void SC_TerminalClient::onLibraryStartup() { + void SC_TerminalClient::sendSignal(Signal sig) { + switch (sig) { + case sig_input: +- mIoContext.post(boost::bind(&SC_TerminalClient::interpretInput, this)); ++ boost::asio::post(boost::bind(&SC_TerminalClient::interpretInput, this)); + break; + + case sig_recompile: +- mIoContext.post(boost::bind(&SC_TerminalClient::recompileLibrary, this)); ++ boost::asio::post(boost::bind(&SC_TerminalClient::recompileLibrary, this)); + break; + + case sig_sched: +- mIoContext.post(boost::bind(&SC_TerminalClient::tick, this, boost::system::error_code())); ++ boost::asio::post(boost::bind(&SC_TerminalClient::tick, this, boost::system::error_code())); + break; + + case sig_stop: +- mIoContext.post(boost::bind(&SC_TerminalClient::stopMain, this)); ++ boost::asio::post(boost::bind(&SC_TerminalClient::stopMain, this)); + break; + } + } + +From e085858742c1afcc9af9a3ecb6a98cc6f5a9269c Mon Sep 17 00:00:00 2001 +From: Dennis Scheiba <g...@dennis-scheiba.com> +Date: Fri, 20 Dec 2024 00:27:36 +0100 +Subject: [PATCH 5/5] replace deprecated `to_ulong` with `to_uint` + +--- + lang/LangPrimSource/OSCData.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lang/LangPrimSource/OSCData.cpp b/lang/LangPrimSource/OSCData.cpp +index bbb3caa8006..65229f1c3a7 100644 +--- a/lang/LangPrimSource/OSCData.cpp ++++ b/lang/LangPrimSource/OSCData.cpp +@@ -745,7 +745,7 @@ static PyrObject* ConvertReplyAddress(ReplyAddress* inReply) { + VMGlobals* g = gMainVMGlobals; + PyrObject* obj = instantiateObject(g->gc, s_netaddr->u.classobj, 2, true, false); + PyrSlot* slots = obj->slots; +- SetInt(slots + 0, inReply->mAddress.to_v4().to_ulong()); ++ SetInt(slots + 0, inReply->mAddress.to_v4().to_uint()); + SetInt(slots + 1, inReply->mPort); + return obj; + } diff --git a/media-sound/supercollider/files/supercollider-3.13.0-boost-1.87-2.patch b/media-sound/supercollider/files/supercollider-3.13.0-boost-1.87-2.patch new file mode 100644 index 000000000000..87fdefce19db --- /dev/null +++ b/media-sound/supercollider/files/supercollider-3.13.0-boost-1.87-2.patch @@ -0,0 +1,37 @@ +From 7d481eff478b1da1dc7048c90021f5fd7a83b35c Mon Sep 17 00:00:00 2001 +From: Dennis Scheiba <g...@dennis-scheiba.com> +Date: Wed, 15 Jan 2025 14:22:27 +0100 +Subject: [PATCH] fix asio post invocation for SC_TerminalClient + +--- + lang/LangSource/SC_TerminalClient.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/lang/LangSource/SC_TerminalClient.cpp b/lang/LangSource/SC_TerminalClient.cpp +index 551369304a9..330716467a3 100644 +--- a/lang/LangSource/SC_TerminalClient.cpp ++++ b/lang/LangSource/SC_TerminalClient.cpp +@@ -360,19 +360,19 @@ void SC_TerminalClient::onLibraryStartup() { + void SC_TerminalClient::sendSignal(Signal sig) { + switch (sig) { + case sig_input: +- boost::asio::post(boost::bind(&SC_TerminalClient::interpretInput, this)); ++ boost::asio::post(mIoContext, [this] { this->interpretInput(); }); + break; + + case sig_recompile: +- boost::asio::post(boost::bind(&SC_TerminalClient::recompileLibrary, this)); ++ boost::asio::post(mIoContext, [this] { this->recompileLibrary(); }); + break; + + case sig_sched: +- boost::asio::post(boost::bind(&SC_TerminalClient::tick, this, boost::system::error_code())); ++ boost::asio::post(mIoContext, [this] { this->tick(boost::system::error_code()); }); + break; + + case sig_stop: +- boost::asio::post(boost::bind(&SC_TerminalClient::stopMain, this)); ++ boost::asio::post(mIoContext, [this] { this->stopMain(); }); + break; + } + } diff --git a/media-sound/supercollider/supercollider-3.13.0-r2.ebuild b/media-sound/supercollider/supercollider-3.13.0-r2.ebuild index e31a4a33287e..568869c31a37 100644 --- a/media-sound/supercollider/supercollider-3.13.0-r2.ebuild +++ b/media-sound/supercollider/supercollider-3.13.0-r2.ebuild @@ -58,7 +58,8 @@ PATCHES=( "${FILESDIR}/${P}-boost-1.84.patch" # bug 921595 "${FILESDIR}/${P}-gcc-13.patch" # bug 905127 "${FILESDIR}/${P}-no-ccache.patch" # bug 922095 - "${WORKDIR}/${PN}-3.13.0-boost-1.85.patch" # bug 932793 + "${WORKDIR}/${P}-boost-1.85.patch" # bug 932793 + "${FILESDIR}"/${P}-boost-1.87-{1,2}.patch # bug 946624 ) src_configure() {