From 22d4612d94af7e1d4cf6f202231807e5db1cc042 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 1 Aug 2022 22:55:41 -0700 Subject: Add meson Python build backend (#31809) --- .../builtin/packages/py-meson-python/package.py | 23 +++++++++++++++++++++ .../repos/builtin/packages/py-meson/package.py | 24 ++++++++++++++++++++++ .../packages/py-pyproject-metadata/package.py | 19 +++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-meson-python/package.py create mode 100644 var/spack/repos/builtin/packages/py-meson/package.py create mode 100644 var/spack/repos/builtin/packages/py-pyproject-metadata/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/py-meson-python/package.py b/var/spack/repos/builtin/packages/py-meson-python/package.py new file mode 100644 index 0000000000..7f3b6e76da --- /dev/null +++ b/var/spack/repos/builtin/packages/py-meson-python/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 PyMesonPython(PythonPackage): + """Meson Python build backend (PEP 517).""" + + homepage = "https://github.com/FFY00/mesonpy" + pypi = "meson_python/meson_python-0.7.0.tar.gz" + + version("0.7.0", sha256="9fcfa350f44ca80dd4f5f9c3d251725434acf9a07d9618f382e6cc4629dcbe84") + + depends_on("python@3.7:", type=("build", "run")) + depends_on("py-meson@0.62:", type=("build", "run")) + depends_on("py-ninja", type=("build", "run")) + depends_on("py-pyproject-metadata@0.5:", type=("build", "run")) + depends_on("py-tomli@1:", type=("build", "run")) + depends_on("py-typing-extensions@3.7.4:", when="^python@:3.7", type=("build", "run")) + depends_on("py-colorama", when="platform=windows", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-meson/package.py b/var/spack/repos/builtin/packages/py-meson/package.py new file mode 100644 index 0000000000..2009ccc179 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-meson/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 PyMeson(PythonPackage): + """A high performance build system. + + Meson is a cross-platform build system designed to be both as fast and as user + friendly as possible. It supports many languages and compilers, including GCC, + Clang, PGI, Intel, and Visual Studio. Its build definitions are written in a simple + non-Turing complete DSL. + """ + + homepage = "https://mesonbuild.com/" + pypi = "meson/meson-0.62.2.tar.gz" + + version("0.62.2", sha256="a7669e4c4110b06b743d57cc5d6432591a6677ef2402139fe4f3d42ac13380b0") + + depends_on("python@3.7:", type=("build", "run")) + depends_on("py-setuptools@42:", type="build") diff --git a/var/spack/repos/builtin/packages/py-pyproject-metadata/package.py b/var/spack/repos/builtin/packages/py-pyproject-metadata/package.py new file mode 100644 index 0000000000..312ff58e25 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pyproject-metadata/package.py @@ -0,0 +1,19 @@ +# 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 PyPyprojectMetadata(PythonPackage): + """PEP 621 metadata parsing.""" + + homepage = "https://github.com/FFY00/python-pyproject-metadata" + pypi = "pyproject-metadata/pyproject-metadata-0.6.1.tar.gz" + + version("0.6.1", sha256="b5fb09543a64a91165dfe85796759f9e415edc296beb4db33d1ecf7866a862bd") + + depends_on("python@3.7:", type=("build", "run")) + depends_on("py-setuptools@42:", type="build") + depends_on("py-packaging@19:", type=("build", "run")) -- cgit v1.2.3-60-g2f50