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