at master 1.3 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 callPackage, 5 fetchFromGitHub, 6 pytestCheckHook, 7 pythonOlder, 8 9 setuptools, 10 build, 11 coloredlogs, 12 importlib-metadata, 13 packaging, 14 pip, 15 toml, 16 urllib3, 17}: 18 19buildPythonPackage rec { 20 pname = "bork"; 21 version = "9.0.0"; 22 pyproject = true; 23 disabled = pythonOlder "3.8"; 24 25 src = fetchFromGitHub { 26 owner = "duckinator"; 27 repo = "bork"; 28 tag = "v${version}"; 29 hash = "sha256-YqvtOwd00TXD4I3fIQolvjHnjREvQgbdrEO9Z96v1Kk="; 30 }; 31 32 build-system = [ 33 setuptools 34 ]; 35 36 pythonRelaxDeps = [ 37 "build" 38 "packaging" 39 "urllib3" 40 ]; 41 42 dependencies = [ 43 build 44 coloredlogs 45 packaging 46 pip 47 urllib3 48 ] 49 ++ lib.optionals (pythonOlder "3.11") [ toml ] 50 ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ]; 51 52 pythonImportsCheck = [ 53 "bork" 54 "bork.api" 55 "bork.cli" 56 ]; 57 58 nativeCheckInputs = [ pytestCheckHook ]; 59 60 disabledTestMarks = [ "network" ]; 61 62 disabledTests = [ 63 # tries to call python -m bork 64 "test_repo" 65 ]; 66 67 passthru.tests = callPackage ./tests.nix { }; 68 69 meta = with lib; { 70 description = "Python build and release management tool"; 71 mainProgram = "bork"; 72 homepage = "https://github.com/duckinator/bork"; 73 license = licenses.mit; 74 maintainers = with maintainers; [ nicoo ]; 75 }; 76}