From b77ae3e0b505f2184b8f85334158c0ecb5c3e30e Mon Sep 17 00:00:00 2001 From: Yamashita Yuu Date: Wed, 29 May 2013 23:26:50 +0900 Subject: [PATCH] build and install pypy from source --- plugins/python-build/bin/python-build | 37 +++++++++++++------ .../share/python-build/pypy-2.0-dev | 3 ++ .../python-build/share/python-build/pypy-dev | 3 ++ 3 files changed, 32 insertions(+), 11 deletions(-) create mode 100644 plugins/python-build/share/python-build/pypy-2.0-dev create mode 100644 plugins/python-build/share/python-build/pypy-dev diff --git a/plugins/python-build/bin/python-build b/plugins/python-build/bin/python-build index 759865a9..e2b9f018 100755 --- a/plugins/python-build/bin/python-build +++ b/plugins/python-build/bin/python-build @@ -567,20 +567,35 @@ build_package_python() { } build_package_jython() { - { - build_package_copy - cd "${PREFIX_PATH}/bin" - ln -fs jython python - } + build_package_copy + { if [ -x "${PREFIX_PATH}/bin/jython" ] && [ ! -x "${PREFIX_PATH}/bin/python" ]; then + ( cd "${PREFIX_PATH}/bin" && ln -fs jython python ) + fi + } >&4 2>&1 } build_package_pypy() { - { - mkdir -p "$PREFIX_PATH" - cp -R . "$PREFIX_PATH" - cd "${PREFIX_PATH}/bin" - ln -fs pypy python - } + build_package_copy + { if [ -x "${PREFIX_PATH}/bin/pypy" ] && [ ! -x "${PREFIX_PATH}/bin/python" ]; then + ( cd "${PREFIX_PATH}/bin" && ln -fs pypy python ) + fi + } >&4 2>&1 +} + +build_package_pypy_builder() { + if [ -f "rpython/bin/rpython" ]; then # pypy 2.x + python "rpython/bin/rpython" -Ojit "pypy/goal/targetpypystandalone.py" >&4 2>&1 + elif [ -f "pypy/translator/goal/translate.py" ]; then # pypy 1.x + ( cd "pypy/translator/goal" && python "translate.py" --out=jit "targetpypystandalone.py" ) 1>&4 2>&1 + else + echo "not a pypy source tree" 1>&3 + return 1 + fi + if [ -x "pypy-c" ] && [ ! -x "bin/pypy" ]; then + mkdir -p "bin" + mv -f "pypy-c" "bin/pypy" + fi + build_package_pypy } build_package_copy() { diff --git a/plugins/python-build/share/python-build/pypy-2.0-dev b/plugins/python-build/share/python-build/pypy-2.0-dev new file mode 100644 index 00000000..0c13d85e --- /dev/null +++ b/plugins/python-build/share/python-build/pypy-2.0-dev @@ -0,0 +1,3 @@ +install_hg "pypy-2.0-dev" "https://bitbucket.org/pypy/pypy" "release-2.0.x" "pypy_builder" +install_package "distribute-0.6.43" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.43.tar.gz#a216a46dc9bec5835fa3c6041f1c77c2" python +install_package "pip-1.3.1" "http://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#cbb27a191cebc58997c4da8513863153" python diff --git a/plugins/python-build/share/python-build/pypy-dev b/plugins/python-build/share/python-build/pypy-dev new file mode 100644 index 00000000..f3d78aae --- /dev/null +++ b/plugins/python-build/share/python-build/pypy-dev @@ -0,0 +1,3 @@ +install_hg "pypy-dev" "https://bitbucket.org/pypy/pypy" "default" "pypy_builder" +install_package "distribute-0.6.43" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.43.tar.gz#a216a46dc9bec5835fa3c6041f1c77c2" python +install_package "pip-1.3.1" "http://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#cbb27a191cebc58997c4da8513863153" python