1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytestCheckHook,
6 fetchpatch,
7}:
8
9buildPythonPackage {
10 pname = "pyschemes";
11 version = "unstable-2017-11-08";
12 format = "setuptools";
13
14 src = fetchFromGitHub {
15 owner = "spy16";
16 repo = "pyschemes";
17 rev = "ca6483d13159ba65ba6fc2f77b90421c40f2bbf2";
18 hash = "sha256-PssucudvlE8mztwVme70+h+2hRW/ri9oV9IZayiZhdU=";
19 };
20
21 patches = [
22 # Fix python 3.10 compatibility. Tracked upstream in
23 # https://github.com/spy16/pyschemes/pull/6
24 (fetchpatch {
25 url = "https://github.com/spy16/pyschemes/commit/23011128c6c22838d4fca9e00fd322a20bb566c4.patch";
26 hash = "sha256-vDaWxMrn2aC2wmd035EWRZ3cd/XME81z/BWG0f2T9jc=";
27 })
28 ];
29 nativeCheckInputs = [ pytestCheckHook ];
30
31 pythonImportsCheck = [ "pyschemes" ];
32
33 meta = with lib; {
34 description = "Library for validating data structures in Python";
35 homepage = "https://github.com/spy16/pyschemes";
36 license = licenses.wtfpl;
37 maintainers = with maintainers; [ gador ];
38 };
39}