diff options
author | 2024-11-24 09:23:12 -0500 | |
---|---|---|
committer | 2024-11-24 09:33:56 -0500 | |
commit | aa676b404b96cc55e5596728261f37794591dc72 (patch) | |
tree | f815f59b44fea701f3d3cfc51405237526adf773 /sci-mathematics | |
parent | app-i18n/fcitx-chinese-addons: Stabilize 5.1.7 amd64, #944495 (diff) | |
download | gentoo-aa676b404b96cc55e5596728261f37794591dc72.tar.gz gentoo-aa676b404b96cc55e5596728261f37794591dc72.tar.bz2 gentoo-aa676b404b96cc55e5596728261f37794591dc72.zip |
sci-mathematics/gap: backport another upstream patch
In particular, this fixes bug 944744, a test failure with the new
dev-gap/grape.
Closes: https://bugs.gentoo.org/944744
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'sci-mathematics')
-rw-r--r-- | sci-mathematics/gap/files/gap-4.13.1-more-hash-fixes.patch | 50 | ||||
-rw-r--r-- | sci-mathematics/gap/gap-4.13.1-r2.ebuild (renamed from sci-mathematics/gap/gap-4.13.1-r1.ebuild) | 5 |
2 files changed, 54 insertions, 1 deletions
diff --git a/sci-mathematics/gap/files/gap-4.13.1-more-hash-fixes.patch b/sci-mathematics/gap/files/gap-4.13.1-more-hash-fixes.patch new file mode 100644 index 000000000000..5a464a0fda49 --- /dev/null +++ b/sci-mathematics/gap/files/gap-4.13.1-more-hash-fixes.patch @@ -0,0 +1,50 @@ +From 19484a75098d43e75e3facfdd05dccefc358e43f Mon Sep 17 00:00:00 2001 +From: Max Horn <max@quendi.de> +Date: Fri, 11 Oct 2024 14:54:29 +0200 +Subject: [PATCH] Fix hashing for integer plists (#5807) + +--- + lib/dicthf.gi | 2 +- + tst/testbugfix/2024-10-11-orbit-hash.tst | 20 ++++++++++++++++++++ + 2 files changed, 21 insertions(+), 1 deletion(-) + create mode 100644 tst/testbugfix/2024-10-11-orbit-hash.tst + +diff --git a/lib/dicthf.gi b/lib/dicthf.gi +index e4349ac940..119d5329f6 100644 +--- a/lib/dicthf.gi ++++ b/lib/dicthf.gi +@@ -164,7 +164,7 @@ function(m, v) + if not IsPlistRep(x) then + x := AsPlist(x); + fi; +- return HashKeyWholeBag(x, 1); ++ return HashKeyBag(x, 1, 0, Length(x) * GAPInfo.BytesPerVariable); + end; + + # alternative code w/o HashKeyBag +diff --git a/tst/testbugfix/2024-10-11-orbit-hash.tst b/tst/testbugfix/2024-10-11-orbit-hash.tst +new file mode 100644 +index 0000000000..3735537e6f +--- /dev/null ++++ b/tst/testbugfix/2024-10-11-orbit-hash.tst +@@ -0,0 +1,20 @@ ++# Fix a bug reported by Leonard Soicher caused by a bug in ++# the hash function for lists of small positive integers. ++gap> n:=280;; ++gap> G:=OnePrimitiveGroup(NrMovedPoints,n,Size,604800*2); ++J_2.2 ++gap> blocks := [ [ 1, 2, 3, 28, 108, 119, 155, 198, 216, 226 ], ++> [ 1, 2, 3, 118, 119, 140, 193, 213, 218, 226 ] ];; ++gap> Append(blocks[2],[1..1000]); for i in [1..1000] do Remove(blocks[2]); od; ++gap> Append(blocks[2],[1..1000]); for i in [1..1000] do Remove(blocks[2]); od; ++gap> ForAll(blocks,IsSet); ++true ++gap> orb1:=Orbit(G,blocks[1],OnSets);; ++gap> Length(orb1); ++12096 ++gap> orb2:=Orbit(G,blocks[2],OnSets);; ++gap> Length(orb2); ++1008 ++gap> orbs:=Orbits(G,blocks,OnSets);; ++gap> List(orbs,Length); # this code gave wrong results ++[ 12096, 1008 ] diff --git a/sci-mathematics/gap/gap-4.13.1-r1.ebuild b/sci-mathematics/gap/gap-4.13.1-r2.ebuild index 45cb0c98749e..49b0fd13f52a 100644 --- a/sci-mathematics/gap/gap-4.13.1-r1.ebuild +++ b/sci-mathematics/gap/gap-4.13.1-r2.ebuild @@ -65,7 +65,10 @@ RDEPEND="${DEPEND}" # packages, use package.provided. PDEPEND="${REQUIRED_PKGS} !minimal? ( ${AUTOLOADED_PKGS} )" -PATCHES=( "${FILESDIR}/gap-4.13.1-hash-fixes.patch" ) +PATCHES=( + "${FILESDIR}/gap-4.13.1-hash-fixes.patch" + "${FILESDIR}/gap-4.13.1-more-hash-fixes.patch" +) pkg_setup() { if use valgrind; then |