diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix index 04a49becc97..ce93c14b334 100644 --- a/pkgs/applications/science/math/gap/default.nix +++ b/pkgs/applications/science/math/gap/default.nix @@ -101,6 +101,9 @@ stdenv.mkDerivation rec { excludes = ["tst/testinstall/stringobj.tst"]; sha256 = "1mz5b4mbw2jdd1ypp5s0dy6pp0jsvwsxr2dm4kbkls20r1r192sc"; }) + + # fixes aarch64 gc crashes: https://github.com/gap-system/gap/pull/3965 + ./mark-genstackfuncbags-as-noinline.patch ]; postPatch = '' diff --git a/pkgs/applications/science/math/gap/mark-genstackfuncbags-as-noinline.patch b/pkgs/applications/science/math/gap/mark-genstackfuncbags-as-noinline.patch new file mode 100644 index 00000000000..3a2f7231c09 --- /dev/null +++ b/pkgs/applications/science/math/gap/mark-genstackfuncbags-as-noinline.patch @@ -0,0 +1,13 @@ +diff --git a/src/gasman.c b/src/gasman.c +index 417811401..314a74190 100644 +--- a/src/gasman.c ++++ b/src/gasman.c +@@ -1861,7 +1861,7 @@ void SparcStackFuncBags( void ) + #endif + + +-void GenStackFuncBags ( void ) ++NOINLINE void GenStackFuncBags ( void ) + { + Bag * top; /* top of stack */ + Bag * p; /* loop variable */ diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 3e4ed900a92..1fb605b3599 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -87,6 +87,14 @@ stdenv.mkDerivation rec { rev = "2959ac792ebd6107fe87c9af1541083de5ba02d6"; sha256 = "sha256-bWIpEGir9Kawak5CJegBMNcHm/CqhWmdru+emeSsvO0="; }) + + # fix intermittent errors in doctest/test.py: https://trac.sagemath.org/ticket/26912 + (fetchSageDiff { + base = "9.3.beta8"; + name = "set-cysignals-crash-ndebug.patch"; + rev = "ca5257a5d0f32efc9f8f07e126020856270b1a18"; + sha256 = "sha256-KViw63xE3O0eUiOYzoxNrr4NL+csql9GPJLDJCf/EZs="; + }) ]; # Patches needed because of package updates. We could just pin the versions of @@ -153,6 +161,14 @@ stdenv.mkDerivation rec { rev = "75c1516f0abb9e6f8c335e38e4031f6ef674ed30"; sha256 = "sha256-RukkieIZcXNrju904H2oyGKdtpdE+9vNzvyjN2IBNg0="; }) + + # cypari 2.1.2 update (https://trac.sagemath.org/ticket/31029) + (fetchSageDiff { + base = "9.3.beta3"; + name = "cypari-2.1.2-update.patch"; + rev = "b9aadfd08e81d74ca7c229bb80eb853b592887d0"; + sha256 = "sha256-eKaMy7kpu+YKdL8bPStgocxBCTfc2Z/10RrGy2LENFw="; + }) ]; patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; diff --git a/pkgs/development/python-modules/cypari2/default.nix b/pkgs/development/python-modules/cypari2/default.nix index a7115d1e940..a553aeab65c 100644 --- a/pkgs/development/python-modules/cypari2/default.nix +++ b/pkgs/development/python-modules/cypari2/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , python +, fetchpatch , fetchPypi , pari , gmp @@ -11,13 +12,23 @@ buildPythonPackage rec { pname = "cypari2"; # upgrade may break sage, please test the sage build or ping @timokau on upgrade - version = "2.1.1"; + version = "2.1.2"; src = fetchPypi { inherit pname version; - sha256 = "df1ef62e771ec36e5a456f5fc8b51bc6745b70f0efdd0c7a30c3f0b5f1fb93db"; + sha256 = "03cd45edab8716ebbfdb754e65fea72e873c73dc91aec098fe4a01e35324ac7a"; }; + patches = [ + # patch to avoid some segfaults in sage's totallyreal.pyx test. + # (https://trac.sagemath.org/ticket/27267). depends on Cython patch. + (fetchpatch { + name = "use-trashcan-for-gen.patch"; + url = "https://git.sagemath.org/sage.git/plain/build/pkgs/cypari/patches/trashcan.patch?id=b6ea17ef8e4d652de0a85047bac8d41e90b25555"; + sha256 = "sha256-w4kktWb9/aR9z4CjrUvAMOxEwRN2WkubaKzQttN8rU8="; + }) + ]; + # This differs slightly from the default python installPhase in that it pip-installs # "." instead of "*.whl". # That is because while the default install phase succeeds to build the package, @@ -48,7 +59,7 @@ buildPythonPackage rec { meta = with lib; { description = "Cython bindings for PARI"; - license = licenses.gpl2; + license = licenses.gpl2Plus; maintainers = teams.sage.members; homepage = "https://github.com/defeo/cypari2"; }; diff --git a/pkgs/development/python-modules/cysignals/default.nix b/pkgs/development/python-modules/cysignals/default.nix index 201a8c42d68..d075360d1a4 100644 --- a/pkgs/development/python-modules/cysignals/default.nix +++ b/pkgs/development/python-modules/cysignals/default.nix @@ -1,5 +1,4 @@ { lib -, fetchpatch , fetchPypi , buildPythonPackage , cython @@ -10,23 +9,13 @@ assert pariSupport -> pari != null; buildPythonPackage rec { pname = "cysignals"; - version = "1.10.2"; + version = "1.10.3"; src = fetchPypi { inherit pname version; - sha256 = "1ckxzch3wk5cg80mppky5jib5z4fzslny3001r5zg4ar1ixbc1w1"; + sha256 = "sha256-XEYGxDV3UCgxb3Jf23y4lOPK4Lb9L4YqDSlxdIRptDo="; }; - patches = [ - # fixes intermittent crashes in Sage tests (including in interfaces/singular.py) - # will be included in cysignals 1.10.3: https://github.com/sagemath/cysignals/pull/127 - (fetchpatch { - name = "fix-verify_exc_value.patch"; - url = "https://github.com/sagemath/cysignals/commit/49a7eee4bba3ab8f340cf56c371fa4f5ed702dcc.patch"; - sha256 = "sha256-Pfc5tL9VDSP6ftDoHoIb+MDi5rjYqr0PRfIajFuuYVs="; - }) - ]; - # explicit check: # build/src/cysignals/implementation.c:27:2: error: #error "cysignals must be compiled without _FORTIFY_SOURCE" hardeningDisable = [