11 Commits

Author SHA1 Message Date
Szabolcs Hubai
ba55134a1a snapcast: update to v0.34.0
A straightforward update from 0.28.0 (2024-03-19, [1])
to 0.34.0 (2025-10-12, [2]) with almost 400 commits. [3]

Notable change is the configurable OpenSSL support (BUILD_WITH_SSL)
for both snapserver and snapclient.
They will be enabled once I introduce the flavours.

In the mean time upsteam moved to it's own organization. [4]

Upstream changelog:
https://github.com/snapcast/snapcast/blob/v0.34.0/changelog.md

[1]: https://github.com/snapcast/snapcast/releases/tag/v0.28.0
[2]: https://github.com/snapcast/snapcast/releases/tag/v0.34.0
[3]: https://github.com/snapcast/snapcast/compare/v0.28.0...v0.34.0
[4]: https://github.com/snapcast

Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
2025-12-08 18:41:56 +01:00
Szabolcs Hubai
a77e5889bc snapcast: define ALSA support explicitly
As Hannu Nyman pointed out, in some cases the build of the package is
able to fail:

Package snapserver is missing dependencies for the following libraries:
libasound.so.2

He said: on some build runs, alsa is built (as required by other
packages), and if it is built before snapcast, it may be detected,
if the feature is not explicitly disabled in CMakeLists.txt.

Also: "I think that you could drop that AUDIO_SUPPORT conditional.
AUDIO_SUPPORT is selected e.g. if USB_SUPPORT is selected,
so it is not that big restriction."

Suggested-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
2025-12-08 18:41:56 +01:00
Szabolcs Hubai
ebf044619d snapcast: sort and reformat CMAKE_OPTIONS
Sort CMAKE_OPTIONS by alphabet and save a few bytes with tab character,
instead of repeating "CMAKE_OPTIONS +="

Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
2025-12-08 18:41:56 +01:00
Szabolcs Hubai
6db7b1c27f snapcast: remove leftover "libavahi-client" dependency
With "-DBUILD_WITH_AVAHI=OFF" the "libavahi-client" dependency is not
needed anymore. Instead, the "libexpat" dependency needs to be specified
explicitly.

Fixes: a9ac8666da ("snapcast: fix PulseAudio")
Fixes: eeb8d131fc ("snapcast: add package snapserver and snapclient")
Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
2025-10-30 19:25:41 +01:00
Szabolcs Hubai
0d36834ba0 snapcast: show snapweb placeholder
snapserver has a built-in webserver which is able to host a web player:
snapweb. [1]
It is accessible at http://snapserver:1780/ but with enabled "doc_root"
setting and with missing directory the browser shows an empty page
with a message: "The resource '/' was not found."

Fix this with disabling the "doc_root" setting in "/etc/snapserver.conf"
This "doc_root" was enabled and set to "/usr/share/snapserver/snapweb"
in upstream commit fcbe40585875 ("Install snapweb") [2], back in 2020
and released in v0.21.0 of Snapcast.

This was reported in an upstream discussion by Robert Muth. [3]

[1]: https://github.com/badaix/snapweb
[2]: fcbe405858
[3]: https://github.com/badaix/snapcast/discussions/1417#discussioncomment-14480178

Fixes: eeb8d131fc ("snapcast: add package snapserver and snapclient")
Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
2025-10-30 19:25:41 +01:00
Szabolcs Hubai
a9ac8666da snapcast: fix PulseAudio
While testing my integration of Snapcast, I didn't test with CONFIG_ALL*
and CONFIG_BUILDBOT flags, but the buildbots did and failed with a lot
of undefined reference to PulseAudio.

Fix it with preventing PulseAudio detection.
While at it, prevent Avahi detection too to save more flash space.

These features will be available later, through flavours.

Fixes: https://github.com/openwrt/packages/pull/23956
Fixes: eeb8d131fc ("snapcast: add package snapserver and snapclient")

Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
2025-09-14 11:51:09 +02:00
Szabolcs Hubai
7dee0d0937 snapcast: fix compilation with boost 1.89.0
Boost upgrade hit Snapcast again: badaix/snapcast#1413

This patch is based on commit badaix/snapcast@d2e1635ebd ("Fix
building with boost v1.89.0").

Refs: 965dc7088e ("boost: Updates package to version 1.89.0")

Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
2025-09-09 12:57:14 +08:00
Szabolcs Hubai
3aef4a36a3 snapcast: fix compilation with boost 1.88.0
Boost upgrade hit Snapcast hard again: the process needs to be updated!

This patch is a patchset from badaix/snapcast@develop.
It is based on the following upstream commits:
badaix/snapcast@901b79a213 ("Build failure with boost 1.88.0 #1367")
badaix/snapcast@ffb086b4b3 ("Define BOOST_PROCESS_VERSION=1 globally")
badaix/snapcast@c37a76a4ab ("Add missing includes")
badaix/snapcast@571f6a8f69 ("Include process v1 headers for Boost version >= v1.88.0")

Refs: 3585ddfc44 ("boost: Updates package to version 1.88.0")

Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
2025-09-09 12:57:14 +08:00
Szabolcs Hubai
a84e684f5e snapcast: fix compilation with boost 1.87.0
After revisiting the PR, it didn't even compile because of commit
c50de920a2 ("boost: Updates package to version 1.87.0").

Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
2025-09-09 12:57:14 +08:00
Szabolcs Hubai
eeb8d131fc snapcast: add package snapserver and snapclient
Snapcast [1] is a multiroom client-server audio player, where all
clients are time synchronized with the server to play perfectly synced
audio.

It's not a standalone player, but an extension that turns your existing
audio player into a Sonos-like multiroom solution.
Audio is captured by the server and routed to the connected clients.
Several players can feed audio to the server in parallel and clients can
be grouped to play the same audio stream.
One of the most generic ways to use Snapcast is in conjunction with the
music player daemon (MPD) [2] or Mopidy [3].

The inclusion starts with version 0.28.0 because of OpenSSL dependency
issues of version 0.29.0. Newer versions (e.g. 0.32.3, see [4])
with optional OpenSSL support, will be incorporated with flavours,
like "-mini" and "-full" in the upcoming PRs.
More about this topic please check the inclusion PR at [5]!

[1]: https://github.com/badaix/snapcast
[2]: http://www.musicpd.org/
[3]: https://www.mopidy.com/
[4]: https://github.com/badaix/snapcast/blob/develop/changelog.md
[5]: https://github.com/openwrt/packages/pull/23956#discussion_r2330463363

Fixes: #23924
Suggested-by: Tianling Shen <cnsztl@immortalwrt.org>
Suggested-by: George Sapkin <george@sapk.in>
Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
2025-09-09 12:57:14 +08:00
Szabolcs Hubai
e5a64aadca snapcast: add Snapcast from badaix/snapos as is
Add Snapcast package files as is from
29a5daebb0/openwrt/snapcast

Co-authored-by: badaix <johannes.pohl@badaix.de>
Co-authored-by: David Andreoletti <david@andreoletti.net>
Co-authored-by: luciferin <40036150+hunterzero99@users.noreply.github.com>
Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
2025-09-09 12:57:14 +08:00