Mercurial > repos > wolma > package_python3_zlib_dependent_1_0
view tool_dependencies.xml @ 1:c322db44259d draft
build sqlite3; updated readme
author | wolma |
---|---|
date | Fri, 22 Apr 2016 09:27:14 -0400 |
parents | 1c337560fa56 |
children | 34b2ffc538de |
line wrap: on
line source
<?xml version="1.0"?> <tool_dependency> <package name="zlib" version="1.2.8"> <repository changeset_revision="dce22a65bac2" name="package_zlib_1_2_8" owner="wolma" 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.1"> <install version="1.0"> <actions> <action type="download_by_url">https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz</action> <action type="set_environment_for_install"> <repository changeset_revision="dce22a65bac2" name="package_zlib_1_2_8" owner="wolma" 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" --with-ensurepip \ && 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> </action> </actions> </install> <readme> Python 3.4.1 The Python programming language version 3. http://www.python.org A lean build of python 3.4.1. 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.1" /> </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>