Use meson in sage-the-distro#39030
Conversation
|
Sure, I'm ready to help as much as I can. Could you share an outline of how this is meant to work? I imagine it is an adaptation to the Sage's venv (which is a more or less standard venv, no?) of what one can get e.g. with a standard venv on Gentoo Linux, or another environment where all the dependencies are available. Would this approach also work for a Conda-based environment? |
|
As a first step, I would not change how sage-the-distro works. So leave all the dependency installation (python and non-python deps) untouched for now. (We can discuss later how to transfer the configure checks to meson, and perhaps even completely replace the install scripts by mesons wrap files) So, basically the only required change would be |
|
running |
|
that's cause |
|
I think these requirements files can be safely deleted. At least I'm not aware of any usage of them. |
these are for building all these sagemath-* pseudo-packages. By the way, can you resolve the git conflict? |
You are right, these are actually used. Does ae33069 works for you? (I cannot test it atm on linux) |
|
something in your branch broke the build system, with recursive make running wild. Not much fun to debug. |
|
by the way, can this be based on the grayskull branch - this would make working a bit faster, as |
|
the recursion (I ran So the problem is that |
|
in the output of ./configure. It needs, and always needed, the following fix: --- a/configure.ac
+++ b/configure.ac
@@ -431,7 +431,7 @@ AS_IF([test "x$enable_download_from_upstream_url" = "xyes"], [
])
AC_SUBST([SAGE_SPKG_OPTIONS])
-AC_ARG_ENABLE([sagelib],
+AC_ARG_ENABLE([sage_conf],
AS_HELP_STRING([--disable-sage_conf],
[disable build of the sage_conf package]), [
for pkg in sage_conf; do |
|
your fix for VERSION.txt didn't work: |
|
To unblock this, one needs to fix
? After these changes, |
|
with changes as above, the ERROR comes from Indeed, there is no One way or another, With --- a/build/pkgs/sagelib/spkg-install.in
+++ b/build/pkgs/sagelib/spkg-install.in
@@ -1,7 +1,7 @@
if [ "$SAGE_EDITABLE" = yes ]; then
- cd ../../..
+ cd $SAGE_ROOT
else
- cd ../../..
+ cd $SAGE_ROOT
# Issue #34181: Do not allow scripts with shebang lines from old
# venvs leak into new venvs. (Changes only seem to be necessary
# for non-editable builds.)one gets to where the log says So |
Co-authored-by: Kwankyu Lee <ekwankyu@gmail.com>
Fixed that now by removing the conf.py files also here in this PR. Since the CI is passing, setting it back to positive review. |
|
merge conflict |
Resolved now. @vbraun |
|
This breaks the standalone build of the docs. Previously I was doing and this no longer works, sphinx throws multiple errors such as The |
|
The conf.py files should be copied upon build to the build dir via: sage/src/doc/ru/tutorial/meson.build Line 5 in f4adc25 Is this not working for you? ( |
|
I must say that matches my experiences when I looked into it a few weeks ago when testing the ticket. I used to have a separate from scratch build of the documentation and doing the same thing that antonio-rojas mentions gave the same results. I may have commented upon it, that it was looking like, I was going to have to build the documentation straight after sage and before installing it (sage that is). I have not looked at it again since then. |
No. In the
That's fine, it's the build path in the container where we build distro packages (I get the same issue building locally so it is irrelevant). |
|
Uncommenting the commented out line However, this creates a humongous |
|
Okay, thanks. So it's indeed only a build-target-dependency issue. I don't have much time at the moment to look into this more, but perhaps #40904 fixes this. Still find it curious that the doc build succeeds on CI with what looks like essentially the same commands as what you use... |
Replace the old setuptools-based build by the new meson-based one in sage-the-distro. Delete most of the old stuff that is no longer needed now.
📝 Checklist
⌛ Dependencies