From 6692659ce6d73262463d28d271f8a1ad4c1c43ef Mon Sep 17 00:00:00 2001 From: Mauricio Collares Date: Wed, 18 Jan 2023 14:00:35 +0100 Subject: [PATCH] sage: matplotlib 3.6 upgrade fixes --- .../sphinx-fix-matplotlib-css-perms.patch | 21 ------------------- .../science/math/sage/sage-src.nix | 20 ++++++++++++++---- 2 files changed, 16 insertions(+), 25 deletions(-) delete mode 100644 pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch diff --git a/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch b/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch deleted file mode 100644 index 764ecffa2377..000000000000 --- a/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/sage_docbuild/ext/multidocs.py b/src/sage_docbuild/ext/multidocs.py -index f91c7753ca..edeb81ff2e 100644 ---- a/src/sage_docbuild/ext/multidocs.py -+++ b/src/sage_docbuild/ext/multidocs.py -@@ -284,6 +284,16 @@ def init_subdoc(app): - if not app.config.multidoc_first_pass: - app.connect('env-updated', fetch_citation) - -+ def fix_matplotlib_css_permissions(app: Sphinx, env): -+ css_file = os.path.join(app.builder.outdir, '_static', 'plot_directive.css') -+ try: -+ os.chmod(css_file, 0o644) -+ except: -+ pass -+ -+ # executed after matplotlib's _copy_css_file -+ app.connect('build-finished', fix_matplotlib_css_permissions, priority=600) -+ - # Monkey patch copy_static_files to make a symlink to "../" - def link_static_files(): - """ diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index cd553843d69d..10b99dcc50f7 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -80,10 +80,6 @@ stdenv.mkDerivation rec { # Parallelize docubuild using subprocesses, fixing an isolation issue. See # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE ./patches/sphinx-docbuild-subprocesses.patch - - # Docbuilding copies files from the Nix store and expects them to be writable. - # Remove when https://github.com/matplotlib/matplotlib/pull/23805 lands. - ./patches/sphinx-fix-matplotlib-css-perms.patch ]; # Since sage unfortunately does not release bugfix releases, packagers must @@ -163,6 +159,22 @@ stdenv.mkDerivation rec { # conflicts. The patch below contains rebased versions. ./patches/pari-2.15.1-upgrade-rebased.patch + # https://trac.sagemath.org/ticket/34668 + (fetchSageDiff { + name = "matplotlib-3.6-upgrade.patch"; + base = "9.8.beta2"; + rev = "5501e0de0dca1cff0355326dd42bd8c7e5749568"; + sha256 = "sha256-ceJkVaecIsZewN8v/3gPQXFbFjv5Akz6zEFg/ToXdek="; + }) + + # https://trac.sagemath.org/ticket/34693 + (fetchSageDiff { + name = "matplotlib-3.6-docbuilding.patch"; + base = "9.8.beta4"; + rev = "64589686c261d33e6b5aff2589bcae8af004bcc6"; + sha256 = "sha256-j5AMY1TmhP+HBBBYaFZSkABJ5vtwe6iP2LRfGEgSm8Q="; + }) + # Sage uses mixed integer programs (MIPs) to find edge disjoint # spanning trees. For some reason, aarch64 glpk takes much longer # than x86_64 glpk to solve such MIPs. Since the MIP formulation