diff --git a/pkgs/development/tools/pyre/default.nix b/pkgs/development/tools/pyre/default.nix new file mode 100644 index 00000000000000..7cbfc438504877 --- /dev/null +++ b/pkgs/development/tools/pyre/default.nix @@ -0,0 +1,71 @@ +{ stdenv, fetchFromGitHub, ocamlPackages, makeWrapper, writeScript }: +let + # Manually set version - the setup script requires + # hg and git + keeping the .git directory around. + version = "0.0.8"; + versionFile = writeScript "version.ml" '' + cat > "./version.ml" < Makefile + + cp ${versionFile} ./scripts/generate-version-number.sh + + mkdir $(pwd)/build + export OCAMLFIND_DESTDIR=$(pwd)/build + export OCAMLPATH=$OCAMLPATH:$(pwd)/build + make release + ''; + + checkPhase = '' + make test + ''; + + # Note that we're not installing the typeshed yet. + # Improvement for a future version. + installPhase = '' + mkdir -p $out/bin + cp _build/all/main.native $out/bin/pyre + ''; + + meta = with stdenv.lib; { + description = "A performant type-checker for Python 3"; + homepage = https://pyre-check.org; + license = licenses.mit; + platforms = with platforms; linux; + maintainers = with maintainers; [ teh ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0f071c42cd747a..f7fb9ab33b0a14 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6579,6 +6579,10 @@ with pkgs; ocamlPackages = ocaml-ng.ocamlPackages_4_06; }; + pyre = callPackage ../development/tools/pyre { + ocamlPackages = ocaml-ng.ocamlPackages_4_06; + }; + dotnetPackages = recurseIntoAttrs (callPackage ./dotnet-packages.nix {}); glslang = callPackage ../development/compilers/glslang { };