commit:     38060b8a14aef74a1ad93f9dec442f71cfebd2b6
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 31 06:33:55 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Dec 31 08:07:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38060b8a

sci-libs/symengine: Bump to 0.13.0

Closes: https://bugs.gentoo.org/778593
Closes: https://bugs.gentoo.org/854594
Closes: https://bugs.gentoo.org/895512
Closes: https://bugs.gentoo.org/945348
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 profiles/base/package.use.mask             |   5 ++
 sci-libs/symengine/Manifest                |   1 +
 sci-libs/symengine/metadata.xml            |   3 +
 sci-libs/symengine/symengine-0.13.0.ebuild | 111 +++++++++++++++++++++++++++++
 4 files changed, 120 insertions(+)

diff --git a/profiles/base/package.use.mask b/profiles/base/package.use.mask
index b691d3162ffe..0a3d83a1dda2 100644
--- a/profiles/base/package.use.mask
+++ b/profiles/base/package.use.mask
@@ -3,6 +3,11 @@
 
 # New entries go on top.
 
+# Michał Górny <[email protected]> (2024-12-31)
+# None of the sci-libs/symengine versions work with the modern versions
+# of dev-libs/boost in Gentoo.
+sci-libs/symengine boost
+
 # Conrad Kostecki <[email protected]> (2024-12-30)
 # Currently experimental features do not compile.
 app-emulation/pcem experimental

diff --git a/sci-libs/symengine/Manifest b/sci-libs/symengine/Manifest
index 94cdf67fc5f3..5c834af22348 100644
--- a/sci-libs/symengine/Manifest
+++ b/sci-libs/symengine/Manifest
@@ -1,2 +1,3 @@
 DIST symengine-0.11.1.tar.gz 898181 BLAKE2B 
ef14e09ceb7e9783711ca7f9f06a59362c40222e7f85de5545be834ecd79bbf41fcd34141bb3a63c106ee45067dd0b957377f937097183ffd5b93c6943976571
 SHA512 
076aac35428589c5b3524a46bd939a3a3a7da44b1c866b5f71487678b27b6e48b4da034029f1630881d7713a9252e905411a04b8016c9ec56a608b6de23365ac
 DIST symengine-0.12.0.tar.gz 898768 BLAKE2B 
81bca3f59e864d2e37598a058cb4db97b1f9c8536ee841c10df6f01c6322fa744281ecdeb338e5bf33bf599ead66adcaaa724650535df9b3d4bd7f07e22a3ad2
 SHA512 
fbc73a75299c19155a09f1854888a5050150aaad5bc3df683d43e8036af8005f8152a36ae79029e00bc8422c3edd7252baaf3a0da6a21d1d754d80a44c5c68bf
+DIST symengine-0.13.0.gh.tar.gz 942757 BLAKE2B 
9c7e1a067fd2baff0c6fc360b1512f04ee0c77c1f408180c2384b29aac1feecc56bcd0453afce402c6963c2fc638202f623592eb5c0bcdf0a1715056e8fec425
 SHA512 
3d64149b507be586daabad4b9a99436b0d329b16b89db756c9a72812b37049199c0be1ed77b18d55063a6445d04bf44120e7afd90a961aebbc89df815e52ed5d

diff --git a/sci-libs/symengine/metadata.xml b/sci-libs/symengine/metadata.xml
index 10eb027e6c64..fd0371e31c3d 100644
--- a/sci-libs/symengine/metadata.xml
+++ b/sci-libs/symengine/metadata.xml
@@ -37,5 +37,8 @@
                        Add support for multiprecision floating point rounding
                        (<pkg>dev-libs/mpfr</pkg>)
                </flag>
+               <flag name="primesieve">
+                       Add support for <pkg>sci-mathematics/primesieve</pkg>
+               </flag>
        </use>
 </pkgmetadata>

diff --git a/sci-libs/symengine/symengine-0.13.0.ebuild 
b/sci-libs/symengine/symengine-0.13.0.ebuild
new file mode 100644
index 000000000000..e95daa16752f
--- /dev/null
+++ b/sci-libs/symengine/symengine-0.13.0.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {18..20} )
+LLVM_OPTIONAL=1
+
+inherit cmake llvm-r2 toolchain-funcs
+
+DESCRIPTION="Fast symbolic manipulation library, written in C++"
+HOMEPAGE="https://github.com/symengine/symengine/";
+SRC_URI="
+       https://github.com/symengine/${PN}/archive/v${PV}.tar.gz
+               -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~riscv"
+IUSE="
+       boost debug ecm +flint llvm +mpc +mpfr openmp primesieve tcmalloc
+       test
+"
+REQUIRED_USE="
+       boost? ( !flint !mpc !mpfr )
+       llvm? ( ${LLVM_REQUIRED_USE} )
+       mpc? ( mpfr )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       boost? ( dev-libs/boost:= )
+       !boost? ( dev-libs/gmp:= )
+       debug? ( sys-libs/binutils-libs:= )
+       ecm? ( sci-mathematics/gmp-ecm:= )
+       flint? ( sci-mathematics/flint:= )
+       mpc? ( dev-libs/mpc:= )
+       mpfr? ( dev-libs/mpfr:= )
+       llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}=') )
+       primesieve? ( sci-mathematics/primesieve:= )
+       tcmalloc? ( dev-util/google-perftools )
+"
+DEPEND="
+       ${RDEPEND}
+       dev-libs/cereal
+"
+
+PATCHES=(
+       # TODO: upstream
+       "${FILESDIR}"/${PN}-0.7.0-cmake-build-type.patch
+       # TODO: make a proper patch for upstream
+       "${FILESDIR}"/${PN}-0.8.1-fix_llvm.patch
+)
+
+pkg_pretend() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+       local int_class
+
+       if 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
+
+       einfo "Building with integer class: ${int_class}"
+
+       local mycmakeargs=(
+               
-DINSTALL_CMAKE_DIR="${EPREFIX}/usr/$(get_libdir)/cmake/symengine"
+               -DINTEGER_CLASS=${int_class}
+               # not installed
+               -DBUILD_BENCHMARKS=OFF
+               # broken with out-of-tree builds
+               -DBUILD_DOXYGEN=OFF
+               -DBUILD_TESTS=$(usex test)
+               # -DWITH_ARB provided by flint >= 2
+               -DWITH_BFD=$(usex debug)
+               -DWITH_ECM=$(usex ecm)
+               -DWITH_FLINT=$(usex flint)
+               -DWITH_LLVM=$(usex llvm)
+               -DWITH_MPC=$(usex mpc)
+               -DWITH_MPFR=$(usex mpfr)
+               -DWITH_OPENMP=$(usex openmp)
+               -DWITH_PRIMESIEVE=$(usex primesieve)
+               -DWITH_PTHREAD=ON
+               -DWITH_SYMENGINE_ASSERT=$(usex debug)
+               -DWITH_SYMENGINE_THREAD_SAFE=ON
+               -DWITH_SYSTEM_CEREAL=ON
+               # TODO: package it
+               # -DWITH_SYSTEM_FASTFLOAT=ON
+               -DWITH_TCMALLOC=$(usex tcmalloc)
+       )
+       if use llvm; then
+               mycmakeargs+=(
+                       -DLLVM_ROOT="$(get_llvm_prefix -d)"
+               )
+       fi
+
+       cmake_src_configure
+}

Reply via email to