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)
===> The following configuration options are available for symengine-0.15.0:
ARB=on: Build with Arb (interval arithmetic library)
ASSERT=off: Enable debug assertions
ECM=on: Build with ECM support (Elliptic Curve Method)
LLVM=on: Build with LLVM
MPC=on: Build with MPC
TCMALLOC=off: Use the tcmalloc memory allocation library
====> Integer class, use integers from:: you have to select exactly one of them
GMP=off: gmp (supports arbitrary fp precision)
GMPXX=off: gmpxx
BOOSTMP=off: boostmp (no arbitrary fp precision)
FLINT=on: flint (supports arbitrary fp precision, best performance)
PIRANHA=off: piranha
===> Use 'make config' to modify these settings
math/symengine: fix dependency on llvm
By using llvm this port get linked to libllvm which means lib_depends
not only run_depends on it.
Fix by using USES=llvm:lib
math/symengine: fix build with libc++ 21
With libc++ 21 math/symengine fails to build, with errors similar to:
In file included from
/wrkdirs/usr/ports/math/symengine/work/symengine-0.14.0/cmake/checkcxx11.cpp:1:
In file included from /usr/include/c++/v1/unordered_map:589:
In file included from /usr/include/c++/v1/__algorithm/is_permutation.h:13:
In file included from /usr/include/c++/v1/__algorithm/comp.h:14:
In file included from /usr/include/c++/v1/__type_traits/is_integral.h:14:
/usr/include/c++/v1/__type_traits/remove_cv.h:22:32: error: unknown type
name '__remove_cv'; did you mean 'remove_cv'?
using type _LIBCPP_NODEBUG = __remove_cv(_Tp);
^
/usr/include/c++/v1/__type_traits/remove_cv.h:21:35: note: 'remove_cv'
(Only the first 15 lines of the commit message are shown above )
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
Update to MPC version 1.2.0 with the following changes:
- New functions:
. mpc_sum
. mpc_dot
- Several functions are more robust with a reduced exponent range
(for example corresponding to IEEE 754 binary formats).
- New mpcheck tool for comparison with the native C library (which
is not installed by default).
Bump all directly dependent ports. Do not bump those indirectly
dependent via the lang/gcc* family since their run-time dependencies
and code generated should not be affected.
PR: 249950
Submitted by: wen