-
-
Notifications
You must be signed in to change notification settings - Fork 487
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
Install some dummy and optional packages using conda-forge (micromamba) #35585
base: develop
Are you sure you want to change the base?
Conversation
Would this work for the 3-manifolds binary distribution? You might want to use |
Thanks! https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html indeed looks like a better choice. |
@culler Could you take a look if this breaks anything for your distro build? |
Thank you for checking! I checked my last build of 10.0.rc0. When I look in logs/pkgs I do not see log files for packages named conda, micromamba, info, or rubiks. I also do not see any of those packages in local/var/lib/sage/venv-python3.11.1/var/lib/sage/installed or local/var/lib/sage/installed. I think that means that we are not building any of those packages, and therefore will not be affected by any changes to those packages. We don't support sage -i so changes to sage -i pandoc will not affect us. And we do not run make pandoc. I see changes to bootstrap and Makefile.in. Potentially those will cause trouble, of course, but I do not see anything obviously problematic. There are changes to sage-env but I have to patch that anyway. I would rather not change my patch, but I can do that if forced to and I don't think I will have to. I see that conda has been added as a dependency to several packages, including ffmpeg and imagemagick. But as far as I can tell we are not building those either. Are there some other places where I should be looking? |
This branch has not been merged yet! |
The packages Sounds like this PR won't have a direct effect on your distribution. |
I was not reporting that as an error. I was reporting it as evidence that we have not built those packages in any previous release, and therefore can be hopeful that changes to them will not affect our build.. |
Our guiding principle has been that we include every optional package which (1) we are able to build and (2) cannot be installed with pip. So removing packages which we currently install will be fine as long as those packages can be installed with pip. On the other hand, breaking optional packages which build without problems and run fine, but cannot be installed with pip, will make our distribution worse. I don't know why you would want to do that, though. Maybe you could give me an idea of which packages you are referring to. What would be the reason for getting rid of your example package, latte_int? |
We're not removing packages. We're replacing the custom installation script by a general installation script that uses conda for the installation. |
…: Change from dummy package to conda package
… packages bootstrap: For conda-installed packages, also emit --enable-SPKG advice
src/doc/en/developer/packaging.rst: Expand on conda packages
src/bin/sage-env: Add the conda env to PATH if present build/make/Makefile.in: Try to install script packages without spkg-install using mamba build/make/Makefile.in, src/bin/sage-env: Activate the conda env for installing, remove user conda env vars Switch from mamba-forge to micromamba build/pkgs/conda/SPKG.rst: Update Simplify placement of conda env Update build/pkgs/conda/spkg-install Co-authored-by: Isuru Fernando <isuruf@gmail.com> src/bin/sage-env: Do not override conda env vars here; do that only in build/make/Makefile.in
Documentation preview for this PR (built with commit 3193b87; changes) is ready! 🎉 |
📚 Description
sage -i pandoc
ormake pandoc
will now use micromamba to install the package into an isolated conda environment in$SAGE_LOCAL/var/lib/sage/conda
.Likewise for the other dummy packages.
We also reduce normal optional packages
info
,valgrind
,rubiks
to conda-installed packages.This reduces platform support for these optional packages to the platforms supported by conda-forge / micromamba, in particular, it drops support for 32-bit Linux. See:
This is the first step toward:
spkg-install
by conda #35583📝 Checklist
⌛ Dependencies