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,24 @@
AUX mt-daapd-0.2.3-sparc.patch 927 RMD160 029a51e22054655fac678e254f427748b941ab48 SHA1 ae966d89cd736f58b06edd357fdc485fd42cab0c SHA256 fda7219e9cca646520debb1a1f853ea8144e6c3db7c04004cddeeb173df9645b
MD5 227a3d186fe7904440caec11492341db files/mt-daapd-0.2.3-sparc.patch 927
RMD160 029a51e22054655fac678e254f427748b941ab48 files/mt-daapd-0.2.3-sparc.patch 927
SHA256 fda7219e9cca646520debb1a1f853ea8144e6c3db7c04004cddeeb173df9645b files/mt-daapd-0.2.3-sparc.patch 927
AUX mt-daapd-0.2.4.1-libsorder.patch 5361 RMD160 56e2ebe811145e388eae6ae105a1c9f3cebf3bff SHA1 6019e4bc865e9d0291a456d3f0c2d3d2a3536711 SHA256 b1895b9487279347bf488b40c26dcf8473edbd8abd61519fc7ee08181a15d78e
MD5 f88620839109b3d16d8b13fb90c746a0 files/mt-daapd-0.2.4.1-libsorder.patch 5361
RMD160 56e2ebe811145e388eae6ae105a1c9f3cebf3bff files/mt-daapd-0.2.4.1-libsorder.patch 5361
SHA256 b1895b9487279347bf488b40c26dcf8473edbd8abd61519fc7ee08181a15d78e files/mt-daapd-0.2.4.1-libsorder.patch 5361
AUX mt-daapd-0.2.4.1-pidfile.patch 1908 RMD160 20b751d8ec53fa850eab8237830203824b8c90bd SHA1 fd6325eae8c6e7a384199d910bf6565d42d073b4 SHA256 da3d9e7283886eadd0e8e31a5058d307ee693ca3207bafc5d6b6315fe2217659
MD5 c1130a9222dd1e2de25aeb298f9640d8 files/mt-daapd-0.2.4.1-pidfile.patch 1908
RMD160 20b751d8ec53fa850eab8237830203824b8c90bd files/mt-daapd-0.2.4.1-pidfile.patch 1908
SHA256 da3d9e7283886eadd0e8e31a5058d307ee693ca3207bafc5d6b6315fe2217659 files/mt-daapd-0.2.4.1-pidfile.patch 1908
AUX mt-daapd.init.2 1200 RMD160 b5dc96a1bf7c390d9a818ea5a8018ac6c1f8a90c SHA1 96187b2ca0ac89e5a69834df87c10997ae013cf5 SHA256 6e4336639ead7da81d659a289fad0600b30b112420016fd63bf426eeae2098a1
MD5 674db97976bcc4e34df95a17ffe8750c files/mt-daapd.init.2 1200
RMD160 b5dc96a1bf7c390d9a818ea5a8018ac6c1f8a90c files/mt-daapd.init.2 1200
SHA256 6e4336639ead7da81d659a289fad0600b30b112420016fd63bf426eeae2098a1 files/mt-daapd.init.2 1200
DIST mt-daapd-svn-1586.tar.gz 1286592 RMD160 af6ddf88142d189bbb375479b544201fc3513a5d SHA1 8096a5907ceaa00de2decb63441b899802ba39de SHA256 d90e6f9e1752f0dd5a13c38403e8ff9542955f89abee8693abfb78bbe87601ea
EBUILD mt-daapd-1586.ebuild 2348 RMD160 b52577056cd62e1dd021c741190f697bbe33e929 SHA1 43f31074b08c70499b10bb09fce229bf6e0b27ea SHA256 bf704e7f769169a8e8b9132071492bd65ca1cbe8062ec7b593c5d05f50a9a6f1
MD5 d562170ba192601266bbe418086ba40d mt-daapd-1586.ebuild 2348
RMD160 b52577056cd62e1dd021c741190f697bbe33e929 mt-daapd-1586.ebuild 2348
SHA256 bf704e7f769169a8e8b9132071492bd65ca1cbe8062ec7b593c5d05f50a9a6f1 mt-daapd-1586.ebuild 2348
MD5 9dc98d9bd0d1f97bd3996d3b8ee25944 files/digest-mt-daapd-1586 256
RMD160 7cac11d7ce204b10a91fa868de7d4bd243de0223 files/digest-mt-daapd-1586 256
SHA256 57a17cf09f8a4ed1414b86b4c678f17920698aaaa8d0b6693c76e45b31cde2cf files/digest-mt-daapd-1586 256

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}
}

View file

@ -0,0 +1,97 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-sound/mt-daapd/mt-daapd-0.2.4.1.ebuild,v 1.8 2007/12/31 03:10:40 vapier Exp $
inherit autotools eutils
DESCRIPTION="A multi-threaded implementation of Apple's DAAP server"
HOMEPAGE="http://www.mt-daapd.org"
SRC_URI="http://nightlies.fireflymediaserver.org/nightlies/svn-${PV}/${PN}-svn-${PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm ~mips ppc sh sparc x86"
IUSE="avahi vorbis"
RDEPEND="media-libs/libid3tag
sys-libs/gdbm
avahi? ( net-dns/avahi )
!avahi? ( net-misc/mDNSResponder )
vorbis? ( media-libs/libvorbis )"
DEPEND="${RDEPEND}
dev-util/pkgconfig"
pkg_setup() {
local fail="Re-emerge net-dns/avahi with USE dbus."
if use avahi && ! built_with_use net-dns/avahi dbus; then
eerror "${fail}"
die "${fail}"
fi
}
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${PN}-0.2.3-sparc.patch
epatch "${FILESDIR}"/${PN}-0.2.4.1-libsorder.patch
epatch "${FILESDIR}"/${PN}-0.2.4.1-pidfile.patch
eautoreconf
cp "${FILESDIR}"/${PN}.init.2 initd
if use avahi; then
sed -i -e 's:#USEHOWL need mDNSResponder:need avahi-daemon:' initd
else
sed -i -e 's:#USEHOWL ::' initd
fi
}
src_compile() {
local myconf
if use avahi; then
myconf="--enable-avahi --disable-mdns"
else
myconf="--disable-avahi --enable-mdns"
fi
econf $(use_enable vorbis oggvorbis) \
${myconf}
emake || die "emake failed."
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed."
insinto /etc
newins contrib/mt-daapd.conf mt-daapd.conf.example
doins contrib/mt-daapd.playlist
newinitd initd ${PN}
keepdir /var/cache/mt-daapd /etc/mt-daapd.d
dodoc AUTHORS ChangeLog CREDITS NEWS README TODO
}
pkg_postinst() {
einfo
elog "You have to configure your mt-daapd.conf following"
elog "/etc/mt-daapd.conf.example file."
einfo
if use vorbis; then
einfo
elog "You need to edit you extensions list in /etc/mt-daapd.conf"
elog "if you want your mt-daapd to serve ogg files."
einfo
fi
einfo
elog "If you want to start more than one ${PN} service, symlink"
elog "/etc/init.d/${PN} to /etc/init.d/${PN}.<name>, and it will"
elog "load the data from /etc/${PN}.d/<name>.conf."
elog "Make sure that you have different cache directories for them."
einfo
}