1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6 setuptools,
7 setuptools-scm,
8 autocommand,
9 more-itertools,
10 beautifulsoup4,
11 mechanize,
12 keyring,
13 requests,
14 feedparser,
15 icmplib,
16 jaraco-text,
17 jaraco-logging,
18 jaraco-email,
19 jaraco-functools,
20 jaraco-collections,
21 path,
22 python-dateutil,
23 pathvalidate,
24 jsonpickle,
25 ifconfig-parser,
26 pytestCheckHook,
27 cherrypy,
28 importlib-resources,
29 pyparsing,
30 pytest-responses,
31 net-tools,
32}:
33
34buildPythonPackage rec {
35 pname = "jaraco-net";
36 version = "10.2.3";
37 pyproject = true;
38
39 src = fetchFromGitHub {
40 owner = "jaraco";
41 repo = "jaraco.net";
42 tag = "v${version}";
43 hash = "sha256-yZbiCGUZqJQdV3/vtNLs+B9ZDin2PH0agR4kYvB5HxA=";
44 };
45
46 build-system = [
47 setuptools
48 setuptools-scm
49 ];
50
51 dependencies = [
52 autocommand
53 more-itertools
54 beautifulsoup4
55 mechanize
56 keyring
57 requests
58 feedparser
59 icmplib
60 jaraco-text
61 jaraco-logging
62 jaraco-email
63 jaraco-functools
64 jaraco-collections
65 path
66 python-dateutil
67 pathvalidate
68 jsonpickle
69 ]
70 ++ lib.optionals stdenv.hostPlatform.isDarwin [ ifconfig-parser ];
71
72 pythonImportsCheck = [ "jaraco.net" ];
73
74 nativeCheckInputs = [
75 pytestCheckHook
76 cherrypy
77 importlib-resources
78 pyparsing
79 pytest-responses
80 ]
81 ++ lib.optionals stdenv.hostPlatform.isDarwin [ net-tools ];
82
83 disabledTestPaths = [
84 # require networking
85 "jaraco/net/icmp.py"
86 "jaraco/net/ntp.py"
87 "jaraco/net/scanner.py"
88 ];
89
90 meta = {
91 changelog = "https://github.com/jaraco/jaraco.net/blob/${src.tag}/NEWS.rst";
92 description = "Networking tools by jaraco";
93 homepage = "https://github.com/jaraco/jaraco.net";
94 license = lib.licenses.mit;
95 maintainers = with lib.maintainers; [ dotlambda ];
96 };
97}