blob: 2142ed8b2e2d2466e9c763a0e6c36b723eaaa38d (
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
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-apps/trac/trac-0.12.ebuild,v 1.5 2010/07/29 18:46:59 hwoarang Exp $
EAPI="2"
PYTHON_DEPEND="2"
SUPPORT_PYTHON_ABIS="1"
inherit distutils eutils webapp
MY_PV=${PV/_beta/b}
MY_P=Trac-${MY_PV}
S=${WORKDIR}/${MY_P}
DESCRIPTION="Trac is a minimalistic web-based project management, wiki and bug/issue tracking system."
HOMEPAGE="http://trac.edgewall.com/"
LICENSE="BSD"
SRC_URI="http://ftp.edgewall.com/pub/trac/${MY_P}.tar.gz"
IUSE="cgi fastcgi i18n mysql postgres +sqlite subversion"
KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86"
# doing so because tools, python packages... overlap
SLOT="0"
WEBAPP_MANUAL_SLOT="yes"
RDEPEND="
dev-python/setuptools
>=dev-python/docutils-0.3.9
dev-python/flup
>=dev-python/genshi-0.6
dev-python/pygments
dev-python/pytz
i18n? ( >=dev-python/Babel-0.9.5 )
cgi? ( virtual/httpd-cgi )
fastcgi? ( virtual/httpd-fastcgi )
mysql? (
>=dev-python/mysql-python-1.2.1
>=virtual/mysql-4.1
)
postgres? ( >=dev-python/psycopg-2 )
sqlite? (
>=dev-db/sqlite-3.3.4
|| (
>=dev-lang/python-2.5[sqlite]
>=dev-python/pysqlite-2.3.2
)
)
subversion? ( >=dev-vcs/subversion-1.4.2[python] )
!www-apps/trac-webadmin
"
DEPEND="${RDEPEND}"
RESTRICT_PYTHON_ABIS="3.*"
pkg_setup() {
python_pkg_setup
webapp_pkg_setup
if ! use mysql && ! use postgres && ! use sqlite; then
eerror "You must select at least one database backend, by enabling"
eerror "at least one of the 'mysql', 'postgres' or 'sqlite' USE flags."
die "no database backend selected"
fi
enewgroup tracd
enewuser tracd -1 -1 -1 tracd
}
src_test() {
testing() {
PYTHONPATH=. "$(PYTHON)" trac/test.py
}
python_execute_function testing
if use i18n; then
make check
fi
}
# the default src_compile just calls setup.py build
# currently, this switches i18n catalog compilation based on presence of Babel
src_install() {
webapp_src_preinst
distutils_src_install
# project environments might go in here
keepdir /var/lib/trac
# Use this as the egg-cache for tracd
dodir /var/lib/trac/egg-cache
keepdir /var/lib/trac/egg-cache
fowners tracd:tracd /var/lib/trac/egg-cache
# documentation
cp -r contrib "${D}"/usr/share/doc/${P}/
# tracd init script
newconfd "${FILESDIR}"/tracd.confd tracd
newinitd "${FILESDIR}"/tracd.initd tracd
if use cgi; then
cp cgi-bin/trac.cgi "${D}"/${MY_CGIBINDIR} || die
fi
if use fastcgi; then
cp cgi-bin/trac.fcgi "${D}"/${MY_CGIBINDIR} || die
fi
for lang in en; do
webapp_postinst_txt ${lang} "${FILESDIR}"/postinst-${lang}.txt
webapp_postupgrade_txt ${lang} "${FILESDIR}"/postupgrade-${lang}.txt
done
webapp_src_install
}
pkg_postinst() {
distutils_pkg_postinst
webapp_pkg_postinst
}
|