129 lines
2.9 KiB
Bash
129 lines
2.9 KiB
Bash
# Copyright 1999-2015 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Id$
|
|
|
|
EAPI=5
|
|
|
|
PYTHON_COMPAT=( python2_7 )
|
|
PYTHON_REQ_USE='sqlite?'
|
|
|
|
DISTUTILS_SINGLE_IMPL=Yes
|
|
|
|
inherit distutils-r1 eutils user webapp
|
|
|
|
MY_PV=${PV/_beta/b}
|
|
MY_P=Trac-${MY_PV}
|
|
|
|
DESCRIPTION="Trac is a minimalistic web-based project management, wiki and bug/issue tracking system"
|
|
HOMEPAGE="http://trac.edgewall.com/ https://pypi.python.org/pypi/Trac"
|
|
SRC_URI="http://ftp.edgewall.com/pub/trac/${MY_P}.tar.gz"
|
|
|
|
LICENSE="BSD"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
|
|
IUSE="cgi fastcgi i18n +highlight +restructuredtext mysql postgres +sqlite subversion test"
|
|
REQUIRED_USE="|| ( mysql postgres sqlite )"
|
|
|
|
RDEPEND="
|
|
dev-python/setuptools[${PYTHON_USEDEP}]
|
|
dev-python/genshi[${PYTHON_USEDEP}]
|
|
dev-python/pytz[${PYTHON_USEDEP}]
|
|
i18n? ( >=dev-python/Babel-0.9.5[${PYTHON_USEDEP}] )
|
|
highlight? (
|
|
|| (
|
|
dev-python/pygments[${PYTHON_USEDEP}]
|
|
app-text/silvercity
|
|
app-text/pytextile
|
|
app-text/enscript
|
|
)
|
|
)
|
|
restructuredtext? ( dev-python/docutils[${PYTHON_USEDEP}] )
|
|
cgi? ( virtual/httpd-cgi )
|
|
fastcgi? ( virtual/httpd-fastcgi )
|
|
mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
|
|
postgres? ( >=dev-python/psycopg-2[${PYTHON_USEDEP}] )
|
|
sqlite? ( >=dev-db/sqlite-3.3.4:3 )
|
|
subversion? ( dev-vcs/subversion[python,${PYTHON_USEDEP}] )
|
|
"
|
|
DEPEND="${RDEPEND}
|
|
test? (
|
|
dev-python/twill[${PYTHON_USEDEP}]
|
|
dev-python/lxml[${PYTHON_USEDEP}]
|
|
dev-python/configobj[${PYTHON_USEDEP}]
|
|
)"
|
|
|
|
S="${WORKDIR}/${MY_P}"
|
|
|
|
WEBAPP_MANUAL_SLOT="yes"
|
|
|
|
pkg_setup() {
|
|
python-single-r1_pkg_setup
|
|
webapp_pkg_setup
|
|
|
|
enewgroup tracd
|
|
enewuser tracd -1 -1 -1 tracd
|
|
}
|
|
|
|
python_prepare_all() {
|
|
distutils-r1_python_prepare_all
|
|
}
|
|
|
|
src_test() {
|
|
distutils-r1_src_test
|
|
}
|
|
|
|
python_test() {
|
|
PYTHONPATH=. "${PYTHON}" trac/test.py || die "Tests fail with ${EPYTHON}"
|
|
}
|
|
|
|
python_test_all() {
|
|
if use i18n; then
|
|
make check
|
|
fi
|
|
}
|
|
|
|
python_install() {
|
|
if use cgi; then
|
|
python_scriptinto "${MY_CGIBINDIR}"
|
|
python_doscript contrib/cgi-bin/trac.cgi
|
|
fi
|
|
if use fastcgi; then
|
|
python_scriptinto "${MY_CGIBINDIR}"
|
|
python_doscript contrib/cgi-bin/trac.fcgi
|
|
fi
|
|
distutils-r1_python_install
|
|
}
|
|
|
|
# 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-r1_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
|
|
dodoc -r contrib
|
|
|
|
# tracd init script
|
|
newconfd "${FILESDIR}"/tracd.confd tracd
|
|
newinitd "${FILESDIR}"/tracd.initd tracd
|
|
|
|
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() {
|
|
webapp_pkg_postinst
|
|
}
|