summaryrefslogtreecommitdiff
path: root/dev-python/nanobind
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-09 12:24:59 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-09 12:24:59 +0100
commitc218398bbbe70a616790cf146c28c1066b9284bf (patch)
treea598e8c85afbc52bb7eca18ae415ef4971e65c8f /dev-python/nanobind
parenta5442e2318cb4df55867389654e322dbac82067e (diff)
gentoo auto-resync : 09:07:2024 - 12:24:58
Diffstat (limited to 'dev-python/nanobind')
-rw-r--r--dev-python/nanobind/Manifest3
-rw-r--r--dev-python/nanobind/metadata.xml12
-rw-r--r--dev-python/nanobind/nanobind-2.0.0-r1.ebuild71
3 files changed, 86 insertions, 0 deletions
diff --git a/dev-python/nanobind/Manifest b/dev-python/nanobind/Manifest
new file mode 100644
index 000000000000..bf9659b4b25b
--- /dev/null
+++ b/dev-python/nanobind/Manifest
@@ -0,0 +1,3 @@
+DIST nanobind-2.0.0.gh.tar.gz 842956 BLAKE2B 82a2b44d904a2bfc88538d3bac6d5d96b473bcca2ff98647f9edd656a1d20fae324fcf334b848f861723aae666690b6b17ee626dede89bac6b140e9ef8cd01fe SHA512 1bafbf6b18c9b65b5ecb3bbf23a164b17ee52ef4f053a00de986a35e17e662422b54cea1c145f83ee8a3973bba383a949b3c305dcfecfbf139ab90006d42935e
+EBUILD nanobind-2.0.0-r1.ebuild 1562 BLAKE2B 4d4ed9d53947ee90c67badf1eb536d172982d678432f2b1dce8981cff34f653a4dd229af115f62a8b52a029199e4b737ea2714ae30d5cce3fea78effce37f215 SHA512 5bca31efc9880d1455598a54567218027b16dc99a0d522734aa3a043b8473702135fcb0a878d2b7c183bfb8d39fbf3e65736e83643ec1975639b2ad336a49dfa
+MISC metadata.xml 367 BLAKE2B 915d33ed8f2b0e38faec001e256fc86d393b23b94bae31f2648948339be7c3d6a2b1b2a18063193c9d190cabfdc4c744d6b664c63534b88dc7afc2a2f1ccc688 SHA512 b60a701257bad827d63af141fbc9b4cadadbb397bca054db97c63eba9e174a902afc7785c3f868b6e86ec62f007f7e822d3c5b6dacb107083559b31202cef7a2
diff --git a/dev-python/nanobind/metadata.xml b/dev-python/nanobind/metadata.xml
new file mode 100644
index 000000000000..aa352e9fc755
--- /dev/null
+++ b/dev-python/nanobind/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">wjakob/nanobind</remote-id>
+ <remote-id type="pypi">nanobind</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nanobind/nanobind-2.0.0-r1.ebuild b/dev-python/nanobind/nanobind-2.0.0-r1.ebuild
new file mode 100644
index 000000000000..29c33ed44567
--- /dev/null
+++ b/dev-python/nanobind/nanobind-2.0.0-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake distutils-r1
+
+DESCRIPTION="Tiny and efficient C++/Python bindings"
+HOMEPAGE="
+ https://github.com/wjakob/nanobind
+ https://pypi.org/project/nanobind/
+"
+SRC_URI="
+ https://github.com/wjakob/nanobind/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND=">=dev-cpp/robin-map-1.3.0"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # This test assumes in-source build for the .pyi stubs.
+ # (Hack because EPYTEST_IGNORE doesn't work with the paths it collects(?))
+ echo > tests/test_stubs.py || die
+
+ cmake_src_prepare
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ # XXX: nanobind installs a CMake config file which by default passes -Os
+ # We currently patch around it in dev-python/pyopencl. In future, we
+ # may want to add some override with Gentoo specific environment vars.
+ local mycmakeargs=(
+ -DNB_CREATE_INSTALL_RULES=ON
+ -DNB_USE_SUBMODULE_DEPS=OFF
+ -DNB_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ cmake_src_compile
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/tests" || die
+ epytest "${S}/tests"
+}
+
+python_install() {
+ distutils-r1_python_install
+ cmake_src_install
+}