1{ lib 2, buildPythonPackage 3, pythonOlder 4, fetchPypi 5 6# build dependencies 7, setuptools 8, setuptools-scm 9 10# dependencies 11, django 12 13# tests 14, elasticsearch 15, geopy 16, nose 17, pysolr 18, python-dateutil 19, requests 20, whoosh 21}: 22 23buildPythonPackage rec { 24 pname = "django-haystack"; 25 version = "3.2.1"; 26 format = "pyproject"; 27 28 disabled = pythonOlder "3.5"; 29 30 src = fetchPypi { 31 inherit pname version; 32 hash = "sha256-l+MZeu/CJf5AW28XYAolNL+CfLTWdDEwwgvBoG9yk6Q="; 33 }; 34 35 postPatch = '' 36 substituteInPlace setup.py \ 37 --replace "geopy==" "geopy>=" 38 ''; 39 40 nativeBuildInputs = [ 41 setuptools 42 setuptools-scm 43 ]; 44 45 buildInputs = [ 46 django 47 ]; 48 49 passthru.optional-dependencies = { 50 elasticsearch = [ 51 elasticsearch 52 ]; 53 }; 54 55 doCheck = lib.versionOlder django.version "4"; 56 57 nativeCheckInputs = [ 58 geopy 59 nose 60 pysolr 61 python-dateutil 62 requests 63 whoosh 64 ] 65 ++ passthru.optional-dependencies.elasticsearch; 66 67 checkPhase = '' 68 runHook preCheck 69 python test_haystack/run_tests.py 70 runHook postCheck 71 ''; 72 73 meta = with lib; { 74 description = "Pluggable search for Django"; 75 homepage = "http://haystacksearch.org/"; 76 license = licenses.bsd3; 77 maintainers = with maintainers; [ ]; 78 }; 79}