fa5436e0a7
GitOrigin-RevId: e8057b67ebf307f01bdcc8fba94d94f75039d1f6
74 lines
1.5 KiB
Nix
74 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
appdirs,
|
|
beautifulsoup4,
|
|
buildPythonPackage,
|
|
colorlog,
|
|
fetchFromGitHub,
|
|
git,
|
|
jsonschema,
|
|
lxml,
|
|
markdown,
|
|
python,
|
|
requests,
|
|
substituteAll,
|
|
toml,
|
|
}:
|
|
|
|
let
|
|
# NOTE This is needed to download & run another Python program internally in
|
|
# order to generate test cases for library-checker problems.
|
|
pythonEnv = python.withPackages (
|
|
ps: with ps; [
|
|
colorlog
|
|
jinja2
|
|
markdown
|
|
toml
|
|
]
|
|
);
|
|
in
|
|
buildPythonPackage rec {
|
|
pname = "online-judge-api-client";
|
|
version = "10.10.1";
|
|
format = "setuptools";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "online-judge-tools";
|
|
repo = "api-client";
|
|
rev = "refs/tags/v${version}";
|
|
hash = "sha256-P0pIjd/YS155dSDpY/ekMp8HnJcM35waV7aoTQiEWHo=";
|
|
};
|
|
|
|
patches = [ ./fix-paths.patch ];
|
|
postPatch = ''
|
|
substituteInPlace onlinejudge/service/library_checker.py \
|
|
--subst-var-by git ${git} \
|
|
--subst-var-by pythonInterpreter ${pythonEnv.interpreter}
|
|
'';
|
|
|
|
propagatedBuildInputs = [
|
|
appdirs
|
|
beautifulsoup4
|
|
colorlog
|
|
jsonschema
|
|
lxml
|
|
requests
|
|
toml
|
|
];
|
|
|
|
# Requires internet access
|
|
doCheck = false;
|
|
|
|
pythonImportsCheck = [
|
|
"onlinejudge"
|
|
"onlinejudge_api"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "API client to develop tools for competitive programming";
|
|
mainProgram = "oj-api";
|
|
homepage = "https://github.com/online-judge-tools/api-client";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ sei40kr ];
|
|
};
|
|
}
|