--- /dev/null
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1 webapp
+
+WEBAPP_MANUAL_SLOT="yes"
+
+DESCRIPTION="ViewVC, a web interface to CVS and Subversion"
+HOMEPAGE="http://viewvc.org/"
+SRC_URI="http://viewvc.org/downloads/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="cvs cvsgraph mod_wsgi mysql pygments +subversion"
+
+DEPEND=""
+RDEPEND="${PYTHON_DEPS}
+ cvs? ( dev-vcs/rcs )
+ subversion? ( >=dev-vcs/subversion-1.3.1[python,${PYTHON_USEDEP}] )
+
+ mod_wsgi? ( www-apache/mod_wsgi[${PYTHON_USEDEP}] )
+ !mod_wsgi? ( virtual/httpd-cgi )
+
+ cvsgraph? ( >=dev-vcs/cvsgraph-1.5.0 )
+ mysql? ( >=dev-python/mysql-python-0.9.0[${PYTHON_USEDEP}] )
+ pygments? (
+ dev-python/pygments[${PYTHON_USEDEP}]
+ app-misc/mime-types
+ )
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( cvs subversion )"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ webapp_pkg_setup
+}
+
+src_prepare() {
+ eapply_user
+
+ find bin/ -type f -print0 | xargs -0 sed -i \
+ -e "s|\(^LIBRARY_DIR\)\(.*\$\)|\1 = \"$(python_get_sitedir)/${PN}\"|g" \
+ -e "s|\(^CONF_PATHNAME\)\(.*\$\)|\1 = \"../conf/viewvc.conf\"|g" || die
+
+ sed -i -e "s|\(self\.options\.template_dir\)\(.*\$\)|\1 = \"${MY_APPDIR}/templates\"|" \
+ lib/config.py || die
+
+ sed -i -e "s|^template_dir.*|#&|" conf/viewvc.conf.dist || die
+ sed -i -e "s|^#mime_types_files =.*|mime_types_files = /etc/mime.types|" conf/viewvc.conf.dist || die
+ mv conf/viewvc.conf{.dist,} || die
+ mv conf/cvsgraph.conf{.dist,} || die
+
+ python_fix_shebang .
+}
+
+src_install() {
+ webapp_src_preinst
+
+ newbin bin/standalone.py viewvc-standalone-server
+
+ dodoc CHANGES COMMITTERS INSTALL README
+
+ python_moduleinto viewvc
+ python_domodule lib/.
+
+ insinto "${MY_APPDIR}"
+ doins -r templates/ || die "doins failed"
+ doins -r templates-contrib/
+
+ if use mysql; then
+ exeinto "${MY_HOSTROOTDIR}/bin"
+ doexe bin/{*dbadmin,make-database,loginfo-handler}
+ fi
+
+ insinto "${MY_HOSTROOTDIR}/conf"
+ doins conf/{viewvc,cvsgraph}.conf
+
+ exeinto "${MY_CGIBINDIR}"
+ doexe bin/cgi/viewvc.cgi
+ if use mysql; then
+ doexe bin/cgi/query.cgi
+ fi
+
+ exeinto "${MY_CGIBINDIR}"
+ if use mod_wsgi; then
+ doexe bin/wsgi/viewvc.wsgi
+ if use mysql; then
+ doexe bin/wsgi/query.wsgi
+ fi
+ else
+ doexe bin/wsgi/viewvc.fcgi
+ if use mysql; then
+ doexe bin/wsgi/query.fcgi
+ fi
+ fi
+
+ webapp_configfile "${MY_HOSTROOTDIR}/conf/"{viewvc,cvsgraph}.conf
+
+ webapp_src_install
+}
+
+pkg_postinst() {
+ webapp_pkg_postinst
+ elog "Now read INSTALL in /usr/share/doc/${PF} to configure ${PN}"
+}