commit: 086a0e3fe48ace4134ba9bec2822cb2e9f080014 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Thu May 15 08:35:05 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu May 15 08:36:37 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=086a0e3f
media-sound/snapcast: add 0.31.0 * Fix build w/ boost-1.88 * Wire up tests * Drop automagic lint (cppcheck etc) Closes: https://bugs.gentoo.org/955544 Signed-off-by: Sam James <sam <AT> gentoo.org> media-sound/snapcast/Manifest | 1 + .../files/snapcast-0.31.0-boost-1.88.patch | 56 +++++++++++++++ .../snapcast/files/snapcast-0.31.0-drop-lint.patch | 12 ++++ media-sound/snapcast/snapcast-0.31.0.ebuild | 84 ++++++++++++++++++++++ 4 files changed, 153 insertions(+) diff --git a/media-sound/snapcast/Manifest b/media-sound/snapcast/Manifest index 743fc6bffc9f..a29f654f440f 100644 --- a/media-sound/snapcast/Manifest +++ b/media-sound/snapcast/Manifest @@ -1,2 +1,3 @@ DIST snapcast-0.27.0.tar.gz 1566337 BLAKE2B 77183cd2496beaf6808f8c1ff030cdb1e483c86ebafd57d0c75daa2dfe31030f0dd9704db40e2c0780b85c2b346e121ccd16c1cb75dea1f80e9834d3ae100fb8 SHA512 fd86f5b0d38bf308eb9cc1f3024676471176355a8cc91ee8c8d2dfe1aa0cde99fc7636133071b50304fe66ea42dee996e0088e013be7fa703f21c5bc2a35cfdd DIST snapcast-0.29.0.tar.gz 1202943 BLAKE2B 0fb3c4b54dfd5fb16f7a17134a03288390c6d1b06c2c93bd7b495f0ff2f650d6caffab8b369703f38ca5764038470c3066794955259d419ea7ac4eff41e177d5 SHA512 4c88c20514e81f0ec861716a81047cb441669c0c23821acd959938cf00d85c37eec28a689a3c192f78fcb21accdbd6ef4520ef3f9995ff48ff07cb33e00b6904 +DIST snapcast-0.31.0.tar.gz 1128037 BLAKE2B 82444e9fc75e82b5f57e3e115a8bfbde2a5839bc68e25db47df0f25675cf73a836f2e8b09afb077410bd3c36917abb17ce302c18b67b440567c55b673301e7f5 SHA512 9c3eef7a18aaf6479a96810aeb58d11cc87654021d8d07b29f9b623c70bd7fd9aa08f5dee430c11de72abafa1a1b5abe500b93eef4b17b7c56df55c2f2a29867 diff --git a/media-sound/snapcast/files/snapcast-0.31.0-boost-1.88.patch b/media-sound/snapcast/files/snapcast-0.31.0-boost-1.88.patch new file mode 100644 index 000000000000..a8ec1dba89b3 --- /dev/null +++ b/media-sound/snapcast/files/snapcast-0.31.0-boost-1.88.patch @@ -0,0 +1,56 @@ +https://bugs.gentoo.org/955544 +https://github.com/tobster/snapcast/commit/fe0af5ec5eb47c7a6efd75cc2f252eb81c1f6129 + +From fe0af5ec5eb47c7a6efd75cc2f252eb81c1f6129 Mon Sep 17 00:00:00 2001 +From: Tobias Hochwallner <[email protected]> +Date: Wed, 7 May 2025 22:42:07 +0200 +Subject: [PATCH] Build failure with boost 1.88.0 #1367 fix compilation errors + by including the deprecated boost process v1 APIs + +--- + client/player/player.cpp | 6 +++++- + server/streamreader/stream_control.hpp | 8 +++++--- + 2 files changed, 10 insertions(+), 4 deletions(-) + +diff --git a/client/player/player.cpp b/client/player/player.cpp +index 933a356b..8e2bbdc3 100644 +--- a/client/player/player.cpp ++++ b/client/player/player.cpp +@@ -27,7 +27,11 @@ + + // 3rd party headers + #ifdef SUPPORTS_VOLUME_SCRIPT +-#include <boost/process.hpp> ++#define BOOST_PROCESS_VERSION 1 ++#include <boost/process/v1/args.hpp> ++#include <boost/process/v1/child.hpp> ++#include <boost/process/v1/detail/on_exit.hpp> ++#include <boost/process/v1/exe.hpp> + #endif + + // standard headers +diff --git a/server/streamreader/stream_control.hpp b/server/streamreader/stream_control.hpp +index 32578fee..1b7894a5 100644 +--- a/server/streamreader/stream_control.hpp ++++ b/server/streamreader/stream_control.hpp +@@ -18,14 +18,16 @@ + + #pragma once + +- + // local headers + #include "jsonrpcpp.hpp" + #include "server_settings.hpp" + + // 3rd party headers +-#include <boost/asio/any_io_executor.hpp> +-#include <boost/process.hpp> ++#define BOOST_PROCESS_VERSION 1 ++#include <boost/asio.hpp> ++#include <boost/process/v1/io.hpp> ++#include <boost/process/v1/start_dir.hpp> ++#include <boost/process/v1/system.hpp> + + // standard headers + #include <filesystem> + diff --git a/media-sound/snapcast/files/snapcast-0.31.0-drop-lint.patch b/media-sound/snapcast/files/snapcast-0.31.0-drop-lint.patch new file mode 100644 index 000000000000..36f687baf651 --- /dev/null +++ b/media-sound/snapcast/files/snapcast-0.31.0-drop-lint.patch @@ -0,0 +1,12 @@ +We don't want any automagic lint probing. +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -85,8 +85,6 @@ else() + endif() + + include(GNUInstallDirs) +-include(${CMAKE_SOURCE_DIR}/cmake/cppcheck.cmake) +-include(${CMAKE_SOURCE_DIR}/cmake/reformat.cmake) + + if(NOT WIN32) + option(BUILD_SERVER "Build Snapserver" ON) # no Windows server for now diff --git a/media-sound/snapcast/snapcast-0.31.0.ebuild b/media-sound/snapcast/snapcast-0.31.0.ebuild new file mode 100644 index 000000000000..33fa82a6e306 --- /dev/null +++ b/media-sound/snapcast/snapcast-0.31.0.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo 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 test tremor +vorbis +zeroconf" +REQUIRED_USE="|| ( server client )" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/boost:= + dev-libs/openssl:= + 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 + test? ( >=dev-cpp/catch-3:0 ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.31.0-boost-1.88.patch + "${FILESDIR}"/${PN}-0.31.0-drop-lint.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=$(usex test) + -DBUILD_WITH_TREMOR=$(usex tremor) + -DBUILD_WITH_VORBIS=$(usex vorbis) + -DBUILD_WITH_AVAHI=$(usex zeroconf) + -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc" + ) + + cmake_src_configure +} + +src_test() { + cmake_src_test + edo "${S}"/bin/snapcast_test +} + +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 +}
