From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/snapcast/files/, media-sound/snapcast/
Date: Thu, 26 Dec 2024 07:09:57 +0000 (UTC) [thread overview]
Message-ID: <1735196937.34c40880d91fb64e933819d028872048ba353ba8.sam@gentoo> (raw)
commit: 34c40880d91fb64e933819d028872048ba353ba8
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 26 07:07:34 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 26 07:08:57 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34c40880
media-sound/snapcast: add 0.29.0
* Include post-tag patches for Boost 1.87 compat
* Add USE=jack
Closes: https://bugs.gentoo.org/946236
Closes: https://bugs.gentoo.org/946459
Signed-off-by: Sam James <sam <AT> gentoo.org>
media-sound/snapcast/Manifest | 1 +
...snapcast-0.29.0-boost-1.87.0-make_address.patch | 96 ++++++++++++++++++++++
.../files/snapcast-0.29.0-boost-1.87.0.patch | 51 ++++++++++++
.../files/snapcast-0.29.0-resampler-include.patch | 25 ++++++
media-sound/snapcast/snapcast-0.29.0.ebuild | 77 +++++++++++++++++
5 files changed, 250 insertions(+)
diff --git a/media-sound/snapcast/Manifest b/media-sound/snapcast/Manifest
index d45a494a4445..743fc6bffc9f 100644
--- a/media-sound/snapcast/Manifest
+++ b/media-sound/snapcast/Manifest
@@ -1 +1,2 @@
DIST snapcast-0.27.0.tar.gz 1566337 BLAKE2B 77183cd2496beaf6808f8c1ff030cdb1e483c86ebafd57d0c75daa2dfe31030f0dd9704db40e2c0780b85c2b346e121ccd16c1cb75dea1f80e9834d3ae100fb8 SHA512 fd86f5b0d38bf308eb9cc1f3024676471176355a8cc91ee8c8d2dfe1aa0cde99fc7636133071b50304fe66ea42dee996e0088e013be7fa703f21c5bc2a35cfdd
+DIST snapcast-0.29.0.tar.gz 1202943 BLAKE2B 0fb3c4b54dfd5fb16f7a17134a03288390c6d1b06c2c93bd7b495f0ff2f650d6caffab8b369703f38ca5764038470c3066794955259d419ea7ac4eff41e177d5 SHA512 4c88c20514e81f0ec861716a81047cb441669c0c23821acd959938cf00d85c37eec28a689a3c192f78fcb21accdbd6ef4520ef3f9995ff48ff07cb33e00b6904
diff --git a/media-sound/snapcast/files/snapcast-0.29.0-boost-1.87.0-make_address.patch b/media-sound/snapcast/files/snapcast-0.29.0-boost-1.87.0-make_address.patch
new file mode 100644
index 000000000000..03190a4e20e3
--- /dev/null
+++ b/media-sound/snapcast/files/snapcast-0.29.0-boost-1.87.0-make_address.patch
@@ -0,0 +1,96 @@
+https://github.com/badaix/snapcast/commit/b2fd2bf9ef835104a813c40c190d71e3644125d7
+
+From b2fd2bf9ef835104a813c40c190d71e3644125d7 Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Thu, 19 Dec 2024 02:23:11 +1100
+Subject: [PATCH] use make_address from boost as from_string is deprecated
+ (#1308)
+
+Since boost 1.87.0 boost::asio::ip::address::from_string is no longer available
+
+ref: https://github.com/boostorg/asio/commit/c0d1cfce7767599c4cf00df36f8017a1073339ae
+
+fixes:
+ ../server/control_server.cpp: In member function 'void ControlServer::start()':
+ ../server/control_server.cpp:164:111: error: 'from_string' is not a member of 'boost::asio::ip::address'
+ 164 | tcp::endpoint(boost::asio::ip::address::from_string(address), tcp_settings_.port)));
+ | ^~~~~~~~~~~
+ ../server/control_server.cpp:180:112: error: 'from_string' is not a member of 'boost::asio::ip::address'
+ 180 | tcp::endpoint(boost::asio::ip::address::from_string(address), http_settings_.port)));
+ | ^~~~~~~~~~~
+ ../server/streamreader/tcp_stream.cpp: In constructor 'streamreader::TcpStream::TcpStream(streamreader::PcmStream::Listener*, boost::asio::io_context&, const ServerSettings&, const streamreader::StreamUri&)':
+ ../server/streamreader/tcp_stream.cpp:67:97: error: 'from_string' is not a member of 'boost::asio::ip::address'
+ 67 | acceptor_ = make_unique<tcp::acceptor>(strand_, tcp::endpoint(boost::asio::ip::address::from_string(host_), port_));
+ | ^~~~~~~~~~~
+ ../server/streamreader/tcp_stream.cpp: In member function 'virtual void streamreader::TcpStream::connect()':
+ ../server/streamreader/tcp_stream.cpp:96:75: error: 'from_string' is not a member of 'boost::asio::ip::address'
+ 96 | boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::address::from_string(host_), port_);
+ | ^~~~~~~~~~~
+ ../server/stream_server.cpp: In member function 'void StreamServer::start()':
+ ../server/stream_server.cpp:234:103: error: 'from_string' is not a member of 'boost::asio::ip::address'
+ 234 | tcp::endpoint(boost::asio::ip::address::from_string(address), settings_.stream.port)));
+ |
+---
+ server/control_server.cpp | 4 ++--
+ server/stream_server.cpp | 2 +-
+ server/streamreader/tcp_stream.cpp | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/server/control_server.cpp b/server/control_server.cpp
+index 03b2db76..7945855b 100644
+--- a/server/control_server.cpp
++++ b/server/control_server.cpp
+@@ -161,7 +161,7 @@ void ControlServer::start()
+ {
+ LOG(INFO, LOG_TAG) << "Creating TCP acceptor for address: " << address << ", port: " << tcp_settings_.port << "\n";
+ acceptor_tcp_.emplace_back(make_unique<tcp::acceptor>(boost::asio::make_strand(io_context_.get_executor()),
+- tcp::endpoint(boost::asio::ip::address::from_string(address), tcp_settings_.port)));
++ tcp::endpoint(boost::asio::ip::make_address(address), tcp_settings_.port)));
+ }
+ catch (const boost::system::system_error& e)
+ {
+@@ -177,7 +177,7 @@ void ControlServer::start()
+ {
+ LOG(INFO, LOG_TAG) << "Creating HTTP acceptor for address: " << address << ", port: " << http_settings_.port << "\n";
+ acceptor_http_.emplace_back(make_unique<tcp::acceptor>(boost::asio::make_strand(io_context_.get_executor()),
+- tcp::endpoint(boost::asio::ip::address::from_string(address), http_settings_.port)));
++ tcp::endpoint(boost::asio::ip::make_address(address), http_settings_.port)));
+ }
+ catch (const boost::system::system_error& e)
+ {
+diff --git a/server/stream_server.cpp b/server/stream_server.cpp
+index 718e744f..ad2fec2c 100644
+--- a/server/stream_server.cpp
++++ b/server/stream_server.cpp
+@@ -231,7 +231,7 @@ void StreamServer::start()
+ {
+ LOG(INFO, LOG_TAG) << "Creating stream acceptor for address: " << address << ", port: " << settings_.stream.port << "\n";
+ acceptor_.emplace_back(make_unique<tcp::acceptor>(boost::asio::make_strand(io_context_.get_executor()),
+- tcp::endpoint(boost::asio::ip::address::from_string(address), settings_.stream.port)));
++ tcp::endpoint(boost::asio::ip::make_address(address), settings_.stream.port)));
+ }
+ catch (const boost::system::system_error& e)
+ {
+diff --git a/server/streamreader/tcp_stream.cpp b/server/streamreader/tcp_stream.cpp
+index 1ec68d6b..ed3fd75e 100644
+--- a/server/streamreader/tcp_stream.cpp
++++ b/server/streamreader/tcp_stream.cpp
+@@ -64,7 +64,7 @@ TcpStream::TcpStream(PcmStream::Listener* pcmListener, boost::asio::io_context&
+
+ LOG(INFO, LOG_TAG) << "TcpStream host: " << host_ << ", port: " << port_ << ", is server: " << is_server_ << "\n";
+ if (is_server_)
+- acceptor_ = make_unique<tcp::acceptor>(strand_, tcp::endpoint(boost::asio::ip::address::from_string(host_), port_));
++ acceptor_ = make_unique<tcp::acceptor>(strand_, tcp::endpoint(boost::asio::ip::make_address(host_), port_));
+ }
+
+
+@@ -93,7 +93,7 @@ void TcpStream::connect()
+ else
+ {
+ stream_ = make_unique<tcp::socket>(strand_);
+- boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::address::from_string(host_), port_);
++ boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::make_address(host_), port_);
+ stream_->async_connect(endpoint,
+ [this](const boost::system::error_code& ec)
+ {
+
diff --git a/media-sound/snapcast/files/snapcast-0.29.0-boost-1.87.0.patch b/media-sound/snapcast/files/snapcast-0.29.0-boost-1.87.0.patch
new file mode 100644
index 000000000000..d1be4b4072db
--- /dev/null
+++ b/media-sound/snapcast/files/snapcast-0.29.0-boost-1.87.0.patch
@@ -0,0 +1,51 @@
+https://github.com/badaix/snapcast/commit/6190041e863968d76b6d16140bba90be6dff848f
+
+From 6190041e863968d76b6d16140bba90be6dff848f Mon Sep 17 00:00:00 2001
+From: badaix <johannes.pohl@badaix.de>
+Date: Thu, 19 Dec 2024 21:36:08 +0100
+Subject: [PATCH] Fix compilation with boost v1.87.0
+
+---
+ client/client_connection.cpp | 5 ++---
+ server/stream_session_ws.cpp | 2 +-
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/client/client_connection.cpp b/client/client_connection.cpp
+index 53825864..6f34a018 100644
+--- a/client/client_connection.cpp
++++ b/client/client_connection.cpp
+@@ -124,10 +124,9 @@ std::string ClientConnection::getMacAddress()
+
+ void ClientConnection::connect(const ResultHandler& handler)
+ {
+- tcp::resolver::query query(server_.host, cpt::to_string(server_.port), boost::asio::ip::resolver_query_base::numeric_service);
+ boost::system::error_code ec;
+ LOG(INFO, LOG_TAG) << "Resolving host IP for: " << server_.host << "\n";
+- auto iterator = resolver_.resolve(query, ec);
++ auto iterator = resolver_.resolve(server_.host, cpt::to_string(server_.port), boost::asio::ip::resolver_query_base::numeric_service, ec);
+ if (ec)
+ {
+ LOG(ERROR, LOG_TAG) << "Failed to resolve host '" << server_.host << "', error: " << ec.message() << "\n";
+@@ -141,7 +140,7 @@ void ClientConnection::connect(const ResultHandler& handler)
+ for (const auto& iter : iterator)
+ {
+ LOG(INFO, LOG_TAG) << "Connecting to " << iter.endpoint() << "\n";
+- socket_.connect(*iterator, ec);
++ socket_.connect(iter, ec);
+ if (!ec || (ec == boost::system::errc::interrupted))
+ {
+ // We were successful or interrupted, e.g. by sig int
+diff --git a/server/stream_session_ws.cpp b/server/stream_session_ws.cpp
+index 5f666618..117603f6 100644
+--- a/server/stream_session_ws.cpp
++++ b/server/stream_session_ws.cpp
+@@ -114,7 +114,7 @@ void StreamSessionWebsocket::on_read_ws(beast::error_code ec, std::size_t bytes_
+ return;
+ }
+
+- auto* data = boost::asio::buffer_cast<char*>(buffer_.data());
++ auto* data = static_cast<char*>(buffer_.data().data());
+ baseMessage_.deserialize(data);
+ LOG(DEBUG, LOG_TAG) << "getNextMessage: " << baseMessage_.type << ", size: " << baseMessage_.size << ", id: " << baseMessage_.id
+ << ", refers: " << baseMessage_.refersTo << "\n";
+
diff --git a/media-sound/snapcast/files/snapcast-0.29.0-resampler-include.patch b/media-sound/snapcast/files/snapcast-0.29.0-resampler-include.patch
new file mode 100644
index 000000000000..296a5d61db86
--- /dev/null
+++ b/media-sound/snapcast/files/snapcast-0.29.0-resampler-include.patch
@@ -0,0 +1,25 @@
+https://github.com/badaix/snapcast/commit/f6ce4f3fbb3c797f5d92578d7bc8df547ad4cd64
+
+From f6ce4f3fbb3c797f5d92578d7bc8df547ad4cd64 Mon Sep 17 00:00:00 2001
+From: Johannes Pohl <johannes.pohl@badaix.de>
+Date: Wed, 11 Dec 2024 15:50:11 +0100
+Subject: [PATCH] Add missing include in resampler.cpp
+
+This fixes issue #1295
+---
+ common/resampler.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/common/resampler.cpp b/common/resampler.cpp
+index 1d5d698a..9548c957 100644
+--- a/common/resampler.cpp
++++ b/common/resampler.cpp
+@@ -21,6 +21,7 @@
+
+ // local headers
+ #include "common/aixlog.hpp"
++#include "common/snap_exception.hpp"
+
+ // standard headers
+ #include <cmath>
+
diff --git a/media-sound/snapcast/snapcast-0.29.0.ebuild b/media-sound/snapcast/snapcast-0.29.0.ebuild
new file mode 100644
index 000000000000..cb0c73fe0d29
--- /dev/null
+++ b/media-sound/snapcast/snapcast-0.29.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Synchronous multi-room audio player"
+HOMEPAGE="https://github.com/badaix/snapcast"
+SRC_URI="https://github.com/badaix/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~x86"
+IUSE="+client +expat +flac jack +opus +server tremor +vorbis +zeroconf"
+REQUIRED_USE="|| ( server client )"
+
+RDEPEND="
+ dev-libs/boost:=
+ media-libs/alsa-lib
+ client? ( acct-user/snapclient )
+ expat? ( dev-libs/expat )
+ flac? ( media-libs/flac:= )
+ jack? ( virtual/jack )
+ opus? ( media-libs/opus )
+ server? (
+ acct-group/snapserver
+ acct-user/snapserver
+ )
+ tremor? ( media-libs/tremor )
+ vorbis? ( media-libs/libvorbis )
+ zeroconf? ( net-dns/avahi[dbus] )
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-cpp/aixlog-1.2.1
+ >=dev-cpp/asio-1.12.1
+ >=dev-cpp/popl-1.2.0
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-resampler-include.patch
+ "${FILESDIR}"/${P}-boost-1.87.0-make_address.patch
+ "${FILESDIR}"/${P}-boost-1.87.0.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CLIENT=$(usex client)
+ -DBUILD_WITH_EXPAT=$(usex expat)
+ -DBUILD_WITH_FLAC=$(usex flac)
+ -DBUILD_WITH_JACK=$(usex jack)
+ -DBUILD_WITH_OPUS=$(usex opus)
+ -DBUILD_SERVER=$(usex server)
+ -DBUILD_STATIC_LIBS=no
+ -DBUILD_TESTS=no
+ -DBUILD_WITH_TREMOR=$(usex tremor)
+ -DBUILD_WITH_VORBIS=$(usex vorbis)
+ -DBUILD_WITH_AVAHI=$(usex zeroconf)
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ for bin in server client ; do
+ if use ${bin} ; then
+ doman "${bin}/snap${bin}.1"
+
+ newconfd "${FILESDIR}/snap${bin}.confd" "snap${bin}"
+ newinitd "${FILESDIR}/snap${bin}.initd" "snap${bin}"
+ fi
+ done
+}
next reply other threads:[~2024-12-26 7:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-26 7:09 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-04-03 7:33 [gentoo-commits] repo/gentoo:master commit in: media-sound/snapcast/files/, media-sound/snapcast/ Jakov Smolić
2022-12-29 23:25 Sam James
2021-04-29 11:46 Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1735196937.34c40880d91fb64e933819d028872048ba353ba8.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox