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