summaryrefslogtreecommitdiff
blob: ca305d565966dea04fdc23d5e7050af606bfec44 (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
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit eutils pax-utils

IUSE="gtk doc static debug threads"

DESCRIPTION="Two-way cross-platform file synchronizer"
HOMEPAGE="http://www.cis.upenn.edu/~bcpierce/unison/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86 ~ppc ~amd64 ~sparc"

DEPEND=">=dev-lang/ocaml-3.04
	gtk? ( >=dev-ml/lablgtk-2.2 )"

RDEPEND="gtk? ( >=dev-ml/lablgtk-2.2
|| ( net-misc/x11-ssh-askpass net-misc/gtk2-ssh-askpass ) )"

PDEPEND="gtk? ( media-fonts/font-schumacher-misc )"

SRC_URI="http://www.cis.upenn.edu/~bcpierce/unison/download/releases/${P}/${P}.tar.gz
doc? ( http://www.cis.upenn.edu/~bcpierce/unison/download/releases/${P}/${P}-manual.pdf
	http://www.cis.upenn.edu/~bcpierce/unison/download/releases/${P}/${P}-manual.html )"

src_compile() {
	local myconf

	if useq threads; then
		myconf="${myconf} THREADS=true"
	fi
	if useq static; then
		myconf="${myconf} STATIC=true"
	fi
	if useq debug; then
		myconf="${myconf} DEBUGGING=true"
	fi
	if useq gtk; then
		myconf="${myconf} UISTYLE=gtk2"
	else
		myconf="${myconf} UISTYLE=text"
	fi

	make ${myconf} CFLAGS="" || die
}

src_install () {
	# install manually, since it's just too much
	# work to force the Makefile to do the right thing.
	dobin unison || die
	dodoc BUGS.txt CONTRIB COPYING INSTALL NEWS \
	      README ROADMAP.txt TODO.txt || die

	if useq doc; then
		dohtml ${DISTDIR}/${P}-manual.html || die
		dodoc ${DISTDIR}/${P}-manual.pdf || die
	fi

	# Turn MPROTECT off for the unison binary, since it is trying to
	# rewrite the segment (which will obviously fail on systems having
	# PAX_MPROTECT enabled).
	pax-mark -m "${D}"/usr/bin/unison
}