diff options
Diffstat (limited to 'pkgs/development/tools/pyre/default.nix')
-rw-r--r-- | pkgs/development/tools/pyre/default.nix | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/pkgs/development/tools/pyre/default.nix b/pkgs/development/tools/pyre/default.nix deleted file mode 100644 index 060875924d8..00000000000 --- a/pkgs/development/tools/pyre/default.nix +++ /dev/null @@ -1,137 +0,0 @@ -{ stdenv, fetchFromGitHub, ocamlPackages, writeScript -, dune, python3, rsync, buck, watchman, sqlite }: -let - # Manually set version - the setup script requires - # hg and git + keeping the .git directory around. - pyre-version = "0.0.22"; # also change typeshed revision below with $pyre-src/.typeshed-version - pyre-src = fetchFromGitHub { - owner = "facebook"; - repo = "pyre-check"; - rev = "v${pyre-version}"; - sha256 = "057vy6zmgwsi0ag9n4m6sszhahmfk2s1ywm36nyfs7w4d0wnk92s"; - }; - versionFile = writeScript "version.ml" '' - cat > "./version.ml" <<EOF - open Core - let build_info () = - "pyre-nixpkgs ${pyre-version}" - let version () = - "${pyre-version}" - - let log_version_banner () = - Log.info "Running as pid: %d" (Pid.to_int (Unix.getpid ())); - Log.info "Version: %s" (version ()); - Log.info "Build info: %s" (build_info ()) - EOF - ''; - pyre-bin = stdenv.mkDerivation { - name = "pyre-${pyre-version}"; - - src = pyre-src; - - buildInputs = with ocamlPackages; [ - ocaml - findlib - menhir - yojson - core - sedlex - ppx_deriving_yojson - ocamlbuild - ppxlib - dune - ounit - base64 - sqlite.dev - # python36Packages.python36Full # TODO - ]; - - preBuild = '' - # build requires HOME to be set - export HOME=$TMPDIR - - # "external" because https://github.com/facebook/pyre-check/pull/8/files - sed "s/%VERSION%/external/" dune.in > dune - - ln -sf ${versionFile} ./scripts/generate-version-number.sh - - mkdir $(pwd)/build - export OCAMLFIND_DESTDIR=$(pwd)/build - export OCAMLPATH=$OCAMLPATH:$(pwd)/build - ''; - - buildFlags = [ "release" ]; - - doCheck = true; - # ./scripts/run-python-tests.sh # TODO: once typeshed and python bits are added - - # Note that we're not installing the typeshed yet. - # Improvement for a future version. - installPhase = '' - install -D ./_build/default/main.exe $out/bin/pyre.bin - ''; - - meta = with stdenv.lib; { - description = "A performant type-checker for Python 3"; - homepage = https://pyre-check.org; - license = licenses.mit; - platforms = ocamlPackages.ocaml.meta.platforms; - maintainers = with maintainers; [ teh ]; - }; -}; -typeshed = stdenv.mkDerivation { - pname = "typeshed"; - version = pyre-version; - src = fetchFromGitHub { - owner = "python"; - repo = "typeshed"; - rev = "0b49ce75b478fdf283dda5dd1368759ac342dfe2"; - sha256 = "1w5aqbbcfk5ki8n9fgdikkyadjb318ipqyi517s9xnwlzi1jv0fh"; - }; - phases = [ "unpackPhase" "installPhase" ]; - installPhase = "cp -r $src $out"; -}; -in python3.pkgs.buildPythonApplication { - pname = "pyre-check"; - version = pyre-version; - src = pyre-src; - patches = [ ./pyre-bdist-wheel.patch ]; - - # The build-pypi-package script does some funky stuff with build - # directories - easier to patch it a bit than to replace it - # completely though: - postPatch = '' - mkdir ./build - substituteInPlace scripts/build-pypi-package.sh \ - --replace 'NIX_BINARY_FILE' '${pyre-bin}/bin/pyre.bin' \ - --replace 'BUILD_ROOT="$(mktemp -d)"' "BUILD_ROOT=$PWD/build" - for file in client/pyre.py client/commands/initialize.py client/commands/tests/initialize_test.py; do - substituteInPlace "$file" \ - --replace '"watchman"' '"${watchman}/bin/watchman"' - done - substituteInPlace client/buck.py \ - --replace '"buck"' '"${buck}/bin/buck"' - substituteInPlace client/tests/buck_test.py \ - --replace '"buck"' '"${buck}/bin/buck"' - ''; - - buildInputs = [ pyre-bin ]; - nativeBuildInputs = [ rsync ]; # only required for build-pypi-package.sh - propagatedBuildInputs = with python3.pkgs; [ - docutils - typeshed - click-log - ipython - sqlalchemy - munch - xxhash - ujson - ]; - buildPhase = '' - bash scripts/build-pypi-package.sh --version ${pyre-version} --bundle-typeshed ${typeshed} - cp -r build/dist dist - ''; - checkPhase = '' - bash scripts/run-python-tests.sh - ''; -} |