components/python/python26/patches/Python26-01-solaris-lib-dirs.patch
branchs11u3-sru
changeset 7811 9126e6f58cd8
parent 7792 ee802f9b5132
child 7816 79ee06fdecc5
--- a/components/python/python26/patches/Python26-01-solaris-lib-dirs.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-diff --git Python-2.6.4/Modules/_multiprocessing/multiprocessing.h Python-2.6.4/Modules/_multiprocessing/multiprocessing.h
---- Python-2.6.4/Modules/_multiprocessing/multiprocessing.h
-+++ Python-2.6.4/Modules/_multiprocessing/multiprocessing.h
-@@ -3,6 +3,10 @@
- 
- #define PY_SSIZE_T_CLEAN
- 
-+/* needed on Solaris for the definition of CMSG_SPACE and friends */
-+#define _XOPEN_SOURCE
-+#define _XOPEN_SOURCE_EXTENDED 1
-+
- #include "Python.h"
- #include "structmember.h"
- #include "pythread.h"
-diff --git Python-2.6.4/setup.py Python-2.6.4/setup.py
---- Python-2.6.4/setup.py
-+++ Python-2.6.4/setup.py
-@@ -355,10 +355,10 @@
-         return sys.platform
- 
-     def detect_modules(self):
--        # Ensure that /usr/local is always used
--        add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
--        add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
--
-+        if sys.platform != 'sunos5':
-+            # Ensure that /usr/local is always used
-+            add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-+            add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
-         # Add paths specified in the environment variables LDFLAGS and
-         # CPPFLAGS for header and library files.
-         # We must get the values from the Makefile and not the environment
-@@ -687,11 +687,22 @@
-         exts.append( Extension('_csv', ['_csv.c']) )
- 
-         # socket(2)
-+        socket_libs = []
-+        if self.compiler.find_library_file(lib_dirs,
-+                                           'socket'):
-+            socket_libs.append('socket')
-+        if self.compiler.find_library_file(lib_dirs,
-+                                           'nsl'):
-+            socket_libs.append('nsl')
-+        if self.compiler.find_library_file(lib_dirs,
-+                                           'resolv'):
-+            socket_libs.append('resolv')
-         exts.append( Extension('_socket', ['socketmodule.c'],
--                               depends = ['socketmodule.h']) )
-+                               depends = ['socketmodule.h'],
-+                               libraries = socket_libs) )
-         # Detect SSL support for the socket module (via _ssl)
-         search_for_ssl_incs_in = [
--                              '/usr/local/ssl/include',
-+                              '/usr/sfw/include',
-                               '/usr/contrib/ssl/include/'
-                              ]
-         ssl_incs = find_file('openssl/ssl.h', inc_dirs,
-@@ -702,8 +713,12 @@
-                                ['/usr/kerberos/include'])
-             if krb5_h:
-                 ssl_incs += krb5_h
-+        if sys.maxint == 2147483647L:
-+            sfw_libdir = '/usr/sfw/lib';
-+        else:
-+            sfw_libdir = '/usr/sfw/lib/64';
-         ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
--                                     ['/usr/local/ssl/lib',
-+                                     [sfw_libdir,
-                                       '/usr/contrib/ssl/lib/'
-                                      ] )
- 
-@@ -712,6 +727,7 @@
-             exts.append( Extension('_ssl', ['_ssl.c'],
-                                    include_dirs = ssl_incs,
-                                    library_dirs = ssl_libs,
-+				   runtime_library_dirs = ssl_libs,
-                                    libraries = ['ssl', 'crypto'],
-                                    depends = ['socketmodule.h']), )
-         else:
-@@ -1191,16 +1207,34 @@
- 
-         # Curses support, requiring the System V version of curses, often
-         # provided by the ncurses library.
-+        curses_lib_dirs = []
-+        curses_inc_dirs = []
-+        if platform == 'sunos5':
-+            # look for ncurses in /usr/gnu on Solaris
-+            curses_inc_dirs.append('/usr/include/ncurses')
-+            curses_lib_dirs.append('/usr/gnu/lib')
-+            if os.path.exists('/usr/gnu/lib/sparcv9'):
-+                curses_lib_dirs.append('/usr/gnu/lib/sparcv9')
-+            else:
-+                curses_lib_dirs.append('/usr/gnu/lib/amd64')
-         panel_library = 'panel'
--        if curses_library.startswith('ncurses'):
--            if curses_library == 'ncursesw':
--                # Bug 1464056: If _curses.so links with ncursesw,
--                # _curses_panel.so must link with panelw.
--                panel_library = 'panelw'
--            curses_libs = [curses_library]
-+        if (self.compiler.find_library_file(lib_dirs, 'ncursesw')):
-+            curses_libs = ['ncursesw']
-+            # Bug 1464056: If _curses.so links with ncursesw,
-+            # _curses_panel.so must link with panelw.
-+            panel_library = 'panelw'
-             exts.append( Extension('_curses', ['_cursesmodule.c'],
-                                    libraries = curses_libs) )
--        elif curses_library == 'curses' and platform != 'darwin':
-+        elif (self.compiler.find_library_file(lib_dirs + curses_lib_dirs, 'ncurses')):
-+            curses_libs = ['ncurses']
-+            exts.append( Extension('_curses', ['_cursesmodule.c'],
-+                                   libraries = curses_libs,
-+                                   library_dirs = curses_lib_dirs,
-+                                   runtime_library_dirs = curses_lib_dirs,
-+                                   include_dirs = curses_inc_dirs ) )
-+
-+        elif (self.compiler.find_library_file(lib_dirs, 'curses')
-+              and platform != 'darwin'):
-                 # OSX has an old Berkeley curses, not good enough for
-                 # the _curses module.
-             if (self.compiler.find_library_file(lib_dirs, 'terminfo')):
-@@ -1217,9 +1251,12 @@
- 
-         # If the curses module is enabled, check for the panel module
-         if (module_enabled(exts, '_curses') and
--            self.compiler.find_library_file(lib_dirs, panel_library)):
-+            self.compiler.find_library_file(lib_dirs + curses_lib_dirs, panel_library)):
-             exts.append( Extension('_curses_panel', ['_curses_panel.c'],
--                                   libraries = [panel_library] + curses_libs) )
-+                                   libraries = [panel_library] + curses_libs,
-+                                   include_dirs = curses_inc_dirs,
-+                                   library_dirs = curses_lib_dirs,
-+                                   runtime_library_dirs = curses_lib_dirs ) )
-         else:
-             missing.append('_curses_panel')
- 
-@@ -1432,9 +1469,14 @@
-             if macros.get('HAVE_SEM_OPEN', False):
-                 multiprocessing_srcs.append('_multiprocessing/semaphore.c')
- 
-+        multiproc_libs = []
-+        if platform == 'sunos5':
-+            multiproc_libs = [ "xnet" ]
-+
-         if sysconfig.get_config_var('WITH_THREAD'):
-             exts.append ( Extension('_multiprocessing', multiprocessing_srcs,
-                                     define_macros=macros.items(),
-+                                    libraries=multiproc_libs,
-                                     include_dirs=["Modules/_multiprocessing"]))
-         else:
-             missing.append('_multiprocessing')
-@@ -1674,12 +1716,23 @@
-         # Assume we haven't found any of the libraries or include files
-         # The versions with dots are used on Unix, and the versions without
-         # dots on Windows, for detection by cygwin.
-+        added_lib_dirs = []
-+        tcl_tk_lib_dirs = ['/usr/sfw/lib']
-+        tcl_tk_inc_dirs = ['/usr/sfw/include']
-         tcllib = tklib = tcl_includes = tk_includes = None
-         for version in ['8.5', '85', '8.4', '84', '8.3', '83', '8.2',
-                         '82', '8.1', '81', '8.0', '80']:
--            tklib = self.compiler.find_library_file(lib_dirs, 'tk' + version)
--            tcllib = self.compiler.find_library_file(lib_dirs, 'tcl' + version)
-+            tklib = self.compiler.find_library_file(lib_dirs, 'tk' + version, tcl_tk_lib_dirs)
-+            tcllib = self.compiler.find_library_file(lib_dirs, 'tcl' + version, tcl_tk_lib_dirs)
-+            if tklib and tcllib:
-+                # Exit the loop when we've found the Tcl/Tk libraries
-+                break
-+
-+            tklib = self.compiler.find_library_file(tcl_tk_lib_dirs, 'tk' + version)
-+            tcllib = self.compiler.find_library_file(tcl_tk_lib_dirs, 'tcl' + version)
-             if tklib and tcllib:
-+                # found the libs in a non-standard dir
-+                added_lib_dirs.append(os.path.dirname(tcllib))
-                 # Exit the loop when we've found the Tcl/Tk libraries
-                 break
- 
-@@ -1697,6 +1750,7 @@
-             for dir in inc_dirs:
-                 tcl_include_sub += [dir + os.sep + "tcl" + dotversion]
-                 tk_include_sub += [dir + os.sep + "tk" + dotversion]
-+            tcl_include_sub += tcl_tk_inc_dirs
-             tk_include_sub += tcl_include_sub
-             tcl_includes = find_file('tcl.h', inc_dirs, tcl_include_sub)
-             tk_includes = find_file('tk.h', inc_dirs, tk_include_sub)
-@@ -1761,6 +1815,7 @@
-                         include_dirs = include_dirs,
-                         libraries = libs,
-                         library_dirs = added_lib_dirs,
-+                        runtime_library_dirs = added_lib_dirs
-                         )
-         self.extensions.append(ext)
- 
-diff --git Python-2.6.4/Lib/site-packages/vendor-packages.pth Python2.6.4/Lib/site-packages/vendor-packages.pth
---- /dev/null	Sat Feb 12 00:21:26 2011
-+++ Python-2.6.4/Lib/site-packages/vendor-packages.pth	Sat Feb 12 00:47:05 2011
-@@ -0,0 +1,1 @@
-+import site; site.addsitedir('/usr/lib/python2.6/vendor-packages')