-
-
Notifications
You must be signed in to change notification settings - Fork 488
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
Add "configure --disable-notebook"; show descriptions of optional packages in "configure --help" #30383
Comments
This comment has been minimized.
This comment has been minimized.
comment:3
Suggestions for a better name for this new package type are welcome |
comment:4
Alternatively, we could also make it possible to disable any standard package. |
This comment has been minimized.
This comment has been minimized.
Dependencies: #29363 |
New commits:
|
Commit: |
Author: Matthias Koeppe |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:12
Doesn't this create a bajillion ./configure options that basically do nothing (because the packages are dependencies), and another bajillion that cause sage to function improperly (test suite failures, etc.)? I think the original approach was more on-track, although I wouldn't have created a separate package type for it (we don't need to proliferate a new package type throughout the build system every time we tweak a bit of metadata). Instead I would have added an "enabled by default" (default: no) feature somewhere to the optional packages. Long-term, a way to control (and depend on) optional features is needed, but that's a much larger undertaking akin to USE flags in Gentoo. |
comment:13
Replying to @orlitzky:
Yes, a gazillion of "advanced options" |
comment:14
Most "standard" packages are not really required in any strict sense other than passing doctests that test particular features. Making it possible to disable them gives users a remedy when the build fails on a system |
Changed keywords from none to sd111 |
comment:15
Hoping we can make progress on this ticket this week - https://wiki.sagemath.org/days111 |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:33
Replying to @jhpalmieri:
Thanks for catching this - I had thought I could get rid of |
comment:34
Replying to @jhpalmieri:
Sorry, I was playing with Unicode superscripts. If it does not render nice, I can just go back to using ascii |
Branch pushed to git repo; I updated commit sha1. New commits:
|
This comment has been minimized.
This comment has been minimized.
comment:37
Typo in the comments? In Configuring with I don't know the syntax well enough to be able to thoroughly review this, unfortunately. Anyone else? |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:39
Replying to @jhpalmieri:
This is, in fact, a weakness in our doctest coverage. We have nothing at all that tests whether the Jupyter notebook works. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:46
Replying to @mkoeppe:
Maybe related to the fact that you can't start the notebook once you are running Sage from the command line? With SageNB you could run |
comment:47
I think it's just that nobody has worked on writing such tests. I guess there must be technologies for automatically testing web apps but I don't know about them or if Jupyter already uses them. |
comment:48
Replying to @jhpalmieri:
This is certainly a feature that I certainly could have used if it was available. Transforming an existing Python process to a Jupyter kernel just amounts to running |
Reviewer: Dima Pasechnik |
comment:49
this looks good to go. |
Changed reviewer from Dima Pasechnik to John Palmieri, Dima Pasechnik |
comment:50
Thanks! |
Changed branch from u/mkoeppe/new_package_type__optional_enabled_by_default to |
We refactor the code in
sage_spkg_enable.m4
andsage_spkg_collect.m4
so that it becomes possible to addconfigure --disable-SPKG
options to disable standard packages. This also simplifiesbuild/make/Makefile.in
slightly because it no longer has to make a distinction between standard and optional packages.We demonstrate this by adding one such option,
configure --disable-notebook
, which disables building the Jupyternotebook
package ... and all of its exclusive dependencies. This is useful for people who want to use the system Jupyter notebook -- the Jupyter kernel is still built and can be installed there.The new option appears before the
--enable...
options for optional packages.We also make the configure help a bit more informative (by including the 1-line descriptions of the optional packages) and prettier.
This is also preparation for #30556 (packages that will not work without openssl), and for testing modularized installs (#30778, #29864).
CC: @jhpalmieri @orlitzky @slel @seblabbe @dimpase @embray @kliem
Component: build
Keywords: sd111
Author: Matthias Koeppe
Branch/Commit:
4916415
Reviewer: John Palmieri, Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/30383
The text was updated successfully, but these errors were encountered: