From db33124708eb03bf562b8a7fd5e29a5ce047257d Mon Sep 17 00:00:00 2001 From: Tal Ben-Nun Date: Mon, 1 Jan 2024 07:08:13 -0800 Subject: dace: Add package and version 0.15.1 (#36178) * dace: Add package and version 0.14.2 * Update dependencies and package version * Address review comments * Style * Address review comments * Address review comments --- .../repos/builtin/packages/py-dace/package.py | 53 ++++++++++++++++++++++ .../repos/builtin/packages/py-fparser/package.py | 11 ++++- .../builtin/packages/py-pyreadline/package.py | 19 ++++++++ 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 var/spack/repos/builtin/packages/py-dace/package.py create mode 100644 var/spack/repos/builtin/packages/py-pyreadline/package.py diff --git a/var/spack/repos/builtin/packages/py-dace/package.py b/var/spack/repos/builtin/packages/py-dace/package.py new file mode 100644 index 0000000000..612e09063b --- /dev/null +++ b/var/spack/repos/builtin/packages/py-dace/package.py @@ -0,0 +1,53 @@ +# Copyright 2013-2023 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 PyDace(PythonPackage): + """DaCe is a fast parallel programming framework that takes code in + Python/NumPy and other programming languages, and maps it to + high-performance CPU, GPU, and FPGA programs, which can be + optimized programmatically or interactively.""" + + homepage = "https://github.com/spcl/dace" + pypi = "dace/dace-0.15.1.tar.gz" + git = "https://github.com/spcl/dace.git" + + maintainers("tbennun") + + version("master", branch="master", submodules=True) + version("0.15.1", sha256="69bfdbbd5c7177f2926a874f5fa82fcdef61fc532c022b4bc12e1e9218724093") + + variant( + "counters", + description="Optional requirements that enable performance counter collection.", + default=False, + ) + + depends_on("python@3.6:3.12", type=("build", "run")) + depends_on("py-setuptools", type="build") + + # Dependencies from setup.py + depends_on("py-numpy", type=("build", "run")) + depends_on("py-networkx@2.5:", type=("build", "run")) + depends_on("py-astunparse", type=("build", "run")) + # A typo in the 0.15.1 setup.py specifies sympy <= 1.9 instead of >= 1.9. + # See https://github.com/spcl/dace/pull/1483 for more information. + depends_on("py-sympy@1.9:", type=("build", "run")) + depends_on("py-pyyaml", type=("build", "run")) + depends_on("py-ply", type=("build", "run")) + depends_on("py-websockets", type=("build", "run")) + depends_on("py-requests", when="@:0.15.1", type=("build", "run")) + depends_on("py-flask", when="@:0.15.1", type=("build", "run")) + depends_on("py-fparser@0.1.3:", type=("build", "run")) + depends_on("py-aenum@3.1:", type=("build", "run")) + depends_on("py-dill", type=("build", "run")) + depends_on("py-pyreadline", when="platform=windows", type=("build", "run")) + + depends_on("cmake@3.15.0:", type=("build", "run")) + + # From performance counters requirements + depends_on("likwid@5.2.2:", when="+counters", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-fparser/package.py b/var/spack/repos/builtin/packages/py-fparser/package.py index 2d194658a4..c02e9c4892 100644 --- a/var/spack/repos/builtin/packages/py-fparser/package.py +++ b/var/spack/repos/builtin/packages/py-fparser/package.py @@ -11,21 +11,28 @@ class PyFparser(PythonPackage): homepage = "https://github.com/stfc/fparser" git = "https://github.com/stfc/fparser.git" - pypi = "fparser/fparser-0.0.16.tar.gz" + pypi = "fparser/fparser-0.1.3.tar.gz" license("BSD-3-Clause") version("develop", branch="master") + version("0.1.3", sha256="10ba8b2803632846f6f011278e3810188a078d89afcb4a38bed0cbf10f775736") version("0.0.16", sha256="a06389b95a1b9ed12f8141b69c67343da5ba0a29277b2997b02573a93af14e13") version("0.0.6", sha256="bf8a419cb528df1bfc24ddd26d63f2ebea6f1e103f1a259d8d3a6c9b1cd53012") version("0.0.5", sha256="f3b5b0ac56fd22abed558c0fb0ba4f28edb8de7ef24cfda8ca8996562215822f") + depends_on("py-setuptools@42:", type="build", when="@0.1:") depends_on("py-setuptools", type="build") + depends_on("py-setuptools-scm@6.2:+toml", type=("build", "run"), when="@0.1:") + depends_on("py-setuptools-scm-git-archive", type="build", when="@0.1:") + depends_on("py-wheel@0.29:", type="build", when="@0.1:") + + depends_on("py-importlib-metadata", type=("build", "run"), when="@0.1:") depends_on("py-numpy", type=("build", "run"), when="@:0.0.5") depends_on("py-nose", type=("build", "run"), when="@:0.0.7") # six is unused as of 0.0.15, but still listed in setup.py - depends_on("py-six", type=("build", "run"), when="@0.0.6:") + depends_on("py-six", type=("build", "run"), when="@0.0.6:0.0.16") depends_on("py-pytest", type="test") diff --git a/var/spack/repos/builtin/packages/py-pyreadline/package.py b/var/spack/repos/builtin/packages/py-pyreadline/package.py new file mode 100644 index 0000000000..c76802d4b7 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pyreadline/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2023 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 PyPyreadline(PythonPackage): + """A Python implementation of GNU readline functionality.""" + + homepage = "https://github.com/pyreadline/pyreadline" + git = "https://github.com/pyreadline/pyreadline.git" + pypi = "pyreadline/pyreadline-2.1.zip" + + version("master", branch="master") + version("2.1", sha256="4530592fc2e85b25b1a9f79664433da09237c1a270e4d78ea5aa3a2c7229e2d1") + + depends_on("py-setuptools", type="build") -- cgit v1.2.3-60-g2f50