[Mobile-sig] Next Steps for "Working" Port

Cyd Haselton chaselton at gmail.com
Fri Feb 20 12:40:17 CET 2015



On February 19, 2015 10:44:46 PM CST, Russell Keith-Magee <russell at keith-magee.com> wrote:
>On Fri, Feb 20, 2015 at 11:22 AM, Cyd Haselton <chaselton at gmail.com>
>wrote:
>
>>
>>
>> On February 19, 2015 9:00:22 PM CST, Russell Keith-Magee <
>> russell at keith-magee.com> wrote:
>> >On Fri, Feb 20, 2015 at 8:26 AM, Cyd Haselton <chaselton at gmail.com>
>> >wrote:
>> >
>> >> Thanks to the help and input of people from this and the
>python-dev
>> >list
>> >> I've hacked together a nearly complete port of Python 3.4.2 to
>> >> Android...specifically the KBOX system running on Android. I'm
>> >currently
>> >> working at what I hope is the last bug...typing 'modules string'
>> >segfaults
>> >> the python binary.
>> >>
>> >> I started this with the mindset that the port was just a step on
>the
>> >way
>> >> to porting Mozilla's SpiderMonkey. I still intend to do this but
>I'm
>> >also
>> >> wondering if, given the huge amount of work it's been, there is
>any
>> >public
>> >> usefulness to this port.
>> >>
>> >> If so, what would be the next steps? Keep in mind that I am
>> >relatively new
>> >> to pretty much everything related to the Linux platform, code
>> >> development/contribution/maintenance and the like.
>> >>
>> >
>> >Are you looking for advice on the next steps for building
>SpiderMonkey?
>> >If
>> >this is the case, then I'm not sure this is the best forum for that
>> >discussion. This is a *Python* mobile-sig, not a general purpose
>Mobile
>> >development forum. I'm not sure I see the connection between
>> >SpiderMonkey
>> >and Python in this instance (although I admit I might be missing
>some
>> >relevant but non-obvious connection here). If you want advice on how
>to
>> >build SpiderMonkey, then a general purpose Android mailing list
>would
>> >be a
>> >better forum.
>> >
>>
>> Last time I checked Python was a prerequisite for SpiderMonkey but no
>i'm
>> not asking for advice on how to port it.
>>
>
>A prerequisite for *running* SpiderMonkey, or *building* it? Because if
>you're just looking for a build, it sounds like you've just shaved the
>wrong yak :-)
>

Prereq for both, I thought. And I was intending to build on device

>>However, if you're looking for advice on how to advance your Python
>> >3.4.2
>> >port, then I would guess the next step is to share your patches and
>> >build
>> >instructions. Others have shared patches, but I don't think we're
>quite
>> >at
>> >the point of a set of patches that could be applied to the Python
>> >source
>> >tree that would make Android a platform supported by Python
>> >"out-of-the-box". Everything I've seen to date involves
>post-patching
>> >Makefiles, pyconfig.h, or providing other post-configure
>modifications
>> >of
>> >the source tree, or results in a sys.platform that identifies as
>> >"Linux".
>> >
>>
>> With the exception of a tricky segfault issue all of the patches I
>applied
>> were ones I found at bugs.python.org or links included in bug reports
>at
>> bugs.python.org. I've bookmarked them all, but what is the standard
>> process/format for sharing?
>>
>
>Well, there isn't a "standard" process that I'm aware of at the moment
>-
>this SIG is only a month or two old.
>
>Ultimately, I'd like to get someone from the core team in a corner and
>say
>"merge these N patches and you'll solve all our mobile problems". So -
>any
>knowledge sharing that helps to develop what tickets are on that hit
>list
>is a win.
>

I'll pull the build directory off the device, pull out the modified files, get the bookmarked patches and make a list.

>Also, is there a problem with sys.platform identifying as Linux if
>> ./configure detects it as such?
>>
>
>Well, Yes, Android is a "linux" - but that's really only true at the
>kernel
>level. It's not just a "Debian vs Ubuntu vs RedHat" type distinction -
>the
>filesystem is different, the process model is different, the system
>resources available at runtime are different, and so on.
>
>The same is true on iOS - Yes, technically, it is a Darwin kernel - but
>that's about where the similarity with OS/X ends.
>
>From a practical perspective, there needs to be a way to identify that
>you
>aren't dealing with a Linux desktop machine, but an Android device (or,
>not
>a Mac, but an iPhone/iPad). To me, sys.platform seems like the most
>obvious
>place to make this distinction, but if someone wants to posit a
>different
>identifier (presumably on the basis that sys.platform is intended to be
>a
>kernel identifier), then fine. However, so far, I haven't seen any
>patches
>that add *any* sort of system identifier.
>

I have little experience in using autoconf but I do know that, as of GCC 4.8 the -mbionic -mandroid flags define __ANDROID__...perhaps there is a way for setup.py or Setup to key off that to update sys.platform
>
>> >Don't get me wrong - getting Python to work on Android *at all* is
>> >obviously an achievement - but to my mind, the end goal should be to
>> >get
>> >the source tree to a point where it *isn't* a big achievement - just
>a
>> >simple set of instructions using a default source download.
>> >
>> Provided I can share patches and build instructions properly would
>this
>> port be a useful contribution towards that end goal?
>>
>
>IMHO, a detailed post to this list or a link to a gist/blog post would
>both
>do the job.
>

Will do after I;ve compiled the info

>Yours,
>Russ Magee %-)

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.


More information about the Mobile-sig mailing list