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" \
+          &amp;&amp; make \
+          &amp;&amp; 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:
+
+      &lt;action type="set_environment_for_install"&gt;
+        &lt;repository name="package_python3_zlib_dependent_1_0" owner="wolma"&gt;
+          &lt;package name="python3" version="3.4" /&gt;
+        &lt;/repository&gt;
+        &lt;!-- other install time dependencies --&gt;
+      &lt;/action&gt;
+
+      &lt;action type="shell_command"&gt;        
+        
+        # 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 
+      &lt;/action&gt;
+      
+    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>