Version 4.2.0p2.

- Drop the -polymake subpackage; the polymake library is no longer linked.
- Drop the -polymake and -flint patches.
This commit is contained in:
Jerry James 2021-06-17 14:44:56 -06:00
parent a62525ab1e
commit b85dfc1bc5
8 changed files with 75 additions and 872 deletions

View File

@ -1,5 +1,5 @@
--- singular-4.1.0/emacs/.emacs-singular.orig 2017-02-20 10:33:27.000000000 -0700
+++ singular-4.1.0/emacs/.emacs-singular 2017-04-20 21:15:06.267460576 -0600
--- singular-4.2.0/emacs/.emacs-singular.orig 2021-04-14 06:26:53.000000000 -0600
+++ singular-4.2.0/emacs/.emacs-singular 2021-05-25 19:58:16.350688397 -0600
@@ -185,7 +185,7 @@
"" "/")))
@ -18,9 +18,9 @@
(add-submenu nil
'("Singular"
["Start default" singular t]
--- singular-4.1.0/resources/feResource.cc.orig 2017-02-20 10:33:27.000000000 -0700
+++ singular-4.1.0/resources/feResource.cc 2017-04-19 20:10:05.304202866 -0600
@@ -83,7 +83,7 @@ feResourceConfig_s feResourceConfigs[] =
--- singular-4.2.0/resources/feResource.cc.orig 2021-04-14 06:26:53.000000000 -0600
+++ singular-4.2.0/resources/feResource.cc 2021-05-25 19:58:16.351688394 -0600
@@ -83,7 +83,7 @@ VAR feResourceConfig_s feResourceConfigs
{"RootDir", 'r', feResDir, "SINGULAR_ROOT_DIR", "%b/..", (char *)""},
{"DataDir", 'D', feResDir, "SINGULAR_DATA_DIR", "%b/../share/", (char *)""},
{"DefaultDir",'d', feResDir, "SINGULAR_DEFAULT_DIR", SINGULAR_DEFAULT_DIR, (char *)""},
@ -28,4 +28,4 @@
+ {"InfoFile", 'i', feResFile, "SINGULAR_INFO_FILE", "%D/info/singular.hlp.gz", (char *)""},
{"IdxFile", 'x', feResFile, "SINGULAR_IDX_FILE", "%D/singular/singular.idx", (char *)""},
{"HtmlDir", 'h', feResDir, "SINGULAR_HTML_DIR", "%D/singular/html", (char *)""},
{"ManualUrl", 'u', feResUrl, "SINGULAR_URL", "http://www.singular.uni-kl.de/Manual/", (char *)""},
{"ManualUrl", 'u', feResUrl, "SINGULAR_URL", "https://www.singular.uni-kl.de/Manual/", (char *)""},

View File

@ -1,22 +0,0 @@
--- singular-4.1.1/m4/flint-check.m4.orig 2018-07-31 07:05:52.000000000 -0600
+++ singular-4.1.1/m4/flint-check.m4 2020-07-06 10:59:54.667384578 -0600
@@ -69,7 +69,7 @@ for FLINT_HOME in ${FLINT_HOME_PATH}
[
AC_TRY_RUN(
[#include <flint/flint.h>
- int main () { if ((int) version[0] < 2) return -1; else return 0; }
+ int main () { if ((int) flint_version[0] < 2) return -1; else return 0; }
],[
flint_found="yes"
break
--- singular-4.1.1/Singular/misc_ip.cc.orig 2018-07-31 07:05:52.000000000 -0600
+++ singular-4.1.1/Singular/misc_ip.cc 2020-07-06 11:00:28.616358457 -0600
@@ -811,7 +811,7 @@ char * versionString(/*const bool bShowD
#endif
#ifdef HAVE_FLINT
- StringAppend("FLINT(%s),",version);
+ StringAppend("FLINT(%s),",flint_version);
#endif
StringAppendS("factory(" FACTORYVERSION "),\n\t");
#ifdef XMEMORY_H

View File

@ -1,17 +1,6 @@
--- singular-4.1.1/kernel/linear_algebra/CacheImplementation.h.orig 2018-07-31 07:05:52.000000000 -0600
+++ singular-4.1.1/kernel/linear_algebra/CacheImplementation.h 2018-10-24 08:36:14.739165486 -0600
@@ -354,7 +354,7 @@ bool Cache<KeyClass, ValueClass>::put (c
template<class KeyClass, class ValueClass>
std::string Cache<KeyClass, ValueClass>::toString() const
{
- char h[10];
+ char h[12];
std::string s = "Cache:";
s += "\n entries: ";
sprintf(h, "%d", getNumberOfEntries()); s += h;
--- singular-4.1.1/Singular/extra.cc.orig 2018-07-31 07:05:52.000000000 -0600
+++ singular-4.1.1/Singular/extra.cc 2018-10-24 08:36:14.740165469 -0600
@@ -2537,7 +2537,7 @@ static BOOLEAN jjEXTENDED_SYSTEM(leftv r
--- singular-4.2.0/Singular/extra.cc.orig 2021-04-14 06:26:53.000000000 -0600
+++ singular-4.2.0/Singular/extra.cc 2021-05-25 19:54:51.313284051 -0600
@@ -2438,7 +2438,7 @@ static BOOLEAN jjEXTENDED_SYSTEM(leftv r
if(strcmp(sys_cmd,"changeRing")==0)
{
int varN = currRing->N;

View File

@ -1,11 +1,9 @@
--- singular-4.1.0/Singular/dyn_modules/gfanlib/Makefile.am.orig 2017-04-12 09:54:29.000000000 -0600
+++ singular-4.1.0/Singular/dyn_modules/gfanlib/Makefile.am 2018-05-23 11:15:51.073374806 -0600
@@ -40,7 +40,7 @@ endif
endif
--- singular-4.2.0/Singular/dyn_modules/gfanlib/Makefile.am.orig 2021-05-25 19:56:34.726983587 -0600
+++ singular-4.2.0/Singular/dyn_modules/gfanlib/Makefile.am 2021-05-25 19:56:56.827919382 -0600
@@ -41,5 +41,5 @@ endif
if HAVE_GFANLIB
# Use objects from the libtool convenience library
- gfanlib_la_LIBADD += ${abs_top_builddir}/gfanlib/libgfan.la ${CDDGMPLDFLAGS}
+ gfanlib_la_LIBADD += -lgfan
endif
#AM_COLOR_TESTS=always

View File

@ -1,8 +1,8 @@
--- singular-4.1.1/configure.ac.orig 2018-07-31 07:05:52.000000000 -0600
+++ singular-4.1.1/configure.ac 2018-10-24 08:33:42.979724820 -0600
@@ -264,4 +264,10 @@ AC_CONFIG_FILES([redhat/Makefile])
AC_CONFIG_FILES([redhat/singular.spec])
AC_CONFIG_FILES([desktop/Makefile desktop/Singular.desktop desktop/Singular-manual.desktop])
--- singular-4.2.0/configure.ac.orig 2021-04-14 06:26:53.000000000 -0600
+++ singular-4.2.0/configure.ac 2021-05-25 19:48:16.657430623 -0600
@@ -341,4 +341,10 @@ AC_ARG_ENABLE([doc-build],
])
AM_CONDITIONAL([ENABLE_DOC_BUILD], [test "$enable_doc_build" = yes])
+AC_CONFIG_COMMANDS([norpath], [
+sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
@ -11,8 +11,8 @@
+ -i libtool
+])
AC_OUTPUT
--- singular-4.1.1/factory/configure.ac.orig 2018-07-31 07:07:38.000000000 -0600
+++ singular-4.1.1/factory/configure.ac 2018-10-24 08:33:42.980724804 -0600
--- singular-4.2.0/factory/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600
+++ singular-4.2.0/factory/configure.ac 2021-05-25 19:48:16.658430620 -0600
@@ -412,5 +412,11 @@ AC_DEFINE_UNQUOTED([FACTORYCONFIGURATION
@ -25,9 +25,9 @@
+])
AC_OUTPUT
--- singular-4.1.1/gfanlib/configure.ac.orig 2018-07-31 07:07:38.000000000 -0600
+++ singular-4.1.1/gfanlib/configure.ac 2018-10-24 08:33:42.981724789 -0600
@@ -57,4 +57,10 @@ AC_LANG_POP()
--- singular-4.2.0/gfanlib/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600
+++ singular-4.2.0/gfanlib/configure.ac 2021-05-25 19:48:16.659430617 -0600
@@ -48,4 +48,10 @@ AC_LANG_POP()
AC_CONFIG_FILES([Makefile])
## AC_CONFIG_HEADERS([config.h])
@ -38,22 +38,12 @@
+ -i libtool
+])
AC_OUTPUT
--- singular-4.1.1/gfanlib/Makefile.am.orig 2018-07-31 07:07:38.000000000 -0600
+++ singular-4.1.1/gfanlib/Makefile.am 2018-10-24 08:33:42.981724789 -0600
@@ -2,6 +2,7 @@ ACLOCAL_AMFLAGS = -I ../m4
if HAVE_GFANLIB
libgfan_LTLIBRARIES=libgfan.la
+ libgfan_la_LIBADD=-lcddgmp -lgmp
endif
libgfandir = $(libdir)
--- singular-4.1.1/libpolys/configure.ac.orig 2018-07-31 07:07:38.000000000 -0600
+++ singular-4.1.1/libpolys/configure.ac 2018-10-24 08:33:42.982724773 -0600
@@ -159,4 +159,10 @@ AC_CONFIG_FILES([coeffs/Makefile])
AC_CONFIG_FILES([polys/Makefile])
--- singular-4.2.0/libpolys/configure.ac.orig 2021-05-25 19:48:16.660430614 -0600
+++ singular-4.2.0/libpolys/configure.ac 2021-05-25 19:51:10.892924374 -0600
@@ -162,4 +162,10 @@ AC_CONFIG_FILES([polys/Makefile])
AC_CONFIG_FILES([tests/Makefile])
AC_CONFIG_FILES([libpolys-config libpolys.pc])
AC_CONFIG_FILES([libpolys-config], [chmod +x libpolys-config])
AC_CONFIG_FILES([libpolys.pc])
+AC_CONFIG_COMMANDS([norpath], [
+sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
+ -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
@ -61,9 +51,9 @@
+ -i libtool
+])
AC_OUTPUT
--- singular-4.1.1/omalloc/configure.ac.orig 2018-07-31 07:07:38.000000000 -0600
+++ singular-4.1.1/omalloc/configure.ac 2018-10-24 08:33:42.982724773 -0600
@@ -600,5 +600,11 @@ dnl llllllllllllllllllllllllllllllllllll
--- singular-4.2.0/omalloc/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600
+++ singular-4.2.0/omalloc/configure.ac 2021-05-25 19:48:16.661430611 -0600
@@ -607,5 +607,11 @@ dnl llllllllllllllllllllllllllllllllllll
dnl wrap it up
dnl
AC_CONFIG_FILES([Makefile omalloc.pc])
@ -75,9 +65,9 @@
+])
AC_OUTPUT
--- singular-4.1.1/resources/configure.ac.orig 2018-07-31 07:07:38.000000000 -0600
+++ singular-4.1.1/resources/configure.ac 2018-10-24 08:33:42.983724758 -0600
@@ -74,4 +74,10 @@ AX_NORMALIZE_PATH([config_datadir],['/']
--- singular-4.2.0/resources/configure.ac.orig 2021-04-14 09:52:55.000000000 -0600
+++ singular-4.2.0/resources/configure.ac 2021-05-25 19:48:16.661430611 -0600
@@ -73,4 +73,10 @@ AX_NORMALIZE_PATH([config_datadir],['/']
AC_DEFINE_UNQUOTED([DATA_DIR],"$config_datadir",[datadir])
AC_CONFIG_FILES([singular_resources.pc Makefile])

View File

@ -1,736 +0,0 @@
--- singular-4.1.1/m4/polymake-check.m4.orig 2020-02-09 08:58:52.755902651 -0700
+++ singular-4.1.1/m4/polymake-check.m4 2020-02-09 08:59:13.360835883 -0700
@@ -29,7 +29,7 @@ if test "x$ENABLE_POLYMAKE" != xno; then
AC_CHECK_PROG([PMCONFIG],[polymake-config],[1],[0])
if test $PMCONFIG = "1"; then
## AC_MSG_CHECKING([whether polymake is up-to-date])
- SUPPORTEDPOLYMAKEVERSION="21"
+ SUPPORTEDPOLYMAKEVERSION="3"
CURRENTPOLYMAKEVERSION=`polymake-config --version | cut -c -3 -| sed s'/\.//'`
if test $CURRENTPOLYMAKEVERSION -ge $SUPPORTEDPOLYMAKEVERSION; then
AC_MSG_RESULT([yes])
--- singular-4.1.1/Singular/dyn_modules/polymake/polymake_conversion.cc.orig 2018-07-31 07:05:52.000000000 -0600
+++ singular-4.1.1/Singular/dyn_modules/polymake/polymake_conversion.cc 2020-02-20 20:51:28.970588775 -0700
@@ -93,8 +93,8 @@ gfan::Rational PmRational2GfRational (co
gfan::ZMatrix PmMatrixInteger2GfZMatrix (const polymake::Matrix<polymake::Integer>* mi)
{
- int rows=mi->rows();
- int cols=mi->cols();
+ int rows=static_cast<int>(mi->rows());
+ int cols=static_cast<int>(mi->cols());
gfan::ZMatrix zm(rows,cols);
for(int r=1; r<=rows; r++)
for(int c=1; c<=cols; c++)
@@ -104,8 +104,8 @@ gfan::ZMatrix PmMatrixInteger2GfZMatrix
gfan::QMatrix PmMatrixRational2GfQMatrix (const polymake::Matrix<polymake::Rational>* mr)
{
- int rows=mr->rows();
- int cols=mr->cols();
+ int rows=static_cast<int>(mr->rows());
+ int cols=static_cast<int>(mr->cols());
gfan::QMatrix qm(rows,cols);
for(int r=1; r<=rows; r++)
for(int c=1; c<=cols; c++)
@@ -149,8 +149,8 @@ number PmInteger2Number (const polymake:
intvec* PmVectorInteger2Intvec (const polymake::Vector<polymake::Integer>* vi, bool &ok)
{
- intvec* iv = new intvec(vi->size());
- for(int i=1; i<=vi->size(); i++)
+ intvec* iv = new intvec(static_cast<int>(vi->size()));
+ for(int i=1; i<=static_cast<int>(vi->size()); i++)
{
(*iv)[i-1] = PmInteger2Int((*vi)[i-1],ok);
}
@@ -159,8 +159,8 @@ intvec* PmVectorInteger2Intvec (const po
intvec* PmMatrixInteger2Intvec (polymake::Matrix<polymake::Integer>* mi, bool &ok)
{
- int rows = mi->rows();
- int cols = mi->cols();
+ int rows = static_cast<int>(mi->rows());
+ int cols = static_cast<int>(mi->cols());
intvec* iv = new intvec(rows,cols,0);
#if POLYMAKE_VERSION >= 301 /*3.1*/
pm::array_traits<pm::Integer>::iterator pi = concat_rows(*mi).begin();
@@ -178,8 +178,8 @@ intvec* PmMatrixInteger2Intvec (polymake
bigintmat* PmMatrixInteger2Bigintmat (polymake::Matrix<polymake::Integer>* mi)
{
- int rows = mi->rows();
- int cols = mi->cols();
+ int rows = static_cast<int>(mi->rows());
+ int cols = static_cast<int>(mi->cols());
bigintmat* bim= new bigintmat(rows,cols,coeffs_BIGINT);
#if POLYMAKE_VERSION >= 301 /*3.1*/
pm::array_traits<pm::Integer>::iterator pi = concat_rows(*mi).begin();
@@ -199,8 +199,8 @@ bigintmat* PmMatrixInteger2Bigintmat (po
lists PmIncidenceMatrix2ListOfIntvecs (polymake::IncidenceMatrix<polymake::NonSymmetric>* icmat)
{
- int rows = icmat->rows();
- int cols = icmat->cols();
+ int rows = static_cast<int>(icmat->rows());
+ int cols = static_cast<int>(icmat->cols());
lists L = (lists)omAllocBin(slists_bin);
L->Init(rows);
@@ -222,8 +222,8 @@ lists PmIncidenceMatrix2ListOfIntvecs (p
lists PmAdjacencyMatrix2ListOfEdges (polymake::IncidenceMatrix<polymake::NonSymmetric>* icmat)
{
- int rows = icmat->rows();
- int cols = icmat->cols();
+ int rows = static_cast<int>(icmat->rows());
+ int cols = static_cast<int>(icmat->cols());
// counting number of edges
int i=0; int r, c;
@@ -280,7 +280,7 @@ polymake::Matrix<polymake::Integer> Intv
/* Functions for converting cones and fans in between gfan and polymake,
Singular shares the same cones and fans with gfan */
-gfan::ZCone* PmCone2ZCone (polymake::perl::Object* pc)
+gfan::ZCone* PmCone2ZCone (pm::perl::BigObject* pc)
{
if (pc->isa("Cone"))
{
@@ -335,7 +335,7 @@ gfan::ZCone* PmCone2ZCone (polymake::per
return NULL;
}
-gfan::ZCone* PmPolytope2ZPolytope (polymake::perl::Object* pp)
+gfan::ZCone* PmPolytope2ZPolytope (pm::perl::BigObject* pp)
{
if (pp->isa("Polytope<Rational>"))
{
@@ -393,7 +393,7 @@ gfan::ZCone* PmPolytope2ZPolytope (polym
return NULL;
}
-gfan::ZFan* PmFan2ZFan (polymake::perl::Object* pf)
+gfan::ZFan* PmFan2ZFan (pm::perl::BigObject* pf)
{
if (pf->isa("PolyhedralFan"))
{
@@ -403,7 +403,7 @@ gfan::ZFan* PmFan2ZFan (polymake::perl::
int n = pf->give("N_MAXIMAL_CONES");
for (int i=0; i<n; i++)
{
- polymake::perl::Object pmcone=pf->CallPolymakeMethod("cone",i);
+ pm::perl::BigObject pmcone=pf->call_method("cone",i);
gfan::ZCone* zc=PmCone2ZCone(&pmcone);
zf->insert(*zc);
}
@@ -413,9 +413,9 @@ gfan::ZFan* PmFan2ZFan (polymake::perl::
return NULL;
}
-polymake::perl::Object* ZCone2PmCone (gfan::ZCone* zc)
+pm::perl::BigObject* ZCone2PmCone (gfan::ZCone* zc)
{
- polymake::perl::Object* gc = new polymake::perl::Object("Cone<Rational>");
+ pm::perl::BigObject* gc = new pm::perl::BigObject("Cone<Rational>");
gfan::ZMatrix inequalities = zc->getInequalities();
gc->take("FACETS") << GfZMatrix2PmMatrixInteger(&inequalities);
@@ -438,9 +438,9 @@ polymake::perl::Object* ZCone2PmCone (gf
return gc;
}
-polymake::perl::Object* ZPolytope2PmPolytope (gfan::ZCone* zc)
+pm::perl::BigObject* ZPolytope2PmPolytope (gfan::ZCone* zc)
{
- polymake::perl::Object* pp = new polymake::perl::Object("Polytope<Rational>");
+ pm::perl::BigObject* pp = new pm::perl::BigObject("Polytope<Rational>");
gfan::ZMatrix inequalities = zc->getInequalities();
pp->take("FACETS") << GfZMatrix2PmMatrixInteger(&inequalities);
@@ -495,12 +495,12 @@ int numberOfMaximalConesOf(gfan::ZFan* z
return n;
}
-polymake::Array<polymake::Set<int> > conesOf(gfan::ZFan* zf)
+polymake::Array<polymake::Set<polymake::Int> > conesOf(gfan::ZFan* zf)
{
int r = numberOfMaximalConesOf(zf);
polymake::Matrix<polymake::Integer> pm=raysOf(zf);
- polymake::Array<polymake::Set<int> > L(r);
+ polymake::Array<polymake::Set<polymake::Int> > L(r);
int ii = 0;
for (int d=1; d<=zf->getAmbientDimension(); d++)
@@ -508,10 +508,10 @@ polymake::Array<polymake::Set<int> > con
for (int i=0; i<zf->numberOfConesOfDimension(d,0,1); i++)
{
gfan::IntVector v = zf->getConeIndices(d,i,0,1);
- polymake::Set<int> s;
+ polymake::Set<polymake::Int> s;
for (int j=0; j<(int)v.size(); j++)
{
- s = s+v[j];
+ s = s+static_cast<polymake::Int>(v[j]);
}
L[ii] = s;
ii = ii + 1;
@@ -520,14 +520,14 @@ polymake::Array<polymake::Set<int> > con
return L;
}
-polymake::perl::Object* ZFan2PmFan (gfan::ZFan* zf)
+pm::perl::BigObject* ZFan2PmFan (gfan::ZFan* zf)
{
- polymake::perl::Object* pf = new polymake::perl::Object("PolyhedralFan");
+ pm::perl::BigObject* pf = new pm::perl::BigObject("PolyhedralFan");
polymake::Matrix<polymake::Integer> zm = raysOf(zf);
pf->take("RAYS") << zm; // using rays here instead of INPUT_RAYS prevents redundant computations
- polymake::Array<polymake::Set<int> > ar = conesOf(zf);
+ polymake::Array<polymake::Set<polymake::Int> > ar = conesOf(zf);
pf->take("MAXIMAL_CONES") << ar;
return pf;
--- singular-4.1.1/Singular/dyn_modules/polymake/polymake_conversion.h.orig 2018-07-31 07:05:52.000000000 -0600
+++ singular-4.1.1/Singular/dyn_modules/polymake/polymake_conversion.h 2020-02-20 20:51:14.598617834 -0700
@@ -60,12 +60,12 @@ polymake::Matrix<polymake::Integer> Intv
/* Functions for converting cones and fans in between gfan and polymake,
Singular shares the same cones and fans with gfan */
-gfan::ZCone* PmCone2ZCone (polymake::perl::Object* pc);
-gfan::ZCone* PmPolytope2ZPolytope (polymake::perl::Object* pp);
-gfan::ZFan* PmFan2ZFan (polymake::perl::Object* pf);
-polymake::perl::Object* ZCone2PmCone (gfan::ZCone* zc);
-polymake::perl::Object* ZPolytope2PmPolytope (gfan::ZCone* zc);
-polymake::perl::Object* ZFan2PmFan (gfan::ZFan* zf);
+gfan::ZCone* PmCone2ZCone (pm::perl::BigObject* pc);
+gfan::ZCone* PmPolytope2ZPolytope (pm::perl::BigObject* pp);
+gfan::ZFan* PmFan2ZFan (pm::perl::BigObject* pf);
+pm::perl::BigObject* ZCone2PmCone (gfan::ZCone* zc);
+pm::perl::BigObject* ZPolytope2PmPolytope (gfan::ZCone* zc);
+pm::perl::BigObject* ZFan2PmFan (gfan::ZFan* zf);
#endif
#endif
--- singular-4.1.1/Singular/dyn_modules/polymake/polymake_wrapper.cc.orig 2018-07-31 07:05:52.000000000 -0600
+++ singular-4.1.1/Singular/dyn_modules/polymake/polymake_wrapper.cc 2020-02-20 20:51:24.687597434 -0700
@@ -31,10 +31,10 @@ static BOOLEAN bbpolytope_Op2(int op, le
gfan::ZCone* ms;
try
{
- polymake::perl::Object* pp = ZPolytope2PmPolytope(zp);
- polymake::perl::Object* pq = ZPolytope2PmPolytope(zq);
- polymake::perl::Object pms;
- CallPolymakeFunction("minkowski_sum", *pp, *pq) >> pms;
+ pm::perl::BigObject* pp = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* pq = ZPolytope2PmPolytope(zq);
+ pm::perl::BigObject pms;
+ polymake::call_function("minkowski_sum", *pp, *pq) >> pms;
ms = PmPolytope2ZPolytope(&pms);
delete pp;
delete pq;
@@ -220,7 +220,7 @@ BOOLEAN PMisLatticePolytope(leftv res, l
bool b;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
b = p->give("Lattice");
delete p;
}
@@ -250,7 +250,7 @@ BOOLEAN PMisBounded(leftv res, leftv arg
bool b;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
b = p->give("BOUNDED");
delete p;
}
@@ -280,7 +280,7 @@ BOOLEAN PMisReflexive(leftv res, leftv a
bool b;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
b = p->give("REFLEXIVE");
delete p;
}
@@ -310,7 +310,7 @@ BOOLEAN PMisGorenstein(leftv res, leftv
bool b;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
b = p->give("GORENSTEIN");
delete p;
}
@@ -341,7 +341,7 @@ BOOLEAN PMgorensteinIndex(leftv res, lef
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
bool b = p->give("GORENSTEIN");
if (b)
{
@@ -389,7 +389,7 @@ BOOLEAN PMgorensteinVector(leftv res, le
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
bool b = p->give("GORENSTEIN");
if (b)
{
@@ -436,7 +436,7 @@ BOOLEAN PMisCanonical(leftv res, leftv a
bool b;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
b = p->give("CANONICAL");
delete p;
}
@@ -466,7 +466,7 @@ BOOLEAN PMisTerminal(leftv res, leftv ar
bool b;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
b = p->give("TERMINAL");
delete p;
}
@@ -496,7 +496,7 @@ BOOLEAN PMisLatticeEmpty(leftv res, left
bool b;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
b = p->give("LATTICE_EMPTY");
delete p;
}
@@ -527,7 +527,7 @@ BOOLEAN PMlatticeVolume(leftv res, leftv
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Integer plv = p->give("LATTICE_VOLUME");
delete p;
lv = PmInteger2Int(plv,ok);
@@ -564,7 +564,7 @@ BOOLEAN PMlatticeDegree(leftv res, leftv
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Integer pld = p->give("LATTICE_DEGREE");
delete p;
ld = PmInteger2Int(pld,ok);
@@ -601,7 +601,7 @@ BOOLEAN PMlatticeCodegree(leftv res, lef
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Integer plc = p->give("LATTICE_CODEGREE");
delete p;
lc = PmInteger2Int(plc,ok);
@@ -638,7 +638,7 @@ BOOLEAN PMehrhartPolynomialCoeff(leftv r
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Vector<polymake::Integer> pec = p->give("EHRHART_POLYNOMIAL_COEFF");
delete p;
ec = PmVectorInteger2Intvec(&pec,ok);
@@ -675,7 +675,7 @@ BOOLEAN PMfVector(leftv res, leftv args)
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Vector<polymake::Integer> phv = p->give("F_VECTOR");
delete p;
hv = PmVectorInteger2Intvec(&phv,ok);
@@ -712,7 +712,7 @@ BOOLEAN PMhVector(leftv res, leftv args)
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Vector<polymake::Integer> phv = p->give("H_VECTOR");
delete p;
hv = PmVectorInteger2Intvec(&phv,ok);
@@ -749,7 +749,7 @@ BOOLEAN PMhStarVector(leftv res, leftv a
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Vector<polymake::Integer> phv = p->give("H_STAR_VECTOR");
delete p;
hv = PmVectorInteger2Intvec(&phv,ok);
@@ -785,7 +785,7 @@ BOOLEAN PMisNormal(leftv res, leftv args
bool b;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
b = p->give("NORMAL");
delete p;
}
@@ -816,7 +816,7 @@ BOOLEAN PMfacetWidths(leftv res, leftv a
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Vector<polymake::Integer> pfw = p->give("FACET_WIDTHS");
delete p;
fw = PmVectorInteger2Intvec(&pfw,ok);
@@ -853,7 +853,7 @@ BOOLEAN PMfacetWidth(leftv res, leftv ar
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Integer pfw = p->give("FACET_WIDTH");
delete p;
fw = PmInteger2Int(pfw,ok);
@@ -890,7 +890,7 @@ BOOLEAN PMfacetVertexLatticeDistances(le
bool ok=true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Matrix<polymake::Integer> pld = p->give("FACET_VERTEX_LATTICE_DISTANCES");
delete p;
ld = PmMatrixInteger2Intvec(&pld,ok);
@@ -926,7 +926,7 @@ BOOLEAN PMisCompressed(leftv res, leftv
bool b;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
b = p->give("COMPRESSED");
delete p;
}
@@ -956,7 +956,7 @@ BOOLEAN PMisSmooth(leftv res, leftv args
bool b;
try
{
- polymake::perl::Object* p = ZCone2PmCone(zc);
+ pm::perl::BigObject* p = ZCone2PmCone(zc);
b = p->give("SMOOTH_CONE");
delete p;
}
@@ -978,7 +978,7 @@ BOOLEAN PMisSmooth(leftv res, leftv args
bool b;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
b = p->give("SMOOTH");
delete p;
}
@@ -1000,7 +1000,7 @@ BOOLEAN PMisSmooth(leftv res, leftv args
bool b;
try
{
- polymake::perl::Object* p = ZFan2PmFan(zf);
+ pm::perl::BigObject* p = ZFan2PmFan(zf);
b = p->give("SMOOTH_FAN");
delete p;
}
@@ -1030,7 +1030,7 @@ BOOLEAN PMisVeryAmple(leftv res, leftv a
bool b;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
b = p->give("VERY_AMPLE");
delete p;
}
@@ -1061,10 +1061,10 @@ BOOLEAN PMlatticePoints(leftv res, leftv
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
- #if (POLYMAKEVERSION >=214)
- polymake::Matrix<polymake::Integer> lp = p->CallPolymakeMethod("LATTICE_POINTS");
- #elif (POLYMAKEVERSION >=212)
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
+ #if (POLYMAKEVERSION >=4)
+ polymake::Matrix<polymake::Integer> lp = p->call_method("LATTICE_POINTS");
+ #elif (POLYMAKEVERSION >=3)
polymake::Matrix<polymake::Integer> lp = p->give("LATTICE_POINTS");
#else
#error polymake version too old
@@ -1104,7 +1104,7 @@ BOOLEAN PMnLatticePoints(leftv res, left
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Integer nlp = p->give("N_LATTICE_POINTS");
delete p;
n = PmInteger2Int(nlp,ok);
@@ -1141,7 +1141,7 @@ BOOLEAN PMinteriorLatticePoints(leftv re
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Matrix<polymake::Integer> lp = p->give("INTERIOR_LATTICE_POINTS");
delete p;
iv = PmMatrixInteger2Intvec(&lp,ok);
@@ -1178,7 +1178,7 @@ BOOLEAN PMnInteriorLatticePoints(leftv r
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Integer nlp = p->give("N_INTERIOR_LATTICE_POINTS");
delete p;
n = PmInteger2Int(nlp,ok);
@@ -1215,7 +1215,7 @@ BOOLEAN PMboundaryLatticePoints(leftv re
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Matrix<polymake::Integer> lp = p->give("BOUNDARY_LATTICE_POINTS");
delete p;
iv = PmMatrixInteger2Intvec(&lp,ok);
@@ -1252,7 +1252,7 @@ BOOLEAN PMnBoundaryLatticePoints(leftv r
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Integer nlp = p->give("N_BOUNDARY_LATTICE_POINTS");
delete p;
n = PmInteger2Int(nlp,ok);
@@ -1289,10 +1289,10 @@ BOOLEAN PMhilbertBasis(leftv res, leftv
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
- #if (POLYMAKEVERSION >=214)
- polymake::Matrix<polymake::Integer> lp = p->CallPolymakeMethod("HILBERT_BASIS");
- #elif (POLYMAKEVERSION >=212)
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
+ #if (POLYMAKEVERSION >=4)
+ polymake::Matrix<polymake::Integer> lp = p->call_method("HILBERT_BASIS");
+ #elif (POLYMAKEVERSION >=3)
polymake::Matrix<polymake::Integer> lp = p->give("HILBERT_BASIS");
#else
#error polymake version too old
@@ -1332,7 +1332,7 @@ BOOLEAN PMnHilbertBasis(leftv res, leftv
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Integer nlp = p->give("N_HILBERT_BASIS");
delete p;
n = PmInteger2Int(nlp,ok);
@@ -1372,10 +1372,10 @@ BOOLEAN PMminkowskiSum(leftv res, leftv
gfan::ZCone* ms;
try
{
- polymake::perl::Object* pp = ZPolytope2PmPolytope(zp);
- polymake::perl::Object* pq = ZPolytope2PmPolytope(zq);
- polymake::perl::Object pms;
- CallPolymakeFunction("minkowski_sum", *pp, *pq) >> pms;
+ pm::perl::BigObject* pp = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* pq = ZPolytope2PmPolytope(zq);
+ pm::perl::BigObject pms;
+ polymake::call_function("minkowski_sum", *pp, *pq) >> pms;
delete pp;
delete pq;
ms = PmPolytope2ZPolytope(&pms);
@@ -1400,10 +1400,10 @@ BOOLEAN PMminkowskiSum(leftv res, leftv
gfan::ZCone* ms;
try
{
- polymake::perl::Object* pp = ZPolytope2PmPolytope(zp);
- polymake::perl::Object* pq = ZPolytope2PmPolytope(zq);
- polymake::perl::Object pms;
- CallPolymakeFunction("minkowski_sum", *pp, *pq) >> pms;
+ pm::perl::BigObject* pp = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* pq = ZPolytope2PmPolytope(zq);
+ pm::perl::BigObject pms;
+ polymake::call_function("minkowski_sum", *pp, *pq) >> pms;
delete pp;
delete pq;
ms = PmPolytope2ZPolytope(&pms);
@@ -1434,10 +1434,10 @@ BOOLEAN PMminkowskiSum(leftv res, leftv
gfan::ZCone* ms;
try
{
- polymake::perl::Object* pp = ZPolytope2PmPolytope(zp);
- polymake::perl::Object* pq = ZPolytope2PmPolytope(zq);
- polymake::perl::Object pms;
- CallPolymakeFunction("minkowski_sum", *pp, *pq) >> pms;
+ pm::perl::BigObject* pp = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* pq = ZPolytope2PmPolytope(zq);
+ pm::perl::BigObject pms;
+ polymake::call_function("minkowski_sum", *pp, *pq) >> pms;
delete pp;
delete pq;
ms = PmPolytope2ZPolytope(&pms);
@@ -1463,10 +1463,10 @@ BOOLEAN PMminkowskiSum(leftv res, leftv
gfan::ZCone* ms;
try
{
- polymake::perl::Object* pp = ZPolytope2PmPolytope(zp);
- polymake::perl::Object* pq = ZPolytope2PmPolytope(zq);
- polymake::perl::Object pms;
- CallPolymakeFunction("minkowski_sum", *pp, *pq) >> pms;
+ pm::perl::BigObject* pp = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* pq = ZPolytope2PmPolytope(zq);
+ pm::perl::BigObject pms;
+ polymake::call_function("minkowski_sum", *pp, *pq) >> pms;
delete pp;
delete pq;
ms = PmPolytope2ZPolytope(&pms);
@@ -1488,13 +1488,13 @@ BOOLEAN PMminkowskiSum(leftv res, leftv
}
-polymake::Matrix<polymake::Integer> verticesOf(const polymake::perl::Object* p,
+polymake::Matrix<polymake::Integer> verticesOf(const pm::perl::BigObject* p,
const polymake::Set<polymake::Integer>* s)
{
polymake::Matrix<polymake::Integer> allrays = p->give("VERTICES");
polymake::Matrix<polymake::Integer> wantedrays;
bool ok = true;
- for(polymake::Entire<polymake::Set<polymake::Integer> >::const_iterator i=polymake::entire(*s); !i.at_end(); i++)
+ for(auto i=polymake::entire(*s); !i.at_end(); i++)
{
wantedrays = wantedrays / allrays.row(PmInteger2Int(*i,ok));
}
@@ -1521,8 +1521,8 @@ BOOLEAN PMmaximalFace(leftv res, leftv a
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
- polymake::perl::Object o("LinearProgram<Rational>");
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject o("LinearProgram<Rational>");
o.take("LINEAR_OBJECTIVE") << Intvec2PmVectorInteger(iv);
p->take("LP") << o;
polymake::Set<polymake::Integer> mf = p->give("LP.MAXIMAL_FACE");
@@ -1567,8 +1567,8 @@ BOOLEAN PMminimalFace(leftv res, leftv a
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
- polymake::perl::Object o("LinearProgram<Rational>");
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject o("LinearProgram<Rational>");
o.take("LINEAR_OBJECTIVE") << Intvec2PmVectorInteger(iv);
p->take("LP") << o;
polymake::Set<polymake::Integer> mf = p->give("LP.MINIMAL_FACE");
@@ -1615,9 +1615,9 @@ BOOLEAN PMmaximalValue(leftv res, leftv
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Vector<polymake::Integer> lo = Intvec2PmVectorInteger(iv);
- polymake::perl::Object o("LinearProgram<Rational>");
+ pm::perl::BigObject o("LinearProgram<Rational>");
o.take("LINEAR_OBJECTIVE") << lo;
p->take("LP") << o;
polymake::Integer mv = p->give("LP.MAXIMAL_VALUE");
@@ -1665,9 +1665,9 @@ BOOLEAN PMminimalValue(leftv res, leftv
bool ok = true;
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Vector<polymake::Integer> lo = Intvec2PmVectorInteger(iv);
- polymake::perl::Object o("LinearProgram<Rational>");
+ pm::perl::BigObject o("LinearProgram<Rational>");
o.take("LINEAR_OBJECTIVE") << lo;
p->take("LP") << o;
polymake::Integer mv = p->give("LP.MINIMAL_VALUE");
@@ -1708,8 +1708,8 @@ BOOLEAN visual(leftv res, leftv args)
gfan::ZCone* zp = (gfan::ZCone*)u->Data();
try
{
- polymake::perl::Object* pp = ZPolytope2PmPolytope(zp);
- VoidCallPolymakeFunction("jreality",pp->CallPolymakeMethod("VISUAL"));
+ pm::perl::BigObject* pp = ZPolytope2PmPolytope(zp);
+ polymake::call_function("jreality",pp->call_method("VISUAL"));
delete pp;
}
catch (const std::exception& ex)
@@ -1729,8 +1729,8 @@ BOOLEAN visual(leftv res, leftv args)
gfan::ZFan* zf = (gfan::ZFan*)u->Data();
try
{
- polymake::perl::Object* pf=ZFan2PmFan(zf);
- VoidCallPolymakeFunction("jreality",pf->CallPolymakeMethod("VISUAL"));
+ pm::perl::BigObject* pf=ZFan2PmFan(zf);
+ polymake::call_function("jreality",pf->call_method("VISUAL"));
}
catch (const std::exception& ex)
{
@@ -1757,9 +1757,9 @@ BOOLEAN normalFan(leftv res, leftv args)
gfan::ZFan* zf = new gfan::ZFan(0);
try
{
- polymake::perl::Object* p=ZPolytope2PmPolytope(zp);
- polymake::perl::Object pf;
- CallPolymakeFunction("normal_fan", *p) >> pf;
+ pm::perl::BigObject* p=ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject pf;
+ polymake::call_function("normal_fan", *p) >> pf;
delete p;
zf = PmFan2ZFan(&pf);
}
@@ -1784,7 +1784,7 @@ BOOLEAN PMconeViaRays(leftv res, leftv a
if ((u != NULL) && (u->Typ() == INTMAT_CMD))
{
gfan::initializeCddlibIfRequired();
- polymake::perl::Object pc("Cone<Rational>");
+ pm::perl::BigObject pc("Cone<Rational>");
intvec* hlines = (intvec*) u->Data(); // these will are half lines in the cone
polymake::Matrix<polymake::Integer> pmhlines = Intvec2PmMatrixInteger(hlines);
pc.take("INPUT_RAYS") << pmhlines;
@@ -1820,7 +1820,7 @@ BOOLEAN PMpolytopeViaVertices(leftv res,
if ((u != NULL) && (u->Typ() == INTMAT_CMD))
{
gfan::initializeCddlibIfRequired();
- polymake::perl::Object pp("Polytope<Rational>");
+ pm::perl::BigObject pp("Polytope<Rational>");
intvec* points = (intvec*) u->Data(); // these will be vertices of or points in the polytope
polymake::Matrix<polymake::Integer> pmpoints = Intvec2PmMatrixInteger(points);
@@ -1859,7 +1859,7 @@ BOOLEAN PMvertexAdjacencyGraph(leftv res
lists output=(lists)omAllocBin(slists_bin); output->Init(2);
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Matrix<polymake::Integer> vert0 = p->give("VERTICES");
bigintmat* vert1 = PmMatrixInteger2Bigintmat(&vert0);
output->m[0].rtyp = BIGINTMAT_CMD;
@@ -1898,7 +1898,7 @@ BOOLEAN PMvertexEdgeGraph(leftv res, lef
lists output=(lists)omAllocBin(slists_bin); output->Init(2);
try
{
- polymake::perl::Object* p = ZPolytope2PmPolytope(zp);
+ pm::perl::BigObject* p = ZPolytope2PmPolytope(zp);
polymake::Matrix<polymake::Integer> vert0 = p->give("VERTICES");
bigintmat* vert1 = PmMatrixInteger2Bigintmat(&vert0);
output->m[0].rtyp = BIGINTMAT_CMD;

View File

@ -1,11 +1,7 @@
%global singulardir %{_libdir}/Singular
%global upstreamver 4-1-1
%global upstreamver 4-2-0
%global downstreamver %(tr - . <<< %{upstreamver})
%global patchver p3
%if 0%{?fedora}
%global ntl8 1
%endif
%global patchver p2
%bcond_with python
@ -14,12 +10,9 @@
%global _python_bytecompile_extra 0
%endif
# Use this to build without polymake support if polymake is broken.
%bcond_without polymake
Name: Singular
Version: %{downstreamver}%{?patchver}
Release: 24%{?dist}
Release: 1%{?dist}
Summary: Computer Algebra System for polynomial computations
# License analysis:
# - factory/readcf.cc, Singular/grammar.cc, and Singular/grammar.h are
@ -37,7 +30,7 @@ Source0: http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/%{upstrea
# - git clone https://github.com/Singular/Sources.git
# - cd Sources
# - git checkout spielwiese
# - git reset --hard c4532ad56fe482b30e500057ca76121dac774af2
# - git reset --hard c16c74278b8eea884b0d8c0ee355b142cca167a3
# - tar cJf surfex.tar.xz Singular/LIB/surfex
Source1: surfex.tar.xz
URL: https://www.singular.uni-kl.de/
@ -61,15 +54,12 @@ BuildRequires: libgfan-devel
BuildRequires: libnormaliz-devel
BuildRequires: libtool
BuildRequires: make
BuildRequires: ntl-devel%{?ntl8: >= 8.0}
BuildRequires: ntl-devel
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(mathicgb)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(readline)
BuildRequires: pkgconfig(zlib)
%if %{with polymake}
BuildRequires: polymake-singular
%endif
%if %{with python}
BuildRequires: python2-devel
%endif
@ -81,6 +71,11 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: environment(modules)
Requires: less
Requires: surf-geometry
Requires: TOPCOM%{_isa}
# This can be removed when Fedora 38 reaches EOL
Obsoletes: Singular-polymake < 4.2.0-1
Provides: Singular-polymake = %{version}-%{release}
# Support ARM and S390(x) architectures
Patch0: %{name}-arches.patch
@ -100,12 +95,8 @@ Patch6: %{name}-gfanlib.patch
Patch7: %{name}-alias.patch
# Let ESingular read a compressed singular.hlp file
Patch8: %{name}-emacs.patch
# Adapt to polymake >= 3.3
Patch9: %{name}-polymake.patch
# Adapt to flint 2.6
Patch10: %{name}-flint.patch
# Adapt to Java 11
Patch11: %{name}-javac.patch
Patch9: %{name}-javac.patch
%description
Singular is a computer algebra system for polynomial computations, with
@ -135,12 +126,12 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
This package contains the Singular documentation files.
%package emacs
Summary: (X)Emacs interface to Singular
Summary: Emacs interface to Singular
Requires: emacs-common
Requires: %{name}%{?_isa} = %{version}-%{release}
%description emacs
Emacs and XEmacs interface to Singular.
Emacs interface to Singular.
%package -n factory
Summary: C++ class library for multivariate polynomial data
@ -188,14 +179,6 @@ Requires: flint-devel%{?_isa}
%description libpolys-devel
Development files for libpolys.
%package polymake
Summary: Singular interface to polymake
Requires: polymake%{_isa}
Requires: TOPCOM%{_isa}
%description polymake
Singular interface to polymake.
%package surfex
Summary: Singular java interface
Requires: java
@ -206,9 +189,7 @@ This package contains the Singular java interface.
%prep
%setup -q -n singular-%{downstreamver}
%setup -q -n singular-%{downstreamver} -T -D -a 1
%autopatch -p1
%autosetup -n singular-%{downstreamver} -a 1 -p1
%if %{with python}
# Fix the name of the boost_python library
@ -243,16 +224,18 @@ export LDFLAGS="-Wl,-z,relro"
--disable-optimizationflags \
--disable-static \
--enable-p-procs-dynamic \
--enable-gfanlib \
--enable-bigintm-module \
--enable-gfanlib-module \
--enable-Order-module \
%if %{with polymake}
--enable-polymake \
--enable-polymake-module \
%else
--disable-polymake \
--disable-polymake-module \
%endif
%if %{with python}
--enable-python_module \
--enable-python-module \
%else
--disable-python_module \
--disable-python-module \
%endif
--enable-streamio \
--with-gmp \
@ -302,8 +285,12 @@ rm -f %{buildroot}%{_datadir}/singular/emacs/{ChangeLog,COPYING,NEWS}
mkdir -p %{buildroot}%{_bindir}
mv %{buildroot}%{singulardir}/*-config %{buildroot}%{_bindir}
# Move the index and help files to where sagemath wants them
mv %{buildroot}%{_datadir}/doc/singular.idx %{buildroot}%{_datadir}/singular
# Install documentation files
mkdir -p %{buildroot}%{_mandir}/man1
for cmd in ESingular Singular TSingular; do
cp -p doc/$cmd.man %{buildroot}%{_mandir}/man1/$cmd.1
done
cp -p doc/singular.idx %{buildroot}%{_datadir}/singular
# remove script that calls surf; we don't ship it
rm -f %{buildroot}%{singulardir}/singularsurf
@ -370,6 +357,8 @@ make check
%{_mandir}/man1/TSingular.1*
%{_datadir}/applications/Singular.desktop
%{_datadir}/icons/Singular.png
%{_datadir}/ml_python/
%{_datadir}/ml_singular/
%{_datadir}/singular/singular.idx
%docdir %{_datadir}/singular/html/
%{_datadir}/singular/html/
@ -381,17 +370,14 @@ make check
%license COPYING
%license GPL2
%license GPL3
%{_libdir}/libSingular-4.1.1.so
%{_libdir}/libSingular-4.2.0.so
%{_libexecdir}/singular/
%exclude %{_libexecdir}/singular/MOD/polymake.so
%dir %{_datadir}/singular/
%{_datadir}/singular/LIB/
%exclude %{_datadir}/singular/LIB/polymake.lib
%exclude %{_datadir}/singular/LIB/surfex.lib
%exclude %{_datadir}/singular/LIB/surfex
%files devel
%doc kernel/ChangeLog
%{_bindir}/libsingular-config
%{_includedir}/singular/kernel/
%{_includedir}/singular/Singular/
@ -409,8 +395,7 @@ make check
%files emacs
%license emacs/COPYING
%doc emacs/ChangeLog
%doc emacs/NEWS
%doc emacs/BUGS
%{_bindir}/ESingular
%{_mandir}/man1/ESingular.1*
%{_datadir}/singular/emacs/
@ -424,13 +409,11 @@ make check
%files -n factory
%license factory/COPYING
%doc factory/README
%doc factory/NEWS
%{_libdir}/libfactory-4.1.1.so
%{_libdir}/libfactory-4.2.0.so
%{_libdir}/libomalloc-0.9.6.so
%{_libdir}/libsingular_resources-4.1.1.so
%{_libdir}/libsingular_resources-4.2.0.so
%files -n factory-devel
%doc factory/ChangeLog
%doc factory/examples
%{_includedir}/factory/
%{_includedir}/omalloc/
@ -448,7 +431,7 @@ make check
%files libpolys
%license libpolys/COPYING
%doc libpolys/README
%{_libdir}/libpolys-4.1.1.so
%{_libdir}/libpolys-4.2.0.so
%files libpolys-devel
%{_bindir}/libpolys-config
@ -461,12 +444,13 @@ make check
%{_libdir}/libpolys.so
%{_libdir}/pkgconfig/libpolys.pc
%files polymake
%{_libexecdir}/singular/MOD/polymake.so
%{_datadir}/singular/LIB/polymake.lib
%changelog
* Thu Jun 17 2021 Jerry James <loganjerry@gmail.com> - 4.2.0p2-1
- Version 4.2.0p2
- Drop the -polymake subpackage; the polymake library is no longer linked
- Drop the -polymake and -flint patches
* Wed Feb 17 2021 Jerry James <loganjerry@gmail.com> - 4.1.1p3-24
- Rebuild for normaliz 3.8.10

View File

@ -1,2 +1,2 @@
SHA512 (singular-4.1.1p3.tar.gz) = d18dcb1d847d79727674752888ab14d025349e55bdf76c4e66be2e07c70f5be9b4567abd02776cf8f836e885bfaf99b243bb4ffb9c6dd612d2117b1ea19bfc5b
SHA512 (surfex.tar.xz) = a36312e2b984f73e7ae04b63fdb40e9a900ce5943d47a22f96cff73c10fd5e28f37be2bfd52007a065d1728ae908e9439e616a4a39cce328285860d019099b6e
SHA512 (singular-4.2.0p2.tar.gz) = f46c77c69804d79c21350a02c87ee808fd27ab6ed1883b561b1ed89fae24b1d084f41c377b9ebbd58e188ab25178aafee601b6d8d1a031f8b90279612f326b00
SHA512 (surfex.tar.xz) = 44aad281788aad6cbcd7cc1ac255dd14168b827f5538972bef520f2d55431acb3cfff31d4cbb81bcb268b8782eaa67f1af0364110244aaa378a4a6cb75429379