From 575805ab846fe68cf56c5966524416a71bb9b15e Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 27 May 2026 23:51:32 +0200 Subject: [PATCH 1/6] python3Packages.django-formtools: 2.5.1 -> 2.6.1 https://github.com/jazzband/django-formtools/blob/2.6.1/docs/changelog.rst (cherry picked from commit 752218e1270b824926162c26437357d502d6c63b) --- .../django-formtools/default.nix | 50 ++++++++++++------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/pkgs/development/python-modules/django-formtools/default.nix b/pkgs/development/python-modules/django-formtools/default.nix index 5ece57bbcf67..3b38956a7fd6 100644 --- a/pkgs/development/python-modules/django-formtools/default.nix +++ b/pkgs/development/python-modules/django-formtools/default.nix @@ -2,41 +2,53 @@ lib, buildPythonPackage, django, - fetchPypi, - python, + fetchFromGitHub, + setuptools, setuptools-scm, + pytestCheckHook, + pytest-django, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "django-formtools"; - version = "2.5.1"; + version = "2.6.1"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-R8s0VSxu/KCIhj1pMoTQT8NuqvNQ6yHhodk14N9SPJM="; + src = fetchFromGitHub { + owner = "jazzband"; + repo = "django-formtools"; + tag = finalAttrs.version; + hash = "sha256-cg6bl2KJL2aOES7vWqrR25Bd6t9vWGTZLWtbMUhkCkg="; }; - nativeBuildInputs = [ setuptools-scm ]; + build-system = [ + setuptools + setuptools-scm + ]; - propagatedBuildInputs = [ django ]; + dependencies = [ django ]; - checkPhase = '' - runHook preCheck + nativeCheckInputs = [ + pytestCheckHook + pytest-django + ]; - ${python.interpreter} -m django test --settings=tests.settings - - runHook postCheck + preCheck = '' + export DJANGO_SETTINGS_MODULE=tests.settings ''; + disabledTests = [ + # mismatch between test collection of django and pytest-django + "TestStorage" + ]; + pythonImportsCheck = [ "formtools" ]; meta = { - description = "Set of high-level abstractions for Django forms"; + description = "High-level abstractions for Django forms"; homepage = "https://github.com/jazzband/django-formtools"; - changelog = "https://github.com/jazzband/django-formtools/blob/master/docs/changelog.rst"; + changelog = "https://github.com/jazzband/django-formtools/blob/${finalAttrs.src.tag}/docs/changelog.rst"; license = lib.licenses.bsd3; - maintainers = [ - ]; + maintainers = [ ]; }; -} +}) From ac986b65d9eff37f2168d2817564780263e27337 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 4 Jun 2026 01:05:02 +0200 Subject: [PATCH 2/6] python3Packages.django_6: 6.0.5 -> 6.0.6 https://docs.djangoproject.com/en/6.0/releases/6.0.6/ https://www.djangoproject.com/weblog/2026/jun/03/security-releases/ Fixes: CVE-2026-6873, CVE-2026-7666, CVE-2026-8404, CVE-2026-35193, CVE-2026-48587 (cherry picked from commit 2dc12f9e904942f8f5ef9baf5263caddf40f347a) --- pkgs/development/python-modules/django/6.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/django/6.nix b/pkgs/development/python-modules/django/6.nix index 38c746fb5718..c223a4ac8594 100644 --- a/pkgs/development/python-modules/django/6.nix +++ b/pkgs/development/python-modules/django/6.nix @@ -42,7 +42,7 @@ buildPythonPackage (finalAttrs: { pname = "django"; - version = "6.0.5"; + version = "6.0.6"; pyproject = true; disabled = pythonOlder "3.12"; @@ -51,7 +51,7 @@ buildPythonPackage (finalAttrs: { owner = "django"; repo = "django"; tag = finalAttrs.version; - hash = "sha256-jII/aoJ75sS+ig4iVZmTcsEE76aC8Om/k2J+LnRj+cE="; + hash = "sha256-hLnTqY64PfaGJ1JJccrxYms41Jp4E4pVq6rmrtFpESE="; }; patches = [ From a37b229b120ec965c464786c496f2a8ae94844ff Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 4 Jun 2026 13:53:49 +0200 Subject: [PATCH 3/6] python3Packages.django-formtools: disable failing test (cherry picked from commit d8bfa3584308fe5579c14bba2e9e8335bff667b8) --- pkgs/development/python-modules/django-formtools/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/django-formtools/default.nix b/pkgs/development/python-modules/django-formtools/default.nix index 3b38956a7fd6..c4b1afd38033 100644 --- a/pkgs/development/python-modules/django-formtools/default.nix +++ b/pkgs/development/python-modules/django-formtools/default.nix @@ -40,6 +40,9 @@ buildPythonPackage (finalAttrs: { disabledTests = [ # mismatch between test collection of django and pytest-django "TestStorage" + # Django 6.0.6/5.2.15 compat issue + # https://github.com/jazzband/django-formtools/issues/298 + "test_reset_cookie" ]; pythonImportsCheck = [ "formtools" ]; From 4a5860b8f891b6d2fe6d19e9ecb5f3c0caf87ea1 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 4 Jun 2026 14:29:33 +0200 Subject: [PATCH 4/6] python3Packages.django_6: fix flaky test on aarch64-linux (cherry picked from commit 83f160689f4ba180768712599743d64d0ec2554a) --- pkgs/development/python-modules/django/6.nix | 3 ++ .../6.x/invalidate-importlib-cache.patch | 54 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 pkgs/development/python-modules/django/6.x/invalidate-importlib-cache.patch diff --git a/pkgs/development/python-modules/django/6.nix b/pkgs/development/python-modules/django/6.nix index c223a4ac8594..4b6e54569b85 100644 --- a/pkgs/development/python-modules/django/6.nix +++ b/pkgs/development/python-modules/django/6.nix @@ -62,6 +62,9 @@ buildPythonPackage (finalAttrs: { ./6.x/pythonpath.patch # test_incorrect_timezone should raise but doesn't ./6.x/disable-failing-test.patch + # https://code.djangoproject.com/ticket/36997 + # https://github.com/django/django/pull/21019 + ./6.x/invalidate-importlib-cache.patch ] ++ lib.optionals withGdal [ (replaceVars ./6.x/gdal.patch { diff --git a/pkgs/development/python-modules/django/6.x/invalidate-importlib-cache.patch b/pkgs/development/python-modules/django/6.x/invalidate-importlib-cache.patch new file mode 100644 index 000000000000..910b6477cd32 --- /dev/null +++ b/pkgs/development/python-modules/django/6.x/invalidate-importlib-cache.patch @@ -0,0 +1,54 @@ +From 130ccbf51a5ad4810dcef46584661a818b7964d3 Mon Sep 17 00:00:00 2001 +From: gghezext +Date: Sun, 29 Mar 2026 03:46:48 +0200 +Subject: [PATCH 1/2] Fixed #36997 -- Invalidated importlib caches after + writing migration files. + +--- + django/core/management/commands/makemigrations.py | 3 +++ + django/core/management/commands/squashmigrations.py | 2 ++ + docs/releases/6.1.txt | 5 ++++- + 3 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/django/core/management/commands/makemigrations.py b/django/core/management/commands/makemigrations.py +index 7f711ed7aec4..355d626ce2c4 100644 +--- a/django/core/management/commands/makemigrations.py ++++ b/django/core/management/commands/makemigrations.py +@@ -1,3 +1,4 @@ ++import importlib + import os + import sys + import warnings +@@ -395,6 +396,7 @@ def write_migration_files(self, changes, update_previous_migration_paths=None): + ) + self.log(writer.as_string()) + run_formatters(self.written_files, stderr=self.stderr) ++ importlib.invalidate_caches() + + @staticmethod + def get_relative_path(path): +@@ -502,6 +504,7 @@ def all_items_equal(seq): + with open(writer.path, "w", encoding="utf-8") as fh: + fh.write(writer.as_string()) + run_formatters([writer.path], stderr=self.stderr) ++ importlib.invalidate_caches() + if self.verbosity > 0: + self.log("\nCreated new merge migration %s" % writer.path) + if self.scriptable: +diff --git a/django/core/management/commands/squashmigrations.py b/django/core/management/commands/squashmigrations.py +index 9845b4d4567b..abc87717b66b 100644 +--- a/django/core/management/commands/squashmigrations.py ++++ b/django/core/management/commands/squashmigrations.py +@@ -1,3 +1,4 @@ ++import importlib + import os + import shutil + +@@ -208,6 +209,7 @@ def handle(self, **options): + with open(writer.path, "w", encoding="utf-8") as fh: + fh.write(writer.as_string()) + run_formatters([writer.path], stderr=self.stderr) ++ importlib.invalidate_caches() + + if self.verbosity > 0: + self.stdout.write( From 7a7d7e916bffa5a694a724e20f08f0ef9e2da6cf Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sat, 30 May 2026 02:57:52 +0200 Subject: [PATCH 5/6] pretalx: relax django-formtools (cherry picked from commit 6f40befa5574f4f65f21375022ac9847b70d61c9) --- pkgs/by-name/pr/pretalx/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/pr/pretalx/package.nix b/pkgs/by-name/pr/pretalx/package.nix index 372d86d44415..7098f3975c29 100644 --- a/pkgs/by-name/pr/pretalx/package.nix +++ b/pkgs/by-name/pr/pretalx/package.nix @@ -95,6 +95,7 @@ python.pkgs.buildPythonApplication rec { "django-csp" "django-filter" "django-formset-js-improved" + "django-formtools" "django-i18nfield" "djangorestframework" "markdown" From ec3a9fca7c99d751b54823384b7ae1ebb06939bd Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 5 Jun 2026 00:37:26 +0200 Subject: [PATCH 6/6] pretix: relax diango-formtools constraint --- pkgs/by-name/pr/pretix/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/pr/pretix/package.nix b/pkgs/by-name/pr/pretix/package.nix index 9cd89e0d4528..e7146d5fe3f1 100644 --- a/pkgs/by-name/pr/pretix/package.nix +++ b/pkgs/by-name/pr/pretix/package.nix @@ -99,6 +99,7 @@ python.pkgs.buildPythonApplication rec { "django-compressor" "django-filter" "django-formset-js-improved" + "django-formtools" "django-i18nfield" "django-localflavor" "django-phonenumber-field"