about summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/safepass/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/ocaml-modules/safepass/default.nix')
-rw-r--r--pkgs/development/ocaml-modules/safepass/default.nix18
1 files changed, 15 insertions, 3 deletions
diff --git a/pkgs/development/ocaml-modules/safepass/default.nix b/pkgs/development/ocaml-modules/safepass/default.nix
index 44a74b3fa2f0..214789e52b4e 100644
--- a/pkgs/development/ocaml-modules/safepass/default.nix
+++ b/pkgs/development/ocaml-modules/safepass/default.nix
@@ -1,11 +1,23 @@
 { stdenv, fetchurl, ocaml, findlib, ocamlbuild }:
 
-stdenv.mkDerivation {
-  name = "ocaml-safepass-1.3";
-  src = fetchurl {
+let param =
+  if stdenv.lib.versionAtLeast ocaml.version "4.02"
+  then {
+    version = "2.0";
+    url = http://forge.ocamlcore.org/frs/download.php/1615/ocaml-safepass-2.0.tgz;
+    sha256 = "1zxx3wcyzhxxvm5w9c21y7hpa11h67paaaz9mfsyiqk6fs6hcvmw";
+  } else {
+    version = "1.3";
     url = http://forge.ocamlcore.org/frs/download.php/1432/ocaml-safepass-1.3.tgz;
     sha256 = "0lb8xbpyc5d1zml7s7mmcr6y2ipwdp7qz73lkv9asy7dyi6cj15g";
   };
+in
+
+stdenv.mkDerivation {
+  name = "ocaml${ocaml.version}-safepass-${param.version}";
+  src = fetchurl {
+    inherit (param) url sha256;
+  };
 
   buildInputs = [ ocaml findlib ocamlbuild ];