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