upmpdcli: new package
[Thomas: - add package to package/Config.in - add missing dependencies on thread and largefile, inherited from libupnp. Noticed by Yann E. Morin. - add installation of default configuration file. Noticed by Yann E. Morin. - fix the license, it's not GPLv2, but GPLv2+. - remove the colon in the user description, noticed by Yann E. Morin. - added a patch to fix build with uClibc. - fix the init script installation to use a full path as the target.] Signed-off-by: Joerg Krause <jkrause@posteo.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
3a0229c3c3
commit
6038144652
@ -28,6 +28,7 @@ menu "Audio and video applications"
|
||||
source "package/tidsp-binaries/Config.in"
|
||||
source "package/tstools/Config.in"
|
||||
source "package/twolame/Config.in"
|
||||
source "package/upmpdcli/Config.in"
|
||||
source "package/vlc/Config.in"
|
||||
source "package/vorbis-tools/Config.in"
|
||||
source "package/wavpack/Config.in"
|
||||
|
18
package/upmpdcli/Config.in
Normal file
18
package/upmpdcli/Config.in
Normal file
@ -0,0 +1,18 @@
|
||||
config BR2_PACKAGE_UPMPDCLI
|
||||
bool "upmpdcli"
|
||||
select BR2_PACKAGE_EXPAT
|
||||
select BR2_PACKAGE_LIBUPNP
|
||||
select BR2_PACKAGE_LIBMPDCLIENT
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_LARGEFILE # libupnp
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libupnp
|
||||
help
|
||||
upmpdcli is a UPnP Media Renderer front-end for MPD, the Music
|
||||
Player Daemon. It supports UPnP gapless track transitions and
|
||||
the OpenHome ohMedia services.
|
||||
|
||||
http://www.lesbonscomptes.com/upmpdcli/
|
||||
|
||||
comment "upmpdcli needs a toolchain w/ C++, largefile, threads"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS
|
40
package/upmpdcli/S99upmpdcli
Normal file
40
package/upmpdcli/S99upmpdcli
Normal file
@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
|
||||
NAME=upmpdcli
|
||||
DAEMON=/usr/bin/$NAME
|
||||
CONFFILE=/etc/$NAME.conf
|
||||
PIDFILE=/var/run/$NAME.pid
|
||||
DAEMON_ARGS="-D -c $CONFFILE"
|
||||
|
||||
# Sanity checks
|
||||
test -f $DAEMON || exit 0
|
||||
|
||||
do_start() {
|
||||
echo -n "Starting $NAME: "
|
||||
start-stop-daemon --start --quiet --background --exec $DAEMON \
|
||||
-- $DAEMON_ARGS \
|
||||
&& echo "OK" || echo "FAIL"
|
||||
}
|
||||
|
||||
do_stop() {
|
||||
echo -n "Stopping $NAME: "
|
||||
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
|
||||
&& echo "OK" || echo "FAIL"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
do_start
|
||||
;;
|
||||
stop)
|
||||
do_stop
|
||||
;;
|
||||
restart)
|
||||
do_stop
|
||||
sleep 1
|
||||
do_start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
77
package/upmpdcli/upmpdcli-0001-uclibc-fixes.patch
Normal file
77
package/upmpdcli/upmpdcli-0001-uclibc-fixes.patch
Normal file
@ -0,0 +1,77 @@
|
||||
Add necessary fixes to build with uClibc
|
||||
|
||||
- Missing #include of C library headers
|
||||
- exp10 is not available in uClibc
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/libupnpp/device.cxx
|
||||
===================================================================
|
||||
--- a/libupnpp/device.cxx
|
||||
+++ b/libupnpp/device.cxx
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#include <time.h>
|
||||
+#include <errno.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include <iostream>
|
||||
Index: b/libupnpp/soaphelp.cxx
|
||||
===================================================================
|
||||
--- a/libupnpp/soaphelp.cxx
|
||||
+++ b/libupnpp/soaphelp.cxx
|
||||
@@ -16,6 +16,10 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
+#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
+
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
Index: b/upmpd/upmpd.cxx
|
||||
===================================================================
|
||||
--- a/upmpd/upmpd.cxx
|
||||
+++ b/upmpd/upmpd.cxx
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <pwd.h>
|
||||
+#include <errno.h>
|
||||
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
Index: b/upmpd/upmpdutils.cxx
|
||||
===================================================================
|
||||
--- a/upmpd/upmpdutils.cxx
|
||||
+++ b/upmpd/upmpdutils.cxx
|
||||
@@ -21,11 +21,14 @@
|
||||
// not linking to Qt or glib just to get path-concatenating
|
||||
// functions...
|
||||
|
||||
+#define _GNU_SOURCE
|
||||
+
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/file.h>
|
||||
+#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#include <pwd.h>
|
||||
#include <regex.h>
|
||||
@@ -35,6 +38,11 @@
|
||||
#define O_STREAMING 0
|
||||
#endif
|
||||
|
||||
+#ifdef __UCLIBC__
|
||||
+/* 10^x = 10^(log e^x) = (e^x)^log10 = e^(x * log 10) */
|
||||
+#define exp10(x) (exp((x) * log(10)))
|
||||
+#endif /* __UCLIBC__ */
|
||||
+
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <fstream>
|
28
package/upmpdcli/upmpdcli.mk
Normal file
28
package/upmpdcli/upmpdcli.mk
Normal file
@ -0,0 +1,28 @@
|
||||
################################################################################
|
||||
#
|
||||
# upmpdcli
|
||||
#
|
||||
################################################################################
|
||||
|
||||
UPMPDCLI_VERSION = 0.7.1
|
||||
UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
|
||||
UPMPDCLI_LICENSE = GPLv2+
|
||||
UPMPDCLI_LICENSE_FILES = COPYING
|
||||
UPMPDCLI_DEPENDENCIES = expat libupnp libmpdclient
|
||||
|
||||
# Upmpdcli only runs if user upmpdcli exists
|
||||
define UPMPDCLI_USERS
|
||||
upmpdcli -1 upmpdcli -1 * - - - Upmpdcli MPD UPnP Renderer Front-End
|
||||
endef
|
||||
|
||||
define UPMPDCLI_INSTALL_INIT_SYSV
|
||||
$(INSTALL) -D -m 0755 package/upmpdcli/S99upmpdcli $(TARGET_DIR)/etc/init.d/S99upmpdcli
|
||||
endef
|
||||
|
||||
define UPMPDCLI_INSTALL_CONF_FILE
|
||||
$(INSTALL) -D -m 0755 $(@D)/upmpd/upmpdcli.conf $(TARGET_DIR)/etc/upmpdcli.conf
|
||||
endef
|
||||
|
||||
UPMPDCLI_POST_INSTALL_TARGET_HOOKS += UPMPDCLI_INSTALL_CONF_FILE
|
||||
|
||||
$(eval $(autotools-package))
|
Loading…
Reference in New Issue
Block a user