at master 1.9 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # build deps 7 setuptools, 8 docutils, 9 10 # dependencies 11 zipp, 12 importlib-metadata, 13 flask, 14 flask-compress, 15 flask-xml-rpc-re, 16 flask-restx, 17 requests, 18 ipy, 19 # indirect deps omitted: jinja2/markupsafe/werkzeug, 20 parsedatetime, 21 psutil, 22 psycopg2, 23 pyparsing, 24 python-dateutil, 25 pytz, 26 pyjwt, 27 tornado, 28 29 # optional deps 30 ## ldap 31 python-ldap, 32}: 33 34buildPythonPackage rec { 35 pname = "nipap"; 36 version = "0.32.7"; 37 pyproject = true; 38 39 src = fetchFromGitHub { 40 owner = "SpriteLink"; 41 repo = "NIPAP"; 42 tag = "v${version}"; 43 hash = "sha256-FnCHW/yEhWtx+2fU+G6vxz50lWC7WL3cYKYOQzmH8zs="; 44 }; 45 46 sourceRoot = "${src.name}/nipap"; 47 48 pythonRelaxDeps = true; # deps are tightly specified by upstream 49 50 postPatch = '' 51 substituteInPlace pyproject.toml \ 52 --replace-fail 'docutils==0.20.1' 'docutils' 53 ''; 54 55 build-system = [ 56 setuptools 57 docutils 58 ]; 59 60 dependencies = [ 61 zipp 62 importlib-metadata 63 flask 64 flask-compress 65 flask-xml-rpc-re 66 flask-restx 67 requests 68 ipy 69 # indirect deps omitted: jinja2/markupsafe/werkzeug 70 parsedatetime 71 psutil 72 psycopg2 73 pyparsing 74 python-dateutil 75 pytz 76 pyjwt 77 tornado 78 ]; 79 80 optional-dependencies = { 81 ldap = [ python-ldap ]; 82 }; 83 84 doCheck = false; # tests require nose, /etc/nipap/nipap.conf and a running nipapd 85 86 meta = { 87 description = "Neat IP Address Planner"; 88 longDescription = '' 89 NIPAP is the best open source IPAM in the known universe, 90 challenging classical IP address management (IPAM) systems in many areas. 91 ''; 92 homepage = "https://github.com/SpriteLink/NIPAP"; 93 changelog = "https://github.com/SpriteLink/NIPAP/releases/tag/v${version}"; 94 license = lib.licenses.mit; 95 maintainers = with lib.maintainers; [ 96 lukegb 97 ]; 98 platforms = lib.platforms.all; 99 }; 100}