diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix index fc1a2e0abf8c..4ba1d5c6b474 100644 --- a/pkgs/applications/science/math/pari/default.nix +++ b/pkgs/applications/science/math/pari/default.nix @@ -1,10 +1,11 @@ -{ lib, stdenv +{ lib +, stdenv , fetchurl , gmp -, readline , libX11 -, tex , perl +, readline +, tex , withThread ? true, libpthreadstubs }: @@ -12,7 +13,7 @@ assert withThread -> libpthreadstubs != null; stdenv.mkDerivation rec { pname = "pari"; - version = "2.13.1"; + version = "2.13.3"; src = fetchurl { urls = [ @@ -20,30 +21,25 @@ stdenv.mkDerivation rec { # old versions are at the url below "https://pari.math.u-bordeaux.fr/pub/pari/OLD/${lib.versions.majorMinor version}/${pname}-${version}.tar.gz" ]; - sha256 = "sha256-gez31wzNquIwFlz/Ynyc4uwpe48i+fQHQiedhfht/LE="; + hash = "sha256-zLp/FgbGhU8UQ2N7tXrQlY1Bx/R1P4roRZ8dZMJnoco="; }; - patches = [ - # rebased version of 3edb98db78, see - # https://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=2284 - ./rnfdisc.patch - ]; - buildInputs = [ gmp - readline libX11 - tex perl + readline + tex ] ++ lib.optionals withThread [ libpthreadstubs ]; configureScript = "./Configure"; configureFlags = [ - "--with-gmp=${gmp.dev}" - "--with-readline=${readline.dev}" - ] ++ lib.optional stdenv.isDarwin "--host=x86_64-darwin" + "--with-gmp=${lib.getDev gmp}" + "--with-readline=${lib.getDev readline}" + ] + ++ lib.optional stdenv.isDarwin "--host=x86_64-darwin" ++ lib.optional withThread "--mt=pthread"; preConfigure = '' @@ -57,6 +53,7 @@ stdenv.mkDerivation rec { makeFlags = [ "all" ]; meta = with lib; { + homepage = "http://pari.math.u-bordeaux.fr"; description = "Computer algebra system for high-performance number theory computations"; longDescription = '' PARI/GP is a widely used computer algebra system designed for fast @@ -81,7 +78,6 @@ stdenv.mkDerivation rec { 3 or 4 times faster.) gp2c currently only understands a subset of the GP language. ''; - homepage = "http://pari.math.u-bordeaux.fr"; downloadPage = "http://pari.math.u-bordeaux.fr/download.html"; license = licenses.gpl2Plus; maintainers = with maintainers; [ ertes AndersonTorres ] ++ teams.sage.members; diff --git a/pkgs/applications/science/math/pari/gp2c.nix b/pkgs/applications/science/math/pari/gp2c.nix index 23183f83b36b..7f31543a925f 100644 --- a/pkgs/applications/science/math/pari/gp2c.nix +++ b/pkgs/applications/science/math/pari/gp2c.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, pari +{ lib +, stdenv , fetchurl -, perl }: +, pari +, perl +}: stdenv.mkDerivation rec { pname = "gp2c"; @@ -12,11 +14,15 @@ stdenv.mkDerivation rec { sha256 = "039ip7qkwwv46wrcdrz7y12m30kazzkjr44kqbc0h137g4wzd7zf"; }; - buildInputs = [ pari perl ]; + buildInputs = [ + pari + perl + ]; configureFlags = [ "--with-paricfg=${pari}/lib/pari/pari.cfg" - "--with-perl=${perl}/bin/perl" ]; + "--with-perl=${perl}/bin/perl" + ]; meta = with lib; { description = "A compiler to translate GP scripts to PARI programs"; diff --git a/pkgs/applications/science/math/pari/rnfdisc.patch b/pkgs/applications/science/math/pari/rnfdisc.patch deleted file mode 100644 index 6acac96481d5..000000000000 --- a/pkgs/applications/science/math/pari/rnfdisc.patch +++ /dev/null @@ -1,51 +0,0 @@ -commit 0d8a3ac970291c62b56104172418b3f2ca30927c -Author: Bill Allombert -Date: Sun Mar 28 13:27:24 2021 +0200 - - rnfdisc_factored: remove spurious Q_primpart [#2284] - -diff --git a/src/basemath/base2.c b/src/basemath/base2.c -index 7e7d0db9d..c461826f4 100644 ---- a/src/basemath/base2.c -+++ b/src/basemath/base2.c -@@ -3582,7 +3582,7 @@ rnfdisc_factored(GEN nf, GEN pol, GEN *pd) - - nf = checknf(nf); - pol = rnfdisc_get_T(nf, pol, &lim); -- disc = nf_to_scalar_or_basis(nf, nfX_disc(nf, Q_primpart(pol))); -+ disc = nf_to_scalar_or_basis(nf, nfX_disc(nf, pol)); - pol = nfX_to_monic(nf, pol, NULL); - fa = idealfactor_partial(nf, disc, lim); - P = gel(fa,1); l = lg(P); -diff --git a/src/test/32/rnf b/src/test/32/rnf -index 1e743f415..c016dce00 100644 ---- a/src/test/32/rnf -+++ b/src/test/32/rnf -@@ -853,9 +853,10 @@ error("inconsistent dimensions in idealtwoelt.") - 0 - 0 - 1 --[[7361, 3786, 318, 5823; 0, 1, 0, 0; 0, 0, 1, 0; 0, 0, 0, 1], [-3, 6, -2, 0] --~] --[2, -1] -+[[433, 322, 318, 1318/17; 0, 1, 0, 12/17; 0, 0, 1, 5/17; 0, 0, 0, 1/17], [25 -+/17, -12/17, 12/17, 16/17]~] -+[1, -1] -+[[12, 0, 0, 0; 0, 12, 4, 0; 0, 0, 4, 0; 0, 0, 0, 4], [6, 5, -1, 2]~] - *** at top-level: rnfdedekind(nf,P,pr2,1) - *** ^----------------------- - *** rnfdedekind: sorry, Dedekind in the difficult case is not yet implemented. -diff --git a/src/test/in/rnf b/src/test/in/rnf -index 7851ae291..318d5349e 100644 ---- a/src/test/in/rnf -+++ b/src/test/in/rnf -@@ -212,6 +212,9 @@ k = nfinit(y^4 + 10*y^2 + 17); - rnfdisc(k, x^2 - x + 1/Mod(y,k.pol)) - rnfdisc(k, x^2 - x + 1/2) - -+k = nfinit(y^4 - 10*y^2 + 1); -+rnfdisc(k,x^2-(y^3/2+y^2-5*y/2+1)) -+ - \\ ERRORS, keep at end of file - rnfdedekind(nf, P, pr2, 1) - rnfdedekind(nf, P) diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index ed10121e5cdf..4a912e002d97 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -23,6 +23,12 @@ let # branches (wip patches from tickets), but exports each commit as a separate # patch, so merge commits can lead to conflicts. Used if squashed == false. # + # The above is the preferred option. To use it, find a Trac ticket and pass the + # "Commit" field from the ticket as "rev", choosing "base" as an appropriate + # release tag, i.e. a tag that doesn't cause the patch to include a lot of + # unrelated changes. If there is no such tag (due to nonlinear history, for + # example), there are two other options, listed below. + # # 2) From GitHub's sagemath/sage repo. This lets us use a GH feature that allows # us to choose between a .patch file, with one patch per commit, or a .diff file, # which squashes all commits into a single diff. This is used if squashed == @@ -118,6 +124,14 @@ stdenv.mkDerivation rec { rev = "beed4e16aff32e47d0c3b1c58cb1e2f4c38590f8"; sha256 = "sha256-3eJPfWfCrCAQ5filIn7FbzjRQeO9QyTIVl/HyRuqFtE="; }) + + # https://trac.sagemath.org/ticket/32797 + (fetchSageDiff { + base = "9.5.beta7"; + name = "pari-2.13.3-update.patch"; + rev = "f5f7a86908daf60b25e66e6a189c51ada7e0a732"; + sha256 = "sha256-H/caGx3q4KcdsyGe+ojV9bUTQ5y0siqM+QHgDbeEnbw="; + }) ]; patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;