1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 cython,
6 pexpect,
7 python,
8 pythonOlder,
9 setuptools,
10}:
11
12buildPythonPackage rec {
13 pname = "cpyparsing";
14 version = "2.4.7.2.3.2";
15 pyproject = true;
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "evhub";
21 repo = "cpyparsing";
22 rev = "refs/tags/v${version}";
23 hash = "sha256-vnzZdJ7pZz1QxlTqw5UKjxB4GVcXuCfKWX4lu3ORWas=";
24 };
25
26 nativeBuildInputs = [
27 cython
28 setuptools
29 ];
30
31 nativeCheckInputs = [ pexpect ];
32
33 checkPhase = ''
34 ${python.interpreter} tests/cPyparsing_test.py
35 '';
36
37 pythonImportsCheck = [ "cPyparsing" ];
38
39 meta = with lib; {
40 description = "Cython PyParsing implementation";
41 homepage = "https://github.com/evhub/cpyparsing";
42 changelog = "https://github.com/evhub/cpyparsing/releases/tag/v${version}";
43 license = licenses.asl20;
44 maintainers = with maintainers; [ fabianhjr ];
45 };
46}