summaryrefslogtreecommitdiff
blob: 7c577a1b0075c5562f0c6cd158fd0bc6d6fc320c (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
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-sound/slimserver/slimserver-6.5.4.ebuild,v 1.1 2007/08/21 20:48:57 twp Exp $

inherit eutils

MY_P=SlimServer_v${PV}
DESCRIPTION="Slim Devices' SlimServer"
HOMEPAGE="http://www.slimdevices.com/slimserver/"
SRC_URI="http://www.slimdevices.com/downloads/${MY_P}/${MY_P}.no-cpan-arch.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="aac alac encode ffmpeg flac musepack ogg shorten"
DEPEND="sys-apps/findutils"
RDEPEND="
	>=dev-lang/perl-5.8.3
	>=virtual/mysql-5.0
	>=dev-perl/Compress-Zlib-1.41
	>=dev-perl/DBD-mysql-3.0007
	>=dev-perl/DBI-1.50
	>=dev-perl/Digest-SHA1-2.11
	dev-perl/GD
	>=dev-perl/HTML-Parser-3.48
	>=dev-perl/Template-Toolkit-2.14
	>=dev-perl/XML-Parser-2.34
	>=dev-perl/YAML-Syck-0.64
	>=net-misc/mDNSResponder-107
	>=virtual/perl-Time-HiRes-1.86
	aac? ( media-libs/faad2 )
	alac? ( media-sound/alac_decoder )
	encode? ( media-sound/lame )
	ffmpeg? ( media-video/ffmpeg )
	flac? ( media-libs/flac )
	musepack? ( media-sound/musepack-tools )
	ogg? ( media-sound/sox )
	shorten? ( media-sound/shorten )
	"
S="${WORKDIR}/${MY_P}"

pkg_setup() {
	if use ogg; then
		if ! built_with_use media-sound/sox ogg; then
			eerror "media-sound/sox not built with USE=ogg"
			die "media-sound/sox not built with USE=ogg"
		fi
	fi
	enewgroup slimserver || die
	enewuser slimserver -1 -1 /opt/slimserver slimserver || die
}

src_unpack() {
	unpack ${A}
	cd ${S}
	epatch ${FILESDIR}/slimserver-bootstrap-gentoo.patch || die
	epatch ${FILESDIR}/slimserver-mDNSResponderPosix-107.patch || die
	rm Bin/build-perl-modules.pl
	rm CPAN/YAML/Syck.pm
	rm MySQL/errmsg.{sys,txt}
	#rm -rf MySQL
}

src_install() {
	# copy all files
	dodir /opt/slimserver
	cp -r * ${D}/opt/slimserver
	# initialize preferences file
	dodir /etc
	touch ${D}/etc/slimserver.prefs
	#password=$(gawk '$1 == "dbpassword:" { print $2 }' ${R}/etc/slimserver.prefs)
	#[[ -z "${password}" || "${password}" == "''" ]] \
	#	&& password="${RANDOM}.${RANDOM}.${RANDOM}.${RANDOM}"
	#cat <<EOF > ${D}/etc/slimserver.prefs
	#---
	#dbsource: dbi:mysql:database=slimserver
	#dbusername: slimserver
	#dbpassword: ${password}
	#EOF
	fowners slimserver:slimserver /etc/slimserver.prefs
	# create symbolic links to local mysql files
	dosym ../../../usr/sbin/mysqld /opt/slimserver/Bin/mysqld
	dosym ../../../usr/share/mysql/english/errmsg.sys \
		/opt/slimserver/MySQL/errmsg.sys
	dosym ../../../usr/share/mysql/errmsg.txt \
		/opt/slimserver/MySQL/errmsg.txt
	# create symbolic link to local mDNSResponderPosix
	dosym ../../../usr/sbin/mDNSResponderPosix \
		/opt/slimserver/Bin/mDNSResponderPosix
	# install init scripts
	newconfd ${FILESDIR}/slimserver.conf.d slimserver
	newinitd ${FILESDIR}/slimserver.init.d slimserver
	# initialize /var/{cache,run}
	keepdir /var/{cache,run}/slimserver
	fowners slimserver:slimserver /var/{cache,run}/slimserver
	# initialize /var/log
	dodir /var/log
	touch ${D}/var/log/slimserver
	fowners slimserver:slimserver /var/log/slimserver
}

pkg_postinst() {
	#elog "To create the SlimServer database, run"
	#elog "\temerge --config =${CATEGORY}/${PF}"
	elog "To start SlimServer, run"
	elog "\t/etc/init.d/slimserver start"
	elog "To start SlimServer automatically on boot, run:"
	elog "\trc-update add slimserver default"
	httpport=$(gawk '$1 == "httpport:" { print $2 }' ${R}/etc/slimserver.prefs)
	elog "To configure SlimServer, browse to:"
	elog "\thttp://localhost:${httpport:-9000}/"
}

#pkg_config() {
#	einfo "Enter your mysql root password:"
#	dbpassword=$(gawk '$1 == "dbpassword:" { print $2 }' ${R}/etc/slimserver.prefs)
#	[[ "$password" == "''" ]] && dbpassword=
#	mysql -u root -p <<EOF
#create database slimserver;
#grant all on slimserver.* to slimserver identified by '${dbpassword}';
#EOF
#}