changeset 3:d71cfcee2977 draft

Fix openssl search path in setup.py
author jankanis
date Thu, 22 May 2014 10:52:19 -0400
parents ab42c5133d1c
children 9491d3c0dbe6
files tool_dependencies.xml
diffstat 1 files changed, 47 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/tool_dependencies.xml	Thu May 22 06:28:24 2014 -0400
+++ b/tool_dependencies.xml	Thu May 22 10:52:19 2014 -0400
@@ -13,6 +13,49 @@
             <package name="openssl" version="1.0.1g" />
           </repository>
         </action>
+	<!--
+	 Python3 config doesn't search for some optional dependencies
+	 in non-standard locations. Patch config.py to also look at
+	 the repositories we just installed above
+	 -->
+	<action type="shell_command">
+	  patch &lt;&lt; EOF
+--- a/setup.py
++++ b/setup.py
+@@ -750,10 +750,14 @@
+         exts.append( Extension('_socket', ['socketmodule.c'],
+                                depends = ['socketmodule.h']) )
+         # Detect SSL support for the socket module (via _ssl)
++        CUSTOM_OPENSSL = os.environ.get('OPENSSL_ROOT_DIR')
+         search_for_ssl_incs_in = [
+                               '/usr/local/ssl/include',
+                               '/usr/contrib/ssl/include/'
+                              ]
++        if CUSTOM_OPENSSL:
++            search_for_ssl_incs_in.append(os.path.join(CUSTOM_OPENSSL, 'include'))
++        
+         ssl_incs = find_file('openssl/ssl.h', inc_dirs,
+                              search_for_ssl_incs_in
+                              )
+@@ -762,10 +766,12 @@
+                                ['/usr/kerberos/include'])
+             if krb5_h:
+                 ssl_incs += krb5_h
+-        ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
+-                                     ['/usr/local/ssl/lib',
+-                                      '/usr/contrib/ssl/lib/'
+-                                     ] )
++
++        search_for_ssl_libs_in = ['/usr/local/ssl/lib',
++                                  '/usr/contrib/ssl/lib/']
++        if CUSTOM_OPENSSL:
++            search_for_ssl_libs_in.append(os.path.join(CUSTOM_OPENSSL, 'lib'))
++        ssl_libs = find_library_file(self.compiler, 'ssl', lib_dirs, search_for_ssl_libs_in)
+ 
+         if (ssl_incs is not None and
+             ssl_libs is not None):
+EOF
+	</action>
         <action type="autoconf">--prefix=$INSTALL_DIR</action>
         <action type="set_environment">
           <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable>
@@ -39,12 +82,12 @@
         # environments, e.g. for python 2 or if Galaxy itself is running
         # from within a virtual environment.
         unset _OLD_VIRTUAL_PATH; unset _OLD_VIRTUAL_PYTHONHOME
-        pyvenv {{$MY_PACKAGE_NAME}}
-        . {{$MY_PACKAGE_NAME}}/bin/activate
-        pip install {{$PYTHON-PACKAGE}}
+        pyvenv {{\$MY_PACKAGE_NAME}}
+        . {{\$MY_PACKAGE_NAME}}/bin/activate
+        pip3 install {{\$PYTHON-PACKAGE}}
       &lt;/action&gt;
       &lt;action type="set_environment"&gt;
-        &lt;environment_variable name="PYTHONPATH" action="prepend_to"&gt;$INSTALL_DIR/lib/python3.4/site-packages:$INSTALL_DIR/lib64/python3.4/iste-packages&lt;/environment_variable&gt;
+        &lt;environment_variable name="PYTHONPATH" action="prepend_to"&gt;\$INSTALL_DIR/lib/python3.4/site-packages&lt;/environment_variable&gt;
       &lt;/action&gt;
 
     </readme>