view tool_dependencies.xml @ 9:d3ea5f1b4d79 draft

Another attempt at getting the environment settings right.
author jankanis
date Sat, 24 May 2014 17:54:04 -0400
parents a468d4d76af3
children 30e2c5ac5550
line wrap: on
line source

<?xml version="1.0"?>
<tool_dependency>
  <package name="openssl" version="1.0.1g">
    <repository changeset_revision="23ebff671a20" name="package_openssl" owner="jankanis" prior_installation_required="True" toolshed="http://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="gdbm" version="1.11">
    <repository changeset_revision="15e7435c2663" name="package_gdbm_1_11" 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="23ebff671a20" name="package_openssl" owner="jankanis" toolshed="http://toolshed.g2.bx.psu.edu">
            <package name="openssl" version="1.0.1g" />
          </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>
          <repository changeset_revision="15e7435c2663" name="package_gdbm_1_11" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
            <package name="gdbm" version="1.11" />
          </repository>
        </action>

        <action type="shell_command">
	  # The python build system doesn't check C_INCLUDE_PATH which is set by the depended-upon tool 
	  # definitions for these sources, but it does check CFLAGS. 
          export CFLAGS="$CFLAGS -I$SQLITE_ROOT_DIR/lib -I$GDBM_ROOT_PATH/lib -I$OPENSSL_ROOT_DIR/lib"
	  export LDFLAGS="$LDFLAGS -L$SQLITE_ROOT_DIR/include -L$GDBM_ROOT_PATH/include -L$OPENSSL_ROOT_DIR/include"
	  # Clear variables that may be used in Galaxy's extenal python 2 environment
	  unset PYTHONPATH
	  unset PYTHONHOME
	  ./configure --prefix=$INSTALL_DIR --with-ensurepip --enable-loadable-sqlite-extensions \
	  &amp;&amp; make \
	  &amp;&amp; make instal
	</action>
	<action type="make_install" />

        <action type="set_environment">
          <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable>
          <!-- empty 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. Configured with the default settings, using --prefix=$INSTALL_DIR.

      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:

      &lt;action type="set_environment_for_install"&gt;
        &lt;repository name="python3" owner="jankanis"&gt;
          &lt;package name="python3" version="3.4.1" /&gt;
        &lt;/repository&gt;
      &lt;/action&gt;
      &lt;action type="shell_command"&gt;
        # Unset any saved environment settings from parent virtual
        # environments, e.g. for python 2 or if Galaxy itself is running
        # from within a virtual environment.
        unset _OLD_VIRTUAL_PATH; unset _OLD_VIRTUAL_PYTHONHOME
        pyvenv {{\$MY_PACKAGE_NAME}}
        . {{\$MY_PACKAGE_NAME}}/bin/activate
        pip3 install {{\$PYTHON-PACKAGE}}
      &lt;/action&gt;
      &lt;action type="set_environment"&gt;
        &lt;environment_variable name="PYTHONPATH" action="prepend_to"&gt;\$INSTALL_DIR/lib/python3.4/site-packages&lt;/environment_variable&gt;
      &lt;/action&gt;

    </readme>
    
  </package>
</tool_dependency>