New package: PyNucleus & dependencies (#35327)
* Add py-scikit-sparse package * Add py-gmsh-interop package * Add py-modepy package * Add py-pymbolic package * Add py-meshpy package * Add py-pynucleus package * Add new version of py-pytools
This commit is contained in:
parent
b52d4b8abf
commit
df80cffafa
23
var/spack/repos/builtin/packages/py-gmsh-interop/package.py
Normal file
23
var/spack/repos/builtin/packages/py-gmsh-interop/package.py
Normal file
@ -0,0 +1,23 @@
|
||||
# Copyright 2013-2022 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 PyGmshInterop(PythonPackage):
|
||||
"""Interoperability between Python and Gmsh"""
|
||||
|
||||
homepage = "https://documen.tician.de/gmsh_interop"
|
||||
pypi = "gmesh_interop/gmesh_interop-2021.1.1.tar.gz"
|
||||
git = "https://github.com/inducer/gmsh_interop.git"
|
||||
|
||||
maintainers("cgcgcg")
|
||||
|
||||
version("2021.1.1", sha256="5456903283327dfa57fd973bb463c5fbc1c98c8f7ad15327441acb75da10b5f1")
|
||||
|
||||
depends_on("python@3.6:3", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-numpy@1.6:", type=("build", "run"))
|
||||
depends_on("py-pytools", type=("build", "run"))
|
25
var/spack/repos/builtin/packages/py-meshpy/package.py
Normal file
25
var/spack/repos/builtin/packages/py-meshpy/package.py
Normal file
@ -0,0 +1,25 @@
|
||||
# Copyright 2013-2022 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 PyMeshpy(PythonPackage):
|
||||
"""Simplicial Mesh Generation from Python"""
|
||||
|
||||
homepage = "https://documen.tician.de/meshpy/"
|
||||
pypi = "MeshPy/MeshPy-2022.1.3.tar.gz"
|
||||
git = "https://github.com/inducer/meshpy.git"
|
||||
|
||||
maintainers("cgcgcg")
|
||||
|
||||
version("2022.1.3", sha256="a7158e31ece25fa6c6cebce9fd1e968157d661dc8769fb30ceba69c351478475")
|
||||
|
||||
depends_on("python@3.6:3", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-pybind11", type="build")
|
||||
depends_on("py-pytools@2011.2:", type=("build", "run"))
|
||||
depends_on("py-numpy", type=("build", "run"))
|
||||
depends_on("py-gmsh-interop", type=("build", "run"))
|
24
var/spack/repos/builtin/packages/py-modepy/package.py
Normal file
24
var/spack/repos/builtin/packages/py-modepy/package.py
Normal file
@ -0,0 +1,24 @@
|
||||
# Copyright 2013-2022 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 PyModepy(PythonPackage):
|
||||
"""Basis Functions and Node Sets for Interpolation"""
|
||||
|
||||
homepage = "http://documen.tician.de/modepy"
|
||||
pypi = "modepy/modepy-2021.1.tar.gz"
|
||||
git = "https://github.com/inducer/modepy.git"
|
||||
|
||||
maintainers("cgcgcg")
|
||||
|
||||
version("2021.1", sha256="4cddd2d4720128356e0019e8d972d979552eafad059f4acef01e106b22d8d297")
|
||||
|
||||
depends_on("python@3.6:3", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-numpy", type=("build", "run"))
|
||||
depends_on("py-pytools@2013.1:", type=("build", "run"))
|
||||
depends_on("py-pytest@2.3:", type=("build", "run"))
|
22
var/spack/repos/builtin/packages/py-pymbolic/package.py
Normal file
22
var/spack/repos/builtin/packages/py-pymbolic/package.py
Normal file
@ -0,0 +1,22 @@
|
||||
# Copyright 2013-2022 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 PyPymbolic(PythonPackage):
|
||||
"""A simple package to do symbolic math (focus on code gen and DSLs)"""
|
||||
|
||||
homepage = "http://mathema.tician.de/software/pymbolic"
|
||||
pypi = "pymbolic/pymbolic-2022.2.tar.gz"
|
||||
git = "https://github.com/inducer/pymbolic.git"
|
||||
|
||||
maintainers("cgcgcg")
|
||||
|
||||
version("2022.2", sha256="f82776942bb3cb72329fa1f1aa2b68ec09f237db9178c95cfdc92a6aea7cec89")
|
||||
|
||||
depends_on("python@3.8:3", type=("build", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-pytools@2:", type="run")
|
64
var/spack/repos/builtin/packages/py-pynucleus/package.py
Normal file
64
var/spack/repos/builtin/packages/py-pynucleus/package.py
Normal file
@ -0,0 +1,64 @@
|
||||
# Copyright 2013-2022 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 PyPynucleus(PythonPackage):
|
||||
"""PyNucleus is a finite element code that specifically targets nonlocal operators."""
|
||||
|
||||
homepage = "https://sandialabs.github.io/PyNucleus/index.html"
|
||||
git = "https://github.com/sandialabs/PyNucleus.git"
|
||||
|
||||
maintainers("cgcgcg")
|
||||
|
||||
refs = ["master", "develop"]
|
||||
|
||||
for ref in refs:
|
||||
version(ref, branch=ref)
|
||||
|
||||
depends_on("py-mpi4py@2.0.0:", type=("build", "link", "run"))
|
||||
depends_on("py-cython", type=("build", "run"))
|
||||
depends_on("py-numpy", type=("build", "link", "run"))
|
||||
depends_on("py-scipy", type=("build", "link", "run"))
|
||||
depends_on("metis", type=("build", "link", "run"))
|
||||
depends_on("parmetis", type=("build", "link", "run"))
|
||||
depends_on("suite-sparse", type=("build", "run"))
|
||||
depends_on("py-h5py", type=("build", "run"))
|
||||
depends_on("py-tabulate", type=("build", "run"))
|
||||
depends_on("py-pyyaml", type=("build", "run"))
|
||||
depends_on("py-matplotlib", type=("build", "run"))
|
||||
depends_on("py-scikit-sparse", type=("build", "run"))
|
||||
depends_on("py-modepy", type=("build", "run"))
|
||||
depends_on("py-meshpy", type=("build", "run"))
|
||||
depends_on("py-pytools", type=("build", "run"))
|
||||
depends_on("py-psutil", type="run")
|
||||
|
||||
variant("examples", default=True, description="Install examples")
|
||||
|
||||
import_modules = [
|
||||
"PyNucleus",
|
||||
"PyNucleus-packageTools",
|
||||
"PyNucleus-base",
|
||||
"PyNucleus-metisCy",
|
||||
"PyNucleus-fem",
|
||||
"PyNucleus-multilevelSolver",
|
||||
"PyNucleus-nl",
|
||||
]
|
||||
|
||||
@run_before("install")
|
||||
def install_python(self):
|
||||
prefix = self.prefix
|
||||
for subpackage in ["packageTools", "base", "metisCy", "fem", "multilevelSolver", "nl"]:
|
||||
with working_dir(subpackage):
|
||||
args = std_pip_args + ["--prefix=" + prefix, "."]
|
||||
pip(*args)
|
||||
|
||||
@run_after("install")
|
||||
def install_additional_files(self):
|
||||
spec = self.spec
|
||||
prefix = self.prefix
|
||||
if "+examples" in spec:
|
||||
install_tree("drivers", prefix.drivers)
|
@ -12,6 +12,7 @@ class PyPytools(PythonPackage):
|
||||
homepage = "https://github.com/inducer/pytools"
|
||||
pypi = "pytools/pytools-2019.1.1.tar.gz"
|
||||
|
||||
version("2022.1.14", sha256="41017371610bb2a03685597c5285205e6597c7f177383d95c8b871244b12c14e")
|
||||
version("2022.1.12", sha256="4d62875e9a2ab2a24e393a9a8b799492f1a721bffa840af3807bfd42871dd1f4")
|
||||
version("2021.2.9", sha256="db6cf83c9ba0a165d545029e2301621486d1e9ef295684072e5cd75316a13755")
|
||||
version("2019.1.1", sha256="ce2d702ae4ef10a70197b00b93141461140d00578f2a862fa946ca1446a300db")
|
||||
@ -28,4 +29,5 @@ class PyPytools(PythonPackage):
|
||||
depends_on("py-numpy@1.6.0:", when="@2022.1.12: +numpy", type=("build", "run"))
|
||||
depends_on("py-typing-extensions@4.0:", when="@2021.2.9: ^python@:3.10", type=("build", "run"))
|
||||
depends_on("python@2.6:2.8,3.4:", type=("build", "run"))
|
||||
depends_on("python@3.6:3", when="@2021.2.9:", type=("build", "run"))
|
||||
depends_on("python@3.6:3", when="@2021.2.9:2022.1.12", type=("build", "run"))
|
||||
depends_on("python@3.8:3", when="@2022.1.14:", type=("build", "run"))
|
||||
|
27
var/spack/repos/builtin/packages/py-scikit-sparse/package.py
Normal file
27
var/spack/repos/builtin/packages/py-scikit-sparse/package.py
Normal file
@ -0,0 +1,27 @@
|
||||
# Copyright 2013-2022 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 PyScikitSparse(PythonPackage):
|
||||
"""Sparse matrix tools extending scipy.sparse, but with incompatible licenses"""
|
||||
|
||||
homepage = "https://github.com/scikit-sparse/scikit-sparse"
|
||||
pypi = "scikit-sparse/scikit-sparse-0.4.8.tar.gz"
|
||||
git = "https://github.com/scikit-sparse/scikit-sparse.git"
|
||||
|
||||
maintainers("cgcgcg")
|
||||
|
||||
version("0.4.8", sha256="2a224c60da3ef951975242ea777478583d3265efc72db5cfb7861686521a4009")
|
||||
|
||||
depends_on("python@3.6:3.11", type=("build", "link", "run"))
|
||||
depends_on("py-setuptools@40.8:", type="build")
|
||||
depends_on("py-cython@0.22:", type="build")
|
||||
depends_on("py-numpy@1.13.3:", type=("build", "link", "run"))
|
||||
depends_on("py-scipy@0.19:", type="run")
|
||||
depends_on("suite-sparse", type=("build", "link", "run"))
|
||||
|
||||
import_modules = ["sksparse"]
|
Loading…
Reference in New Issue
Block a user