annotate tool_dependencies.xml @ 1:c322db44259d draft

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