summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/mserv/mserv-0.35-r1.ebuild')
-rw-r--r--media-sound/mserv/mserv-0.35-r1.ebuild108
1 files changed, 108 insertions, 0 deletions
diff --git a/media-sound/mserv/mserv-0.35-r1.ebuild b/media-sound/mserv/mserv-0.35-r1.ebuild
new file mode 100644
index 000000000000..6cb62d29c324
--- /dev/null
+++ b/media-sound/mserv/mserv-0.35-r1.ebuild
@@ -0,0 +1,108 @@
+# 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
+}