tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
pyre: init at 0.0.8 (#43212)
authored by
teh
and committed by
xeji
7 years ago
17fe19f5
60629ce2
+75
2 changed files
expand all
collapse all
unified
split
pkgs
development
tools
pyre
default.nix
top-level
all-packages.nix
+71
pkgs/development/tools/pyre/default.nix
···
1
1
+
{ stdenv, fetchFromGitHub, ocamlPackages, makeWrapper, writeScript }:
2
2
+
let
3
3
+
# Manually set version - the setup script requires
4
4
+
# hg and git + keeping the .git directory around.
5
5
+
version = "0.0.8";
6
6
+
versionFile = writeScript "version.ml" ''
7
7
+
cat > "./version.ml" <<EOF
8
8
+
let build_info () =
9
9
+
"pyre-nixpkgs ${version}"
10
10
+
let version () =
11
11
+
"${version}"
12
12
+
EOF
13
13
+
'';
14
14
+
in stdenv.mkDerivation {
15
15
+
name = "pyre-${version}";
16
16
+
17
17
+
src = fetchFromGitHub {
18
18
+
owner = "facebook";
19
19
+
repo = "pyre-check";
20
20
+
rev = "v${version}";
21
21
+
sha256 = "0c4km27xnzsqcqvjqxmqak37x473z6azlbldy7f05ghkms7mchrw";
22
22
+
};
23
23
+
24
24
+
nativeBuildInputs = [ makeWrapper ];
25
25
+
26
26
+
buildInputs = with ocamlPackages; [
27
27
+
ocaml
28
28
+
findlib
29
29
+
menhir
30
30
+
yojson
31
31
+
core
32
32
+
sedlex
33
33
+
ppx_deriving_yojson
34
34
+
ocamlbuild
35
35
+
ppxlib
36
36
+
];
37
37
+
38
38
+
buildPhase = ''
39
39
+
# build requires HOME to be set
40
40
+
export HOME=.
41
41
+
42
42
+
# "external" because https://github.com/facebook/pyre-check/pull/8/files
43
43
+
sed "s/%VERSION%/external ${version}/" Makefile.template > Makefile
44
44
+
45
45
+
cp ${versionFile} ./scripts/generate-version-number.sh
46
46
+
47
47
+
mkdir $(pwd)/build
48
48
+
export OCAMLFIND_DESTDIR=$(pwd)/build
49
49
+
export OCAMLPATH=$OCAMLPATH:$(pwd)/build
50
50
+
make release
51
51
+
'';
52
52
+
53
53
+
checkPhase = ''
54
54
+
make test
55
55
+
'';
56
56
+
57
57
+
# Note that we're not installing the typeshed yet.
58
58
+
# Improvement for a future version.
59
59
+
installPhase = ''
60
60
+
mkdir -p $out/bin
61
61
+
cp _build/all/main.native $out/bin/pyre
62
62
+
'';
63
63
+
64
64
+
meta = with stdenv.lib; {
65
65
+
description = "A performant type-checker for Python 3";
66
66
+
homepage = https://pyre-check.org;
67
67
+
license = licenses.mit;
68
68
+
platforms = with platforms; linux;
69
69
+
maintainers = with maintainers; [ teh ];
70
70
+
};
71
71
+
}
+4
pkgs/top-level/all-packages.nix
···
6579
6579
ocamlPackages = ocaml-ng.ocamlPackages_4_06;
6580
6580
};
6581
6581
6582
6582
+
pyre = callPackage ../development/tools/pyre {
6583
6583
+
ocamlPackages = ocaml-ng.ocamlPackages_4_06;
6584
6584
+
};
6585
6585
+
6582
6586
dotnetPackages = recurseIntoAttrs (callPackage ./dotnet-packages.nix {});
6583
6587
6584
6588
glslang = callPackage ../development/compilers/glslang { };