From 6a7f79ed839a76cee8323d1a353d5828a8494f93 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 8 Dec 2020 21:50:04 +0100 Subject: [PATCH] =?UTF-8?q?ocamlPackages.ppxlib:=200.12.0=20=E2=86=92=200.?= =?UTF-8?q?13.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also refactor to ease selection of a custom version --- .../ocaml-modules/ppxlib/default.nix | 24 +++++++++++-------- pkgs/top-level/ocaml-packages.nix | 4 ++-- 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 {