diff python.orig/2.1/CVS/Entries python/2.1/CVS/Entries
--- python.orig/2.1/CVS/Entries	Wed Jul 30 20:59:30 2003
+++ python/2.1/CVS/Entries	Tue Dec 10 00:00:00 2002
@@ -1,5 +1,5 @@
-/Makefile/1.3/Tue Oct  8 02:52:25 2002//
-/distinfo/1.2/Fri Apr 19 12:19:30 2002//
 D/files////
 D/patches////
 D/pkg////
+/Makefile/1.3/Mon Dec  9 22:35:47 2002//
+/distinfo/1.2/Mon Dec  9 22:35:48 2002//
diff python.orig/2.1/Makefile python/2.1/Makefile
--- python.orig/2.1/Makefile	Tue Oct  8 04:52:25 2002
+++ python/2.1/Makefile	Tue Aug 12 00:00:16 2003
@@ -2,7 +2,9 @@
 
 VERSION=	2.1
 PATCHLEVEL=	.3
-PKG_PATCHLEVEL=	p1
+PKG_PATCHLEVEL=
 
-.include <bsd.port.mk>
+CONFIGURE_STYLE=	dest
+CONFIGURE_ARGS=		--without-pymalloc
 
+.include <bsd.port.mk>
diff python.orig/2.1/files/CHANGES.OpenBSD python/2.1/files/CHANGES.OpenBSD
--- python.orig/2.1/files/CHANGES.OpenBSD	Sat May 11 23:35:13 2002
+++ python/2.1/files/CHANGES.OpenBSD	Wed Jun 18 01:08:39 2003
@@ -17,8 +17,13 @@
     same system.  If no "python" binary exists, a symlink to
     "python2.1" is created when the package is installed.
 
+6.  os.py: security fixes for _execvpe(). Function taken from Python
+    2.2.3
+
+7.  __va_copy was used where appropriate so python would work on
+    non-i386 architectures such as powerpc.
+
 These changes are available in the OpenBSD CVS repository
 <http://www.openbsd.org/anoncvs.html> in ports/lang/python.
 
 $Id: CHANGES.OpenBSD,v 1.1 2002/05/11 21:35:13 matt Exp $
-
diff python.orig/2.1/files/CVS/Entries python/2.1/files/CVS/Entries
--- python.orig/2.1/files/CVS/Entries	Wed Jul 30 20:53:37 2003
+++ python/2.1/files/CVS/Entries	Fri Jul  4 19:14:13 2003
@@ -1,7 +1,7 @@
-/CHANGES.OpenBSD/1.1/Sat May 11 21:35:13 2002//
-/Setup/1.1/Fri Feb 15 19:42:18 2002//
-/Setup.expat/1.1/Fri Feb 15 19:42:18 2002//
-/Setup.mpz/1.1/Fri Feb 15 19:42:18 2002//
-/Setup.tkinter/1.1/Fri Feb 15 19:42:18 2002//
-/pydoc/1.1/Fri Feb 15 19:42:18 2002//
+/CHANGES.OpenBSD/1.1/Mon Dec  9 22:35:47 2002//
+/Setup/1.1/Mon Dec  9 22:35:47 2002//
+/Setup.expat/1.1/Thu Jun 12 03:59:01 2003//
+/Setup.tkinter/1.1/Thu Jun 12 03:59:44 2003//
+/Setup.mpz/1.1/Tue Jun 17 23:06:36 2003//
+/pydoc/1.1/Fri Jul  4 17:14:13 2003//
 D
diff python.orig/2.1/files/Setup python/2.1/files/Setup
--- python.orig/2.1/files/Setup	Fri Feb 15 20:42:18 2002
+++ python/2.1/files/Setup	Sun Jun 15 22:52:33 2003
@@ -169,7 +169,7 @@
 mmap mmapmodule.c
 
 # Dynamic readlines
-#xreadlines xreadlinesmodule.c
+xreadlines xreadlinesmodule.c
 
 # for socket(2), without SSL support.
 #_socket socketmodule.c
@@ -191,7 +191,7 @@
 # Some more UNIX dependent modules -- off by default, since these
 # are not supported by all UNIX systems:
 
-#nis nismodule.c -lnsl	# Sun yellow pages -- not everywhere
+nis nismodule.c # -lnsl	# Sun yellow pages -- not everywhere
 termios termios.c	# Steen Lumholt's termios module
 resource resource.c	# Jeremy Hylton's rlimit interface
 
@@ -261,7 +261,7 @@
 # A Linux specific module -- off by default; this may also work on 
 # some *BSDs.
 
-#linuxaudiodev linuxaudiodev.c
+# linuxaudiodev linuxaudiodev.c
 
 
 # George Neville-Neil's timing module:
@@ -269,49 +269,6 @@
 timing timingmodule.c
 
 
-# The _tkinter module.
-#
-# The command for _tkinter is long and site specific.  Please
-# uncomment and/or edit those parts as indicated.  If you don't have a
-# specific extension (e.g. Tix or BLT), leave the corresponding line
-# commented out.  (Leave the trailing backslashes in!  If you
-# experience strange errors, you may want to join all uncommented
-# lines and remove the backslashes -- the backslash interpretation is
-# done by the shell's "read" command and it may not be implemented on
-# every system.
-
-# *** Always uncomment this (leave the leading underscore in!):
-# _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
-# *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
-#	-L/usr/local/lib \
-# *** Uncomment and edit to reflect where your Tcl/Tk headers are:
-#	-I/usr/local/include \
-# *** Uncomment and edit to reflect where your X11 header files are:
-#	-I/usr/X11R6/include \
-# *** Or uncomment this for Solaris:
-#	-I/usr/openwin/include \
-# *** Uncomment and edit for Tix extension only:
-#	-DWITH_TIX -ltix8.1.8.2 \
-# *** Uncomment and edit for BLT extension only:
-#	-DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \
-# *** Uncomment and edit for PIL (TkImaging) extension only:
-#     (See http://www.pythonware.com/products/pil/ for more info)
-#	-DWITH_PIL -I../Extensions/Imaging/libImaging  tkImaging.c \
-# *** Uncomment and edit for TOGL extension only:
-#	-DWITH_TOGL togl.c \
-# *** Uncomment and edit to reflect your Tcl/Tk versions:
-#	-ltk8.2 -ltcl8.2 \
-# *** Uncomment and edit to reflect where your X11 libraries are:
-#	-L/usr/X11R6/lib \
-# *** Or uncomment this for Solaris:
-#	-L/usr/openwin/lib \
-# *** Uncomment these for TOGL extension only:
-#	-lGL -lGLU -lXext -lXmu \
-# *** Uncomment for AIX:
-#	-lld \
-# *** Always uncomment this; X11 libraries to link with:
-#	-lX11
-
 # Lance Ellinghaus's modules:
 
 rotor rotormodule.c		# enigma-inspired encryption
@@ -359,35 +316,7 @@
 
 dbm dbmmodule.c 	# dbm(3) may require -lndbm or similar
 
-# Anthony Baxter's gdbm module.  GNU dbm(3) will require -lgdbm:
-#
-# First, look at Setup.config; configure may have set this for you.
 
-#gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
-
-
-# Berkeley DB interface.
-#
-# This requires the Berkeley DB code, see
-# ftp://ftp.cs.berkeley.edu/pub/4bsd/db.1.85.tar.gz
-#
-# Edit the variables DB and DBPORT to point to the db top directory
-# and the subdirectory of PORT where you built it.
-#
-# (See http://electricrain.com/greg/python/bsddb3/ for an interface to
-# BSD DB 3.x.)
-
-# Note: If a db.h file is found by configure, bsddb will be enabled
-# automatically via Setup.config.in.  It only needs to be enabled here
-# if it is not automatically enabled there; check the generated
-# Setup.config before enabling it here.
-
-#DB=/depot/sundry/src/berkeley-db/db.1.85
-#DBPORT=$(DB)/PORT/irix.5.3
-#bsddb bsddbmodule.c -I$(DBPORT)/include -I$(DBPORT) $(DBPORT)/libdb.a
-
-
-
 # Helper module for various ascii-encoders
 binascii binascii.c
 
@@ -419,5 +348,4 @@
 # Andrew Kuchling's zlib module.
 # This require zlib 1.1.3 (or later).
 # See http://www.cdrom.com/pub/infozip/zlib/
-zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
-
+zlib zlibmodule.c -lz
diff python.orig/2.1/files/Setup.bsddb python/2.1/files/Setup.bsddb
--- python.orig/2.1/files/Setup.bsddb	Thu Jan  1 01:00:00 1970
+++ python/2.1/files/Setup.bsddb	Wed Jun 18 01:01:20 2003
@@ -0,0 +1,21 @@
+@NOSHARED@*shared*
+
+# Berkeley DB interface.
+#
+# This requires the Berkeley DB code, see
+# ftp://ftp.cs.berkeley.edu/pub/4bsd/db.1.85.tar.gz
+#
+# Edit the variables DB and DBPORT to point to the db top directory
+# and the subdirectory of PORT where you built it.
+#
+# (See http://electricrain.com/greg/python/bsddb3/ for an interface to
+# BSD DB 3.x.)
+
+# Note: If a db.h file is found by configure, bsddb will be enabled
+# automatically via Setup.config.in.  It only needs to be enabled here
+# if it is not automatically enabled there; check the generated
+# Setup.config before enabling it here.
+
+#DB=/depot/sundry/src/berkeley-db/db.1.85
+#DBPORT=$(DB)/PORT/irix.5.3
+bsddb bsddbmodule.c -I${LOCALBASE}/include -L${LOCALBASE}/lib -ldb
diff python.orig/2.1/files/Setup.expat python/2.1/files/Setup.expat
--- python.orig/2.1/files/Setup.expat	Fri Feb 15 20:42:18 2002
+++ python/2.1/files/Setup.expat	Wed Jun 18 01:06:25 2003
@@ -19,4 +19,4 @@
 #
 #    ar cr libexpat.a xmltok/*.o xmlparse/*.o
 #
-pyexpat pyexpat.c -DHAVE_EXPAT_H -I$(PREFIX)/include -L$(PREFIX)/lib -lexpat
+pyexpat pyexpat.c -DHAVE_EXPAT_H -I$(LOCALBASE)/include -L$(LOCALBASE)/lib -lexpat
diff python.orig/2.1/files/Setup.gdbm python/2.1/files/Setup.gdbm
--- python.orig/2.1/files/Setup.gdbm	Thu Jan  1 01:00:00 1970
+++ python/2.1/files/Setup.gdbm	Wed Jun 18 01:06:32 2003
@@ -0,0 +1,7 @@
+@NOSHARED@*shared*
+
+# Anthony Baxter's gdbm module.  GNU dbm(3) will require -lgdbm:
+#
+# First, look at Setup.config; configure may have set this for you.
+
+gdbm gdbmmodule.c -I$(LOCALBASE)/include -L$(LOCALBASE)/lib -lgdbm
diff python.orig/2.1/files/Setup.tkinter python/2.1/files/Setup.tkinter
--- python.orig/2.1/files/Setup.tkinter	Fri Feb 15 20:42:18 2002
+++ python/2.1/files/Setup.tkinter	Wed Jun 18 01:06:51 2003
@@ -17,8 +17,8 @@
 # *** Always uncomment this (leave the leading underscore in!):
 _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
 # *** Uncomment and edit to reflect where your Tcl/Tk headers are:
-	-I${PREFIX}/include/tcl8.3 \
-	-I${PREFIX}/include/tk8.3 \
+	-I${LOCALBASE}/include/tcl8.3 \
+	-I${LOCALBASE}/include/tk8.3 \
 # *** Uncomment and edit to reflect where your X11 header files are:
 	-I${X11BASE}/include \
 # *** Or uncomment this for Solaris:
@@ -32,7 +32,7 @@
 # *** Uncomment and edit for TOGL extension only:
 #	-DWITH_TOGL togl.c \
 # *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
-	-L${PREFIX}/lib \
+	-L${LOCALBASE}/lib \
 # *** Uncomment and edit to reflect your Tcl/Tk versions:
 	-ltk83 -ltcl83 \
 # *** Uncomment and edit to reflect where your X11 libraries are:
diff python.orig/2.1/files/idle python/2.1/files/idle
--- python.orig/2.1/files/idle	Thu Jan  1 01:00:00 1970
+++ python/2.1/files/idle	Sun Aug 10 02:26:23 2003
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/bin/env python@VERSION@ @LOCALBASE@/lib/python@VERSION@/Tools/idle/idle.py
diff python.orig/2.1/files/pydoc python/2.1/files/pydoc
--- python.orig/2.1/files/pydoc	Fri Feb 15 20:42:18 2002
+++ python/2.1/files/pydoc	Thu Jan  1 01:00:00 1970
@@ -1,4 +0,0 @@
-#!/usr/bin/env python2.1
-
-import pydoc
-pydoc.cli()
diff python.orig/2.1/patches/CVS/Entries python/2.1/patches/CVS/Entries
--- python.orig/2.1/patches/CVS/Entries	Wed Jul 30 20:53:42 2003
+++ python/2.1/patches/CVS/Entries	Tue Dec 10 00:00:00 2002
@@ -1,9 +1,9 @@
-/patch-Lib_os_py/1.1/Tue Oct  8 02:52:25 2002//
-/patch-Lib_tempfile_py/1.2/Sat May 11 21:35:13 2002//
-/patch-Lib_test_test_fcntl_py/1.2/Sat May 11 21:35:13 2002//
-/patch-Makefile_pre_in/1.1/Fri Feb 15 19:42:18 2002//
-/patch-Modules_Setup_dist/1.1/Tue Oct  8 02:52:25 2002//
-/patch-Python_thread_pthread_h/1.2/Sat May 11 21:35:13 2002//
-/patch-configure_in/1.3/Sun May 12 19:32:41 2002//
-/patch-setup_py/1.2/Tue Oct  8 02:52:25 2002//
+/patch-Lib_os_py/1.1/Mon Dec  9 22:35:48 2002//
+/patch-Lib_tempfile_py/1.2/Mon Dec  9 22:35:48 2002//
+/patch-Lib_test_test_fcntl_py/1.2/Mon Dec  9 22:35:48 2002//
+/patch-Makefile_pre_in/1.1/Mon Dec  9 22:35:48 2002//
+/patch-Modules_Setup_dist/1.1/Mon Dec  9 22:35:48 2002//
+/patch-Python_thread_pthread_h/1.2/Mon Dec  9 22:35:48 2002//
+/patch-configure_in/1.3/Mon Dec  9 22:35:48 2002//
+/patch-setup_py/1.2/Mon Dec  9 22:35:48 2002//
 D
diff python.orig/2.1/patches/patch-Modules_linuxaudiodev_c python/2.1/patches/patch-Modules_linuxaudiodev_c
--- python.orig/2.1/patches/patch-Modules_linuxaudiodev_c	Thu Jan  1 01:00:00 1970
+++ python/2.1/patches/patch-Modules_linuxaudiodev_c	Sun Jun 15 18:32:02 2003
@@ -0,0 +1,22 @@
+$OpenBSD$
+--- Modules/linuxaudiodev.c.orig	Mon Apr  2 17:59:02 2001
++++ Modules/linuxaudiodev.c	Sun Jun 15 16:31:45 2003
+@@ -41,6 +41,9 @@ typedef unsigned long uint32_t;
+ #define SNDCTL_DSP_CHANNELS SOUND_PCM_WRITE_CHANNELS
+ #endif
+ 
++#elif defined(__OpenBSD__)
++#include <soundcard.h>
++
+ #endif
+ 
+ typedef struct {
+@@ -108,7 +111,7 @@ newladobject(PyObject *arg)
+ 
+     basedev = getenv("AUDIODEV");
+     if (!basedev)
+-        basedev = "/dev/dsp";
++        basedev = "/dev/audio";
+ 
+     if ((fd = open(basedev, imode)) == -1) {
+         PyErr_SetFromErrnoWithFilename(LinuxAudioError, basedev);
diff python.orig/2.1/patches/patch-Modules_linuxaudiodev_c.orig python/2.1/patches/patch-Modules_linuxaudiodev_c.orig
--- python.orig/2.1/patches/patch-Modules_linuxaudiodev_c.orig	Thu Jan  1 01:00:00 1970
+++ python/2.1/patches/patch-Modules_linuxaudiodev_c.orig	Sat Jun 14 19:35:28 2003
@@ -0,0 +1,13 @@
+$OpenBSD$
+--- Modules/linuxaudiodev.c.orig	Sat Jun 14 17:34:36 2003
++++ Modules/linuxaudiodev.c	Sat Jun 14 17:35:16 2003
+@@ -41,6 +41,9 @@ typedef unsigned long uint32_t;
+ #define SNDCTL_DSP_CHANNELS SOUND_PCM_WRITE_CHANNELS
+ #endif
+ 
++#elif defined(__OpenBSD__)
++#include <soundcard.h>
++
+ #endif
+ 
+ typedef struct {
diff python.orig/2.1/patches/patch-Tools_scripts_pydoc python/2.1/patches/patch-Tools_scripts_pydoc
--- python.orig/2.1/patches/patch-Tools_scripts_pydoc	Thu Jan  1 01:00:00 1970
+++ python/2.1/patches/patch-Tools_scripts_pydoc	Sun Jun 15 15:18:41 2003
@@ -0,0 +1,9 @@
+$OpenBSD$
+--- Tools/scripts/pydoc.orig	Sun Jun 15 13:13:39 2003
++++ Tools/scripts/pydoc	Sun Jun 15 13:13:47 2003
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2.1
+ 
+ import pydoc
+ pydoc.cli()
diff python.orig/2.1/patches/patch-setup_py python/2.1/patches/patch-setup_py
--- python.orig/2.1/patches/patch-setup_py	Tue Oct  8 04:52:25 2002
+++ python/2.1/patches/patch-setup_py	Sat Jun 14 19:35:28 2003
@@ -1,16 +1,7 @@
 $OpenBSD: patch-setup_py,v 1.2 2002/10/08 02:52:25 brad Exp $
---- setup.py.orig	Thu Dec 27 16:51:02 2001
-+++ setup.py	Mon Oct  7 21:52:44 2002
-@@ -215,8 +215,6 @@ class PyBuildExt(build_ext):
-         exts.append( Extension('pwd', ['pwdmodule.c']) )
-         # grp(3)
-         exts.append( Extension('grp', ['grpmodule.c']) )
--        # posix (UNIX) errno values
--        exts.append( Extension('errno', ['errnomodule.c']) )
-         # select(2); not on ancient System V
-         exts.append( Extension('select', ['selectmodule.c']) )
- 
-@@ -346,22 +344,9 @@ class PyBuildExt(build_ext):
+--- setup.py.orig	Thu Dec 27 21:51:02 2001
++++ setup.py	Sat Jun 14 17:17:55 2003
+@@ -346,22 +346,9 @@ class PyBuildExt(build_ext):
          # (See http://electricrain.com/greg/python/bsddb3/ for an interface to
          # BSD DB 3.x.)
  
@@ -36,7 +27,7 @@
  
          # The mpz module interfaces to the GNU Multiple Precision library.
          # You need to ftp the GNU MP library.
-@@ -609,7 +594,8 @@ def main():
+@@ -609,7 +596,8 @@ def main():
            ext_modules=[Extension('struct', ['structmodule.c'])],
  
            # Scripts to install
diff python.orig/2.1/patches/patch-setup_py.orig python/2.1/patches/patch-setup_py.orig
--- python.orig/2.1/patches/patch-setup_py.orig	Thu Jan  1 01:00:00 1970
+++ python/2.1/patches/patch-setup_py.orig	Thu Jun 12 05:40:38 2003
@@ -0,0 +1,39 @@
+$OpenBSD: patch-setup_py,v 1.2 2002/10/08 02:52:25 brad Exp $
+--- setup.py.orig	Thu Dec 27 16:51:02 2001
++++ setup.py	Mon Oct  7 21:52:44 2002
+@@ -346,22 +344,9 @@ class PyBuildExt(build_ext):
+         # (See http://electricrain.com/greg/python/bsddb3/ for an interface to
+         # BSD DB 3.x.)
+ 
+-        dblib = []
+-        if self.compiler.find_library_file(lib_dirs, 'db'):
+-            dblib = ['db']
+-        
+-        db185_incs = find_file('db_185.h', inc_dirs,
+-                               ['/usr/include/db3', '/usr/include/db2'])
+-        db_inc = find_file('db.h', inc_dirs, ['/usr/include/db1'])
+-        if db185_incs is not None:
+-            exts.append( Extension('bsddb', ['bsddbmodule.c'],
+-                                   include_dirs = db185_incs,
+-                                   define_macros=[('HAVE_DB_185_H',1)],
+-                                   libraries = dblib ) )
+-        elif db_inc is not None:
+-            exts.append( Extension('bsddb', ['bsddbmodule.c'],
+-                                   include_dirs = db_inc,
+-                                   libraries = dblib) )
++        exts.append( Extension('bsddb', ['bsddbmodule.c'],
++                                   include_dirs = ['/usr/include'],
++                                   libraries = []) )
+ 
+         # The mpz module interfaces to the GNU Multiple Precision library.
+         # You need to ftp the GNU MP library.
+@@ -609,7 +594,8 @@ def main():
+           ext_modules=[Extension('struct', ['structmodule.c'])],
+ 
+           # Scripts to install
+-          scripts = ['Tools/scripts/pydoc']
++          #scripts = ['Tools/scripts/pydoc']
++          scripts = []
+         )
+ 
+ # --install-platlib
diff python.orig/2.1/pkg/CVS/Entries python/2.1/pkg/CVS/Entries
--- python.orig/2.1/pkg/CVS/Entries	Wed Jul 30 20:53:51 2003
+++ python/2.1/pkg/CVS/Entries	Mon Jun 16 10:31:45 2003
@@ -1,18 +1,18 @@
-/DEINSTALL/1.1/Fri Feb 15 19:42:18 2002//
-/DESCR/1.1/Fri Feb 15 19:42:18 2002//
-/DESCR-expat/1.1/Fri Feb 15 19:42:18 2002//
-/DESCR-mpz/1.1/Fri Feb 15 19:42:18 2002//
-/DESCR-tests/1.1/Fri Feb 15 19:42:18 2002//
-/DESCR-tkinter/1.1/Fri Feb 15 19:42:18 2002//
-/DESCR-tools/1.1/Fri Feb 15 19:42:18 2002//
-/INSTALL/1.1/Fri Feb 15 19:42:18 2002//
-/PFRAG-tkinter.no_shared/1.1/Fri Feb 15 19:42:18 2002//
-/PFRAG.mm/1.1/Fri Feb 15 19:42:18 2002//
-/PFRAG.shared/1.2/Mon Feb 25 21:25:37 2002//
-/PLIST/1.2/Sat May 11 21:35:13 2002//
-/PLIST-expat/1.2/Sat Mar 23 04:34:23 2002//
-/PLIST-mpz/1.2/Sat Mar 23 04:34:23 2002//
-/PLIST-tests/1.3/Fri Apr 19 12:19:31 2002//
-/PLIST-tkinter/1.2/Sat Mar 23 04:34:23 2002//
-/PLIST-tools/1.2/Sat Mar 23 04:34:23 2002//
+/DEINSTALL/1.1/Mon Dec  9 22:35:48 2002//
+/DESCR/1.1/Mon Dec  9 22:35:48 2002//
+/DESCR-expat/1.1/Mon Dec  9 22:35:48 2002//
+/DESCR-mpz/1.1/Mon Dec  9 22:35:48 2002//
+/DESCR-tests/1.1/Mon Dec  9 22:35:48 2002//
+/DESCR-tkinter/1.1/Mon Dec  9 22:35:49 2002//
+/DESCR-tools/1.1/Mon Dec  9 22:35:49 2002//
+/INSTALL/1.1/Mon Dec  9 22:35:49 2002//
+/PFRAG.mm/1.1/Mon Dec  9 22:35:49 2002//
+/PFRAG.shared/1.2/Mon Dec  9 22:35:49 2002//
+/PLIST/1.2/Mon Dec  9 22:35:49 2002//
+/PFRAG-tkinter.no_shared/1.1/Sat Jun 14 18:12:31 2003//
+/PLIST-expat/1.2/Sat Jun 14 17:49:39 2003//
+/PLIST-mpz/1.2/Sat Jun 14 17:49:52 2003//
+/PLIST-tests/1.3/Sat Jun 14 17:50:42 2003//
+/PLIST-tkinter/1.2/Sat Jun 14 17:51:00 2003//
+/PLIST-tools/1.2/Sat Jun 14 17:42:48 2003//
 D
diff python.orig/2.1/pkg/DEINSTALL-idle python/2.1/pkg/DEINSTALL-idle
--- python.orig/2.1/pkg/DEINSTALL-idle	Thu Jan  1 01:00:00 1970
+++ python/2.1/pkg/DEINSTALL-idle	Sun Aug 10 01:36:29 2003
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# $OpenBSD: DEINSTALL,v 1.1 2002/02/15 19:42:18 matt Exp $
+#
+# Clean up python symlink, if it was ours.
+#
+
+set -e
+PATH=/bin
+PREFIX=${PKG_PREFIX:-/usr/local}
+
+if [ ${PREFIX}/bin/idle -ef ${PREFIX}/bin/idle2.1 ]
+then
+	rm -f ${PREFIX}/bin/idle
+fi
+
diff python.orig/2.1/pkg/DESCR python/2.1/pkg/DESCR
--- python.orig/2.1/pkg/DESCR	Fri Feb 15 20:42:18 2002
+++ python/2.1/pkg/DESCR	Mon Aug 11 15:30:36 2003
@@ -14,8 +14,11 @@
 internal documentation for hints.
 
 Flavors:
-	tk       - builds tkinter module, depends on Tk
-	threads  - build with thread support
-	no_tools - do not build tools package
-
-WWW: ${HOMEPAGE}
+	no_bsddb   - do not build bsdb package
+	no_expat   - do not build expat package
+   no_gdbm    - do not build gdbm package
+   no_idle    - do not build idle package
+   no_mpz     - do not build mpz package
+   no_tests   - do not build tests package
+	no_tkinter - do not build tkinter package
+	no_tools   - do not build tools package
diff python.orig/2.1/pkg/DESCR-bsddb python/2.1/pkg/DESCR-bsddb
--- python.orig/2.1/pkg/DESCR-bsddb	Thu Jan  1 01:00:00 1970
+++ python/2.1/pkg/DESCR-bsddb	Mon Aug 11 15:19:21 2003
@@ -0,0 +1,15 @@
+Python is an interpreted, interactive, object-oriented programming
+language that combines remarkable power with very clear syntax. For
+an introduction to programming in Python you are referred to the
+Python Tutorial. The Python Library Reference documents built-in
+and standard types, constants, functions and modules. Finally, the
+Python Reference Manual describes the syntax and semantics of the
+core language in (perhaps too) much detail.
+
+Python's basic power can be extended with your own modules written
+in C or C++.  On most systems such modules may be dynamically loaded.
+Python is also adaptable as an extension language for existing
+applications. See the internal documentation for hints.
+
+This package contains the bsddb, for using the Berkeley DB library in
+Python.
diff python.orig/2.1/pkg/DESCR-expat python/2.1/pkg/DESCR-expat
--- python.orig/2.1/pkg/DESCR-expat	Fri Feb 15 20:42:18 2002
+++ python/2.1/pkg/DESCR-expat	Mon Aug 11 15:19:25 2003
@@ -12,6 +12,3 @@
 applications. See the internal documentation for hints.
 
 This package contains support for the expat XML parser.
-
-WWW: ${HOMEPAGE}
-
diff python.orig/2.1/pkg/DESCR-gdbm python/2.1/pkg/DESCR-gdbm
--- python.orig/2.1/pkg/DESCR-gdbm	Thu Jan  1 01:00:00 1970
+++ python/2.1/pkg/DESCR-gdbm	Mon Aug 11 15:19:28 2003
@@ -0,0 +1,15 @@
+Python is an interpreted, interactive, object-oriented programming
+language that combines remarkable power with very clear syntax. For
+an introduction to programming in Python you are referred to the
+Python Tutorial. The Python Library Reference documents built-in
+and standard types, constants, functions and modules. Finally, the
+Python Reference Manual describes the syntax and semantics of the
+core language in (perhaps too) much detail.
+
+Python's basic power can be extended with your own modules written
+in C or C++.  On most systems such modules may be dynamically loaded.
+Python is also adaptable as an extension language for existing
+applications. See the internal documentation for hints.
+
+This package contains the gdbm, for using the GNU DBM library in
+Python.
diff python.orig/2.1/pkg/DESCR-idle python/2.1/pkg/DESCR-idle
--- python.orig/2.1/pkg/DESCR-idle	Thu Jan  1 01:00:00 1970
+++ python/2.1/pkg/DESCR-idle	Mon Aug 11 15:19:33 2003
@@ -0,0 +1,14 @@
+Python is an interpreted, interactive, object-oriented programming
+language that combines remarkable power with very clear syntax. For
+an introduction to programming in Python you are referred to the
+Python Tutorial. The Python Library Reference documents built-in
+and standard types, constants, functions and modules. Finally, the
+Python Reference Manual describes the syntax and semantics of the
+core language in (perhaps too) much detail.
+
+Python's basic power can be extended with your own modules written
+in C or C++.  On most systems such modules may be dynamically loaded.
+Python is also adaptable as an extension language for existing
+applications. See the internal documentation for hints.
+
+This package contains IDE for Python.
diff python.orig/2.1/pkg/DESCR-mpz python/2.1/pkg/DESCR-mpz
--- python.orig/2.1/pkg/DESCR-mpz	Fri Feb 15 20:42:18 2002
+++ python/2.1/pkg/DESCR-mpz	Mon Aug 11 15:19:36 2003
@@ -13,6 +13,3 @@
 
 This package contains mpz, the GNU arbitrary magnitude integer
 module.
-
-WWW: ${HOMEPAGE}
-
diff python.orig/2.1/pkg/DESCR-tests python/2.1/pkg/DESCR-tests
--- python.orig/2.1/pkg/DESCR-tests	Fri Feb 15 20:42:18 2002
+++ python/2.1/pkg/DESCR-tests	Mon Aug 11 15:19:39 2003
@@ -12,5 +12,3 @@
 applications. See the internal documentation for hints.
 
 This package contains the Python testsuite.
-
-WWW: ${HOMEPAGE}
diff python.orig/2.1/pkg/DESCR-tkinter python/2.1/pkg/DESCR-tkinter
--- python.orig/2.1/pkg/DESCR-tkinter	Fri Feb 15 20:42:18 2002
+++ python/2.1/pkg/DESCR-tkinter	Mon Aug 11 15:19:46 2003
@@ -13,5 +13,3 @@
 
 This package contains the Tkinter module, for using the tk toolkit
 in Python.
-
-WWW: ${HOMEPAGE}
diff python.orig/2.1/pkg/DESCR-tools python/2.1/pkg/DESCR-tools
--- python.orig/2.1/pkg/DESCR-tools	Fri Feb 15 20:42:18 2002
+++ python/2.1/pkg/DESCR-tools	Mon Aug 11 15:19:54 2003
@@ -12,5 +12,3 @@
 applications. See the internal documentation for hints.
 
 This package contains extra tools that Python users may find useful.
-
-WWW: ${HOMEPAGE}
diff python.orig/2.1/pkg/INSTALL-idle python/2.1/pkg/INSTALL-idle
--- python.orig/2.1/pkg/INSTALL-idle	Thu Jan  1 01:00:00 1970
+++ python/2.1/pkg/INSTALL-idle	Sun Aug 10 01:36:05 2003
@@ -0,0 +1,30 @@
+#!/bin/sh
+#
+# $OpenBSD: INSTALL,v 1.1 2002/02/15 19:42:18 matt Exp $
+#
+# Set us up as the default python if there is not one already.
+#
+
+set -e
+PATH=/bin
+PREFIX=${PKG_PREFIX:-/usr/local}
+
+if [ x$2 = xPOST-INSTALL ]
+then
+	if [ ! -e ${PREFIX}/bin/idle ]
+	then
+		cd ${PREFIX}/bin
+		ln -s idle2.1 idle
+	else
+		cat <<EOT
+
++---------------
+| ${PREFIX}/bin/idle already exists.  If you want to use this
+| package as your system default idle, make ${PREFIX}/bin/idle a
+| symlink to ${PREFIX}/bin/idle2.1.
++---------------
+
+EOT
+	fi
+fi
+
diff python.orig/2.1/pkg/PFRAG.shared python/2.1/pkg/PFRAG.shared
--- python.orig/2.1/pkg/PFRAG.shared	Mon Feb 25 22:25:37 2002
+++ python/2.1/pkg/PFRAG.shared	Sun Jun 15 22:52:08 2003
@@ -1,8 +1,8 @@
-@comment $OpenBSD: PFRAG.shared,v 1.2 2002/02/25 21:25:37 matt Exp $
-%%mm%%
+@comment $OpenBSD$
 lib/libpython2.1.so.0.0
-DYNLIBDIR(%B)
+DYNLIBDIR(%D/lib)
 lib/python2.1/config/libpython2.1.so.0.0
+%%mm%%
 lib/python2.1/lib-dynload/_codecsmodule.so
 lib/python2.1/lib-dynload/_curses_panel.so
 lib/python2.1/lib-dynload/_cursesmodule.so
@@ -13,7 +13,6 @@
 lib/python2.1/lib-dynload/_weakref.so
 lib/python2.1/lib-dynload/arraymodule.so
 lib/python2.1/lib-dynload/binascii.so
-lib/python2.1/lib-dynload/bsddb.so
 lib/python2.1/lib-dynload/cPickle.so
 lib/python2.1/lib-dynload/cStringIO.so
 lib/python2.1/lib-dynload/cmathmodule.so
@@ -28,7 +27,7 @@
 lib/python2.1/lib-dynload/md5module.so
 lib/python2.1/lib-dynload/mmapmodule.so
 lib/python2.1/lib-dynload/newmodule.so
-lib/python2.1/lib-dynload/nis.so
+lib/python2.1/lib-dynload/nismodule.so
 lib/python2.1/lib-dynload/operator.so
 lib/python2.1/lib-dynload/parsermodule.so
 lib/python2.1/lib-dynload/pcre.so
@@ -46,6 +45,6 @@
 lib/python2.1/lib-dynload/timemodule.so
 lib/python2.1/lib-dynload/timingmodule.so
 lib/python2.1/lib-dynload/unicodedata.so
-lib/python2.1/lib-dynload/xreadlines.so
+lib/python2.1/lib-dynload/xreadlinesmodule.so
 lib/python2.1/lib-dynload/zlibmodule.so
 @dirrm lib/python2.1/lib-dynload
diff python.orig/2.1/pkg/PLIST python/2.1/pkg/PLIST
--- python.orig/2.1/pkg/PLIST	Sat May 11 23:35:13 2002
+++ python/2.1/pkg/PLIST	Sun Jun 15 16:30:41 2003
@@ -1,8 +1,8 @@
-@comment $OpenBSD: PLIST,v 1.2 2002/05/11 21:35:13 matt Exp $
+@comment $OpenBSD$
 @option no-default-conflict
 @pkgcfl python-2.1*
-bin/python2.1
 bin/pydoc2.1
+bin/python2.1
 include/python2.1/Python.h
 include/python2.1/abstract.h
 include/python2.1/bitset.h
@@ -676,7 +676,7 @@
 lib/python2.1/lib-old/zmod.py
 lib/python2.1/lib-old/zmod.pyc
 lib/python2.1/lib-old/zmod.pyo
-%%SHARED%%
+%%tkinter%%
 lib/python2.1/linecache.py
 lib/python2.1/linecache.pyc
 lib/python2.1/linecache.pyo
@@ -1013,6 +1013,8 @@
 lib/python2.1/zipfile.pyo
 man/man1/python2.1.1
 share/doc/python2.1/CHANGES.OpenBSD
+%%SHARED%%
+@dirrm share/doc/python2.1
 @dirrm lib/python2.1/xml/sax
 @dirrm lib/python2.1/xml/parsers
 @dirrm lib/python2.1/xml/dom
@@ -1027,4 +1029,3 @@
 @dirrm lib/python2.1/config
 @dirrm lib/python2.1
 @dirrm include/python2.1
-@dirrm share/doc/python2.1
diff python.orig/2.1/pkg/PLIST-bsddb python/2.1/pkg/PLIST-bsddb
--- python.orig/2.1/pkg/PLIST-bsddb	Thu Jan  1 01:00:00 1970
+++ python/2.1/pkg/PLIST-bsddb	Sat Jun 14 19:52:02 2003
@@ -0,0 +1,5 @@
+@comment $OpenBSD$
+@option no-default-conflict
+@pkgcfl python-bsddb-2.1*
+lib/python2.1/lib-dynload/bsddb.so
+lib/python2.1/lib-dynload/bsddbmodule.so
diff python.orig/2.1/pkg/PLIST-gdbm python/2.1/pkg/PLIST-gdbm
--- python.orig/2.1/pkg/PLIST-gdbm	Thu Jan  1 01:00:00 1970
+++ python/2.1/pkg/PLIST-gdbm	Sun Jun 15 13:34:14 2003
@@ -0,0 +1,5 @@
+@comment $OpenBSD$
+@option no-default-conflict
+@pkgcfl python-gdbm-2.1*
+lib/python2.1/lib-dynload/gdbm.so
+lib/python2.1/lib-dynload/gdbmmodule.so
diff python.orig/2.1/pkg/PLIST-idle python/2.1/pkg/PLIST-idle
--- python.orig/2.1/pkg/PLIST-idle	Thu Jan  1 01:00:00 1970
+++ python/2.1/pkg/PLIST-idle	Mon Aug 11 17:35:32 2003
@@ -0,0 +1,76 @@
+@comment $OpenBSD$
+@option no-default-conflict
+@pkgcfl python-idle-2.1*
+bin/idle2.1
+lib/python2.1/Tools/idle/AutoExpand.py
+lib/python2.1/Tools/idle/AutoIndent.py
+lib/python2.1/Tools/idle/Bindings.py
+lib/python2.1/Tools/idle/BrowserControl.py
+lib/python2.1/Tools/idle/CallTipWindow.py
+lib/python2.1/Tools/idle/CallTips.py
+lib/python2.1/Tools/idle/ChangeLog
+lib/python2.1/Tools/idle/ClassBrowser.py
+lib/python2.1/Tools/idle/ColorDelegator.py
+lib/python2.1/Tools/idle/Debugger.py
+lib/python2.1/Tools/idle/Delegator.py
+lib/python2.1/Tools/idle/EditorWindow.py
+lib/python2.1/Tools/idle/FileList.py
+lib/python2.1/Tools/idle/FormatParagraph.py
+lib/python2.1/Tools/idle/FrameViewer.py
+lib/python2.1/Tools/idle/GrepDialog.py
+lib/python2.1/Tools/idle/IOBinding.py
+lib/python2.1/Tools/idle/Icons/folder.gif
+lib/python2.1/Tools/idle/Icons/minusnode.gif
+lib/python2.1/Tools/idle/Icons/openfolder.gif
+lib/python2.1/Tools/idle/Icons/plusnode.gif
+lib/python2.1/Tools/idle/Icons/python.gif
+lib/python2.1/Tools/idle/Icons/tk.gif
+lib/python2.1/Tools/idle/IdleConf.py
+lib/python2.1/Tools/idle/IdleHistory.py
+lib/python2.1/Tools/idle/MultiScrolledLists.py
+lib/python2.1/Tools/idle/MultiStatusBar.py
+lib/python2.1/Tools/idle/NEWS.txt
+lib/python2.1/Tools/idle/ObjectBrowser.py
+lib/python2.1/Tools/idle/OldStackViewer.py
+lib/python2.1/Tools/idle/OutputWindow.py
+lib/python2.1/Tools/idle/ParenMatch.py
+lib/python2.1/Tools/idle/PathBrowser.py
+lib/python2.1/Tools/idle/Percolator.py
+lib/python2.1/Tools/idle/PyParse.py
+lib/python2.1/Tools/idle/PyShell.py
+lib/python2.1/Tools/idle/README.txt
+lib/python2.1/Tools/idle/RemoteInterp.py
+lib/python2.1/Tools/idle/ReplaceDialog.py
+lib/python2.1/Tools/idle/ScriptBinding.py
+lib/python2.1/Tools/idle/ScrolledList.py
+lib/python2.1/Tools/idle/SearchBinding.py
+lib/python2.1/Tools/idle/SearchDialog.py
+lib/python2.1/Tools/idle/SearchDialogBase.py
+lib/python2.1/Tools/idle/SearchEngine.py
+lib/python2.1/Tools/idle/Separator.py
+lib/python2.1/Tools/idle/StackViewer.py
+lib/python2.1/Tools/idle/TODO.txt
+lib/python2.1/Tools/idle/ToolTip.py
+lib/python2.1/Tools/idle/TreeWidget.py
+lib/python2.1/Tools/idle/UndoDelegator.py
+lib/python2.1/Tools/idle/WidgetRedirector.py
+lib/python2.1/Tools/idle/WindowList.py
+lib/python2.1/Tools/idle/ZoomHeight.py
+lib/python2.1/Tools/idle/__init__.py
+lib/python2.1/Tools/idle/config-unix.txt
+lib/python2.1/Tools/idle/config-win.txt
+lib/python2.1/Tools/idle/config.txt
+lib/python2.1/Tools/idle/eventparse.py
+lib/python2.1/Tools/idle/extend.txt
+lib/python2.1/Tools/idle/help.txt
+lib/python2.1/Tools/idle/idle
+lib/python2.1/Tools/idle/idle.bat
+lib/python2.1/Tools/idle/idle.py
+lib/python2.1/Tools/idle/idle.pyw
+lib/python2.1/Tools/idle/idlever.py
+lib/python2.1/Tools/idle/keydefs.py
+lib/python2.1/Tools/idle/setup.py
+lib/python2.1/Tools/idle/testcode.py
+@dirrm lib/python2.1/Tools/idle/Icons
+@dirrm lib/python2.1/Tools/idle
+@unexec rmdir %D/lib/python2.1/Tools 2>/dev/null || true
diff python.orig/2.1/pkg/PLIST-tools python/2.1/pkg/PLIST-tools
--- python.orig/2.1/pkg/PLIST-tools	Sat Mar 23 05:34:23 2002
+++ python/2.1/pkg/PLIST-tools	Sun Aug 10 01:24:52 2003
@@ -61,75 +61,6 @@
 lib/python2.1/Tools/freeze/winmakemakefile.py
 lib/python2.1/Tools/i18n/msgfmt.py
 lib/python2.1/Tools/i18n/pygettext.py
-lib/python2.1/Tools/idle/AutoExpand.py
-lib/python2.1/Tools/idle/AutoIndent.py
-lib/python2.1/Tools/idle/Bindings.py
-lib/python2.1/Tools/idle/BrowserControl.py
-lib/python2.1/Tools/idle/CallTipWindow.py
-lib/python2.1/Tools/idle/CallTips.py
-lib/python2.1/Tools/idle/ChangeLog
-lib/python2.1/Tools/idle/ClassBrowser.py
-lib/python2.1/Tools/idle/ColorDelegator.py
-lib/python2.1/Tools/idle/Debugger.py
-lib/python2.1/Tools/idle/Delegator.py
-lib/python2.1/Tools/idle/EditorWindow.py
-lib/python2.1/Tools/idle/FileList.py
-lib/python2.1/Tools/idle/FormatParagraph.py
-lib/python2.1/Tools/idle/FrameViewer.py
-lib/python2.1/Tools/idle/GrepDialog.py
-lib/python2.1/Tools/idle/IOBinding.py
-lib/python2.1/Tools/idle/Icons/folder.gif
-lib/python2.1/Tools/idle/Icons/minusnode.gif
-lib/python2.1/Tools/idle/Icons/openfolder.gif
-lib/python2.1/Tools/idle/Icons/plusnode.gif
-lib/python2.1/Tools/idle/Icons/python.gif
-lib/python2.1/Tools/idle/Icons/tk.gif
-lib/python2.1/Tools/idle/IdleConf.py
-lib/python2.1/Tools/idle/IdleHistory.py
-lib/python2.1/Tools/idle/MultiScrolledLists.py
-lib/python2.1/Tools/idle/MultiStatusBar.py
-lib/python2.1/Tools/idle/NEWS.txt
-lib/python2.1/Tools/idle/ObjectBrowser.py
-lib/python2.1/Tools/idle/OldStackViewer.py
-lib/python2.1/Tools/idle/OutputWindow.py
-lib/python2.1/Tools/idle/ParenMatch.py
-lib/python2.1/Tools/idle/PathBrowser.py
-lib/python2.1/Tools/idle/Percolator.py
-lib/python2.1/Tools/idle/PyParse.py
-lib/python2.1/Tools/idle/PyShell.py
-lib/python2.1/Tools/idle/README.txt
-lib/python2.1/Tools/idle/RemoteInterp.py
-lib/python2.1/Tools/idle/ReplaceDialog.py
-lib/python2.1/Tools/idle/ScriptBinding.py
-lib/python2.1/Tools/idle/ScrolledList.py
-lib/python2.1/Tools/idle/SearchBinding.py
-lib/python2.1/Tools/idle/SearchDialog.py
-lib/python2.1/Tools/idle/SearchDialogBase.py
-lib/python2.1/Tools/idle/SearchEngine.py
-lib/python2.1/Tools/idle/Separator.py
-lib/python2.1/Tools/idle/StackViewer.py
-lib/python2.1/Tools/idle/TODO.txt
-lib/python2.1/Tools/idle/ToolTip.py
-lib/python2.1/Tools/idle/TreeWidget.py
-lib/python2.1/Tools/idle/UndoDelegator.py
-lib/python2.1/Tools/idle/WidgetRedirector.py
-lib/python2.1/Tools/idle/WindowList.py
-lib/python2.1/Tools/idle/ZoomHeight.py
-lib/python2.1/Tools/idle/__init__.py
-lib/python2.1/Tools/idle/config-unix.txt
-lib/python2.1/Tools/idle/config-win.txt
-lib/python2.1/Tools/idle/config.txt
-lib/python2.1/Tools/idle/eventparse.py
-lib/python2.1/Tools/idle/extend.txt
-lib/python2.1/Tools/idle/help.txt
-lib/python2.1/Tools/idle/idle
-lib/python2.1/Tools/idle/idle.bat
-lib/python2.1/Tools/idle/idle.py
-lib/python2.1/Tools/idle/idle.pyw
-lib/python2.1/Tools/idle/idlever.py
-lib/python2.1/Tools/idle/keydefs.py
-lib/python2.1/Tools/idle/setup.py
-lib/python2.1/Tools/idle/testcode.py
 lib/python2.1/Tools/modulator/EXAMPLE.py
 lib/python2.1/Tools/modulator/README
 lib/python2.1/Tools/modulator/ScrolledListbox.py
@@ -251,8 +182,6 @@
 @dirrm lib/python2.1/Tools/pynche
 @dirrm lib/python2.1/Tools/modulator/Templates
 @dirrm lib/python2.1/Tools/modulator
-@dirrm lib/python2.1/Tools/idle/Icons
-@dirrm lib/python2.1/Tools/idle
 @dirrm lib/python2.1/Tools/i18n
 @dirrm lib/python2.1/Tools/freeze
 @dirrm lib/python2.1/Tools/faqwiz
@@ -261,4 +190,4 @@
 @dirrm lib/python2.1/Tools/bgen/bgen
 @dirrm lib/python2.1/Tools/bgen
 @dirrm lib/python2.1/Tools/audiopy
-@dirrm lib/python2.1/Tools
+@unexec rmdir %D/lib/python2.1/Tools 2>/dev/null || true
diff python.orig/2.2/CVS/Entries python/2.2/CVS/Entries
--- python.orig/2.2/CVS/Entries	Wed Jul 30 20:59:28 2003
+++ python/2.2/CVS/Entries	Tue Dec 10 00:00:00 2002
@@ -1,5 +1,5 @@
-/Makefile/1.3/Tue Oct  8 02:52:25 2002//
-/distinfo/1.2/Sat May 11 21:35:13 2002//
 D/files////
 D/patches////
 D/pkg////
+/Makefile/1.3/Mon Dec  9 22:35:50 2002//
+/distinfo/1.2/Mon Dec  9 22:35:50 2002//
diff python.orig/2.2/Makefile python/2.2/Makefile
--- python.orig/2.2/Makefile	Tue Oct  8 04:52:25 2002
+++ python/2.2/Makefile	Thu Jul 31 21:35:45 2003
@@ -1,8 +1,10 @@
 # $OpenBSD: Makefile,v 1.3 2002/10/08 02:52:25 brad Exp $
 
 VERSION=	2.2
-PATCHLEVEL=	.1
-PKG_PATCHLEVEL=	p1
+PATCHLEVEL=	.3
+PKG_PATCHLEVEL=
 
-.include <bsd.port.mk>
+CONFIGURE_STYLE=	dest
+CONFIGURE_ARGS=		--without-pymalloc
 
+.include <bsd.port.mk>
diff python.orig/2.2/distinfo python/2.2/distinfo
--- python.orig/2.2/distinfo	Sat May 11 23:35:13 2002
+++ python/2.2/distinfo	Tue Jun 17 23:22:19 2003
@@ -1,3 +1,3 @@
-MD5 (Python-2.2.1.tgz) = e7012d611602b62e36073c2fd02396a3
-RMD160 (Python-2.2.1.tgz) = 793ea1959cddb81075f8b918f5cd573d7a8ebae3
-SHA1 (Python-2.2.1.tgz) = 12905ad4bc4f3006366a495275259661db7b8604
+MD5 (Python-2.2.3.tgz) = 169f89f318e252dac0c54dd1b165d229
+RMD160 (Python-2.2.3.tgz) = 3590f813582d65194b467f4ab450e360e35eb40e
+SHA1 (Python-2.2.3.tgz) = 177d587e77e0eaa14131ab0d0d0b470777de4400
diff python.orig/2.2/files/CHANGES.OpenBSD python/2.2/files/CHANGES.OpenBSD
--- python.orig/2.2/files/CHANGES.OpenBSD	Sat May 11 23:35:13 2002
+++ python/2.2/files/CHANGES.OpenBSD	Wed Jun 18 01:03:58 2003
@@ -4,26 +4,18 @@
 1.  tempfile.py was patched to not try /usr/tmp as a possible
     tempfile directory.
 
-2.  test_fcntl.py was patched to support OpenBSD 3.0 and above.
-
-3.  libpython is created as a shared library, and the pthread stack
+2.  libpython is created as a shared library, and the pthread stack
     size was doubled to support this with complex applications such
     as Zope.
 
-4.  OpenBSD threads are used for threading support.
+3.  OpenBSD threads are used for threading support.
 
-5.  The interpreter is called "python2.2", and pydoc "pydoc2.2" in
+4.  The interpreter is called "python2.2", and pydoc "pydoc2.2" in
     order to support multiple versions of Python coexisting on the
     same system.  If no "python" binary exists, a symlink to
     "python2.2" is created when the package is installed.
 
-6.  _localemodule.c was changed so it would build.
-
-7.  __va_copy was used where appropriate so python would work on
-    non-i386 architectures such as powerpc.
-
 These changes are available in the OpenBSD CVS repository
 <http://www.openbsd.org/anoncvs.html> in ports/lang/python.
 
 $Id: CHANGES.OpenBSD,v 1.1 2002/05/11 21:35:13 matt Exp $
-
diff python.orig/2.2/files/CVS/Entries python/2.2/files/CVS/Entries
--- python.orig/2.2/files/CVS/Entries	Wed Jul 30 20:53:54 2003
+++ python/2.2/files/CVS/Entries	Fri Jul  4 19:14:13 2003
@@ -1,7 +1,7 @@
-/CHANGES.OpenBSD/1.1/Sat May 11 21:35:13 2002//
-/Setup/1.1/Fri Feb 15 19:42:18 2002//
-/Setup.expat/1.1/Fri Feb 15 19:42:18 2002//
-/Setup.mpz/1.1/Fri Feb 15 19:42:18 2002//
-/Setup.tkinter/1.1/Fri Feb 15 19:42:18 2002//
-/pydoc/1.1/Fri Feb 15 19:42:18 2002//
+/CHANGES.OpenBSD/1.1/Mon Dec  9 22:35:50 2002//
+/Setup/1.1/Mon Dec  9 22:35:50 2002//
+/Setup.expat/1.1/Mon Dec  9 22:35:50 2002//
+/Setup.tkinter/1.1/Mon Dec  9 22:35:50 2002//
+/Setup.mpz/1.1/Tue Jun 17 23:20:54 2003//
+/pydoc/1.1/Fri Jul  4 17:14:13 2003//
 D
diff python.orig/2.2/files/Setup python/2.2/files/Setup
--- python.orig/2.2/files/Setup	Fri Feb 15 20:42:18 2002
+++ python/2.2/files/Setup	Wed Jun 18 01:57:22 2003
@@ -97,7 +97,9 @@
 # setup.py script in the root of the Python source tree.
 
 posix posixmodule.c		# posix (UNIX) system calls
+errno errnomodule.c		# posix (UNIX) errno values
 _sre _sre.c			# Fredrik Lundh's new regular expressions
+new newmodule.c			# Tommy Burnette's 'new' module
 
 # The rest of the modules listed in this file are all commented out by
 # default.  Usually they can be detected and built as dynamically
@@ -109,6 +111,9 @@
 
 # ======================================================================
 
+# The Python symtable module depends on .h files that setup.py doesn't track
+_symtable symtablemodule.c
+
 # The SGI specific GL module:
 
 GLHACK=-Dclear=__GLclear
@@ -162,7 +167,6 @@
 fcntl fcntlmodule.c	# fcntl(2) and ioctl(2)
 pwd pwdmodule.c		# pwd(3) 
 grp grpmodule.c		# grp(3)
-errno errnomodule.c	# posix (UNIX) errno values
 select selectmodule.c	# select(2); not on ancient System V
 
 # Memory-mapped files (also works on Win32).
@@ -169,7 +173,7 @@
 mmap mmapmodule.c
 
 # Dynamic readlines
-#xreadlines xreadlinesmodule.c
+xreadlines xreadlinesmodule.c
 
 # for socket(2), without SSL support.
 #_socket socketmodule.c
@@ -191,7 +195,7 @@
 # Some more UNIX dependent modules -- off by default, since these
 # are not supported by all UNIX systems:
 
-#nis nismodule.c -lnsl	# Sun yellow pages -- not everywhere
+nis nismodule.c #-lnsl	# Sun yellow pages -- not everywhere
 termios termios.c	# Steen Lumholt's termios module
 resource resource.c	# Jeremy Hylton's rlimit interface
 
@@ -217,22 +221,6 @@
 sha shamodule.c
 
 
-# The mpz module interfaces to the GNU Multiple Precision library.
-# You need to ftp the GNU MP library.  
-# The GMP variable must point to the GMP source directory.
-# This was originally written and tested against GMP 1.2 and 1.3.2.
-# It has been modified by Rob Hooft to work with 2.0.2 as well, but I
-# haven't tested it recently.
-
-# A compatible MP library unencombered by the GPL also exists.  It was
-# posted to comp.sources.misc in volume 40 and is widely available from
-# FTP archive sites. One URL for it is:
-# ftp://gatekeeper.dec.com/.b/usenet/comp.sources.misc/volume40/fgmp/part01.Z
-
-#GMP=/ufs/guido/src/gmp
-#mpz mpzmodule.c -I$(GMP) $(GMP)/libgmp.a
-
-
 # SGI IRIX specific modules -- off by default.
 
 # These module work on any SGI machine:
@@ -285,49 +273,7 @@
 timing timingmodule.c
 
 
-# The _tkinter module.
-#
-# The command for _tkinter is long and site specific.  Please
-# uncomment and/or edit those parts as indicated.  If you don't have a
-# specific extension (e.g. Tix or BLT), leave the corresponding line
-# commented out.  (Leave the trailing backslashes in!  If you
-# experience strange errors, you may want to join all uncommented
-# lines and remove the backslashes -- the backslash interpretation is
-# done by the shell's "read" command and it may not be implemented on
-# every system.
 
-# *** Always uncomment this (leave the leading underscore in!):
-# _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
-# *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
-#	-L/usr/local/lib \
-# *** Uncomment and edit to reflect where your Tcl/Tk headers are:
-#	-I/usr/local/include \
-# *** Uncomment and edit to reflect where your X11 header files are:
-#	-I/usr/X11R6/include \
-# *** Or uncomment this for Solaris:
-#	-I/usr/openwin/include \
-# *** Uncomment and edit for Tix extension only:
-#	-DWITH_TIX -ltix8.1.8.2 \
-# *** Uncomment and edit for BLT extension only:
-#	-DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \
-# *** Uncomment and edit for PIL (TkImaging) extension only:
-#     (See http://www.pythonware.com/products/pil/ for more info)
-#	-DWITH_PIL -I../Extensions/Imaging/libImaging  tkImaging.c \
-# *** Uncomment and edit for TOGL extension only:
-#	-DWITH_TOGL togl.c \
-# *** Uncomment and edit to reflect your Tcl/Tk versions:
-#	-ltk8.2 -ltcl8.2 \
-# *** Uncomment and edit to reflect where your X11 libraries are:
-#	-L/usr/X11R6/lib \
-# *** Or uncomment this for Solaris:
-#	-L/usr/openwin/lib \
-# *** Uncomment these for TOGL extension only:
-#	-lGL -lGLU -lXext -lXmu \
-# *** Uncomment for AIX:
-#	-lld \
-# *** Always uncomment this; X11 libraries to link with:
-#	-lX11
-
 # Lance Ellinghaus's modules:
 
 rotor rotormodule.c		# enigma-inspired encryption
@@ -343,14 +289,9 @@
 
 _curses _cursesmodule.c -lcurses -ltermcap
 # Wrapper for the panel library that's part of ncurses and SYSV curses.
-_curses_panel _curses_panel.c -lpanel -lcurses 
+_curses_panel _curses_panel.c -lpanel -lncurses 
 
 
-# Tommy Burnette's 'new' module (creates new empty objects of certain kinds):
-
-new newmodule.c
-
-
 # Generic (SunOS / SVR4) dynamic loading module.
 # This is not needed for dynamic loading of Python modules --
 # it is a highly experimental and dangerous device for calling
@@ -375,36 +316,6 @@
 
 dbm dbmmodule.c 	# dbm(3) may require -lndbm or similar
 
-# Anthony Baxter's gdbm module.  GNU dbm(3) will require -lgdbm:
-#
-# First, look at Setup.config; configure may have set this for you.
-
-#gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
-
-
-# Berkeley DB interface.
-#
-# This requires the Berkeley DB code, see
-# ftp://ftp.cs.berkeley.edu/pub/4bsd/db.1.85.tar.gz
-#
-# Edit the variables DB and DBPORT to point to the db top directory
-# and the subdirectory of PORT where you built it.
-#
-# (See http://electricrain.com/greg/python/bsddb3/ for an interface to
-# BSD DB 3.x.)
-
-# Note: If a db.h file is found by configure, bsddb will be enabled
-# automatically via Setup.config.in.  It only needs to be enabled here
-# if it is not automatically enabled there; check the generated
-# Setup.config before enabling it here.
-
-#DB=/depot/sundry/src/berkeley-db/db.1.85
-#DBPORT=$(DB)/PORT/irix.5.3
-#bsddb bsddbmodule.c -I$(DBPORT)/include -I$(DBPORT) $(DBPORT)/libdb.a
-bsddb bsddbmodule.c
-
-
-
 # Helper module for various ascii-encoders
 binascii binascii.c
 
@@ -436,5 +347,12 @@
 # Andrew Kuchling's zlib module.
 # This require zlib 1.1.3 (or later).
 # See http://www.cdrom.com/pub/infozip/zlib/
-zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
+zlib zlibmodule.c -lz
 
+
+
+# Example -- included for reference only:
+# xx xxmodule.c
+
+# Another example -- the 'xxsubtype' module shows C-level subtyping in action
+xxsubtype xxsubtype.c
diff python.orig/2.2/files/Setup.bsddb python/2.2/files/Setup.bsddb
--- python.orig/2.2/files/Setup.bsddb	Thu Jan  1 01:00:00 1970
+++ python/2.2/files/Setup.bsddb	Wed Jun 18 01:01:26 2003
@@ -0,0 +1,22 @@
+@NOSHARED@*shared*
+
+# Berkeley DB interface.
+#
+# This requires the Berkeley DB code, see
+# ftp://ftp.cs.berkeley.edu/pub/4bsd/db.1.85.tar.gz
+#
+# Edit the variables DB and DBPORT to point to the db top directory
+# and the subdirectory of PORT where you built it.
+#
+# (See http://electricrain.com/greg/python/bsddb3/ for an interface to
+# BSD DB 3.x.)
+
+# Note: If a db.h file is found by configure, bsddb will be enabled
+# automatically via Setup.config.in.  It only needs to be enabled here
+# if it is not automatically enabled there; check the generated
+# Setup.config before enabling it here.
+
+#DB=/depot/sundry/src/berkeley-db/db.1.85
+#DBPORT=$(DB)/PORT/irix.5.3
+#bsddb bsddbmodule.c -I$(DBPORT)/include -I$(DBPORT) $(DBPORT)/libdb.a
+bsddb bsddbmodule.c -I${LOCALBASE}/include -L${LOCALBASE}/lib -ldb
diff python.orig/2.2/files/Setup.expat python/2.2/files/Setup.expat
--- python.orig/2.2/files/Setup.expat	Fri Feb 15 20:42:18 2002
+++ python/2.2/files/Setup.expat	Wed Jun 18 01:02:50 2003
@@ -2,22 +2,18 @@
 
 # Interface to the Expat XML parser
 #
-# Expat is written by James Clark and must be downloaded separately
-# (see below).  The pyexpat module was written by Paul Prescod after a
-# prototype by Jack Jansen.
+# Expat was written by James Clark and is now maintained by a group of
+# developers on SourceForge; see www.libexpat.org for more
+# information.  The pyexpat module was written by Paul Prescod after a
+# prototype by Jack Jansen.  Expat 1.95.2 is the recommended version
+# of Expat for use with Python.  Usage of a system shared
+# libexpat.so/expat.dll is not advised; a static version of the
+# library is sufficient.
 #
-# The Expat dist includes Windows .lib and .dll files.  Home page is at
-# http://www.jclark.com/xml/expat.html, the current production release is
-# always ftp://ftp.jclark.com/pub/xml/expat.zip.
+# The Expat library should be installed so that the linker will find
+# it properly.
 #
-# EXPAT_DIR, below, should point to the expat/ directory created by
-# unpacking the Expat source distribution.
+# More information on Expat can be found at www.libexpat.org.
 #
-# Note: the expat build process doesn't yet build a libexpat.a; you can
-# do this manually while we try convince the author to add it.  To do so,
-# cd to EXPAT_DIR, run "make" if you have not done so, then run:
-#
-#    ar cr libexpat.a xmltok/*.o xmlparse/*.o
-#
-pyexpat pyexpat.c -DHAVE_EXPAT_H -I$(PREFIX)/include -L$(PREFIX)/lib -lexpat
-
+#pyexpat pyexpat.c -DHAVE_EXPAT_H -lexpat
+pyexpat pyexpat.c -DHAVE_EXPAT_H -I${LOCALBASE}/include -L${LOCALBASE}/lib -lexpat
diff python.orig/2.2/files/Setup.gdbm python/2.2/files/Setup.gdbm
--- python.orig/2.2/files/Setup.gdbm	Thu Jan  1 01:00:00 1970
+++ python/2.2/files/Setup.gdbm	Wed Jun 18 01:00:17 2003
@@ -0,0 +1,7 @@
+@NOSHARED@*shared*
+
+# Anthony Baxter's gdbm module.  GNU dbm(3) will require -lgdbm:
+#
+# First, look at Setup.config; configure may have set this for you.
+
+gdbm gdbmmodule.c -I${LOCALBASE}/include -L${LOCALBASE}/lib -lgdbm
diff python.orig/2.2/files/Setup.tkinter python/2.2/files/Setup.tkinter
--- python.orig/2.2/files/Setup.tkinter	Fri Feb 15 20:42:18 2002
+++ python/2.2/files/Setup.tkinter	Wed Jun 18 01:05:39 2003
@@ -16,23 +16,24 @@
 
 # *** Always uncomment this (leave the leading underscore in!):
 _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
+# *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
+	-L${LOCALBASE}/lib \
 # *** Uncomment and edit to reflect where your Tcl/Tk headers are:
-	-I${PREFIX}/include/tcl8.3 \
-	-I${PREFIX}/include/tk8.3 \
+	-I${LOCALBASE}/include/tcl8.3 \
+	-I${LOCALBASE}/include/tk8.3 \
 # *** Uncomment and edit to reflect where your X11 header files are:
 	-I${X11BASE}/include \
 # *** Or uncomment this for Solaris:
 #	-I/usr/openwin/include \
 # *** Uncomment and edit for Tix extension only:
-#	-DWITH_TIX -ltix4.1.8.0 \
+#	-DWITH_TIX -ltix8.1.8.2 \
 # *** Uncomment and edit for BLT extension only:
 #	-DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \
 # *** Uncomment and edit for PIL (TkImaging) extension only:
+#     (See http://www.pythonware.com/products/pil/ for more info)
 #	-DWITH_PIL -I../Extensions/Imaging/libImaging  tkImaging.c \
 # *** Uncomment and edit for TOGL extension only:
 #	-DWITH_TOGL togl.c \
-# *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
-	-L${PREFIX}/lib \
 # *** Uncomment and edit to reflect your Tcl/Tk versions:
 	-ltk83 -ltcl83 \
 # *** Uncomment and edit to reflect where your X11 libraries are:
diff python.orig/2.2/files/idle python/2.2/files/idle
--- python.orig/2.2/files/idle	Thu Jan  1 01:00:00 1970
+++ python/2.2/files/idle	Mon Aug 11 17:25:03 2003
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/bin/env python@VERSION@ @LOCALBASE@/lib/python@VERSION@/Tools/idle/idle.py
diff python.orig/2.2/files/pydoc python/2.2/files/pydoc
--- python.orig/2.2/files/pydoc	Fri Feb 15 20:42:18 2002
+++ python/2.2/files/pydoc	Thu Jan  1 01:00:00 1970
@@ -1,4 +0,0 @@
-#!/usr/bin/env python2.2
-
-import pydoc
-pydoc.cli()
diff python.orig/2.2/patches/CVS/Entries python/2.2/patches/CVS/Entries
--- python.orig/2.2/patches/CVS/Entries	Wed Jul 30 20:53:58 2003
+++ python/2.2/patches/CVS/Entries	Fri Jul  4 19:14:13 2003
@@ -1,13 +1,13 @@
-/patch-Lib_os_py/1.1/Tue Oct  8 02:52:25 2002//
-/patch-Lib_tempfile_py/1.2/Sat May 11 21:35:13 2002//
-/patch-Lib_test_test_fcntl_py/1.1/Sat May 11 21:35:13 2002//
-/patch-Makefile_pre_in/1.1/Fri Feb 15 19:42:18 2002//
-/patch-Modules_Setup_dist/1.1/Tue Oct  8 02:52:25 2002//
-/patch-Modules__localemodule_c/1.1/Sat May 11 21:35:13 2002//
-/patch-Objects_abstract_c/1.2/Sat May 11 21:35:13 2002//
-/patch-Objects_stringobject_c/1.2/Sat May 11 21:35:13 2002//
-/patch-Python_getargs_c/1.2/Sat May 11 21:35:13 2002//
-/patch-Python_modsupport_c/1.2/Sat May 11 21:35:13 2002//
-/patch-configure_in/1.4/Sun May 12 01:05:49 2002//
-/patch-setup_py/1.3/Tue Oct  8 02:52:25 2002//
+/patch-Lib_tempfile_py/1.2/Mon Dec  9 22:35:51 2002//
+/patch-configure_in/1.4/Mon Dec  9 22:35:52 2002//
+/patch-setup_py/1.3/Mon Dec  9 22:35:52 2002//
+/patch-Lib_os_py/1.1/Fri Jul  4 17:14:13 2003//
+/patch-Lib_test_test_fcntl_py/1.1/Fri Jul  4 17:14:13 2003//
+/patch-Makefile_pre_in/1.1/Tue Jun 17 23:34:12 2003//
+/patch-Modules_Setup_dist/1.1/Fri Jul  4 17:14:13 2003//
+/patch-Modules__localemodule_c/1.1/Fri Jul  4 17:14:13 2003//
+/patch-Objects_abstract_c/1.2/Fri Jul  4 17:14:13 2003//
+/patch-Objects_stringobject_c/1.2/Fri Jul  4 17:14:13 2003//
+/patch-Python_getargs_c/1.2/Fri Jul  4 17:14:13 2003//
+/patch-Python_modsupport_c/1.2/Fri Jul  4 17:14:13 2003//
 D
diff python.orig/2.2/patches/patch-Lib_os_py python/2.2/patches/patch-Lib_os_py
--- python.orig/2.2/patches/patch-Lib_os_py	Tue Oct  8 04:52:25 2002
+++ python/2.2/patches/patch-Lib_os_py	Thu Jan  1 01:00:00 1970
@@ -1,79 +0,0 @@
-$OpenBSD: patch-Lib_os_py,v 1.1 2002/10/08 02:52:25 brad Exp $
---- Lib/os.py.orig	Mon Oct  7 22:16:49 2002
-+++ Lib/os.py	Mon Oct  7 22:16:51 2002
-@@ -298,7 +298,7 @@ def execvp(file, args):
-     _execvpe(file, args)
- 
- def execvpe(file, args, env):
--    """execv(file, args, env)
-+    """execvpe(file, args, env)
- 
-     Execute the executable file (which is searched for along $PATH)
-     with argument list args and environment env , replacing the
-@@ -308,8 +308,9 @@ def execvpe(file, args, env):
- 
- __all__.extend(["execl","execle","execlp","execlpe","execvp","execvpe"])
- 
--_notfound = None
- def _execvpe(file, args, env=None):
-+    from errno import ENOENT, ENOTDIR
-+
-     if env is not None:
-         func = execve
-         argrest = (args, env)
-@@ -317,7 +318,7 @@ def _execvpe(file, args, env=None):
-         func = execv
-         argrest = (args,)
-         env = environ
--    global _notfound
-+
-     head, tail = path.split(file)
-     if head:
-         apply(func, (file,) + argrest)
-@@ -327,30 +328,21 @@ def _execvpe(file, args, env=None):
-     else:
-         envpath = defpath
-     PATH = envpath.split(pathsep)
--    if not _notfound:
--        if sys.platform[:4] == 'beos':
--            #  Process handling (fork, wait) under BeOS (up to 5.0)
--            #  doesn't interoperate reliably with the thread interlocking
--            #  that happens during an import.  The actual error we need
--            #  is the same on BeOS for posix.open() et al., ENOENT.
--            try: unlink('/_#.# ## #.#')
--            except error, _notfound: pass
--        else:
--            import tempfile
--            t = tempfile.mktemp()
--            # Exec a file that is guaranteed not to exist
--            try: execv(t, ('blah',))
--            except error, _notfound: pass
--    exc, arg = error, _notfound
-+    saved_exc = None
-+    saved_tb = None
-     for dir in PATH:
-         fullname = path.join(dir, file)
-         try:
-             apply(func, (fullname,) + argrest)
--        except error, (errno, msg):
--            if errno != arg[0]:
--                exc, arg = error, (errno, msg)
--    raise exc, arg
--
-+        except error, e:
-+            tb = sys.exc_info()[2]
-+            if (e.errno != ENOENT and e.errno != ENOTDIR
-+                and saved_exc is None):
-+                saved_exc = e
-+                saved_tb = tb
-+    if saved_exc:
-+        raise error, saved_exc, saved_tb
-+    raise error, e, tb
- 
- # Change environ to automatically call putenv() if it exists
- try:
-@@ -618,3 +610,4 @@ try:
-                      _make_statvfs_result)
- except NameError: # statvfs_result may not exist
-     pass
-+
diff python.orig/2.2/patches/patch-Lib_test_test_fcntl_py python/2.2/patches/patch-Lib_test_test_fcntl_py
--- python.orig/2.2/patches/patch-Lib_test_test_fcntl_py	Sat May 11 23:35:13 2002
+++ python/2.2/patches/patch-Lib_test_test_fcntl_py	Thu Jan  1 01:00:00 1970
@@ -1,16 +0,0 @@
-$OpenBSD: patch-Lib_test_test_fcntl_py,v 1.1 2002/05/11 21:35:13 matt Exp $
-
-        This has been submitted to the Python team as part of patch
-        554719.
-
---- Lib/test/test_fcntl.py.orig	Wed Dec  5 18:27:32 2001
-+++ Lib/test/test_fcntl.py	Fri Apr 19 12:07:54 2002
-@@ -19,7 +19,7 @@ else:
- if sys.platform in ('netbsd1', 'Darwin1.2', 'darwin',
-                     'freebsd2', 'freebsd3', 'freebsd4', 'freebsd5',
-                     'bsdos2', 'bsdos3', 'bsdos4',
--                    'openbsd', 'openbsd2'):
-+                    'openbsd', 'openbsd2', 'openbsd3'):
-     lockdata = struct.pack('lxxxxlxxxxlhh', 0, 0, 0, fcntl.F_WRLCK, 0)
- elif sys.platform in ['aix3', 'aix4', 'hp-uxB', 'unixware7']:
-     lockdata = struct.pack('hhlllii', fcntl.F_WRLCK, 0, 0, 0, 0, 0, 0)
diff python.orig/2.2/patches/patch-Modules_Setup_dist python/2.2/patches/patch-Modules_Setup_dist
--- python.orig/2.2/patches/patch-Modules_Setup_dist	Tue Oct  8 04:52:25 2002
+++ python/2.2/patches/patch-Modules_Setup_dist	Thu Jan  1 01:00:00 1970
@@ -1,19 +0,0 @@
-$OpenBSD: patch-Modules_Setup_dist,v 1.1 2002/10/08 02:52:25 brad Exp $
---- Modules/Setup.dist.orig	Mon Oct  7 22:18:01 2002
-+++ Modules/Setup.dist	Mon Oct  7 22:18:36 2002
-@@ -97,6 +97,7 @@ PYTHONPATH=$(COREPYTHONPATH)
- # setup.py script in the root of the Python source tree.
- 
- posix posixmodule.c		# posix (UNIX) system calls
-+errno errnomodule.c		# posix (UNIX) errno values
- _sre _sre.c			# Fredrik Lundh's new regular expressions
- new newmodule.c			# Tommy Burnette's 'new' module
- 
-@@ -166,7 +167,6 @@ GLHACK=-Dclear=__GLclear
- #fcntl fcntlmodule.c	# fcntl(2) and ioctl(2)
- #pwd pwdmodule.c		# pwd(3) 
- #grp grpmodule.c		# grp(3)
--#errno errnomodule.c	# posix (UNIX) errno values
- #select selectmodule.c	# select(2); not on ancient System V
- 
- # Memory-mapped files (also works on Win32).
diff python.orig/2.2/patches/patch-Modules__localemodule_c python/2.2/patches/patch-Modules__localemodule_c
--- python.orig/2.2/patches/patch-Modules__localemodule_c	Sat May 11 23:35:13 2002
+++ python/2.2/patches/patch-Modules__localemodule_c	Thu Jan  1 01:00:00 1970
@@ -1,45 +0,0 @@
-$OpenBSD: patch-Modules__localemodule_c,v 1.1 2002/05/11 21:35:13 matt Exp $
-
-        This patch is in Python CVS for the 2.2 branch and the head.
-
---- Modules/_localemodule.c.orig	Fri Apr  5 10:26:55 2002
-+++ Modules/_localemodule.c	Fri Apr 19 12:00:55 2002
-@@ -484,19 +484,36 @@ struct langinfo_constant{
-     LANGINFO(AM_STR),
-     LANGINFO(PM_STR),
- 
--    /* The following constants are available only with XPG4. AIX 3.2. only has
--       CODESET. */
-+    /* The following constants are available only with XPG4, but...
-+       AIX 3.2. only has CODESET.
-+       OpenBSD doesn't have CODESET but has T_FMT_AMPM, and doesn't have
-+       a few of the others.
-+       Solution: ifdef-test them all. */
- #ifdef CODESET
-     LANGINFO(CODESET),
- #endif
- #ifdef T_FMT_AMPM
-     LANGINFO(T_FMT_AMPM),
-+#endif
-+#ifdef ERA
-     LANGINFO(ERA),
-+#endif
-+#ifdef ERA_D_FMT
-     LANGINFO(ERA_D_FMT),
-+#endif
-+#ifdef ERA_D_T_FMT
-     LANGINFO(ERA_D_T_FMT),
-+#endif
-+#ifdef ERA_T_FMT
-     LANGINFO(ERA_T_FMT),
-+#endif
-+#ifdef ALT_DIGITS
-     LANGINFO(ALT_DIGITS),
-+#endif
-+#ifdef YESEXPR
-     LANGINFO(YESEXPR),
-+#endif
-+#ifdef NOEXPR
-     LANGINFO(NOEXPR),
- #endif
- #ifdef _DATE_FMT
diff python.orig/2.2/patches/patch-Objects_abstract_c python/2.2/patches/patch-Objects_abstract_c
--- python.orig/2.2/patches/patch-Objects_abstract_c	Sat May 11 23:35:13 2002
+++ python/2.2/patches/patch-Objects_abstract_c	Thu Jan  1 01:00:00 1970
@@ -1,19 +0,0 @@
-$OpenBSD: patch-Objects_abstract_c,v 1.2 2002/05/11 21:35:13 matt Exp $
-
-        This has been submitted to the Python team as part of patch
-        554716.
-
---- Objects/abstract.c.orig	Mon Mar 11 05:12:58 2002
-+++ Objects/abstract.c	Fri Apr 19 09:05:16 2002
-@@ -1789,7 +1789,11 @@ objargs_mktuple(va_list va)
- #ifdef VA_LIST_IS_ARRAY
- 	memcpy(countva, va, sizeof(va_list));
- #else
-+#ifdef __va_copy
-+	__va_copy(countva, va);
-+#else
- 	countva = va;
-+#endif
- #endif
- 
- 	while (((PyObject *)va_arg(countva, PyObject *)) != NULL)
diff python.orig/2.2/patches/patch-Objects_stringobject_c python/2.2/patches/patch-Objects_stringobject_c
--- python.orig/2.2/patches/patch-Objects_stringobject_c	Sat May 11 23:35:13 2002
+++ python/2.2/patches/patch-Objects_stringobject_c	Thu Jan  1 01:00:00 1970
@@ -1,19 +0,0 @@
-$OpenBSD: patch-Objects_stringobject_c,v 1.2 2002/05/11 21:35:13 matt Exp $
-
-        This has been submitted to the Python team as part of patch
-        554716.
-
---- Objects/stringobject.c.orig	Thu Mar 14 22:01:00 2002
-+++ Objects/stringobject.c	Thu Mar 14 22:01:54 2002
-@@ -175,7 +175,11 @@ PyString_FromFormatV(const char *format,
- #ifdef VA_LIST_IS_ARRAY
- 	memcpy(count, vargs, sizeof(va_list));
- #else
-+#ifdef  __va_copy
-+	__va_copy(count, vargs);
-+#else
- 	count = vargs;
-+#endif
- #endif
- 	/* step 1: figure out how large a buffer we need */
- 	for (f = format; *f; f++) {
diff python.orig/2.2/patches/patch-Python_getargs_c python/2.2/patches/patch-Python_getargs_c
--- python.orig/2.2/patches/patch-Python_getargs_c	Sat May 11 23:35:13 2002
+++ python/2.2/patches/patch-Python_getargs_c	Thu Jan  1 01:00:00 1970
@@ -1,19 +0,0 @@
-$OpenBSD: patch-Python_getargs_c,v 1.2 2002/05/11 21:35:13 matt Exp $
-
-        This has been submitted to the Python team as part of patch
-        554716.
-
---- Python/getargs.c.orig	Sun Dec  2 18:43:33 2001
-+++ Python/getargs.c	Thu Mar 14 22:17:09 2002
-@@ -61,7 +61,11 @@ PyArg_VaParse(PyObject *args, char *form
- #ifdef VA_LIST_IS_ARRAY
- 	memcpy(lva, va, sizeof(va_list));
- #else
-+#ifdef __va_copy
-+	__va_copy(lva, va);
-+#else
- 	lva = va;
-+#endif
- #endif
- 
- 	return vgetargs1(args, format, &lva, 0);
diff python.orig/2.2/patches/patch-Python_modsupport_c python/2.2/patches/patch-Python_modsupport_c
--- python.orig/2.2/patches/patch-Python_modsupport_c	Sat May 11 23:35:13 2002
+++ python/2.2/patches/patch-Python_modsupport_c	Thu Jan  1 01:00:00 1970
@@ -1,19 +0,0 @@
-$OpenBSD: patch-Python_modsupport_c,v 1.2 2002/05/11 21:35:13 matt Exp $
-
-        This has been submitted to the Python team as part of patch
-        554716.
-
---- Python/modsupport.c.orig	Fri Aug 17 13:39:25 2001
-+++ Python/modsupport.c	Thu Mar 14 22:17:27 2002
-@@ -411,7 +411,11 @@ Py_VaBuildValue(char *format, va_list va
- #ifdef VA_LIST_IS_ARRAY
- 	memcpy(lva, va, sizeof(va_list));
- #else
-+#ifdef __va_copy
-+	__va_copy(lva, va);
-+#else
- 	lva = va;
-+#endif
- #endif
- 
- 	if (n < 0)
diff python.orig/2.2/patches/patch-Tools_scripts_pydoc python/2.2/patches/patch-Tools_scripts_pydoc
--- python.orig/2.2/patches/patch-Tools_scripts_pydoc	Thu Jan  1 01:00:00 1970
+++ python/2.2/patches/patch-Tools_scripts_pydoc	Wed Jun 18 01:10:51 2003
@@ -0,0 +1,9 @@
+$OpenBSD$
+--- Tools/scripts/pydoc.orig	Tue Jun 17 23:10:26 2003
++++ Tools/scripts/pydoc	Tue Jun 17 23:10:36 2003
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2.2
+ 
+ import pydoc
+ pydoc.cli()
diff python.orig/2.2/patches/patch-configure_in python/2.2/patches/patch-configure_in
--- python.orig/2.2/patches/patch-configure_in	Sun May 12 03:05:49 2002
+++ python/2.2/patches/patch-configure_in	Wed Jun 18 00:42:27 2003
@@ -3,43 +3,32 @@
         This has been submitted to the Python team as part of patch
         554719.
 
---- configure.in.orig	Mon Mar 11 05:14:23 2002
-+++ configure.in	Sat May 11 20:24:08 2002
-@@ -802,7 +802,21 @@ then
- 	Linux*) LDSHARED="gcc -shared";;
+--- configure.in.orig	Sat Mar 29 22:25:17 2003
++++ configure.in	Tue Jun 17 22:42:09 2003
+@@ -827,13 +827,14 @@ then
+ 	Linux*) LDSHARED='$(CC) -shared';;
  	dgux*) LDSHARED="ld -G";;
  	BSD/OS*/4*) LDSHARED="gcc -shared";;
--	OpenBSD*|NetBSD*|FreeBSD*)
-+	OpenBSD*)
-+		if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
-+		then
-+			LDSHARED='$(CC) -shared $(CCSHARED) ${LDFLAGS}'
-+		else
-+			case `uname -r` in
-+			[01].* | 2.[[0-7]] | 2.[[0-7]].*)
-+			  LDSHARED="ld -Bshareable ${LDFLAGS}"
-+			  ;;
-+			*)
-+			  LDSHARED='$(CC) -shared $(CCSHARED) ${LDFLAGS}'
-+			  ;;
-+			esac
-+		fi;;
-+	NetBSD*|FreeBSD*)
+-	OpenBSD*|FreeBSD*)
++	FreeBSD*)
  		if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
  		then
  			LDSHARED="cc -shared ${LDFLAGS}"
-@@ -1016,6 +1030,14 @@ then
-     AC_DEFINE(WITH_THREAD)
-     posix_threads=yes
-     LIBOBJS="$LIBOBJS thread.o"
-+elif test "$ac_sys_system" = "OpenBSD"
-+then
-+    posix_threads=yes
-+    LIBS="-pthread $LIBS"
-+    LIBOBJS="$LIBOBJS thread.o"
-+    AC_DEFINE(WITH_THREAD)
-+    AC_DEFINE(_REENTRANT)
-+    AC_DEFINE(_POSIX_THREADS)
- else
-     if test ! -z "$with_threads" -a -d "$with_threads"
-     then LDFLAGS="$LDFLAGS -L$with_threads"
+ 		else
+ 			LDSHARED="ld -Bshareable ${LDFLAGS}"
+ 		fi;;
++	OpenBSD*) LDSHARED="${CC} -shared ${LDFLAGS}";;
+ 	NetBSD*) LDSHARED="cc -shared ${LDFLAGS}";;
+ 	OpenUNIX*|UnixWare*)
+ 		if test "$GCC" = "yes"
+@@ -1083,8 +1084,8 @@ yes
+     # on HP/UX, pthread.h renames pthread_create to a different symbol name.
+     # So we really have to include pthread.h, and then link.
+     _libs=$LIBS
+-    LIBS="$LIBS -lpthread"
+-    AC_MSG_CHECKING([for pthread_create in -lpthread])
++    LIBS="$LIBS -pthread"
++    AC_MSG_CHECKING([for pthread_create in -pthread])
+     AC_TRY_LINK([#include <pthread.h>
+ 
+ void * start_routine (void *arg) { exit (0); }], [
diff python.orig/2.2/patches/patch-configure_in.orig python/2.2/patches/patch-configure_in.orig
--- python.orig/2.2/patches/patch-configure_in.orig	Thu Jan  1 01:00:00 1970
+++ python/2.2/patches/patch-configure_in.orig	Wed Jun 18 00:34:27 2003
@@ -0,0 +1,23 @@
+$OpenBSD: patch-configure_in,v 1.4 2002/05/12 01:05:49 brad Exp $
+
+        This has been submitted to the Python team as part of patch
+        554719.
+
+--- configure.in.orig	Tue Jun 17 21:50:47 2003
++++ configure.in	Tue Jun 17 21:58:46 2003
+@@ -827,13 +827,14 @@ then
+ 	Linux*) LDSHARED='$(CC) -shared';;
+ 	dgux*) LDSHARED="ld -G";;
+ 	BSD/OS*/4*) LDSHARED="gcc -shared";;
+-	OpenBSD*|FreeBSD*)
++	FreeBSD*)
+ 		if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
+ 		then
+ 			LDSHARED="cc -shared ${LDFLAGS}"
+ 		else
+ 			LDSHARED="ld -Bshareable ${LDFLAGS}"
+ 		fi;;
++	OpenBSD*) LDSHARED="${CC} -shared ${LDFLAGS}";;
+ 	NetBSD*) LDSHARED="cc -shared ${LDFLAGS}";;
+ 	OpenUNIX*|UnixWare*)
+ 		if test "$GCC" = "yes"
diff python.orig/2.2/patches/patch-setup_py python/2.2/patches/patch-setup_py
--- python.orig/2.2/patches/patch-setup_py	Tue Oct  8 04:52:25 2002
+++ python/2.2/patches/patch-setup_py	Wed Jun 18 00:04:01 2003
@@ -1,21 +1,11 @@
 $OpenBSD: patch-setup_py,v 1.3 2002/10/08 02:52:25 brad Exp $
---- setup.py.orig	Tue Mar 26 08:43:04 2002
-+++ setup.py	Mon Oct  7 22:19:31 2002
-@@ -273,8 +273,6 @@ class PyBuildExt(build_ext):
-         exts.append( Extension('pwd', ['pwdmodule.c']) )
-         # grp(3)
-         exts.append( Extension('grp', ['grpmodule.c']) )
--        # posix (UNIX) errno values
--        exts.append( Extension('errno', ['errnomodule.c']) )
-         # select(2); not on ancient System V
-         exts.append( Extension('select', ['selectmodule.c']) )
- 
-@@ -793,7 +791,8 @@ def main():
+--- setup.py.orig	Tue Jun 17 22:03:28 2003
++++ setup.py	Tue Jun 17 22:03:40 2003
+@@ -808,7 +808,7 @@ def main():
            ext_modules=[Extension('struct', ['structmodule.c'])],
  
            # Scripts to install
 -          scripts = ['Tools/scripts/pydoc']
-+          #scripts = ['Tools/scripts/pydoc']
 +          scripts = []
          )
  
diff python.orig/2.2/patches/patch-setup_py.orig python/2.2/patches/patch-setup_py.orig
--- python.orig/2.2/patches/patch-setup_py.orig	Thu Jan  1 01:00:00 1970
+++ python/2.2/patches/patch-setup_py.orig	Mon Dec  9 23:35:52 2002
@@ -0,0 +1,22 @@
+$OpenBSD: patch-setup_py,v 1.3 2002/10/08 02:52:25 brad Exp $
+--- setup.py.orig	Tue Mar 26 08:43:04 2002
++++ setup.py	Mon Oct  7 22:19:31 2002
+@@ -273,8 +273,6 @@ class PyBuildExt(build_ext):
+         exts.append( Extension('pwd', ['pwdmodule.c']) )
+         # grp(3)
+         exts.append( Extension('grp', ['grpmodule.c']) )
+-        # posix (UNIX) errno values
+-        exts.append( Extension('errno', ['errnomodule.c']) )
+         # select(2); not on ancient System V
+         exts.append( Extension('select', ['selectmodule.c']) )
+ 
+@@ -793,7 +791,8 @@ def main():
+           ext_modules=[Extension('struct', ['structmodule.c'])],
+ 
+           # Scripts to install
+-          scripts = ['Tools/scripts/pydoc']
++          #scripts = ['Tools/scripts/pydoc']
++          scripts = []
+         )
+ 
+ # --install-platlib
diff python.orig/2.2/pkg/CVS/Entries python/2.2/pkg/CVS/Entries
--- python.orig/2.2/pkg/CVS/Entries	Wed Jul 30 20:54:01 2003
+++ python/2.2/pkg/CVS/Entries	Fri Jul  4 19:14:13 2003
@@ -1,18 +1,18 @@
-/DEINSTALL/1.1/Fri Feb 15 19:42:19 2002//
-/DESCR/1.1/Fri Feb 15 19:42:19 2002//
-/DESCR-expat/1.1/Fri Feb 15 19:42:19 2002//
-/DESCR-mpz/1.1/Fri Feb 15 19:42:19 2002//
-/DESCR-tests/1.1/Fri Feb 15 19:42:19 2002//
-/DESCR-tkinter/1.1/Fri Feb 15 19:42:19 2002//
-/DESCR-tools/1.1/Fri Feb 15 19:42:19 2002//
-/INSTALL/1.1/Fri Feb 15 19:42:19 2002//
-/PFRAG-tkinter.no_shared/1.1/Fri Feb 15 19:42:19 2002//
-/PFRAG.mm/1.1/Fri Feb 15 19:42:19 2002//
-/PFRAG.shared/1.2/Mon Feb 25 21:25:38 2002//
-/PLIST/1.2/Sat May 11 21:35:13 2002//
-/PLIST-expat/1.2/Sat Mar 23 04:34:23 2002//
-/PLIST-mpz/1.2/Sat Mar 23 04:34:23 2002//
-/PLIST-tests/1.3/Sat May 11 21:35:13 2002//
-/PLIST-tkinter/1.2/Sat Mar 23 04:34:23 2002//
-/PLIST-tools/1.2/Sat Mar 23 04:34:23 2002//
+/DEINSTALL/1.1/Mon Dec  9 22:35:53 2002//
+/DESCR/1.1/Mon Dec  9 22:35:53 2002//
+/DESCR-expat/1.1/Mon Dec  9 22:35:53 2002//
+/DESCR-mpz/1.1/Mon Dec  9 22:35:53 2002//
+/DESCR-tests/1.1/Mon Dec  9 22:35:53 2002//
+/DESCR-tkinter/1.1/Mon Dec  9 22:35:53 2002//
+/DESCR-tools/1.1/Mon Dec  9 22:35:54 2002//
+/INSTALL/1.1/Mon Dec  9 22:35:54 2002//
+/PFRAG.shared/1.2/Mon Dec  9 22:35:54 2002//
+/PLIST/1.2/Mon Dec  9 22:35:54 2002//
+/PLIST-tests/1.3/Mon Dec  9 22:35:54 2002//
+/PLIST-tkinter/1.2/Mon Dec  9 22:35:54 2002//
+/PFRAG-tkinter.no_shared/1.1/Tue Jun 17 23:31:40 2003//
+/PFRAG.mm/1.1/Tue Jun 17 23:46:38 2003//
+/PLIST-expat/1.2/Tue Jun 17 23:24:21 2003//
+/PLIST-mpz/1.2/Tue Jun 17 23:24:21 2003//
+/PLIST-tools/1.2/Tue Jun 17 23:24:21 2003//
 D
diff python.orig/2.2/pkg/DEINSTALL python/2.2/pkg/DEINSTALL
--- python.orig/2.2/pkg/DEINSTALL	Fri Feb 15 20:42:19 2002
+++ python/2.2/pkg/DEINSTALL	Mon Aug 11 19:26:49 2003
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $OpenBSD: DEINSTALL,v 1.1 2002/02/15 19:42:19 matt Exp $
+# $OpenBSD$
 #
 # Clean up python symlink, if it was ours.
 #
diff python.orig/2.2/pkg/DEINSTALL-idle python/2.2/pkg/DEINSTALL-idle
--- python.orig/2.2/pkg/DEINSTALL-idle	Thu Jan  1 01:00:00 1970
+++ python/2.2/pkg/DEINSTALL-idle	Mon Aug 11 19:26:53 2003
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# $OpenBSD$
+#
+# Clean up python symlink, if it was ours.
+#
+
+set -e
+PATH=/bin
+PREFIX=${PKG_PREFIX:-/usr/local}
+
+if [ ${PREFIX}/bin/idle -ef ${PREFIX}/bin/idle2.2 ]
+then
+	rm -f ${PREFIX}/bin/idle
+fi
+
diff python.orig/2.2/pkg/DESCR python/2.2/pkg/DESCR
--- python.orig/2.2/pkg/DESCR	Fri Feb 15 20:42:19 2002
+++ python/2.2/pkg/DESCR	Mon Aug 11 17:09:15 2003
@@ -1,18 +1,24 @@
-Python is an interpreted, interactive, object-oriented programming
-language that combines remarkable power with very clear syntax. For
-an introduction to programming in Python you are referred to the
-Python Tutorial. The Python Library Reference documents built-in
-and standard types, constants, functions and modules. Finally, the
-Python Reference Manual describes the syntax and semantics of the
+Python is an interpreted, interactive, object-oriented
+programming language that combines remarkable power with
+very clear syntax. For an introduction to programming in
+Python you are referred to the Python Tutorial. The Python
+Library Reference documents built-in and standard types,
+constants, functions and modules. Finally, the Python
+Reference Manual describes the syntax and semantics of the
 core language in (perhaps too) much detail.
 
-Python's basic power can be extended with your own modules written
-in C or C++.  On most systems such modules may be dynamically loaded.
-Python is also adaptable as an extension language for existing
-applications. See the internal documentation for hints.
+Python's basic power can be extended with your own modules
+written in C or C++.  On most systems such modules may be
+dynamically loaded. Python is also adaptable as an
+extension language for existing applications. See the
+internal documentation for hints.
 
 Flavors:
-	no_tkinter	do not build Tkinter (requires tk)
-	no_mpz		do not build mpz (requires gmp)
-
-WWW: ${HOMEPAGE}
+	no_bsddb   - do not build bsdb package
+	no_expat   - do not build expat package
+   no_gdbm    - do not build gdbm package
+   no_idle    - do not build idle package
+   no_mpz     - do not build mpz package
+   no_tests   - do not build tests package
+	no_tkinter - do not build tkinter package
+	no_tools   - do not build tools package
diff python.orig/2.2/pkg/DESCR-bsddb python/2.2/pkg/DESCR-bsddb
--- python.orig/2.2/pkg/DESCR-bsddb	Thu Jan  1 01:00:00 1970
+++ python/2.2/pkg/DESCR-bsddb	Mon Aug 11 17:09:15 2003
@@ -0,0 +1,15 @@
+Python is an interpreted, interactive, object-oriented programming
+language that combines remarkable power with very clear syntax. For
+an introduction to programming in Python you are referred to the
+Python Tutorial. The Python Library Reference documents built-in
+and standard types, constants, functions and modules. Finally, the
+Python Reference Manual describes the syntax and semantics of the
+core language in (perhaps too) much detail.
+
+Python's basic power can be extended with your own modules written
+in C or C++.  On most systems such modules may be dynamically loaded.
+Python is also adaptable as an extension language for existing
+applications. See the internal documentation for hints.
+
+This package contains the bsddb, for using the Berkeley DB library in
+Python.
diff python.orig/2.2/pkg/DESCR-expat python/2.2/pkg/DESCR-expat
--- python.orig/2.2/pkg/DESCR-expat	Fri Feb 15 20:42:19 2002
+++ python/2.2/pkg/DESCR-expat	Mon Aug 11 17:09:15 2003
@@ -12,6 +12,3 @@
 applications. See the internal documentation for hints.
 
 This package contains support for the expat XML parser.
-
-WWW: ${HOMEPAGE}
-
diff python.orig/2.2/pkg/DESCR-gdbm python/2.2/pkg/DESCR-gdbm
--- python.orig/2.2/pkg/DESCR-gdbm	Thu Jan  1 01:00:00 1970
+++ python/2.2/pkg/DESCR-gdbm	Mon Aug 11 17:09:15 2003
@@ -0,0 +1,15 @@
+Python is an interpreted, interactive, object-oriented programming
+language that combines remarkable power with very clear syntax. For
+an introduction to programming in Python you are referred to the
+Python Tutorial. The Python Library Reference documents built-in
+and standard types, constants, functions and modules. Finally, the
+Python Reference Manual describes the syntax and semantics of the
+core language in (perhaps too) much detail.
+
+Python's basic power can be extended with your own modules written
+in C or C++.  On most systems such modules may be dynamically loaded.
+Python is also adaptable as an extension language for existing
+applications. See the internal documentation for hints.
+
+This package contains the gdbm, for using the GNU DBM library in
+Python.
diff python.orig/2.2/pkg/DESCR-idle python/2.2/pkg/DESCR-idle
--- python.orig/2.2/pkg/DESCR-idle	Thu Jan  1 01:00:00 1970
+++ python/2.2/pkg/DESCR-idle	Mon Aug 11 17:09:15 2003
@@ -0,0 +1,14 @@
+Python is an interpreted, interactive, object-oriented programming
+language that combines remarkable power with very clear syntax. For
+an introduction to programming in Python you are referred to the
+Python Tutorial. The Python Library Reference documents built-in
+and standard types, constants, functions and modules. Finally, the
+Python Reference Manual describes the syntax and semantics of the
+core language in (perhaps too) much detail.
+
+Python's basic power can be extended with your own modules written
+in C or C++.  On most systems such modules may be dynamically loaded.
+Python is also adaptable as an extension language for existing
+applications. See the internal documentation for hints.
+
+This package contains IDE for Python.
diff python.orig/2.2/pkg/DESCR-mpz python/2.2/pkg/DESCR-mpz
--- python.orig/2.2/pkg/DESCR-mpz	Fri Feb 15 20:42:19 2002
+++ python/2.2/pkg/DESCR-mpz	Mon Aug 11 17:09:15 2003
@@ -13,6 +13,3 @@
 
 This package contains mpz, the GNU arbitrary magnitude integer
 module.
-
-WWW: ${HOMEPAGE}
-
diff python.orig/2.2/pkg/DESCR-tests python/2.2/pkg/DESCR-tests
--- python.orig/2.2/pkg/DESCR-tests	Fri Feb 15 20:42:19 2002
+++ python/2.2/pkg/DESCR-tests	Mon Aug 11 17:09:15 2003
@@ -12,5 +12,3 @@
 applications. See the internal documentation for hints.
 
 This package contains the Python testsuite.
-
-WWW: ${HOMEPAGE}
diff python.orig/2.2/pkg/DESCR-tkinter python/2.2/pkg/DESCR-tkinter
--- python.orig/2.2/pkg/DESCR-tkinter	Fri Feb 15 20:42:19 2002
+++ python/2.2/pkg/DESCR-tkinter	Mon Aug 11 17:09:15 2003
@@ -13,5 +13,3 @@
 
 This package contains the Tkinter module, for using the tk toolkit
 in Python.
-
-WWW: ${HOMEPAGE}
diff python.orig/2.2/pkg/DESCR-tools python/2.2/pkg/DESCR-tools
--- python.orig/2.2/pkg/DESCR-tools	Fri Feb 15 20:42:19 2002
+++ python/2.2/pkg/DESCR-tools	Mon Aug 11 17:09:15 2003
@@ -12,5 +12,3 @@
 applications. See the internal documentation for hints.
 
 This package contains extra tools that Python users may find useful.
-
-WWW: ${HOMEPAGE}
diff python.orig/2.2/pkg/INSTALL python/2.2/pkg/INSTALL
--- python.orig/2.2/pkg/INSTALL	Fri Feb 15 20:42:19 2002
+++ python/2.2/pkg/INSTALL	Mon Aug 11 19:26:43 2003
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $OpenBSD: INSTALL,v 1.1 2002/02/15 19:42:19 matt Exp $
+# $OpenBSD$
 #
 # Set us up as the default python if there is not one already.
 #
diff python.orig/2.2/pkg/INSTALL-idle python/2.2/pkg/INSTALL-idle
--- python.orig/2.2/pkg/INSTALL-idle	Thu Jan  1 01:00:00 1970
+++ python/2.2/pkg/INSTALL-idle	Mon Aug 11 17:49:02 2003
@@ -0,0 +1,30 @@
+#!/bin/sh
+#
+# $OpenBSD$
+#
+# Set us up as the default python if there is not one already.
+#
+
+set -e
+PATH=/bin
+PREFIX=${PKG_PREFIX:-/usr/local}
+
+if [ x$2 = xPOST-INSTALL ]
+then
+	if [ ! -e ${PREFIX}/bin/idle ]
+	then
+		cd ${PREFIX}/bin
+		ln -s idle2.2 idle
+	else
+		cat <<EOT
+
++---------------
+| ${PREFIX}/bin/idle already exists.  If you want to use this
+| package as your system default idle, make ${PREFIX}/bin/idle a
+| symlink to ${PREFIX}/bin/idle2.2.
++---------------
+
+EOT
+	fi
+fi
+
diff python.orig/2.2/pkg/PFRAG.shared python/2.2/pkg/PFRAG.shared
--- python.orig/2.2/pkg/PFRAG.shared	Mon Feb 25 22:25:38 2002
+++ python/2.2/pkg/PFRAG.shared	Wed Jun 18 01:58:01 2003
@@ -1,8 +1,8 @@
 @comment $OpenBSD: PFRAG.shared,v 1.2 2002/02/25 21:25:38 matt Exp $
-%%mm%%
 lib/libpython2.2.so.0.0
-DYNLIBDIR(%B)
+DYNLIBDIR(%D/lib)
 lib/python2.2/config/libpython2.2.so.0.0
+%%mm%%
 lib/python2.2/lib-dynload/_codecsmodule.so
 lib/python2.2/lib-dynload/_curses_panel.so
 lib/python2.2/lib-dynload/_cursesmodule.so
@@ -13,13 +13,11 @@
 lib/python2.2/lib-dynload/_weakref.so
 lib/python2.2/lib-dynload/arraymodule.so
 lib/python2.2/lib-dynload/binascii.so
-lib/python2.2/lib-dynload/bsddbmodule.so
 lib/python2.2/lib-dynload/cPickle.so
 lib/python2.2/lib-dynload/cStringIO.so
 lib/python2.2/lib-dynload/cmathmodule.so
 lib/python2.2/lib-dynload/cryptmodule.so
 lib/python2.2/lib-dynload/dbmmodule.so
-lib/python2.2/lib-dynload/errnomodule.so
 lib/python2.2/lib-dynload/fcntlmodule.so
 lib/python2.2/lib-dynload/fpectlmodule.so
 lib/python2.2/lib-dynload/fpetestmodule.so
@@ -27,8 +25,7 @@
 lib/python2.2/lib-dynload/mathmodule.so
 lib/python2.2/lib-dynload/md5module.so
 lib/python2.2/lib-dynload/mmapmodule.so
-lib/python2.2/lib-dynload/newmodule.so
-lib/python2.2/lib-dynload/nis.so
+lib/python2.2/lib-dynload/nismodule.so
 lib/python2.2/lib-dynload/operator.so
 lib/python2.2/lib-dynload/parsermodule.so
 lib/python2.2/lib-dynload/pcre.so
@@ -46,6 +43,7 @@
 lib/python2.2/lib-dynload/timemodule.so
 lib/python2.2/lib-dynload/timingmodule.so
 lib/python2.2/lib-dynload/unicodedata.so
-lib/python2.2/lib-dynload/xreadlines.so
+lib/python2.2/lib-dynload/xreadlinesmodule.so
+lib/python2.2/lib-dynload/xxsubtype.so
 lib/python2.2/lib-dynload/zlibmodule.so
 @dirrm lib/python2.2/lib-dynload
diff python.orig/2.2/pkg/PLIST python/2.2/pkg/PLIST
--- python.orig/2.2/pkg/PLIST	Sat May 11 23:35:13 2002
+++ python/2.2/pkg/PLIST	Wed Jun 18 01:57:46 2003
@@ -1,6 +1,7 @@
 @comment $OpenBSD: PLIST,v 1.2 2002/05/11 21:35:13 matt Exp $
 @option no-default-conflict
 @pkgcfl python-2.2*
+%%tkinter%%
 bin/pydoc2.2
 bin/python2.2
 include/python2.2/Python.h
@@ -404,6 +405,9 @@
 lib/python2.2/dumbdbm.py
 lib/python2.2/dumbdbm.pyc
 lib/python2.2/dumbdbm.pyo
+lib/python2.2/email/Charset.py
+lib/python2.2/email/Charset.pyc
+lib/python2.2/email/Charset.pyo
 lib/python2.2/email/Encoders.py
 lib/python2.2/email/Encoders.pyc
 lib/python2.2/email/Encoders.pyo
@@ -413,6 +417,9 @@
 lib/python2.2/email/Generator.py
 lib/python2.2/email/Generator.pyc
 lib/python2.2/email/Generator.pyo
+lib/python2.2/email/Header.py
+lib/python2.2/email/Header.pyc
+lib/python2.2/email/Header.pyo
 lib/python2.2/email/Iterators.py
 lib/python2.2/email/Iterators.pyc
 lib/python2.2/email/Iterators.pyo
@@ -428,6 +435,12 @@
 lib/python2.2/email/MIMEMessage.py
 lib/python2.2/email/MIMEMessage.pyc
 lib/python2.2/email/MIMEMessage.pyo
+lib/python2.2/email/MIMEMultipart.py
+lib/python2.2/email/MIMEMultipart.pyc
+lib/python2.2/email/MIMEMultipart.pyo
+lib/python2.2/email/MIMENonMultipart.py
+lib/python2.2/email/MIMENonMultipart.pyc
+lib/python2.2/email/MIMENonMultipart.pyo
 lib/python2.2/email/MIMEText.py
 lib/python2.2/email/MIMEText.pyc
 lib/python2.2/email/MIMEText.pyo
@@ -443,6 +456,70 @@
 lib/python2.2/email/__init__.py
 lib/python2.2/email/__init__.pyc
 lib/python2.2/email/__init__.pyo
+lib/python2.2/email/_compat21.py
+lib/python2.2/email/_compat21.pyc
+lib/python2.2/email/_compat21.pyo
+lib/python2.2/email/_compat22.py
+lib/python2.2/email/_compat22.pyc
+lib/python2.2/email/_compat22.pyo
+lib/python2.2/email/_parseaddr.py
+lib/python2.2/email/_parseaddr.pyc
+lib/python2.2/email/_parseaddr.pyo
+lib/python2.2/email/base64MIME.py
+lib/python2.2/email/base64MIME.pyc
+lib/python2.2/email/base64MIME.pyo
+lib/python2.2/email/quopriMIME.py
+lib/python2.2/email/quopriMIME.pyc
+lib/python2.2/email/quopriMIME.pyo
+lib/python2.2/email/test/__init__.py
+lib/python2.2/email/test/__init__.pyc
+lib/python2.2/email/test/__init__.pyo
+lib/python2.2/email/test/data/PyBanner048.gif
+lib/python2.2/email/test/data/audiotest.au
+lib/python2.2/email/test/data/msg_01.txt
+lib/python2.2/email/test/data/msg_02.txt
+lib/python2.2/email/test/data/msg_03.txt
+lib/python2.2/email/test/data/msg_04.txt
+lib/python2.2/email/test/data/msg_05.txt
+lib/python2.2/email/test/data/msg_06.txt
+lib/python2.2/email/test/data/msg_07.txt
+lib/python2.2/email/test/data/msg_08.txt
+lib/python2.2/email/test/data/msg_09.txt
+lib/python2.2/email/test/data/msg_10.txt
+lib/python2.2/email/test/data/msg_11.txt
+lib/python2.2/email/test/data/msg_12.txt
+lib/python2.2/email/test/data/msg_13.txt
+lib/python2.2/email/test/data/msg_14.txt
+lib/python2.2/email/test/data/msg_15.txt
+lib/python2.2/email/test/data/msg_16.txt
+lib/python2.2/email/test/data/msg_17.txt
+lib/python2.2/email/test/data/msg_18.txt
+lib/python2.2/email/test/data/msg_19.txt
+lib/python2.2/email/test/data/msg_20.txt
+lib/python2.2/email/test/data/msg_21.txt
+lib/python2.2/email/test/data/msg_22.txt
+lib/python2.2/email/test/data/msg_23.txt
+lib/python2.2/email/test/data/msg_24.txt
+lib/python2.2/email/test/data/msg_25.txt
+lib/python2.2/email/test/data/msg_26.txt
+lib/python2.2/email/test/data/msg_27.txt
+lib/python2.2/email/test/data/msg_28.txt
+lib/python2.2/email/test/data/msg_29.txt
+lib/python2.2/email/test/data/msg_30.txt
+lib/python2.2/email/test/data/msg_31.txt
+lib/python2.2/email/test/data/msg_32.txt
+lib/python2.2/email/test/data/msg_33.txt
+lib/python2.2/email/test/data/msg_34.txt
+lib/python2.2/email/test/data/msg_35.txt
+lib/python2.2/email/test/test_email.py
+lib/python2.2/email/test/test_email.pyc
+lib/python2.2/email/test/test_email.pyo
+lib/python2.2/email/test/test_email_codecs.py
+lib/python2.2/email/test/test_email_codecs.pyc
+lib/python2.2/email/test/test_email_codecs.pyo
+lib/python2.2/email/test/test_email_torture.py
+lib/python2.2/email/test/test_email_torture.pyc
+lib/python2.2/email/test/test_email_torture.pyo
 lib/python2.2/encodings/__init__.py
 lib/python2.2/encodings/__init__.pyc
 lib/python2.2/encodings/__init__.pyo
@@ -602,6 +679,9 @@
 lib/python2.2/encodings/koi8_r.py
 lib/python2.2/encodings/koi8_r.pyc
 lib/python2.2/encodings/koi8_r.pyo
+lib/python2.2/encodings/koi8_u.py
+lib/python2.2/encodings/koi8_u.pyc
+lib/python2.2/encodings/koi8_u.pyo
 lib/python2.2/encodings/latin_1.py
 lib/python2.2/encodings/latin_1.pyc
 lib/python2.2/encodings/latin_1.pyo
@@ -803,7 +883,6 @@
 lib/python2.2/lib-old/zmod.py
 lib/python2.2/lib-old/zmod.pyc
 lib/python2.2/lib-old/zmod.pyo
-%%tkinter%%
 lib/python2.2/linecache.py
 lib/python2.2/linecache.pyc
 lib/python2.2/linecache.pyo
@@ -1138,6 +1217,7 @@
 man/man1/python2.2.1
 share/doc/python2.2/CHANGES.OpenBSD
 %%SHARED%%
+@dirrm share/doc/python2.2
 @dirrm lib/python2.2/xml/sax
 @dirrm lib/python2.2/xml/parsers
 @dirrm lib/python2.2/xml/dom
@@ -1147,6 +1227,8 @@
 @dirrm lib/python2.2/lib-old
 @dirrm lib/python2.2/hotshot
 @dirrm lib/python2.2/encodings
+@dirrm lib/python2.2/email/test/data
+@dirrm lib/python2.2/email/test
 @dirrm lib/python2.2/email
 @dirrm lib/python2.2/distutils/command
 @dirrm lib/python2.2/distutils
@@ -1155,4 +1237,3 @@
 @dirrm lib/python2.2/compiler
 @dirrm lib/python2.2
 @dirrm include/python2.2
-@dirrm share/doc/python2.2
diff python.orig/2.2/pkg/PLIST-bsddb python/2.2/pkg/PLIST-bsddb
--- python.orig/2.2/pkg/PLIST-bsddb	Thu Jan  1 01:00:00 1970
+++ python/2.2/pkg/PLIST-bsddb	Wed Jun 18 02:58:33 2003
@@ -0,0 +1,4 @@
+@comment $OpenBSD$
+@option no-default-conflict
+@pkgcfl python-bsddb-2.2*
+lib/python2.2/lib-dynload/bsddbmodule.so
diff python.orig/2.2/pkg/PLIST-gdbm python/2.2/pkg/PLIST-gdbm
--- python.orig/2.2/pkg/PLIST-gdbm	Thu Jan  1 01:00:00 1970
+++ python/2.2/pkg/PLIST-gdbm	Wed Jun 18 01:50:15 2003
@@ -0,0 +1,5 @@
+@comment $OpenBSD$
+@option no-default-conflict
+@pkgcfl python-gdbm-2.2*
+lib/python2.2/lib-dynload/gdbm.so
+lib/python2.2/lib-dynload/gdbmmodule.so
diff python.orig/2.2/pkg/PLIST-idle python/2.2/pkg/PLIST-idle
--- python.orig/2.2/pkg/PLIST-idle	Thu Jan  1 01:00:00 1970
+++ python/2.2/pkg/PLIST-idle	Mon Aug 11 17:57:30 2003
@@ -0,0 +1,76 @@
+@comment $OpenBSD: PLIST-tools,v 1.2 2002/03/23 04:34:23 matt Exp $
+@option no-default-conflict
+@pkgcfl python-idle-2.2*
+bin/idle2.2
+lib/python2.2/Tools/idle/AutoExpand.py
+lib/python2.2/Tools/idle/AutoIndent.py
+lib/python2.2/Tools/idle/Bindings.py
+lib/python2.2/Tools/idle/CallTipWindow.py
+lib/python2.2/Tools/idle/CallTips.py
+lib/python2.2/Tools/idle/ChangeLog
+lib/python2.2/Tools/idle/ClassBrowser.py
+lib/python2.2/Tools/idle/ColorDelegator.py
+lib/python2.2/Tools/idle/Debugger.py
+lib/python2.2/Tools/idle/Delegator.py
+lib/python2.2/Tools/idle/EditorWindow.py
+lib/python2.2/Tools/idle/FileList.py
+lib/python2.2/Tools/idle/FormatParagraph.py
+lib/python2.2/Tools/idle/FrameViewer.py
+lib/python2.2/Tools/idle/GrepDialog.py
+lib/python2.2/Tools/idle/IOBinding.py
+lib/python2.2/Tools/idle/Icons/folder.gif
+lib/python2.2/Tools/idle/Icons/minusnode.gif
+lib/python2.2/Tools/idle/Icons/openfolder.gif
+lib/python2.2/Tools/idle/Icons/plusnode.gif
+lib/python2.2/Tools/idle/Icons/python.gif
+lib/python2.2/Tools/idle/Icons/tk.gif
+lib/python2.2/Tools/idle/IdleConf.py
+lib/python2.2/Tools/idle/IdleHistory.py
+lib/python2.2/Tools/idle/MultiScrolledLists.py
+lib/python2.2/Tools/idle/MultiStatusBar.py
+lib/python2.2/Tools/idle/NEWS.txt
+lib/python2.2/Tools/idle/ObjectBrowser.py
+lib/python2.2/Tools/idle/OldStackViewer.py
+lib/python2.2/Tools/idle/OutputWindow.py
+lib/python2.2/Tools/idle/ParenMatch.py
+lib/python2.2/Tools/idle/PathBrowser.py
+lib/python2.2/Tools/idle/Percolator.py
+lib/python2.2/Tools/idle/PyParse.py
+lib/python2.2/Tools/idle/PyShell.py
+lib/python2.2/Tools/idle/README.txt
+lib/python2.2/Tools/idle/RemoteInterp.py
+lib/python2.2/Tools/idle/ReplaceDialog.py
+lib/python2.2/Tools/idle/ScriptBinding.py
+lib/python2.2/Tools/idle/ScrolledList.py
+lib/python2.2/Tools/idle/SearchBinding.py
+lib/python2.2/Tools/idle/SearchDialog.py
+lib/python2.2/Tools/idle/SearchDialogBase.py
+lib/python2.2/Tools/idle/SearchEngine.py
+lib/python2.2/Tools/idle/Separator.py
+lib/python2.2/Tools/idle/StackViewer.py
+lib/python2.2/Tools/idle/TODO.txt
+lib/python2.2/Tools/idle/ToolTip.py
+lib/python2.2/Tools/idle/TreeWidget.py
+lib/python2.2/Tools/idle/UndoDelegator.py
+lib/python2.2/Tools/idle/WidgetRedirector.py
+lib/python2.2/Tools/idle/WindowList.py
+lib/python2.2/Tools/idle/ZoomHeight.py
+lib/python2.2/Tools/idle/__init__.py
+lib/python2.2/Tools/idle/config-mac.txt
+lib/python2.2/Tools/idle/config-unix.txt
+lib/python2.2/Tools/idle/config-win.txt
+lib/python2.2/Tools/idle/config.txt
+lib/python2.2/Tools/idle/eventparse.py
+lib/python2.2/Tools/idle/extend.txt
+lib/python2.2/Tools/idle/help.txt
+lib/python2.2/Tools/idle/idle
+lib/python2.2/Tools/idle/idle.bat
+lib/python2.2/Tools/idle/idle.py
+lib/python2.2/Tools/idle/idle.pyw
+lib/python2.2/Tools/idle/idlever.py
+lib/python2.2/Tools/idle/keydefs.py
+lib/python2.2/Tools/idle/setup.py
+lib/python2.2/Tools/idle/testcode.py
+@dirrm lib/python2.2/Tools/idle/Icons
+@dirrm lib/python2.2/Tools/idle
+@unexec rmdir %D/lib/python2.2/Tools 2>/dev/null || true
diff python.orig/2.2/pkg/PLIST-tests python/2.2/pkg/PLIST-tests
--- python.orig/2.2/pkg/PLIST-tests	Sat May 11 23:35:13 2002
+++ python/2.2/pkg/PLIST-tests	Wed Jun 18 01:30:00 2003
@@ -45,9 +45,7 @@
 lib/python2.2/test/greyrgb.uue
 lib/python2.2/test/output/test_MimeWriter
 lib/python2.2/test/output/test_asynchat
-lib/python2.2/test/output/test_atexit
 lib/python2.2/test/output/test_augassign
-lib/python2.2/test/output/test_bastion
 lib/python2.2/test/output/test_binascii
 lib/python2.2/test/output/test_builtin
 lib/python2.2/test/output/test_cfgparser
@@ -71,7 +69,6 @@
 lib/python2.2/test/output/test_math
 lib/python2.2/test/output/test_md5
 lib/python2.2/test/output/test_mimetools
-lib/python2.2/test/output/test_minidom
 lib/python2.2/test/output/test_mmap
 lib/python2.2/test/output/test_new
 lib/python2.2/test/output/test_nis
@@ -175,6 +172,9 @@
 lib/python2.2/test/test_b2.py
 lib/python2.2/test/test_b2.pyc
 lib/python2.2/test/test_b2.pyo
+lib/python2.2/test/test_base64.py
+lib/python2.2/test/test_base64.pyc
+lib/python2.2/test/test_base64.pyo
 lib/python2.2/test/test_bastion.py
 lib/python2.2/test/test_bastion.pyc
 lib/python2.2/test/test_bastion.pyo
@@ -301,6 +301,9 @@
 lib/python2.2/test/test_email.py
 lib/python2.2/test/test_email.pyc
 lib/python2.2/test/test_email.pyo
+lib/python2.2/test/test_email_codecs.py
+lib/python2.2/test/test_email_codecs.pyc
+lib/python2.2/test/test_email_codecs.pyo
 lib/python2.2/test/test_errno.py
 lib/python2.2/test/test_errno.pyc
 lib/python2.2/test/test_errno.pyo
@@ -463,6 +466,9 @@
 lib/python2.2/test/test_mmap.py
 lib/python2.2/test/test_mmap.pyc
 lib/python2.2/test/test_mmap.pyo
+lib/python2.2/test/test_multifile.py
+lib/python2.2/test/test_multifile.pyc
+lib/python2.2/test/test_multifile.pyo
 lib/python2.2/test/test_mutants.py
 lib/python2.2/test/test_mutants.pyc
 lib/python2.2/test/test_mutants.pyo
@@ -541,9 +547,15 @@
 lib/python2.2/test/test_pyexpat.py
 lib/python2.2/test/test_pyexpat.pyc
 lib/python2.2/test/test_pyexpat.pyo
+lib/python2.2/test/test_queue.py
+lib/python2.2/test/test_queue.pyc
+lib/python2.2/test/test_queue.pyo
 lib/python2.2/test/test_quopri.py
 lib/python2.2/test/test_quopri.pyc
 lib/python2.2/test/test_quopri.pyo
+lib/python2.2/test/test_random.py
+lib/python2.2/test/test_random.pyc
+lib/python2.2/test/test_random.pyo
 lib/python2.2/test/test_re.py
 lib/python2.2/test/test_re.pyc
 lib/python2.2/test/test_re.pyo
@@ -646,6 +658,9 @@
 lib/python2.2/test/test_tokenize.py
 lib/python2.2/test/test_tokenize.pyc
 lib/python2.2/test/test_tokenize.pyo
+lib/python2.2/test/test_trace.py
+lib/python2.2/test/test_trace.pyc
+lib/python2.2/test/test_trace.pyo
 lib/python2.2/test/test_traceback.py
 lib/python2.2/test/test_traceback.pyc
 lib/python2.2/test/test_traceback.pyo
diff python.orig/2.2/pkg/PLIST-tkinter python/2.2/pkg/PLIST-tkinter
--- python.orig/2.2/pkg/PLIST-tkinter	Sat Mar 23 05:34:23 2002
+++ python/2.2/pkg/PLIST-tkinter	Wed Jun 18 02:53:03 2003
@@ -1,5 +1,5 @@
 @comment $OpenBSD: PLIST-tkinter,v 1.2 2002/03/23 04:34:23 matt Exp $
 @option no-default-conflict
 @pkgcfl python-tkinter-2.2*
-lib/python2.2/lib-dynload/_tkinter.so
 %%tkinter_no_shared%%
+lib/python2.2/lib-dynload/_tkinter.so
diff python.orig/2.2/pkg/PLIST-tools python/2.2/pkg/PLIST-tools
--- python.orig/2.2/pkg/PLIST-tools	Sat Mar 23 05:34:23 2002
+++ python/2.2/pkg/PLIST-tools	Mon Aug 11 17:35:30 2003
@@ -51,75 +51,6 @@
 lib/python2.2/Tools/freeze/winmakemakefile.py
 lib/python2.2/Tools/i18n/msgfmt.py
 lib/python2.2/Tools/i18n/pygettext.py
-lib/python2.2/Tools/idle/AutoExpand.py
-lib/python2.2/Tools/idle/AutoIndent.py
-lib/python2.2/Tools/idle/Bindings.py
-lib/python2.2/Tools/idle/CallTipWindow.py
-lib/python2.2/Tools/idle/CallTips.py
-lib/python2.2/Tools/idle/ChangeLog
-lib/python2.2/Tools/idle/ClassBrowser.py
-lib/python2.2/Tools/idle/ColorDelegator.py
-lib/python2.2/Tools/idle/Debugger.py
-lib/python2.2/Tools/idle/Delegator.py
-lib/python2.2/Tools/idle/EditorWindow.py
-lib/python2.2/Tools/idle/FileList.py
-lib/python2.2/Tools/idle/FormatParagraph.py
-lib/python2.2/Tools/idle/FrameViewer.py
-lib/python2.2/Tools/idle/GrepDialog.py
-lib/python2.2/Tools/idle/IOBinding.py
-lib/python2.2/Tools/idle/Icons/folder.gif
-lib/python2.2/Tools/idle/Icons/minusnode.gif
-lib/python2.2/Tools/idle/Icons/openfolder.gif
-lib/python2.2/Tools/idle/Icons/plusnode.gif
-lib/python2.2/Tools/idle/Icons/python.gif
-lib/python2.2/Tools/idle/Icons/tk.gif
-lib/python2.2/Tools/idle/IdleConf.py
-lib/python2.2/Tools/idle/IdleHistory.py
-lib/python2.2/Tools/idle/MultiScrolledLists.py
-lib/python2.2/Tools/idle/MultiStatusBar.py
-lib/python2.2/Tools/idle/NEWS.txt
-lib/python2.2/Tools/idle/ObjectBrowser.py
-lib/python2.2/Tools/idle/OldStackViewer.py
-lib/python2.2/Tools/idle/OutputWindow.py
-lib/python2.2/Tools/idle/ParenMatch.py
-lib/python2.2/Tools/idle/PathBrowser.py
-lib/python2.2/Tools/idle/Percolator.py
-lib/python2.2/Tools/idle/PyParse.py
-lib/python2.2/Tools/idle/PyShell.py
-lib/python2.2/Tools/idle/README.txt
-lib/python2.2/Tools/idle/RemoteInterp.py
-lib/python2.2/Tools/idle/ReplaceDialog.py
-lib/python2.2/Tools/idle/ScriptBinding.py
-lib/python2.2/Tools/idle/ScrolledList.py
-lib/python2.2/Tools/idle/SearchBinding.py
-lib/python2.2/Tools/idle/SearchDialog.py
-lib/python2.2/Tools/idle/SearchDialogBase.py
-lib/python2.2/Tools/idle/SearchEngine.py
-lib/python2.2/Tools/idle/Separator.py
-lib/python2.2/Tools/idle/StackViewer.py
-lib/python2.2/Tools/idle/TODO.txt
-lib/python2.2/Tools/idle/ToolTip.py
-lib/python2.2/Tools/idle/TreeWidget.py
-lib/python2.2/Tools/idle/UndoDelegator.py
-lib/python2.2/Tools/idle/WidgetRedirector.py
-lib/python2.2/Tools/idle/WindowList.py
-lib/python2.2/Tools/idle/ZoomHeight.py
-lib/python2.2/Tools/idle/__init__.py
-lib/python2.2/Tools/idle/config-mac.txt
-lib/python2.2/Tools/idle/config-unix.txt
-lib/python2.2/Tools/idle/config-win.txt
-lib/python2.2/Tools/idle/config.txt
-lib/python2.2/Tools/idle/eventparse.py
-lib/python2.2/Tools/idle/extend.txt
-lib/python2.2/Tools/idle/help.txt
-lib/python2.2/Tools/idle/idle
-lib/python2.2/Tools/idle/idle.bat
-lib/python2.2/Tools/idle/idle.py
-lib/python2.2/Tools/idle/idle.pyw
-lib/python2.2/Tools/idle/idlever.py
-lib/python2.2/Tools/idle/keydefs.py
-lib/python2.2/Tools/idle/setup.py
-lib/python2.2/Tools/idle/testcode.py
 lib/python2.2/Tools/modulator/EXAMPLE.py
 lib/python2.2/Tools/modulator/README
 lib/python2.2/Tools/modulator/ScrolledListbox.py
@@ -246,8 +177,6 @@
 @dirrm lib/python2.2/Tools/pynche
 @dirrm lib/python2.2/Tools/modulator/Templates
 @dirrm lib/python2.2/Tools/modulator
-@dirrm lib/python2.2/Tools/idle/Icons
-@dirrm lib/python2.2/Tools/idle
 @dirrm lib/python2.2/Tools/i18n
 @dirrm lib/python2.2/Tools/freeze
 @dirrm lib/python2.2/Tools/faqwiz
@@ -255,4 +184,4 @@
 @dirrm lib/python2.2/Tools/bgen/bgen
 @dirrm lib/python2.2/Tools/bgen
 @dirrm lib/python2.2/Tools/audiopy
-@dirrm lib/python2.2/Tools
+@unexec rmdir %D/lib/python2.2/Tools 2>/dev/null || true
diff python.orig/2.3/Makefile python/2.3/Makefile
--- python.orig/2.3/Makefile	Thu Jan  1 01:00:00 1970
+++ python/2.3/Makefile	Tue Aug 12 00:00:15 2003
@@ -0,0 +1,36 @@
+# $OpenBSD$
+
+VERSION=		2.3
+PATCHLEVEL=		
+PKG_PATCHLEVEL=
+
+COMMENT-bzip2=		"bzip2 module for Python"
+
+FULLPKGNAME-bzip2=	python-bzip2-${VERSION}${PATCHLEVEL}${PKG_PATCHLEVEL}
+
+FLAVORS=		no_bzip2
+FLAVOR?=
+
+MULTI_PACKAGES=
+SUBPACKAGE?=
+
+.if empty(FLAVOR:L:Mno_bzip2)
+BUILD_DEPENDS+=		::archivers/bzip2
+SETUP_LOCAL+=		Setup.bz2
+.  if !defined(NO_SHARED_LIBS) || ${NO_SHARED_LIBS:U} != YES
+MULTI_PACKAGES+= 	-bzip2
+.  else
+LIB_DEPENDS+=		bzip2::archivers/bzip2
+.  endif
+.endif
+
+.if defined(PACKAGING) && ${SUBPACKAGE} == "-bz2"
+LIB_DEPENDS+=		bzip2::archivers/bzip2
+.endif
+
+CONFIGURE_ARGS=		--enable-ipv6
+
+AUTOCONF_VERSION=	2.57
+MODULES=		gettext
+
+.include <bsd.port.mk>
diff python.orig/2.3/distinfo python/2.3/distinfo
--- python.orig/2.3/distinfo	Thu Jan  1 01:00:00 1970
+++ python/2.3/distinfo	Thu Jul 31 21:09:10 2003
@@ -0,0 +1,3 @@
+MD5 (Python-2.3.tgz) = 595620a4769073a812e353597585c4e8
+RMD160 (Python-2.3.tgz) = 32e83b1811a9494391f9182256a9a5fb2271982c
+SHA1 (Python-2.3.tgz) = ce5fbde09be17ea5dddd4baa62d2b90e06e7e5c1
diff python.orig/2.3/files/CHANGES.OpenBSD python/2.3/files/CHANGES.OpenBSD
--- python.orig/2.3/files/CHANGES.OpenBSD	Thu Jan  1 01:00:00 1970
+++ python/2.3/files/CHANGES.OpenBSD	Fri Jun 20 01:10:11 2003
@@ -0,0 +1,21 @@
+As required by item 3 of the PSF license, here is a brief summary
+of changes made to this version of Python for the OpenBSD package.
+
+1.  tempfile.py was patched to not try /usr/tmp as a possible
+    tempfile directory.
+
+2.  libpython is created as a shared library, and the pthread stack
+    size was doubled to support this with complex applications such
+    as Zope.
+
+3.  OpenBSD threads are used for threading support.
+
+4.  The interpreter is called "python2.3", and pydoc "pydoc2.3" in
+    order to support multiple versions of Python coexisting on the
+    same system.  If no "python" binary exists, a symlink to
+    "python2.3" is created when the package is installed.
+
+These changes are available in the OpenBSD CVS repository
+<http://www.openbsd.org/anoncvs.html> in ports/lang/python.
+
+$Id: CHANGES.OpenBSD,v 1.1 2002/05/11 21:35:13 matt Exp $
diff python.orig/2.3/files/Setup python/2.3/files/Setup
--- python.orig/2.3/files/Setup	Thu Jan  1 01:00:00 1970
+++ python/2.3/files/Setup	Thu Jul 31 21:52:39 2003
@@ -0,0 +1,384 @@
+# -*- makefile -*-
+# The file Setup is used by the makesetup script to construct the files
+# Makefile and config.c, from Makefile.pre and config.c.in,
+# respectively.  The file Setup itself is initially copied from
+# Setup.dist; once it exists it will not be overwritten, so you can edit
+# Setup to your heart's content.  Note that Makefile.pre is created
+# from Makefile.pre.in by the toplevel configure script.
+
+# (VPATH notes: Setup and Makefile.pre are in the build directory, as
+# are Makefile and config.c; the *.in and *.dist files are in the source
+# directory.)
+
+# Each line in this file describes one or more optional modules.
+# Modules enabled here will not be compiled by the setup.py script,
+# so the file can be used to override setup.py's behavior.
+
+# Lines have the following structure:
+#
+# <module> ... [<sourcefile> ...] [<cpparg> ...] [<library> ...]
+#
+# <sourcefile> is anything ending in .c (.C, .cc, .c++ are C++ files)
+# <cpparg> is anything starting with -I, -D, -U or -C
+# <library> is anything ending in .a or beginning with -l or -L
+# <module> is anything else but should be a valid Python
+# identifier (letters, digits, underscores, beginning with non-digit)
+#
+# (As the makesetup script changes, it may recognize some other
+# arguments as well, e.g. *.so and *.sl as libraries.  See the big
+# case statement in the makesetup script.)
+#
+# Lines can also have the form
+#
+# <name> = <value>
+#
+# which defines a Make variable definition inserted into Makefile.in
+#
+# Finally, if a line contains just the word "*shared*" (without the
+# quotes but with the stars), then the following modules will not be
+# built statically.  The build process works like this:
+#
+# 1. Build all modules that are declared as static in Modules/Setup,
+#    combine them into libpythonxy.a, combine that into python.
+# 2. Build all modules that are listed as shared in Modules/Setup.
+# 3. Invoke setup.py. That builds all modules that
+#    a) are not builtin, and
+#    b) are not listed in Modules/Setup, and
+#    c) can be build on the target
+#
+# Therefore, modules declared to be shared will not be
+# included in the config.c file, nor in the list of objects to be
+# added to the library archive, and their linker options won't be
+# added to the linker options. Rules to create their .o files and
+# their shared libraries will still be added to the Makefile, and
+# their names will be collected in the Make variable SHAREDMODS.  This
+# is used to build modules as shared libraries.  (They can be
+# installed using "make sharedinstall", which is implied by the
+# toplevel "make install" target.)  (For compatibility,
+# *noconfig* has the same effect as *shared*.)
+#
+# In addition, *static* explicitly declares the following modules to
+# be static.  Lines containing "*static*" and "*shared*" may thus
+# alternate thoughout this file.
+
+# NOTE: As a standard policy, as many modules as can be supported by a
+# platform should be present.  The distribution comes with all modules
+# enabled that are supported by most platforms and don't require you
+# to ftp sources from elsewhere.
+
+
+# Some special rules to define PYTHONPATH.
+# Edit the definitions below to indicate which options you are using.
+# Don't add any whitespace or comments!
+
+# Directories where library files get installed.
+# DESTLIB is for Python modules; MACHDESTLIB for shared libraries.
+DESTLIB=$(LIBDEST)
+MACHDESTLIB=$(BINLIBDEST)
+
+# NOTE: all the paths are now relative to the prefix that is computed
+# at run time!
+
+# Standard path -- don't edit.
+# No leading colon since this is the first entry.
+# Empty since this is now just the runtime prefix.
+DESTPATH=
+
+# Site specific path components -- should begin with : if non-empty
+SITEPATH=
+
+# Standard path components for test modules
+TESTPATH=
+
+# Path components for machine- or system-dependent modules and shared libraries
+MACHDEPPATH=:plat-$(MACHDEP)
+EXTRAMACHDEPPATH=
+
+# Path component for the Tkinter-related modules
+# The TKPATH variable is always enabled, to save you the effort.
+TKPATH=:lib-tk
+
+COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(EXTRAMACHDEPPATH)$(TKPATH)
+PYTHONPATH=$(COREPYTHONPATH)
+
+
+# The modules listed here can't be built as shared libraries for
+# various reasons; therefore they are listed here instead of in the
+# normal order.
+
+# This only contains the minimal set of modules required to run the 
+# setup.py script in the root of the Python source tree.
+
+posix posixmodule.c		# posix (UNIX) system calls
+errno errnomodule.c		# posix (UNIX) errno values
+_sre _sre.c			# Fredrik Lundh's new regular expressions
+_codecs _codecsmodule.c		# access to the builtin codecs and codec registry
+
+# The zipimport module is always imported at startup. Having it as a
+# builtin module avoids some bootstrapping problems and reduces overhead.
+zipimport zipimport.c
+
+# The rest of the modules listed in this file are all commented out by
+# default.  Usually they can be detected and built as dynamically
+# loaded modules by the new setup.py script added in Python 2.1.  If
+# you're on a platform that doesn't support dynamic loading, want to 
+# compile modules statically into the Python binary, or need to 
+# specify some odd set of compiler switches, you can uncomment the 
+# appropriate lines below.
+
+# ======================================================================
+
+# The Python symtable module depends on .h files that setup.py doesn't track
+_symtable symtablemodule.c
+
+# The SGI specific GL module:
+
+GLHACK=-Dclear=__GLclear
+#gl glmodule.c cgensupport.c -I$(srcdir) $(GLHACK) -lgl -lX11
+
+# Pure module.  Cannot be linked dynamically.
+# -DWITH_QUANTIFY, -DWITH_PURIFY, or -DWITH_ALL_PURE
+#WHICH_PURE_PRODUCTS=-DWITH_ALL_PURE
+#PURE_INCLS=-I/usr/local/include
+#PURE_STUBLIBS=-L/usr/local/lib -lpurify_stubs -lquantify_stubs
+#pure puremodule.c $(WHICH_PURE_PRODUCTS) $(PURE_INCLS) $(PURE_STUBLIBS)
+
+# Uncommenting the following line tells makesetup that all following
+# modules are to be built as shared libraries (see above for more
+# detail; also note that *static* reverses this effect):
+
+@NOSHARED@*shared*
+
+# GNU readline.  Unlike previous Python incarnations, GNU readline is
+# now incorporated in an optional module, configured in the Setup file
+# instead of by a configure script switch.  You may have to insert a
+# -L option pointing to the directory where libreadline.* lives,
+# and you may have to change -ltermcap to -ltermlib or perhaps remove
+# it, depending on your system -- see the GNU readline instructions.
+# It's okay for this to be a shared library, too.
+
+readline readline.c -lreadline -ltermcap
+
+
+# Modules that should always be present (non UNIX dependent):
+
+array arraymodule.c	# array objects
+cmath cmathmodule.c # -lm # complex math library functions
+math mathmodule.c # -lm # math library functions, e.g. sin()
+struct structmodule.c	# binary structure packing/unpacking
+time timemodule.c # -lm # time operations and variables
+operator operator.c	# operator.add() and similar goodies
+_weakref _weakref.c	# basic weak reference support
+_testcapi _testcapimodule.c    # Python C API test module
+
+unicodedata unicodedata.c    # static Unicode character database
+
+_locale _localemodule.c -I${LOCALBASE}/include # access to ISO C locale support
+
+
+# Modules with some UNIX dependencies -- on by default:
+# (If you have a really backward UNIX, select and socket may not be
+# supported...)
+
+fcntl fcntlmodule.c	# fcntl(2) and ioctl(2)
+pwd pwdmodule.c		# pwd(3) 
+grp grpmodule.c		# grp(3)
+select selectmodule.c	# select(2); not on ancient System V
+
+# Memory-mapped files (also works on Win32).
+mmap mmapmodule.c
+
+# Dynamic readlines
+xreadlines xreadlinesmodule.c
+
+# CSV file helper
+_csv _csv.c
+
+# Socket module helper for socket(2)
+_socket socketmodule.c
+
+# Socket module helper for SSL support; you must comment out the other
+# socket line above, and possibly edit the SSL variable:
+SSL=/usr
+_ssl _ssl.c \
+	-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
+	-L$(SSL)/lib -lssl -lcrypto
+
+# The crypt module is now disabled by default because it breaks builds
+# on many systems (where -lcrypt is needed), e.g. Linux (I believe).
+#
+# First, look at Setup.config; configure may have set this for you.
+
+crypt cryptmodule.c # -lcrypt	# crypt(3); needs -lcrypt on some systems
+
+
+# Some more UNIX dependent modules -- off by default, since these
+# are not supported by all UNIX systems:
+
+nis nismodule.c # -lnsl	# Sun yellow pages -- not everywhere
+termios termios.c	# Steen Lumholt's termios module
+resource resource.c	# Jeremy Hylton's rlimit interface
+
+
+# Multimedia modules -- off by default.
+# These don't work for 64-bit platforms!!!
+# These represent audio samples or images as strings:
+
+@NO64BIT@audioop audioop.c	# Operations on audio samples
+@NO64BIT@imageop imageop.c	# Operations on images
+@NO64BIT@rgbimg rgbimgmodule.c	# Read SGI RGB image files (but coded portably)
+
+
+# The md5 module implements the RSA Data Security, Inc. MD5
+# Message-Digest Algorithm, described in RFC 1321.  The necessary files
+# md5c.c and md5.h are included here.
+
+md5 md5module.c md5c.c
+
+
+# The sha module implements the SHA checksum algorithm.
+# (NIST's Secure Hash Algorithm.)
+sha shamodule.c
+
+# SGI IRIX specific modules -- off by default.
+
+# These module work on any SGI machine:
+
+# *** gl must be enabled higher up in this file ***
+#fm fmmodule.c $(GLHACK) -lfm -lgl		# Font Manager
+#sgi sgimodule.c			# sgi.nap() and a few more
+
+# This module requires the header file
+# /usr/people/4Dgifts/iristools/include/izoom.h:
+#imgfile imgfile.c -limage -lgutil -lgl -lm	# Image Processing Utilities
+
+
+# These modules require the Multimedia Development Option (I think):
+
+#al almodule.c -laudio			# Audio Library
+#cd cdmodule.c -lcdaudio -lds -lmediad	# CD Audio Library
+#cl clmodule.c -lcl -lawareaudio	# Compression Library
+#sv svmodule.c yuvconvert.c -lsvideo -lXext -lX11	# Starter Video
+
+
+# The FORMS library, by Mark Overmars, implements user interface
+# components such as dialogs and buttons using SGI's GL and FM
+# libraries.  You must ftp the FORMS library separately from
+# ftp://ftp.cs.ruu.nl/pub/SGI/FORMS.  It was tested with FORMS 2.2a.
+# NOTE: if you want to be able to use FORMS and curses simultaneously
+# (or both link them statically into the same binary), you must
+# compile all of FORMS with the cc option "-Dclear=__GLclear".
+
+# The FORMS variable must point to the FORMS subdirectory of the forms
+# toplevel directory:
+
+#FORMS=/ufs/guido/src/forms/FORMS
+#fl flmodule.c -I$(FORMS) $(GLHACK) $(FORMS)/libforms.a -lfm -lgl
+
+
+# SunOS specific modules -- off by default:
+
+#sunaudiodev sunaudiodev.c
+
+
+# A Linux specific module -- off by default; this may also work on 
+# some *BSDs.
+
+#linuxaudiodev linuxaudiodev.c
+
+
+# George Neville-Neil's timing module:
+
+timing timingmodule.c
+
+# Lance Ellinghaus's modules:
+
+rotor rotormodule.c		# enigma-inspired encryption
+syslog syslogmodule.c		# syslog daemon interface
+
+
+# Curses support, requring the System V version of curses, often
+# provided by the ncurses library.  e.g. on Linux, link with -lncurses
+# instead of -lcurses; on SunOS 4.1.3, insert -I/usr/5include
+# -L/usr/5lib before -lcurses).
+#
+# First, look at Setup.config; configure may have set this for you.
+
+_curses _cursesmodule.c -lcurses -ltermcap
+# Wrapper for the panel library that's part of ncurses and SYSV curses.
+_curses_panel _curses_panel.c -lpanel -lncurses 
+
+
+# Generic (SunOS / SVR4) dynamic loading module.
+# This is not needed for dynamic loading of Python modules --
+# it is a highly experimental and dangerous device for calling
+# *arbitrary* C functions in *arbitrary* shared libraries:
+
+#dl dlmodule.c
+
+
+# Modules that provide persistent dictionary-like semantics.  You will
+# probably want to arrange for at least one of them to be available on
+# your machine, though none are defined by default because of library
+# dependencies.  The Python module anydbm.py provides an
+# implementation independent wrapper for these; dumbdbm.py provides
+# similar functionality (but slower of course) implemented in Python.
+
+# The standard Unix dbm module has been moved to Setup.config so that
+# it will be compiled as a shared library by default.  Compiling it as
+# a built-in module causes conflicts with the pybsddb3 module since it
+# creates a static dependency on an out-of-date version of db.so.
+#
+# First, look at Setup.config; configure may have set this for you.
+
+dbm dbmmodule.c -DHAVE_NDBM_H 	# dbm(3) may require -lndbm or similar
+
+
+# Historical Berkeley DB 1.85
+#
+# This module is deprecated; the 1.85 version of the Berkeley DB library has
+# bugs that can cause data corruption. If you can, use later versions of the
+# library instead, available from <http://www.sleepycat.com/>.
+
+#DB=/depot/sundry/src/berkeley-db/db.1.85
+#DBPORT=$(DB)/PORT/irix.5.3
+#bsddb185 bsddbmodule.c -I$(DBPORT)/include -I$(DBPORT) $(DBPORT)/libdb.a
+
+# Helper module for various ascii-encoders
+binascii binascii.c
+
+# Fred Drake's interface to the Python parser
+parser parsermodule.c
+
+# cStringIO and cPickle
+cStringIO cStringIO.c
+cPickle cPickle.c
+
+
+# Lee Busby's SIGFPE modules.
+# The library to link fpectl with is platform specific.
+# Choose *one* of the options below for fpectl:
+
+# For SGI IRIX (tested on 5.3):
+#fpectl fpectlmodule.c -lfpe
+
+# For Solaris with SunPro compiler (tested on Solaris 2.5 with SunPro C 4.2):
+# (Without the compiler you don't have -lsunmath.)
+#fpectl fpectlmodule.c -R/opt/SUNWspro/lib -lsunmath -lm
+
+# For other systems: see instructions in fpectlmodule.c.
+fpectl fpectlmodule.c
+
+# Test module for fpectl.  No extra libraries needed.
+fpetest fpetestmodule.c
+
+# Andrew Kuchling's zlib module.
+# This require zlib 1.1.3 (or later).
+# See http://www.cdrom.com/pub/infozip/zlib/
+zlib zlibmodule.c -lz
+
+# Example -- included for reference only:
+# xx xxmodule.c
+
+# Another example -- the 'xxsubtype' module shows C-level subtyping in action
+xxsubtype xxsubtype.c
diff python.orig/2.3/files/Setup.bsddb python/2.3/files/Setup.bsddb
--- python.orig/2.3/files/Setup.bsddb	Thu Jan  1 01:00:00 1970
+++ python/2.3/files/Setup.bsddb	Fri Jun 20 01:05:54 2003
@@ -0,0 +1,19 @@
+@NOSHARED@*shared*
+
+# Sleepycat Berkeley DB interface.
+#
+# This requires the Sleepycat DB code, see http://www.sleepycat.com/
+# The earliest supported version of that library is 3.0, the latest
+# supported version is 4.0 (4.1 is specifically not supported, as that
+# changes the semantics of transactional databases). A list of available
+# releases can be found at
+#
+# http://www.sleepycat.com/update/index.html
+#
+# Edit the variables DB and DBLIBVERto point to the db top directory
+# and the subdirectory of PORT where you built it.
+#DB=/usr/local/BerkeleyDB.4.0
+#DBLIBVER=4.0
+#DBINC=$(DB)/include
+#DBLIB=$(DB)/lib
+_bsddb _bsddb.c -I${LOCALBASE}/include -L${LOCALBASE}/lib -ldb
diff python.orig/2.3/files/Setup.bz2 python/2.3/files/Setup.bz2
--- python.orig/2.3/files/Setup.bz2	Thu Jan  1 01:00:00 1970
+++ python/2.3/files/Setup.bz2	Fri Jun 20 20:23:04 2003
@@ -0,0 +1,3 @@
+@NOSHARED@*shared*
+
+bz2 bz2module.c -I${LOCALBASE}/include -L${LOCALBASE}/lib/ -lbz2
diff python.orig/2.3/files/Setup.expat python/2.3/files/Setup.expat
--- python.orig/2.3/files/Setup.expat	Thu Jan  1 01:00:00 1970
+++ python/2.3/files/Setup.expat	Fri Jun 20 13:04:43 2003
@@ -0,0 +1,15 @@
+@NOSHARED@*shared*
+
+# Interface to the Expat XML parser
+#
+# Expat was written by James Clark and is now maintained by a group of
+# developers on SourceForge; see www.libexpat.org for more
+# information.  The pyexpat module was written by Paul Prescod after a
+# prototype by Jack Jansen.  Source of Expat 1.95.2 is included in
+# Modules/expat/.  Usage of a system shared libexpat.so/expat.dll is
+# not advised.
+#
+# More information on Expat can be found at www.libexpat.org.
+#
+#EXPAT_DIR=/usr/local/src/expat-1.95.2
+pyexpat pyexpat.c -DHAVE_EXPAT_H -I${LOCALBASE}/include -L${LOCALBASE}/lib -lexpat
diff python.orig/2.3/files/Setup.gdbm python/2.3/files/Setup.gdbm
--- python.orig/2.3/files/Setup.gdbm	Thu Jan  1 01:00:00 1970
+++ python/2.3/files/Setup.gdbm	Fri Jun 20 01:06:59 2003
@@ -0,0 +1,7 @@
+@NOSHARED@*shared*
+
+# Anthony Baxter's gdbm module.  GNU dbm(3) will require -lgdbm:
+#
+# First, look at Setup.config; configure may have set this for you.
+
+gdbm gdbmmodule.c -I${LOCALBASE}/include -L${LOCALBASE}/lib -lgdbm
diff python.orig/2.3/files/Setup.mpz python/2.3/files/Setup.mpz
--- python.orig/2.3/files/Setup.mpz	Thu Jan  1 01:00:00 1970
+++ python/2.3/files/Setup.mpz	Fri Jun 20 13:01:32 2003
@@ -0,0 +1,16 @@
+@NOSHARED@*shared*
+
+# The mpz module interfaces to the GNU Multiple Precision library.
+# You need to ftp the GNU MP library.  
+# The GMP variable must point to the GMP source directory.
+# This was originally written and tested against GMP 1.2 and 1.3.2.
+# It has been modified by Rob Hooft to work with 2.0.2 as well, but I
+# haven't tested it recently.
+
+# A compatible MP library unencombered by the GPL also exists.  It was
+# posted to comp.sources.misc in volume 40 and is widely available from
+# FTP archive sites. One URL for it is:
+# ftp://gatekeeper.dec.com/.b/usenet/comp.sources.misc/volume40/fgmp/part01.Z
+
+#GMP=/ufs/guido/src/gmp
+mpz mpzmodule.c -I${LOCALBASE}/include -L${LOCALBASE}/lib/ -lgmp
diff python.orig/2.3/files/Setup.tkinter python/2.3/files/Setup.tkinter
--- python.orig/2.3/files/Setup.tkinter	Thu Jan  1 01:00:00 1970
+++ python/2.3/files/Setup.tkinter	Fri Jun 20 12:17:14 2003
@@ -0,0 +1,49 @@
+@NOSHARED@*shared*
+
+# The _tkinter module.
+#
+# The command for _tkinter is long and site specific.  Please
+# uncomment and/or edit those parts as indicated.  If you don't have a
+# specific extension (e.g. Tix or BLT), leave the corresponding line
+# commented out.  (Leave the trailing backslashes in!  If you
+# experience strange errors, you may want to join all uncommented
+# lines and remove the backslashes -- the backslash interpretation is
+# done by the shell's "read" command and it may not be implemented on
+# every system.
+
+# Path component for the Tkinter-related modules
+# The TKPATH variable is always enabled, to save you the effort.
+TKPATH=:lib-tk
+
+# *** Always uncomment this (leave the leading underscore in!):
+_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
+# *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
+	-L${LOCALBASE}/lib \
+# *** Uncomment and edit to reflect where your Tcl/Tk headers are:
+	-I${LOCALBASE}/include/tcl8.3 \
+	-I${LOCALBASE}/include/tk8.3 \
+# *** Uncomment and edit to reflect where your X11 header files are:
+	-I${X11BASE}/include \
+# *** Or uncomment this for Solaris:
+#	-I/usr/openwin/include \
+# *** Uncomment and edit for Tix extension only:
+#	-DWITH_TIX -ltix8.1.8.2 \
+# *** Uncomment and edit for BLT extension only:
+#	-DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \
+# *** Uncomment and edit for PIL (TkImaging) extension only:
+#     (See http://www.pythonware.com/products/pil/ for more info)
+#	-DWITH_PIL -I../Extensions/Imaging/libImaging  tkImaging.c \
+# *** Uncomment and edit for TOGL extension only:
+#	-DWITH_TOGL togl.c \
+# *** Uncomment and edit to reflect your Tcl/Tk versions:
+	-ltk83 -ltcl83 \
+# *** Uncomment and edit to reflect where your X11 libraries are:
+	-L${X11BASE}/lib \
+# *** Or uncomment this for Solaris:
+#	-L/usr/openwin/lib \
+# *** Uncomment these for TOGL extension only:
+#	-lGL -lGLU -lXext -lXmu \
+# *** Uncomment for AIX:
+#	-lld \
+# *** Always uncomment this; X11 libraries to link with:
+	-lX11
diff python.orig/2.3/files/idle python/2.3/files/idle
--- python.orig/2.3/files/idle	Thu Jan  1 01:00:00 1970
+++ python/2.3/files/idle	Mon Aug 11 20:25:05 2003
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/bin/env python@VERSION@ @LOCALBASE@/lib/python@VERSION@/idlelib/idle.py
diff python.orig/2.3/patches/patch-Lib_tempfile_py python/2.3/patches/patch-Lib_tempfile_py
--- python.orig/2.3/patches/patch-Lib_tempfile_py	Thu Jan  1 01:00:00 1970
+++ python/2.3/patches/patch-Lib_tempfile_py	Sun Jul 20 18:59:51 2003
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- Lib/tempfile.py.orig	Fri Mar 21 13:55:10 2003
++++ Lib/tempfile.py	Sun Jul 20 17:37:32 2003
+@@ -136,7 +136,7 @@ def _candidate_tempdir_list():
+     elif _os.name == 'nt':
+         dirlist.extend([ r'c:\temp', r'c:\tmp', r'\temp', r'\tmp' ])
+     else:
+-        dirlist.extend([ '/tmp', '/var/tmp', '/usr/tmp' ])
++        dirlist.extend([ '/tmp', '/var/tmp' ])
+ 
+     # As a last resort, the current directory.
+     try:
diff python.orig/2.3/patches/patch-Makefile_pre_in python/2.3/patches/patch-Makefile_pre_in
--- python.orig/2.3/patches/patch-Makefile_pre_in	Thu Jan  1 01:00:00 1970
+++ python/2.3/patches/patch-Makefile_pre_in	Sun Jul 20 18:59:51 2003
@@ -0,0 +1,68 @@
+$OpenBSD$
+--- Makefile.pre.in.orig	Sun Jul 13 12:10:42 2003
++++ Makefile.pre.in	Sun Jul 20 18:40:57 2003
+@@ -305,7 +305,7 @@ all:		$(BUILDPYTHON) oldsharedmods share
+ $(BUILDPYTHON):	Modules/$(MAINOBJ) $(LIBRARY) $(LDLIBRARY)
+ 		$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
+ 			Modules/$(MAINOBJ) \
+-			$(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
++			-lpython$(VERSION) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+ 
+ platform: $(BUILDPYTHON)
+ 	$(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
+@@ -354,6 +354,11 @@ libpython$(VERSION).so: $(LIBRARY_OBJS)
+ libpython$(VERSION).sl: $(LIBRARY_OBJS)
+ 	$(LDSHARED) -o $@ $(LIBRARY_OBJS) $(LIBC) $(LIBM)
+ 
++# This rule for OpenBSD...
++libpython$(VERSION).so.$(MAJOR).$(MINOR):      $(LIBRARY)
++	$(LDSHARED) -o $@ $(LIBRARY_OBJS)
++
++
+ # This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary
+ # minimal framework (not including the Lib directory and such) in the current
+ # directory.
+@@ -580,11 +585,6 @@ $(DESTSHARED):
+ 
+ # Install the interpreter (by creating a hard link to python$(VERSION))
+ bininstall:	altbininstall
+-	-if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \
+-	then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
+-	else true; \
+-	fi
+-	(cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON))
+ 
+ # Install the interpreter with $(VERSION) affixed
+ # This goes into $(exec_prefix)
+@@ -595,7 +595,7 @@ altbininstall:	$(BUILDPYTHON)
+ 			exit 1; \
+ 		fi; \
+ 	fi
+-	@for i in $(BINDIR) $(LIBDIR); \
++	@for i in $(BINDIR) $(LIBDIR) $(LIBPL); \
+ 	do \
+ 		if test ! -d $(DESTDIR)$$i; then \
+ 			echo "Creating directory $$i"; \
+@@ -604,11 +604,11 @@ altbininstall:	$(BUILDPYTHON)
+ 		fi; \
+ 	done
+ 	$(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE)
+-	if test -f libpython$(VERSION)$(SO); then \
++	if test -f libpython$(VERSION)$(SO).$(MAJOR).$(MINOR); then \
+ 		if test "$(SO)" = .dll; then \
+ 			$(INSTALL_SHARED) libpython$(VERSION)$(SO) $(DESTDIR)$(BINDIR); \
+ 		else \
+-			$(INSTALL_SHARED) libpython$(VERSION)$(SO) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
++			$(INSTALL_SHARED) libpython$(VERSION)$(SO).$(MAJOR).$(MINOR) $(DESTDIR)$(LIBPL)/libpython$(VERSION)$(SO).$(MAJOR).$(MINOR); \
+ 		fi; \
+ 	else	true; \
+ 	fi
+@@ -624,7 +624,7 @@ maninstall:
+ 		fi; \
+ 	done
+ 	$(INSTALL_DATA) $(srcdir)/Misc/python.man \
+-		$(DESTDIR)$(MANDIR)/man1/python.1
++		$(DESTDIR)$(MANDIR)/man1/python2.3.1
+ 
+ # Install the library
+ PLATDIR=	plat-$(MACHDEP)
diff python.orig/2.3/patches/patch-Modules__bsddb_c python/2.3/patches/patch-Modules__bsddb_c
--- python.orig/2.3/patches/patch-Modules__bsddb_c	Thu Jan  1 01:00:00 1970
+++ python/2.3/patches/patch-Modules__bsddb_c	Sun Jul 20 18:59:51 2003
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- Modules/_bsddb.c.orig	Tue Jul 15 21:12:54 2003
++++ Modules/_bsddb.c	Sun Jul 20 17:37:33 2003
+@@ -85,7 +85,7 @@
+ /* --------------------------------------------------------------------- */
+ 
+ #include <Python.h>
+-#include <db.h>
++#include <db3.h>
+ 
+ /* --------------------------------------------------------------------- */
+ /* Various macro definitions */
diff python.orig/2.3/patches/patch-Tools_scripts_pydoc python/2.3/patches/patch-Tools_scripts_pydoc
--- python.orig/2.3/patches/patch-Tools_scripts_pydoc	Thu Jan  1 01:00:00 1970
+++ python/2.3/patches/patch-Tools_scripts_pydoc	Sun Jul 20 18:59:51 2003
@@ -0,0 +1,9 @@
+$OpenBSD$
+--- Tools/scripts/pydoc.orig	Thu Mar  1 01:25:40 2001
++++ Tools/scripts/pydoc	Sun Jul 20 17:37:33 2003
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2.3
+ 
+ import pydoc
+ pydoc.cli()
diff python.orig/2.3/patches/patch-configure_in python/2.3/patches/patch-configure_in
--- python.orig/2.3/patches/patch-configure_in	Thu Jan  1 01:00:00 1970
+++ python/2.3/patches/patch-configure_in	Sun Jul 20 18:59:52 2003
@@ -0,0 +1,30 @@
+$OpenBSD$
+--- configure.in.orig	Sun Jul 13 11:46:13 2003
++++ configure.in	Sun Jul 20 17:37:33 2003
+@@ -1269,13 +1269,14 @@ then
+ 	Linux*|GNU*) LDSHARED='$(CC) -shared';;
+ 	dgux*) LDSHARED="ld -G";;
+ 	BSD/OS*/4*) LDSHARED="gcc -shared";;
+-	OpenBSD*|FreeBSD*)
++	FreeBSD*)
+ 		if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
+ 		then
+ 			LDSHARED="cc -shared ${LDFLAGS}"
+ 		else
+ 			LDSHARED="ld -Bshareable ${LDFLAGS}"
+ 		fi;;
++	OpenBSD*) LDSHARED="${CC} -shared ${LDFLAGS}";;
+ 	NetBSD*) LDSHARED="cc -shared ${LDFLAGS}";;
+ 	OpenUNIX*|UnixWare*)
+ 		if test "$GCC" = "yes"
+@@ -1592,8 +1593,8 @@ yes
+     # on HP/UX, pthread.h renames pthread_create to a different symbol name.
+     # So we really have to include pthread.h, and then link.
+     _libs=$LIBS
+-    LIBS="$LIBS -lpthread"
+-    AC_MSG_CHECKING([for pthread_create in -lpthread])
++    LIBS="$LIBS -pthread"
++    AC_MSG_CHECKING([for pthread_create in -pthread])
+     AC_TRY_LINK([#include <pthread.h>
+ 
+ void * start_routine (void *arg) { exit (0); }], [
diff python.orig/2.3/patches/patch-setup_py python/2.3/patches/patch-setup_py
--- python.orig/2.3/patches/patch-setup_py	Thu Jan  1 01:00:00 1970
+++ python/2.3/patches/patch-setup_py	Sun Jul 20 19:00:10 2003
@@ -0,0 +1,25 @@
+$OpenBSD$
+--- setup.py.orig	Thu Jul 10 14:48:39 2003
++++ setup.py	Sun Jul 20 17:37:33 2003
+@@ -710,9 +710,9 @@ class PyBuildExt(build_ext):
+                                            libraries = ['z']) )
+ 
+         # Gustavo Niemeyer's bz2 module.
+-        if (self.compiler.find_library_file(lib_dirs, 'bz2')):
+-            exts.append( Extension('bz2', ['bz2module.c'],
+-                                   libraries = ['bz2']) )
++        # if (self.compiler.find_library_file(lib_dirs, 'bz2')):
++        #     exts.append( Extension('bz2', ['bz2module.c'],
++        #                            libraries = ['bz2']) )
+ 
+         # Interface to the Expat XML parser
+         #
+@@ -1128,7 +1128,7 @@ def main():
+           ext_modules=[Extension('struct', ['structmodule.c'])],
+ 
+           # Scripts to install
+-          scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle']
++          scripts = []
+         )
+ 
+ # --install-platlib
diff python.orig/2.3/pkg/DEINSTALL python/2.3/pkg/DEINSTALL
--- python.orig/2.3/pkg/DEINSTALL	Thu Jan  1 01:00:00 1970
+++ python/2.3/pkg/DEINSTALL	Mon Aug 11 19:26:22 2003
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# $OpenBSD$
+#
+# Clean up python symlink, if it was ours.
+#
+
+set -e
+PATH=/bin
+PREFIX=${PKG_PREFIX:-/usr/local}
+
+if [ ${PREFIX}/bin/python -ef ${PREFIX}/bin/python2.3 ]
+then
+	rm -f ${PREFIX}/bin/python
+fi
+
diff python.orig/2.3/pkg/DEINSTALL-idle python/2.3/pkg/DEINSTALL-idle
--- python.orig/2.3/pkg/DEINSTALL-idle	Thu Jan  1 01:00:00 1970
+++ python/2.3/pkg/DEINSTALL-idle	Mon Aug 11 19:26:26 2003
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# $OpenBSD$
+#
+# Clean up python symlink, if it was ours.
+#
+
+set -e
+PATH=/bin
+PREFIX=${PKG_PREFIX:-/usr/local}
+
+if [ ${PREFIX}/bin/idle -ef ${PREFIX}/bin/idle2.3 ]
+then
+	rm -f ${PREFIX}/bin/idle
+fi
+
diff python.orig/2.3/pkg/DESCR python/2.3/pkg/DESCR
--- python.orig/2.3/pkg/DESCR	Thu Jan  1 01:00:00 1970
+++ python/2.3/pkg/DESCR	Mon Aug 11 19:27:28 2003
@@ -0,0 +1,24 @@
+Python is an interpreted, interactive, object-oriented
+programming language that combines remarkable power with
+very clear syntax. For an introduction to programming in
+Python you are referred to the Python Tutorial. The Python
+Library Reference documents built-in and standard types,
+constants, functions and modules. Finally, the Python
+Reference Manual describes the syntax and semantics of the
+core language in (perhaps too) much detail.
+
+Python's basic power can be extended with your own modules
+written in C or C++.  On most systems such modules may be
+dynamically loaded. Python is also adaptable as an
+extension language for existing applications. See the
+internal documentation for hints.
+
+Flavors:
+	no_bsddb   - do not build bsdb package
+	no_expat   - do not build expat package
+   no_gdbm    - do not build gdbm package
+   no_idle    - do not build idle package
+   no_mpz     - do not build mpz package
+   no_tests   - do not build tests package
+	no_tkinter - do not build tkinter package
+	no_tools   - do not build tools package
diff python.orig/2.3/pkg/DESCR-bsddb python/2.3/pkg/DESCR-bsddb
--- python.orig/2.3/pkg/DESCR-bsddb	Thu Jan  1 01:00:00 1970
+++ python/2.3/pkg/DESCR-bsddb	Mon Aug 11 19:27:28 2003
@@ -0,0 +1,15 @@
+Python is an interpreted, interactive, object-oriented programming
+language that combines remarkable power with very clear syntax. For
+an introduction to programming in Python you are referred to the
+Python Tutorial. The Python Library Reference documents built-in
+and standard types, constants, functions and modules. Finally, the
+Python Reference Manual describes the syntax and semantics of the
+core language in (perhaps too) much detail.
+
+Python's basic power can be extended with your own modules written
+in C or C++.  On most systems such modules may be dynamically loaded.
+Python is also adaptable as an extension language for existing
+applications. See the internal documentation for hints.
+
+This package contains the bsddb, for using the Berkeley DB library in
+Python.
diff python.orig/2.3/pkg/DESCR-bzip2 python/2.3/pkg/DESCR-bzip2
--- python.orig/2.3/pkg/DESCR-bzip2	Thu Jan  1 01:00:00 1970
+++ python/2.3/pkg/DESCR-bzip2	Mon Aug 11 19:27:42 2003
@@ -0,0 +1,14 @@
+Python is an interpreted, interactive, object-oriented programming
+language that combines remarkable power with very clear syntax. For
+an introduction to programming in Python you are referred to the
+Python Tutorial. The Python Library Reference documents built-in
+and standard types, constants, functions and modules. Finally, the
+Python Reference Manual describes the syntax and semantics of the
+core language in (perhaps too) much detail.
+
+Python's basic power can be extended with your own modules written
+in C or C++.  On most systems such modules may be dynamically loaded.
+Python is also adaptable as an extension language for existing
+applications. See the internal documentation for hints.
+
+This package contains python bipz2 library interface.
diff python.orig/2.3/pkg/DESCR-db python/2.3/pkg/DESCR-db
--- python.orig/2.3/pkg/DESCR-db	Thu Jan  1 01:00:00 1970
+++ python/2.3/pkg/DESCR-db	Mon Feb 10 22:25:24 2003
@@ -0,0 +1,16 @@
+Python is an interpreted, interactive, object-oriented programming
+language that combines remarkable power with very clear syntax. For
+an introduction to programming in Python you are referred to the
+Python Tutorial. The Python Library Reference documents built-in
+and standard types, constants, functions and modules. Finally, the
+Python Reference Manual describes the syntax and semantics of the
+core language in (perhaps too) much detail.
+
+Python's basic power can be extended with your own modules written
+in C or C++.  On most systems such modules may be dynamically loaded.
+Python is also adaptable as an extension language for existing
+applications. See the internal documentation for hints.
+
+This package contains the Berkeley db module.
+
+WWW: ${HOMEPAGE}
diff python.orig/2.3/pkg/DESCR-expat python/2.3/pkg/DESCR-expat
--- python.orig/2.3/pkg/DESCR-expat	Thu Jan  1 01:00:00 1970
+++ python/2.3/pkg/DESCR-expat	Mon Aug 11 19:27:28 2003
@@ -0,0 +1,14 @@
+Python is an interpreted, interactive, object-oriented programming
+language t