107 lines
2 KiB
Nix
107 lines
2 KiB
Nix
{ stdenv
|
|
, lib
|
|
, billiard
|
|
, boto3
|
|
, buildPythonPackage
|
|
, case
|
|
, click
|
|
, click-didyoumean
|
|
, click-plugins
|
|
, click-repl
|
|
, dnspython
|
|
, fetchPypi
|
|
, fetchpatch
|
|
, kombu
|
|
, moto
|
|
, pymongo
|
|
, pytest-celery
|
|
, pytest-subtests
|
|
, pytest-timeout
|
|
, pytestCheckHook
|
|
, pythonOlder
|
|
, pytz
|
|
, vine
|
|
, nixosTests
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "celery";
|
|
version = "5.2.7";
|
|
format = "setuptools";
|
|
|
|
disabled = pythonOlder "3.7";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-+vvYKTTTD4oAT4Ho96Bi4xQToj1ES+juMyZVORWVjG0=";
|
|
};
|
|
|
|
patches = [
|
|
(fetchpatch {
|
|
name = "billiard-4.0-comat.patch";
|
|
url = "https://github.com/celery/celery/commit/b260860988469ef8ad74f2d4225839c2fa91d590.patch";
|
|
hash = "sha256-NWB/UB0fE7A/vgMRYz6QGmqLmyN1ninAMyL4V2tpzto=";
|
|
})
|
|
];
|
|
|
|
postPatch = ''
|
|
substituteInPlace requirements/default.txt \
|
|
--replace "billiard>=3.6.4.0,<4.0" "billiard>=3.6.4.0"
|
|
'';
|
|
|
|
propagatedBuildInputs = [
|
|
billiard
|
|
click
|
|
click-didyoumean
|
|
click-plugins
|
|
click-repl
|
|
kombu
|
|
pytz
|
|
vine
|
|
];
|
|
|
|
checkInputs = [
|
|
boto3
|
|
case
|
|
dnspython
|
|
moto
|
|
pymongo
|
|
pytest-celery
|
|
pytest-subtests
|
|
pytest-timeout
|
|
pytestCheckHook
|
|
];
|
|
|
|
disabledTestPaths = [
|
|
# test_eventlet touches network
|
|
"t/unit/concurrency/test_eventlet.py"
|
|
# test_multi tries to create directories under /var
|
|
"t/unit/bin/test_multi.py"
|
|
"t/unit/apps/test_multi.py"
|
|
];
|
|
|
|
disabledTests = [
|
|
"msgpack"
|
|
"test_check_privileges_no_fchown"
|
|
] ++ lib.optionals stdenv.isDarwin [
|
|
# too many open files on hydra
|
|
"test_cleanup"
|
|
"test_with_autoscaler_file_descriptor_safety"
|
|
"test_with_file_descriptor_safety"
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"celery"
|
|
];
|
|
|
|
passthru.tests = {
|
|
inherit (nixosTests) sourcehut;
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "Distributed task queue";
|
|
homepage = "https://github.com/celery/celery/";
|
|
license = licenses.bsd3;
|
|
maintainers = with maintainers; [ fab ];
|
|
};
|
|
}
|