diff options
author | Sandro Jäckel <sandro.jaeckel@gmail.com> | 2021-11-10 20:41:28 +0100 |
---|---|---|
committer | Sandro Jäckel <sandro.jaeckel@gmail.com> | 2021-11-13 01:23:34 +0100 |
commit | 60cef5d908cee6485a056622efa43f34984d6f1f (patch) | |
tree | 83229164bc44596e4f0cd97f3d8da3067b30c6ce /pkgs/development/libraries/fftw | |
parent | 52c1e6486e34b3ee3adf5dd52983afe9737f004a (diff) | |
download | nixpkgs-60cef5d908cee6485a056622efa43f34984d6f1f.tar nixpkgs-60cef5d908cee6485a056622efa43f34984d6f1f.tar.gz nixpkgs-60cef5d908cee6485a056622efa43f34984d6f1f.tar.bz2 nixpkgs-60cef5d908cee6485a056622efa43f34984d6f1f.tar.lz nixpkgs-60cef5d908cee6485a056622efa43f34984d6f1f.tar.xz nixpkgs-60cef5d908cee6485a056622efa43f34984d6f1f.tar.zst nixpkgs-60cef5d908cee6485a056622efa43f34984d6f1f.zip |
fftw: switch to pname+version, minor formatting, fix input option, remove ? null from inputs
Diffstat (limited to 'pkgs/development/libraries/fftw')
-rw-r--r-- | pkgs/development/libraries/fftw/default.nix | 48 |
1 files changed, 21 insertions, 27 deletions
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix index 37a7f1ce8fe..7f4188208ff 100644 --- a/pkgs/development/libraries/fftw/default.nix +++ b/pkgs/development/libraries/fftw/default.nix @@ -3,7 +3,7 @@ , lib , gfortran , perl -, llvmPackages ? null +, llvmPackages , precision ? "double" , enableAvx ? stdenv.hostPlatform.avxSupport , enableAvx2 ? stdenv.hostPlatform.avx2Support @@ -11,56 +11,50 @@ , enableFma ? stdenv.hostPlatform.fmaSupport , enableMpi ? false , mpi +, withDoc ? stdenv.cc.isGNU }: -with lib; -assert stdenv.cc.isClang -> llvmPackages != null; -assert elem precision [ "single" "double" "long-double" "quad-precision" ]; +assert lib.elem precision [ "single" "double" "long-double" "quad-precision" ]; -let +stdenv.mkDerivation rec { + pname = "fftw-${precision}"; version = "3.3.9"; - withDoc = stdenv.cc.isGNU; -in - -stdenv.mkDerivation { - name = "fftw-${precision}-${version}"; src = fetchurl { urls = [ - "http://fftw.org/fftw-${version}.tar.gz" + "https://fftw.org/fftw-${version}.tar.gz" "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz" ]; sha256 = "sha256-vyx85AsEroEa9xTetRJRDMLBe5q51t3PSf5Eh+6nrz0="; }; outputs = [ "out" "dev" "man" ] - ++ optional withDoc "info"; # it's dev-doc only + ++ lib.optional withDoc "info"; # it's dev-doc only outputBin = "dev"; # fftw-wisdom nativeBuildInputs = [ gfortran ]; - buildInputs = optionals stdenv.cc.isClang [ + buildInputs = lib.optionals stdenv.cc.isClang [ # TODO: This may mismatch the LLVM version sin the stdenv, see #79818. llvmPackages.openmp - ] ++ optional enableMpi mpi; + ] ++ lib.optional enableMpi mpi; - configureFlags = - [ "--enable-shared" - "--enable-threads" - ] - ++ optional (precision != "double") "--enable-${precision}" + configureFlags = [ + "--enable-shared" + "--enable-threads" + "--enable-openmp" + ] ++ lib.optional (precision != "double") "--enable-${precision}" # all x86_64 have sse2 # however, not all float sizes fit - ++ optional (stdenv.isx86_64 && (precision == "single" || precision == "double") ) "--enable-sse2" - ++ optional enableAvx "--enable-avx" - ++ optional enableAvx2 "--enable-avx2" - ++ optional enableAvx512 "--enable-avx512" - ++ optional enableFma "--enable-fma" - ++ [ "--enable-openmp" ] - ++ optional enableMpi "--enable-mpi" + ++ lib.optional (stdenv.isx86_64 && (precision == "single" || precision == "double") ) "--enable-sse2" + ++ lib.optional enableAvx "--enable-avx" + ++ lib.optional enableAvx2 "--enable-avx2" + ++ lib.optional enableAvx512 "--enable-avx512" + ++ lib.optional enableFma "--enable-fma" + ++ lib.optional enableMpi "--enable-mpi" # doc generation causes Fortran wrapper generation which hard-codes gcc - ++ optional (!withDoc) "--disable-doc"; + ++ lib.optional (!withDoc) "--disable-doc"; enableParallelBuilding = true; |