2009-08-24 Laszlo (Laca) Peter <[email protected]>
authorlaca
Wed, 26 Aug 2009 10:52:43 +0000
changeset 16364 f8f2a02122dd
parent 16363 78edff1843e3
child 16365 6e802c0bdb9a
2009-08-24 Laszlo (Laca) Peter <[email protected]> * SUNWPython.spec: add ncurses dependency * SUNWPython26.spec: bump to 2.6.2, add ncurses dependency * patches/Python-01-solaris-lib-dirs.diff: update to find ncurses * patches/Python26-01-solaris-lib-dirs.diff: update to find ncurses * patches/Python26-06-write_compiled_module-atomic.diff: merge for 2.6.2 Fixes 6833157, 6872653 and 6873157.
ChangeLog
SUNWPython.spec
SUNWPython26.spec
patches/Python-01-solaris-lib-dirs.diff
patches/Python26-01-solaris-lib-dirs.diff
patches/Python26-06-write_compiled_module-atomic.diff
--- a/ChangeLog	Wed Aug 26 10:23:22 2009 +0000
+++ b/ChangeLog	Wed Aug 26 10:52:43 2009 +0000
@@ -1,3 +1,12 @@
+2009-08-24  Laszlo (Laca) Peter  <[email protected]>
+
+	* SUNWPython.spec: add ncurses dependency
+	* SUNWPython26.spec: bump to 2.6.2, add ncurses dependency
+	* patches/Python-01-solaris-lib-dirs.diff: update to find ncurses
+	* patches/Python26-01-solaris-lib-dirs.diff: update to find ncurses
+	* patches/Python26-06-write_compiled_module-atomic.diff: merge for 2.6.2
+	Fixes 6833157, 6872653 and 6873157.
+
 2009-08-26  Halton Huo  <[email protected]>
 
 	* SUNWclutter-cairo.spec: Removed obsoleted module
@@ -12,7 +21,7 @@
 	* patches/nautilus-14-interface-changes.diff:
 	Updated, removed "CD/DVD creator" entry of the sidepanel of nautilus
 	because this will be replaced by brasero nautilus extension.
-	
+
 2009-08-26  Jerry Tan <[email protected]>
 
 	* base-specs/libtheora.spec: bump to 1.1beta3
@@ -202,7 +211,7 @@
 2009-08-21  Lin Ma  <[email protected]>
 
 	* SUNWgnome-cd-burner.spec: Disable nautilus ext due to bug 10789.
-	
+
 2009-08-21  Jeff Cai <[email protected]>
 
 	* SUNWgnutls.spec: Make a minor change.
--- a/SUNWPython.spec	Wed Aug 26 10:23:22 2009 +0000
+++ b/SUNWPython.spec	Wed Aug 26 10:52:43 2009 +0000
@@ -3,7 +3,7 @@
 #
 # includes module(s): Python
 #
-# Copyright 2008 Sun Microsystems, Inc.
+# Copyright 2009 Sun Microsystems, Inc.
 # This file and all modifications and additions to the pristine
 # package are under the same license as the package itself.
 #
@@ -86,6 +86,7 @@
 Requires: SUNWlibmsr
 Requires: SUNWlibms
 Requires: SUNWzlib
+Requires: SUNWncurses
 
 %package devel
 Summary:                 %{summary} - development files
@@ -147,7 +148,7 @@
 autoheader
 autoconf
 export DFLAGS=-32
-export CFLAGS="%optflags"
+export CFLAGS="-I/usr/include/ncurses %optflags"
 ./configure --prefix=%{_prefix} \
   --libdir=%{_libdir} \
   --mandir=%{_mandir} \
--- a/SUNWPython26.spec	Wed Aug 26 10:23:22 2009 +0000
+++ b/SUNWPython26.spec	Wed Aug 26 10:52:43 2009 +0000
@@ -3,7 +3,7 @@
 #
 # includes module(s): Python
 #
-# Copyright 2008 Sun Microsystems, Inc.
+# Copyright 2009 Sun Microsystems, Inc.
 # This file and all modifications and additions to the pristine
 # package are under the same license as the package itself.
 #
@@ -14,7 +14,7 @@
 
 Name:                    SUNWPython26
 Summary:                 The Python interpreter, libraries and utilities
-Version:                 2.6.1
+Version:                 2.6.2
 %define majmin           2.6
 SUNW_BaseDir:            %{_basedir}
 SUNW_Copyright:          %{name}.copyright
@@ -86,6 +86,7 @@
 Requires: SUNWzlib
 Requires: SUNWsqlite3
 Requires: SUNWlibffi
+Requires: SUNWncurses
 
 %package devel
 Summary:                 %{summary} - development files
@@ -151,7 +152,7 @@
 export DFLAGS=-32
 export CC="$CC -xregs=no%frameptr"
 export CXX="$CXX -xregs=no%frameptr -norunpath -compat=5"
-export CFLAGS="%optflags -D_LARGEFILE64_SOURCE `pkg-config --cflags libffi`"
+export CFLAGS="-I/usr/include/ncurses %optflags -D_LARGEFILE64_SOURCE `pkg-config --cflags libffi`"
 export CPPFLAGS="-D_LARGEFILE64_SOURCE `pkg-config --cflags libffi`"
 export LDFLAGS="%_ldflags -L."
 
@@ -363,6 +364,8 @@
 %{_libdir}/python?.?/py[cC][cC]
 
 %changelog
+* Mon Aug 24 2009 - [email protected]
+- bump to 2.6.2
 * Thu Mar 12 2009 - [email protected]
 - change bugdb to http://bugs.python.org/issue
 - correct the comment format of patch14
@@ -478,4 +481,3 @@
 - remove package root def'n
 * Thu Mar 04 2004 - [email protected]
 - initial version added to CVS
-
--- a/patches/Python-01-solaris-lib-dirs.diff	Wed Aug 26 10:23:22 2009 +0000
+++ b/patches/Python-01-solaris-lib-dirs.diff	Wed Aug 26 10:52:43 2009 +0000
@@ -1,5 +1,5 @@
---- Python-2.4.3/setup.py.patch1	2006-03-23 14:07:46.000000000 -0500
-+++ Python-2.4.3/setup.py	2006-09-14 22:12:55.808430000 -0400
+--- Python-2.4.6/setup.py.orig	2006-10-09 06:41:25.000000000 +1300
++++ Python-2.4.6/setup.py	2009-08-20 22:46:18.561556263 +1200
 @@ -239,9 +239,10 @@
          return sys.platform
  
@@ -23,7 +23,7 @@
              ]
          inc_dirs = self.compiler.include_dirs + ['/usr/include']
          exts = []
-@@ -452,11 +453,23 @@
+@@ -481,11 +482,23 @@
          exts.append( Extension('_csv', ['_csv.c']) )
  
          # socket(2)
@@ -49,7 +49,7 @@
                                '/usr/contrib/ssl/include/'
                               ]
                               )
-@@ -465,8 +478,13 @@
+@@ -494,8 +507,13 @@
                                 ['/usr/kerberos/include'])
              if krb5_h:
                  ssl_incs += krb5_h
@@ -64,7 +64,7 @@
                                        '/usr/contrib/ssl/lib/'
                                       ] )
  
-@@ -475,6 +493,7 @@
+@@ -504,6 +522,7 @@
              exts.append( Extension('_ssl', ['_ssl.c'],
                                     include_dirs = ssl_incs,
                                     library_dirs = ssl_libs,
@@ -72,7 +72,51 @@
                                     libraries = ['ssl', 'crypto'],
                                     depends = ['socketmodule.h']), )
  
-@@ -985,15 +1004,25 @@
+@@ -727,6 +746,12 @@
+ 
+         # 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')
+         panel_library = 'panel'
+         if (self.compiler.find_library_file(lib_dirs, 'ncursesw')):
+             curses_libs = ['ncursesw']
+@@ -735,10 +760,13 @@
+             panel_library = 'panelw'
+             exts.append( Extension('_curses', ['_cursesmodule.c'],
+                                    libraries = curses_libs) )
+-        elif (self.compiler.find_library_file(lib_dirs, 'ncurses')):
++        elif (self.compiler.find_library_file(lib_dirs + curses_lib_dirs, 'ncurses')):
+             curses_libs = ['ncurses']
+             exts.append( Extension('_curses', ['_cursesmodule.c'],
+-                                   libraries = curses_libs) )
++                                   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
+@@ -755,9 +783,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 ) )
+ 
+ 
+         # Andrew Kuchling's zlib module.  Note that some versions of zlib
+@@ -1023,13 +1054,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
@@ -88,20 +132,18 @@
 -            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
++            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:
+             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
+                 # Exit the loop when we've found the Tcl/Tk libraries
+                 break
  
-         # Now check for the header files
-         if tklib and tcllib:
-@@ -1009,6 +1038,7 @@
+@@ -1047,6 +1088,7 @@
              for dir in inc_dirs:
                  tcl_include_sub += [dir + os.sep + "tcl" + dotversion]
                  tk_include_sub += [dir + os.sep + "tk" + dotversion]
@@ -109,7 +151,7 @@
              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)
-@@ -1020,7 +1050,7 @@
+@@ -1058,7 +1100,7 @@
  
          # OK... everything seems to be present for Tcl/Tk.
  
@@ -118,7 +160,7 @@
          for dir in tcl_includes + tk_includes:
              if dir not in include_dirs:
                  include_dirs.append(dir)
-@@ -1073,6 +1103,7 @@
+@@ -1111,6 +1153,7 @@
                          include_dirs = include_dirs,
                          libraries = libs,
                          library_dirs = added_lib_dirs,
--- a/patches/Python26-01-solaris-lib-dirs.diff	Wed Aug 26 10:23:22 2009 +0000
+++ b/patches/Python26-01-solaris-lib-dirs.diff	Wed Aug 26 10:52:43 2009 +0000
@@ -1,5 +1,5 @@
---- Python-2.6/setup.py.solaris	2008-09-30 13:15:45.000000000 +1300
-+++ Python-2.6/setup.py	2008-12-02 19:20:02.374958203 +1300
+--- Python-2.6.2/setup.py.solaris	2009-04-01 07:20:48.000000000 +1300
++++ Python-2.6.2/setup.py	2009-08-24 14:27:38.351939868 +1200
 @@ -309,10 +309,10 @@
          return sys.platform
  
@@ -15,7 +15,7 @@
          # 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
-@@ -608,11 +608,22 @@
+@@ -610,11 +610,22 @@
          exts.append( Extension('_csv', ['_csv.c']) )
  
          # socket(2)
@@ -40,7 +40,7 @@
                                '/usr/contrib/ssl/include/'
                               ]
          ssl_incs = find_file('openssl/ssl.h', inc_dirs,
-@@ -623,8 +634,12 @@
+@@ -625,8 +636,12 @@
                                 ['/usr/kerberos/include'])
              if krb5_h:
                  ssl_incs += krb5_h
@@ -54,7 +54,7 @@
                                        '/usr/contrib/ssl/lib/'
                                       ] )
  
-@@ -633,6 +648,7 @@
+@@ -635,6 +650,7 @@
              exts.append( Extension('_ssl', ['_ssl.c'],
                                     include_dirs = ssl_incs,
                                     library_dirs = ssl_libs,
@@ -62,7 +62,51 @@
                                     libraries = ['ssl', 'crypto'],
                                     depends = ['socketmodule.h']), )
          else:
-@@ -1517,12 +1533,23 @@
+@@ -1079,6 +1095,12 @@
+ 
+         # 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')
+         panel_library = 'panel'
+         if (self.compiler.find_library_file(lib_dirs, 'ncursesw')):
+             curses_libs = ['ncursesw']
+@@ -1087,10 +1109,13 @@
+             panel_library = 'panelw'
+             exts.append( Extension('_curses', ['_cursesmodule.c'],
+                                    libraries = curses_libs) )
+-        elif (self.compiler.find_library_file(lib_dirs, 'ncurses')):
++        elif (self.compiler.find_library_file(lib_dirs + curses_lib_dirs, 'ncurses')):
+             curses_libs = ['ncurses']
+             exts.append( Extension('_curses', ['_cursesmodule.c'],
+-                                   libraries = curses_libs) )
++                                   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
+@@ -1109,9 +1134,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')
+ 
+@@ -1540,12 +1568,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.
@@ -88,7 +132,7 @@
                  # Exit the loop when we've found the Tcl/Tk libraries
                  break
  
-@@ -1540,6 +1567,7 @@
+@@ -1563,6 +1602,7 @@
              for dir in inc_dirs:
                  tcl_include_sub += [dir + os.sep + "tcl" + dotversion]
                  tk_include_sub += [dir + os.sep + "tk" + dotversion]
@@ -96,7 +140,7 @@
              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)
-@@ -1604,6 +1632,7 @@
+@@ -1627,6 +1667,7 @@
                          include_dirs = include_dirs,
                          libraries = libs,
                          library_dirs = added_lib_dirs,
--- a/patches/Python26-06-write_compiled_module-atomic.diff	Wed Aug 26 10:23:22 2009 +0000
+++ b/patches/Python26-06-write_compiled_module-atomic.diff	Wed Aug 26 10:52:43 2009 +0000
@@ -1,5 +1,5 @@
---- Python-2.6/Python/import.c.compile	2008-12-02 20:35:56.839640057 +1300
-+++ Python-2.6/Python/import.c	2008-12-02 20:40:29.115806033 +1300
+--- Python-2.6.2/Python/import.c.atomic	2009-08-24 14:11:50.131956433 +1200
++++ Python-2.6.2/Python/import.c	2009-08-24 14:19:04.832835328 +1200
 @@ -871,8 +871,9 @@
  
  /* Write a compiled module to a file, placing the time of last
@@ -80,4 +80,4 @@
 +	PyMem_Free(tmppathname);
  }
  
- 
+ static void