comparison tool_dependencies.xml @ 16:7719329e5b98 draft

Depend on iuc versions of libraries
author jankanis
date Wed, 28 May 2014 05:28:22 -0400
parents 5972e67030fd
children d30e6a97dfbf
comparison
equal deleted inserted replaced
15:5972e67030fd 16:7719329e5b98
1 <?xml version="1.0"?> 1 <?xml version="1.0"?>
2 <tool_dependency> 2 <tool_dependency>
3 <package name="openssl" version="1.0.1g"> 3 <package name="openssl" version="1.0.1g">
4 <repository changeset_revision="23ebff671a20" name="package_openssl" owner="jankanis" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" /> 4 <repository changeset_revision="3b19041c651c" name="package_openssl_1_0" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
5 </package> 5 </package>
6 6
7 <package name="sqlite" version="3.8.3"> 7 <package name="sqlite" version="3.8.3">
8 <repository changeset_revision="706b1f3b1fc0" name="package_sqlite_3_8_3" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" /> 8 <repository changeset_revision="706b1f3b1fc0" name="package_sqlite_3_8_3" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
9 </package> 9 </package>
10 10
11 <package name="gdbm" version="1.11"> 11 <package name="gdbm" version="1.11">
12 <repository changeset_revision="22b9fdbed20d" name="package_gdbm_1_11" owner="jankanis" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" /> 12 <repository changeset_revision="ad3c23208758" name="package_gdbm_1_11" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
13 </package> 13 </package>
14 14
15 15
16 <package name="python3" version="3.4.1"> 16 <package name="python3" version="3.4.1">
17 <install version="1.0"> 17 <install version="1.0">
18 <actions> 18 <actions>
19 <action type="download_by_url">https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz</action> 19 <action type="download_by_url">https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz</action>
20 20
21 <action type="set_environment_for_install"> 21 <action type="set_environment_for_install">
22 <repository changeset_revision="23ebff671a20" name="package_openssl" owner="jankanis" toolshed="http://toolshed.g2.bx.psu.edu"> 22 <repository changeset_revision="3b19041c651c" name="package_openssl_1_0" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
23 <package name="openssl" version="1.0.1g" /> 23 <package name="openssl" version="1.0.1g" />
24 </repository> 24 </repository>
25 <repository changeset_revision="706b1f3b1fc0" name="package_sqlite_3_8_3" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu"> 25 <repository changeset_revision="706b1f3b1fc0" name="package_sqlite_3_8_3" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
26 <package name="sqlite" version="3.8.3" /> 26 <package name="sqlite" version="3.8.3" />
27 </repository> 27 </repository>
28 <repository changeset_revision="22b9fdbed20d" name="package_gdbm_1_11" owner="jankanis" toolshed="http://toolshed.g2.bx.psu.edu"> 28 <repository changeset_revision="ad3c23208758" name="package_gdbm_1_11" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
29 <package name="gdbm" version="1.11" /> 29 <package name="gdbm" version="1.11" />
30 </repository> 30 </repository>
31 </action> 31 </action>
32 32
33 <action type="shell_command"> 33 <action type="shell_command">
34 # The python build system doesn't check CPATH / C(PLUS)_INCLUDE_PATH which is set by the depended-upon 34 # The python build system doesn't check CPATH / C(PLUS)_INCLUDE_PATH which is set by the depended-upon
35 # tool definitions for these sources, but it does check CPPFLAGS / LDFLAGS 35 # tool definitions for these sources, but it does check CPPFLAGS / LDFLAGS
36 # Currently not whitespace-safe, I haven't found a way yet to quote the *FLAGS values so that they are 36 # Currently not whitespace-safe, I haven't found a way yet to quote the *FLAGS values so that they are
37 # correctly recognized by the python build process and the compiler. But as galaxy itself isn't 37 # correctly recognized by both the python build process and the compiler. But as galaxy itself isn't
38 # whitespace-safe either it doesn't really matter (currently). 38 # whitespace-safe either it doesn't really matter (currently).
39 oldifs="$IFS" 39 oldifs="$IFS"
40 IFS=: 40 IFS=":"
41 for p in $CPLUS_INCLUDE_PATH 41 for p in $CPLUS_INCLUDE_PATH
42 do 42 do
43 CPPFLAGS="$CPPFLAGS -I$p" 43 CPPFLAGS="$CPPFLAGS -I$p"
44 done 44 done
45 for p in $LD_LIBRARY_PATH 45 for p in $LD_LIBRARY_PATH
71 </install> 71 </install>
72 72
73 <readme> 73 <readme>
74 Python 3.4.1 74 Python 3.4.1
75 75
76 This build of python is configured with --enable-loadable-sqlite-extensions and a --prefix, any other settings are default. This build does not include modules for lzma and Tkinter, but does include ssl, (g)dbm and sqlite. Adding the missing modules should not be very difficult but requires wrapping the external sources that these modules require inside galaxy. 76 The Python programming language version 3.
77
78 http://www.python.org
79
80
81 This build of python is configured with --enable-loadable-sqlite-extensions, any other settings are default. This build does not include modules for lzma and Tkinter, but does include ssl, (g)dbm and sqlite. Adding the missing modules should not be very difficult but requires wrapping the external sources that these modules require inside galaxy.
77 82
78 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: 83 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:
79 84
80 &lt;action type="set_environment_for_install"&gt; 85 &lt;action type="set_environment_for_install"&gt;
81 &lt;repository name="python3" owner="jankanis"&gt; 86 &lt;repository name="python3" owner="jankanis"&gt;
87 &lt;action type="shell_command"&gt; 92 &lt;action type="shell_command"&gt;
88 # Unset any saved environment settings from parent virtual 93 # Unset any saved environment settings from parent virtual
89 # environments, e.g. for python 2 or if Galaxy itself is running 94 # environments, e.g. for python 2 or if Galaxy itself is running
90 # from within a virtual environment. 95 # from within a virtual environment.
91 unset _OLD_VIRTUAL_PATH; unset _OLD_VIRTUAL_PYTHONHOME 96 unset _OLD_VIRTUAL_PATH; unset _OLD_VIRTUAL_PYTHONHOME
97 # Create virtual environment MY_TOOL_venv
92 pyvenv MY_TOOL_venv 98 pyvenv MY_TOOL_venv
99 # install python packages
93 MY_TOOL_venv/bin/pip3 install {{NEEDED_PYTHON_PACKAGES}} 100 MY_TOOL_venv/bin/pip3 install {{NEEDED_PYTHON_PACKAGES}}
94 &lt;/action&gt; 101 &lt;/action&gt;
95 102
96 &lt;action type="set_environment"&gt; 103 &lt;action type="set_environment"&gt;
97 &lt;!-- Remove any incoming PYTHONPATH elements from Galaxy's own python 2 environment. 104 &lt;!-- Remove any incoming PYTHONPATH elements from Galaxy's own python 2 environment,
98 If you want to chain multiple virtual environments so that packages installed 105 but include an existing install time PYTHONPATH (e.g. from other python3 virtual
99 in all of them are visible, you need to arrange for PYTHONPATH to include the 106 environments in the dependency hierarchy. --&gt;
100 site-packages directories of all of them, so in that case just a plain 'set_to' 107 &lt;environment_variable name="PYTHONPATH" action="set_to"&gt;$INSTALL_DIR/MY_TOOL_venv/lib/python3.4/site-packages:$ENV[PYTHONPATH]&lt;/environment_variable&gt;
101 would not be sufficient.
102 --&gt;
103 &lt;environment_variable name="PYTHONPATH" action="set_to"&gt;$INSTALL_DIR/MY_TOOL_venv/lib/python3.4/site-packages&lt;/environment_variable&gt;
104 &lt;!-- All that is really needed to use a specific virtual environment is that the 108 &lt;!-- All that is really needed to use a specific virtual environment is that the
105 python interpreter in that environment is used, so add it to PATH --&gt; 109 python interpreter in that environment is used, so add it to PATH --&gt;
106 &lt;environment_variable name="PATH" action="prepend_to"&gt;$INSTALL_DIR/MY_TOOL_venv/bin&lt;/environment_variable&gt; 110 &lt;environment_variable name="PATH" action="prepend_to"&gt;$INSTALL_DIR/MY_TOOL_venv/bin&lt;/environment_variable&gt;
107 &lt;!-- Clear incoming PYTHONHOME just like the venv's 'activate' command does --&gt; 111 &lt;!-- Clear incoming PYTHONHOME just like the venv's 'activate' command does --&gt;
108 &lt;environment_variable name="PYTHONHOME" action="set_to"&gt;&lt;/environment_variable&gt; 112 &lt;environment_variable name="PYTHONHOME" action="set_to"&gt;&lt;/environment_variable&gt;
110 we need to re-export LD_LIBRARY_PATH --&gt; 114 we need to re-export LD_LIBRARY_PATH --&gt;
111 &lt;environment_variable name="LD_LIBRARY_PATH" action="prepend_to"&gt;$ENV[LD_LIBRARY_PATH]&lt;/environment_variable&gt; 115 &lt;environment_variable name="LD_LIBRARY_PATH" action="prepend_to"&gt;$ENV[LD_LIBRARY_PATH]&lt;/environment_variable&gt;
112 &lt;/action&gt; 116 &lt;/action&gt;
113 117
114 </readme> 118 </readme>
115 119
116 </package> 120 </package>
117 </tool_dependency> 121 </tool_dependency>