parent
7ca33e5fcf
commit
620761739c
@ -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 ]; |
||||
}; |
||||
} |
@ -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:
|
Loading…
Reference in new issue