diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in index de2b763c68..43e9a334c4 100644 --- a/openwrt/package/Config.in +++ b/openwrt/package/Config.in @@ -157,6 +157,9 @@ source "package/uclibc++/Config.in" source "package/zlib/Config.in" source "package/irssi/Config.in" +comment "Multimedia ---" +source "package/mt-daapd/Config.in" + comment "Serial communications & terminal emulation ---" source "package/microcom/Config.in" source "package/picocom/Config.in" diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile index 08d39e1997..0f5777c055 100644 --- a/openwrt/package/Makefile +++ b/openwrt/package/Makefile @@ -89,6 +89,7 @@ package-$(BR2_PACKAGE_MICROPERL) += microperl package-$(BR2_PACKAGE_MINI_HTTPD) += mini_httpd package-$(BR2_PACKAGE_MINI_SENDMAIL) += mini_sendmail package-$(BR2_PACKAGE_MONIT) += monit +package-$(BR2_PACKAGE_MT_DAAPD) += mt-daapd package-$(BR2_PACKAGE_MTD) += mtd package-$(BR2_PACKAGE_MYSQL) += mysql package-$(BR2_PACKAGE_NCURSES) += ncurses @@ -201,6 +202,7 @@ libxml2-compile: zlib-compile libxslt-compile: libxml2-compile lighttpd-compile: openssl-compile pcre-compile mini_httpd-compile: matrixssl-compile +mt-daapd-compile: howl-compile libgdbm-compile libid3tag-compile mysql-compile: ncurses-compile zlib-compile net-snmp-compile: libelf-compile nfs-server-compile: portmap-compile diff --git a/openwrt/package/mt-daapd/Config.in b/openwrt/package/mt-daapd/Config.in new file mode 100644 index 0000000000..6850c4e650 --- /dev/null +++ b/openwrt/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/openwrt/package/mt-daapd/Makefile b/openwrt/package/mt-daapd/Makefile new file mode 100644 index 0000000000..98a2088c30 --- /dev/null +++ b/openwrt/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/openwrt/package/mt-daapd/files/mt-daapd.init b/openwrt/package/mt-daapd/files/mt-daapd.init new file mode 100644 index 0000000000..2968769c78 --- /dev/null +++ b/openwrt/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/openwrt/package/mt-daapd/ipkg/mt-daapd.conffiles b/openwrt/package/mt-daapd/ipkg/mt-daapd.conffiles new file mode 100644 index 0000000000..2e5ee2b4d4 --- /dev/null +++ b/openwrt/package/mt-daapd/ipkg/mt-daapd.conffiles @@ -0,0 +1,2 @@ +/etc/mt-daapd.conf +/etc/mt-daapd.playlist diff --git a/openwrt/package/mt-daapd/ipkg/mt-daapd.control b/openwrt/package/mt-daapd/ipkg/mt-daapd.control new file mode 100644 index 0000000000..9d9d5b178f --- /dev/null +++ b/openwrt/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 +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