summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2024-03-09 14:44:07 -0500
committerMichael Orlitzky <mjo@gentoo.org>2024-03-09 14:44:30 -0500
commit960c46b14fb392b202a5eb74ca4ca7c7e3417b9e (patch)
tree54cade05c55adeaeaa6d93b8122dd3dc6ed1f813 /sci-mathematics/singular
parentdev-build/automake: Backport a py3.12 test fix (diff)
downloadgentoo-960c46b14fb392b202a5eb74ca4ca7c7e3417b9e.tar.gz
gentoo-960c46b14fb392b202a5eb74ca4ca7c7e3417b9e.tar.bz2
gentoo-960c46b14fb392b202a5eb74ca4ca7c7e3417b9e.zip
sci-mathematics/singular: add 4.3.2_p16
Closes: https://bugs.gentoo.org/926459 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'sci-mathematics/singular')
-rw-r--r--sci-mathematics/singular/Manifest1
-rw-r--r--sci-mathematics/singular/files/singular-4.3.2_p16-test-underlinking.patch180
-rw-r--r--sci-mathematics/singular/singular-4.3.2_p16.ebuild115
3 files changed, 296 insertions, 0 deletions
diff --git a/sci-mathematics/singular/Manifest b/sci-mathematics/singular/Manifest
index d567474d3cb1..c9cacfd68ac2 100644
--- a/sci-mathematics/singular/Manifest
+++ b/sci-mathematics/singular/Manifest
@@ -1 +1,2 @@
DIST singular-4.3.2p10.tar.gz 20848377 BLAKE2B 2487eb40c70dca516eca94585c59be0ebfeb43edce87dd16a2874bbefbe502fadcfda1164922ab7738a257e59f9e6b6535b7447702d325b36f1358ed5048c7dd SHA512 9b914e8db2c4936184594200b07d37fc952a1399c3accb1ed30ec4a4b450afd3e3c174343e1169520d0d1ed6ac2e6d261fbbb731082e07b7caced4b5790f295e
+DIST singular-4.3.2p16.tar.gz 20880476 BLAKE2B ce226a6867b764e593ddbf2c71220d9ea14ccdfd956046d5a94dfb768a97927ca3cf961a9ea808cb77028f2c65d989032202d3a0bde555ace945df1e987077a8 SHA512 1dae0e229e124db03e5e240c3ab2f1049c9f77cf369f701c4a2d0767ba9c23baab2d5d14271e415a3ccbf7b9a9297fcf324b8ccc2841a5156d6ee846cb409de2
diff --git a/sci-mathematics/singular/files/singular-4.3.2_p16-test-underlinking.patch b/sci-mathematics/singular/files/singular-4.3.2_p16-test-underlinking.patch
new file mode 100644
index 000000000000..cf8a66e3944e
--- /dev/null
+++ b/sci-mathematics/singular/files/singular-4.3.2_p16-test-underlinking.patch
@@ -0,0 +1,180 @@
+From 23444f771ec95036f6589349da232d8b59734a20 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 9 Mar 2024 14:28:03 -0500
+Subject: [PATCH] **/Makefile.am: links tests with RESOURCES_LIBS
+
+Several test programs use functions from libsingular_resources, such
+as feInitResources(). Here we ensure that those test programs are
+actually linked with libsingular_resources by adding RESOURCES_LIBS to
+the corresponding LDADD lines. In the process, and for consistency, we
+have replaced some references to libomalloc.la with OMALLOC_LIBS.
+---
+ Singular/Makefile.am | 6 +++---
+ kernel/GBEngine/Makefile.am | 2 +-
+ kernel/Makefile.am | 2 +-
+ kernel/combinatorics/Makefile.am | 2 +-
+ kernel/fglm/Makefile.am | 2 +-
+ kernel/groebner_walk/Makefile.am | 2 +-
+ kernel/linear_algebra/Makefile.am | 2 +-
+ kernel/maps/Makefile.am | 2 +-
+ kernel/numeric/Makefile.am | 2 +-
+ kernel/oswrapper/Makefile.am | 2 +-
+ kernel/spectrum/Makefile.am | 2 +-
+ 11 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/Singular/Makefile.am b/Singular/Makefile.am
+index 6e27f805a..c68d2507d 100644
+--- a/Singular/Makefile.am
++++ b/Singular/Makefile.am
+@@ -162,7 +162,7 @@ dist_script_SCRIPTS = singularsurf singularsurf_jupyter singularsurf_win surfex
+ ESingular_CPPFLAGS = ${AM_CPPFLAGS} -DESINGULAR -DPROTO
+ ESingular_LDADD = ${top_builddir}/libpolys/reporter/libreporter.la \
+ ${top_builddir}/libpolys/misc/libmisc.la ${OMALLOC_LIBS} \
+-${top_builddir}/resources/libsingular_resources.la
++$(RESOURCES_LIBS)
+
+
+ ESingular_SOURCES = emacs.cc feOptES.inc feOpt.cc
+@@ -171,7 +171,7 @@ ESingular_SOURCES = emacs.cc feOptES.inc feOpt.cc
+ TSingular_CPPFLAGS = ${AM_CPPFLAGS} -DTSINGULAR -DPROTO
+ TSingular_LDADD = ${top_builddir}/libpolys/reporter/libreporter.la \
+ ${top_builddir}/libpolys/misc/libmisc.la ${OMALLOC_LIBS} \
+-${top_builddir}/resources/libsingular_resources.la
++$(RESOURCES_LIBS)
+
+ TSingular_SOURCES = emacs.cc feOptTS.inc feOpt.cc
+ # utils.cc utils.h
+@@ -213,7 +213,7 @@ TESTS=test
+ check_PROGRAMS=$(TESTS)
+
+ test_SOURCES = test.cc
+-test_LDADD = ${builddir}/../omalloc/libomalloc.la libSingular.la
++test_LDADD = $(OMALLOC_LIBS) libSingular.la $(RESOURCES_LIBS)
+
+ #########################################################
+ # These files are built first
+diff --git a/kernel/GBEngine/Makefile.am b/kernel/GBEngine/Makefile.am
+index 8a3c2c5a9..e3a05483c 100644
+--- a/kernel/GBEngine/Makefile.am
++++ b/kernel/GBEngine/Makefile.am
+@@ -21,7 +21,7 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
+ TESTS = test
+ check_PROGRAMS = $(TESTS)
+ test_SOURCES = test.cc
+-test_LDADD = libGBEngine.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../combinatorics/libcombinatorics.la ${builddir}/../linear_algebra/liblinear_algebra.la ${builddir}/../libkernelCommon.la ${builddir}/../../Singular/libSingular.la
++test_LDADD = libGBEngine.la $(OMALLOC_LIBS) ${builddir}/../combinatorics/libcombinatorics.la ${builddir}/../linear_algebra/liblinear_algebra.la ${builddir}/../libkernelCommon.la ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
+
+ CLEANFILES = $(TESTS)
+
+diff --git a/kernel/Makefile.am b/kernel/Makefile.am
+index fe093a4af..f615eab51 100644
+--- a/kernel/Makefile.am
++++ b/kernel/Makefile.am
+@@ -51,7 +51,7 @@ TESTS = test
+ check_PROGRAMS = $(TESTS)
+
+ test_SOURCES = test.cc
+-test_LDADD = libkernel.la ${builddir}/../omalloc/libomalloc.la ${builddir}/../Singular/libSingular.la
++test_LDADD = libkernel.la $(OMALLOC_LIBS) ${builddir}/../Singular/libSingular.la $(RESOURCES_LIBS)
+
+ # These files are built first
+ # BUILT_SOURCES = MOD
+diff --git a/kernel/combinatorics/Makefile.am b/kernel/combinatorics/Makefile.am
+index 31ab51968..816a99360 100644
+--- a/kernel/combinatorics/Makefile.am
++++ b/kernel/combinatorics/Makefile.am
+@@ -17,6 +17,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
+ TESTS = test
+ check_PROGRAMS = $(TESTS)
+ test_SOURCES = test.cc
+-test_LDADD = libcombinatorics.la ${builddir}/../libkernelCommon.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
++test_LDADD = libcombinatorics.la ${builddir}/../libkernelCommon.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
+
+ CLEANFILES = $(TESTS)
+diff --git a/kernel/fglm/Makefile.am b/kernel/fglm/Makefile.am
+index 227e2c122..3b32dda76 100644
+--- a/kernel/fglm/Makefile.am
++++ b/kernel/fglm/Makefile.am
+@@ -17,6 +17,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
+ TESTS = test
+ check_PROGRAMS = $(TESTS)
+ test_SOURCES = test.cc
+-test_LDADD = libfglm.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
++test_LDADD = libfglm.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
+
+ CLEANFILES = $(TESTS)
+diff --git a/kernel/groebner_walk/Makefile.am b/kernel/groebner_walk/Makefile.am
+index 9be32dd76..da3364489 100644
+--- a/kernel/groebner_walk/Makefile.am
++++ b/kernel/groebner_walk/Makefile.am
+@@ -17,6 +17,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
+ TESTS = test
+ check_PROGRAMS = $(TESTS)
+ test_SOURCES = test.cc
+-test_LDADD = libgroebner_walk.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
++test_LDADD = libgroebner_walk.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
+
+ CLEANFILES = $(TESTS)
+diff --git a/kernel/linear_algebra/Makefile.am b/kernel/linear_algebra/Makefile.am
+index 82149611b..57fc6b5ef 100644
+--- a/kernel/linear_algebra/Makefile.am
++++ b/kernel/linear_algebra/Makefile.am
+@@ -23,6 +23,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
+ TESTS = test
+ check_PROGRAMS = $(TESTS)
+ test_SOURCES = test.cc
+-test_LDADD = liblinear_algebra.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
++test_LDADD = liblinear_algebra.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
+
+ CLEANFILES = $(TESTS)
+diff --git a/kernel/maps/Makefile.am b/kernel/maps/Makefile.am
+index 6e846ef20..afff63804 100644
+--- a/kernel/maps/Makefile.am
++++ b/kernel/maps/Makefile.am
+@@ -17,6 +17,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
+ TESTS = test
+ check_PROGRAMS = $(TESTS)
+ test_SOURCES = test.cc
+-test_LDADD = libmaps.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
++test_LDADD = libmaps.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
+
+ CLEANFILES = $(TESTS)
+diff --git a/kernel/numeric/Makefile.am b/kernel/numeric/Makefile.am
+index 8fb48461e..f40e9e60a 100644
+--- a/kernel/numeric/Makefile.am
++++ b/kernel/numeric/Makefile.am
+@@ -18,6 +18,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
+ TESTS = test
+ check_PROGRAMS = $(TESTS)
+ test_SOURCES = test.cc
+-test_LDADD = libnumeric.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
++test_LDADD = libnumeric.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
+
+ CLEANFILES = $(TESTS)
+diff --git a/kernel/oswrapper/Makefile.am b/kernel/oswrapper/Makefile.am
+index ed4f2097a..e79f9da6a 100644
+--- a/kernel/oswrapper/Makefile.am
++++ b/kernel/oswrapper/Makefile.am
+@@ -19,6 +19,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
+ TESTS = test
+ check_PROGRAMS = $(TESTS)
+ test_SOURCES = test.cc
+-test_LDADD = liboswrapper.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
++test_LDADD = liboswrapper.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
+
+ CLEANFILES = $(TESTS)
+diff --git a/kernel/spectrum/Makefile.am b/kernel/spectrum/Makefile.am
+index 28ef269b3..6eff47819 100644
+--- a/kernel/spectrum/Makefile.am
++++ b/kernel/spectrum/Makefile.am
+@@ -17,6 +17,6 @@ TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
+ TESTS = test
+ check_PROGRAMS = $(TESTS)
+ test_SOURCES = test.cc
+-test_LDADD = libspectrum.la ${builddir}/../../omalloc/libomalloc.la ${builddir}/../../Singular/libSingular.la
++test_LDADD = libspectrum.la $(OMALLOC_LIBS) ${builddir}/../../Singular/libSingular.la $(RESOURCES_LIBS)
+
+ CLEANFILES = $(TESTS)
+--
+2.43.0
+
diff --git a/sci-mathematics/singular/singular-4.3.2_p16.ebuild b/sci-mathematics/singular/singular-4.3.2_p16.ebuild
new file mode 100644
index 000000000000..a6e8d0e023eb
--- /dev/null
+++ b/sci-mathematics/singular/singular-4.3.2_p16.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools elisp-common
+
+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="https://www.singular.uni-kl.de/ftp/pub/Math/${MY_PN}/SOURCES/${MY_DIR}/${PN}-${MY_PV}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_DIR2}"
+
+# Most files say "version 2 or version 3 of the License," which is not
+# quite GPL-2+, and is why we have listed GPL-2 below. But AFAIK there
+# are no GPL-2-only files.
+LICENSE="BSD GPL-2 GPL-2+ GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~x86-linux"
+IUSE="emacs examples polymake +readline"
+
+# The interactive help uses "info" from sys-apps/texinfo.
+RDEPEND="
+ dev-lang/perl
+ dev-libs/gmp:0
+ dev-libs/ntl:=
+ sci-libs/cddlib
+ sci-mathematics/flint
+ sys-apps/texinfo
+ emacs? ( app-editors/emacs:* )
+ polymake? ( sci-mathematics/polymake )
+ readline? ( sys-libs/readline )
+"
+DEPEND="${RDEPEND}"
+
+SITEFILE=60${PN}-gentoo.el
+
+PATCHES=(
+ "${FILESDIR}/${P}-test-underlinking.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ 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 polymake polymake-module)
+ $(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}"
+
+ find "${ED}" -type f -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
+}