summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2023-12-21 09:51:24 -0500
committerMichael Orlitzky <mjo@gentoo.org>2024-01-22 06:28:57 -0500
commitc42748c637c1cb605188f3584cce2aef06276ec3 (patch)
treebff8b8796a2c2e2680bca5374133153844c04864 /sci-mathematics
parentdev-gap/transgrp: new package, add 3.6.4 (diff)
downloadgentoo-c42748c637c1cb605188f3584cce2aef06276ec3.tar.gz
gentoo-c42748c637c1cb605188f3584cce2aef06276ec3.tar.bz2
gentoo-c42748c637c1cb605188f3584cce2aef06276ec3.zip
sci-mathematics/gap: depend on required packages, enable tests
Now that the four "required" GAP packages are in the tree, GAP itself should depend upon them. Afterwards, its test suite is usable (modulo circular dependency issues). Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/gap/gap-4.12.2-r1.ebuild (renamed from sci-mathematics/gap/gap-4.12.2.ebuild)35
1 files changed, 33 insertions, 2 deletions
diff --git a/sci-mathematics/gap/gap-4.12.2.ebuild b/sci-mathematics/gap/gap-4.12.2-r1.ebuild
index 4a74d2e9e3cf..833f8f363351 100644
--- a/sci-mathematics/gap/gap-4.12.2.ebuild
+++ b/sci-mathematics/gap/gap-4.12.2-r1.ebuild
@@ -12,9 +12,21 @@ SRC_URI="https://github.com/gap-system/gap/releases/download/v${PV}/${P}-core.ta
LICENSE="GPL-2+"
SLOT="0/8"
KEYWORDS="~amd64"
-IUSE="cpu_flags_x86_popcnt debug emacs memcheck readline valgrind"
+IUSE="cpu_flags_x86_popcnt debug emacs memcheck readline test valgrind"
REQUIRED_USE="?? ( memcheck valgrind )"
-RESTRICT=test
+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 test suite will fail without the "required" subset.
+BDEPEND="test? ( ${REQUIRED_PKGS} )"
DEPEND="dev-libs/gmp:=
sys-libs/zlib
@@ -23,6 +35,10 @@ DEPEND="dev-libs/gmp:=
RDEPEND="${DEPEND}"
+# If you _really_ want to install GAP without the set of required
+# packages, use package.provided.
+PDEPEND="${REQUIRED_PKGS}"
+
pkg_setup() {
if use valgrind; then
elog "If you enable the use of valgrind during building"
@@ -66,6 +82,21 @@ src_compile() {
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.
+ emake GAPARGS="-A -l '${gaproots}'" check
+}
+
src_install() {
default