Version 9.2 (bz 1891244)

- Unbundle widgetsnbextension (bz 1856311)
- Unbundle mathjax fonts (bz 1875606)
- Do not require the -doc subpackage from the main package (bz 1867123)
- Drop upstreamed patches: -ecl, -fes, -includes, -sagetex, -sigfpe, -sympy
This commit is contained in:
Jerry James 2020-11-11 16:28:59 -07:00
parent de0ac7db5f
commit 861d3bcc88
34 changed files with 1210 additions and 4460 deletions

View file

@ -4,11 +4,10 @@
%global _python_bytecompile_extra 0
%bcond_with bundled_pexpect
%bcond_without bundled_ipython
%bcond_with bundled_ipython
%bcond_without bundled_ipywidgets
%bcond_without bundled_thebe
%bcond_without bundled_threejs
%bcond_without bundled_widgetsnbextension
%bcond_without install_hack
%if 0%{?fedora} >= 33
@ -51,38 +50,33 @@
%global flintqs_pkg flintqs-1.0
%global graphs_pkg graphs-20161026
%if %{with bundled_ipython}
%global ipython_ver 5.8.0
%global ipython_ver 7.13.0
%global ipython_pkg ipython-%{ipython_ver}
%global prompt_toolkit_ver 1.0.15
%global prompt_toolkit_ver 3.0.5
%global prompt_tookit_pkg prompt_toolkit-%{prompt_toolkit_ver}
%endif
%if %{with bundled_ipywidgets}
%global ipywidgets_ver 7.4.2
%global ipywidgets_ver 7.5.1
%global ipywidgets_pkg ipywidgets-%{ipywidgets_ver}
%endif
%if %{with bundled_pexpect}
%global pexpect_pkg pexpect-4.6.0
%global pexpect_pkg pexpect-4.8.0
%endif
%global polytopes_db_pkg polytopes_db-20170220
%global rubiks_pkg rubiks-20070912
%global sagetex_pkg sagetex-3.4
%global Sphinx_pkg Sphinx-1.8.5
%global sagetex_pkg sagetex-3.5
%global Sphinx_pkg Sphinx-3.1.2
%global singular_pkg singular-4.1.1p2
%if %{with bundled_thebe}
%global thebe_ver 9624e0a0
%global thebe_pkg thebe-%{thebe_ver}
%endif
%if %{with bundled_threejs}
%global threejs_ver r110
%global threejs_ver r117
%global threejs_pkg threejs-%{threejs_ver}
%endif
%if %{with bundled_widgetsnbextension}
%global widgetsnbextension_ver 3.4.2
%global widgetsnbextension_pkg widgetsnbextension-%{widgetsnbextension_ver}
%endif
# Spkg equivalents of required rpms; we pretend they are installed as spkgs.
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.73 CoCoALib-0.99710 coxeter3-3.1 cryptominisat-5.7.1 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.11.0 libsirocco-2.0.2 lrslib-071 mcqd-1.0 meataxe-1.0 primecount-6.0 qepcad-B.1.72 saclib-2.2.7 surf-1.0.6-gcc6 tdlib-0.9.0
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.73 CoCoALib-0.99710 coxeter3-3.1 cryptominisat-5.7.1 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.11.0 libsirocco-2.0.2 lrslib-071 mcqd-1.0 meataxe-1.0 primecount-6.1 qepcad-B.1.72 saclib-2.2.7 surf-1.0.6-gcc6 tdlib-0.9.0
%ifarch %{ix86} x86_64
%global SAGE_REQUIRED_PKGS %{SAGE_REQUIRED_PKGS} fes-0.2
@ -99,8 +93,8 @@
Name: sagemath
Summary: A free open-source mathematics software system
Version: 9.1
Release: 4%{?dist}
Version: 9.2
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
@ -123,8 +117,7 @@ Patch1: %{name}-random.patch
# Set of patches to work with system wide packages
Patch2: %{name}-scripts.patch
# remove call to not implemented sagemath "is_package_installed" interfaces
# remove check for non free solvers
# Fix building extensions with system header files and libraries
Patch3: %{name}-extensions.patch
# helper to:
@ -158,63 +151,49 @@ Patch10: %{name}-cremona.patch
# adapt to python 3 and cython running in python 3 mode
Patch11: %{name}-python3.patch
# adapt to ecl 20.4.24
Patch12: %{name}-ecl.patch
# remove the buildroot path from Cython output
Patch13: %{name}-buildroot.patch
Patch12: %{name}-buildroot.patch
# update c++ standard to fix FTBFS
Patch14: %{name}-lcalc.patch
Patch13: %{name}-lcalc.patch
# Use system gap directories and modernize libgap interface
Patch16: %{name}-libgap.patch
Patch14: %{name}-libgap.patch
# Build fes
Patch17: %{name}-fes-build.patch
# Disable fes
Patch18: %{name}-fes.patch
Patch15: %{name}-fes-build.patch
# Side effect of using distro packages
# https://bugzilla.redhat.com/show_bug.cgi?id=974769
Patch19: %{name}-sympy.patch
Patch16: %{name}-env.patch
# Correct unable to start QEPCAD within sage
# https://bugzilla.redhat.com/show_bug.cgi?id=1243590
Patch20: %{name}-qepcad.patch
Patch17: %{name}-qepcad.patch
# Correct path to arb headers
Patch21: %{name}-arb.patch
Patch18: %{name}-arb.patch
# Add missing include paths
Patch22: %{name}-includes.patch
# Use flexiblas
Patch19: %{name}-flexiblas.patch
# Use [flexi/open]blas
Patch23: %{name}-%{blaslib}.patch
# Use openblas
Patch20: %{name}-openblas.patch
# Fix paths to latte-integrale binaries
Patch24: %{name}-latte.patch
Patch21: %{name}-latte.patch
# Upstream fixes for random SIGFPEs due to ecl messing with the fp state
Patch25: %{name}-sigfpe.patch
# Add some missing #includes and types in the rubiks code
Patch26: %{name}-rubiks.patch
# Fix an indentation error in sagetex
Patch27: %{name}-sagetex.patch
# Fix some path settings in the sage environment
Patch28: %{name}-env.patch
# Change rubiks binary names to match Fedora
Patch22: %{name}-rubiks.patch
# Adapt to recent tdlib 0.9
Patch29: %{name}-tdlib.patch
Patch23: %{name}-tdlib.patch
# Use local objects.inv for intersphinx since no network on koji builders
Patch30: %{name}-intersphinx.patch
Patch24: %{name}-intersphinx.patch
# Remove an unused call to a primecount function that no longer exists
Patch31: %{name}-primecount.patch
Patch25: %{name}-primecount.patch
BuildRequires: 4ti2
BuildRequires: arb-devel
@ -224,54 +203,69 @@ BuildRequires: brial-devel
BuildRequires: cddlib-devel
BuildRequires: cddlib-tools
BuildRequires: cliquer-devel
BuildRequires: coin-or-Cbc-devel
BuildRequires: coxeter-devel
BuildRequires: desktop-file-utils
BuildRequires: dvipng
BuildRequires: ecl
BuildRequires: eclib-devel
BuildRequires: factory-devel
%if %{with fes}
BuildRequires: fes-devel
%endif
BuildRequires: flint-devel
BuildRequires: gap-devel
BuildRequires: gap-pkg-aclib
BuildRequires: gap-pkg-alnuth
BuildRequires: gap-pkg-atlasrep
BuildRequires: gap-pkg-autpgrp
BuildRequires: gap-pkg-cohomolo
BuildRequires: gap-pkg-corelg
BuildRequires: gap-pkg-crime
BuildRequires: gap-pkg-crisp
BuildRequires: gap-pkg-crystcat
BuildRequires: gap-pkg-ctbllib
BuildRequires: gap-pkg-design
BuildRequires: gap-pkg-edim
BuildRequires: gap-pkg-forms
BuildRequires: gap-pkg-factint
BuildRequires: gap-pkg-fga
BuildRequires: gap-pkg-gbnp
BuildRequires: gap-pkg-genss
BuildRequires: gap-pkg-grape
BuildRequires: gap-pkg-guava
BuildRequires: gap-pkg-hapcryst
BuildRequires: gap-pkg-hecke
BuildRequires: gap-pkg-irredsol
BuildRequires: gap-pkg-jupyterkernel
BuildRequires: gap-pkg-laguna
BuildRequires: gap-pkg-liealgdb
BuildRequires: gap-pkg-liepring
BuildRequires: gap-pkg-loops
BuildRequires: gap-pkg-lpres
BuildRequires: gap-pkg-mapclass
BuildRequires: gap-pkg-nautytracesinterface
BuildRequires: gap-pkg-polenta
BuildRequires: gap-pkg-polycyclic
BuildRequires: gap-pkg-polymaking
BuildRequires: gap-pkg-qpa
BuildRequires: gap-pkg-quagroup
BuildRequires: gap-pkg-radiroot
BuildRequires: gap-pkg-repsn
BuildRequires: gap-pkg-semigroups
BuildRequires: gap-pkg-resclasses
BuildRequires: gap-pkg-singular
BuildRequires: gap-pkg-sla
BuildRequires: gap-pkg-sonata
BuildRequires: gap-pkg-sophus
BuildRequires: gap-pkg-tomlib
BuildRequires: gap-pkg-toric
BuildRequires: gap-pkg-utils
BuildRequires: gc-devel
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
BuildRequires: gcc-objc
BuildRequires: gcc-objc++
BuildRequires: gd-devel
BuildRequires: gdb
BuildRequires: gfan
BuildRequires: giac-devel
BuildRequires: giac-doc
BuildRequires: glpk-devel
BuildRequires: gmp-ecm
BuildRequires: gmp-ecm-devel
BuildRequires: gsl-devel
BuildRequires: ImageMagick
BuildRequires: iml-devel
BuildRequires: jmol
@ -281,16 +275,11 @@ BuildRequires: jsmath-fonts
BuildRequires: L-function-devel
BuildRequires: latte-integrale
BuildRequires: libbraiding-devel
BuildRequires: libfplll-devel
BuildRequires: libgap
BuildRequires: libhomfly-devel
BuildRequires: libmpc-devel
BuildRequires: libpng-devel
BuildRequires: linbox-devel
BuildRequires: lrcalc-devel
BuildRequires: lrslib-utils
BuildRequires: m4ri-devel
BuildRequires: m4rie-devel
BuildRequires: mathjax
BuildRequires: maxima-runtime-ecl
BuildRequires: mcqd-devel
@ -305,23 +294,43 @@ BuildRequires: pari-galdata
BuildRequires: pari-gp
BuildRequires: pari-seadata
BuildRequires: perl-generators
BuildRequires: pkgconfig(bdw-gc)
BuildRequires: pkgconfig(cbc)
BuildRequires: pkgconfig(eclib)
BuildRequires: pkgconfig(factory)
BuildRequires: pkgconfig(fplll)
BuildRequires: pkgconfig(gdlib)
BuildRequires: pkgconfig(gsl)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(linbox)
BuildRequires: pkgconfig(m4ri)
BuildRequires: pkgconfig(m4rie)
BuildRequires: pkgconfig(pynac)
BuildRequires: pkgconfig(readline)
BuildRequires: pkgconfig(Singular)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(zlib)
BuildRequires: planarity-devel
BuildRequires: ppl-devel
BuildRequires: primecount-devel
BuildRequires: pynac-devel
BuildRequires: python3-devel
BuildRequires: python3-docs
BuildRequires: python3-cypari2-devel
BuildRequires: python3-cysignals-devel
%if %{without bundled_ipython}
BuildRequires: python3-ipython-sphinx
%endif
BuildRequires: python3-pillow-devel
BuildRequires: python3-pplpy-devel
BuildRequires: python3-tdlib-devel
%if %{with bundled_ipython}
BuildRequires: %{py3_dist backcall}
%endif
BuildRequires: %{py3_dist brial}
BuildRequires: %{py3_dist cvxopt}
BuildRequires: %{py3_dist cython}
BuildRequires: %{py3_dist docutils}
BuildRequires: %{py3_dist fpylll}
BuildRequires: %{py3_dist future}
BuildRequires: %{py3_dist gmpy2}
%if %{with sphinx_hack}
BuildRequires: %{py3_dist html5lib}
@ -331,6 +340,9 @@ BuildRequires: %{py3_dist ipykernel}
%if %{without bundled_ipython}
BuildRequires: %{py3_dist ipython}
%endif
%if %{with bundled_ipython}
BuildRequires: %{py3_dist jedi}
%endif
BuildRequires: %{py3_dist kiwisolver}
BuildRequires: %{py3_dist matplotlib}
BuildRequires: %{py3_dist networkx}
@ -362,16 +374,16 @@ BuildRequires: %{py3_dist simplegeneric}
BuildRequires: %{py3_dist six}
BuildRequires: %{py3_dist sphinx}
BuildRequires: %{py3_dist sympy}
BuildRequires: %{py3_dist wheel}
BuildRequires: %{py3_dist widgetsnbextension}
BuildRequires: %{py3_dist zodb3}
BuildRequires: qepcad-B
BuildRequires: R
BuildRequires: ratpoints-devel
BuildRequires: readline-devel
BuildRequires: rubiks
BuildRequires: rw-devel
BuildRequires: sharedmeataxe-devel
BuildRequires: Singular-devel
BuildRequires: sirocco-devel
BuildRequires: stix-fonts
BuildRequires: suitesparse-devel
BuildRequires: symmetrica-devel
BuildRequires: sympow
@ -383,17 +395,16 @@ BuildRequires: tex(makecmds.sty)
BuildRequires: web-assets-devel
BuildRequires: xorg-x11-fonts-Type1
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: zlib-devel
BuildRequires: zn_poly-devel
Requires: hicolor-icon-theme
Requires: rubiks
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-data = %{version}-%{release}
%if %{with docs}
Requires: %{name}-doc-en = %{version}-%{release}
Requires: %{name}-doc = %{version}-%{release}
%endif
Requires: %{name}-jupyter = %{version}-%{release}
Requires: %{name}-rubiks = %{version}-%{release}
Requires: %{name}-sagetex = %{version}-%{release}
%if %{with bundled_thebe}
@ -419,27 +430,47 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: 4ti2
Requires: cddlib-tools
Requires: gap
Requires: gap-pkg-aclib
Requires: gap-pkg-alnuth
Requires: gap-pkg-atlasrep
Requires: gap-pkg-autpgrp
Requires: gap-pkg-cohomolo
Requires: gap-pkg-corelg
Requires: gap-pkg-crime
Requires: gap-pkg-crisp
Requires: gap-pkg-crystcat
Requires: gap-pkg-ctbllib
Requires: gap-pkg-design
Requires: gap-pkg-edim
Requires: gap-pkg-forms
Requires: gap-pkg-factint
Requires: gap-pkg-fga
Requires: gap-pkg-gbnp
Requires: gap-pkg-genss
Requires: gap-pkg-grape
Requires: gap-pkg-guava
Requires: gap-pkg-hapcryst
Requires: gap-pkg-hecke
Requires: gap-pkg-irredsol
Requires: gap-pkg-jupyterkernel
Requires: gap-pkg-laguna
Requires: gap-pkg-liealgdb
Requires: gap-pkg-liepring
Requires: gap-pkg-loops
Requires: gap-pkg-lpres
Requires: gap-pkg-mapclass
Requires: gap-pkg-nautytracesinterface
Requires: gap-pkg-polenta
Requires: gap-pkg-polycyclic
Requires: gap-pkg-polymaking
Requires: gap-pkg-qpa
Requires: gap-pkg-quagroup
Requires: gap-pkg-radiroot
Requires: gap-pkg-repsn
Requires: gap-pkg-semigroups
Requires: gap-pkg-resclasses
Requires: gap-pkg-singular
Requires: gap-pkg-sla
Requires: gap-pkg-sonata
Requires: gap-pkg-sophus
Requires: gap-pkg-tomlib
Requires: gap-pkg-toric
Requires: gap-pkg-utils
Requires: gfan
@ -458,6 +489,9 @@ Requires: pari-galdata
Requires: pari-gp
Requires: pari-seadata
Requires: python3-tdlib
%if %{with bundled_ipython}
Requires: %{py3_dist backcall}
%endif
Requires: %{py3_dist brial}
Requires: %{py3_dist cypari2}
Requires: %{py3_dist cysignals}
@ -465,7 +499,6 @@ Requires: %{py3_dist cvxopt}
Requires: %{py3_dist cython}
Requires: %{py3_dist docutils}
Requires: %{py3_dist fpylll}
Requires: %{py3_dist future}
Requires: %{py3_dist gmpy2}
%if %{with sphinx_hack}
Requires: %{py3_dist html5lib}
@ -475,6 +508,9 @@ Requires: %{py3_dist ipykernel}
%if %{without bundled_ipython}
Requires: %{py3_dist ipython}
%endif
%if %{with bundled_ipython}
Requires: %{py3_dist jedi}
%endif
Requires: %{py3_dist matplotlib}
Requires: %{py3_dist networkx}
%if %{with bundled_ipython}
@ -504,8 +540,6 @@ Requires: %{py3_dist sympy}
Requires: %{py3_dist zodb3}
Requires: qepcad-B
Requires: Singular
# Required by thebe; remove when it is unbundled
Requires: stix-fonts
Requires: sympow
Requires: tachyon
Requires: texlive
@ -516,9 +550,6 @@ Provides: bundled(prompt_toolkit) = %{prompt_toolkit_ver}
%if %{with bundled_ipywidgets}
Provides: bundled(ipywidgets) = %{ipywidgets_ver}
%endif
%if %{with bundled_widgetsnbextension}
Provides: bundled(widgetsnbextension) = %{widgetsnbextension_ver}
%endif
%description core
This package contains the core sagemath python modules.
@ -621,6 +652,7 @@ ReflexivePolytope and ReflexivePolytopes commands.
#------------------------------------------------------------------------
%package doc
Summary: Documentation infrastructure files for %{name}
Requires: mathjax
%description doc
This package contains the documentation infrastructure for %{name}.
@ -704,6 +736,7 @@ This package contains the Turkish %{name} documentation.
Summary: Jupyter integration for sagemath
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python-jupyter-filesystem
Requires: %{py3_dist widgetsnbextension}
# This can be removed when Fedora 31 reaches EOL
Obsoletes: sagemath-notebook < 9.0-1
@ -713,29 +746,6 @@ Provides: sagemath-notebook = %{version}-%{release}
This package contains a Jupyter integration for sagemath, replacing the
defunct notebook functionality.
#------------------------------------------------------------------------
%package rubiks
Summary: Several programs for working with Rubik's cubes
Requires: %{name}%{?_isa} = %{version}-%{release}
%description rubiks
Several programs for working with Rubik's cubes, by three different people.
In summary the three contributors are:
Michael Reid (GPL) http://www.math.ucf.edu/~reid/Rubik/optimal_solver.html
optimal - uses many pre-computed tables to find an optimal
solution to the 3x3x3 Rubik's cube
Dik T. Winter (MIT License)
cube - uses Kociemba's algorithm to iteratively find a short
solution to the 3x3x3 Rubik's cube
size222 - solves a 2x2x2 Rubik's cube
Eric Dietz (GPL) http://www.wrongway.org/?rubiksource
cu2 - A fast, non-optimal 2x2x2 solver
cubex - A fast, non-optimal 3x3x3 solver
mcube - A fast, non-optimal 4x4x4 solver
#------------------------------------------------------------------------
%package sagetex
Summary: Sagemath into LaTeX documents
@ -812,11 +822,6 @@ popd
pushd build/pkgs/pexpect
tar zxf ../../../upstream/%{pexpect_pkg}.tar.gz
mv %{pexpect_pkg} src
pushd src
for diff in ../patches/*.patch; do
patch -p1 < $diff
done
popd
popd
%endif
@ -825,16 +830,6 @@ pushd build/pkgs/polytopes_db
mv %{polytopes_db_pkg} src
popd
pushd build/pkgs/rubiks
tar jxf ../../../upstream/%{rubiks_pkg}.tar.bz2
mv %{rubiks_pkg} src
pushd src
for diff in ../patches/*.patch; do
patch -p1 < $diff
done
popd
popd
pushd build/pkgs/sagetex
tar zxf ../../../upstream/%{sagetex_pkg}.tar.gz
mv %{sagetex_pkg} src
@ -872,13 +867,6 @@ pushd build/pkgs/threejs
popd
%endif
%if %{with bundled_widgetsnbextension}
pushd build/pkgs/widgetsnbextension
tar zxf ../../../upstream/%{widgetsnbextension_pkg}.tar.gz
mv %{widgetsnbextension_pkg} src
popd
%endif
%patch0
%patch1
%patch2
@ -894,27 +882,24 @@ popd
%patch12
%patch13
%patch14
%patch16
%if %{with fes}
%patch17
%else
%patch18
%patch15
%endif
%patch16
%patch17
%patch18
%if "%{blaslib}" == "flexiblas"
%patch19
%else
%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}|' \
@ -923,7 +908,7 @@ sed -e 's|@@SAGE_ROOT@@|%{SAGE_ROOT}|' \
sed -e 's|@@CYSIGNALS@@|%{python3_sitearch}/cysignals|' \
-e 's|@@BUILDROOT@@|%{buildroot}|' \
-i src/setup.py
-i src/sage_setup/command/sage_build_cython.py
#------------------------------------------------------------------------
# some .c files are not (re)generated
@ -968,6 +953,9 @@ sed -e "s|'%{_bindir}/env', 'which'|'%{_bindir}/which'|" \
# GAP does not have enough memory to load the entire workspace
sed -i 's/64m/256m/' src/sage/interfaces/gap.py
# GAP does not have enough memory to build docs
sed -i 's/80/128/' src/sage_setup/docbuild/build_options.py
########################################################################
%build
@ -976,7 +964,6 @@ export CC=%{__cc}
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
export SAGE_PYTHON_VERSION=3
export SAGE_PYTHON3=yes
export SAGE_ROOT=%{buildroot}%{SAGE_ROOT}
export SAGE_LOCAL=%{buildroot}%{SAGE_LOCAL}
# Avoid buildroot in gcc command line (use _builddir instead)
@ -1045,13 +1032,6 @@ pushd build/pkgs/ipywidgets/src
popd
%endif
%if %{with bundled_widgetsnbextension}
pushd build/pkgs/widgetsnbextension/src
%__python3 setup.py build
%__python3 setup.py install --root %{_builddir}
popd
%endif
%if %{with cython_hack}
cp -far %{python3_sitearch}/Cython %{_builddir}%{python3_sitearch}
BASE=$PWD/build/pkgs/cython/patches/
@ -1084,10 +1064,6 @@ pushd build/pkgs/flintqs/src
make %{?_smp_mflags} CPP="g++ %{optflags} -fPIC"
popd
pushd build/pkgs/rubiks/src
make %{?_smp_mflags} CC="gcc -fPIC" CXX="g++ -fPIC" CFLAGS="%{optflags}" CXXFLAGS="%{optflags}"
popd
# last build command
rm -fr $DOT_SAGE
@ -1105,7 +1081,6 @@ export SAGE_SHARE=%{buildroot}%{SAGE_SHARE}
export SAGE_ETC=%{buildroot}%{SAGE_ETC}
export SAGE_EXTCODE=%{buildroot}%{SAGE_ETC}
export SAGE_DOC=%{buildroot}%{SAGE_DOC}
export SAGE_PYTHON3=yes
export SAGE_PYTHONPATH=%{buildroot}%{SAGE_PYTHONPATH}
export DESTDIR=%{buildroot}
export SAGE_DEBUG=no
@ -1176,17 +1151,6 @@ pushd build/pkgs/flintqs/src
cp -fa src/QuadraticSieve $SAGE_LOCAL/bin
popd
pushd build/pkgs/rubiks/src
cp -fa \
reid/optimal \
dietz/solver/cubex \
dietz/mcube/mcube \
dietz/cu2/cu2 \
dik/dikcube \
dik/size222 \
$SAGE_LOCAL/bin
popd
#------------------------------------------------------------------------
pushd $SAGE_LOCAL/bin/
rm -f \
@ -1306,14 +1270,6 @@ pushd build/pkgs/threejs
popd
%endif
#------------------------------------------------------------------------
%if %{with bundled_widgetsnbextension}
pushd build/pkgs/widgetsnbextension/src
%py3_install "--install-purelib=%{python3_sitelib}"
mv %{buildroot}%{_prefix}%{_sysconfdir} %{buildroot}%{_sysconfdir}
popd
%endif
#------------------------------------------------------------------------
) # source build/bin/sage-dist-helpers
@ -1329,7 +1285,6 @@ export SAGE_SHARE="$SAGE_SHARE"
export SAGE_EXTCODE="$SAGE_ETC"
export SAGE_ETC="$SAGE_ETC"
export SAGE_SRC="%{buildroot}%{SAGE_SRC}"
export SAGE_PYTHON3=yes
##export SAGE_DOC="$SAGE_DOC"
##export SAGE_DOC_SRC="\$SAGE_DOC"
##export SAGE_PKGS="\$SAGE_LOCAL/var/lib/sage/installed"
@ -1467,10 +1422,8 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
# Fix permissions
find %{buildroot} -name '*.so' -exec chmod 755 {} \+
pushd %{buildroot}%{SAGE_LOCAL}/bin
chmod 755 QuadraticSieve
chmod 755 mcube dikcube cu2 size222 cubex optimal
popd
chmod 755 %{buildroot}%{SAGE_LOCAL}/bin/QuadraticSieve
chmod 755 %{buildroot}%{python3_sitearch}/sage/ext_data/pari/dokchitser/testall
for file in `find %{buildroot} -name \*.py`; do
if head -1 $file | grep -q '^#!'; then
chmod +x $file
@ -1550,6 +1503,19 @@ chmod +x %{buildroot}%{SAGE_LOCAL}/bin/sage-list-packages
# Byte compile python files in nonstandard places
%py_byte_compile %{python3} %{buildroot}%{_texmf}/tex/latex/sagetex
#------------------------------------------------------------------------
# Do not bundle mathjax
for dir in $(find %{buildroot}%{_docdir} -name _static); do
pushd $dir
for d in config extensions fonts jax localization MathJax.js test; do
if [ -d "$PWD/$d" ]; then
rm -fr $d
ln -s %{_datadir}/javascript/mathjax/$d $d
fi
done
popd
done
#------------------------------------------------------------------------
# Jupyter integration
pushd src
@ -1605,9 +1571,9 @@ rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_
# GPLv2+
%dir %{SAGE_ROOT}
%doc %{SAGE_ROOT}/COPYING.txt
%dir %{SAGE_LOCAL}
%dir %{SAGE_LOCAL}/bin
%dir %{SAGE_SHARE}
%dir %{SAGE_LOCAL}/
%dir %{SAGE_LOCAL}/bin/
%dir %{SAGE_SHARE}/
%{SAGE_LOCAL}/bin/QuadraticSieve
%{SAGE_LOCAL}/bin/ecm
%{SAGE_LOCAL}/bin/gap
@ -1620,12 +1586,12 @@ rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_
%{SAGE_LOCAL}/include
%{SAGE_LOCAL}/lib
%{SAGE_LOCAL}/share
%{SAGE_LOCAL}/var
%{SAGE_LOCAL}/var/
%ghost %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_ver}
%{SAGE_ROOT}/doc
%{SAGE_ROOT}/devel
%{SAGE_ROOT}/doc
%{SAGE_ROOT}/share
%dir %{SAGE_SRC}
%dir %{SAGE_SRC}/
%if %{with docs}
%{SAGE_SRC}/doc
%endif
@ -1637,17 +1603,17 @@ rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_
%{_datadir}/applications/%{name}.desktop
%if %{with bundled_thebe}
# MIT
%{SAGE_SHARE}/thebe
%{SAGE_SHARE}/thebe/
%endif
%if %{with bundled_threejs}
# MIT
%{SAGE_SHARE}/threejs
%{SAGE_SHARE}/threejs/
%endif
#------------------------------------------------------------------------
%files core
# GPLv2+
%{python3_sitearch}/sage
%{python3_sitearch}/sage/
%if %{without install_hack}
%{python3_sitearch}/sage-*.egg-info
%endif
@ -1661,27 +1627,27 @@ rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_
#------------------------------------------------------------------------
%files data
%dir %{SAGE_SHARE}
%dir %{SAGE_ETC}
%dir %{SAGE_SHARE}/
%dir %{SAGE_ETC}/
%{SAGE_ETC}/sage
%{SAGE_ETC}/gprc.expect
#------------------------------------------------------------------------
%files data-combinatorial_designs
# Public Domain
%{SAGE_SHARE}/combinatorial_designs
%{SAGE_SHARE}/combinatorial_designs/
#------------------------------------------------------------------------
%files data-conway_polynomials
# GPLv2+
%{SAGE_SHARE}/conway_polynomials
%{SAGE_SHARE}/conway_polynomials/
#------------------------------------------------------------------------
%files data-elliptic_curves
# GPLv2+
%dir %{SAGE_SHARE}/cremona/
%{SAGE_SHARE}/cremona/cremona_mini.db
%{SAGE_SHARE}/ellcurves
%{SAGE_SHARE}/ellcurves/
#------------------------------------------------------------------------
%files data-elliptic_curves_large
@ -1692,127 +1658,119 @@ rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_
#------------------------------------------------------------------------
%files data-etc
# GPLv2+
%{SAGE_ETC}/doctest
%{SAGE_ETC}/gap
%{SAGE_ETC}/images
%{SAGE_ETC}/kenzo
%{SAGE_ETC}/magma
%{SAGE_ETC}/mwrank
%{SAGE_ETC}/nbconvert
%{SAGE_ETC}/doctest/
%{SAGE_ETC}/gap/
%{SAGE_ETC}/kenzo/
%{SAGE_ETC}/magma/
%{SAGE_ETC}/mwrank/
%{SAGE_ETC}/nbconvert/
%{SAGE_ETC}/nodoctest
%{SAGE_ETC}/pari
%{SAGE_ETC}/singular
%{SAGE_ETC}/threejs
%{SAGE_ETC}/valgrind
%{SAGE_ETC}/pari/
%{SAGE_ETC}/singular/
%{SAGE_ETC}/threejs/
%{SAGE_ETC}/valgrind/
#------------------------------------------------------------------------
%files data-graphs
# GPLv2+
%{SAGE_ETC}/graphs
%{SAGE_SHARE}/graphs
%{SAGE_ETC}/graphs/
%{SAGE_SHARE}/graphs/
#------------------------------------------------------------------------
%files data-polytopes_db
# GPL+
%{SAGE_SHARE}/reflexive_polytopes
%{SAGE_SHARE}/reflexive_polytopes/
%if %{with docs}
#------------------------------------------------------------------------
%files doc
# GPLv2+
%dir %{SAGE_DOC}
%{SAGE_DOC}/common
%dir %{SAGE_DOC}/html
%dir %{SAGE_DOC}/
%{SAGE_DOC}/common/
%dir %{SAGE_DOC}/html/
#------------------------------------------------------------------------
%files doc-ca
# GPLv2+
%{SAGE_DOC}/ca
%{SAGE_DOC}/html/ca
%{SAGE_DOC}/ca/
%{SAGE_DOC}/html/ca/
#------------------------------------------------------------------------
%files doc-de
# GPLv2+
%{SAGE_DOC}/de
%{SAGE_DOC}/html/de
%{SAGE_DOC}/de/
%{SAGE_DOC}/html/de/
#------------------------------------------------------------------------
%files doc-en
# GPLv2+
%{SAGE_DOC}/en
%{SAGE_DOC}/html/en
%{SAGE_DOC}/en/
%{SAGE_DOC}/html/en/
#------------------------------------------------------------------------
%files doc-fr
# GPLv2+
%{SAGE_DOC}/fr
%{SAGE_DOC}/html/fr
%{SAGE_DOC}/fr/
%{SAGE_DOC}/html/fr/
#------------------------------------------------------------------------
%files doc-hu
# GPLv2+
%{SAGE_DOC}/hu
%{SAGE_DOC}/html/hu
%{SAGE_DOC}/hu/
%{SAGE_DOC}/html/hu/
#------------------------------------------------------------------------
%files doc-it
# GPLv2+
%{SAGE_DOC}/it
%{SAGE_DOC}/html/it
%{SAGE_DOC}/it/
%{SAGE_DOC}/html/it/
#------------------------------------------------------------------------
%files doc-pt
# GPLv2+
%{SAGE_DOC}/pt
%{SAGE_DOC}/html/pt
%{SAGE_DOC}/pt/
%{SAGE_DOC}/html/pt/
#------------------------------------------------------------------------
%files doc-ru
# GPLv2+
%{SAGE_DOC}/ru
%{SAGE_DOC}/html/ru
%{SAGE_DOC}/ru/
%{SAGE_DOC}/html/ru/
#------------------------------------------------------------------------
%files doc-tr
# GPLv2+
%{SAGE_DOC}/tr
%{SAGE_DOC}/html/tr
%{SAGE_DOC}/tr/
%{SAGE_DOC}/html/tr/
# with docs
%endif
#------------------------------------------------------------------------
%files jupyter
%{SAGE_ETC}/notebook-ipython
%{SAGE_ETC}/notebook-ipython/
# LGPLv2+
%if %{with bundled_widgetsnbextension}
%config(noreplace) %{_sysconfdir}/jupyter/nbconfig/notebook.d/*.json
%{_datadir}/jupyter/nbextensions/*
%{python3_sitelib}/widgetsnbextension*
%endif
%{_datadir}/jupyter/kernels/sagemath/
#------------------------------------------------------------------------
%files rubiks
# GPL+
%{SAGE_LOCAL}/bin/optimal
# MIT
%{SAGE_LOCAL}/bin/dikcube
%{SAGE_LOCAL}/bin/size222
# GPL+
%{SAGE_LOCAL}/bin/cu2
%{SAGE_LOCAL}/bin/cubex
%{SAGE_LOCAL}/bin/mcube
%{_datadir}/jupyter/nbextensions/jsmol
%{_datadir}/jupyter/nbextensions/mathjax
%{_datadir}/jupyter/nbextensions/threejs
#------------------------------------------------------------------------
%files sagetex
# GPLv2+
%{python3_sitearch}/sagetex*
%{python3_sitearch}/__pycache__/sagetex*
%{_texmf}/tex/latex/sagetex
%doc %{_docdir}/sagetex
%{_texmf}/tex/latex/sagetex/
%doc %{_docdir}/sagetex/
########################################################################
%changelog
* Tue Nov 10 2020 Jerry James <loganjerry@gmail.com> - 9.2-1
- Version 9.2 (bz 1891244)
- Unbundle widgetsnbextension (bz 1856311)
- Unbundle mathjax fonts (bz 1875606)
- Do not require the -doc subpackage from the main package (bz 1867123)
- Drop upstreamed patches: -ecl, -fes, -includes, -sagetex, -sigfpe, -sympy
* Wed Sep 30 2020 Jerry James <loganjerry@gmail.com> - 9.1-4
- Rebuild for primecount 6.1
- Bring back jmol/jsmol support