Merge pull request #116365 from omasanori/sage-9.3

sage: 9.2 -> 9.3

authored by

Michael Raskin and committed by
GitHub
14f65f0d e6b6b82d

+654 -465
+10 -21
pkgs/applications/science/math/gap/default.nix
··· 5 5 , makeWrapper 6 6 , readline 7 7 , gmp 8 + , zlib 8 9 # one of 9 10 # - "minimal" (~400M): 10 11 # Install the bare minimum of packages required by gap to start. ··· 61 62 stdenv.mkDerivation rec { 62 63 pname = "gap"; 63 64 # https://www.gap-system.org/Releases/ 64 - version = "4.10.2"; 65 + version = "4.11.0"; 65 66 66 67 src = fetchurl { 67 68 url = "https://files.gap-system.org/gap-${lib.versions.major version}.${lib.versions.minor version}/tar.bz2/gap-${version}.tar.bz2"; 68 - sha256 = "0cp6ddk0469zzv1m1vair6gm27ic6c5m77ri8rn0znq3gaps6x94"; 69 + sha256 = "sha256-vwcKENwqxgWT/mXfD4c9ctTWdQHobrJipva9SPyGhgI="; 69 70 }; 70 71 71 72 # remove all non-essential packages (which take up a lot of space) ··· 76 77 buildInputs = [ 77 78 readline 78 79 gmp 80 + zlib 79 81 ]; 80 82 81 83 nativeBuildInputs = [ ··· 83 85 ]; 84 86 85 87 patches = [ 86 - # https://github.com/gap-system/gap/pull/3294 87 - (fetchpatch { 88 - name = "add-make-install-targets.patch"; 89 - url = "https://github.com/gap-system/gap/commit/3361c172e6c5ff3bb3f01ba9d6f1dd4ad42cea80.patch"; 90 - sha256 = "1kwp9qnfvmlbpf1c3rs6j5m2jz22rj7a4hb5x1gj9vkpiyn5pdyj"; 91 - }) 92 - 93 88 # Fix for locale specific tests causing issues. Already upstream. 94 89 # Backport of https://github.com/gap-system/gap/pull/4022 95 - # WHEN REMOVING: also remove the`rm tst/testinstall/strings.tst` line in 96 - # `postPatch` below. That line is necessary since the patch is not intended 97 - # for gap 4.10. 98 90 (fetchpatch { 99 91 name = "remove-locale-specific-tests.patch"; 100 92 url = "https://github.com/gap-system/gap/commit/c18b0c4215b5212a2cc4f305e2d5b94ba716bee8.patch"; 101 - excludes = ["tst/testinstall/stringobj.tst"]; 102 - sha256 = "1mz5b4mbw2jdd1ypp5s0dy6pp0jsvwsxr2dm4kbkls20r1r192sc"; 93 + sha256 = "sha256-De+T9Y7ewRT6plJrj2VR8axRvD/JCTYKOBWB7Bw0oq0="; 103 94 }) 104 95 105 96 # fixes aarch64 gc crashes: https://github.com/gap-system/gap/pull/3965 106 - ./mark-genstackfuncbags-as-noinline.patch 97 + (fetchpatch { 98 + name = "mark-genstackfuncbags-as-noinline.patch"; 99 + url = "https://github.com/gap-system/gap/commit/f0a8f49ff8dad0a5fa77253d45457c6f40f96778.patch"; 100 + sha256 = "sha256-GU9tOP1stX2vn8m8kXOBupEpxIYArA76ibKL8eLn0MY="; 101 + }) 107 102 ]; 108 - 109 - postPatch = '' 110 - # File not covered by the remove-locale-specific-tests.patch patch above. 111 - rm tst/testinstall/strings.tst 112 - ''; 113 103 114 104 # "teststandard" is a superset of testinstall. It takes ~1h instead of ~1min. 115 105 # tests are run twice, once with all packages loaded and once without ··· 155 145 156 146 mkdir -p "$out/bin" "$out/share/gap/" 157 147 158 - mkdir -p "$out/share/gap" 159 148 echo "Copying files to target directory" 160 149 cp -ar . "$out/share/gap/build-dir" 161 150
+23 -11
pkgs/applications/science/math/pynac/default.nix
··· 1 1 { lib, stdenv 2 2 , fetchFromGitHub 3 - , fetchurl 3 + , fetchpatch 4 4 , autoreconfHook 5 5 , pkg-config 6 6 , flint ··· 11 11 }: 12 12 13 13 stdenv.mkDerivation rec { 14 - version = "0.7.26"; 14 + version = "0.7.27"; 15 15 pname = "pynac"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "pynac"; 19 19 repo = "pynac"; 20 20 rev = "pynac-${version}"; 21 - sha256 = "09d2p74x1arkydlxy6pw4p4byi7r8q7f29w373h4d8a215kadc6d"; 21 + sha256 = "sha256-1HHCIeaNE2UsJNX92UlDGLJS8I4nC/8FnwX7Y4F9HpU="; 22 22 }; 23 23 24 + patches = [ 25 + (fetchpatch { 26 + name = "handle_factor.patch"; 27 + url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/handle_factor.patch?h=9.3.rc3"; 28 + sha256 = "sha256-U1lb5qwBqZZgklfDMhBX4K5u8bz5x42O4w7hyNy2YVw="; 29 + }) 30 + 31 + (fetchpatch { 32 + name = "power_inf_loop.patch"; 33 + url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/power_inf_loop.patch?h=9.3.rc3"; 34 + sha256 = "sha256-VYeaJl8u2wl7FQ/6xnpZv1KpdNYEmJoPhuMrBADyTRs="; 35 + }) 36 + 37 + (fetchpatch { 38 + name = "too_much_sub.patch"; 39 + url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/too_much_sub.patch?h=9.3.rc3"; 40 + sha256 = "sha256-lw7xSQ/l+rzPu+ghWF4omYF0mKksGGPuuHJTktvbdis="; 41 + }) 42 + ]; 43 + 24 44 buildInputs = [ 25 45 flint 26 46 gmp ··· 32 52 nativeBuildInputs = [ 33 53 autoreconfHook 34 54 pkg-config 35 - ]; 36 - 37 - patches = [ 38 - (fetchurl { 39 - name = "py_ssize_t_clean.patch"; 40 - url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/py_ssize_t_clean.patch?h=9.2"; 41 - sha256 = "0l3gbg9hc4v671zf4w376krnk3wh8hj3649610nlvzzxckcryzab"; 42 - }) 43 55 ]; 44 56 45 57 meta = with lib; {
+10 -2
pkgs/applications/science/math/sage/default.nix
··· 27 27 linbox = pkgs.linbox.override { withSage = true; }; 28 28 pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config 29 29 }; 30 + 31 + sage_docbuild = self.callPackage ./sage_docbuild.nix { 32 + inherit sage-src; 33 + }; 30 34 }; 31 35 }; 32 36 ··· 45 49 logo32 = "${sage-src}/doc/common/themes/sage/static/sageicon.png"; 46 50 logo64 = "${sage-src}/doc/common/themes/sage/static/sageicon.png"; 47 51 }; 52 + 53 + three = callPackage ./threejs-sage.nix { }; 48 54 49 55 # A bash script setting various environment variables to tell sage where 50 56 # the files its looking fore are located. Also see `sage-env`. 51 57 env-locations = callPackage ./env-locations.nix { 52 58 inherit pari_data; 53 59 inherit singular maxima-ecl; 60 + inherit three; 54 61 ecl = maxima-ecl.ecl; 55 62 cysignals = python3.pkgs.cysignals; 56 - three = nodePackages.three; 57 63 mathjax = nodePackages.mathjax; 58 64 }; 59 65 ··· 61 67 # the env-locations file. 62 68 sage-env = callPackage ./sage-env.nix { 63 69 sagelib = python3.pkgs.sagelib; 70 + sage_docbuild = python3.pkgs.sage_docbuild; 64 71 inherit env-locations; 65 72 inherit python3 singular palp flint pynac pythonEnv maxima-ecl; 66 73 ecl = maxima-ecl.ecl; ··· 78 85 inherit python3 pythonEnv; 79 86 inherit sage-env; 80 87 inherit pynac singular maxima-ecl; 88 + inherit three; 81 89 pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config 82 - three = nodePackages.three; 83 90 }; 84 91 85 92 # Doesn't actually build anything, just runs sages testsuite. This is a ··· 94 101 95 102 pythonRuntimeDeps = with python3.pkgs; [ 96 103 sagelib 104 + sage_docbuild 97 105 cvxopt 98 106 networkx 99 107 service-identity
+44 -48
pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch
··· 1 1 diff --git a/src/sage/env.py b/src/sage/env.py 2 - index 1ddfc7cfb9..45033d6328 100644 2 + index 2908f5d04f..81dfd75c0d 100644 3 3 --- a/src/sage/env.py 4 4 +++ b/src/sage/env.py 5 - @@ -203,97 +203,13 @@ var('ARB_LIBRARY', 'arb') 6 - var('SAGE_BANNER', '') 7 - var('SAGE_IMPORTALL', 'yes') 5 + @@ -218,93 +218,12 @@ NTL_LIBDIR = var("NTL_LIBDIR") 6 + SAGE_BANNER = var("SAGE_BANNER", "") 7 + SAGE_IMPORTALL = var("SAGE_IMPORTALL", "yes") 8 8 9 9 - 10 - -def _get_shared_lib_filename(libname, *additional_libnames): 10 + -def _get_shared_lib_path(*libnames: str) -> Optional[str]: 11 11 - """ 12 12 - Return the full path to a shared library file installed in 13 13 - ``$SAGE_LOCAL/lib`` or the directories associated with the ··· 25 25 - For distributions like Debian that use a multiarch layout, we also try the 26 26 - multiarch lib paths (i.e. ``/usr/lib/<arch>/``). 27 27 - 28 - - This returns ``None`` if the file does not exist. 28 + - This returns ``None`` if no matching library file could be found. 29 29 - 30 30 - EXAMPLES:: 31 31 - 32 32 - sage: import sys 33 33 - sage: from fnmatch import fnmatch 34 - - sage: from sage.env import _get_shared_lib_filename 35 - - sage: lib_filename = _get_shared_lib_filename("Singular", 36 - - ....: "singular-Singular") 34 + - sage: from sage.env import _get_shared_lib_path 35 + - sage: lib_filename = _get_shared_lib_path("Singular", "singular-Singular") 37 36 - sage: if sys.platform == 'cygwin': 38 37 - ....: pattern = "*/cygSingular-*.dll" 39 38 - ....: elif sys.platform == 'darwin': 40 - - ....: pattern = "*/libSingular.dylib" 39 + - ....: pattern = "*/libSingular-*.dylib" 41 40 - ....: else: 42 - - ....: pattern = "*/lib*Singular.so" 43 - - sage: fnmatch(lib_filename, pattern) 41 + - ....: pattern = "*/lib*Singular-*.so" 42 + - sage: fnmatch(str(lib_filename), pattern) 44 43 - True 45 - - sage: _get_shared_lib_filename("an_absurd_lib") is None 44 + - sage: _get_shared_lib_path("an_absurd_lib") is None 46 45 - True 47 46 - """ 48 47 - 49 - - for libname in (libname,) + additional_libnames: 48 + - for libname in libnames: 49 + - search_directories: List[Path] = [] 50 + - patterns: List[str] = [] 50 51 - if sys.platform == 'cygwin': 51 - - # Later down we take the last matching DLL found, so search 52 - - # SAGE_LOCAL second so that it takes precedence 53 - - bindirs = [ 54 - - sysconfig.get_config_var('BINDIR'), 55 - - os.path.join(SAGE_LOCAL, 'bin') 52 + - # Later down we take the first matching DLL found, so search 53 + - # SAGE_LOCAL first so that it takes precedence 54 + - search_directories = [ 55 + - Path(SAGE_LOCAL) / 'bin', 56 + - Path(sysconfig.get_config_var('BINDIR')), 56 57 - ] 57 - - pats = ['cyg{}.dll'.format(libname), 'cyg{}-*.dll'.format(libname)] 58 - - filenames = [] 59 - - for bindir in bindirs: 60 - - for pat in pats: 61 - - filenames += glob.glob(os.path.join(bindir, pat)) 62 - - 63 - - # Note: This is not very robust, since if there are multi DLL 58 + - # Note: The following is not very robust, since if there are multible 64 59 - # versions for the same library this just selects one more or less 65 - - # at arbitrary. However, practically speaking, on Cygwin, there 60 + - # at arbitrary. However, practically speaking, on Cygwin, there 66 61 - # will only ever be one version 67 - - if filenames: 68 - - return filenames[-1] 62 + - patterns = [f'cyg{libname}.dll', f'cyg{libname}-*.dll'] 69 63 - else: 70 64 - if sys.platform == 'darwin': 71 65 - ext = 'dylib' 72 66 - else: 73 67 - ext = 'so' 74 68 - 75 - - libdirs = [ 76 - - os.path.join(SAGE_LOCAL, 'lib'), 77 - - sysconfig.get_config_var('LIBDIR') 78 - - ] 79 - - multilib = sysconfig.get_config_var('MULTILIB') 80 - - if multilib: 81 - - libdirs.insert(1, os.path.join(libdirs[0], multilib)) 69 + - search_directories = [Path(SAGE_LOCAL) / 'lib'] 70 + - libdir = sysconfig.get_config_var('LIBDIR') 71 + - if libdir is not None: 72 + - libdir = Path(libdir) 73 + - search_directories.append(libdir) 82 74 - 83 - - for libdir in libdirs: 84 - - basename = 'lib{}.{}'.format(libname, ext) 85 - - filename = os.path.join(libdir, basename) 86 - - if os.path.exists(filename): 87 - - return filename 75 + - multiarchlib = sysconfig.get_config_var('MULTIARCH') 76 + - if multiarchlib is not None: 77 + - search_directories.append(libdir / multiarchlib), 78 + - 79 + - patterns = [f'lib{libname}.{ext}'] 80 + - 81 + - for directory in search_directories: 82 + - for pattern in patterns: 83 + - path = next(directory.glob(pattern), None) 84 + - if path is not None: 85 + - return str(path.resolve()) 88 86 - 89 87 - # Just return None if no files were found 90 88 - return None 91 - - 92 89 - 93 90 # locate singular shared object 94 91 # On Debian it's libsingular-Singular so try that as well 95 - -SINGULAR_SO = _get_shared_lib_filename('Singular', 'singular-Singular') 96 - +SINGULAR_SO = '/default' 97 - var('SINGULAR_SO', SINGULAR_SO) 92 + -SINGULAR_SO = var("SINGULAR_SO", _get_shared_lib_path("Singular", "singular-Singular")) 93 + +SINGULAR_SO = var("SINGULAR_SO", '/default') 98 94 99 95 # locate libgap shared object 100 - -GAP_SO= _get_shared_lib_filename('gap','') 101 - +GAP_SO = '/default' 102 - var('GAP_SO', GAP_SO) 96 + -GAP_SO = var("GAP_SO", _get_shared_lib_path("gap", "")) 97 + +GAP_SO = var("GAP_SO", '/default') 103 98 104 99 # post process 100 + if ' ' in DOT_SAGE:
-16
pkgs/applications/science/math/sage/patches/dont-grep-threejs-version-from-minified-js.patch
··· 1 - diff --git a/src/sage/repl/rich_output/display_manager.py b/src/sage/repl/rich_output/display_manager.py 2 - index fb21f7a9c9..f39470777d 100644 3 - --- a/src/sage/repl/rich_output/display_manager.py 4 - +++ b/src/sage/repl/rich_output/display_manager.py 5 - @@ -749,9 +749,9 @@ class DisplayManager(SageObject): 6 - import sage.env 7 - import re 8 - import os 9 - - with open(os.path.join(sage.env.THREEJS_DIR, 'build', 'three.min.js')) as f: 10 - + with open(os.path.join(sage.env.THREEJS_DIR, 'build', 'three.js')) as f: 11 - text = f.read().replace('\n','') 12 - - version = re.search(r'REVISION="(\d+)"', text).group(1) 13 - + version = re.search(r"REVISION = '(\d+)'", text).group(1) 14 - return """ 15 - <script src="https://cdn.jsdelivr.net/gh/mrdoob/three.js@r{0}/build/three.min.js"></script> 16 - <script src="https://cdn.jsdelivr.net/gh/mrdoob/three.js@r{0}/examples/js/controls/OrbitControls.js"></script>
-131
pkgs/applications/science/math/sage/patches/eclib-20210223-test-formatting.patch
··· 1 - diff --git a/src/sage/libs/eclib/interface.py b/src/sage/libs/eclib/interface.py 2 - index e898456720..6b98c12328 100644 3 - --- a/src/sage/libs/eclib/interface.py 4 - +++ b/src/sage/libs/eclib/interface.py 5 - @@ -758,78 +758,78 @@ class mwrank_MordellWeil(SageObject): 6 - 7 - sage: EQ = mwrank_MordellWeil(E, verbose=True) 8 - sage: EQ.search(1) 9 - - P1 = [0:1:0] is torsion point, order 1 10 - - P1 = [-3:0:1] is generator number 1 11 - - saturating up to 20...Checking 2-saturation 12 - + P1 = [0:1:0] is torsion point, order 1 13 - + P1 = [-3:0:1] is generator number 1 14 - + saturating up to 20...Checking 2-saturation... 15 - Points have successfully been 2-saturated (max q used = 7) 16 - - Checking 3-saturation 17 - + Checking 3-saturation... 18 - Points have successfully been 3-saturated (max q used = 7) 19 - - Checking 5-saturation 20 - + Checking 5-saturation... 21 - Points have successfully been 5-saturated (max q used = 23) 22 - - Checking 7-saturation 23 - + Checking 7-saturation... 24 - Points have successfully been 7-saturated (max q used = 41) 25 - - Checking 11-saturation 26 - + Checking 11-saturation... 27 - Points have successfully been 11-saturated (max q used = 17) 28 - - Checking 13-saturation 29 - + Checking 13-saturation... 30 - Points have successfully been 13-saturated (max q used = 43) 31 - - Checking 17-saturation 32 - + Checking 17-saturation... 33 - Points have successfully been 17-saturated (max q used = 31) 34 - - Checking 19-saturation 35 - + Checking 19-saturation... 36 - Points have successfully been 19-saturated (max q used = 37) 37 - done 38 - - P2 = [-2:3:1] is generator number 2 39 - - saturating up to 20...Checking 2-saturation 40 - + P2 = [-2:3:1] is generator number 2 41 - + saturating up to 20...Checking 2-saturation... 42 - possible kernel vector = [1,1] 43 - This point may be in 2E(Q): [14:-52:1] 44 - ...and it is! 45 - Replacing old generator #1 with new generator [1:-1:1] 46 - Points have successfully been 2-saturated (max q used = 7) 47 - Index gain = 2^1 48 - - Checking 3-saturation 49 - + Checking 3-saturation... 50 - Points have successfully been 3-saturated (max q used = 13) 51 - - Checking 5-saturation 52 - + Checking 5-saturation... 53 - Points have successfully been 5-saturated (max q used = 67) 54 - - Checking 7-saturation 55 - + Checking 7-saturation... 56 - Points have successfully been 7-saturated (max q used = 53) 57 - - Checking 11-saturation 58 - + Checking 11-saturation... 59 - Points have successfully been 11-saturated (max q used = 73) 60 - - Checking 13-saturation 61 - + Checking 13-saturation... 62 - Points have successfully been 13-saturated (max q used = 103) 63 - - Checking 17-saturation 64 - + Checking 17-saturation... 65 - Points have successfully been 17-saturated (max q used = 113) 66 - - Checking 19-saturation 67 - + Checking 19-saturation... 68 - Points have successfully been 19-saturated (max q used = 47) 69 - done (index = 2). 70 - Gained index 2, new generators = [ [1:-1:1] [-2:3:1] ] 71 - - P3 = [-14:25:8] is generator number 3 72 - - saturating up to 20...Checking 2-saturation 73 - + P3 = [-14:25:8] is generator number 3 74 - + saturating up to 20...Checking 2-saturation... 75 - Points have successfully been 2-saturated (max q used = 11) 76 - - Checking 3-saturation 77 - + Checking 3-saturation... 78 - Points have successfully been 3-saturated (max q used = 13) 79 - - Checking 5-saturation 80 - + Checking 5-saturation... 81 - Points have successfully been 5-saturated (max q used = 71) 82 - - Checking 7-saturation 83 - + Checking 7-saturation... 84 - Points have successfully been 7-saturated (max q used = 101) 85 - - Checking 11-saturation 86 - + Checking 11-saturation... 87 - Points have successfully been 11-saturated (max q used = 127) 88 - - Checking 13-saturation 89 - + Checking 13-saturation... 90 - Points have successfully been 13-saturated (max q used = 151) 91 - - Checking 17-saturation 92 - + Checking 17-saturation... 93 - Points have successfully been 17-saturated (max q used = 139) 94 - - Checking 19-saturation 95 - + Checking 19-saturation... 96 - Points have successfully been 19-saturated (max q used = 179) 97 - done (index = 1). 98 - - P4 = [-1:3:1] = -1*P1 + -1*P2 + -1*P3 (mod torsion) 99 - - P4 = [0:2:1] = 2*P1 + 0*P2 + 1*P3 (mod torsion) 100 - - P4 = [2:13:8] = -3*P1 + 1*P2 + -1*P3 (mod torsion) 101 - - P4 = [1:0:1] = -1*P1 + 0*P2 + 0*P3 (mod torsion) 102 - - P4 = [2:0:1] = -1*P1 + 1*P2 + 0*P3 (mod torsion) 103 - - P4 = [18:7:8] = -2*P1 + -1*P2 + -1*P3 (mod torsion) 104 - - P4 = [3:3:1] = 1*P1 + 0*P2 + 1*P3 (mod torsion) 105 - - P4 = [4:6:1] = 0*P1 + -1*P2 + -1*P3 (mod torsion) 106 - - P4 = [36:69:64] = 1*P1 + -2*P2 + 0*P3 (mod torsion) 107 - - P4 = [68:-25:64] = -2*P1 + -1*P2 + -2*P3 (mod torsion) 108 - - P4 = [12:35:27] = 1*P1 + -1*P2 + -1*P3 (mod torsion) 109 - + P4 = [-1:3:1] = -1*P1 + -1*P2 + -1*P3 (mod torsion) 110 - + P4 = [0:2:1] = 2*P1 + 0*P2 + 1*P3 (mod torsion) 111 - + P4 = [2:13:8] = -3*P1 + 1*P2 + -1*P3 (mod torsion) 112 - + P4 = [1:0:1] = -1*P1 + 0*P2 + 0*P3 (mod torsion) 113 - + P4 = [2:0:1] = -1*P1 + 1*P2 + 0*P3 (mod torsion) 114 - + P4 = [18:7:8] = -2*P1 + -1*P2 + -1*P3 (mod torsion) 115 - + P4 = [3:3:1] = 1*P1 + 0*P2 + 1*P3 (mod torsion) 116 - + P4 = [4:6:1] = 0*P1 + -1*P2 + -1*P3 (mod torsion) 117 - + P4 = [36:69:64] = 1*P1 + -2*P2 + 0*P3 (mod torsion) 118 - + P4 = [68:-25:64] = -2*P1 + -1*P2 + -2*P3 (mod torsion) 119 - + P4 = [12:35:27] = 1*P1 + -1*P2 + -1*P3 (mod torsion) 120 - sage: EQ 121 - Subgroup of Mordell-Weil group: [[1:-1:1], [-2:3:1], [-14:25:8]] 122 - 123 - @@ -1076,7 +1076,7 @@ class mwrank_MordellWeil(SageObject): 124 - sage: EQ.search(1) 125 - P1 = [0:1:0] is torsion point, order 1 126 - P1 = [-3:0:1] is generator number 1 127 - - saturating up to 20...Checking 2-saturation 128 - + saturating up to 20...Checking 2-saturation... 129 - ... 130 - P4 = [12:35:27] = 1*P1 + -1*P2 + -1*P3 (mod torsion) 131 - sage: EQ
+17 -17
pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch
··· 1 - diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py 2 - index 73a078e619..059125c59f 100644 3 - --- a/src/sage_setup/docbuild/__init__.py 4 - +++ b/src/sage_setup/docbuild/__init__.py 5 - @@ -86,27 +86,6 @@ def builder_helper(type): 1 + diff --git a/src/sage_docbuild/__init__.py b/src/sage_docbuild/__init__.py 2 + index 79005b903a..fbe6fe2595 100644 3 + --- a/src/sage_docbuild/__init__.py 4 + +++ b/src/sage_docbuild/__init__.py 5 + @@ -85,27 +85,6 @@ def builder_helper(type): 6 6 """ 7 7 Returns a function which builds the documentation for 8 8 output type ``type``. ··· 11 11 - 12 12 - Check that :trac:`25161` has been resolved:: 13 13 - 14 - - sage: from sage_setup.docbuild import DocBuilder, setup_parser 14 + - sage: from sage_docbuild import DocBuilder, setup_parser 15 15 - sage: DocBuilder._options = setup_parser().parse_args([])[0] # builder_helper needs _options to be set 16 16 - 17 - - sage: import sage_setup.docbuild.sphinxbuild 17 + - sage: import sage_docbuild.sphinxbuild 18 18 - sage: def raiseBaseException(): 19 19 - ....: raise BaseException("abort pool operation") 20 - - sage: original_runsphinx, sage_setup.docbuild.sphinxbuild.runsphinx = sage_setup.docbuild.sphinxbuild.runsphinx, raiseBaseException 20 + - sage: original_runsphinx, sage_docbuild.sphinxbuild.runsphinx = sage_docbuild.sphinxbuild.runsphinx, raiseBaseException 21 21 - 22 - - sage: from sage_setup.docbuild import builder_helper, build_ref_doc 23 - - sage: from sage_setup.docbuild import _build_many as build_many 22 + - sage: from sage_docbuild import builder_helper, build_ref_doc 23 + - sage: from sage_docbuild import _build_many as build_many 24 24 - sage: helper = builder_helper("html") 25 25 - sage: try: 26 26 - ....: build_many(build_ref_doc, [("docname", "en", "html", {})]) ··· 30 30 """ 31 31 def f(self, *args, **kwds): 32 32 output_dir = self._output_dir(type) 33 - @@ -128,10 +107,9 @@ def builder_helper(type): 33 + @@ -127,10 +106,9 @@ def builder_helper(type): 34 34 logger.debug(build_command) 35 35 36 36 # Run Sphinx with Sage's special logger 37 37 - sys.argv = ["sphinx-build"] + build_command.split() 38 38 - from .sphinxbuild import runsphinx 39 - + args = "python3 -um sage_setup.docbuild.sphinxbuild -N".split() + build_command.split() 39 + + args = "python3 -um sage_docbuild.sphinxbuild -N".split() + build_command.split() 40 40 try: 41 41 - runsphinx() 42 42 + subprocess.check_call(args) 43 43 except Exception: 44 44 if ABORT_ON_ERROR: 45 45 raise 46 - diff --git a/src/sage_setup/docbuild/sphinxbuild.py b/src/sage_setup/docbuild/sphinxbuild.py 47 - index fe7eba43b2..463790965c 100644 48 - --- a/src/sage_setup/docbuild/sphinxbuild.py 49 - +++ b/src/sage_setup/docbuild/sphinxbuild.py 50 - @@ -321,3 +321,8 @@ def runsphinx(): 46 + diff --git a/src/sage_docbuild/sphinxbuild.py b/src/sage_docbuild/sphinxbuild.py 47 + index f58f6c61d7..ef51a55411 100644 48 + --- a/src/sage_docbuild/sphinxbuild.py 49 + +++ b/src/sage_docbuild/sphinxbuild.py 50 + @@ -326,3 +326,8 @@ def runsphinx(): 51 51 sys.stderr = saved_stderr 52 52 sys.stdout.flush() 53 53 sys.stderr.flush()
-25
pkgs/applications/science/math/sage/patches/sympy-1.7-update.patch
··· 1 - diff --git a/src/sage/interfaces/sympy.py b/src/sage/interfaces/sympy.py 2 - index cc35a42a9f..6e577d5d8d 100644 3 - --- a/src/sage/interfaces/sympy.py 4 - +++ b/src/sage/interfaces/sympy.py 5 - @@ -397,7 +397,7 @@ def _sympysage_rf(self): 6 - sage: from sympy import Symbol, rf 7 - sage: _ = var('x, y') 8 - sage: rfxy = rf(Symbol('x'), Symbol('y')) 9 - - sage: assert rising_factorial(x,y)._sympy_() == rfxy.rewrite('gamma') 10 - + sage: assert rising_factorial(x,y)._sympy_() == rfxy.rewrite('gamma', piecewise=False) 11 - sage: assert rising_factorial(x,y) == rfxy._sage_() 12 - """ 13 - from sage.arith.all import rising_factorial 14 - diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx 15 - index 7c18ec1efa..c2619ac42d 100644 16 - --- a/src/sage/symbolic/expression.pyx 17 - +++ b/src/sage/symbolic/expression.pyx 18 - @@ -955,6 +955,6 @@ cdef class Expression(CommutativeRingElement): 19 - sage: unicode_art(13 - I) 20 - 13 - ⅈ 21 - sage: unicode_art(1.3 - I) 22 - - 1.3 - 1.0⋅ⅈ 23 - + 1.3 - ⅈ 24 - sage: unicode_art(cos(I)) 25 - cosh(1)
+4 -2
pkgs/applications/science/math/sage/sage-env.nix
··· 2 2 , lib 3 3 , writeTextFile 4 4 , sagelib 5 + , sage_docbuild 5 6 , env-locations 6 7 , gfortran 7 8 , bash ··· 191 192 # for find_library 192 193 export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular]}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH" 193 194 ''; 194 - } // { 195 - lib = sagelib; # equivalent of `passthru`, which `writeTextFile` doesn't support 195 + } // { # equivalent of `passthru`, which `writeTextFile` doesn't support 196 + lib = sagelib; 197 + docbuild = sage_docbuild; 196 198 }
+14 -138
pkgs/applications/science/math/sage/sage-src.nix
··· 24 24 ); 25 25 in 26 26 stdenv.mkDerivation rec { 27 - version = "9.2"; 27 + version = "9.3.rc4"; 28 28 pname = "sage-src"; 29 29 30 30 src = fetchFromGitHub { 31 31 owner = "sagemath"; 32 32 repo = "sage"; 33 33 rev = version; 34 - sha256 = "103j8d5x6szl9fxaz0dvdi4y47q1af9h9y5hmjh2xayi62qmp5ql"; 34 + sha256 = "sha256-LDY07By2j6JagkgT9zeDJ93+m2/oXXEnDRTDzmR8ftk="; 35 35 }; 36 36 37 37 # Patches needed because of particularities of nix or the way this is packaged. ··· 53 53 # Parallelize docubuild using subprocesses, fixing an isolation issue. See 54 54 # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE 55 55 ./patches/sphinx-docbuild-subprocesses.patch 56 - 57 - # Register sorted dict pprinter earlier (https://trac.sagemath.org/ticket/31053) 58 - (fetchSageDiff { 59 - base = "9.3.beta4"; 60 - name = "register-pretty-printer-earlier.patch"; 61 - rev = "d658230ce06ca19f4a3b3a4576297ee82f2d2151"; 62 - sha256 = "sha256-9mPUV7K5PoLDH2vVaYaOfvDLDpmxU0Aj7m/eaXYotDs="; 63 - }) 64 56 ]; 65 57 66 58 # Since sage unfortunately does not release bugfix releases, packagers must ··· 70 62 # To help debug the transient error in 71 63 # https://trac.sagemath.org/ticket/23087 when it next occurs. 72 64 ./patches/configurationpy-error-verbose.patch 73 - 74 - # fix intermittent errors in Sage 9.2's psage.py (this patch is 75 - # already included in Sage 9.3): https://trac.sagemath.org/ticket/30730 76 - (fetchSageDiff { 77 - base = "9.2.rc2"; 78 - name = "fix-psage-is-locked.patch"; 79 - rev = "75df605f216ddc7b6ca719be942d666b241520e9"; 80 - sha256 = "0g9pl1wbb3sgs26d3bvv70cpa77sfskylv4kd255y1794f1fgk4q"; 81 - }) 82 - 83 - # fix intermittent errors in sagespawn.pyx: https://trac.sagemath.org/ticket/31052 84 - (fetchSageDiff { 85 - base = "9.2"; 86 - name = "sagespawn-implicit-casting.patch"; 87 - rev = "2959ac792ebd6107fe87c9af1541083de5ba02d6"; 88 - sha256 = "sha256-bWIpEGir9Kawak5CJegBMNcHm/CqhWmdru+emeSsvO0="; 89 - }) 90 - 91 - # fix intermittent errors in doctest/test.py: https://trac.sagemath.org/ticket/26912 92 - (fetchSageDiff { 93 - base = "9.3.beta8"; 94 - name = "set-cysignals-crash-ndebug.patch"; 95 - rev = "ca5257a5d0f32efc9f8f07e126020856270b1a18"; 96 - sha256 = "sha256-KViw63xE3O0eUiOYzoxNrr4NL+csql9GPJLDJCf/EZs="; 97 - }) 98 65 ]; 99 66 100 67 # Patches needed because of package updates. We could just pin the versions of ··· 111 78 112 79 # ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests 113 80 ./patches/ignore-cmp-deprecation.patch 114 - 115 - # adapt sage's Image class to pillow 8.0.1 (https://trac.sagemath.org/ticket/30971) 116 - (fetchSageDiff { 117 - base = "9.3.beta2"; 118 - name = "pillow-8.0.1-update.patch"; 119 - rev = "f05f2d0aac9c4b5abe68105cee2cc7f2c8461847"; 120 - sha256 = "sha256-uY2UlgSd5hhOUUukB4Xc3Gjy0/e7p/qyq9jdvz10IOs="; 121 - }) 122 - 123 - # don't use deprecated numpy type aliases (https://trac.sagemath.org/ticket/31364) 124 - (fetchSageDiff { 125 - base = "9.3.beta7"; 126 - name = "dont-use-deprecated-numpy-type-aliases.patch"; 127 - rev = "dfdef60515d4a4269e82d91280f76a7fdf10bf97"; 128 - sha256 = "sha256-77/3LkT5J7DQN8IPlGJKB6ZcJPaF7xwje06JNns+0AE="; 129 - }) 130 - 131 - # fix test output with sympy 1.7 (https://trac.sagemath.org/ticket/30985) 132 - ./patches/sympy-1.7-update.patch 133 - 134 - # workaround until we use sage's fork of threejs, which contains a "version" file 135 - ./patches/dont-grep-threejs-version-from-minified-js.patch 136 - 137 - # updated eclib output has punctuation changes and tidier whitespace 138 - ./patches/eclib-20210223-test-formatting.patch 139 - 140 - # upgrade arb to 2.18.1 (https://trac.sagemath.org/ticket/28623) 141 - (fetchSageDiff { 142 - base = "9.3.beta3"; 143 - name = "arb-2.18.1-update.patch"; 144 - rev = "0c9c4ed35c2eaf34ae0d19387c07b7f460e4abce"; 145 - sha256 = "sha256-CjOJIsyyVCziAfvE6pWSihPO35IZMcY2/taXAsqhPLY="; 146 - }) 147 - 148 - # giac 1.6.0-47 update (https://trac.sagemath.org/ticket/30537) 149 - (fetchSageDiff { 150 - base = "9.3.beta7"; 151 - name = "giac-1.6.0-47-update.patch"; 152 - rev = "f05720bf63dfaf33a4e3b6d3ed2c2c0ec46b5d31"; 153 - sha256 = "sha256-gDUq+84eXd5GxLBWUSI61GMJpBF2KX4LBVOt3mS1NF8="; 154 - }) 155 - 156 - # Make gcd/lcm interact better with pari and gmpy2 (https://trac.sagemath.org/ticket/30849) 157 - # needed for pari 2.13.1 update, which we will do in the future 158 - (fetchSageDiff { 159 - base = "9.3.beta0"; 160 - name = "make-gcd-lcm-interact-better-with-pari-and-gmpy2.patch"; 161 - rev = "75c1516f0abb9e6f8c335e38e4031f6ef674ed30"; 162 - sha256 = "sha256-RukkieIZcXNrju904H2oyGKdtpdE+9vNzvyjN2IBNg0="; 163 - }) 164 - 165 - # cypari 2.1.2 update (https://trac.sagemath.org/ticket/31029) 166 - (fetchSageDiff { 167 - base = "9.3.beta3"; 168 - name = "cypari-2.1.2-update.patch"; 169 - rev = "b9aadfd08e81d74ca7c229bb80eb853b592887d0"; 170 - sha256 = "sha256-eKaMy7kpu+YKdL8bPStgocxBCTfc2Z/10RrGy2LENFw="; 171 - }) 172 81 ]; 173 82 174 83 patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; 175 84 176 85 postPatch = '' 177 - # make sure shebangs etc are fixed, but sage-python23 still works 178 - find . -type f -exec sed \ 179 - -e 's/sage-python23/python3/g' \ 180 - -i {} \; 181 - 182 - echo '#!${runtimeShell} 183 - python3 "$@"' > build/bin/sage-python23 184 - 185 86 # Make sure sage can at least be imported without setting any environment 186 87 # variables. It won't be close to feature complete though. 187 88 sed -i \ 188 - "s|var('SAGE_ROOT'.*|var('SAGE_ROOT', '$out')|" \ 89 + "s|var(\"SAGE_ROOT\".*|var(\"SAGE_ROOT\", \"$out\")|" \ 189 90 src/sage/env.py 190 91 191 - # Do not use sage-env-config (generated by ./configure). 192 - # Instead variables are set manually. 193 - echo '# do nothing' > src/bin/sage-env-config 194 - ''; 195 - 196 - # Test src/doc/en/reference/spkg/conf.py will fail if 197 - # src/doc/en/reference/spkg/index.rst is not generated. It is 198 - # generated by src/doc/bootstrap, so I've copied the relevant part 199 - # here. An alternative would be to create an empty 200 - # src/doc/en/reference/spkg/index.rst file. 201 - configurePhase = '' 202 - OUTPUT_DIR="src/doc/en/reference/spkg" 203 - mkdir -p "$OUTPUT_DIR" 204 - OUTPUT_INDEX="$OUTPUT_DIR"/index.rst 205 - cat > "$OUTPUT_INDEX" <<EOF 92 + # src/doc/en/reference/spkg/conf.py expects index.rst in its directory, 93 + # a list of external packages in the sage distribution (build/pkgs) 94 + # generated by the bootstrap script (which we don't run). this is not 95 + # relevant for other distributions, so remove it. 96 + rm src/doc/en/reference/spkg/conf.py 97 + sed -i "/spkg/d" src/doc/en/reference/index.rst 206 98 207 - External Packages 208 - ================= 209 - 210 - .. toctree:: 211 - :maxdepth: 1 212 - 213 - EOF 214 - for PKG_SCRIPTS in build/pkgs/*; do 215 - if [ -d "$PKG_SCRIPTS" ]; then 216 - PKG_BASE=$(basename "$PKG_SCRIPTS") 217 - if [ -f "$PKG_SCRIPTS"/SPKG.rst ]; then 218 - # Instead of just copying, we may want to call 219 - # a version of sage-spkg-info to format extra information. 220 - cp "$PKG_SCRIPTS"/SPKG.rst "$OUTPUT_DIR"/$PKG_BASE.rst 221 - echo >> "$OUTPUT_INDEX" " $PKG_BASE" 222 - fi 223 - fi 224 - done 225 - cat >> "$OUTPUT_INDEX" <<EOF 226 - .. include:: ../footer.txt 227 - EOF 99 + # the bootstrap script also generates installation instructions for 100 + # arch, debian, fedora, cygwin and homebrew using data from build/pkgs. 101 + # we don't run the bootstrap script, so disable including the generated 102 + # files. docbuilding fails otherwise. 103 + sed -i "/literalinclude/d" src/doc/en/installation/source.rst 228 104 ''; 229 105 230 106 buildPhase = "# do nothing";
+20
pkgs/applications/science/math/sage/sage_docbuild.nix
··· 1 + { buildPythonPackage 2 + , sage-src 3 + , sphinx 4 + }: 5 + 6 + buildPythonPackage rec { 7 + version = src.version; 8 + pname = "sage_docbuild"; 9 + src = sage-src; 10 + 11 + propagatedBuildInputs = [ 12 + sphinx 13 + ]; 14 + 15 + preBuild = '' 16 + cd build/pkgs/sage_docbuild/src 17 + ''; 18 + 19 + doCheck = false; # we will run tests in sagedoc.nix 20 + }
+3 -9
pkgs/applications/science/math/sage/sagedoc.nix
··· 23 23 jmol 24 24 cddlib 25 25 ] ++ (with python3.pkgs; [ 26 + sage_docbuild 26 27 psutil 27 28 future 28 29 sphinx ··· 44 45 chmod -R 755 "$SAGE_DOC_SRC_OVERRIDE" 45 46 ''; 46 47 47 - postPatch = '' 48 - # src/doc/bootstrap generates installation instructions for 49 - # arch, debian, fedora, cygwin and homebrew. as a hack, disable 50 - # including the generated files. 51 - sed -i "/literalinclude/d" $SAGE_DOC_SRC_OVERRIDE/en/installation/source.rst 52 - ''; 53 - 54 48 buildPhase = '' 55 49 export SAGE_NUM_THREADS="$NIX_BUILD_CORES" 56 50 export HOME="$TMPDIR/sage_home" ··· 59 53 # needed to link them in the sage docs using intersphinx 60 54 export PPLPY_DOCS=${python3.pkgs.pplpy.doc}/share/doc/pplpy 61 55 62 - # adapted from src/doc/bootstrap 56 + # adapted from src/doc/bootstrap (which we don't run) 63 57 OUTPUT_DIR="$SAGE_DOC_SRC_OVERRIDE/en/reference/repl" 64 58 mkdir -p "$OUTPUT_DIR" 65 59 OUTPUT="$OUTPUT_DIR/options.txt" 66 60 ${sage-with-env}/bin/sage -advanced > "$OUTPUT" 67 61 68 - ${sage-with-env}/bin/sage -python -m sage_setup.docbuild \ 62 + ${sage-with-env}/bin/sage --docbuild \ 69 63 --mathjax \ 70 64 --no-pdf-links \ 71 65 all html
+7 -9
pkgs/applications/science/math/sage/sagelib.nix
··· 63 63 # `sage-tests` and will not have html docs without `sagedoc`. 64 64 65 65 buildPythonPackage rec { 66 - format = "other"; 67 66 version = src.version; 68 67 pname = "sagelib"; 69 68 src = sage-src; ··· 74 73 jupyter_core 75 74 pkg-config 76 75 pip # needed to query installed packages 76 + ecl 77 77 ]; 78 78 79 79 buildInputs = [ ··· 130 130 sqlite 131 131 ]; 132 132 133 - buildPhase = '' 133 + preBuild = '' 134 134 export SAGE_ROOT="$PWD" 135 135 export SAGE_LOCAL="$SAGE_ROOT" 136 136 export SAGE_SHARE="$SAGE_LOCAL/share" ··· 146 146 mkdir -p "$SAGE_SHARE/sage/ext/notebook-ipython" 147 147 mkdir -p "var/lib/sage/installed" 148 148 149 - source build/bin/sage-dist-helpers 150 - cd src 151 - 152 - ${python.interpreter} -u setup.py --no-user-cfg build 149 + # src/setup.py should not be used, see https://trac.sagemath.org/ticket/31377#comment:124 150 + cd build/pkgs/sagelib/src 153 151 ''; 154 152 155 - installPhase = '' 156 - ${python.interpreter} -u setup.py --no-user-cfg install --prefix=$out 157 - 153 + postInstall = '' 158 154 rm -r "$out/${python.sitePackages}/sage/cython_debug" 159 155 ''; 156 + 157 + doCheck = false; # we will run tests in sage-tests.nix 160 158 }
+18
pkgs/applications/science/math/sage/threejs-sage.nix
··· 1 + { stdenv, fetchFromGitHub }: 2 + 3 + stdenv.mkDerivation rec { 4 + pname = "threejs-sage"; 5 + version = "r122"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "sagemath"; 9 + repo = "threejs-sage"; 10 + rev = version; 11 + sha256 = "sha256-xPAPt36Fon3hYQq6SOmGkIyUzAII2LMl10nqYG4UPI0="; 12 + }; 13 + 14 + installPhase = '' 15 + mkdir -p $out/lib/node_modules/three 16 + cp -r build version $out/lib/node_modules/three 17 + ''; 18 + }
+117 -30
pkgs/applications/science/math/singular/default.nix
··· 1 - { stdenv, fetchurl, gmp, bison, perl, ncurses, readline, coreutils, pkg-config 1 + { stdenv, fetchFromGitHub, gmp, bison, perl, ncurses, readline, coreutils, pkg-config 2 2 , lib 3 3 , fetchpatch 4 4 , autoreconfHook 5 + , sharutils 5 6 , file 6 7 , flint 7 8 , ntl 8 9 , cddlib 9 - , enableFactory ? true 10 + , gfan 11 + , lrcalc 12 + , doxygen 13 + , graphviz 14 + # upstream generates docs with texinfo 4. later versions of texinfo 15 + # use letters instead of numbers for post-appendix chapters, and we 16 + # want it to match the upstream format because sage depends on it. 17 + , texinfo4 18 + , texlive 19 + , enableDocs ? true 10 20 , enableGfanlib ? true 11 21 }: 12 22 13 23 stdenv.mkDerivation rec { 14 24 pname = "singular"; 15 - version = "4.1.1p2"; 25 + version = "4.2.0p2"; 26 + 27 + # since the tarball does not contain tests or documentation (and 28 + # there is no separate tests tarball for 4.2.0), we fetch from 29 + # GitHub. 30 + src = fetchFromGitHub { 31 + owner = "Singular"; 32 + repo = "Singular"; 16 33 17 - src = let 18 - # singular sorts its tarballs in directories by base release (without patch version) 19 - # for example 4.1.1p1 will be in the directory 4-1-1 20 - baseVersion = builtins.head (lib.splitString "p" version); 21 - urlVersion = builtins.replaceStrings [ "." ] [ "-" ] baseVersion; 22 - in 23 - fetchurl { 24 - url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${urlVersion}/singular-${version}.tar.gz"; 25 - sha256 = "07x9kri8vl4galik7lr6pscq3c51n8570pyw64i7gbj0m706f7wf"; 34 + # 4.2.0p2 is not tagged, but the tarball matches commit 35 + # 6f68939ddf612d96e3caaaaa8275f77613ac1da8. the commit below has 36 + # two extra fixes. 37 + rev = "3cda50c00a849455efa2502e56596955491a353a"; 38 + sha256 = "sha256-OizPhGE6L2LTOrKfeDdDB6BSdvYkDVXvbbYjV14hnHM="; 39 + 40 + # if a release is tagged it will be in the format below. 41 + # rev = "Release${lib.replaceStrings ["."] ["-"] version}"; 42 + 43 + # the repository's .gitattributes file contains the lines "/Tst/ 44 + # export-ignore" and "/doc/ export-ignore" so some directories are 45 + # not included in the tarball downloaded by fetchzip. setting 46 + # fetchSubmodules works around this by using fetchgit instead of 47 + # fetchzip. 48 + fetchSubmodules = true; 26 49 }; 27 50 51 + patches = [ 52 + # add aarch64 support to cpu-check.m4. copied from redhat. 53 + ./redhat-aarch64.patch 54 + 55 + # vspace causes hangs in modstd and other libraries on aarch64 56 + ./disable-vspace-on-aarch64.patch 57 + 58 + # the newest version of ax-prog-cc-for-build.m4 seems to trigger 59 + # linker errors. see 60 + # https://github.com/alsa-project/alsa-firmware/issues/3 for a 61 + # related issue. 62 + ./use-older-ax-prog-cc-for-build.patch 63 + ] ++ lib.optionals enableDocs [ 64 + # singular supports building without 4ti2, bertini, normaliz or 65 + # topcom just fine, but the docbuilding does not skip manual pages 66 + # tagged as depending on those binaries (probably a bug in 67 + # doc2tex.pl::HandleLib, since it seems to ignore "-exclude" 68 + # argumens). skip them manually. 69 + ./disable-docs-for-optional-unpackaged-deps.patch 70 + ]; 71 + 28 72 configureFlags = [ 29 73 "--with-ntl=${ntl}" 30 - ] ++ lib.optionals enableFactory [ 31 - "--enable-factory" 74 + "--disable-pyobject-module" 75 + ] ++ lib.optionals enableDocs [ 76 + "--enable-doc-build" 32 77 ] ++ lib.optionals enableGfanlib [ 33 78 "--enable-gfanlib" 34 79 ]; 35 80 36 - postUnpack = '' 81 + prePatch = '' 82 + # don't let the tests depend on `hostname` 83 + substituteInPlace Tst/regress.cmd --replace 'mysystem_catch("hostname")' 'nix_test_runner' 84 + 37 85 patchShebangs . 86 + '' + lib.optionalString enableDocs '' 87 + # work around encoding problem 88 + sed -i -e 's/\xb7/@cdot{}/g' doc/decodegb.doc 38 89 ''; 39 - 40 - patches = [ 41 - # NTL error handler was introduced in the library part, preventing users of 42 - # the library from implementing their own error handling 43 - # https://www.singular.uni-kl.de/forum/viewtopic.php?t=2769 44 - (fetchpatch { 45 - name = "move_error_handler_out_of_libsingular.patch"; 46 - # rebased version of https://github.com/Singular/Sources/commit/502cf86d0bb2a96715be6764774b64a69c1ca34c.patch 47 - url = "https://git.sagemath.org/sage.git/plain/build/pkgs/singular/patches/singular-ntl-error-handler.patch?h=50b9ae2fd233c30860e1cbb3e63a26f2cc10560a"; 48 - sha256 = "0vgh4m9zn1kjl0br68n04j4nmn5i1igfn28cph0chnwf7dvr9194"; 49 - }) 50 - ]; 51 90 52 91 # For reference (last checked on commit 75f460d): 53 - # https://github.com/Singular/Sources/blob/spielwiese/doc/Building-Singular-from-source.md 54 - # https://github.com/Singular/Sources/blob/spielwiese/doc/external-packages-dynamic-modules.md 92 + # https://github.com/Singular/Singular/blob/spielwiese/doc/Building-Singular-from-source.md 93 + # https://github.com/Singular/Singular/blob/spielwiese/doc/external-packages-dynamic-modules.md 55 94 buildInputs = [ 56 95 # necessary 57 96 gmp ··· 60 99 readline 61 100 ntl 62 101 flint 102 + lrcalc 103 + gfan 63 104 ] ++ lib.optionals enableGfanlib [ 64 105 cddlib 65 106 ]; ··· 68 109 perl 69 110 pkg-config 70 111 autoreconfHook 112 + sharutils # needed for regress.cmd install checks 113 + ] ++ lib.optionals enableDocs [ 114 + doxygen 115 + graphviz 116 + texinfo4 117 + texlive.combined.scheme-small 71 118 ]; 72 119 73 120 preAutoreconf = '' ··· 85 132 # do nothing 86 133 ''; 87 134 135 + doCheck = true; # very basic checks, does not test any libraries 136 + 88 137 installPhase = '' 89 138 mkdir -p "$out" 90 139 cp -r Singular/LIB "$out/lib" 91 140 make install 92 - 141 + '' + lib.optionalString enableDocs '' 142 + # Sage uses singular.hlp (which is not in the tarball) 143 + mkdir -p $out/share/info 144 + cp doc/singular.hlp $out/share/info 145 + '' + '' 93 146 # Make sure patchelf picks up the right libraries 94 147 rm -rf libpolys factory resources omalloc Singular 95 148 ''; 96 149 150 + # singular tests are a bit complicated, see 151 + # https://github.com/Singular/Singular/tree/spielwiese/Tst 152 + # https://www.singular.uni-kl.de/forum/viewtopic.php&t=2773 153 + testsToRun = [ 154 + "Old/universal.lst" 155 + "Buch/buch.lst" 156 + "Plural/short.lst" 157 + "Old/factor.tst" 158 + ] ++ lib.optionals enableGfanlib [ 159 + # tests that require gfanlib 160 + "Short/ok_s.lst" 161 + ]; 162 + 97 163 # simple test to make sure singular starts and finds its libraries 98 164 doInstallCheck = true; 99 165 installCheckPhase = '' 166 + # Very basic sanity check to make sure singular starts and finds its libraries. 167 + # This is redundant with the below tests. It is only kept because the singular test 168 + # runner is a bit complicated. In case we decide to give up those tests in the future, 169 + # this will still be useful. It takes barely any time. 100 170 "$out/bin/Singular" -c 'LIB "freegb.lib"; exit;' 101 171 if [ $? -ne 0 ]; then 102 172 echo >&2 "Error loading the freegb library in Singular." 103 173 exit 1 104 174 fi 175 + 176 + # Run the test suite 177 + cd Tst 178 + perl ./regress.cmd \ 179 + -s "$out/bin/Singular" \ 180 + ${lib.concatStringsSep " " (map lib.escapeShellArg testsToRun)} \ 181 + 2>"$TMPDIR/out-err.log" 182 + 183 + # unfortunately regress.cmd always returns exit code 0, so check stderr 184 + # https://www.singular.uni-kl.de/forum/viewtopic.php&t=2773 185 + if [[ -s "$TMPDIR/out-err.log" ]]; then 186 + cat "$TMPDIR/out-err.log" 187 + exit 1 188 + fi 189 + 190 + echo "Exit status $?" 105 191 ''; 106 192 107 193 enableParallelBuilding = true; ··· 110 196 description = "A CAS for polynomial computations"; 111 197 maintainers = teams.sage.members; 112 198 # 32 bit x86 fails with some link error: `undefined reference to `__divmoddi4@GCC_7.0.0'` 199 + # https://www.singular.uni-kl.de:8002/trac/ticket/837 113 200 platforms = subtractLists platforms.i686 platforms.unix; 114 201 license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4 115 202 homepage = "http://www.singular.uni-kl.de";
+112
pkgs/applications/science/math/singular/disable-docs-for-optional-unpackaged-deps.patch
··· 1 + commit 9e8b044d982e132cf35a106a1cc0cf7e77b27f7c 2 + Author: Mauricio Collares <mauricio@collares.org> 3 + Date: Thu Apr 15 20:33:21 2021 -0300 4 + 5 + Disable manual sections using optional packages not yet in Nixpkgs 6 + 7 + * normaliz.lib depends on normaliz. 8 + * polymake.lib depends on topcom. 9 + * recover.lib depends on bertini. 10 + * sing4ti2.lib depends on 4ti2. 11 + * tateProdCplxNegGrad.lib uses multigrading.lib, which depends on 4ti2. 12 + 13 + diff --git a/doc/singular.doc b/doc/singular.doc 14 + index 64b969d39..e704f95f0 100644 15 + --- a/doc/singular.doc 16 + +++ b/doc/singular.doc 17 + @@ -407,7 +407,6 @@ LIB "all.lib"; 18 + * nfmodsyz_lib:: Syzygy modules of submodules of free modules over algebraic number fields 19 + * noether_lib:: Noether normalization of an ideal 20 + * normal_lib:: procedure for normalization 21 + -* normaliz_lib:: integral closure, normalization for monomial ideals, toric ideals 22 + * pointid_lib:: factorized lex GB of the vanishing ideal of a set of points 23 + * primdec_lib:: procedures for primary decomposition 24 + * primdecint_lib:: primary decomposition over the integers 25 + @@ -416,7 +415,6 @@ LIB "all.lib"; 26 + * reesclos_lib:: Rees Algebra and integral closure of an ideal 27 + * rstandard_lib:: Janet bases and border bases for ideals 28 + * sagbi_lib:: Subalgebras bases Analogous to Groebner bases for ideals 29 + -* sing4ti2_lib:: interface to program 4ti2 30 + * symodstd_lib:: Groebner bases for symmetric ideals 31 + * toric_lib:: toric ideals 32 + @end menu 33 + @@ -521,10 +519,6 @@ LIB "all.lib"; 34 + @node normal_lib 35 + @subsection normal_lib 36 + @c lib normal.lib 37 + -@c --------------------------------------------------------- 38 + -@node normaliz_lib 39 + -@subsection normaliz_lib 40 + -@c lib normaliz.lib tag:normaliz 41 + @c ---------------------------------------------------------- 42 + @node pointid_lib 43 + @subsection pointid_lib 44 + @@ -558,10 +552,6 @@ LIB "all.lib"; 45 + @subsection sagbi_lib 46 + @c lib sagbi.lib 47 + @c --------------------------------------------------------- 48 + -@node sing4ti2_lib 49 + -@subsection sing4ti2_lib 50 + -@c lib sing4ti2.lib tag:sing4ti2 51 + -@c ---------------------------------------------------------- 52 + @node symodstd_lib 53 + @subsection symodstd_lib 54 + @c lib symodstd.lib 55 + @@ -873,7 +863,6 @@ iniD, reslist, sumlist, dividelist, createlist 56 + * solve_lib:: procedures to solve polynomial systems 57 + * triang_lib:: procedures for decomposing zero-dimensional ideals 58 + * ntsolve_lib:: one real solution of polynomial systems (Newton iteration) 59 + -* recover_lib:: Hybrid numerical/symbolical algorithms 60 + * rootisolation_lib:: real root isolation with intervals 61 + * signcond_lib:: computing realizable sign conditions 62 + * zeroset_lib:: procedures for roots and factorization 63 + @@ -904,10 +893,6 @@ iniD, reslist, sumlist, dividelist, createlist 64 + @subsection ntsolve_lib 65 + @c lib ntsolve.lib 66 + @c --------------------------------------------------------- 67 + -@node recover_lib 68 + -@subsection recover_lib 69 + -@c lib recover.lib tag:bertini 70 + -@c ---------------------------------------------------------- 71 + @node rootisolation_lib 72 + @subsection rootisolation_lib 73 + @c lib rootisolation.lib 74 + @@ -1108,7 +1093,6 @@ but not for serious computations. 75 + * cimonom_lib:: complete intersection for toric ideals 76 + * gfan_lib:: A gfanlib interface for Singular 77 + * gitfan_lib:: Compute GIT-fans 78 + -* polymake_lib:: interface to TOPCOM 79 + * realizationMatroids_lib:: Realizability for Tropical Fan Curves 80 + * tropical_lib:: interface to gfan 81 + * tropicalNewton_lib:: Newton polygons in tropical geometry 82 + @@ -1125,10 +1109,7 @@ but not for serious computations. 83 + @node gitfan_lib 84 + @subsection gitfan_lib 85 + @c lib gitfan.lib 86 + -@c ---------------------------------------------------------- 87 + -@node polymake_lib 88 + -@subsection polymake_lib 89 + -@c lib polymake.lib tag:topcom 90 + + 91 + @c ---------------------------------------------------------- 92 + @node realizationMatroids_lib 93 + @subsection realizationMatroids_lib 94 + @@ -1219,7 +1200,6 @@ Comments should be send to the author of the library directly. 95 + * stanleyreisner_lib:: T1 and T2 for a general Stanley-Reiser ring 96 + * swalk_lib:: Sagbi Walk Conversion Algorithm 97 + * systhreads_lib:: multi-threaded objects 98 + -* tateProdCplxNegGrad_lib:: sheaf cohomology on product of projective spaces 99 + * VecField_lib:: vector fields 100 + @end menu 101 + @c ---------------------------------------------------------- 102 + @@ -1310,10 +1290,6 @@ Todos/Issues: 103 + @subsection systhreads_lib 104 + @c lib systhreads.lib 105 + @c --------------------------------------------------------- 106 + -@node tateProdCplxNegGrad_lib 107 + -@subsection tateProdCplxNegGrad_lib 108 + -@c lib tateProdCplxNegGrad.lib 109 + -@c --------------------------------------------------------- 110 + @node VecField_lib 111 + @subsection VecField_lib 112 + @c lib VecField.lib
+15
pkgs/applications/science/math/singular/disable-vspace-on-aarch64.patch
··· 1 + diff --git a/kernel/mod2.h b/kernel/mod2.h 2 + index 867fcae47..2abd84f23 100644 3 + --- a/kernel/mod2.h 4 + +++ b/kernel/mod2.h 5 + @@ -60,8 +60,10 @@ 6 + 7 + /* define for parallel processes with shared memory */ 8 + #ifndef __CCYGWIN__ 9 + +#ifndef SI_CPU_AARCH64 10 + #define HAVE_VSPACE 1 11 + #endif 12 + +#endif 13 + 14 + /*#define PROFILING*/ 15 + #ifdef PROFILING
+38
pkgs/applications/science/math/singular/redhat-aarch64.patch
··· 1 + diff --git a/m4/cpu-check.m4 b/m4/cpu-check.m4 2 + index 3cf0a7f08..12bb926ac 100644 3 + --- a/m4/cpu-check.m4 4 + +++ b/m4/cpu-check.m4 5 + @@ -37,6 +37,18 @@ if test "$ac_cv_singcpuname" = ppc; then 6 + AC_DEFINE(SI_CPU_PPC,1,"PPC") 7 + AC_SUBST(SI_CPU_PPC) 8 + fi 9 + +if test "$ac_cv_singcpuname" = arm -o "$ac_cv_singcpuname" = armel; then 10 + + AC_DEFINE(SI_CPU_ARM,1,"ARM") 11 + + AC_SUBST(SI_CPU_ARM) 12 + +fi 13 + +if test "$ac_cv_singcpuname" = aarch64; then 14 + + AC_DEFINE(SI_CPU_AARCH64,1,"AARCH64") 15 + + AC_SUBST(SI_CPU_AARCH64) 16 + +fi 17 + +if test "$ac_cv_singcpuname" = s390; then 18 + + AC_DEFINE(SI_CPU_S390,1,"S390") 19 + + AC_SUBST(SI_CPU_S390) 20 + +fi 21 + 22 + # UNAME and PATH 23 + AC_MSG_CHECKING(uname for Singular) 24 + @@ -65,6 +77,14 @@ dnl testet on: ppc_Linux, 740/750 PowerMac G3, 512k L2 cache 25 + [powerpc*|ppc*], [AC_DEFINE(HAVE_GENERIC_MULT,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)], 26 + dnl the following settings seems to be better on arm processors 27 + [arm*], [], 28 + +dnl FIXME: need to run some tests 29 + + [aarch64*], [ 30 + + AC_DEFINE(HAVE_MULT_MOD,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms) 31 + + AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add) 32 + + AC_DEFINE(HAVE_DIV_MOD,1,division using extend euclidian algorithm otherwise using tables of logartihms) 33 + + ], 34 + +dnl FIXME: need to run some tests 35 + + [s390*], [AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)], 36 + [] 37 + ) 38 +
+194
pkgs/applications/science/math/singular/use-older-ax-prog-cc-for-build.patch
··· 1 + diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4 2 + index f7410d74b..12cb005a5 100644 3 + --- a/m4/ax_prog_cc_for_build.m4 4 + +++ b/m4/ax_prog_cc_for_build.m4 5 + @@ -32,35 +32,31 @@ 6 + # and this notice are preserved. This file is offered as-is, without any 7 + # warranty. 8 + 9 + -#serial 18 10 + +#serial 9 11 + 12 + AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) 13 + AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl 14 + AC_REQUIRE([AC_PROG_CC])dnl 15 + AC_REQUIRE([AC_PROG_CPP])dnl 16 + -AC_REQUIRE([AC_CANONICAL_BUILD])dnl 17 + +AC_REQUIRE([AC_EXEEXT])dnl 18 + +AC_REQUIRE([AC_CANONICAL_HOST])dnl 19 + 20 + dnl Use the standard macros, but make them use other variable names 21 + dnl 22 + pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl 23 + -pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl 24 + pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl 25 + pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl 26 + pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl 27 + pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl 28 + -pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl 29 + pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl 30 + pushdef([ac_cv_objext], ac_cv_build_objext)dnl 31 + pushdef([ac_exeext], ac_build_exeext)dnl 32 + pushdef([ac_objext], ac_build_objext)dnl 33 + pushdef([CC], CC_FOR_BUILD)dnl 34 + pushdef([CPP], CPP_FOR_BUILD)dnl 35 + -pushdef([GCC], GCC_FOR_BUILD)dnl 36 + pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl 37 + pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl 38 + -pushdef([EXEEXT], BUILD_EXEEXT)dnl 39 + pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl 40 + -pushdef([OBJEXT], BUILD_OBJEXT)dnl 41 + pushdef([host], build)dnl 42 + pushdef([host_alias], build_alias)dnl 43 + pushdef([host_cpu], build_cpu)dnl 44 + @@ -71,29 +67,27 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl 45 + pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl 46 + pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl 47 + pushdef([ac_cv_host_os], ac_cv_build_os)dnl 48 + -pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl 49 + -pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl 50 + -pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl 51 + -pushdef([cross_compiling], cross_compiling_build)dnl 52 + +pushdef([ac_cpp], ac_build_cpp)dnl 53 + +pushdef([ac_compile], ac_build_compile)dnl 54 + +pushdef([ac_link], ac_build_link)dnl 55 + 56 + -cross_compiling_build=no 57 + +save_cross_compiling=$cross_compiling 58 + +save_ac_tool_prefix=$ac_tool_prefix 59 + +cross_compiling=no 60 + +ac_tool_prefix= 61 + 62 + -ac_build_tool_prefix= 63 + -AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"], 64 + - [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"]) 65 + - 66 + -AC_LANG_PUSH([C]) 67 + AC_PROG_CC 68 + -_AC_COMPILER_EXEEXT 69 + -_AC_COMPILER_OBJEXT 70 + AC_PROG_CPP 71 + +AC_EXEEXT 72 + + 73 + +ac_tool_prefix=$save_ac_tool_prefix 74 + +cross_compiling=$save_cross_compiling 75 + 76 + dnl Restore the old definitions 77 + dnl 78 + -popdef([cross_compiling])dnl 79 + -popdef([am_cv_prog_cc_c_o])dnl 80 + -popdef([am_cv_CC_dependencies_compiler_type])dnl 81 + -popdef([ac_tool_prefix])dnl 82 + +popdef([ac_link])dnl 83 + +popdef([ac_compile])dnl 84 + +popdef([ac_cpp])dnl 85 + popdef([ac_cv_host_os])dnl 86 + popdef([ac_cv_host_vendor])dnl 87 + popdef([ac_cv_host_cpu])dnl 88 + @@ -104,33 +98,25 @@ popdef([host_vendor])dnl 89 + popdef([host_cpu])dnl 90 + popdef([host_alias])dnl 91 + popdef([host])dnl 92 + -popdef([OBJEXT])dnl 93 + popdef([LDFLAGS])dnl 94 + -popdef([EXEEXT])dnl 95 + popdef([CPPFLAGS])dnl 96 + popdef([CFLAGS])dnl 97 + -popdef([GCC])dnl 98 + popdef([CPP])dnl 99 + popdef([CC])dnl 100 + popdef([ac_objext])dnl 101 + popdef([ac_exeext])dnl 102 + popdef([ac_cv_objext])dnl 103 + popdef([ac_cv_exeext])dnl 104 + -popdef([ac_cv_c_compiler_gnu])dnl 105 + popdef([ac_cv_prog_cc_g])dnl 106 + popdef([ac_cv_prog_cc_cross])dnl 107 + popdef([ac_cv_prog_cc_works])dnl 108 + -popdef([ac_cv_prog_cc_c89])dnl 109 + popdef([ac_cv_prog_gcc])dnl 110 + popdef([ac_cv_prog_CPP])dnl 111 + 112 + -dnl restore global variables ac_ext, ac_cpp, ac_compile, 113 + -dnl ac_link, ac_compiler_gnu (dependant on the current 114 + -dnl language after popping): 115 + -AC_LANG_POP([C]) 116 + - 117 + dnl Finally, set Makefile variables 118 + dnl 119 + +BUILD_EXEEXT=$ac_build_exeext 120 + +BUILD_OBJEXT=$ac_build_objext 121 + AC_SUBST(BUILD_EXEEXT)dnl 122 + AC_SUBST(BUILD_OBJEXT)dnl 123 + AC_SUBST([CFLAGS_FOR_BUILD])dnl 124 + diff --git a/m4/ax_prog_cxx_for_build.m4 b/m4/ax_prog_cxx_for_build.m4 125 + index 4d976769f..17c19a89f 100644 126 + --- a/m4/ax_prog_cxx_for_build.m4 127 + +++ b/m4/ax_prog_cxx_for_build.m4 128 + @@ -31,7 +31,7 @@ 129 + # and this notice are preserved. This file is offered as-is, without any 130 + # warranty. 131 + 132 + -#serial 4 133 + +#serial 3 134 + 135 + AU_ALIAS([AC_PROG_CXX_FOR_BUILD], [AX_PROG_CXX_FOR_BUILD]) 136 + AC_DEFUN([AX_PROG_CXX_FOR_BUILD], [dnl 137 + @@ -49,7 +49,6 @@ pushdef([ac_cv_prog_cxx_cross], ac_cv_build_prog_cxx_cross)dnl 138 + pushdef([ac_cv_prog_cxx_g], ac_cv_build_prog_cxx_g)dnl 139 + pushdef([CXX], CXX_FOR_BUILD)dnl 140 + pushdef([CXXCPP], CXXCPP_FOR_BUILD)dnl 141 + -pushdef([GXX], GXX_FOR_BUILD)dnl 142 + pushdef([CXXFLAGS], CXXFLAGS_FOR_BUILD)dnl 143 + pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl 144 + pushdef([CXXCPPFLAGS], CXXCPPFLAGS_FOR_BUILD)dnl 145 + @@ -63,25 +62,26 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl 146 + pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl 147 + pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl 148 + pushdef([ac_cv_host_os], ac_cv_build_os)dnl 149 + -pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl 150 + -pushdef([am_cv_CXX_dependencies_compiler_type], am_cv_build_CXX_dependencies_compiler_type)dnl 151 + -pushdef([cross_compiling], cross_compiling_build)dnl 152 + +pushdef([ac_cxxcpp], ac_build_cxxcpp)dnl 153 + +pushdef([ac_compile], ac_build_compile)dnl 154 + +pushdef([ac_link], ac_build_link)dnl 155 + 156 + -cross_compiling_build=no 157 + +save_cross_compiling=$cross_compiling 158 + +save_ac_tool_prefix=$ac_tool_prefix 159 + +cross_compiling=no 160 + +ac_tool_prefix= 161 + 162 + -ac_build_tool_prefix= 163 + -AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"], 164 + - [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"]) 165 + - 166 + -AC_LANG_PUSH([C++]) 167 + AC_PROG_CXX 168 + AC_PROG_CXXCPP 169 + 170 + +ac_tool_prefix=$save_ac_tool_prefix 171 + +cross_compiling=$save_cross_compiling 172 + + 173 + dnl Restore the old definitions 174 + dnl 175 + -popdef([cross_compiling])dnl 176 + -popdef([am_cv_CXX_dependencies_compiler_type])dnl 177 + -popdef([ac_tool_prefix])dnl 178 + +popdef([ac_link])dnl 179 + +popdef([ac_compile])dnl 180 + +popdef([ac_cxxcpp])dnl 181 + popdef([ac_cv_host_os])dnl 182 + popdef([ac_cv_host_vendor])dnl 183 + popdef([ac_cv_host_cpu])dnl 184 + @@ -103,10 +103,6 @@ popdef([ac_cv_prog_cxx_works])dnl 185 + popdef([ac_cv_prog_gxx])dnl 186 + popdef([ac_cv_prog_CXXCPP])dnl 187 + 188 + -dnl restore global variables (dependant on the current 189 + -dnl language after popping): 190 + -AC_LANG_POP([C++]) 191 + - 192 + dnl Finally, set Makefile variables 193 + dnl 194 + AC_SUBST([CXXFLAGS_FOR_BUILD])dnl
+5 -3
pkgs/data/misc/graphs/default.nix
··· 4 4 5 5 stdenv.mkDerivation rec { 6 6 pname = "graphs"; 7 - version = "20161026"; 7 + version = "20210214"; 8 8 9 9 src = fetchurl { 10 - url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2"; 11 - sha256 = "0a2b5lly9nifphvknz88rrhfbbc8vqnlqcv19zdpfq8h8nnyjbb2"; 10 + url = "https://mirrors.mit.edu/sage/spkg/upstream/${pname}/${pname}-${version}.tar.bz2"; 11 + # TODO: switch to the url below once Sage 9.3 is released 12 + # url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2"; 13 + sha256 = "sha256-ByN8DZhTYRUFw4n9e7klAMh0P1YxurtND0Xf2DMvN0E="; 12 14 }; 13 15 14 16 installPhase = ''
+2 -2
pkgs/development/libraries/eclib/default.nix
··· 14 14 15 15 stdenv.mkDerivation rec { 16 16 pname = "eclib"; 17 - version = "20210223"; # upgrade might break the sage interface 17 + version = "20190909"; # upgrade might break the sage interface 18 18 # sage tests to run: 19 19 # src/sage/interfaces/mwrank.py 20 20 # src/sage/libs/eclib ··· 23 23 owner = "JohnCremona"; 24 24 repo = pname; 25 25 rev = "v${version}"; 26 - sha256 = "sha256-xnSw5cdg4PLa0GT/blCYDz/IG5aj+HG2NHSlyCiH9g0="; 26 + sha256 = "0y1vdi4120gdw56gg2dn3wh625yr9wpyk3wpbsd25w4lv83qq5da"; 27 27 }; 28 28 buildInputs = [ 29 29 pari
+1 -1
pkgs/development/libraries/flint/default.nix
··· 45 45 inherit version; 46 46 description = "Fast Library for Number Theory"; 47 47 license = lib.licenses.gpl2Plus; 48 - maintainers = [lib.maintainers.raskin]; 48 + maintainers = lib.teams.sage.members; 49 49 platforms = lib.platforms.unix; 50 50 homepage = "http://www.flintlib.org/"; 51 51 downloadPage = "http://www.flintlib.org/downloads.html";