blob: 4a4500ab28f018690dfcdcb7b680f393f83534e9 (
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
|
# 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.2.2.ebuild,v 1.7 2008/09/30 09:14:42 armin76 Exp $
inherit multilib eutils
EAPI="1"
IUSE="doc +ocamlopt tk"
RESTRICT="installsources"
DESCRIPTION="OCaml tool to find/use non-standard packages."
HOMEPAGE="http://projects.camlcity.org/projects/findlib.html"
SRC_URI="http://download.camlcity.org/download/${P}.tar.gz"
LICENSE="MIT X11"
SLOT="0"
KEYWORDS="alpha amd64 ~hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
DEPEND=">=dev-lang/ocaml-3.07"
ocamlfind_destdir="/usr/$(get_libdir)/ocaml/site-packages"
stublibs="${ocamlfind_destdir}/stublibs"
pkg_setup()
{
if ( use tk && ! built_with_use dev-lang/ocaml tk ); 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 ""
die "Please make sure that ocaml is installed with tk support or remove the USE flag"
fi
if use ocamlopt && ! built_with_use --missing true dev-lang/ocaml ocamlopt; then
eerror "In order to build ${PN} with native code support from ocaml"
eerror "You first need to have a native code ocaml compiler."
eerror "You need to install dev-lang/ocaml with ocamlopt useflag on."
die "Please install ocaml with ocamlopt useflag"
fi
}
src_compile() {
local myconf
use tk && myconf="-with-toolbox"
./configure -bindir /usr/bin -mandir /usr/share/man \
-sitelib ${ocamlfind_destdir} \
-config ${ocamlfind_destdir}/findlib/findlib.conf \
${myconf} || die "configure failed"
emake all || die
if use ocamlopt; then
emake opt || die # optimized code
else
# If using bytecode we dont want to strip the binary as it would remove the
# bytecode and only leave ocamlrun...
export STRIP_MASK="*/bin/*"
fi
}
src_install() {
dodir `ocamlc -where`
emake prefix="${D}" install || die
dodir "${stublibs}"
cd "${S}/doc"
dodoc QUICKSTART README DOCINFO
use doc && dohtml -r ref-html guide-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
}
|