108 lines
2.6 KiB
Bash
108 lines
2.6 KiB
Bash
# Copyright 1999-2012 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Id$
|
|
|
|
inherit depend.apache webapp eutils toolchain-funcs user
|
|
|
|
DESCRIPTION="Jukebox-style music server"
|
|
HOMEPAGE="http://www.mserv.org"
|
|
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
|
LICENSE="mserv"
|
|
|
|
KEYWORDS="amd64 ~ppc sparc x86"
|
|
IUSE="vorbis"
|
|
|
|
WEBAPP_MANUAL_SLOT="yes"
|
|
SLOT="0"
|
|
|
|
RDEPEND=">=dev-lang/perl-5.6.1
|
|
media-sound/mpg123
|
|
media-sound/sox
|
|
vorbis? ( media-sound/vorbis-tools )"
|
|
DEPEND=""
|
|
|
|
need_apache
|
|
|
|
pkg_setup() {
|
|
webapp_pkg_setup
|
|
enewgroup mserv
|
|
enewuser mserv -1 -1 /dev/null mserv,audio
|
|
}
|
|
|
|
src_unpack() {
|
|
unpack ${A}
|
|
cd "${S}"
|
|
|
|
# Adjust paths to match Gentoo
|
|
epatch "${FILESDIR}"/${P}-paths.patch
|
|
# Mservplay uses stricmp - should be strcasecmp
|
|
epatch "${FILESDIR}"/${P}-mservplay.patch
|
|
}
|
|
|
|
src_compile() {
|
|
econf
|
|
emake || die "emake failed"
|
|
|
|
# Optional suid wrapper
|
|
cd "${S}"/support
|
|
$(tc-getCC) -I.. -I../mserv ${CFLAGS} ${LDFLAGS} mservplay.c -o mservplay || die
|
|
}
|
|
|
|
src_install() {
|
|
webapp_src_preinst
|
|
|
|
emake DESTDIR="${D}" install || die "emake install failed"
|
|
|
|
dobin support/mservedit support/mservripcd support/mservplay
|
|
dodoc AUTHORS ChangeLog docs/quick-start.txt
|
|
|
|
# Web client
|
|
dodir ${MY_CGIBINDIR}/${PN}
|
|
cp webclient/*.cgi "${D}"/${MY_CGIBINDIR}/${PN}
|
|
cp webclient/*.gif webclient/index.html "${D}"/${MY_HTDOCSDIR}
|
|
|
|
webapp_src_install
|
|
|
|
# Configuration files
|
|
insopts -o mserv -g mserv -m0644
|
|
insinto /etc/mserv
|
|
fowners mserv:mserv /etc/mserv
|
|
newins "${FILESDIR}"/${P}-config config
|
|
newins "${FILESDIR}"/${P}-webacl webacl
|
|
newins "${FILESDIR}"/${P}-acl acl
|
|
insinto ${MY_HOSTROOTDIR}/${PN}
|
|
fowners mserv:mserv ${MY_HOSTROOTDIR}/${PN}
|
|
newins "${FILESDIR}"/${P}-config config
|
|
newins "${FILESDIR}"/${P}-webacl webacl
|
|
newins "${FILESDIR}"/${P}-acl acl
|
|
fperms 0600 ${MY_HOSTROOTDIR}/${PN}/acl
|
|
|
|
newinitd "${FILESDIR}"/${P}-initd ${PN}
|
|
newconfd "${FILESDIR}"/${P}-confd ${PN}
|
|
|
|
# Log file
|
|
dodir /var/log
|
|
touch "${D}"var/log/mserv.log
|
|
fowners mserv:mserv /var/log/mserv.log
|
|
|
|
# Track and album info
|
|
keepdir /var/lib/mserv/trackinfo
|
|
fowners mserv:mserv /var/lib/mserv/trackinfo
|
|
|
|
# Current track output
|
|
dodir /var/spool/mserv
|
|
touch "${D}"var/spool/mserv/player.out
|
|
fowners mserv:mserv /var/spool/mserv /var/spool/mserv/player.out
|
|
}
|
|
|
|
pkg_postinst() {
|
|
elog
|
|
elog "The wrapper program 'mservplay' is disabled for"
|
|
elog "security reasons. If you wish to use mservplay"
|
|
elog "to pass a 'nice' value to mpg123, you must make"
|
|
elog "/usr/bin/mservplay suid root."
|
|
ewarn
|
|
ewarn "Please edit /etc/mserv/config and set path_tracks"
|
|
ewarn "to the location of your music files."
|
|
webapp_pkg_postinst
|
|
}
|