diff --git a/packages/snapcast-server/CMakeLists.txt.patch b/packages/snapcast-server/CMakeLists.txt.patch new file mode 100644 index 000000000..58612e491 --- /dev/null +++ b/packages/snapcast-server/CMakeLists.txt.patch @@ -0,0 +1,53 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -91,11 +91,6 @@ + if (BUILD_CLIENT) + message(FATAL_ERROR "Snapclient not yet supported for FreeBSD, use \"-DBUILD_CLIENT=OFF\"") + endif() +-elseif (${CMAKE_SYSTEM_NAME} MATCHES "Android") +- set (ANDROID TRUE) +- if (BUILD_SERVER) +- message(FATAL_ERROR "Snapserver not yet supported for Android, use \"-DBUILD_SERVER=OFF\"") +- endif() + endif() + + # Configure paths +@@ -120,7 +115,7 @@ + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") + add_definitions(-DVERSION="${PROJECT_VERSION}") + +-if(NOT ANDROID) ++if(TRUE) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) +@@ -165,7 +160,7 @@ + endif() + + +-if(NOT WIN32 AND NOT ANDROID) ++if(NOT WIN32) + + if(MACOSX) + set(BONJOUR_FOUND true) +@@ -178,11 +173,6 @@ + list(APPEND INCLUDE_DIRS "/usr/local/include") + else() + +- pkg_search_module(ALSA REQUIRED alsa) +- if (ALSA_FOUND) +- add_definitions(-DHAS_ALSA) +- endif (ALSA_FOUND) +- + if(BUILD_WITH_PULSE) + pkg_search_module(PULSE libpulse) + if (PULSE_FOUND) +@@ -279,7 +269,7 @@ + endif() + endif() + +-if(NOT ANDROID) ++if(TRUE) + find_package(Boost 1.70 REQUIRED) + else() + find_package(oboe REQUIRED CONFIG) diff --git a/packages/snapcast-server/build.sh b/packages/snapcast-server/build.sh new file mode 100644 index 000000000..e7dc66bea --- /dev/null +++ b/packages/snapcast-server/build.sh @@ -0,0 +1,14 @@ +TERMUX_PKG_HOMEPAGE=https://github.com/badaix/snapcast +TERMUX_PKG_DESCRIPTION="A multiroom client-server audio player" +TERMUX_PKG_LICENSE="GPL-3.0" +TERMUX_PKG_MAINTAINER="@termux" +TERMUX_PKG_VERSION=0.25.0 +TERMUX_PKG_SRCURL=https://github.com/badaix/snapcast/archive/v${TERMUX_PKG_VERSION}.tar.gz +TERMUX_PKG_SHA256=c4e449cb693e091261727421f4965492be049632537e034fa9c59c92d091a846 +TERMUX_PKG_DEPENDS="libc++, libexpat, libflac, libopus, libsoxr, libvorbis" +TERMUX_PKG_BUILD_DEPENDS="boost" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DBUILD_CLIENT=OFF -DBUILD_TESTS=OFF" + +termux_step_pre_configure() { + LDFLAGS+=" -llog" +} diff --git a/packages/snapcast-server/common-CMakeLists.txt.patch b/packages/snapcast-server/common-CMakeLists.txt.patch new file mode 100644 index 000000000..753b87b79 --- /dev/null +++ b/packages/snapcast-server/common-CMakeLists.txt.patch @@ -0,0 +1,20 @@ +--- a/common/CMakeLists.txt ++++ b/common/CMakeLists.txt +@@ -2,7 +2,7 @@ + resampler.cpp + sample_format.cpp) + +-if(NOT WIN32 AND NOT ANDROID) ++if(NOT WIN32) + list(APPEND SOURCES daemon.cpp) + endif() + +@@ -12,7 +12,7 @@ + + add_library(common STATIC ${SOURCES}) + +-if (ANDROID) ++if (FALSE) + target_link_libraries(common soxr::soxr) + elseif(SOXR_FOUND) + target_link_libraries(common ${SOXR_LIBRARIES}) diff --git a/packages/snapcast-server/server-config.cpp.patch b/packages/snapcast-server/server-config.cpp.patch new file mode 100644 index 000000000..e2c11b324 --- /dev/null +++ b/packages/snapcast-server/server-config.cpp.patch @@ -0,0 +1,11 @@ +--- a/server/config.cpp ++++ b/server/config.cpp +@@ -43,7 +43,7 @@ + if (!root_directory.empty()) + dir = root_directory; + else if (getenv("HOME") == nullptr) +- dir = "/var/lib/snapserver/"; ++ dir = "@TERMUX_PREFIX@/var/lib/snapserver/"; + else + dir = string(getenv("HOME")) + "/.config/snapserver/"; + diff --git a/packages/snapcast-server/server-control_session_http.cpp.patch b/packages/snapcast-server/server-control_session_http.cpp.patch new file mode 100644 index 000000000..1d6d01ad1 --- /dev/null +++ b/packages/snapcast-server/server-control_session_http.cpp.patch @@ -0,0 +1,34 @@ +--- a/server/control_session_http.cpp ++++ b/server/control_session_http.cpp +@@ -41,11 +41,11 @@ + " This webserver is a websocket endpoint for control clients (ws://host:1780/jsonrpc) and streaming clients" + " (ws://host:1780/stream), but it can also host simple web pages. To serve a web page, you must configure the" + " document root in the snapserver configuration file snapserver.conf, usually located in" +- " /etc/snapserver.conf" ++ " @TERMUX_PREFIX@/etc/snapserver.conf" + "
" + ""
+ " The Snapserver installation should include a copy of Snapweb,"
+- " located in /usr/share/snapserver/snapweb/
"
++ " located in @TERMUX_PREFIX@/share/snapserver/snapweb/
"
+ " To activate it, please configure the doc_root as follows, and restart Snapserver to activate the changes:"
+ "
" +@@ -56,7 +56,7 @@ + "...\n" + "\n" + "# serve a website from the doc_root location\n" +- "doc_root = /usr/share/snapserver/snapweb/\n" ++ "doc_root = @TERMUX_PREFIX@/share/snapserver/snapweb/\n" + "\n" + "#\n" + "################################################" +@@ -241,7 +241,7 @@ + + if (settings_.doc_root.empty()) + { +- std::string default_page = "/usr/share/snapserver/index.html"; ++ std::string default_page = "@TERMUX_PREFIX@/share/snapserver/index.html"; + struct stat buffer; + if (stat(default_page.c_str(), &buffer) == 0) + path = default_page; diff --git a/packages/snapcast-server/server-etc-snapserver.conf.patch b/packages/snapcast-server/server-etc-snapserver.conf.patch new file mode 100644 index 000000000..2ddefb94d --- /dev/null +++ b/packages/snapcast-server/server-etc-snapserver.conf.patch @@ -0,0 +1,38 @@ +--- a/server/etc/snapserver.conf ++++ b/server/etc/snapserver.conf +@@ -30,7 +30,7 @@ + #threads = -1 + + # the pid file when running as daemon +-#pidfile = /var/run/snapserver/pid ++#pidfile = @TERMUX_PREFIX@/var/run/snapserver/pid + + # the user to run as when daemonized + #user = snapserver +@@ -39,7 +39,7 @@ + + # directory where persistent data is stored (server.json) + # if empty, data dir will be +-# - "/var/lib/snapserver/" when running as daemon ++# - "@TERMUX_PREFIX@/var/lib/snapserver/" when running as daemon + # - "$HOME/.config/snapserver/" when not running as daemon + #datadir = + +@@ -65,7 +65,7 @@ + + # serve a website from the doc_root location + # disabled if commented or empty +-doc_root = /usr/share/snapserver/snapweb ++doc_root = @TERMUX_PREFIX@/share/snapserver/snapweb + # + ############################################################################### + +@@ -127,7 +127,7 @@ + # tcp client: tcp://