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 ] 55 ++ optional-dependencies.elasticsearch; 56 57 checkPhase = '' 58 runHook preCheck 59 python test_haystack/run_tests.py 60 runHook postCheck 61 ''; 62 63 meta = with lib; { 64 description = "Pluggable search for Django"; 65 homepage = "http://haystacksearch.org/"; 66 changelog = "https://github.com/django-haystack/django-haystack/releases/tag/v${version}"; 67 license = licenses.bsd3; 68 maintainers = [ ]; 69 }; 70}