lang/python27: Update to 2.7.8

The FreeBSD Python team welcomes Python 2.7.8 to the Ports tree!

Announcement: https://www.python.org/download/releases/2.7.8/
Changelog:    http://hg.python.org/cpython/raw-file/v2.7.8/Misc/NEWS

- Update to 2.7.8, update pkg-plist
- OPTIONS: Reorder and sort alphabetically
- OPTIONS: Make POSIX SEM(aphores) a DEFAULT (Hi binary package users!)
- OPTIONS: Add better descriptions for UCS2 and UCS4
- OPTIONS: Use options helpers
- Remove patch-CVE-2014-1912: upstream, was backported
- Remove patch-issue20374: upstream, was backported
- Rename patch-Doc__library__fcntl.rst: underscore convention
- Rename patch-Modules__fcntlmodule.c: underscore convention
- Patch: setup.py: Remove ncurses overrides and return to upstream code
- Patch: setup.py: Add partial backport for ossaudio OS checks
- pkg-message: Remove warning for POSIX Semaphores. They are now in
  GENERIC for FreeBSD 8.x 9.x, 10.x and tested well upstream
- pkg-message: No longer needs substitutions, remove .in suffix and
  SUB_FILES
- Rework and simplify the platformX mechanism, update pkg-plist
  accordingly
- Add regression-test target
- Deprecate NOPORTDATA, remove pkg-plist entries with %%PORTDATA%%
- Replace bsd.{pre,post}.mk with bsd.port.options.mk

Based on original patch submitted by wen@ and worked on by lwhsu@,
thank you!

PR:             191405
PR:             178301
PR:             171246
Phabric:        D364
Reviewed by:    antoine, bapt, mat, mva, wg
This commit is contained in:
Kubilay Kocak 2014-07-14 07:20:40 +00:00
parent 2f3e039947
commit 26ae40b6bc
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=361735
12 changed files with 382 additions and 537 deletions

View file

@ -381,9 +381,9 @@ PYTHON_ABIVER!= ${PYTHON_CMD}-config --abiflags
# Python-2.7
.elif ${PYTHON_VERSION} == "python2.7"
PYTHON_PORTVERSION?= 2.7.6
PYTHON_PORTVERSION?= 2.7.8
PYTHON_PORTSDIR= ${PORTSDIR}/lang/python27
PYTHON_REL= 276
PYTHON_REL= 278
PYTHON_SUFFIX= 27
PYTHON_VER= 2.7

View file

@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= python27
PORTVERSION= 2.7.6
PORTREVISION= 4
PORTVERSION= 2.7.8
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
@ -46,9 +45,6 @@ PLIST_SUB= PYVER=${PYTHON_VERSION:S/python//} \
EXAMPLESDIR= ${PREFIX}/share/examples/${PYTHON_VERSION}
DATADIR= ${PREFIX}/share/${PYTHON_VERSION}
PLATFORMS= plat-freebsd6 plat-freebsd7 plat-freebsd8 plat-freebsd9 \
plat-freebsd10 plat-freebsd11
BIN_SCRIPTS= 2to3 idle pydoc smtpd.py
BIN_FILES= python python-shared python-config python-shared-config \
${BIN_SCRIPTS}
@ -57,35 +53,37 @@ BINLINKS_SUB_TMPL= -e 's,smtpd,smtpd%%VERSION%%,' \
-e 's,(idle|pydoc|python-shared|python),\1%%VERSION%%,'
BINLINKS_SUB_PYTHON_VER= ${BINLINKS_SUB_TMPL:S/%%VERSION%%/${PYTHON_VER}/g}
OPTIONS_DEFINE= THREADS SEM PTH PYMALLOC IPV6 FPECTL EXAMPLES NLS
OPTIONS_DEFAULT= THREADS UCS4 PYMALLOC IPV6
OPTIONS_DEFINE= EXAMPLES FPECTL IPV6 NLS PTH PYMALLOC SEM THREADS
OPTIONS_DEFAULT= IPV6 PYMALLOC SEM THREADS UCS4
OPTIONS_SINGLE= UCS
OPTIONS_SINGLE_UCS= UCS2 UCS4
OPTIONS_SINGLE= UNICODE
OPTIONS_SINGLE_UNICODE= UCS2 UCS4
NLS_DESC= Enable Gettext support for the locale module
UCS2_DESC= Enable UCS2 Unicode Strings
UCS4_DESC= Enable UCS4 Unicode Strings
FPECTL_CONFIGURE_ON= --with-fpectl
IPV6_CONFIGURE_ENABLE= ipv6
# Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat
# to break in Python 2.7, or preprocessor complaints in Python >= 3.3
# Upstream Issue: http://bugs.python.org/issue6299
NLS_USES= gettext
NLS_CPPFLAGS= -I${LOCALBASE}/include
NLS_LIBS= -L${LOCALBASE}/lib -lintl
NLS_CONFIGURE_ENV_OFF= ac_cv_lib_intl_textdomain=no ac_cv_header_libintl_h=no
PYMALLOC_CONFIGURE_WITH= pymalloc
SEM_CONFIGURE_ENV= ac_cv_posix_semaphores_enabled=yes
SEM_CONFIGURE_ENV_OFF= ac_cv_posix_semaphores_enabled=no
UCS2_CONFIGURE_ON= --enable-unicode=ucs2
UCS4_CONFIGURE_ON= --enable-unicode=ucs4
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MNLS}
USES+= gettext
CPPFLAGS+= -I${LOCALBASE}/include
LIBS+= -L${LOCALBASE}/lib -lintl
.else
CONFIGURE_ENV+= ac_cv_lib_intl_textdomain=no ac_cv_header_libintl_h=no
.endif
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MSEM}
SEM_MSG= ""
.else
SEM_MSG= "@comment "
.endif
SUB_FILES= pkg-message
SUB_LIST= SEM=${SEM_MSG}
.if ${PORT_OPTIONS:MTHREADS}
PLIST_SUB+= THREADS=""
.if ${PORT_OPTIONS:MPTH}
@ -107,18 +105,6 @@ PLIST_SUB+= THREADS="@comment "
CONFIGURE_ARGS+= --without-threads
.endif
.if ${PORT_OPTIONS:MUCS4}
CONFIGURE_ARGS+= --enable-unicode=ucs4
.endif
.if ${PORT_OPTIONS:MUCS2}
CONFIGURE_ARGS+= --enable-unicode=ucs2
.endif
.if empty(PORT_OPTIONS:MPYMALLOC)
CONFIGURE_ARGS+= --without-pymalloc
.endif
.if ${ARCH} == i386
PLIST_SUB+= X86_ONLY=""
.else
@ -144,16 +130,6 @@ WITHOUT_NIS?= detected
PLIST_SUB+= NO_NIS=""
.endif
.if ${PORT_OPTIONS:MIPV6}
CONFIGURE_ARGS+= --enable-ipv6
.else
CONFIGURE_ARGS+= --disable-ipv6
.endif
.if ${PORT_OPTIONS:MFPECTL}
CONFIGURE_ARGS+= --with-fpectl
.endif
CONFIGURE_ENV+= OPT="${_PTH_CPPFLAGS}"
post-extract:
@ -163,12 +139,6 @@ post-extract:
${CHMOD} -R og=u-w ${PYTHON_WRKSRC}/Tools ${PYTHON_WRKSRC}/Demo
pre-patch:
${CP} -r ${PATCH_WRKSRC}/Lib/plat-freebsd8 \
${PATCH_WRKSRC}/Lib/plat-freebsd9
${CP} -r ${PATCH_WRKSRC}/Lib/plat-freebsd8 \
${PATCH_WRKSRC}/Lib/plat-freebsd10
${CP} -r ${PATCH_WRKSRC}/Lib/plat-freebsd8 \
${PATCH_WRKSRC}/Lib/plat-freebsd11
${MKDIR} ${WRKSRC} ${SHARED_WRKSRC}/Modules
${LN} ${PATCH_WRKSRC}/Lib/smtpd.py ${PATCH_WRKSRC}/Tools/scripts/
.for script in ${BIN_SCRIPTS}
@ -230,15 +200,6 @@ pre-build:
${LN} -f lib${PYTHON_VERSION}.so lib${PYTHON_VERSION}.so.1; \
${LN} -f python ${PYTHON_VERSION:S/thon/thon-shared/}
pre-su-install:
.for platform in ${PLATFORMS}
${MKDIR} ${STAGEDIR}${PYTHONPREFIX_LIBDIR}/${platform}
.for file in IN.py regen
${INSTALL_DATA} ${WRKSRC}/Lib/${platform}/${file} \
${STAGEDIR}${PYTHONPREFIX_LIBDIR}/${platform}/
.endfor
.endfor
pre-install:
${CAT} ${PLIST_TEMPLATE} | ${AWK} '{ print $$0; } \
/LIBDIR.*\.py$$/ && \
@ -283,6 +244,7 @@ post-install:
@(cd ${PYTHON_WRKSRC}/Demo; ${TAR} -cf - * | \
(cd ${STAGEDIR}${EXAMPLESDIR}; ${TAR} --no-same-owner -xf -))
@${CAT} ${PKGMESSAGE}
regression-test: build
@cd ${WRKSRC} && ${MAKE} TESTOPTS=-j${MAKE_JOBS_NUMBER} buildbottest
.include <bsd.port.post.mk>
.include <bsd.port.mk>

View file

@ -1,2 +1,2 @@
SHA256 (python/Python-2.7.6.tar.xz) = 1fd68e81f8bf7386ff239b7faee9ba387129d2cf34eab13350bd8503a0bff6a1
SIZE (python/Python-2.7.6.tar.xz) = 10431288
SHA256 (python/Python-2.7.8.tar.xz) = edde10a0cb7d14e2735e682882d5b287028d1485c456758154c19573db68075a
SIZE (python/Python-2.7.8.tar.xz) = 10525244

View file

@ -1,50 +0,0 @@
# HG changeset patch
# User Benjamin Peterson <benjamin@python.org>
# Date 1389671978 18000
# Node ID 87673659d8f7ba1623cd4914f09ad3d2ade034e9
# Parent 2631d33ee7fbd5f0288931ef37872218d511d2e8
complain when nbytes > buflen to fix possible buffer overflow (closes #20246)
# HG changeset patch
# User Stefan Krah <skrah@bytereef.org>
# Date 1390341952 -3600
# Node ID b6c5a37b221f5c617125faa363d1b460b0b61b42
# Parent d55d1cbf5f9a9efa7908fc9412bae676a6b675ef
Issue #20246: Fix test failures on FreeBSD. Patch by Ryan Smith-Roberts.
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
--- Lib/test/test_socket.py
+++ Lib/test/test_socket.py
@@ -1620,6 +1620,16 @@ class BufferIOTest(SocketConnectedTest):
_testRecvFromIntoMemoryview = _testRecvFromIntoArray
+ def testRecvFromIntoSmallBuffer(self):
+ # See issue #20246.
+ buf = bytearray(8)
+ self.assertRaises(ValueError, self.cli_conn.recvfrom_into, buf, 1024)
+
+ def _testRecvFromIntoSmallBuffer(self):
+ with test_support.check_py3k_warnings():
+ buf = buffer(MSG)
+ self.serv_conn.send(buf)
+
TIPC_STYPE = 2000
TIPC_LOWER = 200
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
--- Modules/socketmodule.c
+++ Modules/socketmodule.c
@@ -2742,6 +2742,10 @@ sock_recvfrom_into(PySocketSockObject *s
if (recvlen == 0) {
/* If nbytes was not specified, use the buffer's length */
recvlen = buflen;
+ } else if (recvlen > buflen) {
+ PyErr_SetString(PyExc_ValueError,
+ "nbytes is greater than the length of the buffer");
+ goto error;
}
readlen = sock_recvfrom_guts(s, buf.buf, recvlen, flags, &addr);

View file

@ -1,11 +0,0 @@
--- Doc/library/fcntl.rst.orig 2010-08-14 16:19:09.194215129 +0800
+++ Doc/library/fcntl.rst 2010-08-14 16:19:36.999453016 +0800
@@ -50,8 +50,6 @@
operations are typically defined in the library module :mod:`termios` and the
argument handling is even more complicated.
- The op parameter is limited to values that can fit in 32-bits.
-
The parameter *arg* can be one of an integer, absent (treated identically to the
integer ``0``), an object supporting the read-only buffer interface (most likely
a plain Python string) or an object supporting the read-write buffer interface.

View file

@ -0,0 +1,10 @@
--- ./Doc/library/fcntl.rst.orig 2014-07-03 21:53:41.473098625 +1000
+++ ./Doc/library/fcntl.rst 2014-07-03 21:54:04.342833056 +1000
@@ -50,7 +50,6 @@
operations are typically defined in the library module :mod:`termios` and the
argument handling is even more complicated.
- The op parameter is limited to values that can fit in 32-bits.
Additional constants of interest for use as the *op* argument can be
found in the :mod:`termios` module, under the same names as used in
the relevant C header files.

View file

@ -1,6 +1,6 @@
--- Modules/fcntlmodule.c.orig 2010-08-14 16:36:54.991363730 +0800
+++ Modules/fcntlmodule.c 2010-08-14 16:41:05.555822031 +0800
@@ -97,20 +97,15 @@
--- ./Modules/fcntlmodule.c.orig 2014-07-03 21:57:10.429953240 +1000
+++ ./Modules/fcntlmodule.c 2014-07-03 21:59:36.517210444 +1000
@@ -98,20 +98,15 @@
{
#define IOCTL_BUFSZ 1024
int fd;
@ -12,7 +12,7 @@
whereas the system expects it to be a 32bit bit field value
regardless of it being passed as an int or unsigned long on
- various platforms. See the termios.TIOCSWINSZ constant across
- platforms for an example of thise.
- platforms for an example of this.
-
- If any of the 64bit platforms ever decide to use more than 32bits
- in their unsigned long ioctl codes this will break and need
@ -24,7 +24,7 @@
int arg;
int ret;
char *str;
@@ -118,7 +113,7 @@
@@ -119,7 +114,7 @@
int mutate_arg = 1;
char buf[IOCTL_BUFSZ+1]; /* argument plus NUL byte */
@ -33,7 +33,7 @@
conv_descriptor, &fd, &code,
&str, &len, &mutate_arg)) {
char *arg;
@@ -169,7 +164,7 @@
@@ -170,7 +165,7 @@
}
PyErr_Clear();
@ -42,7 +42,7 @@
conv_descriptor, &fd, &code, &str, &len)) {
if (len > IOCTL_BUFSZ) {
PyErr_SetString(PyExc_ValueError,
@@ -191,7 +186,7 @@
@@ -192,7 +187,7 @@
PyErr_Clear();
arg = 0;
if (!PyArg_ParseTuple(args,

View file

@ -1,55 +0,0 @@
# Description: fix readline.so build with readline 6.3
# Patch obtained from upstream, issue #20374
# http://bugs.python.org/issue20374
# PR: ports/187174
--- ./Modules/readline.c.orig 2013-11-10 07:36:41.000000000 +0000
+++ ./Modules/readline.c 2014-03-01 12:40:44.000000000 +0000
@@ -750,14 +750,22 @@
}
static int
+#if defined(_RL_FUNCTION_TYPEDEF)
on_startup_hook(void)
+#else
+on_startup_hook()
+#endif
{
return on_hook(startup_hook);
}
#ifdef HAVE_RL_PRE_INPUT_HOOK
static int
+#if defined(_RL_FUNCTION_TYPEDEF)
on_pre_input_hook(void)
+#else
+on_pre_input_hook()
+#endif
{
return on_hook(pre_input_hook);
}
@@ -852,7 +860,7 @@
* before calling the normal completer */
static char **
-flex_complete(char *text, int start, int end)
+flex_complete(const char *text, int start, int end)
{
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
rl_completion_append_character ='\0';
@@ -911,12 +919,12 @@
rl_bind_key_in_map ('\t', rl_complete, emacs_meta_keymap);
rl_bind_key_in_map ('\033', rl_complete, emacs_meta_keymap);
/* Set our hook functions */
- rl_startup_hook = (Function *)on_startup_hook;
+ rl_startup_hook = on_startup_hook;
#ifdef HAVE_RL_PRE_INPUT_HOOK
- rl_pre_input_hook = (Function *)on_pre_input_hook;
+ rl_pre_input_hook = on_pre_input_hook;
#endif
/* Set our completion function */
- rl_attempted_completion_function = (CPPFunction *)flex_complete;
+ rl_attempted_completion_function = flex_complete;
/* Set Python word break characters */
completer_word_break_characters =
rl_completer_word_break_characters =

View file

@ -1,5 +1,5 @@
--- setup.py.orig 2013-04-06 18:02:41.000000000 +0400
+++ setup.py 2013-04-07 10:52:47.000000000 +0400
--- ./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 @@
COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
@ -9,25 +9,7 @@
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
@@ -720,7 +720,7 @@
# use the same library for the readline and curses modules.
if 'curses' in readline_termcap_library:
curses_library = readline_termcap_library
- elif self.compiler.find_library_file(lib_dirs, 'ncursesw'):
+ elif self.compiler.find_library_file(lib_dirs, 'xxxncursesw'):
curses_library = 'ncursesw'
elif self.compiler.find_library_file(lib_dirs, 'ncurses'):
curses_library = 'ncurses'
@@ -755,7 +755,7 @@
elif curses_library:
readline_libs.append(curses_library)
elif self.compiler.find_library_file(lib_dirs +
- ['/usr/lib/termcap'],
+ ['/usr/lib', '/usr/lib/termcap'],
'termcap'):
readline_libs.append('termcap')
exts.append( Extension('readline', ['readline.c'],
@@ -862,6 +862,8 @@
@@ -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']) )
@ -36,7 +18,7 @@
# Modules that provide persistent dictionary-like semantics. You will
# probably want to arrange for at least one of them to be available on
@@ -1208,7 +1210,7 @@
@@ -1212,7 +1214,7 @@
sysroot = macosx_sdk_root()
f = os.path.join(sysroot, f[1:])
@ -45,30 +27,7 @@
data = open(f).read()
m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
if m is not None:
@@ -1338,12 +1340,13 @@
# provided by the ncurses library.
panel_library = 'panel'
if curses_library.startswith('ncurses'):
- if curses_library == 'ncursesw':
+ if curses_library == 'xxxncursesw':
# Bug 1464056: If _curses.so links with ncursesw,
# _curses_panel.so must link with panelw.
panel_library = 'panelw'
curses_libs = [curses_library]
exts.append( Extension('_curses', ['_cursesmodule.c'],
+ library_dirs = ['/usr/lib'],
libraries = curses_libs) )
elif curses_library == 'curses' and host_platform != 'darwin':
# OSX has an old Berkeley curses, not good enough for
@@ -1356,6 +1359,7 @@
curses_libs = ['curses']
exts.append( Extension('_curses', ['_cursesmodule.c'],
+ library_dirs = ['/usr/lib'],
libraries = curses_libs) )
else:
missing.append('_curses')
@@ -1540,7 +1544,7 @@
@@ -1551,7 +1553,7 @@
macros = dict()
libraries = []
@ -77,16 +36,21 @@
# FreeBSD's P1003.1b semaphore support is very experimental
# and has many known problems. (as of June 2008)
macros = dict()
@@ -1592,7 +1596,7 @@
@@ -1602,9 +1604,10 @@
else:
missing.append('linuxaudiodev')
if (host_platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
- if (host_platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
- 'freebsd7', 'freebsd8')
+ 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10', 'freebsd11')
or host_platform.startswith("gnukfreebsd")):
- or host_platform.startswith("gnukfreebsd")):
+# Initial backport of http://hg.python.org/cpython/rev/50f1922bc1d5
+
+ if any(sys.platform.startswith(prefix)
+ for prefix in ("linux", "freebsd", "gnukfreebsd")):
exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
else:
@@ -2176,9 +2180,7 @@
missing.append('ossaudiodev')
@@ -2228,9 +2231,7 @@
ext_modules=[Extension('_struct', ['_struct.c'])],
# Scripts to install

View file

@ -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
=====================================================================

View file

@ -1,18 +0,0 @@
====
Note that some of the standard modules are provided as separate
ports since they require extra dependencies:
bsddb databases/py-bsddb
gdbm databases/py-gdbm
sqlite3 databases/py-sqlite3
tkinter x11-toolkits/py-tkinter
Install them as needed.
====
%%SEM%%--------------------------------------------------------
%%SEM%%This package was built with the experimental POSIX
%%SEM%%semaphore support. Please ensure that the kernel on the
%%SEM%%system where you deploy this package is either compiled
%%SEM%%with 'options P1003_1B_SEMAPHORES', or has the sem.ko
%%SEM%%kernel module loaded.
%%SEM%%--------------------------------------------------------

View file

@ -238,7 +238,6 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%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_errcheck.py
%%PYTHON_LIBDIR%%/ctypes/test/test_errno.py
%%PYTHON_LIBDIR%%/ctypes/test/test_find.py
%%PYTHON_LIBDIR%%/ctypes/test/test_frombuffer.py
@ -246,7 +245,6 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%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_integers.py
%%PYTHON_LIBDIR%%/ctypes/test/test_internals.py
%%PYTHON_LIBDIR%%/ctypes/test/test_keeprefs.py
%%PYTHON_LIBDIR%%/ctypes/test/test_libc.py
@ -640,6 +638,13 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/idlelib/HISTORY.txt
%%PYTHON_LIBDIR%%/idlelib/HyperParser.py
%%PYTHON_LIBDIR%%/idlelib/IOBinding.py
%%PYTHON_LIBDIR%%/idlelib/Icons/idle.ico
%%PYTHON_LIBDIR%%/idlelib/Icons/idle_16.gif
%%PYTHON_LIBDIR%%/idlelib/Icons/idle_16.png
%%PYTHON_LIBDIR%%/idlelib/Icons/idle_32.gif
%%PYTHON_LIBDIR%%/idlelib/Icons/idle_32.png
%%PYTHON_LIBDIR%%/idlelib/Icons/idle_48.gif
%%PYTHON_LIBDIR%%/idlelib/Icons/idle_48.png
%%PYTHON_LIBDIR%%/idlelib/Icons/folder.gif
%%PYTHON_LIBDIR%%/idlelib/Icons/idle.icns
%%PYTHON_LIBDIR%%/idlelib/Icons/minusnode.gif
@ -692,6 +697,27 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/idlelib/idle.bat
%%PYTHON_LIBDIR%%/idlelib/idle.py
%%PYTHON_LIBDIR%%/idlelib/idle.pyw
%%PYTHON_LIBDIR%%/idlelib/idle_test/README.txt
%%PYTHON_LIBDIR%%/idlelib/idle_test/__init__.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/htest.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/mock_idle.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/mock_tk.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_autocomplete.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_autoexpand.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_calltips.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_config_name.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_delegator.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_formatparagraph.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_grep.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_hyperparser.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_idlehistory.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_parenmatch.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_pathbrowser.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_rstrip.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_searchengine.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_text.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_textview.py
%%PYTHON_LIBDIR%%/idlelib/idle_test/test_warning.py
%%PYTHON_LIBDIR%%/idlelib/idlever.py
%%PYTHON_LIBDIR%%/idlelib/keybindingDialog.py
%%PYTHON_LIBDIR%%/idlelib/macosxSupport.py
@ -911,9 +937,14 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/lib-tk/Tkinter.py
%%PYTHON_LIBDIR%%/lib-tk/test/README
%%PYTHON_LIBDIR%%/lib-tk/test/runtktests.py
%%PYTHON_LIBDIR%%/lib-tk/test/widget_tests.py
%%PYTHON_LIBDIR%%/lib-tk/test/test_tkinter/__init__.py
%%PYTHON_LIBDIR%%/lib-tk/test/test_tkinter/test_geometry_managers.py
%%PYTHON_LIBDIR%%/lib-tk/test/test_tkinter/test_images.py
%%PYTHON_LIBDIR%%/lib-tk/test/test_tkinter/test_loadtk.py
%%PYTHON_LIBDIR%%/lib-tk/test/test_tkinter/test_text.py
%%PYTHON_LIBDIR%%/lib-tk/test/test_tkinter/test_variables.py
%%PYTHON_LIBDIR%%/lib-tk/test/test_tkinter/test_widgets.py
%%PYTHON_LIBDIR%%/lib-tk/test/test_ttk/__init__.py
%%PYTHON_LIBDIR%%/lib-tk/test/test_ttk/support.py
%%PYTHON_LIBDIR%%/lib-tk/test/test_ttk/test_extensions.py
@ -976,18 +1007,8 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/pickletools.py
%%PYTHON_LIBDIR%%/pipes.py
%%PYTHON_LIBDIR%%/pkgutil.py
%%PYTHON_LIBDIR%%/plat-freebsd6/IN.py
%%PYTHON_LIBDIR%%/plat-freebsd6/regen
%%PYTHON_LIBDIR%%/plat-freebsd7/IN.py
%%PYTHON_LIBDIR%%/plat-freebsd7/regen
%%PYTHON_LIBDIR%%/plat-freebsd8/IN.py
%%PYTHON_LIBDIR%%/plat-freebsd8/regen
%%PYTHON_LIBDIR%%/plat-freebsd9/IN.py
%%PYTHON_LIBDIR%%/plat-freebsd9/regen
%%PYTHON_LIBDIR%%/plat-freebsd10/IN.py
%%PYTHON_LIBDIR%%/plat-freebsd10/regen
%%PYTHON_LIBDIR%%/plat-freebsd11/IN.py
%%PYTHON_LIBDIR%%/plat-freebsd11/regen
%%PYTHON_LIBDIR%%/plat-%%PYTHON_PLATFORM%%/IN.py
%%PYTHON_LIBDIR%%/plat-%%PYTHON_PLATFORM%%/regen
%%PYTHON_LIBDIR%%/platform.py
%%PYTHON_LIBDIR%%/plistlib.py
%%PYTHON_LIBDIR%%/popen2.py
@ -1080,6 +1101,7 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/test/autotest.py
%%PYTHON_LIBDIR%%/test/bad_coding.py
%%PYTHON_LIBDIR%%/test/bad_coding2.py
%%PYTHON_LIBDIR%%/test/bad_coding3.py
%%PYTHON_LIBDIR%%/test/badcert.pem
%%PYTHON_LIBDIR%%/test/badkey.pem
%%PYTHON_LIBDIR%%/test/badsyntax_future3.py
@ -1281,6 +1303,17 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/test/greyrgb.uue
%%PYTHON_LIBDIR%%/test/https_svn_python_org_root.pem
%%PYTHON_LIBDIR%%/test/ieee754.txt
%%PYTHON_LIBDIR%%/test/imghdrdata/python.bmp
%%PYTHON_LIBDIR%%/test/imghdrdata/python.gif
%%PYTHON_LIBDIR%%/test/imghdrdata/python.jpg
%%PYTHON_LIBDIR%%/test/imghdrdata/python.pbm
%%PYTHON_LIBDIR%%/test/imghdrdata/python.pgm
%%PYTHON_LIBDIR%%/test/imghdrdata/python.png
%%PYTHON_LIBDIR%%/test/imghdrdata/python.ppm
%%PYTHON_LIBDIR%%/test/imghdrdata/python.ras
%%PYTHON_LIBDIR%%/test/imghdrdata/python.sgi
%%PYTHON_LIBDIR%%/test/imghdrdata/python.tiff
%%PYTHON_LIBDIR%%/test/imghdrdata/python.xbm
%%PYTHON_LIBDIR%%/test/infinite_reload.py
%%PYTHON_LIBDIR%%/test/inspect_fodder.py
%%PYTHON_LIBDIR%%/test/inspect_fodder2.py
@ -1498,6 +1531,7 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/test/test_imageop.py
%%PYTHON_LIBDIR%%/test/test_imaplib.py
%%PYTHON_LIBDIR%%/test/test_imgfile.py
%%PYTHON_LIBDIR%%/test/test_imghdr.py
%%PYTHON_LIBDIR%%/test/test_imp.py
%%PYTHON_LIBDIR%%/test/test_import.py
%%PYTHON_LIBDIR%%/test/test_importhooks.py
@ -1629,6 +1663,7 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/test/test_socketserver.py
%%PYTHON_LIBDIR%%/test/test_softspace.py
%%PYTHON_LIBDIR%%/test/test_sort.py
%%PYTHON_LIBDIR%%/test/test_spwd.py
%%PYTHON_LIBDIR%%/test/test_sqlite.py
%%PYTHON_LIBDIR%%/test/test_ssl.py
%%PYTHON_LIBDIR%%/test/test_startfile.py
@ -2100,260 +2135,260 @@ man/man1/python2.7.1.gz
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/xml/rss2html.py
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/zlib/minigzip.py
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/zlib/zlibdemo.py
%%PORTDATA%%%%DATADIR%%/Tools/README
%%PORTDATA%%%%DATADIR%%/Tools/audiopy/README
%%PORTDATA%%%%DATADIR%%/Tools/audiopy/audiopy
%%PORTDATA%%%%DATADIR%%/Tools/bgen/README
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgen.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgenBuffer.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgenGenerator.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgenGeneratorGroup.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgenHeapBuffer.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgenModule.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgenObjectDefinition.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgenOutput.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgenStackBuffer.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgenStringBuffer.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgenType.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/bgenVariable.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/macsupport.py
%%PORTDATA%%%%DATADIR%%/Tools/bgen/bgen/scantools.py
%%PORTDATA%%%%DATADIR%%/Tools/buildbot/README.tcltk-AMD64
%%PORTDATA%%%%DATADIR%%/Tools/buildbot/build-amd64.bat
%%PORTDATA%%%%DATADIR%%/Tools/buildbot/build.bat
%%PORTDATA%%%%DATADIR%%/Tools/buildbot/buildmsi.bat
%%PORTDATA%%%%DATADIR%%/Tools/buildbot/clean-amd64.bat
%%PORTDATA%%%%DATADIR%%/Tools/buildbot/clean.bat
%%PORTDATA%%%%DATADIR%%/Tools/buildbot/external-amd64.bat
%%PORTDATA%%%%DATADIR%%/Tools/buildbot/external-common.bat
%%PORTDATA%%%%DATADIR%%/Tools/buildbot/external.bat
%%PORTDATA%%%%DATADIR%%/Tools/buildbot/test-amd64.bat
%%PORTDATA%%%%DATADIR%%/Tools/buildbot/test.bat
%%PORTDATA%%%%DATADIR%%/Tools/ccbench/ccbench.py
%%PORTDATA%%%%DATADIR%%/Tools/compiler/ACKS
%%PORTDATA%%%%DATADIR%%/Tools/compiler/README
%%PORTDATA%%%%DATADIR%%/Tools/compiler/ast.txt
%%PORTDATA%%%%DATADIR%%/Tools/compiler/astgen.py
%%PORTDATA%%%%DATADIR%%/Tools/compiler/compile.py
%%PORTDATA%%%%DATADIR%%/Tools/compiler/demo.py
%%PORTDATA%%%%DATADIR%%/Tools/compiler/dumppyc.py
%%PORTDATA%%%%DATADIR%%/Tools/compiler/regrtest.py
%%PORTDATA%%%%DATADIR%%/Tools/compiler/stacktest.py
%%PORTDATA%%%%DATADIR%%/Tools/faqwiz/README
%%PORTDATA%%%%DATADIR%%/Tools/faqwiz/faqconf.py
%%PORTDATA%%%%DATADIR%%/Tools/faqwiz/faqcust.py
%%PORTDATA%%%%DATADIR%%/Tools/faqwiz/faqw.py
%%PORTDATA%%%%DATADIR%%/Tools/faqwiz/faqwiz.py
%%PORTDATA%%%%DATADIR%%/Tools/faqwiz/move-faqwiz.sh
%%PORTDATA%%%%DATADIR%%/Tools/framer/README.txt
%%PORTDATA%%%%DATADIR%%/Tools/framer/TODO.txt
%%PORTDATA%%%%DATADIR%%/Tools/framer/example.py
%%PORTDATA%%%%DATADIR%%/Tools/framer/framer/__init__.py
%%PORTDATA%%%%DATADIR%%/Tools/framer/framer/bases.py
%%PORTDATA%%%%DATADIR%%/Tools/framer/framer/function.py
%%PORTDATA%%%%DATADIR%%/Tools/framer/framer/member.py
%%PORTDATA%%%%DATADIR%%/Tools/framer/framer/slots.py
%%PORTDATA%%%%DATADIR%%/Tools/framer/framer/struct.py
%%PORTDATA%%%%DATADIR%%/Tools/framer/framer/structparse.py
%%PORTDATA%%%%DATADIR%%/Tools/framer/framer/template.py
%%PORTDATA%%%%DATADIR%%/Tools/framer/framer/util.py
%%PORTDATA%%%%DATADIR%%/Tools/freeze/README
%%PORTDATA%%%%DATADIR%%/Tools/freeze/bkfile.py
%%PORTDATA%%%%DATADIR%%/Tools/freeze/checkextensions.py
%%PORTDATA%%%%DATADIR%%/Tools/freeze/checkextensions_win32.py
%%PORTDATA%%%%DATADIR%%/Tools/freeze/extensions_win32.ini
%%PORTDATA%%%%DATADIR%%/Tools/freeze/freeze.py
%%PORTDATA%%%%DATADIR%%/Tools/freeze/hello.py
%%PORTDATA%%%%DATADIR%%/Tools/freeze/makeconfig.py
%%PORTDATA%%%%DATADIR%%/Tools/freeze/makefreeze.py
%%PORTDATA%%%%DATADIR%%/Tools/freeze/makemakefile.py
%%PORTDATA%%%%DATADIR%%/Tools/freeze/parsesetup.py
%%PORTDATA%%%%DATADIR%%/Tools/freeze/win32.html
%%PORTDATA%%%%DATADIR%%/Tools/freeze/winmakemakefile.py
%%PORTDATA%%%%DATADIR%%/Tools/gdb/libpython.py
%%PORTDATA%%%%DATADIR%%/Tools/i18n/makelocalealias.py
%%PORTDATA%%%%DATADIR%%/Tools/i18n/msgfmt.py
%%PORTDATA%%%%DATADIR%%/Tools/i18n/pygettext.py
%%PORTDATA%%%%DATADIR%%/Tools/iobench/iobench.py
%%PORTDATA%%%%DATADIR%%/Tools/msi/README.txt
%%PORTDATA%%%%DATADIR%%/Tools/msi/crtlicense.txt
%%PORTDATA%%%%DATADIR%%/Tools/msi/msi.py
%%PORTDATA%%%%DATADIR%%/Tools/msi/msilib.py
%%PORTDATA%%%%DATADIR%%/Tools/msi/msisupport.c
%%PORTDATA%%%%DATADIR%%/Tools/msi/msisupport.mak
%%PORTDATA%%%%DATADIR%%/Tools/msi/schema.py
%%PORTDATA%%%%DATADIR%%/Tools/msi/sequence.py
%%PORTDATA%%%%DATADIR%%/Tools/msi/uisample.py
%%PORTDATA%%%%DATADIR%%/Tools/msi/uuids.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Arithmetic.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Calls.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/CommandLine.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Constructs.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Dict.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Exceptions.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Imports.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Instances.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/LICENSE
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Lists.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Lookups.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/NewInstances.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Numbers.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/README
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Setup.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Strings.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Tuples.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/Unicode.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/With.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/clockres.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/package/__init__.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/package/submodule.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/pybench.py
%%PORTDATA%%%%DATADIR%%/Tools/pybench/systimes.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/ChipViewer.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/ColorDB.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/DetailsViewer.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/ListViewer.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/Main.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/PyncheWidget.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/README
%%PORTDATA%%%%DATADIR%%/Tools/pynche/StripViewer.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/Switchboard.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/TextViewer.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/TypeinViewer.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/X/rgb.txt
%%PORTDATA%%%%DATADIR%%/Tools/pynche/X/xlicense.txt
%%PORTDATA%%%%DATADIR%%/Tools/pynche/__init__.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/html40colors.txt
%%PORTDATA%%%%DATADIR%%/Tools/pynche/namedcolors.txt
%%PORTDATA%%%%DATADIR%%/Tools/pynche/pyColorChooser.py
%%PORTDATA%%%%DATADIR%%/Tools/pynche/pynche
%%PORTDATA%%%%DATADIR%%/Tools/pynche/pynche.pyw
%%PORTDATA%%%%DATADIR%%/Tools/pynche/webcolors.txt
%%PORTDATA%%%%DATADIR%%/Tools/pynche/websafe.txt
%%PORTDATA%%%%DATADIR%%/Tools/scripts/2to3
%%PORTDATA%%%%DATADIR%%/Tools/scripts/README
%%PORTDATA%%%%DATADIR%%/Tools/scripts/analyze_dxp.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/byext.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/byteyears.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/checkappend.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/checkpyc.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/classfix.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/cleanfuture.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/combinerefs.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/copytime.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/crlf.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/cvsfiles.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/db2pickle.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/diff.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/dutree.doc
%%PORTDATA%%%%DATADIR%%/Tools/scripts/dutree.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/eptags.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/find_recursionlimit.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/finddiv.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/findlinksto.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/findnocoding.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/fixcid.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/fixdiv.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/fixheader.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/fixnotice.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/fixps.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/ftpmirror.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/google.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/gprof2html.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/h2py.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/hotshotmain.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/idle
%%PORTDATA%%%%DATADIR%%/Tools/scripts/ifdef.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/lfcr.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/linktree.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/lll.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/logmerge.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/mailerdaemon.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/md5sum.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/methfix.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/mkreal.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/ndiff.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/nm2def.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/objgraph.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/parseentities.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/patchcheck.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/pathfix.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/pdeps.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/pickle2db.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/pindent.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/ptags.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/pydoc
%%PORTDATA%%%%DATADIR%%/Tools/scripts/pydocgui.pyw
%%PORTDATA%%%%DATADIR%%/Tools/scripts/pysource.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/redemo.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/reindent.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/reindent-rst.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/rgrep.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/serve.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/setup.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/smtpd.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/suff.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/svneol.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/texcheck.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/texi2html.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/treesync.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/untabify.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/which.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/win_add2path.py
%%PORTDATA%%%%DATADIR%%/Tools/scripts/xxci.py
%%PORTDATA%%%%DATADIR%%/Tools/ssl/get-remote-certificate.py
%%PORTDATA%%%%DATADIR%%/Tools/unicode/Makefile
%%PORTDATA%%%%DATADIR%%/Tools/unicode/comparecodecs.py
%%PORTDATA%%%%DATADIR%%/Tools/unicode/gencjkcodecs.py
%%PORTDATA%%%%DATADIR%%/Tools/unicode/gencodec.py
%%PORTDATA%%%%DATADIR%%/Tools/unicode/genwincodecs.bat
%%PORTDATA%%%%DATADIR%%/Tools/unicode/genwincodec.py
%%PORTDATA%%%%DATADIR%%/Tools/unicode/listcodecs.py
%%PORTDATA%%%%DATADIR%%/Tools/unicode/makeunicodedata.py
%%PORTDATA%%%%DATADIR%%/Tools/unicode/mkstringprep.py
%%PORTDATA%%%%DATADIR%%/Tools/unicode/python-mappings/CP1140.TXT
%%PORTDATA%%%%DATADIR%%/Tools/unicode/python-mappings/KOI8-U.TXT
%%PORTDATA%%%%DATADIR%%/Tools/unicode/python-mappings/TIS-620.TXT
%%PORTDATA%%%%DATADIR%%/Tools/versioncheck/README
%%PORTDATA%%%%DATADIR%%/Tools/versioncheck/_checkversion.py
%%PORTDATA%%%%DATADIR%%/Tools/versioncheck/checkversions.py
%%PORTDATA%%%%DATADIR%%/Tools/versioncheck/pyversioncheck.py
%%PORTDATA%%%%DATADIR%%/Tools/webchecker/README
%%PORTDATA%%%%DATADIR%%/Tools/webchecker/tktools.py
%%PORTDATA%%%%DATADIR%%/Tools/webchecker/wcgui.py
%%PORTDATA%%%%DATADIR%%/Tools/webchecker/wcmac.py
%%PORTDATA%%%%DATADIR%%/Tools/webchecker/webchecker.py
%%PORTDATA%%%%DATADIR%%/Tools/webchecker/websucker.py
%%PORTDATA%%%%DATADIR%%/Tools/webchecker/wsgui.py
%%PORTDATA%%%%DATADIR%%/Tools/world/README
%%PORTDATA%%%%DATADIR%%/Tools/world/world
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/world
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/webchecker
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/versioncheck
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/unicode/python-mappings
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/unicode
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/ssl
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/scripts
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/pynche/X
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/pynche
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/pybench/package
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/pybench
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/msi
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/iobench
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/i18n
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/gdb
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/freeze
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/framer/framer
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/framer
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/faqwiz
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/compiler
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/ccbench
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/buildbot
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/bgen/bgen
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/bgen
%%PORTDATA%%@dirrm %%DATADIR%%/Tools/audiopy
%%PORTDATA%%@dirrm %%DATADIR%%/Tools
%%PORTDATA%%@dirrm %%DATADIR%%
%%DATADIR%%/Tools/README
%%DATADIR%%/Tools/audiopy/README
%%DATADIR%%/Tools/audiopy/audiopy
%%DATADIR%%/Tools/bgen/README
%%DATADIR%%/Tools/bgen/bgen/bgen.py
%%DATADIR%%/Tools/bgen/bgen/bgenBuffer.py
%%DATADIR%%/Tools/bgen/bgen/bgenGenerator.py
%%DATADIR%%/Tools/bgen/bgen/bgenGeneratorGroup.py
%%DATADIR%%/Tools/bgen/bgen/bgenHeapBuffer.py
%%DATADIR%%/Tools/bgen/bgen/bgenModule.py
%%DATADIR%%/Tools/bgen/bgen/bgenObjectDefinition.py
%%DATADIR%%/Tools/bgen/bgen/bgenOutput.py
%%DATADIR%%/Tools/bgen/bgen/bgenStackBuffer.py
%%DATADIR%%/Tools/bgen/bgen/bgenStringBuffer.py
%%DATADIR%%/Tools/bgen/bgen/bgenType.py
%%DATADIR%%/Tools/bgen/bgen/bgenVariable.py
%%DATADIR%%/Tools/bgen/bgen/macsupport.py
%%DATADIR%%/Tools/bgen/bgen/scantools.py
%%DATADIR%%/Tools/buildbot/README.tcltk-AMD64
%%DATADIR%%/Tools/buildbot/build-amd64.bat
%%DATADIR%%/Tools/buildbot/build.bat
%%DATADIR%%/Tools/buildbot/buildmsi.bat
%%DATADIR%%/Tools/buildbot/clean-amd64.bat
%%DATADIR%%/Tools/buildbot/clean.bat
%%DATADIR%%/Tools/buildbot/external-amd64.bat
%%DATADIR%%/Tools/buildbot/external-common.bat
%%DATADIR%%/Tools/buildbot/external.bat
%%DATADIR%%/Tools/buildbot/test-amd64.bat
%%DATADIR%%/Tools/buildbot/test.bat
%%DATADIR%%/Tools/ccbench/ccbench.py
%%DATADIR%%/Tools/compiler/ACKS
%%DATADIR%%/Tools/compiler/README
%%DATADIR%%/Tools/compiler/ast.txt
%%DATADIR%%/Tools/compiler/astgen.py
%%DATADIR%%/Tools/compiler/compile.py
%%DATADIR%%/Tools/compiler/demo.py
%%DATADIR%%/Tools/compiler/dumppyc.py
%%DATADIR%%/Tools/compiler/regrtest.py
%%DATADIR%%/Tools/compiler/stacktest.py
%%DATADIR%%/Tools/faqwiz/README
%%DATADIR%%/Tools/faqwiz/faqconf.py
%%DATADIR%%/Tools/faqwiz/faqcust.py
%%DATADIR%%/Tools/faqwiz/faqw.py
%%DATADIR%%/Tools/faqwiz/faqwiz.py
%%DATADIR%%/Tools/faqwiz/move-faqwiz.sh
%%DATADIR%%/Tools/framer/README.txt
%%DATADIR%%/Tools/framer/TODO.txt
%%DATADIR%%/Tools/framer/example.py
%%DATADIR%%/Tools/framer/framer/__init__.py
%%DATADIR%%/Tools/framer/framer/bases.py
%%DATADIR%%/Tools/framer/framer/function.py
%%DATADIR%%/Tools/framer/framer/member.py
%%DATADIR%%/Tools/framer/framer/slots.py
%%DATADIR%%/Tools/framer/framer/struct.py
%%DATADIR%%/Tools/framer/framer/structparse.py
%%DATADIR%%/Tools/framer/framer/template.py
%%DATADIR%%/Tools/framer/framer/util.py
%%DATADIR%%/Tools/freeze/README
%%DATADIR%%/Tools/freeze/bkfile.py
%%DATADIR%%/Tools/freeze/checkextensions.py
%%DATADIR%%/Tools/freeze/checkextensions_win32.py
%%DATADIR%%/Tools/freeze/extensions_win32.ini
%%DATADIR%%/Tools/freeze/freeze.py
%%DATADIR%%/Tools/freeze/hello.py
%%DATADIR%%/Tools/freeze/makeconfig.py
%%DATADIR%%/Tools/freeze/makefreeze.py
%%DATADIR%%/Tools/freeze/makemakefile.py
%%DATADIR%%/Tools/freeze/parsesetup.py
%%DATADIR%%/Tools/freeze/win32.html
%%DATADIR%%/Tools/freeze/winmakemakefile.py
%%DATADIR%%/Tools/gdb/libpython.py
%%DATADIR%%/Tools/i18n/makelocalealias.py
%%DATADIR%%/Tools/i18n/msgfmt.py
%%DATADIR%%/Tools/i18n/pygettext.py
%%DATADIR%%/Tools/iobench/iobench.py
%%DATADIR%%/Tools/msi/README.txt
%%DATADIR%%/Tools/msi/crtlicense.txt
%%DATADIR%%/Tools/msi/msi.py
%%DATADIR%%/Tools/msi/msilib.py
%%DATADIR%%/Tools/msi/msisupport.c
%%DATADIR%%/Tools/msi/msisupport.mak
%%DATADIR%%/Tools/msi/schema.py
%%DATADIR%%/Tools/msi/sequence.py
%%DATADIR%%/Tools/msi/uisample.py
%%DATADIR%%/Tools/msi/uuids.py
%%DATADIR%%/Tools/pybench/Arithmetic.py
%%DATADIR%%/Tools/pybench/Calls.py
%%DATADIR%%/Tools/pybench/CommandLine.py
%%DATADIR%%/Tools/pybench/Constructs.py
%%DATADIR%%/Tools/pybench/Dict.py
%%DATADIR%%/Tools/pybench/Exceptions.py
%%DATADIR%%/Tools/pybench/Imports.py
%%DATADIR%%/Tools/pybench/Instances.py
%%DATADIR%%/Tools/pybench/LICENSE
%%DATADIR%%/Tools/pybench/Lists.py
%%DATADIR%%/Tools/pybench/Lookups.py
%%DATADIR%%/Tools/pybench/NewInstances.py
%%DATADIR%%/Tools/pybench/Numbers.py
%%DATADIR%%/Tools/pybench/README
%%DATADIR%%/Tools/pybench/Setup.py
%%DATADIR%%/Tools/pybench/Strings.py
%%DATADIR%%/Tools/pybench/Tuples.py
%%DATADIR%%/Tools/pybench/Unicode.py
%%DATADIR%%/Tools/pybench/With.py
%%DATADIR%%/Tools/pybench/clockres.py
%%DATADIR%%/Tools/pybench/package/__init__.py
%%DATADIR%%/Tools/pybench/package/submodule.py
%%DATADIR%%/Tools/pybench/pybench.py
%%DATADIR%%/Tools/pybench/systimes.py
%%DATADIR%%/Tools/pynche/ChipViewer.py
%%DATADIR%%/Tools/pynche/ColorDB.py
%%DATADIR%%/Tools/pynche/DetailsViewer.py
%%DATADIR%%/Tools/pynche/ListViewer.py
%%DATADIR%%/Tools/pynche/Main.py
%%DATADIR%%/Tools/pynche/PyncheWidget.py
%%DATADIR%%/Tools/pynche/README
%%DATADIR%%/Tools/pynche/StripViewer.py
%%DATADIR%%/Tools/pynche/Switchboard.py
%%DATADIR%%/Tools/pynche/TextViewer.py
%%DATADIR%%/Tools/pynche/TypeinViewer.py
%%DATADIR%%/Tools/pynche/X/rgb.txt
%%DATADIR%%/Tools/pynche/X/xlicense.txt
%%DATADIR%%/Tools/pynche/__init__.py
%%DATADIR%%/Tools/pynche/html40colors.txt
%%DATADIR%%/Tools/pynche/namedcolors.txt
%%DATADIR%%/Tools/pynche/pyColorChooser.py
%%DATADIR%%/Tools/pynche/pynche
%%DATADIR%%/Tools/pynche/pynche.pyw
%%DATADIR%%/Tools/pynche/webcolors.txt
%%DATADIR%%/Tools/pynche/websafe.txt
%%DATADIR%%/Tools/scripts/2to3
%%DATADIR%%/Tools/scripts/README
%%DATADIR%%/Tools/scripts/analyze_dxp.py
%%DATADIR%%/Tools/scripts/byext.py
%%DATADIR%%/Tools/scripts/byteyears.py
%%DATADIR%%/Tools/scripts/checkappend.py
%%DATADIR%%/Tools/scripts/checkpyc.py
%%DATADIR%%/Tools/scripts/classfix.py
%%DATADIR%%/Tools/scripts/cleanfuture.py
%%DATADIR%%/Tools/scripts/combinerefs.py
%%DATADIR%%/Tools/scripts/copytime.py
%%DATADIR%%/Tools/scripts/crlf.py
%%DATADIR%%/Tools/scripts/cvsfiles.py
%%DATADIR%%/Tools/scripts/db2pickle.py
%%DATADIR%%/Tools/scripts/diff.py
%%DATADIR%%/Tools/scripts/dutree.doc
%%DATADIR%%/Tools/scripts/dutree.py
%%DATADIR%%/Tools/scripts/eptags.py
%%DATADIR%%/Tools/scripts/find_recursionlimit.py
%%DATADIR%%/Tools/scripts/finddiv.py
%%DATADIR%%/Tools/scripts/findlinksto.py
%%DATADIR%%/Tools/scripts/findnocoding.py
%%DATADIR%%/Tools/scripts/fixcid.py
%%DATADIR%%/Tools/scripts/fixdiv.py
%%DATADIR%%/Tools/scripts/fixheader.py
%%DATADIR%%/Tools/scripts/fixnotice.py
%%DATADIR%%/Tools/scripts/fixps.py
%%DATADIR%%/Tools/scripts/ftpmirror.py
%%DATADIR%%/Tools/scripts/google.py
%%DATADIR%%/Tools/scripts/gprof2html.py
%%DATADIR%%/Tools/scripts/h2py.py
%%DATADIR%%/Tools/scripts/hotshotmain.py
%%DATADIR%%/Tools/scripts/idle
%%DATADIR%%/Tools/scripts/ifdef.py
%%DATADIR%%/Tools/scripts/lfcr.py
%%DATADIR%%/Tools/scripts/linktree.py
%%DATADIR%%/Tools/scripts/lll.py
%%DATADIR%%/Tools/scripts/logmerge.py
%%DATADIR%%/Tools/scripts/mailerdaemon.py
%%DATADIR%%/Tools/scripts/md5sum.py
%%DATADIR%%/Tools/scripts/methfix.py
%%DATADIR%%/Tools/scripts/mkreal.py
%%DATADIR%%/Tools/scripts/ndiff.py
%%DATADIR%%/Tools/scripts/nm2def.py
%%DATADIR%%/Tools/scripts/objgraph.py
%%DATADIR%%/Tools/scripts/parseentities.py
%%DATADIR%%/Tools/scripts/patchcheck.py
%%DATADIR%%/Tools/scripts/pathfix.py
%%DATADIR%%/Tools/scripts/pdeps.py
%%DATADIR%%/Tools/scripts/pickle2db.py
%%DATADIR%%/Tools/scripts/pindent.py
%%DATADIR%%/Tools/scripts/ptags.py
%%DATADIR%%/Tools/scripts/pydoc
%%DATADIR%%/Tools/scripts/pydocgui.pyw
%%DATADIR%%/Tools/scripts/pysource.py
%%DATADIR%%/Tools/scripts/redemo.py
%%DATADIR%%/Tools/scripts/reindent.py
%%DATADIR%%/Tools/scripts/reindent-rst.py
%%DATADIR%%/Tools/scripts/rgrep.py
%%DATADIR%%/Tools/scripts/serve.py
%%DATADIR%%/Tools/scripts/setup.py
%%DATADIR%%/Tools/scripts/smtpd.py
%%DATADIR%%/Tools/scripts/suff.py
%%DATADIR%%/Tools/scripts/svneol.py
%%DATADIR%%/Tools/scripts/texcheck.py
%%DATADIR%%/Tools/scripts/texi2html.py
%%DATADIR%%/Tools/scripts/treesync.py
%%DATADIR%%/Tools/scripts/untabify.py
%%DATADIR%%/Tools/scripts/which.py
%%DATADIR%%/Tools/scripts/win_add2path.py
%%DATADIR%%/Tools/scripts/xxci.py
%%DATADIR%%/Tools/ssl/get-remote-certificate.py
%%DATADIR%%/Tools/unicode/Makefile
%%DATADIR%%/Tools/unicode/comparecodecs.py
%%DATADIR%%/Tools/unicode/gencjkcodecs.py
%%DATADIR%%/Tools/unicode/gencodec.py
%%DATADIR%%/Tools/unicode/genwincodecs.bat
%%DATADIR%%/Tools/unicode/genwincodec.py
%%DATADIR%%/Tools/unicode/listcodecs.py
%%DATADIR%%/Tools/unicode/makeunicodedata.py
%%DATADIR%%/Tools/unicode/mkstringprep.py
%%DATADIR%%/Tools/unicode/python-mappings/CP1140.TXT
%%DATADIR%%/Tools/unicode/python-mappings/KOI8-U.TXT
%%DATADIR%%/Tools/unicode/python-mappings/TIS-620.TXT
%%DATADIR%%/Tools/versioncheck/README
%%DATADIR%%/Tools/versioncheck/_checkversion.py
%%DATADIR%%/Tools/versioncheck/checkversions.py
%%DATADIR%%/Tools/versioncheck/pyversioncheck.py
%%DATADIR%%/Tools/webchecker/README
%%DATADIR%%/Tools/webchecker/tktools.py
%%DATADIR%%/Tools/webchecker/wcgui.py
%%DATADIR%%/Tools/webchecker/wcmac.py
%%DATADIR%%/Tools/webchecker/webchecker.py
%%DATADIR%%/Tools/webchecker/websucker.py
%%DATADIR%%/Tools/webchecker/wsgui.py
%%DATADIR%%/Tools/world/README
%%DATADIR%%/Tools/world/world
@dirrm %%DATADIR%%/Tools/world
@dirrm %%DATADIR%%/Tools/webchecker
@dirrm %%DATADIR%%/Tools/versioncheck
@dirrm %%DATADIR%%/Tools/unicode/python-mappings
@dirrm %%DATADIR%%/Tools/unicode
@dirrm %%DATADIR%%/Tools/ssl
@dirrm %%DATADIR%%/Tools/scripts
@dirrm %%DATADIR%%/Tools/pynche/X
@dirrm %%DATADIR%%/Tools/pynche
@dirrm %%DATADIR%%/Tools/pybench/package
@dirrm %%DATADIR%%/Tools/pybench
@dirrm %%DATADIR%%/Tools/msi
@dirrm %%DATADIR%%/Tools/iobench
@dirrm %%DATADIR%%/Tools/i18n
@dirrm %%DATADIR%%/Tools/gdb
@dirrm %%DATADIR%%/Tools/freeze
@dirrm %%DATADIR%%/Tools/framer/framer
@dirrm %%DATADIR%%/Tools/framer
@dirrm %%DATADIR%%/Tools/faqwiz
@dirrm %%DATADIR%%/Tools/compiler
@dirrm %%DATADIR%%/Tools/ccbench
@dirrm %%DATADIR%%/Tools/buildbot
@dirrm %%DATADIR%%/Tools/bgen/bgen
@dirrm %%DATADIR%%/Tools/bgen
@dirrm %%DATADIR%%/Tools/audiopy
@dirrm %%DATADIR%%/Tools
@dirrm %%DATADIR%%
%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/zlib
%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/xml
%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/turtle
@ -2393,6 +2428,7 @@ man/man1/python2.7.1.gz
@dirrm %%PYTHON_LIBDIR%%/test/cjkencodings
@dirrm %%PYTHON_LIBDIR%%/test/data
@dirrm %%PYTHON_LIBDIR%%/test/decimaltestdata
@dirrm %%PYTHON_LIBDIR%%/test/imghdrdata
@dirrm %%PYTHON_LIBDIR%%/test/subprocessdata
@dirrm %%PYTHON_LIBDIR%%/test/tracedmodules
@dirrm %%PYTHON_LIBDIR%%/test/xmltestdata
@ -2401,12 +2437,7 @@ man/man1/python2.7.1.gz
@dirrm %%PYTHON_LIBDIR%%/sqlite3
@dirrm %%PYTHON_LIBDIR%%/site-packages
@dirrm %%PYTHON_LIBDIR%%/pydoc_data
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd11
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd10
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd9
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd8
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd7
@dirrm %%PYTHON_LIBDIR%%/plat-freebsd6
@dirrm %%PYTHON_LIBDIR%%/plat-%%PYTHON_PLATFORM%%
@dirrm %%PYTHON_LIBDIR%%/multiprocessing/dummy
@dirrm %%PYTHON_LIBDIR%%/multiprocessing
@dirrm %%PYTHON_LIBDIR%%/logging
@ -2425,6 +2456,7 @@ man/man1/python2.7.1.gz
@dirrm %%PYTHON_LIBDIR%%/importlib
@dirrm %%PYTHON_LIBDIR%%/json/tests
@dirrm %%PYTHON_LIBDIR%%/json
@dirrm %%PYTHON_LIBDIR%%/idlelib/idle_test
@dirrm %%PYTHON_LIBDIR%%/idlelib/Icons
@dirrm %%PYTHON_LIBDIR%%/idlelib
@dirrm %%PYTHON_LIBDIR%%/hotshot