On Tue, Jan 22, 2019 at 11:34 PM deSitter <antimatter3...@gmail.com> wrote:
>
> Hello all,
>
> I am interested in creating a native Windows port completely independent of 
> the ugh-worthy Cygwin. Does such a project exist?
>
> TIA
>
> -drl

This is something I had planned to do from the start.  It was never my
preference to use Cygwin, and instead was going to focus on just using
the more minimal MSYS libs.  However, porting all of Sage's
*dependencies* and especially the other CAS's such as GAP and Singular
to work natively is extremely non-trivial (as is porting some other
software like cysignals, though Vincent Klein has made great progress
on that).

I looked early on into some of the dependencies and what it would take
to port them.  I think GAP, for example, would not be *that* hard.
But it's still a non-trivial amount of work.  One of the biggest
hurdles is simply replacing all the uses of fork() throughout Sage and
various dependencies with the appropriate alternative, which may vary
from case to case depending on how it's being used.

If you would like to find funding to pay my salary for the next two to
three years I'd be happy to do it.

P.S. I would not characterize Cygwin as "ugh-worthy".  Cygwin is a
tour-de-force of engineering and is the only reason making Sage work
on Windows was feasible at all, as well as provide a usable UNIX shell
experience along with it.  My only serious motivation for moving away
from Cygwin would be the performance and stability problems
surrounding fork().  It's remarkable that Cygwin is even able to
emulate fork() at all, but it's once of its shakiest areas.  It would
probably help if MSFT open-sourced parts of the WSL, or at least gave
documentation and guidance on how to use the undocumented
RtlCloneUserProcess interface that is known to exist in the NT kernel
but that nobody really knows how to use:
https://www.cygwin.com/ml/cygwin/2018-01/msg00201.html

-- 
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 post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to