Loading pkgs/by-name/pe/petsc/package.nix +36 −43 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ hdf5, metis, parmetis, withParmetis ? false, pkg-config, p4est, zlib, # propagated by p4est but required by petsc Loading @@ -36,7 +37,6 @@ stdenv.mkDerivation rec { }; inherit mpiSupport; withp4est = petsc-withp4est; strictDeps = true; nativeBuildInputs = [ Loading @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { buildInputs = [ blas lapack ] ++ lib.optional hdf5-support hdf5 ++ lib.optional withp4est p4est; ] ++ lib.optional hdf5-support hdf5 ++ lib.optional petsc-withp4est p4est ++ lib.optionals withParmetis [ metis parmetis ]; prePatch = lib.optionalString stdenv.isDarwin '' substituteInPlace config/install.py \ Loading @@ -60,49 +60,42 @@ stdenv.mkDerivation rec { # These messages contaminate test output, which makes the quicktest suite to fail. The patch adds filtering for these messages. patches = [ ./filter_mpi_warnings.patch ]; preConfigure = '' patchShebangs ./lib/petsc/bin configureFlagsArray=( $configureFlagsArray ${ if !mpiSupport then '' "--with-mpi=0" '' else '' configureFlags = [ "--with-blas=1" "--with-lapack=1" "--with-scalar-type=${petsc-scalar-type}" "--with-precision=${petsc-precision}" "--with-mpi=${if mpiSupport then "1" else "0"}" ] ++ lib.optionals mpiSupport [ "--CC=mpicc" "--with-cxx=mpicxx" "--with-fc=mpif90" "--with-mpi=1" ] ++ lib.optionals (mpiSupport && withParmetis) [ "--with-metis=1" "--with-metis-dir=${metis}" "--with-parmetis=1" "--with-parmetis-dir=${parmetis}" '' } ${lib.optionalString withp4est '' ] ++ lib.optionals petsc-optimized [ "--with-debugging=0" "COPTFLAGS=-O3" "FOPTFLAGS=-O3" "CXXOPTFLAGS=-O3" "CXXFLAGS=-O3" ]; preConfigure = '' patchShebangs ./lib/petsc/bin '' + lib.optionalString petsc-withp4est '' configureFlagsArray+=( "--with-p4est=1" "--with-zlib-include=${zlib.dev}/include" "--with-zlib-lib=-L${zlib}/lib -lz" ''} ${lib.optionalString hdf5-support '' ) '' + lib.optionalString hdf5-support '' configureFlagsArray+=( "--with-hdf5=1" "--with-hdf5-fortran-bindings=1" "--with-hdf5-lib=-L${hdf5}/lib -lhdf5" "--with-hdf5-include=${hdf5.dev}/include" ''} "--with-blas=1" "--with-lapack=1" "--with-scalar-type=${petsc-scalar-type}" "--with-precision=${petsc-precision}" ${lib.optionalString petsc-optimized '' "--with-debugging=0" COPTFLAGS='-O3' FOPTFLAGS='-O3' CXXOPTFLAGS='-O3' CXXFLAGS='-O3' ''} "--with-hdf5-lib=-L${hdf5}/lib -lhdf5" ) ''; Loading Loading
pkgs/by-name/pe/petsc/package.nix +36 −43 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ hdf5, metis, parmetis, withParmetis ? false, pkg-config, p4est, zlib, # propagated by p4est but required by petsc Loading @@ -36,7 +37,6 @@ stdenv.mkDerivation rec { }; inherit mpiSupport; withp4est = petsc-withp4est; strictDeps = true; nativeBuildInputs = [ Loading @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { buildInputs = [ blas lapack ] ++ lib.optional hdf5-support hdf5 ++ lib.optional withp4est p4est; ] ++ lib.optional hdf5-support hdf5 ++ lib.optional petsc-withp4est p4est ++ lib.optionals withParmetis [ metis parmetis ]; prePatch = lib.optionalString stdenv.isDarwin '' substituteInPlace config/install.py \ Loading @@ -60,49 +60,42 @@ stdenv.mkDerivation rec { # These messages contaminate test output, which makes the quicktest suite to fail. The patch adds filtering for these messages. patches = [ ./filter_mpi_warnings.patch ]; preConfigure = '' patchShebangs ./lib/petsc/bin configureFlagsArray=( $configureFlagsArray ${ if !mpiSupport then '' "--with-mpi=0" '' else '' configureFlags = [ "--with-blas=1" "--with-lapack=1" "--with-scalar-type=${petsc-scalar-type}" "--with-precision=${petsc-precision}" "--with-mpi=${if mpiSupport then "1" else "0"}" ] ++ lib.optionals mpiSupport [ "--CC=mpicc" "--with-cxx=mpicxx" "--with-fc=mpif90" "--with-mpi=1" ] ++ lib.optionals (mpiSupport && withParmetis) [ "--with-metis=1" "--with-metis-dir=${metis}" "--with-parmetis=1" "--with-parmetis-dir=${parmetis}" '' } ${lib.optionalString withp4est '' ] ++ lib.optionals petsc-optimized [ "--with-debugging=0" "COPTFLAGS=-O3" "FOPTFLAGS=-O3" "CXXOPTFLAGS=-O3" "CXXFLAGS=-O3" ]; preConfigure = '' patchShebangs ./lib/petsc/bin '' + lib.optionalString petsc-withp4est '' configureFlagsArray+=( "--with-p4est=1" "--with-zlib-include=${zlib.dev}/include" "--with-zlib-lib=-L${zlib}/lib -lz" ''} ${lib.optionalString hdf5-support '' ) '' + lib.optionalString hdf5-support '' configureFlagsArray+=( "--with-hdf5=1" "--with-hdf5-fortran-bindings=1" "--with-hdf5-lib=-L${hdf5}/lib -lhdf5" "--with-hdf5-include=${hdf5.dev}/include" ''} "--with-blas=1" "--with-lapack=1" "--with-scalar-type=${petsc-scalar-type}" "--with-precision=${petsc-precision}" ${lib.optionalString petsc-optimized '' "--with-debugging=0" COPTFLAGS='-O3' FOPTFLAGS='-O3' CXXOPTFLAGS='-O3' CXXFLAGS='-O3' ''} "--with-hdf5-lib=-L${hdf5}/lib -lhdf5" ) ''; Loading