git: 0a165b89cff4 - main - math/py-symengine: New port: Python library providing wrappers to SymEngine

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 08 Aug 2022 01:47:48 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0a165b89cff4795cd87ff7361fdcfe3ca70c726a

commit 0a165b89cff4795cd87ff7361fdcfe3ca70c726a
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-08-08 01:46:21 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-08-08 01:47:06 +0000

    math/py-symengine: New port: Python library providing wrappers to SymEngine
---
 math/Makefile               |  1 +
 math/py-symengine/Makefile  | 23 +++++++++++++++++++++++
 math/py-symengine/distinfo  |  3 +++
 math/py-symengine/pkg-descr | 12 ++++++++++++
 math/py-symengine/pkg-plist | 33 +++++++++++++++++++++++++++++++++
 5 files changed, 72 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index e21357cce66b..db5740bf6eea 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -979,6 +979,7 @@
     SUBDIR += py-statsmodels
     SUBDIR += py-svgmath
     SUBDIR += py-sym
+    SUBDIR += py-symengine
     SUBDIR += py-sympy
     SUBDIR += py-theano
     SUBDIR += py-timple
diff --git a/math/py-symengine/Makefile b/math/py-symengine/Makefile
new file mode 100644
index 000000000000..ab3fb5d1df2e
--- /dev/null
+++ b/math/py-symengine/Makefile
@@ -0,0 +1,23 @@
+PORTNAME=	symengine
+DISTVERSION=	0.9.2
+CATEGORIES=	math python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Python library providing wrappers to SymEngine
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libsymengine.so:math/symengine
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR} # see https://github.com/symengine/symengine.py/issues/416
+
+USES=		cmake compiler:c++11-lang python:3.7+
+USE_PYTHON=	cython flavors pytest
+
+BINARY_ALIAS=	python=${PYTHON_CMD} # cmake scripts expect python executable
+
+# cmake scripts copy build type and flags from math/symengine, and ignore all local variables of that kind
+
+.include <bsd.port.mk>
diff --git a/math/py-symengine/distinfo b/math/py-symengine/distinfo
new file mode 100644
index 000000000000..b97b5919035f
--- /dev/null
+++ b/math/py-symengine/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1659204731
+SHA256 (symengine-0.9.2.tar.gz) = 0f7e45f5bba3fa844f7de7aa8d6640faaacb1075df76d8e4996e82b0ec6a4f62
+SIZE (symengine-0.9.2.tar.gz) = 85406
diff --git a/math/py-symengine/pkg-descr b/math/py-symengine/pkg-descr
new file mode 100644
index 000000000000..592e5e4a73c3
--- /dev/null
+++ b/math/py-symengine/pkg-descr
@@ -0,0 +1,12 @@
+SymEngine is a standalone fast C++ symbolic manipulation library.
+Optional thin wrappers allow usage of the library from other languages, e.g.:
+
+* C wrappers allow usage from C, or as a basis for other wrappers (the
+  symengine/cwrapper.h file)
+* Python wrappers allow easy usage from Python and integration with SymPy and
+  Sage (the symengine.py repository)
+* Ruby wrappers (the symengine.rb repository)
+* Julia wrappers (the SymEngine.jl repository)
+* Haskell wrappers (the symengine.hs repository)
+
+WWW: https://symengine.org/
diff --git a/math/py-symengine/pkg-plist b/math/py-symengine/pkg-plist
new file mode 100644
index 000000000000..0b882405f5d1
--- /dev/null
+++ b/math/py-symengine/pkg-plist
@@ -0,0 +1,33 @@
+%%PYTHON_SITELIBDIR%%/symengine/__init__.py
+%%PYTHON_SITELIBDIR%%/symengine/functions.py
+%%PYTHON_SITELIBDIR%%/symengine/lib/__init__.py
+%%PYTHON_SITELIBDIR%%/symengine/lib/config.pxi
+%%PYTHON_SITELIBDIR%%/symengine/lib/pywrapper.h
+%%PYTHON_SITELIBDIR%%/symengine/lib/symengine.pxd
+%%PYTHON_SITELIBDIR%%/symengine/lib/symengine_wrapper%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON_SITELIBDIR%%/symengine/lib/symengine_wrapper.pxd
+%%PYTHON_SITELIBDIR%%/symengine/printing.py
+%%PYTHON_SITELIBDIR%%/symengine/sympy_compat.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/__init__.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_arit.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_dict_basic.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_eval.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_expr.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_functions.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_lambdify.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_logic.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_matrices.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_ntheory.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_number.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_printing.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_sage.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_series_expansion.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_sets.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_solve.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_subs.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_symbol.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_sympify.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_sympy_compat.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_sympy_conv.py
+%%PYTHON_SITELIBDIR%%/symengine/tests/test_var.py
+%%PYTHON_SITELIBDIR%%/symengine/utilities.py