diff options
Diffstat (limited to 'pkgs/development/ocaml-modules/ppx_deriving/default.nix')
-rw-r--r-- | pkgs/development/ocaml-modules/ppx_deriving/default.nix | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix index 37a3a55229d..910e5390096 100644 --- a/pkgs/development/ocaml-modules/ppx_deriving/default.nix +++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix @@ -1,20 +1,34 @@ -{ lib, fetchzip, buildDunePackage -, cppo, ppxfind, ppx_tools, ppx_derivers, result, ounit, ocaml-migrate-parsetree +{ lib, fetchurl, buildDunePackage +, cppo, ppxlib, ppx_derivers, result, ounit, ocaml-migrate-parsetree }: +let params = + if lib.versionAtLeast ppxlib.version "0.15" + then { + version = "5.1"; + sha256 = "1i64fd7qrfzbam5hfbl01r0sx4iihsahcwqj13smmrjlnwi3nkxh"; + } else { + version = "5.0"; + sha256 = "0fkzrn4pdyvf1kl0nwvhqidq01pnq3ql8zk1jd56hb0cxaw851w3"; + } +; in + buildDunePackage rec { pname = "ppx_deriving"; - version = "4.5"; + inherit (params) version; + + useDune2 = true; - src = fetchzip { - url = "https://github.com/ocaml-ppx/ppx_deriving/archive/v${version}.tar.gz"; - sha256 = "1v2xldag54n0xk69vv3j4nln9bzkkpq3rildq118sydzsc9v239z"; + src = fetchurl { + url = "https://github.com/ocaml-ppx/ppx_deriving/releases/download/v${version}/ppx_deriving-v${version}.tbz"; + inherit (params) sha256; }; - buildInputs = [ ppxfind cppo ounit ]; - propagatedBuildInputs = [ ocaml-migrate-parsetree ppx_derivers ppx_tools result ]; + buildInputs = [ ppxlib cppo ]; + propagatedBuildInputs = [ ocaml-migrate-parsetree ppx_derivers result ]; doCheck = true; + checkInputs = [ ounit ]; meta = with lib; { description = "deriving is a library simplifying type-driven code generation on OCaml >=4.02."; |