From 75c0d3ddec886cdddd6e03791c243e81128f783f Mon Sep 17 00:00:00 2001 From: miqlas <5569059+extrowerk@users.noreply.github.com> Date: Sat, 25 Aug 2018 21:14:19 +0200 Subject: [PATCH] MPD: bump (#2939) --- media-sound/mpd/mpd-0.20.21.recipe | 174 +++++++++++ media-sound/mpd/patches/mpd-0.20.21.patchset | 290 +++++++++++++++++++ 2 files changed, 464 insertions(+) create mode 100644 media-sound/mpd/mpd-0.20.21.recipe create mode 100644 media-sound/mpd/patches/mpd-0.20.21.patchset diff --git a/media-sound/mpd/mpd-0.20.21.recipe b/media-sound/mpd/mpd-0.20.21.recipe new file mode 100644 index 000000000..c3a2dfb74 --- /dev/null +++ b/media-sound/mpd/mpd-0.20.21.recipe @@ -0,0 +1,174 @@ +SUMMARY="The Music Player Daemon" +DESCRIPTION="Music Player Daemon (MPD) is a flexible, powerful, server-side \ +application for playing music. Through plugins and libraries it can play a \ +variety of sound files while being controlled by its network protocol." +HOMEPAGE="https://www.musicpd.org/" +COPYRIGHT="2003-2018 The Music Player Daemon Project" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="http://www.musicpd.org/download/mpd/0.20/mpd-$portVersion.tar.xz" +CHECKSUM_SHA256="8322764dc265c20f05c8c8fdfdd578b0722e74626bef56fcd8eebfb01acc58dc" +PATCHES="mpd-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + +# On x86_gcc2 we don't want to install the commands in bin//, but in bin/. +commandSuffix=$secondaryArchSuffix +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandSuffix= + commandBinDir=$prefix/bin +fi + +PROVIDES=" + mpd$secondaryArchSuffix = $portVersion + cmd:mpd$commandSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix +# lib:libadplug$secondaryArchSuffix +# lib:libao$secondaryArchSuffix >= 4 +# lib:libaudiofile$secondaryArchSuffix + lib:libavcodec$secondaryArchSuffix + lib:libavformat$secondaryArchSuffix + lib:libavutil$secondaryArchSuffix + lib:libbz2$secondaryArchSuffix + lib:libcdio$secondaryArchSuffix +# lib:libcdio_paranoia$secondaryArchSuffix + lib:libcurl$secondaryArchSuffix +# lib:ldns_sd$secondaryArchSuffix + lib:libexpat$secondaryArchSuffix + lib:libfaad$secondaryArchSuffix + lib:libFLAC$secondaryArchSuffix + lib:libfluidsynth$secondaryArchSuffix + lib:libgme$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libicui18n$secondaryArchSuffix + lib:libid3tag$secondaryArchSuffix >= 0.3.0 + lib:libintl$secondaryArchSuffix + lib:libiso9660$secondaryArchSuffix + lib:libixml$secondaryArchSuffix #libupnp + lib:libmad$secondaryArchSuffix +# lib:libmms$secondaryArchSuffix + lib:libmodplug$secondaryArchSuffix + lib:libmp3lame$secondaryArchSuffix + lib:libmpcdec$secondaryArchSuffix + lib:libmpdclient$secondaryArchSuffix + lib:libmpg123$secondaryArchSuffix +# lib:libnfs$secondaryArchSuffix + lib:libogg$secondaryArchSuffix + lib:libopenal$secondaryArchSuffix + lib:libopus$secondaryArchSuffix + lib:libsamplerate$secondaryArchSuffix +# lib:libshine$secondaryArchSuffix +# lib:libshout$secondaryArchSuffix +# lib:libsidplay2$secondaryArchSuffix + lib:libsmbclient$secondaryArchSuffix + lib:libsndfile$secondaryArchSuffix + lib:libsoxr$secondaryArchSuffix + lib:libsqlite3$secondaryArchSuffix + lib:libthreadutil$secondaryArchSuffix #libupnp + lib:libtwolame$secondaryArchSuffix + lib:libupnp$secondaryArchSuffix + lib:libvorbis$secondaryArchSuffix + lib:libvorbisenc$secondaryArchSuffix + lib:libwavpack$secondaryArchSuffix +# lib:libwildmidi$secondaryArchSuffix +# lib:libwrap$secondaryArchSuffix + lib:libyajl$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel +# devel:libadplug$secondaryArchSuffix +# devel:libao$secondaryArchSuffix >= 4 +# devel:libaudiofile$secondaryArchSuffix + devel:libavcodec$secondaryArchSuffix + devel:libavformat$secondaryArchSuffix + devel:libavutil$secondaryArchSuffix + devel:libboost_system$secondaryArchSuffix + devel:libbz2$secondaryArchSuffix + devel:libcdio$secondaryArchSuffix +# devel:libcdio_paranoia$secondaryArchSuffix + devel:libcdio$secondaryArchSuffix + devel:libcppunit$secondaryArchSuffix + devel:libcurl$secondaryArchSuffix +# devel:ldns_sd$secondaryArchSuffix + devel:libexpat$secondaryArchSuffix + devel:libfaad$secondaryArchSuffix + devel:libFLAC$secondaryArchSuffix + devel:libfluidsynth$secondaryArchSuffix +# devel:libglib_2.0$secondaryArchSuffix >= 0.38 + devel:libgme$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libicui18n$secondaryArchSuffix + devel:libid3tag$secondaryArchSuffix + devel:libintl$secondaryArchSuffix + devel:libiso9660$secondaryArchSuffix + devel:libmad$secondaryArchSuffix +# devel:libmms$secondaryArchSuffix + devel:libmodplug$secondaryArchSuffix + devel:libmp3lame$secondaryArchSuffix + devel:libmpcdec$secondaryArchSuffix + devel:libmpdclient$secondaryArchSuffix + devel:libmpg123$secondaryArchSuffix +# devel:libnfs$secondaryArchSuffix + devel:libogg$secondaryArchSuffix + devel:libopenal$secondaryArchSuffix + devel:libopus$secondaryArchSuffix + devel:libsamplerate$secondaryArchSuffix +# devel:libshine$secondaryArchSuffix +# devel:libshout$secondaryArchSuffix +# devel:libsidplay2$secondaryArchSuffix + devel:libsmbclient$secondaryArchSuffix + devel:libsndfile$secondaryArchSuffix + devel:libsoxr$secondaryArchSuffix + devel:libsqlite3$secondaryArchSuffix + devel:libtag$secondaryArchSuffix + devel:libtwolame$secondaryArchSuffix + devel:libupnp$secondaryArchSuffix + devel:libvorbis$secondaryArchSuffix + devel:libvorbisenc$secondaryArchSuffix + devel:libwavpack$secondaryArchSuffix +# devel:libwildmidi$secondaryArchSuffix +# devel:libwrap$secondaryArchSuffix + devel:libyajl$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:autoconf +# cmd:avahi_client$secondaryArchSuffix + cmd:awk + cmd:find + cmd:gcc$secondaryArchSuffix + cmd:grep + cmd:m4 + cmd:make + cmd:perl + cmd:pkg_config$secondaryArchSuffix + cmd:sed + " + +defineDebugInfoPackage mpd$secondaryArchSuffix \ + "$commandBinDir"/mpd + +BUILD() +{ + runConfigure --omit-dirs binDir ./configure \ + --bindir=$commandBinDir \ + --enable-test + + make $jobArgs +} + +INSTALL() +{ + make install +} + +TEST() +{ + make check +} diff --git a/media-sound/mpd/patches/mpd-0.20.21.patchset b/media-sound/mpd/patches/mpd-0.20.21.patchset new file mode 100644 index 000000000..47ec0240b --- /dev/null +++ b/media-sound/mpd/patches/mpd-0.20.21.patchset @@ -0,0 +1,290 @@ +From 6671de43c2a2001325b6ec52f8ed7a13a1879ed6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= +Date: Thu, 31 Jul 2014 23:09:29 +0200 +Subject: Haiku: add icon as resource definition file + + +diff --git a/src/haiku/mpd.rdef b/src/haiku/mpd.rdef +new file mode 100644 +index 0000000..30fcfe4 +--- /dev/null ++++ b/src/haiku/mpd.rdef +@@ -0,0 +1,64 @@ ++ ++resource vector_icon { ++ $"6E6369661F050102031604BEE29BBEC5403EC540BEE29B4A10004A10000001C6" ++ $"70D073FFFF020116033EB0000000000000003EB000482000482000BE4B0084FF" ++ $"32020316023CAF103CF749BCF7493CAF104A07A44A1DB7A143FFFF02031602BC" ++ $"AB8FBCFA713CFA71BCAB8F4A05E34A004BAB08FFFF03010000020016023CC7EE" ++ $"389BC0BA16573E39B04977C842ADC700FFFFD3020006023C529D3753A2B8966F" ++ $"3D9D084B6044496AAF00474747FFA5A0A002001602BC4E76BC411B3C90DABCA0" ++ $"0D47587D4ABA850090FFD40200160238313C3B5CF0BFCD963C7AAC4C13943FCA" ++ $"F901ECFFC3054B04017E020106023E1C1538010FB7C32B3DF5E649B8BE48DD4A" ++ $"000593DCFF00337F020006023879063B8224BE2CC83B10DB4A1F6F49B894FF9A" ++ $"9A9A00242222020006033C69A60000000000003E186148800049800058F3F3F3" ++ $"00D4CECEFFD9D9D9038DFF06050002001602B2E4F7386B91BA78F7B4F4FD49FB" ++ $"A94AE12500CEFF6603010000020006023C55B638309FBA16573E39B049E9FF43" ++ $"840A008B8787FF161515020016023C57B5364381B785863DA4F54B27C349B7BB" ++ $"0010FF4C02001602BC4E76BC411B3C90DABCA00D47587D4ABA850060FF500200" ++ $"160238313C3B5CF0BFCD963C7AAC4C13943FCAF90174FF22055C04017E020016" ++ $"023879063B8224BE2CC83B10DB4A1F6F49B894FF59001E020016033C3DA60000" ++ $"000000003E186148AC0049800058AD0076FA800333C805020106023A40000000" ++ $"000000003980004A300048400000767676FC403E3E020106023E1C1538010FB7" ++ $"C32B3DF5E649B8BE48DD4A000593DCFF00337F05002102044022C65922B92622" ++ $"224022B92622C659405EB9265EC6595E5E405EC6595EB9260A062E262E4B4C5A" ++ $"5650562C38220A064C5C545C604FCA1BC4875C4A58480A042E264C32562C3822" ++ $"0A044C324C5A5650562C0A042E262E4B4C5A4C320A044934494E3043302A0A04" ++ $"BA29C0283043302ABA31B7540A04494B494E304332C0270A044934494B3241BA" ++ $"31B7540A043E25432252264D2A08043E2543225226522C0A034D2A5226522C08" ++ $"02464F47C5ED0A043246324A4453444E0A04344834494250424E08025436503A" ++ $"0A06262E264C485E5252523430280A04262E483C523430280A04483C485E5252" ++ $"52340A04262E264C485E483C0A04443D4456284928320A04B6F9C28C28492832" ++ $"B701BA840A044454445728492AC28B0A04443D44542A47B701BA840A04382B3D" ++ $"284E2D49310804382B3D284E2D4E330A0349304E2C4E320802425843C9830A06" ++ $"486054606052CA1BC5B95C4D524802044530C2D730C0A430403540BAB540BC06" ++ $"4538C0A438C2D7384A354ABC064ABAB50803452145335B250A044934494B3241" ++ $"BA31B754240A0B0102023EF45B0000000000003EF45B487749B685270A05010B" ++ $"1A3EF45B0000000000003EF45B487749B6852715FF01178400040A09010A0A3E" ++ $"F45B0000000000003EF45B487749B6852715FF0A0A010C023EF45B0000000000" ++ $"003EF45B487749B685270A050101123EF45B0000000000003EF45B487749B685" ++ $"2701178400040A060103023EF45B0000000000003EF45B487749B685270A0701" ++ $"04023EF45B0000000000003EF45B487749B685270A08020506023EF45B000000" ++ $"0000003EF45B487749B685270A0C0109023EF45B0000000000003EF45B487749" ++ $"B685270A0D01070A3EF45B0000000000003EF45B487749B6852715FF0A0E0108" ++ $"0A3EF45B0000000000003EF45B487749B6852715FF0A0F010D1A3EF45B000000" ++ $"0000003EF45B487749B6852715FF01178220040A0A010E0A3EF45B0000000000" ++ $"003EF45B487749B6852715FF0A11010F0A3EF45B0000000000003EF45B487749" ++ $"B6852715FF0A0B01000A3D43F93C2B26BD304E3DF9DE48FCA544AB2E15FF0A00" ++ $"0100123CF8FE3C832FBCE7163E4DA3480D86C5C7B501178400040A010100023C" ++ $"F8FE3C832FBCE7163E4DA3480D86C5C7B50A020100023AC6433A584EBAB58C3C" ++ $"265448124D45D0400A0301001A3CB1A73C46E3BCA16C3E165C480E5DC4720015" ++ $"FF01178200040A0401001A3C808E3C1D64BC71B33DE0FC480EF2C30DBC15FF01" ++ $"178200040A18011D023EAAAA0000000000003EAAAA47155548B0480A12011A1A" ++ $"3EAAAA0000000000003EAAAA47155548B04815FF01178400040A1601190A3EAA" ++ $"AA0000000000003EAAAA47155548B04815FF0A17011B0A3EAAAA000000000000" ++ $"3EAAAA47155548B04815FF0A120111123EAAAA0000000000003EAAAA47155548" ++ $"B04801178400040A130112023EAAAA0000000000003EAAAA47155548B0480A14" ++ $"0113023EAAAA0000000000003EAAAA47155548B0480A15021415023EAAAA0000" ++ $"000000003EAAAA47155548B0480A1D01180A3EAAAA0000000000003EAAAA4715" ++ $"5548B04815FF0A1D01180A3EAAAA0000000000003EAAAA47155548B04800150A" ++ $"1901160A3EAAAA0000000000003EAAAA47155548B04815FF0A1A01170A3EAAAA" ++ $"0000000000003EAAAA47155548B04815FF0A1B011C1A3EAAAA0000000000003E" ++ $"AAAA47155548B04815FF01178220040A1C011E023EAAAA0000000000003EAAAA" ++ $"47155548B0480A12011F1A3EAAAA0000000000003EAAAA47155548B04815FF01" ++ $"178222040A12011F1A3EAAAA0000000000003EAAAA47155548B0480015011784" ++ $"2204" ++}; +-- +2.16.2 + + +From 7b454b7df7ceed55057c44b8431bf81eff09a0a8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= +Date: Thu, 31 Jul 2014 23:12:56 +0200 +Subject: Haiku: add resources: application signature and flags + +Since we do not handle B_QUIT_REQUESTED because the BApplication +does not Run(), use the background flag to avoid showing up in Deskbar. + +diff --git a/src/haiku/mpd.rdef b/src/haiku/mpd.rdef +index 30fcfe4..6f1aca2 100644 +--- a/src/haiku/mpd.rdef ++++ b/src/haiku/mpd.rdef +@@ -1,3 +1,8 @@ ++resource app_signature "application/x-vnd.MusicPD"; ++ ++resource app_flags B_BACKGROUND_APP; ++ ++// TODO: resource app_version {}; + + resource vector_icon { + $"6E6369661F050102031604BEE29BBEC5403EC540BEE29B4A10004A10000001C6" +-- +2.16.2 + + +From 7123627d41e0f8c7b6bc36deeb14b10b55711707 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= +Date: Mon, 20 Feb 2017 00:45:46 +0100 +Subject: haiku: fix build + +Some missing bits when converted to C++ exceptions... + +diff --git a/src/mixer/plugins/HaikuMixerPlugin.cxx b/src/mixer/plugins/HaikuMixerPlugin.cxx +index d66e765..07da755 100644 +--- a/src/mixer/plugins/HaikuMixerPlugin.cxx ++++ b/src/mixer/plugins/HaikuMixerPlugin.cxx +@@ -25,6 +25,8 @@ + #include "output/plugins/HaikuOutputPlugin.hxx" + #include "Compiler.h" + ++#include "util/RuntimeError.hxx" ++ + class HaikuMixer final : public Mixer { + /** the base mixer class */ + HaikuOutput &self; +@@ -35,36 +37,34 @@ public: + self(_output) {} + + /* virtual methods from class Mixer */ +- virtual bool Open(gcc_unused Error &error) override { +- return true; ++ virtual void Open() override { + } + + virtual void Close() override { + } + +- virtual int GetVolume(Error &error) override; +- virtual bool SetVolume(unsigned volume, Error &error) override; ++ virtual int GetVolume() override; ++ virtual void SetVolume(unsigned volume) override; + }; + + static Mixer * + haiku_mixer_init(gcc_unused EventLoop &event_loop, AudioOutput &ao, + MixerListener &listener, +- gcc_unused const ConfigBlock &block, +- gcc_unused Error &error) ++ gcc_unused const ConfigBlock &block) + { + return new HaikuMixer((HaikuOutput &)ao, listener); + } + + int +-HaikuMixer::GetVolume(gcc_unused Error &error) ++HaikuMixer::GetVolume() + { + return haiku_output_get_volume(self); + } + +-bool +-HaikuMixer::SetVolume(unsigned volume, gcc_unused Error &error) ++void ++HaikuMixer::SetVolume(unsigned volume) + { +- return haiku_output_set_volume(self, volume); ++ haiku_output_set_volume(self, volume); + } + + const MixerPlugin haiku_mixer_plugin = { +diff --git a/src/output/plugins/HaikuOutputPlugin.cxx b/src/output/plugins/HaikuOutputPlugin.cxx +index 2487ace..3891d19 100644 +--- a/src/output/plugins/HaikuOutputPlugin.cxx ++++ b/src/output/plugins/HaikuOutputPlugin.cxx +@@ -24,6 +24,7 @@ + #include "../Wrapper.hxx" + #include "mixer/MixerList.hxx" + #include "util/Domain.hxx" ++#include "system/Error.hxx" + #include "Log.hxx" + + #include +-- +2.16.2 + + +From bca289702e151dcd8269d69ebdf8e68f2b44d7e6 Mon Sep 17 00:00:00 2001 +From: Max Kellermann +Date: Tue, 2 Jan 2018 17:45:14 +0100 +Subject: output/haiku: remove size==0 check from Play() + +By API contract, this parameter must not be zero. + +diff --git a/src/output/plugins/HaikuOutputPlugin.cxx b/src/output/plugins/HaikuOutputPlugin.cxx +index 3891d19..51fb6e8 100644 +--- a/src/output/plugins/HaikuOutputPlugin.cxx ++++ b/src/output/plugins/HaikuOutputPlugin.cxx +@@ -269,11 +269,6 @@ HaikuOutput::Play(const void *chunk, size_t size) + BSoundPlayer* const soundPlayer = sound_player; + const uint8 *data = (const uint8 *)chunk; + +- if (size == 0) { +- soundPlayer->SetHasData(false); +- return 0; +- } +- + if (!soundPlayer->HasData()) + soundPlayer->SetHasData(true); + acquire_sem(new_buffer); +-- +2.16.2 + + +From 9e4ae4ec10176c602b1dd5970134cae54e8838ad Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= +Date: Fri, 5 Jan 2018 23:07:18 +0100 +Subject: Haiku: fix build + +Convert the fill_buffer to a class method, to allow accessing the private method. + +Also remove the leftover Wrapper stuff. + +diff --git a/src/output/plugins/HaikuOutputPlugin.cxx b/src/output/plugins/HaikuOutputPlugin.cxx +index 51fb6e8..f8d9b0d 100644 +--- a/src/output/plugins/HaikuOutputPlugin.cxx ++++ b/src/output/plugins/HaikuOutputPlugin.cxx +@@ -81,6 +81,8 @@ public: + + std::chrono::steady_clock::duration Delay() noexcept; + ++ static void _FillBuffer(void* cookie, void* _buffer, size_t size, ++ gcc_unused const media_raw_audio_format& _format); + void FillBuffer(void* _buffer, size_t size, + gcc_unused const media_raw_audio_format& _format); + +@@ -147,8 +149,8 @@ HaikuOutput::~HaikuOutput() + finalize_application(); + } + +-static void +-fill_buffer(void* cookie, void* buffer, size_t size, ++void ++HaikuOutput::_FillBuffer(void* cookie, void* buffer, size_t size, + const media_raw_audio_format& format) + { + HaikuOutput *ad = (HaikuOutput *)cookie; +@@ -235,7 +237,7 @@ HaikuOutput::Open(AudioFormat &audio_format) + format.format, (int)format.buffer_size); + + sound_player = new BSoundPlayer(&format, "MPD Output", +- fill_buffer, NULL, this); ++ HaikuOutput::_FillBuffer, NULL, this); + + err = sound_player->InitCheck(); + if (err != B_OK) { +@@ -455,8 +457,6 @@ haiku_output_set_volume(HaikuOutput &haiku, unsigned volume) + return true; + } + +-typedef AudioOutputWrapper Wrapper; +- + const struct AudioOutputPlugin haiku_output_plugin = { + "haiku", + haiku_test_default_device, +-- +2.16.2 + + +From cd3d75b3c333ecdd108ec8ee2138572e8b40089d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +Date: Sat, 28 Apr 2018 09:02:50 +0200 +Subject: Build fix + + +diff --git a/src/output/plugins/HaikuOutputPlugin.cxx b/src/output/plugins/HaikuOutputPlugin.cxx +index f8d9b0d..360ecd0 100644 +--- a/src/output/plugins/HaikuOutputPlugin.cxx ++++ b/src/output/plugins/HaikuOutputPlugin.cxx +@@ -457,6 +457,8 @@ haiku_output_set_volume(HaikuOutput &haiku, unsigned volume) + return true; + } + ++typedef AudioOutputWrapper Wrapper; ++ + const struct AudioOutputPlugin haiku_output_plugin = { + "haiku", + haiku_test_default_device, +-- +2.16.2 +