MPD: remove old, add userlaunch script

This commit is contained in:
Zoltán Mizsei
2018-11-11 17:01:26 +01:00
committed by Jerome Duval
parent 382f8a86dc
commit f4636e529d
4 changed files with 15 additions and 464 deletions

View File

@@ -0,0 +1,8 @@
job x-vnd.@APP@ {
launch @BIN@
no_safemode
legacy
on {
initial_volumes_mounted
}
}

View File

@@ -1,174 +0,0 @@
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="4"
SOURCE_URI="http://www.musicpd.org/download/mpd/0.20/mpd-$portVersion.tar.xz"
CHECKSUM_SHA256="01cdef1b9217588a8fa64dc2cba900c138e1363a787837b4c8327c652b7956c3"
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/<arch>/, 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
}

View File

@@ -9,6 +9,7 @@ REVISION="3"
SOURCE_URI="http://www.musicpd.org/download/mpd/0.20/mpd-$portVersion.tar.xz"
CHECKSUM_SHA256="8322764dc265c20f05c8c8fdfdd578b0722e74626bef56fcd8eebfb01acc58dc"
PATCHES="mpd-$portVersion.patchset"
ADDITIONAL_FILES="userlaunch.in"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
@@ -166,6 +167,12 @@ BUILD()
INSTALL()
{
make install
mkdir -p $dataDir/user_launch
sed \
-e "s|@APP@|mpd|" \
-e "s|@BIN@|"$commandBinDir"/mpd$secondaryArchSuffix|" \
$portDir/additional-files/userlaunch.in > $dataDir/user_launch/mpd
}
TEST()

View File

@@ -1,290 +0,0 @@
From 6671de43c2a2001325b6ec52f8ed7a13a1879ed6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
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?= <revol@free.fr>
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?= <revol@free.fr>
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 <AppFileInfo.h>
--
2.16.2
From bca289702e151dcd8269d69ebdf8e68f2b44d7e6 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
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?= <revol@free.fr>
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<HaikuOutput> 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?= <zmizsei@extrowerk.com>
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<HaikuOutput> Wrapper;
+
const struct AudioOutputPlugin haiku_output_plugin = {
"haiku",
haiku_test_default_device,
--
2.16.2