summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorChristian Glusa <cgcgcg@users.noreply.github.com>2023-02-07 15:12:15 -0700
committerGitHub <noreply@github.com>2023-02-07 14:12:15 -0800
commitdf80cffafa48109122bf66791640265607c3c23d (patch)
tree453a4876316f9c33bb9d379462600d06d2d81b7a /var
parentb52d4b8abf9720f7161697cc2e62823da3195d9b (diff)
downloadspack-df80cffafa48109122bf66791640265607c3c23d.tar.gz
spack-df80cffafa48109122bf66791640265607c3c23d.tar.bz2
spack-df80cffafa48109122bf66791640265607c3c23d.tar.xz
spack-df80cffafa48109122bf66791640265607c3c23d.zip
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
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/py-gmsh-interop/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-meshpy/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-modepy/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-pymbolic/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pynucleus/package.py64
-rw-r--r--var/spack/repos/builtin/packages/py-pytools/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-sparse/package.py27
7 files changed, 188 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/py-gmsh-interop/package.py b/var/spack/repos/builtin/packages/py-gmsh-interop/package.py
new file mode 100644
index 0000000000..62ab6fbe13
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-gmsh-interop/package.py
@@ -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"))
diff --git a/var/spack/repos/builtin/packages/py-meshpy/package.py b/var/spack/repos/builtin/packages/py-meshpy/package.py
new file mode 100644
index 0000000000..106d71fb05
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-meshpy/package.py
@@ -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"))
diff --git a/var/spack/repos/builtin/packages/py-modepy/package.py b/var/spack/repos/builtin/packages/py-modepy/package.py
new file mode 100644
index 0000000000..067364c1e2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-modepy/package.py
@@ -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"))
diff --git a/var/spack/repos/builtin/packages/py-pymbolic/package.py b/var/spack/repos/builtin/packages/py-pymbolic/package.py
new file mode 100644
index 0000000000..a6714abe3f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pymbolic/package.py
@@ -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")
diff --git a/var/spack/repos/builtin/packages/py-pynucleus/package.py b/var/spack/repos/builtin/packages/py-pynucleus/package.py
new file mode 100644
index 0000000000..aa5636a2c3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pynucleus/package.py
@@ -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)
diff --git a/var/spack/repos/builtin/packages/py-pytools/package.py b/var/spack/repos/builtin/packages/py-pytools/package.py
index ce51361c20..3373708ea5 100644
--- a/var/spack/repos/builtin/packages/py-pytools/package.py
+++ b/var/spack/repos/builtin/packages/py-pytools/package.py
@@ -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"))
diff --git a/var/spack/repos/builtin/packages/py-scikit-sparse/package.py b/var/spack/repos/builtin/packages/py-scikit-sparse/package.py
new file mode 100644
index 0000000000..51c4adb836
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-scikit-sparse/package.py
@@ -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"]