Blob Blame History Raw
# BUNDLING NOTES
# Macaulay2's memory management scheme requires close cooperation with libgc,
# and some of the supporting libraries must be compiled with special options to
# accomplish this.  In particular, Macaulay2 needs:
# - mpfr configured with --disable-thread-safe
# - flint linked with the GC-enabled mpfr
# - factory (from Singular) configured with --disable-omalloc --enable-streamio
#   and linked with the flint that is linked with the GC-enabled mpfr
# Since the main Fedora packages are not built in this way, we are forced to
# bundle these packages to avoid random GC-related crashes.
#
# In addition, we have to use the static versions of the libfplll and givaro
# libraries.  Both have global objects whose constructors run before GC is
# initialized.  If we allow the shared libraries to be unloaded, which happens
# as a normal part of Macaulay2's functioning, the GC tries to free objects it
# did not allocate, which leads to a segfault.

# Address randomization interferes with Macaulay2's memory management scheme,
# and linking with -z now breaks configure.
%undefine _hardened_build

## define to create -common subpkg
#global common 1
#if 0%%{?fedora}
# 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 AbstractToricVarieties AdjointIdeal AlgebraicSplines AnalyzeSheafOnP1 BeginningMacaulay2 Benchmark Bertini BGG BIBasis BinomialEdgeIdeals Binomials BoijSoederberg Book3264Examples BooleanGB Browse Bruns ChainComplexExtras ChainComplexOperations CharacteristicClasses Chordal Classic CohomCalg CompleteIntersectionResolutions Complexes ConformalBlocks ConvexInterface ConwayPolynomials Cremona Cyclotomic Depth DGAlgebras Divisor Dmodules EdgeIdeals Elimination EliminationMatrices EllipticCurves EllipticIntegrals EngineTests EnumerationCurves EquivariantGB ExampleSystems FiniteFittingIdeals FirstPackage FormalGroupLaws FourierMotzkin FourTiTwo GenericInitialIdeal gfanInterface GradedLieAlgebras GraphicalModels Graphics Graphs GroebnerWalk HigherCIOperators HighestWeights HodgeIntegrals HyperplaneArrangements IntegralClosure InvariantRing InverseSystems InvolutiveBases K3Carpets Kronecker KustinMiller LatticePolytopes LexIdeals Licenses LieTypes LLLBases LocalRings M0nbar Macaulay2Doc MapleInterface Markov Matroids MCMApproximations MinimalPrimes Miura ModuleDeformations MonodromySolver MonomialAlgebras MultiplierIdeals MultiplierIdealsDim2 NAGtypes Nauty NautyGraphs NoetherNormalization Normaliz NormalToricVarieties NumericalAlgebraicGeometry NumericalCertification NumericalHilbert NumericalImplicitization NumericalSchubertCalculus NumericalSolutions OldPolyhedra OldToricVectorBundles OpenMath PackageCitations PackageTemplate Parametrization Parsing Permanents PHCpack PhylogeneticTrees PieriMaps Points Polyhedra Polymake Posets PrimaryDecomposition PruneComplex Pullback PushForward QthPower QuillenSuslin RandomCanonicalCurves RandomComplexes RandomCurves RandomGenus14Curves RandomIdeals RandomMonomialIdeals RandomObjects RandomPlaneCurves RandomSpaceCurves RationalMaps RationalPoints ReactionsNetworks ReesAlgebra ReflexivePolytopesDB Regularity ResidualIntersections Resultants RunExternalM2 Schubert2 SchurFunctors SchurRings SCSCP SectionRing Serialization SimpleDoc SimplicialComplexes SimplicialDecomposability SLPexpressions SpectralSequences SRdeformations StatePolytope Style SVDComplexes SymbolicPowers SymmetricPolynomials TangentCone TateOnProducts TensorComplexes TestIdeals Text Topcom TorAlgebra ToricTopology ToricVectorBundles TriangularSets Triplets Tropical Units VectorFields VersalDeformations Visualize WeylGroups XML
 
Summary: System for algebraic geometry and commutative algebra
Name:    Macaulay2
Version: 1.11
Release: 1%{?dist}

License: GPLv2 or GPLv3
URL:     http://macaulay2.com/
%if 0%{?snap:1}
Source0: Macaulay2-%{version}-%{snap}.tar.xz
%else
Source0: https://github.com/%{name}/M2/archive/version-%{version}.tar.gz
%endif

Source10: Macaulay2.png
Source11: Macaulay2.desktop
Source20: etags.sh

## BUNDLED code
# Normaliz must sometimes be bundled due to version differences
%if ! 0%{?system_normaliz}
Source100: http://www.math.uiuc.edu/Macaulay2/Downloads/OtherSourceCode/normaliz-3.3.0.tar.gz
Provides:  bundled(normaliz) = 3.3.0
%endif

# MPFR is bundled because it must be built with different threading options
%global mpfrver 3.1.6
Source101: http://www.mpfr.org/mpfr-%{mpfrver}/mpfr-%{mpfrver}.tar.xz
Provides:  bundled(mpfr) = %{mpfrver}

# FLINT is bundled because it must be linked with the specially-built MPFR
%global flintver 2.5.2
Source102: http://www.flintlib.org/flint-%{flintver}.tar.gz
Provides:  bundled(flint) = %{flintver}

# FACTORY is bundled because it must be built with special options
%global factoryver 4.1.1
Source103: http://www.math.illinois.edu/Macaulay2/Downloads/OtherSourceCode/factory-%{factoryver}.tar.gz
Provides:  bundled(factory) = %{factoryver}

## PATCHES FOR BUNDLED code
# Fix multiple flint build and runtime issues; see patches in the flint package
Source200: flint-2.5.2.patch
# Fix factory build failure.  REPLACES the upstream patch.
Source201: factory-4.1.1.patch

## FAKE library tarballs that convince Macaulay2 to use the system versions
%if 0%{?system_normaliz}
Source300: normaliz-3.3.0.tar.gz
%endif
Source301: gtest-1.7.0.tar.gz
Source302: lapack-3.6.0.tgz
Source303: 4ti2-1.6.7.tar.gz
Source304: libfplll-5.2.0.tar.gz
Source305: gfan0.6.2.tar.gz
Source306: givaro-4.0.2.tar.gz
Source307: lrslib-062.tar.gz
Source308: TOPCOM-0.17.8.tar.gz
Source309: cohomCalg-031b.zip

# let Fedora optflags override the defaults
Patch0:  %{name}-1.11-optflags.patch
# use xdg-open as the default browser
Patch1:  %{name}-1.11-xdg_open.patch
# fix paths to nauty binaries
Patch2:  %{name}-1.11-nauty-paths.patch
# drop 'tests' from default make target
Patch3:  %{name}-1.11-default_make_targets.patch
# disable check for gftables
Patch4:  %{name}-1.11-no_gftables.patch
# don't use -Werror 
Patch5:  %{name}-1.11-no_Werror.patch
# link to gmp, not mpir to avoid possible issues with gmp'ed pari
Patch6:  %{name}-1.11-mpir.patch
# use the system gtest
Patch7:  %{name}-1.11-gtest.patch
# fix invalid access to the pthread_t type
Patch8:  %{name}-1.11-pthreads.patch
# adapt to fflas-ffpack 2.3.x
Patch9:  %{name}-1.11-fflas-ffpack.patch
# fix a format specifier
Patch10: %{name}-1.11-format.patch
# catch polymorphic exception types by reference instead of value
Patch11: %{name}-1.11-exception.patch
# adapt to libfplll 5.2.1
Patch12: %{name}-1.11-fplll.patch
# fix some configure.ac mistakes
Patch13: %{name}-1.11-configure.patch

BuildRequires: 4ti2
BuildRequires: atlas-devel
BuildRequires: autoconf
BuildRequires: bison
BuildRequires: boost-devel
BuildRequires: cddlib-devel
BuildRequires: chrpath
%if ! 0%{?system_normaliz}
BuildRequires: cmake
%endif
BuildRequires: cohomCalg
BuildRequires: desktop-file-utils
%if 0%{?fedora}
BuildRequires: doxygen-latex
%else
BuildRequires: doxygen
%endif
# etags
BuildRequires: emacs
BuildRequires: factory-gftables
BuildRequires: fflas-ffpack-devel
BuildRequires: flex
BuildRequires: gawk
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
BuildRequires: gdb
BuildRequires: gdbm-devel
BuildRequires: gettext-devel
BuildRequires: gfan
BuildRequires: givaro-static
BuildRequires: glpk-devel
%if 0%{?gmp}
BuildRequires: gmp-devel
%else
BuildRequires: mpir-devel
%endif
BuildRequires: gtest-devel
BuildRequires: info
BuildRequires: lapack-devel
BuildRequires: libgfan-devel
BuildRequires: libtool
BuildRequires: libatomic_ops-devel
BuildRequires: libfplll-static
BuildRequires: libfrobby-devel
BuildRequires: libmpc-devel
BuildRequires: libnauty-devel
%if 0%{?system_normaliz}
BuildRequires: libnormaliz-devel >= 3.1.1
%endif
BuildRequires: linbox-devel
BuildRequires: lrslib-devel
BuildRequires: lrslib-utils
BuildRequires: memtailor-devel
BuildRequires: mathic-devel
BuildRequires: mathicgb-devel
BuildRequires: nauty
BuildRequires: normaliz
BuildRequires: ntl-devel
BuildRequires: pari-devel
BuildRequires: pkgconfig(bdw-gc) >= 6.2 
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(ncurses)
BuildRequires: polymake
BuildRequires: python2
BuildRequires: qd-devel
BuildRequires: readline-devel 
BuildRequires: tbb-devel
BuildRequires: time
BuildRequires: TOPCOM
BuildRequires: xemacs

Requires: 4ti2
Requires: cohomCalg
Requires: emacs-filesystem
Requires: factory-gftables
Requires: gfan
Requires: hicolor-icon-theme
Requires: lrslib-utils
Requires: nauty
Requires: TOPCOM
Requires: xemacs-filesystem

%if 0%{?common}
Requires:  %{name}-common = %{version}-%{release}
%else
Obsoletes: Macaulay2-common < %{version}-%{release}
Provides:  Macaulay2-common = %{version}-%{release}
%endif
Obsoletes: Macaulay2-doc < %{version}-%{release} 
Provides:  Macaulay2-doc = %{version}-%{release}
Obsoletes: Macaulay2-emacs < %{version}-%{release}
Provides:  Macaulay2-emacs = %{version}-%{release}

Provides:  macaulay2 = %{version}-%{release}

# M2-help
Requires: xdg-utils
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info

# Do not advertise the bundled mpfr
%global __provides_exclude libmpfr.so*


%description
Macaulay 2 is a new software system devoted to supporting research in
algebraic geometry and commutative algebra written by Daniel R. Grayson
and Michael E. Stillman

%package common
Summary: Common files for %{name}
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description common
%{summary}.


%prep
%setup -q -n M2-version-%{version}/M2

install -p -m755 %{SOURCE20} ./etags

## bundled code
%if ! 0%{?system_normaliz}
install -p -m644 %{SOURCE100} BUILD/tarfiles/
sed -i '/PROGRAMS =/aPATCHFILE = @abs_srcdir@/patch-$(VERSION)' \
  libraries/normaliz/Makefile.in
%endif
install -p -m644 %{SOURCE101} %{SOURCE102} %{SOURCE103} BUILD/tarfiles/
sed -i 's/\(VERSION = \).*/\1%{mpfrver}/' libraries/mpfr/Makefile.in

## patches for bundled code
cp -p %{SOURCE200} libraries/flint/patch-%{flintver}
sed -e 's/# PATCHFILE/PATCHFILE/' \
    -e 's,--with-blas,&=%{_includedir}/atlas --with-ntl,' \
    -e '/LICENSEFILES/aLDFLAGS += -L%{_libdir}/atlas' \
    -i libraries/flint/Makefile.in
cp -p %{SOURCE201} libraries/factory/patch-%{factoryver}

## fake library tarballs
%if 0%{?system_normaliz}
install -p -m644 %{SOURCE300} BUILD/tarfiles/
sed -i '/PRECONFIGURE/d' libraries/normaliz/Makefile.in
%endif
install -p -m644 %{SOURCE301} %{SOURCE302} %{SOURCE303} %{SOURCE304} \
  %{SOURCE305} %{SOURCE306} %{SOURCE307} %{SOURCE308} %{SOURCE309} \
  BUILD/tarfiles/
sed -i '/PRECONFIGURE/d' libraries/4ti2/Makefile.in
sed -i 's/VERSION = 4\.0\.4/VERSION = 5.2.0/;/PATCHFILE/d' libraries/fplll/Makefile.in
sed -i '/PATCHFILE/d' libraries/gfan/Makefile.in
sed -i 's,install \(lib.*\.a\),ln -s %{_libdir}/\1,' libraries/lapack/Makefile.in
sed -i '/PRECONFIGURE/d' libraries/topcom/Makefile.in
truncate --size=0 libraries/topcom/patch-0.17.8

%patch0 -p1 -b .optflags
%patch1 -p1 -b .xdg_open
%patch2 -p1 -b .nauty
%patch3 -p1 -b .default_make_targets
%patch4 -p1 -b .no_gftables
%patch5 -p1 -b .no_Werror
%if 0%{?gmp}
%patch6 -p1 -b .mpir
%endif
# factory-gftables symlink
mkdir -p BUILD/%{_target_platform}/usr-dist/common/share/Macaulay2/Core
ln -s %{_datadir}/factory \
         BUILD/%{_target_platform}/usr-dist/common/share/Macaulay2/Core/factory
%patch7 -p1 -b .gtest
%patch8 -p1 -b .pthreads
%patch9 -p1 -b .fflas-ffpack
%patch10 -p1 -b .format
%patch11 -p1 -b .exception
%patch12 -p1 -b .fplll
%patch13 -p1 -b .configure

# repeatable builds: inject a node name
sed -i 's,`uname -n`,build.fedoraproject.org,' configure.ac

# gdb is used during the build; let it autoload some files
if [ "$HOME" = "/builddir" ]; then
  echo "set auto-load safe-path /" > /builddir/.gdbinit
fi

# fix executable bits
chmod a-x Macaulay2/packages/NumericalAlgebraicGeometry/hom4ps2_in_out

# Use, but don't build, cddlib, fflas-ffpack, and linbox.  Use the static
# versions of libfplll and givaro.  Link with atlas instead of the reference
# blas and lapack.
sed -e 's/^BUILD_cddlib=yes/BUILD_cddlib=no/' \
    -e 's/BUILD_linbox=yes/BUILD_linbox=no/' \
    -e 's/BUILD_fflas_ffpack=yes/BUILD_fflas_ffpack=no/' \
    -e 's,-lfplll,%{_libdir}/libfplll.a,' \
    -e 's,-lgivaro,%{_libdir}/libgivaro.a,' \
    -e 's,-llapack -lrefblas,-lsatlas,' \
    -i configure.ac

# Use, but don't build, memtailor, mathic, and mathicgb.  Link with qd.
sed -e 's/\(LIBDEPS_FOR_BUILD := \).*/\1/' \
    -e '/LDLIBS_FOR_BUILD/s/mathicgb/& qd/' \
    -i include/config.Makefile.in

# (re)generate configure
[ -f configure -a -f include/config.h ] || make


%build
## configure macro currently broken, due to some odd prefix-checks.  probably fixable -- Rex
mkdir -p BUILD/%{_target_platform}
pushd BUILD/%{_target_platform}
# On ppc64le with the compiler in strict mode, the pari declaration of
# vec_insert() is deemed to ambiguate the declaration of the AltiVec function
# __builtin_vec_insert().  We add -fpermissive to downgrade the error to a
# warning, but we should find a better fix.
%ifarch ppc64le
cxxflags="%{optflags} -fsigned-char -fpermissive"
%else
cxxflags="%{optflags} -fsigned-char"
%endif
CPPFLAGS="-I%{_includedir}/cddlib -I%{_includedir}/frobby" \
CFLAGS="%{optflags} -fsigned-char" \
CXXFLAGS="$cxxflags" \
LDFLAGS="-Wl,--as-needed $RPM_LD_FLAGS -L%{_libdir}/atlas" \
LIBS="-lsatlas" \
../../configure \
  --build=%{_build} \
  --host=%{_host} \
  --with-issue=%{ISSUE} \
  --prefix=%{_prefix} \
  --disable-dumpdata \
  --enable-shared \
  --disable-fc-lib-ldflags \
  --disable-strip \
  --enable-fplll \
  --enable-linbox \
  --with-unbuilt-programs="cddplus nauty" \
  --enable-build-libraries="mpfr flint factory lapack fplll givaro gtest"
  # The list of libraries and submodules above should include only those that:
  # 1. We bundle (mpfr, flint, and factory)
  # 2. We sneakily substitute one library for another (lapack -> atlas)
  # 3. Have to be linked with the static library (fplll and givaro)
  # 4. Have to be faked because Macaulay2 wants to find sources (gtest)
popd

# link with static libraries when global constructors run prior to GC
# initialization.  Otherwise, unloading the shared object causes a crash.
# We have to do this because we pick up references to -lgivaro from other
# packages during the configure script execution.
for fil in $(grep -Erl -e '-lfplll|-lgivaro' .); do
  sed -e 's,-lfplll,%{_libdir}/libfplll.a,' \
      -e 's,-lgivaro,%{_libdir}/libgivaro.a,' \
      -i.orig $fil
  touch -r $fil.orig $fil
  rm -f $fil.orig
done

make -C BUILD/%{_target_platform} VERBOSE=true Verbose=true IgnoreExampleErrors=true

# log errors
find BUILD/%{_target_platform}/ -name *.errors -execdir echo {} \; -execdir cat {} \;


%install
make install -C BUILD/%{_target_platform} DESTDIR=%{buildroot} IgnoreExampleErrors=true

# link, don't copy, the binaries
mbindir=$(ls -1d %{buildroot}%{_libexecdir}/Macaulay2/*Linux*)
for fil in checkregularity cohomcalg lrs normaliz points2finetriang; do
  rm -f $mbindir/$fil
  ln -s %{_bindir}/$fil $mbindir/$fil
done

# app img
install -p -m644 -D %{SOURCE10} \
  %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/Macaulay2.png

desktop-file-install --vendor="" \
  --dir=%{buildroot}%{_datadir}/applications \
  %{SOURCE11}

# Byte compile the (X)Emacs files, and move the documentation
mkdir -p %{buildroot}%{_xemacs_sitelispdir}
cp -p %{buildroot}%{_emacs_sitelispdir}/*.el %{buildroot}%{_xemacs_sitelispdir}
pushd %{buildroot}%{_emacs_sitelispdir}
mv M2-emacs* M2-README %{buildroot}%{_pkgdocdir}
%{_emacs_bytecompile} *.el
cd %{buildroot}%{_xemacs_sitelispdir}
%{_xemacs_bytecompile} *.el
popd

## unpackaged files
# info dir
rm -fv %{buildroot}%{_infodir}/dir


%check
CFLAGS="%{optflags}" \
CXXFLAGS="%{optflags}" \
LDFLAGS="$RPM_LD_FLAGS" \
time make -k check -C BUILD/%{_target_platform} Verbose=true ||:


# This script deals with accidental replacement of the factory symlink with
# a directory.  Once F26 has reached EOL, this can be removed.
%pretrans -p <lua>
path = "%{_datadir}/Macaulay2/Core/factory"
st = posix.stat(path)
if st and st.type == "directory" then
  status = os.rename(path, path .. ".rpmmoved")
  if not status then
    suffix = 0
    while not status do
      suffix = suffix + 1
      status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix)
    end
    os.rename(path, path .. ".rpmmoved")
  end
end

%post
for info_file in %{INFO_FILES} 
do
  /sbin/install-info --quiet %{_infodir}/${info_file}.info %{_infodir}/dir ||:
done

%preun
if [ $1 -eq 0 ]; then
  for info_file in %{INFO_FILES} 
  do
    /sbin/install-info --delete --quiet %{_infodir}/${info_file}.info %{_infodir}/dir 2> /dev/null ||:
  done
fi

%files
%{_bindir}/M2
%{_bindir}/M2-binary
%{_prefix}/lib/Macaulay2/
%{_libexecdir}/Macaulay2/

%if 0%{?common}
%files common
%endif
%{_datadir}/Macaulay2/
%{_datadir}/applications/*Macaulay2.desktop
%{_datadir}/icons/hicolor/*/*/*
%{_docdir}/Macaulay2/
%{_infodir}/*.info*
%{_mandir}/man1/*
%{_emacs_sitelispdir}/*
%{_xemacs_sitelispdir}/*


%changelog
* Sat Jun  2 2018 Jerry James <loganjerry@gmail.com> - 1.11-1
- Macaulay2-1.11
- Drop upstreamed patches: -verbose_build, -givaro, -pari, -endian
- New patches: -fflas-ffpack, -format, -exception, -fplll, -configure
- Update bundled software
- Refresh INFO_FILES list

* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.9.2-8
- Escape macros in %%changelog

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Jan 18 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.9.2-6
- Remove obsolete scriptlets

* Wed Oct 11 2017 Jerry James <loganjerry@gmail.com> - 1.9.2-5
- Link rather than copy the normaliz binary
- Fix accidental replacement of factory symlink with a directory

* Sat Sep 30 2017 Jerry James <loganjerry@gmail.com> - 1.9.2-4
- Rebuild for ntl 10.5.0

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Wed Apr  5 2017 Jerry James <loganjerry@gmail.com> - 1.9.2-1
- Macaulay2-1.9.2
- Drop upstreamed patches: -disable_broken_debug_functions, -gc, -rpath,
  -rh_configure_hack
- Add patches: -givaro, -gtest, -pari
- Create fake library and submodule tarballs to fool the build system into
  building in support for system libraries
- Bundle mpfr, flint, and factory to avoid garbage collector crashes
- Replace the (X)Emacs triggers with (x)emacs-filesystem dependencies
- New URLs

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.6-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.6-33
- Rebuild for readline 7.x

* Thu Oct 20 2016 Jerry James <loganjerry@gmail.com> - 1.6-32
- Rebuild for ntl 10.1.0

* Mon Sep  5 2016 Jerry James <loganjerry@gmail.com> - 1.6-31
- Rebuild for ntl 9.11.0

* Fri Aug 12 2016 Jerry James <loganjerry@gmail.com> - 1.6-30
- Rebuild for fflas-ffpack 2.2.2, givaro 4.0.2, and linbox 1.4.2

* Mon Jul 25 2016 Jerry James <loganjerry@gmail.com> - 1.6-29
- Rebuild for ntl 9.10.0

* Thu Jun  2 2016 Jerry James <loganjerry@gmail.com> - 1.6-28
- Rebuild for ntl 9.9.1

* Fri Apr 29 2016 Jerry James <loganjerry@gmail.com> - 1.6-27
- Rebuild for ntl 9.8.0
- Nauty is now available
- Drop -gcc-template-bug patch; gcc bug has been fixed

* Sat Mar 19 2016 Jerry James <loganjerry@gmail.com> - 1.6-26
- Rebuild for ntl 9.7.0

* Sat Feb 20 2016 Jerry James <loganjerry@gmail.com> - 1.6-25
- Rebuild for ntl 9.6.4
- Add -gcc-template-bug patch to work around gcc bug (bz 1307282)

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.6-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Jan 14 2016 Jonathan Wakely <jwakely@redhat.com> - 1.6-23
- Rebuilt for Boost 1.60

* Fri Dec  4 2015 Jerry James <loganjerry@gmail.com> - 1.6-22
- Rebuild for ntl 9.6.2
- Add python2 BR for the tests

* Sat Oct 17 2015 Kalev Lember <klember@redhat.com> - 1.6-21
- Rebuilt for libntl soname bump

* Fri Oct 16 2015 Jerry James <loganjerry@gmail.com> - 1.6-20
- Rebuild for ntl 9.4.0

* Tue Sep 29 2015 Rex Dieter <rdieter@fedoraproject.org> 1.6-19
- refresh config.guess/config.sub hack, fix FTBFS on aarch64

* Sat Sep 19 2015 Jerry James <loganjerry@gmail.com> - 1.6-18
- Rebuild for flint 2.5.2 and ntl 9.3.0

* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 1.6-17
- Rebuilt for Boost 1.59

* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-16
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159

* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 1.6-15
- rebuild for Boost 1.58

* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Mon May 18 2015 Jerry James <loganjerry@gmail.com> - 1.6-13
- Rebuild for ntl 9.1.1 and cddlib-094h

* Fri May 15 2015 Jerry James <loganjerry@gmail.com> - 1.6-12
- Bump and rebuild

* Sat May  9 2015 Jerry James <loganjerry@gmail.com> - 1.6-11
- Rebuild for ntl 9.1.0

* Mon Feb  2 2015 Jerry James <loganjerry@gmail.com> - 1.6-10
- Rebuild for ntl 8.1.2

* Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 1.6-9
- Rebuild for boost 1.57.0

* Thu Jan 15 2015 Jerry James <loganjerry@gmail.com> - 1.6-8
- Rebuild for ntl 8.1.0
- Fix the desktop file name

* Wed Oct 29 2014 Jerry James <loganjerry@gmail.com> - 1.6-7
- Rebuild for ntl 6.2.1
- Revert Apr 8 HTML creation timeout, now handled upstream
- Revert use of -common subpkg; various arches timeout differently

* Wed Sep 24 2014 Rex Dieter <rdieter@fedoraproject.org> 1.6-6
- enable -common subpkg (to be more compatible with upstream packaging)

* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Wed Jun 25 2014 Rex Dieter <rdieter@fedoraproject.org> 1.6-4
- restore --build/--host configure options lost in 1.6 update, should help arm

* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 1.6-2
- Rebuild for boost 1.55.0

* Mon May 19 2014 Rex Dieter <rdieter@fedoraproject.org> 1.6-1
- Macaulay2-1.6 (#1074594)
- ExcludeArch: %%arm (#1099598)

* Wed May 14 2014 Rex Dieter <rdieter@fedoraproject.org> 1.5-8
- rebuild (gc)

* Tue Apr  8 2014 Jerry James <loganjerry@gmail.com> - 1.5-7
- Build for all arches
- Increase HTML creation timeouts for slower processors, such as ARM
- Add --build and --host invocations to configure to fix mismatched ARM names

* Wed Apr  2 2014 Jerry James <loganjerry@gmail.com> - 1.5-6
- Rebuild for ntl 6.1.0

* Fri Mar 21 2014 Jerry James <loganjerry@gmail.com> - 1.5-5
- The normaliz patch was used; bring it back
- Complete the removal of the system_normaliz variable
- Link with RPM_LD_FLAGS
- Due to use of a static library, explicitly link with -lflint

* Fri Jan 24 2014 Rex Dieter <rdieter@fedoraproject.org> - 1.5-5
- drop unused patches (4ti2, normalize)

* Tue Jan 21 2014 Rex Dieter <rdieter@fedoraproject.org> - 1.5-4
- utilize %%_libexecdir/Macaulay2/... for helper/system binaries
- libdir: %%_libdir => %%_prefix/lib
- -common subpkg option (not used yet)

* Tue Jan 14 2014 Jerry James <loganjerry@gmail.com> - 1.5-3
- Update normaliz interface for normaliz 2.8 and later

* Tue Jul 30 2013 Petr Machata <pmachata@redhat.com> - 1.5-2
- Rebuild for boost 1.54.0

* Thu May 23 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5-1
- Release: 1 (using non-snapshot release tarball now)

* Tue May 21 2013 Rex Dieter <rdieter@fedoraproject.org> - 1.5-0.7.20130401
- update to 20130401 r15955 snapshot release
- (Build)Requires: factory-gftables (see bug #965655)
- refresh INFO_FILES content

* Mon May  6 2013 Jerry James <loganjerry@gmail.com> - 1.5-0.6.20130214
- Rebuild for m4ri 20130416

* Fri Feb 15 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5-0.5.20130214
- r15838 (20130214 snapshot)

* Wed Feb 13 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5-0.4.20120807
- BR: doxygen-latex

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-0.3.20120807
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Tue Aug 07 2012 Rex Dieter <rdieter@fedoraproject.org> 1.5-0.2.20120807
- 1.5 20120807 r15022 snapshot

* Thu Jul 19 2012 Rex Dieter <rdieter@fedoraproject.org> 1.4-9
- rebuild against (Singular's) libfac/factory 3.1.3

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Tue Jul 03 2012 Rex Dieter <rdieter@fedoraproject.org> 1.4-7
- rebuild (pari)

* Sun Jul 1 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.4-6
- Link to gmp not mpir.
- Rebuild with pari 2.5.

* Wed May 30 2012 Rex Dieter <rdieter@fedoraproject.org>
- 1.4-5
- License: GPLv2 or GPLv3 (#821036)
- pkgconfig-style deps

* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-4
- Rebuilt for c++ ABI breakage

* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Fri Sep 30 2011 Rex Dieter <rdieter@fedoraproject.org> 1.4-2
- rebuild (gdbm)

* Thu May 26 2011 Rex Dieter <rdieter@fedoraproject.org> 1.4-1
- 1.4

* Thu May 26 2011 Rex Dieter <rdieter@fedoraproject.org> 1.3.1-9
- Typo in INFO_FILES (#708086)

* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Wed Jun 30 2010 Rex Dieter <rdieter@fedoraproject.org> - 1.3.1-7
- BR: cddlib-static (#609698)

* Tue Mar 16 2010 Rex Dieter <rdieter@fedoraproject.org> - 1.3.1-6
- rebuild (factory/libfac)

* Tue Mar 16 2010 Mark Chappell <tremble@fedoraproject.org> - 1.3.1-5
- Run install-info on all of the .info files we installed
- Re-enable the now functional ppc64 build

* Wed Mar 10 2010 Mark Chappell <tremble@fedoraproject.org> - 1.3.1-4
- Add in missing Requires runtime dependancies

* Wed Mar 10 2010 Mark Chappell <tremble@fedoraproject.org> - 1.3.1-3
- GPLv3/GPLv2 conflict, use compat-readline5 - bz#511299

* Tue Mar 09 2010 Mark Chappell <tremble@fedoraproject.org> - 1.3.1-2
- Replace DSO patch with one accepted upstream
- Completely disable static linking

* Wed Feb 24 2010 Mark Chappell <tremble@fedoraproject.org> - 1.3.1-1
- Upstream version increment
- Remove unused patch
- Remove patch applied upstream
- Ensure consistent use of buildroot macro instead of RPM_BUILD_ROOT
- Fix implicit linking DSO failure
- Don't package empty .okay files which simply indicate test passes

* Tue Dec  8 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 1.2-7
- Explicitly BR factory-static and libfac-static in accordance with the
  Packaging Guidelines (factory-devel/libfac-devel are still static-only).

* Tue Sep 22 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.2-6
- fixup/optimize scriplets

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Fri Apr 17 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.2-4
- rebuild for ntl-devel (shared)

* Wed Feb 25 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.2-3
- BR: libfac-devel,factory-devel >= 3.1
- restore ExcludeArch: ppc64 (#253847)

* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Fri Feb 13 2009 Rex Dieter <rdieter@fedoraproject.org> 1.2-1
- Macaulay-1.2

* Thu Oct 02 2008 Rex Dieter <rdieter@fedoraproject.org> 1.1-2
- respin (factory/libfac)

* Tue Mar 11 2008 Rex Dieter <rdieter@fedoraproject.org> 1.1-1
- Macaulay2-1.1
- Obsoletes/Provides: Macaulay2-common (upstream compatibility)
- re-enable ppc64 (#253847)
- IgnoreExampleErrors=true

* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.9.95-10
- Autorebuild for GCC 4.3

* Tue Dec 18 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-9
- Provides: macaulay2
- respin against new(er) factory,libfac,ntl

* Wed Aug 22 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-8
- ExcludeArch: ppc64 (#253847)

* Tue Aug 21 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-7
- BR: gawk

* Tue Aug 21 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-6
- gc-7.0 patches

* Sat Aug 11 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-5
- License: GPLv2

* Mon Jan 15 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-4
- Ob/Pr: Macaulay2-doc, not -docs (#222609)

* Sat Jan 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-3
- re-enable ppc build (#201739)

* Tue Jan 02 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.9.95-2
- ./configure --disable-strip, for usable -debuginfo (#220893)

* Mon Dec 18 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.95-1
- Macaulay2-0.9.95

* Wed Nov 22 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.20-0.5.20060808svn
- .desktop Categories: -Application,Scientific,X-Fedora +ConsoleOnly

* Tue Aug 29 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.20-0.4.20060808svn
- fc6 respin

* Tue Aug 08 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.20-0.3.20060808svn
- ExcludeArch: ppc (bug #201739)
- %%ghost (x)emacs site-lisp bits (using hints from fedora-rpmdevtools)

* Tue Aug 08 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.20-0.2.20060808svn
- 20060808 snapshot

* Mon Jul 24 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.20-0.1.20060724svn
- 2006-07-15-0.9.20

* Wed Jul 12 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.10-0.6.20060710svn
- 0.9.10

-* Mon Jul 10 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.8-0.6.cvs20060327
- BR: ncurses-devel

* Fri May 05 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.8-0.4.cvs20060327
- 64bit patch (#188709)

* Wed Apr 12 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.8-0.3.cvs20060327 
- omit x86_64, for now (#188709)

* Tue Apr 11 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.8-0.2.cvs20060327
- 0.9.8 (cvs, no tarball yet)
- drop -doc subpkg (in main now)

* Mon Apr 10 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.2-22
- fix icon location (#188384)

* Thu Mar 30 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.2-21
- really disable %%check (fails on fc5+ anyway) 

* Fri Jan 20 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.2-20
- .desktop: drop Category=Development
- app icon: follow icon spec
- drop -emacs subpkg (in main now) 

* Fri Sep 16 2005 Rex Dieter <rexdieter[AT]users.sf.net> - 0.9.2-19
- disable 'make check' (fc5/buildsystem error), besides, we get a 
  good consistency check when M2 builds all the doc examples.

* Wed Sep 14 2005 Rex Dieter <rexdieter[AT]users.sf.net> - 0.9.2-18
- rebuild against gc-6.6

* Thu May 26 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 0.9.2-17
- rebuild (build system x86_64 repository access failed for 0.9.2-16)
- fix build for GCC 4 (#156223)

* Thu Apr  7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 0.9.2-15
- rebuilt

* Mon Feb 21 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0:0.9.2-14
- x86_64 issues (%%_libdir -> %%_prefix/lib )
- remove desktop_file macro usage

* Sat Oct 23 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.13
- BR: time (again)
- omit m2_dir/setup (not needed/wanted)

* Mon Oct 18 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.12
- actually *apply* gcc34 patch this time.

* Mon Oct 18 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.11
- gcc34 patch

* Fri Oct 1 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.10
- explicit BR versions for gc-devel, libfac-devel, factory-devel

* Tue Aug 10 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.9
- BR: time

* Thu Jun 03 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.8
- .desktop: remove Terminaloptions to be desktop agnostic
- .desktop: Categories += Education;Math;Development (Devel only
  added so it shows *somewhere* in gnome menus)

* Tue Jun 01 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.7
- disable default 'make check' (util/screen fails on fc2)

* Tue Mar 30 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.6
- desktop-file is now on by default
- use separate (not inline) .desktop file

* Mon Jan 05 2004 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.5
- fix BuildRequires: desktop-file-utils to satisfy rpmlint.
- put emacs files in emacs subdir too (to follow supplied docs)
- *really* nuke .cvsignore files
- fix desktop-file-install --add-cateagories usage

* Tue Dec 23 2003 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.4
- -emacs: use %%defattr
- -emacs: fix M2-init.el

* Mon Nov 17 2003 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.3
- update/simplify macros
- desktop_file support.
- emacs subpkg.
- relax Req's on subpkgs to just: Requires: %%name = %%epoch:%%version
- use non-versioned BuildRequires
- remove redundant BuildRequires: gmp-devel
- remove gc patch, no longer needed.
- delete/not-package a bunch of unuseful files.
- use --disable-strip when debug_package is in use.

* Thu Nov 13 2003 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.2
- no longer explictly Requires: emacs

* Wed Nov 05 2003 Rex Dieter <rexdieter at sf.net> 0:0.9.2-0.fdr.1
- missing Epoch: 0

* Fri Sep 12 2003 Rex Dieter <rexdieter at sf.net> 0.9.2-0.fdr.0
- fedora'ize