diff options
author | Bernd Waibel <waebbl@gmail.com> | 2019-04-22 11:37:37 +0200 |
---|---|---|
committer | Bernd Waibel <waebbl@gmail.com> | 2019-04-22 11:37:37 +0200 |
commit | a3a57530854f61379e2c724ba75010a29c54ad35 (patch) | |
tree | e0512bfbc5f52f0a077fcc93d38e2b92e38d1751 | |
parent | dev-util/codespell: new package (diff) | |
download | guru-a3a57530854f61379e2c724ba75010a29c54ad35.tar.gz guru-a3a57530854f61379e2c724ba75010a29c54ad35.tar.bz2 guru-a3a57530854f61379e2c724ba75010a29c54ad35.zip |
dev-util/pybind11: new package
Bidirectional library for C++11 and Python bindings
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Bernd Waibel <waebbl@gmail.com>
-rw-r--r-- | dev-util/pybind11/Manifest | 1 | ||||
-rw-r--r-- | dev-util/pybind11/metadata.xml | 12 | ||||
-rw-r--r-- | dev-util/pybind11/pybind11-2.2.4.ebuild | 94 |
3 files changed, 107 insertions, 0 deletions
diff --git a/dev-util/pybind11/Manifest b/dev-util/pybind11/Manifest new file mode 100644 index 000000000..5a4fe9b4d --- /dev/null +++ b/dev-util/pybind11/Manifest @@ -0,0 +1 @@ +DIST pybind11-2.2.4.tar.gz 548404 BLAKE2B b56230b5a4c0f392b714ead40d414a8b587396dbeec4089f5b77141cc7c2caf135f17f680b653d2e5be8b60a19a48a716fe8e562f337650fdac76461fb982aee SHA512 6bddf5c885ff92a3e373bcedc6574dfefe8be9ebb6176c6c96d475457466c76bfb982c6df4066cb0fbead4b867f87dbc4fbc1605c80852635016f614330ce041 diff --git a/dev-util/pybind11/metadata.xml b/dev-util/pybind11/metadata.xml new file mode 100644 index 000000000..e757cfbf9 --- /dev/null +++ b/dev-util/pybind11/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="person"> + <email>waebbl@gmail.com</email> + <name>Bernd Waibel</name> +</maintainer> +<longdescription> + Lightweight header-only library that exposes C++ types in Python and + vice versa, mainly to create Python bindings of existing C++ code. +</longdescription> +</pkgmetadata> diff --git a/dev-util/pybind11/pybind11-2.2.4.ebuild b/dev-util/pybind11/pybind11-2.2.4.ebuild new file mode 100644 index 000000000..81fe08daa --- /dev/null +++ b/dev-util/pybind11/pybind11-2.2.4.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# according to upstream is compatible with 2.7 and 3.x +# 3.7 not added due to some dependencies not yet supporting it +PYTHON_COMPAT=( python{2_7,3_{5,6}} ) + +inherit cmake-utils python-single-r1 + +DESCRIPTION="Seamless operability between C++11 and Python" +HOMEPAGE="https://pybind11.readthedocs.io/en/stable/" +SRC_URI="https://github.com/pybind/pybind11/archive/v${PV}.tar.gz -> ${P}.tar.gz" +LICENSE="BSD" + +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="doc test" + +RESTRICT="!test? ( test )" + +DEPEND=" + ${PYTHON_DEP} + doc? ( + dev-python/breathe[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ) + test? ( + dev-cpp/catch + dev-libs/boost[python,${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + sci-libs/scipy[${PYTHON_USEDEP}] + ) +" + +RDEPEND=" + ${PYTHON_DEP} + dev-cpp/eigen + sys-apps/texinfo + sys-devel/gettext[cxx] + virtual/man +" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DOCS=( README.md CONTRIBUTING.md ISSUE_TEMPLATE.md ) + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_configure() { + mycmakeargs=( + -DPYBIND11_INSTALL=ON + -DPYBIND11_TEST=$(usex test) + ) + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile + + # documentation is not covered by cmake, but has it's own makefile + # using sphinx + if use doc; then + pushd "${S}"/docs || die + emake info man html + popd || die + fi +} + +src_test() { + cmake-utils_src_test + pushd "${BUILD_DIR}" || die + emake check + popd || die +} + +src_install() { + cmake-utils_src_install + + if use doc; then + local HTML_DOCS=( "${S}"/docs/.build/html/. ) + einstalldocs + + # install man and info pages + doman "${S}"/docs/.build/man/pybind11.1 + doinfo "${S}"/docs/.build/texinfo/pybind11.info + fi +} |