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