Prechádzať zdrojové kódy

Finished up the Perl and Python tests

msmith-techempower 10 rokov pred
rodič
commit
9459aa4ee1
60 zmenil súbory, kde vykonal 229 pridanie a 505 odobranie
  1. 7 0
      frameworks/Perl/dancer/cpanfile
  2. 0 7
      frameworks/Perl/dancer/install.sh
  3. 3 1
      frameworks/Perl/dancer/setup.sh
  4. 0 15
      frameworks/Perl/kelp/install.sh
  5. 15 5
      frameworks/Perl/kelp/setup.sh
  6. 5 6
      frameworks/Perl/mojolicious/cpanfile
  7. 0 7
      frameworks/Perl/mojolicious/install.sh
  8. 6 3
      frameworks/Perl/mojolicious/setup.sh
  9. 0 7
      frameworks/Perl/plack/install.sh
  10. 5 5
      frameworks/Perl/plack/setup.sh
  11. 0 7
      frameworks/Perl/web-simple/install.sh
  12. 5 4
      frameworks/Perl/web-simple/setup.sh
  13. 0 13
      frameworks/Python/API-Hour/install.sh
  14. 4 5
      frameworks/Python/API-Hour/setup.sh
  15. 0 24
      frameworks/Python/bottle/install.sh
  16. 5 5
      frameworks/Python/bottle/setup.sh
  17. 5 7
      frameworks/Python/bottle/setup_nginxuwsgi.sh
  18. 5 5
      frameworks/Python/bottle/setup_py3.sh
  19. 5 5
      frameworks/Python/bottle/setup_pypy.sh
  20. 0 19
      frameworks/Python/cherrypy/install.sh
  21. 4 4
      frameworks/Python/cherrypy/setup.sh
  22. 4 4
      frameworks/Python/cherrypy/setup_py3.sh
  23. 0 25
      frameworks/Python/django/install.sh
  24. 4 5
      frameworks/Python/django/setup.sh
  25. 4 5
      frameworks/Python/django/setup_pg.sh
  26. 4 5
      frameworks/Python/django/setup_py3.sh
  27. 0 25
      frameworks/Python/falcon/install.sh
  28. 5 5
      frameworks/Python/falcon/setup.sh
  29. 5 5
      frameworks/Python/falcon/setup_py3.sh
  30. 5 5
      frameworks/Python/falcon/setup_pypy.sh
  31. 0 26
      frameworks/Python/flask/install.sh
  32. 6 7
      frameworks/Python/flask/setup_nginxuwsgi.sh
  33. 5 5
      frameworks/Python/flask/setup_py2.sh
  34. 5 5
      frameworks/Python/flask/setup_py3.sh
  35. 5 5
      frameworks/Python/flask/setup_pypy.sh
  36. 0 25
      frameworks/Python/pyramid/install.sh
  37. 4 5
      frameworks/Python/pyramid/setup_py2.sh
  38. 4 5
      frameworks/Python/pyramid/setup_py3.sh
  39. 0 18
      frameworks/Python/tornado/install.sh
  40. 5 5
      frameworks/Python/tornado/setup.sh
  41. 5 5
      frameworks/Python/tornado/setup_pg.sh
  42. 5 5
      frameworks/Python/tornado/setup_py3.sh
  43. 0 19
      frameworks/Python/turbogears/install.sh
  44. 4 4
      frameworks/Python/turbogears/setup.sh
  45. 0 14
      frameworks/Python/uwsgi/install.sh
  46. 5 5
      frameworks/Python/uwsgi/setup.sh
  47. 6 7
      frameworks/Python/uwsgi/setup_nginx.sh
  48. 0 18
      frameworks/Python/web2py/install.sh
  49. 11 3
      frameworks/Python/web2py/setup.sh
  50. 0 17
      frameworks/Python/wheezyweb/install.sh
  51. 4 3
      frameworks/Python/wheezyweb/setup.sh
  52. 4 3
      frameworks/Python/wheezyweb/setup_py3.sh
  53. 0 15
      frameworks/Python/wsgi/install.sh
  54. 3 5
      frameworks/Python/wsgi/setup.sh
  55. 4 7
      frameworks/Python/wsgi/setup_nginxuwsgi.sh
  56. 0 12
      toolset/setup/linux/frameworks/dancer.sh
  57. 13 6
      toolset/setup/linux/languages/pypy.sh
  58. 12 5
      toolset/setup/linux/languages/python2.sh
  59. 13 7
      toolset/setup/linux/languages/python3.sh
  60. 1 1
      toolset/setup/linux/languages/ringojs.sh

+ 7 - 0
frameworks/Perl/dancer/cpanfile

@@ -0,0 +1,7 @@
+requires 'Dancer', '1.3134';
+requires 'Dancer::Plugin::Database', '2.10';
+requires 'DBI', '1.633';
+requires 'DBD::mysql', '4.031';
+requires 'JSON::XS', '3.01';
+requires 'Plack', '1.0034';
+requires 'Starman', '0.4011';

+ 0 - 7
frameworks/Perl/dancer/install.sh

@@ -1,7 +0,0 @@
-#!/bin/bash
-export PERL_HOME=${IROOT}/perl-5.18
-
-fw_depends perl nginx
-
-${PERL_HOME}/bin/cpanm --notest --no-man-page Dancer Dancer::Plugin::Database DBI DBD::mysql JSON::XS Plack Starman
-echo installed Dancer app dependencies

+ 3 - 1
frameworks/Perl/dancer/setup.sh

@@ -4,7 +4,9 @@ sed -i 's|localhost|'"${DBHOST}"'|g' app.pl
 sed -i 's|user .*;|user '"$(id -u -n)"';|g' nginx.conf
 sed -i 's|server unix.*frameworks-benchmark.sock;|server unix:'"${TROOT}"'/frameworks-benchmark.sock;|g' nginx.conf
 
-fw_depends perl dancer nginx
+fw_depends perl nginx
+
+carton install --cpanfile ${TROOT}/cpanfile
 
 nginx -c ${TROOT}/nginx.conf
 

+ 0 - 15
frameworks/Perl/kelp/install.sh

@@ -1,15 +0,0 @@
-#!/bin/bash
-export PERL_HOME=${IROOT}/perl-5.18
-
-fw_depends perl nginx
-
-${PERL_HOME}/bin/cpanm --notest --no-man-page \
-    Kelp \
-    DBI \
-    DBD::mysql \
-    MongoDB \
-    Kelp::Module::JSON::XS \
-    HTML::Escape \
-    HTTP::Parser::XS \
-    Starman
-echo installed Kelp app dependencies

+ 15 - 5
frameworks/Perl/kelp/setup.sh

@@ -1,11 +1,21 @@
 #!/bin/bash
-export PERL_HOME=${IROOT}/perl-5.18
-export NGINX_HOME=${IROOT}/nginx
 
 sed -i 's|localhost|'"${DBHOST}"'|g' app.pl
-#sed -i 's|user .*;|user '"$(id -u -n)"';|g' nginx.conf
+sed -i 's|user .*;|user '"$(id -u -n)"';|g' nginx.conf
 sed -i 's|server unix.*frameworks-benchmark.sock;|server unix:'"${TROOT}"'/frameworks-benchmark.sock;|g' nginx.conf
 
-$NGINX_HOME/sbin/nginx -c ${TROOT}/nginx.conf
+fw_depends perl nginx
 
-$PERL_HOME/bin/plackup -E production -s Starman --workers=${MAX_THREADS} -l ${TROOT}/frameworks-benchmark.sock -a ./app.pl &
+cpanm --notest --no-man-page \
+    Kelp \
+    DBI \
+    DBD::mysql \
+    MongoDB \
+    Kelp::Module::JSON::XS \
+    HTML::Escape \
+    HTTP::Parser::XS \
+    Starman
+
+nginx -c ${TROOT}/nginx.conf
+
+plackup -E production -s Starman --workers=${MAX_THREADS} -l ${TROOT}/frameworks-benchmark.sock -a ./app.pl &

+ 5 - 6
frameworks/Perl/mojolicious/cpanfile

@@ -1,8 +1,7 @@
-requires 'Mojolicious', '>= 6.02';
-requires 'Mojo::Pg', '>= 1.14';
-requires 'JSON::XS';
-requires 'EV';
+requires 'Mojolicious', '6.02';
+requires 'Mojo::Pg', '1.14';
+requires 'JSON::XS', '3.01';
+requires 'EV', '4.18';
 
-recommends 'IO::Socket::IP';
+recommends 'IO::Socket::IP', '0.36';
 recommends 'IO::Socket::SSL';
-

+ 0 - 7
frameworks/Perl/mojolicious/install.sh

@@ -1,7 +0,0 @@
-#!/bin/bash
-export PERL_HOME=${IROOT}/perl-5.18
-
-fw_depends perl
-
-${PERL_HOME}/bin/carton install --cpanfile ${TROOT}/cpanfile
-

+ 6 - 3
frameworks/Perl/mojolicious/setup.sh

@@ -1,7 +1,10 @@
 #!/bin/bash
-export PERL_HOME=${IROOT}/perl-5.18
-export NGINX_HOME=${IROOT}/nginx
+
+fw_depends perl
+
+carton install --cpanfile ${TROOT}/cpanfile
 
 export LIBEV_FLAGS=7
 HYPNOTOAD=$(${PERL_HOME}/bin/carton exec which hypnotoad)
-${PERL_HOME}/bin/carton exec ${PERL_HOME}/bin/perl ${HYPNOTOAD} ${TROOT}/app.pl
+
+carton exec perl ${HYPNOTOAD} ${TROOT}/app.pl

+ 0 - 7
frameworks/Perl/plack/install.sh

@@ -1,7 +0,0 @@
-#!/bin/bash
-export PERL_HOME=${IROOT}/perl-5.18
-
-fw_depends perl nginx
-
-${PERL_HOME}/bin/cpanm --notest --no-man-page --installdeps $TROOT
-echo installed Plack app dependencies

+ 5 - 5
frameworks/Perl/plack/setup.sh

@@ -1,11 +1,11 @@
 #!/bin/bash
-export PERL_HOME=${IROOT}/perl-5.18
-export NGINX_HOME=${IROOT}/nginx
 
 sed -i 's|localhost|'"${DBHOST}"'|g' app.psgi
 sed -i 's|server unix:.*/FrameworkBenchmarks/plack|server unix:'"${TROOT}"'|g' nginx.conf
 
-export PATH=$PERL_HOME/bin:$PATH
+fw_depends perl nginx
 
-$NGINX_HOME/sbin/nginx -c $TROOT/nginx.conf
-start_server --backlog=16384 --pid-file=$TROOT/app.pid --path=$TROOT/app.sock -- plackup -E production -s Starlet --max-keepalive-reqs 1000 --max-reqs-per-child 50000 --min-reqs-per-child 40000 --max-workers=${MAX_THREADS} -a $TROOT/app.psgi &
+cpanm --notest --no-man-page --installdeps $TROOT
+
+nginx -c $TROOT/nginx.conf
+start_server --backlog=16384 --pid-file=$TROOT/app.pid --path=$TROOT/app.sock -- plackup -E production -s Starlet --max-keepalive-reqs 1000 --max-reqs-per-child 50000 --min-reqs-per-child 40000 --max-workers=${MAX_THREADS} -a $TROOT/app.psgi &

+ 0 - 7
frameworks/Perl/web-simple/install.sh

@@ -1,7 +0,0 @@
-#!/bin/bash
-export PERL_HOME=${IROOT}/perl-5.18
-
-fw_depends perl nginx
-
-${PERL_HOME}/bin/cpanm --notest --no-man-page Web::Simple DBI DBD::mysql Plack Starman JSON::XS
-echo installed Web::Simple app dependencies

+ 5 - 4
frameworks/Perl/web-simple/setup.sh

@@ -1,11 +1,12 @@
 #!/bin/bash
-export PERL_HOME=${IROOT}/perl-5.18
-export NGINX_HOME=${IROOT}/nginx
 
 sed -i 's|localhost|'"${DBHOST}"'|g' app.pl
 sed -i 's|server unix:.*/FrameworkBenchmarks/web-simple|server unix:'"${TROOT}"'|g' nginx.conf
 
-export PATH="$PERL_HOME/bin:$PATH"
+fw_depends perl nginx
+
+cpanm --notest --no-man-page Web::Simple DBI DBD::mysql Plack Starman JSON::XS
+
+nginx -c $TROOT/nginx.conf
 
 plackup -E production -s Starman --workers=${MAX_THREADS} -l $TROOT/frameworks-benchmark.sock -a $TROOT/app.pl &
-$NGINX_HOME/sbin/nginx -c $TROOT/nginx.conf

+ 0 - 13
frameworks/Python/API-Hour/install.sh

@@ -1,13 +0,0 @@
-#!/bin/bash
-
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_API_HOUR=$PY3_ROOT/bin/api_hour
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python3
-
-$IROOT/py3/bin/pip3 install --install-option="--prefix=${IROOT}/py3" -r $TROOT/requirements.txt

+ 4 - 5
frameworks/Python/API-Hour/setup.sh

@@ -1,8 +1,7 @@
 #!/bin/bash
 
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_API_HOUR=$PY3_ROOT/bin/api_hour
+fw_depends python3
 
-$PY3_API_HOUR -ac --chdir=hello/ --config_dir=hello/etc/hello/ hello:Container &
+pip3 install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
+
+api_hour -ac --chdir=hello/ --config_dir=hello/etc/hello/ hello:Container &

+ 0 - 24
frameworks/Python/bottle/install.sh

@@ -1,24 +0,0 @@
-#!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
-
-export PYPY_ROOT=$IROOT/pypy
-export PYPY=$PYPY_ROOT/bin/python
-export PYPY_PIP=$PYPY_ROOT/bin/pip
-export PYPY_GUNICORN=$PYPY_ROOT/bin/gunicorn
-
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python
-export PY3_PIP=$PY3_ROOT/bin/pip
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2 python3 pypy nginx
-
-${PY2_PIP} install --install-option="--prefix=${IROOT}/py2" -r $TROOT/requirements.txt
-${PY3_PIP} install --install-option="--prefix=${IROOT}/py3" -r $TROOT/requirements.txt
-${PYPY_PIP} install --install-option="--prefix=${IROOT}/pypy" -r $TROOT/requirements-pypy.txt

+ 5 - 5
frameworks/Python/bottle/setup.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
 
-$PY2_GUNICORN app:app -c gunicorn_conf.py &
+fw_depends python2
+
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 5 - 7
frameworks/Python/bottle/setup_nginxuwsgi.sh

@@ -1,12 +1,10 @@
 #!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
 
-export NGINX_HOME=$IROOT/nginx
+fw_depends python2 nginx
 
 sed -i 's|include .*/conf/uwsgi_params;|include '"${NGINX_HOME}"'/conf/uwsgi_params;|g' nginx.conf
 
-${NGINX_HOME}/sbin/nginx -c ${TROOT}/nginx.conf
-${PY2_ROOT}/bin/uwsgi --ini ${TROOT}/uwsgi.ini --processes ${MAX_THREADS} --wsgi app:app &
+$PY2_ROOT/bin/pip install --install-option="--prefix=${IROOT}/py2" -r $TROOT/requirements.txt
+
+nginx -c $TROOT/nginx.conf
+$PY2_ROOT/bin/uwsgi --ini $TROOT/uwsgi.ini --processes $MAX_THREADS --wsgi app:app &

+ 5 - 5
frameworks/Python/bottle/setup_py3.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python
-export PY3_PIP=$PY3_ROOT/bin/pip
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
 
-$PY3_GUNICORN app:app -c gunicorn_conf.py &
+fw_depends python3
+
+$PY3_ROOT/bin/pip install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 5 - 5
frameworks/Python/bottle/setup_pypy.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PYPY_ROOT=$IROOT/pypy
-export PYPY=$PYPY_ROOT/bin/python
-export PYPY_PIP=$PYPY_ROOT/bin/pip
-export PYPY_GUNICORN=$PYPY_ROOT/bin/gunicorn
 
-$PYPY_GUNICORN app:app -c gunicorn_conf.py &
+fw_depends pypy
+
+$PYPY_ROOT/bin/pip install --install-option="--prefix=${PYPY_ROOT}" -r $TROOT/requirements-pypy.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 0 - 19
frameworks/Python/cherrypy/install.sh

@@ -1,19 +0,0 @@
-#!/bin/bash
-
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python3
-export PY3_PIP=$PY3_ROOT/bin/pip3
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2 python3
-
-$PY2_PIP install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
-
-$PY3_PIP install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
-

+ 4 - 4
frameworks/Python/cherrypy/setup.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
 
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
+fw_depends python2
 
-$PY2 app.py &
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+$PY2_ROOT/bin/python app.py &

+ 4 - 4
frameworks/Python/cherrypy/setup_py3.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
 
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python3
-export PY3_PIP=$PY3_ROOT/bin/pip3
+fw_depends python3
 
-$PY3 app.py &
+$PY3_ROOT/bin/pip install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
+
+$PY3_ROOT/bin/python3 app.py &

+ 0 - 25
frameworks/Python/django/install.sh

@@ -1,25 +0,0 @@
-#!/bin/bash
-
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
-
-export PYPY_ROOT=$IROOT/pypy
-export PYPY=$PYPY_ROOT/bin/python
-export PYPY_PIP=$PYPY_ROOT/bin/pip
-export PYPY_GUNICORN=$PYPY_ROOT/bin/gunicorn
-
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2 python3
-
-$IROOT/py2/bin/pip install --install-option="--prefix=${IROOT}/py2" -r $TROOT/requirements.txt
-
-$IROOT/py3/bin/pip3 install --install-option="--prefix=${IROOT}/py3" -r $TROOT/requirements.txt

+ 4 - 5
frameworks/Python/django/setup.sh

@@ -1,8 +1,7 @@
 #!/bin/bash
 
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
+fw_depends python2
 
-$PY2_GUNICORN --pid=gunicorn.pid hello.wsgi:application -c gunicorn_conf.py --env DJANGO_DB=mysql &
+$PY2_ROOT/bin/pip install --install-option="--prefix=${IROOT}/py2" -r $TROOT/requirements.txt
+
+gunicorn --pid=gunicorn.pid hello.wsgi:application -c gunicorn_conf.py --env DJANGO_DB=mysql &

+ 4 - 5
frameworks/Python/django/setup_pg.sh

@@ -1,8 +1,7 @@
 #!/bin/bash
 
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
+fw_depends python2
 
-$PY2_GUNICORN --pid=gunicorn.pid hello.wsgi:application -c gunicorn_conf.py --env DJANGO_DB=postgresql_psycopg2 &
+$PY2_ROOT/bin/pip install --install-option="--prefix=${IROOT}/py2" -r $TROOT/requirements.txt
+
+gunicorn --pid=gunicorn.pid hello.wsgi:application -c gunicorn_conf.py --env DJANGO_DB=postgresql_psycopg2 &

+ 4 - 5
frameworks/Python/django/setup_py3.sh

@@ -1,8 +1,7 @@
 #!/bin/bash
 
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
+fw_depends python3
 
-$PY3_GUNICORN --pid=gunicorn.pid hello.wsgi:application -c gunicorn_conf.py --env DJANGO_DB=mysql &
+$PY3_ROOT/bin/pip3 install --install-option="--prefix=${IROOT}/py3" -r $TROOT/requirements.txt
+
+gunicorn --pid=gunicorn.pid hello.wsgi:application -c gunicorn_conf.py --env DJANGO_DB=mysql &

+ 0 - 25
frameworks/Python/falcon/install.sh

@@ -1,25 +0,0 @@
-#!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
-
-export PYPY_ROOT=$IROOT/pypy
-export PYPY=$PYPY_ROOT/bin/python
-export PYPY_PIP=$PYPY_ROOT/bin/pip
-export PYPY_GUNICORN=$PYPY_ROOT/bin/gunicorn
-
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
-
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2 python3 pypy
-
-$PY2_PIP install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
-$PY3_PIP install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
-$PYPY_PIP install --install-option="--prefix=${PYPY_ROOT}" -r $TROOT/requirements-pypy.txt

+ 5 - 5
frameworks/Python/falcon/setup.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
 
-$PY2_GUNICORN app:app -c gunicorn_conf.py &
+fw_depends python2
+
+$PY2_HOME/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 5 - 5
frameworks/Python/falcon/setup_py3.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
 
-$PY3_GUNICORN app:app -c gunicorn_conf.py &
+fw_depends python3
+
+$PY3_ROOT/bin/pip install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 5 - 5
frameworks/Python/falcon/setup_pypy.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PYPY_ROOT=$IROOT/pypy
-export PYPY=$PYPY_ROOT/bin/python
-export PYPY_PIP=$PYPY_ROOT/bin/pip
-export PYPY_GUNICORN=$PYPY_ROOT/bin/gunicorn
 
-$PYPY_GUNICORN app:app -c gunicorn_conf.py &
+fw_depends pypy
+
+$PYPY_ROOT/bin/pip install --install-option="--prefix=${PYPY_ROOT}" -r $TROOT/requirements-pypy.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 0 - 26
frameworks/Python/flask/install.sh

@@ -1,26 +0,0 @@
-#!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
-
-export PYPY_ROOT=$IROOT/pypy
-export PYPY=$PYPY_ROOT/bin/python
-export PYPY_PIP=$PYPY_ROOT/bin/pip
-export PYPY_GUNICORN=$PYPY_ROOT/bin/gunicorn
-
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
-
-export NGINX_HOME=${IROOT}/nginx
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2 python3 pypy nginx
-
-$PY2_PIP install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
-$PY3_PIP install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
-$PYPY_PIP install --install-option="--prefix=${PYPY_ROOT}" -r $TROOT/requirements-pypy.txt

+ 6 - 7
frameworks/Python/flask/setup_nginxuwsgi.sh

@@ -1,12 +1,11 @@
 #!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
 
-export NGINX_HOME=${IROOT}/nginx
+fw_depends python2 nginx
 
 sed -i 's|include .*/conf/uwsgi_params;|include '"${NGINX_HOME}"'/conf/uwsgi_params;|g' nginx.conf
 
-$NGINX_HOME/sbin/nginx -c $TROOT/nginx.conf
-${PY2_ROOT}/bin/uwsgi --ini ${TROOT}/uwsgi.ini --processes ${MAX_THREADS} --wsgi app:app &
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+nginx -c $TROOT/nginx.conf
+
+$PY2_ROOT/bin/uwsgi --ini $TROOT/uwsgi.ini --processes $MAX_THREADS --wsgi app:app &

+ 5 - 5
frameworks/Python/flask/setup_py2.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
 
-$PY2_GUNICORN app:app -c gunicorn_conf.py &
+fw_depends python2
+
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 5 - 5
frameworks/Python/flask/setup_py3.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
 
-$PY3_GUNICORN app:app -c gunicorn_conf.py &
+fw_depends python3
+
+$PY3_ROOT/bin/pip install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 5 - 5
frameworks/Python/flask/setup_pypy.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PYPY_ROOT=$IROOT/pypy
-export PYPY=$PYPY_ROOT/bin/python
-export PYPY_PIP=$PYPY_ROOT/bin/pip
-export PYPY_GUNICORN=$PYPY_ROOT/bin/gunicorn
 
-$PYPY_GUNICORN app:app -c gunicorn_conf.py &
+fw_depends pypy
+
+$PYPY_ROOT/bin/pip install --install-option="--prefix=${PYPY_ROOT}" -r $TROOT/requirements-pypy.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 0 - 25
frameworks/Python/pyramid/install.sh

@@ -1,25 +0,0 @@
-#!/bin/bash
-
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
-
-export PYPY_ROOT=$IROOT/pypy
-export PYPY=$PYPY_ROOT/bin/python
-export PYPY_PIP=$PYPY_ROOT/bin/pip
-export PYPY_GUNICORN=$PYPY_ROOT/bin/gunicorn
-
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2 python3
-
-$PY2_PIP install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
-
-$PY3_PIP install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt

+ 4 - 5
frameworks/Python/pyramid/setup_py2.sh

@@ -1,8 +1,7 @@
 #!/bin/bash
 
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
+fw_depends python2
 
-$PY2_GUNICORN wsgi:app -c gunicorn_conf.py &
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+gunicorn wsgi:app -c gunicorn_conf.py &

+ 4 - 5
frameworks/Python/pyramid/setup_py3.sh

@@ -1,8 +1,7 @@
 #!/bin/bash
 
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python3
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
+fw_depends python3
 
-$PY3_GUNICORN wsgi:app -c gunicorn_conf.py &
+$PY3_ROOT/bin/pip install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
+
+gunicorn wsgi:app -c gunicorn_conf.py &

+ 0 - 18
frameworks/Python/tornado/install.sh

@@ -1,18 +0,0 @@
-#!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
-
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python3
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2 python3
-
-$PY2_PIP install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
-$PY3_PIP install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt

+ 5 - 5
frameworks/Python/tornado/setup.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
 
-$PY2 server.py --port=8080 --mongo=${DBHOST} --logging=error &
+fw_depends python2
+
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+$PY2_ROOT/bin/python server.py --port=8080 --mongo=${DBHOST} --logging=error &

+ 5 - 5
frameworks/Python/tornado/setup_pg.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
 
-$PY2 server.py --port=8080 --postgres=${DBHOST} --logging=error &
+fw_depends python2
+
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+$PY2_ROOT/bin/python server.py --port=8080 --postgres=${DBHOST} --logging=error &

+ 5 - 5
frameworks/Python/tornado/setup_py3.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python3
-export PY3_PIP=$PY3_ROOT/bin/pip3
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
 
-$PY3 server.py --port=8080 --mongo=${DBHOST} --logging=error &
+fw_depends python3
+
+$PY3_ROOT/bin/pip install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
+
+$PY3_ROOT/bin/python3 server.py --port=8080 --mongo=${DBHOST} --logging=error &

+ 0 - 19
frameworks/Python/turbogears/install.sh

@@ -1,19 +0,0 @@
-#!/bin/bash
-
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-
-export PY3_ROOT=$IROOT/py3
-export PY3=$PY3_ROOT/bin/python3
-export PY3_PIP=$PY3_ROOT/bin/pip3
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2 python3
-
-$PY2_PIP install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
-
-$PY3_PIP install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
-

+ 4 - 4
frameworks/Python/turbogears/setup.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
 
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
+fw_depends python2
 
-$PY2_GUNICORN app:app -c gunicorn_conf.py &
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 0 - 14
frameworks/Python/uwsgi/install.sh

@@ -1,14 +0,0 @@
-#!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
-
-export NGINX_HOME=${IROOT}/nginx
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2 nginx
-
-$PY2_PIP install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt

+ 5 - 5
frameworks/Python/uwsgi/setup.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
 
-$PY2_ROOT/bin/uwsgi --master -L -l 5000 --gevent 1000 --http :8080 --http-keepalive --http-processes ${MAX_THREADS} -p ${MAX_THREADS} -w hello --add-header "Connection: keep-alive" --pidfile /tmp/uwsgi.pid &
+fw_depends python2
+
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+$PY2_ROOT/bin/uwsgi --master -L -l 5000 --gevent 1000 --http :8080 --http-keepalive --http-processes $MAX_THREADS -p $MAX_THREADS -w hello --add-header "Connection: keep-alive" --pidfile /tmp/uwsgi.pid &

+ 6 - 7
frameworks/Python/uwsgi/setup_nginx.sh

@@ -1,12 +1,11 @@
 #!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
 
-export NGINX_HOME=${IROOT}/nginx
+fw_depends python2 nginx
 
 sed -i 's|include .*/conf/uwsgi_params;|include '"${NGINX_HOME}"'/conf/uwsgi_params;|g' nginx.conf
 
-$NGINX_HOME/sbin/nginx -c ${TROOT}/nginx.conf
-$PY2_ROOT/bin/uwsgi --ini uwsgi.ini --processes ${MAX_THREADS} --gevent 1000 --wsgi hello &
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+nginx -c $TROOT/nginx.conf
+
+$PY2_ROOT/bin/uwsgi --ini uwsgi.ini --processes $MAX_THREADS --gevent 1000 --wsgi hello &

+ 0 - 18
frameworks/Python/web2py/install.sh

@@ -1,18 +0,0 @@
-#!/bin/bash
-
-mkdir -p $IROOT/.pip_cache
-
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2
-
-export PY2_ROOT=$IROOT/py2
-export PY2_PIP=$PY2_ROOT/bin/pip
-
-$PY2_PIP install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
-
-cd $TROOT
-rm -fr web2py
-git clone --recursive --branch R-2.10.3 https://github.com/web2py/web2py.git 
-cp -r app/app/ web2py/applications/
-cp app/routes.py web2py/

+ 11 - 3
frameworks/Python/web2py/setup.sh

@@ -1,4 +1,12 @@
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
+#!/bin/bash
 
-$PY2 web2py/web2py.py -a '' -i 127.0.0.1 -p 8080  &
+fw_depends python2
+
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+rm -fr web2py
+git clone --recursive --branch R-2.10.3 https://github.com/web2py/web2py.git 
+cp -r app/app/ web2py/applications/
+cp app/routes.py web2py/
+
+$PY2_ROOT/bin/python web2py/web2py.py -a '' -i 127.0.0.1 -p 8080  &

+ 0 - 17
frameworks/Python/wheezyweb/install.sh

@@ -1,17 +0,0 @@
-#!/bin/bash
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2 python3 
-
-export PY2_ROOT=$IROOT/py2
-export PY2_PIP=$PY2_ROOT/bin/pip
-
-export PY3_ROOT=$IROOT/py3
-export PY3_PIP=$PY3_ROOT/bin/pip3
-
-$PY2_PIP install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
-
-$PY3_PIP install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
-

+ 4 - 3
frameworks/Python/wheezyweb/setup.sh

@@ -1,6 +1,7 @@
 #!/bin/bash
 
-export PY2_ROOT=$IROOT/py2
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
+fw_depends python2
 
-$PY2_GUNICORN app:app -c gunicorn_conf.py &
+$PY2_ROOT/bin/pip install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 4 - 3
frameworks/Python/wheezyweb/setup_py3.sh

@@ -1,6 +1,7 @@
 #!/bin/bash
 
-export PY3_ROOT=$IROOT/py3
-export PY3_GUNICORN=$PY3_ROOT/bin/gunicorn
+fw_depends python3
 
-$PY3_GUNICORN app:app -c gunicorn_conf.py &
+$PY3_ROOT/bin/pip install --install-option="--prefix=${PY3_ROOT}" -r $TROOT/requirements.txt
+
+gunicorn app:app -c gunicorn_conf.py &

+ 0 - 15
frameworks/Python/wsgi/install.sh

@@ -1,15 +0,0 @@
-#!/bin/bash
-
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
-
-export NGINX_HOME=${IROOT}/nginx
-
-mkdir -p $IROOT/.pip_cache
-export PIP_DOWNLOAD_CACHE=$IROOT/.pip_cache
-
-fw_depends python2 nginx
-
-$PY2_PIP install --install-option="--prefix=${PY2_ROOT}" -r $TROOT/requirements.txt

+ 3 - 5
frameworks/Python/wsgi/setup.sh

@@ -1,7 +1,5 @@
 #!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
 
-$PY2_GUNICORN hello:app -c gunicorn_conf.py &
+fw_depends python2
+
+gunicorn hello:app -c gunicorn_conf.py &

+ 4 - 7
frameworks/Python/wsgi/setup_nginxuwsgi.sh

@@ -1,11 +1,8 @@
 #!/bin/bash
-export PY2_ROOT=$IROOT/py2
-export PY2=$PY2_ROOT/bin/python
-export PY2_PIP=$PY2_ROOT/bin/pip
-export PY2_GUNICORN=$PY2_ROOT/bin/gunicorn
-export NGINX_HOME=${IROOT}/nginx
+
+fw_depends python2 nginx
 
 sed -i 's|include .*/conf/uwsgi_params;|include '"${NGINX_HOME}"'/conf/uwsgi_params;|g' nginx.conf
 
-$NGINX_HOME/sbin/nginx -c $TROOT/nginx.conf
-$PY2_ROOT/bin/uwsgi --ini uwsgi.ini --processes ${MAX_THREADS} --wsgi hello:app &
+nginx -c $TROOT/nginx.conf
+$PY2_ROOT/bin/uwsgi --ini uwsgi.ini --processes $MAX_THREADS --wsgi hello:app &

+ 0 - 12
toolset/setup/linux/frameworks/dancer.sh

@@ -1,12 +0,0 @@
-#!/bin/bash
-
-RETCODE=$(fw_exists ${IROOT}/dancer.installed)
-[ ! "$RETCODE" == 0 ] || { \
-  source $IROOT/dancer.installed
-  return 0; }
-
-cpanm --notest --no-man-page Dancer Dancer::Plugin::Database DBI DBD::mysql JSON::XS Plack Starman
-
-echo "" > $DANCER.installed
-
-source $IROOT/dancer.installed

+ 13 - 6
toolset/setup/linux/languages/pypy.sh

@@ -1,15 +1,22 @@
 #!/bin/bash
 
-RETCODE=$(fw_exists ${IROOT}/pypy.installed)
-[ ! "$RETCODE" == 0 ] || { return 0; }
+PYPY_ROOT=$IROOT/pypy
+RETCODE=$(fw_exists ${PYPY_ROOT}.installed)
+[ ! "$RETCODE" == 0 ] || { \
+  source $PYPY_ROOT.installed
+  return 0; }
 
 fw_get https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.0-linux64.tar.bz2 -O pypy-2.5.0-linux64.tar.bz2
 fw_untar pypy-2.5.0-linux64.tar.bz2
 ln -sf pypy-2.5.0-linux64 pypy
 
-if [ ! -f "get-pip.py" ]; then
 fw_get https://bootstrap.pypa.io/get-pip.py -O get-pip.py
-fi
-${IROOT}/pypy/bin/pypy get-pip.py
 
-touch ${IROOT}/pypy.installed
+# Ensure pip is installed
+$PYPY_ROOT/bin/pypy get-pip.py
+
+echo "export PYPY_ROOT=${PYPY_ROOT}" > $PYPY_ROOT.installed
+echo "export PYTHONHOME=${PYPY_ROOT}" >> $PYPY_ROOT.installed
+echo -e "export PATH=${PYPY_ROOT}/bin:\$PATH" >> $PYPY_ROOT.installed
+  
+source $PYPY_ROOT.installed

+ 12 - 5
toolset/setup/linux/languages/python2.sh

@@ -1,7 +1,10 @@
 #!/bin/bash
 
-RETCODE=$(fw_exists ${IROOT}/py2.installed)
-[ ! "$RETCODE" == 0 ] || { return 0; }
+PY2_ROOT=$IROOT/py2
+RETCODE=$(fw_exists ${PY2_ROOT}.installed)
+[ ! "$RETCODE" == 0 ] || { \
+  source $PY2_ROOT.installed
+  return 0; }
 
 fw_get http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
 fw_untar Python-2.7.9.tgz
@@ -11,7 +14,11 @@ make -j4 --quiet 2>&1 | tee $IROOT/python-install.log | awk '{ if (NR%100 == 0)
 make install --quiet 2>&1 | tee -a $IROOT/python-install.log | awk '{ if (NR%100 == 0) printf "."}'
 cd ..
 
-${IROOT}/py2/bin/python -m ensurepip -U
-${IROOT}/py2/bin/pip install -U setuptools pip
+$PY2_ROOT/bin/python -m ensurepip -U
+$PY2_ROOT/bin/pip install -U setuptools pip
 
-touch ${IROOT}/py2.installed
+echo "export PY2_ROOT=${PY2_ROOT}" > $PY2_ROOT.installed
+echo "export PYTHONHOME=${PY2_ROOT}" >> $PY2_ROOT.installed
+echo -e "export PATH=${PY2_ROOT}/bin:\$PATH" >> $PY2_ROOT.installed
+
+source $PY2_ROOT.installed

+ 13 - 7
toolset/setup/linux/languages/python3.sh

@@ -1,18 +1,24 @@
 #!/bin/bash
 
-RETCODE=$(fw_exists ${IROOT}/py3.installed)
-[ ! "$RETCODE" == 0 ] || { return 0; }
+PY3_ROOT=$IROOT/py3
+RETCODE=$(fw_exists ${PY3_ROOT}.installed)
+[ ! "$RETCODE" == 0 ] || { \
+  source $PY3_ROOT.installed
+  return 0; }
 
 fw_get http://www.python.org/ftp/python/3.4.2/Python-3.4.2.tar.xz
 fw_untar Python-3.4.2.tar.xz
 cd Python-3.4.2
-./configure --prefix=${IROOT}/py3 --disable-shared --with-computed-gotos --quiet
+./configure --prefix=$PY3_ROOT --disable-shared --with-computed-gotos --quiet
 make -j4 --quiet 2>&1 | tee $IROOT/python3-install.log | awk '{ if (NR%100 == 0) printf "."}'
 make install --quiet 2>&1 | tee -a $IROOT/python3-install.log | awk '{ if (NR%100 == 0) printf "."}'
 cd ..
 
-ln -s ${IROOT}/py3/bin/python3.4m ${IROOT}/py3/bin/python3.4
-${IROOT}/py3/bin/python3 -m ensurepip -U
-${IROOT}/py3/bin/pip3 install -U setuptools pip
+$IROOT/py3/bin/python3 -m ensurepip -U
+$IROOT/py3/bin/pip3 install -U setuptools pip
 
-touch ${IROOT}/py3.installed
+echo "export PY3_ROOT=${PY3_ROOT}" > $PY3_ROOT.installed
+echo "export PYTHONHOME=${PY3_ROOT}" >> $PY3_ROOT.installed
+echo -e "export PATH=${PY3_ROOT}/bin:\$PATH" >> $PY3_ROOT.installed
+
+source $PY3_ROOT.installed

+ 1 - 1
toolset/setup/linux/languages/ringojs.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-VERSION="0.10"
+VERSION="0.11"
 RINGOJS=$IROOT/ringojs_$VERSION
 RINGOJS_HOME=$IROOT/ringojs-$VERSION
 RETCODE=$(fw_exists ${RINGOJS}.installed)