summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-12-29 23:23:18 +0000
committerSam James <sam@gentoo.org>2022-12-29 23:23:18 +0000
commit08c2a7b554707f11b129914ff64c78256a782ffd (patch)
treeca940c8232f0e4cf3fdbda8bdca39b3af15efb84 /media-sound/snapcast
parentsci-libs/libqalculate: Stabilize 4.3.0 arm64, #888908 (diff)
downloadgentoo-08c2a7b554707f11b129914ff64c78256a782ffd.tar.gz
gentoo-08c2a7b554707f11b129914ff64c78256a782ffd.tar.bz2
gentoo-08c2a7b554707f11b129914ff64c78256a782ffd.zip
media-sound/snapcast: fix build w/ boost-1.81
Closes: https://bugs.gentoo.org/886585 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-sound/snapcast')
-rw-r--r--media-sound/snapcast/files/snapcast-0.26.0-boost-1.81.patch51
-rw-r--r--media-sound/snapcast/snapcast-0.26.0-r2.ebuild73
2 files changed, 124 insertions, 0 deletions
diff --git a/media-sound/snapcast/files/snapcast-0.26.0-boost-1.81.patch b/media-sound/snapcast/files/snapcast-0.26.0-boost-1.81.patch
new file mode 100644
index 000000000000..d9d691060b42
--- /dev/null
+++ b/media-sound/snapcast/files/snapcast-0.26.0-boost-1.81.patch
@@ -0,0 +1,51 @@
+https://bugs.gentoo.org/886585
+https://github.com/badaix/snapcast/commit/853c3f622ff2262b56681ee04dd20b4266c72493
+https://github.com/badaix/snapcast/issues/1082
+
+From 853c3f622ff2262b56681ee04dd20b4266c72493 Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Wed, 21 Dec 2022 11:31:29 +0000
+Subject: [PATCH] server/control_session_http: update for boost 1.81.0
+
+Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
+--- a/server/control_session_http.cpp
++++ b/server/control_session_http.cpp
+@@ -127,8 +127,8 @@ boost::beast::string_view mime_type(boost::beast::string_view path)
+ std::string path_cat(boost::beast::string_view base, boost::beast::string_view path)
+ {
+ if (base.empty())
+- return path.to_string();
+- std::string result = base.to_string();
++ return static_cast<std::string>(path);
++ std::string result = static_cast<std::string>(base);
+ char constexpr path_separator = '/';
+ if (result.back() == path_separator)
+ result.resize(result.size() - 1);
+@@ -171,7 +171,7 @@ void ControlSessionHttp::handle_request(http::request<Body, http::basic_fields<A
+ res.set(http::field::server, HTTP_SERVER_NAME);
+ res.set(http::field::content_type, "text/html");
+ res.keep_alive(req.keep_alive());
+- res.body() = why.to_string();
++ res.body() = static_cast<std::string>(why);
+ res.prepare_payload();
+ return res;
+ };
+@@ -182,7 +182,7 @@ void ControlSessionHttp::handle_request(http::request<Body, http::basic_fields<A
+ res.set(http::field::server, HTTP_SERVER_NAME);
+ res.set(http::field::content_type, "text/html");
+ res.keep_alive(req.keep_alive());
+- res.body() = "The resource '" + target.to_string() + "' was not found.";
++ res.body() = "The resource '" + static_cast<std::string>(target) + "' was not found.";
+ res.prepare_payload();
+ return res;
+ };
+@@ -204,7 +204,7 @@ void ControlSessionHttp::handle_request(http::request<Body, http::basic_fields<A
+ res.set(http::field::server, HTTP_SERVER_NAME);
+ res.set(http::field::content_type, "text/html");
+ res.keep_alive(req.keep_alive());
+- res.body() = "An error occurred: '" + what.to_string() + "'";
++ res.body() = "An error occurred: '" + static_cast<std::string>(what) + "'";
+ res.prepare_payload();
+ return res;
+ };
+
diff --git a/media-sound/snapcast/snapcast-0.26.0-r2.ebuild b/media-sound/snapcast/snapcast-0.26.0-r2.ebuild
new file mode 100644
index 000000000000..cd5cede0e1b4
--- /dev/null
+++ b/media-sound/snapcast/snapcast-0.26.0-r2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2022 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 +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:= )
+ 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}-boost-1.81.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CLIENT=$(usex client)
+ -DBUILD_WITH_EXPAT=$(usex expat)
+ -DBUILD_WITH_FLAC=$(usex flac)
+ -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
+}