From 1094ca551be1d7d3ab91b666b2944cccddd6875a Mon Sep 17 00:00:00 2001 From: Minijackson Date: Wed, 31 Jul 2024 10:27:08 +0200 Subject: [PATCH 1/2] python3Packages.djangorestframework: disable pytz when django >= 5 The use of pytz is deprecated for Django >= 4 and removed for Django >= 5. Building djangorestframework with django_5 and pytz caused test failures. And add pytz back in django-timezone-field as native check input --- .../development/python-modules/django-filter/default.nix | 2 ++ .../python-modules/django-timezone-field/default.nix | 2 ++ .../python-modules/djangorestframework/default.nix | 9 ++------- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/django-filter/default.nix b/pkgs/development/python-modules/django-filter/default.nix index 27ba6d8cf68f..f1d0f1a5aaeb 100644 --- a/pkgs/development/python-modules/django-filter/default.nix +++ b/pkgs/development/python-modules/django-filter/default.nix @@ -7,6 +7,7 @@ djangorestframework, pytestCheckHook, pytest-django, + pytz, }: buildPythonPackage rec { @@ -29,6 +30,7 @@ buildPythonPackage rec { djangorestframework pytestCheckHook pytest-django + pytz ]; env.DJANGO_SETTINGS_MODULE = "tests.settings"; diff --git a/pkgs/development/python-modules/django-timezone-field/default.nix b/pkgs/development/python-modules/django-timezone-field/default.nix index e53b0da04c4a..978ae2e8e39e 100644 --- a/pkgs/development/python-modules/django-timezone-field/default.nix +++ b/pkgs/development/python-modules/django-timezone-field/default.nix @@ -9,6 +9,7 @@ pytestCheckHook, pytest-django, pytest-lazy-fixture, + pytz, }: buildPythonPackage rec { @@ -43,6 +44,7 @@ buildPythonPackage rec { pytestCheckHook pytest-django pytest-lazy-fixture + pytz ]; meta = with lib; { diff --git a/pkgs/development/python-modules/djangorestframework/default.nix b/pkgs/development/python-modules/djangorestframework/default.nix index 184307a5a2e4..2bd0f7acbd61 100644 --- a/pkgs/development/python-modules/djangorestframework/default.nix +++ b/pkgs/development/python-modules/djangorestframework/default.nix @@ -35,14 +35,9 @@ buildPythonPackage rec { hash = "sha256-G914NvxRmKGkxrozoWNUIoI74YkYRbeNcQwIG4iSeXU="; }; - build-system = [ - setuptools - ]; + build-system = [ setuptools ]; - dependencies = [ - django - pytz - ]; + dependencies = [ django ] ++ (lib.optional (lib.versionOlder django.version "5.0.0") pytz); nativeCheckInputs = [ pytest-django From d07eb6be1d0ef8515ddbf8d5f9c6fb6f62e605a6 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Wed, 31 Jul 2024 11:06:58 +0200 Subject: [PATCH 2/2] djangorestframework: 3.15.1 -> 3.15.2 Fixes a potential XSS vulnerability. Moved most test dependencies into optional-dependencies, added pygments which was needed in a test. --- .../djangorestframework/default.nix | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/pkgs/development/python-modules/djangorestframework/default.nix b/pkgs/development/python-modules/djangorestframework/default.nix index 2bd0f7acbd61..108ec71a2978 100644 --- a/pkgs/development/python-modules/djangorestframework/default.nix +++ b/pkgs/development/python-modules/djangorestframework/default.nix @@ -11,46 +11,56 @@ django, pytz, - # tests + # optional-dependencies coreapi, coreschema, django-guardian, inflection, psycopg2, + pygments, + pyyaml, + + # tests pytestCheckHook, pytest-django, - pyyaml, }: buildPythonPackage rec { pname = "djangorestframework"; - version = "3.15.1"; - format = "setuptools"; + version = "3.15.2"; + pyproject = true; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "encode"; repo = "django-rest-framework"; rev = version; - hash = "sha256-G914NvxRmKGkxrozoWNUIoI74YkYRbeNcQwIG4iSeXU="; + hash = "sha256-ne0sk4m11Ha77tNmCsdhj7QVmCkYj5GjLn/dLF4qxU8="; }; build-system = [ setuptools ]; - dependencies = [ django ] ++ (lib.optional (lib.versionOlder django.version "5.0.0") pytz); + dependencies = [ + django + pygments + ] ++ (lib.optional (lib.versionOlder django.version "5.0.0") pytz); + + optional-dependencies = { + complete = [ + coreapi + coreschema + django-guardian + inflection + psycopg2 + pygments + pyyaml + ]; + }; nativeCheckInputs = [ pytest-django pytestCheckHook - - # optional tests - coreapi - coreschema - django-guardian - inflection - psycopg2 - pyyaml - ]; + ] ++ optional-dependencies.complete; disabledTests = [ # https://github.com/encode/django-rest-framework/issues/9422