summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/ocaml-modules/cairo2/default.nix46
-rw-r--r--pkgs/top-level/ocaml-packages.nix4
2 files changed, 13 insertions, 37 deletions
diff --git a/pkgs/development/ocaml-modules/cairo2/default.nix b/pkgs/development/ocaml-modules/cairo2/default.nix
index b37dd413f69..1213120ce1c 100644
--- a/pkgs/development/ocaml-modules/cairo2/default.nix
+++ b/pkgs/development/ocaml-modules/cairo2/default.nix
@@ -1,43 +1,22 @@
-{ 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.
+{ stdenv, lib, fetchurl, buildDunePackage
+, pkgconfig, cairo
 }:
 
-let
-  inherit (stdenv.lib) optionals;
-  version = "0.5";
-in
-
-stdenv.mkDerivation {
-
-  name = "ocaml${ocaml.version}-cairo2-${version}";
+buildDunePackage rec {
+  pname = "cairo2";
+  version = "0.6";
 
   src = fetchurl {
-    url = "https://github.com/Chris00/ocaml-cairo/releases/download/${version}/cairo2-${version}.tar.gz";
-    sha256 = "1559df74rzh4v7c9hr6phymq1f5121s83q0xy3r83x4apj74dchj";
+    url = "https://github.com/Chris00/ocaml-cairo/releases/download/${version}/cairo2-${version}.tbz";
+    sha256 = "1k2q7ipmddqnd2clybj4qb5xwzzrnl2fxnd6kv60dlzgya18lchs";
   };
 
   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";
+  buildInputs = [ cairo ];
 
-  installPhase = "ocaml setup.ml -install";
+  doCheck = !stdenv.isDarwin;
 
-  meta = with stdenv.lib; {
+  meta = {
     homepage = "https://github.com/Chris00/ocaml-cairo";
     description = "Binding to Cairo, a 2D Vector Graphics Library";
     longDescription = ''
@@ -46,8 +25,7 @@ stdenv.mkDerivation {
       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 ];
+    license = lib.licenses.lgpl3;
+    maintainers = with lib.maintainers; [ jirkamarsik vbgl ];
   };
 }
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 31b6c75fb14..5907b0099dd 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -357,9 +357,7 @@ let
 
     lablgl = callPackage ../development/ocaml-modules/lablgl { };
 
-    lablgtk3 = callPackage ../development/ocaml-modules/lablgtk3 {
-      cairo2 = cairo2.override { enableGtkSupport = false; };
-    };
+    lablgtk3 = callPackage ../development/ocaml-modules/lablgtk3 { };
 
     lablgtk3-gtkspell3 = callPackage ../development/ocaml-modules/lablgtk3/gtkspell3.nix { };