[Macaulay2] Macaulay2-1.6 (#1074594)

Rex Dieter rdieter at fedoraproject.org
Tue May 20 11:08:08 UTC 2014


commit 9485262e4eaa72112aeffbc26a0bf7c38c6f5ba9
Author: Rex Dieter <rdieter at math.unl.edu>
Date:   Tue May 20 06:08:07 2014 -0500

    Macaulay2-1.6 (#1074594)

 .gitignore                                         |    2 +
 Macaulay2-1.5-ADDR_NO_RANDOMIZE.patch              |   24 ---
 Macaulay2-1.5-default_make_targets.patch           |   12 --
 Macaulay2-1.5-factory_315.patch                    |   12 --
 Macaulay2-1.5-no_Werror.patch                      |   23 ---
 Macaulay2-1.5-no_gftables.patch                    |   12 --
 Macaulay2-1.5-system_normaliz.patch                |   12 --
 Macaulay2-1.5-use_gmp_instead_of_mpir.patch        |   39 -----
 Macaulay2-1.6-default_make_targets.patch           |   12 ++
 Macaulay2-1.6-disable_broken_debug_functions.patch |   12 ++
 Macaulay2-1.6-gc.patch                             |   26 ++++
 Macaulay2-1.6-mpir.patch                           |   30 ++++
 Macaulay2-1.6-no_Werror.patch                      |   35 +++++
 Macaulay2-1.6-no_gftables.patch                    |   12 ++
 Macaulay2-1.6-optflags.patch                       |   22 +++
 Macaulay2-1.6-rpath.patch                          |   14 ++
 Macaulay2-1.6-verbose_build.patch                  |   72 +++++++++
 Macaulay2.spec                                     |  153 +++++++++++---------
 sources                                            |    4 +-
 19 files changed, 324 insertions(+), 204 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 105936e..ba8f35d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,5 @@
 /Macaulay2-1.5-r15838.tar.xz
 /Macaulay2-1.5-r15955-src.tar.bz2
 /Normaliz.m2
+/Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496-src.tar.bz2
+/gtest-1.6.0.tar.gz
diff --git a/Macaulay2-1.6-default_make_targets.patch b/Macaulay2-1.6-default_make_targets.patch
new file mode 100644
index 0000000..e63eb98
--- /dev/null
+++ b/Macaulay2-1.6-default_make_targets.patch
@@ -0,0 +1,12 @@
+diff -up M2/Macaulay2/Makefile.in.default_make_targets M2/Macaulay2/Makefile.in
+--- M2/Macaulay2/Makefile.in.default_make_targets	2013-05-20 13:46:59.832938746 -0500
++++ M2/Macaulay2/Makefile.in	2013-05-20 13:47:49.404427202 -0500
+@@ -11,7 +11,7 @@ SUBDIRS = compat util probe regex c
+ ifeq "@DUMPDATA@" "yes"
+ SUBDIRS += dumpdata
+ endif
+-SUBDIRS += e-includes d e system kernel bin m2 emacs man packages html-check-links tests
++SUBDIRS += e-includes d e system kernel bin m2 emacs man packages
+ SUBDIRS += book
+ SUBDIRS += packages/Macaulay2Doc/test
+ 
diff --git a/Macaulay2-1.6-disable_broken_debug_functions.patch b/Macaulay2-1.6-disable_broken_debug_functions.patch
new file mode 100644
index 0000000..56428e8
--- /dev/null
+++ b/Macaulay2-1.6-disable_broken_debug_functions.patch
@@ -0,0 +1,12 @@
+diff -up Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/e/x-factor.cpp.disable_broken_debug_functions Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/e/x-factor.cpp
+--- Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/e/x-factor.cpp.disable_broken_debug_functions	2013-11-25 12:51:28.668602955 -0600
++++ Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/e/x-factor.cpp	2013-11-25 12:56:49.447994105 -0600
+@@ -225,7 +225,7 @@ static struct enter_factory foo1;
+ 
+     // debugging display routines to be called from gdb
+     // needs factory to be configured without option --disable-streamio
+-#if 1
++#if 0
+ void showvar(Variable &t) { cout << t << endl; }
+ void showcf(CanonicalForm &t) { cout << t << endl; }
+ void showcfl(CFList &t) { cout << t << endl; }
diff --git a/Macaulay2-1.6-gc.patch b/Macaulay2-1.6-gc.patch
new file mode 100644
index 0000000..ea99327
--- /dev/null
+++ b/Macaulay2-1.6-gc.patch
@@ -0,0 +1,26 @@
+Index: M2-release-1.6-stable-20130514/M2/configure.ac
+===================================================================
+--- M2-release-1.6-stable-20130514.orig/M2/configure.ac
++++ M2-release-1.6-stable-20130514/M2/configure.ac
+@@ -1125,15 +1125,14 @@ then AC_LANG(C)
+ 			  AC_MSG_CHECKING(whether libgc is recent enough)
+ 			  AC_RUN_IFELSE([AC_LANG_SOURCE([ 
+ 				  #include <stdio.h>
++				  #include <gc.h>
+ 				  main () {
+-				      extern unsigned GC_version;
+ 				      FILE *msg = fdopen(AS_MESSAGE_FD,"w");
+-				      unsigned major, minor, alpha;
+-				      major = GC_version >> 16;
+-				      minor = (GC_version >> 8) & 0xff;
+-				      alpha = GC_version & 0xff;
+-				      if (alpha == 0xff) fprintf(msg,"(version %d.%d found) ", major, minor);
+-				      else fprintf(msg,"(version %d.%d alpha %d found) ", major, minor, alpha);
++				      unsigned major, minor, micro;
++				      major = GC_VERSION_MAJOR;
++				      minor = GC_VERSION_MINOR;
++				      micro = GC_VERSION_MICRO;
++				      fprintf(msg,"(version %d.%d.%d found) ", major, minor, micro);
+ 				      return !( major > 7 || major == 7 && minor >= 2); }])],
+ 			     [ AC_MSG_RESULT(yes) ],
+ 			     [ AC_MSG_RESULT([no, version at least 7.2 is required (gc will be built from downloaded sources)]); BUILD_gc=yes ],
diff --git a/Macaulay2-1.6-mpir.patch b/Macaulay2-1.6-mpir.patch
new file mode 100644
index 0000000..89a030d
--- /dev/null
+++ b/Macaulay2-1.6-mpir.patch
@@ -0,0 +1,30 @@
+diff -up M2/configure.ac.mpir M2/configure.ac
+--- M2/configure.ac.mpir	2013-05-20 13:49:54.384139899 -0500
++++ M2/configure.ac	2013-05-20 13:51:10.492356267 -0500
+@@ -840,7 +840,7 @@ AC_SUBST(BUILTLIBS,)
+ #	we always build it, and every program should link with it
+ #	"gdbm" calls sync(), so its test programs need to link with it
+ AC_SUBST(PROGLIST, "4ti2 gfan normaliz nauty cddplus lrslib")
+-AC_SUBST(LIBLIST, " missing gc gdbm mpir mpfr pari readline ntl factory libfac lapack frobby glpk cddlib fplll givaro fflas_ffpack linbox boost mpc qd mpack flint gtest memtailor mathic mathicgb ")
++AC_SUBST(LIBLIST, " missing gc gdbm gmp mpfr pari readline ntl factory libfac lapack frobby glpk cddlib fplll givaro fflas_ffpack linbox boost mpc qd mpack flint gtest memtailor mathic mathicgb ")
+ 
+ # a library is listed in BUILD_ALWAYS if and only if we *always* build it, 
+ # even if the option "--disable-building" is specified:
+@@ -999,16 +999,7 @@ dnl then BUILTLIBS="-lgmpxx -lgmp $BUILT
+ dnl else LIBS="-lgmpxx $LIBS"
+ dnl fi
+ 
+-if test $BUILD_mpir = no
+-then AC_LANG(C)
+-     AC_SEARCH_LIBS(__mpir_version,mpir,,BUILD_mpir=yes)
+-     AC_CHECK_HEADER(mpir.h,,BUILD_mpir=yes)
+-fi
+-dnl frobby uses mpirxx
+-if test $BUILD_mpir = yes
+-then BUILTLIBS="-lmpirxx -lmpir $BUILTLIBS"
+-else LIBS="-lmpirxx $LIBS"
+-fi
++LIBS="-lgmp -lgmpxx $LIBS"
+ 
+ if test "$PARI" = yes
+ then if test $BUILD_pari = no
diff --git a/Macaulay2-1.6-no_Werror.patch b/Macaulay2-1.6-no_Werror.patch
new file mode 100644
index 0000000..7e30bdf
--- /dev/null
+++ b/Macaulay2-1.6-no_Werror.patch
@@ -0,0 +1,35 @@
+diff -up Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/c/Makefile.in.Werror Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/c/Makefile.in
+--- Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/c/Makefile.in.Werror	2014-05-19 21:23:20.398800171 -0500
++++ Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/c/Makefile.in	2014-05-19 21:23:28.544714641 -0500
+@@ -30,7 +30,7 @@ CPPFLAGS := -I../../include -I/include -
+ CFLAGS += -std=c99
+ # CFLAGS += -pedantic-errors
+ 
+-CFLAGS += -Wall -Werror
++CFLAGS += -Wall
+ ifeq "@__INTEL_COMPILER@" "no"
+ CFLAGS += -Wimplicit-function-declaration
+ endif
+diff -up Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/d/Makefile.in.Werror Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/d/Makefile.in
+--- Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/d/Makefile.in.Werror	2013-05-15 08:54:27.000000000 -0500
++++ Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/d/Makefile.in	2014-05-19 21:23:57.914406259 -0500
+@@ -142,7 +142,7 @@ M2INCLUDES += -I at srcdir@/../regex
+ 
+ # it's important that *our* directories get searched first:
+ CPPFLAGS := $(M2INCLUDES) $(CPPFLAGS) $(M2_CPPFLAGS)
+-CFLAGS += $(M2_CFLAGS) -Werror
++CFLAGS += $(M2_CFLAGS)
+ ifeq "@__INTEL_COMPILER@" "no"
+ CFLAGS += -Wno-unused-label
+ endif
+@@ -156,8 +156,8 @@ endif
+ # CXXFLAGS += -std=c++98
+ # CXXFLAGS += -pedantic-errors
+ 
+-CFLAGS   += -Wreturn-type -Werror
+-CXXFLAGS += -Wreturn-type -Werror
++CFLAGS   += -Wreturn-type
++CXXFLAGS += -Wreturn-type
+ 
+ python-c.o : | python-exports.h.tmp
+ M2lib.o scclib.o : | interp-exports.h.tmp
diff --git a/Macaulay2-1.6-no_gftables.patch b/Macaulay2-1.6-no_gftables.patch
new file mode 100644
index 0000000..46b7d8e
--- /dev/null
+++ b/Macaulay2-1.6-no_gftables.patch
@@ -0,0 +1,12 @@
+diff -up M2/configure.ac.no_gftables M2/configure.ac
+--- M2/configure.ac.no_gftables	2013-05-20 13:48:33.721970369 -0500
++++ M2/configure.ac	2013-05-20 13:49:15.213543210 -0500
+@@ -839,7 +839,7 @@ AC_SUBST(BUILTLIBS,)
+ #    "missing" is our own library -- it provides unix functions (e.g., sync) missing on certain architectures (mingw);
+ #	we always build it, and every program should link with it
+ #	"gdbm" calls sync(), so its test programs need to link with it
+-AC_SUBST(PROGLIST, "4ti2 gfan normaliz nauty cddplus lrslib gftables")
++AC_SUBST(PROGLIST, "4ti2 gfan normaliz nauty cddplus lrslib")
+ AC_SUBST(LIBLIST, " missing gc gdbm mpir mpfr pari readline ntl factory libfac lapack frobby glpk cddlib fplll givaro fflas_ffpack linbox boost mpc qd mpack flint gtest memtailor mathic mathicgb ")
+ 
+ # a library is listed in BUILD_ALWAYS if and only if we *always* build it, 
diff --git a/Macaulay2-1.6-optflags.patch b/Macaulay2-1.6-optflags.patch
new file mode 100644
index 0000000..a95a324
--- /dev/null
+++ b/Macaulay2-1.6-optflags.patch
@@ -0,0 +1,22 @@
+diff -up M2/configure.ac.optflags M2/configure.ac
+--- M2/configure.ac.optflags	2013-05-20 13:44:23.010557901 -0500
++++ M2/configure.ac	2013-05-20 13:45:51.670642322 -0500
+@@ -231,12 +231,12 @@ fi
+ ]
+ 
+ if test "$OPTIMIZE" = yes
+-then CFLAGS="$CFLAGS -O2"
+-     CXXFLAGS="$CXXFLAGS -O2"
+-     FFLAGS="$FFLAGS -O2"
+-else CFLAGS="$CFLAGS -O0"
+-     CXXFLAGS="$CXXFLAGS -O0"
+-     FFLAGS="$FFLAGS -O0"
++then CFLAGS="-O2 $CFLAGS"
++     CXXFLAGS="-O2 $CXXFLAGS"
++     FFLAGS="-O2 $FFLAGS"
++else CFLAGS="-O0 $CFLAGS"
++     CXXFLAGS="-O0 $CXXFLAGS"
++     FFLAGS="-O0 $FFLAGS"
+ fi
+ 
+ AC_SUBST(GCCVERSION,)
diff --git a/Macaulay2-1.6-rpath.patch b/Macaulay2-1.6-rpath.patch
new file mode 100644
index 0000000..07b4619
--- /dev/null
+++ b/Macaulay2-1.6-rpath.patch
@@ -0,0 +1,14 @@
+diff -up Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/bin/Makefile.in.rpath Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/bin/Makefile.in
+--- Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/bin/Makefile.in.rpath	2014-01-16 09:32:03.417643997 -0600
++++ Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/bin/Makefile.in	2013-05-15 08:54:27.000000000 -0500
+@@ -201,8 +201,8 @@ endif
+ ifeq (@OS@ @SHARED@,Linux yes)
+ ifneq (@BUILDLIST@,)
+ ifneq (@OBJDUMP@,)
+-	@OBJDUMP@ -x "$@".tmp | egrep RPATH
+-	@OBJDUMP@ -x "$@".tmp | egrep "RPATH + at librariesdir@$$"
++	@OBJDUMP@ -x "$@".tmp | egrep RPATH ||:
++	@OBJDUMP@ -x "$@".tmp | egrep "RPATH + at librariesdir@$$" || chrpath --replace @librariesdir@ "$@".tmp
+ else
+ 	echo "--warning: 'objdump' not installed, can't check rpath in M2 binary"
+ endif
diff --git a/Macaulay2-1.6-verbose_build.patch b/Macaulay2-1.6-verbose_build.patch
new file mode 100644
index 0000000..18a12f5
--- /dev/null
+++ b/Macaulay2-1.6-verbose_build.patch
@@ -0,0 +1,72 @@
+diff -up Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/e/Makefile.common.in.verbose Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/e/Makefile.common.in
+--- Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/e/Makefile.common.in.verbose	2013-05-15 08:54:27.000000000 -0500
++++ Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496/M2/Macaulay2/e/Makefile.common.in	2013-11-25 12:53:53.705077548 -0600
+@@ -22,57 +22,57 @@ COMPILE.cpp = $(COMPILE.cc)
+ %.o : %.cpp
+ 	@ echo '$(COMPILE.cpp) $(OUTPUT_OPTION) $<' >> LOGFILE
+ 	@ echo " ** compiling $<"
+-	@ $(COMPILE.cpp) $(OUTPUT_OPTION) $<
++	$(COMPILE.cpp) $(OUTPUT_OPTION) $<
+ 
+ %.s : %.cpp
+ 	@ echo '$(COMPILE.cpp) $(OUTPUT_OPTION) $<' >> LOGFILE
+ 	@ echo " ** compiling $< to assembly code, making $@"
+-	@ $(COMPILE.cpp) -S $(OUTPUT_OPTION) $<
++	$(COMPILE.cpp) -S $(OUTPUT_OPTION) $<
+ 
+ %.E : %.cpp
+ 	@ echo '$(COMPILE.cpp) $(OUTPUT_OPTION) $<' >> LOGFILE
+ 	@ echo " ** preprocessing $<, making $@"
+-	@ $(COMPILE.cpp) -E $(OUTPUT_OPTION) $<
++	$(COMPILE.cpp) -E $(OUTPUT_OPTION) $<
+ 
+ %.o : %.cc
+ 	@ echo '$(COMPILE.cc) $(OUTPUT_OPTION) $<' >> LOGFILE
+ 	@ echo " ** compiling $<"
+-	@ $(COMPILE.cc) $(OUTPUT_OPTION) $<
++	$(COMPILE.cc) $(OUTPUT_OPTION) $<
+ 
+ %.s : %.cc
+ 	@ echo '$(COMPILE.cc) $(OUTPUT_OPTION) $<' >> LOGFILE
+ 	@ echo " ** compiling $< to assembly code, making $@"
+-	@ $(COMPILE.cc) -S $(OUTPUT_OPTION) $<
++	$(COMPILE.cc) -S $(OUTPUT_OPTION) $<
+ 
+ %.E : %.cc
+ 	@ echo '$(COMPILE.cc) $(OUTPUT_OPTION) $<' >> LOGFILE
+ 	@ echo " ** preprocessing $<, making $@"
+-	@ $(COMPILE.cc) -E $(OUTPUT_OPTION) $<
++	$(COMPILE.cc) -E $(OUTPUT_OPTION) $<
+ 
+ ntl_interface.o: ntl_interface.cpp
+ 	@ echo '$(COMPILE.cc) $(OUTPUT_OPTION) $<' >> LOGFILE
+ 	@ echo " ** compiling $<"
+-	@ $(COMPILE.cc) $(OUTPUT_OPTION) $< -Wno-old-style-cast
++	$(COMPILE.cc) $(OUTPUT_OPTION) $< -Wno-old-style-cast
+ 
+ %.o : %.c
+ 	@ echo '$(COMPILE.c) $(OUTPUT_OPTION) $<' >> LOGFILE
+ 	@ echo " ** compiling $<"
+-	@ $(COMPILE.c) $(OUTPUT_OPTION) $<
++	$(COMPILE.c) $(OUTPUT_OPTION) $<
+ 
+ % : %.o
+ 	@ echo '$(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION) $<' >> LOGFILE
+ 	@ echo " ** linking $^ to get $@"
+-	@ $(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)
++	$(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)
+ 
+ %.dep: %.cpp
+ 	@ echo "@CXX@ -MM -MP $(CPPFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep" >> LOGFILE
+ 	@ echo " ** creating $@ from $<"
+-	@       @CXX@ -MM -MP $(CPPFLAGS) $(CXXFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep
++	@CXX@ -MM -MP $(CPPFLAGS) $(CXXFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep
+ 
+ %.dep: %.c
+ 	@ echo "@CC@  -MM -MP $(CPPFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep" >> LOGFILE
+ 	@ echo " ** creating $@ from $<"
+-	@       @CC@  -MM -MP $(CPPFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep
++	@CC@  -MM -MP $(CPPFLAGS) -DDEPENDS=1 $< >$*-tmp.dep && <$*-tmp.dep sed 's/\($*\)\.o[ :]*/\1.o $@ : /' >$@ && rm $*-tmp.dep
+ 
+ # Local Variables:
+ # compile-command: "make -C $M2BUILDDIR/Macaulay2/e DEPENDS=no initialize && make -C $M2BUILDDIR/Macaulay2/e Makefile.common "
diff --git a/Macaulay2.spec b/Macaulay2.spec
index d7cda19..7c0cf73 100644
--- a/Macaulay2.spec
+++ b/Macaulay2.spec
@@ -1,31 +1,33 @@
-%define snap 20130401
-%define svn r15955
+
+%define git 77124166d123caab69ac4655d15b6bfab3e74496
 
 %global emacs_sitelisp  %{_datadir}/emacs/site-lisp/
 %global xemacs_sitelisp %{_datadir}/xemacs/site-packages/lisp/
 ## define to create -common subpkg
-#global common 1
+%global common 1
+#if 0%{?fedora} > 20
+# use system normaliz
+%global system_normaliz 1
+#endif
+# standardize on gmp instead of mpir (mostly for pari/sagemath)
+%global gmp 1
 %global ISSUE %{?fedora:Fedora-%{fedora}}%{?rhel:RedHatEnterprise-%{rhel}}
 %global M2_machine %{_target_cpu}-Linux-%{ISSUE}
 
-%global INFO_FILES AdjointIdeal BGG BIBasis BeginningMacaulay2 Benchmark Binomials BoijSoederberg BooleanGB Browse Bruns ChainComplexExtras CharacteristicClasses Classic ConvexInterface ConwayPolynomials Cyclotomic DGAlgebras Depth Dmodules EdgeIdeals Elimination FirstPackage FormalGroupLaws FourTiTwo FourierMotzkin GenericInitialIdeal GraphicalModels Graphics Graphs HodgeIntegrals HyperplaneArrangements IntegralClosure InvolutiveBases Kronecker KustinMiller LLLBases LexIdeals LocalRings Macaulay2Doc MapleInterface Markov ModuleDeformations MonomialAlgebras MonomialMultiplierIdeals NAGtypes NoetherNormalization NormalToricVarieties Normaliz NumericalAlgebraicGeometry OpenMath PHCpack PackageTemplate Parametrization Parsing PieriMaps Points Polyhedra Polymake Posets PrimaryDecomposition QthPower RandomCanonicalCurves RandomCurves RandomGenus14Curves RandomObjects RandomPlaneCurves RandomSpaceCurves RationalPoints ReesAlgebra Regularity SCSCP SRdeformations Schubert2 SchurFunc
 tors SchurRings Serialization SimpleDoc SimplicialComplexes SimplicialDecomposability StatePolytope Style SymmetricPolynomials TangentCone TensorComplexes Text ToricVectorBundles Units VersalDeformations WeylGroups XML gfanInterface
+%global INFO_FILES AdjointIdeal BeginningMacaulay2 Benchmark BGG BIBasis Binomials BoijSoederberg BooleanGB Browse Bruns ChainComplexExtras CharacteristicClasses Classic CompleteIntersectionResolutions ConvexInterface ConwayPolynomials Cyclotomic Depth DGAlgebras Dmodules EdgeIdeals Elimination EliminationMatrices EllipticIntegrals FirstPackage FormalGroupLaws FourierMotzkin FourTiTwo GenericInitialIdeal gfanInterface GraphicalModels Graphics Graphs HodgeIntegrals HyperplaneArrangements IntegralClosure InvolutiveBases Kronecker KustinMiller LexIdeals LLLBases LocalRings Macaulay2Doc MapleInterface Markov ModuleDeformations MonomialAlgebras MonomialMultiplierIdeals NAGtypes NoetherNormalization Normaliz NormalToricVarieties NumericalAlgebraicGeometry OpenMath PackageTemplate Parametrization Parsing PHCpack PieriMaps Points Polyhedra Polymake Posets PrimaryDecomposition PushForward QthPower RandomCanonicalCurves RandomCurves RandomGenus14Curves RandomObjects RandomPlaneCurves 
 RandomSpaceCurves RationalPoints ReesAlgebra Regularity Schubert2 SchurFunctors SchurRings SCSCP Serialization SimpleDoc SimplicialComplexes SimplicialDecomposability SRdeformations StatePolytope Style SymmetricPolynomials TangentCone TensorComplexes Text ToricVectorBundles Triplets Units VersalDeformations WeylGroups XML
  
 Summary: System for algebraic geometry and commutative algebra
 Name:    Macaulay2
-Version: 1.5
-Release: 8%{?dist}
+Version: 1.6
+Release: 1%{?dist}
 
 License: GPLv2 or GPLv3
-Group:   Applications/Engineering
 URL:     http://www.math.uiuc.edu/Macaulay2/
-# the SVN revision is being used as a unique ID
-Source0: http://www.math.uiuc.edu/Macaulay2/Downloads/SourceCode/Macaulay2-%{version}-%{svn}-src.tar.bz2
-#Source0: Macaulay2-1.5-%{svn}.tar.xz
-Source1: Macaulay2-svn_checkout.sh
-# TEMPORARY: remove this when Macaulay ships the updated version
-Source2: Normaliz.m2
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+%if 0%{?snap:1}
+Source0: Macaulay2-%{version}-%{snap}.tar.xz
+%else
+Source0: http://www.math.uiuc.edu/Macaulay2/Downloads/SourceCode/Macaulay2-%{version}-%{git}-src.tar.bz2
+%endif
 
 Source10: Macaulay2.png
 Source11: Macaulay2.desktop
@@ -37,25 +39,32 @@ Source20: etags.sh
 Source100: http://www.math.uiuc.edu/Macaulay2/Downloads/OtherSourceCode/1.6/frobby_v0.9.0.tar.gz
 Provides: bundled(frobby) = 0.9.0
 %endif
+# used in tests only
+Source101: http://www.math.uiuc.edu/Macaulay2/Downloads/OtherSourceCode/1.6/gtest-1.6.0.tar.gz
+%if ! 0%{?system_normaliz}
+Source102: http://www.math.uiuc.edu/Macaulay2/Downloads/OtherSourceCode/1.6/Normaliz2.9.zip
+%endif
 
+Patch0: Macaulay2-1.6-optflags.patch
 Patch1: Macaulay2-1.4-xdg_open.patch
-# work harder to set ADDR_NO_RANDOMIZE, http://bugzilla.redhat.com/201739
-Patch2: Macaulay2-1.5-ADDR_NO_RANDOMIZE.patch
+Patch2: Macaulay2-1.6-verbose_build.patch
 # nauty has bad licensing
 Patch3:  Macaulay2-1.5-no_nauty.patch
 # drop 'html-check-links' 'tests' from default make target
 # the former is broken since we omit nauty (see above).
-Patch4: Macaulay2-1.5-default_make_targets.patch
+Patch4: Macaulay2-1.6-default_make_targets.patch
 # disable check for gftables
-Patch5: Macaulay2-1.5-no_gftables.patch
+Patch5: Macaulay2-1.6-no_gftables.patch
 # don't use -Werror 
-Patch6: Macaulay2-1.5-no_Werror.patch
-# use fedora/system copy of normaliz
-Patch8: Macaulay2-1.5-system_normaliz.patch
+Patch6: Macaulay2-1.6-no_Werror.patch
 # link to gmp, not mpir to avoid possible issues with gmp'ed pari
-Patch9: Macaulay2-1.5-use_gmp_instead_of_mpir.patch
-# fix build against factory-3.1.5
-Patch10: Macaulay2-1.5-factory_315.patch
+Patch9: Macaulay2-1.6-mpir.patch
+Patch11: Macaulay2-1.6-disable_broken_debug_functions.patch
+# fix rpath, no idea how prefix/libdir is sneaking in there
+Patch12: Macaulay2-1.6-rpath.patch
+# fix build against newer gc
+# https://github.com/Macaulay2/M2/issues/130
+Patch13: Macaulay2-1.6-gc.patch
 
 BuildRequires: 4ti2
 BuildRequires: autoconf
@@ -63,6 +72,7 @@ BuildRequires: bison
 BuildRequires: blas-devel
 BuildRequires: boost-devel
 BuildRequires: cddlib-devel cddlib-static
+BuildRequires: chrpath
 BuildRequires: desktop-file-utils
 %if 0%{?fedora} > 18
 BuildRequires: doxygen-latex
@@ -78,17 +88,21 @@ BuildRequires: gcc-gfortran
 BuildRequires: gdbm-devel
 BuildRequires: gfan
 BuildRequires: glpk-devel
+%if 0%{?gmp}
+BuildRequires: gmp-devel
+%else
+BuildRequires: mpir-devel
+%endif
 BuildRequires: info
-BuildRequires: factory-static factory-devel >= 3.1.4
+BuildRequires: factory-static factory-devel >= 3.1.6
 BuildRequires: factory-gftables
 BuildRequires: libatomic_ops-devel
-BuildRequires: libfac-static libfac-devel >= 3.1.4
+BuildRequires: libfac-static libfac-devel >= 3.1.6
 BuildRequires: lapack-devel
 BuildRequires: mpfr-devel gmp-devel
-BuildRequires: normaliz
-BuildRequires: ntl-devel >= 5.4.1
+BuildRequires: ntl-devel >= 5.5
 BuildRequires: pari-devel
-BuildRequires: pkgconfig(bdw-gc) 
+BuildRequires: pkgconfig(bdw-gc) >= 6.2 
 BuildRequires: pkgconfig(libxml-2.0)
 BuildRequires: pkgconfig(ncurses)
 BuildRequires: readline-devel 
@@ -97,10 +111,13 @@ BuildRequires: time
 Requires: 4ti2
 Requires: gfan
 Requires: factory-gftables
-Requires: normaliz
+%if 0%{?system_normaliz}
+BuildRequires: normaliz >= 2.9
+Requires: normaliz >= 2.9
+%endif
 
 %if 0%{?common}
-Requires:  Macaulay-common = %{version}-%{release}
+Requires:  %{name}-common = %{version}-%{release}
 %else
 Obsoletes: Macaulay2-common < %{version}-%{release}
 Provides:  Macaulay2-common = %{version}-%{release}
@@ -124,50 +141,58 @@ and Michael E. Stillman
 
 %package common
 Summary: Common files for %{name}
-Requires: Macaulay2 = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
 BuildArch: noarch
 %description common
 %{summary}.
 
 
 %prep
-%setup -q  -n %{name}-%{version}-%{svn}/M2
-
-# TEMPORARY: remove this when Macaulay ships the updated version
-cp -p %{SOURCE2} Macaulay2/packages
+%setup -q  -n %{name}-%{version}-%{git}/M2
 
 install -p -m755 %{SOURCE20} ./etags
 
-mkdir -p BUILD/tarfiles/
-
 ## bundled code
+mkdir -p  BUILD/tarfiles/
 %if 0%{?_enable_frobby:1}
-install -D -p %{SOURCE100} BUILD/tarfiles/
+install -p %{SOURCE100} BUILD/tarfiles/
+%endif
+install -p %{SOURCE101} BUILD/tarfiles/
+%if ! 0%{?system_normaliz}
+install -p %{SOURCE102} BUILD/tarfiles/
+%endif
+%if 0%{?factory}
+install -p %{SOURCE103} %{SOURCE104} %{SOURCE105} BUILD/tarfiles/
 %endif
 
+%patch0 -p1 -b .optflags
 %patch1 -p1 -b .xdg_open
-%patch2 -p1 -b .ADDR_NO_RANDOMIZE
+%patch2 -p2 -b .verbose_build
 %patch3 -p1 -b .no_nauty
 %patch4 -p1 -b .default_make_targets
 %patch5 -p1 -b .no_gftables
-%patch6 -p1 -b .no_Werror
-%patch8 -p1 -b .system_normaliz
-%patch9 -p1 -b  .use_gmp_instead_of_mpir
-%patch10 -p1 -b .factory_315
-
-# (re)generate configure
-[ -f configure -a -f include/config.h ] || make
-
+%patch6 -p2 -b .no_Werror
+%if 0%{?gmp}
+%patch9 -p1 -b .mpir
+%endif
+%if ! 0%{?factory}
+%patch11 -p2 -b .disable_broken_debug_functions
 # factory-gftables symlink
 mkdir -p BUILD/%{_target_platform}/StagingArea/common/share/Macaulay2/Core
 pushd    BUILD/%{_target_platform}/StagingArea/common/share/Macaulay2/Core
 ln -s /usr/share/factory/gftables factory
 popd
+%endif
+%patch12 -p2 -b .rpath
+%patch13 -p2 -b .gc
+
+# (re)generate configure
+[ -f configure -a -f include/config.h ] || make
 
 # helper binaries (4ti2, normaliz)
 mkdir -p BUILD/%{_target_platform}/StagingArea/%{M2_machine}/libexec/Macaulay2/%{M2_machine}
 pushd    BUILD/%{_target_platform}/StagingArea/%{M2_machine}/libexec/Macaulay2/%{M2_machine}
-for bin in %{_libdir}/4ti2/bin/* %{_bindir}/normaliz ; do
+for bin in %{_libdir}/4ti2/bin/* %{?system_normaliz:%{_bindir}/normaliz} ; do
 if [ -x "${bin}" ]; then
   ln -s "${bin}"
 else
@@ -189,14 +214,10 @@ PATH=/sbin:$(pwd):$PATH; export PATH
 ## configure macro currently broken, due to some odd prefix-checks.  probably fixable -- Rex
 mkdir -p BUILD/%{_target_platform}
 pushd BUILD/%{_target_platform}
-CPPFLAGS="-I%{_includedir}/factory" \
+%{!?factory:CPPFLAGS="-I%{_includedir}/factory"} \
 CFLAGS="%{optflags}" \
 CXXFLAGS="%{optflags}" \
-LDFLAGS="$RPM_LD_FLAGS -Wl,--as-needed" \
-LIBS="-lflint" \
 ../../configure \
-  --build=%{_build} \
-  --host=%{_host} \
   --with-issue=%{ISSUE} \
   --prefix=%{_prefix} \
   --disable-dumpdata \
@@ -204,21 +225,18 @@ LIBS="-lflint" \
   --disable-fc-lib-ldflags \
   --disable-strip \
   %{?_enable_frobby}%{!?_enable_frobby:--disable-frobby} \
-  --with-unbuilt-programs="cddplus gfan 4ti2 lrslib nauty normaliz" 
+  --with-unbuilt-programs="cddplus gfan 4ti2 lrslib nauty %{?system_normaliz:normaliz}"
 popd
 
-# Not smp-safe
-make Verbose=true -C BUILD/%{_target_platform}
-# IgnoreExampleErrors=true
+make Verbose=true -C BUILD/%{_target_platform} IgnoreExampleErrors=true
 
+# log errors
+find BUILD/%{_target_platform}/ -name *.errors -execdir echo {} \; -execdir cat {} \;
 
-%install
-rm -rf %{buildroot}
 
-mkdir -p %{buildroot}%{_libexecdir}/Macaulay2
+%install
 
-make install DESTDIR=%{buildroot} -C BUILD/%{_target_platform}
-# IgnoreExampleErrors=true
+make install DESTDIR=%{buildroot} -C BUILD/%{_target_platform} IgnoreExampleErrors=true
 
 # app img
 install -p -m644 -D %{SOURCE10} \
@@ -253,10 +271,6 @@ rm -fv %{buildroot}%{_datadir}/%{name}/Macaulay2Doc/basictests/*.okay
 time make -k check -C BUILD/%{_target_platform} ||:
 
 
-%clean
-rm -rf %{buildroot}
-
-
 %post
 touch --no-create %{_datadir}/icons/hicolor ||:
 for info_file in %{INFO_FILES} 
@@ -322,6 +336,9 @@ fi
 
 
 %changelog
+* Mon May 19 2014 Rex Dieter <rdieter at fedoraproject.org> 1.6-1
+- Macaulay2-1.6 (#1074594)
+
 * Wed May 14 2014 Rex Dieter <rdieter at fedoraproject.org> 1.5-8
 - rebuild (gc)
 
diff --git a/sources b/sources
index 119f86c..4b21996 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
 cbd99341ddfbed3f87dfd062e4673937  Macaulay2.png
-0700f924b86c494132c090bec8db00ad  Normaliz.m2
-9c28448daf5877ce275590c2fedb8f1b  Macaulay2-1.5-r15955-src.tar.bz2
+306962059231692b22025430d7a2d9f4  Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496-src.tar.bz2
+188991054fd785523aa1c2685397f4b4  gtest-1.6.0.tar.gz


More information about the scm-commits mailing list