aboutsummaryrefslogtreecommitdiff
blob: fd4506babdf24a44c9c30a5f92ebe0303b13cd9a (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
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5

inherit eutils webapp

LANGUAGES="linguas_de linguas_en linguas_es linguas_fr linguas_it linguas_ja linguas_us"

COMMIT="258dd0c4c32207863fb4657a453d507876ca2c5a"

DESCRIPTION="Nabaztag/tag NabaztagLives! Server"
HOMEPAGE="http://nabaztaglives.com"
SRC_URI="http://sourceforge.net/code-snapshots/git/n/na/nabaztaglives/code.git/nabaztaglives-code-${COMMIT}.zip"
RESTRICT="nomirror"

LICENSE="GPL-3"
KEYWORDS="~amd64 ~x86"
IUSE="doc ${LANGUAGES}"

RDEPEND="
	virtual/httpd-php
	dev-lang/php
	media-sound/lame
	media-sound/mp3wrap
"

need_httpd_cgi

S="${WORKDIR}/nabaztaglives-code-${COMMIT}"

pkg_nofetch() {
	einfo "If the source for this ebuild fails to download, please access the following URL:"
	einfo
	einfo "  https://sourceforge.net/p/nabaztaglives/code/ci/258dd0c4c32207863fb4657a453d507876ca2c5a/tree/"
	einfo
	einfo "... and select 'Download Snapshot' in order to regenerate the cached archive."
	einfo
	einfo "This is (one of the many reasons) why everyone is using github instead..."
}

src_prepare() {
	cd "${S}"

	if use linguas_ja; then
		epatch "${FILESDIR}"/"${PN}"-2.1-lang-ja.patch
	fi

	sed -si \
		-e 's|<? |<?php |g' \
		www/*.php \
	|| die "PHP patching failed: ${?}"

	sed -si \
		-e "s|'../etc/nabaztag_error.log'|'logs/error.log'|" \
		www/*.php www/subroutines/logError.php \
	|| die "Log-location patching failed: ${?}"
	sed -si \
		-e 's|../etc/nabaztag_error.log|logs/error.log|' \
		www/vl/p4.php www/vl/FR/p3.jsp \
	|| die "Log-location patching failed: ${?}"

	sed -si \
		-e "s|../etc/api_calls.log|logs/apicalls.log|" \
		www/*.php \
	|| die "API log-location patching failed: ${?}"

	sed -si \
		-e 's|../etc/nabaztag_db.php|config/db.php|' \
		www/*.php www/subroutines/*.php www/vl/p4.php www/vl/FR/p3.jsp \
	|| die "Configuration patching failed: ${?}"

	sed -rsi \
		-e 's|<img src="?([^"> ]+).jpg"?|<img src="images/\1.jpg"|g' \
		www/*.php www/*.htm \
	|| die "Image patching failed: ${?}"
	sed -rsi \
		-e 's|<a href="?([^"> ]+).jpg"?|<a href="images/\1.jpg"|g' \
		www/*.php \
	|| die "Image patching failed: ${?}"

	sed -rsi \
		-e 's|url\(([^)]+).jpg\)|url(images/\1.jpg)|g' \
		www/main.css \
	|| die "CSS Image patching failed: ${?}"

	sed -si \
		-e "/'pi'/d" \
		db/rabbit_pi.sql \
	|| die "MySQL script patching failed: ${?}"

	#use linguas_en || { einfo "Removing audio files for EN/US language" ; rm -r www/vl/broad_us ; }
	for LNG in it es de us; do
		eval "use linguas_${LNG} || { einfo 'Removing audio files for ${LNG} language' ; rm -r www/vl/broad_${LNG} ; }"
	done

	mkdir www/images

	rm db/*.sh
	rm docs/installation.htm

	mv www/*.jpg www/images/
	mv db/rabbit_pi.sql db/initial.sql

	epatch "${FILESDIR}/${P}-api.patch" || die "Patch failed"
	epatch "${FILESDIR}/${PN}-2.00.patch" || die "Patch failed"
}

src_install() {
	webapp_src_preinst

	use doc && dohtml -r docs/*

	ewarn "Installation of large numbers of files can be slow - please wait ..."
	insinto "${MY_HTDOCSDIR}"
	doins -r www/*
	dodir "${MY_HTDOCSDIR}"/db
	dodir "${MY_HTDOCSDIR}"/config
	dodir "${MY_HTDOCSDIR}"/logs
	insinto "${MY_HTDOCSDIR}"/db
	doins -r db/*
	insinto "${MY_HTDOCSDIR}"/config
	newins etc/nabaztag_db.php db.php
	insinto "${MY_HTDOCSDIR}"/logs
	newins etc/nabaztag_error.log error.log

	webapp_serverowned "${MY_HTDOCSDIR}"/vl/hutch
	webapp_serverowned "${MY_HTDOCSDIR}"/logs/error.log
	webapp_configfile  "${MY_HTDOCSDIR}"/config/db.php
	webapp_configfile  "${MY_HTDOCSDIR}"/locate.jsp

	webapp_postinst_txt en "${FILESDIR}"/postinstall-en-2.00.txt

	webapp_src_install
}