[arch-commits] Commit in sagemath/repos (10 files)

Antonio Rojas arojas at gemini.archlinux.org
Sun Aug 28 17:27:30 UTC 2022


    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 <arojas at 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())



More information about the arch-commits mailing list