Mercurial > repos > wolma > package_python_3_4_x_lean
changeset 0:3956f4688295 draft
Uploaded
author | wolma |
---|---|
date | Tue, 26 Apr 2016 11:03:45 -0400 |
parents | |
children | 040f60d3c15b |
files | tool_dependencies.xml |
diffstat | 1 files changed, 123 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Tue Apr 26 11:03:45 2016 -0400 @@ -0,0 +1,123 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="zlib" version="1.2.8"> + <repository changeset_revision="63a4a902cda2" name="package_zlib_1_2_8" owner="iuc" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> + + <package name="sqlite" version="3.8.3"> + <repository changeset_revision="706b1f3b1fc0" name="package_sqlite_3_8_3" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" /> + </package> + + <package name="python3" version="3.4"> + <install version="1.0"> + <actions> + <action type="download_by_url">https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz</action> + + <action type="set_environment_for_install"> + <repository changeset_revision="63a4a902cda2" name="package_zlib_1_2_8" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu"> + <package name="zlib" version="1.2.8" /> + </repository> + + <repository changeset_revision="706b1f3b1fc0" name="package_sqlite_3_8_3" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu"> + <package name="sqlite" version="3.8.3" /> + </repository> + </action> + + <action type="shell_command"> + # The python build system doesn't check CPATH / C(PLUS)_INCLUDE_PATH which is set by the depended-upon + # tool definitions for these sources, but it does check CPPFLAGS / LDFLAGS + # Currently not whitespace-safe, I haven't found a way yet to quote the *FLAGS values so that they are + # correctly recognized by both the python build process and the compiler. But as galaxy itself isn't + # whitespace-safe either it doesn't really matter (currently). + oldifs="$IFS" + IFS=":" + for p in $CPLUS_INCLUDE_PATH + do + CPPFLAGS="$CPPFLAGS -I$p" + done + for p in $LD_LIBRARY_PATH + do + LDFLAGS="$LDFLAGS -L$p" + done + IFS="$oldifs" + export CPPFLAGS + export LDFLAGS + + # Clear variables that may be used in Galaxy's extenal python 2 environment + unset PYTHONPATH + unset PYTHONHOME + + ./configure --prefix="$INSTALL_DIR" \ + && make \ + && make install + </action> + + <action type="set_environment"> + <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable> + <environment_variable action="prepend_to" name="LD_LIBRARY_PATH">$ENV[LD_LIBRARY_PATH]</environment_variable> + <!-- clear PYTHONPATH, otherwise we will get Galaxy's Python 2 libraries in the Python 3 path. --> + <environment_variable action="set_to" name="PYTHONPATH" /> + <environment_variable action="set_to" name="PYTHONHOME">$INSTALL_DIR</environment_variable> + <environment_variable action="prepend_to" name="PKG_CONFIG_PATH">$INSTALL_DIR/lib/pkgconfig</environment_variable> + <!-- fix too strict compiler settings under Python 3.4 --> + <environment_variable action="prepend_to" name="CFLAGS">-Wno-error=declaration-after-statement</environment_variable> + </action> + </actions> + </install> + <readme> + The Python programming language version 3.4 + + http://www.python.org + + + A lean build of Python 3.4.x. + + This package receives bug fixes within the 3.4 release series! + + It contains the zlib and sqlite3 modules as the only stdlib modules with + external dependencies (handled in here by depending on package_zlib_1_2_8 + and package_sqlite_3_8_3). + + In particular, this build does not compile Python's ssl module (which + would cause dependency on openssl and, in turn, on Perl). + + This means that **the pip installation tool will not be available with + this build** !! + + For a full build (including the ssl module) look at + https://toolshed.g2.bx.psu.edu/view/jankanis/package_python3_4 + written by jankanis, of which this package is a shameless plagiarism. + + This version of Python includes a built-in virtual environment manager. + To create a Python 3 virtual env, include the following actions in your + tool_dependencies.xml, e.g. for a package MY_TOOL_venv: + + <action type="set_environment_for_install"> + <repository name="package_python3_zlib_dependent_1_0" owner="wolma"> + <package name="python3" version="3.4" /> + </repository> + <!-- other install time dependencies --> + </action> + + <action type="shell_command"> + + # Create virtual environment MY_TOOL_venv + # pip cannot be used for installation because it depends on ssl, + # which this build does not provide + + pyvenv --without-pip $INSTALL_DIR/MY_TOOL_venv + + # install python packages + # assuming you are in the download directory of the package + + $INSTALL_DIR/MY_TOOL_venv/bin/python3 setup.py install + </action> + + For an example of how this could used by a package look at the + tool_dependencies file of: + + https://toolshed.g2.bx.psu.edu/view/wolma/mimodd + + </readme> + </package> +</tool_dependency>