diff --git a/pkgs/development/python-modules/mayavi/default.nix b/pkgs/development/python-modules/mayavi/default.nix index bdc0a74007d81..1eebee06cfa5d 100644 --- a/pkgs/development/python-modules/mayavi/default.nix +++ b/pkgs/development/python-modules/mayavi/default.nix @@ -3,6 +3,7 @@ , buildPythonPackage , envisage , fetchPypi +, fetchpatch , numpy , packaging , pyface @@ -26,6 +27,24 @@ buildPythonPackage rec { hash = "sha256-n0J+8spska542S02ibpr7KJMhGDicG2KHJuEKJrT/Z4="; }; + patches = [ + # Adds compatibility with Python 3.11. + # https://github.com/enthought/mayavi/pull/1199 + (fetchpatch { + name = "python311-compat.patch"; + url = "https://github.com/enthought/mayavi/commit/50c0cbfcf97560be69c84b7c924635a558ebf92f.patch"; + hash = "sha256-zZOT6on/f5cEjnDBrNGog/wPQh7rBkaFqrxkBYDUQu0="; + includes = [ "tvtk/src/*" ]; + }) + # Fixes an incompatible function pointer conversion error + # https://github.com/enthought/mayavi/pull/1266 + (fetchpatch { + name = "incompatible-pointer-conversion.patch"; + url = "https://github.com/enthought/mayavi/commit/887adc8fe2b076a368070f5b1d564745b03b1964.patch"; + hash = "sha256-88H1NNotd4pO0Zw1oLrYk5WNuuVrmTU01HJgsTRfKlo="; + }) + ]; + postPatch = '' # building the docs fails with the usual Qt xcb error, so skip: substituteInPlace setup.py \