From 4a5860b8f891b6d2fe6d19e9ecb5f3c0caf87ea1 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 4 Jun 2026 14:29:33 +0200 Subject: [PATCH] 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(