git: 9320013175ca - main - math/xtensor-python: New port: Python bindings for xtensor

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sat, 27 Nov 2021 05:26:10 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9320013175ca67645adfb30423d8fef817d9cc51

commit 9320013175ca67645adfb30423d8fef817d9cc51
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2021-11-27 02:32:03 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2021-11-27 05:26:06 +0000

    math/xtensor-python: New port: Python bindings for xtensor
---
 math/Makefile                 |  1 +
 math/xtensor-python/Makefile  | 35 +++++++++++++++++++++++++++++++++++
 math/xtensor-python/distinfo  |  3 +++
 math/xtensor-python/pkg-descr |  6 ++++++
 math/xtensor-python/pkg-plist | 12 ++++++++++++
 5 files changed, 57 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index f86ef164dfd4..6a9063d94961 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -1077,6 +1077,7 @@
     SUBDIR += xtensor
     SUBDIR += xtensor-blas
     SUBDIR += xtensor-io
+    SUBDIR += xtensor-python
     SUBDIR += yacas
     SUBDIR += yices
     SUBDIR += z3
diff --git a/math/xtensor-python/Makefile b/math/xtensor-python/Makefile
new file mode 100644
index 000000000000..d379e46afa83
--- /dev/null
+++ b/math/xtensor-python/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	xtensor-python
+DISTVERSION=	0.26.0
+CATEGORIES=	math python
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Python bindings for xtensor # it is called "bindings" but it doesn't install python modules, it's rather a header-only library to use xtensor from python extensions
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+HPP_DEPENDS=	xtensor>0:math/xtensor \
+		pybind11>0:devel/pybind11 \
+		${PYNUMPY}
+BUILD_DEPENDS=	${HPP_DEPENDS}
+RUN_DEPENDS=	${HPP_DEPENDS}
+TEST_DEPENDS=	googletest>0:devel/googletest \
+		pybind11>0:devel/pybind11
+
+USES=		cmake compiler:c++14-lang python
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	xtensor-stack
+
+CXXFLAGS+=	-I${PYTHON_INCLUDEDIR} -I${PYTHON_SITELIBDIR}/numpy/core/include # workaround for https://github.com/xtensor-stack/xtensor-python/issues/272
+
+NO_BUILD=	yes
+NO_ARCH=	yes
+
+do-test: install
+	@cd ${WRKSRC}/test && \
+		${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} . && \
+		${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} && \
+		${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} xtest
+
+.include <bsd.port.mk>
diff --git a/math/xtensor-python/distinfo b/math/xtensor-python/distinfo
new file mode 100644
index 000000000000..b8b0d49b69be
--- /dev/null
+++ b/math/xtensor-python/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1637967434
+SHA256 (xtensor-stack-xtensor-python-0.26.0_GH0.tar.gz) = 04dcfe84181c23f364b1e68a6d55d89d1679f31d8da0372db01af72534baf728
+SIZE (xtensor-stack-xtensor-python-0.26.0_GH0.tar.gz) = 66262
diff --git a/math/xtensor-python/pkg-descr b/math/xtensor-python/pkg-descr
new file mode 100644
index 000000000000..88657f65699a
--- /dev/null
+++ b/math/xtensor-python/pkg-descr
@@ -0,0 +1,6 @@
+Python bindings for the xtensor C++ multi-dimensional array library.
+
+xtensor is a C++ library for multi-dimensional arrays enabling numpy-style
+broadcasting and lazy computing.
+
+WWW: https://github.com/xtensor-stack/xtensor-python
diff --git a/math/xtensor-python/pkg-plist b/math/xtensor-python/pkg-plist
new file mode 100644
index 000000000000..e9f7970198bd
--- /dev/null
+++ b/math/xtensor-python/pkg-plist
@@ -0,0 +1,12 @@
+include/xtensor-python/pyarray.hpp
+include/xtensor-python/pyarray_backstrides.hpp
+include/xtensor-python/pycontainer.hpp
+include/xtensor-python/pynative_casters.hpp
+include/xtensor-python/pystrides_adaptor.hpp
+include/xtensor-python/pytensor.hpp
+include/xtensor-python/pyvectorize.hpp
+include/xtensor-python/xtensor_python_config.hpp
+include/xtensor-python/xtensor_type_caster_base.hpp
+lib/cmake/xtensor-python/xtensor-pythonConfig.cmake
+lib/cmake/xtensor-python/xtensor-pythonConfigVersion.cmake
+lib/cmake/xtensor-python/xtensor-pythonTargets.cmake