Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package PrusaSlicer for openSUSE:Factory checked in at 2025-02-27 14:50:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/PrusaSlicer (Old) and /work/SRC/openSUSE:Factory/.PrusaSlicer.new.25152 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "PrusaSlicer" Thu Feb 27 14:50:53 2025 rev:42 rq:1248801 version:2.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/PrusaSlicer/PrusaSlicer.changes 2025-02-10 17:52:11.681223178 +0100 +++ /work/SRC/openSUSE:Factory/.PrusaSlicer.new.25152/PrusaSlicer.changes 2025-02-27 14:53:58.752100654 +0100 @@ -1,0 +2,6 @@ +Wed Feb 26 21:18:52 UTC 2025 - Ben Greiner <c...@bnavigator.de> + +- Add prusaslicer-2.8.1-boost-1.87.0-asio.patch for new boost + * gh#prusa3d/PrusaSlicer#13799 gentoo#946495 + +------------------------------------------------------------------- New: ---- prusaslicer-2.8.1-boost-1.87.0-asio.patch BETA DEBUG BEGIN: New: - Add prusaslicer-2.8.1-boost-1.87.0-asio.patch for new boost * gh#prusa3d/PrusaSlicer#13799 gentoo#946495 BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ PrusaSlicer.spec ++++++ --- /var/tmp/diff_new_pack.2VGiIt/_old 2025-02-27 14:53:59.580135204 +0100 +++ /var/tmp/diff_new_pack.2VGiIt/_new 2025-02-27 14:53:59.584135371 +0100 @@ -27,6 +27,8 @@ Source0: https://github.com/prusa3d/PrusaSlicer/archive/version_%{version}.tar.gz#/%{name}-version_%{version}.tar.gz # PATCH-FIX-UPSTREAM PrusaSlicer-2.7.1-slic3r-wxWidgets-3.2.4.patch gh#prusa3d/PrusaSlicer#11769 Patch1: PrusaSlicer-2.7.1-slic3r-wxWidgets-3.2.4.patch +# PATCH-FIX-UPSTREAM prusaslicer-2.8.1-boost-1.87.0-asio.patch gh#prusa3d/PrusaSlicer#13799 gentoo#946495 +Patch2: prusaslicer-2.8.1-boost-1.87.0-asio.patch # PATCH-FIX-OPENSUSE PrusaSlicer-2.8.1-pr13761-fix-occtwrapper.patch gh#prusa3d/PrusaSlicer#13761 Patch10: PrusaSlicer-2.8.1-pr13761-fix-occtwrapper.patch # PATCH-FIX-OPENSUSE PrusaSlicer-2.6.0-octoprint-name-fix.patch -- cast lambda expression to same type ++++++ prusaslicer-2.8.1-boost-1.87.0-asio.patch ++++++ diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/libslic3r/GCodeSender.cpp PrusaSlicer-version_2.8.1-dwok/src/libslic3r/GCodeSender.cpp --- PrusaSlicer-version_2.8.1-orig/src/libslic3r/GCodeSender.cpp 2024-12-21 11:52:03.612595066 +0100 +++ PrusaSlicer-version_2.8.1-dwok/src/libslic3r/GCodeSender.cpp 2024-12-21 12:34:03.859507724 +0100 @@ -113,7 +113,7 @@ GCodeSender::connect(std::string devname this->io.post(boost::bind(&GCodeSender::do_read, this)); // start reading in the background thread - boost::thread t(boost::bind(&boost::asio::io_service::run, &this->io)); + boost::thread t(boost::bind(&boost::asio::io_context::run, &this->io)); this->background_thread.swap(t); // always send a M105 to check for connection because firmware might be silent on connect diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/libslic3r/GCodeSender.hpp PrusaSlicer-version_2.8.1-dwok/src/libslic3r/GCodeSender.hpp --- PrusaSlicer-version_2.8.1-orig/src/libslic3r/GCodeSender.hpp 2024-12-21 11:52:03.612595066 +0100 +++ PrusaSlicer-version_2.8.1-dwok/src/libslic3r/GCodeSender.hpp 2024-12-21 12:34:26.163427521 +0100 @@ -40,7 +40,7 @@ class GCodeSender : private boost::nonco void reset(); private: - asio::io_service io; + asio::io_context io; asio::serial_port serial; boost::thread background_thread; boost::asio::streambuf read_buffer, write_buffer; diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/GUI/FirmwareDialog.cpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/GUI/FirmwareDialog.cpp --- PrusaSlicer-version_2.8.1-orig/src/slic3r/GUI/FirmwareDialog.cpp 2024-12-21 11:52:03.632594994 +0100 +++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/GUI/FirmwareDialog.cpp 2024-12-21 12:33:40.507591681 +0100 @@ -429,7 +429,7 @@ void FirmwareDialog::priv::avr109_wait_f void FirmwareDialog::priv::avr109_reboot(const SerialPortInfo &port) { - asio::io_service io; + asio::io_context io; Serial serial(io, port.port, 1200); std::this_thread::sleep_for(std::chrono::milliseconds(50)); } diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Bonjour.cpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Bonjour.cpp --- PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Bonjour.cpp 2024-12-21 11:52:03.644594950 +0100 +++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Bonjour.cpp 2024-12-21 12:47:16.560667015 +0100 @@ -624,11 +624,11 @@ UdpSession::UdpSession(Bonjour::ReplyFn buffer.resize(DnsMessage::MAX_SIZE); } -UdpSocket::UdpSocket( Bonjour::ReplyFn replyfn, const asio::ip::address& multicast_address, const asio::ip::address& interface_address, std::shared_ptr< boost::asio::io_service > io_service) +UdpSocket::UdpSocket( Bonjour::ReplyFn replyfn, const asio::ip::address& multicast_address, const asio::ip::address& interface_address, std::shared_ptr< boost::asio::io_context > io_context) : replyfn(replyfn) , multicast_address(multicast_address) - , socket(*io_service) - , io_service(io_service) + , socket(*io_context) + , io_context(io_context) { try { // open socket @@ -658,11 +658,11 @@ UdpSocket::UdpSocket( Bonjour::ReplyFn r } -UdpSocket::UdpSocket( Bonjour::ReplyFn replyfn, const asio::ip::address& multicast_address, std::shared_ptr< boost::asio::io_service > io_service) +UdpSocket::UdpSocket( Bonjour::ReplyFn replyfn, const asio::ip::address& multicast_address, std::shared_ptr< boost::asio::io_context > io_context) : replyfn(replyfn) , multicast_address(multicast_address) - , socket(*io_service) - , io_service(io_service) + , socket(*io_context) + , io_context(io_context) { try { // open socket @@ -714,7 +714,7 @@ void UdpSocket::receive_handler(SharedSe // let io_service to handle the datagram on session // from boost documentation io_service::post: // The io_service guarantees that the handler will only be called in a thread in which the run(), run_one(), poll() or poll_one() member functions is currently being invoked. - io_service->post(boost::bind(&UdpSession::handle_receive, session, error, bytes)); + boost::asio::post(*io_context, boost::bind(&UdpSession::handle_receive, session, error, bytes)); // immediately accept new datagrams async_receive(); } @@ -871,13 +871,13 @@ void Bonjour::priv::lookup_perform() { service_dn = (boost::format("_%1%._%2%.local") % service % protocol).str(); - std::shared_ptr< boost::asio::io_service > io_service(new boost::asio::io_service); + std::shared_ptr< boost::asio::io_context > io_context(new boost::asio::io_context); std::vector<LookupSocket*> sockets; // resolve intefaces - from PR#6646 std::vector<boost::asio::ip::address> interfaces; - asio::ip::udp::resolver resolver(*io_service); + asio::ip::udp::resolver resolver(*io_context); boost::system::error_code ec; // ipv4 interfaces auto results = resolver.resolve(udp::v4(), asio::ip::host_name(), "", ec); @@ -890,12 +890,12 @@ void Bonjour::priv::lookup_perform() // create ipv4 socket for each interface // each will send to querry to for both ipv4 and ipv6 for (const auto& intrfc : interfaces) - sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP4, intrfc, io_service)); + sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP4, intrfc, io_context)); } else { BOOST_LOG_TRIVIAL(info) << "Failed to resolve ipv4 interfaces: " << ec.message(); } if (sockets.empty()) - sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP4, io_service)); + sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP4, io_context)); // ipv6 interfaces interfaces.clear(); //udp::resolver::query query(host, PORT, boost::asio::ip::resolver_query_base::numeric_service); @@ -910,9 +910,9 @@ void Bonjour::priv::lookup_perform() // create ipv6 socket for each interface // each will send to querry to for both ipv4 and ipv6 for (const auto& intrfc : interfaces) - sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP6, intrfc, io_service)); + sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP6, intrfc, io_context)); if (interfaces.empty()) - sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP6, io_service)); + sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP6, io_context)); } else { BOOST_LOG_TRIVIAL(info)<< "Failed to resolve ipv6 interfaces: " << ec.message(); } @@ -923,13 +923,13 @@ void Bonjour::priv::lookup_perform() socket->send(); // timer settings - asio::deadline_timer timer(*io_service); + asio::deadline_timer timer(*io_context); retries--; std::function<void(const error_code&)> timer_handler = [&](const error_code& error) { // end if (retries == 0 || error) { // is this correct ending? - io_service->stop(); + io_context->stop(); if (completefn) { completefn(); } @@ -947,7 +947,7 @@ void Bonjour::priv::lookup_perform() timer.expires_from_now(boost::posix_time::seconds(timeout)); timer.async_wait(timer_handler); // start io_service, it will run until it has something to do - so in this case until stop is called in timer - io_service->run(); + io_context->run(); } catch (std::exception& e) { BOOST_LOG_TRIVIAL(error) << e.what(); @@ -966,12 +966,12 @@ void Bonjour::priv::resolve_perform() rpls.push_back(reply); }; - std::shared_ptr< boost::asio::io_service > io_service(new boost::asio::io_service); + std::shared_ptr< boost::asio::io_context > io_context(new boost::asio::io_context); std::vector<ResolveSocket*> sockets; // resolve interfaces - from PR#6646 std::vector<boost::asio::ip::address> interfaces; - asio::ip::udp::resolver resolver(*io_service); + asio::ip::udp::resolver resolver(*io_context); boost::system::error_code ec; // ipv4 interfaces auto results = resolver.resolve(udp::v4(), asio::ip::host_name(), "", ec); @@ -984,12 +984,12 @@ void Bonjour::priv::resolve_perform() // create ipv4 socket for each interface // each will send to querry to for both ipv4 and ipv6 for (const auto& intrfc : interfaces) - sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP4, intrfc, io_service)); + sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP4, intrfc, io_context)); } else { BOOST_LOG_TRIVIAL(info) << "Failed to resolve ipv4 interfaces: " << ec.message(); } if (sockets.empty()) - sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP4, io_service)); + sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP4, io_context)); // ipv6 interfaces interfaces.clear(); @@ -1003,9 +1003,9 @@ void Bonjour::priv::resolve_perform() // create ipv6 socket for each interface // each will send to querry to for both ipv4 and ipv6 for (const auto& intrfc : interfaces) - sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP6, intrfc, io_service)); + sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP6, intrfc, io_context)); if (interfaces.empty()) - sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP6, io_service)); + sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP6, io_context)); } else { BOOST_LOG_TRIVIAL(info) << "Failed to resolve ipv6 interfaces: " << ec.message(); } @@ -1016,14 +1016,14 @@ void Bonjour::priv::resolve_perform() socket->send(); // timer settings - asio::deadline_timer timer(*io_service); + asio::deadline_timer timer(*io_context); retries--; std::function<void(const error_code&)> timer_handler = [&](const error_code& error) { int replies_count = replies.size(); // end if (retries == 0 || error || replies_count > 0) { // is this correct ending? - io_service->stop(); + io_context->stop(); if (replies_count > 0 && resolvefn) { resolvefn(replies); } @@ -1041,7 +1041,7 @@ void Bonjour::priv::resolve_perform() timer.expires_from_now(boost::posix_time::seconds(timeout)); timer.async_wait(timer_handler); // start io_service, it will run until it has something to do - so in this case until stop is called in timer - io_service->run(); + io_context->run(); } catch (std::exception& e) { BOOST_LOG_TRIVIAL(error) << e.what(); diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Bonjour.hpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Bonjour.hpp --- PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Bonjour.hpp 2024-12-21 11:52:03.644594950 +0100 +++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Bonjour.hpp 2024-12-21 12:23:16.573836269 +0100 @@ -155,11 +155,11 @@ public: UdpSocket(Bonjour::ReplyFn replyfn , const boost::asio::ip::address& multicast_address , const boost::asio::ip::address& interface_address - , std::shared_ptr< boost::asio::io_service > io_service); + , std::shared_ptr< boost::asio::io_context > io_context); UdpSocket(Bonjour::ReplyFn replyfn , const boost::asio::ip::address& multicast_address - , std::shared_ptr< boost::asio::io_service > io_service); + , std::shared_ptr< boost::asio::io_context > io_context); void send(); void async_receive(); @@ -172,7 +172,7 @@ protected: boost::asio::ip::address multicast_address; boost::asio::ip::udp::socket socket; boost::asio::ip::udp::endpoint mcast_endpoint; - std::shared_ptr< boost::asio::io_service > io_service; + std::shared_ptr< boost::asio::io_context > io_context; std::vector<BonjourRequest> requests; }; @@ -186,8 +186,8 @@ public: , Bonjour::ReplyFn replyfn , const boost::asio::ip::address& multicast_address , const boost::asio::ip::address& interface_address - , std::shared_ptr< boost::asio::io_service > io_service) - : UdpSocket(replyfn, multicast_address, interface_address, io_service) + , std::shared_ptr< boost::asio::io_context > io_context) + : UdpSocket(replyfn, multicast_address, interface_address, io_context) , txt_keys(txt_keys) , service(service) , service_dn(service_dn) @@ -203,8 +203,8 @@ public: , std::string protocol , Bonjour::ReplyFn replyfn , const boost::asio::ip::address& multicast_address - , std::shared_ptr< boost::asio::io_service > io_service) - : UdpSocket(replyfn, multicast_address, io_service) + , std::shared_ptr< boost::asio::io_context > io_context) + : UdpSocket(replyfn, multicast_address, io_context) , txt_keys(txt_keys) , service(service) , service_dn(service_dn) @@ -241,8 +241,8 @@ public: , Bonjour::ReplyFn replyfn , const boost::asio::ip::address& multicast_address , const boost::asio::ip::address& interface_address - , std::shared_ptr< boost::asio::io_service > io_service) - : UdpSocket(replyfn, multicast_address, interface_address, io_service) + , std::shared_ptr< boost::asio::io_context > io_context) + : UdpSocket(replyfn, multicast_address, interface_address, io_context) , hostname(hostname) { @@ -253,8 +253,8 @@ public: ResolveSocket(const std::string& hostname , Bonjour::ReplyFn replyfn , const boost::asio::ip::address& multicast_address - , std::shared_ptr< boost::asio::io_service > io_service) - : UdpSocket(replyfn, multicast_address, io_service) + , std::shared_ptr< boost::asio::io_context > io_context) + : UdpSocket(replyfn, multicast_address, io_context) , hostname(hostname) { diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Serial.cpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Serial.cpp --- PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Serial.cpp 2024-12-21 11:52:03.644594950 +0100 +++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Serial.cpp 2024-12-21 11:59:40.018945840 +0100 @@ -282,12 +282,12 @@ std::vector<std::string> scan_serial_por namespace asio = boost::asio; using boost::system::error_code; -Serial::Serial(asio::io_service& io_service) : - asio::serial_port(io_service) +Serial::Serial(asio::io_context &io_context) : + asio::serial_port(io_context) {} -Serial::Serial(asio::io_service& io_service, const std::string &name, unsigned baud_rate) : - asio::serial_port(io_service, name) +Serial::Serial(asio::io_context &io_context, const std::string &name, unsigned baud_rate) : + asio::serial_port(io_context, name) { set_baud_rate(baud_rate); } @@ -390,19 +390,19 @@ void Serial::reset_line_num() bool Serial::read_line(unsigned timeout, std::string &line, error_code &ec) { - auto& io_service = + auto& io_context = #if BOOST_VERSION >= 107000 //FIXME this is most certainly wrong! (boost::asio::io_context&)this->get_executor().context(); #else this->get_io_service(); #endif - asio::deadline_timer timer(io_service); + asio::deadline_timer timer(io_context); char c = 0; bool fail = false; while (true) { - io_service.reset(); + io_context.reset(); asio::async_read(*this, boost::asio::buffer(&c, 1), [&](const error_code &read_ec, size_t size) { if (ec || size == 0) { @@ -423,7 +423,7 @@ bool Serial::read_line(unsigned timeout, }); } - io_service.run(); + io_context.run(); if (fail) { return false; diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Serial.hpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Serial.hpp --- PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Serial.hpp 2024-12-21 11:52:03.644594950 +0100 +++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Serial.hpp 2024-12-21 11:55:33.283837413 +0100 @@ -43,8 +43,8 @@ extern std::vector<SerialPortInfo> scan class Serial : public boost::asio::serial_port { public: - Serial(boost::asio::io_service &io_service); - Serial(boost::asio::io_service &io_service, const std::string &name, unsigned baud_rate); + Serial(boost::asio::io_context &io_context); + Serial(boost::asio::io_context &io_context, const std::string &name, unsigned baud_rate); Serial(const Serial &) = delete; Serial &operator=(const Serial &) = delete; ~Serial(); diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/TCPConsole.cpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/TCPConsole.cpp --- PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/TCPConsole.cpp 2024-12-21 11:52:03.644594950 +0100 +++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/TCPConsole.cpp 2024-12-21 13:00:56.377754763 +0100 @@ -9,6 +9,7 @@ #include <boost/asio/read_until.hpp> #include <boost/asio/steady_timer.hpp> #include <boost/asio/write.hpp> +#include <boost/asio/connect.hpp> #include <boost/bind/bind.hpp> #include <boost/format.hpp> #include <boost/log/trivial.hpp> @@ -161,7 +162,7 @@ bool TCPConsole::run_queue() auto endpoints = m_resolver.resolve(m_host_name, m_port_name); - m_socket.async_connect(endpoints->endpoint(), + boost::asio::async_connect(m_socket, endpoints, boost::bind(&TCPConsole::handle_connect, this, boost::placeholders::_1) );