[PATCH] plan9 updates for new cpython fork
Jeff Sickel
jas at corpus-callosum.com
Mon Aug 12 15:26:47 CDT 2013
On Jul 16, 2013, at 10:47 AM, Kevin Bullock <kbullock+mercurial at ringworld.org> wrote:
> On 16 Jul 2013, at 10:16 AM, Augie Fackler wrote:
>
>> On Mon, Jul 15, 2013 at 12:04:10PM -0500, Jeff Sickel wrote:
>>> plan9: support new cpython fork for Plan 9
>>>
>>> A new CPython fork has been created at http://bitbucket.org/jas/cpython
>>> specifically to update the Plan 9 Python version to v2.7.5 and add new
>>> architectures beyond 386. The new Python v2.7.5 port supports a more
>>> typical `python setup.py` configuration which allows us to modify the
>>> mercurial build process for the platform.
>>
>> I see at least 4 patches here:
>>
>> 1) 9mail: new script to add support for upas/marshal
>> 2) 9diff: update path to 9diff for $REASON
>> 3) plan9: update setup.py and mkfile to support new cpython
>> 4) factotum: not sure offhand what this patch is
http://plan9.bell-labs.com/magic/man2html/4/factotum
Yes, I've been using mq and have saved off the various patches in my
own patch queue and tried to submit them per one of the MQ docs on
the mercurial wiki.
>> Please split the commit into more workable chunks along lines like
>> this and resend the series. Thanks!
>
> Please also see <http://mercurial.selenic.com/wiki/ContributingChanges> (and note that Augie has kindly written the first line of each of your commit messages for you).
I'll review these and make the appropriate changes.
> Also, does this break the build for people using the old CPython on plan9? That's probably undesirable. We take backward compatibility very seriously.
There are three issues here:
1) The patch to setup.py addresses the install issue for both the
old python2.5 version and this new python2.7 port
(https://bitbucket.org/jas/cpython).
2) Plan 9 does not have dynamic libraries (shlibs/.so) so any rebuild
of CPython would be based on the latest release as the older Python
2.5 port is no longer viable on recent Plan 9 kernels. This latest
release also uses the built-in mercurial C modules instead of the
pure python modules, providing a desirable performance increase from
the prior port.
2) The old Plan 9 CPython 2.5 port has not been updated or rebuilt for
four years and only supports 386. The latest 2.7 release supports
the recent Plan 9 kernels with viable targets for 386, amd64, arm,
mips, and powerpc.
We in the Plan 9 community take compatibility very seriously as well.
That said, we also know when to let something go when it no longer serves
the installed base.
Jeff
More information about the Mercurial-devel
mailing list