With all non-python pre-reqs in place, 
just run./bootstrap and pip to build sagelib, that's all. 
No need to worry about a dodgy custom venv, 
unhappy ./configure, etc.


> Interesting, where can I find a list of the non-python pre-reqs?  

https://github.com/sagemath/sage/blob/871ba9daed15374d6b2ff1c533970f44b70f21e9/pyproject.toml#L101-L162

Btw, `bootstrap` is not required. git checkout + `pip install .` is all you 
need. 


On Friday, April 11, 2025 at 3:10:07 AM UTC+8 Nathan Dunfield wrote:

On Thursday, April 10, 2025 at 9:37:09 AM UTC-5 Dima wrote:

On 10 April 2025 07:45:09 GMT-05:00, I wrote: 
>To me, a "proper Python package" is something I can install with 
>"random-python -m pip install blah" that pulls a binary wheel off PyPI 
that 
>just works. If we're getting close to being able to do that, which would 
>absolutely amazing, then why not wait until that's done so we can ditch 
>sage-the-distribution completely? 

Sorry, let's not try to shift the goalposts now.


I didn't mean shift goalposts, I just misunderstand what you meant by the 
phrase "proper Python package"; the definition I'm familiar with goes 
farther at least on macOS/Windows.
 

Binary wheels (with self-contained binary extension modules) are a 
different story, and I am under the impression they are not of any use to 
the macOS app building.


Binary wheels are just fine for the macOS app, indeed it already uses a 
number of them.  For example, while "pillow" is a standard spkg, that 
version only supports a limited number of image types.  So that macOS app 
instead uses the one off PyPI to offer more functionality.

As far as I can see, we are at the point where macOS app can switch to 
using the meson build, with any Python you want. E.g. you can use the same 
Python as you use to package Jupyter (my understanding is that how macOS 
app does it). 

With all non-python pre-reqs in place, 
just run./bootstrap and pip to build sagelib, that's all. 
No need to worry about a dodgy custom venv, 
unhappy ./configure, etc.


Interesting, where can I find a list of the non-python pre-reqs?  
 

We were told here that you want to build everything from source, and with 
this build you can do this just fine.


Building from source isn't necessary per se, for example a 
statically-linked self-contained wheel is fine.
However, nothing in the macOS app can be dynamically linked to a library in 
/opt/homebrew, for example.

Best,

Nathan

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sage-devel/f5e80d0c-ce87-4974-af7e-6dc12fb2ceban%40googlegroups.com.

Reply via email to