blob: f1b003a433f9269bf9c553833cfc579d25629e48 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
# Copyright 1999-2006 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.3.0_pre1315.ebuild,v 1.1 2006/07/25 10:58:51 flameeyes Exp $
inherit eutils flag-o-matic base
SVN="${PV#*pre}"
if [[ -n ${SVN} ]] ; then
MY_P="${PN}-svn-${SVN}"
SRC_URI="http://nightlies.mt-daapd.org/${MY_P}.tar.gz"
else
MY_P="${P/_/-}"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
fi
S="${WORKDIR}/${MY_P}"
DESCRIPTION="A multi-threaded implementation of Apple's DAAP server"
HOMEPAGE="http://www.mt-daapd.org/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc-macos ~sh ~sparc ~x86"
IUSE="howl vorbis avahi sqlite3 flac ffmpeg"
DEPEND="sys-libs/zlib
media-libs/libid3tag
!sqlite3? ( =dev-db/sqlite-2* )
sqlite3? ( =dev-db/sqlite-3* )
howl? ( !avahi? ( >=net-misc/howl-0.9.2 )
avahi? ( net-dns/avahi ) )
vorbis? ( media-libs/libvorbis )
flac? ( media-libs/flac )
ffmpeg? ( media-video/ffmpeg )"
pkg_setup() {
if use howl && use avahi && ! built_with_use net-dns/avahi howl-compat; then
eerror "You requested avahi support, but this package requires"
eerror "the howl-compat support enabled in net-dns/avahi to work"
eerror "with it."
eerror
eerror "Please recompile net-dns/avahi with +howl-compat."
die "Missing howl-compat support in avahi."
fi
}
src_compile() {
local myconf=""
local howlincludes
append-flags -fno-strict-aliasing
# howl support?
if use howl; then
use avahi && \
howlincludes="/usr/include/avahi-compat-howl" || \
howlincludes="/usr/include/howl"
myconf="${myconf}
--enable-howl
--with-howl-libs=/usr/$(get_libdir)
--with-howl-includes=${howlincludes}"
fi
# Bug 65723
if use vorbis; then
myconf="${myconf} --enable-oggvorbis"
fi
econf \
$(use_enable vorbis oggvorbis) \
$(use_enable flac) \
$(use_enable !sqlite3 sqlite) \
$(use_enable sqlite3) \
$(use_enable ffmpeg) \
--with-ffmpeg-includes=${ROOT}/usr/include/ffmpeg \
${myconf} || die "configure failed"
emake || die "make failed"
cp ${FILESDIR}/${PN}.init.2 ${WORKDIR}/initd
if ! use howl; then
sed -i -e '/#USEHOWL/d' ${WORKDIR}/initd
elif ! use avahi; then
sed -i -e 's:#USEHOWL ::' ${WORKDIR}/initd
else
sed -i -e 's:#USEHOWL ::; s:mDNSResponder:avahi-daemon:' ${WORKDIR}/initd
fi
}
src_install() {
make DESTDIR=${D} install || die "make install failed"
insinto /etc
newins ${FILESDIR}/mt-daapd.conf.example mt-daapd.conf.example
doins contrib/mt-daapd.playlist
newinitd ${WORKDIR}/initd ${PN}
keepdir /var/cache/mt-daapd /etc/mt-daapd.d
dodoc AUTHORS CREDITS ChangeLog 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 howl; then
use avahi && \
howlservice="avahi-daemon" || \
howlservice="mDNSResponder"
einfo
elog "Since you want to use howl instead of the internal mdnsd"
elog "you need to make sure that you have ${howlservice} configured"
elog "and running to use mt-daapd."
einfo
if use avahi; then
elog "Avahi support is currently experimental, it does not work"
elog "as intended when using more than one mt-daapd instance."
elog "If you want to run more than one mt-daapd, just use the"
elog "internal mdnsd by building with -howl flag."
fi
fi
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
}
|