summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/ocaml-modules/ppxlib/default.nix24
-rw-r--r--pkgs/top-level/ocaml-packages.nix4
2 files changed, 16 insertions, 12 deletions
diff --git a/pkgs/development/ocaml-modules/ppxlib/default.nix b/pkgs/development/ocaml-modules/ppxlib/default.nix
index 8821e562129..7b1e25a8f9b 100644
--- a/pkgs/development/ocaml-modules/ppxlib/default.nix
+++ b/pkgs/development/ocaml-modules/ppxlib/default.nix
@@ -1,24 +1,28 @@
 { lib, fetchFromGitHub, buildDunePackage, ocaml
-, legacy ? false
+, version ? "0.13.0"
 , ocaml-compiler-libs, ocaml-migrate-parsetree, ppx_derivers, stdio
 }:
 
-let param =
-  if legacy then {
-    version = "0.8.1";
+let param = {
+  "0.8.1" = {
     sha256 = "0vm0jajmg8135scbg0x60ivyy5gzv4abwnl7zls2mrw23ac6kml6";
-  } else {
-    version = "0.12.0";
-    sha256 = "1cg0is23c05k1rc94zcdz452p9zn11dpqxm1pnifwx5iygz3w0a1";
-  }; in
+    max_version = "4.10";
+  };
+  "0.13.0" = {
+    sha256 = "0c54g22pm6lhfh3f7s5wbah8y48lr5lj3cqsbvgi99bly1b5vqvl";
+  };
+}."${version}"; in
 
-if lib.versionAtLeast ocaml.version "4.10" && legacy
+if param ? max_version && lib.versionAtLeast ocaml.version param.max_version
+|| param ? min_version && !lib.versionAtLeast ocaml.version param.min_version
 then throw "ppxlib-${param.version} is not available for OCaml ${ocaml.version}"
 else
 
 buildDunePackage rec {
   pname = "ppxlib";
-  inherit (param) version;
+  inherit version;
+
+  useDune2 = param.useDune2 or false;
 
   src = fetchFromGitHub {
     owner = "ocaml-ppx";
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index e8c43d1ac7d..e5ed3cbf977 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1064,14 +1064,14 @@ let
     then import ../development/ocaml-modules/janestreet/0.12.nix {
       inherit ctypes janePackage num octavius re;
       inherit (pkgs) openssl;
-      ppxlib = ppxlib.override { legacy = true; };
+      ppxlib = ppxlib.override { version = "0.8.1"; };
     }
     else import ../development/ocaml-modules/janestreet {
       inherit janePackage ocamlbuild angstrom ctypes cryptokit;
       inherit magic-mime num ocaml-migrate-parsetree octavius ounit;
       inherit ppx_deriving re;
       inherit (pkgs) openssl;
-      ppxlib = ppxlib.override { legacy = true; };
+      ppxlib = ppxlib.override { version = "0.8.1"; };
     };
 
     janeStreet_0_9_0 = import ../development/ocaml-modules/janestreet/old.nix {