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&#39;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">&lt;<a href=3D"mail=
to:[email protected]" target=3D"_blank">[email protected]</a>&gt;</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&#39;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 &lt;<a href=3D"mailto:[email protected]" targe=
t=3D"_blank">[email protected]</a>&gt; 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 &quot;PythonForAndr=
oid&quot;.<div>This was a strange beast, being built bu pulling a particula=
r revision of Python2.7 and applying a bunch of &quot;patches&quot; 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&#39;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">&lt;<a href=3D"mailto:[email protected]" target=3D"_blank">se=
[email protected]</a>&gt;</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&#39;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==--