summaryrefslogtreecommitdiff
blob: b19643eed0239111ba9162c8fdc63b8a0e70b7e0 (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
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-ml/findlib/findlib-1.0.4-r1.ebuild,v 1.15 2008/01/27 12:18:20 grobian Exp $

inherit multilib

IUSE="tk"

DESCRIPTION="OCaml tool to find/use non-standard packages."
HOMEPAGE="http://www.ocaml-programming.de/packages/"
SRC_URI="http://www.ocaml-programming.de/packages/${P}.tar.gz"

LICENSE="MIT X11"

SLOT="0"
KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"

DEPEND=">=dev-lang/ocaml-3.07"

ocamlfind_destdir="/usr/$(get_libdir)/ocaml/site-packages"
stublibs=${ocamlfind_destdir}/stublibs

pkg_setup()
{
	if ( use tk && which ocaml && ! which labltk ); then
		eerror "It seems you don't have ocaml compiled with tk support"
		eerror ""
		eerror "The findlib toolbox requires ocaml be built with tk support."
		eerror ""
		eerror "Please make sure that ocaml is installed with tk support or remove the USE flag"

		false;
	fi
}

src_compile() {
	./configure

	./configure -bindir /usr/bin -mandir /usr/share/man \
		-sitelib ${ocamlfind_destdir} \
		-config ${ocamlfind_destdir}/findlib/findlib.conf || die "configure failed"

	make all || die
	make opt || die # optimized code
}

src_install() {
	dodir `ocamlc -where`

	make prefix=${D} install || die

	dodir ${stublibs}

	cd ${S}/doc
	dodoc QUICKSTART README
	dohtml html/*
}

check_stublibs() {
	local ocaml_stdlib=`ocamlc -where`
	local ldconf=${ocaml_stdlib}/ld.conf

	if [ ! -e ${ldconf} ]
	then
		echo ${ocaml_stdlib} > ${ldconf}
		echo ${ocaml_stdlib}/stublibs >> ${ldconf}
	fi

	if [ -z `grep -e ${stublibs} ${ldconf}` ]
	then
		echo ${stublibs} >> ${ldconf}
	fi
}

pkg_postinst() {
	check_stublibs
}