From 7addda85c2817308489456202e9fc496aa00c26e Mon Sep 17 00:00:00 2001 From: Jerry James Date: Apr 06 2017 13:32:50 +0000 Subject: 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 --- diff --git a/.gitignore b/.gitignore index 871e6a1..7a6e779 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/Singular-alias.patch b/Singular-alias.patch new file mode 100644 index 0000000..c5c5911 --- /dev/null +++ b/Singular-alias.patch @@ -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) diff --git a/Singular-arches.patch b/Singular-arches.patch index 7ff7cd2..28c7ab4 100644 --- a/Singular-arches.patch +++ b/Singular-arches.patch @@ -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) ++if test "$ac_cv_singcpuname" = aarch64; then ++ AC_DEFINE(SI_CPU_AARCH64,1,"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_DEFINE(SI_CPU_S390,1,"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_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; } -+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 + # 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)], + [] + ) -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 diff --git a/Singular-boolean.patch b/Singular-boolean.patch deleted file mode 100644 index 52d54f4..0000000 --- a/Singular-boolean.patch +++ /dev/null @@ -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()) - { diff --git a/Singular-builddid.patch b/Singular-builddid.patch deleted file mode 100644 index b508d9f..0000000 --- a/Singular-builddid.patch +++ /dev/null @@ -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 diff --git a/Singular-desktop.patch b/Singular-desktop.patch new file mode 100644 index 0000000..7225e4f --- /dev/null +++ b/Singular-desktop.patch @@ -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 + diff --git a/Singular-destdir.patch b/Singular-destdir.patch deleted file mode 100644 index 0f11b76..0000000 --- a/Singular-destdir.patch +++ /dev/null @@ -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: ${includedir}/singular/$$file; done -+ -${MKINSTALLDIRS} $(DESTDIR)${includedir} -+ -${MKINSTALLDIRS} $(DESTDIR)${includedir}/singular -+ -for file in *.h kInline.cc; do sed -e "s: $(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:${includedir}/singular/$$file ;\ -+ sed -e "s:$(DESTDIR)${includedir}/singular/$$file ;\ - done - - uninstall: uninstallbin diff --git a/Singular-doc.patch b/Singular-doc.patch deleted file mode 100644 index 45584ae..0000000 --- a/Singular-doc.patch +++ /dev/null @@ -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 diff --git a/Singular-format.patch b/Singular-format.patch new file mode 100644 index 0000000..63debda --- /dev/null +++ b/Singular-format.patch @@ -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::put (c + template + std::string Cache::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]); diff --git a/Singular-headers.patch b/Singular-headers.patch deleted file mode 100644 index 7192bc1..0000000 --- a/Singular-headers.patch +++ /dev/null @@ -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@ diff --git a/Singular-link.patch b/Singular-link.patch index 15fa79e..3b916ed 100644 --- a/Singular-link.patch +++ b/Singular-link.patch @@ -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 - - SO_SUFFIX = so - -@@ -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} - - 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 - - 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 - - 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 - - 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 - - feOpt.o: feOpt.inc feOptES.inc feOptTS.inc - extra.o: feOpt.inc +--- 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]) + ++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 + + + 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 + +--- 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() + + 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 + + if HAVE_GFANLIB + libgfan_LTLIBRARIES=libgfan.la ++ libgfan_la_LIBADD=-lcddgmp -lgmp + endif + + 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 + +--- 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 diff --git a/Singular-ntl8.patch b/Singular-ntl8.patch index 81647c8..4dd06a5 100644 --- a/Singular-ntl8.patch +++ b/Singular-ntl8.patch @@ -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 Difference ( con + // NTL 6 + #ifdef HAVE_NTL + #include +-#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 >; -+template class Vec >; -+template class Vec >; -+template class Vec >; -+template class Vec >; -+template class Vec >; -+template class Vec >; -+template class Vec >; -+template class Vec >; -+template class Vec; -+template class Vec; -+ -+template long operator==(const vec_zz_p&, const vec_zz_p&); -+ -+template void BlockConstruct >(Pair* p, long n); -+template void BlockConstruct >(Pair* p, long n); -+template void BlockConstruct >(Pair* p, long n); -+template void BlockConstruct >(Pair* p, long n); -+template void BlockConstruct >(Pair* p, long n); -+template void BlockConstruct >(Pair* p, long n); -+template void BlockConstruct >(Pair* p, long n); -+template void BlockConstruct >(Vec* p, long n); -+template void BlockConstruct >(Vec* p, long n); -+template void BlockConstruct(zz_pEX* p, long n); -+ -+template void BlockConstructFromVec >(Pair* p, long n, const Pair* q); -+template void BlockConstructFromVec >(Pair* p, long n, const Pair* q); -+template void BlockConstructFromVec >(Pair* p, long n, const Pair* q); -+template void BlockConstructFromVec >(Pair* p, long n, const Pair* q); -+template void BlockConstructFromVec >(Pair* p, long n, const Pair* q); -+template void BlockConstructFromVec >(Pair* p, long n, const Pair* q); -+template void BlockConstructFromVec >(Pair* p, long n, const Pair* q); -+template void BlockConstructFromVec >(Vec* p, long n, const Vec* q); -+template void BlockConstructFromVec >(Vec* p, long n, const Vec* q); -+template void BlockConstructFromVec(zz_p* p, long n, const zz_p* q); -+template void BlockConstructFromVec(zz_pE* p, long n, const zz_pE* q); -+template void BlockConstructFromVec(zz_pEX* p, long n, const zz_pEX* q); -+ -+template void BlockConstructFromObj >(Pair* p, long n, const Pair& q); -+template void BlockConstructFromObj >(Pair* p, long n, const Pair& q); -+template void BlockConstructFromObj >(Pair* p, long n, const Pair& q); -+template void BlockConstructFromObj >(Pair* p, long n, const Pair& q); -+template void BlockConstructFromObj >(Pair* p, long n, const Pair& q); -+template void BlockConstructFromObj >(Pair* p, long n, const Pair& q); -+template void BlockConstructFromObj >(Pair* p, long n, const Pair& q); -+template void BlockConstructFromObj >(Vec* p, long n, const Vec& q); -+template void BlockConstructFromObj >(Vec* p, long n, const Vec& q); -+template void BlockConstructFromObj(zz_pEX* p, long n, const zz_pEX& q); -+ -+template SmartPtr MakeSmart(const GF2X &ptr); -+template SmartPtr MakeSmart(const zz_pX &ptr); -+template SmartPtr MakeSmart(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 + #include diff --git a/Singular-parens.patch b/Singular-parens.patch new file mode 100644 index 0000000..7aca6cb --- /dev/null +++ b/Singular-parens.patch @@ -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 diff --git a/Singular-perl-5.22.patch b/Singular-perl-5.22.patch deleted file mode 100644 index 4141d2e..0000000 --- a/Singular-perl-5.22.patch +++ /dev/null @@ -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); - } diff --git a/Singular-polymake.patch b/Singular-polymake.patch new file mode 100644 index 0000000..ef6e039 --- /dev/null +++ b/Singular-polymake.patch @@ -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::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::iterator pi = concat_rows(*mi).begin(); + for (int r = 1; r <= rows; r++) + for (int c = 1; c <= cols; c++) + { diff --git a/Singular-semaphore.patch b/Singular-semaphore.patch deleted file mode 100644 index 0ebe9de..0000000 --- a/Singular-semaphore.patch +++ /dev/null @@ -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 - #include - #include -+#include -+#include - #include - #include - #include diff --git a/Singular-sequence-point.patch b/Singular-sequence-point.patch new file mode 100644 index 0000000..3f1f363 --- /dev/null +++ b/Singular-sequence-point.patch @@ -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= 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 +%package doc +Summary: Singular documentation files +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 -Group: Development/Libraries -Requires: gmp-devel -Obsoletes: factory-static < %{version}-%{release} -Provides: factory-static = %{version}-%{release} +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 -Factory is a C++ class library that implements a recursive representation -of multivariate polynomial data. +%description -n factory-devel +Development files for the Singular factory. %package -n factory-gftables -Summary: Factory addition tables -Group: Applications/Engineering -BuildArch: noarch +Summary: Singular factory addition tables +BuildArch: noarch -%description -n factory-gftables +%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} -%package -n libfac-devel -Summary: An extension to Singular-factory -Group: Development/Libraries -Obsoletes: libfac-static < %{version}-%{release} -Provides: libfac-static = %{version}-%{release} +%description libpolys +Libpolys contains the data structures and basic algorithms for +polynomials in Singular. -%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 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} -%package examples -Summary: Singular example files -Group: Applications/Engineering -Requires: %{name}%{?_isa} = %{version}-%{release} +%description libpolys-devel +Development files for libpolys. -%description examples -This package contains the Singular example files. +%package polymake +Summary: Singular interface to polymake +Requires: polymake%{_isa} +Requires: TOPCOM%{_isa} -%package doc -Summary: Singular documentation files -Group: Applications/Engineering -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description doc -This package contains the Singular documentation files. +%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 - -%patch11 -p1 -%patch13 -p1 -%if 0%{?ntl8:1} -%patch15 -p1 -%endif -%patch17 -p1 -%patch18 -p1 - -sed -i -e "s|gftabledir=.*|gftabledir='%{singulardir}/LIB/gftables'|" \ - -e "s|explicit_gftabledir=.*|explicit_gftabledir='%{singulardir}/LIB/gftables'|" \ - factory/configure.in factory/configure - -# 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 +%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 + +# Regenerate configure due to patches 0 and 1 +autoreconf -fi + +# Fix encoding +iconv -f iso8859-1 -t utf-8 COPYING > COPYING.utf8 +touch -r COPYING COPYING.utf8 +mv -f COPYING.utf8 COPYING -%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 - -# 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 - -# 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 - -# 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 - -# 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 +make DESTDIR=%{buildroot} install + +# Validate the desktop files +desktop-file-validate %{buildroot}%{_datadir}/applications/Singular.desktop +desktop-file-validate \ + %{buildroot}%{_datadir}/applications/Singular-manual.desktop + +# We don't want the libtool files +rm -f %{buildroot}%{_libdir}/*.la +rm -f %{buildroot}%{_libexecdir}/singular/MOD/*.la + +# Remove files we don't want in the installed tree +rm -f %{buildroot}%{_datadir}/singular/emacs/{ChangeLog,COPYING,NEWS} + +# 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||%{_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 - -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" +chmod 0755 %{buildroot}%{_bindir}/ESingular + + +%check +export LD_LIBRARY_PATH=%{buildroot}%{_libdir} +make check + + +%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 -%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>\)| - 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 - 3.1.7-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/sources b/sources index 8630671..e6c02c5 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -b28c1b406a4203369ea484d87ffe113c Singular-3-1-7.tar.gz -316ccb1d77ef60c3862a5f6aa6d4747b normaliz.lib +SHA512 (singular-4.1.0p2.tar.gz) = 8daa00ebb620b1c9dce328079abf219489091959ee3eae6ce9771030e7232649122e3b847bd4b1231170a18e76551b5e5cde11b23bc38419407df3d6da3fbfaa