summaryrefslogtreecommitdiff
blob: 701b33206779354b73d39f88ccbbb4e5dec98e49 (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
72
73
74
75
76
77
78
79
80
81
82
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

# force single impl to avoid python-exec wrapping
DISTUTILS_SINGLE_IMPL=1
PYTHON_COMPAT=( python2_7 )

inherit distutils-r1 user

if [[ "${PV}" = "9999" ]]; then
	inherit mercurial
	EHG_REPO_URI="http://hg.opensource.lshift.net/mercurial-server"
	KEYWORDS=""
else
	MY_P="${PN}_${PV}"
	SRC_URI="http://dev.lshift.net/paul/mercurial-server/${MY_P}.tar.gz"
	KEYWORDS="~amd64 ~x86"
	S="${WORKDIR}/${MY_P}"
fi

DESCRIPTION="Mercurial authentication and authorization tools"
HOMEPAGE="http://www.lshift.net/mercurial-server.html"

LICENSE="GPL-2"
SLOT="0"
IUSE="doc"

RDEPEND="dev-vcs/mercurial"
DEPEND="${RDEPEND}
	doc? (
		app-text/docbook-xsl-stylesheets
		dev-libs/libxslt
	)"

pkg_setup() {
	enewgroup hg
	enewuser hg -1 /bin/bash "/var/lib/${PN}" hg
	python-single-r1_pkg_setup
}

python_prepare_all() {
	# remove useless makefile
	rm Makefile || die

	# fix installation paths
	sed -i -e "s|'init'|'share/${PN}/init'|" setup.py \
		|| die 'sed setup.py failed.'

	distutils-r1_python_prepare_all
}

python_compile_all() {
	# build documentation
	if use doc; then
		xsltproc --nonet -o manual.html \
			/usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl \
			doc/manual.docbook || die "xsltproc failed"
	fi
}

python_install() {
	distutils-r1_python_install --install-scripts="/usr/share/${PN}"
}

python_install_all() {
	distutils-r1_python_install_all

	# install configuration files
	insinto "/etc/${PN}"
	doins -r src/init/conf/.
	keepdir /etc/mercurial-server/keys/{root,users}

	# install documentation
	use doc && dodoc manual.html

	# install hg home directory
	keepdir "/var/lib/${PN}"
	fowners hg:hg "/var/lib/${PN}"
	fperms 750 "/var/lib/${PN}"
}