1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 pytestCheckHook,
7 pycryptodomex,
8 setuptools,
9}:
10
11buildPythonPackage rec {
12 pname = "pyzipper";
13 version = "0.3.6";
14 pyproject = true;
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "danifus";
20 repo = "pyzipper";
21 tag = "v${version}";
22 hash = "sha256-+fZXoAUeB/bUI3LrIFlMTktJgn+GNFBiDHvH2Jgo0pg=";
23 };
24
25 __darwinAllowLocalNetworking = true;
26
27 nativeBuildInputs = [ setuptools ];
28
29 propagatedBuildInputs = [ pycryptodomex ];
30
31 nativeCheckInputs = [ pytestCheckHook ];
32
33 pythonImportsCheck = [ "pyzipper" ];
34
35 doCheck = pythonOlder "3.13"; # depends on removed nntplib battery
36
37 disabledTests = [
38 # Tests are parsing CLI output
39 "test_args_from_interpreter_flags"
40 "test_bad_use"
41 "test_bad_use"
42 "test_check__all__"
43 "test_create_command"
44 "test_extract_command"
45 "test_main"
46 "test_temp_dir__forked_child"
47 "test_test_command"
48 # Test wants to import asyncore
49 "test_CleanImport"
50 ];
51
52 meta = with lib; {
53 description = "Python zipfile extensions";
54 homepage = "https://github.com/danifus/pyzipper";
55 changelog = "https://github.com/danifus/pyzipper/blob/v${version}/HISTORY.rst";
56 license = licenses.mit;
57 maintainers = with maintainers; [ fab ];
58 };
59}