9fans,

I am pleased to announce the public release of a new Python v2.7.5
and Mercurial 2.6.2 port to Plan 9 (and derivitives).  This has been
an ongoing effort sponsored by Coraid.  A contrib package jas/cpython
is currently being uploaded and should be available shortly.

The Python developers no longer accept non-major OS ports into their
repository, so I've started a fork on https://bitbucket.org/jas/cpython
that has a plan9 branch off of the core 2.7 branch.  With proper
maintenance we'll be able to track significant release changes from
the Python community as needed.  If we do identify bugs with the default
Python source, we're free to submit them upstream.  If you already have
hg you can clone the plan9 branch using:

        hg clone -b plan9 https://bitbucket.org/jas/cpython

The new python build depends on changes to APE that have been rolled
into 9atom.  Erik Quanstrom's 9fans post "ape ip6, warnings, etc."
covers the core issues we needed to resolve.  We now have APE libs
for auth, bio, mp, and sec in addition to the changes to 9, ap, bsd,
etc.  I have a mkfs archive at /n/sources/contrib/jas/src/ape-source.arch
that can be used as reference until we're able to integrate the changes
into the various Plan 9 forks.

The new python build depends on Mercurial sources as well.  I've
placed my hg patch in /n/sources/contrib/jas/src/cmd/hg-plan9.patch
that can be applied to an hg workarea updated to the 2.6.2 tag.  An
archive is also available at /n/sources/contrib/jas/src/cmd/hg.tbz
in case you do not have an earlier build of Python+Hg on your system.
If people have problems loading the hg plan9 patch, I can provide
a snapshot of the hg source.

Due to issues with exceedingly long file names in Mercurial
repositories for both cpython and hg, you may need to run lnfs(4)
before producing a clone of either repisitory into your system if
you're not using fossil(4). 

To build everything, place the Mercurial source at the same level as
the cpython clone, e.g.:

        cmd/
                cpython/
                hg/

Build cpython by:

        cd cpython
        mk stage

This will build all the C source and prepare a distribution in
cpython/dist.  Mk install will first stage everything and then
uses mkfs to intall it into $ROOT, default is '/'.

Highlights:

  - Supports 386 and amd64, arm coming soon.
  - No contrib package dependencies: bz2, openssl, or z.
  - New _p9ssl module leverages libsec, ssl(3), and tls(3).
  - Pdb source references are plumbable.


Bugs:

Certain hg https keep alive responses may trigger a SystemError
that shuts down the TLS/SSL stream.  If you witness this bug,
trying to `{hg clone https://bitbucket.org/jas/cpython}, you
can `{hg clone http://hg.python.org/cpython} and then modify the
cpython/.hg/hgrc file ti add the bitbucket.org repository as
default.

Python threading modules maintain a different view of the world.

Both cpython and hg repositories require long filename support
in the .hg/store.



Reply via email to