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 format = "setuptools";
20
21 src = fetchPypi {
22 inherit pname version;
23 sha256 = "13b4ad211f54ddbf93e5901a9967b1e07720c1d1b78d596ac6a439641aa1b130";
24 };
25
26 disabled = pythonAtLeast "3.5";
27
28 # Error for Python3.6: ImportError: cannot import name 'ann_module'
29 # See https://github.com/python/typing/pull/280
30 # Also, don't bother on PyPy: AssertionError: TypeError not raised
31 doCheck = pythonOlder "3.6" && !isPyPy;
32
33 nativeCheckInputs = [ unittestCheckHook ];
34
35 unittestFlagsArray = [
36 "-s"
37 testDir
38 ];
39
40 meta = with lib; {
41 description = "Backport of typing module to Python versions older than 3.5";
42 homepage = "https://docs.python.org/3/library/typing.html";
43 license = licenses.psfl;
44 };
45}