summaryrefslogtreecommitdiffstats
path: root/package/mt-daapd
diff options
context:
space:
mode:
Diffstat (limited to 'package/mt-daapd')
-rw-r--r--package/mt-daapd/Config.in32
-rw-r--r--package/mt-daapd/Makefile77
-rw-r--r--package/mt-daapd/files/mt-daapd.init22
-rw-r--r--package/mt-daapd/ipkg/mt-daapd.conffiles2
-rw-r--r--package/mt-daapd/ipkg/mt-daapd.control9
5 files changed, 142 insertions, 0 deletions
diff --git a/package/mt-daapd/Config.in b/package/mt-daapd/Config.in
new file mode 100644
index 000000000..6850c4e65
--- /dev/null
+++ b/package/mt-daapd/Config.in
@@ -0,0 +1,32 @@
+config BR2_PACKAGE_MT_DAAPD
+ prompt "mt-daapd - A multi-threaded DAAP (Digital Audio Access Protocol) daemon"
+ tristate
+# default m if CONFIG_DEVEL
+ default n
+ select BR2_PACKAGE_LIBGDBM
+ select BR2_PACKAGE_LIBHOWL
+ select BR2_PACKAGE_LIBID3TAG
+ help
+ mt-daapd is a program which acts as an iTunes (DAAP) server for Linux and
+ other POSIX unixes. It may eventually support Win32 as well.
+
+ Some random features that it supports:
+
+ * Supports the Roku SoundBridge (query/browse/index support)
+ * Supports periodic rescans of the database
+ * Can advertise shoutcast streams
+ * Supports password-protected shares
+ * Is web-configurable and managable
+ * Support dynamic playlists, like iTunes "Smart playlists"
+ * Probably other things I've forgotten
+
+ All is not perfect, however. Currently, there are several drawbacks to it:
+
+ * database is indexed by inode, so all music must be on one filesystem
+ * browse by artist is slow on Roku, times out (with large databases ~10K songs)
+ * Probably other things I've forgotten
+
+ http://www.mt-daapd.org/
+
+ Depends: libgdbm, libhowl, libid3tag, libpthread
+
diff --git a/package/mt-daapd/Makefile b/package/mt-daapd/Makefile
new file mode 100644
index 000000000..98a2088c3
--- /dev/null
+++ b/package/mt-daapd/Makefile
@@ -0,0 +1,77 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=mt-daapd
+PKG_VERSION:=0.2.1.1
+PKG_RELEASE:=1
+PKG_MD5SUM:=87356d2750ad82388a58d901aa566465
+
+PKG_SOURCE_URL:=@SF/mt-daapd
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,MT_DAAPD,mt-daapd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+ (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CPPFLAGS="-I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include" \
+ LDFLAGS="-L$(STAGING_DIR)/usr/include -L$(STAGING_DIR)/usr/lib" \
+ ac_cv_func_setpgrp_void=yes \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --program-prefix="" \
+ --program-suffix="" \
+ --prefix=/usr \
+ --exec-prefix=/usr \
+ --bindir=/usr/bin \
+ --datadir=/usr/share \
+ --includedir=/usr/include \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --sbindir=/usr/sbin \
+ --sysconfdir=/etc \
+ $(DISABLE_LARGEFILE) \
+ $(DISABLE_NLS) \
+ --enable-shared \
+ --disable-static \
+ --enable-mdns \
+ --enable-howl \
+ --with-howl-includes="$(STAGING_DIR)/usr/include/howl" \
+ --without-static-libs \
+ )
+ touch $@
+
+$(PKG_BUILD_DIR)/.built:
+ rm -rf $(PKG_INSTALL_DIR)
+ mkdir -p $(PKG_INSTALL_DIR)
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ DESTDIR="$(PKG_INSTALL_DIR)" \
+ all install
+ touch $@
+
+$(IPKG_MT_DAAPD):
+ install -m0755 -d $(IDIR_MT_DAAPD)/etc
+ install -m0644 $(PKG_BUILD_DIR)/contrib/mt-daapd.conf $(IDIR_MT_DAAPD)/etc/
+ install -m0644 $(PKG_BUILD_DIR)/contrib/mt-daapd.playlist $(IDIR_MT_DAAPD)/etc/
+ install -m0755 -d $(IDIR_MT_DAAPD)/etc/init.d
+ install -m0755 ./files/mt-daapd.init $(IDIR_MT_DAAPD)/etc/init.d/mt-daapd
+ install -m0755 -d $(IDIR_MT_DAAPD)/usr/share
+ cp -fpR $(PKG_INSTALL_DIR)/usr/share/mt-daapd $(IDIR_MT_DAAPD)/usr/share/
+ install -m0755 -d $(IDIR_MT_DAAPD)/usr/sbin
+ cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/mt-daapd $(IDIR_MT_DAAPD)/usr/sbin/
+ $(RSTRIP) $(IDIR_MT_DAAPD)
+ $(IPKG_BUILD) $(IDIR_MT_DAAPD) $(PACKAGE_DIR)
+
diff --git a/package/mt-daapd/files/mt-daapd.init b/package/mt-daapd/files/mt-daapd.init
new file mode 100644
index 000000000..2968769c7
--- /dev/null
+++ b/package/mt-daapd/files/mt-daapd.init
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+BIN=mt-daapd
+DEFAULT=/etc/default/$BIN
+RUN_D=/var/run
+PID_F=$RUN_D/$BIN.pid
+[ -f $DEFAULT ] && . $DEFAULT
+
+case $1 in
+ start)
+ [ -d $RUN_D ] || mkdir -p $RUN_D
+ $BIN $OPTIONS
+ ;;
+ stop)
+ [ -f $PID_F ] && kill -INT $(cat $PID_F)
+ ;;
+ *)
+ echo "usage: $0 (start|stop)"
+ exit 1
+esac
+
+exit $?
diff --git a/package/mt-daapd/ipkg/mt-daapd.conffiles b/package/mt-daapd/ipkg/mt-daapd.conffiles
new file mode 100644
index 000000000..2e5ee2b4d
--- /dev/null
+++ b/package/mt-daapd/ipkg/mt-daapd.conffiles
@@ -0,0 +1,2 @@
+/etc/mt-daapd.conf
+/etc/mt-daapd.playlist
diff --git a/package/mt-daapd/ipkg/mt-daapd.control b/package/mt-daapd/ipkg/mt-daapd.control
new file mode 100644
index 000000000..9d9d5b178
--- /dev/null
+++ b/package/mt-daapd/ipkg/mt-daapd.control
@@ -0,0 +1,9 @@
+Package: mt-daapd
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: OpenWrt Developers Team <bugs@openwrt.org>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/mt-daapd/
+Depends: libgdbm, libhowl, libid3tag, libpthread
+Description: a multi-threaded DAAP (Digital Audio Access Protocol) daemon