1{ lib
2, unittestCheckHook
3, buildPythonPackage
4, fetchPypi
5, fetchpatch
6, isPy27
7, pythonAtLeast
8}:
9
10buildPythonPackage rec {
11 pname = "tornado";
12 version = "4.5.3";
13 disabled = isPy27 || pythonAtLeast "3.10";
14
15 src = fetchPypi {
16 inherit pname version;
17 sha256 = "02jzd23l4r6fswmwxaica9ldlyc2p6q8dk6dyff7j58fmdzf853d";
18 };
19
20 patches = [
21 (fetchpatch {
22 name = "CVE-2023-28370.patch";
23 url = "https://github.com/tornadoweb/tornado/commit/32ad07c54e607839273b4e1819c347f5c8976b2f.patch";
24 hash = "sha256-2dpPHkNThOaZD8T2g1vb/I5WYZ/vy/t690539uprJyc=";
25 })
26 ];
27
28 nativeCheckInputs = [ unittestCheckHook ];
29
30 # We specify the name of the test files to prevent
31 # https://github.com/NixOS/nixpkgs/issues/14634
32 unittestFlagsArray = [ "*_test.py" ];
33
34 __darwinAllowLocalNetworking = true;
35
36 meta = {
37 description = "A web framework and asynchronous networking library";
38 homepage = "https://www.tornadoweb.org/";
39 license = lib.licenses.asl20;
40 };
41}