nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at 22.05 107 lines 1.7 kB view raw
1{ lib 2, stdenv 3, buildPythonPackage 4, fetchPypi 5, pythonOlder 6, substituteAll 7 8# patched in 9, geos 10, gdal 11, withGdal ? false 12 13# propagated 14, asgiref 15, backports-zoneinfo 16, sqlparse 17 18# tests 19, aiosmtpd 20, argon2-cffi 21, bcrypt 22, docutils 23, geoip2 24, jinja2 25, python-memcached 26, numpy 27, pillow 28, pylibmc 29, pymemcache 30, python 31, pytz 32, pywatchman 33, pyyaml 34, redis 35, selenium 36, tblib 37, tzdata 38}: 39 40buildPythonPackage rec { 41 pname = "Django"; 42 version = "4.0.4"; 43 format = "pyproject"; 44 45 disabled = pythonOlder "3.8"; 46 47 src = fetchPypi { 48 inherit pname version; 49 hash = "sha256-ToF3hYUkQXVjzAQw8p6iSZRtgx6ssAaKFFVoZYffQLU="; 50 }; 51 52 patches = lib.optional withGdal 53 (substituteAll { 54 src = ./django_4_set_geos_gdal_lib.patch; 55 geos = geos; 56 gdal = gdal; 57 extension = stdenv.hostPlatform.extensions.sharedLibrary; 58 }); 59 60 propagatedBuildInputs = [ 61 asgiref 62 sqlparse 63 ] ++ lib.optionals (pythonOlder "3.9") [ 64 backports-zoneinfo 65 ]; 66 67 # Fails to import asgiref in ~200 tests 68 # ModuleNotFoundError: No module named 'asgiref' 69 doCheck = false; 70 71 checkInputs = [ 72 aiosmtpd 73 argon2-cffi 74 asgiref 75 bcrypt 76 docutils 77 geoip2 78 jinja2 79 python-memcached 80 numpy 81 pillow 82 pylibmc 83 pymemcache 84 pytz 85 pywatchman 86 pyyaml 87 redis 88 selenium 89 tblib 90 tzdata 91 ]; 92 93 checkPhase = '' 94 runHook preCheck 95 96 ${python.interpreter} tests/runtests.py 97 98 runHook postCheck 99 ''; 100 101 meta = with lib; { 102 description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design."; 103 homepage = "https://www.djangoproject.com"; 104 license = licenses.bsd3; 105 maintainers = with maintainers; [ hexa ]; 106 }; 107}