summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pybind11/pybind11-2.12.0.ebuild')
-rw-r--r--dev-python/pybind11/pybind11-2.12.0.ebuild74
1 files changed, 74 insertions, 0 deletions
diff --git a/dev-python/pybind11/pybind11-2.12.0.ebuild b/dev-python/pybind11/pybind11-2.12.0.ebuild
new file mode 100644
index 000000000000..69e54e32b12b
--- /dev/null
+++ b/dev-python/pybind11/pybind11-2.12.0.ebuild
@@ -0,0 +1,74 @@
+# 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..12} pypy3 )
+
+inherit cmake distutils-r1
+
+DESCRIPTION="AST-based Python refactoring library"
+HOMEPAGE="
+ https://pybind11.readthedocs.io/en/stable/
+ https://github.com/pybind/pybind11/
+ https://pypi.org/project/pybind11/
+"
+SRC_URI="
+ https://github.com/pybind/pybind11/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-cpp/eigen:3
+"
+BDEPEND="
+ test? (
+ <dev-cpp/catch-3
+ >=dev-cpp/catch-2.13.9
+ dev-libs/boost
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ cmake_src_prepare
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local mycmakeargs=(
+ # disable forced lto
+ -DHAS_FLTO=OFF
+ # https://github.com/pybind/pybind11/issues/5087
+ -DPYBIND11_FINDPYTHON=OFF
+ -DPYBIND11_INSTALL=ON
+ -DPYBIND11_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Compilation only does anything for tests
+ use test && cmake_src_compile
+}
+
+python_test() {
+ cmake_build cpptest test_cmake_build
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/tests" || die
+ epytest "${S}/tests"
+}
+
+python_install() {
+ distutils-r1_python_install
+ cmake_src_install
+}