From e8e6d69af55061e5a8cf2a12dee8067cb7ade12d Mon Sep 17 00:00:00 2001 From: Chris Richardson Date: Fri, 7 Jul 2023 17:02:45 +0100 Subject: New package: py-nanobind (#38327) * initial commit of nanobind package * style fixes * Update package.py Typo * addressed PR comments * add v1.4.0 * Update var/spack/repos/builtin/packages/py-nanobind/package.py Co-authored-by: Adam J. Stewart --------- Co-authored-by: Matthew Archer Co-authored-by: Adam J. Stewart --- .../repos/builtin/packages/py-nanobind/package.py | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-nanobind/package.py diff --git a/var/spack/repos/builtin/packages/py-nanobind/package.py b/var/spack/repos/builtin/packages/py-nanobind/package.py new file mode 100644 index 0000000000..de2a1c7cc7 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-nanobind/package.py @@ -0,0 +1,34 @@ +# 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 PyNanobind(PythonPackage): + """nanobind -- Seamless operability between C++11 and Python. + + nanobind is a small binding library that exposes C++ types in + Python and vice versa. It is reminiscent of Boost.Python and pybind11 + and uses near-identical syntax. In contrast to these existing tools, + nanobind is more efficient: bindings compile in a shorter amount of time, + produce smaller binaries, and have better runtime performance. + """ + + homepage = "https://nanobind.readthedocs.io" + url = "https://github.com/wjakob/nanobind/archive/refs/tags/v1.2.0.tar.gz" + git = "https://github.com/wjakob/nanobind.git" + + maintainers("ma595") + + version("master", branch="master", submodules=True) + version("1.4.0", tag="v1.4.0", submodules=True) + version("1.2.0", tag="v1.2.0", submodules=True) + + depends_on("python@3.8:", type=("build", "run")) + depends_on("py-setuptools@42:", type="build") + depends_on("py-scikit-build", type="build") + + depends_on("py-cmake@3.17:", type="build") + depends_on("py-ninja", type="build") -- cgit v1.2.3-70-g09d2