# repositories (on Unix) hg clone -r 2.9.2 http://selenic.com/hg hg clone -b 2.7-plan9 https://bitbucket.org/jas/cpython # directories mkdir /sys/src/cmd/cpython dircp /mnt/term/home/djc/tmp/cpython /sys/src/cmd/cpython mkdir /sys/src/cmd/hg dircp /mnt/term/home/djc/tmp/hg /sys/src/cmd/hg # ape (apply patch) hget http://www.9legacy.org/9legacy/patch/ape-erik.diff | ape/patch -p0 hget http://9legacy.org/9legacy/patch/amd64-libsec.diff | ape/patch -p0 # amd64 # ape (alternatively, copy from 9atom) srv tcp!atom.9atom.org!9fs atom mount -n /srv/atom /n/atom atom rm -rf /386/include/ape mkdir /386/include/ape dircp /n/atom/plan9/386/include/ape /386/include/ape rm -rf /sys/src/ape mkdir /sys/src/ape dircp /n/atom/plan9/sys/src/ape /sys/src/ape rm -rf /sys/include/ape mkdir /sys/include/ape dircp /n/atom/plan9/sys/include/ape /sys/include/ape # ape build cd /sys/src/ape && mk nuke && mk install && mk clean # patch mercurial cd /sys/src/cmd/hg --- a/setup.py +++ b/setup.py @@ -129,7 +129,7 @@ py2exeloaded = False def runcmd(cmd, env): - if sys.platform == 'plan9': + if sys.platform == 'plan9' and (sys.version_info[0] == 2 and sys.version_info[1] < 7): # subprocess kludge to work around issues in half-baked Python # ports, notably bichued/python: _, out, err = os.popen3(cmd) # python cd /sys/src/cmd/cpython mk stage mk install # archive disk/mkfs -a -s dist /sys/lib/sysconfig/proto/allproto > /tmp/cpython.mkfs # extract disk/mkext -d / < /tmp/cpython.mkfs