summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/yacas/yacas-1.9.1-r1.ebuild')
-rw-r--r--sci-mathematics/yacas/yacas-1.9.1-r1.ebuild76
1 files changed, 76 insertions, 0 deletions
diff --git a/sci-mathematics/yacas/yacas-1.9.1-r1.ebuild b/sci-mathematics/yacas/yacas-1.9.1-r1.ebuild
new file mode 100644
index 000000000000..56679b940c84
--- /dev/null
+++ b/sci-mathematics/yacas/yacas-1.9.1-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Sphinx doc building is not compatible with in-tree version of sphinx-bibtex:
+# Extension error: You must configure the bibtex_bibfiles setting
+#
+# PYTHON_COMPAT=( python3_{8..10} )
+# DOCS_BUILDER="sphinx"
+# DOCS_DEPEND="
+# dev-python/sphinxcontrib-bibtex
+# dev-python/sphinx-rtd-theme
+# "
+
+inherit cmake xdg # python-any-r1 docs
+
+DESCRIPTION="General purpose computer algebra system"
+HOMEPAGE="https://www.yacas.org/"
+SRC_URI="https://github.com/grzegorzmazur/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2 gui? ( MIT Apache-2.0 OFL-1.1 )"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86"
+IUSE="gui +jupyter static-libs test"
+RESTRICT="!test? ( test )"
+
+# Upstream bundles MathJax-2.x
+DEPEND="
+ gui? (
+ <dev-libs/mathjax-3
+ dev-qt/qtcore:5[icu]
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsql:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwebengine:5[widgets]
+ dev-qt/qtwidgets:5
+ )
+ jupyter? (
+ dev-libs/boost:=
+ dev-libs/jsoncpp:=
+ dev-libs/openssl:0=
+ dev-python/jupyter
+ net-libs/zeromq
+ >=net-libs/zmqpp-4.1.2
+ )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # respect DESTDIR. avoid sandbox violation
+ sed -i -e 's/${CMAKE_INSTALL_PREFIX}/\\$ENV{DESTDIR}\/${CMAKE_INSTALL_PREFIX}/g' \
+ cyacas/yacas-gui/resources/CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ # TODO: Unbundle CodeMirror
+ local mycmakeargs=(
+ -DENABLE_CYACAS_BENCHMARKS=OFF
+ -DENABLE_DOCS=OFF
+ # -DENABLE_DOCS=$(usex doc)
+ -DENABLE_JYACAS=OFF # requires manual install
+ -DENABLE_CYACAS_GUI=$(usex gui)
+ # use system version of mathjax instead
+ -DENABLE_CYACAS_GUI_PRIVATE_MATHJAX=OFF
+ -DMATHJAX_PATH="${EPREFIX}/usr/share/mathjax/MathJax.js"
+ -DENABLE_CYACAS_KERNEL=$(usex jupyter)
+ -DENABLE_CYACAS_UNIT_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}