New upstream version (bz 1181772, 1321077)
Also: - Drop upstreamed patches: -destdir, -headers, -doc, -builddid, -undefined, and -semaphore - Add patches: -desktop, -format, -parens, -sequence-point, -alias, and -polymake - libpolys subpackage replaces libfac - Rework the Emacs support
This commit is contained in:
parent
3169285618
commit
7addda85c2
|
@ -2,3 +2,4 @@
|
|||
/Singular-3-1-5.tar.gz
|
||||
/Singular-3-1-6.tar.gz
|
||||
/Singular-3-1-7.tar.gz
|
||||
/singular-4.1.0p2.tar.gz
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
--- singular-4.1.0/Singular/links/ndbm.cc.orig 2017-02-20 10:33:27.000000000 -0700
|
||||
+++ singular-4.1.0/Singular/links/ndbm.cc 2017-02-28 09:03:36.396520458 -0700
|
||||
@@ -293,7 +293,7 @@ datum dbm_nextkey(register DBM *db)
|
||||
db->dbm_flags |= _DBM_IOERR;
|
||||
#endif
|
||||
}
|
||||
- if (((short *)db->dbm_pagbuf)[0] != 0)
|
||||
+ if (db->dbm_pagbuf[0] != 0 || db->dbm_pagbuf[1] != 0)
|
||||
{
|
||||
item = makdatum(db->dbm_pagbuf, db->dbm_keyptr);
|
||||
if (item.dptr != NULL)
|
|
@ -1,267 +1,41 @@
|
|||
diff -up Singular-3-1-7/kernel/mod2.h.cmake.in.orig Singular-3-1-7/kernel/mod2.h.cmake.in
|
||||
--- Singular-3-1-7/kernel/mod2.h.cmake.in.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/kernel/mod2.h.cmake.in 2016-02-15 21:49:18.052275064 -0700
|
||||
@@ -157,6 +157,12 @@
|
||||
#cmakedefine SI_CPU_IA64 1
|
||||
/* CPU type: x86_64: */
|
||||
#cmakedefine SI_CPU_X86_64 1
|
||||
+/* CPU type: arm: */
|
||||
+#cmakedefine SI_CPU_ARM 1
|
||||
+/* CPU type: s390 / s390x: */
|
||||
+#cmakedefine SI_CPU_S390 1
|
||||
+/* CPU type: aarch64: */
|
||||
+#cmakedefine SI_CPU_AARCH64 1
|
||||
|
||||
/*******************************************************************
|
||||
* Defines which are not set by configure
|
||||
diff -up Singular-3-1-7/kernel/mod_raw.cc.orig Singular-3-1-7/kernel/mod_raw.cc
|
||||
--- Singular-3-1-7/kernel/mod_raw.cc.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/kernel/mod_raw.cc 2016-02-15 21:53:02.950149126 -0700
|
||||
@@ -38,8 +38,8 @@ char* si_bultin_libs[]={ SI_FOREACH_BUIL
|
||||
|
||||
lib_types type_of_LIB(char *newlib, char *libnamebuf)
|
||||
{
|
||||
- const char mach_o[]={0xfe,0xed,0xfa,0xce,0};
|
||||
- const char mach_o_module[]={0xce,0xfa,0xed,0xfe,0};
|
||||
+ const unsigned char mach_o[]={0xfe,0xed,0xfa,0xce,0};
|
||||
+ const unsigned char mach_o_module[]={0xce,0xfa,0xed,0xfe,0};
|
||||
int i=0;
|
||||
while(si_bultin_libs[i]!=NULL)
|
||||
{
|
||||
@@ -90,7 +90,7 @@ lib_types type_of_LIB(char *newlib, char
|
||||
goto lib_type_end;
|
||||
}
|
||||
|
||||
- if( (strncmp(buf, &mach_o[0], 4)==0)) /* generic Mach-O module */
|
||||
+ if( (strncmp(buf, (const char *)&mach_o[0], 4)==0)) /* generic Mach-O module */
|
||||
{
|
||||
LT = LT_MACH_O;
|
||||
//omFree(newlib);
|
||||
@@ -98,7 +98,7 @@ lib_types type_of_LIB(char *newlib, char
|
||||
goto lib_type_end;
|
||||
}
|
||||
|
||||
- if( (strncmp(buf, &mach_o_module[0], 4)==0)) /* Mach-O bundle */
|
||||
+ if( (strncmp(buf, (const char *)&mach_o_module[0], 4)==0)) /* Mach-O bundle */
|
||||
{
|
||||
LT = LT_MACH_O;
|
||||
//omFree(newlib);
|
||||
diff -up Singular-3-1-7/kernel/structs.h.orig Singular-3-1-7/kernel/structs.h
|
||||
--- Singular-3-1-7/kernel/structs.h.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/kernel/structs.h 2016-02-15 21:49:18.053274984 -0700
|
||||
@@ -69,6 +69,27 @@ typedef void * ADDRESS;
|
||||
#ifdef HAVE_MULT_MOD
|
||||
#define HAVE_DIV_MOD
|
||||
#endif
|
||||
+#elif defined(SI_CPU_ARM)
|
||||
+ // FIXME: need to run some tests
|
||||
+ #define HAVE_MULT_MOD
|
||||
+ // #define HAVE_GENERIC_ADD
|
||||
+ #ifdef HAVE_MULT_MOD
|
||||
+ #define HAVE_DIV_MOD
|
||||
+ #endif
|
||||
+#elif defined(SI_CPU_S390)
|
||||
+ // FIXME: need to run some tests
|
||||
+ // #define HAVE_MULT_MOD
|
||||
+ #define HAVE_GENERIC_ADD
|
||||
+ // #ifdef HAVE_MULT_MOD
|
||||
+ // #define HAVE_DIV_MOD
|
||||
+ // #endif
|
||||
+#elif defined(SI_CPU_AARCH64)
|
||||
+ // FIXME: need to run some tests
|
||||
+ #define HAVE_MULT_MOD
|
||||
+ #define HAVE_GENERIC_ADD
|
||||
+ #ifdef HAVE_MULT_MOD
|
||||
+ #define HAVE_DIV_MOD
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#if SIZEOF_LONG == 4
|
||||
diff -up Singular-3-1-7/Singular/configure.in.orig Singular-3-1-7/Singular/configure.in
|
||||
--- Singular-3-1-7/Singular/configure.in.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/Singular/configure.in 2016-02-15 21:49:18.054274903 -0700
|
||||
@@ -461,6 +461,21 @@ if test "$ac_cv_singuname" = ppcMac-darw
|
||||
--- singular-4.1.0/m4/cpu-check.m4.orig 2016-10-14 14:00:05.000000000 -0600
|
||||
+++ singular-4.1.0/m4/cpu-check.m4 2017-01-16 17:59:49.348670992 -0700
|
||||
@@ -37,6 +37,18 @@ if test "$ac_cv_singcpuname" = ppc; then
|
||||
AC_DEFINE(SI_CPU_PPC,1,"PPC")
|
||||
AC_SUBST(SI_CPU_PPC)
|
||||
AC_MSG_RESULT(SI_CPU_PPC)
|
||||
fi
|
||||
+if test "$ac_cv_singuname" = arm-Linux; then
|
||||
+ AC_DEFINE(SI_CPU_ARM)
|
||||
+if test "$ac_cv_singcpuname" = arm -o "$ac_cv_singcpuname" = armel; then
|
||||
+ AC_DEFINE(SI_CPU_ARM,1,"ARM")
|
||||
+ AC_SUBST(SI_CPU_ARM)
|
||||
+ AC_MSG_RESULT(SI_CPU_ARM)
|
||||
+fi
|
||||
+if test "$ac_cv_singuname" = s390-Linux; then
|
||||
+ AC_DEFINE(SI_CPU_S390)
|
||||
+ AC_SUBST(SI_CPU_S390)
|
||||
+ AC_MSG_RESULT(SI_CPU_S390)
|
||||
+fi
|
||||
+if test "$ac_cv_singuname" = aarch64-Linux; then
|
||||
+ AC_DEFINE(SI_CPU_AARCH64)
|
||||
+ AC_SUBST(SI_CPU_AARCH64)
|
||||
+ AC_MSG_RESULT(SI_CPU_AARCH64)
|
||||
+fi
|
||||
# test again with CPU names
|
||||
if test "$ac_cv_singcpuname" = i386; then
|
||||
AC_DEFINE(SI_CPU_I386)
|
||||
@@ -497,6 +512,21 @@ if test "$ac_cv_singcpuname" = armv6l; t
|
||||
AC_SUBST(SI_CPU_ARM6L)
|
||||
AC_MSG_RESULT(SI_CPU_ARM6L)
|
||||
fi
|
||||
+if test "$ac_cv_singcpuname" = arm; then
|
||||
+ AC_DEFINE(SI_CPU_ARM)
|
||||
+ AC_SUBST(SI_CPU_ARM)
|
||||
+ AC_MSG_RESULT(SI_CPU_ARM)
|
||||
+fi
|
||||
+if test "$ac_cv_singcpuname" = s390; then
|
||||
+ AC_DEFINE(SI_CPU_S390)
|
||||
+ AC_SUBST(SI_CPU_S390)
|
||||
+ AC_MSG_RESULT(SI_CPU_S390)
|
||||
+fi
|
||||
+if test "$ac_cv_singcpuname" = aarch64; then
|
||||
+ AC_DEFINE(SI_CPU_AARCH64)
|
||||
+ AC_DEFINE(SI_CPU_AARCH64,1,"AARCH64")
|
||||
+ AC_SUBST(SI_CPU_AARCH64)
|
||||
+ AC_MSG_RESULT(SI_CPU_AARCH64)
|
||||
+fi
|
||||
|
||||
SING_UNAME=`echo $SINGUNAME | tr '-' '_' `
|
||||
AC_SUBST(SING_UNAME)
|
||||
diff -up Singular-3-1-7/Singular/configure.orig Singular-3-1-7/Singular/configure
|
||||
--- Singular-3-1-7/Singular/configure.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/Singular/configure 2016-02-15 21:51:43.817526924 -0700
|
||||
@@ -676,6 +676,9 @@ SINGULAR_MAJOR_VERSION
|
||||
VERSION_DATE
|
||||
SINGULAR_VERSION
|
||||
SING_UNAME
|
||||
+SI_CPU_ARM
|
||||
+SI_CPU_S390
|
||||
+SI_CPU_AARCH64
|
||||
SI_CPU_ARM6L
|
||||
SI_CPU_SPARC
|
||||
SI_CPU_PPC
|
||||
@@ -3965,6 +3968,27 @@ if test "$ac_cv_singuname" = ppcMac-darw
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: SI_CPU_PPC" >&5
|
||||
$as_echo "SI_CPU_PPC" >&6; }
|
||||
fi
|
||||
+if test "$ac_cv_singuname" = arm-Linux; then
|
||||
+ $as_echo "#define SI_CPU_ARM 1" >>confdefs.h
|
||||
+
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: SI_CPU_ARM" >&5
|
||||
+$as_echo "SI_CPU_ARM" >&6; }
|
||||
+fi
|
||||
+if test "$ac_cv_singuname" = s390-Linux; then
|
||||
+ $as_echo "#define SI_CPU_S390 1" >>confdefs.h
|
||||
+
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: SI_CPU_S390" >&5
|
||||
+$as_echo "SI_CPU_S390" >&6; }
|
||||
+fi
|
||||
+if test "$ac_cv_singuname" = aarch64-Linux; then
|
||||
+ $as_echo "#define SI_CPU_AARCH64 1" >>confdefs.h
|
||||
+
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: SI_CPU_AARCH64" >&5
|
||||
+$as_echo "SI_CPU_AARCH64" >&6; }
|
||||
+fi
|
||||
# test again with CPU names
|
||||
if test "$ac_cv_singcpuname" = i386; then
|
||||
$as_echo "#define SI_CPU_I386 1" >>confdefs.h
|
||||
@@ -4008,6 +4032,27 @@ if test "$ac_cv_singcpuname" = ppc; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: SI_CPU_PPC" >&5
|
||||
$as_echo "SI_CPU_PPC" >&6; }
|
||||
fi
|
||||
+if test "$ac_cv_singcpuname" = arm; then
|
||||
+ $as_echo "#define SI_CPU_ARM 1" >>confdefs.h
|
||||
+
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: SI_CPU_ARM" >&5
|
||||
+$as_echo "SI_CPU_ARM" >&6; }
|
||||
+fi
|
||||
+if test "$ac_cv_singcpuname" = s390; then
|
||||
+ $as_echo "#define SI_CPU_S390 1" >>confdefs.h
|
||||
+
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: SI_CPU_S390" >&5
|
||||
+$as_echo "SI_CPU_S390" >&6; }
|
||||
+ AC_DEFINE(SI_CPU_S390,1,"S390")
|
||||
+ AC_SUBST(SI_CPU_S390)
|
||||
+fi
|
||||
+if test "$ac_cv_singcpuname" = aarch64; then
|
||||
+ $as_echo "#define SI_CPU_AARCH64 1" >>confdefs.h
|
||||
+
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: SI_CPU_AARCH64" >&5
|
||||
+$as_echo "SI_CPU_AARCH64" >&6; }
|
||||
+fi
|
||||
if test "$ac_cv_singcpuname" = armv6l; then
|
||||
$as_echo "#define SI_CPU_ARM6L 1" >>confdefs.h
|
||||
|
||||
diff -up Singular-3-1-7/Singular/mod2.h.in.orig Singular-3-1-7/Singular/mod2.h.in
|
||||
--- Singular-3-1-7/Singular/mod2.h.in.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/Singular/mod2.h.in 2016-02-15 21:49:18.057274661 -0700
|
||||
@@ -162,6 +162,12 @@
|
||||
#undef SI_CPU_IA64
|
||||
/* CPU type: x86_64: */
|
||||
#undef SI_CPU_X86_64
|
||||
+/* CPU type: arm: */
|
||||
+#undef SI_CPU_ARM
|
||||
+/* CPU type: s390 / s390x: */
|
||||
+#undef SI_CPU_S390
|
||||
+/* CPU type: aarch64: */
|
||||
+#undef SI_CPU_AARCH64
|
||||
/* Autoload reference counted types like reference and shared */
|
||||
#undef SI_COUNTEDREF_AUTOLOAD
|
||||
/* whether development version of python is available */
|
||||
diff -up Singular-3-1-7/singuname.sh.orig Singular-3-1-7/singuname.sh
|
||||
--- Singular-3-1-7/singuname.sh.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/singuname.sh 2016-02-15 21:49:18.057274661 -0700
|
||||
@@ -202,7 +202,7 @@ then
|
||||
elif (echo $uname_m | $egrep "Power Macintosh" > $devnull)
|
||||
then
|
||||
prefix="ppcMac"
|
||||
- if( uname -s | $egrep "Darwin" > $devnull)
|
||||
+ if (uname -s | $egrep "Darwin" > $devnull)
|
||||
then
|
||||
echo ${prefix}-darwin
|
||||
exit 0
|
||||
@@ -247,7 +247,42 @@ then
|
||||
echo ${prefix}-Unknown
|
||||
exit 1
|
||||
fi
|
||||
-
|
||||
+# arm-Linux ##########################################################
|
||||
+elif (echo $uname_m | $egrep "arm" > $devnull)
|
||||
+then
|
||||
+ prefix=arm
|
||||
+ if (echo $uname_a | $egrep "Linux" > $devnull)
|
||||
+ then
|
||||
+ echo ${prefix}-Linux
|
||||
+ exit 0
|
||||
+ else
|
||||
+ echo ${prefix}-Unknown
|
||||
+ exit 1
|
||||
+ fi
|
||||
+# s390(x)-Linux ######################################################
|
||||
+elif (echo $uname_m | $egrep "s390" > $devnull)
|
||||
+then
|
||||
+ prefix=s390
|
||||
+ if (echo $uname_a | $egrep "Linux" > $devnull)
|
||||
+ then
|
||||
+ echo ${prefix}-Linux
|
||||
+ exit 0
|
||||
+ else
|
||||
+ echo ${prefix}-Unknown
|
||||
+ exit 1
|
||||
+ fi
|
||||
+# aarch64-Linux ##########################################################
|
||||
+elif (echo $uname_m | $egrep "aarch64" > $devnull)
|
||||
+then
|
||||
+ prefix=aarch64
|
||||
+ if (echo $uname_a | $egrep "Linux" > $devnull)
|
||||
+ then
|
||||
+ echo ${prefix}-Linux
|
||||
+ exit 0
|
||||
+ else
|
||||
+ echo ${prefix}-Unknown
|
||||
+ exit 1
|
||||
+ fi
|
||||
else # Unknown ########################################################
|
||||
echo Unknown
|
||||
exit 2
|
||||
# UNAME and PATH
|
||||
AC_MSG_CHECKING(uname for Singular)
|
||||
@@ -61,6 +73,19 @@ dnl the following settings seems to be b
|
||||
dnl the following settings seems to be better on ppc processors
|
||||
dnl testet on: ppc_Linux, 740/750 PowerMac G3, 512k L2 cache
|
||||
[powerpc*|ppc*], [AC_DEFINE(HAVE_MULT_MOD,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)],
|
||||
+dnl FIXME: need to run some tests
|
||||
+ [arm*], [
|
||||
+ AC_DEFINE(HAVE_MULT_MOD,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)
|
||||
+ AC_DEFINE(HAVE_DIV_MOD,1,division using extend euclidian algorithm otherwise using tables of logartihms)
|
||||
+ ],
|
||||
+dnl FIXME: need to run some tests
|
||||
+ [aarch64*], [
|
||||
+ AC_DEFINE(HAVE_MULT_MOD,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)
|
||||
+ AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)
|
||||
+ AC_DEFINE(HAVE_DIV_MOD,1,division using extend euclidian algorithm otherwise using tables of logartihms)
|
||||
+ ],
|
||||
+dnl FIXME: need to run some tests
|
||||
+ [s390*], [AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)],
|
||||
[]
|
||||
)
|
||||
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
diff -up Singular-3-1-7/gfanlib/gfanlib_matrix.h.orig Singular-3-1-7/gfanlib/gfanlib_matrix.h
|
||||
--- Singular-3-1-7/gfanlib/gfanlib_matrix.h.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/gfanlib/gfanlib_matrix.h 2016-02-18 20:02:45.235928428 -0700
|
||||
@@ -327,7 +327,7 @@ public:
|
||||
}
|
||||
if(makePivotsOne)
|
||||
{//THE PIVOT SHOULD BE SET TO ONE IF INTEGRAL IS FALSE
|
||||
- if(!rows[currentRow][i].sign()<0)retSwaps++;
|
||||
+ if(rows[currentRow][i].sign()>=0)retSwaps++;
|
||||
typ inverse=typ(1)/rows[currentRow][i];
|
||||
// if(!rows[currentRow][i].isOne())
|
||||
{
|
|
@ -1,37 +0,0 @@
|
|||
diff -up Singular-3-1-7/kernel/Makefile.in.builddid Singular-3-1-7/kernel/Makefile.in
|
||||
--- Singular-3-1-7/kernel/Makefile.in.builddid 2016-02-15 21:06:08.429066185 -0700
|
||||
+++ Singular-3-1-7/kernel/Makefile.in 2016-02-15 21:28:04.753898841 -0700
|
||||
@@ -264,7 +264,7 @@ p_Procs_Dynamic.inc: p_Procs_Generate.cc
|
||||
-rm -f p_Procs_Dynamic p_Procs_Dynamic.exe
|
||||
|
||||
p_Procs_%.so: p_Procs_Lib_%.dl_o
|
||||
- $(LD) ${SLDFLAGS} -o $@ $^
|
||||
+ $(CXX) ${SLDFLAGS} -o $@ $^
|
||||
|
||||
##
|
||||
## install targets
|
||||
@@ -374,7 +374,7 @@ DEFSG = -D@SING_UNAME@ @DEFS@ -DDL_TAIL
|
||||
##
|
||||
|
||||
p_Procs_%.sog: p_Procs_Lib_%.dl_og
|
||||
- $(LD) ${SLDFLAGS} -o $@ $^
|
||||
+ $(CXX) ${SLDFLAGS} -o $@ $^
|
||||
|
||||
p_Procs_Lib_%.dl_og : p_Procs_Lib.cc p_Procs_Dynamic.og
|
||||
${CXXG} ${CXXFLAGSG} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFSG} ${SFLAGS} -Dp_Procs_$* -c $< -o $@
|
||||
diff -up Singular-3-1-7/Singular/Makefile.in.builddid Singular-3-1-7/Singular/Makefile.in
|
||||
--- Singular-3-1-7/Singular/Makefile.in.builddid 2016-02-15 21:16:53.916992781 -0700
|
||||
+++ Singular-3-1-7/Singular/Makefile.in 2016-02-15 21:28:04.755898679 -0700
|
||||
@@ -492,10 +492,10 @@ feOptTS.inc: feOpt.cc mod2.h
|
||||
rm -f feOptTS feOptTS.exe
|
||||
|
||||
mpsr.so: $(MPSR_SOURCES:.cc=.dl_o)
|
||||
- $(LD) ${SLDFLAGS} -o $@ $^ -L${libdir} ${MP_LIBS} ${GLIBC_DYN_FIX}
|
||||
+ $(LIBSINGULAR_LD) ${SLDFLAGS} -o $@ $^ -L${libdir} ${MP_LIBS} ${GLIBC_DYN_FIX}
|
||||
|
||||
dbmsr.so: $(DBMSR_SOURCES:.cc=.dl_o)
|
||||
- $(LD) ${SLDFLAGS} -o $@ $^ ${GLIBC_DYN_FIX}
|
||||
+ $(LIBSINGULAR_LD) ${SLDFLAGS} -o $@ $^ ${GLIBC_DYN_FIX}
|
||||
|
||||
# dynamic module for python bject support
|
||||
${dir_mod}/pyobject.${MODULE_SUFFIX}: pyobject.dl_o
|
|
@ -0,0 +1,31 @@
|
|||
--- singular-4.1.0/desktop/Singular.desktop.in.orig 2016-10-14 06:26:25.000000000 -0600
|
||||
+++ singular-4.1.0/desktop/Singular.desktop.in 2017-01-16 19:18:21.313516480 -0700
|
||||
@@ -3,12 +3,10 @@ Version=1.0
|
||||
Name=Singular
|
||||
Comment=run Singular @PACKAGE_VERSION@ in a terminal
|
||||
Comment[de]=Singular @PACKAGE_VERSION@ in einem Terminal starten
|
||||
-Comment[es]=
|
||||
Comment[fr]=démarrer Singular @PACKAGE_VERSION@ dans un terminal
|
||||
-Comment[ru]=
|
||||
Type=Application
|
||||
Exec=Singular
|
||||
Terminal=true
|
||||
Categories=Math;Science;Education;
|
||||
-Icon=@DATA_DIR@/icons/Singular.png
|
||||
+Icon=Singular
|
||||
|
||||
--- singular-4.1.0/desktop/Singular-manual.desktop.in.orig 2016-10-14 06:26:25.000000000 -0600
|
||||
+++ singular-4.1.0/desktop/Singular-manual.desktop.in 2017-01-16 19:19:18.281326517 -0700
|
||||
@@ -4,10 +4,8 @@ Name=Singular Manual
|
||||
Name[de]=Singular-Handbuch
|
||||
Comment=read the user manual for Singular @PACKAGE_VERSION@
|
||||
Comment[de]=im Benutzerhandbuch zu Singular @PACKAGE_VERSION@ lesen
|
||||
-Comment[es]=
|
||||
Comment[fr]=lire le manuel d'utilisation de Singular @PACKAGE_VERSION@
|
||||
-Comment[ru]=
|
||||
Type=Link
|
||||
-URL=file://@DOC_DIR@/html/index.htm
|
||||
-Icon=@DATA_DIR@/icons/Singular.png
|
||||
+URL=file:///usr/share/doc/Singular-doc/html/index.htm
|
||||
+Icon=Singular
|
||||
|
|
@ -1,328 +0,0 @@
|
|||
diff -up Singular-3-1-7/doc/Makefile.in.destdir Singular-3-1-7/doc/Makefile.in
|
||||
--- Singular-3-1-7/doc/Makefile.in.destdir 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/doc/Makefile.in 2016-02-15 20:50:21.520456080 -0700
|
||||
@@ -68,7 +68,7 @@ EX_SUBDIR = ./examples
|
||||
CHKSUM_DB = ${DOC_SUBDIR}/chksum
|
||||
DOC2TEX_EXAMPLE_EXCLUSIONS = @DOC2TEX_EXAMPLE_EXCLUSIONS@
|
||||
DOC2TEX = ${PERL} ./doc2tex.pl -docdir ${DOC_SUBDIR} \
|
||||
- -Singular ${SINGULAR} -verbose ${VERBOSE} -make ${MAKE} \
|
||||
+ -Singular $(DESTDIR)${SINGULAR} -verbose ${VERBOSE} -make ${MAKE} \
|
||||
-exdir ${EX_SUBDIR} ${DOC2TEX_EXAMPLE_EXCLUSIONS}
|
||||
TAG =
|
||||
PL2DOC = ${PERL} ./pl2doc.pl ${TAG} -db ${CHKSUM_DB}
|
||||
diff -up Singular-3-1-7/factory/GNUmakefile.in.destdir Singular-3-1-7/factory/GNUmakefile.in
|
||||
--- Singular-3-1-7/factory/GNUmakefile.in.destdir 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/factory/GNUmakefile.in 2016-02-15 20:53:44.653068777 -0700
|
||||
@@ -535,44 +535,44 @@ installtest: test_install
|
||||
install install-libsingular: $(installtargets) cf_gmp.h
|
||||
|
||||
install_all: install libsingcf_p.a
|
||||
- -$(INSTALL_DATA) libsingcf_p.a $(libdir)/libsingcf_p.a
|
||||
+ -$(INSTALL_DATA) libsingcf_p.a $(DESTDIR)$(libdir)/libsingcf_p.a
|
||||
|
||||
install-nolns: install
|
||||
|
||||
installcf: cf
|
||||
- $(MKINSTALLDIRS) $(libdir)
|
||||
- $(MKINSTALLDIRS) $(includedir)
|
||||
- $(MKINSTALLDIRS) $(includedir)/factory
|
||||
- $(INSTALL_DATA) $(libfactory) $(libdir)/$(libfactory)
|
||||
- -$(INSTALL_DATA) libsingcf_g.a $(libdir)/libsingcf_g.a
|
||||
- -$(INSTALL_DATA) libsingcf_p.a $(libdir)/libsingcf_p.a
|
||||
- $(INSTALL_DATA) factory.h $(includedir)/factory/factory.h
|
||||
- $(INSTALL_DATA) cf_gmp.h $(includedir)/factory/cf_gmp.h
|
||||
- $(INSTALL_DATA) factoryconf.h $(includedir)/factory/factoryconf.h
|
||||
+ $(MKINSTALLDIRS) $(DESTDIR)$(libdir)
|
||||
+ $(MKINSTALLDIRS) $(DESTDIR)$(includedir)
|
||||
+ $(MKINSTALLDIRS) $(DESTDIR)$(includedir)/factory
|
||||
+ $(INSTALL_DATA) $(libfactory) $(DESTDIR)$(libdir)/$(libfactory)
|
||||
+ -$(INSTALL_DATA) libsingcf_g.a $(DESTDIR)$(libdir)/libsingcf_g.a
|
||||
+ -$(INSTALL_DATA) libsingcf_p.a $(DESTDIR)$(libdir)/libsingcf_p.a
|
||||
+ $(INSTALL_DATA) factory.h $(DESTDIR)$(includedir)/factory/factory.h
|
||||
+ $(INSTALL_DATA) cf_gmp.h $(DESTDIR)$(includedir)/factory/cf_gmp.h
|
||||
+ $(INSTALL_DATA) factoryconf.h $(DESTDIR)$(includedir)/factory/factoryconf.h
|
||||
for file in $(templateincl) ${templatesrc}; do \
|
||||
- $(INSTALL_DATA) $(srcdir)/templates/$$file $(includedir)/factory/templates/$$file; \
|
||||
+ $(INSTALL_DATA) $(srcdir)/templates/$$file $(DESTDIR)$(includedir)/factory/templates/$$file; \
|
||||
done
|
||||
# we run `ranlib' another time for SUN machines
|
||||
- $(RANLIB) $(libdir)/$(libfactory)
|
||||
+ $(RANLIB) $(DESTDIR)$(libdir)/$(libfactory)
|
||||
|
||||
installmem: mem
|
||||
- $(MKINSTALLDIRS) $(libdir)
|
||||
- $(INSTALL_DATA) libcfmem.a $(libdir)/libcfmem.a
|
||||
+ $(MKINSTALLDIRS) $(DESTDIR)$(libdir)
|
||||
+ $(INSTALL_DATA) libcfmem.a $(DESTDIR)$(libdir)/libcfmem.a
|
||||
# once again: another run for SUN
|
||||
- $(RANLIB) $(libdir)/libcfmem.a
|
||||
+ $(RANLIB) $(DESTDIR)$(libdir)/libcfmem.a
|
||||
|
||||
# to a pity, this cannot be done automatically ...
|
||||
installgftables:
|
||||
@echo "Copying GF(q) tables ..."
|
||||
@if test -d gftables; then \
|
||||
- $(MKINSTALLDIRS) $(gftabledir); \
|
||||
+ $(MKINSTALLDIRS) $(DESTDIR)$(gftabledir); \
|
||||
for file in gftables/gftable.*.*; do \
|
||||
- $(INSTALL_DATA) $$file $(gftabledir); \
|
||||
+ $(INSTALL_DATA) $$file $(DESTDIR)$(gftabledir); \
|
||||
done \
|
||||
elif test -d "$(srcdir)"/gftables; then \
|
||||
- $(MKINSTALLDIRS) $(gftabledir); \
|
||||
+ $(MKINSTALLDIRS) $(DESTDIR)$(gftabledir); \
|
||||
for file in "$(srcdir)"/gftables/gftable.*.*; do \
|
||||
- $(INSTALL_DATA) $$file $(gftabledir); \
|
||||
+ $(INSTALL_DATA) $$file $(DESTDIR)$(gftabledir); \
|
||||
done \
|
||||
else \
|
||||
echo "Run 'make gftables' before installing them"; \
|
||||
diff -up Singular-3-1-7/IntegerProgramming/Makefile.in.destdir Singular-3-1-7/IntegerProgramming/Makefile.in
|
||||
--- Singular-3-1-7/IntegerProgramming/Makefile.in.destdir 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/IntegerProgramming/Makefile.in 2016-02-15 20:50:21.527455516 -0700
|
||||
@@ -63,12 +63,12 @@ install-nolns: install
|
||||
install_all: install
|
||||
|
||||
install install-libsingular: $(MAIN1) $(MAIN2) $(MAIN3) $(MAIN4) $(LLL)
|
||||
- ${MKINSTALLDIRS} ${bindir}
|
||||
- ${INSTALL_PROGRAM} $(MAIN1) ${bindir}
|
||||
- ${INSTALL_PROGRAM} $(MAIN2) ${bindir}
|
||||
- ${INSTALL_PROGRAM} $(MAIN3) ${bindir}
|
||||
- ${INSTALL_PROGRAM} $(MAIN4) ${bindir}
|
||||
- ${INSTALL_PROGRAM} $(LLL) ${bindir}
|
||||
+ ${MKINSTALLDIRS} $(DESTDIR)${bindir}
|
||||
+ ${INSTALL_PROGRAM} $(MAIN1) $(DESTDIR)${bindir}
|
||||
+ ${INSTALL_PROGRAM} $(MAIN2) $(DESTDIR)${bindir}
|
||||
+ ${INSTALL_PROGRAM} $(MAIN3) $(DESTDIR)${bindir}
|
||||
+ ${INSTALL_PROGRAM} $(MAIN4) $(DESTDIR)${bindir}
|
||||
+ ${INSTALL_PROGRAM} $(LLL) $(DESTDIR)${bindir}
|
||||
|
||||
install-bindist: $(MAIN1) $(MAIN2) $(MAIN3) $(MAIN4)
|
||||
${MKINSTALLDIRS} ${install_bindir}
|
||||
diff -up Singular-3-1-7/kernel/Makefile.in.destdir Singular-3-1-7/kernel/Makefile.in
|
||||
--- Singular-3-1-7/kernel/Makefile.in.destdir 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/kernel/Makefile.in 2016-02-15 20:50:21.528455435 -0700
|
||||
@@ -272,9 +272,9 @@ p_Procs_%.so: p_Procs_Lib_%.dl_o
|
||||
install-nolns: install
|
||||
|
||||
install-libsingular: install
|
||||
- -${MKINSTALLDIRS} ${includedir}
|
||||
- -${MKINSTALLDIRS} ${includedir}/singular
|
||||
- -for file in *.h kInline.cc; do sed -e "s:<kernel/:<singular/:"< $$file | sed -e "s:<Singular/:<singular/:"|sed -e "s:<omalloc/:<:"|sed -e "s:<factory/:<:" > ${includedir}/singular/$$file; done
|
||||
+ -${MKINSTALLDIRS} $(DESTDIR)${includedir}
|
||||
+ -${MKINSTALLDIRS} $(DESTDIR)${includedir}/singular
|
||||
+ -for file in *.h kInline.cc; do sed -e "s:<kernel/:<singular/:"< $$file | sed -e "s:<Singular/:<singular/:"|sed -e "s:<omalloc/:<:"|sed -e "s:<factory/:<:" > $(DESTDIR)${includedir}/singular/$$file; done
|
||||
|
||||
install: all installbin
|
||||
|
||||
@@ -290,12 +290,12 @@ endif
|
||||
|
||||
|
||||
installbin: ${DL_LIBS} ${DL_LIBSG} libkernel.a libkernel_g.a
|
||||
- ${MKINSTALLDIRS} ${bindir}
|
||||
+ ${MKINSTALLDIRS} $(DESTDIR)${bindir}
|
||||
- ranlib libkernel.a
|
||||
- ranlib libkernel_g.a
|
||||
ifeq (,${DL_LIBS})
|
||||
else
|
||||
- -${INSTALL_PROGRAM} ${DL_LIBS} ${bindir}
|
||||
+ -${INSTALL_PROGRAM} ${DL_LIBS} $(DESTDIR)${bindir}
|
||||
ifeq (,${DL_LIBSG})
|
||||
else
|
||||
-for file in ${DL_LIBS} ${DL_LIBSG}; do ${INSTALL_PROGRAM} $$file ../Singular; done
|
||||
@@ -304,10 +304,10 @@ endif
|
||||
|
||||
|
||||
install-bindist: ${DL_LIBS} libkernel.a
|
||||
- ${MKINSTALLDIRS} ${bindir}
|
||||
+ ${MKINSTALLDIRS} $(DESTDIR)${bindir}
|
||||
ifeq (,${DL_LIBS})
|
||||
else
|
||||
- -${INSTALL_PROGRAM} ${DL_LIBS} ${bindir}
|
||||
+ -${INSTALL_PROGRAM} ${DL_LIBS} $(DESTDIR)${bindir}
|
||||
endif
|
||||
|
||||
##
|
||||
diff -up Singular-3-1-7/libfac/Makefile.in.destdir Singular-3-1-7/libfac/Makefile.in
|
||||
--- Singular-3-1-7/libfac/Makefile.in.destdir 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/libfac/Makefile.in 2016-02-15 20:50:21.528455435 -0700
|
||||
@@ -146,17 +146,17 @@ libsingfac_p.a: $(PROFOBJ)
|
||||
install-nolns: install
|
||||
|
||||
install install-libsingular: all
|
||||
- ${MKINSTALLDIRS} ${includedir}
|
||||
- ${MKINSTALLDIRS} ${libdir}
|
||||
- ${INSTALL_DATA} ${LIBFACINCLUDE} ${includedir}
|
||||
- ${INSTALL_DATA} ${TARGETNAME}.a ${libdir}
|
||||
- -${INSTALL_DATA} libsingfac_g.a ${libdir}
|
||||
- $(RANLIB) ${libdir}/${TARGETNAME}.a
|
||||
- -$(RANLIB) ${libdir}/libsingfac_g.a
|
||||
+ ${MKINSTALLDIRS} $(DESTDIR)${includedir}
|
||||
+ ${MKINSTALLDIRS} $(DESTDIR)${libdir}
|
||||
+ ${INSTALL_DATA} ${LIBFACINCLUDE} $(DESTDIR)${includedir}
|
||||
+ ${INSTALL_DATA} ${TARGETNAME}.a $(DESTDIR)${libdir}
|
||||
+ -${INSTALL_DATA} libsingfac_g.a $(DESTDIR)${libdir}
|
||||
+ $(RANLIB) $(DESTDIR)${libdir}/${TARGETNAME}.a
|
||||
+ -$(RANLIB) $(DESTDIR)${libdir}/libsingfac_g.a
|
||||
|
||||
install_all: install libsingfac_p.a
|
||||
- -${INSTALL_DATA} libsingfac_p.a ${libdir}
|
||||
- -$(RANLIB) ${libdir}/libsingfac_p.a
|
||||
+ -${INSTALL_DATA} libsingfac_p.a $(DESTDIR)${libdir}
|
||||
+ -$(RANLIB) $(DESTDIR)${libdir}/libsingfac_p.a
|
||||
|
||||
uninstall:
|
||||
$(RM) ${includedir}/${LIBFACINCLUDE}
|
||||
diff -up Singular-3-1-7/omalloc/Makefile.in.destdir Singular-3-1-7/omalloc/Makefile.in
|
||||
--- Singular-3-1-7/omalloc/Makefile.in.destdir 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/omalloc/Makefile.in 2016-02-15 20:50:21.529455354 -0700
|
||||
@@ -181,35 +181,35 @@ configure: configure.in
|
||||
install-nolns: install
|
||||
|
||||
install-libsingular:
|
||||
- $(MKINSTALLDIRS) $(includedir)/singular
|
||||
- $(INSTALL) omalloc.h $(includedir)/singular
|
||||
+ $(MKINSTALLDIRS) $(DESTDIR)$(includedir)/singular
|
||||
+ $(INSTALL) omalloc.h $(DESTDIR)$(includedir)/singular
|
||||
|
||||
install install-libsingular: all
|
||||
- $(MKINSTALLDIRS) $(libdir)
|
||||
- $(MKINSTALLDIRS) $(includedir)
|
||||
- $(INSTALL_DATA) libomalloc.a $(libdir)
|
||||
- $(RANLIB) $(libdir)/libomalloc.a
|
||||
- $(INSTALL_DATA) libomalloc_ndebug.a $(libdir)
|
||||
- $(RANLIB) $(libdir)/libomalloc_ndebug.a
|
||||
- $(INSTALL_DATA) omalloc.o $(libdir)
|
||||
- $(INSTALL_DATA) omalloc_debug.o $(libdir)
|
||||
- $(INSTALL_DATA) omalloc.h $(includedir)
|
||||
- $(INSTALL_DATA) omlimits.h $(includedir)
|
||||
- $(INSTALL_DATA) mylimits.h $(includedir)
|
||||
+ $(MKINSTALLDIRS) $(DESTDIR)$(libdir)
|
||||
+ $(MKINSTALLDIRS) $(DESTDIR)$(includedir)
|
||||
+ $(INSTALL_DATA) libomalloc.a $(DESTDIR)$(libdir)
|
||||
+ $(RANLIB) $(DESTDIR)$(libdir)/libomalloc.a
|
||||
+ $(INSTALL_DATA) libomalloc_ndebug.a $(DESTDIR)$(libdir)
|
||||
+ $(RANLIB) $(DESTDIR)$(libdir)/libomalloc_ndebug.a
|
||||
+ $(INSTALL_DATA) omalloc.o $(DESTDIR)$(libdir)
|
||||
+ $(INSTALL_DATA) omalloc_debug.o $(DESTDIR)$(libdir)
|
||||
+ $(INSTALL_DATA) omalloc.h $(DESTDIR)$(includedir)
|
||||
+ $(INSTALL_DATA) omlimits.h $(DESTDIR)$(includedir)
|
||||
+ $(INSTALL_DATA) mylimits.h $(DESTDIR)$(includedir)
|
||||
|
||||
install_all: install libomalloc_p.a
|
||||
- $(INSTALL_DATA) libomalloc_p.a $(libdir)
|
||||
- $(RANLIB) $(libdir)/libomalloc_p.a
|
||||
+ $(INSTALL_DATA) libomalloc_p.a $(DESTDIR)$(libdir)
|
||||
+ $(RANLIB) $(DESTDIR)$(libdir)/libomalloc_p.a
|
||||
|
||||
install_min: libomalloc_ndebug.a omalloc.o
|
||||
- $(MKINSTALLDIRS) $(libdir)
|
||||
- $(MKINSTALLDIRS) $(includedir)
|
||||
- $(INSTALL_DATA) libomalloc_ndebug.a $(libdir)
|
||||
- $(RANLIB) $(libdir)/libomalloc_ndebug.a
|
||||
- $(INSTALL_DATA) omalloc.o $(libdir)
|
||||
- $(INSTALL_DATA) omalloc.h $(includedir)
|
||||
- $(INSTALL_DATA) omlimits.h $(includedir)
|
||||
- $(INSTALL_DATA) mylimits.h $(includedir)
|
||||
+ $(MKINSTALLDIRS) $(DESTDIR)$(libdir)
|
||||
+ $(MKINSTALLDIRS) $(DESTDIR)$(includedir)
|
||||
+ $(INSTALL_DATA) libomalloc_ndebug.a $(DESTDIR)$(libdir)
|
||||
+ $(RANLIB) $(DESTDIR)$(libdir)/libomalloc_ndebug.a
|
||||
+ $(INSTALL_DATA) omalloc.o $(DESTDIR)$(libdir)
|
||||
+ $(INSTALL_DATA) omalloc.h $(DESTDIR)$(includedir)
|
||||
+ $(INSTALL_DATA) omlimits.h $(DESTDIR)$(includedir)
|
||||
+ $(INSTALL_DATA) mylimits.h $(DESTDIR)$(includedir)
|
||||
|
||||
uninstall:
|
||||
rm -f $(includedir)/omalloc.h
|
||||
diff -up Singular-3-1-7/Singular/Makefile.in.destdir Singular-3-1-7/Singular/Makefile.in
|
||||
--- Singular-3-1-7/Singular/Makefile.in.destdir 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/Singular/Makefile.in 2016-02-15 20:58:01.359359527 -0700
|
||||
@@ -565,58 +565,58 @@ install_all: install
|
||||
install-nolns: all installbin-nolns installslib-nolns
|
||||
|
||||
installbin: ${SING_EXEC} libparse ESingular TSingular ${RUN_SINGULARS}
|
||||
- ${MKINSTALLDIRS} ${bindir} ${bindir_mod}
|
||||
- ${INSTALL_PROGRAM} ${SING_EXEC} ${SINGULAR}
|
||||
+ ${MKINSTALLDIRS} $(DESTDIR)${bindir} $(DESTDIR)${bindir_mod}
|
||||
+ ${INSTALL_PROGRAM} ${SING_EXEC} $(DESTDIR)${SINGULAR}
|
||||
-for file in *.so; do \
|
||||
- ${INSTALL_PROGRAM} $$file ${bindir}; \
|
||||
+ ${INSTALL_PROGRAM} $$file $(DESTDIR)${bindir}; \
|
||||
done
|
||||
-for file in ${pattern_mod}; do \
|
||||
- ${INSTALL_PROGRAM} $$file ${bindir_mod}; \
|
||||
+ ${INSTALL_PROGRAM} $$file $(DESTDIR)${bindir_mod}; \
|
||||
done
|
||||
- ${INSTALL_PROGRAM} singularsurf ${RUN_SINGULARS} ${bindir}
|
||||
- ${INSTALL_PROGRAM} libparse ${RUN_SINGULARS} ${bindir}
|
||||
- ${INSTALL_PROGRAM} ESingular TSingular ${bindir}
|
||||
- ${INSTALL_PROGRAM} surfex ${bindir}
|
||||
- chmod a+x ${SINGULAR}
|
||||
- rm -f ${bindir}/${SING_EXEC}${EXEC_EXT}
|
||||
- cd ${bindir}; ${LN_S} ${SINGULAR} Singular${EXEC_EXT};
|
||||
+ ${INSTALL_PROGRAM} singularsurf ${RUN_SINGULARS} $(DESTDIR)${bindir}
|
||||
+ ${INSTALL_PROGRAM} libparse ${RUN_SINGULARS} $(DESTDIR)${bindir}
|
||||
+ ${INSTALL_PROGRAM} ESingular TSingular $(DESTDIR)${bindir}
|
||||
+ ${INSTALL_PROGRAM} surfex $(DESTDIR)${bindir}
|
||||
+ chmod a+x $(DESTDIR)${SINGULAR}
|
||||
+ rm -f $(DESTDIR)${bindir}/${SING_EXEC}${EXEC_EXT}
|
||||
+ cd $(DESTDIR)${bindir}; ${LN_S} ${SINGULAR} Singular${EXEC_EXT};
|
||||
|
||||
installbin-nolns: ${SING_EXEC} libparse ESingular TSingular ${RUN_SINGULARS}
|
||||
- ${MKINSTALLDIRS} ${bindir} ${bindir_mod}
|
||||
- ${INSTALL_PROGRAM} ${SING_EXEC} ${SINGULAR}
|
||||
+ ${MKINSTALLDIRS} $(DESTDIR)${bindir} $(DESTDIR)${bindir_mod}
|
||||
+ ${INSTALL_PROGRAM} ${SING_EXEC} $(DESTDIR)${SINGULAR}
|
||||
-for file in *.so; do \
|
||||
- ${INSTALL_PROGRAM} $$file ${bindir}; \
|
||||
+ ${INSTALL_PROGRAM} $$file $(DESTDIR)${bindir}; \
|
||||
done
|
||||
-for file in ${pattern_mod}; do \
|
||||
- ${INSTALL_PROGRAM} $$file ${bindir_mod}; \
|
||||
+ ${INSTALL_PROGRAM} $$file $(DESTDIR)${bindir_mod}; \
|
||||
done
|
||||
- ${INSTALL_PROGRAM} libparse ${RUN_SINGULARS} ${bindir}
|
||||
- ${INSTALL_PROGRAM} ESingular TSingular ${DL_LIBS} ${bindir}
|
||||
- chmod a+x ${SINGULAR}
|
||||
- rm -f ${bindir}/${SING_EXEC}${EXEC_EXT}
|
||||
- ${INSTALL_PROGRAM} ${SINGULAR} ${bindir}/Singular${EXEC_EXT};
|
||||
+ ${INSTALL_PROGRAM} libparse ${RUN_SINGULARS} $(DESTDIR)${bindir}
|
||||
+ ${INSTALL_PROGRAM} ESingular TSingular ${DL_LIBS} $(DESTDIR)${bindir}
|
||||
+ chmod a+x $(DESTDIR)${SINGULAR}
|
||||
+ rm -f $(DESTDIR)${bindir}/${SING_EXEC}${EXEC_EXT}
|
||||
+ ${INSTALL_PROGRAM} ${SINGULAR} $(DESTDIR)${bindir}/Singular${EXEC_EXT};
|
||||
|
||||
installslib: LIB
|
||||
- test -r ${slibdir} || ${LN_S} `pwd`/LIB ${slibdir}
|
||||
+ #test -r ${slibdir} || ${LN_S} `pwd`/LIB ${slibdir}
|
||||
|
||||
installslib-nolns: LIB
|
||||
- ${MKINSTALLDIRS} ${slibdir}
|
||||
+ ${MKINSTALLDIRS} $(DESTDIR)${slibdir}
|
||||
for file in `pwd`/LIB/*.lib; do \
|
||||
- ${INSTALL_DATA} $$file ${slibdir}; \
|
||||
+ ${INSTALL_DATA} $$file $(DESTDIR)${slibdir}; \
|
||||
done
|
||||
- ${MKINSTALLDIRS} ${slibdir}/gftables
|
||||
+ ${MKINSTALLDIRS} $(DESTDIR)${slibdir}/gftables
|
||||
for file in `pwd`/LIB/gftables/*; do \
|
||||
- ${INSTALL_DATA} $$file ${slibdir}/gftables/; \
|
||||
+ ${INSTALL_DATA} $$file $(DESTDIR)${slibdir}/gftables/; \
|
||||
done
|
||||
|
||||
install-libsingular: libsingular installslib-nolns
|
||||
- ${MKINSTALLDIRS} ${includedir}/singular
|
||||
+ ${MKINSTALLDIRS} $(DESTDIR)${includedir}/singular
|
||||
for file in *.$(SO_SUFFIX); do \
|
||||
- ${INSTALL_PROGRAM} $$file ${libdir}; \
|
||||
+ ${INSTALL_PROGRAM} $$file $(DESTDIR)${libdir}; \
|
||||
done
|
||||
- ${INSTALL_PROGRAM} libsingular.h ${includedir}
|
||||
+ ${INSTALL_PROGRAM} libsingular.h $(DESTDIR)${includedir}
|
||||
for file in sing_dbm.h subexpr.h tok.h grammar.h ipid.h lists.h ipshell.h attrib.h silink.h table.h; do \
|
||||
- sed -e "s:<kernel/:<singular/:" < $$file |sed -e "s:<Singular/:<singular/:"|sed -e "s:<omalloc/:<:"|sed -e "s:<factory/:<:" >${includedir}/singular/$$file ;\
|
||||
+ sed -e "s:<kernel/:<singular/:" < $$file |sed -e "s:<Singular/:<singular/:"|sed -e "s:<omalloc/:<:"|sed -e "s:<factory/:<:" >$(DESTDIR)${includedir}/singular/$$file ;\
|
||||
done
|
||||
|
||||
uninstall: uninstallbin
|
|
@ -1,104 +0,0 @@
|
|||
diff -up Singular-3-1-7/doc/Makefile.in.orig Singular-3-1-7/doc/Makefile.in
|
||||
--- Singular-3-1-7/doc/Makefile.in.orig 2016-02-15 20:50:21.520456080 -0700
|
||||
+++ Singular-3-1-7/doc/Makefile.in 2016-02-15 21:20:09.517213137 -0700
|
||||
@@ -61,14 +61,14 @@ SINGULAR_LIB_DIR= ../Singular/LIB
|
||||
ifeq ($(SINGUNAME),"ix86-Win")
|
||||
LIBPARSE = ${bindir}/libparse.exe
|
||||
else
|
||||
-LIBPARSE = ${bindir}/libparse
|
||||
+LIBPARSE = $(DESTDIR)${bindir}/libparse
|
||||
endif
|
||||
DOC_SUBDIR = ./d2t_singular
|
||||
EX_SUBDIR = ./examples
|
||||
CHKSUM_DB = ${DOC_SUBDIR}/chksum
|
||||
DOC2TEX_EXAMPLE_EXCLUSIONS = @DOC2TEX_EXAMPLE_EXCLUSIONS@
|
||||
DOC2TEX = ${PERL} ./doc2tex.pl -docdir ${DOC_SUBDIR} \
|
||||
- -Singular $(DESTDIR)${SINGULAR} -verbose ${VERBOSE} -make ${MAKE} \
|
||||
+ -Singular /bin/true -verbose ${VERBOSE} -make ${MAKE} \
|
||||
-exdir ${EX_SUBDIR} ${DOC2TEX_EXAMPLE_EXCLUSIONS}
|
||||
TAG =
|
||||
PL2DOC = ${PERL} ./pl2doc.pl ${TAG} -db ${CHKSUM_DB}
|
||||
diff -up Singular-3-1-7/emacs/Makefile.in.orig Singular-3-1-7/emacs/Makefile.in
|
||||
--- Singular-3-1-7/emacs/Makefile.in.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/emacs/Makefile.in 2016-02-15 21:25:02.126618087 -0700
|
||||
@@ -6,11 +6,12 @@
|
||||
SHELL=/bin/sh
|
||||
|
||||
prefix = @prefix@
|
||||
-docdir = ${prefix}/doc
|
||||
-examplesdir = ${prefix}/examples
|
||||
+libdir = @libdir@
|
||||
+datadir = @datadir@
|
||||
SINGULAR = @SINGULAR@
|
||||
-singulardir = ${prefix}/Singular
|
||||
-emacsdir = ${install_prefix}/emacs
|
||||
+singulardir = ${libdir}/Singular
|
||||
+examplesdir = ${singulardir}/examples
|
||||
+emacsdir = ${datadir}/emacs/site-lisp/singular
|
||||
|
||||
|
||||
PERL = @PERL@
|
||||
@@ -18,42 +19,42 @@ INSTALL = ../install-sh -c
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
MKINSTALLDIRS = ../mkinstalldirs
|
||||
|
||||
-SINGULAR_HLP = ${docdir}/singular.hlp
|
||||
+SINGULAR_HLP = ${singulardir}/info/singular.hlp
|
||||
|
||||
all install: cmd-cmpl.el hlp-cmpl.el lib-cmpl.el ex-cmpl.el
|
||||
|
||||
install_all: install
|
||||
|
||||
-cmd-cmpl.el: ${SINGULAR} cmpl.pl
|
||||
- ${PERL} cmpl.pl -Singular ${SINGULAR} -cmpl cmd > cmd-cmpl.el
|
||||
+cmd-cmpl.el: cmpl.pl
|
||||
+ ${PERL} cmpl.pl -Singular $(DESTDIR)${SINGULAR} -cmpl cmd > cmd-cmpl.el
|
||||
|
||||
-hlp-cmpl.el: ${SINGULAR_HLP} cmpl.pl
|
||||
- ${PERL} cmpl.pl -hlp ${SINGULAR_HLP} -cmpl hlp > hlp-cmpl.el
|
||||
+hlp-cmpl.el: cmpl.pl
|
||||
+ ${PERL} cmpl.pl -hlp $(DESTDIR)${SINGULAR_HLP} -cmpl hlp > hlp-cmpl.el
|
||||
|
||||
-ex-cmpl.el: cmpl.pl ${examplesdir}
|
||||
- ${PERL} cmpl.pl -cmpl ex -ex_dir ${examplesdir} > ex-cmpl.el
|
||||
+ex-cmpl.el: cmpl.pl
|
||||
+ ${PERL} cmpl.pl -cmpl ex -ex_dir $(DESTDIR)${examplesdir} > ex-cmpl.el
|
||||
|
||||
-lib-cmpl-old.el: ${prefix}/Singular/Makefile cmpl.pl
|
||||
- ${MAKE} --no-print-directory -s -f ${prefix}/Singular/Makefile echoLIBS > lib-temp
|
||||
+lib-cmpl-old.el: cmpl.pl
|
||||
+ ${MAKE} --no-print-directory -s -f ../Singular/Makefile echoLIBS > lib-temp
|
||||
cat lib-temp | ${PERL} cmpl.pl -cmpl lib > lib-cmpl-old.el
|
||||
rm lib-temp
|
||||
|
||||
-lib-cmpl.el: ${prefix}/Singular/Makefile lib.pl
|
||||
- (cd ${prefix}/Singular;${MAKE} --no-print-directory -s -f Makefile echoLIBS) > lib-temp
|
||||
- ${PERL} lib.pl -s ${singulardir} `cat lib-temp` > lib-cmpl.el
|
||||
+lib-cmpl.el: lib.pl
|
||||
+ (cd ../Singular;${MAKE} --no-print-directory -s -f Makefile echoLIBS) > lib-temp
|
||||
+ ${PERL} lib.pl -s $(DESTDIR)${singulardir} `cat lib-temp` > lib-cmpl.el
|
||||
|
||||
clean mostlyclean distclean:
|
||||
rm -f cmd-cmpl.el hlp-cmpl.el lib-cmpl.el ex-cmpl.el
|
||||
|
||||
install-sharedist: all
|
||||
- ${MKINSTALLDIRS} ${emacsdir}
|
||||
- ${INSTALL_DATA} cmd-cmpl.el ${emacsdir}
|
||||
- ${INSTALL_DATA} lib-cmpl.el ${emacsdir}
|
||||
- ${INSTALL_DATA} hlp-cmpl.el ${emacsdir}
|
||||
- ${INSTALL_DATA} ex-cmpl.el ${emacsdir}
|
||||
- ${INSTALL_DATA} singular.el ${emacsdir}
|
||||
- ${INSTALL_DATA} .emacs-singular ${emacsdir}
|
||||
- ${INSTALL_DATA} .emacs-general ${emacsdir}
|
||||
+ ${MKINSTALLDIRS} $(DESTDIR)${emacsdir}
|
||||
+ ${INSTALL_DATA} cmd-cmpl.el $(DESTDIR)${emacsdir}
|
||||
+ ${INSTALL_DATA} lib-cmpl.el $(DESTDIR)${emacsdir}
|
||||
+ ${INSTALL_DATA} hlp-cmpl.el $(DESTDIR)${emacsdir}
|
||||
+ ${INSTALL_DATA} ex-cmpl.el $(DESTDIR)${emacsdir}
|
||||
+ ${INSTALL_DATA} singular.el $(DESTDIR)${emacsdir}
|
||||
+ ${INSTALL_DATA} .emacs-singular $(DESTDIR)${emacsdir}
|
||||
+ ${INSTALL_DATA} .emacs-general $(DESTDIR)${emacsdir}
|
||||
|
||||
depend:
|
||||
@echo "No make depend available!"
|
||||
\ No newline at end of file
|
|
@ -0,0 +1,22 @@
|
|||
--- singular-4.1.0/kernel/linear_algebra/CacheImplementation.h.orig 2017-02-20 10:33:27.000000000 -0700
|
||||
+++ singular-4.1.0/kernel/linear_algebra/CacheImplementation.h 2017-02-28 08:35:19.070578172 -0700
|
||||
@@ -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.0/Singular/extra.cc.orig 2017-02-20 10:33:27.000000000 -0700
|
||||
+++ singular-4.1.0/Singular/extra.cc 2017-02-28 08:36:17.566405458 -0700
|
||||
@@ -2499,7 +2499,7 @@ static BOOLEAN jjEXTENDED_SYSTEM(leftv r
|
||||
if(strcmp(sys_cmd,"changeRing")==0)
|
||||
{
|
||||
int varN = currRing->N;
|
||||
- char h[10];
|
||||
+ char h[12];
|
||||
for (int i = 1; i <= varN; i++)
|
||||
{
|
||||
omFree(currRing->names[i - 1]);
|
|
@ -1,36 +0,0 @@
|
|||
diff -up Singular-3-1-7/kernel/Makefile.in.orig Singular-3-1-7/kernel/Makefile.in
|
||||
--- Singular-3-1-7/kernel/Makefile.in.orig 2016-02-15 20:50:21.528455435 -0700
|
||||
+++ Singular-3-1-7/kernel/Makefile.in 2016-02-15 21:06:08.429066185 -0700
|
||||
@@ -48,7 +48,7 @@ PIPE = @PIPE@
|
||||
CFLAGS = @CFLAGS@ ${PIPE}
|
||||
CXXFLAGS = @CXXFLAGS@ ${PIPE}
|
||||
CXXTEMPLFLAGS = @CXXTEMPLFLAGS@
|
||||
-CPPFLAGS = -I${srcdir} -I.. -I@prefix@ @CPPFLAGS@
|
||||
+CPPFLAGS = -I${srcdir} -I.. -I../omalloc -I${srcdir}/../factory -I@prefix@ @CPPFLAGS@
|
||||
DEFS = -DNDEBUG -DOM_NDEBUG -D@SING_UNAME@ @DEFS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LD_DYN_FLAGS = @LD_DYN_FLAGS@
|
||||
diff -up Singular-3-1-7/libfac/Makefile.in.orig Singular-3-1-7/libfac/Makefile.in
|
||||
--- Singular-3-1-7/libfac/Makefile.in.orig 2016-02-15 20:50:21.528455435 -0700
|
||||
+++ Singular-3-1-7/libfac/Makefile.in 2016-02-15 21:07:06.131411169 -0700
|
||||
@@ -36,7 +36,7 @@ MKINSTALLDIRS = ./mkinstalldirs
|
||||
##
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CXXTEMPLFLAGS = @CXXTEMPLFLAGS@
|
||||
-CPPFLAGS = -I${srcdir}/factor -I${srcdir}/charset -I${srcdir} -I.. -I${prefix} -I${prefix}/include @CPPFLAGS@
|
||||
+CPPFLAGS = -I${srcdir}/factor -I${srcdir}/charset -I${srcdir} -I${srcdir}/.. -I${srcdir}/../factory -I${prefix} -I${prefix}/include @CPPFLAGS@
|
||||
DEFS = @DEFS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = -lfac -lcf -lcfmem -lgmp @LIBS@
|
||||
diff -up Singular-3-1-7/Singular/Makefile.in.orig Singular-3-1-7/Singular/Makefile.in
|
||||
--- Singular-3-1-7/Singular/Makefile.in.orig 2016-02-15 20:58:01.359359527 -0700
|
||||
+++ Singular-3-1-7/Singular/Makefile.in 2016-02-15 21:07:59.903073250 -0700
|
||||
@@ -87,7 +87,7 @@ CFLAGS = @CFLAGS@ ${PIPE}
|
||||
CXXFLAGS = @CXXFLAGS@ -I.. -I@prefix@ ${PIPE}
|
||||
CXXTEMPLFLAGS = @CXXTEMPLFLAGS@ -I.. -I@prefix@
|
||||
ifneq ($(SINGUNAME),ix86-Win)
|
||||
-CPPFLAGS = -I${srcdir} -I.. -I@prefix@ @CPPFLAGS@ @PYTHON_CPPFLAGS@ @FLINT_CFLAGS@
|
||||
+CPPFLAGS = -I${srcdir} -I${srcdir}/.. -I${srcdir}/../omalloc -I@prefix@ @CPPFLAGS@ @PYTHON_CPPFLAGS@ @FLINT_CFLAGS@
|
||||
else
|
||||
## Dirs after @CPPFLAGS@ are for PySingular
|
||||
CPPFLAGS = -I${srcdir} -I.. -I@prefix@ @CPPFLAGS@ @PYTHON_CPPFLAGS@ @FLINT_CFLAGS@
|
|
@ -1,52 +1,90 @@
|
|||
diff -up Singular-3-1-7/Singular/Makefile.in.orig Singular-3-1-7/Singular/Makefile.in
|
||||
--- Singular-3-1-7/Singular/Makefile.in.orig 2016-02-15 21:07:59.903073250 -0700
|
||||
+++ Singular-3-1-7/Singular/Makefile.in 2016-02-15 21:16:53.916992781 -0700
|
||||
@@ -140,7 +140,7 @@ HAVE_MPSR = @HAVE_MPSR@
|
||||
#
|
||||
# Handle libSINGULAR stuff
|
||||
#
|
||||
-LIBSINGULAR_LIBS =-lsingfac -lsingcf -lntl -lreadline @FLINT_LIBS@ -lgmp -lomalloc
|
||||
+LIBSINGULAR_LIBS =-lsingfac -lsingcf -lntl -lreadline @FLINT_LIBS@ -lgmp -lomalloc -lpthread -ldl
|
||||
--- singular-4.1.0/configure.ac.orig 2017-02-20 10:33:27.000000000 -0700
|
||||
+++ singular-4.1.0/configure.ac 2017-02-27 14:49:09.415812935 -0700
|
||||
@@ -253,4 +253,10 @@ AC_CONFIG_FILES([redhat/Makefile])
|
||||
AC_CONFIG_FILES([redhat/singular.spec])
|
||||
AC_CONFIG_FILES([desktop/Makefile desktop/Singular.desktop desktop/Singular-manual.desktop])
|
||||
|
||||
SO_SUFFIX = so
|
||||
+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' \
|
||||
+ -e 's|CC="\(g.*\)"|CC="\1 -Wl,--as-needed"|' \
|
||||
+ -i libtool
|
||||
+])
|
||||
AC_OUTPUT
|
||||
--- singular-4.1.0/factory/configure.ac.orig 2017-02-20 10:34:57.000000000 -0700
|
||||
+++ singular-4.1.0/factory/configure.ac 2017-02-27 14:49:09.416812931 -0700
|
||||
@@ -407,5 +407,11 @@ AC_DEFINE_UNQUOTED([FACTORYCONFIGURATION
|
||||
|
||||
@@ -388,13 +388,13 @@ Singular${S_EXT}: mod2.h Makefile versio
|
||||
${CXX} ${CXXFLAGS} ${CPPFLAGS} ${CXXTEMPLFLAGS} ${DEFS} \
|
||||
-o Singular${S_EXT} \
|
||||
tesths.cc iparith.o mpsr_Tok.o claptmpl.o\
|
||||
- ${OBJS} ${LDFLAGS} ${LIBS} ../kernel/mmalloc.o
|
||||
+ ${OBJS} ${LDFLAGS} -L../kernel -L../factory -L../libfac -L../omalloc -lkernel ${LIBS} ../kernel/mmalloc.o
|
||||
|
||||
libsingular: mod2.h Makefile version.h $(WIN_LIBS) scanner.cc ${OBJS} \
|
||||
iparith.o libparse.cc claptmpl.o mpsr_Tok.o $(DL_LIBS)
|
||||
$(LIBSINGULAR_LD) ${SLDFLAGS} ${LIBSINGULAR_FLAGS} -o libsingular.${SO_SUFFIX} \
|
||||
iparith.o mpsr_Tok.o claptmpl.o \
|
||||
- ${OBJS} -lkernel -L../kernel -L../factory -L../libfac -L${libdir} ${LIBSINGULAR_LIBS}
|
||||
+ ${OBJS} -L../kernel -L../factory -L../libfac -L../omalloc -lkernel -L${libdir} ${LIBSINGULAR_LIBS}
|
||||
AC_CONFIG_FILES([Makefile include/factory/Makefile factory.pc]) # ftest/GNUmakefile
|
||||
+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' \
|
||||
+ -e 's|CC="\(g.*\)"|CC="\1 -Wl,--as-needed"|' \
|
||||
+ -i libtool
|
||||
+])
|
||||
AC_OUTPUT
|
||||
|
||||
libsingular.a: mod2.h Makefile version.h $(WIN_LIBS) scanner.cc ${OBJS} \
|
||||
iparith.o libparse.cc claptmpl.o mpsr_Tok.o
|
||||
@@ -445,7 +445,7 @@ version.h: ${SOURCES} ${HEADERS} Makefil
|
||||
echo "#define CXX \"" ${CXX} ${CXXFLAGS} ${DEFS} "\"" >>version.h
|
||||
--- singular-4.1.0/gfanlib/configure.ac.orig 2017-02-20 10:34:57.000000000 -0700
|
||||
+++ singular-4.1.0/gfanlib/configure.ac 2017-02-27 14:49:09.416812931 -0700
|
||||
@@ -57,4 +57,10 @@ AC_LANG_POP()
|
||||
|
||||
libparse: libparse_main.o utils.o
|
||||
- ${CXX} ${CPPFLAGS} -DSTANDALONE_PARSER -o libparse libparse_main.o utils.o ../kernel/fegetopt.o ${LDFLAGS2} -lomalloc
|
||||
+ ${CXX} ${CPPFLAGS} -DSTANDALONE_PARSER -o libparse libparse_main.o utils.o ../kernel/fegetopt.o ${LDFLAGS2} -L../omalloc -lomalloc
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
## AC_CONFIG_HEADERS([config.h])
|
||||
+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' \
|
||||
+ -e 's|CC="\(g.*\)"|CC="\1 -Wl,--as-needed"|' \
|
||||
+ -i libtool
|
||||
+])
|
||||
AC_OUTPUT
|
||||
--- singular-4.1.0/gfanlib/Makefile.am.orig 2017-02-20 10:34:57.000000000 -0700
|
||||
+++ singular-4.1.0/gfanlib/Makefile.am 2017-02-27 14:49:09.416812931 -0700
|
||||
@@ -2,6 +2,7 @@ ACLOCAL_AMFLAGS = -I ../m4
|
||||
|
||||
libparse_main.o: libparse.cc
|
||||
${CXX} ${CPPFLAGS} -c -o libparse_main.o libparse.cc -DSTANDALONE_PARSER
|
||||
@@ -466,12 +466,12 @@ libparse.cc: libparse.l
|
||||
ESingular: mod2.h feOpt.cc version.h emacs.cc \
|
||||
feOptES.inc
|
||||
${CXX} -O2 ${CPPFLAGS} ${DEFS} -DESINGULAR -DPROTO -o ESingular emacs.cc ../kernel/fegetopt.o \
|
||||
- ${LDFLAGS} ${LIBS} ../kernel/mmalloc.o
|
||||
+ ${LDFLAGS} -L../kernel -L../factory -L../libfac -L../omalloc ${LIBS} ../kernel/mmalloc.o
|
||||
if HAVE_GFANLIB
|
||||
libgfan_LTLIBRARIES=libgfan.la
|
||||
+ libgfan_la_LIBADD=-lcddgmp -lgmp
|
||||
endif
|
||||
|
||||
TSingular: mod2.h feOpt.cc version.h emacs.cc \
|
||||
feOptTS.inc
|
||||
${CXX} -O2 ${CPPFLAGS} ${DEFS} -DTSINGULAR -DPROTO -o TSingular emacs.cc ../kernel/fegetopt.o \
|
||||
- ${LDFLAGS} ${LIBS} ../kernel/mmalloc.o
|
||||
+ ${LDFLAGS} -L../kernel -L../factory -L../libfac -L../omalloc ${LIBS} ../kernel/mmalloc.o
|
||||
libgfandir = $(libdir)
|
||||
--- singular-4.1.0/libpolys/configure.ac.orig 2017-02-20 10:34:57.000000000 -0700
|
||||
+++ singular-4.1.0/libpolys/configure.ac 2017-02-27 14:49:09.416812931 -0700
|
||||
@@ -149,4 +149,10 @@ AC_CONFIG_FILES([coeffs/Makefile])
|
||||
AC_CONFIG_FILES([polys/Makefile])
|
||||
AC_CONFIG_FILES([tests/Makefile])
|
||||
AC_CONFIG_FILES([libpolys-config 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' \
|
||||
+ -e 's|CC="\(g.*\)"|CC="\1 -Wl,--as-needed"|' \
|
||||
+ -i libtool
|
||||
+])
|
||||
AC_OUTPUT
|
||||
--- singular-4.1.0/omalloc/configure.ac.orig 2017-02-20 10:34:57.000000000 -0700
|
||||
+++ singular-4.1.0/omalloc/configure.ac 2017-02-27 14:49:09.416812931 -0700
|
||||
@@ -636,5 +636,11 @@ dnl llllllllllllllllllllllllllllllllllll
|
||||
dnl wrap it up
|
||||
dnl
|
||||
AC_CONFIG_FILES([Makefile omalloc.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' \
|
||||
+ -e 's|CC="\(g.*\)"|CC="\1 -Wl,--as-needed"|' \
|
||||
+ -i libtool
|
||||
+])
|
||||
AC_OUTPUT
|
||||
|
||||
feOpt.o: feOpt.inc feOptES.inc feOptTS.inc
|
||||
extra.o: feOpt.inc
|
||||
--- singular-4.1.0/resources/configure.ac.orig 2017-02-20 10:34:57.000000000 -0700
|
||||
+++ singular-4.1.0/resources/configure.ac 2017-02-27 14:49:09.416812931 -0700
|
||||
@@ -73,4 +73,10 @@ AX_NORMALIZE_PATH([config_datadir],['/']
|
||||
AC_DEFINE_UNQUOTED([DATA_DIR],"$config_datadir",[datadir])
|
||||
|
||||
AC_CONFIG_FILES([singular_resources.pc Makefile])
|
||||
+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' \
|
||||
+ -e 's|CC="\(g.*\)"|CC="\1 -Wl,--as-needed"|' \
|
||||
+ -i libtool
|
||||
+])
|
||||
AC_OUTPUT
|
||||
|
|
|
@ -1,85 +1,11 @@
|
|||
diff -up Singular-3-1-7/factory/NTLconvert.cc.orig Singular-3-1-7/factory/NTLconvert.cc
|
||||
--- Singular-3-1-7/factory/NTLconvert.cc.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/factory/NTLconvert.cc 2016-02-15 22:02:11.477940005 -0700
|
||||
@@ -55,6 +55,63 @@
|
||||
NTL_CLIENT
|
||||
#endif
|
||||
--- singular-4.1.0/factory/ftmpl_inst.cc.orig 2016-10-14 14:00:05.000000000 -0600
|
||||
+++ singular-4.1.0/factory/ftmpl_inst.cc 2017-01-16 20:23:04.488346521 -0700
|
||||
@@ -74,7 +74,7 @@ template List<Variable> Difference ( con
|
||||
// NTL 6
|
||||
#ifdef HAVE_NTL
|
||||
#include<NTL/version.h>
|
||||
-#if NTL_MAJOR_VERSION == 6
|
||||
+#if NTL_MAJOR_VERSION >= 6
|
||||
|
||||
+// Needed explicit template instantiations for NTL 8.x.x
|
||||
+template mat_zz_p::Mat(const mat_zz_p&);
|
||||
+template mat_zz_pE::Mat(const mat_zz_pE&);
|
||||
+
|
||||
+template class Vec<Pair<GF2X, long> >;
|
||||
+template class Vec<Pair<GF2EX, long> >;
|
||||
+template class Vec<Pair<zz_pX, long> >;
|
||||
+template class Vec<Pair<zz_pEX, long> >;
|
||||
+template class Vec<Pair<ZZ_pX, long> >;
|
||||
+template class Vec<Pair<ZZ_pEX, long> >;
|
||||
+template class Vec<Pair<ZZX, long> >;
|
||||
+template class Vec<Vec<zz_p> >;
|
||||
+template class Vec<Vec<zz_pE> >;
|
||||
+template class Vec<zz_p>;
|
||||
+template class Vec<zz_pEX>;
|
||||
+
|
||||
+template long operator==<zz_p>(const vec_zz_p&, const vec_zz_p&);
|
||||
+
|
||||
+template void BlockConstruct<Pair<GF2X, long> >(Pair<GF2X, long>* p, long n);
|
||||
+template void BlockConstruct<Pair<GF2EX, long> >(Pair<GF2EX, long>* p, long n);
|
||||
+template void BlockConstruct<Pair<zz_pX, long> >(Pair<zz_pX, long>* p, long n);
|
||||
+template void BlockConstruct<Pair<zz_pEX, long> >(Pair<zz_pEX, long>* p, long n);
|
||||
+template void BlockConstruct<Pair<ZZ_pX, long> >(Pair<ZZ_pX, long>* p, long n);
|
||||
+template void BlockConstruct<Pair<ZZ_pEX, long> >(Pair<ZZ_pEX, long>* p, long n);
|
||||
+template void BlockConstruct<Pair<ZZX, long> >(Pair<ZZX, long>* p, long n);
|
||||
+template void BlockConstruct<Vec<zz_p> >(Vec<zz_p>* p, long n);
|
||||
+template void BlockConstruct<Vec<zz_pE> >(Vec<zz_pE>* p, long n);
|
||||
+template void BlockConstruct<zz_pEX>(zz_pEX* p, long n);
|
||||
+
|
||||
+template void BlockConstructFromVec<Pair<GF2X, long> >(Pair<GF2X, long>* p, long n, const Pair<GF2X, long>* q);
|
||||
+template void BlockConstructFromVec<Pair<GF2EX, long> >(Pair<GF2EX, long>* p, long n, const Pair<GF2EX, long>* q);
|
||||
+template void BlockConstructFromVec<Pair<zz_pX, long> >(Pair<zz_pX, long>* p, long n, const Pair<zz_pX, long>* q);
|
||||
+template void BlockConstructFromVec<Pair<zz_pEX, long> >(Pair<zz_pEX, long>* p, long n, const Pair<zz_pEX, long>* q);
|
||||
+template void BlockConstructFromVec<Pair<ZZ_pX, long> >(Pair<ZZ_pX, long>* p, long n, const Pair<ZZ_pX, long>* q);
|
||||
+template void BlockConstructFromVec<Pair<ZZ_pEX, long> >(Pair<ZZ_pEX, long>* p, long n, const Pair<ZZ_pEX, long>* q);
|
||||
+template void BlockConstructFromVec<Pair<ZZX, long> >(Pair<ZZX, long>* p, long n, const Pair<ZZX, long>* q);
|
||||
+template void BlockConstructFromVec<Vec<zz_p> >(Vec<zz_p>* p, long n, const Vec<zz_p>* q);
|
||||
+template void BlockConstructFromVec<Vec<zz_pE> >(Vec<zz_pE>* p, long n, const Vec<zz_pE>* q);
|
||||
+template void BlockConstructFromVec<zz_p>(zz_p* p, long n, const zz_p* q);
|
||||
+template void BlockConstructFromVec<zz_pE>(zz_pE* p, long n, const zz_pE* q);
|
||||
+template void BlockConstructFromVec<zz_pEX>(zz_pEX* p, long n, const zz_pEX* q);
|
||||
+
|
||||
+template void BlockConstructFromObj<Pair<GF2X, long> >(Pair<GF2X, long>* p, long n, const Pair<GF2X, long>& q);
|
||||
+template void BlockConstructFromObj<Pair<GF2EX, long> >(Pair<GF2EX, long>* p, long n, const Pair<GF2EX, long>& q);
|
||||
+template void BlockConstructFromObj<Pair<zz_pX, long> >(Pair<zz_pX, long>* p, long n, const Pair<zz_pX, long>& q);
|
||||
+template void BlockConstructFromObj<Pair<zz_pEX, long> >(Pair<zz_pEX, long>* p, long n, const Pair<zz_pEX, long>& q);
|
||||
+template void BlockConstructFromObj<Pair<ZZ_pX, long> >(Pair<ZZ_pX, long>* p, long n, const Pair<ZZ_pX, long>& q);
|
||||
+template void BlockConstructFromObj<Pair<ZZ_pEX, long> >(Pair<ZZ_pEX, long>* p, long n, const Pair<ZZ_pEX, long>& q);
|
||||
+template void BlockConstructFromObj<Pair<ZZX, long> >(Pair<ZZX, long>* p, long n, const Pair<ZZX, long>& q);
|
||||
+template void BlockConstructFromObj<Vec<zz_p> >(Vec<zz_p>* p, long n, const Vec<zz_p>& q);
|
||||
+template void BlockConstructFromObj<Vec<zz_pE> >(Vec<zz_pE>* p, long n, const Vec<zz_pE>& q);
|
||||
+template void BlockConstructFromObj<zz_pEX>(zz_pEX* p, long n, const zz_pEX& q);
|
||||
+
|
||||
+template SmartPtr<GF2EInfoT> MakeSmart<GF2EInfoT, GF2X>(const GF2X &ptr);
|
||||
+template SmartPtr<zz_pEInfoT> MakeSmart<zz_pEInfoT, zz_pX>(const zz_pX &ptr);
|
||||
+template SmartPtr<ZZ_pInfoT> MakeSmart<ZZ_pInfoT, ZZ>(const ZZ &ptr);
|
||||
+
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// NAME: convertFacCF2NTLZZpX //
|
||||
// //
|
||||
@@ -511,7 +568,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- long sizeofrep= ((long *) a.rep) [1];
|
||||
+ long sizeofrep= ((long *) &a) [1];
|
||||
bool lessZero= false;
|
||||
if (sizeofrep < 0)
|
||||
{
|
||||
@@ -529,7 +586,7 @@
|
||||
cf_stringtemp_l= sizeofrep*sizeof(mp_limb_t)*2;
|
||||
cf_stringtemp= (unsigned char*) Alloc (cf_stringtemp_l);
|
||||
}
|
||||
- int cc= mpn_get_str (cf_stringtemp, 16, (mp_limb_t *) (((long *) (a.rep)) + 2), sizeofrep);
|
||||
+ int cc= mpn_get_str (cf_stringtemp, 16, (mp_limb_t *) (((long *) &a) + 2), sizeofrep);
|
||||
|
||||
char* cf_stringtemp2;
|
||||
if (lessZero)
|
||||
#include<NTL/tools.h>
|
||||
#include<NTL/lzz_pE.h>
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
--- singular-4.1.0/omalloc/omAllocDecl.h.orig 2017-02-20 10:33:27.000000000 -0700
|
||||
+++ singular-4.1.0/omalloc/omAllocDecl.h 2017-02-28 08:43:20.475150099 -0700
|
||||
@@ -233,7 +233,7 @@
|
||||
#define omrealloc(addr,size) _omrealloc(addr, size)
|
||||
#define omrealloc0(addr,size) _omrealloc0(addr, size)
|
||||
|
||||
-#define omfreeSize(addr,size) do {if (addr && size) omFreeSize(addr, size);} while (0)
|
||||
+#define omfreeSize(addr,size) do {if ((addr) != NULL && (size) != 0) omFreeSize(addr, size);} while (0)
|
||||
#define omfree(addr) do {if (addr) omFree(addr);} while (0)
|
||||
|
||||
#ifdef OM_ALIGNMENT_NEEDS_WORK
|
|
@ -1,65 +0,0 @@
|
|||
diff -up Singular-3-1-7/doc/doc2tex.pl.orig Singular-3-1-7/doc/doc2tex.pl
|
||||
--- Singular-3-1-7/doc/doc2tex.pl.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/doc/doc2tex.pl 2016-02-18 21:23:21.197141422 -0700
|
||||
@@ -479,7 +479,7 @@ sub HandleRef
|
||||
$line++;
|
||||
last if (/^\@c\s*ref\s*$/);
|
||||
|
||||
- while (/\@ref{(.*?)}[;\.]/)
|
||||
+ while (/\@ref\{(.*?)\}[;\.]/)
|
||||
{
|
||||
$refs{$1} = 1;
|
||||
$_ = $';
|
||||
diff -up Singular-3-1-7/doc/texi2html.orig Singular-3-1-7/doc/texi2html
|
||||
--- Singular-3-1-7/doc/texi2html.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/doc/texi2html 2016-02-18 21:26:21.432652047 -0700
|
||||
@@ -3063,7 +3063,7 @@ INPUT_LINE: while ($_ = &next_line) {
|
||||
#############################################################
|
||||
# value substitution before macro expansion, so that
|
||||
# it works in macro arguments
|
||||
- s/\@value{($VARRE)}/$value{$1}/eg;
|
||||
+ s/\@value\{($VARRE)\}/$value{$1}/eg;
|
||||
|
||||
#############################################################
|
||||
# macro substitution
|
||||
@@ -3089,8 +3089,8 @@ INPUT_LINE: while ($_ = &next_line) {
|
||||
$after = '';
|
||||
}
|
||||
$args =~ s|\\\\|\\|g;
|
||||
- $args =~ s|\\{|{|g;
|
||||
- $args =~ s|\\}|}|g;
|
||||
+ $args =~ s|\\\{|{|g;
|
||||
+ $args =~ s|\\\}|}|g;
|
||||
if (@{$macros->{$name}->{Args}} > 1)
|
||||
{
|
||||
$args =~ s/(^|[^\\]),/$1$;/g ;
|
||||
@@ -4243,7 +4243,7 @@ while (@lines) {
|
||||
#
|
||||
# xref
|
||||
#
|
||||
- while (/\@(x|px|info|)ref{([^{}]+)(}?)/) {
|
||||
+ while (/\@(x|px|info|)ref\{([^{}]+)(\}?)/) {
|
||||
# note: Texinfo may accept other characters
|
||||
($type, $nodes, $full) = ($1, $2, $3);
|
||||
($before, $after) = ($`, $');
|
||||
@@ -4898,9 +4898,9 @@ sub update_sec_num {
|
||||
my $ret;
|
||||
|
||||
$level--; # here we start at 0
|
||||
- if ($name =~ /^appendix/ || defined(@appendix_sec_num)) {
|
||||
+ if ($name =~ /^appendix/ || @appendix_sec_num) {
|
||||
# appendix style
|
||||
- if (defined(@appendix_sec_num)) {
|
||||
+ if (@appendix_sec_num) {
|
||||
&incr_sec_num($level, @appendix_sec_num);
|
||||
} else {
|
||||
@appendix_sec_num = ('A', 0, 0, 0);
|
||||
@@ -4908,7 +4908,7 @@ sub update_sec_num {
|
||||
$ret = join('.', @appendix_sec_num[0..$level]);
|
||||
} else {
|
||||
# normal style
|
||||
- if (defined(@normal_sec_num))
|
||||
+ if (@normal_sec_num)
|
||||
{
|
||||
&incr_sec_num($level, @normal_sec_num);
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
--- singular-4.1.0/Singular/dyn_modules/polymake/polymake_conversion.cc.orig 2017-02-20 10:33:27.000000000 -0700
|
||||
+++ singular-4.1.0/Singular/dyn_modules/polymake/polymake_conversion.cc 2017-03-31 14:50:50.480769619 -0600
|
||||
@@ -120,7 +120,7 @@ int PmInteger2Int(const polymake::Intege
|
||||
int i=0;
|
||||
try
|
||||
{
|
||||
- i = pi.to_int();
|
||||
+ i = (int)pi;
|
||||
}
|
||||
catch (const std::exception& ex)
|
||||
{
|
||||
@@ -158,7 +158,7 @@ intvec* PmMatrixInteger2Intvec (polymake
|
||||
int rows = mi->rows();
|
||||
int cols = mi->cols();
|
||||
intvec* iv = new intvec(rows,cols,0);
|
||||
- const polymake::Integer* pi = concat_rows(*mi).begin();
|
||||
+ pm::array_traits<pm::Integer>::iterator pi = concat_rows(*mi).begin();
|
||||
for (int r = 1; r <= rows; r++)
|
||||
for (int c = 1; c <= cols; c++)
|
||||
{
|
||||
@@ -173,7 +173,7 @@ bigintmat* PmMatrixInteger2Bigintmat (po
|
||||
int rows = mi->rows();
|
||||
int cols = mi->cols();
|
||||
bigintmat* bim= new bigintmat(rows,cols,coeffs_BIGINT);
|
||||
- const polymake::Integer* pi = concat_rows(*mi).begin();
|
||||
+ pm::array_traits<pm::Integer>::iterator pi = concat_rows(*mi).begin();
|
||||
for (int r = 1; r <= rows; r++)
|
||||
for (int c = 1; c <= cols; c++)
|
||||
{
|
|
@ -1,12 +0,0 @@
|
|||
diff -up Singular-3-1-7/Singular/semaphore.c.orig Singular-3-1-7/Singular/semaphore.c
|
||||
--- Singular-3-1-7/Singular/semaphore.c.orig 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/Singular/semaphore.c 2016-02-15 21:36:08.138939362 -0700
|
||||
@@ -4,6 +4,8 @@
|
||||
#include <sys/stat.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <unistd.h>
|
||||
#include <Singular/mod2.h>
|
||||
#include <Singular/cntrlc.h>
|
||||
#include <Singular/si_signals.h>
|
|
@ -0,0 +1,11 @@
|
|||
--- singular-4.1.0/gfanlib/gfanlib_tropicalhomotopy.h.orig 2017-02-20 10:33:27.000000000 -0700
|
||||
+++ singular-4.1.0/gfanlib/gfanlib_tropicalhomotopy.h 2017-02-28 08:51:27.144697675 -0700
|
||||
@@ -454,7 +454,7 @@ template<class mvtyp, class mvtypDouble,
|
||||
//chioices are "relative" so no update is needed.
|
||||
|
||||
choices=parent.choices;
|
||||
- int numberToDrop=(subconfigurationIndex!=0) ? numberToDrop=k+1 : 0;
|
||||
+ int numberToDrop=(subconfigurationIndex!=0) ? k+1 : 0;
|
||||
|
||||
choices[subconfigurationIndex-1].first-=numberToDrop;
|
||||
choices[subconfigurationIndex-1].second-=numberToDrop;
|
|
@ -1,55 +0,0 @@
|
|||
diff -up Singular-3-1-7/Singular/Makefile.in.undefined Singular-3-1-7/Singular/Makefile.in
|
||||
--- Singular-3-1-7/Singular/Makefile.in.undefined 2016-02-15 21:28:04.755898679 -0700
|
||||
+++ Singular-3-1-7/Singular/Makefile.in 2016-02-15 21:31:11.347859890 -0700
|
||||
@@ -144,7 +144,7 @@ LIBSINGULAR_LIBS =-lsingfac -lsingcf -ln
|
||||
|
||||
SO_SUFFIX = so
|
||||
|
||||
-LIBSINGULAR_FLAGS = -shared
|
||||
+LIBSINGULAR_FLAGS = -shared -Wl,--no-undefined
|
||||
LIBSINGULAR_LD = $(CXX)
|
||||
|
||||
# correct suffix for dynamic linking
|
||||
diff -up Singular-3-1-7/Singular/misc_ip.cc.undefined Singular-3-1-7/Singular/misc_ip.cc
|
||||
--- Singular-3-1-7/Singular/misc_ip.cc.undefined 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/Singular/misc_ip.cc 2016-02-15 21:31:11.349859729 -0700
|
||||
@@ -1269,7 +1269,6 @@ void siInit(char *name)
|
||||
errorreported = 0;
|
||||
}
|
||||
|
||||
-#ifdef LIBSINGULAR
|
||||
#ifdef HAVE_FACTORY
|
||||
// the init routines of factory need mmInit
|
||||
int mmInit( void )
|
||||
@@ -1277,4 +1276,3 @@ int mmInit( void )
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
-#endif
|
||||
diff -up Singular-3-1-7/Singular/tesths.cc.undefined Singular-3-1-7/Singular/tesths.cc
|
||||
--- Singular-3-1-7/Singular/tesths.cc.undefined 2014-08-06 09:59:15.000000000 -0600
|
||||
+++ Singular-3-1-7/Singular/tesths.cc 2016-02-15 21:32:47.063145511 -0700
|
||||
@@ -51,23 +51,6 @@
|
||||
extern int siInit(char *);
|
||||
|
||||
#if ! defined(LIBSINGULAR)
|
||||
-static int mmInit2( void )
|
||||
-{
|
||||
-#if defined(OMALLOC_USES_MALLOC) || defined(X_OMALLOC)
|
||||
- /* in mmstd.c, for some architectures freeSize() unconditionally uses the *system* free() */
|
||||
- /* sage ticket 5344: http://trac.sagemath.org/sage_trac/ticket/5344 */
|
||||
- /* do not rely on the default in Singular as libsingular may be different */
|
||||
- mp_set_memory_functions(omMallocFunc,omReallocSizeFunc,omFreeSizeFunc);
|
||||
-#else
|
||||
- mp_set_memory_functions(malloc,reallocSize,freeSize);
|
||||
-#endif
|
||||
- return 1;
|
||||
-}
|
||||
-int mmInit( void )
|
||||
-{
|
||||
- return mmInit2();
|
||||
-}
|
||||
-
|
||||
/*0 implementation*/
|
||||
int main( /* main entry to Singular */
|
||||
int argc, /* number of parameter */
|
721
Singular.spec
721
Singular.spec
|
@ -1,540 +1,437 @@
|
|||
#%#undefine _hardened_build
|
||||
%global singulardir %{_libdir}/Singular
|
||||
%global upstreamver 3-1-7
|
||||
%global upstreamver 4-1-0
|
||||
%global downstreamver %(tr - . <<< %{upstreamver})
|
||||
%global patchver p2
|
||||
|
||||
%if 0%{?fedora}
|
||||
%global ntl8 1
|
||||
%endif
|
||||
|
||||
# If a library used by both polymake and Singular is updated, neither can be
|
||||
# rebuilt, because each BRs the other and both are linked against the old
|
||||
# version of the library. Use this to rebuild Singular without polymake
|
||||
# support, rebuild polymake, then build Singular again with polymake support.
|
||||
%bcond_with polymake
|
||||
# Use this to build without polymake support if polymake is broken.
|
||||
%bcond_without polymake
|
||||
|
||||
Name: Singular
|
||||
Version: %(tr - . <<<%{upstreamver})
|
||||
Release: 12%{?dist}
|
||||
Version: %{downstreamver}%{?patchver}
|
||||
Release: 1%{?dist}
|
||||
Summary: Computer Algebra System for polynomial computations
|
||||
Group: Applications/Engineering
|
||||
License: BSD and LGPLv2+ and GPLv2+
|
||||
Source0: http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/%{upstreamver}/%{name}-%{upstreamver}.tar.gz
|
||||
# TEMPORARY: Remove this once Singular ships an updated version
|
||||
Source1: normaliz.lib
|
||||
# License analysis:
|
||||
# - factory/readcf.cc, Singular/grammar.cc, and Singular/grammar.h are
|
||||
# nominally GPLv3+, but they are generated by bison, so the bison special
|
||||
# exception applies
|
||||
# - Singular/links/ndbm.cc and Singular/links/ndbm.h are BSD, which is subsumed
|
||||
# by both GPLv2 and GPLv3
|
||||
# - Everything else is marked either "GPLv2 or GPLv3" or "GPLv2 or later", with
|
||||
# the former more strict than the latter
|
||||
License: GPLv2 or GPLv3
|
||||
Source0: http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/%{upstreamver}/singular-%{version}.tar.gz
|
||||
URL: http://www.singular.uni-kl.de/
|
||||
BuildRequires: bison
|
||||
BuildRequires: cddlib-devel
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: emacs
|
||||
BuildRequires: flex
|
||||
BuildRequires: flint-devel
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gmp-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: mathicgb-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: ntl-devel%{?ntl8: >= 8.0}
|
||||
%if %{with polymake}
|
||||
BuildRequires: polymake-devel
|
||||
BuildRequires: polymake
|
||||
%endif
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: readline-devel
|
||||
# Need uudecode for documentation images in tarball
|
||||
BuildRequires: sharutils
|
||||
BuildRequires: texinfo-tex
|
||||
BuildRequires: tex(latex)
|
||||
BuildRequires: zlib-devel
|
||||
Requires: factory-gftables = %{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: environment-modules
|
||||
Requires: less
|
||||
Requires: surf-geometry
|
||||
|
||||
# Use destdir in install targets
|
||||
Patch1: Singular-destdir.patch
|
||||
# Find headers in source tree
|
||||
Patch2: Singular-headers.patch
|
||||
# Find and link to generated libraries
|
||||
Patch3: Singular-link.patch
|
||||
# Do not attempt to load non existing modules, do not even run
|
||||
# the binary in DESTDIR when building the documentation
|
||||
Patch4: Singular-doc.patch
|
||||
# Correct koji error:
|
||||
# ** ERROR: No build ID note found in /builddir/build/BUILDROOT/Singular-3.1.3-1.fc16.x86_64/usr/lib64/Singular/dbmsr.so
|
||||
Patch5: Singular-builddid.patch
|
||||
# Correct undefined symbols in libsingular
|
||||
# This patch removes a hack to avoid duplicated symbols in tesths.cc
|
||||
# when calling mp_set_memory_functions, what is a really a bad idea on
|
||||
# a shared library.
|
||||
Patch6: Singular-undefined.patch
|
||||
|
||||
# Add missing #include directives in the semaphore code
|
||||
Patch11: Singular-semaphore.patch
|
||||
# Support ARM and S390(x) architectures
|
||||
Patch13: Singular-arches.patch
|
||||
Patch0: %{name}-arches.patch
|
||||
# Fix both underlinking and overlinking
|
||||
Patch1: %{name}-link.patch
|
||||
# Fix the desktop files
|
||||
Patch2: %{name}-desktop.patch
|
||||
# Adapt to new template code in NTL 8
|
||||
Patch15: Singular-ntl8.patch
|
||||
|
||||
# Previous perl warning is now an error
|
||||
Patch17: Singular-perl-5.22.patch
|
||||
# Fix a broken boolean expression
|
||||
Patch18: Singular-boolean.patch
|
||||
Patch3: %{name}-ntl8.patch
|
||||
# Fix code that can overflow a character buffer with sprintf
|
||||
Patch4: %{name}-format.patch
|
||||
# Add missing parentheses that can change code meaning in a macro
|
||||
Patch5: %{name}-parens.patch
|
||||
# Fix a sequence point error
|
||||
Patch6: %{name}-sequence-point.patch
|
||||
# Fix code that violates the strict aliasing rules
|
||||
Patch7: %{name}-alias.patch
|
||||
# Adapt to polymake 3.1
|
||||
Patch8: %{name}-polymake.patch
|
||||
|
||||
%description
|
||||
Singular is a computer algebra system for polynomial computations, with
|
||||
special emphasis on commutative and non-commutative algebra, algebraic
|
||||
geometry, and singularity theory. It is free and open-source under the
|
||||
GNU General Public Licence.
|
||||
geometry, and singularity theory.
|
||||
|
||||
%package libs
|
||||
Summary: Singular library
|
||||
Requires: %{name}-libpolys%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description libs
|
||||
This package contains the main Singular library.
|
||||
|
||||
%package devel
|
||||
Summary: Singular development files
|
||||
Group: Development/Libraries
|
||||
Requires: factory-devel
|
||||
Requires: libfac-devel
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-libpolys-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This package contains the Singular development files.
|
||||
|
||||
%package -n factory-devel
|
||||
Summary: C++ class library for multivariate polynomial data
|
||||
Group: Development/Libraries
|
||||
Requires: gmp-devel
|
||||
Obsoletes: factory-static < %{version}-%{release}
|
||||
Provides: factory-static = %{version}-%{release}
|
||||
|
||||
%description -n factory-devel
|
||||
Factory is a C++ class library that implements a recursive representation
|
||||
of multivariate polynomial data.
|
||||
|
||||
%package -n factory-gftables
|
||||
Summary: Factory addition tables
|
||||
Group: Applications/Engineering
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n factory-gftables
|
||||
Factory uses addition tables to calculate in GF(p^n) in an efficient way.
|
||||
|
||||
|
||||
%package -n libfac-devel
|
||||
Summary: An extension to Singular-factory
|
||||
Group: Development/Libraries
|
||||
Obsoletes: libfac-static < %{version}-%{release}
|
||||
Provides: libfac-static = %{version}-%{release}
|
||||
|
||||
%description -n libfac-devel
|
||||
Singular-libfac is an extension to Singular-factory which implements
|
||||
factorization of polynomials over finite fields and algorithms for
|
||||
manipulation of polynomial ideals via the characteristic set methods
|
||||
(e.g., calculating the characteristic set and the irreducible
|
||||
characteristic series).
|
||||
|
||||
%package examples
|
||||
Summary: Singular example files
|
||||
Group: Applications/Engineering
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description examples
|
||||
This package contains the Singular example files.
|
||||
|
||||
%package doc
|
||||
Summary: Singular documentation files
|
||||
Group: Applications/Engineering
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description doc
|
||||
This package contains the Singular documentation files.
|
||||
|
||||
%package emacs
|
||||
Summary: (X)Emacs interface to Singular
|
||||
Requires: emacs-common
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description emacs
|
||||
Emacs and XEmacs interface to Singular.
|
||||
|
||||
%package -n factory
|
||||
Summary: C++ class library for multivariate polynomial data
|
||||
Requires: factory-gftables = %{version}-%{release}
|
||||
|
||||
%description -n factory
|
||||
Factory is a C++ class library that implements a recursive
|
||||
representation of multivariate polynomial data. It handles sparse
|
||||
multivariate polynomials over different coefficient domains, such as Z,
|
||||
Q and GF(q), as well as algebraic extensions over Q and GF(q) in an
|
||||
efficient way. Factory includes algorithms for computing univariate and
|
||||
multivariate gcds, resultants, chinese remainders, and algorithms to
|
||||
factorize multivariate polynomials and to compute the absolute
|
||||
factorization of multivariate polynomials with integer coefficients.
|
||||
|
||||
%package -n factory-devel
|
||||
Summary: Development files for the Singular factory
|
||||
Requires: factory%{?_isa} = %{version}-%{release}
|
||||
Requires: gmp-devel%{?_isa}
|
||||
# These can be removed once Fedora 25 reached EOL
|
||||
Obsoletes: %{name}-examples < 4.0.0-1
|
||||
Provides: %{name}-examples = %{version}-%{release}
|
||||
|
||||
%description -n factory-devel
|
||||
Development files for the Singular factory.
|
||||
|
||||
%package -n factory-gftables
|
||||
Summary: Singular factory addition tables
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n factory-gftables
|
||||
Factory uses addition tables to calculate in GF(p^n) in an efficient way.
|
||||
|
||||
%package libpolys
|
||||
Summary: C++ class library for polynomials in Singular
|
||||
Requires: factory%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description libpolys
|
||||
Libpolys contains the data structures and basic algorithms for
|
||||
polynomials in Singular.
|
||||
|
||||
%package libpolys-devel
|
||||
Summary: Development files for libpolys
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: factory-devel%{?_isa} = %{version}-%{release}
|
||||
Requires: flint-devel%{?_isa}
|
||||
# These can be removed once Fedora 25 reached EOL
|
||||
Obsoletes: libfac-devel < 4.0.0-1
|
||||
Provides: libfac-devel = %{version}-%{release}
|
||||
|
||||
%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
|
||||
Group: Applications/Engineering
|
||||
Requires: java
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description surfex
|
||||
This package contains the Singular java interface.
|
||||
|
||||
%package emacs
|
||||
Summary: Emacs mode for Singular
|
||||
Group: Applications/Engineering
|
||||
Requires: emacs-common
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description emacs
|
||||
Emacs mode for Singular.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{upstreamver}
|
||||
%patch1 -p1 -b .destdir
|
||||
%patch2 -p1 -b .headers
|
||||
%patch3 -p1 -b .link
|
||||
%patch4 -p1
|
||||
%patch5 -p1 -b .builddid
|
||||
%patch6 -p1 -b .undefined
|
||||
%setup -q -n singular-%{downstreamver}
|
||||
%patch0 -p1 -b .arches
|
||||
%patch1 -p1 -b .link
|
||||
%patch2 -p1 -b .desktop
|
||||
%patch3 -p1 -b .ntl8
|
||||
%patch4 -p1 -b .format
|
||||
%patch5 -p1 -b .parens
|
||||
%patch6 -p1 -b .seqpoint
|
||||
%patch7 -p1 -b .alias
|
||||
%patch8 -p1 -b .polymake
|
||||
|
||||
%patch11 -p1
|
||||
%patch13 -p1
|
||||
%if 0%{?ntl8:1}
|
||||
%patch15 -p1
|
||||
%endif
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
# Regenerate configure due to patches 0 and 1
|
||||
autoreconf -fi
|
||||
|
||||
sed -i -e "s|gftabledir=.*|gftabledir='%{singulardir}/LIB/gftables'|" \
|
||||
-e "s|explicit_gftabledir=.*|explicit_gftabledir='%{singulardir}/LIB/gftables'|" \
|
||||
factory/configure.in factory/configure
|
||||
# Fix encoding
|
||||
iconv -f iso8859-1 -t utf-8 COPYING > COPYING.utf8
|
||||
touch -r COPYING COPYING.utf8
|
||||
mv -f COPYING.utf8 COPYING
|
||||
|
||||
# Build the debug libfactory with the right CFLAGS
|
||||
sed -i '/FLINT/s/\($(CPPFLAGS)\)$/\1 $(CFLAGS)/' factory/GNUmakefile.in
|
||||
|
||||
# Build the debug kernel with the right CFLAGS
|
||||
sed -ri 's/(C(XX)?FLAGS)(.*= )-g/\1\3$(\1)/' kernel/Makefile.in
|
||||
|
||||
# Build libparse with the right CFLAGS
|
||||
sed -r 's/(\$\{CXX\})[[:blank:]]+(-O2[[:blank:]]+)?(\$\{CPPFLAGS\})/\1 $\{CXXFLAGS\} \3/' \
|
||||
-i Singular/Makefile.in
|
||||
|
||||
# Fix permissions and preserve timestamps
|
||||
sed -e 's,${INSTALL_PROGRAM} libsingular.h,${INSTALL_DATA} libsingular.h,' \
|
||||
-e 's/cp /&-p /' \
|
||||
-i Singular/Makefile.in
|
||||
|
||||
# Force use of system ntl
|
||||
rm -fr ntl
|
||||
|
||||
# Adapt to the Fedora flint package
|
||||
mkdir -p flint/include
|
||||
ln -s %{_includedir}/flint flint/include/flint
|
||||
ln -s %{_libdir} flint/lib
|
||||
sed -i 's/lmpir/lgmp/' factory/configure Singular/configure
|
||||
|
||||
# Unbreak the (call)gfanlib/callpolymake installs
|
||||
sed -i '/^install:/iinstall-libsingular:\n' \
|
||||
gfanlib/Makefile.in callgfanlib/Makefile.in
|
||||
sed -e '/^install /iinstall-libsingular:\n' \
|
||||
-e 's/mkdir/mkdir -p/' \
|
||||
-i callpolymake/Makefile.in
|
||||
sed -ri 's/@(prefix|exec_prefix|libdir|includedir)@/$(DESTDIR)&/g' \
|
||||
gfanlib/Makefile.in
|
||||
|
||||
# Fix the default paths
|
||||
sed -e 's/"S_UNAME"/Singular/' \
|
||||
-e 's/"S_UNAME/Singular"/' \
|
||||
-e 's/S_VERSION1/ &/' \
|
||||
-e 's,%b/\.\.,%b,' \
|
||||
-e 's,S_ROOT_DIR,"%{_libdir}",' \
|
||||
-i.orig kernel/feResource.cc
|
||||
touch -r kernel/feResource.cc.orig kernel/feResource.cc
|
||||
|
||||
# Build with polymake 3.x
|
||||
sed -i '/SUPPORTEDPOLYMAKEVERSION/s/212/30/' callpolymake/configure
|
||||
|
||||
%if 0%{?fedora}
|
||||
# TEMPORARY: Remove this once Singular ships an updated version
|
||||
cp -p %{SOURCE1} Singular/LIB
|
||||
%endif
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags} -fPIC -fsigned-char -fno-delete-null-pointer-checks -I%{_includedir}/cddlib -I%{_includedir}/flint"
|
||||
export CPPFLAGS="-I%{_includedir}/flint"
|
||||
export CFLAGS="%{optflags} -fPIC -fno-delete-null-pointer-checks"
|
||||
export CXXFLAGS=$CFLAGS
|
||||
export LDFLAGS="$RPM_LD_FLAGS -Wl,--as-needed -L$PWD/gfanlib"
|
||||
export LIBS="-lpthread -ldl"
|
||||
# Cannot use RPM_LD_FLAGS, as -Wl,-z,now breaks lazy module loading
|
||||
export LDFLAGS="-Wl,-z,relro"
|
||||
|
||||
# build components in specific order to not need to build & install
|
||||
# in a single make command
|
||||
%configure \
|
||||
--bindir=%{singulardir} \
|
||||
--with-apint=gmp \
|
||||
--with-flint=$PWD/flint \
|
||||
--with-gmp=%{_prefix} \
|
||||
--with-ntl=%{_prefix} \
|
||||
--with-NTL \
|
||||
--without-MP \
|
||||
--without-lex \
|
||||
--without-bison \
|
||||
--without-Boost \
|
||||
--enable-gmp=%{_prefix} \
|
||||
--enable-Singular \
|
||||
--enable-factory \
|
||||
--enable-libfac \
|
||||
--enable-IntegerProgramming \
|
||||
--disable-silent-rules \
|
||||
--disable-optimizationflags \
|
||||
--disable-static \
|
||||
--enable-p-procs-dynamic \
|
||||
--enable-gfanlib \
|
||||
%if %{with polymake}
|
||||
--enable-polymake \
|
||||
%else
|
||||
--disable-polymake \
|
||||
%endif
|
||||
--with-gmp \
|
||||
--with-ntl \
|
||||
--with-flint \
|
||||
--with-mathicgb \
|
||||
--with-python \
|
||||
--with-readline \
|
||||
--disable-doc \
|
||||
--with-malloc=system
|
||||
# remove bogus -L/usr/kernel from linker command line and
|
||||
# do not put standard library in linker command line to avoid
|
||||
# linking with a system wide libsingcf or libfacf
|
||||
sed -i 's|-L%{_prefix}/kernel||g;s|-L%{_libdir}||g' Singular/Makefile
|
||||
make %{?_smp_mflags} Singular
|
||||
# factory needs omalloc built
|
||||
make %{?_smp_mflags} -C omalloc
|
||||
%if %{with polymake}
|
||||
# polymake interface needs gfanlib built
|
||||
make %{?_smp_mflags} -C gfanlib
|
||||
%endif
|
||||
|
||||
pushd factory
|
||||
CFLAGS="%{optflags} -fPIC -fsigned-char -fno-delete-null-pointer-checks -I%{_includedir}/cddlib -I%{_includedir}/flint"
|
||||
CXXFLAGS=$CFLAGS
|
||||
LDFLAGS="$RPM_LD_FLAGS -Wl,--as-needed -L$PWD/gfanlib"
|
||||
LIBS="-lpthread -ldl"
|
||||
make %{?_smp_mflags}
|
||||
make %{?_smp_mflags} -C dox html
|
||||
|
||||
%configure \
|
||||
--bindir=%{singulardir} \
|
||||
--includedir=%{_includedir}/factory \
|
||||
--with-apint=gmp \
|
||||
--with-flint=$PWD/../flint \
|
||||
--with-gmp=%{_prefix} \
|
||||
--with-ntl=%{_prefix} \
|
||||
--with-NTL \
|
||||
--with-Singular \
|
||||
--enable-gmp=%{_prefix}
|
||||
make %{?_smp_mflags}
|
||||
popd
|
||||
|
||||
# kernel needs factory built
|
||||
make %{?_smp_mflags} -C kernel
|
||||
|
||||
# libfac needs factory built
|
||||
pushd libfac
|
||||
%configure \
|
||||
--bindir=%{singulardir} \
|
||||
--with-apint=gmp \
|
||||
--with-flint=$PWD/../flint \
|
||||
--with-gmp=%{_prefix} \
|
||||
--with-ntl=%{_prefix} \
|
||||
--with-NTL \
|
||||
--enable-factory \
|
||||
--enable-libfac \
|
||||
--enable-omalloc \
|
||||
--enable-gmp=%{_prefix}
|
||||
make %{?_smp_mflags}
|
||||
# not built by default
|
||||
make libfac.a
|
||||
popd
|
||||
|
||||
# target required to rebuild documentation
|
||||
make %{?_smp_mflags} -C Singular libparse
|
||||
|
||||
%install
|
||||
make \
|
||||
DESTDIR=$RPM_BUILD_ROOT \
|
||||
install_prefix=$RPM_BUILD_ROOT%{singulardir} \
|
||||
slibdir=%{singulardir}/LIB \
|
||||
install \
|
||||
install-libsingular \
|
||||
install-sharedist
|
||||
make DESTDIR=%{buildroot} install
|
||||
|
||||
# dup gftables data
|
||||
GF_DIR=%{_datadir}/factory/gftables
|
||||
mkdir -p $RPM_BUILD_ROOT${GF_DIR}
|
||||
pushd $RPM_BUILD_ROOT%{singulardir}/LIB/gftables
|
||||
for file in * ; do
|
||||
new_file="gftable.$(head -2 ${file} | tail -1 | cut -d' ' -f1,2 | sed -e 's| |.|')"
|
||||
## absolute
|
||||
#mv ${file} $RPM_BUILD_ROOT${GF_DIR}/${new_file}
|
||||
#ln -s ${GF_DIR}/${new_file} ${file}
|
||||
## relative
|
||||
mv ${file} ../../../../share/factory/gftables/${new_file}
|
||||
ln -s ../../../../share/factory/gftables/${new_file} ${file}
|
||||
done
|
||||
popd
|
||||
# Validate the desktop files
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/Singular.desktop
|
||||
desktop-file-validate \
|
||||
%{buildroot}%{_datadir}/applications/Singular-manual.desktop
|
||||
|
||||
# does not need to be in top directory
|
||||
mkdir $RPM_BUILD_ROOT%{_includedir}/gfanlib
|
||||
mv $RPM_BUILD_ROOT%{_includedir}/gfanlib*.h \
|
||||
$RPM_BUILD_ROOT%{_includedir}/gfanlib
|
||||
mv $RPM_BUILD_ROOT%{_includedir}/{my,om}limits.h \
|
||||
$RPM_BUILD_ROOT%{_includedir}/singular
|
||||
# We don't want the libtool files
|
||||
rm -f %{buildroot}%{_libdir}/*.la
|
||||
rm -f %{buildroot}%{_libexecdir}/singular/MOD/*.la
|
||||
|
||||
# also installed in libdir
|
||||
rm -f $RPM_BUILD_ROOT%{_bindir}/*.so
|
||||
rm -f $RPM_BUILD_ROOT%{singulardir}/libsingular.so
|
||||
rm -f $RPM_BUILD_ROOT%{singulardir}/polymake.so
|
||||
# Remove files we don't want in the installed tree
|
||||
rm -f %{buildroot}%{_datadir}/singular/emacs/{ChangeLog,COPYING,NEWS}
|
||||
|
||||
# already linked to libsingular.so; do not distribute static libraries
|
||||
# or just compiled objects.
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a $RPM_BUILD_ROOT%{_libdir}/*.o
|
||||
|
||||
# avoid poluting libdir with dynamic modules
|
||||
pushd $RPM_BUILD_ROOT%{_libdir}
|
||||
mkdir -p Singular
|
||||
mv dbmsr.so p_Procs*.so Singular
|
||||
popd
|
||||
# Move the config scripts
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mv %{buildroot}%{singulardir}/*-config %{buildroot}%{_bindir}
|
||||
|
||||
# remove script that calls surf; we don't ship it
|
||||
rm -f $RPM_BUILD_ROOT%{singulardir}/singularsurf
|
||||
rm -f %{buildroot}%{singulardir}/singularsurf
|
||||
|
||||
# create a script also setting SINGULARPATH
|
||||
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
||||
cat > $RPM_BUILD_ROOT%{_bindir}/Singular << EOF
|
||||
#!/bin/bash -i
|
||||
cat > %{buildroot}%{_bindir}/Singular << EOF
|
||||
#!/bin/sh
|
||||
|
||||
. /etc/profile.d/modules.sh
|
||||
module load surf-geometry-%{_arch}
|
||||
SINGULARPATH=%{singulardir} %{singulardir}/Singular-%{upstreamver} "\$@"
|
||||
export SINGULARPATH=%{singulardir}
|
||||
exec %{singulardir}/Singular-%{upstreamver} "\$@"
|
||||
EOF
|
||||
chmod +x $RPM_BUILD_ROOT%{_bindir}/Singular
|
||||
chmod 0755 %{buildroot}%{_bindir}/Singular
|
||||
|
||||
# TSingular
|
||||
cat > $RPM_BUILD_ROOT%{_bindir}/TSingular << EOF
|
||||
#!/bin/bash -i
|
||||
cat > %{buildroot}%{_bindir}/TSingular << EOF
|
||||
#!/bin/sh
|
||||
|
||||
. /etc/profile.d/modules.sh
|
||||
module load surf-geometry-%{_arch}
|
||||
%{singulardir}/TSingular --singular %{_bindir}/Singular "\$@"
|
||||
exec %{singulardir}/TSingular --singular %{_bindir}/Singular "\$@"
|
||||
EOF
|
||||
chmod +x $RPM_BUILD_ROOT%{_bindir}/TSingular
|
||||
|
||||
# remove some wrong executable permissions
|
||||
chmod 644 $RPM_BUILD_ROOT%{singulardir}/LIB/*.lib
|
||||
chmod 0755 %{buildroot}%{_bindir}/TSingular
|
||||
|
||||
# surfex
|
||||
cat > $RPM_BUILD_ROOT%{_bindir}/surfex << EOF
|
||||
#!/bin/bash -i
|
||||
cat > %{buildroot}%{_bindir}/surfex << EOF
|
||||
#!/bin/sh
|
||||
|
||||
. /etc/profile.d/modules.sh
|
||||
module load surf-geometry-%{_arch}
|
||||
%{singulardir}/surfex %{singulardir}/LIB/surfex "\$@"
|
||||
exec %{singulardir}/surfex %{singulardir}/LIB/surfex "\$@"
|
||||
EOF
|
||||
chmod +x $RPM_BUILD_ROOT%{_bindir}/surfex
|
||||
mkdir -p $RPM_BUILD_ROOT%{singulardir}/LIB/surfex/doc
|
||||
install -m644 Singular/LIB/surfex/doc/surfex_doc_linux.pdf \
|
||||
$RPM_BUILD_ROOT%{singulardir}/LIB/surfex/doc/surfex_doc_linux.pdf
|
||||
|
||||
# referenced in xemacs setup
|
||||
install -m644 emacs/singular.xpm $RPM_BUILD_ROOT%{_emacs_sitelispdir}/singular
|
||||
|
||||
# remove suggested preferences
|
||||
rm -f $RPM_BUILD_ROOT%{_emacs_sitelispdir}/singular/.emacs-general
|
||||
|
||||
# emacs autostart
|
||||
sed -i "s|<your-singular-emacs-home-directory>|%{_emacs_sitelispdir}/singular|" \
|
||||
$RPM_BUILD_ROOT%{_emacs_sitelispdir}/singular/.emacs-singular
|
||||
mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir}
|
||||
mv $RPM_BUILD_ROOT%{_emacs_sitelispdir}/singular/.emacs-singular \
|
||||
$RPM_BUILD_ROOT%{_emacs_sitestartdir}/singular-init.el
|
||||
chmod 0755 %{buildroot}%{_bindir}/surfex
|
||||
|
||||
# ESingular
|
||||
cat > $RPM_BUILD_ROOT%{_bindir}/ESingular << EOF
|
||||
#!/bin/bash -i
|
||||
cat > %{buildroot}%{_bindir}/ESingular << EOF
|
||||
#!/bin/sh
|
||||
|
||||
. /etc/profile.d/modules.sh
|
||||
module load surf-geometry-%{_arch}
|
||||
export ESINGULAR_EMACS_LOAD=%{_emacs_sitestartdir}/singular-init.el
|
||||
export ESINGULAR_EMACS_DIR=%{_emacs_sitelispdir}/singular
|
||||
%{singulardir}/ESingular --singular %{_bindir}/Singular "\$@"
|
||||
exec %{singulardir}/ESingular --singular %{_bindir}/Singular "\$@"
|
||||
EOF
|
||||
chmod +x $RPM_BUILD_ROOT%{_bindir}/ESingular
|
||||
chmod 0755 %{buildroot}%{_bindir}/ESingular
|
||||
|
||||
pushd libfac
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
# not installed by default
|
||||
install -m 644 libfac.a $RPM_BUILD_ROOT%{_libdir}/libfac.a
|
||||
popd
|
||||
|
||||
pushd factory
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
# make a version without singular defined
|
||||
make clean
|
||||
CFLAGS="%{optflags} -fPIC -fsigned-char -fno-delete-null-pointer-checks -I%{_includedir}/cddlib -I%{_includedir}/flint"
|
||||
CXXFLAGS=$CFLAGS
|
||||
LDFLAGS="$RPM_LD_FLAGS -Wl,--as-needed -L$PWD/gfanlib"
|
||||
LIBS="-lpthread -ldl"
|
||||
%check
|
||||
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
|
||||
make check
|
||||
|
||||
%configure \
|
||||
--bindir=%{singulardir} \
|
||||
--includedir=%{_includedir}/factory \
|
||||
--with-apint=gmp \
|
||||
--with-flint=$PWD/../flint \
|
||||
--with-gmp=%{_prefix} \
|
||||
--with-ntl=%{_prefix} \
|
||||
--with-NTL \
|
||||
--without-Singular \
|
||||
--enable-gmp=%{_prefix}
|
||||
# avoid missing "print" symbols not used elsewhere
|
||||
make CPPFLAGS="-I%{_includedir}/flint -DNOSTREAMIO=1" %{?_smp_mflags}
|
||||
# not built by default
|
||||
make libcfmem.a
|
||||
# do not run make install again, just install non singular factory files
|
||||
install -m 644 libcf.a $RPM_BUILD_ROOT%{_libdir}
|
||||
install -m 644 libcfmem.a $RPM_BUILD_ROOT%{_libdir}
|
||||
popd
|
||||
|
||||
# incorrect factory includedir
|
||||
sed -e 's|<\(cf_gmp.h>\)|<factory/\1|' \
|
||||
-i $RPM_BUILD_ROOT%{_includedir}/singular/si_gmp.h
|
||||
%post
|
||||
/sbin/install-info %{_infodir}/singular.hlp %{_infodir}/dir 2>/dev/null || :
|
||||
|
||||
%postun
|
||||
if [ $1 = 0 ]; then
|
||||
/sbin/install-info --delete %{_infodir}/singular.hlp %{_infodir}/dir 2>/dev/null || :
|
||||
fi
|
||||
|
||||
%post -n factory -p /sbin/ldconfig
|
||||
%postun -n factory -p /sbin/ldconfig
|
||||
|
||||
%post libpolys -p /sbin/ldconfig
|
||||
%postun libpolys -p /sbin/ldconfig
|
||||
|
||||
%post libs -p /sbin/ldconfig
|
||||
%postun libs -p /sbin/ldconfig
|
||||
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%{_bindir}/Singular
|
||||
%{_bindir}/TSingular
|
||||
%doc %{singulardir}/COPYING
|
||||
%doc %{singulardir}/GPL2
|
||||
%doc %{singulardir}/GPL3
|
||||
%doc %{singulardir}/NEWS
|
||||
%doc %{singulardir}/README
|
||||
%dir %{singulardir}
|
||||
%dir %{singulardir}/LIB
|
||||
%doc %{singulardir}/LIB/COPYING
|
||||
%{singulardir}/LIB/*.lib
|
||||
%{singulardir}/LIB/help.cnf
|
||||
%{singulardir}/LIB/gftables
|
||||
%{singulardir}/doc
|
||||
%{singulardir}/info
|
||||
%{singulardir}/change_cost
|
||||
%{singulardir}/gen_test
|
||||
%{singulardir}/libparse
|
||||
%{singulardir}/LLL
|
||||
%{singulardir}/Singular*
|
||||
%{singulardir}/solve_IP
|
||||
%{singulardir}/toric_ideal
|
||||
%{_infodir}/singular.hlp*
|
||||
%{_mandir}/man1/Singular.1*
|
||||
%{_mandir}/man1/TSingular.1*
|
||||
%{_datadir}/applications/Singular.desktop
|
||||
%{_datadir}/icons/Singular.png
|
||||
%{_datadir}/singular/singular.idx
|
||||
%docdir %{_datadir}/singular/html/
|
||||
%{_datadir}/singular/html/
|
||||
%{singulardir}/Singular
|
||||
%{singulardir}/TSingular
|
||||
%{singulardir}/*.so
|
||||
%{_libdir}/libsingular.so
|
||||
%if %{with polymake}
|
||||
%{singulardir}/MOD/
|
||||
%endif
|
||||
|
||||
%files libs
|
||||
%doc libpolys/README
|
||||
%license COPYING
|
||||
%license GPL2
|
||||
%license GPL3
|
||||
%{_libdir}/libgfan.so.*
|
||||
%{_libdir}/libSingular-*.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
|
||||
|
||||
%files devel
|
||||
%{_includedir}/gfanlib
|
||||
%{_includedir}/libsingular.h
|
||||
%{_includedir}/omalloc.h
|
||||
%{_includedir}/singular
|
||||
|
||||
%files -n factory-gftables
|
||||
%dir %{_datadir}/factory/
|
||||
%{_datadir}/factory/gftables/
|
||||
|
||||
%files -n factory-devel
|
||||
%doc factory/ChangeLog
|
||||
%doc factory/NEWS
|
||||
%doc factory/README
|
||||
%{_includedir}/factory
|
||||
%{_libdir}/libcf.a
|
||||
%{_libdir}/libcfmem.a
|
||||
%{_libdir}/libsingcf*.a
|
||||
|
||||
%files -n libfac-devel
|
||||
%doc libfac/00README
|
||||
%doc libfac/ChangeLog
|
||||
%doc libfac/COPYING
|
||||
%{_includedir}/factor.h
|
||||
%{_libdir}/libfac.a
|
||||
%{_libdir}/libsingfac*.a
|
||||
|
||||
%files examples
|
||||
%{singulardir}/examples
|
||||
%doc kernel/ChangeLog
|
||||
%{_bindir}/libsingular-config
|
||||
%{_includedir}/gfanlib/
|
||||
%{_includedir}/singular/kernel/
|
||||
%{_includedir}/singular/Singular/
|
||||
%{_includedir}/singular/singularconfig.h
|
||||
%{_libdir}/libgfan.so
|
||||
%{_libdir}/libSingular.so
|
||||
%{_libdir}/pkgconfig/Singular.pc
|
||||
|
||||
%files doc
|
||||
%doc %{singulardir}/html
|
||||
%doc %{singulardir}/*.html
|
||||
%doc dox/html/
|
||||
%doc dox/*.html
|
||||
%doc dox/*.png
|
||||
%doc dox/*.css
|
||||
%doc dox/tags
|
||||
%{_datadir}/applications/Singular-manual.desktop
|
||||
|
||||
%files emacs
|
||||
%license emacs/COPYING
|
||||
%doc emacs/ChangeLog
|
||||
%doc emacs/NEWS
|
||||
%{_bindir}/ESingular
|
||||
%{_mandir}/man1/ESingular.1*
|
||||
%{_datadir}/singular/emacs/
|
||||
%{singulardir}/ESingular
|
||||
|
||||
%files surfex
|
||||
%{_bindir}/surfex
|
||||
%{singulardir}/surfex
|
||||
%{singulardir}/LIB/surfex
|
||||
%{_datadir}/singular/LIB/surfex.lib
|
||||
|
||||
%files -n factory
|
||||
%license factory/COPYING
|
||||
%doc factory/README
|
||||
%doc factory/NEWS
|
||||
%{_libdir}/libfactory-*.so
|
||||
%{_libdir}/libomalloc-*.so
|
||||
%{_libdir}/libsingular_resources-*.so
|
||||
|
||||
%files -n factory-devel
|
||||
%doc factory/ChangeLog
|
||||
%doc factory/examples
|
||||
%{_includedir}/factory/
|
||||
%{_includedir}/omalloc/
|
||||
%{_includedir}/resources/
|
||||
%{_libdir}/libfactory.so
|
||||
%{_libdir}/libomalloc.so
|
||||
%{_libdir}/libsingular_resources.so
|
||||
%{_libdir}/pkgconfig/factory.pc
|
||||
%{_libdir}/pkgconfig/omalloc.pc
|
||||
%{_libdir}/pkgconfig/singular_resources.pc
|
||||
|
||||
%files -n factory-gftables
|
||||
%{_datadir}/factory/
|
||||
|
||||
%files libpolys
|
||||
%license libpolys/COPYING
|
||||
%doc libpolys/README
|
||||
%{_libdir}/libpolys-*.so
|
||||
|
||||
%files libpolys-devel
|
||||
%{_bindir}/libpolys-config
|
||||
%dir %{_includedir}/singular/
|
||||
%{_includedir}/singular/coeffs/
|
||||
%{_includedir}/singular/libpolysconfig.h
|
||||
%{_includedir}/singular/misc/
|
||||
%{_includedir}/singular/polys/
|
||||
%{_includedir}/singular/reporter/
|
||||
%{_libdir}/libpolys.so
|
||||
%{_libdir}/pkgconfig/libpolys.pc
|
||||
|
||||
%files polymake
|
||||
%{_libexecdir}/singular/MOD/polymake.so
|
||||
%{_datadir}/singular/LIB/polymake.lib
|
||||
|
||||
%files emacs
|
||||
%{_bindir}/ESingular
|
||||
%{singulardir}/ESingular
|
||||
%{_emacs_sitelispdir}/singular
|
||||
%{_emacs_sitestartdir}/singular-init.el
|
||||
|
||||
%changelog
|
||||
* Wed Apr 5 2017 Jerry James <loganjerry@gmail.com> - 4.1.0p2-1
|
||||
- New upstream version (bz 1181772, 1321077)
|
||||
- Drop upstreamed patches: -destdir, -headers, -doc, -builddid, -undefined,
|
||||
and -semaphore
|
||||
- Add patches: -desktop, -format, -parens, -sequence-point, -alias, -polymake
|
||||
- libpolys subpackage replaces libfac
|
||||
- Rework the Emacs support
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.7-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
|
|
Loading…
Reference in New Issue