1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, hopcroftkarp
5, multiset
6, pytestCheckHook
7, hypothesis
8, setuptools-scm
9, isPy27
10}:
11
12buildPythonPackage rec {
13 pname = "matchpy";
14 version = "0.5.5"; # Don't upgrade to 4.3.1, this tag is very old
15 disabled = isPy27;
16
17 src = fetchFromGitHub {
18 owner = "HPAC";
19 repo = pname;
20 rev = version;
21 hash = "sha256-n5rXIjqVQZzEbfIZVQiGLh2PR1DHAJ9gumcrbvwnasA=";
22 };
23
24 postPatch = ''
25 sed -i '/pytest-runner/d' setup.cfg
26
27 substituteInPlace setup.cfg \
28 --replace "multiset>=2.0,<3.0" "multiset"
29 '';
30
31 nativeBuildInputs = [
32 setuptools-scm
33 ];
34
35 propagatedBuildInputs = [
36 hopcroftkarp
37 multiset
38 ];
39
40 nativeCheckInputs = [
41 pytestCheckHook
42 hypothesis
43 ];
44
45 pythonImportsCheck = [
46 "matchpy"
47 ];
48
49 meta = with lib; {
50 description = "A library for pattern matching on symbolic expressions";
51 homepage = "https://github.com/HPAC/matchpy";
52 license = licenses.mit;
53 maintainers = with maintainers; [ ];
54 };
55}