# HG changeset patch # User wolma # Date 1418509152 18000 # Node ID 1c337560fa566cb7bb3a9edf499b73c9b9084f54 Imported from capsule None diff -r 000000000000 -r 1c337560fa56 tool_dependencies.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Sat Dec 13 17:19:12 2014 -0500 @@ -0,0 +1,98 @@ + + + + + + + + + https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz + + + + + + + # 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 + + + $INSTALL_DIR/bin + $ENV[LD_LIBRARY_PATH] + + + $INSTALL_DIR + $INSTALL_DIR/lib/pkgconfig + + + + + Python 3.4.1 + + The Python programming language version 3. + + http://www.python.org + + + A lean build of python 3.4.1. It does not include modules with external dependencies except for the zlib module (handled in here by depending on package_zlib_1_2_8). + + 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 build with more modules (and also ssl) included look at + https://toolshed.g2.bx.psu.edu/view/jankanis/package_python3_4 + written by jankanis, of which this package is a shameless plagiarism. + + Python as of version 3.3 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: + + https://testtoolshed.g2.bx.psu.edu/view/wolma/package_mimodd_0_1_5 + + + +