diff options
author | Pierre Augier <pierre.augier@univ-grenoble-alpes.fr> | 2024-09-11 17:45:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-11 09:45:56 -0600 |
commit | 5beed521bd280d5e1ea2deba3052e92b9dfa5cf4 (patch) | |
tree | ac8b5b6a8f30527e10de3abc8f46df3482a82e9b /var | |
parent | 5fa8890bd3f239464fc8375f934c692cec599a70 (diff) | |
download | spack-5beed521bd280d5e1ea2deba3052e92b9dfa5cf4.tar.gz spack-5beed521bd280d5e1ea2deba3052e92b9dfa5cf4.tar.bz2 spack-5beed521bd280d5e1ea2deba3052e92b9dfa5cf4.tar.xz spack-5beed521bd280d5e1ea2deba3052e92b9dfa5cf4.zip |
py-fluidfft and co: add new packages (#46236)
* Add new packages: py-fluidfft and co
* py-fluidfft: add few contrains (version dependencies)
Diffstat (limited to 'var')
7 files changed, 214 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/py-fluidfft-builder/package.py b/var/spack/repos/builtin/packages/py-fluidfft-builder/package.py new file mode 100644 index 0000000000..d6b81dcbf1 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-fluidfft-builder/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyFluidfftBuilder(PythonPackage): + """Fluidfft plugin dependencies""" + + pypi = "fluidfft-builder/fluidfft_builder-0.0.2.tar.gz" + + maintainers("paugier") + license("MIT", checked_by="paugier") + + version("0.0.2", sha256="c0af9ceca27ae3a00ccf2f160703be9e394d8b886b8a02653b6c0a12a4f54a90") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-flit-core@3.2:3", type="build") diff --git a/var/spack/repos/builtin/packages/py-fluidfft-fftw/package.py b/var/spack/repos/builtin/packages/py-fluidfft-fftw/package.py new file mode 100644 index 0000000000..2a72ef81f4 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-fluidfft-fftw/package.py @@ -0,0 +1,30 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyFluidfftFftw(PythonPackage): + """Fluidfft plugin using fftw.""" + + pypi = "fluidfft_fftw/fluidfft_fftw-0.0.1.tar.gz" + + maintainers("paugier") + license("CECILL-B", checked_by="paugier") + + version("0.0.1", sha256="59967846e1d976508db30ff65987e9c1e6c024ec9c095849608ee8913b96d3ff") + + with default_args(type=("build", "run")): + depends_on("python@3.9:") + + with default_args(type="link"): + depends_on("fftw") + + with default_args(type="build"): + depends_on("py-meson-python") + depends_on("py-transonic@0.6.4:") + depends_on("py-fluidfft-builder") + + depends_on("py-fluidfft", type="run") diff --git a/var/spack/repos/builtin/packages/py-fluidfft-fftwmpi/package.py b/var/spack/repos/builtin/packages/py-fluidfft-fftwmpi/package.py new file mode 100644 index 0000000000..6df9d0e74b --- /dev/null +++ b/var/spack/repos/builtin/packages/py-fluidfft-fftwmpi/package.py @@ -0,0 +1,31 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyFluidfftFftwmpi(PythonPackage): + """Fluidfft plugin using fftwmpi.""" + + pypi = "fluidfft-fftwmpi/fluidfft_fftwmpi-0.0.1.tar.gz" + + maintainers("paugier") + license("CECILL-B", checked_by="paugier") + + version("0.0.1", sha256="af3c606852e991c2c1b3ea4f7558c69ab9138b713a7166a6eedf48ef1af660d3") + + with default_args(type=("build", "run")): + extends("python@3.9:") + depends_on("py-mpi4py") + + with default_args(type="link"): + depends_on("fftw") + + with default_args(type="build"): + depends_on("py-meson-python") + depends_on("py-transonic@0.6.4:") + depends_on("py-fluidfft-builder") + + depends_on("py-fluidfft", type="run") diff --git a/var/spack/repos/builtin/packages/py-fluidfft-mpi-with-fftw/package.py b/var/spack/repos/builtin/packages/py-fluidfft-mpi-with-fftw/package.py new file mode 100644 index 0000000000..85180586fb --- /dev/null +++ b/var/spack/repos/builtin/packages/py-fluidfft-mpi-with-fftw/package.py @@ -0,0 +1,31 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyFluidfftMpiWithFftw(PythonPackage): + """Fluidfft MPI plugin using fftw.""" + + pypi = "fluidfft-mpi_with_fftw/fluidfft_mpi_with_fftw-0.0.1.tar.gz" + + maintainers("paugier") + license("CECILL-B", checked_by="paugier") + + version("0.0.1", sha256="ab8c1867e745715892f8d30c9409e9509467a610f5a702ac7b5cfa003787f6ce") + + with default_args(type=("build", "run")): + depends_on("python@3.9:") + depends_on("py-mpi4py") + + with default_args(type="link"): + depends_on("fftw") + + with default_args(type="build"): + depends_on("py-meson-python") + depends_on("py-transonic@0.6.4:") + depends_on("py-fluidfft-builder") + + depends_on("py-fluidfft", type="run") diff --git a/var/spack/repos/builtin/packages/py-fluidfft-p3dfft/package.py b/var/spack/repos/builtin/packages/py-fluidfft-p3dfft/package.py new file mode 100644 index 0000000000..dd1da7b6b9 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-fluidfft-p3dfft/package.py @@ -0,0 +1,32 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyFluidfftP3dfft(PythonPackage): + """Fluidfft MPI plugin using p3dfft.""" + + pypi = "fluidfft-p3dfft/fluidfft_p3dfft-0.0.1.tar.gz" + + maintainers("paugier") + license("CECILL-B", checked_by="paugier") + + version("0.0.1", sha256="1c291236a43045b9f8b9725e568277c5f405d2e2d9f811ba1bc9c5e1d9f2f827") + + with default_args(type=("build", "run")): + depends_on("python@3.9:") + depends_on("py-mpi4py") + + with default_args(type="link"): + depends_on("p3dfft3") + depends_on("fftw") + + with default_args(type="build"): + depends_on("py-meson-python") + depends_on("py-transonic@0.6.4:") + depends_on("py-fluidfft-builder") + + depends_on("py-fluidfft", type="run") diff --git a/var/spack/repos/builtin/packages/py-fluidfft-pfft/package.py b/var/spack/repos/builtin/packages/py-fluidfft-pfft/package.py new file mode 100644 index 0000000000..63a18cc3b8 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-fluidfft-pfft/package.py @@ -0,0 +1,32 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyFluidfftPfft(PythonPackage): + """Fluidfft MPI plugin using pfft.""" + + pypi = "fluidfft-pfft/fluidfft_pfft-0.0.1.tar.gz" + + maintainers("paugier") + license("CECILL-B", checked_by="paugier") + + version("0.0.1", sha256="ef8255bd78c9d2dbfb11715542b221d457eedfa0a5b0bbdd1b95e8fbe64043c5") + + with default_args(type=("build", "run")): + depends_on("python@3.9:") + depends_on("py-mpi4py") + + with default_args(type="link"): + depends_on("fftw") + depends_on("pfft") + + with default_args(type="build"): + depends_on("py-meson-python") + depends_on("py-transonic@0.6.4:") + depends_on("py-fluidfft-builder") + + depends_on("py-fluidfft", type="run") diff --git a/var/spack/repos/builtin/packages/py-fluidfft/package.py b/var/spack/repos/builtin/packages/py-fluidfft/package.py new file mode 100644 index 0000000000..e674665785 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-fluidfft/package.py @@ -0,0 +1,38 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyFluidfft(PythonPackage): + """Efficient and easy Fast Fourier Transform (FFT) for Python.""" + + pypi = "fluidfft/fluidfft-0.4.2.tar.gz" + + maintainers("paugier") + + license("CECILL-B", checked_by="paugier") + + version("0.4.2", sha256="5e35f1fb647da2fa65c116bb0d598fc9cb975cd95c41022644c27dc726c36073") + version("0.4.1", sha256="b17e64c7b2be47c61d6ac7b713e0e8992cf900d2367381288c93a56090e6c0c1") + + variant("native", default=False, description="Compile with -march=native and -Ofast.") + + with default_args(type=("build", "run")): + depends_on("python@3.9:") + depends_on("py-transonic@0.6.4:") + + with default_args(type="build"): + depends_on("py-meson-python") + depends_on("py-pythran@0.9.7:") + + with default_args(type="run"): + depends_on("py-fluiddyn@0.2.3:") + depends_on("py-pyfftw@0.10.4:") + depends_on("py-importlib_metadata", when="^python@:3.10") + + def config_settings(self, spec, prefix): + settings = {"setup-args": {"-Dnative": spec.variants["native"].value}} + return settings |