components/python/python26/Python26-14-ctypes-util-find-library.patch
changeset 99 c15c9099bb44
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python26/Python26-14-ctypes-util-find-library.patch	Wed Feb 23 10:37:11 2011 -0800
@@ -0,0 +1,39 @@
+diff --git Python-2.6.4/Lib/ctypes/util.py Python-2.6.4/Lib/ctypes/util.py
+--- Python-2.6.4/Lib/ctypes/util.py
++++ Python-2.6.4/Lib/ctypes/util.py
+@@ -164,6 +164,35 @@
+             res.sort(cmp= lambda x,y: cmp(_num_version(x), _num_version(y)))
+             return res[-1]
+ 
++    elif sys.platform == "sunos5":
++
++        def _findLib_crle(name, is64):
++            if not os.path.exists('/usr/bin/crle'):
++                return None
++
++            if is64:
++                cmd = 'env LC_ALL=C /usr/bin/crle -64 2>/dev/null'
++            else:
++                cmd = 'env LC_ALL=C /usr/bin/crle 2>/dev/null'
++
++            for line in os.popen(cmd).readlines():
++                line = line.strip()
++                if (line.startswith('Default Library Path (ELF):')):
++                    paths = line.split()[4]
++
++            if not paths:
++                return None
++
++            for dir in paths.split(":"):
++                libfile = os.path.join(dir, "lib%s.so" % name)
++                if os.path.exists(libfile):
++                    return libfile
++
++            return None
++        
++        def find_library(name, is64 = False):
++            return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name))
++
+     else:
+ 
+         def _findLib_ldconfig(name):