1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 legacy-cgi,
7 pytestCheckHook,
8 pythonAtLeast,
9 pythonOlder,
10
11 # for passthru.tests
12 pyramid,
13 routes,
14 tokenlib,
15}:
16
17buildPythonPackage rec {
18 pname = "webob";
19 version = "1.8.9";
20 pyproject = true;
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "Pylons";
26 repo = "webob";
27 tag = version;
28 hash = "sha256-axJQwlybuqBS6RgI2z9pbw58vHF9aC9AxCg13CIKCLs=";
29 };
30
31 build-system = [ setuptools ];
32
33 # https://github.com/Pylons/webob/issues/437
34 dependencies = lib.optionals (pythonAtLeast "3.13") [ legacy-cgi ];
35
36 nativeCheckInputs = [ pytestCheckHook ];
37
38 pythonImportsCheck = [ "webob" ];
39
40 disabledTestPaths = [
41 # AttributeError: 'Thread' object has no attribute 'isAlive'
42 "tests/test_in_wsgiref.py"
43 "tests/test_client_functional.py"
44 ];
45
46 passthru.tests = {
47 inherit pyramid routes tokenlib;
48 };
49
50 meta = with lib; {
51 description = "WSGI request and response object";
52 homepage = "https://webob.org/";
53 license = licenses.mit;
54 maintainers = [ ];
55 };
56}