svn commit: r538449 - in head/math: . symengine
Yuri Victorovich
yuri at FreeBSD.org
Thu Jun 11 01:40:57 UTC 2020
Author: yuri
Date: Thu Jun 11 01:40:55 2020
New Revision: 538449
URL: https://svnweb.freebsd.org/changeset/ports/538449
Log:
New port: math/symengine: Fast symbolic manipulation library, written in C++
Added:
head/math/symengine/
head/math/symengine/Makefile (contents, props changed)
head/math/symengine/distinfo (contents, props changed)
head/math/symengine/pkg-descr (contents, props changed)
head/math/symengine/pkg-plist (contents, props changed)
Modified:
head/math/Makefile
Modified: head/math/Makefile
==============================================================================
--- head/math/Makefile Thu Jun 11 01:28:01 2020 (r538448)
+++ head/math/Makefile Thu Jun 11 01:40:55 2020 (r538449)
@@ -905,6 +905,7 @@
SUBDIR += suitesparse
SUBDIR += sundials
SUBDIR += superlu
+ SUBDIR += symengine
SUBDIR += symmetrica
SUBDIR += symphony
SUBDIR += sympow
Added: head/math/symengine/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/symengine/Makefile Thu Jun 11 01:40:55 2020 (r538449)
@@ -0,0 +1,84 @@
+# $FreeBSD$
+
+PORTNAME= symengine
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.6.0
+CATEGORIES= math
+
+MAINTAINER= yuri at FreeBSD.org
+COMMENT= Fast symbolic manipulation library, written in C++
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cmake compiler:c++11-lang
+USE_GITHUB= yes
+USE_LDCONFIG= yes
+
+CMAKE_ON= WITH_SYMENGINE_THREAD_SAFE BUILD_SHARED_LIBS BUILD_FOR_DISTRIBUTION
+CMAKE_OFF= BUILD_BENCHMARKS WITH_COTIRE
+
+OPTIONS_DEFINE= ARB ECM LLVM MPC TCMALLOC ASSERT
+OPTIONS_SINGLE= INTCLASS
+OPTIONS_SINGLE_INTCLASS= GMP GMPXX BOOSTMP FLINT PIRANHA
+OPTIONS_DEFAULT= ARB ECM LLVM MPC TCMALLOC FLINT # FLINT choice is based on best performance
+
+INTCLASS_DESC= Integer class, use integers from:
+
+ARB_DESC= Build with Arb (interval arithmetic library)
+ARB_CMAKE_BOOL= WITH_ARB
+ARB_LIB_DEPENDS= libarb.so:math/arb \
+ libflint.so:math/flint2 \
+ libmpfr.so:math/mpfr
+
+ECM_DESC= Build with ECM support (Elliptic Curve Method)
+ECM_CMAKE_BOOL= WITH_ECM
+ECM_LIB_DEPENDS= libecm.so:math/gmp-ecm
+
+LLVM_DESC= Build with LLVM
+LLVM_CMAKE_BOOL= WITH_LLVM
+LLVM_CMAKE_ON= -DLLVM_INCLUDE_DIRS:STRING=${LOCALBASE}/llvm${LLVM_VERSION}/include
+LLVM_BUILD_DEPENDS= llvm${LLVM_VERSION}>0:devel/llvm${LLVM_VERSION}
+
+MPC_DESC= Build with MPC
+MPC_CMAKE_BOOL= WITH_MPC
+MPC_LIB_DEPENDS= libmpc.so:math/mpc
+
+TCMALLOC_DESC= Use tcmalloc from google-perftools (improves performance)
+TCMALLOC_CMAKE_BOOL= WITH_TCMALLOC
+TCMALLOC_LIB_DEPENDS= libtcmalloc.so:devel/google-perftools
+
+ASSERT_CMAKE_BOOL= WITH_SYMENGINE_ASSERT
+
+GMP_DESC= gmp (supports arbitrary fp precision)
+GMP_CMAKE_ON= -DINTEGER_CLASS:STRING=gmp
+GMP_LIB_DEPENDS= libgmp.so:math/gmp \
+ libmpfr.so:math/mpfr
+
+GMPXX_DESC= gmpxx
+GMPXX_CMAKE_ON= -DINTEGER_CLASS:STRING=gmpxx
+GMPXX_LIB_DEPENDS= libgmp.so:math/gmp
+
+BOOSTMP_DESC= boostmp (no arbitrary fp precision)
+BOOSTMP_CMAKE_ON= -DINTEGER_CLASS:STRING=boostmp
+BOOSTMP_BUILD_DEPENDS= ${LOCALBASE}/include/boost/multiprecision/cpp_int.hpp:devel/boost-libs
+
+FLINT_DESC= flint (supports arbitrary fp precision, best performance)
+FLINT_CMAKE_ON= -DINTEGER_CLASS:STRING=flint
+FLINT_LIB_DEPENDS= libflint.so:math/flint2 \
+ libgmp.so:math/gmp \
+ libmpfr.so:math/mpfr
+
+PIRANHA_DESC= piranha
+PIRANHA_CMAKE_ON= -DINTEGER_CLASS:STRING=piranha
+PIRANHA_BUILD_DEPENDS= piranha>0:math/piranha
+
+LLVM_VERSION= ${LLVM_DEFAULT}
+
+do-test:
+ @cd ${BUILD_WRKSRC} && \
+ ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DBUILD_TESTING:BOOL=ON ${CMAKE_SOURCE_PATH} && \
+ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \
+ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} test
+
+.include <bsd.port.mk>
Added: head/math/symengine/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/symengine/distinfo Thu Jun 11 01:40:55 2020 (r538449)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1591833879
+SHA256 (symengine-symengine-v0.6.0_GH0.tar.gz) = 4d2caa86c03eaaa8ed004084d02f87b5c51b6229f8ba70d161227e22d6302f0a
+SIZE (symengine-symengine-v0.6.0_GH0.tar.gz) = 763481
Added: head/math/symengine/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/symengine/pkg-descr Thu Jun 11 01:40:55 2020 (r538449)
@@ -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://github.com/symengine/symengine
Added: head/math/symengine/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/symengine/pkg-plist Thu Jun 11 01:40:55 2020 (r538449)
@@ -0,0 +1,84 @@
+include/symengine/add.h
+include/symengine/basic-inl.h
+include/symengine/basic-methods.inc
+include/symengine/basic.h
+include/symengine/complex.h
+include/symengine/complex_double.h
+include/symengine/complex_mpc.h
+include/symengine/constants.h
+include/symengine/cwrapper.h
+include/symengine/derivative.h
+include/symengine/dict.h
+include/symengine/diophantine.h
+include/symengine/eval.h
+include/symengine/eval_arb.h
+include/symengine/eval_double.h
+include/symengine/eval_mpc.h
+include/symengine/eval_mpfr.h
+include/symengine/expression.h
+include/symengine/fields.h
+include/symengine/finitediff.h
+include/symengine/flint_wrapper.h
+include/symengine/functions.h
+include/symengine/infinity.h
+include/symengine/integer.h
+include/symengine/lambda_double.h
+include/symengine/llvm_double.h
+include/symengine/logic.h
+include/symengine/matrix.h
+include/symengine/monomials.h
+include/symengine/mp_class.h
+include/symengine/mp_wrapper.h
+include/symengine/mul.h
+include/symengine/nan.h
+include/symengine/ntheory.h
+include/symengine/number.h
+include/symengine/parser.h
+include/symengine/parser/parser.h
+include/symengine/parser/parser_stype.h
+include/symengine/parser/tokenizer.h
+include/symengine/polys/basic_conversions.h
+include/symengine/polys/cancel.h
+include/symengine/polys/msymenginepoly.h
+include/symengine/polys/uexprpoly.h
+include/symengine/polys/uintpoly.h
+include/symengine/polys/uintpoly_flint.h
+include/symengine/polys/uintpoly_piranha.h
+include/symengine/polys/upolybase.h
+include/symengine/polys/uratpoly.h
+include/symengine/polys/usymenginepoly.h
+include/symengine/pow.h
+include/symengine/printers.h
+include/symengine/printers/codegen.h
+include/symengine/printers/latex.h
+include/symengine/printers/mathml.h
+include/symengine/printers/strprinter.h
+include/symengine/rational.h
+include/symengine/real_double.h
+include/symengine/real_mpfr.h
+include/symengine/rings.h
+include/symengine/series.h
+include/symengine/series_flint.h
+include/symengine/series_generic.h
+include/symengine/series_piranha.h
+include/symengine/series_visitor.h
+include/symengine/sets.h
+include/symengine/solve.h
+include/symengine/subs.h
+include/symengine/symbol.h
+include/symengine/symengine_assert.h
+include/symengine/symengine_casts.h
+include/symengine/symengine_config.h
+include/symengine/symengine_config_cling.h
+include/symengine/symengine_exception.h
+include/symengine/symengine_export.h
+include/symengine/symengine_rcp.h
+include/symengine/type_codes.inc
+include/symengine/visitor.h
+lib/cmake/symengine/SymEngineConfig.cmake
+lib/cmake/symengine/SymEngineConfigVersion.cmake
+lib/cmake/symengine/SymEngineTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/symengine/SymEngineTargets.cmake
+lib/libsymengine.so
+lib/libsymengine.so.0.6
+lib/libsymengine.so.0.6.0
More information about the svn-ports-all
mailing list