Merge pull request #280309 from hmenke/mpip

pfft: init at 1.0.8-alpha; pnfft: init at 1.0.7-alpha

authored by markuskowa and committed by GitHub f6e0a889 ff0b012d

+105
+52
pkgs/by-name/pf/pfft/package.nix
··· 1 + { autoreconfHook 2 + , fetchFromGitHub 3 + , fftwMpi 4 + , lib 5 + , llvmPackages 6 + , mpi 7 + , precision ? "double" 8 + , stdenv 9 + }: 10 + 11 + assert lib.elem precision [ "single" "double" "long-double" ]; 12 + 13 + let 14 + fftw' = fftwMpi.override { inherit precision; }; 15 + in 16 + stdenv.mkDerivation (finalAttrs: { 17 + pname = "pfft-${precision}"; 18 + version = "1.0.8-alpha"; 19 + 20 + src = fetchFromGitHub { 21 + owner = "mpip"; 22 + repo = "pfft"; 23 + rev = "v${finalAttrs.version}"; 24 + hash = "sha256-T5nPlkPKjYYRCuT1tSzXNJTPs/o6zwJMv9lPCWOwabw="; 25 + }; 26 + 27 + outputs = [ "out" "dev" ]; 28 + 29 + nativeBuildInputs = [ autoreconfHook ]; 30 + 31 + preConfigure = '' 32 + export FCFLAGS="-I${lib.getDev fftw'}/include" 33 + ''; 34 + 35 + configureFlags = [ 36 + "--enable-portable-binary" 37 + ] ++ lib.optional (precision != "double") "--enable-${precision}"; 38 + 39 + buildInputs = lib.optional stdenv.cc.isClang llvmPackages.openmp; 40 + 41 + propagatedBuildInputs = [ fftw' mpi ]; 42 + 43 + doCheck = true; 44 + 45 + meta = { 46 + description = "Parallel fast Fourier transforms"; 47 + homepage = "https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en#pfft"; 48 + license = lib.licenses.gpl3Plus; 49 + maintainers = with lib.maintainers; [ hmenke ]; 50 + platforms = lib.platforms.linux; 51 + }; 52 + })
+53
pkgs/by-name/pn/pnfft/package.nix
··· 1 + { autoreconfHook 2 + , fetchurl 3 + , fftwMpi 4 + , gsl 5 + , lib 6 + , llvmPackages 7 + , pfft 8 + , precision ? "double" 9 + , stdenv 10 + }: 11 + 12 + assert lib.elem precision [ "single" "double" "long-double" ]; 13 + 14 + let 15 + fftw' = fftwMpi.override { inherit precision; }; 16 + pfft' = pfft.override { inherit precision; }; 17 + in 18 + stdenv.mkDerivation (finalAttrs: { 19 + pname = "pnfft-${precision}"; 20 + version = "1.0.7-alpha"; 21 + 22 + src = fetchurl { 23 + url = "https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software/pnfft-${finalAttrs.version}.tar.gz"; 24 + hash = "sha256-/aVY/1fuMRl1Q2O7bmc5M4aA0taGD+fcQgCdhVYr1no="; 25 + }; 26 + 27 + outputs = [ "out" "dev" ]; 28 + 29 + nativeBuildInputs = [ autoreconfHook ]; 30 + 31 + preConfigure = '' 32 + export FCFLAGS="-I${lib.getDev fftw'}/include -I${lib.getDev pfft'}/include" 33 + ''; 34 + 35 + configureFlags = [ 36 + "--enable-threads" 37 + "--enable-portable-binary" 38 + ] ++ lib.optional (precision != "double") "--enable-${precision}"; 39 + 40 + buildInputs = [ gsl ] ++ lib.optional stdenv.cc.isClang llvmPackages.openmp; 41 + 42 + propagatedBuildInputs = [ pfft' ]; 43 + 44 + doCheck = true; 45 + 46 + meta = { 47 + description = "Parallel nonequispaced fast Fourier transforms"; 48 + homepage = "https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en#pnfft"; 49 + license = lib.licenses.gpl3Plus; 50 + maintainers = with lib.maintainers; [ hmenke ]; 51 + platforms = lib.platforms.linux; 52 + }; 53 + })