summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@gentoo.org>2021-12-15 12:25:44 +0100
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2021-12-15 12:27:53 +0100
commite49bba8fee319855a34a56a562fa4aa3297d78c0 (patch)
treed16908458cc54ec1c82f5c878efb096d155d07e3 /sci-mathematics/singular
parentsys-fs/bcache-tools: enable py3.10 (diff)
downloadgentoo-e49bba8fee319855a34a56a562fa4aa3297d78c0.tar.gz
gentoo-e49bba8fee319855a34a56a562fa4aa3297d78c0.tar.bz2
gentoo-e49bba8fee319855a34a56a562fa4aa3297d78c0.zip
sci-mathematics/singular: add julia and polymake useflags
Co-authored-by: Alessandro Barbieri <lssndrbarbieri@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/22742 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'sci-mathematics/singular')
-rw-r--r--sci-mathematics/singular/metadata.xml8
-rw-r--r--sci-mathematics/singular/singular-4.2.1-r1.ebuild122
2 files changed, 130 insertions, 0 deletions
diff --git a/sci-mathematics/singular/metadata.xml b/sci-mathematics/singular/metadata.xml
index 098312eeb426..5d46057110ae 100644
--- a/sci-mathematics/singular/metadata.xml
+++ b/sci-mathematics/singular/metadata.xml
@@ -5,4 +5,12 @@
<email>sci-mathematics@gentoo.org</email>
<name>Gentoo Mathematics Project</name>
</maintainer>
+ <use>
+ <flag name="julia">Enables interface for Singular to julia</flag>
+ <flag name="polymake">Enable the interface to TOPCOM</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://github.com/Singular/Singular/issues</bugs-to>
+ <remote-id type="github">Singular/Singular</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-mathematics/singular/singular-4.2.1-r1.ebuild b/sci-mathematics/singular/singular-4.2.1-r1.ebuild
new file mode 100644
index 000000000000..96abef3a90a3
--- /dev/null
+++ b/sci-mathematics/singular/singular-4.2.1-r1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools elisp-common flag-o-matic
+
+MY_PN=Singular
+MY_PV=$(ver_rs 3 '')
+# Consistency is different...
+MY_DIR2=$(ver_cut 1-3 ${PV})
+MY_DIR=$(ver_rs 1- '-' ${MY_DIR2})
+
+DESCRIPTION="Computer algebra system for polynomial computations"
+HOMEPAGE="https://www.singular.uni-kl.de/ https://github.com/Singular/Singular"
+SRC_URI="ftp://jim.mathematik.uni-kl.de/pub/Math/${MY_PN}/SOURCES/${MY_DIR}/${PN}-${MY_PV}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_DIR2}"
+
+LICENSE="BSD GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-linux"
+IUSE="emacs examples julia polymake +readline static-libs"
+
+RDEPEND="
+ dev-lang/perl
+ dev-libs/gmp:0
+ dev-libs/ntl:=
+ sci-libs/cddlib
+ sci-mathematics/flint
+ emacs? ( >=app-editors/emacs-23.1:* )
+ julia? ( dev-lang/julia )
+ polymake? ( sci-mathematics/polymake )
+ readline? ( sys-libs/readline )
+"
+DEPEND="${RDEPEND}"
+
+SITEFILE=60${PN}-gentoo.el
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-doc_install-v2.patch"
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # Needed to avoid segfaults in the test suite until
+ #
+ # https://github.com/Singular/Singular/issues/1105
+ #
+ # makes its way into a release.
+ append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks)
+
+ local myconf=(
+ --disable-debug
+ --disable-doc
+ --disable-optimizationflags
+ --disable-pyobject-module
+ --disable-python
+ --disable-python-module
+ --disable-python_module
+ --enable-factory
+ --enable-gfanlib
+ --enable-libfac
+ --with-flint
+ --with-gmp
+ --with-libparse
+ --with-ntl
+ --without-python
+ --without-pythonmodule
+ $(use_enable emacs)
+ $(use_enable julia)
+ $(use_enable polymake polymake-module)
+ $(use_enable static-libs static)
+ $(use_with readline)
+ )
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+
+ if use emacs; then
+ pushd "${S}"/emacs
+ elisp-compile *.el || die "elisp-compile failed"
+ popd
+ fi
+}
+
+src_install() {
+ # Do not compress singular's info file (singular.hlp)
+ # some consumer of that file do not know how to deal with compression
+ docompress -x /usr/share/info
+
+ default
+
+ dosym Singular /usr/bin/"${PN}"
+
+ # purge .la file
+ find "${ED}" -name '*.la' -delete || die
+}
+
+src_test() {
+ # SINGULAR_PROCS_DIR need to be set to "" otherwise plugins from
+ # an already installed version of singular may be used and cause segfault
+ # See https://github.com/Singular/Sources/issues/980
+ SINGULAR_PROCS_DIR="" emake check
+}
+
+pkg_postinst() {
+ einfo "Additional functionality can be enabled by installing"
+ einfo "sci-mathematics/4ti2"
+
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}