python3Packages.django_4: init at 4.0.2

This commit is contained in:
Martin Weinelt 2022-01-05 01:12:38 +01:00 committed by Jonathan Ringer
parent 7ca33e5fcf
commit 620761739c
3 changed files with 135 additions and 1 deletions

View file

@ -0,0 +1,107 @@
{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, pythonOlder
, substituteAll
# patched in
, geos
, gdal
, withGdal ? false
# propagated
, asgiref
, backports-zoneinfo
, sqlparse
# tests
, aiosmtpd
, argon2_cffi
, bcrypt
, docutils
, geoip2
, jinja2
, memcached
, numpy
, pillow
, pylibmc
, pymemcache
, python
, pytz
, pywatchman
, pyyaml
, redis
, selenium
, tblib
, tzdata
}:
buildPythonPackage rec {
pname = "Django";
version = "4.0.2";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-EQ+1j7Euylngcq1Z/ELXcc1kLdei8kFlgqqdp6jvlUo=";
};
patches = lib.optional withGdal
(substituteAll {
src = ./django_4_set_geos_gdal_lib.patch;
geos = geos;
gdal = gdal;
extension = stdenv.hostPlatform.extensions.sharedLibrary;
});
propagatedBuildInputs = [
asgiref
sqlparse
] ++ lib.optionals (pythonOlder "3.9") [
backports-zoneinfo
];
# Fails to import asgiref in ~200 tests
# ModuleNotFoundError: No module named 'asgiref'
doCheck = false;
checkInputs = [
aiosmtpd
argon2_cffi
asgiref
bcrypt
docutils
geoip2
jinja2
memcached
numpy
pillow
pylibmc
pymemcache
pytz
pywatchman
pyyaml
redis
selenium
tblib
tzdata
];
checkPhase = ''
runHook preCheck
${python.interpreter} tests/runtests.py
runHook postCheck
'';
meta = with lib; {
description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design.";
homepage = "https://www.djangoproject.com";
license = licenses.bsd3;
maintainers = with maintainers; [ hexa ];
};
}

View file

@ -0,0 +1,26 @@
diff --git a/django/contrib/gis/gdal/libgdal.py b/django/contrib/gis/gdal/libgdal.py
index 05b5732..91fafee 100644
--- a/django/contrib/gis/gdal/libgdal.py
+++ b/django/contrib/gis/gdal/libgdal.py
@@ -14,7 +14,7 @@ try:
from django.conf import settings
lib_path = settings.GDAL_LIBRARY_PATH
except (AttributeError, ImportError, ImproperlyConfigured, OSError):
- lib_path = None
+ lib_path = ""@gdal@/lib/libgdal@extension@"
if lib_path:
lib_names = None
diff --git a/django/contrib/gis/geos/libgeos.py b/django/contrib/gis/geos/libgeos.py
index 2cdb5d3..fac2d04 100644
--- a/django/contrib/gis/geos/libgeos.py
+++ b/django/contrib/gis/geos/libgeos.py
@@ -24,7 +24,7 @@ def load_geos():
from django.conf import settings
lib_path = settings.GEOS_LIBRARY_PATH
except (AttributeError, ImportError, ImproperlyConfigured, OSError):
- lib_path = None
+ lib_path = "@geos@/lib/libgeos_c@extension@"
# Setting the appropriate names for the GEOS-C library.
if lib_path:

View file

@ -2192,9 +2192,10 @@ in {
# Current LTS
django_2 = callPackage ../development/python-modules/django/2.nix { };
django_3 = callPackage ../development/python-modules/django/3.nix { };
# Current latest
django_3 = callPackage ../development/python-modules/django/3.nix { };
django_4 = callPackage ../development/python-modules/django/4.nix { };
django-allauth = callPackage ../development/python-modules/django-allauth { };