1{
2 stdenv,
3 lib,
4 fetchurl,
5 buildDunePackage,
6 ocaml,
7 dune-configurator,
8 pkg-config,
9 cairo,
10}:
11
12buildDunePackage rec {
13 pname = "cairo2";
14 version = "0.6.5";
15
16 src = fetchurl {
17 url = "https://github.com/Chris00/ocaml-cairo/releases/download/${version}/cairo2-${version}.tbz";
18 sha256 = "sha256-JdxByUNtmrz1bKrZoQWUT/c0YEG4zGoqZUq4hItlc3I=";
19 };
20
21 minimalOCamlVersion = "4.02";
22 useDune2 = true;
23
24 nativeBuildInputs = [ pkg-config ];
25 buildInputs = [
26 cairo
27 dune-configurator
28 ];
29
30 doCheck =
31 !(
32 stdenv.hostPlatform.isDarwin
33 # https://github.com/Chris00/ocaml-cairo/issues/19
34 || lib.versionAtLeast ocaml.version "4.10"
35 );
36
37 meta = with lib; {
38 homepage = "https://github.com/Chris00/ocaml-cairo";
39 description = "Binding to Cairo, a 2D Vector Graphics Library";
40 longDescription = ''
41 This is a binding to Cairo, a 2D graphics library with support for
42 multiple output devices. Currently supported output targets include
43 the X Window System, Quartz, Win32, image buffers, PostScript, PDF,
44 and SVG file output.
45 '';
46 license = licenses.lgpl3;
47 maintainers = with maintainers; [
48 jirkamarsik
49 vbgl
50 ];
51 };
52}