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 ];