# 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.2.ebuild,v 1.3 2008/11/16 17:47:23 maekke Exp $ EAPI=5 PYTHON_COMPAT=( python{2_7,3_5} ) inherit webapp subversion distutils-r1 DESCRIPTION="Trac is a minimalistic web-based project management, wiki and bug/issue tracking system." HOMEPAGE="http://trac.edgewall.com/" LICENSE="trac" SRC_URI="" IUSE="cgi fastcgi mysql multirepos postgres sqlite subversion" ESVN_REPO_URI="https://svn.edgewall.org/repos/trac/trunk" ESVN_PROJECT="${PN/-svn}" ESVN_STORE_DIR="${DISTDIR}/svn-src" KEYWORDS="~x86 ~amd64" # doing so because tools, python packages... overlap SLOT="0" WEBAPP_MANUAL_SLOT="yes" DEPEND=" ${DEPEND} dev-python/setuptools " RDEPEND=" ${RDEPEND} >=dev-python/genshi-0.6 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-vcs/subversion-1.4.2 ) !www-apps/trac-webadmin " 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-vcs/subversion python ; then built_with_use_die dev-vcs/subversion python fi # enewgroup tracd # enewuser tracd -1 -1 -1 tracd } src_upack(){ subversion_src_unpack cd ${S} } 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 cp -r contrib "${D}"/usr/share/doc/${P}/ # tracd init script newconfd "${FILESDIR}"/tracd.confd tracd newinitd "${FILESDIR}"/tracd.initd.2 tracd if use cgi ; then cp contrib/cgi-bin/trac.cgi "${D}"/${MY_CGIBINDIR} || die fi if use fastcgi ; then cp contrib/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 }