diff options
Diffstat (limited to 'www-apps/trac/trac-0.11.ebuild')
-rw-r--r-- | www-apps/trac/trac-0.11.ebuild | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/www-apps/trac/trac-0.11.ebuild b/www-apps/trac/trac-0.11.ebuild new file mode 100644 index 000000000000..1aaee559d652 --- /dev/null +++ b/www-apps/trac/trac-0.11.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-apps/trac/trac-0.11.ebuild,v 1.1 2008/07/16 21:20:06 pva Exp $ + +inherit distutils 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="trac" +SRC_URI="http://ftp.edgewall.com/pub/trac/${MY_P}.tar.gz" + +IUSE="cgi fastcgi mysql postgres sqlite subversion" + +KEYWORDS="~amd64 ~x86 ~ppc ~ppc64 ~sparc" + +# doing so because tools, python packages... overlap +SLOT="0" +WEBAPP_MANUAL_SLOT="yes" + +DEPEND=" + ${DEPEND} + dev-python/setuptools + " + +RDEPEND=" + ${RDEPEND} + >=dev-python/genshi-0.5 + dev-python/pygments + >=dev-python/docutils-0.3.9 + dev-python/pytz + 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 + >=dev-python/pysqlite-2.3.2 + ) + ) + subversion? ( + >=dev-util/subversion-1.4.2 + ) + !www-apps/trac-webadmin + " + +# The following function should be added to eutils.eclass (see bug #143572): + +# Generate an standard error message for missing USE flags +# in existing packages, and die. +# +# Usage: built_with_use_die <category/package> <functionality> [<USE flag>] +# ex: built_with_use_die dev-util/subversion python +# or: built_with_use_die www-servers/apache LDAP ldap +# +# Typical usage: +# if ! built_with_use dev-util/subversion python ; then +# built_with_use_die dev-util/subversion python +# fi +# +# Note: when <USE flag> is not specified, <functionality> is used for the USE flag name. +built_with_use_die() { + local package=$1 + local func=$2 + local use_flag=$3 + + [[ -z ${use_flag} ]] && use_flag=${func} + + eerror "Your ${package} package has been built without" + eerror "${func} support, please enable the '${use_flag}' USE flag and" + eerror "re-emerge ${package}." + elog "You can enable this USE flag either globally in /etc/make.conf," + elog "or just for specific packages in /etc/portage/package.use." + die "${package} missing ${func} support" +} + +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 + + # python has built-in sqlite support starting from 2.5 + if use sqlite && \ + has_version ">=dev-lang/python-2.5" && \ + ! has_version ">=dev-python/pysqlite-2.3" && \ + ! built_with_use dev-lang/python sqlite ; then + eerror "To use the sqlite database backend, you must either:" + eerror "- build dev-lang/python with sqlite support, using the 'sqlite'" + eerror " USE flag, or" + eerror "- emerge dev-python/pysqlite" + die "missing python sqlite support" + fi + + if use subversion && \ + ! built_with_use dev-util/subversion python ; then + built_with_use_die dev-util/subversion python + fi + + enewgroup tracd + enewuser tracd -1 -1 -1 tracd +} + +src_install() { + webapp_src_preinst + distutils_src_install + + # project environments might go in here + keepdir /var/lib/trac + + # 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 +} |