1{ lib 2, aiohttp 3, platformdirs 4, buildPythonPackage 5, docutils 6, fetchFromGitHub 7, flaky 8, installShellFiles 9, packaging 10, pycurl 11, pytest-asyncio 12, pytest-httpbin 13, pytestCheckHook 14, pythonOlder 15, setuptools 16, structlog 17, tomli 18, tornado 19}: 20 21buildPythonPackage rec { 22 pname = "nvchecker"; 23 version = "2.12"; 24 format = "pyproject"; 25 26 disabled = pythonOlder "3.7"; 27 28 src = fetchFromGitHub { 29 owner = "lilydjwg"; 30 repo = pname; 31 rev = "v${version}"; 32 hash = "sha256-6mhVDC2jpIIOZeoKz4AxxU7jj8dqPVBKRWupbuY/T7E="; 33 }; 34 35 nativeBuildInputs = [ 36 docutils 37 installShellFiles 38 ]; 39 40 propagatedBuildInputs = [ 41 aiohttp 42 platformdirs 43 packaging 44 pycurl 45 setuptools 46 structlog 47 tornado 48 ] ++ lib.optionals (pythonOlder "3.11") [ 49 tomli 50 ]; 51 52 __darwinAllowLocalNetworking = true; 53 54 nativeCheckInputs = [ 55 flaky 56 pytest-asyncio 57 pytest-httpbin 58 pytestCheckHook 59 ]; 60 61 postBuild = '' 62 patchShebangs docs/myrst2man.py 63 make -C docs man 64 ''; 65 66 postInstall = '' 67 installManPage docs/_build/man/nvchecker.1 68 ''; 69 70 pythonImportsCheck = [ 71 "nvchecker" 72 ]; 73 74 pytestFlagsArray = [ 75 "-m 'not needs_net'" 76 ]; 77 78 meta = with lib; { 79 description = "New version checker for software"; 80 homepage = "https://github.com/lilydjwg/nvchecker"; 81 changelog = "https://github.com/lilydjwg/nvchecker/releases/tag/v${version}"; 82 license = licenses.mit; 83 maintainers = with maintainers; [ marsam ]; 84 }; 85}