diff --git a/sound/mpd/Makefile b/sound/mpd/Makefile index 52e222867..3c7e5a224 100644 --- a/sound/mpd/Makefile +++ b/sound/mpd/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mpd -PKG_VERSION:=0.19.10 -PKG_RELEASE:=2 +PKG_VERSION:=0.19.11 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=http://www.musicpd.org/download/mpd/0.19/ -PKG_MD5SUM:=da4bc3e47afd0faf9e7a67168e012102 +PKG_MD5SUM:=78935f6c464b67e19b4dc65bdb80319e PKG_MAINTAINER:=Ted Hess PKG_LICENSE:=GPL-2.0 diff --git a/sound/mpd/patches/100-musl_gcc5_fixes.patch b/sound/mpd/patches/100-musl_gcc5_fixes.patch new file mode 100644 index 000000000..8795cc618 --- /dev/null +++ b/sound/mpd/patches/100-musl_gcc5_fixes.patch @@ -0,0 +1,50 @@ +Add a patch from the Alpine Linux project to fix a musl build issue with gcc 5: + +Problem has been reported upstream and closed with WONTFIX: +http://bugs.musicpd.org/view.php?id=4387 +http://bugs.musicpd.org/view.php?id=4110 + +however... + +POSIX does not permit using PTHREAD_COND_INITIALIZER except for static +initialization, and certainly does not permit using it as a value + +POSIX does not specify the type of the object (it's opaque) so if +there are any types for which their code would be invalid C++, then their +code is invalid + +Volatile in the type is necessary. without that, LTO can break the code. + +--- a/src/notify.hxx ++++ b/src/notify.hxx +@@ -28,7 +28,7 @@ struct notify { + Cond cond; + bool pending; + +-#if !defined(WIN32) && !defined(__NetBSD__) && !defined(__BIONIC__) ++#if defined(__GLIBC__) + constexpr + #endif + notify():pending(false) {} +--- a/src/thread/PosixCond.hxx ++++ b/src/thread/PosixCond.hxx +@@ -41,7 +41,7 @@ class PosixCond { + pthread_cond_t cond; + + public: +-#if defined(__NetBSD__) || defined(__BIONIC__) ++#if !defined(__GLIBC__) + /* NetBSD's PTHREAD_COND_INITIALIZER is not compatible with + "constexpr" */ + PosixCond() { +--- a/src/thread/PosixMutex.hxx ++++ b/src/thread/PosixMutex.hxx +@@ -41,7 +41,7 @@ class PosixMutex { + pthread_mutex_t mutex; + + public: +-#if defined(__NetBSD__) || defined(__BIONIC__) ++#if !defined(__GLIBC__) + /* NetBSD's PTHREAD_MUTEX_INITIALIZER is not compatible with + "constexpr" */ + PosixMutex() { diff --git a/sound/mpd/patches/210-support_raw_pcm_streams.patch b/sound/mpd/patches/210-support_raw_pcm_streams.patch index 2c94c262c..69dac9f3d 100644 --- a/sound/mpd/patches/210-support_raw_pcm_streams.patch +++ b/sound/mpd/patches/210-support_raw_pcm_streams.patch @@ -1,6 +1,6 @@ --- a/src/decoder/plugins/FfmpegDecoderPlugin.cxx +++ b/src/decoder/plugins/FfmpegDecoderPlugin.cxx -@@ -765,6 +765,7 @@ static const char *const ffmpeg_mime_typ +@@ -774,6 +774,7 @@ static const char *const ffmpeg_mime_typ "audio/qcelp", "audio/vorbis", "audio/vorbis+ogg", diff --git a/sound/mpd/patches/220-handle_slow_server_stream_startup.patch b/sound/mpd/patches/220-handle_slow_server_stream_startup.patch index 15c51f898..62a4e59f7 100644 --- a/sound/mpd/patches/220-handle_slow_server_stream_startup.patch +++ b/sound/mpd/patches/220-handle_slow_server_stream_startup.patch @@ -1,6 +1,6 @@ --- a/src/decoder/plugins/FfmpegDecoderPlugin.cxx +++ b/src/decoder/plugins/FfmpegDecoderPlugin.cxx -@@ -458,6 +458,13 @@ ffmpeg_probe(Decoder *decoder, InputStre +@@ -467,6 +467,13 @@ ffmpeg_probe(Decoder *decoder, InputStre unsigned char buffer[BUFFER_SIZE]; size_t nbytes = decoder_read(decoder, is, buffer, BUFFER_SIZE);