Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / calmjs-parse / default.nix
blob34a2c00ce33b480d7d292467b02dae32f43bc59d
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , setuptools
5 , ply
6 , python
7 }:
9 buildPythonPackage rec {
10   pname = "calmjs-parse";
11   version = "1.3.1";
13   pyproject = true;
15   src = fetchFromGitHub {
16     owner = "calmjs";
17     repo = "calmjs.parse";
18     rev = version;
19     hash = "sha256-xph+NuTkWfW0t/1vxWBSgsjU7YHQMnsm/W/XdkAnl7I=";
20   };
22   postPatch = ''
23     substituteInPlace setup.py \
24       --replace "env['PYTHONPATH'] = 'src'" "env['PYTHONPATH'] += ':src'"
25   '';
27   nativeBuildInputs = [
28     setuptools
29   ];
31   propagatedBuildInputs = [
32     setuptools
33     ply
34   ];
36   checkPhase = ''
37     runHook preCheck
39     ${python.interpreter} -m unittest calmjs.parse.tests.make_suite
41     runHook postCheck
42   '';
44   pythonImportsCheck = [
45     "calmjs.parse"
46     "calmjs.parse.asttypes"
47     "calmjs.parse.parsers"
48     "calmjs.parse.rules"
49     "calmjs.parse.sourcemap"
50     "calmjs.parse.unparsers.es5"
51     "calmjs.parse.walkers"
52   ];
54   meta = with lib; {
55     changelog = "https://github.com/calmjs/calmjs.parse/blob/${src.rev}/CHANGES.rst";
56     description = "Various parsers for ECMA standards";
57     homepage = "https://github.com/calmjs/calmjs.parse";
58     license = licenses.mit;
59     maintainers = with maintainers; [ dotlambda ];
60   };