--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+ <longdescription>
+ SymEngine is a standalone fast C++ symbolic manipulation
+ library. Optional thin wrappers allow usage of the library from R,
+ Python, Julia, Ruby, Haskell.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">sympy/symengine</remote-id>
+ </upstream>
+ <use>
+ <flag name="arb">Add support for arb (<pkg>sci-mathematics/arb</pkg>)</flag>
+ <flag name="benchmarks">Build benchmarks</flag>
+ <flag name="boost">Add support for boost integers(<pkg>dev-libs/boost</pkg>)</flag>
+ <flag name="flint">Add support for (<pkg>sci-mathematics/flint</pkg>)</flag>
+ <flag name="llvm">Build with LLVM</flag>
+ <flag name="mpc">Add support for multiprecision complex arithmetic(<pkg>dev-libs/mpc</pkg>)</flag>
+ <flag name="mpfr">Add support for multiprecision floating point rouding(<pkg>dev-libs/mpfr</pkg>)</flag>
+ </use>
+</pkgmetadata>
--- /dev/null
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+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.3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="arb benchmarks boost debug doc flint llvm mpc mpfr openmp test tcmalloc threads"
+
+RDEPEND="
+ dev-libs/gmp:=
+ sys-libs/binutils-libs:=
+ arb? ( sci-mathematics/arb:= )
+ boost? ( dev-libs/boost:= )
+ 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-utils_src_prepare
+ sed -e "s|DESTINATION doc| DESTINATION share/doc/${PF}/html|" \
+ -i CMakeLists.txt || die
+}
+
+src_configure() {
+ # not in portage yet: piranha, ecm
+ 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=(
+ -DARB_INCLUDE_DIR="${EPREFIX}/usr/include"
+ -DINTEGER_CLASS="${int_class}"
+ -DBUILD_SHARED_LIBS=ON
+ -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)"
+ )
+ CMAKE_BUILD_TYPE=Release cmake-utils_src_configure
+}