1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 pythonOlder, 6 7 colorlog, 8 importlab, 9 online-judge-tools, 10 pyyaml, 11 setuptools, 12 toml, 13 14 pytestCheckHook, 15}: 16 17buildPythonPackage rec { 18 pname = "online-judge-verify-helper"; 19 version = "5.6.0"; 20 pyproject = true; 21 disabled = pythonOlder "3.12"; 22 23 src = fetchFromGitHub { 24 owner = "online-judge-tools"; 25 repo = "verification-helper"; 26 tag = "v${version}"; 27 hash = "sha256-sBR9/rf8vpDRbRD8HO2VNmxVckXPmPjUih7ogLRFaW8="; 28 }; 29 30 build-system = [ setuptools ]; 31 32 dependencies = [ 33 colorlog 34 importlab 35 online-judge-tools 36 pyyaml 37 setuptools 38 toml 39 ]; 40 41 nativeCheckInputs = [ 42 pytestCheckHook 43 ]; 44 45 # No additional dependencies or network access 46 disabledTestPaths = [ 47 "tests/test_docs.py" 48 "tests/test_python.py" 49 "tests/test_rust.py" 50 "tests/test_stats.py" 51 "tests/test_verify.py" 52 ]; 53 54 pythonImportsCheck = [ 55 "onlinejudge" 56 "onlinejudge_bundle" 57 "onlinejudge_verify" 58 "onlinejudge_verify_resources" 59 ]; 60 61 meta = { 62 description = "Testing framework for snippet libraries used in competitive programming"; 63 mainProgram = "oj-verify"; 64 homepage = "https://github.com/online-judge-tools/verification-helper"; 65 changelog = "https://github.com/online-judge-tools/verification-helper/releases/tag/v${version}"; 66 license = lib.licenses.mit; 67 maintainers = with lib.maintainers; [ toyboot4e ]; 68 }; 69}