summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/symengine/symengine-0.6.0.ebuild')
-rw-r--r--sci-libs/symengine/symengine-0.6.0.ebuild81
1 files changed, 81 insertions, 0 deletions
diff --git a/sci-libs/symengine/symengine-0.6.0.ebuild b/sci-libs/symengine/symengine-0.6.0.ebuild
new file mode 100644
index 000000000000..f1f0af9df4f9
--- /dev/null
+++ b/sci-libs/symengine/symengine-0.6.0.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_BUILD_TYPE=Release
+inherit cmake flag-o-matic toolchain-funcs
+
+DESCRIPTION="Fast symbolic manipulation library, written in C++"
+HOMEPAGE="https://github.com/sympy/symengine"
+SRC_URI="https://github.com/sympy/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0.4"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="arb benchmarks boost debug doc ecm flint llvm mpc mpfr openmp test tcmalloc threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/gmp:=
+ sys-libs/binutils-libs:=
+ arb? ( sci-mathematics/arb:= )
+ boost? ( dev-libs/boost:= )
+ ecm? ( sci-mathematics/gmp-ecm )
+ flint? ( sci-mathematics/flint:= )
+ mpc? ( dev-libs/mpc:= )
+ tcmalloc? ( dev-util/google-perftools )
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen[dot] )
+"
+
+pkg_pretend() {
+ use openmp && [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
+}
+
+src_prepare() {
+ cmake_src_prepare
+ sed -e "s|DESTINATION doc| DESTINATION share/doc/${PF}/html|" \
+ -e "s|/lib|/$(get_libdir)|g" \
+ -e "s|lib/|$(get_libdir)/|g" \
+ -e "/DESTINATION/s|lib|$(get_libdir)|g" \
+ -i CMakeLists.txt symengine/CMakeLists.txt \
+ symengine/utilities/teuchos/CMakeLists.txt || die
+}
+
+src_configure() {
+ # not in portage yet: piranha
+ local int_class
+ if use arb || use flint; then
+ int_class=flint
+ elif use mpfr; then
+ int_class=gmpxx
+ elif use boost; then
+ int_class=boostmp
+ else
+ int_class=gmp
+ fi
+ local mycmakeargs=(
+ -DINTEGER_CLASS="${int_class}"
+ -DBUILD_BENCHMARKS="$(usex benchmarks)"
+ -DBUILD_DOXYGEN="$(usex doc)"
+ -DBUILD_TESTS="$(usex test)"
+ -DWITH_ARB="$(usex arb)"
+ -DWITH_BFD="$(usex debug)"
+ -DWITH_SYMENGINE_ASSERT="$(usex debug)"
+ -DWITH_SYMENGINE_THREAD_SAFE="$(usex threads)"
+ -DWITH_FLINT="$(usex flint)"
+ -DWITH_OPENMP="$(usex openmp)"
+ -DWITH_MPFR="$(usex mpfr)"
+ -DWITH_MPC="$(usex mpc)"
+ -DWITH_LLVM="$(usex llvm)"
+ -DWITH_PTHREAD="$(usex threads)"
+ -DWITH_TCMALLOC="$(usex tcmalloc)"
+ -DWITH_ECM="$(usex ecm)"
+ )
+ use arb && mycmakeargs+=( -DARB_INCLUDE_DIR="${EPREFIX}/usr/include" )
+
+ test-flag-CXX -std=c++11 && append-cxxflags -std=c++11
+ cmake_src_configure
+}