forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
squirrelmail-1.4.23_pre20140426.ebuild
208 lines (164 loc) · 5.42 KB
/
squirrelmail-1.4.23_pre20140426.ebuild
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit webapp eutils
IUSE="ldap spell ssl filter mysql postgres nls"
DESCRIPTION="Webmail for nuts!"
# Plugin Versions
COMPATIBILITY_VER=2.0.16-1.0
USERDATA_VER=0.9-1.4.0
ADMINADD_VER=0.1-1.4.0
AMAVIS_VER=0.8.0-1.4
LDAP_USERDATA_VER=0.4
SECURELOGIN_VER=1.4-1.2.8
SHOWSSL_VER=2.2-1.2.8
LOCALES_VER=1.4.18-20090526
DECODING_VER=1.2
#MY_P=${PN}-webmail-${PV}
MY_P=${PN}-${PVR##*_pre}_0200-SVN.stable
#S="${WORKDIR}/${MY_P}"
S="${WORKDIR}/${PN}.stable/${PN}"
PLUGINS_LOC="http://www.squirrelmail.org/plugins"
SRC_URI="http://snapshots.squirrelmail.org/${MY_P}.tar.bz2
mirror://sourceforge/${PN}/squirrelmail-decode-${DECODING_VER}.tar.bz2
mirror://sourceforge/retruserdata/retrieveuserdata.${USERDATA_VER}.tar.gz
${PLUGINS_LOC}/compatibility-${COMPATIBILITY_VER}.tar.gz
ssl? ( ${PLUGINS_LOC}/secure_login-${SECURELOGIN_VER}.tar.gz )
ssl? ( ${PLUGINS_LOC}/show_ssl_link-${SHOWSSL_VER}.tar.gz )
${PLUGINS_LOC}/admin_add.${ADMINADD_VER}.tar.gz
filter? ( ${PLUGINS_LOC}/amavisnewsql-0.8.0-1.4.tar.gz )
ldap? ( ${PLUGINS_LOC}/ldapuserdata-${LDAP_USERDATA_VER}.tar.gz )
nls? ( mirror://sourceforge/${PN}/all_locales-${LOCALES_VER}.tar.bz2 )"
HOMEPAGE="http://www.squirrelmail.org/"
LICENSE="GPL-2"
KEYWORDS="amd64 ~ppc ~ppc64 sparc x86"
DEPEND=""
RDEPEND="dev-lang/php[session]
virtual/perl-DB_File
ldap? ( net-nds/openldap )
spell? ( app-text/aspell )
filter? ( mail-filter/amavisd-new dev-php/PEAR-Log dev-php/PEAR-DB dev-php/PEAR-Net_SMTP )
postgres? ( dev-php/PEAR-DB )
mysql? ( dev-php/PEAR-DB )"
src_unpack() {
unpack ${MY_P}.tar.bz2
unpack squirrelmail-decode-${DECODING_VER}.tar.bz2
cd "${S}" || die
mv config/config_default.php config/config.php || die
# Now do the plugins
cd "${S}/plugins" || die
unpack compatibility-${COMPATIBILITY_VER}.tar.gz
unpack admin_add.${ADMINADD_VER}.tar.gz
unpack retrieveuserdata.${USERDATA_VER}.tar.gz
use filter &&
unpack amavisnewsql-${AMAVIS_VER}.tar.gz &&
mv amavisnewsql/config.php.dist amavisnewsql/config.php
use ldap &&
unpack ldapuserdata-${LDAP_USERDATA_VER}.tar.gz
use ssl &&
unpack secure_login-${SECURELOGIN_VER}.tar.gz &&
mv secure_login/config.sample.php secure_login/config.php &&
unpack show_ssl_link-${SHOWSSL_VER}.tar.gz &&
mv show_ssl_link/config.php.sample show_ssl_link/config.php
use nls &&
cd "${S}" &&
unpack all_locales-${LOCALES_VER}.tar.bz2
}
src_prepare() {
sed -i "s:'/var/local/squirrelmail/data/':SM_PATH . 'data/':" \
config/config.php || die
cd "${S}/plugins" || die
if use ldap; then
epatch "${FILESDIR}"/ldapuserdata-${LDAP_USERDATA_VER}-gentoo.patch
mv ldapuserdata/config_sample.php ldapuserdata/config.php || die
fi
}
src_configure() {
#we need to have this empty function ...
echo "Nothing to configure"
}
src_compile() {
#we need to have this empty function ... default compile hangs
echo "Nothing to compile"
}
src_install() {
webapp_src_preinst
# handle documentation files
#
# NOTE that doc files go into /usr/share/doc as normal; they do NOT
# get installed per vhost!
dodoc README
docinto compatibility
for doc in plugins/compatibility/docs/INSTALL plugins/compatibility/docs/README; do
dodoc ${doc}
rm -f ${doc}
done
docinto admin_add
for doc in plugins/admin_add/README; do
dodoc ${doc}
rm -f ${doc}
done
docinto retrieveuserdata
for doc in plugins/retrieveuserdata/INSTALL plugins/retrieveuserdata/changelog plugins/retrieveuserdata/users_example.txt; do
dodoc ${doc}
rm -f ${doc}
done
if use filter; then
docinto amavisnewsql
for doc in plugins/amavisnewsql/{CHANGELOG,README,UPGRADE}; do
dodoc ${doc}
rm -f ${doc}
done
fi
if use ldap; then
rm plugins/ldapuserdata/README
docinto ldapuserdata
for doc in plugins/ldapuserdata/doc/README; do
dodoc ${doc}
rm -f ${doc}
done
fi
if use ssl; then
docinto secure_login
for doc in plugins/secure_login/INSTALL plugins/secure_login/README; do
dodoc ${doc}
rm -f ${doc}
done
docinto show_ssl_link
for doc in plugins/show_ssl_link/INSTALL plugins/show_ssl_link/README; do
dodoc ${doc}
rm -f ${doc}
done
fi
# Copy the app's main files
einfo "Installing squirrelmail files."
cp -r . "${D}${MY_HTDOCSDIR}" || die
cp "${WORKDIR}"/squirrelmail-decode-${DECODING_VER}/*/*.php \
"${D}${MY_HTDOCSDIR}/functions/decode" || die
# Identify the configuration files that this app uses
local configs="config/config.php config/config_local.php plugins/retrieveuserdata/config.php"
use filter && configs="${configs} plugins/amavisnewsql/config.php"
use ldap && configs="${configs} plugins/ldapuserdata/config.php"
use ssl && configs="${configs} plugins/show_ssl_link/config.php plugins/secure_login/config.php"
for file in ${configs}; do
webapp_configfile ${MY_HTDOCSDIR}/${file}
done
# Identify any script files that need #! headers adding to run under
# a CGI script (such as PHP/CGI)
#
# for phpmyadmin, we *assume* that all .php files that don't end in
# .inc.php need to have CGI/BIN support added
#for x in `find . -name '*.php' -print | grep -v 'inc.php'` ; do
# webapp_runbycgibin php ${MY_HTDOCSDIR}/$x
#done
local server_owned="data index.php"
for file in ${server_owned}; do
webapp_serverowned ${MY_HTDOCSDIR}/${file}
done
# add the post-installation instructions
webapp_postinst_txt en "${FILESDIR}/postinstall-en.txt"
# all done
#
# now we let the eclass strut its stuff ;-)
webapp_src_install
}