sage: use threejs fork

wip/yesman
Garaba Flórián 3 years ago committed by Masanori Ogino
parent 090165d7c1
commit a0f410646c
  1. 6
      pkgs/applications/science/math/sage/default.nix
  2. 16
      pkgs/applications/science/math/sage/patches/dont-grep-threejs-version-from-minified-js.patch
  3. 3
      pkgs/applications/science/math/sage/sage-src.nix
  4. 18
      pkgs/applications/science/math/sage/threejs-sage.nix

@ -38,14 +38,16 @@ let
logo64 = "${sage-src}/doc/common/themes/sage/static/sageicon.png";
};
three = callPackage ./threejs-sage.nix { };
# A bash script setting various environment variables to tell sage where
# the files its looking fore are located. Also see `sage-env`.
env-locations = callPackage ./env-locations.nix {
inherit pari_data;
inherit singular maxima-ecl;
inherit three;
ecl = maxima-ecl.ecl;
cysignals = python3.pkgs.cysignals;
three = nodePackages.three;
mathjax = nodePackages.mathjax;
};
@ -70,8 +72,8 @@ let
inherit python3 pythonEnv;
inherit sage-env;
inherit pynac singular maxima-ecl;
inherit three;
pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config
three = nodePackages.three;
};
# Doesn't actually build anything, just runs sages testsuite. This is a

@ -1,16 +0,0 @@
diff --git a/src/sage/repl/rich_output/display_manager.py b/src/sage/repl/rich_output/display_manager.py
index fb21f7a9c9..f39470777d 100644
--- a/src/sage/repl/rich_output/display_manager.py
+++ b/src/sage/repl/rich_output/display_manager.py
@@ -749,9 +749,9 @@ class DisplayManager(SageObject):
import sage.env
import re
import os
- with open(os.path.join(sage.env.THREEJS_DIR, 'build', 'three.min.js')) as f:
+ with open(os.path.join(sage.env.THREEJS_DIR, 'build', 'three.js')) as f:
text = f.read().replace('\n','')
- version = re.search(r'REVISION="(\d+)"', text).group(1)
+ version = re.search(r"REVISION = '(\d+)'", text).group(1)
return """
<script src="https://cdn.jsdelivr.net/gh/mrdoob/three.js@r{0}/build/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/mrdoob/three.js@r{0}/examples/js/controls/OrbitControls.js"></script>

@ -131,9 +131,6 @@ stdenv.mkDerivation rec {
# fix test output with sympy 1.7 (https://trac.sagemath.org/ticket/30985)
./patches/sympy-1.7-update.patch
# workaround until we use sage's fork of threejs, which contains a "version" file
./patches/dont-grep-threejs-version-from-minified-js.patch
# updated eclib output has punctuation changes and tidier whitespace
./patches/eclib-20210223-test-formatting.patch

@ -0,0 +1,18 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "threejs-sage";
version = "r122";
src = fetchFromGitHub {
owner = "sagemath";
repo = "threejs-sage";
rev = version;
sha256 = "sha256-xPAPt36Fon3hYQq6SOmGkIyUzAII2LMl10nqYG4UPI0=";
};
installPhase = ''
mkdir -p $out/lib/node_modules/three
cp -r build version $out/lib/node_modules/three
'';
}
Loading…
Cancel
Save