annotate tool_dependencies.xml @ 13:9dbfc4fcef0a draft

Fix LDFLAGS. This version is not yet safe against paths containing whitespace.
author jankanis
date Mon, 26 May 2014 05:26:11 -0400
parents 4091cf3b81e5
children 59b33d253163
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
1 <?xml version="1.0"?>
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
2 <tool_dependency>
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
3 <package name="openssl" version="1.0.1g">
7
34e257e3aceb add prior_installation_required
jankanis
parents: 6
diff changeset
4 <repository changeset_revision="23ebff671a20" name="package_openssl" owner="jankanis" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
0
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
5 </package>
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
6
6
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
7 <package name="sqlite" version="3.8.3">
7
34e257e3aceb add prior_installation_required
jankanis
parents: 6
diff changeset
8 <repository changeset_revision="706b1f3b1fc0" name="package_sqlite_3_8_3" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
6
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
9 </package>
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
10
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
11 <package name="gdbm" version="1.11">
7
34e257e3aceb add prior_installation_required
jankanis
parents: 6
diff changeset
12 <repository changeset_revision="15e7435c2663" name="package_gdbm_1_11" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
6
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
13 </package>
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
14
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
15
0
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
16 <package name="python3" version="3.4.1">
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
17 <install version="1.0">
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
18 <actions>
1
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
19 <action type="download_by_url">https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz</action>
9
d3ea5f1b4d79 Another attempt at getting the environment settings right.
jankanis
parents: 8
diff changeset
20
0
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
21 <action type="set_environment_for_install">
7
34e257e3aceb add prior_installation_required
jankanis
parents: 6
diff changeset
22 <repository changeset_revision="23ebff671a20" name="package_openssl" owner="jankanis" toolshed="http://toolshed.g2.bx.psu.edu">
0
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
23 <package name="openssl" version="1.0.1g" />
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
24 </repository>
7
34e257e3aceb add prior_installation_required
jankanis
parents: 6
diff changeset
25 <repository changeset_revision="706b1f3b1fc0" name="package_sqlite_3_8_3" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
6
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
26 <package name="sqlite" version="3.8.3" />
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
27 </repository>
7
34e257e3aceb add prior_installation_required
jankanis
parents: 6
diff changeset
28 <repository changeset_revision="15e7435c2663" name="package_gdbm_1_11" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
6
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
29 <package name="gdbm" version="1.11" />
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
30 </repository>
0
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
31 </action>
6
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
32
9
d3ea5f1b4d79 Another attempt at getting the environment settings right.
jankanis
parents: 8
diff changeset
33 <action type="shell_command">
12
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
34 # The python build system doesn't check CPATH / C(PLUS)_INCLUDE_PATH which is set by the depended-upon
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
35 # tool definitions for these sources, but it does check CPPFLAGS / LDFLAGS
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
36 # Currently not whitespace-safe, but galaxy itself isn't whitespace-safe either so it doesn't matter (yet)
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
37 oldifs="$IFS"
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
38 IFS=:
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
39 for p in $CPLUS_INCLUDE_PATH
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
40 do
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
41 CPPFLAGS="$CPPFLAGS -I$p"
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
42 done
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
43 for p in $LD_LIBRARY_PATH
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
44 do
13
9dbfc4fcef0a Fix LDFLAGS. This version is not yet safe against paths containing whitespace.
jankanis
parents: 12
diff changeset
45 LDFLAGS="$LDFLAGS -L$p"
12
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
46 done
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
47 IFS="$oldifs"
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
48 export CPPFLAGS
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
49 export LDFLAGS
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
50
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
51 # Clear variables that may be used in Galaxy's extenal python 2 environment
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
52 unset PYTHONPATH
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
53 unset PYTHONHOME
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
54
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
55 ./configure --prefix="$INSTALL_DIR" --with-ensurepip --enable-loadable-sqlite-extensions \
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
56 &amp;&amp; make \
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
57 &amp;&amp; make install
4091cf3b81e5 Uploaded
jankanis
parents: 11
diff changeset
58 </action>
6
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
59
1
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
60 <action type="set_environment">
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
61 <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable>
6
321cacd4ae43 Add dependencies and settings for sqlite and gdbm, so that python can build its packages for those.
jankanis
parents: 5
diff changeset
62 <!-- empty PYTHONPATH, otherwise we will get Galaxy's Python 2 libraries in the Python 3 path -->
1
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
63 <environment_variable action="set_to" name="PYTHONPATH" />
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
64 <environment_variable action="set_to" name="PYTHONHOME">$INSTALL_DIR</environment_variable>
4
9491d3c0dbe6 Add --with-ensurepip
jankanis
parents: 3
diff changeset
65 <environment_variable action="prepend_to" name="PKG_CONFIG_PATH">$INSTALL_DIR/lib/pkgconfig</environment_variable>
1
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
66 </action>
0
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
67 </actions>
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
68 </install>
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
69
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
70 <readme>
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
71 Python 3.4.1. Configured with the default settings, using --prefix=$INSTALL_DIR.
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
72
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
73 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:
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
74
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
75 &lt;action type="set_environment_for_install"&gt;
1
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
76 &lt;repository name="python3" owner="jankanis"&gt;
0
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
77 &lt;package name="python3" version="3.4.1" /&gt;
1
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
78 &lt;/repository&gt;
0
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
79 &lt;/action&gt;
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
80 &lt;action type="shell_command"&gt;
1
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
81 # Unset any saved environment settings from parent virtual
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
82 # environments, e.g. for python 2 or if Galaxy itself is running
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
83 # from within a virtual environment.
09faf0ae581b Fix some whitespace
jankanis
parents: 0
diff changeset
84 unset _OLD_VIRTUAL_PATH; unset _OLD_VIRTUAL_PYTHONHOME
3
d71cfcee2977 Fix openssl search path in setup.py
jankanis
parents: 2
diff changeset
85 pyvenv {{\$MY_PACKAGE_NAME}}
d71cfcee2977 Fix openssl search path in setup.py
jankanis
parents: 2
diff changeset
86 . {{\$MY_PACKAGE_NAME}}/bin/activate
d71cfcee2977 Fix openssl search path in setup.py
jankanis
parents: 2
diff changeset
87 pip3 install {{\$PYTHON-PACKAGE}}
0
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
88 &lt;/action&gt;
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
89 &lt;action type="set_environment"&gt;
3
d71cfcee2977 Fix openssl search path in setup.py
jankanis
parents: 2
diff changeset
90 &lt;environment_variable name="PYTHONPATH" action="prepend_to"&gt;\$INSTALL_DIR/lib/python3.4/site-packages&lt;/environment_variable&gt;
0
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
91 &lt;/action&gt;
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
92
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
93 </readme>
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
94
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
95 </package>
e9407b729a69 Uploaded
jankanis
parents:
diff changeset
96 </tool_dependency>