-
-
Notifications
You must be signed in to change notification settings - Fork 481
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
Make sagelib setup.py self-contained and independent of SAGE_ROOT #21480
Comments
comment:1
Am interesting issue is that technically I do something in sage-on-gentoo but that's not really satisfactory. |
comment:3
... and |
comment:4
Replying to @nexttime:
Yes, the plan after #21469 is to use the Sage builddir -- not just for sagelib, but also for other packages. Before #21469 is merged, I want to use |
comment:5
Ah, I see what you meant, now I've found $SAGE_BUILD_DIR. Changed description accordingly. |
This comment has been minimized.
This comment has been minimized.
comment:6
Replying to @mkoeppe:
???
|
comment:7
Replying to @nexttime:
Yes, thanks, see my other comment. |
comment:8
Ah ok, race condition. |
comment:9
By the way, help with implementing this change would be appreciated. I haven't looked at the sagelib build system at all so far. |
Author: Matthias Koeppe |
New commits:
|
Commit: |
This comment has been minimized.
This comment has been minimized.
comment:13
Really |
This comment has been minimized.
This comment has been minimized.
comment:15
Fine with me without $SAGE_VERSION; I was just following leif's suggestion in comment 3. |
comment:16
i understand that SAGE_BUILD_DIR is the srcdir for toplevel configure. as long as sagelib is rooted in $(toplevel)/src, it might be less confusing to choose $SAGE_BUILD_DIR/src (not $SAGE_BUILD_DIR/sagelib) as the builddir for sagelib. (future: replace src by sagelib, but on both ends) i dont know exactly how the approach using setup.py will emulate VPATH builds. i think it should imitate "what automake would do", where applicable. |
comment:17
Replying to @sagetrac-felixs:
No, it's $SAGE_ROOT/var/tmp/sage/build/ |
comment:18
ok, nevermind (i meant to write "SAGE_BUILD_DIR is the builddir for toplevel"). that does not seem to be the case either. still i am wondering why "src" does not (simply) translate to "src". (sure, i am slightly autotools biased). |
comment:20
Here's a first version for review. It seems to work for me. There are still some to-do items (see comments in
I think it would be better if However, setup.sh already does a lot of stuff depending on I think I could use some help from the Python experts in the cc list of this ticket on this.
|
This comment has been minimized.
This comment has been minimized.
comment:132
Replying to @embray:
For the record: in sage-on-gentoo I ship the |
comment:133
This ticket introduces an autotools dependency (src/Makefile.in) and fails on OSX |
comment:134
The is the usual breakage of your release management scripts in case of changes to |
This comment has been minimized.
This comment has been minimized.
comment:137
This now conflicts with the configure spkg version change in 7.4.rc0. |
comment:138
Replying to @mkoeppe:
I know, it is really annoying. |
comment:139
This problem happens every time that you make non-trivial changes to |
This comment has been minimized.
This comment has been minimized.
comment:143
This should be merged as soon as possible to avoid further problems with |
Changed branch from u/jdemeyer/keep_src__clean_by_using___build_base_when_building_sagelib to |
This ticket changes the build process of sagelib in the following way:
src/Makefile
delegates ALL building tosrc/setup.py
src/setup.py
no longer depends on environment variables$SAGE_ROOT
,$SAGE_SRC
,$SAGE_DOC_SRC
etc. (to demonstrate this,Makefile
poisons these environment variables). It still depends on$SAGE_LOCAL
and environment variables that point below it.This ticket is meant as:
sagelib
pip-installable -- see Meta-ticket: Make sagelib a pip-installable Python source package, listed on PyPI #21507 for the eventual goal of having sagelib on PyPIMore specifically, the goal of this ticket is that only SAGE_LOCAL needs to be set when the user does 'pip install' of the sagelib. (This ticket almost achieves this, except it also needs SAGE_PKGS and SAGE_CYTHONIZED to be set. The hope is that #20382 and other future tickets will develop better mechanisms to communicate package and directory information to the build.)
. . . . . . .
Some possibly useful information:
--build-base
to do VPATH builds.pip install
keeps the source directory clean, building instead in a temporary directory, by copying the sources.pip install
also offers options--build
to select a build directory, but there are some pip issues: 2060, 2053, 804 that affect thisconfigure tarball: http://sage.ugent.be/www/jdemeyer/sage/configure-185.tar.gz
CC: @sagetrac-felixs @jdemeyer @kiwifb @embray @nexttime @vbraun @dimpase @jhpalmieri @videlec @saraedum @seblabbe @nthiery @mezzarobba
Component: build
Author: Matthias Koeppe
Branch/Commit:
0c2ac95
Reviewer: Jeroen Demeyer
Issue created by migration from https://trac.sagemath.org/ticket/21480
The text was updated successfully, but these errors were encountered: