commit:     7232e41956f0617679880628f02246e04c02fdb9
Author:     Sébastien Fabbro <bicatali <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 25 19:57:31 2017 +0000
Commit:     Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
CommitDate: Wed Jul 26 20:07:02 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7232e419

sci-libs/symengine: initial import

Package-Manager: Portage-2.3.6, Repoman-2.3.3

 sci-libs/symengine/Manifest               |  1 +
 sci-libs/symengine/metadata.xml           | 25 +++++++++++
 sci-libs/symengine/symengine-0.3.0.ebuild | 71 +++++++++++++++++++++++++++++++
 3 files changed, 97 insertions(+)

diff --git a/sci-libs/symengine/Manifest b/sci-libs/symengine/Manifest
new file mode 100644
index 00000000000..89177fe1f11
--- /dev/null
+++ b/sci-libs/symengine/Manifest
@@ -0,0 +1 @@
+DIST symengine-0.3.0.tar.gz 629813 SHA256 
591463cb9e741d59f6dfd39a7943e3865d3afe9eac47d1a9cbf5ca74b9c49476 SHA512 
e4a906bb1cc5159003969871711f40b3c6bfb9e38ac25258dc5797933d55374a2f201c8a89e9af48821b24cc54408d4feb70f6de421e0a9fbf766d2b35846b83
 WHIRLPOOL 
c910a8d00edeb686c94b5ec473d69a6da4e4e33e7d126b2ccc9eef4c0dbf04b7e277c63020067fed66cb30e4b00a32c9384feca204054e142835710c70be0bd8

diff --git a/sci-libs/symengine/metadata.xml b/sci-libs/symengine/metadata.xml
new file mode 100644
index 00000000000..63672cfa6a0
--- /dev/null
+++ b/sci-libs/symengine/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="project">
+    <email>[email protected]</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>

diff --git a/sci-libs/symengine/symengine-0.3.0.ebuild 
b/sci-libs/symengine/symengine-0.3.0.ebuild
new file mode 100644
index 00000000000..5e0894d0d97
--- /dev/null
+++ b/sci-libs/symengine/symengine-0.3.0.ebuild
@@ -0,0 +1,71 @@
+# 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
+}

Reply via email to