commit: 4bd25aca70763e928af61358185238e066a8de7c Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org> AuthorDate: Mon Apr 28 14:20:23 2025 +0000 Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org> CommitDate: Mon Apr 28 14:20:23 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4bd25aca
sci-mathematics/gap: drop 4.13.1, 4.13.1-r2 Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org> sci-mathematics/gap/Manifest | 1 - .../gap/files/gap-4.13.1-hash-fixes.patch | 178 --------------------- .../gap/files/gap-4.13.1-more-hash-fixes.patch | 50 ------ sci-mathematics/gap/gap-4.13.1-r2.ebuild | 143 ----------------- sci-mathematics/gap/gap-4.13.1.ebuild | 138 ---------------- 5 files changed, 510 deletions(-) diff --git a/sci-mathematics/gap/Manifest b/sci-mathematics/gap/Manifest index 857010b3aeaa..82793ba3d69d 100644 --- a/sci-mathematics/gap/Manifest +++ b/sci-mathematics/gap/Manifest @@ -1,2 +1 @@ -DIST gap-4.13.1-core.tar.gz 38673913 BLAKE2B a63cbd2211430bfbf1bc9bb489a68a2ee7182858ccb326dfe5e6d3a7b8fb6a8c34b56a539c8b9cf3a22a1cc3a4ffe22d365b0e5229ba2c2b6d0ce6bacf0e645b SHA512 e3b74558c05e5963ea87aa77baba0edc068634072ff97b8ea0880289e53213eed82b01784db2675263d6f47547bfef259b80353ed2843ce90a77a0252c551919 DIST gap-4.14.0-core.tar.gz 38684144 BLAKE2B f9ae77f51dcfd53c4211e8019083d5c33a944835f5ab4d2c5c256f37469f70ee85159163771fe6795e36dd0e30f0423236d6294a666ea4c230cd297c7284c613 SHA512 fdc67bdb2e96727e2d9ae1077d3f2df127ee6c2f6875b298ee508d8afe8323cfb32b160ccaa8eed1c5d9e9c68548686f8391ab3b5e60c20325f4ae8a51ca9540 diff --git a/sci-mathematics/gap/files/gap-4.13.1-hash-fixes.patch b/sci-mathematics/gap/files/gap-4.13.1-hash-fixes.patch deleted file mode 100644 index c99b39ab91c6..000000000000 --- a/sci-mathematics/gap/files/gap-4.13.1-hash-fixes.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/lib/dicthf.gi b/lib/dicthf.gi -index 5ee7341..e4349ac 100644 ---- a/lib/dicthf.gi -+++ b/lib/dicthf.gi -@@ -152,16 +152,37 @@ end); - ## - InstallMethod(SparseIntKey,"for bounded tuples",true, - [ IsList,IsList and IsCyclotomicCollection ], 0, --function(m,v) --local c; -- if Length(m)<>3 or m[1]<>"BoundedTuples" then -+function(m, v) -+ if Length(m)<> 3 or m[1]<>"BoundedTuples" then - TryNextMethod(); - fi; -- c:=[1,Maximum(m[2])+1]; -- return function(a) -- return a*c; -+ # Due to the way BoundedTuples are presently implemented we expect the input -+ # to the hash function to always be a list of positive immediate integers. This means -+ # that using HashKeyWholeBag should be safe. -+ return function(x) -+ Assert(1, IsPositionsList(x)); -+ if not IsPlistRep(x) then -+ x := AsPlist(x); -+ fi; -+ return HashKeyWholeBag(x, 1); - end; - -+ # alternative code w/o HashKeyBag -+ ## build a weight vector to distinguish lists. Make entries large while staying clearly within -+ ## immediate int (2^55 replacing 2^60, since we take subsequent primes). -+ #step:=NextPrimeInt(QuoInt(2^55,Maximum(m[2])*m[3])); -+ #weights:=[1]; -+ #len:=Length(v); -+ ## up to 56 full, then increasingly reduce -+ #len:=Minimum(len,8*RootInt(len)); -+ #while Length(weights)<len do -+ # Add(weights,weights[Length(weights)]+step); -+ # step:=NextPrimeInt(step); -+ #od; -+ #return function(a) -+ # return a*weights; -+ #end; -+ - end); - - BindGlobal( "SparseIntKeyVecListAndMatrix", function(d,m) -diff --git a/lib/oprt.gi b/lib/oprt.gi -index c1def0b..00e2953 100644 ---- a/lib/oprt.gi -+++ b/lib/oprt.gi -@@ -3565,6 +3565,7 @@ InstallMethod(DomainForAction,"permutations on lists of integers",true, - function(pnt,acts,act) - local m; - if not (Length(pnt)>0 and ForAll(pnt,IsPosInt) and -+ ForAll(acts,IsPerm) and - (act=OnSets or act=OnPoints or act=OnRight or act=\^)) then - TryNextMethod(); - fi; -diff --git a/lib/vecmat.gi b/lib/vecmat.gi -index 017c3c6..93ba828 100644 ---- a/lib/vecmat.gi -+++ b/lib/vecmat.gi -@@ -2142,7 +2142,8 @@ InstallMethod(DomainForAction,"matrix/matrix",IsElmsCollsX, - function(pnt,acts,act) - local l,f; - if (not ForAll(acts,IsMatrix)) or -- (act<>OnPoints and act<>OnSubspacesByCanonicalBasis and act<>OnRight) then -+ (act<>OnPoints and act<>OnSubspacesByCanonicalBasis and act<>OnRight and act<>OnSets and -+ act<>OnTuples) then - TryNextMethod(); # strange operation, might extend the domain - fi; - l:=NaturalActedSpace(acts,pnt); -diff --git a/tst/testbugfix/2024-09-14-actdomain.tst b/tst/testbugfix/2024-09-14-actdomain.tst -new file mode 100644 -index 0000000..84f8b50 ---- /dev/null -+++ b/tst/testbugfix/2024-09-14-actdomain.tst -@@ -0,0 +1,85 @@ -+# Fix #5786 and error reported by Len Soicher in support list -+gap> gg:=SpecialUnitaryGroup(4,2);; -+gap> hl:=Z(2)*[ -+> [0,0,1,0], -+> [1,1,0,0], -+> [0,1,0,1], -+> [0,1,1,0], -+> [1,1,0,1]];; -+gap> o:=Orbit(gg,Set(hl),OnSets);; -+gap> Length(o); -+216 -+gap> set:=[ 1,10,15,24,29,33,38,40,44,59, 60, 63, 69, 74, 77,79,85, 86, 90, -+> 95, 99, 103, 105, 110, 122, 125, 143, 148, 149, 153, 162, 165, 174, 182, -+> 185, 191, 197, 198, 202, 218, 223, 227, 228, 235, 236, 240, 243, 248, -+> 254, -+> 256, 259, 270, 275, 288, 291, 295, 298, 302, 305, 310, 312, 315, 325, -+> 329, -+> 333, 340, 341, 350, 356, 366, 369, 381, 385, 390, 397, 402, 412, 414, -+> 419, -+> 421, 425, 428, 433, 436, 445, 447, 451, 452, 453, 454, 461, 466, 474, -+> 479, -+> 481, 489, 490, 493, 497, 507, 509, 512, 513, 519, 521 ];; -+gap> gp:=Group( -+> ( 1,340,124,306,216,492,100, 25,108,270,220,332)( 2,138, 54,161,132,159,198, -+> 336,439,269, 89,419)( 3,467,177,404,505,437,379,312,481,271,223,135) -+> ( 4,510, 79,504,259,234,378,251,272,268,360,303)( 5,278,176,191,231,275,263, -+> 190,230,146,265,192)( 6,486,126,523,490,448,375,237,288,400,243,329) -+> ( 7,131,123,516, 48,392,350,333,418, 16,139,175)( 8,289,125,386,241, 29,376, -+> 334,242,417,442,331)( 9,430, 32, 59,446,367,377,335,411,416,515,330) -+> ( 10,391, 56,407,475,414,200,328,165,473, 86,119)( 11,368, 35,390,522,408,199, -+> 415,440,326, 87,503)( 12,412, 55,457,399,245,201, 33,438,431, 88,317) -+> ( 13,471, 40,348,452,292, 43,346,373, 77, 41,347)( 14,137,174,162, 60, 69,321, -+> 487, 61,158,322,370)( 15,101,114,109,130,160,488,489,352,351,420, 17) -+> ( 18,339,167,290,202,385, 99, 22, 90,323,217,129)( 19, 26, 93,304, 96,342) -+> ( 20,338,166,305,215,141, 97, 24, 51,150,219,507)( 21,337, 63,186,214,424, 98, -+> 23,107,382,218,349)( 27, 91,445,451,525, 67,519,239,144,203,155,353) -+> ( 28,324,444,128, 70,428,496,238,286,300,283, 64)( 30,236,287,441,387,354) -+> ( 31,345,366,517, 45,344,413,521, 46,248,244,121)( 34,314,394,402,222,447, 81, -+> 282,262,173,246,435)( 36,482,178,364,148,495,179,363,140,102,113,111) -+> ( 37,253,273,168,294,302,226,183, 72,480,154,233)( 38,483,520,393,403,465,362, -+> 298,143,356,153,369)( 39,157,320,472)( 42,228,277,264)( 44,343,147,501) -+> ( 47, 73,308,380,184,389,310,327,163,295,151,425)( 49,221,456, 80,474,260,405, -+> 325,164,524,152,449)( 50,479,365,477,461,459,497,169,296,247,134,117) -+> ( 52,361,299,285,355,188,423,464,434,453,133,118)( 53,257,509, 68,511,458,293, -+> 204,384,374, 75, 82)( 57,116,112,149,514,396,470,485,493,249,421,120) -+> ( 58,500,266,250,429,122)( 62,156,319,311)( 65,187,225,357,127, 71,388,235, -+> 460,252,274,371)( 66,106,462,291,205,383,372, 76, 92,410,280,498) -+> ( 74,401,381,476,409,281,171,104,297,307,426,182)( 78, 84,261,256,180,436,512, -+> 313,181,491,224,499)( 83,466,255,508,506,395,469,422,142,103,115,110) -+> ( 85,468,258,502,267,136)( 94,341)( 95,211)(105,478,195,432,518,316,197,484, -+> 494,455,196,170)(145,513,359,232,227,254)(172,209,398,207,279,206) -+> (185,194,309,443)(189,406,463,318,450,427,433,454,315,301,284,358) -+> (193,229,276,240)(208,397)(210,213,212) -+> ,( 1,379,148, 48,128,430,416)( 2, 34,338, 35,235,131,521)( 3,512,352, 47, -+> 318,289,237)( 4,272,506, 49,434,486,282)( 5,524,485, 10,483,340, 55) -+> ( 6,458, 36,487, 60,121, 16)( 7,313,140,336,127,435,270)( 8, 85,147,489, -+> 98,201,417)( 9,469, 94,488,129,329,400)( 11,291, 26, 54,234,473,169) -+> ( 12,207,339, 56,233,503,515)( 13,426,337, 40,232,295,500)( 14, 32,414, 27, -+> 167,130,472)( 15, 33,188, 38,382,109,501)( 17, 31,459, 37,496,132,517) -+> ( 18,263,294,446,451,134,497)( 19,198,525,241,441,244,470)( 20,100,199,490, -+> 242,429,413)( 21,378,403,216,523,421, 58)( 22,124,159, 77, 63,123,292) -+> ( 23,176,275,431,168, 86,293)( 24,177,492,326,104,151,290)( 25, 79,437,269, -+> 163,152,144)( 28,462,150,162, 62,120,415)( 29,239, 83,311, 61,117,260) -+> ( 30,452,149,370, 39,122,389)( 41,468, 73,254,277,432,371)( 42,210,319,502, -+> 373,205,283)( 43,387,194,212,320,508, 99)( 44,396,349,331,399,250,420) -+> ( 45,411,461,375,475,377,418)( 46,344,409,519,522,477,419)( 50,253,278,433, -+> 231, 88,422)( 51,482,138,358,229,463,381)( 52, 91,467,221,230,518,484) -+> ( 53,390,510,494,228,454, 92)( 57,310,460,118,259,367,363)( 59,281,227,274, -+> 505,402,215)( 64,125,245, 76, 93,160,471)( 65,126,408, 75,166, 69,264) -+> ( 66,302,186,116,257,424,327)( 67,187,297,479,217,425,171)( 68,303,296,345, -+> 280,226,273)( 70,240,359,366,364, 97,200)( 71,265,360,394,393,133,423) -+> ( 72,251,146,164,268, 87,312)( 74,252,276,406,513, 89,181)( 78,395,158,185, -+> 315,287,333)( 80,136,351,156,316,286,334)( 81,511,350,184,317,288,335) -+> ( 82,261,392,183,105,309,238)( 84,224,439,182,284,193,236)( 90,466,391,357, -+> 443,170,465)( 95,321,509,353,203,243,197)( 96,516,498,354,300,246,401) -+> (101,405,453,464,154,112,341)(102,139,450,208,388,365,111)(103,440,520,285, -+> 192,266,343)(106,308,218,119,262,448,298)(107,219,368,356,442,301,209) -+> (108,514,412,355,376,474,222)(110,495,137,478,361,444,380)(113,255,342,175, -+> 173,247,305)(114,256,141,328,153,307,304)(115,258,385,325,172,214,306) -+> (135,493,157,455,362,445,407)(142,346,189,398,323,161,499)(143,190,145,436, -+> 271,165,314)(155,195,211,174,404,374,204)(178,507,332,330,248,249,179) -+> (180,372,202,386,196,213,322)(191,267,491,384,438,279,225)(206,428,299,369, -+> 480,220,449)(223,481,383,427,397,324,504)(347,457,447,410,348,456,476));; -+gap> Length(Orbit(gp,set,OnSets)); -+241920 -diff --git a/tst/teststandard/hash2.tst b/tst/teststandard/hash2.tst -index 6bfa4d3..d47452e 100644 ---- a/tst/teststandard/hash2.tst -+++ b/tst/teststandard/hash2.tst -@@ -32,4 +32,8 @@ gap> Length(Orbit(h,h.1[1],OnRight)); - 2079 - gap> Length(Orbit(h,h.2^5,OnPoints)); - 693 -+gap> Length(Orbit(SymmetricGroup(14), [1 .. 7], OnSets)); -+3432 -+gap> Length(Orbit(SymmetricGroup(16), [1 .. 8], OnSets)); -+12870 - gap> STOP_TEST( "hash2.tst", 1); 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 deleted file mode 100644 index 5a464a0fda49..000000000000 --- a/sci-mathematics/gap/files/gap-4.13.1-more-hash-fixes.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 19484a75098d43e75e3facfdd05dccefc358e43f Mon Sep 17 00:00:00 2001 -From: Max Horn <[email protected]> -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-r2.ebuild b/sci-mathematics/gap/gap-4.13.1-r2.ebuild deleted file mode 100644 index 49b0fd13f52a..000000000000 --- a/sci-mathematics/gap/gap-4.13.1-r2.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit estack - -DESCRIPTION="System for computational discrete algebra. Core functionality." -HOMEPAGE="https://www.gap-system.org/" -SRC_URI="https://github.com/gap-system/gap/releases/download/v${PV/_/-}/${P/_/-}-core.tar.gz" - -S="${WORKDIR}/${P/_/-}" - -LICENSE="GPL-2+" -SLOT="0/9" # soname -KEYWORDS="~amd64 ~riscv" -IUSE="cpu_flags_x86_popcnt debug memcheck minimal readline test valgrind" -REQUIRED_USE="?? ( memcheck valgrind )" - -RESTRICT="!test? ( test )" - -# The minimum set of packages needed for basic GAP operation. You can -# actually start gap without these by passing "--bare" to it on the CLI, -# but don't expect anything to work. -REQUIRED_PKGS=" - dev-gap/gapdoc - dev-gap/primgrp - dev-gap/smallgrp - dev-gap/transgrp" - -# The packages aren't really required, but GAP tries to load them -# automatically, and will complain to the user if they fail to load. -# The list of automatically-loaded packages is a user preference, called -# AutoloadPackages, and the upstream default can be found in -# lib/package.gi within the GAP source tree. Passing "-A" to GAP on the -# CLI (or setting that user preference) will suppress the autoload -# behavior and allow GAP to start without these, which is why we allow -# the user to skip them with USE=minimal if he knows what he is doing. -AUTOLOADED_PKGS=" - dev-gap/autpgrp - dev-gap/alnuth - dev-gap/crisp - dev-gap/ctbllib - dev-gap/factint - dev-gap/fga - dev-gap/irredsol - dev-gap/laguna - dev-gap/polenta - dev-gap/polycyclic - dev-gap/resclasses - dev-gap/sophus - dev-gap/tomlib" - -# The test suite will fail without the "required" subset. -BDEPEND="test? ( ${REQUIRED_PKGS} )" - -DEPEND="dev-libs/gmp:= - sys-libs/zlib - valgrind? ( dev-debug/valgrind ) - readline? ( sys-libs/readline:= )" - -RDEPEND="${DEPEND}" - -# If you _really_ want to install GAP without the set of required -# packages, use package.provided. -PDEPEND="${REQUIRED_PKGS} !minimal? ( ${AUTOLOADED_PKGS} )" - -PATCHES=( - "${FILESDIR}/gap-4.13.1-hash-fixes.patch" - "${FILESDIR}/gap-4.13.1-more-hash-fixes.patch" -) - -pkg_setup() { - if use valgrind; then - elog "If you enable the use of valgrind during building" - elog "be sure that you have enabled the proper flags" - elog "in gcc to support it:" - elog "https://wiki.gentoo.org/wiki/Debugging#Valgrind" - fi -} - -src_prepare() { - # Remove these to be extra sure we don't use bundled libraries. - rm -r extern || die - rm -r hpcgap/extern || die - - # The Makefile just tells you to run ./configure, which then - # produces a GNUmakefile. - rm Makefile || die - - default -} - -src_configure() { - # We unset $ABI because GAP uses it internally for something else. - # --without-gmp and --without-zlib both trigger an AC_MSG_ERROR - local myeconfargs=( - ABI="" - --with-gmp - --with-zlib - $(use_enable cpu_flags_x86_popcnt popcnt) - $(use_enable memcheck memory-checking) - $(use_enable valgrind) - $(use_with readline) - $(use_enable debug) - ) - econf "${myeconfargs[@]}" -} - -src_compile() { - # Without this, the default is a quiet build. - emake V=1 -} - -src_test() { - # We need to specify additional root paths because otherwise the - # recently-built GAP doesn't know where to look for the "required" - # packages (which must already be installed). The two paths we - # append to $S are where those packages wind up. - local gaproots="${S}/;" - gaproots+="${EPREFIX}/usr/$(get_libdir)/gap/;" - gaproots+="${EPREFIX}/usr/share/gap/" - - # GAPARGS is a Makefile variable that exists for this purpose. We - # use "-A" to hide the warnings about missing autoloaded-but-not- - # required packages. The tee/pipefail works around a glitch in - # dev-gap/browse that can clobber your terminal. - eshopts_push -o pipefail - emake GAPARGS="-A -l '${gaproots}'" check | tee test-suite.log \ - || die "test suite failed, see test-suite.log" - eshopts_pop -} - -src_install() { - default - - # Manually install Makefile.gappkg - insinto usr/share/gap/etc - doins etc/Makefile.gappkg - - # la files removal - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sci-mathematics/gap/gap-4.13.1.ebuild b/sci-mathematics/gap/gap-4.13.1.ebuild deleted file mode 100644 index 083b69e86f54..000000000000 --- a/sci-mathematics/gap/gap-4.13.1.ebuild +++ /dev/null @@ -1,138 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit estack - -DESCRIPTION="System for computational discrete algebra. Core functionality." -HOMEPAGE="https://www.gap-system.org/" -SRC_URI="https://github.com/gap-system/gap/releases/download/v${PV/_/-}/${P/_/-}-core.tar.gz" - -S="${WORKDIR}/${P/_/-}" - -LICENSE="GPL-2+" -SLOT="0/9" # soname -KEYWORDS="amd64 ~riscv" -IUSE="cpu_flags_x86_popcnt debug memcheck minimal readline test valgrind" -REQUIRED_USE="?? ( memcheck valgrind )" - -RESTRICT="!test? ( test )" - -# The minimum set of packages needed for basic GAP operation. You can -# actually start gap without these by passing "--bare" to it on the CLI, -# but don't expect anything to work. -REQUIRED_PKGS=" - dev-gap/gapdoc - dev-gap/primgrp - dev-gap/smallgrp - dev-gap/transgrp" - -# The packages aren't really required, but GAP tries to load them -# automatically, and will complain to the user if they fail to load. -# The list of automatically-loaded packages is a user preference, called -# AutoloadPackages, and the upstream default can be found in -# lib/package.gi within the GAP source tree. Passing "-A" to GAP on the -# CLI (or setting that user preference) will suppress the autoload -# behavior and allow GAP to start without these, which is why we allow -# the user to skip them with USE=minimal if he knows what he is doing. -AUTOLOADED_PKGS=" - dev-gap/autpgrp - dev-gap/alnuth - dev-gap/crisp - dev-gap/ctbllib - dev-gap/factint - dev-gap/fga - dev-gap/irredsol - dev-gap/laguna - dev-gap/polenta - dev-gap/polycyclic - dev-gap/resclasses - dev-gap/sophus - dev-gap/tomlib" - -# The test suite will fail without the "required" subset. -BDEPEND="test? ( ${REQUIRED_PKGS} )" - -DEPEND="dev-libs/gmp:= - sys-libs/zlib - valgrind? ( dev-debug/valgrind ) - readline? ( sys-libs/readline:= )" - -RDEPEND="${DEPEND}" - -# If you _really_ want to install GAP without the set of required -# packages, use package.provided. -PDEPEND="${REQUIRED_PKGS} !minimal? ( ${AUTOLOADED_PKGS} )" - -pkg_setup() { - if use valgrind; then - elog "If you enable the use of valgrind during building" - elog "be sure that you have enabled the proper flags" - elog "in gcc to support it:" - elog "https://wiki.gentoo.org/wiki/Debugging#Valgrind" - fi -} - -src_prepare() { - # Remove these to be extra sure we don't use bundled libraries. - rm -r extern || die - rm -r hpcgap/extern || die - - # The Makefile just tells you to run ./configure, which then - # produces a GNUmakefile. - rm Makefile || die - - default -} - -src_configure() { - # We unset $ABI because GAP uses it internally for something else. - # --without-gmp and --without-zlib both trigger an AC_MSG_ERROR - local myeconfargs=( - ABI="" - --with-gmp - --with-zlib - $(use_enable cpu_flags_x86_popcnt popcnt) - $(use_enable memcheck memory-checking) - $(use_enable valgrind) - $(use_with readline) - $(use_enable debug) - ) - econf "${myeconfargs[@]}" -} - -src_compile() { - # Without this, the default is a quiet build. - emake V=1 -} - -src_test() { - # We need to specify additional root paths because otherwise the - # recently-built GAP doesn't know where to look for the "required" - # packages (which must already be installed). The two paths we - # append to $S are where those packages wind up. - local gaproots="${S}/;" - gaproots+="${EPREFIX}/usr/$(get_libdir)/gap/;" - gaproots+="${EPREFIX}/usr/share/gap/" - - # GAPARGS is a Makefile variable that exists for this purpose. We - # use "-A" to hide the warnings about missing autoloaded-but-not- - # required packages. The tee/pipefail works around a glitch in - # dev-gap/browse that can clobber your terminal. - eshopts_push -o pipefail - emake GAPARGS="-A -l '${gaproots}'" check | tee test-suite.log \ - || die "test suite failed, see test-suite.log" - eshopts_pop -} - -src_install() { - default - - # Manually install Makefile.gappkg - insinto usr/share/gap/etc - doins etc/Makefile.gappkg - - # la files removal - find "${ED}" -type f -name '*.la' -delete || die -}
