1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, setuptools
5, ply
6, python
7}:
8
9buildPythonPackage rec {
10 pname = "calmjs-parse";
11 version = "1.2.5";
12
13 src = fetchFromGitHub {
14 owner = "calmjs";
15 repo = "calmjs.parse";
16 rev = version;
17 sha256 = "0ypfbas33k1706p6w1bf9gnrv38z8fa4qci1iaks80dp58g8sv4r";
18 };
19
20 propagatedBuildInputs = [
21 setuptools
22 ply
23 ];
24
25 checkPhase = ''
26 runHook preCheck
27
28 ${python.interpreter} -m unittest calmjs.parse.tests.make_suite
29
30 runHook postCheck
31 '';
32
33 pythonImportsCheck = [
34 "calmjs.parse"
35 "calmjs.parse.asttypes"
36 "calmjs.parse.parsers"
37 "calmjs.parse.rules"
38 "calmjs.parse.sourcemap"
39 "calmjs.parse.unparsers.es5"
40 "calmjs.parse.walkers"
41 ];
42
43 meta = with lib; {
44 description = "Various parsers for ECMA standards";
45 homepage = "https://github.com/calmjs/calmjs.parse";
46 license = licenses.mit;
47 maintainers = with maintainers; [ dotlambda ];
48 };
49}