On Wed, Oct 17, 2018 at 11:35 AM Paulo César Pereira de Andrade <paulo.cesar.pereira.de.andrade@xxxxxxxxx> wrote: > I am afraid I did not help with sagemath for quite some time, and > would really like to > thank Jerry for keeping working on it. HI Paulo. It's good to hear from you! I hope you are well. I think I'm past the cython problems now. There are a few more issues to fix, but I think I made a lot of progress over the last few days. Unfortunately, I now have to drop the ball and do some traveling for the rest of this week. I'll try to move forward again next Monday, but until then, if anybody feels motivated to work on the remaining issues, I'll attach what I have so far (modified spec file and a few new patches). There are still a handful of python 3 incompatibilities to solve, and I see no less than 4 segfaults during the doctest runs. It would be good to figure out what is causing those. Regards, -- Jerry James http://www.jamezone.org/
%global __provides_exclude_from .*/site-packages/.*\\.so # This package installs python files in nonstandard places %global _python_bytecompile_extra 0 %bcond_with bundled_pexpect %bcond_with bundled_ipython %bcond_without bundled_ipywidgets %bcond_without bundled_thebe %bcond_without bundled_threejs %bcond_without bundled_widgetsnbextension %bcond_without install_hack # for faster full rpm test builds %ifarch %{ix86} x86_64 %bcond_without docs %else %bcond_with docs %endif # not functional due to missing jar dependencies %bcond_with sage3d # use an workaround to match upstream sagemath patched sphinx %bcond_without sphinx_hack # use workaround to match upstream sagemath patched cython %bcond_with cython_hack %ifarch x86_64 %bcond_without fes %else %bcond_with fes %endif # switch to run make -testall %bcond_with check %global SAGE_TIMEOUT 60 %global SAGE_TIMEOUT_LONG 180 %global combinatorial_designs_pkg combinatorial_designs-20140630 %global conway_polynomials_pkg conway_polynomials-0.5 %global elliptic_curves_pkg elliptic_curves-0.8 %global flintqs_pkg flintqs-1.0 %global graphs_pkg graphs-20161026 %if %{with bundled_ipython} %global ipython_pkg ipython-5.5.0 %endif %if %{with bundled_ipywidgets} %global ipywidgets_pkg ipywidgets-7.2.0 %endif %if %{with bundled_pexpect} %global pexpect_pkg pexpect-4.1.0 %endif %global polytopes_db_pkg polytopes_db-20170220 %global rubiks_pkg rubiks-20070912 %global sagenb_pkg sagenb-1.0.3 %global sagenb_export_pkg sagenb_export-3.2 %global sagetex_pkg sagetex-3.0 %global Sphinx_pkg Sphinx-1.7.5 %global singular_pkg singular-4.1.0p3 %if %{with bundled_thebe} %global thebe_pkg thebe-9624e0a0 %endif %if %{with bundled_threejs} %global threejs_pkg threejs-r80 %endif %if %{with bundled_widgetsnbextension} %global widgetsnbextension_pkg widgetsnbextension-3.2.0 %endif # Spkg equivalents of required rpms; we pretend they are installed as spkgs. # The version numbers shown are those of the latest released spkg, if the Fedora # version is not behind. %global SAGE_REQUIRED_PKGS 4ti2-1.6.7 cbc-2.9.4 CoCoALib-0.99564 cryptominisat-5.0.1 gap_packages-4.8.6new2 gmp-6.1.2 gmpy2-2.1.0a1 lrslib-062+autotools-2017-03-03 qepcad-B.1.69 saclib-2.2.6 surf-1.0.6-gcc6 %global SAGE_ROOT %{_libdir}/sagemath %global SAGE_LOCAL %{SAGE_ROOT}/local %global SAGE_SRC %{SAGE_ROOT}/src %global SAGE_DOC %{_docdir}/%{name} %global SAGE_SHARE %{_datadir}/sagemath %global SAGE_ETC %{SAGE_SHARE}/etc %global SAGE_PYTHONPATH %{SAGE_ROOT}/site-packages %global SAGE_SPKG_INST %{SAGE_LOCAL}/var/lib/sage/installed Name: sagemath Summary: A free open-source mathematics software system Version: 8.3 Release: 2%{?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 License: ASL 2.0 and BSD and GPL+ and GPLv2+ and LGPLv2+ and MIT and Public Domain URL: http://www.sagemath.org Source0: http://files.sagemath.org/src/sage-%{version}.tar.gz Source1: gprc.expect # Follow maxima's ExclusiveArch ExclusiveArch: aarch64 %{arm} %{ix86} x86_64 ppc sparcv9 # Upstream uses mpir not gmp, but the rpm package is tailored to use gmp Patch1: %{name}-gmp.patch # Set of patches to work with system wide packages Patch2: %{name}-scripts.patch # remove call to not implemented sagemath "is_package_installed" interfaces # need to package coin-or solver in fedora # remove check for non free solvers Patch3: %{name}-extensions.patch # helper to: # o respect a DESTDIR environment variable # o avoid double '//' in pathnames, what can confused debugedit & co # o minor change to help in incremental builds by avoiding rebuilding # files # o do not assume there is an installed sagemath Patch4: %{name}-rpmbuild.patch # build documentation in buildroot environment Patch5: %{name}-sagedoc.patch # sage notebook rpm and system environment adjustments Patch6: %{name}-sagenb.patch # do not attempt to create state files in system directories Patch7: %{name}-readonly.patch # work with all maxima-runtime lisp backend packages Patch8: %{name}-maxima.patch # execute 4ti2 programs in $PATH not in $SAGE_ROOT/local/bin Patch9: %{name}-4ti2.patch # use jmol itself to export preview images # FIXME besides not using X and told so, fails if DISPLAY is not set Patch10: %{name}-jmol.patch # only cremona mini database built and installed # FIXME add a package with the full cremona database # FIXME actually it should be already available in pari-elldata Patch11: %{name}-cremona.patch # adapt to python 3 and cython running in python 3 mode Patch12: %{name}-python3.patch # correct path to the nauty geng program # http://cs.anu.edu.au/~bdm/nauty/ # http://pallini.di.uniroma1.it/ Patch13: %{name}-nauty.patch # remove the buildroot path from Cython output Patch14: %{name}-buildroot.patch # correct path to Lfunction include # update c++ standard to fix FTBFS Patch15: %{name}-lcalc.patch # avoid assertion in coin backend Patch16: %{name}-cbc.patch # Use system gap directories Patch17: %{name}-libgap.patch # Build fes Patch18: %{name}-fes-build.patch # Disable fes Patch19: %{name}-fes.patch # Side effect of using distro packages # https://bugzilla.redhat.com/show_bug.cgi?id=974769 Patch20: %{name}-sympy.patch # Adapt to MPFR 3.x. Remove this once Fedora updates to MPFR 4.x. Patch21: %{name}-mpfr.patch # Correct unable to start QEPCAD within sage # https://bugzilla.redhat.com/show_bug.cgi?id=1243590 Patch22: %{name}-qepcad.patch # Correct path to arb headers Patch23: %{name}-arb.patch # Add missing escapes, or convert strings to raw strings Patch24: %{name}-escape.patch # Add missing include paths Patch25: %{name}-includes.patch # Use openblas Patch26: %{name}-openblas.patch # Adapt to recent versions of eclib Patch27: %{name}-eclib.patch BuildRequires: gdb BuildRequires: 4ti2 BuildRequires: arb-devel BuildRequires: boost-devel BuildRequires: brial-devel BuildRequires: cddlib-tools BuildRequires: cliquer-devel BuildRequires: coin-or-Cbc-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 BuildRequires: GAPDoc BuildRequires: gap-libs BuildRequires: gap-pkg-atlasrep BuildRequires: gap-pkg-crime BuildRequires: gap-pkg-design BuildRequires: gap-pkg-guava BuildRequires: gap-pkg-hapcryst BuildRequires: gap-pkg-sonata BuildRequires: gap-pkg-toric BuildRequires: gc-devel BuildRequires: gcc-c++ BuildRequires: gd-devel BuildRequires: gfan BuildRequires: giac-devel BuildRequires: glpk-devel BuildRequires: gmp-ecm BuildRequires: gmp-ecm-devel BuildRequires: gsl-devel BuildRequires: ImageMagick BuildRequires: iml-devel BuildRequires: jmol BuildRequires: jsmath-fonts # To have a proper link BuildRequires: jsmol BuildRequires: L-function-devel BuildRequires: lapack-devel BuildRequires: latte-integrale BuildRequires: libfplll-devel BuildRequires: libgap-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: mpfi-devel BuildRequires: nauty BuildRequires: ntl-devel BuildRequires: openblas-devel BuildRequires: openssl BuildRequires: palp BuildRequires: pari-devel BuildRequires: pari-galdata BuildRequires: pari-gp BuildRequires: pari-seadata BuildRequires: planarity-devel BuildRequires: ppl-devel BuildRequires: pynac-devel BuildRequires: python3-devel BuildRequires: python3-cypari2-devel BuildRequires: python3-cysignals-devel BuildRequires: python3-pillow-devel BuildRequires: python3dist(brial) %if %{with sphinx_hack} BuildRequires: python3dist(configparser) %endif BuildRequires: python3dist(cvxopt) BuildRequires: python3dist(cython) BuildRequires: python3dist(docutils) BuildRequires: python3dist(flask-autoindex) BuildRequires: python3dist(flask-babel) BuildRequires: python3dist(flask-openid) BuildRequires: python3dist(flask-silk) BuildRequires: python3dist(fpylll) BuildRequires: python3dist(future) BuildRequires: python3dist(gmpy2) %if %{with sphinx_hack} BuildRequires: python3dist(html5lib) BuildRequires: python3dist(imagesize) %endif BuildRequires: python3dist(ipykernel) %if %{without bundled_ipython} BuildRequires: python3dist(ipython) %endif BuildRequires: python3dist(matplotlib) BuildRequires: python3dist(networkx) BuildRequires: python3dist(notebook) %if %{with bundled_ipython} BuildRequires: python3dist(path.py) %endif BuildRequires: python3dist(pathlib2) %if %{without bundled_pexpect} BuildRequires: python3dist(pexpect) %endif BuildRequires: python3dist(pickleshare) BuildRequires: python3dist(pip) BuildRequires: python3dist(prompt-toolkit) BuildRequires: python3dist(pkgconfig) BuildRequires: python3dist(psutil) BuildRequires: python3dist(ptyprocess) BuildRequires: python3dist(pycrypto) BuildRequires: python3dist(pycryptosat) %if %{with bundled_ipython} BuildRequires: python3dist(pyzmq) %endif BuildRequires: python3dist(rpy2) BuildRequires: python3dist(scipy) BuildRequires: python3dist(scons) BuildRequires: python3dist(send2trash) BuildRequires: python3dist(setuptools) %if %{with bundled_ipython} BuildRequires: python3dist(simplegeneric) %endif BuildRequires: python3dist(six) BuildRequires: python3dist(speaklater) BuildRequires: python3dist(sphinx) BuildRequires: python3dist(sympy) BuildRequires: python3dist(twisted) BuildRequires: python3dist(zodb3) BuildRequires: qepcad-B BuildRequires: R BuildRequires: ratpoints-devel BuildRequires: readline-devel BuildRequires: rw-devel BuildRequires: Singular-devel BuildRequires: stix-math-fonts BuildRequires: symmetrica-devel BuildRequires: sympow BuildRequires: tachyon BuildRequires: texlive BuildRequires: tex(anyfontsize.sty) BuildRequires: tex(makecmds.sty) BuildRequires: vecmath # For _jsdir macro BuildRequires: web-assets-devel BuildRequires: xorg-x11-fonts-Type1 BuildRequires: xorg-x11-server-Xvfb BuildRequires: zlib-devel BuildRequires: zn_poly-devel Requires: 4ti2 Requires: cddlib-tools Requires: ecl Requires: gap Requires: GAPDoc Requires: gap-libs Requires: gap-pkg-atlasrep Requires: gap-pkg-crime Requires: gap-pkg-design Requires: gap-pkg-guava Requires: gap-pkg-hapcryst Requires: gap-pkg-sonata Requires: gap-pkg-toric Requires: gfan Requires: gmp-ecm Requires: jmol Requires: jsmol Requires: jsmath-fonts Requires: latte-integrale Requires: lrslib-utils Requires: mathjax Requires: maxima-gui Requires: maxima-runtime-ecl Requires: nauty Requires: palp Requires: pari-galdata Requires: pari-gp Requires: pari-seadata Requires: python3dist(brial) %if %{with sphinx_hack} Requires: python3dist(configparser) %endif Requires: python3dist(cypari2) Requires: python3dist(cysignals) Requires: python3dist(cvxopt) Requires: python3dist(cython) Requires: python3dist(docutils) Requires: python3dist(flask-autoindex) Requires: python3dist(flask-babel) Requires: python3dist(flask-openid) Requires: python3dist(flask-silk) Requires: python3dist(fpylll) Requires: python3dist(future) Requires: python3dist(gmpy2) %if %{with sphinx_hack} Requires: python3dist(html5lib) Requires: python3dist(imagesize) %endif Requires: python3dist(ipykernel) %if %{without bundled_ipython} Requires: python3dist(ipython) %endif Requires: python3dist(matplotlib) Requires: python3dist(networkx) Requires: python3dist(notebook) %if %{with bundled_ipython} Requires: python3dist(path) %endif Requires: python3dist(pathlib2) %if %{without bundled_pexpect} Requires: python3dist(pexpect) %endif Requires: python3dist(pickleshare) Requires: python3dist(pillow) Requires: python3dist(prompt-toolkit) Requires: python3dist(psutil) Requires: python3dist(ptyprocess) Requires: python3dist(pycrypto) Requires: python3dist(pycryptosat) Requires: python3dist(rpy2) Requires: python3dist(scipy) Requires: python3dist(send2trash) %if %{with bundled_ipython} BuildRequires: python3dist(simplegeneric) %endif Requires: python3dist(six) Requires: python3dist(speaklater) Requires: python3dist(sphinx) Requires: python3dist(sympy) Requires: python3dist(twisted) %if %{with bundled_ipython} Requires: python3dist(zmq) %endif Requires: python3dist(zodb3) Requires: qepcad-B Requires: R Requires: %{name}-core Requires: %{name}-data %if %{with docs} Requires: %{name}-doc-en %endif Requires: %{name}-notebook Requires: %{name}-rubiks Requires: %{name}-sagetex Requires: Singular Requires: stix-math-fonts Requires: sympow Requires: tachyon Requires: texlive Requires: vecmath %if %{with bundled_thebe} Provides: bundled(thebe) = %(cut -d- -f2- <<< %{thebe_pkg}) %endif %if %{with bundled_threejs} Provides: bundled(threejs) = %(cut -d- -f2- <<< %{threejs_pkg}) %endif %description Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface. #------------------------------------------------------------------------ %package core Summary: Open Source Mathematics Software Requires: %{name}%{?_isa} = %{version}-%{release} Obsoletes: %{name}-devel < 6.8-1 %if %{with bundled_ipython} Provides: bundled(ipython) = %(cut -d- -f2- <<< %{ipython_pkg}) %endif %if %{with bundled_ipywidgets} Provides: bundled(ipywidgets) = %(cut -d- -f2- <<< %{ipywidgets_pkg}) %endif %if %{with bundled_widgetsnbextension} Provides: bundled(widgetsnbextension) = %(cut -d- -f2- <<< %{widgetsnbextension_pkg}) %endif %description core This package contains the core sagemath python modules. #------------------------------------------------------------------------ %package data Summary: Databases and scripts for %{name} Requires: %{name} = %{version}-%{release} Requires: %{name}-data-combinatorial_designs = %{version}-%{release} Requires: %{name}-data-conway_polynomials = %{version}-%{release} Requires: %{name}-data-elliptic_curves = %{version}-%{release} Requires: %{name}-data-etc = %{version}-%{release} Requires: %{name}-data-graphs = %{version}-%{release} Requires: %{name}-data-polytopes_db = %{version}-%{release} BuildArch: noarch %description data Collection of databases and interface customization scripts for sagemath. #------------------------------------------------------------------------ %package data-combinatorial_designs Summary: Table of MOLS from the Handbook of Combinatorial Designs Requires: %{name}-data = %{version}-%{release} BuildArch: noarch %description data-combinatorial_designs The table of MOLS (10000 integers) from the Handbook of Combinatorial Designs, 2nd edition. #------------------------------------------------------------------------ %package data-conway_polynomials Summary: Conway Polynomials Database Requires: %{name}-data = %{version}-%{release} BuildArch: noarch %description data-conway_polynomials Small database of Conway polynomials for sagemath. #------------------------------------------------------------------------ %package data-elliptic_curves Summary: Databases of elliptic curves Requires: %{name}-data = %{version}-%{release} BuildArch: noarch %description data-elliptic_curves Includes two databases: * A small subset of the data in John Cremona's database of elliptic curves up to conductor 10000. See http://www.warwick.ac.uk/~masgaj/ftp/data/ or http://sage.math.washington.edu/cremona/INDEX.html * William Stein's database of interesting curves #------------------------------------------------------------------------ %package data-etc Summary: Extcode for Sagemath Requires: %{name}-data = %{version}-%{release} Obsoletes: %{name}-data-extcode < %{version} BuildArch: noarch %description data-etc Collection of scripts and interfaces to sagemath. #------------------------------------------------------------------------ %package data-graphs Summary: Sagemath database of graphs Requires: %{name}-data = %{version}-%{release} BuildArch: noarch %description data-graphs A database of graphs. Created by Emily Kirkman based on the work of Jason Grout. Since April 2012 it also contains the ISGCI graph database. #------------------------------------------------------------------------ %package data-polytopes_db Summary: Lists of 2- and 3-dimensional reflexive polytopes Requires: %{name}-data = %{version}-%{release} BuildArch: noarch %description data-polytopes_db The list of polygons is quite easy to get and it has been known for a while. The list of 3-polytopes was originally obtained by Maximilian Kreuzer and Harald Skarke using their software PALP, which is included into the standard distribution of Sage. To work with lattice and reflexive polytopes from Sage you can use sage.geometry.lattice_polytope module, which relies on PALP for some of its functionality. To get access to the databases of this package, use ReflexivePolytope and ReflexivePolytopes commands. %if %{with docs} #------------------------------------------------------------------------ %package doc Summary: Documentation infrastructure files for %{name} %description doc This package contains the documentation infrastructure for %{name}. #------------------------------------------------------------------------ %package doc-ca Summary: Catalan documentation files for %{name} Requires: %{name}-doc = %{version}-%{release} %description doc-ca This package contains the Catalan %{name} documentation. #------------------------------------------------------------------------ %package doc-de Summary: German documentation files for %{name} Requires: %{name}-doc = %{version}-%{release} %description doc-de This package contains the German %{name} documentation. #------------------------------------------------------------------------ %package doc-en Summary: English documentation files for %{name} Requires: %{name}-doc = %{version}-%{release} %description doc-en This package contains the English %{name} documentation. #------------------------------------------------------------------------ %package doc-fr Summary: French documentation files for %{name} Requires: %{name}-doc = %{version}-%{release} %description doc-fr This package contains the French %{name} documentation. #------------------------------------------------------------------------ %package doc-hu Summary: Hungarian documentation files for %{name} Requires: %{name}-doc = %{version}-%{release} %description doc-hu This package contains the Hungarian %{name} documentation. #------------------------------------------------------------------------ %package doc-it Summary: Italian documentation files for %{name} Requires: %{name}-doc = %{version}-%{release} %description doc-it This package contains the Italian %{name} documentation. #------------------------------------------------------------------------ %package doc-pt Summary: Portuguese documentation files for %{name} Requires: %{name}-doc = %{version}-%{release} %description doc-pt This package contains the Portuguese %{name} documentation. #------------------------------------------------------------------------ %package doc-ru Summary: Russian documentation files for %{name} Requires: %{name}-doc = %{version}-%{release} %description doc-ru This package contains the Russian %{name} documentation. #------------------------------------------------------------------------ %package doc-tr Summary: Turkish documentation files for %{name} Requires: %{name}-doc = %{version}-%{release} %description doc-tr This package contains the Turkish %{name} documentation. # with docs %endif #------------------------------------------------------------------------ %package notebook Summary: The Sage Notebook Requires: %{name}%{?_isa} = %{version}-%{release} %description notebook The Sage Notebook is a web-based graphical user interface for mathematical software. #------------------------------------------------------------------------ %package notebook-export Summary: The Sage Notebook Exporter Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-notebook = %{version}-%{release} %description notebook-export The Sage Notebook Exporter converts SageNB notebooks to other formats, in particular IPython/Jupyter notebooks. #------------------------------------------------------------------------ %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 Requires: %{name}%{?_isa} = %{version}-%{release} Requires: tex(color.sty) Requires: tex(fancyvrb.sty) Requires: tex(graphicx.sty) Requires: tex(ifpdf.sty) Requires: tex(ifthen.sty) Requires: tex(ifxetex.sty) Requires: tex(listings.sty) Requires: tex(makecmds.sty) Requires: tex(verbatim.sty) %description sagetex This is the SageTeX package. It allows you to embed code, results of computations, and plots from the Sage mathematics software suite (http://sagemath.org) into LaTeX documents. ######################################################################## %prep %setup -q -n sage-%{version} pushd build/pkgs/combinatorial_designs tar jxf ../../../upstream/%{combinatorial_designs_pkg}.tar.bz2 mv %{combinatorial_designs_pkg} src popd pushd build/pkgs/conway_polynomials tar jxf ../../../upstream/%{conway_polynomials_pkg}.tar.bz2 mv %{conway_polynomials_pkg} src popd pushd build/pkgs/elliptic_curves tar jxf ../../../upstream/%{elliptic_curves_pkg}.tar.bz2 mv %{elliptic_curves_pkg} src popd pushd build/pkgs/flintqs tar zxf ../../../upstream/%{flintqs_pkg}.tar.bz2 mv %{flintqs_pkg} src popd pushd build/pkgs/graphs tar jxf ../../../upstream/%{graphs_pkg}.tar.bz2 mv %{graphs_pkg} src popd %if %{with bundled_ipython} pushd build/pkgs/ipython tar zxf ../../../upstream/%{ipython_pkg}.tar.gz mv %{ipython_pkg} src popd %endif %if %{with bundled_ipywidgets} pushd build/pkgs/ipywidgets tar zxf ../../../upstream/%{ipywidgets_pkg}.tar.gz mv %{ipywidgets_pkg} src popd %endif %if %{with bundled_pexpect} pushd build/pkgs/pexpect tar zxf ../../../upstream/%{pexpect_pkg}.tar.gz mv %{pexpect_pkg} src pushd src for diff in `ls ../patches/*.patch`; do patch -p1 < $diff done popd popd %endif pushd build/pkgs/polytopes_db tar jxf ../../../upstream/%{polytopes_db_pkg}.tar.bz2 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 `ls ../patches/*.patch`; do patch -p1 < $diff done popd popd pushd build/pkgs/sagenb tar jxf ../../../upstream/%{sagenb_pkg}.tar.bz2 mv %{sagenb_pkg} src popd pushd build/pkgs/sagenb_export tar zxf ../../../upstream/%{sagenb_export_pkg}.tar.gz mv %{sagenb_export_pkg} src popd pushd build/pkgs/sagetex tar zxf ../../../upstream/%{sagetex_pkg}.tar.gz mv %{sagetex_pkg} src # Fix the style file install path texmfdir=$(cut -d/ -f3- <<< "%{_texmf_main}") sed -i "s,share/texmf,$texmfdir," src/setup.py popd %if %{with docs} %if %{with sphinx_hack} pushd build/pkgs/sphinx tar zxf ../../../upstream/%{Sphinx_pkg}.tar.gz mv %{Sphinx_pkg} src pushd src for diff in `ls ../patches/*.patch`; do patch -p1 < $diff done popd popd %endif %endif %if %{with bundled_thebe} pushd build/pkgs/thebe unzip ../../../upstream/%{thebe_pkg}.zip mv %{thebe_pkg}* src popd %endif %if %{with bundled_threejs} pushd build/pkgs/threejs mkdir src cd src tar zxf ../../../../upstream/%{threejs_pkg}.tar.gz popd %endif %if %{with bundled_widgetsnbextension} pushd build/pkgs/widgetsnbextension tar zxf ../../../upstream/%{widgetsnbextension_pkg}.tar.gz mv %{widgetsnbextension_pkg} src popd %endif %patch1 %patch2 %patch3 %patch4 %patch5 %patch6 %patch7 %patch8 %patch9 %patch10 %patch11 %patch12 %patch13 %patch14 %patch15 %patch16 %patch17 %if %{with fes} %patch18 %else %patch19 %endif %patch20 %patch21 %patch22 %patch23 %patch24 %patch25 %patch26 %patch27 sed -e 's|@@SAGE_ROOT@@|%{SAGE_ROOT}|' \ -e 's|@@SAGE_DOC@@|%{SAGE_DOC}|' \ -i src/sage/env.py sed -e 's|@@CYSIGNALS@@|%{python3_sitearch}/cysignals|' \ -e 's|@@BUILDROOT@@|%{buildroot}|' \ -i src/setup.py sed -e "/flask-oldsessions/d" \ -i build/pkgs/sagenb/src/setup.py #------------------------------------------------------------------------ # some .c files are not (re)generated find src/sage \( -name \*.pyx -o -name \*.pxd \) | xargs touch # remove bundled jar files before build rm build/pkgs/sagenb/src/sagenb/data/sage3d/lib/sage3d.jar # remove binary egg rm -r build/pkgs/sagenb/src/sagenb.egg-info # fix Singular paths singver=$(sed 's/.*-\([.[:digit:]]*\).*/\1/' <<< %{singular_pkg}) sed -e "s,SINGULARPATH=\",&%{_datadir}/singular/LIB:," \ -e "s,\(SINGULAR_EXECUTABLE=\"\).*\",\1%{_libdir}/Singular/Singular\"," \ -i src/bin/sage-env sed -e "s,\(SINGULAR_SO = \)SAGE.*,\1'%{_libdir}/libSingular-$singver.so'," \ -i src/sage/env.py # fix shebangs; some paths contains spaces, so use the null byte facility grep -FrlZ '#!%{_bindir}/env python' | \ xargs -0 sed -i 's,#!%{_bindir}/env python,#!%{__python3},' grep -FrlZ '#!%{_bindir}/env sage-python23' | \ xargs -0 sed -i 's,#!%{_bindir}/env sage-python23,#!%{__python3},' grep -FrlZ '#!%{_bindir}/env' | \ xargs -0 sed -i 's,#!%{_bindir}/env ,#!%{_bindir}/,' grep -rlZ '#!%{_bindir}/python$' | xargs -0 sed -i 's,#!%{_bindir}/python$,&3,' sed -i 's,%{_bindir}/env python,%{__python3},' \ %if %{with bundled_pexpect} build/pkgs/pexpect/src/examples/python.py \ %endif build/pkgs/sagetex/src/sagetex.ins sed -i 's,%{_bindir}/python,&3,' src/sage/misc/dev_tools.py sed -e 's,local/bin/python,bin/python,' \ -e 's,#!%{_bindir}/python,&3,' \ -i src/sage/repl/preparse.py %if %{with bundled_ipython} sed -e "s|'%{_bindir}/env', 'which'|'%{_bindir}/which'|" \ -i build/pkgs/ipython/src/IPython/utils/_process_posix.py %endif # fix path to pip for python 3 sed -i 's/"pip",/"pip3",/' src/sage/misc/package.py # GAP does not have enough memory to load the entire workspace sed -i 's/64m/128m/' src/sage/libs/gap/util.pyx # GAP is not looked for in the right place sed -i "s,\(GAP_BINARY = \).*,\1'/usr/bin/gap'," src/sage/interfaces/gap.py ######################################################################## %build export CC=%{__cc} export CFLAGS="%{optflags}" export CXXFLAGS="%{optflags}" export SAGE_PYTHON_VERSION=3 export SAGE_ROOT=%{buildroot}%{SAGE_ROOT} export SAGE_LOCAL=%{buildroot}%{SAGE_LOCAL} # Avoid buildroot in gcc command line (use _builddir instead) export SAGE_SRC="$PWD/src" export SAGE_INC=%{_includedir} export SAGE_FORTRAN=%{_bindir}/gfortran export SAGE_FORTRAN_LIB=`gfortran --print-file-name=libgfortran.so` export DESTDIR=%{buildroot} export SAGE_DEBUG=no # Use file in /tmp because there are issues with long pathnames export DOT_SAGE=/tmp/sage$$ mkdir -p $DOT_SAGE/tmp # Avoid surprises due to change to src/build/temp.*$ARCH.*/... export SAGE_CYTHONIZED=$SAGE_SRC/build/cythonized # match system packages as sagemath packages mkdir -p $SAGE_ROOT $SAGE_LOCAL ln -sf %{_libdir} $SAGE_LOCAL/lib ln -sf %{_includedir} $SAGE_LOCAL/include ln -sf %{_datadir} $SAGE_LOCAL/share export PATH=%{buildroot}%{_bindir}:$PATH export PYTHON=%{_bindir}/python3 export PYTHONPATH=%{buildroot}%{python3_sitearch}:$PYTHONPATH #------------------------------------------------------------------------ # Save and update environment to generate bundled interfaces save_PATH=$PATH save_LOCAL=$SAGE_LOCAL export PATH=%{_builddir}/bin:$PATH export SAGE_LOCAL=%{_builddir} %if %{with bundled_ipython} pushd build/pkgs/ipython/src %__python3 setup.py build %__python3 setup.py install --root %{_builddir} popd %endif %if %{with bundled_ipywidgets} pushd build/pkgs/ipywidgets/src %__python3 setup.py build %__python3 setup.py install --root %{_builddir} 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/ pushd %{_builddir}%{python3_sitearch} for PATCH in pxi_sys_path.patch do patch -p1 < $BASE/$PATCH done popd %endif # Restore environment used to generate bundled interfaces export PATH=$save_PATH export SAGE_LOCAL=$save_LOCAL mkdir -p %{buildroot}%{SAGE_SPKG_INST} mkdir -p %{buildroot}%{_libdir}/sagemath/build/pkgs pushd src %__python3 -u ./setup.py build popd #------------------------------------------------------------------------ pushd build/pkgs/sagenb/src %__python3 ./setup.py build popd pushd build/pkgs/sagenb_export/src %__python3 ./setup.py build popd #------------------------------------------------------------------------ pushd build/pkgs/flintqs/src %configure 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 ######################################################################## %install export LC_ALL=C.UTF-8 export CC=%{__cc} export SAGE_ROOT=%{buildroot}%{SAGE_ROOT} export SAGE_LOCAL=%{buildroot}%{SAGE_LOCAL} # Avoid buildroot in gcc command line (use _builddir instead) export SAGE_SRC="$PWD/src" export SAGE_INC=%{_includedir} #export SAGE_SRC=#%#{buildroot}#%#{SAGE_SRC} 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_PYTHONPATH=%{buildroot}%{SAGE_PYTHONPATH} export DESTDIR=%{buildroot} export SAGE_DEBUG=no export DOT_SAGE=/tmp/sage$$ mkdir -p $DOT_SAGE/tmp export PATH=%{buildroot}%{_bindir}:$PATH export PYTHON=%{_bindir}/python3 export PYTHONPATH=%{buildroot}%{python3_sitearch}:$PYTHONPATH export PYTHONPATH=%{_builddir}%{python3_sitearch}:$PYTHONPATH #------------------------------------------------------------------------ mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_libdir} mkdir -p $SAGE_PYTHONPATH rm -fr $SAGE_LOCAL/{include,lib,share,notebook} mkdir -p $SAGE_SHARE $SAGE_DOC $SAGE_LOCAL/bin %{buildroot}%{SAGE_SRC} ln -sf $PWD/src/sage %{buildroot}%{SAGE_SRC}/sage ln -sf %{_libdir} $SAGE_LOCAL/lib ln -sf %{_includedir} $SAGE_LOCAL/include ln -sf %{_datadir} $SAGE_LOCAL/share #------------------------------------------------------------------------ pushd src/ext mkdir -p $SAGE_ETC for dir in \ gap \ graphs \ images \ magma \ mwrank \ notebook-ipython; do COUNT=`find $dir -type f | wc -l ` if [ $COUNT -gt 0 ]; then cp -far $dir $SAGE_ETC fi cp -far pari $SAGE_ETC done cp -fa %{SOURCE1} $SAGE_ETC popd #------------------------------------------------------------------------ pushd src %if %{without install_hack} %py3_install %else mkdir -p %{buildroot}%{python3_sitearch} cp -far build/lib.linux-*/sage %{buildroot}%{python3_sitearch} %endif %if %{with docs} # install documentation sources rm -fr $SAGE_DOC/{common,en,fr} cp -far doc/{common,ca,de,en,fr,hu,it,pt,ru,tr} $SAGE_DOC %endif popd #------------------------------------------------------------------------ pushd build/pkgs/sagenb/src rm -f %{buildroot}%{python3_sitearch}/sagenb/data/sage3d/sage3d %py3_install "--install-purelib=%{python3_sitearch}" # jsmol ln -sf %{_jsdir}/jsmol $SAGE_SHARE/jsmol # sage3d rm -f %{buildroot}%{_bindir}/sage3d %if %{with sage3d} ln -sf %{SAGE_LOCAL}/bin/sage3d %{buildroot}%{python3_sitearch}/sagenb/data/sage3d/sage3d %endif ln -sf %{python3_sitearch}/sagenb %{buildroot}%{SAGE_SRC}/sagenb # use system mathjax ln -sf %{_jsdir}/mathjax %{buildroot}%{python3_sitearch}/sagenb/data/mathjax popd #------------------------------------------------------------------------ pushd build/pkgs/sagenb_export/src %py3_install popd #------------------------------------------------------------------------ %if %{with bundled_pexpect} pushd build/pkgs/pexpect/src cp -fa pexpect $SAGE_PYTHONPATH popd %endif #------------------------------------------------------------------------ cp -fa COPYING.txt $SAGE_ROOT pushd src/bin mkdir -p $SAGE_LOCAL/bin cp -fa sage-* $SAGE_LOCAL/bin pushd $SAGE_LOCAL/bin ln -sf %{_bindir}/jmol jmol ln -sf %{_bindir}/python3 sage.bin ln -sf %{_bindir}/python3 python ln -sf %{_bindir}/gp sage_pari ln -sf %{_bindir}/gap gap ln -sf %{_bindir}/gmp-ecm ecm popd popd install -p -m755 src/bin/sage $SAGE_LOCAL/bin #------------------------------------------------------------------------ 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 \ sage-arch-env \ sage-bdist \ sage-build \ sage-clone \ sage-clone-source \ sage-combinat \ sage-crap \ sage-dev \ sage-download-file \ sage-download-upstream \ sage-env \ sage-fix-pkg-checksums \ sage-list-experimental \ sage-list-optional \ sage-list-packages \ sage-list-standard \ sage-location \ sage-omega \ sage-open \ sage-pkg \ sage-pull \ sage-push \ sage-pypkg-location \ sage-README-osx.txt \ sage-rebaseall.bat \ sage-rebaseall.sh \ sage-rebase.bat \ sage-rebase.sh \ sage-rebase \ sage-rsyncdist \ sage-sdist \ sage-spkg \ sage-starts \ sage-sync-build.py \ sage-test-import \ sage-update-src \ sage-update-version \ sage-upgrade \ spkg-install popd #------------------------------------------------------------------------ pushd build/pkgs/combinatorial_designs chmod a+x spkg-install bash -c '. ../../../src/bin/sage-dist-helpers; ./spkg-install' popd #------------------------------------------------------------------------ pushd build/pkgs/conway_polynomials %__python3 ./spkg-install.py popd #------------------------------------------------------------------------ pushd build/pkgs/elliptic_curves # --short-circuit -bi debug build helper if [ ! -e src/ellcurves ]; then rm -fr src tar jxf ../../../upstream/%{elliptic_curves_pkg}.tar.bz2 mv %{elliptic_curves_pkg} src fi %__python3 ./spkg-install.py popd #------------------------------------------------------------------------ pushd build/pkgs/graphs mkdir -p $SAGE_SHARE/graphs cp -fa src/* $SAGE_SHARE/graphs popd #------------------------------------------------------------------------ pushd build/pkgs/polytopes_db mkdir -p $SAGE_SHARE/reflexive_polytopes cp -fa src/* $SAGE_SHARE/reflexive_polytopes popd #------------------------------------------------------------------------ pushd build/pkgs/sagetex/src %py3_install "--install-purelib=%{python3_sitearch}" mv %{buildroot}%{_texmf_main}/tex/latex/sagetex/CONTRIBUTORS \ %{buildroot}%{_docdir}/sagetex for file in PKG-INFO README; do install -p -m 0644 $file %{buildroot}%{_docdir}/sagetex/$file done popd #------------------------------------------------------------------------ %if %{with bundled_ipython} mv %{_builddir}%{python3_sitelib}/IPython %{buildroot}%{SAGE_PYTHONPATH} mv %{_builddir}%{_bindir}/ip* %{buildroot}%{SAGE_LOCAL}/bin %endif #------------------------------------------------------------------------ %if %{with bundled_ipywidgets} mv %{_builddir}%{python3_sitelib}/ipywidgets %{buildroot}%{SAGE_PYTHONPATH} %endif #------------------------------------------------------------------------ %if %{with bundled_thebe} pushd build/pkgs/thebe mkdir -p $SAGE_SHARE/thebe cp -p src/static/main-built.js $SAGE_SHARE/thebe/thebe.js popd %endif #------------------------------------------------------------------------ %if %{with bundled_threejs} pushd build/pkgs/threejs cp -a src $SAGE_SHARE/threejs 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 #------------------------------------------------------------------------ cat > %{buildroot}%{_bindir}/sage << EOF #!/bin/bash -i export CUR=\`pwd\` ##export DOT_SAGE="\$HOME/.sage" mkdir -p \$DOT_SAGE/{maxima,sympow,tmp} export SAGE_TESTDIR=\$DOT_SAGE/tmp export SAGE_ROOT="$SAGE_ROOT" export SAGE_LOCAL="$SAGE_LOCAL" export SAGE_SHARE="$SAGE_SHARE" export SAGE_EXTCODE="$SAGE_ETC" export SAGE_ETC="$SAGE_ETC" export SAGE_SRC="%{buildroot}%{SAGE_SRC}" ##export SAGE_DOC="$SAGE_DOC" ##export SAGE_DOC_SRC="\$SAGE_DOC" ##export SAGE_PKGS="\$SAGE_LOCAL//var/lib/sage/installed" module load 4ti2-%{_arch} module load lrcalc-%{_arch} module load surf-geometry-%{_arch} export PATH=$SAGE_LOCAL/bin:\$PATH export SINGULAR_DATA_DIR=%{_datadir} export SINGULAR_BIN_DIR=%{_libdir}/Singular export SINGULAR_SO=%{_libdir}/libSingular-4.1.1.so ##export PYTHONPATH="$SAGE_PYTHONPATH:\$SAGE_LOCAL/bin" export SAGE_CBLAS=blas export SAGE_FORTRAN=%{_bindir}/gfortran export SAGE_FORTRAN_LIB=\`gfortran --print-file-name=libgfortran.so\` export SYMPOW_DIR="\$DOT_SAGE/sympow" export LC_ALL=C.UTF-8 export LD_LIBRARY_PATH=\$SAGE_ROOT/lib:\$LD_LIBRARY_PATH # Required for sage -gdb export SAGE_DEBUG=no $SAGE_LOCAL/bin/sage "\$@" EOF #------------------------------------------------------------------------ chmod +x %{buildroot}%{_bindir}/sage #------------------------------------------------------------------------ %if %{with sage3d} cat > %{buildroot}%{SAGE_LOCAL}/bin/sage3d << EOF #!/bin/sh java -classpath %{SAGE_SRC}/sage/sagenb/data/sage3d/lib/sage3d.jar:%{_javadir}/j3dcore.jar:%{_javadir}/vecmath.jar:%{_javadir}/j3dutils.jar org.sagemath.sage3d.ObjectViewerApp "\$1" EOF chmod +x %{buildroot}%{SAGE_LOCAL}/bin/sage3d %endif #------------------------------------------------------------------------ # adjust cython interface: # o install csage headers # o install .pxi and .pxd files pushd src for f in `find sage \( -name \*.pxi -o -name \*.pxd -o -name \*.pyx \)`; do install -p -D -m 0644 $f %{buildroot}%{python3_sitearch}/$f done # need this or will not "find" the files in the directory, and # fail to link with gmp touch %{buildroot}%{python3_sitearch}/sage/libs/gmp/__init__.py popd %if %{with docs} #------------------------------------------------------------------------ %if %{with bundled_pexpect} cp -fa $SAGE_PYTHONPATH/pexpect %{buildroot}%{python3_sitearch} %endif # Build documentation, using %#{buildroot} environment export SAGE_SETUP=$PWD/src/sage_setup pushd src/doc export SAGE_DOC=$PWD export PATH=%{buildroot}%{_bindir}:$SAGE_LOCAL/bin:$PATH export SINGULARPATH=%{_datadir}/singular/LIB export SINGULAR_BIN_DIR=%{_libdir}/Singular export PYTHONPATH=$SAGE_SETUP:%{buildroot}%{python3_sitearch}:$SAGE_PYTHONPATH:$SAGE_DOC %if %{with sphinx_hack} pushd ../../build/pkgs/sphinx/src %py3_build %py3_install "--install-purelib=%{python3_sitearch}" rm -f %{buildroot}%{_bindir}/sphinx* popd %endif # there we go ln -sf %{buildroot}%{SAGE_DOC} %{buildroot}%{SAGE_SRC}/doc export SAGE_DOC=%{buildroot}%{SAGE_DOC} export SAGE_DOC_SRC=$SAGE_DOC # python -m sage_setup.docbuild # Build with an X server running, required by some doc builders SAGE_NUM_THREADS=2 LANGUAGES="ca de en fr hu it ja pt ru tr" \ xvfb-run -a -n 1 %__python3 -m docbuild --no-pdf-links -k all html -j rm -f %{buildroot}%{SAGE_SRC}/doc ln -sf %{SAGE_DOC} %{buildroot}%{SAGE_SRC}/doc # should not be required and encodes buildroot rm -fr $SAGE_DOC/output/doctrees popd %if %{with check} export SAGE_TIMEOUT=%{SAGE_TIMEOUT} export SAGE_TIMEOUT_LONG=%{SAGE_TIMEOUT_LONG} sage -testall --verbose || : install -p -m644 $DOT_SAGE/tmp/test.log $SAGE_DOC/test.log # remove buildroot references from test.log sed -i 's|%{buildroot}||g' $SAGE_DOC/test.log %endif %if %{with bundled_pexpect} rm -f %{buildroot}%{python3_sitearch}/pexpect %endif %if %{with sphinx_hack} rm -fr %{buildroot}%{python3_sitearch}/sphinx \ %{buildroot}%{python3_sitearch}/Sphinx* %endif # More wrong buildroot references perl -pi -e 's|%{buildroot}||g;' \ -e "s|$PWD/src/doc|%{SAGE_DOC}|g;" \ %{buildroot}%{SAGE_DOC}/output/html/en/reference/todolist.html # with docs %endif # Script was used to build documentation perl -pi -e 's|%{buildroot}||g;s|^##||g;' %{buildroot}%{_bindir}/sage #------------------------------------------------------------------------ # Fix links export SAGE_SRC=%{buildroot}%{SAGE_SRC} rm -fr $SAGE_SRC/sage $SAGE_ETC/sage $SAGE_ROOT/doc $SAGE_SRC/doc rm -fr $SAGE_ROOT/share $SAGE_ROOT/devel ln -sf %{python3_sitearch}/sage $SAGE_SRC/sage ln -sf %{python3_sitearch} $SAGE_ETC/sage ln -sf %{SAGE_DOC} $SAGE_ROOT/doc %if %{with docs} ln -sf %{SAGE_DOC} $SAGE_SRC/doc %endif ln -sf %{SAGE_SHARE} $SAGE_ROOT/share # compat devel symlink ln -sf src $SAGE_ROOT/devel # Install menu and icons pushd build/pkgs/sagenb/src/sagenb/data install -p -m644 -D sage/images/icon128x128.png %{buildroot}%{_datadir}/pixmaps/%{name}.png popd mkdir -p %{buildroot}%{_datadir}/applications cat > %{buildroot}%{_datadir}/applications/%{name}.desktop << EOF [Desktop Entry] Name=Sagemath Comment=A free open-source mathematics software system Exec=sage Icon=%{name} Terminal=true Type=Application Categories=Science;Math; EOF desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop # Fix permissions find %{buildroot} -name '*.so' | xargs chmod 755 pushd %{buildroot}%{SAGE_LOCAL}/bin chmod 755 QuadraticSieve chmod 755 mcube dikcube cu2 size222 cubex optimal popd for file in `find %{buildroot} -name \*.py`; do if head -1 $file | grep -q '^#!'; then chmod +x $file fi done %if %{with docs} chmod -x %{buildroot}%{SAGE_DOC}/en/prep/media/Rplot001.png # Documentation is not rebuilt (also corrects rpmlint warning of hidden file) find %{buildroot}%{SAGE_DOC} -name .buildinfo -exec rm {} \+ rm -fr %{buildroot}%{SAGE_DOC}/output/inventory find %{buildroot}%{SAGE_DOC} -type d -name _sources -exec rm -fr {} \+ %endif # remove .po files rm %{buildroot}%{python3_sitearch}/sagenb/translations/*/LC_MESSAGES/*.po %if %{without sage3d} rm -r %{buildroot}%{python3_sitearch}/sagenb/data/sage3d %endif # remove build directory in buildroot [ -d %{buildroot}%{SAGE_SRC}/build ] && rm -r %{buildroot}%{SAGE_SRC}/build %if %{without install_hack} # remove sage_setup rm -r %{buildroot}%{python3_sitearch}/sage_setup %endif # pretend sagemath spkgs are installed to reduce number of errors # in doctests mkdir -p %{buildroot}%{SAGE_SPKG_INST} pushd upstream for file in *.tar.*; do mkdir %{buildroot}%{SAGE_SPKG_INST}/$(echo $file | sed -e 's|\.tar.*||') done popd pushd %{buildroot}%{SAGE_SPKG_INST} for pkg in %{SAGE_REQUIRED_PKGS}; do mkdir $pkg done popd #------------------------------------------------------------------------ cat > %{buildroot}%{SAGE_LOCAL}/bin/sage-list-packages << EOF #!/bin/sh NOVERSION=false INSTALLED=no while [ \$# -gt 0 ]; do if [ x\$1 = x--no-version ]; then NOVERSION=true elif [ x\$1 = xinstalled ]; then INSTALLED=yes fi shift done if [ \$INSTALLED = no ]; then exit 0 fi LIST=\$(cd %{SAGE_SPKG_INST}; echo *) if [ \$NOVERSION = false ]; then for pkg in \$LIST; do echo \$pkg | sed -e 's/-/ /' done else for pkg in \$LIST; do echo \$pkg | sed -e 's/-.*//' done fi EOF chmod +x %{buildroot}%{SAGE_LOCAL}/bin/sage-list-packages #------------------------------------------------------------------------ %if %{with docs} rm -fr %{buildroot}%{SAGE_DOC}/doctrees rm -fr %{buildroot}%{SAGE_DOC}/inventory %endif #------------------------------------------------------------------------ # Byte compile python files in nonstandard places %py_byte_compile %{__python3} %{buildroot}%{_texmf_main}/tex/latex/sagetex # last install command rm -fr $DOT_SAGE ######################################################################## %ldconfig_scriptlets core ######################################################################## %files # GPLv2+ %dir %{SAGE_ROOT} %doc %{SAGE_ROOT}/COPYING.txt %dir %{SAGE_LOCAL} %dir %{SAGE_LOCAL}/bin %dir %{SAGE_SHARE} %{SAGE_LOCAL}/bin/QuadraticSieve %{SAGE_LOCAL}/bin/ecm %{SAGE_LOCAL}/bin/gap %{SAGE_LOCAL}/bin/jmol %if %{with bundled_ipython} %{SAGE_LOCAL}/bin/ip* %endif %{SAGE_LOCAL}/bin/python %{SAGE_LOCAL}/bin/sage* %{SAGE_LOCAL}/include %{SAGE_LOCAL}/lib %{SAGE_LOCAL}/share %{SAGE_LOCAL}/var %{SAGE_ROOT}/doc %{SAGE_ROOT}/devel %{SAGE_ROOT}/share %dir %{SAGE_SRC} %if %{with docs} %{SAGE_SRC}/doc %endif %{SAGE_SRC}/sage %dir %{SAGE_PYTHONPATH} # GPLv2+ %{_bindir}/sage %{_datadir}/pixmaps/%{name}.png %{_datadir}/applications/%{name}.desktop %if %{with bundled_thebe} # MIT %{SAGE_SHARE}/thebe %endif %if %{with bundled_threejs} # MIT %{SAGE_SHARE}/threejs %endif #------------------------------------------------------------------------ %files core # GPLv2+ %{python3_sitearch}/sage %if %{without install_hack} %{python3_sitearch}/sage-*.egg-info %endif %if %{with bundled_ipython} %{SAGE_PYTHONPATH}/IPython %endif %if %{with bundled_ipywidgets} %{SAGE_PYTHONPATH}/ipywidgets %endif %if %{with bundled_widgetsnbextension} %dir %{_sysconfdir}/jupyter %dir %{_sysconfdir}/jupyter/nbconfig %dir %{_sysconfdir}/jupyter/nbconfig/notebook.d %config(noreplace) %{_sysconfdir}/jupyter/nbconfig/notebook.d/*.json %{_datadir}/jupyter/ %{python3_sitelib}/widgetsnbextension* %endif #------------------------------------------------------------------------ %files data %dir %{SAGE_SHARE} %dir %{SAGE_ETC} %{SAGE_ETC}/sage %{SAGE_ETC}/gprc.expect #------------------------------------------------------------------------ %files data-combinatorial_designs # Public Domain %{SAGE_SHARE}/combinatorial_designs #------------------------------------------------------------------------ %files data-conway_polynomials # GPLv2+ %{SAGE_SHARE}/conway_polynomials #------------------------------------------------------------------------ %files data-elliptic_curves # GPLv2+ %{SAGE_SHARE}/cremona %{SAGE_SHARE}/ellcurves #------------------------------------------------------------------------ %files data-etc # GPLv2+ %{SAGE_ETC}/gap %{SAGE_ETC}/images %{SAGE_ETC}/magma %{SAGE_ETC}/mwrank %{SAGE_ETC}/pari #------------------------------------------------------------------------ %files data-graphs # GPLv2+ %{SAGE_ETC}/graphs %{SAGE_SHARE}/graphs #------------------------------------------------------------------------ %files data-polytopes_db # GPL+ %{SAGE_SHARE}/reflexive_polytopes %if %{with docs} #------------------------------------------------------------------------ %files doc # GPLv2+ %dir %{SAGE_DOC} %{SAGE_DOC}/common %dir %{SAGE_DOC}/html #------------------------------------------------------------------------ %files doc-ca # GPLv2+ %{SAGE_DOC}/ca %{SAGE_DOC}/html/ca #------------------------------------------------------------------------ %files doc-de # GPLv2+ %{SAGE_DOC}/de %{SAGE_DOC}/html/de #------------------------------------------------------------------------ %files doc-en # GPLv2+ %{SAGE_DOC}/en %{SAGE_DOC}/html/en #------------------------------------------------------------------------ %files doc-fr # GPLv2+ %{SAGE_DOC}/fr %{SAGE_DOC}/html/fr #------------------------------------------------------------------------ %files doc-hu # GPLv2+ %{SAGE_DOC}/hu %{SAGE_DOC}/html/hu #------------------------------------------------------------------------ %files doc-it # GPLv2+ %{SAGE_DOC}/it %{SAGE_DOC}/html/it #------------------------------------------------------------------------ %files doc-pt # GPLv2+ %{SAGE_DOC}/pt %{SAGE_DOC}/html/pt #------------------------------------------------------------------------ %files doc-ru # GPLv2+ %{SAGE_DOC}/ru %{SAGE_DOC}/html/ru #------------------------------------------------------------------------ %files doc-tr # GPLv2+ %{SAGE_DOC}/tr %{SAGE_DOC}/html/tr # with docs %endif #------------------------------------------------------------------------ %files notebook %{SAGE_ETC}/notebook-ipython # GPLv2+ %{SAGE_SRC}/sagenb %dir %{python3_sitearch}/sagenb %{python3_sitearch}/sagenb/*.py* %{python3_sitearch}/sagenb/__pycache__/ %{python3_sitearch}/sagenb-*.egg-info %dir %{python3_sitearch}/sagenb/data # BSD %{python3_sitearch}/sagenb/data/codemirror # MIT %{python3_sitearch}/sagenb/data/graph_editor # ASL 2.0 %{python3_sitearch}/sagenb/data/highlight # LGPLv2+ %{SAGE_SHARE}/jsmol # (MIT or GPLv2) and (MIT and BSD and GPL) %{python3_sitearch}/sagenb/data/jquery # (MIT or GPLv2) and (MIT and BSD and GPL) %{python3_sitearch}/sagenb/data/jqueryui # Public Domain %{python3_sitearch}/sagenb/data/json # Symbolic link to $_jsdir/mathjax %{python3_sitearch}/sagenb/data/mathjax %ghost %{python3_sitearch}/sagenb/data/mathjax.rpmmoved # Empty (do not run doctests flag file) %{python3_sitearch}/sagenb/data/nodoctest.py* # BSD %{python3_sitearch}/sagenb/data/openid-realselector # GPLv2+ %{python3_sitearch}/sagenb/data/sage %if %{with sage3d} # GPLv2+ %{python3_sitearch}/sagenb/data/sage3d %endif # LGPLv2+ %{python3_sitearch}/sagenb/data/tiny_mce # LGPLv2+ %{python3_sitearch}/sagenb/data/zorn # GPLv2+ %{python3_sitearch}/sagenb/flask_version # GPLv2+ %{python3_sitearch}/sagenb/interfaces # GPLv2+ %{python3_sitearch}/sagenb/misc # GPLv2+ %{python3_sitearch}/sagenb/notebook # GPLv2+ %{python3_sitearch}/sagenb/simple # GPLv2+ %{python3_sitearch}/sagenb/storage # GPLv2+ %dir %{python3_sitearch}/sagenb/testing %{python3_sitearch}/sagenb/testing/*.py* %{python3_sitearch}/sagenb/testing/tests # ASL 2.0 %{python3_sitearch}/sagenb/testing/selenium # GPLv2+ %dir %{python3_sitearch}/sagenb/translations %lang(cs_CZ) %{python3_sitearch}/sagenb/translations/cs_CZ %lang(de_AT) %{python3_sitearch}/sagenb/translations/de_AT %lang(de_AT) %{python3_sitearch}/sagenb/translations/en_US %lang(de_AT) %{python3_sitearch}/sagenb/translations/es_ES %lang(de_AT) %{python3_sitearch}/sagenb/translations/fr_FR %lang(pt_BR) %{python3_sitearch}/sagenb/translations/pt_BR %lang(ru_RU) %{python3_sitearch}/sagenb/translations/ru_RU %lang(uk_UA) %{python3_sitearch}/sagenb/translations/uk_UA #------------------------------------------------------------------------ %files notebook-export # GPL+ %{_bindir}/sagenb-export %{python3_sitelib}/sagenb_export %{python3_sitelib}/sagenb_export-*.egg-info #------------------------------------------------------------------------ %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 #------------------------------------------------------------------------ %files sagetex # GPLv2+ %{python3_sitearch}/sagetex* %{_texmf_main}/tex/latex/sagetex %doc %{_docdir}/sagetex ######################################################################## %changelog * Wed Oct 10 2018 Jerry James <loganjerry@xxxxxxxxx> - 8.3-2 - Rebuild for ntl 11.3.0 - Build for python 3 instead of python 2 due to upcoming python 2 removal * Sat Sep 22 2018 Jerry James <loganjerry@xxxxxxxxx> - 8.3-1 - Update to sagemath 8.3 (bz 1612867) - Drop -lrslib, -gap-hap, and -flask patches - Drop obsolete scriplets to fix F24 to F25 upgrade (bz 1594429 and 1618934) - Drop obsolete mktexlsr invocations - Fix more Singular paths - Fix still more uses of /usr/bin/env - Drop disallow/dissallow fixup for cython; now fixed in cython itself * Fri Aug 10 2018 Jerry James <loganjerry@xxxxxxxxx> - 8.2-4 - Rebuild for arb 2.14.0, eclib 20180710, ntl 11.2.1, and pari 2.11.0 - Drop unneeded genus2reduction dependency; pari is used instead now * Sat Jul 14 2018 Fedora Release Engineering <releng@xxxxxxxxxxxxxxxxx> - 8.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Tue Jul 3 2018 Jerry James <loganjerry@xxxxxxxxx> - 8.2-2 - Rebuild for ntl 11.1.0 - Optionally bundle thebe, threejs, and widgetsnbextension - Add provides for the optionally bundled packages - Add -flask patch - Apply new guidelines for python files in nonstandard places * Fri May 18 2018 Jerry James <loganjerry@xxxxxxxxx> - 8.2-1 - Update to sagemath 8.2 - Create the sagemath-data-combinatorial_designs subpackage - Create the sagemath-notebook-export subpackage - Unbundle the LaTeX makecmds style - Install LaTeX style files in a more canonical place * Fri Feb 09 2018 Fedora Release Engineering <releng@xxxxxxxxxxxxxxxxx> - 8.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Sat Nov 25 2017 Jerry James <loganjerry@xxxxxxxxx> - 8.0-2 - Do not interpret GAP library informational messages as a libgap failure - Build with cryptominisat5 - Sagemath now invokes gap instead of gap_stamp * Thu Nov 23 2017 Jerry James <loganjerry@xxxxxxxxx> - 8.0-1 - Build with bundled ipywidgets for now - Drop unneeded -givaro patch - Lots of new BRs for building documentation - R python-backports-shutil_get_terminal_size and python-traitlets (bz 1464520) - Fix Singular LIB path - Make sure install operates in a UTF-8 environment - Build documention with an X server running - Build HTML documentation with mathjax * Fri Nov 10 2017 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 8.0-1 - Update to sagemath 8.0 - Remove cryptominisat build requires - Remove no longer needed -singular patch (upstream updated) - Remove no longer -flask patch (upstream updated) - Remove no longer -pari patch (used now by cypari2) - Disable option to use bundled cysignals - Disable option to use bundled pari - Use system ipython * Sat Sep 30 2017 Jerry James <loganjerry@xxxxxxxxx> - 7.6-6 - Rebuild for arb 2.11.1, eclib 20170815, and libfplll 5.1.0 * Thu Aug 03 2017 Fedora Release Engineering <releng@xxxxxxxxxxxxxxxxx> - 7.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 7.6-4 - Add missing python-psutil dependency - Add extra environment variable to avoid Singular-devel dependency * Tue May 23 2017 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 7.6-3 - Correct singular data dir path - Correct sage -testall initialization - Switch to empty directory to pass check for sage packages - Correct SAGE_SRC symbolic link - Remove explicit firefox dependency (#1446508) * Mon May 15 2017 Fedora Release Engineering <rel-eng@xxxxxxxxxxxxxxxxxxxxxxx> - 7.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Tue Apr 11 2017 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 7.6-1 - Update to sagemath 7.6 - Switch back to system pari * Thu Apr 6 2017 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 7.5.1-1 - Update to sagemath 7.5.1 * Fri Mar 3 2017 Jerry James <loganjerry@xxxxxxxxx> - 7.4-4 - Rebuild for ppl 1.2 * Sat Feb 11 2017 Fedora Release Engineering <releng@xxxxxxxxxxxxxxxxx> - 7.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Thu Jan 12 2017 Igor Gnatenko <ignatenko@xxxxxxxxxx> - 7.4-2 - Rebuild for readline 7.x * Fri Dec 30 2016 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 7.4-1 - Update to sagemath 7.4 * Tue Dec 20 2016 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 7.3.7 - Correct f24 to f25 upgrade, sagemath 6.8 to 7.3 (#1396848) * Thu Oct 20 2016 Jerry James <loganjerry@xxxxxxxxx> - 7.3-6 - Rebuild for ntl 10.1.0 * Sun Oct 09 2016 Dominik Mierzejewski <rpm@xxxxxxxxxxxxxx> - 7.3-5 - rebuild for aarch64 (#1380191 fixed) * Mon Sep 26 2016 Dominik Mierzejewski <rpm@xxxxxxxxxxxxxx> - 7.3-4 - rebuilt for matplotlib-2.0.0 - sync supported arches with maxima * Mon Sep 5 2016 Jerry James <loganjerry@xxxxxxxxx> - 7.3-3 - Rebuild for ntl 9.11.0 - Add gap-pkg-guava requirement * Wed Aug 24 2016 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 7.3-2 - Make notebook functional with python-flask-0.11.1 * Sat Aug 20 2016 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 7.3-1 - Update to sagemath 7.3 - Switch from polybori to brial - Default to use system pexpect - Use system mathjax * Fri Aug 12 2016 Jerry James <loganjerry@xxxxxxxxx> - 6.8-14 - Rebuild for fflas-ffpack 2.2.2, givaro 4.0.2, and linbox 1.4.2 - GAP packages atlasrep, design, and hap are now available * Sat Jul 23 2016 Jerry James <loganjerry@xxxxxxxxx> - 6.8-13 - Rebuild for ntl 9.10.0 * Tue Jul 19 2016 Fedora Release Engineering <rel-eng@xxxxxxxxxxxxxxxxxxxxxxx> - 6.8-12 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Thu Jun 2 2016 Jerry James <loganjerry@xxxxxxxxx> - 6.8-11 - Rebuild for ntl 9.9.1 * Fri Apr 29 2016 Jerry James <loganjerry@xxxxxxxxx> - 6.8-10 - Rebuild for ntl 9.8.0 - Nauty is now available under a free license * Wed Apr 13 2016 Jerry James <loganjerry@xxxxxxxxx> - 6.8-9 - Rebuild for linbox 1.4.1 * Thu Apr 7 2016 Jerry James <loganjerry@xxxxxxxxx> - 6.8-8 - Rebuild for libgap 4.8.3 * Sat Mar 19 2016 Jerry James <loganjerry@xxxxxxxxx> - 6.8-7 - Rebuild for glpk 4.59, ntl 9.7.0 and gmp-ecm 7.0 * Mon Mar 7 2016 Jerry James <loganjerry@xxxxxxxxx> - 6.8-6 - Doc packages cannot be noarch since they are not built for all arches * Sat Feb 27 2016 Jerry James <loganjerry@xxxxxxxxx> - 6.8-6 - Rebuild for givaro 4.0.1, fflas-ffpack 2.2.0, and linbox 1.4.0 - Add -givaro patch to adapt to header file changes in those releases * Mon Feb 22 2016 Orion Poplawski <orion@xxxxxxxxxxxxx> - 6.8-5 - Rebuild for gsl 2.1 * Sat Feb 20 2016 Jerry James <loganjerry@xxxxxxxxx> - 6.8-4 - Rebuild for ntl 9.6.4 * Thu Feb 04 2016 Fedora Release Engineering <releng@xxxxxxxxxxxxxxxxx> - 6.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Dec 29 2015 Jerry James <loganjerry@xxxxxxxxx> - 6.8-2 - Rebuild for arb 2.8.0 * Tue Dec 22 2015 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.8-1 - Update to sagemath 6.8 - Remove scons, lrcalc, cryptominisat, parallel and ipython3 patches - Add lcalc, fes-build and arb patches * Fri Dec 4 2015 Jerry James <loganjerry@xxxxxxxxx> - 6.5-14 - Rebuild for ntl 9.6.2 * Fri Oct 16 2015 Jerry James <loganjerry@xxxxxxxxx> - 6.5-13 - Rebuild for m4rie 20150908 and ntl 9.4.0 * Sat Oct 3 2015 Jerry James <loganjerry@xxxxxxxxx> - 6.5-12 - Rebuild for ecl 16.0.0 * Sat Sep 19 2015 Jerry James <loganjerry@xxxxxxxxx> - 6.5-11 - Rebuild for eclib 20150827, flint 2.5.2, and ntl 9.3.0 * Fri Sep 4 2015 Jerry James <loganjerry@xxxxxxxxx> - 6.5-10 - Rebuild for cryptominisat 2.9.10 * Sat Aug 29 2015 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.5-9 - Apply conditionally not required for f22 ipython3 patch (#1258006) - Add missing sphinx requires (#1229283) * Mon Aug 3 2015 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.5-8 - Bump release for f23 rebuild * Sun Jul 19 2015 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.5-7 - Correct unable to start QEPCAD within sage (#1243590) - Use interactive bash on wrappers to work with other login shells (#1238341) - Properly generate localized translations * Fri Jun 19 2015 Fedora Release Engineering <rel-eng@xxxxxxxxxxxxxxxxxxxxxxx> - 6.5-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Mon May 18 2015 Jerry James <loganjerry@xxxxxxxxx> - 6.5-5 - Rebuild for ntl 9.1.1 and cddlib 094h * Sat May 9 2015 Jerry James <loganjerry@xxxxxxxxx> - 6.5-4 - Rebuild for ntl 9.1.0 * Tue May 5 2015 Peter Robinson <pbrobinson@xxxxxxxxxxxxxxxxx> 6.5-3 - Drop old F-18 comparisions - Build on ARMv7, all deps now met * Sun Apr 26 2015 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.5-2 - Add patch to work with ipython 3 * Fri Apr 3 2015 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.5-1 - Update to sagemath 6.5 - Add new Catalan and Hungarian doc subpackages - Add customizations to not need a patched pari - Add "with docs" test build option - Convert build conditionals to use bcond - Correct deprecated warning when loading sagenb * Sat Feb 7 2015 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.4.1-4 - Rebuild with a functional jsmol interface (#1190356) * Mon Feb 2 2015 Jerry James <loganjerry@xxxxxxxxx> - 6.4.1-3 - Rebuild for ntl 8.1.2 * Thu Jan 15 2015 Jerry James <loganjerry@xxxxxxxxx> - 6.4.1-2 - Rebuild for ntl 8.1.0 - Future-proof the gap package names * Wed Nov 26 2014 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.4.1-1 - Update to sagemath 6.4.1 (#1095282) * Sat Nov 1 2014 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.3-4 - Install 128x128 icon (#1157575) * Mon Oct 27 2014 Jerry James <loganjerry@xxxxxxxxx> - Rebuild for m4ri 20140914 and ntl 6.2.1 * Mon Aug 18 2014 Fedora Release Engineering <rel-eng@xxxxxxxxxxxxxxxxxxxxxxx> - 6.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Wed Aug 13 2014 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.3-1 - Update to sagemath 6.3 (#1095282) - Add new doc-it Italian documentation subpackage * Sun Jun 08 2014 Fedora Release Engineering <rel-eng@xxxxxxxxxxxxxxxxxxxxxxx> - 6.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Mon May 26 2014 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.2-1 - Update to sagemath 6.2 (#1095282) - Rebuild with Singular 3.1.6 (#1074597) - Add missing python-docutils requires (#1056374) - Correct uninstall of sagemath-notebook (#1097428) - Enable coin-or-Cbc interface - Make coin-or-Cbc not optional - Make lrcalc not optional - Use upstream patch to support pari 2.7 - Rediff ntl6 patch * Wed Apr 2 2014 Jerry James <loganjerry@xxxxxxxxx> - 6.1.1-5 - Rebuild for ntl 6.1.0 - Fix ld ignoring __global_ldflags due to embedded trailing space - Fix Singular paths in the build environment * Wed Mar 19 2014 Jerry James <loganjerry@xxxxxxxxx> - 6.1.1-4 - Rebuild for libgap 4.7.4 and cryptominisat 2.9.9 * Mon Mar 10 2014 Rex Dieter <rdieter@xxxxxxxxxxxxxxxxx> 6.1.1-3 - rebuild (Singular) * Wed Feb 12 2014 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.1.1-2 - Enable optional fes dependency - Correct jmol applet interface - Add missing python-twisted-mail requires (#1063061) - Correct problems when starting sage for the first time as a new user - Correct atlas library path for f21 or newer * Fri Feb 7 2014 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 6.1.1-1 - Update to sagemath 6.1.1 * Tue Jan 28 2014 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.13-1 - Update to sagemath 5.13 * Fri Jan 17 2014 Jerry James <loganjerry@xxxxxxxxx> - 5.12-3 - Also adapt Requires to the new gap subpackage structure * Wed Jan 15 2014 Jerry James <loganjerry@xxxxxxxxx> - 5.12-2 - Rebuild for libgap 4.7.2 - Adapt gap BRs to new gap subpackage structure * Wed Oct 16 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.12-1 - Update to sagemath 5.12. * Sat Sep 14 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.10-4 - Do not hardcode SAGE_BROWSER (#967251) - Remove pre(trans) scriptlet used to upgrade from prototype packages * Tue Sep 10 2013 Rex Dieter <rdieter@xxxxxxxxxxxxxxxxx> 5.10-3 - pretrans scriplet uses shell commands (#1006230) * Mon Aug 12 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.10-2 - Correct side effect of using system mpmath (#974769) * Mon Aug 5 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.10-1 - Update to sagemath 5.10. * Sun Aug 04 2013 Fedora Release Engineering <rel-eng@xxxxxxxxxxxxxxxxxxxxxxx> - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Wed Jul 3 2013 Jerry James <loganjerry@xxxxxxxxx> - 5.9-8 - Rebuild for maxima 5.30.0 * Wed Jun 12 2013 Remi Collet <rcollet@xxxxxxxxxx> - 5.9-7 - rebuild for new GD 2.1.0 * Tue Jun 4 2013 Jerry James <loganjerry@xxxxxxxxx> - 5.9-6 - Rebuild for ecl 2013.5.1 * Sun May 12 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.9-5 - Need one extra directory derefence in symlink SAGE_SRC symlink. * Sun May 12 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.9-4 - Correct wrong symlink to /builddir if not using pretrans (first install). * Sat May 11 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.9-3 - Add pretrans for clean upgrade after rename of SAGE_DEVEL to SAGE_SRC. * Sat May 11 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.9-2 - Build in f18 and f18 with workaround to cython wrong defines (#961372) * Mon May 6 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.9-1 - Update to sagemath 5.9. - Match upstream rename of SAGE_DEVEL to SAGE_SRC. - Merged -buildroot in -rpmbuild patch. - Drop cython 0.19 patch already applied to sagemath 5.9. - Add macro conditionals to use same spec and patches in f18, f19 and f20. * Mon May 6 2013 Jerry James <loganjerry@xxxxxxxxx> - 5.8-9 - Rebuild for libfplll 4.0.3, m4ri and m4rie 20130416, and ntl 6.0.0 - Drop sagemath-unpatched_ntl.patch now that Fedora's NTL is patched - Add sagemath-ntl6.patch to adapt to NTL 6 - Add sagemath-m4rie.patch to adapt to m4rie 20130416 * Sat Apr 27 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.8-8 - Add surf-geometry to path for proper Singular plotting - Add workaround to an rpm scriptlet problem (#877651#89) * Tue Apr 23 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.8-7 - Correct problem of package requiring a -devel file to work. * Tue Apr 23 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.8-6 - Correct a remaining arch specific file (symlink) in noarch package. * Mon Apr 22 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.8-5 - Do not build requires optional rpy in f18 due to it being broken in f18 - Correct koji sanity check finding arch specific file in noarch package - Add patch to build with just upgraded cython in rawhide * Mon Apr 22 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.8-4 - Remove noop icon cache regeneration scriplets (#877651#72) - First Fedora 18 and Fedora 19 approved package * Sun Apr 14 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.8-3 - Use proper license tag for non versioned GPL attribution (#877651#63) - Remove no longer required workarounds for clean upgrades (#877651#63) * Fri Apr 12 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.8-2 - Properly describe the license breakdown in the spec (#877651#60) - Correct lrslib requires to lrslib-utils (#877651#60) - Remove zero length files (#877651#60) - Correct png file with executable permission (#877651#60) - Avoid rpmlint warning in rubiks subpackage description (#877651#60) * Tue Mar 19 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.8-1 - Update to sagemath 5.8. - Do full cleanup of notebook package on uninstall. - Remove with_sage_cython build conditional. - Remove with_sage_networkx build conditional. - Add nopari2.6 patch to not rely on not yet available interfaces. - Add cryptominisat patch to build package in f18. * Sat Mar 16 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.7-3 - Create jmol symbolic links in post and remove in postun. - Disable libgap by default as it does not work with rawhide gap. - Also add python-ipython to build requires to regenerate documentation. * Wed Mar 6 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.7-2 - Add missing python-ipython requires (#877651#52) - Enable libgap build in packager debug build (#877651#52) * Fri Feb 22 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.7-1 - Update to sagemath 5.7. - Add conditional patch for libgap. - Add conditional patch for fes. - Remove with_sage_ipython conditional. - Add patch to create a libcsage with a soname. * Mon Feb 18 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.6-6 - Rebuild with latest rawhide and f18 updates - Make sagemath-notebook owner of its base data directory - Explicitly mark notebook translations as %%lang (#877651#c46) - Remove sage3d as it is not functional in the rpm package (#877651#c46) - Remove reference to buildroot in libcsage.so debuginfo * Fri Feb 15 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.6-5 - Export CFLAGS and CXXFLAGS (#877651#c45) - Make sagemath-data owner of SAGE_SHARE (#877651#c45) - Relocate SAGE_DOC and make sagemath-doc packages noarch (#877651#c45) - Relocate SAGE_SHARE and make sagemath-data packages noarch (#877651#c45) - Remove sagenb binary egg bundled in tarball (#877651#c45) - Update license tag due to unlisted Apache v2 license (#877651#c45) - Break down licenses in files listing (#877651#c45) - Add post scriplets to handle the installed icon (#877651#c45) - Do not install empty directories in SAGE_EXTCODE (#877651#c45) - Do not install bundled mathjax fonts (#877651#c45) - Add a descriptive comment to patches without one (#877651#c45) - Correct mispelled donwload_tarball macro name (#877651#c45) - Remove reference to buildroot in prep (#877651#c45) - Simplify coin-or-Cbc build requires as it has proper dependencies * Sun Feb 10 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.6-4 - Correct "canonicalization unexpectedly shrank by one character" error. - Add packager_debug macro for conditional package debug mode build. - Add donwload_tarball macro to avoid fedora-review donwloading it every run. * Sat Feb 9 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.6-3 - Add cryptominisat-devel to build requires. - Add conditional build for lrcalc (fedora review rhbz #909510) - Add conditional build for coin-or-CoinUtils (fedora review rhbz #894585) - Add conditional build for coin-or-Osi (fedora review rhbz #894586) - Add conditional build for coin-or-Clp (fedora review rhbz #894587) - Add conditional build for coin-or-Cgl (fedora review rhbz #894588) - Add conditional build for coin-or-Cbc (fedora review rhbz #894597) - Rebuild with latest rawhide and f18 dependency updates. * Mon Jan 28 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.6-2 - Rebuild with latest rawhide and f18 updates. * Fri Jan 25 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.6-1 - Update to sagemath 5.6. - Remove no longer required patch to build with system cython. * Sat Jan 19 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.5-3 - Rediff rpmbuild patch to address some underlinked modules. - Make gap-sonata a mandatory requires. - Add cremona patch to adjust logic as only cremona mini is built. - Add lrslib patch to know lrslib is available. - Add nauty patch and comment about reason it cannot be made available. - Add gap-hap patch for better description of missing gap hap package. * Fri Jan 04 2013 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.5-2 - Add cython to build requires (#877651#c28). * Sat Dec 29 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.5-1 - Update to sagemath 5.5. - Add maxima.system patch to work with maxima 5.29.1 package. * Fri Dec 14 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.4.1-5 - Build with system cython by default on fedora 18 or newer (#877651). * Fri Dec 14 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.4.1-4 - The fplll patch is also required to build in f18. - Add factory include to plural.pyx build. * Wed Dec 05 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.4.1-3 - Revert requires python-matplotlib-tk as it was a python-matplotlib bug. - Add stix-fonts requires. * Sat Dec 01 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.4.1-2 - Change back to install .c and .h files in bundled cython. - Make symlink of gmp-ecm to $SAGE_LOCAL/bin/ecm. - Add SAGE_LOCAL/bin to python path so that "sage -gdb" works. - Require python-matplotlib-tk to avoid possible import error in doctests. * Fri Nov 30 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.4.1-1 - Update to sagemath 5.4.1. * Tue Nov 20 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.4-2 - Do not install alternate cygdb in %%_bindir - Create the sagemath-core subpackage - Create the sagemath-doc subpackage - Create the sagemath-doc-en subpackage - Create the sagemath-doc-de subpackage - Create the sagemath-doc-fr subpackage - Create the sagemath-doc-pt subpackage - Create the sagemath-doc-ru subpackage - Create the sagemath-doc-tr subpackage - Create the sagemath-data metapackage - Create the sagemath-data-conway_polynomials subpackage - Create the sagemath-data-elliptic_curves subpackage - Create the sagemath-data-extcode subpackage - Do not install pickle_jar extcode contents - Do not install notebook extcode contents - Create the sagemath-data-graphs subpackage - Create the sagemath-data-polytopes_db subpackage - Create the sagemath-notebook subpackage - Create the sagemath-rubiks subpackage - Create the sagemath-sagetex subpackage * Mon Nov 12 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.4-1 - Update to sagemath 5.4. - Build with system networkx. - Install only one fallback icon. - Prevent rpm from providing private shared object. - Change base directory to %%{_libdir} to avoid rpmlint errors. - Correct permissions of installed shared objects. - Rename most patches to use %%{name} prefix as "suggested" by fedora-review. - Remove bundled jar files before %%build. - Make cube solvers build optional and disabled by default. - Add option to run "sage -testall" during package build. * Sat Nov 10 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.4.beta1-4 - Add patch to make jmol export image functional - Update pari patch to use proper path to gprc.expect - Force usage of firefox in notebook (known to work are firefox and chromium) * Fri Oct 26 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.4.beta1-3 - Add support for releases with libmpc 0.9. * Wed Oct 24 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.4.beta1-2 - Add Portuguese translations of Tutorial and A Tour of Sage * Sat Oct 20 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.4.beta1-1 - Update to sagemath 5.4.beta1 - Removed already applied upstream linbox upgrade patch - Removed already applied upstream givaro upgrade patch - Removed already applied upstream singular upgrade patch - Install rubiks spkg binaries * Wed Sep 12 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.3-1 - Update to sagemath 5.3. - Remove version from patches name. - Drop m4ri patch already applied to upstream. * Fri Sep 7 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.2-2 - Add sphinx workaround to have editable tutorial forms (#839321) - Make interactive 3d plots using jmol applet functional (#837166) - Use system genus2reduction - Add workaround to mp_set_memory_functions call from pari library * Sat Aug 4 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.2-1 - Update to sagemath 5.2. * Sun Jul 1 2012 pcpa <paulo.cesar.pereira.de.andrade@xxxxxxxxx> - 5.0.1-1 - Initial sagemath spec.
diff -up src/module_list.py.orig src/module_list.py --- src/module_list.py.orig 2018-05-16 14:13:22.021406801 -0600 +++ src/module_list.py 2018-05-16 14:15:57.654208949 -0600 @@ -12,7 +12,7 @@ SAGE_INC = '/usr/include' import pkgconfig # CBLAS can be one of multiple implementations -cblas_pc = pkgconfig.parse('cblas') +cblas_pc = pkgconfig.parse('openblas') cblas_libs = cblas_pc['libraries'] cblas_library_dirs = cblas_pc['library_dirs'] cblas_include_dirs = cblas_pc['include_dirs'] @@ -21,11 +21,9 @@ cblas_include_dirs = cblas_pc['include_d if os.path.exists('/usr/lib/libblas.dll.a'): cblas_libs = ['gslcblas'] -# LAPACK can be one of multiple implementations -lapack_pc = pkgconfig.parse('lapack') -lapack_libs = lapack_pc['libraries'] -lapack_library_dirs = lapack_pc['library_dirs'] -lapack_include_dirs = lapack_pc['include_dirs'] +lapack_libs = [ 'lapack' ] +lapack_library_dirs = [] +lapack_include_dirs = [ SAGE_INC + '/lapack' ] # GD image library gd_pc = pkgconfig.parse('gdlib') diff -up src/sage/misc/cython.py.orig src/sage/misc/cython.py --- src/sage/misc/cython.py.orig 2018-05-16 13:16:29.207708998 -0600 +++ src/sage/misc/cython.py 2018-05-16 14:15:57.656208921 -0600 @@ -40,7 +40,7 @@ from sage.misc.sage_ostools import resto # CBLAS can be one of multiple implementations -cblas_pc = pkgconfig.parse('cblas') +cblas_pc = pkgconfig.parse('openblas') cblas_libs = list(cblas_pc['libraries']) cblas_library_dirs = list(cblas_pc['library_dirs']) cblas_include_dirs = list(cblas_pc['include_dirs'])
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx