diff --git a/pkgs/development/ocaml-modules/visitors/default.nix b/pkgs/development/ocaml-modules/visitors/default.nix new file mode 100644 index 000000000000..506721f7bf5e --- /dev/null +++ b/pkgs/development/ocaml-modules/visitors/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, cppo, ppx_tools, ppx_deriving, result }: + +stdenv.mkDerivation { + name = "ocaml${ocaml.version}-visitors-20171124"; + + src = fetchurl { + url = http://gallium.inria.fr/~fpottier/visitors/visitors-20171124.tar.gz; + sha256 = "04047k2v0pgwcdkgw7jk4955pgil0nj2ji0zfhmlqrdbinyfqzac"; + }; + + buildInputs = [ ocaml findlib ocamlbuild cppo ]; + propagatedBuildInputs = [ ppx_tools ppx_deriving result ]; + + createFindlibDestdir = true; + + meta = with stdenv.lib; { + homepage = https://gitlab.inria.fr/fpottier/visitors; + license = licenses.lgpl21; + description = "An OCaml syntax extension (technically, a ppx_deriving plugin) which generates object-oriented visitors for traversing and transforming data structures"; + inherit (ocaml.meta) platforms; + maintainers = [ maintainers.marsam ]; + }; +} diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix index 00b129706284..3d7a8abf4fe6 100644 --- a/pkgs/development/tools/analysis/flow/default.nix +++ b/pkgs/development/tools/analysis/flow/default.nix @@ -1,33 +1,28 @@ -{ stdenv, fetchFromGitHub, lib, ocamlPackages, libelf, cf-private, CoreServices }: - -with lib; +{ stdenv, fetchFromGitHub, ocamlPackages, cf-private, CoreServices }: stdenv.mkDerivation rec { - version = "0.80.0"; + version = "0.85.0"; name = "flow-${version}"; src = fetchFromGitHub { - owner = "facebook"; - repo = "flow"; - rev = "v${version}"; - sha256 = "0jixisimqwbr46gh9357ya0rscv46svm6kqnawkq1shlf9nwa3lx"; + owner = "facebook"; + repo = "flow"; + rev = "refs/tags/v${version}"; + sha256 = "0kci017bl4ihq89zpwlgdlwzv7kili8146940kyar5v66kgf7xsh"; }; installPhase = '' - mkdir -p $out/bin - cp bin/flow $out/bin/ + install -Dm755 -t $out/bin bin/flow ''; - buildInputs = [ libelf - ] ++ (with ocamlPackages; [ - ocaml findlib camlp4 sedlex ocamlbuild lwt_ppx ppx_deriving ppx_gen_rec lwt_log wtf8 dtoa - ]) ++ optionals stdenv.isDarwin [ cf-private CoreServices ]; + buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild dtoa core_kernel sedlex ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ]) + ++ stdenv.lib.optionals stdenv.isDarwin [ cf-private CoreServices ]; meta = with stdenv.lib; { description = "A static type checker for JavaScript"; - homepage = http://flowtype.org; - license = licenses.bsd3; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + homepage = https://flow.org/; + license = licenses.mit; + platforms = ocamlPackages.ocaml.meta.platforms; maintainers = with maintainers; [ puffnfresh globin ]; }; } diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index b95ca0e0ef45..1d0c14914362 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -737,6 +737,8 @@ let vg = callPackage ../development/ocaml-modules/vg { }; + visitors = callPackage ../development/ocaml-modules/visitors { }; + wasm = callPackage ../development/ocaml-modules/wasm { }; wtf8 = callPackage ../development/ocaml-modules/wtf8 { };