summaryrefslogtreecommitdiff
blob: c1a21a98ad149e25bb63f3e61d26e9d08ac0f7f0 (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
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-sound/gnump3d/gnump3d-2.9_pre7.ebuild,v 1.2 2008/01/17 18:58:41 grobian Exp $

inherit eutils

DESCRIPTION="A streaming server for MP3, OGG vorbis and other streamable files"
HOMEPAGE="http://www.gnump3d.org/"
SRC_URI="http://savannah.gnu.org/download/${PN}/${PN}-2.9.7.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 ~ppc ppc64 sparc x86"
IUSE=""

DEPEND="sys-apps/sed"
RDEPEND=">=dev-lang/perl-5.8.0"

RESTRICT="test"

S="${WORKDIR}"/${PN}-2.9.7

pkg_setup() {
	enewuser gnump3d '' '' '' nogroup || die "couldnt add new user"
	LIBDIR=/usr/$(get_libdir)/gnump3d
}

src_unpack() {
	unpack ${A}

	cd ${S}
	epatch ${FILESDIR}/${PN}-index.lok.diff
	epatch ${FILESDIR}/${PN}-tmpfile.diff
	epatch ${FILESDIR}/${PN}-traversal.diff

	cd ${S}/bin
	for binary in gnump3d-index gnump3d-top gnump3d2; do
		sed -i "s,/usr/bin/perl,/usr/bin/perl -I${LIBDIR},g" $binary
	done
}

src_install() {
	insinto ${LIBDIR}/gnump3d; doins lib/gnump3d/*.pm
	insinto ${LIBDIR}/gnump3d/plugins; doins lib/gnump3d/plugins/*.pm
	insinto ${LIBDIR}/gnump3d/lang; doins lib/gnump3d/lang/*.pm
	dobin bin/gnump3d2 bin/gnump3d-top bin/gnump3d-index
	dosym /usr/bin/gnump3d2 /usr/bin/gnump3d
	doman man/*.1
	dodir /usr/share/gnump3d; cp -R templates/* ${D}/usr/share/gnump3d/
	insinto /etc/gnump3d
	doins etc/mime.types
	doins etc/gnump3d.conf
	dosed "s,PLUGINDIR,${LIBDIR},g" /etc/gnump3d/gnump3d.conf
	dosed 's,^user *= *\(.*\)$,user = gnump3d,g' /etc/gnump3d/gnump3d.conf

	dodoc AUTHORS ChangeLog README TODO

	newinitd ${FILESDIR}/${PN}.init.d gnump3d
	newconfd ${FILESDIR}/${PN}.conf.d gnump3d

	dodir /etc/env.d
	cat >${D}/etc/env.d/50gnump3d <<EOF
# PERL5LIB="${LIBDIR}"
EOF
	dodir /var/log/gnump3d
	dodir /var/cache/gnump3d/serving

	keepdir /var/log/gnump3d
	keepdir /var/cache/gnump3d/serving

	touch ${D}/var/cache/gnump3d/song.tags
	touch ${D}/var/cache/gnump3d/serving/.keep
}

pkg_postinst() {
	chown -R gnump3d:nogroup /var/log/gnump3d
	chown -R gnump3d:nogroup /var/cache/gnump3d
	while read line; do elog "${line}"; done <<EOF

Please edit your /etc/gnump3d/gnump3d.conf before running
/etc/init.d/gnump3d start

EOF
}