diff --git a/packages/mpd/build.sh b/packages/mpd/build.sh index 6778a6236..dfe158b32 100644 --- a/packages/mpd/build.sh +++ b/packages/mpd/build.sh @@ -1,42 +1,38 @@ TERMUX_PKG_HOMEPAGE=https://www.musicpd.org TERMUX_PKG_DESCRIPTION="Music player daemon" -TERMUX_PKG_VERSION=0.20.23 -TERMUX_PKG_REVISION=1 -TERMUX_PKG_SHA256=93c4441719a8312f3d150de02b1db0c22fe3a1a99e4159c6056950846a109368 +TERMUX_PKG_VERSION=0.21.3 +TERMUX_PKG_SHA256=f694b5d9b39c12c196e51fbcde82e99c62bb08bdec7a7302095251f3e4357a15 TERMUX_PKG_SRCURL=https://github.com/MusicPlayerDaemon/MPD/archive/v$TERMUX_PKG_VERSION.tar.gz TERMUX_PKG_DEPENDS="libcurl, libid3tag, libopus, libpulseaudio, libmpdclient, openal-soft, libvorbis, libsqlite, ffmpeg, libmp3lame, libbz2" TERMUX_PKG_BUILD_DEPENDS="boost" TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" ---disable-alsa ---disable-ao ---disable-epoll ---disable-expat ---disable-iconv ---disable-icu ---disable-mad ---disable-sndio ---without-tremor -ac_cv_func_linkat=no +-Dalsa=disabled +-Dao=disabled +-Depoll=false +-Dexpat=disabled +-Diconv=disabled +-Dicu=disabled +-Dmad=disabled +-Dpcre=disabled +-Dsndio=disabled " -TERMUX_PKG_BUILD_IN_SRC=yes TERMUX_PKG_CONFFILES="$TERMUX_PREFIX/etc/mpd.conf" termux_step_pre_configure() { CXXFLAGS+=" -DTERMUX -UANDROID" LDFLAGS+=" -llog -lOpenSLES" - NOCONFIGURE=1 ./autogen.sh - rm -f /data/data/com.termux/files/usr/etc/mpd.conf + rm -f $TERMUX_PREFIX/etc/mpd.conf } -termux_step_make_install () { +termux_step_post_make_install () { + cp -f $TERMUX_PKG_SRCDIR/doc/mpdconf.example $TERMUX_PREFIX/etc/mpd.conf + # Try to work around OpenSL ES library clashes: # Linking against libOpenSLES causes indirect linkage against # libskia.so, which links against the platform libjpeg.so and # libpng.so, which are not compatible with the Termux ones. # # On Android N also liblzma seems to conflict. - make install - cp -f $TERMUX_PREFIX/share/doc/mpd/mpdconf.example /data/data/com.termux/files/usr/etc/mpd.conf mkdir -p $TERMUX_PREFIX/libexec mkdir -p $TERMUX_PREFIX/var/mpd mv $TERMUX_PREFIX/bin/mpd $TERMUX_PREFIX/libexec diff --git a/packages/mpd/configure.ac.patch b/packages/mpd/configure.ac.patch deleted file mode 100644 index ce274d6ab..000000000 --- a/packages/mpd/configure.ac.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u -r ../MPD-0.20.21/configure.ac ./configure.ac ---- ../MPD-0.20.21/configure.ac 2018-08-17 17:50:59.000000000 +0000 -+++ ./configure.ac 2018-08-20 20:45:16.603943001 +0000 -@@ -97,7 +97,7 @@ - - case "$host_os" in - linux-android*) -- host_is_android=yes -+ host_is_android=no - host_is_linux=yes - linux_auto=auto - AM_CPPFLAGS="$AM_CPPFLAGS -DANDROID" -@@ -202,7 +202,7 @@ - [android_abi="armeabi-v7a"]) - fi - --AC_SUBST(ANDROID_SDK, [$with_android_sdk]) -+#AC_SUBST(ANDROID_SDK, [$with_android_sdk]) - AC_SUBST(ANDROID_ABI, [$android_abi]) - - dnl --------------------------------------------------------------------------- diff --git a/packages/mpd/mpdconf.example.patch b/packages/mpd/doc-mpdconf.example.patch similarity index 91% rename from packages/mpd/mpdconf.example.patch rename to packages/mpd/doc-mpdconf.example.patch index 343a408d4..9fc13c890 100644 --- a/packages/mpd/mpdconf.example.patch +++ b/packages/mpd/doc-mpdconf.example.patch @@ -1,5 +1,6 @@ ---- ./doc/mpdconf.example 2017-07-18 12:54:14.570036043 +0200 -+++ ./doc/mpdconf.example 2017-07-18 12:56:34.270035990 +0200 +diff -u -r ../MPD-0.21.3/doc/mpdconf.example ./doc/mpdconf.example +--- ../MPD-0.21.3/doc/mpdconf.example 2018-11-16 12:27:58.000000000 +0000 ++++ ./doc/mpdconf.example 2018-12-30 22:31:44.428337004 +0000 @@ -10,14 +10,14 @@ # be disabled and audio files will only be accepted over ipc socket (using # file:// protocol) or streaming files over an accepted protocol. @@ -28,10 +29,10 @@ # These logs are great for troubleshooting, depending on your log_level @@ -34,25 +34,25 @@ # The special value "syslog" makes MPD use the local syslog daemon. This - # setting defaults to logging to syslog, otherwise logging is disabled. + # setting defaults to logging to syslog. # -#log_file "~/.mpd/log" -+#log_file "@TERMUX_HOME@/.mpd/log" ++#log_file "/data/data/com.termux/files/home/.mpd/log" # # This setting sets the location of the file which stores the process ID # for use of mpd --kill and some init scripts. This setting is disabled by @@ -68,7 +69,7 @@ # # And for Unix Socket -#bind_to_address "~/.mpd/socket" -+bind_to_address "@TERMUX_PREFIX@/tmp/mpd.socket" ++bind_to_address "/data/data/com.termux/files/usr/tmp/mpd.socket" # # This setting is the TCP port that is desired for the daemon to get assigned -# to. @@ -79,7 +80,7 @@ # # This setting controls the type of information which is logged. Available # setting arguments are "default", "secure" or "verbose". The "verbose" setting -@@ -137,12 +138,12 @@ +@@ -133,12 +134,12 @@ # If this setting is set to "yes", MPD will discover audio files by following # symbolic links outside of the configured music_directory. # @@ -94,7 +95,7 @@ # ############################################################################### -@@ -205,28 +206,6 @@ +@@ -201,28 +202,6 @@ # blocks. Setting this block is optional, though the server will only attempt # autodetection for one sound card. # @@ -123,7 +124,7 @@ # # An example of a shout output (for streaming to Icecast): # -@@ -257,7 +236,8 @@ +@@ -253,7 +232,8 @@ # type "recorder" # name "My recorder" # encoder "vorbis" # optional, vorbis or lame @@ -133,7 +134,7 @@ ## quality "5.0" # do not define if bitrate is defined # bitrate "128" # do not define if quality is defined # format "44100:16:1" -@@ -286,41 +266,34 @@ +@@ -282,42 +262,31 @@ ## sink "remote_server_sink" # optional #} # @@ -147,14 +148,12 @@ -## device "0" # optional -## mixer_type "hardware" # optional -#} -+ +# An example of an opensl android output. +audio_output { + type "sles" + name "OpenSLES output" + mixer_type "software" +} -+ # # An example of an openal output. # @@ -169,10 +168,18 @@ -#audio_output { -# type "sndio" -# name "sndio output" --# mixer_type "software" +-# mixer_type "hardware" -#} -# -# An example of an OS X output: +-# +-#audio_output { +-# type "osx" +-# name "My OS X Device" +-## device "Built-in Output" # optional +-## channel_map "-1,-1,0,1" # optional +-#} +-# +audio_output { + type "openal" + name "OpenAL output" @@ -181,7 +188,7 @@ + enabled "no" +} +#Fifo output for visualizations in ncmpcpp-git -+ audio_output { ++audio_output { + type "fifo" + name "ncmpcpp visualizer" + path "~/../usr/tmp/mpd.fifo" @@ -189,13 +196,6 @@ + enabled "no" +} + - # --#audio_output { --# type "osx" --# name "My OS X Device" --## device "Built-in Output" # optional --## channel_map "-1,-1,0,1" # optional --#} - # ## Example "pipe" output: # + #audio_output { diff --git a/packages/mpd/makefile.am.patch b/packages/mpd/makefile.am.patch deleted file mode 100644 index c7386101f..000000000 --- a/packages/mpd/makefile.am.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- ../cache/MPD-0.20.6/Makefile.am 2017-03-10 15:57:59.000000000 +0000 -+++ ./Makefile.am 2017-05-13 03:28:47.725309586 +0000 -@@ -1481,7 +1481,14 @@ - if HAVE_OPENAL - liboutput_plugins_a_SOURCES += \ - src/output/plugins/OpenALOutputPlugin.cxx \ -- src/output/plugins/OpenALOutputPlugin.hxx -+ src/output/plugins/OpenALOutputPlugin.hxx \ -+ src/output/plugins/sles/Object.hxx \ -+ src/output/plugins/sles/Engine.hxx \ -+ src/output/plugins/sles/Play.hxx \ -+ src/output/plugins/sles/AndroidSimpleBufferQueue.hxx \ -+ src/output/plugins/sles/SlesOutputPlugin.cxx \ -+ src/output/plugins/sles/SlesOutputPlugin.hxx -+OUTPUT_LIBS += -lOpenSLES - endif - - if HAVE_OSX diff --git a/packages/mpd/slesoutputplugin.cxx.patch b/packages/mpd/slesoutputplugin.cxx.patch deleted file mode 100644 index 0b1348749..000000000 --- a/packages/mpd/slesoutputplugin.cxx.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- ../cache/MPD-0.20.8/src/output/plugins/sles/SlesOutputPlugin.cxx 2017-05-20 23:07:03.641576843 +0000 -+++ ./src/output/plugins/sles/SlesOutputPlugin.cxx 2017-05-24 00:51:01.197169877 +0000 -@@ -434,6 +434,6 @@ - &Wrapper::Play, - &Wrapper::Drain, - &Wrapper::Cancel, -- &Wrapper::Pause, -+ nullptr, - nullptr, - }; diff --git a/packages/mpd/src-Main.cxx.patch b/packages/mpd/src-Main.cxx.patch deleted file mode 100644 index 8e44faa63..000000000 --- a/packages/mpd/src-Main.cxx.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -u -r ../MPD-0.20.8/src/Main.cxx ./src/Main.cxx ---- ../MPD-0.20.8/src/Main.cxx 2017-05-19 20:10:22.000000000 +0200 -+++ ./src/Main.cxx 2017-05-23 01:19:38.629090778 +0200 -@@ -123,7 +123,7 @@ - static constexpr size_t DEFAULT_BUFFER_SIZE = 4 * MEGABYTE; - - static --#if GCC_OLDER_THAN(5,0) -+#if GCC_OLDER_THAN(5,0) || defined(__ANDROID__) - /* gcc 4.x has no "constexpr" for std::max() */ - const - #else diff --git a/packages/mpd/src-fs-io-FileOutputStream.hxx.patch b/packages/mpd/src-fs-io-FileOutputStream.hxx.patch new file mode 100644 index 000000000..e3d5e5945 --- /dev/null +++ b/packages/mpd/src-fs-io-FileOutputStream.hxx.patch @@ -0,0 +1,12 @@ +diff -u -r ../MPD-0.21.3/src/fs/io/FileOutputStream.hxx ./src/fs/io/FileOutputStream.hxx +--- ../MPD-0.21.3/src/fs/io/FileOutputStream.hxx 2018-11-16 12:27:58.000000000 +0000 ++++ ./src/fs/io/FileOutputStream.hxx 2018-12-31 01:08:58.577798371 +0000 +@@ -46,7 +46,7 @@ + #include + #endif + +-#if defined(__linux__) && !defined(ANDROID) ++#if defined(__linux__) && !defined(__ANDROID__) + /* we don't use O_TMPFILE on Android because Android's braindead + SELinux policy disallows hardlinks + (https://android.googlesource.com/platform/external/sepolicy/+/85ce2c7), diff --git a/packages/mpd/src-input-Error.cxx.patch b/packages/mpd/src-input-Error.cxx.patch new file mode 100644 index 000000000..02816caf2 --- /dev/null +++ b/packages/mpd/src-input-Error.cxx.patch @@ -0,0 +1,32 @@ +diff -u -r ../MPD-0.21.3/src/input/Error.cxx ./src/input/Error.cxx +--- ../MPD-0.21.3/src/input/Error.cxx 2018-11-16 12:27:58.000000000 +0000 ++++ ./src/input/Error.cxx 2018-12-31 00:46:04.225900587 +0000 +@@ -30,22 +30,28 @@ + #include + #endif + ++#include ++ + bool + IsFileNotFound(std::exception_ptr ep) noexcept + { + try { + std::rethrow_exception(ep); + } catch (const std::system_error &e) { ++ std::cout << ""; + return IsFileNotFound(e); + #ifdef ENABLE_CURL + } catch (const HttpStatusError &e) { ++ std::cout << ""; + return e.GetStatus() == 404; + #endif + #ifdef ENABLE_NFS + } catch (const NfsClientError &e) { ++ std::cout << ""; + return e.GetCode() == NFS3ERR_NOENT; + #endif + } catch (...) { ++ std::cout << ""; + } + + return false; diff --git a/packages/mpd/src-output-plugins-meson.build.patch b/packages/mpd/src-output-plugins-meson.build.patch new file mode 100644 index 000000000..e17ea8f31 --- /dev/null +++ b/packages/mpd/src-output-plugins-meson.build.patch @@ -0,0 +1,16 @@ +diff -u -r ../MPD-0.21.3/src/output/plugins/meson.build ./src/output/plugins/meson.build +--- ../MPD-0.21.3/src/output/plugins/meson.build 2018-11-16 12:27:58.000000000 +0000 ++++ ./src/output/plugins/meson.build 2018-12-30 23:30:25.443763055 +0000 +@@ -106,12 +106,8 @@ + need_encoder = true + endif + +-if is_android + sles_dep = c_compiler.find_library('OpenSLES') + output_plugins_sources += 'sles/SlesOutputPlugin.cxx' +-else +- sles_dep = dependency('', required: false) +-endif + + if libsndio_dep.found() + output_plugins_sources += 'SndioOutputPlugin.cxx' diff --git a/packages/mpd/uncaught_exception.patch b/packages/mpd/uncaught_exception.patch deleted file mode 100644 index 41f0a4673..000000000 --- a/packages/mpd/uncaught_exception.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/input/Error.cxx b/src/input/Error.cxx -index 3db1f26f1..dfa43093b 100644 ---- a/src/input/Error.cxx -+++ b/src/input/Error.cxx -@@ -30,12 +30,15 @@ - #include - #endif - -+#include -+ - bool - IsFileNotFound(std::exception_ptr ep) - { - try { - std::rethrow_exception(ep); - } catch (const std::system_error &e) { -+ std::cout << ""; - return IsFileNotFound(e); - #ifdef ENABLE_CURL - } catch (const HttpStatusError &e) {