diff --git a/sagemath.spec b/sagemath.spec index 93bdf73..a6bb44a 100644 --- a/sagemath.spec +++ b/sagemath.spec @@ -3,7 +3,7 @@ %bcond_with bundled_pari %bcond_with bundled_pexpect %bcond_without bundled_ipython - +%bcond_with bundled_cysignals %bcond_without install_hack # for faster full rpm test builds @@ -34,7 +34,9 @@ %global SAGE_TIMEOUT_LONG 180 %global conway_polynomials_pkg conway_polynomials-0.4 +%if %{with bundled_cysignals} %global cysignals_pkg cysignals-1.3.2 +%endif %global elliptic_curves_pkg elliptic_curves-0.8 %global flintqs_pkg flintqs-1.0 %global graphs_pkg graphs-20161026 @@ -66,7 +68,7 @@ Name: sagemath Group: Applications/Engineering Summary: A free open-source mathematics software system Version: 7.6 -Release: 2%{?dist} +Release: 3%{?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 @@ -255,6 +257,9 @@ BuildRequires: planarity-devel BuildRequires: ppl-devel BuildRequires: pynac-devel BuildRequires: python2-devel +%if %{without bundled_cysignals} +BuildRequires: python-cysignals +%endif BuildRequires: python-flask-autoindex BuildRequires: python-flask-babel BuildRequires: python-flask-openid @@ -295,7 +300,6 @@ Requires: apache-commons-cli Requires: cddlib-tools Requires: Cython Requires: ecl -Requires: firefox Requires: gap Requires: GAPDoc Requires: gap-libs @@ -320,6 +324,9 @@ Requires: nauty Requires: palp Requires: pari-gp Requires: python-brial +%if %{without bundled_cysignals} +Requires: python-cysignals +%endif Requires: python-crypto Requires: python-cvxopt Requires: python-docutils @@ -600,6 +607,7 @@ computations, and plots from the Sage mathematics software suite %prep %setup -q -n sage-%{version} +%if %{with bundled_cysignals} pushd build/pkgs/cysignals tar jxf ../../../upstream/%{cysignals_pkg}.tar.bz2 mv %{cysignals_pkg} src @@ -609,6 +617,7 @@ pushd build/pkgs/cysignals done fi popd +%endif pushd build/pkgs/conway_polynomials tar jxf ../../../upstream/%{conway_polynomials_pkg}.tar.bz2 @@ -748,8 +757,13 @@ sed -e 's|@@SAGE_ROOT@@|%{SAGE_ROOT}|' \ -e 's|@@SAGE_DOC@@|%{SAGE_DOC}|' \ -i src/sage/env.py +%if %{with bundled_cysignals} sed -e 's|@@CYSIGNALS@@|%{_builddir}%{python_sitearch}/cysignals|' \ -i src/setup.py +%else +sed -e 's|@@CYSIGNALS@@|%{python_sitearch}/cysignals|' \ + -i src/setup.py +%endif sed -e "s|, 'flask-oldsessions>=0.10'||" \ -e "s|'http://github.com/mitsuhiko/flask-oldsessions/tarball/master#egg=flask-oldsessions-0.10'||" \ @@ -841,11 +855,13 @@ sed -i 's|\(^extra_link_args = \[\) \]|\1"-L%{_builddir}/lib"\]|' \ src/setup.py %endif +%if %{with bundled_cysignals} pushd build/pkgs/cysignals/src %__python2 setup.py build %__python2 setup.py install --root %{_builddir} popd export PYTHONPATH=%{_builddir}%{python_sitearch}:$PYTHONPATH +%endif %if %{with cython_hack} cp -far %{python_sitearch}/Cython %{_builddir}%{python_sitearch} @@ -934,6 +950,7 @@ ln -sf %{_includedir} $SAGE_LOCAL/include ln -sf %{_datadir} $SAGE_LOCAL/share #------------------------------------------------------------------------ +%if %{with bundled_cysignals} pushd build/pkgs/cysignals/src pushd docs %__make html @@ -941,6 +958,7 @@ pushd build/pkgs/cysignals/src %__python2 setup.py install --root %{buildroot} mv %{buildroot}%{_bindir}/cysignals* $SAGE_LOCAL/bin popd +%endif #------------------------------------------------------------------------ pushd src/ext @@ -1149,11 +1167,12 @@ export SAGE_ETC="$SAGE_ETC" export SAGE_SRC="%{buildroot}%{SAGE_SRC}" ##export SAGE_DOC="$SAGE_DOC" ##export SAGE_DOC_SRC="\$SAGE_DOC" +##export SAGE_PKGS="\$SAGE_LOCAL//var/lib/sage/installed" module load 4ti2-%{_arch} module load lrcalc-%{_arch} module load surf-geometry-%{_arch} export PATH=$SAGE_LOCAL/bin:\$PATH -export SINGULARPATH=%{_libdir}/Singular/LIB +export SINGULAR_DATA_DIR=%{_datadir} export SINGULAR_BIN_DIR=%{_libdir}/Singular ##export PYTHONPATH="$SAGE_PYTHONPATH:\$SAGE_LOCAL/bin" export SAGE_CBLAS=blas @@ -1260,11 +1279,14 @@ perl -pi -e 's|%{buildroot}||g;' \ # Script was used to build documentation perl -pi -e 's|%{buildroot}||g;s|^##||g;' %{buildroot}%{_bindir}/sage +%if %{with bundled_cysignals} perl -pi -e 's|%{buildroot}||;' \ %{buildroot}%{python_sitearch}/cysignals/__init__.pxd +%endif #------------------------------------------------------------------------ # Fix links +export SAGE_SRC=%{buildroot}%{SAGE_SRC} rm -fr $SAGE_SRC/sage $SAGE_ETC/sage $SAGE_ROOT/doc $SAGE_SRC/doc rm -fr $SAGE_ROOT/share $SAGE_ROOT/devel ln -sf %{python_sitearch}/sage $SAGE_SRC/sage @@ -1352,7 +1374,7 @@ rm -r %{buildroot}%{python_sitearch}/sage_setup mkdir -p %{buildroot}%{SAGE_SPKG_INST} pushd upstream for file in *.tar.*; do - touch %{buildroot}%{SAGE_SPKG_INST}/$(echo $file | sed -e 's|\.tar.*||') + mkdir %{buildroot}%{SAGE_SPKG_INST}/$(echo $file | sed -e 's|\.tar.*||') done popd #------------------------------------------------------------------------ @@ -1489,13 +1511,17 @@ exit 0 #------------------------------------------------------------------------ %files core # GPLv2+ +%if %{with bundled_cysignals} %{SAGE_LOCAL}/bin/cysignals* +%endif %{python_sitearch}/sage %if %{without install_hack} %{python_sitearch}/sage-*.egg-info %endif +%if %{with bundled_cysignals} %{python_sitearch}/cysignals %{python_sitearch}/cysignals-*.egg-info +%endif %if %{with bundled_ipython} %{SAGE_PYTHONPATH}/IPython %endif @@ -1692,6 +1718,13 @@ exit 0 ######################################################################## %changelog +* Tue May 23 2017 pcpa - 7.6-3 +- Correct singular data dir path +- Correct sage -testall initialization +- Switch to empty directory to pass check for sage packages +- Correct SAGE_SRC symbolic link +- Remove explicit firefox dependency (#1446508) + * Mon May 15 2017 Fedora Release Engineering - 7.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild