[bug#56729,RFC,00/10] Add sagemath.

Message ID cover.1658595756.git.guix@ikherbers.com
Headers
Series Add sagemath. |

Message

vicvbcun July 23, 2022, 7:59 p.m. UTC
Hello Guix!

This series adds SageMath. Everything compiles just fine and even the
Jupyter notebook interface works, but there is still much work to do. So
far, I have only added the minimal set of inputs required for the build
to succeed. Tests and documentations are still missing.

vicvbcun (10):
  gnu: edge-addition-planarity-suite: Update to 3.0.2.0.
  gnu: gap: Update to 4.11.1.
  gnu: Remove ecl-16.
  gnu: cliquer: Update to 1.22.
  gnu: lcalc: Update to 2.0.5.
  gnu: ntl: Update to 11.5.1.
  gnu: eclib: Update to 20220621.
  gnu: Add python-memory-allocator.
  gnu: Add python-pplpy.
  gnu: Add sagemath.

 gnu/local.mk                                  |   4 -
 gnu/packages/algebra.scm                      |  19 +-
 gnu/packages/graph.scm                        |   4 +-
 .../patches/lcalc-default-parameters-1.patch  |  26 --
 .../patches/lcalc-default-parameters-2.patch  |  58 ----
 gnu/packages/patches/lcalc-lcommon-h.patch    |  13 -
 .../patches/lcalc-using-namespace-std.patch   |  43 ---
 gnu/packages/sagemath.scm                     | 267 ++++++++++++------
 8 files changed, 194 insertions(+), 240 deletions(-)
 delete mode 100644 gnu/packages/patches/lcalc-default-parameters-1.patch
 delete mode 100644 gnu/packages/patches/lcalc-default-parameters-2.patch
 delete mode 100644 gnu/packages/patches/lcalc-lcommon-h.patch
 delete mode 100644 gnu/packages/patches/lcalc-using-namespace-std.patch


base-commit: f6904c0b19c2fcca41bbf1400c738bd833fec9a8
  

Comments

Ludovic Courtès Aug. 1, 2022, 9:24 a.m. UTC | #1
Hello!

vicvbcun <guix@ikherbers.com> skribis:

> This series adds SageMath. Everything compiles just fine and even the
> Jupyter notebook interface works, but there is still much work to do. So
> far, I have only added the minimal set of inputs required for the build
> to succeed. Tests and documentations are still missing.

This looks great already!  To make sure things don’t stall, we could
apply the patch series piecemeal, starting with the dependencies that
you think are ready, and leaving more time to polish the ‘sagemath’
package.

WDYT?

Regarding SageMath, my understanding is that it bundles lots of things.
In Guix, we’d like to make sure we do not use the bundled packages,
unless we practically can’t avoid it.  To do that, the best option is to
remove “third-party” (or similar) directories right in the ‘snippet’ of
the ‘sagemath’ package.  Could you give that a try?

Then, as you note, we’d rather run tests to make sure the package works
as intended.

Cc’ing Andreas, who I think is quite familiar with Sage.

Ludo’.
  
vicvbcun Aug. 3, 2022, 9:21 a.m. UTC | #2
Hello,

On 2022-08-01T11:24:31+0200, Ludovic Courtès wrote:
> > This series adds SageMath. Everything compiles just fine and even the
> > Jupyter notebook interface works, but there is still much work to do. So
> > far, I have only added the minimal set of inputs required for the build
> > to succeed. Tests and documentations are still missing.
> 
> This looks great already!  To make sure things don’t stall, we could
> apply the patch series piecemeal, starting with the dependencies that
> you think are ready, and leaving more time to polish the ‘sagemath’
> package.
> 
> WDYT?
Sounds like a good idea. The updates all seem fine to me (except gap)
and other than perhaps a better description for python-memory-allocator
I don't think there is much left to do for the other ones.

As for gap, I took another stab at it and it now builds reproducibly for
me. I also removed all the trailing #t's and changed the phases to use a
gexp.
By the way, the gap definition contains a snippet that deletes many gap
packages over concerns due to missing explicit licenses. However in a
cursory look at the tarball, I can see many LICENSE/COPYING files so
that may have changed.

> Regarding SageMath, my understanding is that it bundles lots of things.
> In Guix, we’d like to make sure we do not use the bundled packages,
> unless we practically can’t avoid it.  To do that, the best option is to
> remove “third-party” (or similar) directories right in the ‘snippet’ of
> the ‘sagemath’ package.  Could you give that a try?
If I understand the Sage build system correctly, missing dependencies
are automatically retrieved and build only when using the provided
Makefile. As is, the package definition builds and installs only the
python library part using setup.py. Thus a missing dependency probably
leads to a runtime error, though I haven't checked this.

> Then, as you note, we’d rather run tests to make sure the package works
> as intended.
I will try to see if I can get tests to work, though probably as
separate "package" like nixpkgs does[0], to avoid rebuilding sagemath so
often :).

As for sagemath itself, I will have a look at what exactly we need in
bin/.

[0]:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/science/math/sage/sage-tests.nix
  
vicvbcun Aug. 6, 2022, 1:28 a.m. UTC | #3
On 2022-07-23T21:59:07+0200, vicvbcun wrote:
> Everything compiles just fine and even the Jupyter notebook interface
> works, [...]
Well, I spoke to soon. As it turns out, the `sage' command I invoked to
test things a bit wound up using the sage installed by pacman, so no
wonder it worked perfectly. Nonetheless, I got some things working in a
guix shell container (so hopefully this wont happen again) with the help
of wrap-program and a few more dependencies.

I will try to post something that actually works a bit soon.
  
Andreas Enge Aug. 8, 2022, 2:40 p.m. UTC | #4
Hello,

Am Mon, Aug 01, 2022 at 11:24:31AM +0200 schrieb Ludovic Courtès:
> > This series adds SageMath. Everything compiles just fine and even the
> > Jupyter notebook interface works, but there is still much work to do. So
> > far, I have only added the minimal set of inputs required for the build
> > to succeed. Tests and documentations are still missing.
> This looks great already!  To make sure things don’t stall, we could
> apply the patch series piecemeal, starting with the dependencies that
> you think are ready, and leaving more time to polish the ‘sagemath’
> package.

thanks for letting me know, I will start by having a look at the patches
doing version updates.

Concerning sagemath itself, below is my very old version of an attempt at
packaging the library. Some things look reassuringly similar, my handling
of the number of cores is less nice, but I do delete the bundled packages.

Maybe you could copy useful parts into your recipe?

As for tests, indeed we should drop them for the time being until we have
a working sage package.

Thanks for these efforts!

Andreas



(define-public sage
  (package
    (name "sage")
    (version "8.7")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "ftp://ftp.fu-berlin.de/unix/misc/sage/src/sage-"
                    version ".tar.gz"))
              (sha256
               (base32
                "04l7i29vvxbd276z7hq6lj00ij42iy05pj7x765f0wswjiz0jlax"))
              (modules '((guix build utils)))
              (snippet '(begin (delete-file-recursively "upstream")
                               (delete-file-recursively ".git")
                               #t))))
    (build-system python-build-system)
    (native-inputs
     `(("cython" ,python-cython)
       ("pkg-config" ,pkg-config)
       ("python-cysignals" ,python-cysignals)
       ("python-pkgconfig" ,python-pkgconfig)
       ("python-jinja2" ,python-jinja2)))
    (inputs
     `(("arb" ,arb)
       ("boost" ,boost)
       ("brial" ,brial)
       ("cliquer" ,cliquer)
       ("ecl" ,ecl)
       ("eclib" ,eclib)
       ("gmp-ecm" ,gmp-ecm)
       ("edge-addition-planarity-suite" ,edge-addition-planarity-suite)
       ("fflas-ffpack" ,fflas-ffpack-2.3.2)
       ("flint" ,flint)
       ("gap" ,gap)
       ("gd" ,gd)
       ("gf2x" ,gf2x)
       ("givaro" ,givaro-4.0.4)
       ("glpk" ,glpk)
       ("gmp" ,gmp)
       ("gsl" ,gsl)
       ("iml" ,iml)
       ("lcalc" ,lcalc)
       ("libbraiding" ,libbraiding)
       ("libgc" ,libgc)
       ("libhomfly" ,libhomfly)
       ("linbox" ,linbox-1.5.2)
       ("lrcalc" ,lrcalc)
       ("m4ri" ,m4ri)
       ("m4rie" ,m4rie)
       ("mpc" ,mpc)
       ("mpfr" ,mpfi)
       ("ntl" ,ntl)
       ("pari-gp" ,pari-gp)
       ("ppl" ,ppl)
       ("pynac" ,pynac)
       ("python-cypari2" ,python-cypari2)
       ("python-gmpy2" ,python-gmpy2)
       ("python-numpy" ,python-numpy)
       ("python-six" ,python-six)
       ("ratpoints" ,ratpoints)
       ("readline" ,readline)
       ("rw" ,rw)
       ("singular" ,singular)
       ("symmetrica" ,symmetrica)
       ("zlib" ,zlib)
       ("zn-poly" ,zn-poly)))
    (arguments
     `(#:tests? #f ; a test since this phase fails with an error in setup.py
       #:use-setuptools? #f ; otherwise setup.py complains about
                            ; --single-version-externally-managed
       #:phases
       (modify-phases %standard-phases
         (add-before 'build 'setup
           (lambda _
             (setenv "SAGE_ROOT" (getcwd))
             (setenv "SAGE_LOCAL" (getcwd))
             (setenv "SAGE_SHARE" (string-append (getcwd) "/share"))
             (setenv "PATH" (string-append (getcwd) "/build/bin:"
                            (getcwd) "/src/bin:"
                            (getenv "PATH")))
             (setenv "SAGE_NUM_THREADS" "32") ; arbitrary number, 32 cores
                                              ; on bayfront
             (mkdir-p "var/lib/sage/installed")
             (mkdir-p (string-append (getcwd)
                                     "/share/sage/ext/notebook-ipython"))
             (chdir "src")
             #t))
         (add-after 'install 'save-space
           ;; The Nix package deletes a directory with over 100MB, which
           ;; apparently is not needed. Let us do the same.
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (python (assoc-ref inputs "python"))
                    (python-version
                      ((@@ (guix build python-build-system)
                           get-python-version) python))
                    (site (string-append out "/lib/python"
                                         python-version
                                         "/site-packages"))
                    (directory (string-append site "/sage/cython_debug")))
               (delete-file-recursively directory))
             #t)))))
    (synopsis "SageMath computer algebra system")
    (description
     "SageMath is a mathematics software built on top of many existing
packages such as NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT,
R and others. Their combined power may be accessed through a common,
Python-based language or directly via interfaces or wrappers.")
    ;; documentation under cc-by-sa3.0, bundled packages under various
    ;; other licenses, see COPYING.txt in the distribution
    (license license:gpl3)
    (home-page "https://www.sagemath.org/")))
  
vicvbcun Aug. 8, 2022, 3:45 p.m. UTC | #5
Hello guix!

This is a second try, hopefully this time without silly errors.

The packaging of sagemath is for now structured as follows:
- `sagemath-just-build' builds everything using the minimal set of
  dependecies to avoid rebuilding where possible. As runtime
  dependencies are missing, this is useless on its own.
- `sagemath-with-dependencies' adds all remaining dependencies as
  propagated-inputs. This should work, if we set a few additional
  environment variables.
- `sagemath-tests' simply runs the tests.

If I interpret the output correctly, these are the tests that are still
failing:
>  sage/calculus/calculus.py                           #  6 doctests  failed
>  sage/categories/primer.py                           #  1 doctest   failed
>  sage/doctest/control.py                             #  3 doctests  failed
>  sage/doctest/sources.py                             #  1 doctest   failed
>  sage/doctest/test.py                                #  1 doctest   failed
>  sage/env.py                                         #  4 doctests  failed
>  sage/doctest/forker.py                              #  1 doctest   failed
>  sage/functions/exp_integral.py                      #  1 doctest   failed
>  sage/interfaces/gap_workspace.py                    #  2 doctests  failed
>  sage/interfaces/maxima_abstract.py                  #  2 doctests  failed
>  sage/interfaces/maxima_lib.py                       #  2 doctests  failed
>  sage/lfunctions/sympow.py                           # 10 doctests  failed
>  sage/libs/eclib/interface.py                        #  7 doctests  failed
>  sage/misc/package_dir.py                            #  1 doctest   failed
>  sage/modular/abvar/abvar.py                         #  1 doctest   failed
>  sage/modular/hecke/submodule.py                     #  1 doctest   failed
>  sage/plot/plot3d/tachyon.py                         #  2 doctests  failed
>  sage/repl/display/jsmol_iframe.py                   # 11 doctests  failed
>  sage/repl/display/formatter.py                      #  4 doctests  failed
>  sage/repl/ipython_kernel/install.py                 #  1 doctest   failed
>  sage/repl/ipython_tests.py                          #  2 doctests  failed
>  sage/repl/rich_output/backend_ipython.py            #  1 doctest   failed
>  sage/repl/rich_output/output_graphics.py            # 25 doctests  failed
>  sage/repl/rich_output/output_graphics3d.py          # 34 doctests  failed
>  sage/repl/rich_output/output_video.py               # 14 doctests  failed
>  sage/repl/rich_output/backend_doctest.py            # 17 doctests  failed
>  sage/schemes/elliptic_curves/ell_rational_field.py  # 14 doctests  failed
>  sage/symbolic/integration/integral.py               #  1 doctest   failed
>  sage/symbolic/relation.py                           #  1 doctest   failed
>  sage/tests/gap_packages.py                          #  1 doctest   failed
>  sage/tests/cmdline.py                               # 14 doctests  failed
Some of these seem harmless, others seem more concerning (including
segmentation faults), some due to still missing dependencies.

Some Notes:
- We need to set some environment variables, so that sage can find all
  dependencies (see `sagemath-tests'). I suppose we could wrap the
  `sage' command, but this would of course add them as dependencies.

- For the `sagemath-data-*' packages, I couldn't find explicit Licenses.
  In Sage's COPYING.txt it just says "None (database)" for license.

- How should we handle test failures? Given errors such as the ones
  below, it seems delusional to expect every test to succeed.
>  Failed example:
>      solve_ineq_fourier([x+y<9,x-y>4],[y,x])
>  Expected:
>      [[y < min(x - 4, -x + 9)]]
>  Got:
>      [[y < min(-x + 9, x - 4)]]

>  Failed example:
>      FDS.basename
>  Expected:
>      'sage.rings.integer'
>  Got:
>      '/gnu/store/.../lib/python3.9/site-packages/sage/rings/integer.pyx'

- `python-cython' is build-time dependency but may be needed at runtime.
  This could cause issues when cross-compiling, right? I think its path
  is only in the wrappers in bin/*.

vicvbcun (29):
  gnu: Remove ecl-16.
  gnu: edge-addition-planarity-suite: Update to 3.0.2.0.
  gnu: gap: Update to 4.11.1.
  gnu: cliquer: Update to 1.22.
  gnu: lcalc: Update to 2.0.5.
  gnu: ntl: Update to 11.5.1.
  gnu: eclib: Update to 20220621.
  gnu: lrcalc: Update to 2.1.
  gnu: maxima: Update to 5.46.0.
  gnu: python-sympy: Update to 1.10.1.
  gnu: cddlib: Update to 0.94m.
  gnu: Add python-memory-allocator.
  gnu: Add python-pplpy.
  gnu: Add primecount.
  gnu: Add python-primecountpy.
  gnu: Add python-lrcalc.
  gnu: Add palp.
  gnu: Add gfan.
  gnu: Add flintqs.
  gnu: Add tachyon.
  gnu: Add sagemath-data-conway-polynomials.
  gnu: Add sagemath-data-elliptic-curves.
  gnu: Add sagemath-data-combinatorial-designs.
  gnu: Add sagemath-data-graphs.
  gnu: Add sagemath-data-poytopes-db.
  gnu: Add pari-galdata.
  gnu: Add sagemath-just-build.
  gnu: Add sagemath-with-dependencies.
  gnu: Add sagemath-tests.

 gnu/local.mk                                  |   9 +-
 gnu/packages/algebra.scm                      | 203 +++--
 gnu/packages/graph.scm                        |   4 +-
 gnu/packages/maths.scm                        |  31 +-
 .../ecl-16-format-directive-limit.patch       |  83 --
 .../ecl-16-ignore-stderr-write-error.patch    |  17 -
 gnu/packages/patches/ecl-16-libffi.patch      |  16 -
 .../patches/lcalc-default-parameters-1.patch  |  26 -
 .../patches/lcalc-default-parameters-2.patch  |  58 --
 gnu/packages/patches/lcalc-lcommon-h.patch    |  13 -
 .../patches/lcalc-using-namespace-std.patch   |  43 -
 gnu/packages/patches/lrcalc-includes.patch    |  92 ---
 gnu/packages/patches/tachyon-make-arch.patch  |  13 +
 gnu/packages/python-xyz.scm                   |   4 +-
 gnu/packages/sagemath.scm                     | 780 ++++++++++++++++--
 15 files changed, 833 insertions(+), 559 deletions(-)
 delete mode 100644 gnu/packages/patches/ecl-16-format-directive-limit.patch
 delete mode 100644 gnu/packages/patches/ecl-16-ignore-stderr-write-error.patch
 delete mode 100644 gnu/packages/patches/ecl-16-libffi.patch
 delete mode 100644 gnu/packages/patches/lcalc-default-parameters-1.patch
 delete mode 100644 gnu/packages/patches/lcalc-default-parameters-2.patch
 delete mode 100644 gnu/packages/patches/lcalc-lcommon-h.patch
 delete mode 100644 gnu/packages/patches/lcalc-using-namespace-std.patch
 delete mode 100644 gnu/packages/patches/lrcalc-includes.patch
 create mode 100644 gnu/packages/patches/tachyon-make-arch.patch


base-commit: f6904c0b19c2fcca41bbf1400c738bd833fec9a8
  
vicvbcun Aug. 8, 2022, 4:20 p.m. UTC | #6
Hello,

On 2022-08-08T16:40:37+0200, Andreas Enge wrote:
> Hello,
> 
> Am Mon, Aug 01, 2022 at 11:24:31AM +0200 schrieb Ludovic Courtès:
> > > This series adds SageMath. Everything compiles just fine and even the
> > > Jupyter notebook interface works, but there is still much work to do. So
> > > far, I have only added the minimal set of inputs required for the build
> > > to succeed. Tests and documentations are still missing.
> > This looks great already!  To make sure things don’t stall, we could
> > apply the patch series piecemeal, starting with the dependencies that
> > you think are ready, and leaving more time to polish the ‘sagemath’
> > package.
> 
> thanks for letting me know, I will start by having a look at the patches
> doing version updates.
Great! But note that I just sent an updated series with minor touch ups :).

> Concerning sagemath itself, below is my very old version of an attempt at
> packaging the library. Some things look reassuringly similar, my handling
> of the number of cores is less nice, but I do delete the bundled packages.
The `upstream' directory only seems to exist in the published tarball.
So this should be no problem if we build from git.

> Maybe you could copy useful parts into your recipe?
I'll take a look!

> As for tests, indeed we should drop them for the time being until we have
> a working sage package.
Too late (for the most part) :).
  
Andreas Enge Aug. 9, 2022, 10:47 a.m. UTC | #7
Hello,

Am Mon, Aug 08, 2022 at 06:20:22PM +0200 schrieb guix@ikherbers.com:
> Great! But note that I just sent an updated series with minor touch ups :).

thanks for the update! I just pushed an update of maxima (and wxmaxima), but
without your addition of ecl. Is there a good reason for this? In any case,
this should be done in a separate commit, since it is not required for the
update. For the record, I also tried to compile with gcl, but this still
failed.

> > Concerning sagemath itself, below is my very old version of an attempt at
> > packaging the library. Some things look reassuringly similar, my handling
> > of the number of cores is less nice, but I do delete the bundled packages.
> The `upstream' directory only seems to exist in the published tarball.
> So this should be no problem if we build from git.

Ah, interesting. Which one should we do? I personally tend to prefer tarballs
(as the official distribution mechanism of the project). Recently there has
been a preference in the Guix project for git repositories when autotools
are involved, as they make it possible to recreate the configure scripts
from their source. But since this is not the case here, the argument does
not hold.

Andreas
  
\( Aug. 9, 2022, 10:55 a.m. UTC | #8
On Tue Aug 9, 2022 at 11:47 AM BST, Andreas Enge wrote:
> Ah, interesting. Which one should we do? I personally tend to prefer tarballs
> (as the official distribution mechanism of the project). Recently there has
> been a preference in the Guix project for git repositories when autotools
> are involved, as they make it possible to recreate the configure scripts
> from their source. But since this is not the case here, the argument does
> not hold.

I think it does sometimes hold even for projects that don't use autotools,
especially older ones: they sometimes work under the assumption that users
do not generally care about generated files in their release source, but
don't want to put generated files in their development repository.

This, of course, is why the autotools generated files problem exists in the
first place; autoconf was, after all, designed so that users didn't have to
have it installed to build a package, in a world where compiling from release
tarballs was the usual way to get new software.

    -- (
  
Andreas Enge Aug. 9, 2022, 12:19 p.m. UTC | #9
I pushed your patch updating cddlib with a small change to include the
version number in the docdir, so that it coincides with the place where the
GNU build system stores the COPYING file.

Thanks,

Andreas
  
Maxime Devos Aug. 9, 2022, 9:32 p.m. UTC | #10
On 09-08-2022 12:47, Andreas Enge wrote:
> [...] Recently there has
> been a preference in the Guix project for git repositories when autotools
> are involved, as they make it possible to recreate the configure scripts
> from their source. But since this is not the case here, the argument does
> not hold.
I am not aware of such a preference, do you have a source?

Switching to git repositories in one method to build from source, but 
there exist other methods too that keep the official distribution 
method, e.g. (for-each delete-file '("configure" ...)) in a snippet. 
It's a method to a goal, but not a goal on itself as far as I'm aware.

Greetings,
Maxime.
  
Andreas Enge Aug. 10, 2022, 8:26 a.m. UTC | #11
Am Tue, Aug 09, 2022 at 11:32:56PM +0200 schrieb Maxime Devos:
> I am not aware of such a preference, do you have a source?

No, it was just an impression I got from discussions on the mailing list.
So I am unsure if there is an official position, and do not know what
to do here...

Andreas
  
Andreas Enge Aug. 10, 2022, 9:03 a.m. UTC | #12
Hello,

I just pushed your update to python-sympy, after trying to recompile all its
dependents and verifying that they mostly do not become broken.

Andreas
  
Andreas Enge Aug. 11, 2022, 6:05 p.m. UTC | #13
Hello,

Am Wed, Aug 03, 2022 at 11:21:43AM +0200 schrieb guix@ikherbers.com:
> As for gap, I took another stab at it and it now builds reproducibly for
> me. I also removed all the trailing #t's and changed the phases to use a
> gexp.

today I looked at gap. Since there were many whitespace changes, I found
it a bit difficult to review, and copied only the most relevant/easiest
parts of your commit. In particular I did not move to gexps, which could
be done in a separate patch. So far I also did not apply the part for
making the build reproducible, which could be done in yet another patch.

> By the way, the gap definition contains a snippet that deletes many gap
> packages over concerns due to missing explicit licenses. However in a
> cursory look at the tarball, I can see many LICENSE/COPYING files so
> that may have changed.

Yes, there is an ongoing effort in GAP to clarify the license situation,
with apparently a lot of progress in this release. I have added (hopefully)
all packages with a free license and which do not require additional inputs.

We could go further; for instance add ZeroQMInterface (which requires
zeromq) and dependent packages, CddInterface (which I suppose requires
cddlib) and then NConvex, but I am a bit weary of adding dependencies,
even more so since we do not seem to have GAP users in Guix who could
give us feedback. It would be more motivating with users who confirm that
the packages do not only load, but actually work as expected...

Andreas
  
vicvbcun May 29, 2023, 8:38 p.m. UTC | #14
Hello Guix!

Disclaimer: To prevent this from beeing delayed yet another week, I have 
decided to sent this as is. Hence this may not be very coherent.

This finally is an updated third version. Allmost all tests[0] in 
`sagemath-testsuite' succed without any issues[1] (See the log below for 
the remaining failures and the comments in the `sagemath' patch). 
However two issues remain: `sage/env.py' and 
`sage/interacts/test_jupyter.rst'. Maybe updating `python-pkgconfig' and 
`python-ipywidgets' solve these but someone braver than I currently am 
would have to try :).

Other remaining problems:

- I'm not sure about the licenses of the`sagemath-data-*' packages.
-- `sagemath-data-combinatorial-designs' Supposedly in the public
   domain, see also the notes attached to the patch.

-- `sagemath-data-polytopes-db'
   SageMath's `COPYING.txt' claims that this has no license as it is a 
   database. However the `SPKG.rst' for `polytopes_db' claims GPL.

-- `sagemath-data-graphs'
   SageMath's `COPYING.txt' claims that this has no license as it is a 
   database. `smallgraphs.txt' and`isgci_sage.xml' seem to be taken from 
   data [2] which has a CC-BY-SA 3.0 icon/button in the footer if you 
   click on one of the articles.

-- `sagemath-data-conway-polynomials'
   SageMath's `COPYING.txt' claims that this has no license as it is a 
   database.

-- `sagemath-data-elliptic-curves'
   The file `allcurves.00000-09999' is taken from [4] which contains an 
   Artistic License 2.0.

   If I interpret it correctly, Debian distributes 
   `combinatorial-designs' as public domain and the rest of them as 
   GPLv2 or later (see [4], [5], [6], [7], [8]).

- Not all package descriptions are great. For `gfan' in particular I 
  know to little algebraic geometry to decide what information from the 
  website would be relevant.

- Currently SageMath is split into two packages: 
  `python-sagemath-standard' provides the actual content but is not 
  tested; `sagemath' runs the testsuite and only provides a symlink to 
  the `sage' executable. This is similar to how NixOS does it. Upsides 
  to this approach are that one can compile everything and run the tests 
  independently from each other (the former takes for me ~18 minutes, 
  the latter ~24 minutes I think), preventing uneccessary work. Also, as 
  there are many propagated packages, this makes sure everything is 
  setup correctly.

- I gave up rebuilding all the dependent packages when `gnuradio' filled 
  my `/tmp' tmpfs and building `python-graph-tool' consumed all my RAM

- Package the documentation

- Package SageTeX

- The transitive closure of is huge: `guix size python-sagemath-standard' 
  reports 5002.1 MiB. It also propagates many packages.

- `zn-poly' was presumably added a long time ago as a dependency for 
  SageMath but is not used anymore and seems pretty dead.

- `pynac' was merged into SageMath[9]

How do we/I proceed?
- We would need a decision on what to do with the `sagemath-data-*' 
  packages regarding the licenses.

- I would need feedback whether the current split into the 
  `python-sagemath-standard' and `sagemath' packages would be 
  acceptable.

- The package additions (but not `sagemath-data-*') could be fine modulo 
  issues with the descriptions.

- The other patches (i.e. gap, maxima, pari-gp, singular) should be 
  fine.

A couple of the patches also have some notes attached.

0: SageMath also has tests marked as optional or taking a long time. The 
tests run by default should hopefully be enough to catch all packaging 
errors.

1: I see coredumps during some of the tests (for `python', `mwrank' from 
`eclib', `ecl', `gentourng' from `nauty') but these don't seem to effect 
the result ¯\_(ツ)_/¯. At least the ones for mwrank (in 
`src/sage/interfaces/mwrank.py') can also be seen for sage as packaged 
by Arch Linux (eclib 20230424) and NixOS (eclib 20221012), for the 
others I haven't found the relevant tests.

2: https://graphclasses.org/
3: https://github.com/JohnCremona/ecdata
4: https://salsa.debian.org/science-team/sagemath-database-combinatorial-designs/-/blob/master/debian/copyright
5: https://salsa.debian.org/science-team/sagemath-database-elliptic-curves/-/blob/master/debian/copyright
6: https://salsa.debian.org/science-team/sagemath-database-graphs/-/blob/master/debian/copyright
7: https://salsa.debian.org/science-team/sagemath-database-polytopes/-/blob/master/debian/copyright
8: https://salsa.debian.org/science-team/sagemath-database-conway-polynomials/-/blob/master/debian/copyright
9: https://github.com/pynac/pynac/commit/2a0d97bada891cbcaad950672143542a32ba2834

Lastly, this is the log of the tests that currently fail:

sage -t --random-seed=81087110751557935317942447629980408147 sage/misc/sage_ostools.pyx
**********************************************************************
File "sage/misc/sage_ostools.pyx", line 35, in sage.misc.sage_ostools.have_program
Failed example:
    have_program('sh', '/bin')
Expected:
    True
Got:
    False
**********************************************************************
1 item had failures:
   1 of   7 in sage.misc.sage_ostools.have_program
    [41 tests, 1 failure, 0.05 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/interfaces/gap_workspace.py
**********************************************************************
File "sage/interfaces/gap_workspace.py", line 56, in sage.interfaces.gap_workspace.gap_workspace_file
Failed example:
    name1 = Popen([sys.executable, '-c', cmd], stdout=PIPE).communicate()[0]
Expected nothing
Got:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all.py", line 62, in <module>
        from .all__sagemath_repl import *  # includes .all__sagemath_objects, .all__sagemath_environment
      File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all__sagemath_repl.py", line 83, in <module>
        from .all__sagemath_objects import *
      File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all__sagemath_objects.py", line 16, in <module>
        from sage.misc.all__sagemath_objects       import *
      File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/misc/all__sagemath_objects.py", line 3, in <module>
        import sage.structure.all   # to break a cyclic import
      File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/structure/__init__.py", line 2, in <module>
        import sage.structure.element
    ModuleNotFoundError: No module named 'sage.structure.element'
**********************************************************************
File "sage/interfaces/gap_workspace.py", line 57, in sage.interfaces.gap_workspace.gap_workspace_file
Failed example:
    name2 = Popen([sys.executable, '-c', cmd], stdout=PIPE).communicate()[0]
Expected nothing
Got:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all.py", line 62, in <module>
        from .all__sagemath_repl import *  # includes .all__sagemath_objects, .all__sagemath_environment
      File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all__sagemath_repl.py", line 83, in <module>
        from .all__sagemath_objects import *
      File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/all__sagemath_objects.py", line 16, in <module>
        from sage.misc.all__sagemath_objects       import *
      File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/misc/all__sagemath_objects.py", line 3, in <module>
        import sage.structure.all   # to break a cyclic import
      File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/structure/__init__.py", line 2, in <module>
        import sage.structure.element
    ModuleNotFoundError: No module named 'sage.structure.element'
**********************************************************************
1 item had failures:
   2 of  12 in sage.interfaces.gap_workspace.gap_workspace_file
    [14 tests, 2 failures, 0.68 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/repl/ipython_kernel/kernel.py
**********************************************************************
File "sage/repl/ipython_kernel/kernel.py", line 47, in sage.repl.ipython_kernel.kernel.SageKernel.__init__
Failed example:
    from sage.repl.ipython_kernel.kernel import SageKernel
Expected nothing
Got:
    doctest:warning
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/bin/sage-runtests", line 154, in <module>
        err = DC.run()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/control.py", line 1385, in run
        self.run_doctests()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/control.py", line 1060, in run_doctests
        self.dispatcher.dispatch()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2017, in dispatch
        self.parallel_dispatch()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 1912, in parallel_dispatch
        w.start()  # This might take some time
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2186, in start
        super().start()
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/process.py", line 121, in start
        self._popen = self._Popen(self)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/context.py", line 224, in _Popen
        return _default_context.get_context().Process._Popen(process_obj)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/context.py", line 281, in _Popen
        return Popen(process_obj)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
        self._launch(process_obj)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/popen_fork.py", line 71, in _launch
        code = process_obj._bootstrap(parent_sentinel=child_r)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
        self.run()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2158, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2488, in __call__
        doctests, extras = self._run(runner, options, results)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2540, in _run
        result = runner.run(test)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 866, in run
        return self._run(test, compileflags, out)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 695, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 1093, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.repl.ipython_kernel.kernel.SageKernel.__init__[0]>", line 1, in <module>
        from sage.repl.ipython_kernel.kernel import SageKernel
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/repl/ipython_kernel/kernel.py", line 19, in <module>
        from ipykernel.ipkernel import IPythonKernel
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/d5883jyf46l3h4h3rc0d7ramgy47pab6-python-ipykernel-6.13.0/lib/python3.10/site-packages/ipykernel/ipkernel.py", line 19, in <module>
        from .debugger import Debugger, _is_debugpy_available
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/d5883jyf46l3h4h3rc0d7ramgy47pab6-python-ipykernel-6.13.0/lib/python3.10/site-packages/ipykernel/debugger.py", line 22, in <module>
        from debugpy.server import api  # noqa
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/78bgdvac53aw2zhn1cq2jmsj78bwx2ln-python-debugpy-1.6.0/lib/python3.10/site-packages/debugpy/server/__init__.py", line 40, in <module>
        import pydevd   # noqa
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/pydevd.py", line 41, in <module>
        from _pydevd_bundle import pydevd_extension_utils, pydevd_frame_utils
      File "<frozen importlib._bootstrap>", line 1078, in _handle_fromlist
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/_pydevd_bundle/pydevd_extension_utils.py", line 5, in <module>
        import pydevd_plugins.extensions as extensions
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/pydevd_plugins/extensions/__init__.py", line 4, in <module>
        __import__('pkg_resources').declare_namespace(__name__)
      File "/gnu/store/06cjgrygh79bxbsr0x44ryx1wy1pwvh4-python-setuptools-67.6.1/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2338, in declare_namespace
        warnings.warn(msg, DeprecationWarning, stacklevel=2)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/warnings.py", line 109, in _showwarnmsg
        sw(msg.message, msg.category, msg.filename, msg.lineno,
    :
    DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('pydevd_plugins.extensions')`.
    Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
    doctest:warning
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/bin/sage-runtests", line 154, in <module>
        err = DC.run()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/control.py", line 1385, in run
        self.run_doctests()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/control.py", line 1060, in run_doctests
        self.dispatcher.dispatch()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2017, in dispatch
        self.parallel_dispatch()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 1912, in parallel_dispatch
        w.start()  # This might take some time
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2186, in start
        super().start()
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/process.py", line 121, in start
        self._popen = self._Popen(self)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/context.py", line 224, in _Popen
        return _default_context.get_context().Process._Popen(process_obj)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/context.py", line 281, in _Popen
        return Popen(process_obj)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
        self._launch(process_obj)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/popen_fork.py", line 71, in _launch
        code = process_obj._bootstrap(parent_sentinel=child_r)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
        self.run()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2158, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2488, in __call__
        doctests, extras = self._run(runner, options, results)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2540, in _run
        result = runner.run(test)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 866, in run
        return self._run(test, compileflags, out)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 695, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 1093, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.repl.ipython_kernel.kernel.SageKernel.__init__[0]>", line 1, in <module>
        from sage.repl.ipython_kernel.kernel import SageKernel
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/repl/ipython_kernel/kernel.py", line 19, in <module>
        from ipykernel.ipkernel import IPythonKernel
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/d5883jyf46l3h4h3rc0d7ramgy47pab6-python-ipykernel-6.13.0/lib/python3.10/site-packages/ipykernel/ipkernel.py", line 19, in <module>
        from .debugger import Debugger, _is_debugpy_available
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/d5883jyf46l3h4h3rc0d7ramgy47pab6-python-ipykernel-6.13.0/lib/python3.10/site-packages/ipykernel/debugger.py", line 22, in <module>
        from debugpy.server import api  # noqa
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/78bgdvac53aw2zhn1cq2jmsj78bwx2ln-python-debugpy-1.6.0/lib/python3.10/site-packages/debugpy/server/__init__.py", line 40, in <module>
        import pydevd   # noqa
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/pydevd.py", line 3190, in <module>
        for handler in pydevd_extension_utils.extensions_of_type(DebuggerEventHandler):
      File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/_pydevd_bundle/pydevd_extension_utils.py", line 66, in extensions_of_type
        return EXTENSION_MANAGER_INSTANCE.get_extension_classes(extension_type)
      File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/_pydevd_bundle/pydevd_extension_utils.py", line 44, in get_extension_classes
        self._ensure_loaded()
      File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/_pydevd_bundle/pydevd_extension_utils.py", line 33, in _ensure_loaded
        self._load_modules()
      File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/_pydevd_bundle/pydevd_extension_utils.py", line 20, in _load_modules
        for module_loader, name, ispkg in pkgutil.walk_packages(extensions.__path__,
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/pkgutil.py", line 92, in walk_packages
        __import__(info.name)
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/gnu/store/dnd753b65xbv3smqsnxvpl72lnnzlnll-python-pydevd-2.8.0-0.47e2984/lib/python3.10/site-packages/pydevd_plugins/extensions/types/__init__.py", line 4, in <module>
        __import__('pkg_resources').declare_namespace(__name__)
      File "/gnu/store/06cjgrygh79bxbsr0x44ryx1wy1pwvh4-python-setuptools-67.6.1/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2338, in declare_namespace
        warnings.warn(msg, DeprecationWarning, stacklevel=2)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/warnings.py", line 109, in _showwarnmsg
        sw(msg.message, msg.category, msg.filename, msg.lineno,
    :
    DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('pydevd_plugins.extensions.types')`.
    Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
**********************************************************************
1 item had failures:
   1 of   3 in sage.repl.ipython_kernel.kernel.SageKernel.__init__
    [12 tests, 1 failure, 0.46 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/repl/ipython_kernel/install.py
**********************************************************************
File "sage/repl/ipython_kernel/install.py", line 128, in sage.repl.ipython_kernel.install.SageKernelSpec.use_local_threejs
Failed example:
    os.path.isdir(threejs)
Expected:
    True
Got:
    False
**********************************************************************
1 item had failures:
   1 of   6 in sage.repl.ipython_kernel.install.SageKernelSpec.use_local_threejs
    [40 tests, 1 failure, 0.65 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/functions/exp_integral.py
**********************************************************************
File "sage/functions/exp_integral.py", line 604, in sage.functions.exp_integral.Function_log_integral_offset
Failed example:
    Li(x).integrate(x,2.0,4.5)
Expected:
    -2.5*log_integral(2) + 5.799321147411334
Got:
    -Ei(2*log(9/2)) + Ei(2*log(2)) + 9/2*log_integral(9/2) - 4.5*log_integral(2)
**********************************************************************
1 item had failures:
   1 of  15 in sage.functions.exp_integral.Function_log_integral_offset
    [273 tests, 1 failure, 5.93 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/repl/ipython_tests.py
**********************************************************************
File "sage/repl/ipython_tests.py", line 34, in sage.repl.ipython_tests
Failed example:
    shell.run_cell(u'from sage.tests.stl_vector import stl_int_vector')
Expected nothing
Got:
    ---------------------------------------------------------------------------
    ModuleNotFoundError                       Traceback (most recent call last)
    Cell In [1], line 1
    ----> 1 from sage.tests.stl_vector import stl_int_vector
    <BLANKLINE>
    ModuleNotFoundError: No module named 'sage.tests.stl_vector'
**********************************************************************
File "sage/repl/ipython_tests.py", line 35, in sage.repl.ipython_tests
Failed example:
    shell.run_cell(u'%pinfo stl_int_vector')
Expected:
    ...
       Example class wrapping an STL vector
    <BLANKLINE>
       EXAMPLES...
    <BLANKLINE>
    ...
    Init docstring: ...ee help(type(...)) for...signature...
    File:           .../sage/tests/stl_vector.pyx
    Type:           type
    ...
Got:
    Object `stl_int_vector` not found.
**********************************************************************
File "sage/repl/ipython_tests.py", line 97, in sage.repl.ipython_tests
Failed example:
    shell.run_cell(u'from sage.tests.stl_vector import stl_int_vector')
Expected nothing
Got:
    ---------------------------------------------------------------------------
    ModuleNotFoundError                       Traceback (most recent call last)
    Cell In [1], line 1
    ----> 1 from sage.tests.stl_vector import stl_int_vector
    <BLANKLINE>
    ModuleNotFoundError: No module named 'sage.tests.stl_vector'
**********************************************************************
File "sage/repl/ipython_tests.py", line 98, in sage.repl.ipython_tests
Failed example:
    shell.run_cell(u'%pinfo2 stl_int_vector')
Expected:
    ...
    cdef class stl_int_vector(SageObject):
        """
        Example class wrapping an STL vector
    <BLANKLINE>
        EXAMPLES::
    <BLANKLINE>
    ...
        """
    <BLANKLINE>
        cdef vector[int] *data
        cdef string *name
    <BLANKLINE>
        def __cinit__(self):
            """
            The Cython constructor.
    <BLANKLINE>
            EXAMPLES::
    <BLANKLINE>
    ...
    File:   .../sage/tests/stl_vector.pyx
    Type:   type
    ...
Got:
    Object `stl_int_vector` not found.
**********************************************************************
1 item had failures:
   4 of  19 in sage.repl.ipython_tests
    [20 tests, 4 failures, 2.37 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/interfaces/maxima_lib.py
**********************************************************************
File "sage/interfaces/maxima_lib.py", line 937, in sage.interfaces.maxima_lib.MaximaLib.sr_limit
Failed example:
    limit(f,x = 1.2)
Expected:
    2.06961575467...
Got:
    und
**********************************************************************
File "sage/interfaces/maxima_lib.py", line 950, in sage.interfaces.maxima_lib.MaximaLib.sr_limit
Failed example:
    limit(x^a,x=0)
Expected:
    Traceback (most recent call last):
    ...
    ValueError: Computation failed ...
    Is a an integer?
Got:
    0
**********************************************************************
1 item had failures:
   2 of  24 in sage.interfaces.maxima_lib.MaximaLib.sr_limit
    [223 tests, 2 failures, 6.47 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/typeset/ascii_art.py
**********************************************************************
File "sage/typeset/ascii_art.py", line 219, in sage.typeset.ascii_art.ascii_art
Failed example:
    result = ascii_art(integral(exp(x+x^2)/(x+1), x))
Exception raised:
    Traceback (most recent call last):
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 695, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 1093, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.typeset.ascii_art.ascii_art[0]>", line 1, in <module>
        result = ascii_art(integral(exp(x+x**Integer(2))/(x+Integer(1)), x))
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/misc/functional.py", line 773, in integral
        return x.integral(*args, **kwds)
      File "sage/symbolic/expression.pyx", line 13254, in sage.symbolic.expression.Expression.integral (build/cythonized/sage/symbolic/expression.cpp:96676)
        return integral(self, *args, **kwds)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/symbolic/integration/integral.py", line 1064, in integrate
        return indefinite_integral(expression, v, hold=hold)
      File "sage/symbolic/function.pyx", line 1033, in sage.symbolic.function.BuiltinFunction.__call__ (build/cythonized/sage/symbolic/function.c:11087)
        res = super().__call__(
      File "sage/symbolic/function.pyx", line 547, in sage.symbolic.function.Function.__call__ (build/cythonized/sage/symbolic/function.c:6279)
        return call_registered_function(self._serial, self._nargs, args, hold,
      File "sage/symbolic/pynac_function_impl.pxi", line 1, in sage.symbolic.expression.call_registered_function (build/cythonized/sage/symbolic/expression.cpp:112431)
        cpdef call_registered_function(unsigned serial,
      File "sage/symbolic/pynac_function_impl.pxi", line 52, in sage.symbolic.expression.call_registered_function (build/cythonized/sage/symbolic/expression.cpp:112140)
        res = g_function_eval2(serial, (<Expression>args[0])._gobj,
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/symbolic/integration/integral.py", line 129, in _eval_
        A = integrator(f, x)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/symbolic/integration/external.py", line 288, in libgiac_integrator
        from sage.libs.giac import libgiac
      File "/tmp/guix-build-sagemath-10.0.drv-0/source/src/sage/libs/giac/__init__.py", line 35, in <module>
        from .giac import giacsettings, libgiac
    ModuleNotFoundError: No module named 'sage.libs.giac.giac'
**********************************************************************
File "sage/typeset/ascii_art.py", line 221, in sage.typeset.ascii_art.ascii_art
Failed example:
    result
Exception raised:
    Traceback (most recent call last):
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 695, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 1093, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.typeset.ascii_art.ascii_art[1]>", line 1, in <module>
        result
    NameError: name 'result' is not defined
**********************************************************************
1 item had failures:
   2 of  13 in sage.typeset.ascii_art.ascii_art
    [28 tests, 2 failures, 3.31 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/env.py
**********************************************************************
File "sage/env.py", line 363, in sage.env.?
Failed example:
    cython_aliases(required_modules=('module-that-is-assumed-to-not-exist'))
Expected:
    Traceback (most recent call last):
    ...
    PackageNotFoundError: ...
Got:
    {'ARB_LIBRARY': 'arb',
     'A_CFLAGS': [],
     'A_INCDIR': [],
     'A_LIBDIR': [],
     'A_LIBEXTRA': [],
     'A_LIBRARIES': [],
     'CYGWIN_SQLITE3_LIBS': [],
     'D_CFLAGS': [],
     'D_INCDIR': [],
     'D_LIBDIR': [],
     'D_LIBEXTRA': [],
     'D_LIBRARIES': [],
     'E_CFLAGS': [],
     'E_INCDIR': [],
     'E_LIBDIR': [],
     'E_LIBEXTRA': [],
     'E_LIBRARIES': [],
     'H_CFLAGS': [],
     'H_INCDIR': [],
     'H_LIBDIR': [],
     'H_LIBEXTRA': [],
     'H_LIBRARIES': [],
     'I_CFLAGS': [],
     'I_INCDIR': [],
     'I_LIBDIR': [],
     'I_LIBEXTRA': [],
     'I_LIBRARIES': [],
     'LAPACK_CFLAGS': [],
     'LAPACK_INCDIR': [],
     'LAPACK_LIBDIR': [],
     'LAPACK_LIBEXTRA': [],
     'LAPACK_LIBRARIES': [],
     'LINUX_NOEXECSTACK': ['-Wl,-z,noexecstack'],
     'L_CFLAGS': [],
     'L_INCDIR': [],
     'L_LIBDIR': [],
     'L_LIBEXTRA': [],
     'L_LIBRARIES': [],
     'M_CFLAGS': [],
     'M_INCDIR': [],
     'M_LIBDIR': [],
     'M_LIBEXTRA': [],
     'M_LIBRARIES': [],
     'NTL_CFLAGS': ['-std=c++11'],
     'NTL_INCDIR': [],
     'NTL_LIBDIR': [],
     'NTL_LIBEXTRA': [],
     'NTL_LIBRARIES': ['ntl'],
     'N_CFLAGS': [],
     'N_INCDIR': [],
     'N_LIBDIR': [],
     'N_LIBEXTRA': [],
     'N_LIBRARIES': [],
     'OPENMP_CFLAGS': [],
     'OPENMP_CXXFLAGS': [],
     'O_CFLAGS': [],
     'O_INCDIR': [],
     'O_LIBDIR': [],
     'O_LIBEXTRA': [],
     'O_LIBRARIES': [],
     'S_CFLAGS': [],
     'S_INCDIR': [],
     'S_LIBDIR': [],
     'S_LIBEXTRA': [],
     'S_LIBRARIES': [],
     'T_CFLAGS': [],
     'T_INCDIR': [],
     'T_LIBDIR': [],
     'T_LIBEXTRA': [],
     'T_LIBRARIES': [],
     'U_CFLAGS': [],
     'U_INCDIR': [],
     'U_LIBDIR': [],
     'U_LIBEXTRA': [],
     'U_LIBRARIES': [],
     'X_CFLAGS': [],
     'X_INCDIR': [],
     'X_LIBDIR': [],
     'X_LIBEXTRA': [],
     'X_LIBRARIES': [],
     '_CFLAGS': [],
     '_INCDIR': [],
     '_LIBDIR': [],
     '_LIBEXTRA': [],
     '_LIBRARIES': []}
**********************************************************************
1 item had failures:
   1 of   7 in sage.env.?
    [41 tests, 1 failure, 3.32 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/symbolic/relation.py
**********************************************************************
File "sage/symbolic/relation.py", line 1790, in sage.symbolic.relation.solve_ineq_fourier
Failed example:
    solve_ineq_fourier([x+y<9,x-y>4],[y,x])
Expected:
    [[y < min(x - 4, -x + 9)]]
Got:
    [[y < min(-x + 9, x - 4)]]
**********************************************************************
1 item had failures:
   1 of   9 in sage.symbolic.relation.solve_ineq_fourier
    [395 tests, 1 failure, 12.13 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/symbolic/integration/integral.py
**********************************************************************
File "sage/symbolic/integration/integral.py", line 750, in sage.symbolic.integration.integral.integrate
Failed example:
    res = integral(f,x,0.0001414, 1.); res
Expected:
    2*y*arctan(1.0/y) - 2*y*arctan(0.0001414/y) + 1.0*log(1.0*y^2 + 1.0) - 0.0001414*log(1.0*y^2 + 1.9993959999999997e-08) - 1.9997172
Got:
    -2*y*arctan(1/196559360927*sqrt(196559360927)*sqrt(3930)/y) + 2*y*arctan(1/y) - 1/196559360927*sqrt(196559360927)*sqrt(3930)*log(y^2 + 3930/196559360927) + 2/196559360927*sqrt(196559360927)*sqrt(3930) + log(y^2 + 1) - 2
**********************************************************************
1 item had failures:
   1 of 171 in sage.symbolic.integration.integral.integrate
    [236 tests, 1 failure, 17.81 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/calculus/calculus.py
**********************************************************************
File "sage/calculus/calculus.py", line 1189, in sage.calculus.calculus.limit
Failed example:
    f.limit(x=1.2)
Expected:
    2.06961575467...
Got:
    und
**********************************************************************
File "sage/calculus/calculus.py", line 1218, in sage.calculus.calculus.limit
Failed example:
    limit(x^a,x=0)
Expected:
    Traceback (most recent call last):
    ...
    ValueError: Computation failed since Maxima requested additional
    constraints; using the 'assume' command before evaluation *may* help
    (example of legal syntax is 'assume(a>0)', see `assume?` for
     more details)
    Is a an integer?
Got:
    0
**********************************************************************
File "sage/calculus/calculus.py", line 1227, in sage.calculus.calculus.limit
Failed example:
    limit(x^a, x=0)
Expected:
    Traceback (most recent call last):
    ...
    ValueError: Computation failed since Maxima requested additional
    constraints; using the 'assume' command before evaluation *may* help
    (example of legal syntax is 'assume(a>0)', see `assume?` for
     more details)
    Is a an even number?
Got:
    0
**********************************************************************
File "sage/calculus/calculus.py", line 2254, in sage.calculus.calculus.symbolic_expression_from_maxima_string
Failed example:
    solve([x != 5], x)
Expected:
    [[x - 5 != 0]]
Got:
    [[x < 5], [5 < x]]
**********************************************************************
File "sage/calculus/calculus.py", line 2256, in sage.calculus.calculus.symbolic_expression_from_maxima_string
Failed example:
    solve([2*x==3, x != 5], x)
Expected:
    [[x == (3/2), (-7/2) != 0]]
Got:
    [[x == (3/2)]]
**********************************************************************
2 items had failures:
   3 of  66 in sage.calculus.calculus.limit
   2 of  28 in sage.calculus.calculus.symbolic_expression_from_maxima_string
    [457 tests, 5 failures, 22.90 s]
sage -t --random-seed=81087110751557935317942447629980408147 sage/interacts/test_jupyter.rst
**********************************************************************
File "sage/interacts/test_jupyter.rst", line 281, in sage.interacts.test_jupyter
Failed example:
    test(interacts.statistics.coin)
Expected:
    ...Interactive function <function coin at ...> with 2 widgets
      n: IntSlider(value=1000, description='Number of Tosses', max=10000, min=2, step=100)
      interval: IntRangeSlider(value=(0, 0), description='Plotting range (y)', max=1)
Got:
    <CSI-2K>
<CSI-2K>
<small>Adjust your data and click Update button. Click repeatedly for another random values.</small>
    Riemann sum: \(\displaystyle\sum_{i=1}^{5} f(\eta_i)(x_i-x_{i-1})=4.247874180046039\) 
    Exact value of the integral \(\displaystyle\int_{0}^{2}x^{2} + 1\,\mathrm{d}x=4.666666666666668\)
    <CSI-2K>
<CSI-2K>
<small>Adjust your data and click Update button. Click repeatedly for another random values.</small>
    Riemann sum: \(\displaystyle\sum_{i=1}^{5} f(\eta_i)(x_i-x_{i-1})=5.503103683520322\) 
    Exact value of the integral \(\displaystyle\int_{0}^{2}x^{2} + 1\,\mathrm{d}x=4.666666666666668\)
    <CSI-2K>
<CSI-2K>
<small>Adjust your data and click Update button. Click repeatedly for another random values.</small>
    Riemann sum: \(\displaystyle\sum_{i=1}^{5} f(\eta_i)(x_i-x_{i-1})=4.870543900936941\) 
    Exact value of the integral \(\displaystyle\int_{0}^{2}x^{2} + 1\,\mathrm{d}x=4.666666666666668\)
    <CSI-2K>
<CSI-2K>
<small>Adjust your data and click Update button. Click repeatedly for another random values.</small>
    Riemann sum: \(\displaystyle\sum_{i=1}^{5} f(\eta_i)(x_i-x_{i-1})=5.633201216865329\) 
    Exact value of the integral \(\displaystyle\int_{0}^{2}x^{2} + 1\,\mathrm{d}x=4.666666666666668\)
    <CSI-2K>
<CSI-2K>
<small>Adjust your data and click Update button. Click repeatedly for another random values.</small>
    Riemann sum: \(\displaystyle\sum_{i=1}^{5} f(\eta_i)(x_i-x_{i-1})=4.037830404492628\) 
    Exact value of the integral \(\displaystyle\int_{0}^{2}x^{2} + 1\,\mathrm{d}x=4.666666666666668\)
    <CSI-2K>
<CSI-2K>
<small>Adjust your data and click Update button. Click repeatedly for another random values.</small>
    Riemann sum: \(\displaystyle\sum_{i=1}^{5} f(\eta_i)(x_i-x_{i-1})=5.451439147792941\) 
    Exact value of the integral \(\displaystyle\int_{0}^{2}x^{2} + 1\,\mathrm{d}x=4.666666666666668\)
    <CSI-2K>
<CSI-2K>
<small>Adjust your data and click Update button. Click repeatedly for another random values.</small>
    Riemann sum: \(\displaystyle\sum_{i=1}^{5} f(\eta_i)(x_i-x_{i-1})=3.918232705638865\) 
    Exact value of the integral \(\displaystyle\int_{0}^{2}x^{2} + 1\,\mathrm{d}x=4.666666666666668\)
    <CSI-2K>
<CSI-2K>
<small>Adjust your data and click Update button. Click repeatedly for another random values.</small>
    Riemann sum: \(\displaystyle\sum_{i=1}^{5} f(\eta_i)(x_i-x_{i-1})=4.666073647148092\) 
    Exact value of the integral \(\displaystyle\int_{0}^{2}x^{2} + 1\,\mathrm{d}x=4.666666666666668\)
    <CSI-2K>
<CSI-2K>
<small>Adjust your data and click Update button. Click repeatedly for another random values.</small>
    Riemann sum: \(\displaystyle\sum_{i=1}^{5} f(\eta_i)(x_i-x_{i-1})=4.610063238908163\) 
    Exact value of the integral \(\displaystyle\int_{0}^{2}x^{2} + 1\,\mathrm{d}x=4.666666666666668\)
    <CSI-2K>
<CSI-2K>
<small>Adjust your data and click Update button. Click repeatedly for another random values.</small>
    Riemann sum: \(\displaystyle\sum_{i=1}^{5} f(\eta_i)(x_i-x_{i-1})=4.701680535962515\) 
    Exact value of the integral \(\displaystyle\int_{0}^{2}x^{2} + 1\,\mathrm{d}x=4.666666666666668\)
    Interactive function <function coin at 0x7fff9dc3ee60> with 2 widgets
      n: IntSlider(value=1000, description='Number of Tosses', max=10000, min=2, step=100)
      interval: IntRangeSlider(value=(0, 0), description='Plotting range (y)', max=1)
    doctest:warning
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/bin/sage-runtests", line 154, in <module>
        err = DC.run()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/control.py", line 1385, in run
        self.run_doctests()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/control.py", line 1060, in run_doctests
        self.dispatcher.dispatch()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2017, in dispatch
        self.parallel_dispatch()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 1912, in parallel_dispatch
        w.start()  # This might take some time
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2186, in start
        super().start()
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/process.py", line 121, in start
        self._popen = self._Popen(self)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/context.py", line 224, in _Popen
        return _default_context.get_context().Process._Popen(process_obj)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/context.py", line 281, in _Popen
        return Popen(process_obj)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
        self._launch(process_obj)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/popen_fork.py", line 71, in _launch
        code = process_obj._bootstrap(parent_sentinel=child_r)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
        self.run()
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2158, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2488, in __call__
        doctests, extras = self._run(runner, options, results)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 2540, in _run
        result = runner.run(test)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 866, in run
        return self._run(test, compileflags, out)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 695, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/doctest/forker.py", line 1093, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.interacts.test_jupyter[25]>", line 1, in <module>
        test(interacts.statistics.coin)
      File "<doctest sage.interacts.test_jupyter[3]>", line 8, in test
        return f(**kwargs)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/interacts/library.py", line 888, in coin
        show(point(c[1:], gridlines=[None, [0.5]], pointsize=1), ymin=interval[0], ymax=interval[1])
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/repl/rich_output/pretty_print.py", line 342, in show
        pretty_print(*args, **kwds)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/repl/rich_output/pretty_print.py", line 310, in pretty_print
        dm.display_immediately(*args, **kwds)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/repl/rich_output/display_manager.py", line 853, in display_immediately
        plain_text, rich_output = self._rich_output_formatter(obj, rich_repr_kwds)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/repl/rich_output/display_manager.py", line 645, in _rich_output_formatter
        rich_output = self._call_rich_repr(obj, rich_repr_kwds)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/repl/rich_output/display_manager.py", line 603, in _call_rich_repr
        return obj._rich_repr_(self, **rich_repr_kwds)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/plot/graphics.py", line 1001, in _rich_repr_
        return display_manager.graphics_from_save(
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/repl/rich_output/display_manager.py", line 733, in graphics_from_save
        save_function(filename, **kwds)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/misc/decorators.py", line 413, in wrapper
        return func(*args, **kwds)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/plot/graphics.py", line 3314, in save
        figure = self.matplotlib(**options)
      File "/gnu/store/vmqp0r0w4ky8w6978kn6sgm8fl91i2lj-python-sagemath-standard-10.0/lib/python3.10/site-packages/sage/plot/graphics.py", line 2851, in matplotlib
        subplot.set_ylim([ymin, ymax])
      File "/gnu/store/kiqhmia2i7j8gqaaz7hsi6zxrz32rzbj-python-matplotlib-3.5.2/lib/python3.10/site-packages/matplotlib/axes/_base.py", line 4056, in set_ylim
        _api.warn_external(
      File "/gnu/store/kiqhmia2i7j8gqaaz7hsi6zxrz32rzbj-python-matplotlib-3.5.2/lib/python3.10/site-packages/matplotlib/_api/__init__.py", line 299, in warn_external
        warnings.warn(message, category, stacklevel)
      File "/gnu/store/kj6wzba6p192baizq99b489rs8bynpn7-python-3.10.7/lib/python3.10/warnings.py", line 109, in _showwarnmsg
        sw(msg.message, msg.category, msg.filename, msg.lineno,
    :
    UserWarning: Attempting to set identical bottom == top == 0.0 results in singular transformations; automatically expanding.
**********************************************************************
1 item had failures:
   1 of  29 in sage.interacts.test_jupyter
    [28 tests, 1 failure, 53.11 s]
----------------------------------------------------------------------
sage -t --random-seed=81087110751557935317942447629980408147 sage/misc/sage_ostools.pyx  # 1 doctest failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/interfaces/gap_workspace.py  # 2 doctests failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/repl/ipython_kernel/kernel.py  # 1 doctest failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/repl/ipython_kernel/install.py  # 1 doctest failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/functions/exp_integral.py  # 1 doctest failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/repl/ipython_tests.py  # 4 doctests failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/interfaces/maxima_lib.py  # 2 doctests failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/typeset/ascii_art.py  # 2 doctests failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/env.py  # 1 doctest failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/symbolic/relation.py  # 1 doctest failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/symbolic/integration/integral.py  # 1 doctest failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/calculus/calculus.py  # 5 doctests failed
sage -t --random-seed=81087110751557935317942447629980408147 sage/interacts/test_jupyter.rst  # 1 doctest failed
----------------------------------------------------------------------

vicvbcun (32):
  gnu: python-cysignals: Update to 1.11.2.
  gnu: cliquer: Update to 1.22.
  gnu: Add python-memory-allocator.
  gnu: python-gmpy2: Move to (gnu packages multiprecision).
  gnu: Add python-pplpy.
  gnu: Add primecount.
  gnu: Add python-primecountpy.
  gnu: Add python-lrcalc.
  gnu: Add palp.
  gnu: Add gfan.
  gnu: Add sympow.
  download: Add SageMath mirrors.
  gnu: Add sagemath-data-combinatorial-designs.
  gnu: Add sagemath-data-conway-polynomials.
  gnu: Add sagemath-data-elliptic-curves.
  gnu: Add sagemath-data-graphs.
  gnu: Add sagemath-data-polytopes-db.
  gnu: pari-gp: Use G-expression.
  gnu: pari-gp: Install galdata.
  gnu: gap: Build reproducibly.
  gnu: gap: Compile atlasrep package.
  gnu: gap: Remove leftover source and build files.
  gnu: maxima: Build with ecl.
  gnu: maxima: Install maxima.fas.
  gnu: maxima: Apply matrix exponentiation patch.
  gnu: Add tachyon.
  gnu: singular: Update to 4.3.2.
  gnu: singular: Don't compress info file.
  gnu: eclib: Update to 20230424.
  gnu: python-pythran: Update to 0.13.1.
  gnu: Add python-sagemath-standard.
  gnu: Add sagemath.

 gnu/local.mk                                  |   4 +
 gnu/packages/algebra.scm                      | 225 ++++++++-
 gnu/packages/graphics.scm                     |  58 +++
 gnu/packages/maths.scm                        |  67 ++-
 gnu/packages/multiprecision.scm               |  28 +-
 gnu/packages/patches/maxima-matrixexp.patch   |  17 +
 .../patches/maxima-test-precision.patch       |  30 ++
 .../sympow-enable-cross-compilation.patch     | 124 +++++
 .../sympow-null-terminate-dupdir.patch        |  15 +
 gnu/packages/python-science.scm               |   4 +-
 gnu/packages/python-xyz.scm                   |  54 +-
 gnu/packages/sagemath.scm                     | 475 ++++++++++++++++--
 guix/download.scm                             |  37 +-
 13 files changed, 1062 insertions(+), 76 deletions(-)
 create mode 100644 gnu/packages/patches/maxima-matrixexp.patch
 create mode 100644 gnu/packages/patches/maxima-test-precision.patch
 create mode 100644 gnu/packages/patches/sympow-enable-cross-compilation.patch
 create mode 100644 gnu/packages/patches/sympow-null-terminate-dupdir.patch


base-commit: 5c959d0fa745618ebee337ac2a21d22a6ec3a6a8
  
Sharlatan Hellseher Oct. 24, 2024, 6:04 p.m. UTC | #15
Hi

I've checked, build and pushed 8 packages to master from
https://issues.guix.gnu.org/70924.

Let's refresh this series as well and maybe we may pack just new
not-dependent packages out from "v3 32" series?

--
Thanks,
Oleg
  
Vinicius Monego Dec. 22, 2024, 5:32 p.m. UTC | #16
Hi,

I sent a followup at https://issues.guix.gnu.org/75032

Vinicius

Em 24/10/2024 15:04, Sharlatan Hellseher escreveu:
> Hi
>
> I've checked, build and pushed 8 packages to master from
> https://issues.guix.gnu.org/70924.
>
> Let's refresh this series as well and maybe we may pack just new
> not-dependent packages out from "v3 32" series?
>
> --
> Thanks,
> Oleg