diff --git a/math/symengine/Makefile b/math/symengine/Makefile index 02bee2583aab..1bcac467c742 100644 --- a/math/symengine/Makefile +++ b/math/symengine/Makefile @@ -1,82 +1,86 @@ PORTNAME= symengine DISTVERSIONPREFIX= v -DISTVERSION= 0.8.1 +DISTVERSION= 0.9.0 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org COMMENT= Fast symbolic manipulation library, written in C++ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE +LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \ + libgmp.so:math/gmp + 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_CMAKE_ON= -DLLVM_INCLUDE_DIRS:STRING=${LOCALBASE}/llvm${LLVM_VERSION}/include \ + -DFREEBSD_LLVM_VERSION=${LLVM_VERSION} 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: # one test fails: https://github.com/symengine/symengine/issues/1697 @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 diff --git a/math/symengine/distinfo b/math/symengine/distinfo index b89ce8d92112..65bccd283df8 100644 --- a/math/symengine/distinfo +++ b/math/symengine/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1634862847 -SHA256 (symengine-symengine-v0.8.1_GH0.tar.gz) = 41eb6ae6901c09e53d7f61f0758f9201e81fc534bfeecd4b2bd4b4e6f6768693 -SIZE (symengine-symengine-v0.8.1_GH0.tar.gz) = 733007 +TIMESTAMP = 1651339442 +SHA256 (symengine-symengine-v0.9.0_GH0.tar.gz) = dcf174ac708ed2acea46691f6e78b9eb946d8a2ba62f75e87cf3bf4f0d651724 +SIZE (symengine-symengine-v0.9.0_GH0.tar.gz) = 878574 diff --git a/math/symengine/files/patch-CMakeLists.txt b/math/symengine/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..ace2eaf07b25 --- /dev/null +++ b/math/symengine/files/patch-CMakeLists.txt @@ -0,0 +1,13 @@ +- fix requested LLVM version + +--- CMakeLists.txt.orig 2022-04-30 17:48:46 UTC ++++ CMakeLists.txt +@@ -396,7 +396,7 @@ set(WITH_LLVM no + + if (WITH_LLVM) + set(SYMENGINE_LLVM_COMPONENTS asmparser core executionengine instcombine mcjit native nativecodegen scalaropts vectorize support transformutils) +- find_package(LLVM REQUIRED ${SYMENGINE_LLVM_COMPONENTS}) ++ find_package(LLVM ${FREEBSD_LLVM_VERSION} REQUIRED ${SYMENGINE_LLVM_COMPONENTS}) + set(LLVM_MINIMUM_REQUIRED_VERSION "3.8") + if (LLVM_PACKAGE_VERSION LESS ${LLVM_MINIMUM_REQUIRED_VERSION}) + message(FATAL_ERROR "LLVM version found ${LLVM_PACKAGE_VERSION} is too old. diff --git a/math/symengine/pkg-plist b/math/symengine/pkg-plist index e16fc65af316..2ce1e51ecf23 100644 --- a/math/symengine/pkg-plist +++ b/math/symengine/pkg-plist @@ -1,92 +1,140 @@ include/symengine/add.h include/symengine/assumptions.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/ntheory_funcs.h include/symengine/number.h include/symengine/parser.h include/symengine/parser/parser.h include/symengine/parser/sbml/sbml_parser.h include/symengine/parser/sbml/sbml_tokenizer.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/prime_sieve.h include/symengine/printers.h include/symengine/printers/codegen.h include/symengine/printers/latex.h include/symengine/printers/mathml.h include/symengine/printers/sbml.h include/symengine/printers/strprinter.h include/symengine/printers/unicode.h include/symengine/rational.h include/symengine/real_double.h include/symengine/real_mpfr.h include/symengine/refine.h include/symengine/rings.h +include/symengine/serialize-cereal.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/simplify.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/test_visitors.h +include/symengine/tuple.h include/symengine/type_codes.inc +include/symengine/utilities/cereal/include/cereal/access.hpp +include/symengine/utilities/cereal/include/cereal/archives/adapters.hpp +include/symengine/utilities/cereal/include/cereal/archives/binary.hpp +include/symengine/utilities/cereal/include/cereal/archives/json.hpp +include/symengine/utilities/cereal/include/cereal/archives/portable_binary.hpp +include/symengine/utilities/cereal/include/cereal/archives/xml.hpp +include/symengine/utilities/cereal/include/cereal/cereal.hpp +include/symengine/utilities/cereal/include/cereal/details/helpers.hpp +include/symengine/utilities/cereal/include/cereal/details/polymorphic_impl.hpp +include/symengine/utilities/cereal/include/cereal/details/polymorphic_impl_fwd.hpp +include/symengine/utilities/cereal/include/cereal/details/static_object.hpp +include/symengine/utilities/cereal/include/cereal/details/traits.hpp +include/symengine/utilities/cereal/include/cereal/details/util.hpp +include/symengine/utilities/cereal/include/cereal/macros.hpp +include/symengine/utilities/cereal/include/cereal/specialize.hpp +include/symengine/utilities/cereal/include/cereal/types/array.hpp +include/symengine/utilities/cereal/include/cereal/types/atomic.hpp +include/symengine/utilities/cereal/include/cereal/types/base_class.hpp +include/symengine/utilities/cereal/include/cereal/types/bitset.hpp +include/symengine/utilities/cereal/include/cereal/types/boost_variant.hpp +include/symengine/utilities/cereal/include/cereal/types/chrono.hpp +include/symengine/utilities/cereal/include/cereal/types/common.hpp +include/symengine/utilities/cereal/include/cereal/types/complex.hpp +include/symengine/utilities/cereal/include/cereal/types/concepts/pair_associative_container.hpp +include/symengine/utilities/cereal/include/cereal/types/deque.hpp +include/symengine/utilities/cereal/include/cereal/types/forward_list.hpp +include/symengine/utilities/cereal/include/cereal/types/functional.hpp +include/symengine/utilities/cereal/include/cereal/types/list.hpp +include/symengine/utilities/cereal/include/cereal/types/map.hpp +include/symengine/utilities/cereal/include/cereal/types/memory.hpp +include/symengine/utilities/cereal/include/cereal/types/optional.hpp +include/symengine/utilities/cereal/include/cereal/types/polymorphic.hpp +include/symengine/utilities/cereal/include/cereal/types/queue.hpp +include/symengine/utilities/cereal/include/cereal/types/set.hpp +include/symengine/utilities/cereal/include/cereal/types/stack.hpp +include/symengine/utilities/cereal/include/cereal/types/string.hpp +include/symengine/utilities/cereal/include/cereal/types/tuple.hpp +include/symengine/utilities/cereal/include/cereal/types/unordered_map.hpp +include/symengine/utilities/cereal/include/cereal/types/unordered_set.hpp +include/symengine/utilities/cereal/include/cereal/types/utility.hpp +include/symengine/utilities/cereal/include/cereal/types/valarray.hpp +include/symengine/utilities/cereal/include/cereal/types/variant.hpp +include/symengine/utilities/cereal/include/cereal/types/vector.hpp +include/symengine/utilities/cereal/include/cereal/version.hpp +include/symengine/utilities/stream_fmt.h 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.8 -lib/libsymengine.so.0.8.1 +lib/libsymengine.so.0.9 +lib/libsymengine.so.0.9.0