Re: investigating stackless frameworks for iOS and OSX
Kristján Valur Jónsson <[email protected]> Fri, 3 Apr 2015 10:59:38 +0000
| Newsgroups | gmane.comp.python.stackless |
|---|---|
| Message-ID | <CAP8kY6ZQbSAfj3j_6KmeAHr05MqbbD88ENfzVdnCh5swq9tFNg@mail.gmail.com> |
--===============1815474413806146959== Content-Type: multipart/alternative; boundary=089e0158ad523ac1360512cfd8a6 --089e0158ad523ac1360512cfd8a6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Aha. The annoying thing with this patching approach is that you cannot make changes to the baseline without invalidating all the patches. I suppose they must have a private branch somewhere which they use to generate the .patch files. Regarding switching: I noticed this when I was woking on my tealet project (https://bitbucket.org/stackless-dev/tealet) . I took the switching code from the greenlet project. There are differences with Stackless, but it isn't always clear which is the more up-to-date version. Also, some of the platforms supported look rather outmoded. What we want to focus on, I suppose, is Win32, Win64, i686 and x86_64 (win and linux intel cpus) plus arm.... Theoretically, we probably should differentiate between arm and armhf, since we should save and restore floating point registers. I tried to be careful with that in the x64 port that I did for windows back in the days..= . K On 2 April 2015 at 12:25, Jeff Senn <[email protected]> wrote: > Kivy still does this (though I suppose they branched the original > PythonForAndroid) -- only the patches are pretty minor (mostly build stuf= f > and a few changes here ad there for platform problems -- Android is not t= oo > bad as it is Linux natively). The same is true of Kivy's iOS python > (different patches of course). > > One other thing I noticed (in my occasional cross-platform foray): the > stackless codebase probably should get a review of the platform-specific > switching code at some point -- the Greenlet project ( > https://github.com/python-greenlet) originally a spinout of Stackless, > has improved platform switching code (in terms of number of platforms and > ease of building). > > On Apr 2, 2015, at 6:16 AM, Kristj=C3=A1n Valur J=C3=B3nsson <sweskman@gm= ail.com> > wrote: > > Interesting. The last time I looked, (some 18 months ago) kivy (for > android) was using "PythonForAndroid". > This was a strange beast, being built bu pulling a particular revision of > Python2.7 and applying a bunch of "patches" to it before compiling it. > My thought at the time was to try to merge those patches into a proper > Stackless Python branch, and thus make Stackless the python of choice for > Android and IOS. > Sadly, I didn't have the time for such a project. > Now, it appears PythonForAndroid has morphed into QPython or something...= . > > > On 19 March 2015 at 18:26, Jeff Senn <[email protected]> wrote: > >> >> >> I have a patch that switches out the python with stackless for iOS (and >> hopefully soon Android). I haven't done much testing yet though. >> >> I > > _______________________________________________ > Stackless mailing list > [email protected] > http://www.stackless.com/mailman/listinfo/stackless > > > > _______________________________________________ > Stackless mailing list > [email protected] > http://www.stackless.com/mailman/listinfo/stackless > --089e0158ad523ac1360512cfd8a6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Aha.=C2=A0 The annoying thing with this patching approach = is that you cannot make changes to the baseline without invalidating all th= e patches.=C2=A0 I suppose they must have a private branch somewhere which = they use to generate the .patch files.<div><br></div><div>Regarding switchi= ng: =C2=A0I noticed this when I was woking on my tealet project (<a href=3D= "https://bitbucket.org/stackless-dev/tealet">https://bitbucket.org/stackles= s-dev/tealet</a>) .=C2=A0 I took the switching code from the greenlet proje= ct.=C2=A0 There are differences with Stackless, but it isn't always cle= ar which is the more up-to-date version.=C2=A0 Also, some of the platforms = supported look rather outmoded.</div><div><br></div><div>What we want to fo= cus on, I suppose, is Win32, Win64, =C2=A0i686 and x86_64 =C2=A0(win and li= nux intel cpus) plus arm....</div><div><br></div><div>Theoretically, we pro= bably should differentiate between arm and armhf, since we should save and = restore floating point registers.=C2=A0 I tried to be careful with that in = the x64 port that I did for windows back in the days...</div><div><br></div= ><div>K</div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote= ">On 2 April 2015 at 12:25, Jeff Senn <span dir=3D"ltr"><<a href=3D"mail= to:[email protected]" target=3D"_blank">[email protected]</a>></span> wrote:<br>= <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"><div style=3D"word-wrap:break-word">Kivy sti= ll does this (though I suppose they branched the original PythonForAndroid)= -- only the patches are pretty minor (mostly build stuff and a few changes= here ad there for platform problems -- Android is not too bad as it is Lin= ux natively).=C2=A0 The same is true of Kivy's iOS python (different pa= tches of course).<div><br></div><div><div>One other thing I noticed (in my = occasional cross-platform foray): the stackless codebase probably should ge= t a review of the platform-specific switching code at some point -- the Gre= enlet project (<a href=3D"https://github.com/python-greenlet" target=3D"_bl= ank">https://github.com/python-greenlet</a>) originally a spinout of Stackl= ess, has improved platform switching code (in terms of number of platforms = and ease of building).</div><div><br></div><div><div><div><div><blockquote = type=3D"cite"><div><div class=3D"h5"><div>On Apr 2, 2015, at 6:16 AM, Krist= j=C3=A1n Valur J=C3=B3nsson <<a href=3D"mailto:[email protected]" targe= t=3D"_blank">[email protected]</a>> wrote:</div><br></div></div><div><d= iv><div class=3D"h5"><div dir=3D"ltr">Interesting.=C2=A0 The last time I lo= oked, (some 18 months ago) kivy (for android) was using "PythonForAndr= oid".<div>This was a strange beast, being built bu pulling a particula= r revision of Python2.7 and applying a bunch of "patches" to it b= efore compiling it.</div><div>My thought at the time was to try to merge th= ose patches into a proper Stackless Python branch, and thus make Stackless = the python of choice for Android and IOS.</div><div>Sadly, I didn't hav= e the time for such a project.</div><div>Now, it appears PythonForAndroid h= as morphed into QPython or something....</div><div><br><div class=3D"gmail_= extra"><br><div class=3D"gmail_quote">On 19 March 2015 at 18:26, Jeff Senn = <span dir=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_blank">se= [email protected]</a>></span> wrote:<br><blockquote class=3D"gmail_quote" styl= e=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br> <br> I have a patch that switches out the python with stackless for iOS (and hop= efully soon Android). I haven't done much testing yet though.<br> <br> I</blockquote></div></div></div></div></div></div> _______________________________________________<span class=3D""><br>Stackle= ss mailing list<br><a href=3D"mailto:[email protected]" target=3D"_bl= ank">[email protected]</a><br><a href=3D"http://www.stackless.com/mai= lman/listinfo/stackless" target=3D"_blank">http://www.stackless.com/mailman= /listinfo/stackless</a></span></div></blockquote></div><br></div></div></di= v></div></div><br>_______________________________________________<br> Stackless mailing list<br> <a href=3D"mailto:[email protected]">[email protected]</a><br> <a href=3D"http://www.stackless.com/mailman/listinfo/stackless" target=3D"_= blank">http://www.stackless.com/mailman/listinfo/stackless</a><br></blockqu= ote></div><br></div> --089e0158ad523ac1360512cfd8a6-- --===============1815474413806146959== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Stackless mailing list [email protected] http://www.stackless.com/mailman/listinfo/stackless --===============1815474413806146959==--