include $(TOPDIR)/rules.mk
PKG_NAME:=upmpdcli
-PKG_VERSION:=1.1.3
-PKG_RELEASE:=2
+PKG_VERSION:=1.4.0
+PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=2df3e6593f18c097b6247fb8da919b94701bf083b219056b006d68e6dcef75b5
PKG_MAINTAINER:=Petko Bordjukov <bordjukov@gmail.com>
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
+PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_HASH:=28742910fa16b72f0c4e5b7dc561f59aa7f1a5fdd3e8e4f72f359d2e4af90d35
+
+PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/upmpdcli
SECTION:=sound
CATEGORY:=Sound
- URL:=http://www.lesbonscomptes.com/upmpdcli
- DEPENDS+= +libupnpp +libmpdclient
+ URL:=https://www.lesbonscomptes.com/upmpdcli
+ DEPENDS:=+libupnpp +libmpdclient +libmicrohttpd +jsoncpp
TITLE:=A UPnP front-end to MPD, the Music Player Daemon
USERID:=upmpdcli=89:upmpdcli=89
MENU:=1
+++ /dev/null
---- a/src/upmpdcli.conf-dist
-+++ b/src/upmpdcli.conf-dist
-@@ -24,7 +24,7 @@
-
- # You can set a path to an icon here. The icon will be displayed by a control
- # point. The icon will only be read once, when upmpdcli starts up.
--# iconpath = /usr/share/upmpdcli/icon.png
-+iconpath = /usr/share/upmpdcli/icon.png
-
- # You can set a path to an html file here, to replace the default
- # presentation page. The page will only be read once, when upmpdcli starts
--- /dev/null
+From 256394399f57ba6e3057ee2c981127a14e4623f8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Tue, 22 Jan 2019 09:07:56 +0100
+Subject: [PATCH] Use uint64_t instead of u_int64_t
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+`uintN_t` is standard C99 type available in `<stdint.h>`, whereas `u_intN_t`
+is defined `<sys/types.h>`
+
+As upmpdcli already uses the `uintN_t` type, replace the few existing
+`u_intN_t` types, as it breaks build with the musl C library, which is
+very strict, because of the missing `<sys/types.h>`:
+
+```
+src/mediaserver/cdplugins/netfetch.h:71:5: error: ‘u_int64_t’ does not name a type
+ u_int64_t datacount() {
+```
+---
+ src/mediaserver/cdplugins/netfetch.h | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/mediaserver/cdplugins/netfetch.h b/src/mediaserver/cdplugins/netfetch.h
+index d7e9df4..d105e53 100644
+--- a/src/mediaserver/cdplugins/netfetch.h
++++ b/src/mediaserver/cdplugins/netfetch.h
+@@ -68,7 +68,7 @@ public:
+ /// Reset after transfer done, for retrying for exemple.
+ virtual bool reset() = 0;
+
+- u_int64_t datacount() {
++ uint64_t datacount() {
+ return fetch_data_count;
+ }
+
+@@ -84,11 +84,11 @@ public:
+ buf1cb = f;
+ }
+ // Called when the network transfer is done
+- void setEOFetchCB(std::function<void(bool ok, u_int64_t count)> f) {
++ void setEOFetchCB(std::function<void(bool ok, uint64_t count)> f) {
+ eofcb = f;
+ }
+ // Called every time we get new data from the remote
+- void setFetchBytesCB(std::function<void(u_int64_t count)> f) {
++ void setFetchBytesCB(std::function<void(uint64_t count)> f) {
+ fbcb = f;
+ }
+
+@@ -98,11 +98,11 @@ protected:
+ std::string _url;
+ uint64_t startoffset;
+ int timeoutsecs{0};
+- u_int64_t fetch_data_count{0};
++ uint64_t fetch_data_count{0};
+ BufXChange<ABuffer*> *outqueue{nullptr};
+ std::function<bool(std::string&, void *, int)> buf1cb;
+- std::function<void(u_int64_t)> fbcb;
+- std::function<void(bool, u_int64_t)> eofcb;
++ std::function<void(uint64_t)> fbcb;
++ std::function<void(bool, uint64_t)> eofcb;
+ };
+
+ #endif /* _MEDIAFETCH_H_INCLUDED_ */
+--
+2.11.0
+