1{
2 lib,
3 buildPythonPackage,
4 cheroot,
5 defusedxml,
6 fetchFromGitHub,
7 jinja2,
8 json5,
9 lxml,
10 pytestCheckHook,
11 python-pam,
12 pythonOlder,
13 pyyaml,
14 requests,
15 setuptools,
16 webtest,
17}:
18
19buildPythonPackage rec {
20 pname = "wsgidav";
21 version = "4.3.3";
22 pyproject = true;
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchFromGitHub {
27 owner = "mar10";
28 repo = "wsgidav";
29 tag = "v${version}";
30 hash = "sha256-vUqNC7ixpta0s7wRC5ROSKMa/MsgEBu5rr0XNu69FRw=";
31 };
32
33 __darwinAllowLocalNetworking = true;
34
35 build-system = [ setuptools ];
36
37 dependencies = [
38 defusedxml
39 jinja2
40 json5
41 cheroot
42 lxml
43 pyyaml
44 ];
45
46 optional-dependencies = {
47 pam = [ python-pam ];
48 };
49
50 nativeCheckInputs = [
51 pytestCheckHook
52 requests
53 webtest
54 ];
55
56 pythonImportsCheck = [ "wsgidav" ];
57
58 meta = with lib; {
59 description = "Generic and extendable WebDAV server based on WSGI";
60 homepage = "https://wsgidav.readthedocs.io/";
61 changelog = "https://github.com/mar10/wsgidav/blob/v${version}/CHANGELOG.md";
62 license = with licenses; [ mit ];
63 maintainers = with maintainers; [ fab ];
64 mainProgram = "wsgidav";
65 };
66}