comparison tool_dependencies.xml @ 0:3956f4688295 draft

Uploaded
author wolma
date Tue, 26 Apr 2016 11:03:45 -0400
parents
children 040f60d3c15b
comparison
equal deleted inserted replaced
-1:000000000000 0:3956f4688295
1 <?xml version="1.0"?>
2 <tool_dependency>
3 <package name="zlib" version="1.2.8">
4 <repository changeset_revision="63a4a902cda2" name="package_zlib_1_2_8" owner="iuc" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" />
5 </package>
6
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" />
9 </package>
10
11 <package name="python3" version="3.4">
12 <install version="1.0">
13 <actions>
14 <action type="download_by_url">https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz</action>
15
16 <action type="set_environment_for_install">
17 <repository changeset_revision="63a4a902cda2" name="package_zlib_1_2_8" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu">
18 <package name="zlib" version="1.2.8" />
19 </repository>
20
21 <repository changeset_revision="706b1f3b1fc0" name="package_sqlite_3_8_3" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
22 <package name="sqlite" version="3.8.3" />
23 </repository>
24 </action>
25
26 <action type="shell_command">
27 # The python build system doesn't check CPATH / C(PLUS)_INCLUDE_PATH which is set by the depended-upon
28 # tool definitions for these sources, but it does check CPPFLAGS / LDFLAGS
29 # Currently not whitespace-safe, I haven't found a way yet to quote the *FLAGS values so that they are
30 # correctly recognized by both the python build process and the compiler. But as galaxy itself isn't
31 # whitespace-safe either it doesn't really matter (currently).
32 oldifs="$IFS"
33 IFS=":"
34 for p in $CPLUS_INCLUDE_PATH
35 do
36 CPPFLAGS="$CPPFLAGS -I$p"
37 done
38 for p in $LD_LIBRARY_PATH
39 do
40 LDFLAGS="$LDFLAGS -L$p"
41 done
42 IFS="$oldifs"
43 export CPPFLAGS
44 export LDFLAGS
45
46 # Clear variables that may be used in Galaxy's extenal python 2 environment
47 unset PYTHONPATH
48 unset PYTHONHOME
49
50 ./configure --prefix="$INSTALL_DIR" \
51 &amp;&amp; make \
52 &amp;&amp; make install
53 </action>
54
55 <action type="set_environment">
56 <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable>
57 <environment_variable action="prepend_to" name="LD_LIBRARY_PATH">$ENV[LD_LIBRARY_PATH]</environment_variable>
58 <!-- clear PYTHONPATH, otherwise we will get Galaxy's Python 2 libraries in the Python 3 path. -->
59 <environment_variable action="set_to" name="PYTHONPATH" />
60 <environment_variable action="set_to" name="PYTHONHOME">$INSTALL_DIR</environment_variable>
61 <environment_variable action="prepend_to" name="PKG_CONFIG_PATH">$INSTALL_DIR/lib/pkgconfig</environment_variable>
62 <!-- fix too strict compiler settings under Python 3.4 -->
63 <environment_variable action="prepend_to" name="CFLAGS">-Wno-error=declaration-after-statement</environment_variable>
64 </action>
65 </actions>
66 </install>
67 <readme>
68 The Python programming language version 3.4
69
70 http://www.python.org
71
72
73 A lean build of Python 3.4.x.
74
75 This package receives bug fixes within the 3.4 release series!
76
77 It contains the zlib and sqlite3 modules as the only stdlib modules with
78 external dependencies (handled in here by depending on package_zlib_1_2_8
79 and package_sqlite_3_8_3).
80
81 In particular, this build does not compile Python's ssl module (which
82 would cause dependency on openssl and, in turn, on Perl).
83
84 This means that **the pip installation tool will not be available with
85 this build** !!
86
87 For a full build (including the ssl module) look at
88 https://toolshed.g2.bx.psu.edu/view/jankanis/package_python3_4
89 written by jankanis, of which this package is a shameless plagiarism.
90
91 This version of Python includes a built-in virtual environment manager.
92 To create a Python 3 virtual env, include the following actions in your
93 tool_dependencies.xml, e.g. for a package MY_TOOL_venv:
94
95 &lt;action type="set_environment_for_install"&gt;
96 &lt;repository name="package_python3_zlib_dependent_1_0" owner="wolma"&gt;
97 &lt;package name="python3" version="3.4" /&gt;
98 &lt;/repository&gt;
99 &lt;!-- other install time dependencies --&gt;
100 &lt;/action&gt;
101
102 &lt;action type="shell_command"&gt;
103
104 # Create virtual environment MY_TOOL_venv
105 # pip cannot be used for installation because it depends on ssl,
106 # which this build does not provide
107
108 pyvenv --without-pip $INSTALL_DIR/MY_TOOL_venv
109
110 # install python packages
111 # assuming you are in the download directory of the package
112
113 $INSTALL_DIR/MY_TOOL_venv/bin/python3 setup.py install
114 &lt;/action&gt;
115
116 For an example of how this could used by a package look at the
117 tool_dependencies file of:
118
119 https://toolshed.g2.bx.psu.edu/view/wolma/mimodd
120
121 </readme>
122 </package>
123 </tool_dependency>