mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
media-sound/supercollider: Fix build w/ boost-1.87
Closes: https://bugs.gentoo.org/946624 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
@@ -0,0 +1,584 @@
|
||||
From 1bdc50ab4172c229e130120e9e075e5c3319f9f0 Mon Sep 17 00:00:00 2001
|
||||
From: Dennis Scheiba <git@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 <git@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 <git@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 <git@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 <git@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;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
From 7d481eff478b1da1dc7048c90021f5fd7a83b35c Mon Sep 17 00:00:00 2001
|
||||
From: Dennis Scheiba <git@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;
|
||||
}
|
||||
}
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user