mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-17 14:19:58 +03:00
pyre: init at 0.0.8 (#43212)
This commit is contained in:
parent
60629ce2c5
commit
17fe19f5bf
71
pkgs/development/tools/pyre/default.nix
Normal file
71
pkgs/development/tools/pyre/default.nix
Normal file
@ -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" <<EOF
|
||||
let build_info () =
|
||||
"pyre-nixpkgs ${version}"
|
||||
let version () =
|
||||
"${version}"
|
||||
EOF
|
||||
'';
|
||||
in stdenv.mkDerivation {
|
||||
name = "pyre-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "pyre-check";
|
||||
rev = "v${version}";
|
||||
sha256 = "0c4km27xnzsqcqvjqxmqak37x473z6azlbldy7f05ghkms7mchrw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
buildInputs = with ocamlPackages; [
|
||||
ocaml
|
||||
findlib
|
||||
menhir
|
||||
yojson
|
||||
core
|
||||
sedlex
|
||||
ppx_deriving_yojson
|
||||
ocamlbuild
|
||||
ppxlib
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
# build requires HOME to be set
|
||||
export HOME=.
|
||||
|
||||
# "external" because https://github.com/facebook/pyre-check/pull/8/files
|
||||
sed "s/%VERSION%/external ${version}/" Makefile.template > 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 ];
|
||||
};
|
||||
}
|
@ -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 { };
|
||||
|
Loading…
Reference in New Issue
Block a user