comparison tool_dependencies.xml @ 0:1c337560fa56 draft

Imported from capsule None
author wolma
date Sat, 13 Dec 2014 17:19:12 -0500
parents
children c322db44259d
comparison
equal deleted inserted replaced
-1:000000000000 0:1c337560fa56
1 <?xml version="1.0"?>
2 <tool_dependency>
3 <package name="zlib" version="1.2.8">
4 <repository changeset_revision="dce22a65bac2" name="package_zlib_1_2_8" owner="wolma" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" />
5 </package>
6 <package name="python3" version="3.4.1">
7 <install version="1.0">
8 <actions>
9 <action type="download_by_url">https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz</action>
10 <action type="set_environment_for_install">
11 <repository changeset_revision="dce22a65bac2" name="package_zlib_1_2_8" owner="wolma" toolshed="https://toolshed.g2.bx.psu.edu">
12 <package name="zlib" version="1.2.8" />
13 </repository>
14 </action>
15 <action type="shell_command">
16 # The python build system doesn't check CPATH / C(PLUS)_INCLUDE_PATH which is set by the depended-upon
17 # tool definitions for these sources, but it does check CPPFLAGS / LDFLAGS
18 # Currently not whitespace-safe, I haven't found a way yet to quote the *FLAGS values so that they are
19 # correctly recognized by both the python build process and the compiler. But as galaxy itself isn't
20 # whitespace-safe either it doesn't really matter (currently).
21 oldifs="$IFS"
22 IFS=":"
23 for p in $CPLUS_INCLUDE_PATH
24 do
25 CPPFLAGS="$CPPFLAGS -I$p"
26 done
27 for p in $LD_LIBRARY_PATH
28 do
29 LDFLAGS="$LDFLAGS -L$p"
30 done
31 IFS="$oldifs"
32 export CPPFLAGS
33 export LDFLAGS
34
35 # Clear variables that may be used in Galaxy's extenal python 2 environment
36 unset PYTHONPATH
37 unset PYTHONHOME
38
39 ./configure --prefix="$INSTALL_DIR" --with-ensurepip \
40 &amp;&amp; make \
41 &amp;&amp; make install
42 </action>
43 <action type="set_environment">
44 <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable>
45 <environment_variable action="prepend_to" name="LD_LIBRARY_PATH">$ENV[LD_LIBRARY_PATH]</environment_variable>
46 <!-- clear PYTHONPATH, otherwise we will get Galaxy's Python 2 libraries in the Python 3 path. -->
47 <environment_variable action="set_to" name="PYTHONPATH" />
48 <environment_variable action="set_to" name="PYTHONHOME">$INSTALL_DIR</environment_variable>
49 <environment_variable action="prepend_to" name="PKG_CONFIG_PATH">$INSTALL_DIR/lib/pkgconfig</environment_variable>
50 </action>
51 </actions>
52 </install>
53 <readme>
54 Python 3.4.1
55
56 The Python programming language version 3.
57
58 http://www.python.org
59
60
61 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).
62
63 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**.
64
65 For a build with more modules (and also ssl) included look at
66 https://toolshed.g2.bx.psu.edu/view/jankanis/package_python3_4
67 written by jankanis, of which this package is a shameless plagiarism.
68
69 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:
70
71 &lt;action type="set_environment_for_install"&gt;
72 &lt;repository name="package_python3_zlib_dependent_1_0" owner="wolma"&gt;
73 &lt;package name="python3" version="3.4.1" /&gt;
74 &lt;/repository&gt;
75 &lt;!-- other install time dependencies --&gt;
76 &lt;/action&gt;
77
78 &lt;action type="shell_command"&gt;
79
80 # Create virtual environment MY_TOOL_venv
81 # pip cannot be used for installation because it depends on ssl,
82 # which this build does not provide
83
84 pyvenv --without-pip $INSTALL_DIR/MY_TOOL_venv
85
86 # install python packages
87 # assuming you are in the download directory of the package
88
89 $INSTALL_DIR/MY_TOOL_venv/bin/python3 setup.py install
90 &lt;/action&gt;
91
92 For an example of how this could used by a package look at:
93
94 https://testtoolshed.g2.bx.psu.edu/view/wolma/package_mimodd_0_1_5
95
96 </readme>
97 </package>
98 </tool_dependency>