mirror of
https://src.fedoraproject.org/rpms/sagemath.git
synced 2025-04-22 11:45:56 -04:00
Update to sagemath 7.3
This commit is contained in:
parent
a3d306800c
commit
0fdebf23cf
35 changed files with 3245 additions and 874 deletions
360
sagemath.spec
360
sagemath.spec
|
@ -1,6 +1,7 @@
|
|||
%global __provides_exclude_from .*/site-packages/.*\\.so
|
||||
|
||||
%bcond_without bundled_pari
|
||||
%bcond_with bundled_pexpect
|
||||
|
||||
# for faster full rpm test builds
|
||||
%ifarch %{ix86} x86_64
|
||||
|
@ -15,6 +16,9 @@
|
|||
# use an workaround to match upstream sagemath patched sphinx
|
||||
%bcond_without sphinx_hack
|
||||
|
||||
# use workaround to match upstream sagemath patched cython
|
||||
%bcond_without cython_hack
|
||||
|
||||
%ifarch x86_64
|
||||
%bcond_without fes
|
||||
%else
|
||||
|
@ -27,17 +31,20 @@
|
|||
%global SAGE_TIMEOUT_LONG 180
|
||||
|
||||
%global conway_polynomials_pkg conway_polynomials-0.4
|
||||
%global cysignals_pkg cysignals-1.1.1
|
||||
%global elliptic_curves_pkg elliptic_curves-0.8
|
||||
%global flintqs_pkg flintqs-20070817
|
||||
%global graphs_pkg graphs-20130920
|
||||
%global flintqs_pkg flintqs-1.0
|
||||
%global graphs_pkg graphs-20151224
|
||||
%if %{with bundled_pari}
|
||||
%global pari_pkg pari-2.8-1637-g489005a
|
||||
%global pari_pkg pari-2.8-2771-gb70b447
|
||||
%endif
|
||||
%if %{with bundled_pexpect}
|
||||
%global pexpect_pkg pexpect-4.1.0
|
||||
%endif
|
||||
%global pexpect_pkg pexpect-2.0
|
||||
%global polytopes_db_pkg polytopes_db-20120220
|
||||
%global rubiks_pkg rubiks-20070912
|
||||
%global sagenb_pkg sagenb-0.11.4
|
||||
%global sagetex_pkg sagetex-2.3.4
|
||||
%global sagenb_pkg sagenb-0.13
|
||||
%global sagetex_pkg sagetex-3.0
|
||||
|
||||
%global SAGE_ROOT %{_libdir}/sagemath
|
||||
%global SAGE_LOCAL %{SAGE_ROOT}/local
|
||||
|
@ -51,8 +58,8 @@
|
|||
Name: sagemath
|
||||
Group: Applications/Engineering
|
||||
Summary: A free open-source mathematics software system
|
||||
Version: 6.8
|
||||
Release: 14%{?dist}
|
||||
Version: 7.3
|
||||
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
|
||||
|
@ -90,85 +97,101 @@ Patch6: %{name}-sagenb.patch
|
|||
# do not attempt to create state files in system directories
|
||||
Patch7: %{name}-readonly.patch
|
||||
|
||||
# do not link explicitly to png12
|
||||
Patch8: %{name}-png.patch
|
||||
|
||||
# work with all maxima-runtime lisp backend packages
|
||||
Patch9: %{name}-maxima.patch
|
||||
Patch8: %{name}-maxima.patch
|
||||
|
||||
# execute 4ti2 programs in $PATH not in $SAGE_ROOT/local/bin
|
||||
Patch10: %{name}-4ti2.patch
|
||||
Patch9: %{name}-4ti2.patch
|
||||
|
||||
# http://trac.sagemath.org/sage_trac/ticket/12992
|
||||
# http://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=1317
|
||||
Patch11: %{name}-pari.patch
|
||||
Patch10: %{name}-pari.patch
|
||||
|
||||
# use jmol itself to export preview images
|
||||
# FIXME besides not using X and told so, fails if DISPLAY is not set
|
||||
Patch12: %{name}-jmol.patch
|
||||
Patch11: %{name}-jmol.patch
|
||||
|
||||
# only cremona mini database built and installed
|
||||
# FIXME add a package with the full cremona database
|
||||
# FIXME actually it should be already available in pari-elldata
|
||||
Patch13: %{name}-cremona.patch
|
||||
Patch12: %{name}-cremona.patch
|
||||
|
||||
# lrslib is a requires
|
||||
Patch14: %{name}-lrslib.patch
|
||||
Patch13: %{name}-lrslib.patch
|
||||
|
||||
# correct path to the nauty geng program
|
||||
# http://cs.anu.edu.au/~bdm/nauty/
|
||||
# http://pallini.di.uniroma1.it/
|
||||
Patch15: %{name}-nauty.patch
|
||||
Patch14: %{name}-nauty.patch
|
||||
|
||||
# Use system gap hap package
|
||||
Patch16: %{name}-gap-hap.patch
|
||||
# gap hap package not (yet) available
|
||||
# http://www-gap.mcs.st-and.ac.uk/Packages/hap.html
|
||||
Patch15: %{name}-gap-hap.patch
|
||||
|
||||
# correct path to Lfunction include
|
||||
Patch17: %{name}-lcalc.patch
|
||||
Patch16: %{name}-lcalc.patch
|
||||
|
||||
# avoid assertion in coin backend
|
||||
Patch18: %{name}-cbc.patch
|
||||
Patch17: %{name}-cbc.patch
|
||||
|
||||
# Use system gap directories
|
||||
Patch19: %{name}-libgap.patch
|
||||
Patch18: %{name}-libgap.patch
|
||||
|
||||
# Build fes
|
||||
Patch20: %{name}-fes-build.patch
|
||||
Patch19: %{name}-fes-build.patch
|
||||
# Disable fes
|
||||
Patch21: %{name}-fes.patch
|
||||
Patch20: %{name}-fes.patch
|
||||
|
||||
# Side effect of using distro packages
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=974769
|
||||
Patch22: %{name}-sympy.patch
|
||||
Patch21: %{name}-sympy.patch
|
||||
|
||||
# Fix a name clash with NTL
|
||||
Patch23: %{name}-ntl.patch
|
||||
|
||||
# Fix a changed interface in NTL 9.x
|
||||
Patch24: %{name}-ntl9.patch
|
||||
Patch22: %{name}-ntl.patch
|
||||
|
||||
# Correct unable to start QEPCAD within sage
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1243590
|
||||
Patch25: %{name}-qepcad.patch
|
||||
|
||||
# Temporary correction for invalid conversion from
|
||||
# 'int' to 'polybori::COrderEnums::ordercodes'
|
||||
Patch26: %{name}-polybori.patch
|
||||
Patch23: %{name}-qepcad.patch
|
||||
|
||||
# Correct path to arb headers
|
||||
Patch27: %{name}-arb.patch
|
||||
Patch24: %{name}-arb.patch
|
||||
|
||||
# Adapt to header file changes in givaro 4 and linbox 1.4
|
||||
Patch28: %{name}-givaro.patch
|
||||
Patch25: %{name}-givaro.patch
|
||||
|
||||
# No support for f" notation
|
||||
Patch26: %{name}-nofstring.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1296652
|
||||
Patch27: sig_includes.patch
|
||||
|
||||
# Add missing include paths
|
||||
Patch28: %{name}-includes.patch
|
||||
|
||||
# https://trac.sagemath.org/ticket/20926
|
||||
# #error This file requires compiler and library support for the ISO C++ \
|
||||
# 2011 standard. This support must be enabled with the -std=c++11 \
|
||||
# or -std=gnu++11 compiler options.
|
||||
Patch29: %{name}-gcc6.patch
|
||||
|
||||
# Use ipython3 (mostly a rediff from sagemath-6.8 sage/repl)
|
||||
Patch30: %{name}-ipython3.patch
|
||||
|
||||
# Use atlas blas
|
||||
Patch31: %{name}-atlas.patch
|
||||
|
||||
# Correct side effect of sagemath-ipython3 patch
|
||||
Patch32: %{name}-is_in_terminal.patch
|
||||
|
||||
BuildRequires: 4ti2
|
||||
BuildRequires: arb-devel
|
||||
BuildRequires: atlas-devel
|
||||
BuildRequires: brial-devel
|
||||
BuildRequires: cddlib-tools
|
||||
BuildRequires: cliquer-devel
|
||||
BuildRequires: coin-or-Cbc-devel
|
||||
BuildRequires: cryptominisat-devel
|
||||
BuildRequires: Cython >= 0.21.1
|
||||
BuildRequires: Cython
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: dos2unix
|
||||
BuildRequires: dvipng
|
||||
|
@ -178,15 +201,12 @@ BuildRequires: factory-devel
|
|||
%if %{with fes}
|
||||
BuildRequires: fes-devel
|
||||
%endif
|
||||
BuildRequires: flint-devel >= 2.3
|
||||
BuildRequires: flint-devel
|
||||
BuildRequires: gmp-ecm-devel
|
||||
BuildRequires: gap
|
||||
BuildRequires: GAPDoc
|
||||
BuildRequires: gap-libs
|
||||
BuildRequires: gap-pkg-atlasrep
|
||||
BuildRequires: gap-pkg-ctbllib
|
||||
BuildRequires: gap-pkg-design
|
||||
BuildRequires: gap-pkg-hap
|
||||
BuildRequires: gap-pkg-sonata
|
||||
BuildRequires: gap-pkg-tomlib
|
||||
BuildRequires: gc-devel
|
||||
|
@ -230,10 +250,13 @@ BuildRequires: python-flask-silk
|
|||
BuildRequires: python-ipython
|
||||
BuildRequires: python-matplotlib
|
||||
BuildRequires: python-networkx
|
||||
%if %{without bundled_pexpect}
|
||||
BuildRequires: python-pexpect
|
||||
%endif
|
||||
BuildRequires: python-pkgconfig
|
||||
BuildRequires: python-sphinx
|
||||
BuildRequires: python-twisted
|
||||
BuildRequires: python-twisted-web
|
||||
BuildRequires: polybori-devel
|
||||
BuildRequires: R
|
||||
BuildRequires: ratpoints-devel
|
||||
BuildRequires: readline-devel
|
||||
|
@ -259,10 +282,7 @@ Requires: firefox
|
|||
Requires: gap
|
||||
Requires: GAPDoc
|
||||
Requires: gap-libs
|
||||
Requires: gap-pkg-atlasrep
|
||||
Requires: gap-pkg-ctbllib
|
||||
Requires: gap-pkg-design
|
||||
Requires: gap-pkg-hap
|
||||
Requires: gap-pkg-sonata
|
||||
Requires: gap-pkg-tomlib
|
||||
Requires: genus2reduction
|
||||
|
@ -273,10 +293,12 @@ Requires: jsmol
|
|||
Requires: jsmath-fonts
|
||||
Requires: lrslib-utils
|
||||
Requires: maxima-gui
|
||||
Requires: mathjax
|
||||
Requires: maxima-runtime-ecl
|
||||
Requires: nauty
|
||||
Requires: palp
|
||||
Requires: pari-gp
|
||||
Requires: python-brial
|
||||
Requires: python-crypto
|
||||
Requires: python-cvxopt
|
||||
Requires: python-docutils
|
||||
|
@ -287,7 +309,9 @@ Requires: python-flask-silk
|
|||
Requires: python-ipython
|
||||
Requires: python-matplotlib
|
||||
Requires: python-networkx
|
||||
Requires: python-polybori
|
||||
%if %{without bundled_pexpect}
|
||||
Requires: python-pexpect
|
||||
%endif
|
||||
Requires: python-sphinx
|
||||
Requires: python-twisted
|
||||
Requires: python-twisted-mail
|
||||
|
@ -547,6 +571,11 @@ computations, and plots from the Sage mathematics software suite
|
|||
%prep
|
||||
%setup -q -n sage-%{version}
|
||||
|
||||
pushd build/pkgs/cysignals
|
||||
tar jxf ../../../upstream/%{cysignals_pkg}.tar.bz2
|
||||
mv %{cysignals_pkg} src
|
||||
popd
|
||||
|
||||
pushd build/pkgs/conway_polynomials
|
||||
tar jxf ../../../upstream/%{conway_polynomials_pkg}.tar.bz2
|
||||
mv %{conway_polynomials_pkg} src
|
||||
|
@ -558,13 +587,8 @@ pushd build/pkgs/elliptic_curves
|
|||
popd
|
||||
|
||||
pushd build/pkgs/flintqs
|
||||
tar jxf ../../../upstream/%{flintqs_pkg}.tar.bz2
|
||||
tar zxf ../../../upstream/%{flintqs_pkg}.tar.bz2
|
||||
mv %{flintqs_pkg} src
|
||||
pushd src
|
||||
for diff in `ls ../patches/*.patch`; do
|
||||
patch -p1 < $diff
|
||||
done
|
||||
popd
|
||||
popd
|
||||
|
||||
pushd build/pkgs/graphs
|
||||
|
@ -586,8 +610,9 @@ pushd build/pkgs/pari
|
|||
popd
|
||||
%endif
|
||||
|
||||
%if %{with bundled_pexpect}
|
||||
pushd build/pkgs/pexpect
|
||||
tar jxf ../../../upstream/%{pexpect_pkg}.tar.bz2
|
||||
tar zxf ../../../upstream/%{pexpect_pkg}.tar.gz
|
||||
mv %{pexpect_pkg} src
|
||||
pushd src
|
||||
for diff in `ls ../patches/*.patch`; do
|
||||
|
@ -595,6 +620,7 @@ pushd build/pkgs/pexpect
|
|||
done
|
||||
popd
|
||||
popd
|
||||
%endif
|
||||
|
||||
pushd build/pkgs/polytopes_db
|
||||
tar jxf ../../../upstream/%{polytopes_db_pkg}.tar.bz2
|
||||
|
@ -613,15 +639,12 @@ pushd build/pkgs/rubiks
|
|||
popd
|
||||
|
||||
pushd build/pkgs/sagenb
|
||||
tar xf ../../../upstream/%{sagenb_pkg}.tar
|
||||
tar jxf ../../../upstream/%{sagenb_pkg}.tar.bz2
|
||||
mv %{sagenb_pkg} src
|
||||
pushd src
|
||||
tar zxf %{sagenb_pkg}.tar.gz
|
||||
popd
|
||||
popd
|
||||
|
||||
pushd build/pkgs/sagetex
|
||||
tar jxf ../../../upstream/%{sagetex_pkg}.tar.bz2
|
||||
tar zxf ../../../upstream/%{sagetex_pkg}.tar.gz
|
||||
mv %{sagetex_pkg} src
|
||||
popd
|
||||
|
||||
|
@ -634,12 +657,12 @@ popd
|
|||
%patch7
|
||||
%patch8
|
||||
%patch9
|
||||
%patch10
|
||||
|
||||
%if %{without bundled_pari}
|
||||
%patch11
|
||||
%patch10
|
||||
%endif
|
||||
|
||||
%patch11
|
||||
%patch12
|
||||
%patch13
|
||||
%patch14
|
||||
|
@ -647,55 +670,51 @@ popd
|
|||
%patch16
|
||||
%patch17
|
||||
%patch18
|
||||
%patch19
|
||||
|
||||
%if %{with fes}
|
||||
%patch20
|
||||
%patch19
|
||||
%else
|
||||
%patch21
|
||||
%patch20
|
||||
%endif
|
||||
|
||||
%patch21
|
||||
%patch22
|
||||
%patch23
|
||||
%patch24
|
||||
%patch25
|
||||
%patch26
|
||||
%patch27
|
||||
|
||||
%patch28
|
||||
%patch29
|
||||
%patch30
|
||||
%patch31
|
||||
|
||||
sed -e 's|@@SAGE_ROOT@@|%{SAGE_ROOT}|' \
|
||||
-e 's|@@SAGE_DOC@@|%{SAGE_DOC}|' \
|
||||
-i src/sage/env.py
|
||||
|
||||
sed -e 's|@@CYSIGNALS@@|%{_builddir}%{python_sitearch}/cysignals|' \
|
||||
-i src/setup.py
|
||||
|
||||
sed -e "s|, 'flask-oldsessions>=0.10'||" \
|
||||
-e "s|'http://github.com/mitsuhiko/flask-oldsessions/tarball/master#egg=flask-oldsessions-0.10'||" \
|
||||
-i build/pkgs/sagenb/src/%{sagenb_pkg}/setup.py
|
||||
-i build/pkgs/sagenb/src/setup.py
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# ensure proper/preferred libatlas is in linker path
|
||||
perl -pi -e 's|^(extra_link_args = ).*|$1\["-L%{_libdir}/atlas"\]|;' src/sage/misc/cython.py
|
||||
%if 0%{?fedora} > 20
|
||||
perl -pi -e "s|return 'atlas'|return 'satlas'|;" src/sage/misc/cython.py
|
||||
%endif
|
||||
# some .c files are not (re)generated
|
||||
find src/sage \( -name \*.pyx -o -name \*.pxd \) | xargs touch
|
||||
|
||||
# remove bundled jar files before build
|
||||
rm build/pkgs/sagenb/src/%{sagenb_pkg}/sagenb/data/sage3d/lib/sage3d.jar
|
||||
rm build/pkgs/sagenb/src/sagenb/data/sage3d/lib/sage3d.jar
|
||||
|
||||
# remove binary egg
|
||||
rm -r build/pkgs/sagenb/src/%{sagenb_pkg}/sagenb.egg-info
|
||||
rm -r build/pkgs/sagenb/src/sagenb.egg-info
|
||||
|
||||
# fix Singular paths
|
||||
sed -e "s,SINGULARPATH=\",&%{_libdir}/Singular/LIB:," \
|
||||
-e "s,\(SINGULAR_EXECUTABLE=\"\).*\",\1%{_libdir}/Singular/Singular\"," \
|
||||
-i src/bin/sage-env
|
||||
|
||||
# fix givaro interface on 32-bit platforms
|
||||
if [ "%{__isa_bits}" == "32" ]; then
|
||||
sed -i 's/int64_t/int32_t/' src/sage/libs/singular/singular.pyx
|
||||
fi
|
||||
|
||||
########################################################################
|
||||
%build
|
||||
export CC=%{__cc}
|
||||
|
@ -755,23 +774,37 @@ sed -i 's|\(^extra_link_args = \[\) \]|\1"-L%{_builddir}/lib"\]|' \
|
|||
src/setup.py
|
||||
%endif
|
||||
|
||||
pushd build/pkgs/cysignals/src
|
||||
%__python2 setup.py build
|
||||
%__python2 setup.py install --root %{_builddir}
|
||||
popd
|
||||
export PYTHONPATH=%{_builddir}%{python_sitearch}:$PYTHONPATH
|
||||
|
||||
%if %{with cython_hack}
|
||||
cp -far %{python_sitearch}/Cython %{_builddir}%{python_sitearch}
|
||||
PATCH=$PWD/build/pkgs/cython/patches/pxi_sys_path.patch
|
||||
pushd %{_builddir}%{python_sitearch}
|
||||
patch -p1 < $PATCH
|
||||
patch -p1 < %{PATCH27}
|
||||
popd
|
||||
%endif
|
||||
|
||||
# Restore environment used to generate bundled interfaces
|
||||
export PATH=$save_PATH
|
||||
export SAGE_LOCAL=$save_LOCAL
|
||||
|
||||
%if 1
|
||||
pushd src
|
||||
%__python2 -u ./setup.py build
|
||||
popd
|
||||
%endif
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
pushd build/pkgs/sagenb/src/%{sagenb_pkg}
|
||||
pushd build/pkgs/sagenb/src
|
||||
%__python2 ./setup.py build
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
pushd build/pkgs/flintqs/src
|
||||
%configure
|
||||
make %{?_smp_mflags} CPP="g++ %{optflags} -fPIC"
|
||||
popd
|
||||
|
||||
|
@ -779,7 +812,6 @@ pushd build/pkgs/rubiks/src
|
|||
make %{?_smp_mflags} CC="gcc -fPIC" CXX="g++ -fPIC" CFLAGS="%{optflags}" CXXFLAGS="%{optflags}"
|
||||
popd
|
||||
|
||||
%if 1
|
||||
# Remove buildroot reference from cython comments
|
||||
perl -pi -e 's|%{buildroot}||g;' `find src/build/cythonized -type f`
|
||||
|
||||
|
@ -789,7 +821,6 @@ rm -f `grep -lr "%{buildroot}" src/build/temp.linux-*/`
|
|||
pushd src
|
||||
%__python2 ./setup.py build
|
||||
popd
|
||||
%endif
|
||||
|
||||
# last build command
|
||||
rm -fr $DOT_SAGE
|
||||
|
@ -828,9 +859,51 @@ ln -sf %{_libdir} $SAGE_LOCAL/lib
|
|||
ln -sf %{_includedir} $SAGE_LOCAL/include
|
||||
ln -sf %{_datadir} $SAGE_LOCAL/share
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%if %{with cython_hack}
|
||||
mkdir -p %{buildroot}%{python_sitearch}
|
||||
cp -far %{python_sitearch}/Cython %{buildroot}%{python_sitearch}
|
||||
PATCH=$PWD/build/pkgs/cython/patches/pxi_sys_path.patch
|
||||
pushd %{buildroot}%{python_sitearch}
|
||||
patch -p1 < $PATCH
|
||||
patch -p1 < %{PATCH30}
|
||||
popd
|
||||
%endif
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
pushd build/pkgs/cysignals/src
|
||||
pushd docs
|
||||
%__make html
|
||||
popd
|
||||
%__python2 setup.py install --root %{buildroot}
|
||||
mv %{buildroot}%{_bindir}/cysignals* $SAGE_LOCAL/bin
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
pushd src/ext
|
||||
mkdir -p $SAGE_ETC
|
||||
for dir in \
|
||||
gap \
|
||||
graphs \
|
||||
images \
|
||||
magma \
|
||||
mwrank \
|
||||
notebook-ipython; do
|
||||
COUNT=`find $dir -type f | wc -l `
|
||||
if [ $COUNT -gt 0 ]; then
|
||||
cp -far $dir $SAGE_ETC
|
||||
fi
|
||||
cp -far pari $SAGE_ETC
|
||||
done
|
||||
cp -fa %{SOURCE1} $SAGE_ETC
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
pushd src
|
||||
%__python2 -u setup.py install --root=%{buildroot}
|
||||
# FIXME finishes but fails when exiting
|
||||
# from sage.misc.randstate import current_randstate
|
||||
# ImportError: No module named randstate
|
||||
%__python2 -u setup.py install --root=%{buildroot} || :
|
||||
%if %{with docs}
|
||||
# install documentation sources
|
||||
rm -fr $SAGE_DOC/{common,en,fr}
|
||||
|
@ -846,7 +919,7 @@ sed -i 's|\(^ include_directories = \[SAGE_INC,\).*|\1|' \
|
|||
%endif
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
pushd build/pkgs/sagenb/src/%{sagenb_pkg}
|
||||
pushd build/pkgs/sagenb/src
|
||||
rm -f %{buildroot}%{python_sitearch}/sagenb/data/sage3d/sage3d
|
||||
%__python2 setup.py install --root=%{buildroot} --install-purelib=%{python_sitearch}
|
||||
# jsmol
|
||||
|
@ -857,12 +930,16 @@ pushd build/pkgs/sagenb/src/%{sagenb_pkg}
|
|||
ln -sf %{SAGE_LOCAL}/bin/sage3d %{buildroot}%{python_sitearch}/sagenb/data/sage3d/sage3d
|
||||
%endif
|
||||
ln -sf %{python_sitearch}/sagenb %{buildroot}%{SAGE_SRC}/sagenb
|
||||
# use system mathjax
|
||||
ln -sf %{_jsdir}/mathjax %{buildroot}%{python_sitearch}/sagenb/data/mathjax
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%if %{with bundled_pexpect}
|
||||
pushd build/pkgs/pexpect/src
|
||||
cp -fa {ANSI,FSM,pexpect,pxssh,screen}.py $SAGE_PYTHONPATH
|
||||
cp -fa pexpect $SAGE_PYTHONPATH
|
||||
popd
|
||||
%endif
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
cp -fa COPYING.txt $SAGE_ROOT
|
||||
|
@ -883,7 +960,7 @@ install -p -m755 src/bin/sage $SAGE_LOCAL/bin
|
|||
|
||||
#------------------------------------------------------------------------
|
||||
pushd build/pkgs/flintqs/src
|
||||
cp -fa QuadraticSieve $SAGE_LOCAL/bin
|
||||
cp -fa src/QuadraticSieve $SAGE_LOCAL/bin
|
||||
popd
|
||||
|
||||
pushd build/pkgs/rubiks/src
|
||||
|
@ -959,25 +1036,6 @@ pushd build/pkgs/elliptic_curves
|
|||
%__python2 ./spkg-install
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
pushd src/ext
|
||||
mkdir -p $SAGE_ETC
|
||||
for dir in \
|
||||
gap \
|
||||
graphs \
|
||||
images \
|
||||
magma \
|
||||
mwrank \
|
||||
notebook-ipython; do
|
||||
COUNT=`find $dir -type f | wc -l `
|
||||
if [ $COUNT -gt 0 ]; then
|
||||
cp -far $dir $SAGE_ETC
|
||||
fi
|
||||
cp -far pari $SAGE_ETC
|
||||
done
|
||||
cp -fa %{SOURCE1} $SAGE_ETC
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
pushd build/pkgs/graphs
|
||||
mkdir -p $SAGE_SHARE/graphs
|
||||
|
@ -994,12 +1052,11 @@ popd
|
|||
pushd build/pkgs/sagetex/src
|
||||
%__python2 setup.py install --root=%{buildroot} --install-purelib=%{python_sitearch}
|
||||
install -p -m 0644 -D %{SOURCE2} \
|
||||
%{buildroot}%{_datadir}/texmf/tex/generic/sagetex/makecmds.sty
|
||||
mv %{buildroot}%{_docdir}/{sagetex,%{sagetex_pkg}}
|
||||
mv %{buildroot}%{_datadir}/texmf/tex/generic/sagetex/CONTRIBUTORS \
|
||||
%{buildroot}%{_docdir}/%{sagetex_pkg}
|
||||
%{buildroot}%{_datadir}/texmf/tex/latex/sagetex/makecmds.sty
|
||||
mv %{buildroot}%{_datadir}/texmf/tex/latex/sagetex/CONTRIBUTORS \
|
||||
%{buildroot}%{_docdir}/sagetex
|
||||
for file in PKG-INFO README; do
|
||||
install -p -m 0644 $file %{buildroot}%{_docdir}/%{sagetex_pkg}/$file
|
||||
install -p -m 0644 $file %{buildroot}%{_docdir}/sagetex/$file
|
||||
done
|
||||
popd
|
||||
|
||||
|
@ -1018,6 +1075,7 @@ export SAGE_EXTCODE="$SAGE_ETC"
|
|||
export SAGE_ETC="$SAGE_ETC"
|
||||
export SAGE_SRC="%{buildroot}%{SAGE_SRC}"
|
||||
##export SAGE_DOC="$SAGE_DOC"
|
||||
##export SAGE_DOC_SRC="\$SAGE_DOC"
|
||||
module load 4ti2-%{_arch}
|
||||
module load lrcalc-%{_arch}
|
||||
module load surf-geometry-%{_arch}
|
||||
|
@ -1064,16 +1122,19 @@ popd
|
|||
|
||||
%if %{with docs}
|
||||
#------------------------------------------------------------------------
|
||||
cp -f $SAGE_PYTHONPATH/{ANSI,FSM,pexpect,pxssh,screen}.py %{buildroot}%{python_sitearch}
|
||||
%if %{with bundled_pexpect}
|
||||
cp -fa $SAGE_PYTHONPATH/pexpect %{buildroot}%{python_sitearch}
|
||||
%endif
|
||||
|
||||
# Build documentation, using %#{buildroot} environment
|
||||
export SAGE_SETUP=$PWD/src/sage_setup
|
||||
pushd src/doc
|
||||
export SAGE_DOC=`pwd`
|
||||
export PATH=%{buildroot}%{_bindir}:$SAGE_LOCAL/bin:$PATH
|
||||
export SINGULARPATH=%{_libdir}/Singular/LIB
|
||||
export SINGULAR_BIN_DIR=%{_libdir}/Singular
|
||||
export LD_LIBRARY_PATH=%{_libdir}/atlas:$LD_LIBRARY_PATH
|
||||
export PYTHONPATH=%{buildroot}%{python_sitearch}:$SAGE_PYTHONPATH:$SAGE_DOC
|
||||
export PYTHONPATH=$SAGE_SETUP:%{buildroot}%{python_sitearch}:$SAGE_PYTHONPATH:$SAGE_DOC
|
||||
|
||||
%if %{with sphinx_hack}
|
||||
cp -far %{python_sitelib}/sphinx %{buildroot}%{python_sitearch}
|
||||
|
@ -1083,22 +1144,18 @@ pushd src/doc
|
|||
|
||||
# there we go
|
||||
ln -sf %{buildroot}%{SAGE_DOC} %{buildroot}%{SAGE_SRC}/doc
|
||||
LANGUAGES="ca de en fr hu it pt ru tr" \
|
||||
%__python2 common/builder.py --no-pdf-links -k all html
|
||||
export SAGE_DOC=%{buildroot}%{SAGE_DOC}
|
||||
cp -far output $SAGE_DOC
|
||||
export SAGE_DOC_SRC=$SAGE_DOC
|
||||
# python -m sage_setup.docbuild
|
||||
# FIXME there is a 'ja' translation, but adding it to $LANGUAGES
|
||||
# does not get documentation built
|
||||
LANGUAGES="ca de en fr hu it pt ru tr" \
|
||||
%__python2 -m docbuild --no-pdf-links -k all html
|
||||
rm -f %{buildroot}%{SAGE_SRC}/doc
|
||||
ln -sf %{SAGE_DOC} %{buildroot}%{SAGE_SRC}/doc
|
||||
|
||||
# should not be required and encodes buildroot
|
||||
rm -fr $SAGE_DOC/output/doctrees
|
||||
|
||||
# FIXME missing; but at least some are not. Maybe this can be removed?
|
||||
for css in $(find $SAGE_DOC/output/html -name classic.css); do
|
||||
pushd $(dirname $css)
|
||||
ln -sf classic.css default.css
|
||||
popd
|
||||
done
|
||||
popd
|
||||
|
||||
%if %{with check}
|
||||
|
@ -1110,12 +1167,18 @@ install -p -m644 $DOT_SAGE/tmp/test.log $SAGE_DOC/test.log
|
|||
sed -i 's|%{buildroot}||g' $SAGE_DOC/test.log
|
||||
%endif
|
||||
|
||||
rm -f %{buildroot}%{python_sitearch}/{ANSI,FSM,pexpect,pxssh,screen}.py{,c}
|
||||
%if %{with bundled_pexpect}
|
||||
rm -f %{buildroot}%{python_sitearch}/pexpect
|
||||
%endif
|
||||
|
||||
%if %{with sphinx_hack}
|
||||
rm -fr %{buildroot}%{python_sitearch}/sphinx
|
||||
%endif
|
||||
|
||||
%if %{with cython_hack}
|
||||
rm -fr %{buildroot}%{python_sitearch}/Cython
|
||||
%endif
|
||||
|
||||
# More wrong buildroot references
|
||||
perl -pi -e 's|%{buildroot}||g;' \
|
||||
-e "s|$PWD/src/doc|%{SAGE_DOC}|g;" \
|
||||
|
@ -1139,7 +1202,7 @@ ln -sf %{SAGE_SHARE} $SAGE_ROOT/share
|
|||
ln -sf src $SAGE_ROOT/devel
|
||||
|
||||
# Install menu and icons
|
||||
pushd build/pkgs/sagenb/src/%{sagenb_pkg}/sagenb/data
|
||||
pushd build/pkgs/sagenb/src/sagenb/data
|
||||
install -p -m644 -D sage/images/icon128x128.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
|
||||
popd
|
||||
mkdir -p %{buildroot}%{_datadir}/applications
|
||||
|
@ -1176,9 +1239,6 @@ rm -fr %{buildroot}%{SAGE_DOC}/output/inventory
|
|||
find %{buildroot}%{SAGE_DOC} -type d -name _sources | xargs rm -fr
|
||||
%endif
|
||||
|
||||
# remove bundles fonts
|
||||
rm -r %{buildroot}%{python_sitearch}/sagenb/data/mathjax/fonts
|
||||
|
||||
# remove .po files
|
||||
rm %{buildroot}%{python_sitearch}/sagenb/translations/*/LC_MESSAGES/*.po
|
||||
|
||||
|
@ -1204,7 +1264,7 @@ install -D -m 644 %{_builddir}/share/pari/pari.desc \
|
|||
|
||||
# make sure pari is in link path
|
||||
ln -s libpari-gmp-2.8.so.0.0.0 %{buildroot}%{SAGE_ROOT}/lib/libpari.so
|
||||
perl -pi -e 's|^(extra_link_args = \[.*)]|$1, "-L%{SAGE_ROOT}/lib"\]|;' %{buildroot}%{python_sitearch}/sage/misc/cython.py
|
||||
perl -pi -e 's|(libdirs = cblas_library_dirs)|$1 + \["%{SAGE_ROOT}/lib"\]|;' %{buildroot}%{python_sitearch}/sage/misc/cython.py
|
||||
%endif
|
||||
|
||||
# remove sage_setup
|
||||
|
@ -1297,8 +1357,6 @@ exit 0
|
|||
%endif
|
||||
%{SAGE_SRC}/sage
|
||||
%dir %{SAGE_PYTHONPATH}
|
||||
# MIT
|
||||
%{SAGE_PYTHONPATH}/*.py*
|
||||
# GPLv2+
|
||||
%{_bindir}/sage
|
||||
%{_datadir}/pixmaps/%{name}.png
|
||||
|
@ -1312,8 +1370,11 @@ exit 0
|
|||
#------------------------------------------------------------------------
|
||||
%files core
|
||||
# GPLv2+
|
||||
%{SAGE_LOCAL}/bin/cysignals*
|
||||
%{python_sitearch}/sage
|
||||
%{python_sitearch}/sage-*.egg-info
|
||||
%{python_sitearch}/cysignals
|
||||
%{python_sitearch}/cysignals-*.egg-info
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files data
|
||||
|
@ -1337,11 +1398,9 @@ exit 0
|
|||
%files data-etc
|
||||
# GPLv2+
|
||||
%{SAGE_ETC}/gap
|
||||
#%#{SAGE_ETC}/graphs
|
||||
%{SAGE_ETC}/images
|
||||
%{SAGE_ETC}/magma
|
||||
%{SAGE_ETC}/mwrank
|
||||
#%#{SAGE_ETC}/notebook-ipython
|
||||
%{SAGE_ETC}/pari
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
|
@ -1361,62 +1420,62 @@ exit 0
|
|||
# GPLv2+
|
||||
%dir %{SAGE_DOC}
|
||||
%{SAGE_DOC}/common
|
||||
%dir %{SAGE_DOC}/output
|
||||
%dir %{SAGE_DOC}/output/html
|
||||
%{SAGE_DOC}/output
|
||||
%dir %{SAGE_DOC}/html
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files doc-ca
|
||||
# GPLv2+
|
||||
%{SAGE_DOC}/ca
|
||||
%{SAGE_DOC}/output/html/ca
|
||||
%{SAGE_DOC}/html/ca
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files doc-de
|
||||
# GPLv2+
|
||||
%{SAGE_DOC}/de
|
||||
%{SAGE_DOC}/output/html/de
|
||||
%{SAGE_DOC}/html/de
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files doc-en
|
||||
# GPLv2+
|
||||
%{SAGE_DOC}/en
|
||||
%{SAGE_DOC}/output/html/en
|
||||
%{SAGE_DOC}/html/en
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files doc-fr
|
||||
# GPLv2+
|
||||
%{SAGE_DOC}/fr
|
||||
%{SAGE_DOC}/output/html/fr
|
||||
%{SAGE_DOC}/html/fr
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files doc-hu
|
||||
# GPLv2+
|
||||
%{SAGE_DOC}/hu
|
||||
%{SAGE_DOC}/output/html/hu
|
||||
%{SAGE_DOC}/html/hu
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files doc-it
|
||||
# GPLv2+
|
||||
%{SAGE_DOC}/it
|
||||
%{SAGE_DOC}/output/html/it
|
||||
%{SAGE_DOC}/html/it
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files doc-pt
|
||||
# GPLv2+
|
||||
%{SAGE_DOC}/pt
|
||||
%{SAGE_DOC}/output/html/pt
|
||||
%{SAGE_DOC}/html/pt
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files doc-ru
|
||||
# GPLv2+
|
||||
%{SAGE_DOC}/ru
|
||||
%{SAGE_DOC}/output/html/ru
|
||||
%{SAGE_DOC}/html/ru
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files doc-tr
|
||||
# GPLv2+
|
||||
%{SAGE_DOC}/tr
|
||||
%{SAGE_DOC}/output/html/tr
|
||||
%{SAGE_DOC}/html/tr
|
||||
# with docs
|
||||
%endif
|
||||
|
||||
|
@ -1443,7 +1502,7 @@ exit 0
|
|||
%{python_sitearch}/sagenb/data/jqueryui
|
||||
# Public Domain
|
||||
%{python_sitearch}/sagenb/data/json
|
||||
# ASL 2.0
|
||||
# Symbolic link to $_jsdir/mathjax
|
||||
%{python_sitearch}/sagenb/data/mathjax
|
||||
# Empty (do not run doctests flag file)
|
||||
%{python_sitearch}/sagenb/data/nodoctest.py*
|
||||
|
@ -1486,6 +1545,7 @@ exit 0
|
|||
%lang(de_AT) %{python_sitearch}/sagenb/translations/fr_FR
|
||||
%lang(pt_BR) %{python_sitearch}/sagenb/translations/pt_BR
|
||||
%lang(ru_RU) %{python_sitearch}/sagenb/translations/ru_RU
|
||||
%lang(uk_UA) %{python_sitearch}/sagenb/translations/uk_UA
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files rubiks
|
||||
|
@ -1503,11 +1563,17 @@ exit 0
|
|||
%files sagetex
|
||||
# GPLv2+
|
||||
%{python_sitearch}/sagetex*
|
||||
%{_datadir}/texmf/tex/generic/sagetex
|
||||
%doc %{_docdir}/%{sagetex_pkg}
|
||||
%{_datadir}/texmf/tex/latex/sagetex
|
||||
%doc %{_docdir}/sagetex
|
||||
|
||||
########################################################################
|
||||
%changelog
|
||||
* Sat Aug 20 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 7.3-1
|
||||
- Update to sagemath 7.3
|
||||
- Switch from polybori to brial
|
||||
- Default to use system pexpect
|
||||
- Use system mathjax
|
||||
|
||||
* Fri Aug 12 2016 Jerry James <loganjerry@gmail.com> - 6.8-14
|
||||
- Rebuild for fflas-ffpack 2.2.2, givaro 4.0.2, and linbox 1.4.2
|
||||
- GAP packages atlasrep, design, and hap are now available
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue