1{ lib
2, buildPythonPackage
3, fetchPypi
4, fetchpatch
5, attrs
6, pytest-benchmark
7, pytestCheckHook
8, setuptools-scm
9, six
10}:
11
12let automat = buildPythonPackage rec {
13 version = "20.2.0";
14 pname = "automat";
15
16 src = fetchPypi {
17 pname = "Automat";
18 inherit version;
19 sha256 = "7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33";
20 };
21
22 patches = [
23 # don't depend on m2r
24 (fetchpatch {
25 name = "dont-depend-on-m2r.patch";
26 url = "https://github.com/glyph/automat/compare/v20.2.0..2562fa4ddeba5b5945d9482baa4c26a414f5e831.patch";
27 includes = [ "setup.py" ];
28 hash = "sha256-jlPLJMu1QbBpiVYHDiqPydrXjEoZgYZTVVGNxSA0NxY=";
29 })
30 ];
31
32 nativeBuildInputs = [
33 setuptools-scm
34 ];
35
36 propagatedBuildInputs = [
37 six
38 attrs
39 ];
40
41 checkInputs = [
42 pytest-benchmark
43 pytestCheckHook
44 ];
45
46 # escape infinite recursion with twisted
47 doCheck = false;
48
49 passthru.tests = {
50 check = automat.overridePythonAttrs (_: { doCheck = true; });
51 };
52
53 meta = with lib; {
54 homepage = "https://github.com/glyph/Automat";
55 description = "Self-service finite-state machines for the programmer on the go";
56 license = licenses.mit;
57 maintainers = with maintainers; [ SuperSandro2000 ];
58 };
59}; in automat