Update to sagemath 5.9

This commit is contained in:
pcpa 2013-05-09 11:45:42 -03:00
parent eac7c8fec1
commit fbc0e8d055
33 changed files with 597 additions and 578 deletions

View file

@ -58,23 +58,23 @@
%global polytopes_db_pkg polytopes_db-20100210.p2
%global rubiks_pkg rubiks-20070912.p18
%global sagenb_pkg sagenb-0.10.4
%global sagetex_pkg sagetex-2.3.3.p2
%global sagetex_pkg sagetex-2.3.4
%global sagemath_share %{_datadir}/%{name}
%global SAGE_ROOT %{_libdir}/sagemath
%global SAGE_LOCAL %{SAGE_ROOT}/local
%global SAGE_DEVEL %{SAGE_ROOT}/devel
%global SAGE_SRC %{SAGE_ROOT}/src
%global SAGE_DOC %{_docdir}/%{name}-%{version}
%global SAGE_SHARE %{_datadir}/sagemath
%global SAGE_EXTCODE %{SAGE_SHARE}/extcode
%global SAGE_EXTCODE %{SAGE_SHARE}/ext
%global SAGE_PYTHONPATH %{SAGE_ROOT}/site-packages
Name: sagemath
Group: Applications/Engineering
Summary: A free open-source mathematics software system
Version: 5.8
Release: 9%{?dist}
Version: 5.9
Release: 1%{?dist}
# The file ${SAGE_ROOT}/COPYING.txt is the upstream license breakdown file
# Additionally, every $files section has a comment with the license name
# before files with that license
@ -108,13 +108,20 @@ Patch1: %{name}-gmp.patch
# Set of patches to work with system wide packages
Patch2: %{name}-scripts.patch
# *** Apply patch3, not patch4, this patch for fedora <= 19
# Do not mandate a patched ntl. It was requested to ntl upstream to
# provide an api to match what sagemath expects.
# http://shoup.net/pipermail/ntl_shoup.net/2012-April/000033.html
Patch3: %{name}-unpatched_ntl.patch
# *** Apply patch4, not patch3, this patch for fedora > 19
# Adapt to ntl 6.0.0.
Patch3: %{name}-ntl6.patch
Patch4: %{name}-ntl6.patch
# remove call to not implemented sagemath "is_package_installed" interfaces
# need to package coin-or solver in fedora
# remove check for non free solvers
Patch4: %{name}-extensions.patch
Patch5: %{name}-extensions.patch
# helper to:
# o respect a DESTDIR environment variable
@ -122,10 +129,7 @@ Patch4: %{name}-extensions.patch
# o minor change to help in incremental builds by avoiding rebuilding
# files
# o do not assume there is an installed sagemath
Patch5: %{name}-rpmbuild.patch
# avoid buildroot in some binaries due to not expanding symlinks
Patch6: %{name}-buildroot.patch
Patch6: %{name}-rpmbuild.patch
# build documentation in buildroot environment
Patch7: %{name}-sagedoc.patch
@ -210,12 +214,8 @@ Patch31: %{name}-nopari2.6.patch
# and does not work with cryptominisat 2.9.5 (in f18)
Patch32: %{name}-cryptominisat.patch
# Upgrade to Cython 0.19
# http://trac.sagemath.org/sage_trac/ticket/14452
Patch33: 14452_cython_0.19.patch
# Adapt to m4rie 20130416
Patch34: %{name}-m4rie.patch
Patch33: %{name}-m4rie.patch
BuildRequires: 4ti2
BuildRequires: atlas-devel
@ -632,8 +632,11 @@ popd
%patch0 -p1
%patch1 -p1
%patch2 -p1
%if 0%{?fedora} <= 19
%patch3 -p1
%else
%patch4 -p1
%endif
%patch5 -p1
%patch6 -p1
%patch7 -p1
@ -695,16 +698,7 @@ popd
%if 0%{?fedora} >= 19
%patch32 -p1
%endif
%if 0%{?fedora} >= 20
pushd spkg/build/sage-%{version}
%patch33 -p1
popd
%endif
%if 0%{?fedora} >= 19
%patch34 -p1
%endif
#------------------------------------------------------------------------
@ -728,7 +722,7 @@ export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
export SAGE_ROOT=%{buildroot}%{SAGE_ROOT}
export SAGE_LOCAL=%{buildroot}%{SAGE_LOCAL}
export SAGE_DEVEL=%{buildroot}%{SAGE_DEVEL}
export SAGE_SRC=%{buildroot}%{SAGE_SRC}
export SAGE_FORTRAN=%{_bindir}/gfortran
export SAGE_FORTRAN_LIB=`gfortran --print-file-name=libgfortran.so`
export DESTDIR=%{buildroot}
@ -739,9 +733,9 @@ mkdir -p $DOT_SAGE/tmp
# match system packages as sagemath packages
export SAGE_ROOT=%{buildroot}%{SAGE_ROOT}
export SAGE_LOCAL=%{buildroot}%{SAGE_LOCAL}
export SAGE_DEVEL=%{buildroot}%{SAGE_DEVEL}
mkdir -p $SAGE_ROOT $SAGE_LOCAL $SAGE_DEVEL/sage
ln -sf $PWD/spkg/build/sage-%{version}/sage $SAGE_DEVEL/sage/sage
export SAGE_SRC=%{buildroot}%{SAGE_SRC}
mkdir -p $SAGE_ROOT $SAGE_LOCAL $SAGE_SRC
ln -sf $PWD/spkg/build/sage-%{version}/sage $SAGE_SRC/sage
ln -sf %{_libdir} $SAGE_LOCAL/lib
ln -sf %{_includedir} $SAGE_LOCAL/include
ln -sf %{_datadir} $SAGE_LOCAL/share
@ -789,7 +783,7 @@ rm -fr $DOT_SAGE
%install
export SAGE_ROOT=%{buildroot}%{SAGE_ROOT}
export SAGE_LOCAL=%{buildroot}%{SAGE_LOCAL}
export SAGE_DEVEL=%{buildroot}%{SAGE_DEVEL}
export SAGE_SRC=%{buildroot}%{SAGE_SRC}
export SAGE_SHARE=%{buildroot}%{SAGE_SHARE}
export SAGE_EXTCODE=%{buildroot}%{SAGE_EXTCODE}
export SAGE_DOC=%{buildroot}%{SAGE_DOC}
@ -806,9 +800,9 @@ export PYTHONPATH=%{buildroot}%{python_sitearch}:$PYTHONPATH
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}
mkdir -p $SAGE_PYTHONPATH
rm -fr $SAGE_DEVEL/sage $SAGE_LOCAL/{include,lib,share,notebook}
mkdir -p $SAGE_SHARE $SAGE_DOC $SAGE_LOCAL/bin $SAGE_DEVEL/sage
ln -sf $PWD/spkg/build/sage-%{version}/sage $SAGE_DEVEL/sage/sage
rm -fr $SAGE_LOCAL/{include,lib,share,notebook}
mkdir -p $SAGE_SHARE $SAGE_DOC $SAGE_LOCAL/bin $SAGE_SRC
ln -sf $PWD/spkg/build/sage-%{version}/sage $SAGE_SRC/sage
ln -sf %{_libdir} $SAGE_LOCAL/lib
ln -sf %{_includedir} $SAGE_LOCAL/include
ln -sf %{_datadir} $SAGE_LOCAL/share
@ -845,7 +839,7 @@ pushd spkg/build/%{sagenb_pkg}/src/sagenb
%endif
# flask stuff not installed
cp -ar flask_version %{buildroot}%{python_sitearch}/sagenb
ln -sf %{python_sitearch}/sagenb %{buildroot}%{SAGE_DEVEL}/sagenb
ln -sf %{python_sitearch}/sagenb %{buildroot}%{SAGE_SRC}/sagenb
popd
#------------------------------------------------------------------------
@ -859,7 +853,7 @@ popd
cp -fa COPYING.txt $SAGE_ROOT
pushd spkg/build/sage_scripts-%{version}
mkdir -p $SAGE_LOCAL/bin
cp -fa sage-* *doctest.py $SAGE_LOCAL/bin
cp -fa sage-* $SAGE_LOCAL/bin
pushd $SAGE_LOCAL/bin
ln -sf %{_bindir}/python sage.bin
ln -sf %{_bindir}/gp sage_pari
@ -886,15 +880,42 @@ pushd spkg/build/%{rubiks_pkg}/src
popd
#------------------------------------------------------------------------
rm -f %{buildroot}%{_bindir}/spkg-debian-maybe
pushd $SAGE_LOCAL/bin/
rm -f sage-{bdist,build,build-debian,clone,crap,debsource,download_package,env,libdist,location,make_devel_packages,omega,pkg,pkg-nocompress,pull,push,sdist,sbuildhack,upgrade}
rm -f sage-list-* sage-mirror* SbuildHack.pm sage-test-*
rm -f sage-{verify-pyc,hardcode_sage_root,check-64,spkg*,update*,starts}
rm -f *~
rm -f sage-{check-libraries.py,ldwrap,open,osx-open,README-osx.txt}
rm -f sage-rebase_sage.sh
rm -f sage-{combinat,massif}
for file in \
sage-apply-ticket \
sage-bdist \
sage-build \
sage-clone \
sage-combinat \
sage-crap \
sage-list-experimental \
sage-list-optional \
sage-list-packages \
sage-list-standard \
sage-location \
sage-make_devel_packages \
sage-omega \
sage-pkg \
sage-pull \
sage-push \
sage-pypkg-location \
sage-README-osx.txt \
sage-rebaseall.bat \
sage-rebaseall.sh \
sage-rebase.bat \
sage-rebase.sh \
sage-rsyncdist \
sage-sdist \
sage-spkg-install \
sage-startuptime.py \
sage-sync-build.py \
sage-test-import \
sage-update \
sage-update-build \
sage-upgrade \
spkg-install; do
rm -f $file
done
popd
#------------------------------------------------------------------------
@ -976,7 +997,7 @@ export SAGE_ROOT="$SAGE_ROOT"
export SAGE_LOCAL="$SAGE_LOCAL"
export SAGE_SHARE="$SAGE_SHARE"
export SAGE_EXTCODE="$SAGE_EXTCODE"
export SAGE_DEVEL="$SAGE_DEVEL"
export SAGE_SRC="$SAGE_SRC"
##export SAGE_DOC="$SAGE_DOC"
module load 4ti2-%{_arch}
%if %{have_lrcalc}
@ -1004,7 +1025,7 @@ chmod +x %{buildroot}%{_bindir}/sage
cat > %{buildroot}%{SAGE_LOCAL}/bin/sage3d << EOF
#!/bin/sh
java -classpath %{SAGE_DEVEL}/sage/sagenb/data/sage3d/lib/sage3d.jar:%{_javadir}/j3dcore.jar:%{_javadir}/vecmath.jar:%{_javadir}/j3dutils.jar org.sagemath.sage3d.ObjectViewerApp "\$1"
java -classpath %{SAGE_SRC}/sage/sagenb/data/sage3d/lib/sage3d.jar:%{_javadir}/j3dcore.jar:%{_javadir}/vecmath.jar:%{_javadir}/j3dutils.jar org.sagemath.sage3d.ObjectViewerApp "\$1"
EOF
chmod +x %{buildroot}%{SAGE_LOCAL}/bin/sage3d
%endif
@ -1051,7 +1072,7 @@ pushd spkg/build/sage-%{version}/doc
%endif
# there we go
ln -sf %{buildroot}%{SAGE_DOC} $SAGE_ROOT/devel/doc
ln -sf %{buildroot}%{SAGE_DOC} $SAGE_SRC/doc
python common/builder.py all html
export SAGE_DOC=%{buildroot}%{SAGE_DOC}
cp -far output $SAGE_DOC
@ -1089,13 +1110,14 @@ perl -pi -e 's|%{buildroot}||g;' \
#------------------------------------------------------------------------
# Fix links
rm -fr $SAGE_DEVEL/sage $SAGE_EXTCODE/sage $SAGE_ROOT/doc $SAGE_ROOT/devel/doc
ln -sf %{python_sitearch} $SAGE_DEVEL/sage
rm -fr $SAGE_EXTCODE/sage $SAGE_ROOT/doc $SAGE_ROOT/src/doc
ln -sf %{python_sitearch} $SAGE_SRC/sage
ln -sf %{python_sitearch} $SAGE_EXTCODE/sage
ln -sf %{SAGE_DOC} $SAGE_ROOT/doc
ln -sf %{SAGE_DOC} $SAGE_ROOT/devel/doc
ln -sf %{SAGE_DOC} $SAGE_SRC/doc
ln -sf %{SAGE_SHARE} $SAGE_ROOT/share
rm -fr %{buildroot}%{python_sitearch}/site-packages
# compat devel symlink
ln -sf src $SAGE_ROOT/devel
# Install menu and icons
pushd spkg/build/extcode-%{version}
@ -1182,7 +1204,9 @@ exit 0
exit 0
%postun sagetex
%{_bindir}/mktexlsr
if [ $1 -eq 0 ] ; then
%{_bindir}/mktexlsr
fi
exit 0
########################################################################
@ -1192,7 +1216,6 @@ exit 0
%doc %{SAGE_ROOT}/COPYING.txt
%dir %{SAGE_LOCAL}
%dir %{SAGE_LOCAL}/bin
%{SAGE_LOCAL}/bin/ncadoctest.py
%{SAGE_LOCAL}/bin/QuadraticSieve
%{SAGE_LOCAL}/bin/ecm
%{SAGE_LOCAL}/bin/gap_stamp
@ -1202,10 +1225,11 @@ exit 0
%{SAGE_LOCAL}/lib
%{SAGE_LOCAL}/share
%{SAGE_ROOT}/doc
%{SAGE_ROOT}/devel
%{SAGE_ROOT}/share
%dir %{SAGE_DEVEL}
%{SAGE_DEVEL}/doc
%{SAGE_DEVEL}/sage
%dir %{SAGE_SRC}
%{SAGE_SRC}/doc
%{SAGE_SRC}/sage
%dir %{SAGE_PYTHONPATH}
%if %{with_sage_pexpect}
# MIT
@ -1314,7 +1338,7 @@ exit 0
#------------------------------------------------------------------------
%files notebook
# GPLv2+
%{SAGE_DEVEL}/sagenb
%{SAGE_SRC}/sagenb
%dir %{python_sitearch}/sagenb
%{python_sitearch}/sagenb/*.py*
%{python_sitearch}/sagenb-*.egg-info
@ -1393,6 +1417,13 @@ exit 0
########################################################################
%changelog
* Mon May 6 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 5.9-1
- Update to sagemath 5.9.
- Match upstream rename of SAGE_DEVEL to SAGE_SRC.
- Merged -buildroot in -rpmbuild patch.
- Drop cython 0.19 patch already applied to sagemath 5.9.
- Add macro conditionals to use same spec and patches in f18, f19 and f20.
* Mon May 6 2013 Jerry James <loganjerry@gmail.com> - 5.8-9
- Rebuild for libfplll 4.0.3, m4ri and m4rie 20130416, and ntl 6.0.0
- Drop sagemath-unpatched_ntl.patch now that Fedora's NTL is patched