summary refs log tree commit diff
path: root/pkgs/development/tools/pyre/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/pyre/default.nix')
-rw-r--r--pkgs/development/tools/pyre/default.nix137
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
-  '';
-}