aboutsummaryrefslogtreecommitdiffstats
path: root/audio/daapd
diff options
context:
space:
mode:
authorsergei <sergei@FreeBSD.org>2003-10-24 04:24:42 +0800
committersergei <sergei@FreeBSD.org>2003-10-24 04:24:42 +0800
commit1abc33db68d4eaa69f6a1acd980d06a22c7dbc8b (patch)
tree7ee895dfada054b33bd849db7d574a5913b34eaa /audio/daapd
parent4d0b801b27ae8730557ddb5cc8a1ce236e33851e (diff)
downloadfreebsd-ports-gnome-1abc33db68d4eaa69f6a1acd980d06a22c7dbc8b.tar.gz
freebsd-ports-gnome-1abc33db68d4eaa69f6a1acd980d06a22c7dbc8b.tar.zst
freebsd-ports-gnome-1abc33db68d4eaa69f6a1acd980d06a22c7dbc8b.zip
Add daapd 0.2.1c, server for Digital Audio Access Protocol.
daapd scans a directory for music files and makes them available via the Apple proprietary protocol DAAP. DAAP clients can browse the directory and retrieve individual files, either by streaming or by downloading them. PR: 58352 Submitted by: Lars Thegler <lars@thegler.dk> Approved by: krion (implicit)
Diffstat (limited to 'audio/daapd')
-rw-r--r--audio/daapd/Makefile65
-rw-r--r--audio/daapd/distinfo1
-rw-r--r--audio/daapd/files/daapd.sh28
-rw-r--r--audio/daapd/files/patch-makefile15
-rw-r--r--audio/daapd/pkg-deinstall27
-rw-r--r--audio/daapd/pkg-descr6
-rw-r--r--audio/daapd/pkg-install40
-rw-r--r--audio/daapd/pkg-message28
-rw-r--r--audio/daapd/pkg-plist6
9 files changed, 216 insertions, 0 deletions
diff --git a/audio/daapd/Makefile b/audio/daapd/Makefile
new file mode 100644
index 000000000000..d91355771ab1
--- /dev/null
+++ b/audio/daapd/Makefile
@@ -0,0 +1,65 @@
+# New ports collection makefile for: daapd
+# Date created: 19 October 2003
+# Whom: Lars Thegler <lars@thegler.dk>
+#
+# $FreeBSD$
+#
+
+PORTNAME= daapd
+PORTVERSION= 0.2.1c
+CATEGORIES= audio
+MASTER_SITES= http://www.deleet.de/projekte/daap/daapd/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= lars@thegler.dk
+COMMENT= Server for Digital Audio Access Protocol
+
+BUILD_DEPENDS= ${LOCALBASE}/lib/libid3tag.a:${PORTSDIR}/audio/mad \
+ ${LOCALBASE}/lib/libdaaplib.a:${PORTSDIR}/audio/daaplib \
+ ${LOCALBASE}/lib/libhttpd.a:${PORTSDIR}/www/libhttpd-persistent
+
+USE_GMAKE= yes
+USE_REINPLACE= yes
+MAKEFILE= makefile
+ALL_TARGET= daapd
+
+PKGMESSAGE= ${WRKDIR}/pkg-message
+PKGINSTALL= ${WRKDIR}/pkg-install
+PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
+
+DAAPD_USER= daapd
+DAAPD_GROUP= daapd
+
+LOGDIR= ${DATADIR}
+FILES_SUB= USER=${DAAPD_USER} GROUP=${DAAPD_GROUP} \
+ PREFIX=${PREFIX} LOGDIR=${LOGDIR} DOCSDIR=${DOCSDIR} \
+ LOCALBASE=${LOCALBASE}
+
+post-patch:
+ @${REINPLACE_CMD} ${FILES_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
+ ${WRKSRC}/${MAKEFILE}
+
+pre-install:
+ @${SED} ${FILES_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
+ ${PKGDIR}/pkg-install > ${PKGINSTALL}
+ @${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+
+post-install:
+ @${INSTALL_DATA} ${WRKSRC}/daapd-example.conf ${PREFIX}/etc/daapd.conf.sample
+ @${SED} ${FILES_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
+ ${FILESDIR}/daapd.sh > ${WRKDIR}/daapd.sh
+ @${INSTALL_SCRIPT} ${WRKDIR}/daapd.sh ${PREFIX}/etc/rc.d/daapd.sh
+ @${SED} ${FILES_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
+ ${PKGDIR}/pkg-deinstall > ${PKGDEINSTALL}
+ @${SED} ${FILES_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
+ ${PKGDIR}/pkg-message > ${PKGMESSAGE}
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+ @${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
+.endif
+ @${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+.if !defined(BATCH)
+ @${CAT} ${PKGMESSAGE}
+.endif
+
+.include <bsd.port.mk>
diff --git a/audio/daapd/distinfo b/audio/daapd/distinfo
new file mode 100644
index 000000000000..1f4913eeb030
--- /dev/null
+++ b/audio/daapd/distinfo
@@ -0,0 +1 @@
+MD5 (daapd-0.2.1c.tgz) = 6f4d9a4d6aaaaafea9d82e3f31cb055f
diff --git a/audio/daapd/files/daapd.sh b/audio/daapd/files/daapd.sh
new file mode 100644
index 000000000000..6c4052638952
--- /dev/null
+++ b/audio/daapd/files/daapd.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+# $FreeBSD$
+
+DAAPD_USER=%%USER%%
+DAAPD=%%PREFIX%%/sbin/daapd
+DAAPD_LOG=%%LOGDIR%%/daapd.log
+DAAPD_PID=/var/run/daapd.pid
+DAAPD_CONF=%%PREFIX%%/etc/daapd.conf
+
+case "$1" in
+ start)
+ if [ -r "${DAAPD_CONF}" ]; then
+ su -m ${DAAPD_USER} -c "${DAAPD} -c ${DAAPD_CONF}" \
+ >> ${DAAPD_LOG} 2>&1 &
+ echo $(($!+1)) > "${DAAPD_PID}"
+ echo -n ' daapd'
+ fi
+ ;;
+ stop)
+ kill -TERM `cat "${DAAPD_PID}"` && rm -f "${DAAPD_PID}"
+ ;;
+ *)
+ echo ""
+ echo "Usage: `basename $0` { start | stop }"
+ echo ""
+ exit 64
+ ;;
+esac
diff --git a/audio/daapd/files/patch-makefile b/audio/daapd/files/patch-makefile
new file mode 100644
index 000000000000..07ee1c58e4cc
--- /dev/null
+++ b/audio/daapd/files/patch-makefile
@@ -0,0 +1,15 @@
+--- makefile.orig Tue Oct 21 22:59:55 2003
++++ makefile Tue Oct 21 23:00:44 2003
+@@ -2,9 +2,9 @@
+ TARGET = daapd
+ OBJS = daapd.o db.o dboutput.o songcache.o parsemp3.o
+ LIBS = -ldaaplib -lhttpd -lid3tag -lz
+-LIBPATH = -L. -L/usr/local/lib
+-INCPATH = -I.
+-DEPLOY = /usr/local/bin
++LIBPATH = -L. -L%%LOCALBASE%%/lib
++INCPATH = -I. -I%%LOCALBASE%%/include
++DEPLOY = %%PREFIX%%/sbin
+ CFLAGS = -Wall -Wno-multichar
+
+ .cc.o:
diff --git a/audio/daapd/pkg-deinstall b/audio/daapd/pkg-deinstall
new file mode 100644
index 000000000000..a0ca6d0332b2
--- /dev/null
+++ b/audio/daapd/pkg-deinstall
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+PATH=/bin:/usr/bin:/usr/sbin
+
+case $2 in
+
+POST-DEINSTALL)
+ echo '---> Starting post-deinstall script:'
+
+ if [ -f %%PREFIX%%/etc/daapd.conf ]; then
+ echo '---> You seem to have made some custom daapd configuration.'
+ echo '---> The "%%USER%%" user and "%%GROUP%%" group were therefore not deleted.'
+ echo '---> You may delete them with "pw groupdel %%GROUP%%; pw userdel %%USER%%".'
+
+ else
+ echo '---> Removing group "%%GROUP%%"'
+ /usr/sbin/pw groupdel -n %%GROUP%%
+ echo '---> Removing user "%%USER%%"'
+ echo 'y' | /usr/sbin/pw userdel -n %%USER%%
+ fi
+
+ ;;
+
+esac
diff --git a/audio/daapd/pkg-descr b/audio/daapd/pkg-descr
new file mode 100644
index 000000000000..c098e1c2c705
--- /dev/null
+++ b/audio/daapd/pkg-descr
@@ -0,0 +1,6 @@
+daapd scans a directory for music files and makes them available via
+the Apple proprietary protocol DAAP. DAAP clients can browse the
+directory and retrieve individual files, either by streaming or by
+downloading them.
+
+WWW: http://www.deleet.de/projekte/daap/daapd/
diff --git a/audio/daapd/pkg-install b/audio/daapd/pkg-install
new file mode 100644
index 000000000000..b539b4621aac
--- /dev/null
+++ b/audio/daapd/pkg-install
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+PATH=/bin:/usr/bin:/usr/sbin
+
+case $2 in
+
+PRE-INSTALL)
+ echo "---> Starting pre-install script:"
+
+ if pw showgroup "%%GROUP%%" 2>/dev/null; then
+ echo "---> Using existing group \"%%GROUP%%\""
+ else
+ echo "---> Adding group \"%%GROUP%%\""
+ pw addgroup %%GROUP%% -h - || exit 1
+ fi
+
+ # Create user if required
+ if pw showuser "%%USER%%" 2>/dev/null; then
+ echo "---> Using existing user \"%%USER%%\""
+ else
+ echo "---> Adding user \"%%USER%%\""
+ pw adduser %%USER%% -g %%GROUP%% -h - \
+ -d "%%LOGDIR%%" -s "/sbin/nologin" -c "daapd User" || exit 1
+ fi
+
+ ;;
+
+POST-INSTALL)
+ echo "---> Starting post-install script:"
+
+ echo "---> Creating directory \"%%LOGDIR%%\""
+ mkdir %%LOGDIR%%
+ chown %%USER%% %%LOGDIR%%
+
+ ;;
+
+esac
diff --git a/audio/daapd/pkg-message b/audio/daapd/pkg-message
new file mode 100644
index 000000000000..6a1922c4c684
--- /dev/null
+++ b/audio/daapd/pkg-message
@@ -0,0 +1,28 @@
+=================================================================
+
+daapd has now been installed.
+
+A sample configuration file has been placed at:
+
+ %%PREFIX%%/etc/daapd.conf.sample
+
+You need to copy this to
+
+ %%PREFIX%%/etc/daapd.conf
+
+and edit it to suit your requirements.
+Documentation is installed at:
+
+ %%DOCSDIR%%/README
+
+Once configured, you can start daapd by running:
+
+ %%PREFIX%%/etc/rc.d/daapd.sh start
+
+daapd keeps its logfile in
+
+ %%LOGDIR%%/daapd.log
+
+Enjoy!
+
+=================================================================
diff --git a/audio/daapd/pkg-plist b/audio/daapd/pkg-plist
new file mode 100644
index 000000000000..71b9af9603c9
--- /dev/null
+++ b/audio/daapd/pkg-plist
@@ -0,0 +1,6 @@
+@comment $FreeBSD$
+sbin/daapd
+etc/daapd.conf.sample
+etc/rc.d/daapd.sh
+%%PORTDOCS%%%%DOCSDIR%%/README
+@dirrm %%DATADIR%%