about summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/eio/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/ocaml-modules/eio/default.nix')
-rw-r--r--pkgs/development/ocaml-modules/eio/default.nix22
1 files changed, 17 insertions, 5 deletions
diff --git a/pkgs/development/ocaml-modules/eio/default.nix b/pkgs/development/ocaml-modules/eio/default.nix
index 1f9e18e887e0c..005364039e029 100644
--- a/pkgs/development/ocaml-modules/eio/default.nix
+++ b/pkgs/development/ocaml-modules/eio/default.nix
@@ -1,4 +1,6 @@
 { lib
+, ocaml
+, version ? if lib.versionAtLeast ocaml.version "5.1" then "0.13" else "0.12"
 , buildDunePackage
 , bigstringaf
 , cstruct
@@ -16,16 +18,26 @@
 , mdx
 }:
 
+let
+  param = {
+    "0.12" = {
+      minimalOCamlVersion = "5.0";
+      hash = "sha256-2EhHzoX/t4ZBSWrSS+PGq1zCxohc7a1q4lfsrFnZJqA=";
+    };
+    "0.13" = {
+      minimalOCamlVersion = "5.1";
+      hash = "sha256-glN+4cWxgp/eggdhSk459WC9WCMyhBKQ7V73ZpHzr3A=";
+    };
+  }."${version}";
+in
 buildDunePackage rec {
   pname = "eio";
-  version = "0.12";
-
-  minimalOCamlVersion = "5.0";
-  duneVersion = "3";
+  inherit version;
+  inherit (param) minimalOCamlVersion;
 
   src = fetchurl {
     url = "https://github.com/ocaml-multicore/${pname}/releases/download/v${version}/${pname}-${version}.tbz";
-    sha256 = "2EhHzoX/t4ZBSWrSS+PGq1zCxohc7a1q4lfsrFnZJqA=";
+    inherit (param) hash;
   };
 
   propagatedBuildInputs = [