Mercurial > repos > wolma > package_python3_zlib_dependent_1_0
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 && make \ | |
41 && 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 <action type="set_environment_for_install"> | |
72 <repository name="package_python3_zlib_dependent_1_0" owner="wolma"> | |
73 <package name="python3" version="3.4.1" /> | |
74 </repository> | |
75 <!-- other install time dependencies --> | |
76 </action> | |
77 | |
78 <action type="shell_command"> | |
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 </action> | |
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> |