Version 9.6

- Fix path to libSingular.so (bz 2073208)
- Fix threejs install location (bz 2081720)
- Drop upstreamed -rubiks and -intersphinx-disabled-reftypes patches
- Drop no longer used ratpoints BR
- Thebe is no longer bundled
This commit is contained in:
Jerry James 2022-06-07 09:24:36 -06:00
parent 33af71616a
commit aed4db5045
10 changed files with 300 additions and 646 deletions

View file

@ -7,7 +7,6 @@
%bcond_with bundled_ipython
%bcond_without bundled_jupyter_jsmol
%bcond_without bundled_memory_allocator
%bcond_without bundled_thebe
%bcond_without bundled_threejs
%bcond_without install_hack
@ -59,19 +58,15 @@
%endif
%global polytopes_db_pkg polytopes_db-20170220
%global sagetex_pkg sagetex-3.5
%global Sphinx_pkg Sphinx-4.2.0
%global Sphinx_pkg Sphinx-4.4.0
%global singular_pkg singular-4.2.1p3
%if %{with bundled_thebe}
%global thebe_ver 9624e0a0
%global thebe_pkg thebe-%{thebe_ver}
%endif
%if %{with bundled_threejs}
%global threejs_ver r122
%global threejs_pkg threejs-sage-%{threejs_ver}
%endif
# Spkg equivalents of required rpms; we pretend they are installed as spkgs.
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.77 CoCoALib-0.99718 coxeter3-3.1 cryptominisat-5.8.0 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.11.1 libsirocco-2.1.0 lrslib-071b mcqd-1.0.0 meataxe-1.0 primecount-7.2 qepcad-B.1.74 saclib-2.2.8 surf-1.0.6-gcc6 tdlib-0.9.2
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.77 CoCoALib-0.99800 coxeter3-3.1 cryptominisat-5.8.0 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.11.1 libsirocco-2.1.0 lrslib-072 mcqd-1.0.0 meataxe-1.0 primecount-7.3 qepcad-B.1.74 saclib-2.2.8 surf-1.0.6-gcc6 tdlib-0.9.2
%ifarch %{ix86} x86_64
%global SAGE_REQUIRED_PKGS %{SAGE_REQUIRED_PKGS} fes-0.2
@ -88,8 +83,8 @@
Name: sagemath
Summary: A free open-source mathematics software system
Version: 9.5
Release: 2%{?dist}
Version: 9.6
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
@ -171,23 +166,17 @@ Patch17: %{name}-flexiblas.patch
# Fix paths to latte-integrale binaries
Patch18: %{name}-latte.patch
# Change rubiks binary names to match Fedora
Patch19: %{name}-rubiks.patch
# Adapt to recent tdlib 0.9
Patch20: %{name}-tdlib.patch
Patch19: %{name}-tdlib.patch
# Use local objects.inv for intersphinx since no network on koji builders
Patch21: %{name}-intersphinx.patch
Patch20: %{name}-intersphinx.patch
# Fix a typo that leads to infinite recursion
Patch22: %{name}-infinite-recursion.patch
Patch21: %{name}-infinite-recursion.patch
# Fix a use-after-free bug
Patch23: %{name}-use-after-free.patch
# Add a missing Sphinx config value
Patch24: %{name}-intersphinx-disabled-reftypes.patch
Patch22: %{name}-use-after-free.patch
BuildRequires: 4ti2
BuildRequires: 4ti2-devel
@ -366,9 +355,11 @@ BuildRequires: %{py3_dist argon2-cffi}
%if %{with bundled_ipython}
BuildRequires: %{py3_dist backcall}
%endif
BuildRequires: %{py3_dist beautifulsoup4}
BuildRequires: %{py3_dist beniget}
BuildRequires: %{py3_dist brial}
BuildRequires: %{py3_dist charset-normalizer}
BuildRequires: %{py3_dist colorlog}
BuildRequires: %{py3_dist cppy}
BuildRequires: %{py3_dist cvxopt}
BuildRequires: %{py3_dist cython}
@ -391,8 +382,10 @@ BuildRequires: %{py3_dist ipywidgets}
%if %{with bundled_ipython}
BuildRequires: %{py3_dist jedi}
%endif
BuildRequires: %{py3_dist jupyter-sphinx}
BuildRequires: %{py3_dist jupyterlab-pygments}
BuildRequires: %{py3_dist kiwisolver}
BuildRequires: %{py3_dist lrcalc}
BuildRequires: %{py3_dist matplotlib}
BuildRequires: %{py3_dist matplotlib-inline}
BuildRequires: %{py3_dist nbclient}
@ -413,6 +406,7 @@ BuildRequires: %{py3_dist pickleshare}
%endif
BuildRequires: %{py3_dist pip}
BuildRequires: %{py3_dist pkgconfig}
BuildRequires: %{py3_dist platformdirs}
BuildRequires: %{py3_dist pluggy}
BuildRequires: %{py3_dist ply}
BuildRequires: %{py3_dist primecountpy}
@ -433,9 +427,9 @@ BuildRequires: %{py3_dist setuptools_scm_git_archive}
BuildRequires: %{py3_dist simplegeneric}
%endif
BuildRequires: %{py3_dist six}
BuildRequires: %{py3_dist soupsieve}
BuildRequires: %{py3_dist sphinx}
BuildRequires: %{py3_dist sympy}
BuildRequires: %{py3_dist toml}
BuildRequires: %{py3_dist tomli}
BuildRequires: %{py3_dist tox}
BuildRequires: %{py3_dist typing-extensions}
@ -446,7 +440,6 @@ BuildRequires: %{py3_dist zodb3}
BuildRequires: qepcad-B
BuildRequires: qhull
BuildRequires: R
BuildRequires: ratpoints-devel
BuildRequires: rubiks
BuildRequires: rw-devel
BuildRequires: saclib-devel
@ -459,7 +452,12 @@ BuildRequires: sympow
BuildRequires: tachyon
BuildRequires: texlive
BuildRequires: tex(anyfontsize.sty)
BuildRequires: tex(fncychap.sty)
BuildRequires: tex(makecmds.sty)
BuildRequires: tex(subfigure.sty)
BuildRequires: tex(tikz-qtree.sty)
BuildRequires: tex(tkz-berge.sty)
BuildRequires: tex(xy.sty)
# For _jsdir macro
BuildRequires: web-assets-devel
BuildRequires: xorg-x11-fonts-Type1
@ -476,9 +474,6 @@ Requires: %{name}-doc = %{version}-%{release}
Requires: %{name}-jupyter = %{version}-%{release}
Requires: %{name}-sagetex = %{version}-%{release}
%if %{with bundled_thebe}
Provides: bundled(thebe) = %{thebe_ver}
%endif
%if %{with bundled_threejs}
Provides: bundled(threejs) = %{threejs_ver}
%endif
@ -567,6 +562,7 @@ Requires: %{py3_dist argcomplete}
%if %{with bundled_ipython}
Requires: %{py3_dist backcall}
%endif
Requires: %{py3_dist beautifulsoup4}
Requires: %{py3_dist beniget}
Requires: %{py3_dist brial}
Requires: %{py3_dist charset-normalizer}
@ -594,6 +590,7 @@ Requires: %{py3_dist ipywidgets}
%if %{with bundled_ipython}
Requires: %{py3_dist jedi}
%endif
Requires: %{py3_dist lrcalc}
Requires: %{py3_dist matplotlib}
Requires: %{py3_dist nbclient}
Requires: %{py3_dist nbconvert}
@ -832,6 +829,7 @@ Summary: Jupyter integration for sagemath
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python-jupyter-filesystem
Requires: %{py3_dist argon2-cffi}
Requires: %{py3_dist jupyter-sphinx}
Requires: %{py3_dist jupyterlab-pygments}
Requires: %{py3_dist matplotlib-inline}
Requires: %{py3_dist pari-jupyter}
@ -949,13 +947,6 @@ popd
%endif
%endif
%if %{with bundled_thebe}
pushd build/pkgs/thebe
unzip ../../../upstream/%{thebe_pkg}.zip
mv %{thebe_pkg}* src
popd
%endif
%if %{with bundled_threejs}
pushd build/pkgs/threejs
tar zxf ../../../upstream/%{threejs_pkg}.tar.gz
@ -990,8 +981,6 @@ popd
%patch20
%patch21
%patch22
%patch23
%patch24
sed -i 's|@@SAGE_LOCAL@@|%{SAGE_LOCAL}|' src/sage/env.py
@ -1035,12 +1024,12 @@ sed -i 's/64m/256m/' src/sage/interfaces/gap.py
# Fix detection of Fedora
sed -i 's/yum/rpm/' build/bin/sage-guess-package-system
# Allow use of gcc 12
sed -i 's/1\[2-9\]\.\*)/1[3-9].*)/' configure
# Allow use of python 3.11
sed -i 's/3\.11\.0/3.12.0/g' configure
# Allow use of libfplll 5.4.2
sed -i 's/5\.4\.1/5.4.2/g' configure
# Do not build with -march=native
sed -i 's/CFLAGS_MARCH="-march=native"/CFLAGS_MARCH=""/' configure
@ -1362,18 +1351,11 @@ mv %{_builddir}%{python3_sitelib}/jupyter_jsmol* %{buildroot}%{SAGE_PYTHONPATH}
mv %{_builddir}%{python3_sitearch}/memory_allocator* %{buildroot}%{SAGE_PYTHONPATH}
%endif
#------------------------------------------------------------------------
%if %{with bundled_thebe}
pushd build/pkgs/thebe
mkdir -p $SAGE_SHARE/thebe
cp -p src/static/main-built.js $SAGE_SHARE/thebe/thebe.js
popd
%endif
#------------------------------------------------------------------------
%if %{with bundled_threejs}
pushd build/pkgs/threejs
cp -a src $SAGE_SHARE/threejs
mkdir -p $SAGE_SHARE/threejs-sage
cp -a src/build $SAGE_SHARE/threejs-sage/%{threejs_ver}
popd
%endif
@ -1402,7 +1384,7 @@ module load surf-geometry-%{_arch}
export PATH=$SAGE_LOCAL/bin:\$PATH
export SINGULAR_DATA_DIR=%{_datadir}
export SINGULAR_BIN_DIR=%{_libdir}/Singular
export SINGULAR_SO=%{_libdir}/libSingular-$singver.so
export LIBSINGULAR_PATH=%{_libdir}/libSingular-$singver.so
##export PYTHONPATH="$SAGE_PYTHONPATH:\$SAGE_LOCAL/bin"
export SYMPOW_DIR="\$DOT_SAGE/sympow"
# Required for sage -gdb
@ -1458,6 +1440,7 @@ pushd src/doc
ln -sf %{buildroot}%{SAGE_DOC} %{buildroot}%{SAGE_SRC}/doc
export SAGE_DOC=%{buildroot}%{SAGE_DOC}
export SAGE_DOC_SRC=$SAGE_DOC
export JUPYTER_PATH=%{buildroot}%{_datadir}/jupyter
# Build with an X server running, required by some doc builders
SAGE_NUM_THREADS=2 \
xvfb-run -d %{python3} -m sage_docbuild --no-pdf-links -k all html -j
@ -1784,6 +1767,7 @@ for _, path in ipairs(paths) do
end
%endif
%files
# GPLv2+
%license COPYING.txt
@ -1807,13 +1791,9 @@ end
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/applications/org.%{name}.sage.desktop
%{_metainfodir}/org.%{name}.sage.metainfo.xml
%if %{with bundled_thebe}
# MIT
%{SAGE_SHARE}/thebe/
%endif
%if %{with bundled_threejs}
# MIT
%{SAGE_SHARE}/threejs/
%{SAGE_SHARE}/threejs-sage/
%endif
#------------------------------------------------------------------------
@ -1895,6 +1875,7 @@ end
# GPLv2+
%license COPYING.txt
%dir %{SAGE_DOC}/
%{SAGE_DOC}/index.html
%{SAGE_DOC}/common/
%dir %{SAGE_DOC}/html/
@ -2040,6 +2021,14 @@ end
########################################################################
%changelog
* Wed Jun 1 2022 Jerry James <loganjerry@gmail.com> - 9.6-1
- Version 9.6
- Fix path to libSingular.so (bz 2073208)
- Fix threejs install location (bz 2081720)
- Drop upstreamed -rubiks and -intersphinx-disabled-reftypes patches
- Drop no longer used ratpoints BR
- Thebe is no longer bundled
* Sun Mar 27 2022 Jerry James <loganjerry@gmail.com> - 9.5-2
- Remove all support for 32-bit platforms
- Remove the interactive shell argument from /usr/bin/sage (rhbz#2028403)