diff --git a/pkgs/by-name/on/online-judge-verify-helper/package.nix b/pkgs/by-name/on/online-judge-verify-helper/package.nix new file mode 100644 index 000000000000..f3a0b05d370d --- /dev/null +++ b/pkgs/by-name/on/online-judge-verify-helper/package.nix @@ -0,0 +1,4 @@ +{ + python3Packages, +}: +python3Packages.toPythonApplication python3Packages.online-judge-verify-helper diff --git a/pkgs/development/python-modules/online-judge-verify-helper/default.nix b/pkgs/development/python-modules/online-judge-verify-helper/default.nix new file mode 100644 index 000000000000..b457ebf2e38a --- /dev/null +++ b/pkgs/development/python-modules/online-judge-verify-helper/default.nix @@ -0,0 +1,69 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pythonOlder, + + colorlog, + importlab, + online-judge-tools, + pyyaml, + setuptools, + toml, + + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "online-judge-verify-helper"; + version = "5.6.0"; + pyproject = true; + disabled = pythonOlder "3.12"; + + src = fetchFromGitHub { + owner = "online-judge-tools"; + repo = "verification-helper"; + tag = "v${version}"; + hash = "sha256-sBR9/rf8vpDRbRD8HO2VNmxVckXPmPjUih7ogLRFaW8="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + colorlog + importlab + online-judge-tools + pyyaml + setuptools + toml + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + # No additional dependencies or network access + disabledTestPaths = [ + "tests/test_docs.py" + "tests/test_python.py" + "tests/test_rust.py" + "tests/test_stats.py" + "tests/test_verify.py" + ]; + + pythonImportsCheck = [ + "onlinejudge" + "onlinejudge_bundle" + "onlinejudge_verify" + "onlinejudge_verify_resources" + ]; + + meta = { + description = "Testing framework for snippet libraries used in competitive programming"; + mainProgram = "oj-verify"; + homepage = "https://github.com/online-judge-tools/verification-helper"; + changelog = "https://github.com/online-judge-tools/verification-helper/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ toyboot4e ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 660922c1f2f8..bedbb46cffe6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10551,6 +10551,10 @@ self: super: with self; { online-judge-tools = callPackage ../development/python-modules/online-judge-tools { }; + online-judge-verify-helper = + callPackage ../development/python-modules/online-judge-verify-helper + { }; + onlykey-solo-python = callPackage ../development/python-modules/onlykey-solo-python { }; onnx = callPackage ../development/python-modules/onnx { };