New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The GAP system #34472
The GAP system #34472
Conversation
There are two known issues with this PR:
|
@kiwifb please let me know what you think. I just sent the new category RFC to the mailing list, but will wait for feedback before posting the eclass. All GAP tests should pass now (once you work out the circular deps), and the sage test suite passes if you uninstall browse and polenta. |
Well, so far I am very impressed. I never took the time to work out testing for example. The browse/polenta stuff is weird, I may have a look later but I am in serious holiday mode. |
I'm not expecting you to drop what you're doing and review this on Christmas. Enjoy yourself. Happy holidays :) |
Pull request CI reportReport generated at: 2023-12-25 18:08 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
The polenta issue has been fixed (thanks @fingolfin), leaving only the weird browse issue that I've been dreading. |
Pull request CI reportReport generated at: 2024-01-11 17:47 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for working on this! A few minor remarks as inline comments.
I'd be happy to help with the Browse issue, but I don't know what it is exactly, and I don't use Sage, so I am not sure how to reproduce it
I recently taught Sage to use the system copy of GAP and its packages, making this a lot easier to test. If sage is using GAP without Browse installed, you can test for example the following file:
After installing Browse, however, it hangs indefinitely. (This may also require atlasrep). You can kill it with Ctrl-C after it gets stuck, and the traceback implicates Browse:
I don't know much beyond that except that I also had to pipe the tests in our eclass through The same issue manifests on arch linux as well: sagemath/sage#31761 (comment) |
This also hides the problem when running the sage test suite. The following works,
but redirecting only stdout or stderr individually was insufficient. |
That issue with browse is very reminiscent of the problem with xgap years ago (2013 cschwan/sage-on-gentoo#189 and there should be more on sage-devel and possibly on trac), which could cause this kind of problems and more with sage. More problems because at the time a gap session would be started in the background when starting sage I think. At the time I was trying to install every single packages of the gap tarball and for some reason they would all load. |
Before the recent changes to support system GAP, a larger collection of packages was being loaded at startup, and any additional optional packages used by the default set are loaded as well. So you could wind up with quite a lot. Moreover, at some point, |
fi | ||
} | ||
|
||
# @FUNCTION: gap-pkg_enable_tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm confused. It looks as if you're supposed to call this if package has tests but the test phase is run independently of whether it was called. I suppose that would lead to people missing it and effectively ending up with missing deps?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's just a helper function for the boilerplate associated with a package that has a test suite and has runtime deps that aren't normally build-time deps. In that case, we want to add IUSE=test
, add RESTRICT="!test? ( test )"
, and add all runtime deps as build-time deps when USE=test
is set.
You could do that all yourself, of course, but it's handy to have a function that does it.
Is your issue with the phrase "enable tests?" If so, I just stole it from distutils_enable_tests
and elisp-enable-tests
, which serve similar purposes. (Better to be consistent than perfect.)
This just showed up today while building
|
Pull request CI reportReport generated at: 2024-01-14 13:27 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
@orlitzky mayve helpful: gap-system/gap#5383 |
That's certainly the issue, and we're used to getting ourselves into trouble when re-running autotools, but what I find baffling is that the issue just recently appeared. I've been using libtool-2.4.7 for over a year. My best guess is that I added the |
Pull request CI reportReport generated at: 2024-01-14 14:58 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
GAP_PKG_HTML_DOCDIR="htm" | ||
|
||
# The "exam" directory contains examples... but they're loaded by | ||
# read.g, and actually used by dev-gap/polenta! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# read.g, and actually used by dev-gap/polenta! | |
# read.g, and actually used by dev-gap/alnuth! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alnuth's test suite actually passes without its own examples, but the polenta test suite doesn't (without alnuth's examples). So the comment is as intended... but if some part of alnuth is using its own examples then it would be less confusing to have it say alnuth and not polenta.
Pull request CI reportReport generated at: 2024-01-14 17:27 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
Trip down memory lane cschwan/sage-on-gentoo#690 took me a while to figure it out and I historically fixed it with cschwan/sage-on-gentoo@f764f7e |
Pull request CI reportReport generated at: 2024-01-14 19:42 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
Suggested-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
…GORY} Suggested-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Some day, this might pull in app-emacs/gap-mode, which does not yet exist. I tried to package it but it throws several warnings in the latest version of emacs: https://gitlab.com/gvol/gap-mode/-/issues/13 For now let's drop the flag since it doesn't do anything. Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Without AC_CONFIG_MACRO_DIRS in configure.ac, running eautoconf clobbers the important m4_include directives in aclocal.m4, leading to libtool version errors in the build. A quick "sed" does the trick. Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Since removing the --bindir and --libdir flags from the default econf, this function is unused. Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Max Horn <horn@mathematik.uni-kl.de> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Max Horn <horn@mathematik.uni-kl.de> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
The comment listing the file extensions to be installed as documentation was outdated, as such things are doomed to be. It has been changed to less precise and more accurate. Suggested-by: Max Horn <horn@mathematik.uni-kl.de> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
The default value for this variable was essentially being set inside gap-pkg_src_install, rather than at the top-level. We move it to the top level so that the eclass man page correctly documents it. Suggested-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
In case François and I get hit by the same bus, but mainly for symmetry: sci-mathematics is also listed as a co-maintainer on the individual dev-gap packages. Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Michael Mair-Keimberger <mmk@levelnine.at> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Michael Mair-Keimberger <mmk@levelnine.at> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Michael Mair-Keimberger <mmk@levelnine.at> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Michael Mair-Keimberger <mmk@levelnine.at> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Michael Mair-Keimberger <mmk@levelnine.at> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Michael Mair-Keimberger <mmk@levelnine.at> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Suggested-by: Michael Mair-Keimberger <mmk@levelnine.at> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
This is where skel.ebuild puts it. Suggested-by: Michael Mair-Keimberger <mmk@levelnine.at> Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Perfect, thanks. I did move |
Pull request CI reportReport generated at: 2024-01-17 01:27 UTC There are existing issues already. Please look into the report to make sure none of them affect the packages in question: |
I'm going to re-test everything with clang-17 and when GAP has memcheck/valgrind enabled, but if all goes well, I plan to merge this tonight or tomorrow and sneak it in as a late entry to @akhuettel's 2023 round-up. |
Merged, thanks everyone. |
Massive thanks to everybody here - so wonderful to see this in! |
Close bug 49282 ahead of its 20th anniversary by adding GAP, a new gap-pkg eclass, the dev-gap category, and a collection of useful GAP packages under dev-gap.
Based largely upon the work of @kiwifb in the sage-on-gentoo overlay.