git: 3539c47c1bd9 - main - misc/py-ezc3d: New port: C3D (biomechanics data format) reader/writer

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 20 Jun 2022 20:57:50 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3539c47c1bd917f30e10a8165313780de6fe2087

commit 3539c47c1bd917f30e10a8165313780de6fe2087
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-06-20 20:56:55 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-06-20 20:57:35 +0000

    misc/py-ezc3d: New port: C3D (biomechanics data format) reader/writer
---
 misc/Makefile           |  1 +
 misc/py-ezc3d/Makefile  | 38 ++++++++++++++++++++++++++++++++++++++
 misc/py-ezc3d/distinfo  |  5 +++++
 misc/py-ezc3d/pkg-descr | 10 ++++++++++
 misc/py-ezc3d/pkg-plist | 15 +++++++++++++++
 5 files changed, 69 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index a06dec444128..d8c8cad29700 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -384,6 +384,7 @@
     SUBDIR += py-dictdiffer
     SUBDIR += py-eemeter
     SUBDIR += py-emoji
+    SUBDIR += py-ezc3d
     SUBDIR += py-fast-histogram
     SUBDIR += py-fleep
     SUBDIR += py-fuzzy
diff --git a/misc/py-ezc3d/Makefile b/misc/py-ezc3d/Makefile
new file mode 100644
index 000000000000..f4bc6778443d
--- /dev/null
+++ b/misc/py-ezc3d/Makefile
@@ -0,0 +1,38 @@
+PORTNAME=	ezc3d
+DISTVERSIONPREFIX=	Release_
+DISTVERSION=	1.5.0
+CATEGORIES=	misc python
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	C3D (biomechanics data format) reader/writer
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}scikit-build>0:devel/py-scikit-build@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \
+		cmake:devel/cmake \
+		swig:devel/swig
+RUN_DEPENDS=	${PYNUMPY}
+
+USES=		python
+USE_PYTHON=	distutils pytest # autoplist is broken due to https://github.com/pyomeca/ezc3d/issues/258 ; tests fail, see https://github.com/pyomeca/ezc3d/issues/259
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	pyomeca
+GH_TUPLE=	google:googletest:3880b13:googletest/external/gtest # https://github.com/pyomeca/ezc3d/issues/256
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+post-install:
+	# remove unnecessary C++ headers, see https://github.com/pyomeca/ezc3d/issues/258
+	@${RM} -r ${STAGEDIR}${PREFIX}/include/*
+	# strip binaries
+	@cd ${STAGEDIR}/${PYTHON_SITELIBDIR} && \
+		${STRIP_CMD} \
+			ezc3d/_ezc3d.so \
+			ezc3d/libezc3d.so
+
+.include <bsd.port.mk>
diff --git a/misc/py-ezc3d/distinfo b/misc/py-ezc3d/distinfo
new file mode 100644
index 000000000000..db6de1ac92d8
--- /dev/null
+++ b/misc/py-ezc3d/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1655755091
+SHA256 (pyomeca-ezc3d-Release_1.5.0_GH0.tar.gz) = 8387857d989f5bbb62869ec930b417e6d0a303eef9b39e8b0e6b35437d5809ce
+SIZE (pyomeca-ezc3d-Release_1.5.0_GH0.tar.gz) = 943845
+SHA256 (google-googletest-3880b13_GH0.tar.gz) = ea3d403a3de3ab084841ec97efa440fb45d5f2fbe4eb09a22ccb9643a6af11ba
+SIZE (google-googletest-3880b13_GH0.tar.gz) = 962793
diff --git a/misc/py-ezc3d/pkg-descr b/misc/py-ezc3d/pkg-descr
new file mode 100644
index 000000000000..5f49399f4156
--- /dev/null
+++ b/misc/py-ezc3d/pkg-descr
@@ -0,0 +1,10 @@
+EZC3D is an easy to use reader, modifier and writer for C3D format files. It is
+written en C++ with proper binders for Python and MATLAB scripting langages.
+
+C3D (http://c3d.org) is a format specifically designed to store biomechanics
+data. Hence many biomechanics softwares can produce C3D files in order to share
+data. However, there is a lack in the biomechanics community of an easy to use,
+free and open source library to read, modify and write them as needed when it
+gets to the data analysis.
+
+WWW: https://github.com/pyomeca/ezc3d
diff --git a/misc/py-ezc3d/pkg-plist b/misc/py-ezc3d/pkg-plist
new file mode 100644
index 000000000000..ec1c8d1fea6a
--- /dev/null
+++ b/misc/py-ezc3d/pkg-plist
@@ -0,0 +1,15 @@
+%%PYTHON_SITELIBDIR%%/ezc3d/__init__.py
+%%PYTHON_SITELIBDIR%%/ezc3d/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/ezc3d/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/ezc3d/__pycache__/_version%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/ezc3d/__pycache__/_version%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/ezc3d/__pycache__/ezc3d%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/ezc3d/__pycache__/ezc3d%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/ezc3d/_ezc3d.so
+%%PYTHON_SITELIBDIR%%/ezc3d/_version.py
+%%PYTHON_SITELIBDIR%%/ezc3d/cmake/ezc3d/ezc3dConfig.cmake
+%%PYTHON_SITELIBDIR%%/ezc3d/cmake/ezc3d/ezc3dConfigVersion.cmake
+%%PYTHON_SITELIBDIR%%/ezc3d/cmake/ezc3d/ezc3dTargets-release.cmake
+%%PYTHON_SITELIBDIR%%/ezc3d/cmake/ezc3d/ezc3dTargets.cmake
+%%PYTHON_SITELIBDIR%%/ezc3d/ezc3d.py
+%%PYTHON_SITELIBDIR%%/ezc3d/libezc3d.so