Add meson Python build backend (#31809)

This commit is contained in:
Adam J. Stewart
2022-08-01 22:55:41 -07:00
committed by GitHub
parent 113acd4714
commit 22d4612d94
4 changed files with 118 additions and 37 deletions

View 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 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"))

View 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 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")

View File

@@ -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"))