blob: efb9704b67eb956c2049264e8cbe46300bfe46ad (
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/monotone/monotone-1.0.ebuild,v 1.2 2011/09/11 11:26:01 pva Exp $
# QA failiures reported in https://code.monotone.ca/p/monotone/issues/181/
EAPI="4"
inherit bash-completion elisp-common eutils toolchain-funcs
DESCRIPTION="Monotone Distributed Version Control System"
HOMEPAGE="http://monotone.ca"
SRC_URI="http://monotone.ca/downloads/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="1"
KEYWORDS="~amd64 ~ia64 ~x86"
IUSE="doc emacs ipv6 nls test"
RDEPEND="sys-libs/zlib
emacs? ( virtual/emacs )
>=dev-libs/libpcre-7.6
>=dev-libs/botan-1.8.0
>=dev-db/sqlite-3.3.8
>=dev-lang/lua-5.1
net-dns/libidn"
DEPEND="${RDEPEND}
>=dev-libs/boost-1.33.1
nls? ( >=sys-devel/gettext-0.11.5 )
doc? ( sys-apps/texinfo )
test? ( dev-tcltk/expect
app-shells/bash-completion )"
pkg_setup() {
enewgroup monotone
enewuser monotone -1 -1 /var/lib/monotone monotone
}
src_prepare() {
if [[ $(gcc-major-version) -lt "3" ||
( $(gcc-major-version) -eq "3" && $(gcc-minor-version) -le 3 ) ]]; then
die 'requires >=gcc-3.4'
fi
epatch "${FILESDIR}/monotone-1.0-bash-completion-tests.patch"
epatch "${FILESDIR}/monotone-1.0-botan-1.10.patch"
}
src_configure() {
econf \
$(use_enable nls) \
$(use_enable ipv6)
}
src_compile() {
emake
use doc && emake html
if use emacs; then
cd contrib || die
elisp-compile *.el || die
fi
}
src_test() {
# Disables netsync_bind_opt test
# https://code.monotone.ca/p/monotone/issues/179/
export DISABLE_NETWORK_TESTS=true
if [[ ${UID} != 0 ]]; then
emake check
else
ewarn "Tests will fail if ran as root, skipping."
fi
}
src_install() {
emake DESTDIR="${D}" install
mv "${ED}"/usr/share/doc/${PN} "${ED}"/usr/share/doc/${PF} || die
dobashcompletion contrib/monotone.bash_completion
if use doc; then
dohtml -r html/*
dohtml -r figures
fi
if use emacs; then
elisp-install ${PN} contrib/*.{el,elc} || die "elisp-install failed"
elisp-site-file-install "${FILESDIR}"/50${PN}-gentoo.el \
|| die
fi
dodoc AUTHORS NEWS README* UPGRADE
docinto contrib
docompress -x /usr/share/doc/${PF}/contrib
dodoc -r contrib
newconfd "${FILESDIR}"/monotone.confd monotone
newinitd "${FILESDIR}"/${PN}-0.36.initd monotone
insinto /etc/monotone
newins "${FILESDIR}"/hooks.lua hooks.lua
newins "${FILESDIR}"/read-permissions read-permissions
newins "${FILESDIR}"/write-permissions write-permissions
keepdir /var/lib/monotone/keys/ /var/{log,run}/monotone
fowners monotone:monotone /var/lib/monotone{,/keys} /var/{log,run}/monotone
}
pkg_postinst() {
use emacs && elisp-site-regen
bash-completion_pkg_postinst
elog
elog "For details and instructions to upgrade from previous versions,"
elog "please read /usr/share/doc/${PF}/UPGRADE.bz2"
elog
elog " 1. edit /etc/conf.d/monotone"
elog " 2. import the first keys to enable access with"
elog " env HOME=\${homedir} mtn pubkey me@example.net | /etc/init.d/monotone import"
elog " Thereafter, those with write permission can add other keys via"
elog " netsync with 'monotone push --key-to-push=IDENT' and then IDENT"
elog " can be used in the read-permission and write-permission files."
elog " 3. adjust permisions in /etc/monotone/read-permissions"
elog " and /etc/monotone/write-permissions"
elog " 4. start the daemon: /etc/init.d/monotone start"
elog " 5. make persistent: rc-update add monotone default"
elog
}
pkg_postrm() {
use emacs && elisp-site-regen
}
|