devel/py-optree: Add py-optree 0.10.0

OpTree provides optimized PyTree utilities.

A PyTree is a recursive structure that can be an arbitrarily nested Python
container (e.g., tuple, list, dict, OrderedDict, NamedTuple, etc.) or an opaque
Python object. The key concepts of tree operations are tree flattening and its
inverse (tree unflattening). Additional tree operations can be performed based
on these two basic functions.
This commit is contained in:
Po-Chuan Hsieh 2023-12-25 16:56:51 +08:00
parent 92223841af
commit 2852bacb2e
No known key found for this signature in database
GPG key ID: 9A4BD10F002DD04B
5 changed files with 56 additions and 0 deletions

View file

@ -5093,6 +5093,7 @@
SUBDIR += py-opentracing
SUBDIR += py-opster
SUBDIR += py-optik
SUBDIR += py-optree
SUBDIR += py-orange-canvas-core
SUBDIR += py-orange-widget-base
SUBDIR += py-orca

27
devel/py-optree/Makefile Normal file
View file

@ -0,0 +1,27 @@
PORTNAME= optree
PORTVERSION= 0.10.0
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Optimized PyTree utilities
WWW= https://optree.readthedocs.io/en/latest/ \
https://github.com/metaopt/optree
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= cmake:devel/cmake-core \
${PYTHON_PKGNAMEPREFIX}pybind11>=0:devel/py-pybind11@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.0:devel/py-typing-extensions@${PY_FLAVOR}
USES= compiler:c++20-lang python
USE_PYTHON= autoplist concurrent pep517
post-install:
${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
.include <bsd.port.mk>

3
devel/py-optree/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1703227790
SHA256 (optree-0.10.0.tar.gz) = dc7e8880f997365083191784d141c790833877af71aec8825c7f2b7f7f43c98e
SIZE (optree-0.10.0.tar.gz) = 112851

View file

@ -0,0 +1,18 @@
--- setup.py.orig 2023-11-07 06:45:50 UTC
+++ setup.py
@@ -67,15 +67,6 @@ class cmake_build_ext(build_ext): # noqa: N801
pass
build_args = ['--config', config]
- if (
- 'CMAKE_BUILD_PARALLEL_LEVEL' not in os.environ
- and hasattr(self, 'parallel')
- and self.parallel
- ):
- build_args.extend(['--parallel', str(self.parallel)])
- else:
- build_args.append('--parallel')
-
build_args.extend(['--target', ext.target, '--'])
try:

View file

@ -0,0 +1,7 @@
OpTree provides optimized PyTree utilities.
A PyTree is a recursive structure that can be an arbitrarily nested Python
container (e.g., tuple, list, dict, OrderedDict, NamedTuple, etc.) or an opaque
Python object. The key concepts of tree operations are tree flattening and its
inverse (tree unflattening). Additional tree operations can be performed based
on these two basic functions.