aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Config.in2
-rwxr-xr-xboard/post-build.sh2
-rw-r--r--board/pulseaudio.sh5
-rwxr-xr-xbuild.sh2
-rw-r--r--configs/config4
-rw-r--r--package/roc/Config.in28
-rw-r--r--package/roc/roc.mk50
-rw-r--r--package/roc_pulse/0001-cmake_compilation.patch11
-rw-r--r--package/roc_pulse/Config.in10
-rw-r--r--package/roc_pulse/roc-pulse.mk16
10 files changed, 125 insertions, 5 deletions
diff --git a/Config.in b/Config.in
index e69de29..4de4384 100644
--- a/Config.in
+++ b/Config.in
@@ -0,0 +1,2 @@
+source "$BR2_EXTERNAL_PIAUDIO_PATH/package/roc/Config.in"
+source "$BR2_EXTERNAL_PIAUDIO_PATH/package/roc_pulse/Config.in"
diff --git a/board/post-build.sh b/board/post-build.sh
index c41c3a5..7e4d889 100755
--- a/board/post-build.sh
+++ b/board/post-build.sh
@@ -17,7 +17,7 @@ sed -ie '/^\/dev\/root/ s/rw 0 1/ro 0 0/' "${TARGET_DIR}/etc/fstab"
. "${BR2_EXTERNAL_PIAUDIO_PATH}/board/network.sh"
. "${BR2_EXTERNAL_PIAUDIO_PATH}/board/pulseaudio.sh"
-. "${BR2_EXTERNAL_PIAUDIO_PATH}/board/bluetooth.sh"
+# . "${BR2_EXTERNAL_PIAUDIO_PATH}/board/bluetooth.sh"
. "${BR2_EXTERNAL_PIAUDIO_PATH}/board/mpd.sh"
. "${BR2_EXTERNAL_PIAUDIO_PATH}/board/ssh.sh"
diff --git a/board/pulseaudio.sh b/board/pulseaudio.sh
index 4737a6a..b81e711 100644
--- a/board/pulseaudio.sh
+++ b/board/pulseaudio.sh
@@ -9,9 +9,10 @@ add_tmpfs "/var/lib/pulse"
if ! grep -qE '^load-module module-native-protocol-tcp' "${TARGET_DIR}/etc/pulse/system.pa"; then
cat << __EOF__ >> "${TARGET_DIR}/etc/pulse/system.pa"
-load-module module-bluetooth-policy
-load-module module-bluetooth-discover
+#load-module module-bluetooth-policy
+#load-module module-bluetooth-discover
load-module module-native-protocol-tcp listen=0.0.0.0 auth-anonymous=1
+load-module module-roc-sink-input
__EOF__
fi
diff --git a/build.sh b/build.sh
index 065b81f..f9932af 100755
--- a/build.sh
+++ b/build.sh
@@ -9,7 +9,7 @@ usage() {
}
-test -z ${BUILDROOT_DIR} && BUILDROOT_DIR="../buildroot-2024.05/"
+test -z ${BUILDROOT_DIR} && BUILDROOT_DIR="../buildroot-2025.05/"
if [ ! -d ${BUILDROOT_DIR} ]; then
usage
diff --git a/configs/config b/configs/config
index 585b605..62a322c 100644
--- a/configs/config
+++ b/configs/config
@@ -122,7 +122,7 @@ BR2_PACKAGE_MPD=y
BR2_PACKAGE_MPD_PULSEAUDIO=y
# Used to connect to another one mpd throught the proxy plugin
BR2_PACKAGE_MPD_LIBMPDCLIENT=y
-BR2_PACKAGE_MPD_AVAHI_SUPPORT=n
+BR2_PACKAGE_MPD_AVAHI_SUPPORT=y
BR2_PACKAGE_MPD_LIBNFS=y
BR2_PACKAGE_MPD_MPG123=y
BR2_PACKAGE_MPD_FLAC=y
@@ -142,3 +142,5 @@ BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_DROPBEAR=y
+
+BR2_PACKAGE_ROC_PULSE=y
diff --git a/package/roc/Config.in b/package/roc/Config.in
new file mode 100644
index 0000000..1a60083
--- /dev/null
+++ b/package/roc/Config.in
@@ -0,0 +1,28 @@
+config BR2_PACKAGE_ROC
+ bool "ROC"
+ select BR2_PACKAGE_HOST_PYTHON3
+ select BR2_PACKAGE_HOST_PYTHON3_SSL
+ select BR2_PACKAGE_LIBOPENSSL
+ select BR2_PACKAGE_LIBSNDFILE
+ select BR2_PACKAGE_LIBUV
+ select BR2_PACKAGE_LIBUNWIND
+ select BR2_PACKAGE_SPEEXDSP
+ select BR2_PACKAGE_HOST_RAGEL
+ help
+ Install ROC package.
+
+ https://roc-streaming.org/
+
+menu "ROC options"
+ depends on BR2_PACKAGE_ROC
+
+
+ config BR2_PACKAGE_ROC_TOOLS
+ select BR2_PACKAGE_SOX
+ select BR2_PACKAGE_PULSEAUDIO
+ bool "Tools binaries"
+
+ config BR2_PACKAGE_ROC_LIB
+ bool "Shared library"
+
+endmenu
diff --git a/package/roc/roc.mk b/package/roc/roc.mk
new file mode 100644
index 0000000..e744fdb
--- /dev/null
+++ b/package/roc/roc.mk
@@ -0,0 +1,50 @@
+
+ROC_VERSION=0.4.0
+ROC_SOURCE=v${ROC_VERSION}.tar.gz
+ROC_SITE=https://github.com/roc-streaming/roc-toolkit/archive/refs/tags
+ROC_LICENCE=Mozilla Public License, version 2.0
+ROC_LICENSE_FILES = LICENCE
+ROC_DEPENDENCIES = \
+ libopenssl \
+ libuv \
+ libunwind \
+ speexdsp \
+ libsndfile \
+ host-ragel \
+ host-scons \
+ host-gengetopt \
+ host-pkgconf
+#ROC_CONF_OPTS += -Dlibpulse=enabled
+ROC_INSTALL_STAGING = NO
+
+
+ifneq ($(BR2_PACKAGE_ROC_TOOLS),y)
+ ROC_DEPENDENCIES += sox
+ ROC_DEPENDENCIES += pulseaudio
+ ROC_CONF_OPTS += --disable-tools
+endif
+
+ifneq ($(BR2_PACKAGE_ROC_LIB),y)
+ ROC_CONF_OPTS += --disable-shared
+endif
+
+define ROC_BUILD_CMDS
+ (cd $(@D); \
+ $(TARGET_CONFIGURE_OPTS) CROSS=$(TARGET_CROSS) $(SCONS) \
+ $(ROC_CONF_OPTS) \
+ --prefix=$(TARGET_DIR) \
+ -Q \
+ --build-3rdparty=openfec )
+endef
+
+define ROC_INSTALL_TARGET_CMDS
+ (cd $(@D); \
+ $(TARGET_CONFIGURE_OPTS) CROSS=$(TARGET_CROSS) $(SCONS) \
+ $(ROC_CONF_OPTS) \
+ --prefix=$(TARGET_DIR) \
+ --incdir=$(HOST_DIR)/include \
+ -Q \
+ --build-3rdparty=openfec \
+ install)
+endef
+$(eval $(generic-package))
diff --git a/package/roc_pulse/0001-cmake_compilation.patch b/package/roc_pulse/0001-cmake_compilation.patch
new file mode 100644
index 0000000..b5f51e0
--- /dev/null
+++ b/package/roc_pulse/0001-cmake_compilation.patch
@@ -0,0 +1,11 @@
+
+Index: roc-pulse/cmake/setup_pulseaudio.cmake
+===================================================================
+--- roc-pulse.orig/cmake/setup_pulseaudio.cmake
++++ roc-pulse/cmake/setup_pulseaudio.cmake
+@@ -1,4 +1,5 @@
+ set(PULSEAUDIO_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/pulsebuild")
++include(ExternalProject)
+
+ # This command runs "meson setup" to generate pulse/version.h
+ # We don't actually build PulseAudio
diff --git a/package/roc_pulse/Config.in b/package/roc_pulse/Config.in
new file mode 100644
index 0000000..e566fc6
--- /dev/null
+++ b/package/roc_pulse/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_ROC_PULSE
+ bool "roc_pulse"
+ select BR2_PACKAGE_ROC
+ select BR2_PACKAGE_ROC_LIB
+ select BR2_PACKAGE_PULSEAUDIO
+ help
+ Install ROC support for pulseaudio.
+
+ https://roc-streaming.org/
+
diff --git a/package/roc_pulse/roc-pulse.mk b/package/roc_pulse/roc-pulse.mk
new file mode 100644
index 0000000..f8893a5
--- /dev/null
+++ b/package/roc_pulse/roc-pulse.mk
@@ -0,0 +1,16 @@
+ROC_PULSE_VERSION=0.0.8
+ROC_PULSE_SOURCE=v$(ROC_PULSE_VERSION).tar.gz
+ROC_PULSE_SITE=https://github.com/roc-streaming/roc-pulse/archive/refs/tags
+ROC_PULSE_INSTALL_STAGING = NO
+ROC_PULSE_INSTALL_TARGET = YES
+ROC_PULSE_CONF_OPTS= \
+ -DDOWNLOAD_ROC=OFF \
+ -DDOWNLOAD_PULSEAUDIO=OFF \
+ -DDOWNLOAD_LIBTOOL=OFF \
+ -DPULSEAUDIO_DIR=$(BUILD_DIR)/pulseaudio-$(PULSEAUDIO_VERSION) \
+ -DPULSEAUDIO_VERSION=$(PULSEAUDIO_VERSION) \
+ -DROC_INCLUDE_DIR=$(HOST_DIR)/include/ \
+ -DROC_LIB_DIR=$(TARGET_DIR)/lib \
+ -DPULSEAUDIO_MODULE_DIR=/lib/pulseaudio/modules
+
+$(eval $(cmake-package))