nixos-option: rewrite as a nix script, 2nd try (#369151)
[NixPkgs.git] / pkgs / development / python-modules / pyparsing / default.nix
blobed8bcb5e93c42ec0e1fbb8d9c8387f66b01e361c
2   buildPythonPackage,
3   fetchFromGitHub,
4   lib,
5   flit-core,
6   jinja2,
7   pytestCheckHook,
8   railroad-diagrams,
9   pyparsing,
12 buildPythonPackage rec {
13   pname = "pyparsing";
14   version = "3.1.4";
15   format = "pyproject";
17   src = fetchFromGitHub {
18     owner = "pyparsing";
19     repo = pname;
20     tag = version;
21     hash = "sha256-caHkwMFL1IFCQ+yZTp9o4yXfemoPx1xL4Nvb85oJzEI=";
22   };
24   nativeBuildInputs = [ flit-core ];
26   # circular dependencies with pytest if enabled by default
27   doCheck = false;
28   nativeCheckInputs = [
29     jinja2
30     pytestCheckHook
31     railroad-diagrams
32   ];
34   pythonImportsCheck = [ "pyparsing" ];
36   passthru.tests = {
37     check = pyparsing.overridePythonAttrs (_: {
38       doCheck = true;
39     });
40   };
42   meta = with lib; {
43     homepage = "https://github.com/pyparsing/pyparsing";
44     description = "Python library for creating PEG parsers";
45     longDescription = ''
46       The pyparsing module is an alternative approach to creating and executing
47       simple grammars, vs. the traditional lex/yacc approach, or the use of
48       regular expressions. The pyparsing module provides a library of classes
49       that client code uses to construct the grammar directly in Python code.
50     '';
51     license = licenses.mit;
52     maintainers = with maintainers; [ kamadorueda ];
53   };