From owner-svn-ports-head@FreeBSD.ORG Sat Aug 2 06:54:21 2014 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E7DEEE09; Sat, 2 Aug 2014 06:54:21 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D49722490; Sat, 2 Aug 2014 06:54:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s726sL1T086104; Sat, 2 Aug 2014 06:54:21 GMT (envelope-from mva@svn.freebsd.org) Received: (from mva@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id s726sK0m086096; Sat, 2 Aug 2014 06:54:20 GMT (envelope-from mva@svn.freebsd.org) Message-Id: <201408020654.s726sK0m086096@svn.freebsd.org> From: Marcus von Appen Date: Sat, 2 Aug 2014 06:54:20 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r363790 - in head/lang/python27: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Aug 2014 06:54:22 -0000 Author: mva Date: Sat Aug 2 06:54:20 2014 New Revision: 363790 URL: http://svnweb.freebsd.org/changeset/ports/363790 QAT: https://qat.redports.org/buildarchive/r363790/ Log: - Remove everything related to USE_PYTHON and bsd.python.mk. This is a preparatory step to convert bsd.python.mk into a USES file. - Remove the shared/static build separation, which is the source of many problems and even more hacks. Instead build only the shared version, which greatly simplifies the build. - Remove the FPECTL option to align the build with the clean "template" from lang/python34. - Remove support for GNU pthreads via the PTH option. It is a permanent troublemaker for ports using Python and pthread support. - Remove PORTDATA and EXAMPLES. Those will be made available via separate ports. - Add a new DEBUG option to enable debug builds as for lang/python34. - Remove bin/smtpd. Only Python2.7 wants to install it, but we'd like to keep it consistent with the other lang/pythonXX ports - Add CPE support. - Reactivate curses/ncurses support. - Use buildbottest in the regression-test: target. - Move pkg-message to the right place. Phabric: D488 Exp-run: 192242, 192244 Reviewed by: koobs With hat: python@ Added: head/lang/python27/files/patch-Lib_distutils_command_build_scripts.py (contents, props changed) head/lang/python27/pkg-message - copied unchanged from r363787, head/lang/python27/files/pkg-message Deleted: head/lang/python27/files/pkg-message Modified: head/lang/python27/Makefile head/lang/python27/files/extra-patch-setup.py head/lang/python27/files/patch-Makefile.pre.in head/lang/python27/files/patch-setup.py head/lang/python27/pkg-plist Modified: head/lang/python27/Makefile ============================================================================== --- head/lang/python27/Makefile Sat Aug 2 06:40:00 2014 (r363789) +++ head/lang/python27/Makefile Sat Aug 2 06:54:20 2014 (r363790) @@ -1,12 +1,12 @@ -# Created by: Hye-Shik Chang # $FreeBSD$ PORTNAME= python27 PORTVERSION= 2.7.8 +PORTREVISION= 1 CATEGORIES= lang python ipv6 MASTER_SITES= PYTHON -MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR} -DISTNAME= ${PYTHON_DISTNAME} +MASTER_SITE_SUBDIR= ftp/python/${PORTVERSION} +DISTNAME= Python-${PORTVERSION} DIST_SUBDIR= python MAINTAINER= python@FreeBSD.org @@ -14,56 +14,39 @@ COMMENT= Interpreted object-oriented pro LICENSE= PSFL -GNU_CONFIGURE= yes -CONFIGURE_SCRIPT= ../configure # must be relative -CONFIGURE_ENV= SVNVERSION="echo freebsd" ac_cv_opt_olimit_ok=no -MAKE_ENV= VPATH="${PYTHON_WRKSRC}" - -INSTALL_TARGET= altinstall - -USES= readline tar:xz cpe +USES= cpe ncurses pkgconfig readline tar:xz USE_LDCONFIG= yes -USE_PYTHON= yes +GNU_CONFIGURE= yes CPE_VENDOR= python CPE_PRODUCT= ${CPE_VENDOR} CPE_VERSION= ${PORTVERSION} -PYTHON_VERSION= python2.7 -PYTHON_NO_DEPENDS= yes - -WRKSRC= ${PYTHON_WRKSRC}/portbld.static -SHARED_WRKSRC= ${PYTHON_WRKSRC}/portbld.shared -PATCH_WRKSRC= ${PYTHON_WRKSRC} - -PLIST= ${WRKDIR}/PLIST -PLIST_TEMPLATE?=${PKGDIR}/pkg-plist -PLIST_SUB= PYVER=${PYTHON_VERSION:S/python//} \ - PYMAJOR=${PYTHON_MAJOR_VER} \ - PYVER_WITHPAT=${PORTVERSION:S/.c/c/} \ - PORTVERSION=${PORTVERSION} -EXAMPLESDIR= ${PREFIX}/share/examples/${PYTHON_VERSION} -DATADIR= ${PREFIX}/share/${PYTHON_VERSION} - -BIN_SCRIPTS= 2to3 idle pydoc smtpd.py -BIN_FILES= python python-shared python-config python-shared-config \ - ${BIN_SCRIPTS} -BINLINKS_SUB_TMPL= -e 's,smtpd,smtpd%%VERSION%%,' \ - -e 's,2to3,2to3-%%VERSION%%,' \ - -e 's,(idle|pydoc|python-shared|python),\1%%VERSION%%,' -BINLINKS_SUB_PYTHON_VER= ${BINLINKS_SUB_TMPL:S/%%VERSION%%/${PYTHON_VER}/g} +CONFIGURE_ARGS+= --enable-shared +CONFIGURE_ENV+= OPT="" # Null out OPT to respect user CFLAGS and remove optimizations -OPTIONS_DEFINE= EXAMPLES FPECTL IPV6 NLS PTH PYMALLOC SEM THREADS -OPTIONS_DEFAULT= IPV6 PYMALLOC SEM THREADS UCS4 +INSTALL_TARGET= altinstall # Don't want cloberring of unprefixed files +SHAREMODE= 644 # Match upstream INSTALL_DATA=644, so we can STRIP shared libraries +MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Override read-only for libraries, so we can STRIP them +MAKE_ARGS+= LIBPC="${PREFIX}/libdata/pkgconfig" # Until pathfix gets support for files other than Makefile.in + +PLIST_SUB= ABI=${ABIFLAGS} \ + PORTVERSION=${PORTVERSION} \ + OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. http://bugs.python.org/issue19554 +OPTIONS_DEFINE= DEBUG IPV6 NLS PYMALLOC SEM THREADS +OPTIONS_DEFAULT= IPV6 NLS PYMALLOC SEM THREADS UCS4 OPTIONS_SINGLE= UNICODE OPTIONS_SINGLE_UNICODE= UCS2 UCS4 -NLS_DESC= Enable Gettext support for the locale module +OPTIONS_SUB= yes + +NLS_DESC= Enable gettext support for the locale module UCS2_DESC= Enable UCS2 Unicode Strings UCS4_DESC= Enable UCS4 Unicode Strings +PYMALLOC_DESC= Enable specialized mallocs -FPECTL_CONFIGURE_ON= --with-fpectl +DEBUG_CONFIGURE_WITH= pydebug IPV6_CONFIGURE_ENABLE= ipv6 # Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat @@ -79,32 +62,15 @@ PYMALLOC_CONFIGURE_WITH= pymalloc SEM_CONFIGURE_ENV= ac_cv_posix_semaphores_enabled=yes SEM_CONFIGURE_ENV_OFF= ac_cv_posix_semaphores_enabled=no +THREADS_CONFIGURE_WITH= threads +THREADS_CFLAGS= ${PTHREAD_CFLAGS} +THREADS_LDFLAGS= ${PTHREAD_LIBS} + UCS2_CONFIGURE_ON= --enable-unicode=ucs2 UCS4_CONFIGURE_ON= --enable-unicode=ucs4 .include -.if ${PORT_OPTIONS:MTHREADS} -PLIST_SUB+= THREADS="" -.if ${PORT_OPTIONS:MPTH} -CONFIGURE_ARGS+= --with-pth --with-system-ffi -CONFIGURE_ENV+= ac_cv_pthread=no -LIB_DEPENDS+= libpth.so:${PORTSDIR}/devel/pth \ - libffi.so:${PORTSDIR}/devel/libffi -_PTH_CPPFLAGS= "-I${LOCALBASE}/include/pth" -_PTH_LDFLAGS= "-L${LOCALBASE}/lib/pth" -CPPFLAGS:= ${_PTH_CPPFLAGS} ${CPPFLAGS} -LDFLAGS+= ${_PTH_LDFLAGS} -.else -CONFIGURE_ARGS+= --with-threads -CFLAGS+= ${PTHREAD_CFLAGS} -LDFLAGS+= ${PTHREAD_LIBS} -.endif -.else -PLIST_SUB+= THREADS="@comment " -CONFIGURE_ARGS+= --without-threads -.endif - .if ${ARCH} == i386 PLIST_SUB+= X86_ONLY="" .else @@ -125,124 +91,28 @@ CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMI # See http://bugs.freebsd.org/115940 .if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS) # the world with NO_NIS PLIST_SUB+= NO_NIS="@comment " -WITHOUT_NIS?= detected .else PLIST_SUB+= NO_NIS="" .endif -CONFIGURE_ENV+= OPT="${_PTH_CPPFLAGS}" - -post-extract: -# The distribution tarball for python 2.7 has permission bits for 'others' -# set to 0. Later during install, we copy Tools and Demo to the installed -# prefix, so set them right here. - ${CHMOD} -R og=u-w ${PYTHON_WRKSRC}/Tools ${PYTHON_WRKSRC}/Demo - -pre-patch: - ${MKDIR} ${WRKSRC} ${SHARED_WRKSRC}/Modules - ${LN} ${PATCH_WRKSRC}/Lib/smtpd.py ${PATCH_WRKSRC}/Tools/scripts/ -.for script in ${BIN_SCRIPTS} - ${SED} -e '1s,^.*$$,#!${PREFIX}/bin/${PYTHON_VERSION},' \ - ${PATCH_WRKSRC}/Tools/scripts/${script} \ - > ${WRKDIR}/`${ECHO_CMD} ${script} | ${SED} -E ${BINLINKS_SUB_PYTHON_VER}` -.endfor - ${REINPLACE_CMD} -e \ +post-patch: + @${REINPLACE_CMD} -e \ 's,/usr/doc/python-docs-,${PREFIX}/share/doc/python,g' \ ${PATCH_WRKSRC}/Lib/pydoc.py - ${REINPLACE_CMD} -e \ - 's|^\( *prefixes = .*\)\]$$|\1, "${LOCALBASE}"]|g' \ - ${PATCH_WRKSRC}/Lib/site.py - ${REINPLACE_CMD} -e \ - 's|^ \(..ASDLGEN.*\)$$| ${TRUE}|g; \ - s|[(]LIBDIR[)]/pkgconfig|(prefix)/libdata/pkgconfig|g' \ - ${PATCH_WRKSRC}/Makefile.pre.in - - ${REINPLACE_CMD} -e \ - 's|*\(..INSTALL_SCRIPT.*\)python-config$$|#port \1|' \ - ${PATCH_WRKSRC}/Makefile.pre.in - - ${SED} -e 's|^#!.*|#!${PREFIX}/bin/${PYTHON_VERSION}|' \ - -e 's|libs = getvar|libs = getvar("LDFLAGS").split() + getvar|' \ - ${PATCH_WRKSRC}/Misc/python-config.in > ${WRKDIR}/${PYTHON_VERSION}-config - ${SED} -e 's|^#!.*|#!${PREFIX}/bin/${PYTHON_VERSION:S/thon/thon-shared/}|' \ - -e 's|libs = getvar|libs = getvar("LDFLAGS").split() + getvar|' \ - ${PATCH_WRKSRC}/Misc/python-config.in > ${WRKDIR}/${PYTHON_VERSION:S/thon/thon-shared/}-config - -.if ${PORT_OPTIONS:MFPECTL} && ${ARCH} == i386 - ${MKDIR} ${WRKSRC}/Modules - ${ECHO} "fpectl fpectlmodule.c" >> ${WRKSRC}/Modules/Setup.dist -.endif - -post-patch: .if ${PORT_OPTIONS:MSEM} + @# do not use SEM_EXTRA_PATCHES here, since patch-setup.py overlaps with this one @cd ${WRKSRC} && ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-setup.py .endif -.if defined(WITHOUT_NIS) - ${REINPLACE_CMD} -e \ - 's/disabled_module_list =[^]]*/&, "nis"/' \ - ${PATCH_WRKSRC}/setup.py -.endif - -post-configure: - ${TAR} -C ${WRKSRC} -cf - . | ${TAR} -C ${SHARED_WRKSRC} -xf - - ${LN} -sf ${PYTHON_WRKSRC}/Lib ${WRKSRC}/Lib - ${SED} -e 's,^\(LDLIBRARY=\).*$$,\1libpython$$(VERSION).so,' \ - -e 's,^\(BLDLIBRARY=\).*$$,\1-L. -lpython$$(VERSION),' \ - -e 's,^\(CFLAGSFORSHARED=\).*$$,\1$$(CCSHARED),' \ - -e 's,^\(Makefile Modules/config.c:.*\)Makefile.pre,\1,' \ - -e 's,^\(.(BUILDPYTHON)\: .*\).(LIBRARY),\1,' \ - -e 's,^\(.(BUILDPYTHON):.*\).(LIBRARY),\1,' \ - ${WRKSRC}/Makefile > ${SHARED_WRKSRC}/Makefile - -pre-build: - cd ${SHARED_WRKSRC}; \ - ${SETENV} ${MAKE_ENV} ${MAKE} lib${PYTHON_VERSION}.so python; \ - ${LN} -f lib${PYTHON_VERSION}.so lib${PYTHON_VERSION}.so.1; \ - ${LN} -f python ${PYTHON_VERSION:S/thon/thon-shared/} - -pre-install: - ${CAT} ${PLIST_TEMPLATE} | ${AWK} '{ print $$0; } \ - /LIBDIR.*\.py$$/ && \ - !/\/bad|tests\/data/ \ - { print $$0 "o"; print $$0 "c"; }' > ${PLIST} - - @# if openssl 0.9.8 is detected, _sha{256,512} module won't be installed - ([ -f ${WRKSRC}/.without_own_sha ] && \ - ${GREP} -v 'lib-dynload/_sha' ${PLIST} > ${PLIST}.tmp && \ - ${CAT} ${PLIST}.tmp > ${PLIST}) || ${TRUE} + +.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS) + @${REINPLACE_CMD} -e 's/disabled_module_list =[^]]*/&, "nis"/' \ + ${WRKSRC}/setup.py +.endif post-install: - @# install config providers - ${INSTALL_SCRIPT} ${WRKDIR}/${PYTHON_VERSION}-config \ - ${STAGEDIR}${PREFIX}/bin - ${INSTALL_SCRIPT} ${WRKDIR}/${PYTHON_VERSION:S/thon/thon-shared/}-config \ - ${STAGEDIR}${PREFIX}/bin - - @# shared version of executable and library - ${INSTALL_PROGRAM} ${SHARED_WRKSRC}/lib${PYTHON_VERSION}.so.1 \ - ${STAGEDIR}${PREFIX}/lib - (cd ${STAGEDIR}${PREFIX}/lib; ${LN} -sf lib${PYTHON_VERSION}.so.1 \ - lib${PYTHON_VERSION}.so) - (cd ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION}/config; \ - ${LN} -sf ../../lib${PYTHON_VERSION}.so) - ${INSTALL_PROGRAM} \ - ${SHARED_WRKSRC}/${PYTHON_VERSION:S/thon/thon-shared/} \ - ${STAGEDIR}${PREFIX}/bin - - @# additional files installing by ports -.for script in ${BIN_SCRIPTS} - ${INSTALL_SCRIPT} ${WRKDIR}/`${ECHO_CMD} ${script} | ${SED} -E ${BINLINKS_SUB_PYTHON_VER}` \ - ${STAGEDIR}${PREFIX}/bin -.endfor - ${INSTALL_MAN} ${PYTHON_WRKSRC}/Misc/python.man \ - ${STAGEDIR}${MAN1PREFIX}/man/man1/${PYTHON_VERSION}.1 - - @${MKDIR} ${STAGEDIR}${DATADIR} - @(cd ${PYTHON_WRKSRC}; ${TAR} -cf - Tools | (cd ${STAGEDIR}${DATADIR}; ${TAR} --no-same-owner -xf -)) - - @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} - @(cd ${PYTHON_WRKSRC}/Demo; ${TAR} -cf - * | \ - (cd ${STAGEDIR}${EXAMPLESDIR}; ${TAR} --no-same-owner -xf -)) + for i in ${STAGEDIR}${PREFIX}/lib/python2.7/lib-dynload/*.so; do \ + ${STRIP_CMD} $$i; done # Strip shared extensions + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpython2.7.so.1 # Strip shared library regression-test: build @cd ${WRKSRC} && ${MAKE} TESTOPTS=-j${MAKE_JOBS_NUMBER} buildbottest Modified: head/lang/python27/files/extra-patch-setup.py ============================================================================== --- head/lang/python27/files/extra-patch-setup.py Sat Aug 2 06:40:00 2014 (r363789) +++ head/lang/python27/files/extra-patch-setup.py Sat Aug 2 06:54:20 2014 (r363790) @@ -1,6 +1,9 @@ +# Description: SEM option patch. If SEM is enabled, enable the build properly +# Not upstreamed + --- setup.py.orig 2013-04-07 11:07:43.000000000 +0400 +++ setup.py 2013-04-07 11:16:36.000000000 +0400 -@@ -1544,10 +1544,22 @@ +@@ -1551,10 +1551,22 @@ macros = dict() libraries = [] Added: head/lang/python27/files/patch-Lib_distutils_command_build_scripts.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/python27/files/patch-Lib_distutils_command_build_scripts.py Sat Aug 2 06:54:20 2014 (r363790) @@ -0,0 +1,17 @@ +# Description: A non-invasive partial backport of the Python3 distutils behaviour. +# This allows Python's scripts to be properly suffixed (similar to Python 3.x) on +# installation. +# Submitted by: mva + +--- Lib/distutils/command/build_scripts.py.orig 2014-07-26 11:52:20.000000000 +0200 ++++ Lib/distutils/command/build_scripts.py 2014-07-26 11:52:56.000000000 +0200 +@@ -126,6 +126,9 @@ + file, oldmode, newmode) + os.chmod(file, newmode) + ++ # XXX should we modify self.outfiles? ++ return outfiles ++ + # copy_scripts () + + # class build_scripts Modified: head/lang/python27/files/patch-Makefile.pre.in ============================================================================== --- head/lang/python27/files/patch-Makefile.pre.in Sat Aug 2 06:40:00 2014 (r363789) +++ head/lang/python27/files/patch-Makefile.pre.in Sat Aug 2 06:54:20 2014 (r363790) @@ -1,6 +1,5 @@ -# Description: Fix out-of-tree build as a result of upstream #15819 -# Submitted by: rm (r318353) -# Issue ID: http://bugs.python.org/issue15819#msg203348 +# Description: Link scripts in the same way Python3 does +# Submitted by: mva # Description: Run pycompile only once # Submitted by: antoine (r350207) @@ -10,21 +9,22 @@ # Submitted by: antoine@ (r350207) # TODO: Upstream ---- ./Makefile.pre.in.orig 2013-11-10 07:36:41.000000000 +0000 -+++ ./Makefile.pre.in 2014-04-04 09:16:00.000000000 +0000 -@@ -285,9 +285,9 @@ +--- Makefile.pre.in.orig 2014-06-30 04:05:39.000000000 +0200 ++++ Makefile.pre.in 2014-07-26 11:09:46.000000000 +0200 +@@ -868,6 +868,12 @@ + (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc) + -rm -f $(DESTDIR)$(LIBPC)/python.pc + (cd $(DESTDIR)$(LIBPC); $(LN) -s python2.pc python.pc) ++ -rm -f $(DESTDIR)$(BINDIR)/idle ++ (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle2) ++ -rm -f $(DESTDIR)$(BINDIR)/pydoc ++ (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc2) ++ -rm -f $(DESTDIR)$(BINDIR)/2to3 ++ (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) - ########################################################################## - # AST --AST_H_DIR= Include -+AST_H_DIR= $(srcdir)/Include - AST_H= $(AST_H_DIR)/Python-ast.h --AST_C_DIR= Python -+AST_C_DIR= $(srcdir)/Python - AST_C= $(AST_C_DIR)/Python-ast.c - AST_ASDL= $(srcdir)/Parser/Python.asdl - -@@ -1006,12 +1006,12 @@ + # Install the interpreter with $(VERSION) affixed + # This goes into $(exec_prefix) +@@ -1010,12 +1016,12 @@ $(DESTDIR)$(LIBDEST)/distutils/tests ; \ fi PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ @@ -39,7 +39,7 @@ -d $(LIBDEST) -f \ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ $(DESTDIR)$(LIBDEST) -@@ -1089,8 +1089,8 @@ +@@ -1093,8 +1099,8 @@ if test "$(SO)" = .dll; then \ $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \ else \ Modified: head/lang/python27/files/patch-setup.py ============================================================================== --- head/lang/python27/files/patch-setup.py Sat Aug 2 06:40:00 2014 (r363789) +++ head/lang/python27/files/patch-setup.py Sat Aug 2 06:54:20 2014 (r363790) @@ -1,6 +1,21 @@ ---- ./setup.py.orig 2014-07-04 18:02:21.711919294 +1000 -+++ ./setup.py 2014-07-04 18:11:14.642091269 +1000 -@@ -33,7 +33,7 @@ +# Description: Partial script installation backport from Python3 +# Submitted by: mva + +# Description: Some modules are installed via other ports + +# Description: ossaudiodev detection fix backport + +--- setup.py.orig 2014-06-30 04:05:48.000000000 +0200 ++++ setup.py 2014-07-26 14:51:29.000000000 +0200 +@@ -15,6 +15,7 @@ + from distutils.command.build_ext import build_ext + from distutils.command.install import install + from distutils.command.install_lib import install_lib ++from distutils.command.build_scripts import build_scripts + from distutils.spawn import find_executable + + cross_compiling = "_PYTHON_HOST_PLATFORM" in os.environ +@@ -33,7 +34,7 @@ COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS")) # This global variable is used to hold the list of modules to be disabled. @@ -9,16 +24,7 @@ def add_dir_to_list(dirlist, dir): """Add the directory 'dir' to the list 'dirlist' (at the front) if -@@ -867,6 +867,8 @@ - # OpenSSL doesn't do these until 0.9.8 so we'll bring our own hash - exts.append( Extension('_sha256', ['sha256module.c']) ) - exts.append( Extension('_sha512', ['sha512module.c']) ) -+ else: -+ open('.without_own_sha', 'w') - - # Modules that provide persistent dictionary-like semantics. You will - # probably want to arrange for at least one of them to be available on -@@ -1212,7 +1214,7 @@ +@@ -1212,7 +1213,7 @@ sysroot = macosx_sdk_root() f = os.path.join(sysroot, f[1:]) @@ -27,7 +33,7 @@ data = open(f).read() m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data) if m is not None: -@@ -1551,7 +1553,7 @@ +@@ -1551,7 +1552,7 @@ macros = dict() libraries = [] @@ -36,7 +42,7 @@ # FreeBSD's P1003.1b semaphore support is very experimental # and has many known problems. (as of June 2008) macros = dict() -@@ -1602,9 +1604,10 @@ +@@ -1602,9 +1603,10 @@ else: missing.append('linuxaudiodev') @@ -50,14 +56,47 @@ exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) ) else: missing.append('ossaudiodev') -@@ -2228,9 +2231,7 @@ - ext_modules=[Extension('_struct', ['_struct.c'])], +@@ -2176,6 +2178,22 @@ + def is_chmod_supported(self): + return hasattr(os, 'chmod') + ++class PyBuildScripts(build_scripts): ++ def copy_scripts(self): ++ outfiles = build_scripts.copy_scripts(self) ++ fullversion = '{0[0]}.{0[1]}'.format(sys.version_info) ++ newoutfiles = [] ++ for filename in outfiles: ++ if filename.endswith('2to3'): ++ newfilename = filename + '-' + fullversion ++ else: ++ newfilename = filename + fullversion ++ log.info('renaming {} to {}'.format(filename, newfilename)) ++ os.rename(filename, newfilename) ++ newoutfiles.append(newfilename) ++ return newoutfiles ++ ++ + SUMMARY = """ + Python is an interpreted, interactive, object-oriented programming + language. It is often compared to Tcl, Perl, Scheme or Java. +@@ -2221,7 +2239,9 @@ + platforms = ["Many"], + + # Build info +- cmdclass = {'build_ext':PyBuildExt, 'install':PyBuildInstall, ++ cmdclass = {'build_ext':PyBuildExt, ++ 'build_scripts':PyBuildScripts, ++ 'install':PyBuildInstall, + 'install_lib':PyBuildInstallLib}, + # The struct module is defined here, because build_ext won't be + # called unless there's at least one extension module defined. +@@ -2229,8 +2249,7 @@ # Scripts to install -- scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle', + scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle', - 'Tools/scripts/2to3', - 'Lib/smtpd.py'] -+ scripts = [] ++ 'Tools/scripts/2to3'] ) # --install-platlib Copied: head/lang/python27/pkg-message (from r363787, head/lang/python27/files/pkg-message) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/python27/pkg-message Sat Aug 2 06:54:20 2014 (r363790, copy of r363787, head/lang/python27/files/pkg-message) @@ -0,0 +1,11 @@ +===================================================================== + +Note that some standard Python modules are provided as separate ports +as they require additional dependencies. They are available as: + +bsddb databases/py-bsddb +gdbm databases/py-gdbm +sqlite3 databases/py-sqlite3 +tkinter x11-toolkits/py-tkinter + +===================================================================== Modified: head/lang/python27/pkg-plist ============================================================================== --- head/lang/python27/pkg-plist Sat Aug 2 06:40:00 2014 (r363789) +++ head/lang/python27/pkg-plist Sat Aug 2 06:54:20 2014 (r363790) @@ -1,2480 +1,4549 @@ libdata/pkgconfig/python-2.7.pc -bin/2to3-%%PYVER%% -bin/idle%%PYVER%% -bin/pydoc%%PYVER%% -bin/python%%PYVER%% -bin/python%%PYVER%%-config -bin/python-shared%%PYVER%% -bin/python-shared%%PYVER%%-config -bin/smtpd%%PYVER%%.py -%%PYTHON_INCLUDEDIR%%/Python-ast.h -%%PYTHON_INCLUDEDIR%%/Python.h -%%PYTHON_INCLUDEDIR%%/abstract.h -%%PYTHON_INCLUDEDIR%%/asdl.h -%%PYTHON_INCLUDEDIR%%/ast.h -%%PYTHON_INCLUDEDIR%%/bitset.h -%%PYTHON_INCLUDEDIR%%/boolobject.h -%%PYTHON_INCLUDEDIR%%/bufferobject.h -%%PYTHON_INCLUDEDIR%%/bytearrayobject.h -%%PYTHON_INCLUDEDIR%%/bytes_methods.h -%%PYTHON_INCLUDEDIR%%/bytesobject.h -%%PYTHON_INCLUDEDIR%%/cStringIO.h -%%PYTHON_INCLUDEDIR%%/cellobject.h -%%PYTHON_INCLUDEDIR%%/ceval.h -%%PYTHON_INCLUDEDIR%%/classobject.h -%%PYTHON_INCLUDEDIR%%/cobject.h -%%PYTHON_INCLUDEDIR%%/code.h -%%PYTHON_INCLUDEDIR%%/codecs.h -%%PYTHON_INCLUDEDIR%%/compile.h -%%PYTHON_INCLUDEDIR%%/complexobject.h -%%PYTHON_INCLUDEDIR%%/datetime.h -%%PYTHON_INCLUDEDIR%%/descrobject.h -%%PYTHON_INCLUDEDIR%%/dictobject.h -%%PYTHON_INCLUDEDIR%%/dtoa.h -%%PYTHON_INCLUDEDIR%%/enumobject.h -%%PYTHON_INCLUDEDIR%%/errcode.h -%%PYTHON_INCLUDEDIR%%/eval.h -%%PYTHON_INCLUDEDIR%%/fileobject.h -%%PYTHON_INCLUDEDIR%%/floatobject.h -%%PYTHON_INCLUDEDIR%%/frameobject.h -%%PYTHON_INCLUDEDIR%%/funcobject.h -%%PYTHON_INCLUDEDIR%%/genobject.h -%%PYTHON_INCLUDEDIR%%/graminit.h -%%PYTHON_INCLUDEDIR%%/grammar.h -%%PYTHON_INCLUDEDIR%%/import.h -%%PYTHON_INCLUDEDIR%%/intobject.h -%%PYTHON_INCLUDEDIR%%/intrcheck.h -%%PYTHON_INCLUDEDIR%%/iterobject.h -%%PYTHON_INCLUDEDIR%%/listobject.h -%%PYTHON_INCLUDEDIR%%/longintrepr.h -%%PYTHON_INCLUDEDIR%%/longobject.h -%%PYTHON_INCLUDEDIR%%/marshal.h -%%PYTHON_INCLUDEDIR%%/memoryobject.h -%%PYTHON_INCLUDEDIR%%/metagrammar.h -%%PYTHON_INCLUDEDIR%%/methodobject.h -%%PYTHON_INCLUDEDIR%%/modsupport.h -%%PYTHON_INCLUDEDIR%%/moduleobject.h -%%PYTHON_INCLUDEDIR%%/node.h -%%PYTHON_INCLUDEDIR%%/object.h -%%PYTHON_INCLUDEDIR%%/objimpl.h -%%PYTHON_INCLUDEDIR%%/opcode.h -%%PYTHON_INCLUDEDIR%%/osdefs.h -%%PYTHON_INCLUDEDIR%%/parsetok.h -%%PYTHON_INCLUDEDIR%%/patchlevel.h -%%PYTHON_INCLUDEDIR%%/pgen.h -%%PYTHON_INCLUDEDIR%%/pgenheaders.h -%%PYTHON_INCLUDEDIR%%/py_curses.h -%%PYTHON_INCLUDEDIR%%/pyarena.h -%%PYTHON_INCLUDEDIR%%/pycapsule.h -%%PYTHON_INCLUDEDIR%%/pyconfig.h -%%PYTHON_INCLUDEDIR%%/pyctype.h -%%PYTHON_INCLUDEDIR%%/pydebug.h -%%PYTHON_INCLUDEDIR%%/pyerrors.h -%%PYTHON_INCLUDEDIR%%/pyexpat.h -%%PYTHON_INCLUDEDIR%%/pyfpe.h -%%PYTHON_INCLUDEDIR%%/pygetopt.h -%%PYTHON_INCLUDEDIR%%/pymacconfig.h -%%PYTHON_INCLUDEDIR%%/pymactoolbox.h -%%PYTHON_INCLUDEDIR%%/pymath.h -%%PYTHON_INCLUDEDIR%%/pymem.h -%%PYTHON_INCLUDEDIR%%/pyport.h -%%PYTHON_INCLUDEDIR%%/pystate.h -%%PYTHON_INCLUDEDIR%%/pystrcmp.h -%%PYTHON_INCLUDEDIR%%/pystrtod.h -%%PYTHON_INCLUDEDIR%%/pythonrun.h -%%PYTHON_INCLUDEDIR%%/pythread.h -%%PYTHON_INCLUDEDIR%%/rangeobject.h -%%PYTHON_INCLUDEDIR%%/setobject.h -%%PYTHON_INCLUDEDIR%%/sliceobject.h -%%PYTHON_INCLUDEDIR%%/stringobject.h -%%PYTHON_INCLUDEDIR%%/structmember.h -%%PYTHON_INCLUDEDIR%%/structseq.h -%%PYTHON_INCLUDEDIR%%/symtable.h -%%PYTHON_INCLUDEDIR%%/sysmodule.h -%%PYTHON_INCLUDEDIR%%/timefuncs.h -%%PYTHON_INCLUDEDIR%%/token.h -%%PYTHON_INCLUDEDIR%%/traceback.h -%%PYTHON_INCLUDEDIR%%/tupleobject.h -%%PYTHON_INCLUDEDIR%%/ucnhash.h -%%PYTHON_INCLUDEDIR%%/unicodeobject.h -%%PYTHON_INCLUDEDIR%%/warnings.h -%%PYTHON_INCLUDEDIR%%/weakrefobject.h -lib/lib%%PYTHON_VERSION%%.so -lib/lib%%PYTHON_VERSION%%.so.1 -%%PYTHON_LIBDIR%%/BaseHTTPServer.py -%%PYTHON_LIBDIR%%/Bastion.py -%%PYTHON_LIBDIR%%/CGIHTTPServer.py -%%PYTHON_LIBDIR%%/ConfigParser.py -%%PYTHON_LIBDIR%%/Cookie.py -%%PYTHON_LIBDIR%%/DocXMLRPCServer.py -%%PYTHON_LIBDIR%%/HTMLParser.py -%%PYTHON_LIBDIR%%/LICENSE.txt -%%PYTHON_LIBDIR%%/MimeWriter.py -%%PYTHON_LIBDIR%%/Queue.py -%%PYTHON_LIBDIR%%/SimpleHTTPServer.py -%%PYTHON_LIBDIR%%/SimpleXMLRPCServer.py -%%PYTHON_LIBDIR%%/SocketServer.py -%%PYTHON_LIBDIR%%/StringIO.py -%%PYTHON_LIBDIR%%/UserDict.py -%%PYTHON_LIBDIR%%/UserList.py -%%PYTHON_LIBDIR%%/UserString.py -%%PYTHON_LIBDIR%%/_LWPCookieJar.py -%%PYTHON_LIBDIR%%/_MozillaCookieJar.py -%%PYTHON_LIBDIR%%/__future__.py -%%PYTHON_LIBDIR%%/__phello__.foo.py -%%PYTHON_LIBDIR%%/_abcoll.py -%%PYTHON_LIBDIR%%/_osx_support.py -%%PYTHON_LIBDIR%%/_pyio.py -%%PYTHON_LIBDIR%%/_strptime.py -%%PYTHON_LIBDIR%%/_sysconfigdata.py -%%PYTHON_LIBDIR%%/_threading_local.py -%%PYTHON_LIBDIR%%/_weakrefset.py -%%PYTHON_LIBDIR%%/abc.py -%%PYTHON_LIBDIR%%/aifc.py -%%PYTHON_LIBDIR%%/antigravity.py -%%PYTHON_LIBDIR%%/anydbm.py -%%PYTHON_LIBDIR%%/argparse.py -%%PYTHON_LIBDIR%%/ast.py -%%PYTHON_LIBDIR%%/asynchat.py -%%PYTHON_LIBDIR%%/asyncore.py -%%PYTHON_LIBDIR%%/atexit.py -%%PYTHON_LIBDIR%%/audiodev.py -%%PYTHON_LIBDIR%%/base64.py -%%PYTHON_LIBDIR%%/bdb.py -%%PYTHON_LIBDIR%%/binhex.py -%%PYTHON_LIBDIR%%/bisect.py -%%PYTHON_LIBDIR%%/bsddb/__init__.py -%%PYTHON_LIBDIR%%/bsddb/db.py -%%PYTHON_LIBDIR%%/bsddb/dbobj.py -%%PYTHON_LIBDIR%%/bsddb/dbrecio.py -%%PYTHON_LIBDIR%%/bsddb/dbshelve.py -%%PYTHON_LIBDIR%%/bsddb/dbtables.py -%%PYTHON_LIBDIR%%/bsddb/dbutils.py -%%PYTHON_LIBDIR%%/bsddb/test/__init__.py -%%PYTHON_LIBDIR%%/bsddb/test/test_all.py -%%PYTHON_LIBDIR%%/bsddb/test/test_associate.py -%%PYTHON_LIBDIR%%/bsddb/test/test_basics.py -%%PYTHON_LIBDIR%%/bsddb/test/test_compare.py -%%PYTHON_LIBDIR%%/bsddb/test/test_compat.py -%%PYTHON_LIBDIR%%/bsddb/test/test_cursor_pget_bug.py -%%PYTHON_LIBDIR%%/bsddb/test/test_db.py -%%PYTHON_LIBDIR%%/bsddb/test/test_dbenv.py -%%PYTHON_LIBDIR%%/bsddb/test/test_dbobj.py -%%PYTHON_LIBDIR%%/bsddb/test/test_dbshelve.py -%%PYTHON_LIBDIR%%/bsddb/test/test_dbtables.py -%%PYTHON_LIBDIR%%/bsddb/test/test_distributed_transactions.py -%%PYTHON_LIBDIR%%/bsddb/test/test_early_close.py -%%PYTHON_LIBDIR%%/bsddb/test/test_fileid.py -%%PYTHON_LIBDIR%%/bsddb/test/test_get_none.py -%%PYTHON_LIBDIR%%/bsddb/test/test_join.py -%%PYTHON_LIBDIR%%/bsddb/test/test_lock.py -%%PYTHON_LIBDIR%%/bsddb/test/test_misc.py -%%PYTHON_LIBDIR%%/bsddb/test/test_pickle.py -%%PYTHON_LIBDIR%%/bsddb/test/test_queue.py -%%PYTHON_LIBDIR%%/bsddb/test/test_recno.py -%%PYTHON_LIBDIR%%/bsddb/test/test_replication.py -%%PYTHON_LIBDIR%%/bsddb/test/test_sequence.py -%%PYTHON_LIBDIR%%/bsddb/test/test_thread.py -%%PYTHON_LIBDIR%%/cProfile.py -%%PYTHON_LIBDIR%%/calendar.py -%%PYTHON_LIBDIR%%/cgi.py -%%PYTHON_LIBDIR%%/cgitb.py -%%PYTHON_LIBDIR%%/chunk.py -%%PYTHON_LIBDIR%%/cmd.py -%%PYTHON_LIBDIR%%/code.py -%%PYTHON_LIBDIR%%/codecs.py -%%PYTHON_LIBDIR%%/codeop.py -%%PYTHON_LIBDIR%%/collections.py -%%PYTHON_LIBDIR%%/colorsys.py -%%PYTHON_LIBDIR%%/commands.py -%%PYTHON_LIBDIR%%/compileall.py -%%PYTHON_LIBDIR%%/compiler/__init__.py -%%PYTHON_LIBDIR%%/compiler/ast.py -%%PYTHON_LIBDIR%%/compiler/consts.py -%%PYTHON_LIBDIR%%/compiler/future.py -%%PYTHON_LIBDIR%%/compiler/misc.py -%%PYTHON_LIBDIR%%/compiler/pyassem.py -%%PYTHON_LIBDIR%%/compiler/pycodegen.py -%%PYTHON_LIBDIR%%/compiler/symbols.py -%%PYTHON_LIBDIR%%/compiler/syntax.py -%%PYTHON_LIBDIR%%/compiler/transformer.py -%%PYTHON_LIBDIR%%/compiler/visitor.py -%%PYTHON_LIBDIR%%/config/Makefile -%%PYTHON_LIBDIR%%/config/Setup -%%PYTHON_LIBDIR%%/config/Setup.config -%%PYTHON_LIBDIR%%/config/Setup.local -%%PYTHON_LIBDIR%%/config/config.c -%%PYTHON_LIBDIR%%/config/config.c.in -%%PYTHON_LIBDIR%%/config/install-sh -%%PYTHON_LIBDIR%%/config/lib%%PYTHON_VERSION%%.a -%%PYTHON_LIBDIR%%/config/lib%%PYTHON_VERSION%%.so -%%PYTHON_LIBDIR%%/config/makesetup -%%PYTHON_LIBDIR%%/config/python.o -%%PYTHON_LIBDIR%%/contextlib.py -%%PYTHON_LIBDIR%%/cookielib.py -%%PYTHON_LIBDIR%%/copy.py -%%PYTHON_LIBDIR%%/copy_reg.py -%%PYTHON_LIBDIR%%/csv.py -%%PYTHON_LIBDIR%%/ctypes/__init__.py -%%PYTHON_LIBDIR%%/ctypes/_endian.py -%%PYTHON_LIBDIR%%/ctypes/macholib/README.ctypes -%%PYTHON_LIBDIR%%/ctypes/macholib/__init__.py -%%PYTHON_LIBDIR%%/ctypes/macholib/dyld.py -%%PYTHON_LIBDIR%%/ctypes/macholib/dylib.py -%%PYTHON_LIBDIR%%/ctypes/macholib/fetch_macholib -%%PYTHON_LIBDIR%%/ctypes/macholib/fetch_macholib.bat -%%PYTHON_LIBDIR%%/ctypes/macholib/framework.py -%%PYTHON_LIBDIR%%/ctypes/test/__init__.py -%%PYTHON_LIBDIR%%/ctypes/test/runtests.py -%%PYTHON_LIBDIR%%/ctypes/test/test_anon.py -%%PYTHON_LIBDIR%%/ctypes/test/test_array_in_pointer.py -%%PYTHON_LIBDIR%%/ctypes/test/test_arrays.py -%%PYTHON_LIBDIR%%/ctypes/test/test_as_parameter.py -%%PYTHON_LIBDIR%%/ctypes/test/test_bitfields.py -%%PYTHON_LIBDIR%%/ctypes/test/test_buffers.py -%%PYTHON_LIBDIR%%/ctypes/test/test_byteswap.py -%%PYTHON_LIBDIR%%/ctypes/test/test_callbacks.py -%%PYTHON_LIBDIR%%/ctypes/test/test_cast.py -%%PYTHON_LIBDIR%%/ctypes/test/test_cfuncs.py -%%PYTHON_LIBDIR%%/ctypes/test/test_checkretval.py -%%PYTHON_LIBDIR%%/ctypes/test/test_delattr.py -%%PYTHON_LIBDIR%%/ctypes/test/test_errno.py -%%PYTHON_LIBDIR%%/ctypes/test/test_find.py -%%PYTHON_LIBDIR%%/ctypes/test/test_frombuffer.py -%%PYTHON_LIBDIR%%/ctypes/test/test_funcptr.py -%%PYTHON_LIBDIR%%/ctypes/test/test_functions.py -%%PYTHON_LIBDIR%%/ctypes/test/test_incomplete.py -%%PYTHON_LIBDIR%%/ctypes/test/test_init.py -%%PYTHON_LIBDIR%%/ctypes/test/test_internals.py -%%PYTHON_LIBDIR%%/ctypes/test/test_keeprefs.py -%%PYTHON_LIBDIR%%/ctypes/test/test_libc.py -%%PYTHON_LIBDIR%%/ctypes/test/test_loading.py -%%PYTHON_LIBDIR%%/ctypes/test/test_macholib.py -%%PYTHON_LIBDIR%%/ctypes/test/test_memfunctions.py -%%PYTHON_LIBDIR%%/ctypes/test/test_numbers.py -%%PYTHON_LIBDIR%%/ctypes/test/test_objects.py -%%PYTHON_LIBDIR%%/ctypes/test/test_parameters.py -%%PYTHON_LIBDIR%%/ctypes/test/test_pep3118.py -%%PYTHON_LIBDIR%%/ctypes/test/test_pickling.py -%%PYTHON_LIBDIR%%/ctypes/test/test_pointers.py -%%PYTHON_LIBDIR%%/ctypes/test/test_prototypes.py -%%PYTHON_LIBDIR%%/ctypes/test/test_python_api.py -%%PYTHON_LIBDIR%%/ctypes/test/test_random_things.py -%%PYTHON_LIBDIR%%/ctypes/test/test_refcounts.py -%%PYTHON_LIBDIR%%/ctypes/test/test_repr.py -%%PYTHON_LIBDIR%%/ctypes/test/test_returnfuncptrs.py -%%PYTHON_LIBDIR%%/ctypes/test/test_simplesubclasses.py -%%PYTHON_LIBDIR%%/ctypes/test/test_sizes.py -%%PYTHON_LIBDIR%%/ctypes/test/test_slicing.py -%%PYTHON_LIBDIR%%/ctypes/test/test_stringptr.py -%%PYTHON_LIBDIR%%/ctypes/test/test_strings.py -%%PYTHON_LIBDIR%%/ctypes/test/test_struct_fields.py -%%PYTHON_LIBDIR%%/ctypes/test/test_structures.py -%%PYTHON_LIBDIR%%/ctypes/test/test_unaligned_structures.py -%%PYTHON_LIBDIR%%/ctypes/test/test_unicode.py -%%PYTHON_LIBDIR%%/ctypes/test/test_values.py -%%PYTHON_LIBDIR%%/ctypes/test/test_varsize_struct.py -%%PYTHON_LIBDIR%%/ctypes/test/test_win32.py -%%PYTHON_LIBDIR%%/ctypes/test/test_wintypes.py -%%PYTHON_LIBDIR%%/ctypes/util.py -%%PYTHON_LIBDIR%%/ctypes/wintypes.py -%%PYTHON_LIBDIR%%/curses/__init__.py -%%PYTHON_LIBDIR%%/curses/ascii.py -%%PYTHON_LIBDIR%%/curses/has_key.py -%%PYTHON_LIBDIR%%/curses/panel.py -%%PYTHON_LIBDIR%%/curses/textpad.py -%%PYTHON_LIBDIR%%/curses/wrapper.py -%%PYTHON_LIBDIR%%/dbhash.py -%%PYTHON_LIBDIR%%/decimal.py -%%PYTHON_LIBDIR%%/difflib.py -%%PYTHON_LIBDIR%%/dircache.py -%%PYTHON_LIBDIR%%/dis.py -%%PYTHON_LIBDIR%%/distutils/README -%%PYTHON_LIBDIR%%/distutils/__init__.py -%%PYTHON_LIBDIR%%/distutils/archive_util.py -%%PYTHON_LIBDIR%%/distutils/bcppcompiler.py -%%PYTHON_LIBDIR%%/distutils/ccompiler.py -%%PYTHON_LIBDIR%%/distutils/cmd.py -%%PYTHON_LIBDIR%%/distutils/command/__init__.py -%%PYTHON_LIBDIR%%/distutils/command/bdist.py -%%PYTHON_LIBDIR%%/distutils/command/bdist_dumb.py -%%PYTHON_LIBDIR%%/distutils/command/bdist_msi.py -%%PYTHON_LIBDIR%%/distutils/command/bdist_rpm.py -%%PYTHON_LIBDIR%%/distutils/command/bdist_wininst.py -%%PYTHON_LIBDIR%%/distutils/command/build.py -%%PYTHON_LIBDIR%%/distutils/command/build_clib.py -%%PYTHON_LIBDIR%%/distutils/command/build_ext.py -%%PYTHON_LIBDIR%%/distutils/command/build_py.py -%%PYTHON_LIBDIR%%/distutils/command/build_scripts.py -%%PYTHON_LIBDIR%%/distutils/command/check.py -%%PYTHON_LIBDIR%%/distutils/command/clean.py -%%PYTHON_LIBDIR%%/distutils/command/command_template -%%PYTHON_LIBDIR%%/distutils/command/config.py -%%PYTHON_LIBDIR%%/distutils/command/install.py -%%PYTHON_LIBDIR%%/distutils/command/install_data.py -%%PYTHON_LIBDIR%%/distutils/command/install_egg_info.py -%%PYTHON_LIBDIR%%/distutils/command/install_headers.py -%%PYTHON_LIBDIR%%/distutils/command/install_lib.py -%%PYTHON_LIBDIR%%/distutils/command/install_scripts.py -%%PYTHON_LIBDIR%%/distutils/command/register.py -%%PYTHON_LIBDIR%%/distutils/command/sdist.py -%%PYTHON_LIBDIR%%/distutils/command/upload.py -%%PYTHON_LIBDIR%%/distutils/command/wininst-6.0.exe -%%PYTHON_LIBDIR%%/distutils/command/wininst-7.1.exe -%%PYTHON_LIBDIR%%/distutils/command/wininst-8.0.exe -%%PYTHON_LIBDIR%%/distutils/command/wininst-9.0-amd64.exe -%%PYTHON_LIBDIR%%/distutils/command/wininst-9.0.exe -%%PYTHON_LIBDIR%%/distutils/config.py -%%PYTHON_LIBDIR%%/distutils/core.py -%%PYTHON_LIBDIR%%/distutils/cygwinccompiler.py -%%PYTHON_LIBDIR%%/distutils/debug.py -%%PYTHON_LIBDIR%%/distutils/dep_util.py -%%PYTHON_LIBDIR%%/distutils/dir_util.py -%%PYTHON_LIBDIR%%/distutils/dist.py -%%PYTHON_LIBDIR%%/distutils/emxccompiler.py -%%PYTHON_LIBDIR%%/distutils/errors.py -%%PYTHON_LIBDIR%%/distutils/extension.py -%%PYTHON_LIBDIR%%/distutils/fancy_getopt.py -%%PYTHON_LIBDIR%%/distutils/file_util.py -%%PYTHON_LIBDIR%%/distutils/filelist.py -%%PYTHON_LIBDIR%%/distutils/log.py -%%PYTHON_LIBDIR%%/distutils/msvc9compiler.py -%%PYTHON_LIBDIR%%/distutils/msvccompiler.py -%%PYTHON_LIBDIR%%/distutils/spawn.py -%%PYTHON_LIBDIR%%/distutils/sysconfig.py -%%PYTHON_LIBDIR%%/distutils/tests/Setup.sample -%%PYTHON_LIBDIR%%/distutils/tests/__init__.py -%%PYTHON_LIBDIR%%/distutils/tests/setuptools_build_ext.py -%%PYTHON_LIBDIR%%/distutils/tests/setuptools_extension.py -%%PYTHON_LIBDIR%%/distutils/tests/support.py -%%PYTHON_LIBDIR%%/distutils/tests/test_archive_util.py -%%PYTHON_LIBDIR%%/distutils/tests/test_bdist.py -%%PYTHON_LIBDIR%%/distutils/tests/test_bdist_dumb.py -%%PYTHON_LIBDIR%%/distutils/tests/test_bdist_msi.py -%%PYTHON_LIBDIR%%/distutils/tests/test_bdist_rpm.py -%%PYTHON_LIBDIR%%/distutils/tests/test_build.py -%%PYTHON_LIBDIR%%/distutils/tests/test_build_clib.py -%%PYTHON_LIBDIR%%/distutils/tests/test_build_ext.py -%%PYTHON_LIBDIR%%/distutils/tests/test_build_py.py -%%PYTHON_LIBDIR%%/distutils/tests/test_build_scripts.py -%%PYTHON_LIBDIR%%/distutils/tests/test_bdist_wininst.py -%%PYTHON_LIBDIR%%/distutils/tests/test_ccompiler.py -%%PYTHON_LIBDIR%%/distutils/tests/test_check.py -%%PYTHON_LIBDIR%%/distutils/tests/test_clean.py -%%PYTHON_LIBDIR%%/distutils/tests/test_cmd.py -%%PYTHON_LIBDIR%%/distutils/tests/test_config.py -%%PYTHON_LIBDIR%%/distutils/tests/test_config_cmd.py -%%PYTHON_LIBDIR%%/distutils/tests/test_core.py -%%PYTHON_LIBDIR%%/distutils/tests/test_dep_util.py -%%PYTHON_LIBDIR%%/distutils/tests/test_dir_util.py -%%PYTHON_LIBDIR%%/distutils/tests/test_file_util.py -%%PYTHON_LIBDIR%%/distutils/tests/test_filelist.py -%%PYTHON_LIBDIR%%/distutils/tests/test_dist.py -%%PYTHON_LIBDIR%%/distutils/tests/test_install.py -%%PYTHON_LIBDIR%%/distutils/tests/test_install_data.py -%%PYTHON_LIBDIR%%/distutils/tests/test_install_headers.py -%%PYTHON_LIBDIR%%/distutils/tests/test_install_lib.py -%%PYTHON_LIBDIR%%/distutils/tests/test_install_scripts.py -%%PYTHON_LIBDIR%%/distutils/tests/test_msvc9compiler.py -%%PYTHON_LIBDIR%%/distutils/tests/test_spawn.py -%%PYTHON_LIBDIR%%/distutils/tests/test_sysconfig.py -%%PYTHON_LIBDIR%%/distutils/tests/test_sdist.py -%%PYTHON_LIBDIR%%/distutils/tests/test_register.py -%%PYTHON_LIBDIR%%/distutils/tests/test_text_file.py -%%PYTHON_LIBDIR%%/distutils/tests/test_upload.py -%%PYTHON_LIBDIR%%/distutils/tests/test_unixccompiler.py -%%PYTHON_LIBDIR%%/distutils/tests/test_util.py -%%PYTHON_LIBDIR%%/distutils/tests/test_versionpredicate.py -%%PYTHON_LIBDIR%%/distutils/tests/test_version.py -%%PYTHON_LIBDIR%%/distutils/tests/xxmodule.c -%%PYTHON_LIBDIR%%/distutils/text_file.py -%%PYTHON_LIBDIR%%/distutils/unixccompiler.py -%%PYTHON_LIBDIR%%/distutils/util.py -%%PYTHON_LIBDIR%%/distutils/version.py -%%PYTHON_LIBDIR%%/distutils/versionpredicate.py -%%PYTHON_LIBDIR%%/doctest.py -%%PYTHON_LIBDIR%%/dumbdbm.py -%%PYTHON_LIBDIR%%/dummy_thread.py -%%PYTHON_LIBDIR%%/dummy_threading.py -%%PYTHON_LIBDIR%%/email/__init__.py -%%PYTHON_LIBDIR%%/email/_parseaddr.py -%%PYTHON_LIBDIR%%/email/base64mime.py -%%PYTHON_LIBDIR%%/email/charset.py -%%PYTHON_LIBDIR%%/email/encoders.py -%%PYTHON_LIBDIR%%/email/errors.py -%%PYTHON_LIBDIR%%/email/feedparser.py -%%PYTHON_LIBDIR%%/email/generator.py -%%PYTHON_LIBDIR%%/email/header.py -%%PYTHON_LIBDIR%%/email/iterators.py -%%PYTHON_LIBDIR%%/email/message.py -%%PYTHON_LIBDIR%%/email/mime/__init__.py -%%PYTHON_LIBDIR%%/email/mime/application.py -%%PYTHON_LIBDIR%%/email/mime/audio.py -%%PYTHON_LIBDIR%%/email/mime/base.py -%%PYTHON_LIBDIR%%/email/mime/image.py -%%PYTHON_LIBDIR%%/email/mime/message.py -%%PYTHON_LIBDIR%%/email/mime/multipart.py -%%PYTHON_LIBDIR%%/email/mime/nonmultipart.py -%%PYTHON_LIBDIR%%/email/mime/text.py -%%PYTHON_LIBDIR%%/email/parser.py -%%PYTHON_LIBDIR%%/email/quoprimime.py -%%PYTHON_LIBDIR%%/email/test/__init__.py -%%PYTHON_LIBDIR%%/email/test/data/PyBanner048.gif -%%PYTHON_LIBDIR%%/email/test/data/audiotest.au -%%PYTHON_LIBDIR%%/email/test/data/msg_01.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_02.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_03.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_04.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_05.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_06.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_07.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_08.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_09.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_10.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_11.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_12.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_12a.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_13.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_14.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_15.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_16.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_17.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_18.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_19.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_20.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_21.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_22.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_23.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_24.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_25.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_26.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_27.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_28.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_29.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_30.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_31.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_32.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_33.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_34.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_35.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_36.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_37.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_38.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_39.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_40.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_41.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_42.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_43.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_44.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_45.txt -%%PYTHON_LIBDIR%%/email/test/data/msg_46.txt -%%PYTHON_LIBDIR%%/email/test/test_email.py -%%PYTHON_LIBDIR%%/email/test/test_email_codecs.py -%%PYTHON_LIBDIR%%/email/test/test_email_codecs_renamed.py -%%PYTHON_LIBDIR%%/email/test/test_email_renamed.py -%%PYTHON_LIBDIR%%/email/test/test_email_torture.py -%%PYTHON_LIBDIR%%/email/utils.py -%%PYTHON_LIBDIR%%/encodings/__init__.py -%%PYTHON_LIBDIR%%/encodings/aliases.py -%%PYTHON_LIBDIR%%/encodings/ascii.py -%%PYTHON_LIBDIR%%/encodings/base64_codec.py -%%PYTHON_LIBDIR%%/encodings/big5.py -%%PYTHON_LIBDIR%%/encodings/big5hkscs.py -%%PYTHON_LIBDIR%%/encodings/bz2_codec.py -%%PYTHON_LIBDIR%%/encodings/charmap.py -%%PYTHON_LIBDIR%%/encodings/cp037.py -%%PYTHON_LIBDIR%%/encodings/cp1006.py -%%PYTHON_LIBDIR%%/encodings/cp1026.py -%%PYTHON_LIBDIR%%/encodings/cp1140.py -%%PYTHON_LIBDIR%%/encodings/cp1250.py -%%PYTHON_LIBDIR%%/encodings/cp1251.py -%%PYTHON_LIBDIR%%/encodings/cp1252.py -%%PYTHON_LIBDIR%%/encodings/cp1253.py -%%PYTHON_LIBDIR%%/encodings/cp1254.py -%%PYTHON_LIBDIR%%/encodings/cp1255.py -%%PYTHON_LIBDIR%%/encodings/cp1256.py -%%PYTHON_LIBDIR%%/encodings/cp1257.py -%%PYTHON_LIBDIR%%/encodings/cp1258.py -%%PYTHON_LIBDIR%%/encodings/cp424.py -%%PYTHON_LIBDIR%%/encodings/cp437.py -%%PYTHON_LIBDIR%%/encodings/cp500.py -%%PYTHON_LIBDIR%%/encodings/cp720.py -%%PYTHON_LIBDIR%%/encodings/cp737.py -%%PYTHON_LIBDIR%%/encodings/cp775.py -%%PYTHON_LIBDIR%%/encodings/cp850.py -%%PYTHON_LIBDIR%%/encodings/cp852.py -%%PYTHON_LIBDIR%%/encodings/cp855.py -%%PYTHON_LIBDIR%%/encodings/cp856.py -%%PYTHON_LIBDIR%%/encodings/cp857.py -%%PYTHON_LIBDIR%%/encodings/cp858.py -%%PYTHON_LIBDIR%%/encodings/cp860.py -%%PYTHON_LIBDIR%%/encodings/cp861.py *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***