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
+}

Reply via email to