summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <bicatali@gentoo.org>2017-07-25 19:57:31 +0000
committerSébastien Fabbro <bicatali@gentoo.org>2017-07-26 20:07:02 +0000
commit7232e41956f0617679880628f02246e04c02fdb9 (patch)
tree84a11bd485e351692cf9d465d0ea017d497c2493
parentx11-misc/dunst: add ~arm, bug #622516 (diff)
downloadgentoo-7232e41956f0617679880628f02246e04c02fdb9.tar.gz
gentoo-7232e41956f0617679880628f02246e04c02fdb9.tar.bz2
gentoo-7232e41956f0617679880628f02246e04c02fdb9.zip
sci-libs/symengine: initial import
Package-Manager: Portage-2.3.6, Repoman-2.3.3
-rw-r--r--sci-libs/symengine/Manifest1
-rw-r--r--sci-libs/symengine/metadata.xml25
-rw-r--r--sci-libs/symengine/symengine-0.3.0.ebuild71
3 files changed, 97 insertions, 0 deletions
diff --git a/sci-libs/symengine/Manifest b/sci-libs/symengine/Manifest
new file mode 100644
index 000000000000..89177fe1f11a
--- /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 000000000000..63672cfa6a09
--- /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>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>
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 000000000000..5e0894d0d97a
--- /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
+}