1{ lib
2, buildPythonPackage
3, dnspython
4, fetchFromGitHub
5, loguru
6, passlib
7, poetry-core
8, pytestCheckHook
9, pythonOlder
10, toml
11}:
12
13buildPythonPackage rec {
14 pname = "ciscoconfparse";
15 version = "1.6.50";
16 format = "pyproject";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "mpenning";
22 repo = pname;
23 rev = version;
24 hash = "sha256-OKPw7P2hhk8yzqjOcf2NYEueJR1ecC/D93ULfkM88Xg=";
25 };
26
27 postPatch = ''
28 patchShebangs tests
29 '';
30
31 nativeBuildInputs = [
32 poetry-core
33 ];
34
35 propagatedBuildInputs = [
36 passlib
37 dnspython
38 loguru
39 toml
40 ];
41
42 checkInputs = [
43 pytestCheckHook
44 ];
45
46 disabledTestPaths = [
47 "tests/parse_test.py"
48 ];
49
50 disabledTests = [
51 # Tests require network access
52 "test_dns_lookup"
53 "test_reverse_dns_lookup"
54 ];
55
56 pythonImportsCheck = [
57 "ciscoconfparse"
58 ];
59
60 meta = with lib; {
61 description = "Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations";
62 homepage = "https://github.com/mpenning/ciscoconfparse";
63 license = licenses.gpl3Only;
64 maintainers = with maintainers; [ astro ];
65 };
66}