1{ buildPythonPackage
2, fetchFromGitHub
3, lib
4, flit-core
5, jinja2
6, pytestCheckHook
7, railroad-diagrams
8}:
9
10let
11 pyparsing = buildPythonPackage rec {
12 pname = "pyparsing";
13 version = "3.0.9";
14 format = "pyproject";
15
16 src = fetchFromGitHub {
17 owner = "pyparsing";
18 repo = pname;
19 rev = "pyparsing_${version}";
20 sha256 = "sha256-aCRyJQyLf8qQ6NO41q+HC856TjIHzIt0vyVBLV+3teE=";
21 };
22
23 nativeBuildInputs = [
24 flit-core
25 ];
26
27 # circular dependencies with pytest if enabled by default
28 doCheck = false;
29 checkInputs = [
30 jinja2
31 pytestCheckHook
32 railroad-diagrams
33 ];
34
35 pythonImportsCheck = [ "pyparsing" ];
36
37 passthru.tests = {
38 check = pyparsing.overridePythonAttrs (_: { doCheck = true; });
39 };
40
41 meta = with lib; {
42 homepage = "https://github.com/pyparsing/pyparsing";
43 description = "An alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions";
44 license = licenses.mit;
45 maintainers = with maintainers; [ kamadorueda ];
46 };
47 };
48in
49pyparsing