Mercurial > repos > jankanis > package_python3_4
comparison tool_dependencies.xml @ 15:5972e67030fd draft
enable dbm module, update docs
author | jankanis |
---|---|
date | Tue, 27 May 2014 10:21:10 -0400 |
parents | 59b33d253163 |
children | 7719329e5b98 |
comparison
equal
deleted
inserted
replaced
14:59b33d253163 | 15:5972e67030fd |
---|---|
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="15e7435c2663" name="package_gdbm_1_11" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" /> | 12 <repository changeset_revision="22b9fdbed20d" name="package_gdbm_1_11" owner="jankanis" 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"> |
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="15e7435c2663" name="package_gdbm_1_11" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu"> | 28 <repository changeset_revision="22b9fdbed20d" name="package_gdbm_1_11" owner="jankanis" 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, but galaxy itself isn't whitespace-safe either so it doesn't matter (yet) | 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 | |
38 # whitespace-safe either it doesn't really matter (currently). | |
37 oldifs="$IFS" | 39 oldifs="$IFS" |
38 IFS=: | 40 IFS=: |
39 for p in $CPLUS_INCLUDE_PATH | 41 for p in $CPLUS_INCLUDE_PATH |
40 do | 42 do |
41 CPPFLAGS="$CPPFLAGS -I$p" | 43 CPPFLAGS="$CPPFLAGS -I$p" |
67 </action> | 69 </action> |
68 </actions> | 70 </actions> |
69 </install> | 71 </install> |
70 | 72 |
71 <readme> | 73 <readme> |
72 Python 3.4.1 | 74 Python 3.4.1 |
73 | 75 |
74 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, Tkinter and dbm, but does include ssl, gdbm and sqlite. Adding the missing modules should not be very difficult but requires wrapping the external sources that these modules require inside galaxy. | 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. |
75 | 77 |
76 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: | 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: |
77 | 79 |
78 <action type="set_environment_for_install"> | 80 <action type="set_environment_for_install"> |
79 <repository name="python3" owner="jankanis"> | 81 <repository name="python3" owner="jankanis"> |
80 <package name="python3" version="3.4.1" /> | 82 <package name="python3" version="3.4.1" /> |
81 </repository> | 83 </repository> |
84 <!-- other install time dependencies --> | |
82 </action> | 85 </action> |
86 | |
83 <action type="shell_command"> | 87 <action type="shell_command"> |
84 # Unset any saved environment settings from parent virtual | 88 # Unset any saved environment settings from parent virtual |
85 # environments, e.g. for python 2 or if Galaxy itself is running | 89 # environments, e.g. for python 2 or if Galaxy itself is running |
86 # from within a virtual environment. | 90 # from within a virtual environment. |
87 unset _OLD_VIRTUAL_PATH; unset _OLD_VIRTUAL_PYTHONHOME | 91 unset _OLD_VIRTUAL_PATH; unset _OLD_VIRTUAL_PYTHONHOME |
88 pyvenv {{\$MY_PACKAGE_NAME}} | 92 pyvenv MY_TOOL_venv |
89 . {{\$MY_PACKAGE_NAME}}/bin/activate | 93 MY_TOOL_venv/bin/pip3 install {{NEEDED_PYTHON_PACKAGES}} |
90 pip3 install {{\$PYTHON-PACKAGE}} | |
91 </action> | 94 </action> |
95 | |
92 <action type="set_environment"> | 96 <action type="set_environment"> |
93 <environment_variable name="PYTHONPATH" action="prepend_to">\$INSTALL_DIR/lib/python3.4/site-packages</environment_variable> | 97 <!-- 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 | |
99 in all of them are visible, you need to arrange for PYTHONPATH to include the | |
100 site-packages directories of all of them, so in that case just a plain 'set_to' | |
101 would not be sufficient. | |
102 --> | |
103 <environment_variable name="PYTHONPATH" action="set_to">$INSTALL_DIR/MY_TOOL_venv/lib/python3.4/site-packages</environment_variable> | |
104 <!-- 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 --> | |
106 <environment_variable name="PATH" action="prepend_to">$INSTALL_DIR/MY_TOOL_venv/bin</environment_variable> | |
107 <!-- Clear incoming PYTHONHOME just like the venv's 'activate' command does --> | |
108 <environment_variable name="PYTHONHOME" action="set_to"></environment_variable> | |
109 <!-- To find shared libraries for python built-in modules such as libssl or libsqlite3 | |
110 we need to re-export LD_LIBRARY_PATH --> | |
111 <environment_variable name="LD_LIBRARY_PATH" action="prepend_to">$ENV[LD_LIBRARY_PATH]</environment_variable> | |
94 </action> | 112 </action> |
95 | 113 |
96 </readme> | 114 </readme> |
97 | 115 |
98 </package> | 116 </package> |