From f005289e1232e42a8833fba962de9b2e6d21dfdd Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 24 Jun 2025 18:45:50 +0200 Subject: [PATCH] python3Packages.mmengine: fix on python 3.13 --- .../python-modules/mmengine/default.nix | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/mmengine/default.nix b/pkgs/development/python-modules/mmengine/default.nix index 3de90cbfd427..816b042cf7bf 100644 --- a/pkgs/development/python-modules/mmengine/default.nix +++ b/pkgs/development/python-modules/mmengine/default.nix @@ -52,10 +52,22 @@ buildPythonPackage rec { }) ]; - postPatch = '' - substituteInPlace tests/test_config/test_lazy.py \ - --replace-fail "import numpy.compat" "" - ''; + postPatch = + # Fails in python >= 3.13 + # exec(compile(f.read(), version_file, "exec")) does not populate the locals() namesp + # In python 3.13, the locals() dictionary in a function does not automatically update with + # changes made by exec(). + # https://peps.python.org/pep-0558/ + '' + substituteInPlace setup.py \ + --replace-fail \ + "return locals()['__version__']" \ + "return '${version}'" + '' + + '' + substituteInPlace tests/test_config/test_lazy.py \ + --replace-fail "import numpy.compat" "" + ''; build-system = [ setuptools ];