diff --git a/pkgs/development/libraries/science/math/petsc/default.nix b/pkgs/development/libraries/science/math/petsc/default.nix index 6eeeda9e9284..a4d0850c77f7 100644 --- a/pkgs/development/libraries/science/math/petsc/default.nix +++ b/pkgs/development/libraries/science/math/petsc/default.nix @@ -2,27 +2,37 @@ stdenv.mkDerivation rec { pname = "petsc"; - version = "3.13.1"; + version = "3.13.2"; src = fetchurl { url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz"; - sha256 = "0pr604b9pnryl9q0q5arlhs0xdx7wslca0sbz0pzs9qylmz775qp"; + sha256 = "0yf5lm8dqpbz1yq9nvd5g2iy2w0rgjp9vcj44ba63rwig37j3clp"; }; - nativeBuildInputs = [ blas gfortran.cc.lib lapack python ]; + nativeBuildInputs = [ blas gfortran gfortran.cc.lib lapack python ]; - prePatch = stdenv.lib.optionalString stdenv.isDarwin '' + # Upstream does some hot she-py-bang stuff, this change streamlines that + # process. The original script in upstream is both a shell script and a + # python script, where the shellscript just finds a suitable python + # interpreter to execute the python script. See + # https://github.com/NixOS/nixpkgs/pull/89299#discussion_r450203444 + # for more details. + prePatch = '' + substituteInPlace configure \ + --replace /bin/sh /usr/bin/python + '' + stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace config/install.py \ --replace /usr/bin/install_name_tool install_name_tool ''; preConfigure = '' + export FC="${gfortran}/bin/gfortran" F77="${gfortran}/bin/gfortran" patchShebangs . configureFlagsArray=( $configureFlagsArray "--CC=$CC" "--with-cxx=$CXX" - "--with-fc=0" + "--with-fc=$FC" "--with-mpi=0" "--with-blas-lib=[${blas}/lib/libblas.so,${gfortran.cc.lib}/lib/libgfortran.a]" "--with-lapack-lib=[${lapack}/lib/liblapack.so,${gfortran.cc.lib}/lib/libgfortran.a]"