diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix index 0c81775f236..0c73ff6521f 100644 --- a/pkgs/development/ocaml-modules/lwt/default.nix +++ b/pkgs/development/ocaml-modules/lwt/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchzip, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl, libev, pkgconfig, ncurses, ocaml_oasis, ocaml_text, glib, camlp4}: +{ stdenv, fetchzip, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl, libev, pkgconfig, ncurses, ocaml_oasis, ocaml_text, glib, camlp4, ppx_tools }: let version = "2.4.6"; @@ -16,11 +16,12 @@ stdenv.mkDerivation { sha256 = "0idci0zadpb8hmblszsrvg6yf36w5a9y6rsdwjc3jww71dgrw5d9"; }; - buildInputs = [ocaml_oasis pkgconfig which cryptopp ocaml findlib glib ncurses camlp4]; + buildInputs = [ ocaml_oasis pkgconfig which cryptopp ocaml findlib glib ncurses camlp4 ppx_tools ]; propagatedBuildInputs = [ ocaml_react ocaml_ssl ocaml_text libev ]; - configureFlags = [ "--enable-react" "--enable-glib" "--enable-ssl" "--enable-text" "--disable-ppx" ] + configureFlags = [ "--enable-react" "--enable-glib" "--enable-ssl" "--enable-text" ] + ++ [ (if versionAtLeast ocaml_version "4.02" then "--enable-ppx" else "--disable-ppx") ] ++ optional (versionAtLeast ocaml_version "4.0" && ! versionAtLeast ocaml_version "4.02") "--enable-toplevel"; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix new file mode 100644 index 00000000000..4e99dcd1af4 --- /dev/null +++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchzip, ocaml, findlib }: + +stdenv.mkDerivation { + name = "ocaml-ppx_tools-0.99.2"; + src = fetchzip { + url = https://github.com/alainfrisch/ppx_tools/archive/ppx_tools_0.99.2.tar.gz; + sha256 = "1m09r2sjcb37i4dyhpbk9n2wxkcvpib6bvairsird91fm9w0vqw7"; + }; + + buildInputs = [ ocaml findlib ]; + + createFindlibDestdir = true; + + meta = with stdenv.lib; { + description = "Tools for authors of ppx rewriters"; + homepage = http://www.lexifi.com/ppx_tools; + license = licenses.mit; + platforms = ocaml.meta.platforms; + maintainers = with maintainers; [ vbgl ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ed176ef4de8..72e6f9ca726 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4616,6 +4616,11 @@ let pprint = callPackage ../development/ocaml-modules/pprint { }; + ppx_tools = + if lib.versionAtLeast ocaml_version "4.02" + then callPackage ../development/ocaml-modules/ppx_tools {} + else null; + pycaml = callPackage ../development/ocaml-modules/pycaml { }; qcheck = callPackage ../development/ocaml-modules/qcheck {