mpd: Update from 0.20.23 to 0.21.3

This commit is contained in:
Fredrik Fornwall 2019-01-03 00:49:06 +01:00
parent 45839c2872
commit 22a46f3659
10 changed files with 96 additions and 121 deletions

View File

@ -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

View File

@ -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 ---------------------------------------------------------------------------

View File

@ -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 {

View File

@ -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

View File

@ -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,
};

View File

@ -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

View File

@ -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 <windows.h>
#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),

View File

@ -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 <nfsc/libnfs-raw-nfs.h>
#endif
+#include <iostream>
+
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;

View File

@ -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'

View File

@ -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 <nfsc/libnfs-raw-nfs.h>
#endif
+#include <iostream>
+
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) {