1{ 2 lib, 3 buildPythonPackage, 4 celery, 5 cron-descriptor, 6 django-timezone-field, 7 django, 8 fakeredis, 9 fetchFromGitHub, 10 mock, 11 pytestCheckHook, 12 python-crontab, 13 python-dateutil, 14 pytz, 15 setuptools, 16}: 17 18buildPythonPackage rec { 19 pname = "celery-redbeat"; 20 version = "2.8.1"; 21 pyproject = true; 22 23 src = fetchFromGitHub { 24 owner = "celery"; 25 repo = "django-celery-beat"; 26 tag = "v${version}"; 27 hash = "sha256-pakOpch5r2ug0UDSqEU34qr4Tz1/mkuFiHW+IOUuGcc="; 28 }; 29 30 postPatch = '' 31 # Hack the custom dependency resolution in setup.py to avoid pulling in pip 32 substituteInPlace setup.py \ 33 --replace-fail "install_requires=reqs('default.txt') + reqs('runtime.txt')," "install_requires=[]," 34 ''; 35 36 build-system = [ setuptools ]; 37 38 dependencies = [ 39 celery 40 cron-descriptor 41 django 42 django-timezone-field 43 python-crontab 44 python-dateutil 45 ]; 46 47 nativeCheckInputs = [ 48 mock 49 pytestCheckHook 50 pytz 51 ]; 52 53 pythonImportsCheck = [ "django_celery_beat" ]; 54 55 # Tests require additional work 56 doCheck = false; 57 58 meta = with lib; { 59 description = "Database-backed Periodic Tasks"; 60 homepage = "https://github.com/celery/django-celery-beat"; 61 changelog = "https://github.com/celery/django-celery-beat/releases/tag/${src.tag}"; 62 license = licenses.bsd3; 63 maintainers = with maintainers; [ onny ]; 64 }; 65}