nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 lib,
4 fetchurl,
5 automake,
6 ocaml,
7 autoconf,
8 gnum4,
9 pkg-config,
10 freetype,
11 lablgtk,
12 unzip,
13 cairo,
14 findlib,
15 gdk-pixbuf,
16 gtk2,
17 pango,
18}:
19
20let
21 pname = "ocaml-cairo";
22in
23stdenv.mkDerivation rec {
24 name = "${pname}-${version}";
25 version = "1.2.0";
26
27 src = fetchurl {
28 url = "http://cgit.freedesktop.org/cairo-ocaml/snapshot/cairo-ocaml-${version}.zip";
29 sha256 = "0l4p9bp6kclr570mxma8wafibr1g5fsjj8h10yr4b507g0hmlh0l";
30 };
31
32 patches = [ ./META.patch ];
33
34 strictDeps = true;
35
36 nativeBuildInputs = [
37 pkg-config
38 unzip
39 ocaml
40 automake
41 gnum4
42 autoconf
43 findlib
44 ];
45 buildInputs = [
46 freetype
47 lablgtk
48 cairo
49 gdk-pixbuf
50 gtk2
51 pango
52 ];
53
54 createFindlibDestdir = true;
55
56 preConfigure = ''
57 aclocal -I support
58 autoconf
59 export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE `pkg-config --cflags cairo gdk-pixbuf glib gtk+ pango`"
60 export LABLGTKDIR=${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2
61 cp ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2/pango.ml ./src
62 cp ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2/gaux.ml ./src
63 '';
64
65 postInstall = ''
66 cp META $out/lib/ocaml/${ocaml.version}/site-lib/cairo/
67 '';
68
69 makeFlags = [ "INSTALLDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/cairo" ];
70
71 meta = {
72 homepage = "http://cairographics.org/cairo-ocaml";
73 description = "Ocaml bindings for cairo library";
74 license = lib.licenses.gpl2;
75 broken = lib.versionAtLeast ocaml.version "4.06";
76 inherit (ocaml.meta) platforms;
77 };
78}