lol
1{stdenv, fetchurl, m4, ncurses, ocaml, writeText}:
2
3stdenv.mkDerivation rec {
4 name = "ocaml-findlib-${version}";
5 version = "1.7.3";
6
7 src = fetchurl {
8 url = "http://download.camlcity.org/download/findlib-${version}.tar.gz";
9 sha256 = "12xx8si1qv3xz90qsrpazjjk4lc1989fzm97rsmc4diwla7n15ni";
10 };
11
12 buildInputs = [m4 ncurses ocaml];
13
14 patches = [ ./ldconf.patch ./install_topfind.patch ];
15
16 dontAddPrefix=true;
17
18 preConfigure=''
19 configureFlagsArray=(
20 -bindir $out/bin
21 -mandir $out/share/man
22 -sitelib $out/lib/ocaml/${ocaml.version}/site-lib
23 -config $out/etc/findlib.conf
24 )
25 '';
26
27 buildPhase = ''
28 make all
29 make opt
30 '';
31
32 setupHook = writeText "setupHook.sh" ''
33 addOCamlPath () {
34 if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib"; then
35 export OCAMLPATH="''${OCAMLPATH}''${OCAMLPATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/"
36 fi
37 export OCAMLFIND_DESTDIR="''$out/lib/ocaml/${ocaml.version}/site-lib/"
38 if test -n "$createFindlibDestdir"; then
39 mkdir -p $OCAMLFIND_DESTDIR
40 fi
41 }
42
43 envHooks+=(addOCamlPath)
44 '';
45
46 meta = {
47 homepage = http://projects.camlcity.org/projects/findlib.html;
48 description = "O'Caml library manager";
49 license = stdenv.lib.licenses.mit;
50 platforms = ocaml.meta.platforms or [];
51 maintainers = [
52 stdenv.lib.maintainers.z77z
53 stdenv.lib.maintainers.vbmithr
54 ];
55 };
56}
57
58