added mt-daap nightly ebuild

This commit is contained in:
Manuel Friedli 2008-01-19 20:46:48 +00:00
parent 9eb89eea16
commit 67259da420
7 changed files with 375 additions and 0 deletions

View file

@ -0,0 +1,3 @@
MD5 1d274d45a06492e1475e0f720175706c mt-daapd-svn-1586.tar.gz 1286592
RMD160 af6ddf88142d189bbb375479b544201fc3513a5d mt-daapd-svn-1586.tar.gz 1286592
SHA256 d90e6f9e1752f0dd5a13c38403e8ff9542955f89abee8693abfb78bbe87601ea mt-daapd-svn-1586.tar.gz 1286592

View file

@ -0,0 +1,20 @@
diff -Nura mt-daapd-0.2.3/src/mp3-scanner.c mt-daapd-0.2.3.sparc/src/mp3-scanner.c
--- mt-daapd-0.2.3/src/mp3-scanner.c 2005-02-05 18:22:47.000000000 -0300
+++ mt-daapd-0.2.3.sparc/src/mp3-scanner.c 2006-01-03 16:39:50.000000000 -0300
@@ -1663,14 +1663,14 @@
/* now check for an XING header */
if(strncasecmp((char*)&buffer[index+fi.xing_offset+4],"XING",4) == 0) {
DPRINTF(E_DBG,L_SCAN,"Found Xing header\n");
- xing_flags=*((int*)&buffer[index+fi.xing_offset+4+4]);
+ memcpy (&xing_flags, &buffer[index+fi.xing_offset+4+4], sizeof(int));
xing_flags=ntohs(xing_flags);
DPRINTF(E_DBG,L_SCAN,"Xing Flags: %02X\n",xing_flags);
if(xing_flags & 0x1) {
/* Frames field is valid... */
- fi.number_of_frames=*((int*)&buffer[index+fi.xing_offset+4+8]);
+ memcpy (&fi.number_of_frames, &buffer[index+fi.xing_offset+4+8], sizeof(int));
fi.number_of_frames=ntohs(fi.number_of_frames);
}
}

View file

@ -0,0 +1,140 @@
diff -ur mt-daapd-0.2.4.1.orig/configure.in mt-daapd-0.2.4.1/configure.in
--- mt-daapd-0.2.4.1.orig/configure.in 2007-10-22 02:50:24.000000000 +0300
+++ mt-daapd-0.2.4.1/configure.in 2007-10-28 23:31:43.000000000 +0200
@@ -20,8 +20,9 @@
CPPFLAGS="${CPPFLAGS} -g"
dnl fix freebsd's broken (?) libpthread
-AC_CHECK_LIB(c_r,pthread_creat,LDFLAGS="${LDFLAGS} -lc_r", [
- AC_CHECK_LIB(pthread,pthread_create,LDFLAGS="${LDFLAGS} -lpthread") ])
+AC_CHECK_LIB(c_r,pthread_creat,THREAD_LIBS="-lc_r", [
+ AC_CHECK_LIB(pthread,pthread_create,THREAD_LIBS="-lpthread") ])
+AC_SUBST(THREAD_LIBS)
AC_ARG_ENABLE(debug,[ --enable-debug Enable debugging features],
CPPFLAGS="${CPPFLAGS} -Wall")
@@ -35,26 +36,29 @@
esac ])
AC_ARG_ENABLE(efence,[ --enable-efence Enable electric fence],
- LDFLAGS="${LDFLAGS} -lefence")
+ EFENCE_LIBS="-lefence")
+AC_SUBST(EFENCE_LIBS)
AC_ARG_ENABLE(nslu2,[ --enable-nslu2 Build for NSLU2/uNSLUng],
CFLAGS="${CFLAGS} -DNSLU2")
AC_ARG_ENABLE(howl,[ --enable-howl Use howl 0.9.2 or later],
[ case "${enableval}" in
- yes) rend_howl=true; rend_posix=false; rend_avahi=false; LDFLAGS="${LDFLAGS} -lhowl";
+ yes) rend_howl=true; rend_posix=false; rend_avahi=false; HOWL_LIBS="-lhowl";
CPPFLAGS="${CPPFLAGS} -DWITH_HOWL";;
no) rend_howl=false;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-howl);;
esac ])
+AC_SUBST(HOWL_LIBS)
AC_ARG_ENABLE(avahi,[ --enable-avahi Use avahi 0.6 or later],
[ case "${enableval}" in
yes) PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6 ]);
- rend_avahi=true; rend_howl=false; rend_posix=false; LDFLAGS="${LDFLAGS} $AVAHI_LIBS";
+ rend_avahi=true; rend_howl=false; rend_posix=false;
CPPFLAGS="${CPPFLAGS} $AVAHI_CFLAGS -DWITH_AVAHI";;
no) rend_avahi=false;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-avahi);;
esac ])
+AC_SUBST(AVAHI_LIBS)
AC_ARG_ENABLE(oggvorbis,[ --enable-oggvorbis Enable Ogg/Vorbis support],
use_oggvorbis=true;
@@ -82,7 +86,7 @@
CPPFLAGS="$CPPFLAGS -DNOT_HAVE_SA_LEN -D_XPG4_2"
CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME"
CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
- LDFLAGS="$LDFLAGS -lnsl -lsocket";;
+ EXTRA_LIBS="$EXTRA_LIBS -lnsl -lsocket";;
*freebsd*)
CPPFLAGS="$CPPFLAGS -DFREEBSD";;
*linux*)
@@ -98,6 +102,8 @@
AM_CONDITIONAL(COND_REND_POSIX,false);;
esac
+AC_SUBST(EXTRA_LIBS)
+
dnl Checks for libraries.
AC_ARG_WITH(static-libs,
[--with-static-libs[[=DIR]] use static libs in DIR],[
@@ -154,12 +160,13 @@
AC_CHECK_LIB(gdbm,gdbm_open,echo "Have gdbm", echo "Must have gdbm";exit)
if test "$STATIC_LIBS" != "no"; then
- LDFLAGS="${LDFLAGS} ${STATIC_LIBS}/libgdbm.a"
+ GDBM_LIBS="${STATIC_LIBS}/libgdbm.a"
echo "Adding static libgdbm"
else
- LDFLAGS="${LDFLAGS} -lgdbm"
+ GDBM_LIBS="-lgdbm"
echo "Adding dynamic libgdbm"
fi
+AC_SUBST(GDBM_LIBS)
AC_CHECK_HEADERS(id3tag.h,, [
AC_MSG_ERROR([id3tag.h not found... try --with-id3tag=dir])])
@@ -170,12 +177,14 @@
AC_CHECK_LIB(id3tag,id3_file_open,echo "Have id3tag",echo "Must have libid3tag";exit)
if test "$STATIC_LIBS" != "no"; then
- LDFLAGS="${LDFLAGS} ${STATIC_LIBS}/libid3tag.a -lz"
+ ID3_LIBS="${STATIC_LIBS}/libid3tag.a -lz"
echo "Adding static libid3tag"
else
- LDFLAGS="${LDFLAGS} -lid3tag -lz"
+ ID3_LIBS="-lid3tag -lz"
echo "Adding dynamic libid3tag"
fi
+AC_SUBST([ID3_LIBS])
+
CFLAGS=$oldcflags
if test x$use_oggvorbis = xtrue; then
@@ -184,22 +193,23 @@
AC_CHECK_LIB(ogg,ogg_sync_init,echo "Have ogg",echo "Must have libogg for Ogg/Vorbis support";exit)
if test x"$STATIC_LIBS" != x"no"; then
- LDFLAGS="${LDFLAGS} ${STATIC_LIBS}/libogg.a"
+ OGG_LIBS="${STATIC_LIBS}/libogg.a"
echo "Adding static libogg"
else
- LDFLAGS="${LDFLAGS} -logg"
+ OGG_LIBS="-logg"
echo "Adding dynamic libogg"
fi
+ AC_SUBST(OGG_LIBS)
AC_CHECK_HEADERS(vorbis/codec.h,, [
AC_MSG_ERROR([vorbis/codec.h not found... Must have libvorbis installed for Ogg/Vorbis support])])
AC_CHECK_LIB(vorbis,vorbis_info_init,echo "Have vorbis",echo "Must have libvorbis for Ogg/Vorbis support";exit)
if test x"$STATIC_LIBS" != x"no"; then
- LDFLAGS="${LDFLAGS} ${STATIC_LIBS}/libvorbis.a"
+ OGG_LIBS="${OGG_LIBS} ${STATIC_LIBS}/libvorbis.a"
echo "Adding static libvorbis"
else
- LDFLAGS="${LDFLAGS} -lvorbis"
+ OGG_LIBS="${OGG_LIBS} -lvorbis"
echo "Adding dynamic libvorbis"
fi
fi
diff -ur mt-daapd-0.2.4.1.orig/src/Makefile.am mt-daapd-0.2.4.1/src/Makefile.am
--- mt-daapd-0.2.4.1.orig/src/Makefile.am 2007-10-22 03:32:27.000000000 +0300
+++ mt-daapd-0.2.4.1/src/Makefile.am 2007-10-28 23:31:33.000000000 +0200
@@ -34,6 +34,9 @@
redblack.c redblack.h dynamic-art.c dynamic-art.h query.c query.h \
$(PRENDSRC) $(ORENDSRC) $(HRENDSRC) $(OGGVORBISSRC) $(ARENDSRC)
+mt_daapd_LDADD = $(GDBM_LIBS) $(ID3_LIBS) $(OGG_LIBS) $(THREAD_LIBS) \
+ $(EFENCE_LIBS) $(HOWL_LIBS) $(AVAHI_LIBS) $(EXTRA_LIBS)
+
EXTRA_DIST = mDNS.c mDNSClientAPI.h mDNSDebug.h mDNSPosix.c \
mDNSUNP.c mDNSPlatformFunctions.h mDNSPosix.h mDNSUNP.h \
rend-howl.c rend-posix.c rend-osx.c db-memory.c \

View file

@ -0,0 +1,50 @@
diff -ur mt-daapd-0.2.4.1.orig/src/main.c mt-daapd-0.2.4.1/src/main.c
--- mt-daapd-0.2.4.1.orig/src/main.c 2007-10-22 02:27:57.000000000 +0300
+++ mt-daapd-0.2.4.1/src/main.c 2007-10-28 23:54:29.000000000 +0200
@@ -551,6 +551,7 @@
printf(" -m Disable mDNS\n");
printf(" -c <file> Use configfile specified\n");
printf(" -p Parse playlist file\n");
+ printf(" -P <file> Write the PID to specified file\n");
printf(" -f Run in foreground\n");
printf(" -y Yes, go ahead and run as non-root user\n");
printf("\n\n");
@@ -708,6 +709,7 @@
int main(int argc, char *argv[]) {
int option;
char *configfile=DEFAULT_CONFIGFILE;
+ char *pidfile=PIDFILE;
WSCONFIG ws_config;
WSHANDLE server;
int parseonly=0;
@@ -726,7 +728,7 @@
config.use_mdns=1;
err_debuglevel=1;
- while((option=getopt(argc,argv,"D:d:c:mpfry")) != -1) {
+ while((option=getopt(argc,argv,"D:d:c:mpP:fry")) != -1) {
switch(option) {
case 'd':
err_debuglevel=atoi(optarg);
@@ -754,6 +756,10 @@
foreground=1;
break;
+ case 'P':
+ pidfile=optarg;
+ break;
+
case 'r':
reload=1;
break;
@@ -803,8 +809,8 @@
/* open the pidfile, so it can be written once we detach */
if((!foreground) && (!force_non_root)) {
- if(-1 == (pid_fd = open(PIDFILE,O_CREAT | O_WRONLY | O_TRUNC, 0644)))
- DPRINTF(E_FATAL,L_MAIN,"Error opening pidfile (%s): %s\n",PIDFILE,strerror(errno));
+ if(-1 == (pid_fd = open(pidfile,O_CREAT | O_WRONLY | O_TRUNC, 0644)))
+ DPRINTF(E_FATAL,L_MAIN,"Error opening pidfile (%s): %s\n",pidfile,strerror(errno));
if(0 == (pid_fp = fdopen(pid_fd, "w")))
DPRINTF(E_FATAL,L_MAIN,"fdopen: %s\n",strerror(errno));

View file

@ -0,0 +1,41 @@
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-sound/mt-daapd/files/mt-daapd.init.2,v 1.2 2005/10/30 17:33:17 flameeyes Exp $
# Somehow based on init.d file shipped with mt-daapd itself.
#
# You can run multiple copies of this service just symlinking them to
# mt-daapd.<name>, then it will load /etc/mt-daapd.d/<name>.conf as config
# file.
# Remember to give them different logs and cache directories.
#
# The main instance (with no <name>) uses /etc/mt-daapd.conf
CONF="${myservice##*.}"
if [[ -n ${CONF} && ${myservice} != "mt-daapd" ]]; then
PIDFILE="/var/run/mt-daapd.${CONF}.pid"
CONFFILE="/etc/mt-daapd.d/${CONF}.conf"
else
PIDFILE="/var/run/mt-daapd.pid"
CONFFILE="/etc/mt-daapd.conf"
fi
depend() {
need net
#USEHOWL need mDNSResponder
}
start() {
ebegin "Starting mt-daapd DAAP server"
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
--exec /usr/sbin/mt-daapd -- -P ${PIDFILE} -c ${CONFFILE}
eend $?
}
stop() {
ebegin "Stopping mt-daapd DAAP server"
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} --signal 2
eend $?
rm -f ${PIDFILE}
}