1{ 2 lib, 3 buildPythonPackage, 4 django, 5 elasticsearch, 6 fetchPypi, 7 geopy, 8 packaging, 9 pysolr, 10 python-dateutil, 11 pythonOlder, 12 requests, 13 setuptools-scm, 14 setuptools, 15 stdenv, 16 whoosh, 17}: 18 19buildPythonPackage rec { 20 pname = "django-haystack"; 21 version = "3.3.0"; 22 pyproject = true; 23 24 disabled = pythonOlder "3.8"; 25 26 src = fetchPypi { 27 pname = "django_haystack"; 28 inherit version; 29 hash = "sha256-487ta4AAYl2hTUCetNrGmJSQXirIrBj5v9tZMjygLqs="; 30 }; 31 32 build-system = [ 33 setuptools 34 setuptools-scm 35 ]; 36 37 buildInputs = [ django ]; 38 39 dependencies = [ packaging ]; 40 41 optional-dependencies = { 42 elasticsearch = [ elasticsearch ]; 43 }; 44 45 # tests fail and get stuck on darwin 46 doCheck = !stdenv.hostPlatform.isDarwin; 47 48 nativeCheckInputs = [ 49 geopy 50 pysolr 51 python-dateutil 52 requests 53 whoosh 54 ] ++ optional-dependencies.elasticsearch; 55 56 checkPhase = '' 57 runHook preCheck 58 python test_haystack/run_tests.py 59 runHook postCheck 60 ''; 61 62 meta = with lib; { 63 description = "Pluggable search for Django"; 64 homepage = "http://haystacksearch.org/"; 65 changelog = "https://github.com/django-haystack/django-haystack/releases/tag/v${version}"; 66 license = licenses.bsd3; 67 maintainers = [ ]; 68 }; 69}