diff options
author | Sébastien Dailly <sebastien@dailly.me> | 2025-08-13 14:46:03 +0200 |
---|---|---|
committer | Sébastien Dailly <sebastien@dailly.me> | 2025-08-13 14:46:03 +0200 |
commit | ccdd33c63dc1d855db7bb64f2f3f02879740b9be (patch) | |
tree | 9f3d524beae54ed98476c37a04c2f6e956e4e980 | |
parent | 0640b403f2dc33fca3b1ca121012b98c2420ef24 (diff) |
-rw-r--r-- | Config.in | 2 | ||||
-rwxr-xr-x | board/post-build.sh | 2 | ||||
-rw-r--r-- | board/pulseaudio.sh | 5 | ||||
-rwxr-xr-x | build.sh | 2 | ||||
-rw-r--r-- | configs/config | 4 | ||||
-rw-r--r-- | package/roc/Config.in | 28 | ||||
-rw-r--r-- | package/roc/roc.mk | 50 | ||||
-rw-r--r-- | package/roc_pulse/0001-cmake_compilation.patch | 11 | ||||
-rw-r--r-- | package/roc_pulse/Config.in | 10 | ||||
-rw-r--r-- | package/roc_pulse/roc-pulse.mk | 16 |
10 files changed, 125 insertions, 5 deletions
@@ -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 @@ -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)) |