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}