commit:     e49bba8fee319855a34a56a562fa4aa3297d78c0
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 15 11:25:44 2021 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Dec 15 11:27:53 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e49bba8f

sci-mathematics/singular: add julia and polymake useflags

Co-authored-by: Alessandro Barbieri <lssndrbarbieri <AT> 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 <AT> gentoo.org>

 sci-mathematics/singular/metadata.xml             |   8 ++
 sci-mathematics/singular/singular-4.2.1-r1.ebuild | 122 ++++++++++++++++++++++
 2 files changed, 130 insertions(+)

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>[email protected]</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
+}

Reply via email to