diff options
author | Alyssa Ross <hi@alyssa.is> | 2024-01-20 12:31:50 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2024-01-20 12:32:25 +0100 |
commit | b7baf40e099b4215181fe7b0c63083b12ef2c7fb (patch) | |
tree | a6efabd31d05b6d0a36624729e80377bbbfb0149 /nixpkgs/pkgs/by-name/pf | |
parent | 710028664e26e85cb831a869b3da9f6993902255 (diff) | |
parent | 0799f514b1cd74878174939df79ac60ca5036673 (diff) | |
download | nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.gz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.bz2 nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.lz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.xz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.zst nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.zip |
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
Diffstat (limited to 'nixpkgs/pkgs/by-name/pf')
-rw-r--r-- | nixpkgs/pkgs/by-name/pf/pfft/package.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/pf/pfft/package.nix b/nixpkgs/pkgs/by-name/pf/pfft/package.nix new file mode 100644 index 000000000000..7e91b7d28896 --- /dev/null +++ b/nixpkgs/pkgs/by-name/pf/pfft/package.nix @@ -0,0 +1,52 @@ +{ autoreconfHook +, fetchFromGitHub +, fftwMpi +, lib +, llvmPackages +, mpi +, precision ? "double" +, stdenv +}: + +assert lib.elem precision [ "single" "double" "long-double" ]; + +let + fftw' = fftwMpi.override { inherit precision; }; +in +stdenv.mkDerivation (finalAttrs: { + pname = "pfft-${precision}"; + version = "1.0.8-alpha"; + + src = fetchFromGitHub { + owner = "mpip"; + repo = "pfft"; + rev = "v${finalAttrs.version}"; + hash = "sha256-T5nPlkPKjYYRCuT1tSzXNJTPs/o6zwJMv9lPCWOwabw="; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ autoreconfHook ]; + + preConfigure = '' + export FCFLAGS="-I${lib.getDev fftw'}/include" + ''; + + configureFlags = [ + "--enable-portable-binary" + ] ++ lib.optional (precision != "double") "--enable-${precision}"; + + buildInputs = lib.optional stdenv.cc.isClang llvmPackages.openmp; + + propagatedBuildInputs = [ fftw' mpi ]; + + doCheck = true; + + meta = { + description = "Parallel fast Fourier transforms"; + homepage = "https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en#pfft"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ hmenke ]; + platforms = lib.platforms.linux; + }; +}) |