diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix
index c1d13ca73501..aa578d21d257 100644
--- a/pkgs/development/python-modules/scipy/default.nix
+++ b/pkgs/development/python-modules/scipy/default.nix
@@ -5,7 +5,10 @@
 , buildPythonPackage
 , cython
 , gfortran
+, meson-python
+, pkg-config
 , pythran
+, wheel
 , nose
 , pytest
 , pytest-xdist
@@ -16,13 +19,14 @@
 buildPythonPackage rec {
   pname = "scipy";
   version = "1.9.1";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "sha256-JtKMRokA5tX9s30oEqtG2wzNIsY7qglQV4cfqjpJi8k=";
   };
 
-  nativeBuildInputs = [ cython gfortran pythran ];
+  nativeBuildInputs = [ cython gfortran meson-python pythran pkg-config wheel ];
 
   buildInputs = [ numpy.blas pybind11 ];
 
@@ -30,11 +34,6 @@ buildPythonPackage rec {
 
   checkInputs = [ nose pytest pytest-xdist ];
 
-  # Remove tests because of broken wrapper
-  prePatch = ''
-    rm scipy/linalg/tests/test_lapack.py
-  '';
-
   doCheck = !(stdenv.isx86_64 && stdenv.isDarwin);
 
   preConfigure = ''
@@ -42,10 +41,6 @@ buildPythonPackage rec {
     export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
   '';
 
-  preBuild = ''
-    ln -s ${numpy.cfg} site.cfg
-  '';
-
   # disable stackprotector on aarch64-darwin for now
   #
   # build error: