Date: Sunday, August 28, 2022 @ 17:27:30 Author: arojas Revision: 1285132
archrelease: copy trunk to community-staging-x86_64 Added: sagemath/repos/community-staging-x86_64/ sagemath/repos/community-staging-x86_64/PKGBUILD (from rev 1285131, sagemath/trunk/PKGBUILD) sagemath/repos/community-staging-x86_64/latte-count.patch (from rev 1285131, sagemath/trunk/latte-count.patch) sagemath/repos/community-staging-x86_64/sagemath-bliss-0.77.patch (from rev 1285131, sagemath/trunk/sagemath-bliss-0.77.patch) sagemath/repos/community-staging-x86_64/sagemath-gap-4.12.patch (from rev 1285131, sagemath/trunk/sagemath-gap-4.12.patch) sagemath/repos/community-staging-x86_64/sagemath-jupyter-jsmol.patch (from rev 1285131, sagemath/trunk/sagemath-jupyter-jsmol.patch) sagemath/repos/community-staging-x86_64/sagemath-linbox-1.7.patch (from rev 1285131, sagemath/trunk/sagemath-linbox-1.7.patch) sagemath/repos/community-staging-x86_64/sagemath-optional-packages.patch (from rev 1285131, sagemath/trunk/sagemath-optional-packages.patch) sagemath/repos/community-staging-x86_64/sagemath-tachyon-0.99.patch (from rev 1285131, sagemath/trunk/sagemath-tachyon-0.99.patch) sagemath/repos/community-staging-x86_64/test-optional.patch (from rev 1285131, sagemath/trunk/test-optional.patch) ----------------------------------+ PKGBUILD | 124 ++++++++++++++++++ latte-count.patch | 14 ++ sagemath-bliss-0.77.patch | 245 +++++++++++++++++++++++++++++++++++++ sagemath-gap-4.12.patch | 57 ++++++++ sagemath-jupyter-jsmol.patch | 22 +++ sagemath-linbox-1.7.patch | 58 ++++++++ sagemath-optional-packages.patch | 17 ++ sagemath-tachyon-0.99.patch | 77 +++++++++++ test-optional.patch | 16 ++ 9 files changed, 630 insertions(+) Copied: sagemath/repos/community-staging-x86_64/PKGBUILD (from rev 1285131, sagemath/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2022-08-28 17:27:30 UTC (rev 1285132) @@ -0,0 +1,124 @@ +# Maintainer: Antonio Rojas <aro...@archlinux.org> +# Contributor: Evgeniy Alekseev <arcanis.arch at gmail dot com> +# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com> +# Contributor: Thomas Dziedzic <gostrc at gmail dot com> +# Contributor: Osman Ugus <ugus11 at yahoo dot com> +# Contributor: Stefan Husmann <stefan-husmann at t-online dot de> + +pkgname=sagemath +pkgver=9.6 +pkgrel=7 +pkgdesc='Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab' +arch=(x86_64) +url='http://www.sagemath.org' +license=(GPL) +depends=(palp brial cliquer maxima-fas gfan sympow nauty python-rpy2 python-fpylll python-cypari2 + python-matplotlib python-scipy python-sympy python-networkx python-pplpy python-sphinx python-ipywidgets python-memory-allocator + gap flintqs lcalc lrcalc arb eclib zn_poly gd python-cvxopt singular linbox m4rie pari-galdata pari-seadata-small planarity rankwidth tachyon + sage-data-combinatorial_designs sage-data-elliptic_curves sage-data-graphs sage-data-polytopes_db sage-data-conway_polynomials + iml giac libhomfly libbraiding symmetrica threejs-sage python-primecountpy) +optdepends=('cython: to compile cython code' + 'python-pkgconfig: to compile cython code' + 'jmol: alternative 3D plot engine' + 'jupyter-jsmol: alternative 3D plot engine in the Jupyter notebook' + 'sagemath-doc: HTML documentation' + 'python-igraph: igraph backend for graph theory' + 'bliss: bliss backend for graph theory' + 'sage-numerical-backends-coin: COIN mixed integer linear programming backend' + 'coin-or-csdp: for computing Lovász theta-function of graphs' + 'buckygen: for generating fullerene graphs' + 'plantri: for generating some classes of graphs' + 'benzene: for generating fusenes and benzenoids' + 'ffmpeg: to export animations to video' + 'imagemagick: to show animations' + 'coxeter: Coxeter groups implementation' + 'rubiks: Rubiks cube algorithms' + 'lrs: Algorithms for linear reverse search used in game theory and for computing volume of polytopes' + 'python-pynormaliz: Normaliz backend for polyhedral computations' + 'latte-integrale: integral point count in polyhedra' + 'python-jupymake: polymake backend for polyhedral computations' + 'shared_meataxe: faster matrix arithmetic over finite fields' + 'openblas: faster linear algebra' + 'sirocco: for computing the fundamental group of the complement of a plane curve' + 'dot2tex: for displaying some diagrams' + 'cryptominisat5: SAT solver' + 'python-pycosat: picosat SAT solver' + 'python-pip: to install optional packages with sage -pip' + 'sage-notebook-exporter: convert flask notebooks to Jupyter' + 'python-database-knotinfo: interface to the KnotInfo and LinkInfo databases' + 'python-phitigra: graph editor' + 'topcom: to compute triangulations of point configurations') +makedepends=(cython boost python-jinja sirocco mcqd coxeter bliss tdlib python-pkgconfig shared_meataxe) +conflicts=(sagemath-jupyter) +replaces=(sagemath-jupyter) +source=(https://github.com/sagemath/sage/archive/$pkgver/$pkgname-$pkgver.tar.gz + sagemath-optional-packages.patch + latte-count.patch + test-optional.patch + sagemath-linbox-1.7.patch + sagemath-bliss-0.77.patch + sagemath-tachyon-0.99.patch + sagemath-jupyter-jsmol.patch + sagemath-gap-4.12.patch) +sha256sums=('c6225d48f70ac955fceed5c1fddfdd7294001d460b43a686329d5d44d836f6a3' + 'e24c075a9f8e562fe9d85e6fd5b01eac4691683c01d4d22c83cde145b63f4dba' + 'bd188af45ce31579b82407adee8e9bf6033a996f7ea6e328fabca526f31c08ba' + '89c1f82dbba376087f08b39b11f43bf781cec199d7d894713167d09dc32e3e18' + 'eacea27b214d32cb886a75695153dfc36b5bad2fd2517e8e4eee18e74220e9e3' + 'b467a41e1e0a0850f7722d875a743233751966a206c2f61401c7582aa722f84e' + '4ee8071efd7b9ad66ac5bbfe081fe670cc58cfcac8fb783d5a40b6da3593cbf4' + '14431ef93a68324ed276d79d7be66b0fb6b73df74f0e049be522480153e22afa' + '17b8ea5ff1f7da2781ec9c190c094f17ba555f1a66d4300d8ee14d6b608c0fd0') + +prepare(){ + cd sage-$pkgver + +# Upstream patches +# Fix build with linbox 1.7 https://trac.sagemath.org/ticket/32959 + patch -p1 -i ../sagemath-linbox-1.7.patch +# Fix build with bliss 0.77 https://trac.sagemath.org/ticket/33010 + patch -p1 -i ../sagemath-bliss-0.77.patch +# Fix tests with tachyon 0.99 https://trac.sagemath.org/ticket/23712 + patch -p1 -i ../sagemath-tachyon-0.99.patch +# Port to GAP 4.12 + patch -p1 -i ../sagemath-gap-4.12.patch + +# Arch-specific patches +# assume all optional packages are installed + patch -p1 -i ../sagemath-optional-packages.patch +# don't list optional packages when running tests + patch -p1 -i ../test-optional.patch +# use correct latte-count binary name + patch -p1 -i ../latte-count.patch +# port to new jupyter-jsmol extension name + patch -p1 -i ../sagemath-jupyter-jsmol.patch + + cd build/pkgs/sagelib + ./bootstrap +} + +build() { + cd sage-$pkgver/pkgs/sagemath-standard + + export SAGE_NUM_THREADS=10 + export PYTHONPATH="$PWD"/../sage-setup + export CPPFLAGS+=" -DUSE_GASMAN=1" + python setup.py build +} + +package() { + cd sage-$pkgver/pkgs/sagemath-standard + + python setup.py install --root="$pkgdir" --optimize=1 + +# fix symlinks to assets + _pythonpath=`python -c "from sysconfig import get_path; print(get_path('platlib'))"` + for _i in $(ls "$srcdir"/sage-$pkgver/src/sage/ext_data/notebook-ipython); do + rm "$pkgdir"/usr/share/jupyter/kernels/sagemath/$_i + ln -s $_pythonpath/sage/ext_data/notebook-ipython/$_i "$pkgdir"/usr/share/jupyter/kernels/sagemath/ + done + +# adjust threejs version + rm "$pkgdir"$_pythonpath/sage/ext_data/threejs/threejs-version.txt + ln -s /usr/share/threejs-sage/version "$pkgdir"$_pythonpath/sage/ext_data/threejs/threejs-version.txt +} Copied: sagemath/repos/community-staging-x86_64/latte-count.patch (from rev 1285131, sagemath/trunk/latte-count.patch) =================================================================== --- community-staging-x86_64/latte-count.patch (rev 0) +++ community-staging-x86_64/latte-count.patch 2022-08-28 17:27:30 UTC (rev 1285132) @@ -0,0 +1,14 @@ +diff --git a/src/sage/features/latte.py b/src/sage/features/latte.py +index 63d227fd35..040a5cf1f9 100644 +--- a/src/sage/features/latte.py ++++ b/src/sage/features/latte.py +@@ -21,7 +21,7 @@ from . import Executable, Feature, FeatureTestResult + sage: isinstance(Latte_count(), Latte_count) + True + """ +- Executable.__init__(self, "count", executable="count", ++ Executable.__init__(self, "latte-count", executable="latte-count", + spkg="latte_int", + url=LATTE_URL) + + Copied: sagemath/repos/community-staging-x86_64/sagemath-bliss-0.77.patch (from rev 1285131, sagemath/trunk/sagemath-bliss-0.77.patch) =================================================================== --- community-staging-x86_64/sagemath-bliss-0.77.patch (rev 0) +++ community-staging-x86_64/sagemath-bliss-0.77.patch 2022-08-28 17:27:30 UTC (rev 1285132) @@ -0,0 +1,245 @@ +diff --git a/build/pkgs/bliss/SPKG.rst b/build/pkgs/bliss/SPKG.rst +index 236b87a199..77407f16ac 100644 +--- a/build/pkgs/bliss/SPKG.rst ++++ b/build/pkgs/bliss/SPKG.rst +@@ -10,20 +10,19 @@ canonical forms of graphs. + License + ------- + +-LGPL ++LGPL3 + + + Upstream Contact + ---------------- + +-Bliss is currently being maintained by Tommi Junttila and Petteri Kaski. ++Bliss is currently being maintained by Tommi Junttila at + +-http://www.tcs.tkk.fi/Software/bliss/index.html ++https://users.aalto.fi/~tjunttil/bliss/index.html ++ ++Bliss used to be maintained by Tommi Junttila and Petteri Kaski up to version 0.73 at + +-We apply patches generated from https://github.com/mkoeppe/bliss (branch +-apply_debian_patches) as our upstream. This tracks the patches from the +-Debian package, adding an autotools build system and adjusting the +-include file locations. ++http://www.tcs.tkk.fi/Software/bliss/index.html + + Dependencies + ------------ +diff --git a/build/pkgs/bliss/checksums.ini b/build/pkgs/bliss/checksums.ini +index e97d89587b..0c1ebf647b 100644 +--- a/build/pkgs/bliss/checksums.ini ++++ b/build/pkgs/bliss/checksums.ini +@@ -1,4 +1,5 @@ +-tarball=bliss-VERSION.tar.gz +-sha1=1da8f098046824fbfff4c64c337e28b2a082f74f +-md5=452aea8737d3c4ad0d8ff39180be8004 +-cksum=2193930007 ++tarball=bliss-VERSION.zip ++sha1=c91c9dcbc11d66ffbcf6415e09ebe793df37be2a ++md5=5707cbfd9fd00980571c64ab3584c505 ++cksum=1626493724 ++upstream_url=https://users.aalto.fi/~tjunttil/bliss/downloads/bliss-VERSION.zip +diff --git a/build/pkgs/bliss/dependencies b/build/pkgs/bliss/dependencies +index 3546cda461..66d6773d90 100644 +--- a/build/pkgs/bliss/dependencies ++++ b/build/pkgs/bliss/dependencies +@@ -1,4 +1,4 @@ +-# no dependencies ++| cmake + + ---------- + All lines of this file are ignored except the first. +diff --git a/build/pkgs/bliss/package-version.txt b/build/pkgs/bliss/package-version.txt +index e93ee1376f..9e1e206c41 100644 +--- a/build/pkgs/bliss/package-version.txt ++++ b/build/pkgs/bliss/package-version.txt +@@ -1 +1 @@ +-0.73+debian-1+sage-2016-08-02.p0 ++0.77 +diff --git a/build/pkgs/bliss/patches/bliss-0.77-install.patch b/build/pkgs/bliss/patches/bliss-0.77-install.patch +new file mode 100644 +index 0000000000..caab14aa40 +--- /dev/null ++++ b/build/pkgs/bliss/patches/bliss-0.77-install.patch +@@ -0,0 +1,32 @@ ++diff --git a/CMakeLists.txt b/CMakeLists.txt ++index 01ed093..cfdb0a6 100644 ++--- a/CMakeLists.txt +++++ b/CMakeLists.txt ++@@ -62,3 +62,27 @@ if(USE_GMP) ++ target_link_libraries(bliss-executable ${GMP_LIBRARIES}) ++ endif(USE_GMP) ++ set_target_properties(bliss-executable PROPERTIES OUTPUT_NAME bliss) +++ +++include(GNUInstallDirs) +++ +++set( +++ BLISS_HEADERS +++ src/bliss_C.h +++ src/uintseqhash.hh +++ src/abstractgraph.hh +++ src/stats.hh +++ src/digraph.hh +++ src/defs.hh +++ src/heap.hh +++ src/graph.hh +++ src/partition.hh +++ src/kqueue.hh +++ src/utils.hh +++ src/orbit.hh +++ src/timer.hh +++ src/bignum.hh +++) +++ +++install(TARGETS bliss-executable RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +++install(TARGETS bliss LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +++install(FILES ${BLISS_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/bliss) +diff --git a/build/pkgs/bliss/spkg-install.in b/build/pkgs/bliss/spkg-install.in +index aaf4c3037b..4124a2338e 100644 +--- a/build/pkgs/bliss/spkg-install.in ++++ b/build/pkgs/bliss/spkg-install.in +@@ -1,4 +1,4 @@ + cd src +-sdh_configure --disable-gmp ++sdh_cmake -DUSE_GMP=OFF -DCMAKE_VERBOSE_MAKEFILE=ON + sdh_make + sdh_make_install +diff --git a/build/pkgs/bliss/spkg-src b/build/pkgs/bliss/spkg-src +deleted file mode 100755 +index 90073233b7..0000000000 +--- a/build/pkgs/bliss/spkg-src ++++ /dev/null +@@ -1,28 +0,0 @@ +-#!/bin/sh +-# +-# creates the tarball in the current dir, to be moved to ../../../upstream +-# +-# adapted from cliquer/spkg-src +- +-die () { +- echo >&2 "$@" +- exit 1 +-} +- +-rm -rf bliss/ +-git clone -b sage_package https://github.com/mkoeppe/bliss.git || die "Failed to git clone" +-cd bliss/ +- +-VERSION=`autoconf --trace='AC_INIT:$2'` +-libtoolize || die "Failed to autoreconf" +-autoreconf -fi || die "Failed to autoreconf" +-automake --add-missing --copy || die "automake failed" +-./configure || die "configure failed" +- +-rm -f bliss-$VERSION.tar.gz +-make dist || die "make dist failed" +-mv bliss-$VERSION.tar.gz ../ +-cd .. +-rm -rf bliss/ +- +- +diff --git a/src/sage/graphs/bliss.pyx b/src/sage/graphs/bliss.pyx +index bf15833664..4f4e0ee3ca 100644 +--- a/src/sage/graphs/bliss.pyx ++++ b/src/sage/graphs/bliss.pyx +@@ -47,22 +47,23 @@ cdef extern from "bliss/graph.hh" namespace "bliss": + cdef cppclass Graph(AbstractGraph): + Graph(const unsigned int) + void add_edge(const unsigned int, const unsigned int) +- void find_automorphisms(Stats&, void (*)(void* , unsigned int, +- const unsigned int*), void*) + void change_color(const unsigned int, const unsigned int) +- const unsigned int* canonical_form(Stats&, void (*)(void*,unsigned int, +- const unsigned int*), void*) ++ const unsigned int* canonical_form(Stats&) ++ ++cdef extern from "bliss/digraph.hh" namespace "bliss": + + cdef cppclass Digraph(AbstractGraph): + Digraph(const unsigned int) + void add_edge(const unsigned int, const unsigned int) +- void find_automorphisms(Stats&, void (*)(void* , unsigned int, +- const unsigned int*), void*) + void change_color(const unsigned int, const unsigned int) +- const unsigned int* canonical_form(Stats&, void (*)(void*,unsigned int, +- const unsigned int*), void*) ++ const unsigned int* canonical_form(Stats&) + unsigned int get_hash() + ++cdef extern from "bliss_find_automorphisms.h": ++ ++ void bliss_find_automorphisms(Graph*, void (*)(void*, unsigned int, const unsigned int*), void*, Stats&) ++ void bliss_find_automorphisms(Digraph*, void (*)(void*, unsigned int, const unsigned int*), void*, Stats&) ++ + + cdef int encoding_numbits(int n): + r""" +@@ -124,9 +125,6 @@ cdef void add_gen(void *user_param, unsigned int n, const unsigned int *aut): + + sig_free(done) + +-cdef void empty_hook(void *user_param , unsigned int n, const unsigned int *aut): +- return +- + ##################################################### + # constructing bliss graphs from edge lists + ##################################################### +@@ -345,10 +343,10 @@ cdef canonical_form_from_edge_list(int Vnr, list Vout, list Vin, int Lnr=1, list + + if directed: + d = bliss_digraph_from_labelled_edges(Vnr, Lnr, Vout, Vin, labels, partition) +- aut = d.canonical_form(s, empty_hook, NULL) ++ aut = d.canonical_form(s) + else: + g = bliss_graph_from_labelled_edges(Vnr, Lnr, Vout, Vin, labels, partition) +- aut = g.canonical_form(s, empty_hook, NULL) ++ aut = g.canonical_form(s) + + for i in range(len(Vout)): + x = Vout[i] +@@ -640,11 +638,11 @@ cdef automorphism_group_gens_from_edge_list(int Vnr, Vout, Vin, int Lnr=1, label + + if directed: + d = bliss_digraph_from_labelled_edges(Vnr, Lnr, Vout, Vin, labels, partition) +- d.find_automorphisms(s, add_gen, <void*>data) ++ bliss_find_automorphisms(d, add_gen, <void*>data, s) + del d + else: + g = bliss_graph_from_labelled_edges(Vnr, Lnr, Vout, Vin, labels, partition) +- g.find_automorphisms(s, add_gen, <void*>data) ++ bliss_find_automorphisms(g, add_gen, <void*>data, s) + del g + + return [[cyc for cyc in gen if cyc[0] is not None] for gen in gens] +diff --git a/src/sage/graphs/bliss_find_automorphisms.h b/src/sage/graphs/bliss_find_automorphisms.h +new file mode 100644 +index 0000000000..a2c084a163 +--- /dev/null ++++ b/src/sage/graphs/bliss_find_automorphisms.h +@@ -0,0 +1,22 @@ ++#include <bliss/graph.hh> ++#include <bliss/digraph.hh> ++ ++inline void bliss_find_automorphisms(bliss::Graph *graph, void (*hook)(void *user_param, unsigned int n, const unsigned int *aut), void *hook_user_param, bliss::Stats s) ++{ ++ auto report_aut = [&](unsigned int n, const unsigned int *aut) -> void { ++ if(hook) ++ (*hook)(hook_user_param, n, aut); ++ }; ++ ++ graph->find_automorphisms(s, report_aut); ++} ++ ++inline void bliss_find_automorphisms(bliss::Digraph *graph, void (*hook)(void *user_param, unsigned int n, const unsigned int *aut), void *hook_user_param, bliss::Stats s) ++{ ++ auto report_aut = [&](unsigned int n, const unsigned int *aut) -> void { ++ if(hook) ++ (*hook)(hook_user_param, n, aut); ++ }; ++ ++ graph->find_automorphisms(s, report_aut); ++} Copied: sagemath/repos/community-staging-x86_64/sagemath-gap-4.12.patch (from rev 1285131, sagemath/trunk/sagemath-gap-4.12.patch) =================================================================== --- community-staging-x86_64/sagemath-gap-4.12.patch (rev 0) +++ community-staging-x86_64/sagemath-gap-4.12.patch 2022-08-28 17:27:30 UTC (rev 1285132) @@ -0,0 +1,57 @@ +diff --git a/src/sage/interfaces/gap.py b/src/sage/interfaces/gap.py +index c34fe530c3..569caa27bf 100644 +--- a/src/sage/interfaces/gap.py ++++ b/src/sage/interfaces/gap.py +@@ -1512,6 +1512,8 @@ def gap_reset_workspace(max_workspace_size=None, verbose=False): + """ + # Create new workspace with filename WORKSPACE + g = Gap(use_workspace_cache=False, max_workspace_size=None) ++ g.eval('ColorPrompt(false)') ++ g.eval('SetUserPreference("UseColorPrompt", false)') + g.eval('SetUserPreference("HistoryMaxLines", 30)') + from sage.tests.gap_packages import all_installed_packages + for pkg in all_installed_packages(gap=g): +diff --git a/src/sage/libs/gap/element.pyx b/src/sage/libs/gap/element.pyx +index be43c4c3ee..e2681165a2 100644 +--- a/src/sage/libs/gap/element.pyx ++++ b/src/sage/libs/gap/element.pyx +@@ -130,6 +130,7 @@ cdef char *capture_stdout(Obj func, Obj obj): + """ + cdef Obj s, stream, output_text_string + cdef UInt res ++ cdef TypOutputFile output + # The only way to get a string representation of an object that is truly + # consistent with how it would be represented at the GAP REPL is to call + # ViewObj on it. Unfortunately, ViewObj *prints* to the output stream, +@@ -145,12 +146,12 @@ cdef char *capture_stdout(Obj func, Obj obj): + output_text_string = GAP_ValueGlobalVariable("OutputTextString") + stream = CALL_2ARGS(output_text_string, s, GAP_True) + +- if not OpenOutputStream(stream): ++ if not OpenOutputStream(&output, stream): + raise GAPError("failed to open output capture stream for " + "representing GAP object") + + CALL_1ARGS(func, obj) +- CloseOutput() ++ CloseOutput(&output) + return CSTR_STRING(s) + finally: + GAP_Leave() +diff --git a/src/sage/libs/gap/gap_includes.pxd b/src/sage/libs/gap/gap_includes.pxd +index 5a9ab486f7..34035fe4e6 100644 +--- a/src/sage/libs/gap/gap_includes.pxd ++++ b/src/sage/libs/gap/gap_includes.pxd +@@ -76,8 +76,10 @@ cdef extern from "gap/intobj.h" nogil: + + + cdef extern from "gap/io.h" nogil: +- UInt OpenOutputStream(Obj stream) +- UInt CloseOutput() ++ ctypedef struct TypOutputFile: ++ pass ++ UInt OpenOutputStream(TypOutputFile* output, Obj stream) ++ UInt CloseOutput(TypOutputFile* output) + + + cdef extern from "gap/libgap-api.h" nogil: Copied: sagemath/repos/community-staging-x86_64/sagemath-jupyter-jsmol.patch (from rev 1285131, sagemath/trunk/sagemath-jupyter-jsmol.patch) =================================================================== --- community-staging-x86_64/sagemath-jupyter-jsmol.patch (rev 0) +++ community-staging-x86_64/sagemath-jupyter-jsmol.patch 2022-08-28 17:27:30 UTC (rev 1285132) @@ -0,0 +1,22 @@ +diff --git a/src/sage/repl/display/jsmol_iframe.py b/src/sage/repl/display/jsmol_iframe.py +index 0917a59d47..4775d2a02e 100644 +--- a/src/sage/repl/display/jsmol_iframe.py ++++ b/src/sage/repl/display/jsmol_iframe.py +@@ -98,7 +98,7 @@ class JSMolHtml(SageObject): + instance. The 3-d scene to show. + + - ``path_to_jsmol`` -- string (optional, default is +- ``'/nbextensions/jupyter_jsmol/jsmol'``). The path (relative or absolute) ++ ``'/nbextensions/jupyter-jsmol/jsmol'``). The path (relative or absolute) + where ``JSmol.min.js`` is served on the web server. + + - ``width`` -- integer or string (optional, default: +@@ -121,7 +121,7 @@ class JSMolHtml(SageObject): + self._jmol = jmol + self._zip = zipfile.ZipFile(io.BytesIO(self._jmol.scene_zip.get())) + if path_to_jsmol is None: +- self._path = os.path.join('/', 'nbextensions', 'jupyter_jsmol', 'jsmol') ++ self._path = os.path.join('/', 'nbextensions', 'jupyter-jsmol', 'jsmol') + else: + self._path = path_to_jsmol + self._width = width Copied: sagemath/repos/community-staging-x86_64/sagemath-linbox-1.7.patch (from rev 1285131, sagemath/trunk/sagemath-linbox-1.7.patch) =================================================================== --- community-staging-x86_64/sagemath-linbox-1.7.patch (rev 0) +++ community-staging-x86_64/sagemath-linbox-1.7.patch 2022-08-28 17:27:30 UTC (rev 1285132) @@ -0,0 +1,58 @@ +diff --git a/src/sage/libs/linbox/conversion.pxd b/src/sage/libs/linbox/conversion.pxd +index 7794c9e..1753277 100644 +--- a/src/sage/libs/linbox/conversion.pxd ++++ b/src/sage/libs/linbox/conversion.pxd +@@ -177,9 +177,8 @@ cdef inline Vector_integer_dense new_sage_vector_integer_dense(P, DenseVector_in + - v -- linbox vector + """ + cdef Vector_integer_dense res = P() +- cdef cppvector[Integer] * vec = &v.refRep() + cdef size_t i + for i in range(<size_t> res._degree): +- mpz_set(res._entries[i], vec[0][i].get_mpz_const()) ++ mpz_set(res._entries[i], v.getEntry(i).get_mpz_const()) + + return res +diff --git a/src/sage/libs/linbox/linbox.pxd b/src/sage/libs/linbox/linbox.pxd +index 9112d15..dcc4829 100644 +--- a/src/sage/libs/linbox/linbox.pxd ++++ b/src/sage/libs/linbox/linbox.pxd +@@ -32,7 +32,7 @@ cdef extern from "linbox/matrix/dense-matrix.h": + ctypedef Modular_double Field + ctypedef double Element + DenseMatrix_Modular_double(Field F, size_t m, size_t n) +- DenseMatrix_Modular_double(Field F, Element*, size_t m, size_t n) ++ DenseMatrix_Modular_double(Field F, size_t m, size_t n, Element*) + void setEntry(size_t i, size_t j, Element& a) + Element &getEntry(size_t i, size_t j) + +@@ -42,7 +42,7 @@ cdef extern from "linbox/matrix/dense-matrix.h": + ctypedef Modular_float Field + ctypedef float Element + DenseMatrix_Modular_float(Field F, size_t m, size_t n) +- DenseMatrix_Modular_float(Field F, Element*, size_t m, size_t n) ++ DenseMatrix_Modular_float(Field F, size_t m, size_t n, Element*) + void setEntry(size_t i, size_t j, Element& a) + Element &getEntry(size_t i, size_t j) + +@@ -101,7 +101,6 @@ cdef extern from "linbox/vector/vector.h": + DenseVector_integer (Field &F) + DenseVector_integer (Field &F, long& m) + DenseVector_integer (Field &F, cppvector[Integer]&) +- cppvector[Element]& refRep() + size_t size() + void resize(size_t) + void resize(size_t n, const Element&) +diff --git a/src/sage/matrix/matrix_modn_dense_template.pxi b/src/sage/matrix/matrix_modn_dense_template.pxi +index 010365d..3d60726 100644 +--- a/src/sage/matrix/matrix_modn_dense_template.pxi ++++ b/src/sage/matrix/matrix_modn_dense_template.pxi +@@ -219,7 +219,7 @@ cdef inline linbox_echelonize_efd(celement modulus, celement* entries, Py_ssize_ + return 0,[] + + cdef ModField *F = new ModField(<long>modulus) +- cdef DenseMatrix *A = new DenseMatrix(F[0], <ModField.Element*>entries,<Py_ssize_t>nrows, <Py_ssize_t>ncols) ++ cdef DenseMatrix *A = new DenseMatrix(F[0], <Py_ssize_t>nrows, <Py_ssize_t>ncols, <ModField.Element*>entries) + cdef Py_ssize_t r = reducedRowEchelonize(A[0]) + cdef Py_ssize_t i,j + for i in range(nrows): Copied: sagemath/repos/community-staging-x86_64/sagemath-optional-packages.patch (from rev 1285131, sagemath/trunk/sagemath-optional-packages.patch) =================================================================== --- community-staging-x86_64/sagemath-optional-packages.patch (rev 0) +++ community-staging-x86_64/sagemath-optional-packages.patch 2022-08-28 17:27:30 UTC (rev 1285132) @@ -0,0 +1,17 @@ +diff --git a/pkgs/sagemath-standard/setup.py b/pkgs/sagemath-standard/setup.py +index 6744236593..a038006449 100755 +--- a/pkgs/sagemath-standard/setup.py ++++ b/pkgs/sagemath-standard/setup.py +@@ -81,10 +81,9 @@ else: + from sage.misc.package import is_package_installed_and_updated + distributions = [''] + optional_packages_with_extensions = ['mcqd', 'bliss', 'tdlib', +- 'coxeter3', 'fes', 'sirocco', 'meataxe'] ++ 'coxeter3', 'sirocco', 'meataxe'] + distributions += ['sagemath-{}'.format(pkg) +- for pkg in optional_packages_with_extensions +- if is_package_installed_and_updated(pkg)] ++ for pkg in optional_packages_with_extensions] + log.warn('distributions = {0}'.format(distributions)) + from sage_setup.find import find_python_sources + python_packages, python_modules, cython_modules = find_python_sources( Copied: sagemath/repos/community-staging-x86_64/sagemath-tachyon-0.99.patch (from rev 1285131, sagemath/trunk/sagemath-tachyon-0.99.patch) =================================================================== --- community-staging-x86_64/sagemath-tachyon-0.99.patch (rev 0) +++ community-staging-x86_64/sagemath-tachyon-0.99.patch 2022-08-28 17:27:30 UTC (rev 1285132) @@ -0,0 +1,77 @@ +--- a/src/sage/interfaces/tachyon.py ++++ b/src/sage/interfaces/tachyon.py +@@ -261,13 +261,13 @@ written in the sequence they are listed in the examples in this section. + The {\bf PROJECTION} keyword must be followed by one of the supported + camera projection mode identifiers {\bf PERSPECTIVE}, {\bf PERSPECTIVE_DOF}, + {\bf ORTHOGRAPHIC}, or {\bf FISHEYE}. The {\bf FISHEYE} projection mode +-requires two extra parameters {\bf FOCALLENGTH} and {\bf APERTURE} ++requires two extra parameters {\bf FOCALDIST} and {\bf APERTURE} + which precede the regular camera options. + + \begin{verbatim} + Camera + projection perspective_dof +- focallength 0.75 ++ FOCALDIST 0.75 + aperture 0.02 + Zoom 0.666667 + Aspectratio 1.000000 +--- a/src/sage/plot/plot3d/tachyon.py ++++ b/src/sage/plot/plot3d/tachyon.py +@@ -92,7 +92,7 @@ angle, right angle):: + Finally there is the ``projection='perspective_dof'`` option. :: + + sage: T = Tachyon(xres=800, antialiasing=4, raydepth=10, +- ....: projection='perspective_dof', focallength='1.0', aperture='.0025') ++ ....: projection='perspective_dof', FOCALDIST='1.0', aperture='.0025') + sage: T.light((0,5,7), 1.0, (1,1,1)) + sage: T.texture('t1', opacity=1, specular=.3) + sage: T.texture('t2', opacity=1, specular=.3, color=(0,0,1)) +@@ -186,7 +186,7 @@ class Tachyon(WithEqualityById, SageObject): + or ``'fisheye'``. + - ``frustum`` - (default ''), otherwise list of four numbers. Only + used with projection='fisheye'. +- - ``focallength`` - (default ''), otherwise a number. Only used ++ - ``FOCALDIST`` - (default ''), otherwise a number. Only used + with projection='perspective_dof'. + - ``aperture`` - (default ''), otherwise a number. Only used + with projection='perspective_dof'. +@@ -331,7 +331,7 @@ class Tachyon(WithEqualityById, SageObject): + Use of the ``projection='perspective_dof'`` option. This may not be + implemented correctly. :: + +- sage: T = Tachyon(xres=800,antialiasing=4, raydepth=10, projection='perspective_dof', focallength='1.0', aperture='.0025') ++ sage: T = Tachyon(xres=800,antialiasing=4, raydepth=10, projection='perspective_dof', FOCALDIST='1.0', aperture='.0025') + sage: T.light((0,5,7), 1.0, (1,1,1)) + sage: T.texture('t1', opacity=1, specular=.3) + sage: T.texture('t2', opacity=1, specular=.3, color=(0,0,1)) +@@ -365,7 +365,7 @@ class Tachyon(WithEqualityById, SageObject): + look_at=[0, 0, 0], + viewdir=None, + projection='PERSPECTIVE', +- focallength='', ++ FOCALDIST='', + aperture='', + frustum=''): + r""" +@@ -391,7 +391,7 @@ class Tachyon(WithEqualityById, SageObject): + self._camera_position = (-3, 0, 0) # default value + self._updir = updir + self._projection = projection +- self._focallength = focallength ++ self._FOCALDIST = FOCALDIST + self._aperture = aperture + self._frustum = frustum + self._objects = [] +@@ -624,9 +624,9 @@ class Tachyon(WithEqualityById, SageObject): + camera_out = r""" + camera + projection %s""" % (tostr(self._projection)) +- if self._focallength != '': ++ if self._FOCALDIST != '': + camera_out = camera_out + r""" +- focallength %s""" % (float(self._focallength)) ++ FOCALDIST %s""" % (float(self._FOCALDIST)) + if self._aperture != '': + camera_out = camera_out + r""" + aperture %s""" % (float(self._aperture)) Copied: sagemath/repos/community-staging-x86_64/test-optional.patch (from rev 1285131, sagemath/trunk/test-optional.patch) =================================================================== --- community-staging-x86_64/test-optional.patch (rev 0) +++ community-staging-x86_64/test-optional.patch 2022-08-28 17:27:30 UTC (rev 1285132) @@ -0,0 +1,16 @@ +diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py +index 2d93841e50..937e20cd2e 100644 +--- a/src/sage/doctest/control.py ++++ b/src/sage/doctest/control.py +@@ -411,11 +411,6 @@ class DocTestController(SageObject): + # that the package is actually installed). + if 'optional' in options.optional: + options.optional.discard('optional') +- from sage.misc.package import list_packages +- for pkg in list_packages('optional', local=True).values(): +- if pkg.is_installed() and pkg.installed_version == pkg.remote_version: +- options.optional.add(pkg.name) +- + from sage.features import package_systems + options.optional.update(system.name + for system in package_systems())