diff options
Diffstat (limited to 'pkgs/development/python-modules/django/4.nix')
-rw-r--r-- | pkgs/development/python-modules/django/4.nix | 173 |
1 files changed, 82 insertions, 91 deletions
diff --git a/pkgs/development/python-modules/django/4.nix b/pkgs/development/python-modules/django/4.nix index bc1fcbdfe9c8d..2d7bb6ce9dde2 100644 --- a/pkgs/development/python-modules/django/4.nix +++ b/pkgs/development/python-modules/django/4.nix @@ -1,98 +1,93 @@ -{ lib -, stdenv -, buildPythonPackage -, fetchPypi -, fetchpatch2 -, pythonAtLeast -, pythonOlder -, substituteAll - -# build -, setuptools - -# patched in -, geos -, gdal -, withGdal ? false - -# propagates -, asgiref -, sqlparse - -# extras -, argon2-cffi -, bcrypt - -# tests -, aiosmtpd -, docutils -, geoip2 -, jinja2 -, numpy -, pillow -, pylibmc -, pymemcache -, python -, pywatchman -, pyyaml -, pytz -, redis -, selenium -, tblib -, tzdata +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + pythonAtLeast, + pythonOlder, + substituteAll, + + # build + setuptools, + + # patched in + geos, + gdal, + withGdal ? false, + + # propagates + asgiref, + sqlparse, + + # extras + argon2-cffi, + bcrypt, + + # tests + aiosmtpd, + docutils, + geoip2, + jinja2, + numpy, + pillow, + pylibmc, + pymemcache, + python, + pywatchman, + pyyaml, + pytz, + redis, + selenium, + tblib, + tzdata, }: buildPythonPackage rec { pname = "django"; - version = "4.2.11"; + version = "4.2.16"; format = "pyproject"; disabled = pythonOlder "3.8"; - src = fetchPypi { - pname = "Django"; - inherit version; - hash = "sha256-bm/z2y2N0MmGtO7IVUyOT5GbXB/2KltDkMF6/y7W5cQ="; + src = fetchFromGitHub { + owner = "django"; + repo = "django"; + rev = "refs/tags/${version}"; + hash = "sha256-VW/qfqOadivtU8Xg70FLqENtOV7GqJM4bR2Ik6Yag+o="; }; - patches = [ - (substituteAll { - src = ./django_4_set_zoneinfo_dir.patch; - zoneinfo = tzdata + "/share/zoneinfo"; - }) - # make sure the tests don't remove packages from our pythonpath - # and disable failing tests - ./django_4_tests.patch - - (fetchpatch2 { - # https://github.com/django/django/pull/17979 - name = "django-mime-utf8-surrogates.patch"; - url = "https://github.com/django/django/commit/0d3ddcaf2c74638a32781f361d467af572ced95f.patch"; - hash = "sha256-AoIFvehBsXIrzIlCsqOZ++RqtDFl/H+zXqA25OMQr7g="; - }) - - ] ++ lib.optionals withGdal [ - (substituteAll { - src = ./django_4_set_geos_gdal_lib.patch; - geos = geos; - gdal = gdal; - extension = stdenv.hostPlatform.extensions.sharedLibrary; - }) - ]; + patches = + [ + (substituteAll { + src = ./django_4_set_zoneinfo_dir.patch; + zoneinfo = tzdata + "/share/zoneinfo"; + }) + # make sure the tests don't remove packages from our pythonpath + # and disable failing tests + ./django_4_tests.patch + ] + ++ lib.optionals withGdal [ + (substituteAll { + src = ./django_4_set_geos_gdal_lib.patch; + geos = geos; + gdal = gdal; + extension = stdenv.hostPlatform.extensions.sharedLibrary; + }) + ]; - postPatch = '' - substituteInPlace tests/utils_tests/test_autoreload.py \ - --replace "/usr/bin/python" "${python.interpreter}" - '' + lib.optionalString (pythonAtLeast "3.12" && stdenv.hostPlatform.system == "aarch64-linux") '' - # Test regression after xz was reverted from 5.6.0 to 5.4.6 - # https://hydra.nixos.org/build/254630990 - substituteInPlace tests/view_tests/tests/test_debug.py \ - --replace-fail "test_files" "dont_test_files" - ''; + postPatch = + '' + substituteInPlace tests/utils_tests/test_autoreload.py \ + --replace "/usr/bin/python" "${python.interpreter}" + '' + + lib.optionalString (pythonAtLeast "3.12" && stdenv.hostPlatform.system == "aarch64-linux") '' + # Test regression after xz was reverted from 5.6.0 to 5.4.6 + # https://hydra.nixos.org/build/254630990 + substituteInPlace tests/view_tests/tests/test_debug.py \ + --replace-fail "test_files" "dont_test_files" + ''; - nativeBuildInputs = [ - setuptools - ]; + nativeBuildInputs = [ setuptools ]; propagatedBuildInputs = [ asgiref @@ -100,12 +95,8 @@ buildPythonPackage rec { ]; passthru.optional-dependencies = { - argon2 = [ - argon2-cffi - ]; - bcrypt = [ - bcrypt - ]; + argon2 = [ argon2-cffi ]; + bcrypt = [ bcrypt ]; }; nativeCheckInputs = [ @@ -127,7 +118,7 @@ buildPythonPackage rec { tzdata ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies); - doCheck = !stdenv.isDarwin; + doCheck = !stdenv.hostPlatform.isDarwin; preCheck = '' # make sure the installed library gets imported @@ -151,7 +142,7 @@ buildPythonPackage rec { meta = with lib; { changelog = "https://docs.djangoproject.com/en/${lib.versions.majorMinor version}/releases/${version}/"; - description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design."; + description = "High-level Python Web framework that encourages rapid development and clean, pragmatic design"; mainProgram = "django-admin"; homepage = "https://www.djangoproject.com"; license = licenses.bsd3; |