lol
1{stdenv, fetchurl, ocaml, findlib, ocamlPackages }:
2
3let
4 ocaml_version = (builtins.parseDrvName ocaml.name).version;
5 version = "1.8.5";
6in
7
8stdenv.mkDerivation {
9 name = "ocamlgraph-${version}";
10
11 src = fetchurl {
12 url = "http://ocamlgraph.lri.fr/download/ocamlgraph-${version}.tar.gz";
13 sha256 = "0bxqxzd5sd7siz57vhzb8bmiz1ddhgdv49gcsmwwfmd16mj4cryi";
14 };
15
16 buildInputs = [ ocaml findlib ocamlPackages.lablgtk ocamlPackages.camlp4 ];
17
18 patches = ./destdir.patch;
19
20 # some patching is required so that the lablgtk2 library is taken into account. It
21 # does not reside in a subdirectory of the default library path, hence:
22 # * configure looked in the wrong path
23 # * ocaml needs that directory and the stubs directory as -I flag
24 postPatch = ''
25 sed -i 's@$(DESTDIR)$(OCAMLLIB)/ocamlgraph@$(DESTDIR)/lib/ocaml/${ocaml_version}/site-lib/ocamlgraph@' Makefile.in
26 sed -i 's@$OCAMLLIB/lablgtk2@${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2@' configure Makefile.in
27 sed -i 's@+lablgtk2@${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2 -I ${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/stublibs@' configure Makefile.in editor/Makefile
28 '';
29
30 createFindlibDestdir = true;
31
32 buildPhase = ''
33 make all
34 make install-findlib
35 '';
36
37 meta = {
38 homepage = http://ocamlgraph.lri.fr/;
39 description = "Graph library for Objective Caml";
40 license = stdenv.lib.licenses.gpl2Oss;
41 platforms = ocaml.meta.platforms or [];
42 maintainers = [
43 stdenv.lib.maintainers.kkallio
44 ];
45 };
46}