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.
