summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/ocaml-modules/camlimages/default.nix12
-rw-r--r--pkgs/top-level/ocaml-packages.nix5
2 files changed, 16 insertions, 1 deletions
diff --git a/pkgs/development/ocaml-modules/camlimages/default.nix b/pkgs/development/ocaml-modules/camlimages/default.nix
new file mode 100644
index 000000000000..394b0c507be5
--- /dev/null
+++ b/pkgs/development/ocaml-modules/camlimages/default.nix
@@ -0,0 +1,12 @@
+{ stdenv, fetchzip, findlib, jbuilder, ocaml, configurator, cppo, lablgtk }:
+stdenv.mkDerivation rec {
+  name = "camlimages-${version}";
+  version = "5.0.0";
+  src = fetchzip {
+    url = "https://bitbucket.org/camlspotter/camlimages/get/${version}.tar.gz";
+    sha256 = "00qvwxkfnhv93yi1iq7vy3p5lxyi9xigxcq464s4ii6bmp32d998";
+  };
+  buildInputs = [ findlib jbuilder ocaml configurator cppo lablgtk ];
+  buildPhase = "jbuilder build -p camlimages";
+  inherit (jbuilder) installPhase;
+}
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 82467fcd78ca..f77de1057e57 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -119,7 +119,10 @@ let
     camlimages_4_1 = callPackage ../development/ocaml-modules/camlimages/4.1.nix {
       giflib = pkgs.giflib_4_1;
     };
-    camlimages = camlimages_4_1;
+    camlimages =
+          if lib.versionOlder "4.05" ocaml.version
+          then callPackage ../development/ocaml-modules/camlimages { }
+          else camlimages_4_1;
 
     benchmark = callPackage ../development/ocaml-modules/benchmark { };