ocamlPackages.ppxlib: minor refactoring

authored by Vincent Laporte and committed by Vincent Laporte 4a873aa2 f31adf28

+27 -20
+18 -11
pkgs/development/ocaml-modules/ppxlib/default.nix
··· 1 - { stdenv, fetchFromGitHub, buildDunePackage 2 - , version ? "0.8.1" 1 + { lib, fetchFromGitHub, buildDunePackage, ocaml 2 + , legacy ? false 3 3 , ocaml-compiler-libs, ocaml-migrate-parsetree, ppx_derivers, stdio 4 4 }: 5 5 6 - let sha256 = 7 - { "0.8.1" = "0vm0jajmg8135scbg0x60ivyy5gzv4abwnl7zls2mrw23ac6kml6"; 8 - "0.12.0" = "1cg0is23c05k1rc94zcdz452p9zn11dpqxm1pnifwx5iygz3w0a1"; 9 - }."${version}" 10 - ; in 6 + let param = 7 + if legacy then { 8 + version = "0.8.1"; 9 + sha256 = "0vm0jajmg8135scbg0x60ivyy5gzv4abwnl7zls2mrw23ac6kml6"; 10 + } else { 11 + version = "0.12.0"; 12 + sha256 = "1cg0is23c05k1rc94zcdz452p9zn11dpqxm1pnifwx5iygz3w0a1"; 13 + }; in 14 + 15 + if lib.versionAtLeast ocaml.version "4.10" && legacy 16 + then throw "ppxlib-${param.version} is not available for OCaml ${ocaml.version}" 17 + else 11 18 12 19 buildDunePackage rec { 13 20 pname = "ppxlib"; 14 - inherit version; 21 + inherit (param) version; 15 22 16 23 src = fetchFromGitHub { 17 24 owner = "ocaml-ppx"; 18 25 repo = pname; 19 26 rev = version; 20 - inherit sha256; 27 + inherit (param) sha256; 21 28 }; 22 29 23 30 propagatedBuildInputs = [ ··· 26 33 27 34 meta = { 28 35 description = "Comprehensive ppx tool set"; 29 - license = stdenv.lib.licenses.mit; 30 - maintainers = [ stdenv.lib.maintainers.vbgl ]; 36 + license = lib.licenses.mit; 37 + maintainers = [ lib.maintainers.vbgl ]; 31 38 inherit (src.meta) homepage; 32 39 }; 33 40 }
+9 -9
pkgs/top-level/ocaml-packages.nix
··· 413 413 414 414 js_of_ocaml-ppx = callPackage ../development/tools/ocaml/js_of_ocaml/ppx.nix {}; 415 415 416 - js_of_ocaml-ppx_deriving_json = callPackage ../development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix { 417 - ppxlib = ppxlib.override { version = "0.12.0"; }; 418 - }; 416 + js_of_ocaml-ppx_deriving_json = callPackage ../development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix { }; 419 417 420 418 js_of_ocaml-tyxml = callPackage ../development/tools/ocaml/js_of_ocaml/tyxml.nix {}; 421 419 ··· 815 813 816 814 ppx_deriving_protobuf = callPackage ../development/ocaml-modules/ppx_deriving_protobuf {}; 817 815 818 - ppx_deriving_rpc = callPackage ../development/ocaml-modules/ppx_deriving_rpc {}; 816 + ppx_deriving_rpc = callPackage ../development/ocaml-modules/ppx_deriving_rpc { 817 + ppxlib = ppxlib.override { legacy = true; }; 818 + }; 819 819 820 820 ppx_deriving_yojson = callPackage ../development/ocaml-modules/ppx_deriving_yojson {}; 821 821 ··· 824 824 ppx_import = callPackage ../development/ocaml-modules/ppx_import {}; 825 825 826 826 ppx_irmin = callPackage ../development/ocaml-modules/irmin/ppx.nix { 827 - ppxlib = ppxlib.override { version = "0.12.0"; }; 828 827 }; 829 828 830 829 ppx_sqlexpr = callPackage ../development/ocaml-modules/sqlexpr/ppx.nix {}; ··· 965 964 janeStreet = 966 965 if lib.versionOlder "4.08" ocaml.version 967 966 then import ../development/ocaml-modules/janestreet/0.13.nix { 968 - inherit ctypes janePackage num octavius re; 967 + inherit ctypes janePackage num octavius ppxlib re; 969 968 inherit (pkgs) openssl; 970 - ppxlib = ppxlib.override { version = "0.12.0"; }; 971 969 } 972 970 else if lib.versionOlder "4.07" ocaml.version 973 971 then import ../development/ocaml-modules/janestreet/0.12.nix { 974 - inherit ctypes janePackage num octavius ppxlib re; 972 + inherit ctypes janePackage num octavius re; 975 973 inherit (pkgs) openssl; 974 + ppxlib = ppxlib.override { legacy = true; }; 976 975 } 977 976 else import ../development/ocaml-modules/janestreet { 978 977 inherit janePackage ocamlbuild angstrom ctypes cryptokit; 979 978 inherit magic-mime num ocaml-migrate-parsetree octavius ounit; 980 - inherit ppx_deriving re ppxlib; 979 + inherit ppx_deriving re; 981 980 inherit (pkgs) openssl; 981 + ppxlib = ppxlib.override { legacy = true; }; 982 982 }; 983 983 984 984 janeStreet_0_9_0 = import ../development/ocaml-modules/janestreet/old.nix {