diff --git a/pkgs/development/ocaml-modules/ppxlib/default.nix b/pkgs/development/ocaml-modules/ppxlib/default.nix index 8821e5621295..7b1e25a8f9b0 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 e8c43d1ac7d7..e5ed3cbf9774 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 {