summaryrefslogtreecommitdiff
blob: 0093c1bb1ff48e405c56fa2d0ccb919de2fa0945 (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
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

PYTHON_COMPAT=( python2_7 )
DISTUTILS_SINGLE_IMPL=1

inherit distutils-r1

DESCRIPTION="PyQt based commit tool for many VCSs"
HOMEPAGE="http://qct.sourceforge.net/"
SRC_URI="http://qct.sourceforge.net/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="bazaar cvs mercurial monotone subversion"

DEPEND="
	app-text/asciidoc
	app-text/xmlto
	dev-python/PyQt4[${PYTHON_USEDEP}]
	bazaar? ( dev-vcs/bzr[${PYTHON_USEDEP}] )
	cvs? ( dev-vcs/cvs )
	mercurial? ( dev-vcs/mercurial[${PYTHON_USEDEP}] )
	monotone? ( dev-vcs/monotone )
	subversion? ( dev-vcs/subversion[${PYTHON_USEDEP}] )"
RDEPEND="${DEPEND}"

S="${WORKDIR}/${PN}"

python_prepare_all() {
	# support for git requires cogito which isn't in portage
	rm qctlib/vcs/{p4,git,cg}.py || die

	declare -A delfiles=([bazaar]=bzr [cvs]=cvs [mercurial]=hg [monotone]=mtn [subversion]=svn)
	local i
	for i in "${!delfiles[@]}"; do
		if ! use $i; then
			rm qctlib/vcs/${delfiles[$i]}.py || die
		fi
	done

	distutils-r1_python_prepare_all
}

python_compile_all() {
	# manpage and html docs are built using asciidoc
	emake -C doc man html
	HTML_DOCS=( doc/qct.1.html )
}

python_install_all() {
	doman doc/qct.1

	if use bazaar; then
		python_moduleinto bzrlib/plugins
		python_domodule plugins/qctBzrPlugin.py
	fi

	if use mercurial; then
		python_moduleinto hgext
		python_domodule hgext/qct.py

		insinto /etc/mercurial/hgrc.d
		doins "${FILESDIR}/qct.rc"
	fi

	distutils-r1_python_install_all
}