1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 setuptools, 6 ply, 7 pytestCheckHook, 8}: 9 10buildPythonPackage rec { 11 pname = "calmjs-parse"; 12 version = "1.3.3"; 13 14 pyproject = true; 15 16 src = fetchFromGitHub { 17 owner = "calmjs"; 18 repo = "calmjs.parse"; 19 tag = version; 20 hash = "sha256-aGGIwQBHToujc69zzIeEbvmYwLKA5X3bamVWBRmJtSE="; 21 }; 22 23 postPatch = '' 24 substituteInPlace setup.py \ 25 --replace-fail "env['PYTHONPATH'] = 'src'" "env['PYTHONPATH'] += ':src'" 26 ''; 27 28 build-system = [ setuptools ]; 29 30 dependencies = [ 31 setuptools 32 ply 33 ]; 34 35 nativeCheckInputs = [ 36 pytestCheckHook 37 ]; 38 39 pythonImportsCheck = [ 40 "calmjs.parse" 41 "calmjs.parse.asttypes" 42 "calmjs.parse.parsers" 43 "calmjs.parse.rules" 44 "calmjs.parse.sourcemap" 45 "calmjs.parse.unparsers.es5" 46 "calmjs.parse.walkers" 47 ]; 48 49 meta = with lib; { 50 changelog = "https://github.com/calmjs/calmjs.parse/blob/${src.rev}/CHANGES.rst"; 51 description = "Various parsers for ECMA standards"; 52 homepage = "https://github.com/calmjs/calmjs.parse"; 53 license = licenses.mit; 54 maintainers = with maintainers; [ dotlambda ]; 55 }; 56}