diff options
author | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2021-12-15 12:25:44 +0100 |
---|---|---|
committer | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2021-12-15 12:27:53 +0100 |
commit | e49bba8fee319855a34a56a562fa4aa3297d78c0 (patch) | |
tree | d16908458cc54ec1c82f5c878efb096d155d07e3 /sci-mathematics/singular | |
parent | sys-fs/bcache-tools: enable py3.10 (diff) | |
download | gentoo-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.xml | 8 | ||||
-rw-r--r-- | sci-mathematics/singular/singular-4.2.1-r1.ebuild | 122 |
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 +} |