diff options
-rw-r--r-- | sci-mathematics/cadabra/Manifest | 1 | ||||
-rw-r--r-- | sci-mathematics/cadabra/cadabra-2.4.5.5.ebuild | 112 |
2 files changed, 113 insertions, 0 deletions
diff --git a/sci-mathematics/cadabra/Manifest b/sci-mathematics/cadabra/Manifest index 7301e0ff56c0..a3d9c708b387 100644 --- a/sci-mathematics/cadabra/Manifest +++ b/sci-mathematics/cadabra/Manifest @@ -1 +1,2 @@ DIST cadabra-2.4.5.4.tar.gz 26825874 BLAKE2B 90562e4ddb08a99a38f32d5cf3fe237b2ca5ece80e4bf70caa8db23a2b6af246b289eb41e7d366c5a242e6e06a680ab0917deb43f29efcf7d6703338c7e97d00 SHA512 907e291880aac84a4f5695f77dd34512c13dba320b38fee59c765b070235c9ef777f6e188c675c8247f56144624edb84459d8b500e4c074731633a2b9cf9ee74 +DIST cadabra-2.4.5.5.tar.gz 26827810 BLAKE2B ba8eaa9eaab6ec1832dc9dd0ff47710a503b6a4a33124cdd3021144177b471c2b3616a7e61f4ec32fd464270e45cdc460d2bcdb5bd39fa853a00bbfefba58c92 SHA512 931537cb1b72194cbe89dc2231fa50c5550e14e7f259cfbd19bc2ffdf9d558273b60cd36fdfe0578b05e26b74cb362e1411c4c4706293437b867b71ee7661411 diff --git a/sci-mathematics/cadabra/cadabra-2.4.5.5.ebuild b/sci-mathematics/cadabra/cadabra-2.4.5.5.ebuild new file mode 100644 index 000000000000..de5c161c94ef --- /dev/null +++ b/sci-mathematics/cadabra/cadabra-2.4.5.5.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MAJOR="$(ver_cut 1)" +CADABRA="${PN}${MAJOR}" + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit xdg-utils python-single-r1 cmake + +DESCRIPTION="Field-theory motivated approach to computer algebra" +HOMEPAGE="https://cadabra.science/ + https://github.com/kpeeters/cadabra2/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/kpeeters/${CADABRA}.git" +else + SRC_URI="https://github.com/kpeeters/${CADABRA}/archive/${PV}.tar.gz + -> ${P}.tar.gz" + S="${WORKDIR}/${CADABRA}-${PV}" + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3" +SLOT="0/${MAJOR}" +IUSE="gui +jupyter test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND=" + ${PYTHON_DEPS} + app-text/dvipng + dev-cpp/glibmm:2 + dev-db/sqlite:3= + dev-libs/boost:= + dev-libs/gmp:=[cxx] + dev-libs/jsoncpp:= + dev-libs/libsigc++:2 + dev-texlive/texlive-basic + $(python_gen_cond_dep ' + dev-python/gmpy:2[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/sympy[${PYTHON_USEDEP}] + jupyter? ( dev-python/jupyter[${PYTHON_USEDEP}] ) + ') + gui? ( + dev-cpp/gtkmm:3.0 + ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + $(python_gen_cond_dep 'dev-python/pybind11[${PYTHON_USEDEP}]') +" + +PATCHES=( "${FILESDIR}/${CADABRA}-CMake.patch" ) + +DOCS=( CODE_OF_CONDUCT.md CONTRIBUTING.md JUPYTER.rst README.rst ) + +xdg_update() { + if use gui ; then + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + fi +} + +src_prepare() { + # Clean postinst script which calls libtool and icon-cache update + echo '#!/bin/sh' > "${S}/config/postinst.in" || die + + # Fix "PYTHON_EXECUTABLE" in Jupyter kernel + sed -i "s|@PYTHON_EXECUTABLE@|${EPYTHON}|" \ + "${S}/jupyterkernel/kernelspec/kernel.json.in" || die + + cmake_src_prepare +} + +src_configure() { + local -a mycmakeargs=( + -DENABLE_SYSTEM_JSONCPP=ON + -DPACKAGING_MODE=ON + -DUSE_PYTHON_3=ON + -DBUILD_AS_CPP_LIBRARY=OFF + -DENABLE_JUPYTER=OFF # special Xeus Jupyter kernel (uses xtl) + -DENABLE_MATHEMATICA=OFF + -DINSTALL_TARGETS_ONLY=OFF + -DBUILD_TESTS="$(usex test)" + -DENABLE_FRONTEND="$(usex gui)" + -DENABLE_PY_JUPYTER="$(usex jupyter)" + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + python_optimize +} + +pkg_postinst() { + xdg_update +} + +pkg_postrm() { + xdg_update +} |