diff options
author | Vincent Laporte <Vincent.Laporte@gmail.com> | 2020-05-12 21:14:39 +0200 |
---|---|---|
committer | Vincent Laporte <vbgl@users.noreply.github.com> | 2020-05-18 18:19:06 +0200 |
commit | 4a873aa29ebd44601b86849d39648991939c32e2 (patch) | |
tree | 66a26f8db3e92e62f96e3f427873c9a739dff29e /pkgs/development/ocaml-modules/ppxlib | |
parent | f31adf28b7ac2cc31081ddbd566f94932740564e (diff) |
ocamlPackages.ppxlib: minor refactoring
Diffstat (limited to 'pkgs/development/ocaml-modules/ppxlib')
-rw-r--r-- | pkgs/development/ocaml-modules/ppxlib/default.nix | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/pkgs/development/ocaml-modules/ppxlib/default.nix b/pkgs/development/ocaml-modules/ppxlib/default.nix index bbaf9e27cf4de..8821e56212958 100644 --- a/pkgs/development/ocaml-modules/ppxlib/default.nix +++ b/pkgs/development/ocaml-modules/ppxlib/default.nix @@ -1,23 +1,30 @@ -{ stdenv, fetchFromGitHub, buildDunePackage -, version ? "0.8.1" +{ lib, fetchFromGitHub, buildDunePackage, ocaml +, legacy ? false , ocaml-compiler-libs, ocaml-migrate-parsetree, ppx_derivers, stdio }: -let sha256 = - { "0.8.1" = "0vm0jajmg8135scbg0x60ivyy5gzv4abwnl7zls2mrw23ac6kml6"; - "0.12.0" = "1cg0is23c05k1rc94zcdz452p9zn11dpqxm1pnifwx5iygz3w0a1"; - }."${version}" -; in +let param = + if legacy then { + version = "0.8.1"; + sha256 = "0vm0jajmg8135scbg0x60ivyy5gzv4abwnl7zls2mrw23ac6kml6"; + } else { + version = "0.12.0"; + sha256 = "1cg0is23c05k1rc94zcdz452p9zn11dpqxm1pnifwx5iygz3w0a1"; + }; in + +if lib.versionAtLeast ocaml.version "4.10" && legacy +then throw "ppxlib-${param.version} is not available for OCaml ${ocaml.version}" +else buildDunePackage rec { pname = "ppxlib"; - inherit version; + inherit (param) version; src = fetchFromGitHub { owner = "ocaml-ppx"; repo = pname; rev = version; - inherit sha256; + inherit (param) sha256; }; propagatedBuildInputs = [ @@ -26,8 +33,8 @@ buildDunePackage rec { meta = { description = "Comprehensive ppx tool set"; - license = stdenv.lib.licenses.mit; - maintainers = [ stdenv.lib.maintainers.vbgl ]; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vbgl ]; inherit (src.meta) homepage; }; } |