commit:     960c46b14fb392b202a5eb74ca4ca7c7e3417b9e
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  9 19:44:07 2024 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Sat Mar  9 19:44:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=960c46b1

sci-mathematics/singular: add 4.3.2_p16

Closes: https://bugs.gentoo.org/926459
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 sci-mathematics/singular/Manifest                  |   1 +
 .../singular-4.3.2_p16-test-underlinking.patch     | 180 +++++++++++++++++++++
 sci-mathematics/singular/singular-4.3.2_p16.ebuild | 115 +++++++++++++
 3 files changed, 296 insertions(+)

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 <mich...@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
+}

Reply via email to