86f823b
%global __provides_exclude_from	.*/site-packages/.*\\.so
86f823b
eaa777c
# This package installs python files in nonstandard places
2e5bf94
%global _python_bytecompile_extra 0
2e5bf94
0fdebf2
%bcond_with bundled_pexpect
55beead
%bcond_without bundled_ipython
bd028da
%bcond_without bundled_ipywidgets
2e5bf94
%bcond_without bundled_thebe
2e5bf94
%bcond_without bundled_threejs
2e5bf94
%bcond_without bundled_widgetsnbextension
807c53b
%bcond_without install_hack
3aa9b0c
0816026
# jmol has been retired from Fedora; set this if it ever comes back
0816026
%bcond_with jmol
0816026
7531f3c
# for faster full rpm test builds
8de2d6b
%ifarch %{ix86} x86_64
7531f3c
%bcond_without docs
8de2d6b
%else
8de2d6b
%bcond_with docs
8de2d6b
%endif
7531f3c
b6408b9
# use a workaround to match upstream sagemath patched sphinx
7531f3c
%bcond_without sphinx_hack
86f823b
0fdebf2
# use workaround to match upstream sagemath patched cython
6b38193
%bcond_with cython_hack
0fdebf2
b6408b9
%ifarch %{ix86} x86_64
7531f3c
%bcond_without fes
86f823b
%else
7531f3c
%bcond_with fes
86f823b
%endif
86f823b
6bf01b5
# switch to run make -testall
7531f3c
%bcond_with check
86f823b
%global SAGE_TIMEOUT		60
86f823b
%global SAGE_TIMEOUT_LONG	180
86f823b
925e91d
%global combinatorial_designs_pkg	combinatorial_designs-20140630
abc6d11
%global conway_polynomials_pkg	conway_polynomials-0.5
2fac775
%global cremona_ver		2019-10-29
5a519c8
%global	elliptic_curves_pkg	elliptic_curves-0.8.1
0fdebf2
%global	flintqs_pkg		flintqs-1.0
056e08d
%global graphs_pkg		graphs-20161026
807c53b
%if %{with bundled_ipython}
5a519c8
%global ipython_ver		5.8.0
5a519c8
%global ipython_pkg		ipython-%{ipython_ver}
5a519c8
%global prompt_toolkit_ver	1.0.15
5a519c8
%global prompt_tookit_pkg	prompt_toolkit-%{prompt_toolkit_ver}
807c53b
%endif
bd028da
%if %{with bundled_ipywidgets}
5a519c8
%global ipywidgets_ver		7.4.2
5a519c8
%global ipywidgets_pkg		ipywidgets-%{ipywidgets_ver}
bd028da
%endif
0fdebf2
%if %{with bundled_pexpect}
eaa777c
%global pexpect_pkg		pexpect-4.6.0
3aa9b0c
%endif
925e91d
%global polytopes_db_pkg	polytopes_db-20170220
34b5d7d
%global rubiks_pkg		rubiks-20070912
2fac775
%global sagetex_pkg		sagetex-3.4
5a519c8
%global Sphinx_pkg		Sphinx-1.8.5
7b54d21
%global singular_pkg		singular-4.1.1p2
2e5bf94
%if %{with bundled_thebe}
5a519c8
%global thebe_ver		9624e0a0
5a519c8
%global thebe_pkg		thebe-%{thebe_ver}
2e5bf94
%endif
2e5bf94
%if %{with bundled_threejs}
2fac775
%global threejs_ver		r110
5a519c8
%global threejs_pkg		threejs-%{threejs_ver}
2e5bf94
%endif
2e5bf94
%if %{with bundled_widgetsnbextension}
5a519c8
%global widgetsnbextension_ver	3.4.2
5a519c8
%global widgetsnbextension_pkg	widgetsnbextension-%{widgetsnbextension_ver}
2e5bf94
%endif
86f823b
1a0bd1a
# Spkg equivalents of required rpms; we pretend they are installed as spkgs.
2fac775
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.73 cbc-2.10.4 CoCoALib-0.99650 coxeter3-3.1 cryptominisat-5.6.8 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.10.2 gmp-6.1.2 libsirocco-2.0.2 lrslib-070 mcqd-1.0 meataxe-1.0 primecount-5.3 qepcad-B.1.72 saclib-2.2.7 surf-1.0.6-gcc6 tdlib-0.9.0
ecae648
ecae648
%ifarch %{ix86} x86_64
ecae648
%global SAGE_REQUIRED_PKGS %{SAGE_REQUIRED_PKGS} fes-0.2
ecae648
%endif
1a0bd1a
86f823b
%global SAGE_ROOT		%{_libdir}/sagemath
86f823b
%global SAGE_LOCAL		%{SAGE_ROOT}/local
fbc0e8d
%global SAGE_SRC		%{SAGE_ROOT}/src
4c97a63
%global SAGE_DOC		%{_docdir}/%{name}
86f823b
%global SAGE_SHARE		%{_datadir}/sagemath
34b5d7d
%global SAGE_ETC		%{SAGE_SHARE}/etc
86f823b
%global SAGE_PYTHONPATH		%{SAGE_ROOT}/site-packages
3aa9b0c
%global SAGE_SPKG_INST		%{SAGE_LOCAL}/var/lib/sage/installed
86f823b
86f823b
Name:		sagemath
86f823b
Summary:	A free open-source mathematics software system
2fac775
Version:	9.0
4556e3e
Release:	8%{?dist}
86f823b
# The file ${SAGE_ROOT}/COPYING.txt is the upstream license breakdown file
86f823b
# Additionally, every $files section has a comment with the license name
86f823b
# before files with that license
86f823b
License:	ASL 2.0 and BSD and GPL+ and GPLv2+ and LGPLv2+ and MIT and Public Domain
86f823b
URL:		http://www.sagemath.org
925e91d
Source0:	http://files.sagemath.org/src/sage-%{version}.tar.gz
da8d23a
Source1:	https://github.com/JohnCremona/ecdata/archive/%{cremona_ver}/cremona-%{cremona_ver}.tar.gz
ecae648
Source2:	gprc.expect
042a67a
# Follow maxima's ExclusiveArch, except exclude 32-bit ARM.  The source RPM is
042a67a
# now about 2GB in size.  The 32-bit ARM builders run out of memory trying to
042a67a
# create the SRPM and also trying to unpack the SRPM before starting a build.
042a67a
ExclusiveArch: aarch64 %{ix86} x86_64 ppc sparcv9
86f823b
2fac775
# Fix stray escapes in python strings
2fac775
Patch0:		%{name}-escape.patch
55beead
0533707
# Fix a "random" bit chooser that always chooses 0
0533707
Patch1:		%{name}-random.patch
55beead
86f823b
# Set of patches to work with system wide packages
86f823b
Patch2:		%{name}-scripts.patch
86f823b
86f823b
# remove call to not implemented sagemath "is_package_installed" interfaces
86f823b
# remove check for non free solvers
738094a
Patch3:		%{name}-extensions.patch
86f823b
86f823b
# helper to:
86f823b
#	o respect a DESTDIR environment variable
2fac775
#	o avoid double '//' in pathnames, which can confuse debugedit & co
86f823b
#	o minor change to help in incremental builds by avoiding rebuilding
86f823b
#	  files
86f823b
#	o do not assume there is an installed sagemath
738094a
Patch4:		%{name}-rpmbuild.patch
86f823b
86f823b
# build documentation in buildroot environment
738094a
Patch5:		%{name}-sagedoc.patch
86f823b
86f823b
# do not attempt to create state files in system directories
2fac775
Patch6:		%{name}-readonly.patch
86f823b
86f823b
# work with all maxima-runtime lisp backend packages
2fac775
Patch7:		%{name}-maxima.patch
86f823b
86f823b
# execute 4ti2 programs in $PATH not in $SAGE_ROOT/local/bin
2fac775
Patch8:		%{name}-4ti2.patch
86f823b
86f823b
# use jmol itself to export preview images
86f823b
# FIXME besides not using X and told so, fails if DISPLAY is not set
2fac775
Patch9:		%{name}-jmol.patch
86f823b
ecae648
# tell the user how to install the large Cremona database
ecae648
# add a missing commit() that causes large database construction to fail
2fac775
Patch10:	%{name}-cremona.patch
86f823b
eaa777c
# adapt to python 3 and cython running in python 3 mode
2fac775
Patch11:	%{name}-python3.patch
eaa777c
cb1cb96
# correct path to the nauty geng program
2fac775
Patch12:	%{name}-nauty.patch
86f823b
eaa777c
# remove the buildroot path from Cython output
2fac775
Patch13:	%{name}-buildroot.patch
eaa777c
925e91d
# update c++ standard to fix FTBFS
2fac775
Patch14:	%{name}-lcalc.patch
86f823b
3aa9b0c
# avoid assertion in coin backend
2fac775
Patch15:	%{name}-cbc.patch
86f823b
e87f50f
# Use system gap directories and modernize libgap interface
2fac775
Patch16:	%{name}-libgap.patch
86f823b
3aa9b0c
# Build fes
2fac775
Patch17:	%{name}-fes-build.patch
3aa9b0c
# Disable fes
2fac775
Patch18:	%{name}-fes.patch
Jerry James eac7c8f
d4a07df
# Side effect of using distro packages
d4a07df
# https://bugzilla.redhat.com/show_bug.cgi?id=974769
2fac775
Patch19:	%{name}-sympy.patch
4c97a63
396208c
# Correct unable to start QEPCAD within sage
396208c
# https://bugzilla.redhat.com/show_bug.cgi?id=1243590
2fac775
Patch20:	%{name}-qepcad.patch
3aa9b0c
3aa9b0c
# Correct path to arb headers
2fac775
Patch21:	%{name}-arb.patch
0fdebf2
0fdebf2
# Add missing include paths
2fac775
Patch22:	%{name}-includes.patch
0fdebf2
eaa777c
# Use openblas
2fac775
Patch23:	%{name}-openblas.patch
09aad4c
55beead
# Fix paths to latte-integrale binaries
2fac775
Patch24:	%{name}-latte.patch
55beead
55beead
# Upstream fixes for random SIGFPEs due to ecl messing with the fp state
2fac775
Patch25:	%{name}-sigfpe.patch
3dc6dbb
0533707
# Add some missing #includes and types in the rubiks code
2fac775
Patch26:	%{name}-rubiks.patch
0533707
0533707
# Fix an indentation error in sagetex
2fac775
Patch27:	%{name}-sagetex.patch
0533707
5a519c8
# Fix some path settings in the sage environment
2fac775
Patch28:	%{name}-env.patch
05ae6fe
44047e4
# Adapt to recent tdlib 0.9
2fac775
Patch29:	%{name}-tdlib.patch
44047e4
44047e4
# Use local objects.inv for intersphinx since no network on koji builders
2fac775
Patch30:	%{name}-intersphinx.patch
44047e4
e524b0b
# Remove an unused call to a primecount function that no longer exists
e524b0b
Patch31:	%{name}-primecount.patch
e524b0b
86f823b
BuildRequires:	4ti2
3aa9b0c
BuildRequires:	arb-devel
ecae648
BuildRequires:	bliss-devel
925e91d
BuildRequires:	boost-devel
0fdebf2
BuildRequires:	brial-devel
86f823b
BuildRequires:	cddlib-tools
86f823b
BuildRequires:	cliquer-devel
86f823b
BuildRequires:	coin-or-Cbc-devel
ecae648
BuildRequires:	coxeter-devel
86f823b
BuildRequires:	desktop-file-utils
86f823b
BuildRequires:	dvipng
86f823b
BuildRequires:	ecl
86f823b
BuildRequires:	eclib-devel
86f823b
BuildRequires:	factory-devel
7531f3c
%if %{with fes}
86f823b
BuildRequires:	fes-devel
86f823b
%endif
0fdebf2
BuildRequires:	flint-devel
86f823b
BuildRequires:	gap
e87f50f
BuildRequires:	gap-pkg-cohomolo
05ae6fe
BuildRequires:	gap-pkg-corelg
925e91d
BuildRequires:	gap-pkg-crime
3c5f238
BuildRequires:	gap-pkg-design
e87f50f
BuildRequires:	gap-pkg-edim
ecae648
BuildRequires:	gap-pkg-forms
a5348b3
BuildRequires:	gap-pkg-guava
925e91d
BuildRequires:	gap-pkg-hapcryst
ecae648
BuildRequires:	gap-pkg-hecke
e87f50f
BuildRequires:	gap-pkg-jupyterkernel
05ae6fe
BuildRequires:	gap-pkg-liealgdb
05ae6fe
BuildRequires:	gap-pkg-liepring
05ae6fe
BuildRequires:	gap-pkg-loops
e87f50f
BuildRequires:	gap-pkg-lpres
05ae6fe
BuildRequires:	gap-pkg-mapclass
e87f50f
BuildRequires:	gap-pkg-nautytracesinterface
e87f50f
BuildRequires:	gap-pkg-qpa
e87f50f
BuildRequires:	gap-pkg-radiroot
05ae6fe
BuildRequires:	gap-pkg-repsn
e87f50f
BuildRequires:	gap-pkg-semigroups
ecae648
BuildRequires:	gap-pkg-singular
925e91d
BuildRequires:	gap-pkg-toric
e87f50f
BuildRequires:	gap-pkg-utils
86f823b
BuildRequires:	gc-devel
fd1b52a
BuildRequires:	gcc-c++
5a519c8
BuildRequires:	gcc-gfortran
5a519c8
BuildRequires:	gcc-objc
5a519c8
BuildRequires:	gcc-objc++
86f823b
BuildRequires:	gd-devel
55beead
BuildRequires:	gdb
86f823b
BuildRequires:	gfan
925e91d
BuildRequires:	giac-devel
86f823b
BuildRequires:	glpk-devel
bd028da
BuildRequires:	gmp-ecm
925e91d
BuildRequires:	gmp-ecm-devel
86f823b
BuildRequires:	gsl-devel
bd028da
BuildRequires:	ImageMagick
86f823b
BuildRequires:	iml-devel
0816026
%if %{with jmol}
bd028da
BuildRequires:	jmol
48c70ab
# To have a proper link
2fac775
BuildRequires:	jsmol
0816026
%endif
0816026
BuildRequires:	jsmath-fonts
86f823b
BuildRequires:	L-function-devel
0bfecd9
BuildRequires:	lapack-devel
925e91d
BuildRequires:	latte-integrale
eaa777c
BuildRequires:	libbraiding-devel
86f823b
BuildRequires:	libfplll-devel
86f823b
BuildRequires:	libgap-devel
eaa777c
BuildRequires:	libhomfly-devel
86f823b
BuildRequires:	libmpc-devel
1a0bd1a
BuildRequires:	libpng-devel
86f823b
BuildRequires:	linbox-devel
86f823b
BuildRequires:	lrcalc-devel
bd028da
BuildRequires:	lrslib-utils
86f823b
BuildRequires:	m4ri-devel
86f823b
BuildRequires:	m4rie-devel
bd028da
BuildRequires:	mathjax
86f823b
BuildRequires:	maxima-runtime-ecl
ecae648
BuildRequires:	mcqd-devel
86f823b
BuildRequires:	mpfi-devel
cb1cb96
BuildRequires:	nauty
86f823b
BuildRequires:	ntl-devel
eaa777c
BuildRequires:	openblas-devel
925e91d
BuildRequires:	openssl
86f823b
BuildRequires:	palp
86f823b
BuildRequires:	pari-devel
925e91d
BuildRequires:	pari-galdata
86f823b
BuildRequires:	pari-gp
925e91d
BuildRequires:	pari-seadata
5a519c8
BuildRequires:	perl-generators
3aa9b0c
BuildRequires:	planarity-devel
86f823b
BuildRequires:	ppl-devel
05ae6fe
BuildRequires:	primecount-devel
86f823b
BuildRequires:	pynac-devel
eaa777c
BuildRequires:	python3-devel
44047e4
BuildRequires:	python3-docs
eaa777c
BuildRequires:	python3-cypari2-devel
eaa777c
BuildRequires:	python3-cysignals-devel
eaa777c
BuildRequires:	python3-pillow-devel
0533707
BuildRequires:	python3-pplpy-devel
44047e4
BuildRequires:	python3-tdlib-devel
eaa777c
BuildRequires:	python3dist(brial)
eaa777c
BuildRequires:	python3dist(cvxopt)
eaa777c
BuildRequires:	python3dist(cython)
eaa777c
BuildRequires:	python3dist(docutils)
eaa777c
BuildRequires:	python3dist(fpylll)
eaa777c
BuildRequires:	python3dist(future)
eaa777c
BuildRequires:	python3dist(gmpy2)
925e91d
%if %{with sphinx_hack}
eaa777c
BuildRequires:	python3dist(html5lib)
eaa777c
BuildRequires:	python3dist(imagesize)
925e91d
%endif
eaa777c
BuildRequires:	python3dist(ipykernel)
807c53b
%if %{without bundled_ipython}
eaa777c
BuildRequires:	python3dist(ipython)
925e91d
%endif
eaa777c
BuildRequires:	python3dist(kiwisolver)
eaa777c
BuildRequires:	python3dist(matplotlib)
eaa777c
BuildRequires:	python3dist(networkx)
eaa777c
BuildRequires:	python3dist(notebook)
925e91d
%if %{with bundled_ipython}
eaa777c
BuildRequires:	python3dist(path.py)
ecae648
%endif
0fdebf2
%if %{without bundled_pexpect}
eaa777c
BuildRequires:	python3dist(pexpect)
eaa777c
%endif
ecae648
%if %{with bundled_ipython}
eaa777c
BuildRequires:	python3dist(pickleshare)
ecae648
%endif
eaa777c
BuildRequires:	python3dist(pip)
eaa777c
BuildRequires:	python3dist(pkgconfig)
eaa777c
BuildRequires:	python3dist(psutil)
eaa777c
BuildRequires:	python3dist(ptyprocess)
eaa777c
BuildRequires:	python3dist(pycryptosat)
925e91d
%if %{with bundled_ipython}
5a519c8
BuildRequires:	python3dist(pyzmq)
0fdebf2
%endif
eaa777c
BuildRequires:	python3dist(rpy2)
eaa777c
BuildRequires:	python3dist(scipy)
eaa777c
BuildRequires:	python3dist(scons)
eaa777c
BuildRequires:	python3dist(setuptools)
1a0bd1a
%if %{with bundled_ipython}
eaa777c
BuildRequires:	python3dist(simplegeneric)
eaa777c
%endif
eaa777c
BuildRequires:	python3dist(six)
eaa777c
BuildRequires:	python3dist(speaklater)
eaa777c
BuildRequires:	python3dist(sphinx)
eaa777c
BuildRequires:	python3dist(sympy)
eaa777c
BuildRequires:	python3dist(zodb3)
bd028da
BuildRequires:	qepcad-B
86f823b
BuildRequires:	R
86f823b
BuildRequires:	ratpoints-devel
86f823b
BuildRequires:	readline-devel
3aa9b0c
BuildRequires:	rw-devel
44047e4
BuildRequires:	sharedmeataxe-devel
86f823b
BuildRequires:	Singular-devel
eaa777c
BuildRequires:	sirocco-devel
2fac775
BuildRequires:	stix-fonts
2fac775
BuildRequires:	suitesparse-devel
3aa9b0c
BuildRequires:	symmetrica-devel
86f823b
BuildRequires:	sympow
bd028da
BuildRequires:	tachyon
86f823b
BuildRequires:	texlive
c8fadf1
BuildRequires:	tex(anyfontsize.sty)
925e91d
BuildRequires:	tex(makecmds.sty)
48c70ab
# For _jsdir macro
48c70ab
BuildRequires:	web-assets-devel
bd028da
BuildRequires:	xorg-x11-fonts-Type1
bd028da
BuildRequires:	xorg-x11-server-Xvfb
1a0bd1a
BuildRequires:	zlib-devel
550801c
BuildRequires:	zn_poly-devel
86f823b
ecae648
Requires:	hicolor-icon-theme
2fac775
Requires:	%{name}-core = %{version}-%{release}
2fac775
Requires:	%{name}-data = %{version}-%{release}
ecae648
%if %{with docs}
2fac775
Requires:	%{name}-doc-en = %{version}-%{release}
ecae648
%endif
2fac775
Requires:	%{name}-jupyter = %{version}-%{release}
2fac775
Requires:	%{name}-rubiks = %{version}-%{release}
2fac775
Requires:	%{name}-sagetex = %{version}-%{release}
ecae648
ecae648
%if %{with bundled_thebe}
ecae648
Provides:	bundled(thebe) = %{thebe_ver}
ecae648
%endif
ecae648
%if %{with bundled_threejs}
ecae648
Provides:	bundled(threejs) = %{threejs_ver}
ecae648
%endif
ecae648
ecae648
# This can be removed when Fedora 30 reaches EOL
ecae648
Obsoletes:	%{name}-notebook-export < 8.8-5
ecae648
Provides:	%{name}-notebook-export = %{version}-%{release}
ecae648
ecae648
%description
ecae648
Sage is a free open-source mathematics software system licensed
ecae648
under the GPL. It combines the power of many existing open-source
ecae648
packages into a common Python-based interface.
ecae648
ecae648
#------------------------------------------------------------------------
ecae648
%package	core
ecae648
Summary:	Open Source Mathematics Software
ecae648
Requires:	%{name}%{?_isa} = %{version}-%{release}
86f823b
Requires:	4ti2
86f823b
Requires:	cddlib-tools
86f823b
Requires:	gap
e87f50f
Requires:	gap-pkg-cohomolo
05ae6fe
Requires:	gap-pkg-corelg
925e91d
Requires:	gap-pkg-crime
3c5f238
Requires:	gap-pkg-design
e87f50f
Requires:	gap-pkg-edim
ecae648
Requires:	gap-pkg-forms
a5348b3
Requires:	gap-pkg-guava
925e91d
Requires:	gap-pkg-hapcryst
ecae648
Requires:	gap-pkg-hecke
e87f50f
Requires:	gap-pkg-jupyterkernel
05ae6fe
Requires:	gap-pkg-liealgdb
05ae6fe
Requires:	gap-pkg-liepring
05ae6fe
Requires:	gap-pkg-loops
e87f50f
Requires:	gap-pkg-lpres
05ae6fe
Requires:	gap-pkg-mapclass
e87f50f
Requires:	gap-pkg-nautytracesinterface
e87f50f
Requires:	gap-pkg-qpa
e87f50f
Requires:	gap-pkg-radiroot
05ae6fe
Requires:	gap-pkg-repsn
e87f50f
Requires:	gap-pkg-semigroups
e87f50f
Requires:	gap-pkg-singular
925e91d
Requires:	gap-pkg-toric
e87f50f
Requires:	gap-pkg-utils
86f823b
Requires:	gfan
86f823b
Requires:	gmp-ecm
0816026
%if %{with jmol}
86f823b
Requires:	jmol
ecae648
Requires:	jsmol
0816026
%endif
0816026
Requires:	jsmath-fonts
925e91d
Requires:	latte-integrale
d736124
Requires:	libgap-devel
86f823b
Requires:	lrslib-utils
0fdebf2
Requires:	mathjax
86f823b
Requires:	maxima-runtime-ecl
cb1cb96
Requires:	nauty
86f823b
Requires:	palp
925e91d
Requires:	pari-galdata
86f823b
Requires:	pari-gp
925e91d
Requires:	pari-seadata
44047e4
Requires:	python3-tdlib
eaa777c
Requires:	python3dist(brial)
eaa777c
Requires:	python3dist(cypari2)
eaa777c
Requires:	python3dist(cysignals)
eaa777c
Requires:	python3dist(cvxopt)
eaa777c
Requires:	python3dist(cython)
eaa777c
Requires:	python3dist(docutils)
eaa777c
Requires:	python3dist(fpylll)
eaa777c
Requires:	python3dist(future)
eaa777c
Requires:	python3dist(gmpy2)
925e91d
%if %{with sphinx_hack}
eaa777c
Requires:	python3dist(html5lib)
eaa777c
Requires:	python3dist(imagesize)
925e91d
%endif
eaa777c
Requires:	python3dist(ipykernel)
807c53b
%if %{without bundled_ipython}
eaa777c
Requires:	python3dist(ipython)
925e91d
%endif
eaa777c
Requires:	python3dist(matplotlib)
eaa777c
Requires:	python3dist(networkx)
925e91d
%if %{with bundled_ipython}
55beead
Requires:	python3dist(path.py)
ecae648
%endif
0fdebf2
%if %{without bundled_pexpect}
eaa777c
Requires:	python3dist(pexpect)
eaa777c
%endif
ecae648
%if %{with bundled_ipython}
eaa777c
Requires:	python3dist(pickleshare)
ecae648
%endif
0533707
Requires:	python3dist(pplpy)
eaa777c
Requires:	python3dist(psutil)
eaa777c
Requires:	python3dist(ptyprocess)
eaa777c
Requires:	python3dist(pycryptosat)
ecae648
%if %{with bundled_ipython}
ecae648
Requires:	python3dist(pyzmq)
ecae648
%endif
eaa777c
Requires:	python3dist(rpy2)
eaa777c
Requires:	python3dist(scipy)
925e91d
%if %{with bundled_ipython}
ecae648
Requires:	python3dist(simplegeneric)
0fdebf2
%endif
eaa777c
Requires:	python3dist(six)
eaa777c
Requires:	python3dist(sphinx)
eaa777c
Requires:	python3dist(sympy)
eaa777c
Requires:	python3dist(zodb3)
396208c
Requires:	qepcad-B
86f823b
Requires:	Singular
2fac775
# Required by thebe; remove when it is unbundled
2fac775
Requires:	stix-fonts
86f823b
Requires:	sympow
86f823b
Requires:	tachyon
86f823b
Requires:	texlive
2e5bf94
%if %{with bundled_ipython}
5a519c8
Provides:	bundled(ipython) = %{ipython_ver}
5a519c8
Provides:	bundled(prompt_toolkit) = %{prompt_toolkit_ver}
2e5bf94
%endif
2e5bf94
%if %{with bundled_ipywidgets}
5a519c8
Provides:	bundled(ipywidgets) = %{ipywidgets_ver}
2e5bf94
%endif
2e5bf94
%if %{with bundled_widgetsnbextension}
5a519c8
Provides:	bundled(widgetsnbextension) = %{widgetsnbextension_ver}
2e5bf94
%endif
86f823b
86f823b
%description	core
86f823b
This package contains the core sagemath python modules.
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%package	data
86f823b
Summary:	Databases and scripts for %{name}
86f823b
Requires:	%{name} = %{version}-%{release}
925e91d
Requires:	%{name}-data-combinatorial_designs = %{version}-%{release}
86f823b
Requires:	%{name}-data-conway_polynomials = %{version}-%{release}
86f823b
Requires:	%{name}-data-elliptic_curves = %{version}-%{release}
34b5d7d
Requires:	%{name}-data-etc = %{version}-%{release}
86f823b
Requires:	%{name}-data-graphs = %{version}-%{release}
86f823b
Requires:	%{name}-data-polytopes_db = %{version}-%{release}
86f823b
BuildArch:	noarch
86f823b
86f823b
%description	data
86f823b
Collection of databases and interface customization scripts for sagemath.
86f823b
86f823b
#------------------------------------------------------------------------
925e91d
%package	data-combinatorial_designs
925e91d
Summary:	Table of MOLS from the Handbook of Combinatorial Designs
925e91d
Requires:	%{name}-data = %{version}-%{release}
925e91d
BuildArch:	noarch
925e91d
925e91d
%description	data-combinatorial_designs
925e91d
The table of MOLS (10000 integers) from the Handbook of Combinatorial
925e91d
Designs, 2nd edition.
925e91d
925e91d
#------------------------------------------------------------------------
86f823b
%package	data-conway_polynomials
86f823b
Summary:	Conway Polynomials Database
86f823b
Requires:	%{name}-data = %{version}-%{release}
86f823b
BuildArch:	noarch
86f823b
86f823b
%description	data-conway_polynomials
86f823b
Small database of Conway polynomials for sagemath.
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%package	data-elliptic_curves
86f823b
Summary:	Databases of elliptic curves
86f823b
Requires:	%{name}-data = %{version}-%{release}
86f823b
BuildArch:	noarch
86f823b
86f823b
%description	data-elliptic_curves
86f823b
Includes two databases:
86f823b
86f823b
 * A small subset of the data in John Cremona's database of elliptic curves up
ecae648
   to conductor 10000. See http://johncremona.github.io/ecdata/.
86f823b
86f823b
 * William Stein's database of interesting curves
86f823b
86f823b
#------------------------------------------------------------------------
ecae648
%package	data-elliptic_curves_large
ecae648
Summary:	Large database of elliptic curves
ecae648
Requires:	%{name}-data = %{version}-%{release}
ecae648
BuildArch:	noarch
ecae648
ecae648
%description	data-elliptic_curves_large
ecae648
John Cremona's full database of elliptic curves, and also data related to
ecae648
the BSD conjecture and modular degrees for all of these curves, and
ecae648
generators for the Mordell-Weil groups.  See
ecae648
http://johncremona.github.io/ecdata/.
ecae648
ecae648
#------------------------------------------------------------------------
34b5d7d
%package	data-etc
86f823b
Summary:	Extcode for Sagemath
86f823b
Requires:	%{name}-data = %{version}-%{release}
86f823b
BuildArch:	noarch
86f823b
34b5d7d
%description	data-etc
86f823b
Collection of scripts and interfaces to sagemath.
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%package	data-graphs
86f823b
Summary:	Sagemath database of graphs
86f823b
Requires:	%{name}-data = %{version}-%{release}
86f823b
BuildArch:	noarch
86f823b
86f823b
%description	data-graphs
86f823b
A database of graphs. Created by Emily Kirkman based on the work of Jason
86f823b
Grout. Since April 2012 it also contains the ISGCI graph database.
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%package	data-polytopes_db
86f823b
Summary:	Lists of 2- and 3-dimensional reflexive polytopes
86f823b
Requires:	%{name}-data = %{version}-%{release}
86f823b
BuildArch:	noarch
86f823b
86f823b
%description	data-polytopes_db
86f823b
The list of polygons is quite easy to get and it has been known for a while.
86f823b
The list of 3-polytopes was originally obtained by Maximilian Kreuzer and
86f823b
Harald Skarke using their software PALP, which is included into the standard
86f823b
distribution of Sage. To work with lattice and reflexive polytopes from Sage
86f823b
you can use sage.geometry.lattice_polytope module, which relies on PALP for
86f823b
some of its functionality. To get access to the databases of this package, use
86f823b
ReflexivePolytope and ReflexivePolytopes commands.
86f823b
7531f3c
%if %{with docs}
86f823b
#------------------------------------------------------------------------
86f823b
%package	doc
86f823b
Summary:	Documentation infrastructure files for %{name}
86f823b
86f823b
%description	doc
86f823b
This package contains the documentation infrastructure for %{name}.
86f823b
86f823b
#------------------------------------------------------------------------
baae9bd
%package	doc-ca
baae9bd
Summary:	Catalan documentation files for %{name}
baae9bd
Requires:	%{name}-doc = %{version}-%{release}
baae9bd
baae9bd
%description	doc-ca
baae9bd
This package contains the Catalan %{name} documentation.
baae9bd
baae9bd
#------------------------------------------------------------------------
86f823b
%package	doc-de
86f823b
Summary:	German documentation files for %{name}
86f823b
Requires:	%{name}-doc = %{version}-%{release}
86f823b
86f823b
%description	doc-de
86f823b
This package contains the German %{name} documentation.
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%package	doc-en
86f823b
Summary:	English documentation files for %{name}
86f823b
Requires:	%{name}-doc = %{version}-%{release}
86f823b
86f823b
%description	doc-en
86f823b
This package contains the English %{name} documentation.
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%package	doc-fr
86f823b
Summary:	French documentation files for %{name}
86f823b
Requires:	%{name}-doc = %{version}-%{release}
86f823b
86f823b
%description	doc-fr
86f823b
This package contains the French %{name} documentation.
86f823b
86f823b
#------------------------------------------------------------------------
baae9bd
%package	doc-hu
baae9bd
Summary:	Hungarian documentation files for %{name}
baae9bd
Requires:	%{name}-doc = %{version}-%{release}
baae9bd
baae9bd
%description	doc-hu
baae9bd
This package contains the Hungarian %{name} documentation.
baae9bd
baae9bd
#------------------------------------------------------------------------
886f9fa
%package	doc-it
886f9fa
Summary:	Italian documentation files for %{name}
886f9fa
Requires:	%{name}-doc = %{version}-%{release}
886f9fa
886f9fa
%description	doc-it
886f9fa
This package contains the Italian %{name} documentation.
886f9fa
886f9fa
#------------------------------------------------------------------------
86f823b
%package	doc-pt
86f823b
Summary:	Portuguese documentation files for %{name}
86f823b
Requires:	%{name}-doc = %{version}-%{release}
86f823b
86f823b
%description	doc-pt
86f823b
This package contains the Portuguese %{name} documentation.
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%package	doc-ru
86f823b
Summary:	Russian documentation files for %{name}
86f823b
Requires:	%{name}-doc = %{version}-%{release}
86f823b
86f823b
%description	doc-ru
86f823b
This package contains the Russian %{name} documentation.
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%package	doc-tr
86f823b
Summary:	Turkish documentation files for %{name}
86f823b
Requires:	%{name}-doc = %{version}-%{release}
86f823b
86f823b
%description	doc-tr
86f823b
This package contains the Turkish %{name} documentation.
7531f3c
# with docs
7531f3c
%endif
86f823b
86f823b
#------------------------------------------------------------------------
2fac775
%package	jupyter
2fac775
Summary:	Jupyter integration for sagemath
86f823b
Requires:	%{name}%{?_isa} = %{version}-%{release}
936e17f
Requires:	python-jupyter-filesystem
86f823b
2fac775
# This can be removed when Fedora 31 reaches EOL
2fac775
Obsoletes:	sagemath-notebook < 9.0-1
2fac775
Provides:	sagemath-notebook = %{version}-%{release}
2fac775
2fac775
%description	jupyter
2fac775
This package contains a Jupyter integration for sagemath, replacing the
2fac775
defunct notebook functionality.
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%package	rubiks
86f823b
Summary:	Several programs for working with Rubik's cubes
86f823b
Requires:	%{name}%{?_isa} = %{version}-%{release}
86f823b
86f823b
%description	rubiks
b6408b9
Several programs for working with Rubik's cubes, by three different people.
86f823b
In summary the three contributors are:
86f823b
86f823b
Michael Reid (GPL) http://www.math.ucf.edu/~reid/Rubik/optimal_solver.html
86f823b
    optimal - uses many pre-computed tables to find an optimal 
86f823b
              solution to the 3x3x3 Rubik's cube
86f823b
86f823b
Dik T. Winter (MIT License)
86f823b
    cube    - uses Kociemba's algorithm to iteratively find a short
86f823b
              solution to the 3x3x3 Rubik's cube 
86f823b
    size222 - solves a 2x2x2 Rubik's cube 
86f823b
86f823b
Eric Dietz (GPL) http://www.wrongway.org/?rubiksource
86f823b
    cu2   - A fast, non-optimal 2x2x2 solver
86f823b
    cubex - A fast, non-optimal 3x3x3 solver
86f823b
    mcube - A fast, non-optimal 4x4x4 solver
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%package	sagetex
86f823b
Summary:	Sagemath into LaTeX documents
86f823b
Requires:	%{name}%{?_isa} = %{version}-%{release}
ecae648
Requires:	python3dist(pillow)
925e91d
Requires:	tex(color.sty)
925e91d
Requires:	tex(fancyvrb.sty)
925e91d
Requires:	tex(graphicx.sty)
b6408b9
Requires:	tex(hyperref.sty)
925e91d
Requires:	tex(ifpdf.sty)
925e91d
Requires:	tex(ifthen.sty)
925e91d
Requires:	tex(ifxetex.sty)
925e91d
Requires:	tex(listings.sty)
925e91d
Requires:	tex(makecmds.sty)
b6408b9
Requires:	tex(tikz.sty)
925e91d
Requires:	tex(verbatim.sty)
b6408b9
Requires:	tex(xspace.sty)
86f823b
86f823b
%description	sagetex
86f823b
This is the SageTeX package. It allows you to embed code, results of
86f823b
computations, and plots from the Sage mathematics software suite
86f823b
(http://sagemath.org) into LaTeX documents.
86f823b
86f823b
########################################################################
86f823b
%prep
86f823b
%setup -q -n sage-%{version}
ecae648
%setup -q -n sage-%{version} -T -D -a 1
86f823b
925e91d
pushd build/pkgs/combinatorial_designs
925e91d
    tar jxf ../../../upstream/%{combinatorial_designs_pkg}.tar.bz2
925e91d
    mv %{combinatorial_designs_pkg} src
925e91d
popd
925e91d
34b5d7d
pushd build/pkgs/conway_polynomials
34b5d7d
    tar jxf ../../../upstream/%{conway_polynomials_pkg}.tar.bz2
34b5d7d
    mv %{conway_polynomials_pkg} src
34b5d7d
popd
86f823b
34b5d7d
pushd build/pkgs/elliptic_curves
34b5d7d
    tar jxf ../../../upstream/%{elliptic_curves_pkg}.tar.bz2
34b5d7d
    mv %{elliptic_curves_pkg} src
34b5d7d
popd
34b5d7d
34b5d7d
pushd build/pkgs/flintqs
0fdebf2
    tar zxf ../../../upstream/%{flintqs_pkg}.tar.bz2
34b5d7d
    mv %{flintqs_pkg} src
86f823b
popd
86f823b
34b5d7d
pushd build/pkgs/graphs
34b5d7d
    tar jxf ../../../upstream/%{graphs_pkg}.tar.bz2
34b5d7d
    mv %{graphs_pkg} src
86f823b
popd
86f823b
807c53b
%if %{with bundled_ipython}
807c53b
pushd build/pkgs/ipython
807c53b
    tar zxf ../../../upstream/%{ipython_pkg}.tar.gz
807c53b
    mv %{ipython_pkg} src
807c53b
popd
55beead
55beead
pushd build/pkgs/prompt_toolkit
55beead
    tar zxf ../../../upstream/%{prompt_tookit_pkg}.tar.gz
55beead
    mv %{prompt_tookit_pkg} src
55beead
popd
807c53b
%endif
807c53b
bd028da
%if %{with bundled_ipywidgets}
bd028da
pushd build/pkgs/ipywidgets
bd028da
    tar zxf ../../../upstream/%{ipywidgets_pkg}.tar.gz
bd028da
    mv %{ipywidgets_pkg} src
bd028da
popd
bd028da
%endif
bd028da
0fdebf2
%if %{with bundled_pexpect}
34b5d7d
pushd build/pkgs/pexpect
0fdebf2
    tar zxf ../../../upstream/%{pexpect_pkg}.tar.gz
34b5d7d
    mv %{pexpect_pkg} src
34b5d7d
    pushd src
5a519c8
	for diff in ../patches/*.patch; do
86f823b
	    patch -p1 < $diff
86f823b
	done
86f823b
    popd
34b5d7d
popd
0fdebf2
%endif
34b5d7d
34b5d7d
pushd build/pkgs/polytopes_db
34b5d7d
    tar jxf ../../../upstream/%{polytopes_db_pkg}.tar.bz2
34b5d7d
    mv %{polytopes_db_pkg} src
34b5d7d
popd
34b5d7d
34b5d7d
pushd build/pkgs/rubiks
34b5d7d
    tar jxf ../../../upstream/%{rubiks_pkg}.tar.bz2
34b5d7d
    mv %{rubiks_pkg} src
34b5d7d
    pushd src
5a519c8
	for diff in ../patches/*.patch; do
807c53b
	    patch -p1 < $diff
807c53b
	done
86f823b
    popd
86f823b
popd
86f823b
34b5d7d
pushd build/pkgs/sagetex
0fdebf2
    tar zxf ../../../upstream/%{sagetex_pkg}.tar.gz
34b5d7d
    mv %{sagetex_pkg} src
925e91d
    # Fix the style file install path
5a519c8
    texmfdir=$(cut -d/ -f3- <<< "%{_texmf}")
925e91d
    sed -i "s,share/texmf,$texmfdir," src/setup.py
34b5d7d
popd
34b5d7d
056e08d
%if %{with docs}
056e08d
%if %{with sphinx_hack}
056e08d
pushd build/pkgs/sphinx
056e08d
    tar zxf ../../../upstream/%{Sphinx_pkg}.tar.gz
056e08d
    mv %{Sphinx_pkg} src
056e08d
    pushd src
5a519c8
	for diff in ../patches/*.patch; do
056e08d
	    patch -p1 < $diff
056e08d
	done
056e08d
    popd
056e08d
popd
056e08d
%endif
056e08d
%endif
056e08d
2e5bf94
%if %{with bundled_thebe}
2e5bf94
pushd build/pkgs/thebe
2e5bf94
    unzip ../../../upstream/%{thebe_pkg}.zip
2e5bf94
    mv %{thebe_pkg}* src
2e5bf94
popd
2e5bf94
%endif
2e5bf94
2e5bf94
%if %{with bundled_threejs}
2e5bf94
pushd build/pkgs/threejs
2e5bf94
    mkdir src
2e5bf94
    cd src
2e5bf94
    tar zxf ../../../../upstream/%{threejs_pkg}.tar.gz
2e5bf94
popd
2e5bf94
%endif
2e5bf94
2e5bf94
%if %{with bundled_widgetsnbextension}
2e5bf94
pushd build/pkgs/widgetsnbextension
2e5bf94
    tar zxf ../../../upstream/%{widgetsnbextension_pkg}.tar.gz
2e5bf94
    mv %{widgetsnbextension_pkg} src
2e5bf94
popd
2e5bf94
%endif
2e5bf94
55beead
%patch0
55beead
%patch1
34b5d7d
%patch2
34b5d7d
%patch3
34b5d7d
%patch4
34b5d7d
%patch5
34b5d7d
%patch6
34b5d7d
%patch7
34b5d7d
%patch8
34b5d7d
%patch9
0fdebf2
%patch10
0fdebf2
%patch11
eaa777c
%patch12
34b5d7d
%patch13
eaa777c
%patch14
fa9204b
%patch15
fa9204b
%patch16
86f823b
7531f3c
%if %{with fes}
2fac775
%patch17
3aa9b0c
%else
2fac775
%patch18
86f823b
%endif
86f823b
2fac775
%patch19
abc6d11
%patch20
7b54d21
%patch21
738094a
%patch22
Jerry James 0433dc3
%patch23
925e91d
%patch24
caa1948
%patch25
12d9322
%patch26
55beead
%patch27
55beead
%patch28
0533707
%patch29
0533707
%patch30
e524b0b
%patch31
173cd60
d4a07df
sed -e 's|@@SAGE_ROOT@@|%{SAGE_ROOT}|' \
d4a07df
    -e 's|@@SAGE_DOC@@|%{SAGE_DOC}|' \
5a519c8
    -e 's|@@SAGE_LOCAL@@|%{SAGE_LOCAL}|' \
34b5d7d
    -i src/sage/env.py
4c97a63
eaa777c
sed -e 's|@@CYSIGNALS@@|%{python3_sitearch}/cysignals|' \
eaa777c
    -e 's|@@BUILDROOT@@|%{buildroot}|' \
18daf84
    -i src/setup.py
0fdebf2
86f823b
#------------------------------------------------------------------------
34b5d7d
# some .c files are not (re)generated
5a519c8
find src/sage \( -name \*.pyx -o -name \*.pxd \) -exec touch {} \+
86f823b
52d9e04
# fix Singular paths
1a0bd1a
singver=$(sed 's/.*-\([.[:digit:]]*\).*/\1/' <<< %{singular_pkg})
bd028da
sed -e "s,SINGULARPATH=\",&%{_datadir}/singular/LIB:," \
52d9e04
    -e "s,\(SINGULAR_EXECUTABLE=\"\).*\",\1%{_libdir}/Singular/Singular\"," \
52d9e04
    -i src/bin/sage-env
1a0bd1a
sed -e "s,\(SINGULAR_SO = \)SAGE.*,\1'%{_libdir}/libSingular-$singver.so'," \
1a0bd1a
    -i src/sage/env.py
52d9e04
1a0bd1a
# fix shebangs; some paths contains spaces, so use the null byte facility
5a519c8
grep -FrlZ '#!%{_bindir}/env python3' | \
5a519c8
  xargs -0 sed -i 's,#!%{_bindir}/env python3,#!%{__python3},g'
1a0bd1a
grep -FrlZ '#!%{_bindir}/env python' | \
5a519c8
  xargs -0 sed -i 's,#!%{_bindir}/env python,#!%{__python3},g'
5a519c8
grep -FrlZ '#!%{_bindir}/env sage-system-python' | \
5a519c8
  xargs -0 sed -i 's,#!%{_bindir}/env sage-system-python,#!%{__python3},g'
2fac775
grep -FrlZ '#!%{_bindir}/env sage-python' | \
2fac775
  xargs -0 sed -i 's,#!%{_bindir}/env sage-python,#!%{__python3},g'
5a519c8
grep -FrlZ 'sage-python23' | xargs -0 sed -i 's,sage-python23,python3,g'
1a0bd1a
grep -FrlZ '#!%{_bindir}/env' | \
1a0bd1a
  xargs -0 sed -i 's,#!%{_bindir}/env ,#!%{_bindir}/,'
eaa777c
grep -rlZ '#!%{_bindir}/python$' | xargs -0 sed -i 's,#!%{_bindir}/python$,&3,'
eaa777c
sed -i 's,%{_bindir}/env python,%{__python3},' \
1a0bd1a
%if %{with bundled_pexpect}
1a0bd1a
    build/pkgs/pexpect/src/examples/python.py \
1a0bd1a
%endif
1a0bd1a
    build/pkgs/sagetex/src/sagetex.ins
eaa777c
sed -i 's,%{_bindir}/python,&3,' src/sage/misc/dev_tools.py
2e5bf94
sed -e 's,local/bin/python,bin/python,' \
eaa777c
    -e 's,#!%{_bindir}/python,&3,' \
2e5bf94
    -i src/sage/repl/preparse.py
1a0bd1a
%if %{with bundled_ipython}
1a0bd1a
sed -e "s|'%{_bindir}/env', 'which'|'%{_bindir}/which'|" \
1a0bd1a
    -i build/pkgs/ipython/src/IPython/utils/_process_posix.py
1a0bd1a
%endif
925e91d
eaa777c
# GAP does not have enough memory to load the entire workspace
e87f50f
sed -i 's/64m/256m/' src/sage/interfaces/gap.py
eaa777c
eaa777c
86f823b
########################################################################
86f823b
%build
34b5d7d
export CC=%{__cc}
b6408b9
export CFLAGS="%{optflags}"
b6408b9
export CXXFLAGS="%{optflags}"
eaa777c
export SAGE_PYTHON_VERSION=3
5a519c8
export SAGE_PYTHON3=yes
86f823b
export SAGE_ROOT=%{buildroot}%{SAGE_ROOT}
86f823b
export SAGE_LOCAL=%{buildroot}%{SAGE_LOCAL}
d4a07df
# Avoid buildroot in gcc command line (use _builddir instead)
34b5d7d
export SAGE_SRC="$PWD/src"
379c28f
export SAGE_INC=%{_includedir}
86f823b
export SAGE_FORTRAN=%{_bindir}/gfortran
86f823b
export SAGE_FORTRAN_LIB=`gfortran --print-file-name=libgfortran.so`
86f823b
export DESTDIR=%{buildroot}
807c53b
export SAGE_DEBUG=no
86f823b
# Use file in /tmp because there are issues with long pathnames
86f823b
export DOT_SAGE=/tmp/sage$$
86f823b
mkdir -p $DOT_SAGE/tmp
86f823b
807c53b
# Avoid surprises due to change to src/build/temp.*$ARCH.*/...
807c53b
export SAGE_CYTHONIZED=$SAGE_SRC/build/cythonized
807c53b
86f823b
# match system packages as sagemath packages
34b5d7d
mkdir -p $SAGE_ROOT $SAGE_LOCAL
86f823b
ln -sf %{_libdir} $SAGE_LOCAL/lib
86f823b
ln -sf %{_includedir} $SAGE_LOCAL/include
86f823b
ln -sf %{_datadir} $SAGE_LOCAL/share
86f823b
86f823b
export PATH=%{buildroot}%{_bindir}:$PATH
eaa777c
export PYTHON=%{_bindir}/python3
eaa777c
export PYTHONPATH=%{buildroot}%{python3_sitearch}:$PYTHONPATH
86f823b
86f823b
#------------------------------------------------------------------------
5a519c8
# Generate sage-env-config
5a519c8
sed -e 's,@prefix@,%{SAGE_LOCAL},' \
5a519c8
    -e 's,@CC@,gcc,' \
5a519c8
    -e 's,@CXX@,g++,' \
5a519c8
    -e 's,@FC@,gfortran,' \
5a519c8
    -e 's,@OBJC@,gcc,' \
5a519c8
    -e 's,@OBJCXX@,g++,' \
5a519c8
    -e 's,@SAGE_PYTHON_VERSION@,3,' \
5a519c8
    -e 's,@SAGE_GMP_PREFIX@,,' \
5a519c8
    -e 's,@SAGE_GMP_INCLUDE@,%{_includedir},' \
5a519c8
    -e 's,@SAGE_MPFR_PREFIX@,,' \
5a519c8
    -e 's,@SAGE_MPC_PREFIX@,,' \
5a519c8
    -e 's,@SAGE_NTL_PREFIX@,,' \
5a519c8
    src/bin/sage-env-config.in > src/bin/sage-env-config
5a519c8
5a519c8
#------------------------------------------------------------------------
3aa9b0c
# Save and update environment to generate bundled interfaces
3aa9b0c
save_PATH=$PATH
3aa9b0c
save_LOCAL=$SAGE_LOCAL
3aa9b0c
export PATH=%{_builddir}/bin:$PATH
3aa9b0c
export SAGE_LOCAL=%{_builddir}
3aa9b0c
807c53b
%if %{with bundled_ipython}
807c53b
pushd build/pkgs/ipython/src
eaa777c
    %__python3 setup.py build
eaa777c
    %__python3 setup.py install --root %{_builddir}
807c53b
popd
55beead
55beead
pushd build/pkgs/prompt_toolkit/src
55beead
    %__python3 setup.py build
55beead
    %__python3 setup.py install --root %{_builddir}
55beead
popd
807c53b
%endif
807c53b
bd028da
%if %{with bundled_ipywidgets}
bd028da
pushd build/pkgs/ipywidgets/src
eaa777c
    %__python3 setup.py build
eaa777c
    %__python3 setup.py install --root %{_builddir}
bd028da
popd
bd028da
%endif
bd028da
2e5bf94
%if %{with bundled_widgetsnbextension}
2e5bf94
pushd build/pkgs/widgetsnbextension/src
eaa777c
    %__python3 setup.py build
eaa777c
    %__python3 setup.py install --root %{_builddir}
2e5bf94
popd
2e5bf94
%endif
2e5bf94
0fdebf2
%if %{with cython_hack}
eaa777c
    cp -far %{python3_sitearch}/Cython %{_builddir}%{python3_sitearch}
807c53b
    BASE=$PWD/build/pkgs/cython/patches/
eaa777c
    pushd %{_builddir}%{python3_sitearch}
807c53b
	for PATCH in pxi_sys_path.patch
807c53b
	do
807c53b
	    patch -p1 < $BASE/$PATCH
807c53b
	done
0fdebf2
    popd
0fdebf2
%endif
0fdebf2
3aa9b0c
# Restore environment used to generate bundled interfaces
3aa9b0c
export PATH=$save_PATH
3aa9b0c
export SAGE_LOCAL=$save_LOCAL
925e91d
mkdir -p %{buildroot}%{SAGE_SPKG_INST}
925e91d
mkdir -p %{buildroot}%{_libdir}/sagemath/build/pkgs
3aa9b0c
34b5d7d
pushd src
eaa777c
    %__python3 -u ./setup.py build
86f823b
popd
86f823b
86f823b
#------------------------------------------------------------------------
5a519c8
pushd build/pkgs/sagetex/src
5a519c8
    %__python3 ./setup.py build
5a519c8
popd
5a519c8
86f823b
#------------------------------------------------------------------------
34b5d7d
pushd build/pkgs/flintqs/src
0fdebf2
    %configure
33cab9b
    make %{?_smp_mflags} CPP="g++ %{optflags} -fPIC"
86f823b
popd
86f823b
34b5d7d
pushd build/pkgs/rubiks/src
86f823b
    make %{?_smp_mflags} CC="gcc -fPIC" CXX="g++ -fPIC" CFLAGS="%{optflags}" CXXFLAGS="%{optflags}"
86f823b
popd
86f823b
86f823b
# last build command
86f823b
rm -fr $DOT_SAGE
86f823b
86f823b
########################################################################
86f823b
%install
bd028da
export LC_ALL=C.UTF-8
34b5d7d
export CC=%{__cc}
86f823b
export SAGE_ROOT=%{buildroot}%{SAGE_ROOT}
86f823b
export SAGE_LOCAL=%{buildroot}%{SAGE_LOCAL}
3aa9b0c
# Avoid buildroot in gcc command line (use _builddir instead)
3aa9b0c
export SAGE_SRC="$PWD/src"
379c28f
export SAGE_INC=%{_includedir}
3aa9b0c
#export SAGE_SRC=#%#{buildroot}#%#{SAGE_SRC}
86f823b
export SAGE_SHARE=%{buildroot}%{SAGE_SHARE}
34b5d7d
export SAGE_ETC=%{buildroot}%{SAGE_ETC}
3aa9b0c
export SAGE_EXTCODE=%{buildroot}%{SAGE_ETC}
86f823b
export SAGE_DOC=%{buildroot}%{SAGE_DOC}
ecae648
export SAGE_PYTHON3=yes
86f823b
export SAGE_PYTHONPATH=%{buildroot}%{SAGE_PYTHONPATH}
86f823b
export DESTDIR=%{buildroot}
807c53b
export SAGE_DEBUG=no
86f823b
export DOT_SAGE=/tmp/sage$$
86f823b
mkdir -p $DOT_SAGE/tmp
86f823b
86f823b
export PATH=%{buildroot}%{_bindir}:$PATH
eaa777c
export PYTHON=%{_bindir}/python3
eaa777c
export PYTHONPATH=%{buildroot}%{python3_sitearch}:$PYTHONPATH
eaa777c
export PYTHONPATH=%{_builddir}%{python3_sitearch}:$PYTHONPATH
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
mkdir -p %{buildroot}%{_bindir}
86f823b
mkdir -p %{buildroot}%{_libdir}
86f823b
mkdir -p $SAGE_PYTHONPATH
fbc0e8d
rm -fr $SAGE_LOCAL/{include,lib,share,notebook}
3aa9b0c
mkdir -p $SAGE_SHARE $SAGE_DOC $SAGE_LOCAL/bin %{buildroot}%{SAGE_SRC}
3aa9b0c
ln -sf $PWD/src/sage %{buildroot}%{SAGE_SRC}/sage
86f823b
ln -sf %{_libdir} $SAGE_LOCAL/lib
86f823b
ln -sf %{_includedir} $SAGE_LOCAL/include
86f823b
ln -sf %{_datadir} $SAGE_LOCAL/share
86f823b
86f823b
#------------------------------------------------------------------------
ee19d04
cp -a src/ext $SAGE_ETC
ee19d04
rm -fr $SAGE_ETC/doctest
ee19d04
cp -p %{SOURCE2} $SAGE_ETC
0fdebf2
0fdebf2
#------------------------------------------------------------------------
34b5d7d
pushd src
807c53b
%if %{without install_hack}
eaa777c
    %py3_install
807c53b
%else
eaa777c
    mkdir -p %{buildroot}%{python3_sitearch}
eaa777c
    cp -far build/lib.linux-*/sage %{buildroot}%{python3_sitearch}
807c53b
%endif
7531f3c
%if %{with docs}
86f823b
    # install documentation sources
86f823b
    rm -fr $SAGE_DOC/{common,en,fr}
baae9bd
    cp -far doc/{common,ca,de,en,fr,hu,it,pt,ru,tr} $SAGE_DOC
7531f3c
%endif
86f823b
popd
86f823b
86f823b
#------------------------------------------------------------------------
0fdebf2
%if %{with bundled_pexpect}
34b5d7d
pushd build/pkgs/pexpect/src
0fdebf2
    cp -fa pexpect $SAGE_PYTHONPATH
86f823b
popd
0fdebf2
%endif
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
cp -fa COPYING.txt $SAGE_ROOT
34b5d7d
pushd src/bin
86f823b
    mkdir -p $SAGE_LOCAL/bin
fbc0e8d
    cp -fa sage-* $SAGE_LOCAL/bin
86f823b
    pushd $SAGE_LOCAL/bin
0816026
%if %{with jmol}
37624f9
	ln -sf %{_bindir}/jmol jmol
0816026
%endif
eaa777c
	ln -sf %{_bindir}/python3 sage.bin
eaa777c
	ln -sf %{_bindir}/python3 python
86f823b
	ln -sf %{_bindir}/gp sage_pari
6b2efc5
	ln -sf %{_bindir}/gap gap
86f823b
	ln -sf %{_bindir}/gmp-ecm ecm
5a519c8
	rm -f sage-env-config.in
86f823b
    popd
86f823b
popd
34b5d7d
install -p -m755 src/bin/sage $SAGE_LOCAL/bin
86f823b
86f823b
#------------------------------------------------------------------------
34b5d7d
pushd build/pkgs/flintqs/src
0fdebf2
    cp -fa src/QuadraticSieve $SAGE_LOCAL/bin
86f823b
popd
86f823b
34b5d7d
pushd build/pkgs/rubiks/src
86f823b
    cp -fa \
86f823b
	reid/optimal \
86f823b
	dietz/solver/cubex \
86f823b
	dietz/mcube/mcube \
86f823b
	dietz/cu2/cu2 \
86f823b
	dik/dikcube \
86f823b
	dik/size222 \
86f823b
	$SAGE_LOCAL/bin
86f823b
popd
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
pushd $SAGE_LOCAL/bin/
1a0bd1a
    rm -f \
34b5d7d
	sage-arch-env \
fbc0e8d
	sage-bdist \
fbc0e8d
	sage-build \
fbc0e8d
	sage-clone \
34b5d7d
	sage-clone-source \
fbc0e8d
	sage-combinat \
fbc0e8d
	sage-crap \
34b5d7d
	sage-dev \
34b5d7d
	sage-download-file \
34b5d7d
	sage-download-upstream \
34b5d7d
	sage-env \
34b5d7d
	sage-fix-pkg-checksums \
fbc0e8d
	sage-list-experimental \
fbc0e8d
	sage-list-optional \
fbc0e8d
	sage-list-packages \
fbc0e8d
	sage-list-standard \
fbc0e8d
	sage-location \
fbc0e8d
	sage-omega \
34b5d7d
	sage-open \
fbc0e8d
	sage-pkg \
fbc0e8d
	sage-pull \
fbc0e8d
	sage-push \
fbc0e8d
	sage-pypkg-location \
fbc0e8d
	sage-README-osx.txt \
fbc0e8d
	sage-rebaseall.bat \
fbc0e8d
	sage-rebaseall.sh \
fbc0e8d
	sage-rebase.bat \
fbc0e8d
	sage-rebase.sh \
34b5d7d
	sage-rebase \
fbc0e8d
	sage-rsyncdist \
fbc0e8d
	sage-sdist \
34b5d7d
	sage-spkg \
34b5d7d
	sage-starts \
fbc0e8d
	sage-sync-build.py \
fbc0e8d
	sage-test-import \
34b5d7d
	sage-update-src \
34b5d7d
	sage-update-version \
fbc0e8d
	sage-upgrade \
1a0bd1a
	spkg-install
86f823b
popd
86f823b
86f823b
#------------------------------------------------------------------------
7b54d21
(
7b54d21
    source build/bin/sage-dist-helpers
7b54d21
7b54d21
#------------------------------------------------------------------------
925e91d
pushd build/pkgs/combinatorial_designs
1a0bd1a
    chmod a+x spkg-install
1a0bd1a
    bash -c '. ../../../src/bin/sage-dist-helpers; ./spkg-install'
925e91d
popd
925e91d
925e91d
#------------------------------------------------------------------------
34b5d7d
pushd build/pkgs/conway_polynomials
eaa777c
    %__python3 ./spkg-install.py
86f823b
popd
86f823b
86f823b
#------------------------------------------------------------------------
34b5d7d
pushd build/pkgs/elliptic_curves
fa9204b
    # --short-circuit -bi debug build helper
fa9204b
    if [ ! -e src/ellcurves ]; then
fa9204b
	rm -fr src
fa9204b
	tar jxf ../../../upstream/%{elliptic_curves_pkg}.tar.bz2
fa9204b
	mv %{elliptic_curves_pkg} src
fa9204b
    fi
eaa777c
    %__python3 ./spkg-install.py
86f823b
popd
86f823b
86f823b
#------------------------------------------------------------------------
34b5d7d
pushd build/pkgs/graphs
86f823b
    mkdir -p $SAGE_SHARE/graphs
86f823b
    cp -fa src/* $SAGE_SHARE/graphs
86f823b
popd
86f823b
86f823b
#------------------------------------------------------------------------
34b5d7d
pushd build/pkgs/polytopes_db
86f823b
    mkdir -p $SAGE_SHARE/reflexive_polytopes
86f823b
    cp -fa src/* $SAGE_SHARE/reflexive_polytopes
86f823b
popd
86f823b
86f823b
#------------------------------------------------------------------------
34b5d7d
pushd build/pkgs/sagetex/src
eaa777c
    %py3_install "--install-purelib=%{python3_sitearch}"
5a519c8
    mv %{buildroot}%{_texmf}/tex/latex/sagetex/CONTRIBUTORS \
0fdebf2
	 %{buildroot}%{_docdir}/sagetex
7b54d21
    for file in PKG-INFO; do
0fdebf2
	install -p -m 0644 $file %{buildroot}%{_docdir}/sagetex/$file
86f823b
    done
86f823b
popd
86f823b
86f823b
#------------------------------------------------------------------------
807c53b
%if %{with bundled_ipython}
eaa777c
mv %{_builddir}%{python3_sitelib}/IPython %{buildroot}%{SAGE_PYTHONPATH}
55beead
mv %{_builddir}%{python3_sitelib}/prompt_toolkit %{buildroot}%{SAGE_PYTHONPATH}
807c53b
mv %{_builddir}%{_bindir}/ip* %{buildroot}%{SAGE_LOCAL}/bin
807c53b
%endif
807c53b
807c53b
#------------------------------------------------------------------------
bd028da
%if %{with bundled_ipywidgets}
eaa777c
mv %{_builddir}%{python3_sitelib}/ipywidgets %{buildroot}%{SAGE_PYTHONPATH}
bd028da
%endif
bd028da
bd028da
#------------------------------------------------------------------------
2e5bf94
%if %{with bundled_thebe}
2e5bf94
pushd build/pkgs/thebe
2e5bf94
    mkdir -p $SAGE_SHARE/thebe
2e5bf94
    cp -p src/static/main-built.js $SAGE_SHARE/thebe/thebe.js
2e5bf94
popd
2e5bf94
%endif
2e5bf94
2e5bf94
#------------------------------------------------------------------------
2e5bf94
%if %{with bundled_threejs}
2e5bf94
pushd build/pkgs/threejs
2e5bf94
    cp -a src $SAGE_SHARE/threejs
2e5bf94
popd
2e5bf94
%endif
2e5bf94
2e5bf94
#------------------------------------------------------------------------
2e5bf94
%if %{with bundled_widgetsnbextension}
2e5bf94
pushd build/pkgs/widgetsnbextension/src
eaa777c
    %py3_install "--install-purelib=%{python3_sitelib}"
2e5bf94
    mv %{buildroot}%{_prefix}%{_sysconfdir} %{buildroot}%{_sysconfdir}
2e5bf94
popd
2e5bf94
%endif
2e5bf94
2e5bf94
#------------------------------------------------------------------------
7b54d21
) # source build/bin/sage-dist-helpers
7b54d21
7b54d21
#------------------------------------------------------------------------
e4003eb
cat > %{buildroot}%{SAGE_LOCAL}/bin/sage-env << EOF
55beead
export CUR=\$PWD
86f823b
##export DOT_SAGE="\$HOME/.sage"
86f823b
mkdir -p \$DOT_SAGE/{maxima,sympow,tmp}
86f823b
export SAGE_TESTDIR=\$DOT_SAGE/tmp
86f823b
export SAGE_ROOT="$SAGE_ROOT"
86f823b
export SAGE_LOCAL="$SAGE_LOCAL"
86f823b
export SAGE_SHARE="$SAGE_SHARE"
3aa9b0c
export SAGE_EXTCODE="$SAGE_ETC"
34b5d7d
export SAGE_ETC="$SAGE_ETC"
3aa9b0c
export SAGE_SRC="%{buildroot}%{SAGE_SRC}"
5a519c8
export SAGE_PYTHON3=yes
86f823b
##export SAGE_DOC="$SAGE_DOC"
0fdebf2
##export SAGE_DOC_SRC="\$SAGE_DOC"
55beead
##export SAGE_PKGS="\$SAGE_LOCAL/var/lib/sage/installed"
86f823b
module load 4ti2-%{_arch}
86f823b
module load lrcalc-%{_arch}
6729de0
module load surf-geometry-%{_arch}
86f823b
export PATH=$SAGE_LOCAL/bin:\$PATH
18daf84
export SINGULAR_DATA_DIR=%{_datadir}
86f823b
export SINGULAR_BIN_DIR=%{_libdir}/Singular
925e91d
export SINGULAR_SO=%{_libdir}/libSingular-4.1.1.so
86f823b
##export PYTHONPATH="$SAGE_PYTHONPATH:\$SAGE_LOCAL/bin"
86f823b
export SAGE_FORTRAN=%{_bindir}/gfortran
86f823b
export SAGE_FORTRAN_LIB=\`gfortran --print-file-name=libgfortran.so\`
86f823b
export SYMPOW_DIR="\$DOT_SAGE/sympow"
3aa9b0c
# Required for sage -gdb
55beead
: \${SAGE_DEBUG:=no}
55beead
export SAGE_DEBUG
e4003eb
EOF
e4003eb
cat > %{buildroot}%{_bindir}/sage << EOF
e4003eb
#!/bin/bash -i
e4003eb
e4003eb
source $SAGE_LOCAL/bin/sage-env
5a519c8
exec $SAGE_LOCAL/bin/sage "\$@"
86f823b
EOF
86f823b
#------------------------------------------------------------------------
86f823b
chmod +x %{buildroot}%{_bindir}/sage
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
# adjust cython interface:
86f823b
# o install csage headers
86f823b
# o install .pxi and .pxd files
34b5d7d
pushd src
86f823b
    for f in `find sage \( -name \*.pxi -o -name \*.pxd -o -name \*.pyx \)`; do
eaa777c
	install -p -D -m 0644 $f %{buildroot}%{python3_sitearch}/$f
86f823b
    done
86f823b
    # need this or will not "find" the files in the directory, and
86f823b
    # fail to link with gmp
eaa777c
    touch %{buildroot}%{python3_sitearch}/sage/libs/gmp/__init__.py
86f823b
popd
86f823b
7531f3c
%if %{with docs}
86f823b
#------------------------------------------------------------------------
0fdebf2
%if %{with bundled_pexpect}
eaa777c
cp -fa $SAGE_PYTHONPATH/pexpect %{buildroot}%{python3_sitearch}
0fdebf2
%endif
86f823b
86f823b
# Build documentation, using %#{buildroot} environment
0fdebf2
export SAGE_SETUP=$PWD/src/sage_setup
34b5d7d
pushd src/doc
bd028da
    export SAGE_DOC=$PWD
86f823b
    export PATH=%{buildroot}%{_bindir}:$SAGE_LOCAL/bin:$PATH
bd028da
    export SINGULARPATH=%{_datadir}/singular/LIB
86f823b
    export SINGULAR_BIN_DIR=%{_libdir}/Singular
eaa777c
    export PYTHONPATH=$SAGE_SETUP:%{buildroot}%{python3_sitearch}:$SAGE_PYTHONPATH:$SAGE_DOC
86f823b
7531f3c
%if %{with sphinx_hack}
056e08d
    pushd ../../build/pkgs/sphinx/src
5a519c8
	%py3_build
5a519c8
	%py3_install "--install-purelib=%{python3_sitearch}"
5a519c8
	rm -f %{buildroot}%{_bindir}/sphinx*
056e08d
    popd
86f823b
%endif
86f823b
86f823b
    # there we go
3aa9b0c
    ln -sf %{buildroot}%{SAGE_DOC} %{buildroot}%{SAGE_SRC}/doc
86f823b
    export SAGE_DOC=%{buildroot}%{SAGE_DOC}
0fdebf2
    export SAGE_DOC_SRC=$SAGE_DOC
0fdebf2
    # python -m sage_setup.docbuild
bd028da
    # Build with an X server running, required by some doc builders
55beead
    SAGE_NUM_THREADS=2 \
eaa777c
	xvfb-run -a -n 1 %__python3 -m docbuild --no-pdf-links -k all html -j
3aa9b0c
    rm -f %{buildroot}%{SAGE_SRC}/doc
3aa9b0c
    ln -sf %{SAGE_DOC} %{buildroot}%{SAGE_SRC}/doc
86f823b
86f823b
    # should not be required and encodes buildroot
86f823b
    rm -fr $SAGE_DOC/output/doctrees
86f823b
popd
86f823b
7531f3c
%if %{with check}
86f823b
export SAGE_TIMEOUT=%{SAGE_TIMEOUT}
86f823b
export SAGE_TIMEOUT_LONG=%{SAGE_TIMEOUT_LONG}
86f823b
sage -testall --verbose || :
86f823b
install -p -m644 $DOT_SAGE/tmp/test.log $SAGE_DOC/test.log
86f823b
# remove buildroot references from test.log
86f823b
sed -i 's|%{buildroot}||g' $SAGE_DOC/test.log
86f823b
%endif
86f823b
0fdebf2
%if %{with bundled_pexpect}
eaa777c
    rm -f %{buildroot}%{python3_sitearch}/pexpect
0fdebf2
%endif
86f823b
7531f3c
%if %{with sphinx_hack}
eaa777c
    rm -fr %{buildroot}%{python3_sitearch}/sphinx \
eaa777c
	%{buildroot}%{python3_sitearch}/Sphinx*
86f823b
%endif
86f823b
86f823b
# More wrong buildroot references
86f823b
perl -pi -e 's|%{buildroot}||g;' \
34b5d7d
	 -e "s|$PWD/src/doc|%{SAGE_DOC}|g;" \
0533707
    %{buildroot}%{SAGE_DOC}/html/en/reference/combinat/sage/combinat/posets/poset_examples.html \
0533707
    %{buildroot}%{SAGE_DOC}/html/en/reference/graphs/sage/graphs/graph_generators.html
7531f3c
# with docs
7531f3c
%endif
7531f3c
86f823b
#------------------------------------------------------------------------
86f823b
# Fix links
18daf84
export SAGE_SRC=%{buildroot}%{SAGE_SRC}
34b5d7d
rm -fr $SAGE_SRC/sage $SAGE_ETC/sage $SAGE_ROOT/doc $SAGE_SRC/doc
48aa12d
rm -fr $SAGE_ROOT/share $SAGE_ROOT/devel
eaa777c
ln -sf %{python3_sitearch}/sage $SAGE_SRC/sage
eaa777c
ln -sf %{python3_sitearch} $SAGE_ETC/sage
86f823b
ln -sf %{SAGE_DOC} $SAGE_ROOT/doc
7f30124
%if %{with docs}
fbc0e8d
ln -sf %{SAGE_DOC} $SAGE_SRC/doc
7f30124
%endif
86f823b
ln -sf %{SAGE_SHARE} $SAGE_ROOT/share
fbc0e8d
# compat devel symlink
fbc0e8d
ln -sf src $SAGE_ROOT/devel
86f823b
86f823b
# Install menu and icons
b6408b9
install -p -m644 -D src/ext/notebook-ipython/logo.svg \
b6408b9
  %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/sagemath.svg
86f823b
mkdir -p %{buildroot}%{_datadir}/applications
86f823b
cat > %{buildroot}%{_datadir}/applications/%{name}.desktop << EOF
86f823b
[Desktop Entry]
86f823b
Name=Sagemath
86f823b
Comment=A free open-source mathematics software system
86f823b
Exec=sage
86f823b
Icon=%{name}
86f823b
Terminal=true
86f823b
Type=Application
936e17f
Categories=Education;Science;Math;
86f823b
EOF
86f823b
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
86f823b
86f823b
# Fix permissions
5a519c8
find %{buildroot} -name '*.so' -exec chmod 755 {} \+
86f823b
pushd %{buildroot}%{SAGE_LOCAL}/bin
86f823b
    chmod 755 QuadraticSieve
86f823b
    chmod 755 mcube dikcube cu2 size222 cubex optimal
86f823b
popd
86f823b
for file in `find %{buildroot} -name \*.py`; do
86f823b
    if head -1 $file | grep -q '^#!'; then
86f823b
	chmod +x $file
86f823b
    fi
86f823b
done
7531f3c
Paulo Andrade cd0b7ce
%if %{with docs}
86f823b
chmod -x %{buildroot}%{SAGE_DOC}/en/prep/media/Rplot001.png
86f823b
86f823b
# Documentation is not rebuilt (also corrects rpmlint warning of hidden file)
5a519c8
find %{buildroot}%{SAGE_DOC} -name .buildinfo -delete
86f823b
rm -fr %{buildroot}%{SAGE_DOC}/output/inventory
925e91d
find %{buildroot}%{SAGE_DOC} -type d -name _sources -exec rm -fr {} \+
7531f3c
%endif
86f823b
3aa9b0c
# remove build directory in buildroot
3aa9b0c
[ -d %{buildroot}%{SAGE_SRC}/build ] &&
3aa9b0c
    rm -r %{buildroot}%{SAGE_SRC}/build
3aa9b0c
807c53b
%if %{without install_hack}
886f9fa
# remove sage_setup
eaa777c
rm -r %{buildroot}%{python3_sitearch}/sage_setup
807c53b
%endif
886f9fa
3aa9b0c
# pretend sagemath spkgs are installed to reduce number of errors
3aa9b0c
# in doctests
3aa9b0c
mkdir -p %{buildroot}%{SAGE_SPKG_INST}
3aa9b0c
pushd upstream
3aa9b0c
for file in *.tar.*; do
ecae648
    mkdir %{buildroot}%{SAGE_SPKG_INST}/${file%.tar.*}
ecae648
done
ecae648
for file in *.zip; do
ecae648
    mkdir %{buildroot}%{SAGE_SPKG_INST}/${file%.zip}
3aa9b0c
done
3aa9b0c
popd
1a0bd1a
pushd %{buildroot}%{SAGE_SPKG_INST}
1a0bd1a
    for pkg in %{SAGE_REQUIRED_PKGS}; do
5a519c8
	mkdir $pkg
1a0bd1a
    done
1a0bd1a
popd
3aa9b0c
#------------------------------------------------------------------------
3aa9b0c
cat > %{buildroot}%{SAGE_LOCAL}/bin/sage-list-packages << EOF
3aa9b0c
#!/bin/sh
3aa9b0c
NOVERSION=false
3aa9b0c
INSTALLED=no
3aa9b0c
while [ \$# -gt 0 ]; do
3aa9b0c
    if [ x\$1 = x--no-version ]; then
3aa9b0c
	NOVERSION=true
3aa9b0c
    elif [ x\$1 = xinstalled ]; then
5a519c8
	INSTALLED=yes
3aa9b0c
    fi
3aa9b0c
    shift
3aa9b0c
done
3aa9b0c
if [ \$INSTALLED = no ]; then
3aa9b0c
    exit 0
3aa9b0c
fi
ecae648
LIST=\$(ls -1 %{SAGE_SPKG_INST})
3aa9b0c
if [ \$NOVERSION = false ]; then
3aa9b0c
    for pkg in \$LIST; do
3aa9b0c
	echo \$pkg | sed -e 's/-/ /'
3aa9b0c
    done
3aa9b0c
else
3aa9b0c
    for pkg in \$LIST; do
3aa9b0c
	echo \$pkg | sed -e 's/-.*//'
3aa9b0c
    done
3aa9b0c
fi
3aa9b0c
EOF
3aa9b0c
chmod +x %{buildroot}%{SAGE_LOCAL}/bin/sage-list-packages
3aa9b0c
#------------------------------------------------------------------------
3aa9b0c
c20a650
%if %{with docs}
bd028da
    rm -fr %{buildroot}%{SAGE_DOC}/doctrees
bd028da
    rm -fr %{buildroot}%{SAGE_DOC}/inventory
c20a650
%endif
0cb5fbe
2e5bf94
#------------------------------------------------------------------------
2e5bf94
# Byte compile python files in nonstandard places
5a519c8
%py_byte_compile %{__python3} %{buildroot}%{_texmf}/tex/latex/sagetex
2e5bf94
936e17f
#------------------------------------------------------------------------
936e17f
# Jupyter integration
ecae648
pushd src
ecae648
%{__python3} << EOF
ecae648
from sage.repl.ipython_kernel.install import SageKernelSpec
ecae648
SageKernelSpec.update(prefix='%{buildroot}%{_prefix}')
936e17f
EOF
936e17f
popd
ecae648
# Remove buildroot from the json and symbolic links
ecae648
pushd %{buildroot}%{_datadir}/jupyter
ecae648
    sed -i 's,%{buildroot},,g' kernels/sagemath/kernel.json
ecae648
    for link in $(find . -type l); do
ecae648
	target=$(readlink $link)
ecae648
	if [[ "$target" =~ "%{buildroot}" ]]; then
ecae648
	   rm $link
ecae648
	   ln -s ${target#%{buildroot}} $link
ecae648
	fi
ecae648
    done
ecae648
popd
ecae648
ecae648
#------------------------------------------------------------------------
ecae648
# Build the large Cremona database
7b54d21
export PATH=%{buildroot}%{SAGE_LOCAL}/bin:$PATH
7b54d21
export PYTHONPATH=%{buildroot}%{SAGE_PYTHONPATH}:%{buildroot}%{python3_sitearch}
ecae648
cat > cremona.sage << EOF
ecae648
import sage.databases.cremona
ecae648
db_path = '%{buildroot}%{SAGE_SHARE}/cremona/cremona'
ecae648
c = sage.databases.cremona.LargeCremonaDatabase(db_path, False, True)
ecae648
c._init_from_ftpdata('ecdata-%{cremona_ver}')
ecae648
EOF
ecae648
%{buildroot}%{SAGE_LOCAL}/bin/sage cremona.sage
936e17f
7b54d21
#------------------------------------------------------------------------
7b54d21
# Script was used to build documentation and possibly other operations
7b54d21
perl -pi -e 's|%{buildroot}||g;s|^##||g;' \
7b54d21
	%{buildroot}%{_bindir}/sage \
7b54d21
	%{buildroot}%{SAGE_LOCAL}/bin/sage-env
7b54d21
86f823b
# last install command
86f823b
rm -fr $DOT_SAGE
86f823b
86f823b
########################################################################
aa45a20
# Update sagemath's view of installed packages as RPM packages are added
aa45a20
# and removed.
aa45a20
%triggerin -- %{name}-data-elliptic_curves_large
aa45a20
mkdir -p %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_ver} 2>&1 || :
aa45a20
aa45a20
%triggerun -- %{name}-data-elliptic_curves_large
aa45a20
rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_ver}
aa45a20
aa45a20
########################################################################
86f823b
%files
86f823b
# GPLv2+
86f823b
%dir %{SAGE_ROOT}
86f823b
%doc %{SAGE_ROOT}/COPYING.txt
86f823b
%dir %{SAGE_LOCAL}
86f823b
%dir %{SAGE_LOCAL}/bin
2e5bf94
%dir %{SAGE_SHARE}
86f823b
%{SAGE_LOCAL}/bin/QuadraticSieve
86f823b
%{SAGE_LOCAL}/bin/ecm
6b2efc5
%{SAGE_LOCAL}/bin/gap
0816026
%if %{with jmol}
37624f9
%{SAGE_LOCAL}/bin/jmol
0816026
%endif
807c53b
%if %{with bundled_ipython}
807c53b
%{SAGE_LOCAL}/bin/ip*
807c53b
%endif
3aa9b0c
%{SAGE_LOCAL}/bin/python
86f823b
%{SAGE_LOCAL}/bin/sage*
86f823b
%{SAGE_LOCAL}/include
86f823b
%{SAGE_LOCAL}/lib
86f823b
%{SAGE_LOCAL}/share
eaa777c
%{SAGE_LOCAL}/var
aa45a20
%ghost %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_ver}
7ea98d5
%{SAGE_ROOT}/doc
fbc0e8d
%{SAGE_ROOT}/devel
9c16fc2
%{SAGE_ROOT}/share
fbc0e8d
%dir %{SAGE_SRC}
3aa9b0c
%if %{with docs}
fbc0e8d
%{SAGE_SRC}/doc
3aa9b0c
%endif
fbc0e8d
%{SAGE_SRC}/sage
86f823b
%dir %{SAGE_PYTHONPATH}
86f823b
# GPLv2+
86f823b
%{_bindir}/sage
b6408b9
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
86f823b
%{_datadir}/applications/%{name}.desktop
2e5bf94
%if %{with bundled_thebe}
2e5bf94
# MIT
2e5bf94
%{SAGE_SHARE}/thebe
2e5bf94
%endif
2e5bf94
%if %{with bundled_threejs}
2e5bf94
# MIT
2e5bf94
%{SAGE_SHARE}/threejs
2e5bf94
%endif
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%files		core
86f823b
# GPLv2+
eaa777c
%{python3_sitearch}/sage
807c53b
%if %{without install_hack}
eaa777c
%{python3_sitearch}/sage-*.egg-info
807c53b
%endif
807c53b
%if %{with bundled_ipython}
807c53b
%{SAGE_PYTHONPATH}/IPython
55beead
%{SAGE_PYTHONPATH}/prompt_toolkit
807c53b
%endif
bd028da
%if %{with bundled_ipywidgets}
bd028da
%{SAGE_PYTHONPATH}/ipywidgets
bd028da
%endif
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%files		data
86f823b
%dir %{SAGE_SHARE}
34b5d7d
%dir %{SAGE_ETC}
34b5d7d
%{SAGE_ETC}/sage
34b5d7d
%{SAGE_ETC}/gprc.expect
86f823b
86f823b
#------------------------------------------------------------------------
925e91d
%files		data-combinatorial_designs
925e91d
# Public Domain
925e91d
%{SAGE_SHARE}/combinatorial_designs
925e91d
925e91d
#------------------------------------------------------------------------
86f823b
%files		data-conway_polynomials
86f823b
# GPLv2+
86f823b
%{SAGE_SHARE}/conway_polynomials
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%files		data-elliptic_curves
86f823b
# GPLv2+
ecae648
%dir %{SAGE_SHARE}/cremona/
ecae648
%{SAGE_SHARE}/cremona/cremona_mini.db
86f823b
%{SAGE_SHARE}/ellcurves
86f823b
86f823b
#------------------------------------------------------------------------
ecae648
%files		data-elliptic_curves_large
ecae648
# GPLv2+
ecae648
%dir %{SAGE_SHARE}/cremona/
ecae648
%{SAGE_SHARE}/cremona/cremona.db
ecae648
ecae648
#------------------------------------------------------------------------
34b5d7d
%files		data-etc
86f823b
# GPLv2+
34b5d7d
%{SAGE_ETC}/gap
34b5d7d
%{SAGE_ETC}/images
ee19d04
%{SAGE_ETC}/kenzo
34b5d7d
%{SAGE_ETC}/magma
34b5d7d
%{SAGE_ETC}/mwrank
ee19d04
%{SAGE_ETC}/nbconvert
34b5d7d
%{SAGE_ETC}/pari
ee19d04
%{SAGE_ETC}/singular
ee19d04
%{SAGE_ETC}/threejs
ee19d04
%{SAGE_ETC}/valgrind
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%files		data-graphs
86f823b
# GPLv2+
3aa9b0c
%{SAGE_ETC}/graphs
86f823b
%{SAGE_SHARE}/graphs
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%files		data-polytopes_db
86f823b
# GPL+
86f823b
%{SAGE_SHARE}/reflexive_polytopes
86f823b
7531f3c
%if %{with docs}
86f823b
#------------------------------------------------------------------------
86f823b
%files		doc
86f823b
# GPLv2+
86f823b
%dir %{SAGE_DOC}
86f823b
%{SAGE_DOC}/common
0fdebf2
%dir %{SAGE_DOC}/html
86f823b
86f823b
#------------------------------------------------------------------------
baae9bd
%files		doc-ca
baae9bd
# GPLv2+
baae9bd
%{SAGE_DOC}/ca
0fdebf2
%{SAGE_DOC}/html/ca
baae9bd
baae9bd
#------------------------------------------------------------------------
86f823b
%files		doc-de
86f823b
# GPLv2+
86f823b
%{SAGE_DOC}/de
0fdebf2
%{SAGE_DOC}/html/de
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%files		doc-en
86f823b
# GPLv2+
86f823b
%{SAGE_DOC}/en
0fdebf2
%{SAGE_DOC}/html/en
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%files		doc-fr
86f823b
# GPLv2+
86f823b
%{SAGE_DOC}/fr
0fdebf2
%{SAGE_DOC}/html/fr
86f823b
86f823b
#------------------------------------------------------------------------
baae9bd
%files		doc-hu
baae9bd
# GPLv2+
920b333
%{SAGE_DOC}/hu
0fdebf2
%{SAGE_DOC}/html/hu
baae9bd
baae9bd
#------------------------------------------------------------------------
886f9fa
%files		doc-it
886f9fa
# GPLv2+
baae9bd
%{SAGE_DOC}/it
0fdebf2
%{SAGE_DOC}/html/it
886f9fa
886f9fa
#------------------------------------------------------------------------
86f823b
%files		doc-pt
86f823b
# GPLv2+
86f823b
%{SAGE_DOC}/pt
0fdebf2
%{SAGE_DOC}/html/pt
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%files		doc-ru
86f823b
# GPLv2+
86f823b
%{SAGE_DOC}/ru
0fdebf2
%{SAGE_DOC}/html/ru
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%files		doc-tr
86f823b
# GPLv2+
86f823b
%{SAGE_DOC}/tr
0fdebf2
%{SAGE_DOC}/html/tr
7531f3c
# with docs
7531f3c
%endif
86f823b
86f823b
#------------------------------------------------------------------------
2fac775
%files		jupyter
3aa9b0c
%{SAGE_ETC}/notebook-ipython
86f823b
# LGPLv2+
936e17f
%if %{with bundled_widgetsnbextension}
936e17f
%config(noreplace) %{_sysconfdir}/jupyter/nbconfig/notebook.d/*.json
05ae6fe
%{_datadir}/jupyter/nbextensions/*
936e17f
%{python3_sitelib}/widgetsnbextension*
936e17f
%endif
936e17f
%{_datadir}/jupyter/kernels/sagemath/
925e91d
925e91d
#------------------------------------------------------------------------
86f823b
%files		rubiks
86f823b
# GPL+
86f823b
%{SAGE_LOCAL}/bin/optimal
86f823b
# MIT
86f823b
%{SAGE_LOCAL}/bin/dikcube
86f823b
%{SAGE_LOCAL}/bin/size222
86f823b
# GPL+
86f823b
%{SAGE_LOCAL}/bin/cu2
86f823b
%{SAGE_LOCAL}/bin/cubex
86f823b
%{SAGE_LOCAL}/bin/mcube
86f823b
86f823b
#------------------------------------------------------------------------
86f823b
%files		sagetex
86f823b
# GPLv2+
eaa777c
%{python3_sitearch}/sagetex*
5a519c8
%{python3_sitearch}/__pycache__/sagetex*
5a519c8
%{_texmf}/tex/latex/sagetex
0fdebf2
%doc %{_docdir}/sagetex
86f823b
86f823b
########################################################################
86f823b
%changelog
4556e3e
* Wed May 27 2020 Miro Hrončok <mhroncok@redhat.com> - 9.0-8
4556e3e
- Rebuilt for Python 3.9
4556e3e
d736124
* Wed May 13 2020 Jerry James <loganjerry@gmail.com> - 9.0-7
d736124
- Require libgap-devel so libgap.so can be found
d736124
ee19d04
* Mon May 11 2020 Jerry James <loganjerry@gmail.com> - 9.0-6
ee19d04
- Install threejs_template.html (bz 1832673)
ee19d04
1c13490
* Fri May  8 2020 Jerry James <loganjerry@gmail.com> - 9.0-5
1c13490
- Attempt 2 at fixing bundled ipython (bz 1832673)
1c13490
f7bcf18
* Thu May  7 2020 Jerry James <loganjerry@gmail.com> - 9.0-4
f7bcf18
- Fix bundled ipython incompatibility with python 3.8 (bz 1832673)
f7bcf18
0816026
* Mon Apr 27 2020 Jerry James <loganjerry@gmail.com> - 9.0-3
0816026
- Build without jmol/jsmol support due to retirement of jmol from Fedora
0816026
e87f50f
* Fri Mar 13 2020 Jerry James <loganjerry@gmail.com> - 9.0-2
e87f50f
- Rebuild for gap 4.11.0
e87f50f
- Update libgap interface for gap 4.11.0
e87f50f
- Adjust list of gap packages to match build/pkgs/gap_packages
e87f50f
- Point sharedmeataxe to a writable directory for its multiplication tables
e87f50f
2fac775
* Fri Feb 28 2020 Jerry James <loganjerry@gmail.com> - 9.0-1
2fac775
- Version 9.0 (bz 1756780, 1770880)
2fac775
- Drop upstreamed -ecm and -primecount patches
2fac775
- Add -escape patch
2fac775
- The old notebook (sagenb) is no longer shipped, so drop the -sagenb and
2fac775
  -sagenb-python3 patches, the -notebook subpackage, and some BRs
2fac775
- New -jupyter subpackage
2fac775
- Add suitesparse BR
2fac775
- Drop pathlib2 BR (bz 1797116)
042a67a
- Do not build for 32-bit ARM, which is unable to unpack the source RPM without
042a67a
  running out of memory
2fac775
65c5f9e
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 8.9-3
65c5f9e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
65c5f9e
44047e4
* Thu Jan  9 2020 Jerry James <loganjerry@gmail.com> - 8.9-2
44047e4
- Build with sharedmeataxe and tdlib support
44047e4
- Use local objects.inv when building documentation
44047e4
7b54d21
* Thu Nov  7 2019 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 8.9-1
7b54d21
- Update to latest upstream release
7b54d21
- Drop no longer need patches and rediff current ones
7b54d21
fa050d6
* Fri Oct 11 2019 Jerry James <loganjerry@gmail.com> - 8.8-7
fa050d6
- Rebuild for mpfr 4
fa050d6
- Drop -mpfr patch
fa050d6
05ae6fe
* Thu Sep 26 2019 Jerry James <loganjerry@gmail.com> - 8.8-6
05ae6fe
- Rebuild for ntl 11.4.0
05ae6fe
- Add primecount support, including the -primecount patch
05ae6fe
- Add still more gap packages, nearly finishing the set shipped by upstream
05ae6fe
ecae648
* Thu Sep 12 2019 Jerry James <loganjerry@gmail.com> - 8.8-5
ecae648
- Improve the -ecm patch
ecae648
- Add -formatargspec patch to silence doc-building warnings
ecae648
- Add -data-elliptic_curves_large subpackage
ecae648
- Build with bliss, coxeter3, and mcqd support
ecae648
- Fix typo that made the singular.hlp file inaccessible
ecae648
- Add more gap packages to get closer to the set shipped by upstream
ecae648
- Refactor Requires so they apply to the correct subpackages
ecae648
- More python 3 patching due to changes in python 3.8
ecae648
- Use upstream's method of installing jupyter support
ecae648
- Obsolete the sagemath-notebook-export subpackage
ecae648
b071c91
* Tue Aug 20 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 8.8-4
b071c91
- Rebuilt for GSL 2.6.
b071c91
a41d9c3
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 8.8-3
a41d9c3
- Rebuilt for Python 3.8
a41d9c3
e1d9665
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.8-2
e1d9665
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
e1d9665
5a519c8
* Mon Jul  1 2019 Jerry James <loganjerry@gmail.com> - 8.8-1
5a519c8
- Update to sagemath 8.8 (bz 1724394)
5a519c8
- Remove configparser dependencies (bz 1706597)
5a519c8
- Fix broken sed conversion (bz 1706234)
5a519c8
- Fix python2 versus python3 snafu (bz 1706337, 1707166)
5a519c8
- Build and install sagetex (bz 1706322)
5a519c8
0533707
* Sat Apr 27 2019 Jerry James <loganjerry@gmail.com> - 8.7-1
0533707
- Update to sagemath 8.7
0533707
- Drop upstreamed -giac patch
0533707
- Add -sagetex patch to fix a python indentation error
0533707
- Add -rubiks patch to fix compilation of the rubiks library
0533707
- Add -random patch to fix a non-random random bit generator
0533707
- Drop pip3 workaround; the binary is now named just pip again
0533707
b6408b9
* Mon Feb 18 2019 Jerry James <loganjerry@gmail.com> - 8.6-1
b6408b9
- Update to sagemath 8.6
b6408b9
- Install an SVG icon instead of a fixed size (128x128) icon
b6408b9
- Require hicolor-icon-theme since we install an icon
b6408b9
- Drop obsolete Obsoletes
b6408b9
62dc22f
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 8.5-4
62dc22f
- Rebuild for readline 8.0
62dc22f
f8a7240
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.5-3
f8a7240
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
f8a7240
936e17f
* Sat Jan 19 2019 Jerry James <loganjerry@gmail.com> - 8.5-2
936e17f
- Add Education category to the desktop file (bz 1624545)
936e17f
- Improve jupyter integration (bz 1663165)
936e17f
- Move existing jupyter integration into the notebook subpackage
936e17f
- Require python-jupyter-filesystem instead of owning its directories
936e17f
- Drop one more remnant of the F24 to F25 upgrade fixup
936e17f
55beead
* Thu Jan 17 2019 Jerry James <loganjerry@gmail.com> - 8.5-1
55beead
- Update to sagemath 8.5
55beead
- Bundle ipython again; Fedora version is too far ahead.  Also have to bundle
55beead
  prompt_toolkit since Fedora version is too far ahead of bundled ipython.
55beead
- Drop LANGUAGES variable setting, now ignored by the sagemath build system
55beead
- Drop unused SAGE_CBLAS variable from /usr/bin/sage
55beead
- Do not force the C locale when launching sagemath
55beead
- Allow the user to override SAGE_DEBUG in /usr/bin/sage
55beead
- Add -ecm, -giac, and -latte patches to fix interactions with external tools
55beead
- Add -sigfpe patch from upstream
55beead
eaa777c
* Thu Oct 25 2018 Jerry James <loganjerry@gmail.com> - 8.4-1
eaa777c
- Update to sagemath 8.4
eaa777c
- Build for python 3 instead of python 2 due to upcoming python 2 removal
eaa777c
- Add -python3 and -escape patches to fix problems with python 3
eaa777c
- Drop -nofstring patch, only needed for python 2
eaa777c
- Drop upstreamed -eclib patch
eaa777c
- Switch from atlas to openblas and rename -atlas patch to -openblas
eaa777c
- Add -buildroot patch and only build cython interfaces once
eaa777c
1a0bd1a
* Sat Sep 22 2018 Jerry James <loganjerry@gmail.com> - 8.3-1
1a0bd1a
- Update to sagemath 8.3 (bz 1612867)
1a0bd1a
- Drop -lrslib, -gap-hap, and -flask patches
1a0bd1a
- Drop obsolete scriplets to fix F24 to F25 upgrade (bz 1594429 and 1618934)
1a0bd1a
- Drop obsolete mktexlsr invocations
1a0bd1a
- Fix more Singular paths
1a0bd1a
- Fix still more uses of /usr/bin/env
1a0bd1a
- Drop disallow/dissallow fixup for cython; now fixed in cython itself
1a0bd1a
3dc6dbb
* Fri Aug 10 2018 Jerry James <loganjerry@gmail.com> - 8.2-4
3dc6dbb
- Rebuild for arb 2.14.0, eclib 20180710, ntl 11.2.1, and pari 2.11.0
3dc6dbb
- Drop unneeded genus2reduction dependency; pari is used instead now
3dc6dbb
56de660
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 8.2-3
56de660
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
56de660
2e5bf94
* Tue Jul  3 2018 Jerry James <loganjerry@gmail.com> - 8.2-2
2e5bf94
- Rebuild for ntl 11.1.0
2e5bf94
- Optionally bundle thebe, threejs, and widgetsnbextension
2e5bf94
- Add provides for the optionally bundled packages
2e5bf94
- Add -flask patch
2e5bf94
- Apply new guidelines for python files in nonstandard places
2e5bf94
2e5bf94
* Fri May 18 2018 Jerry James <loganjerry@gmail.com> - 8.2-1
925e91d
- Update to sagemath 8.2
925e91d
- Create the sagemath-data-combinatorial_designs subpackage
925e91d
- Create the sagemath-notebook-export subpackage
925e91d
- Unbundle the LaTeX makecmds style
925e91d
- Install LaTeX style files in a more canonical place
925e91d
b46cd47
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 8.0-3
b46cd47
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
b46cd47
6b2efc5
* Sat Nov 25 2017 Jerry James <loganjerry@gmail.com> - 8.0-2
6b2efc5
- Do not interpret GAP library informational messages as a libgap failure
6b2efc5
- Build with cryptominisat5
6b2efc5
- Sagemath now invokes gap instead of gap_stamp
6b2efc5
bd028da
* Thu Nov 23 2017 Jerry James <loganjerry@gmail.com> - 8.0-1
bd028da
- Build with bundled ipywidgets for now
bd028da
- Drop unneeded -givaro patch
bd028da
- Lots of new BRs for building documentation
bd028da
- R python-backports-shutil_get_terminal_size and python-traitlets (bz 1464520)
bd028da
- Fix Singular LIB path
bd028da
- Make sure install operates in a UTF-8 environment
bd028da
- Build documention with an X server running
bd028da
- Build HTML documentation with mathjax
bd028da
abc6d11
* Fri Nov 10 2017 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 8.0-1
abc6d11
- Update to sagemath 8.0
abc6d11
- Remove cryptominisat build requires
abc6d11
- Remove no longer needed -singular patch (upstream updated)
abc6d11
- Remove no longer -flask patch (upstream updated)
abc6d11
- Remove no longer -pari patch (used now by cypari2)
abc6d11
- Disable option to use bundled cysignals
abc6d11
- Disable option to use bundled pari
abc6d11
- Use system ipython
abc6d11
b78abd5
* Sat Sep 30 2017 Jerry James <loganjerry@gmail.com> - 7.6-6
b78abd5
- Rebuild for arb 2.11.1, eclib 20170815, and libfplll 5.1.0
b78abd5
7a61037
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 7.6-5
7a61037
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
7a61037
04fd0cb
* Wed Jul 26 2017 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 7.6-4
04fd0cb
- Add missing python-psutil dependency
04fd0cb
- Add extra environment variable to avoid Singular-devel dependency
04fd0cb
18daf84
* Tue May 23 2017 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 7.6-3
18daf84
- Correct singular data dir path
18daf84
- Correct sage -testall initialization
18daf84
- Switch to empty directory to pass check for sage packages
18daf84
- Correct SAGE_SRC symbolic link
18daf84
- Remove explicit firefox dependency (#1446508)
18daf84
6ebda31
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.6-2
6ebda31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
6ebda31
f642d2e
* Tue Apr 11 2017 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 7.6-1
f642d2e
- Update to sagemath 7.6
f642d2e
- Switch back to system pari
f642d2e
7e3068b
* Thu Apr  6 2017 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 7.5.1-1
056e08d
- Update to sagemath 7.5.1
056e08d
ac3aa7f
* Fri Mar  3 2017 Jerry James <loganjerry@gmail.com> - 7.4-4
ac3aa7f
- Rebuild for ppl 1.2
ac3aa7f
241dce3
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 7.4-3
241dce3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
241dce3
Igor Gnatenko a97238e
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 7.4-2
Igor Gnatenko a97238e
- Rebuild for readline 7.x
Igor Gnatenko a97238e
807c53b
* Fri Dec 30 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 7.4-1
807c53b
- Update to sagemath 7.4
807c53b
0cb5fbe
* Tue Dec 20 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 7.3.7
0cb5fbe
- Correct f24 to f25 upgrade, sagemath 6.8 to 7.3 (#1396848)
0cb5fbe
4bc8b85
* Thu Oct 20 2016 Jerry James <loganjerry@gmail.com> - 7.3-6
4bc8b85
- Rebuild for ntl 10.1.0
4bc8b85
Dominik 'Rathann' Mierzejewski aa6504a
* Sun Oct 09 2016 Dominik Mierzejewski <rpm@greysector.net> - 7.3-5
Dominik 'Rathann' Mierzejewski aa6504a
- rebuild for aarch64 (#1380191 fixed)
Dominik 'Rathann' Mierzejewski aa6504a
Dominik 'Rathann' Mierzejewski 460a59d
* Mon Sep 26 2016 Dominik Mierzejewski <rpm@greysector.net> - 7.3-4
Dominik 'Rathann' Mierzejewski 460a59d
- rebuilt for matplotlib-2.0.0
Dominik 'Rathann' Mierzejewski 3aef01b
- sync supported arches with maxima
Dominik 'Rathann' Mierzejewski 460a59d
a5348b3
* Mon Sep  5 2016 Jerry James <loganjerry@gmail.com> - 7.3-3
a5348b3
- Rebuild for ntl 9.11.0
a5348b3
- Add gap-pkg-guava requirement
a5348b3
059d46f
* Wed Aug 24 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 7.3-2
059d46f
- Make notebook functional with python-flask-0.11.1
059d46f
0fdebf2
* Sat Aug 20 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 7.3-1
0fdebf2
- Update to sagemath 7.3
0fdebf2
- Switch from polybori to brial