1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 isPy3k,
7 isPyPy,
8 unittestCheckHook,
9 pythonAtLeast,
10}:
11
12let
13 testDir = if isPy3k then "src" else "python2";
14
15in
16buildPythonPackage rec {
17 pname = "typing";
18 version = "3.10.0.0";
19
20 src = fetchPypi {
21 inherit pname version;
22 sha256 = "13b4ad211f54ddbf93e5901a9967b1e07720c1d1b78d596ac6a439641aa1b130";
23 };
24
25 disabled = pythonAtLeast "3.5";
26
27 # Error for Python3.6: ImportError: cannot import name 'ann_module'
28 # See https://github.com/python/typing/pull/280
29 # Also, don't bother on PyPy: AssertionError: TypeError not raised
30 doCheck = pythonOlder "3.6" && !isPyPy;
31
32 nativeCheckInputs = [ unittestCheckHook ];
33
34 unittestFlagsArray = [
35 "-s"
36 testDir
37 ];
38
39 meta = with lib; {
40 description = "Backport of typing module to Python versions older than 3.5";
41 homepage = "https://docs.python.org/3/library/typing.html";
42 license = licenses.psfl;
43 };
44}