Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Jun 2020 01:40:55 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r538449 - in head/math: . symengine
Message-ID:  <202006110140.05B1etRm036880@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006110140.05B1etRm036880>