nixpkgs/pkgs/development/python-modules/celery/default.nix
2022-07-21 22:35:27 +02:00

108 lines
2.0 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 ];
};
}