summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/cairo2
diff options
context:
space:
mode:
authorVincent Laporte <Vincent.Laporte@gmail.com>2017-12-09 08:38:50 +0000
committerVincent Laporte <vbgl@users.noreply.github.com>2017-12-16 12:14:35 +0100
commit12c5fe3e2dec6178cfef286ccc0a3078a0b63456 (patch)
tree838685941cc165df0f00e8893b11f913a79d18b0 /pkgs/development/ocaml-modules/cairo2
parent79ba6863716cb615ae1789034f48f819400adc39 (diff)
downloadnixpkgs-12c5fe3e2dec6178cfef286ccc0a3078a0b63456.tar
nixpkgs-12c5fe3e2dec6178cfef286ccc0a3078a0b63456.tar.gz
nixpkgs-12c5fe3e2dec6178cfef286ccc0a3078a0b63456.tar.bz2
nixpkgs-12c5fe3e2dec6178cfef286ccc0a3078a0b63456.tar.lz
nixpkgs-12c5fe3e2dec6178cfef286ccc0a3078a0b63456.tar.xz
nixpkgs-12c5fe3e2dec6178cfef286ccc0a3078a0b63456.tar.zst
nixpkgs-12c5fe3e2dec6178cfef286ccc0a3078a0b63456.zip
ocamlPackages.cairo2: 0.4.6 -> 0.5
Diffstat (limited to 'pkgs/development/ocaml-modules/cairo2')
-rw-r--r--pkgs/development/ocaml-modules/cairo2/default.nix53
1 files changed, 53 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/cairo2/default.nix b/pkgs/development/ocaml-modules/cairo2/default.nix
new file mode 100644
index 00000000000..b37dd413f69
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cairo2/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, pkgconfig, cairo, lablgtk, gtk2,
+  enableGtkSupport ? true # Whether to compile with support for Gtk
+                          # integration (library file cairo2_gtk). Depends
+                          # on lablgtk and gtk2.
+}:
+
+let
+  inherit (stdenv.lib) optionals;
+  version = "0.5";
+in
+
+stdenv.mkDerivation {
+
+  name = "ocaml${ocaml.version}-cairo2-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Chris00/ocaml-cairo/releases/download/${version}/cairo2-${version}.tar.gz";
+    sha256 = "1559df74rzh4v7c9hr6phymq1f5121s83q0xy3r83x4apj74dchj";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ ocaml findlib ocamlbuild cairo ]
+                ++ optionals enableGtkSupport [ gtk2 ];
+
+  # lablgtk2 is marked as a propagated build input since loading the
+  # cairo.lablgtk2 package from the toplevel tries to load lablgtk2 as
+  # well.
+  propagatedBuildInputs = optionals enableGtkSupport [ lablgtk ];
+
+  createFindlibDestdir = true;
+
+  configurePhase = "ocaml setup.ml -configure --prefix $out"
+                 + (if enableGtkSupport then " --enable-lablgtk2"
+                                        else " --disable-lablgtk2");
+
+  buildPhase = "ocaml setup.ml -build";
+
+  installPhase = "ocaml setup.ml -install";
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/Chris00/ocaml-cairo";
+    description = "Binding to Cairo, a 2D Vector Graphics Library";
+    longDescription = ''
+      This is a binding to Cairo, a 2D graphics library with support for
+      multiple output devices. Currently supported output targets include
+      the X Window System, Quartz, Win32, image buffers, PostScript, PDF,
+      and SVG file output.
+    '';
+    license = licenses.lgpl3;
+    platforms = ocaml.meta.platforms or [];
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}