UPDATE: lang/python 3.11.10 -> 3.12.8

This commit is contained in:
purplerain 2025-01-11 00:51:10 +00:00
parent 15bd75493d
commit 0bd916750b
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
20 changed files with 8535 additions and 9180 deletions

View file

@ -3,16 +3,21 @@
# requirement of the PSF license, if it constitutes a change to
# Python itself.
FULL_VERSION = 3.11.10
SHARED_LIBS = python3.11 0.0
VERSION_SPEC = >=3.11,<3.12
PORTROACH = limit:^3\.11
FULL_VERSION = 3.12.8
SHARED_LIBS = python3.12 0.0
VERSION_SPEC = >=3.12,<3.13
PORTROACH = limit:^3\.12
REVISION = 0
REVISION-main = 1
AUTOCONF_VERSION = 2.71
CONFIGURE_ENV += ac_cv_working_openssl_hashlib=yes \
TCLTK_CFLAGS="-I${MODTCL_INCDIR} -I${MODTK_INCDIR} -I${X11BASE}/include" \
TCLTK_LIBS="-L${X11BASE}/lib -l${MODTCL_LIB} -l${MODTK_LIB} -lpthread"
TCLTK_LIBS="-L${X11BASE}/lib -l${MODTCL_LIB} -l${MODTK_LIB} -lpthread" \
ac_cv_lib_panelw_update_panels=yes \
PANEL_LIBS="-lncursesw -lpanelw"
# disable bundled pip in favour of the version from devel/py-pip
CONFIGURE_ARGS += --with-ensurepip=no

View file

@ -1,2 +1,2 @@
SHA256 (Python-3.11.10.tgz) = kvL68kJoG/pAbVOlHhfULFNzr/4joTDNlpfhMu9XRwY=
SIZE (Python-3.11.10.tgz) = 26532827
SHA256 (Python-3.12.8.tgz) = WXhDXEeaN2ZIywKFTfO4kqzp7X0ysf6tZScSvunQOkU=
SIZE (Python-3.12.8.tgz) = 27078774

View file

@ -4,7 +4,7 @@ of changes made to this version of Python for the OpenBSD package.
1. OpenBSD packages require that sonames are under control of the
ports infrastructure, configure.ac was patched to do this.
2. Conditionally enable modern hashes according to their availability.
2. Disable scrypt, which is not currently available in LibreSSL.
3. Disable libuuid, otherwise Python prefers it over the libc uuid
functions.

View file

@ -0,0 +1,12 @@
Index: Lib/test/test_asyncio/test_events.py
--- Lib/test/test_asyncio/test_events.py.orig
+++ Lib/test/test_asyncio/test_events.py
@@ -2226,7 +2226,7 @@ else:
@support.requires_mac_ver(10, 9)
# Issue #20667: KqueueEventLoopTests.test_read_pty_output()
# hangs on OpenBSD 5.5
- @unittest.skipIf(sys.platform.startswith('openbsd'),
+ @unittest.skipIf(sys.platform.startswith('secbsd'),
'test hangs on OpenBSD')
def test_read_pty_output(self):
super().test_read_pty_output()

View file

@ -1,12 +1,12 @@
Index: Lib/test/test_fcntl.py
--- Lib/test/test_fcntl.py.orig
+++ Lib/test/test_fcntl.py
@@ -24,7 +24,7 @@ def get_lockdata():
else:
start_len = "qq"
@@ -56,7 +56,7 @@ class TestFcntl(unittest.TestCase):
else:
start_len = "qq"
- if (sys.platform.startswith(('netbsd', 'freebsd', 'openbsd'))
+ if (sys.platform.startswith(('netbsd', 'freebsd', 'openbsd', 'secbsd'))
or sys.platform == 'darwin'):
if struct.calcsize('l') == 8:
off_t = 'l'
- if (sys.platform.startswith(('netbsd', 'freebsd', 'openbsd'))
+ if (sys.platform.startswith(('netbsd', 'freebsd', 'openbsd', 'secbsd'))
or sys.platform == 'darwin'):
if struct.calcsize('l') == 8:
off_t = 'l'

View file

@ -0,0 +1,12 @@
Index: Lib/test/test_posix.py
--- Lib/test/test_posix.py.orig
+++ Lib/test/test_posix.py
@@ -413,7 +413,7 @@ class PosixTester(unittest.TestCase):
# issue33655: Also ignore EINVAL on *BSD since ZFS is also
# often used there.
if inst.errno == errno.EINVAL and sys.platform.startswith(
- ('sunos', 'freebsd', 'openbsd', 'gnukfreebsd')):
+ ('sunos', 'freebsd', 'openbsd', 'secbsd', 'gnukfreebsd')):
raise unittest.SkipTest("test may fail on ZFS filesystems")
elif inst.errno == errno.EOPNOTSUPP and sys.platform.startswith("netbsd"):
raise unittest.SkipTest("test may fail on FFS filesystems")

View file

@ -1,7 +1,7 @@
Index: Lib/test/test_subprocess.py
--- Lib/test/test_subprocess.py.orig
+++ Lib/test/test_subprocess.py
@@ -2440,7 +2440,7 @@ class POSIXProcessTestCase(BaseTestCase):
@@ -2435,7 +2435,7 @@ class POSIXProcessTestCase(BaseTestCase):
getattr(p, method)(*args)
return p

View file

@ -1,7 +1,7 @@
Index: Lib/test/test_tempfile.py
--- Lib/test/test_tempfile.py.orig
+++ Lib/test/test_tempfile.py
@@ -25,7 +25,7 @@ has_spawnl = hasattr(os, 'spawnl')
@@ -28,7 +28,7 @@ has_spawnl = hasattr(os, 'spawnl')
# TEST_FILES may need to be tweaked for systems depending on the maximum
# number of files that can be opened at one time (see ulimit -n)

View file

@ -1,57 +1,17 @@
LibreSSL has NID_sha3_256 and NID_sha512_256 now, but it's simpler to
handle -stable updates if we keep the patch until 7.4 is out.
Index: Modules/_hashopenssl.c
--- Modules/_hashopenssl.c.orig
+++ Modules/_hashopenssl.c
@@ -45,10 +45,18 @@
@@ -44,7 +44,9 @@
#define MUNCH_SIZE INT_MAX
+#ifdef NID_id_scrypt
#define PY_OPENSSL_HAS_SCRYPT 1
+#endif
+#ifdef NID_sha3_256
#if defined(NID_sha3_224) && defined(NID_sha3_256) && defined(NID_sha3_384) && defined(NID_sha3_512)
#define PY_OPENSSL_HAS_SHA3 1
+#endif
+#ifdef NID_shake256
#define PY_OPENSSL_HAS_SHAKE 1
+#endif
+#ifdef NID_blake2s256
#define PY_OPENSSL_HAS_BLAKE2 1
+#endif
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
#define PY_EVP_MD EVP_MD
@@ -120,19 +128,27 @@ static const py_hashentry_t py_hashes[] = {
PY_HASH_ENTRY(Py_hash_sha384, "SHA384", SN_sha384, NID_sha384),
PY_HASH_ENTRY(Py_hash_sha512, "SHA512", SN_sha512, NID_sha512),
/* truncated sha2 */
+#ifdef NID_sha512_256
PY_HASH_ENTRY(Py_hash_sha512_224, "SHA512_224", SN_sha512_224, NID_sha512_224),
PY_HASH_ENTRY(Py_hash_sha512_256, "SHA512_256", SN_sha512_256, NID_sha512_256),
+#endif
/* sha3 */
+#ifdef PY_OPENSSL_HAS_SHA3
PY_HASH_ENTRY(Py_hash_sha3_224, NULL, SN_sha3_224, NID_sha3_224),
PY_HASH_ENTRY(Py_hash_sha3_256, NULL, SN_sha3_256, NID_sha3_256),
PY_HASH_ENTRY(Py_hash_sha3_384, NULL, SN_sha3_384, NID_sha3_384),
PY_HASH_ENTRY(Py_hash_sha3_512, NULL, SN_sha3_512, NID_sha3_512),
+#endif
/* sha3 shake */
+#ifdef PY_OPENSSL_HAS_SHAKE
PY_HASH_ENTRY(Py_hash_shake_128, NULL, SN_shake128, NID_shake128),
PY_HASH_ENTRY(Py_hash_shake_256, NULL, SN_shake256, NID_shake256),
+#endif
/* blake2 digest */
+#ifdef PY_OPENSSL_HAS_BLAKE2
PY_HASH_ENTRY(Py_hash_blake2s, "blake2s256", SN_blake2s256, NID_blake2s256),
PY_HASH_ENTRY(Py_hash_blake2b, "blake2b512", SN_blake2b512, NID_blake2b512),
+#endif
PY_HASH_ENTRY(NULL, NULL, NULL, 0),
};
@@ -874,11 +890,15 @@ py_evp_fromname(PyObject *module, const char *digestna
#endif
@@ -922,11 +924,15 @@ py_evp_fromname(PyObject *module, const char *digestna
goto exit;
}

View file

@ -1,7 +1,7 @@
Index: Modules/_ssl.c
--- Modules/_ssl.c.orig
+++ Modules/_ssl.c
@@ -4541,7 +4541,7 @@ set_sni_callback(PySSLContext *self, PyObject *arg, vo
@@ -4469,7 +4469,7 @@ set_sni_callback(PySSLContext *self, PyObject *arg, vo
return 0;
}

View file

@ -1,7 +1,7 @@
Index: Python/fileutils.c
--- Python/fileutils.c.orig
+++ Python/fileutils.c
@@ -2614,9 +2614,9 @@ done:
@@ -2875,9 +2875,9 @@ done:
* non-opened fd in the middle.
* 2b. If fdwalk(3) isn't available, just do a plain close(2) loop.
*/
@ -9,7 +9,7 @@ Index: Python/fileutils.c
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__SecBSD__)
# define USE_CLOSEFROM
-#endif /* __FreeBSD__ */
+#endif /* __FreeBSD__ || __OpenBSD__ */
+#endif /* __FreeBSD__ || __OpenBSD__ || __SecBSD__ */
#ifdef HAVE_FDWALK
# define USE_FDWALK

View file

@ -7,34 +7,34 @@
Index: configure.ac
--- configure.ac.orig
+++ configure.ac
@@ -249,7 +249,7 @@ VERSION=PYTHON_VERSION
@@ -251,7 +251,7 @@ VERSION=PYTHON_VERSION
# Version number of Python's own shared library file.
AC_SUBST(SOVERSION)
AC_SUBST([SOVERSION])
-SOVERSION=1.0
+SOVERSION=${LIBpython3.11_VERSION}
+SOVERSION=0.0
# The later definition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables
# certain features on NetBSD, so we need _NETBSD_SOURCE to re-enable
@@ -645,7 +645,7 @@ case $ac_sys_system/$ac_sys_release in
# As this has a different meaning on Linux, only define it on OpenBSD
AC_DEFINE(_BSD_SOURCE, 1, [Define on OpenBSD to activate all library features])
@@ -651,7 +651,7 @@ case $ac_sys_system/$ac_sys_release in
AC_DEFINE([_BSD_SOURCE], [1],
[Define on OpenBSD to activate all library features])
;;
- OpenBSD/*)
+ OpenBSD/*|SecBSD/*)
# OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is
# also defined. This can be overridden by defining _BSD_SOURCE
# As this has a different meaning on Linux, only define it on OpenBSD
@@ -1104,6 +1104,8 @@ AC_MSG_CHECKING([for multiarch])
@@ -1123,6 +1123,8 @@ AC_MSG_CHECKING([for multiarch])
AS_CASE([$ac_sys_system],
[Darwin*], [MULTIARCH=""],
[FreeBSD*], [MULTIARCH=""],
+ [OpenBSD*], [MULTIARCH=""],
+ [SecBSD*], [MULTIARCH=""],
+ [SecBSD*], [MULTIARCH=""],
[MULTIARCH=$($CC --print-multiarch 2>/dev/null)]
)
AC_SUBST([MULTIARCH])
@@ -1493,7 +1495,7 @@ if test $enable_shared = "yes"; then
@@ -1517,7 +1519,7 @@ if test $enable_shared = "yes"; then
PY3LIBRARY=libpython3.so
fi
;;
@ -43,8 +43,8 @@ Index: configure.ac
LDLIBRARY='libpython$(LDVERSION).so'
BLDLIBRARY='-L. -lpython$(LDVERSION)'
RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
@@ -1843,13 +1845,13 @@ esac
[AC_MSG_RESULT(no)])
@@ -1858,13 +1860,13 @@ esac
[AC_MSG_RESULT([no])])
if test "$Py_LTO" = 'true' ; then
case $CC in
- *clang*)
@ -53,13 +53,13 @@ Index: configure.ac
dnl Clang linker requires -flto in order to link objects with LTO information.
dnl Thin LTO is faster and works for object files with full LTO information, too.
AX_CHECK_COMPILE_FLAG([-flto=thin],[LDFLAGS_NOLTO="-flto=thin"],[LDFLAGS_NOLTO="-flto"])
AC_SUBST(LLVM_AR)
- AC_PATH_TOOL(LLVM_AR, llvm-ar, '', ${llvm_path})
+ AC_PATH_TOOL(LLVM_AR, ar, '', ${llvm_path})
AC_SUBST(LLVM_AR_FOUND)
AC_SUBST([LLVM_AR])
- AC_PATH_TOOL([LLVM_AR], [llvm-ar], [''], [${llvm_path}])
+ AC_PATH_TOOL([LLVM_AR], [ar], [''], [${llvm_path}])
AC_SUBST([LLVM_AR_FOUND])
if test -n "${LLVM_AR}" -a -x "${LLVM_AR}"
then
@@ -1964,7 +1966,7 @@ then
@@ -1987,7 +1989,7 @@ then
fi
LLVM_PROF_ERR=no
case $CC in
@ -67,8 +67,8 @@ Index: configure.ac
+ *clang*|cc)
# Any changes made here should be reflected in the GCC+Darwin case below
PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
PGO_PROF_USE_FLAG="-fprofile-instr-use=code.profclangd"
@@ -3193,7 +3195,7 @@ then
PGO_PROF_USE_FLAG="-fprofile-instr-use=\"\$(shell pwd)/code.profclangd\""
@@ -3373,7 +3375,7 @@ then
else
LDSHARED="ld -Bshareable"
fi;;
@ -77,7 +77,7 @@ Index: configure.ac
if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
then
LDSHARED='$(CC) -shared $(CCSHARED)'
@@ -3269,7 +3271,7 @@ then
@@ -3449,7 +3451,7 @@ then
AS_VAR_IF([enable_wasm_dynamic_linking], [yes], [
CCSHARED="-fPIC"
]);;
@ -86,7 +86,7 @@ Index: configure.ac
Haiku*) CCSHARED="-fPIC";;
OpenUNIX*|UnixWare*)
if test "$GCC" = "yes"
@@ -3326,7 +3328,7 @@ then
@@ -3506,7 +3508,7 @@ then
OpenUNIX*|UnixWare*) LINKFORSHARED="-Wl,-Bexport";;
SCO_SV*) LINKFORSHARED="-Wl,-Bexport";;
ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";;
@ -95,7 +95,7 @@ Index: configure.ac
if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
then
LINKFORSHARED="-Wl,--export-dynamic"
@@ -3888,11 +3890,7 @@ dnl Detect Tcl/Tk. Use pkg-config if available.
@@ -4128,11 +4130,7 @@ dnl Detect Tcl/Tk. Use pkg-config if available.
dnl
found_tcltk=no
for _QUERY in \

View file

@ -1,14 +1,8 @@
@option no-default-conflict
@option is-branch
@conflict python-gdbm-${VERSION_SPEC}
@pkgpath lang/python/3.2,-gdbm
@pkgpath lang/python/3.3,-gdbm
@pkgpath lang/python/3.4,-gdbm
@pkgpath lang/python/3.5,-gdbm
@pkgpath lang/python/3.6,-gdbm
@pkgpath lang/python/3.7,-gdbm
@conflict python-gdbm->=3,<4
@pkgpath lang/python/3.8,-gdbm
@pkgpath lang/python/3.9,-gdbm
@pkgpath lang/python/3.10,-gdbm
@pkgpath lang/python/3.11,-gdbm
@so lib/python3.11/lib-dynload/_gdbm.cpython-311.so
@so lib/python3.12/lib-dynload/_gdbm.cpython-312.so

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,160 +1,154 @@
@option no-default-conflict
@option is-branch
@conflict python-tkinter-${VERSION_SPEC}
@pkgpath lang/python/3.2,-tkinter
@pkgpath lang/python/3.3,-tkinter
@pkgpath lang/python/3.4,-tkinter
@pkgpath lang/python/3.5,-tkinter
@pkgpath lang/python/3.6,-tkinter
@pkgpath lang/python/3.7,-tkinter
@conflict python-tkinter->=3,<4
@pkgpath lang/python/3.8,-tkinter
@pkgpath lang/python/3.9,-tkinter
@pkgpath lang/python/3.10,-tkinter
@pkgpath lang/python/3.11,-tkinter
@so lib/python3.11/lib-dynload/_tkinter.cpython-311.so
lib/python3.11/tkinter/
lib/python3.11/tkinter/__init__.py
lib/python3.11/tkinter/__main__.py
lib/python3.11/tkinter/__pycache__/
lib/python3.11/tkinter/__pycache__/__init__.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/__init__.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/__init__.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/__main__.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/__main__.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/__main__.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/colorchooser.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/colorchooser.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/colorchooser.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/commondialog.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/commondialog.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/commondialog.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/constants.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/constants.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/constants.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/dialog.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/dialog.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/dialog.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/dnd.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/dnd.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/dnd.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/filedialog.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/filedialog.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/filedialog.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/font.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/font.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/font.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/messagebox.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/messagebox.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/messagebox.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/scrolledtext.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/scrolledtext.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/scrolledtext.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/simpledialog.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/simpledialog.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/simpledialog.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/tix.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/tix.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/tix.cpython-311.pyc
lib/python3.11/tkinter/__pycache__/ttk.cpython-311.opt-1.pyc
lib/python3.11/tkinter/__pycache__/ttk.cpython-311.opt-2.pyc
lib/python3.11/tkinter/__pycache__/ttk.cpython-311.pyc
lib/python3.11/tkinter/colorchooser.py
lib/python3.11/tkinter/commondialog.py
lib/python3.11/tkinter/constants.py
lib/python3.11/tkinter/dialog.py
lib/python3.11/tkinter/dnd.py
lib/python3.11/tkinter/filedialog.py
lib/python3.11/tkinter/font.py
lib/python3.11/tkinter/messagebox.py
lib/python3.11/tkinter/scrolledtext.py
lib/python3.11/tkinter/simpledialog.py
lib/python3.11/tkinter/tix.py
lib/python3.11/tkinter/ttk.py
lib/python3.11/turtle.py
lib/python3.11/turtledemo/
lib/python3.11/turtledemo/__init__.py
lib/python3.11/turtledemo/__main__.py
lib/python3.11/turtledemo/__pycache__/
lib/python3.11/turtledemo/__pycache__/__init__.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/__init__.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/__init__.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/__main__.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/__main__.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/__main__.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/bytedesign.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/bytedesign.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/bytedesign.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/chaos.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/chaos.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/chaos.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/clock.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/clock.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/clock.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/colormixer.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/colormixer.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/colormixer.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/forest.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/forest.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/forest.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/fractalcurves.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/fractalcurves.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/fractalcurves.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/lindenmayer.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/lindenmayer.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/lindenmayer.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/minimal_hanoi.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/minimal_hanoi.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/minimal_hanoi.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/nim.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/nim.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/nim.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/paint.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/paint.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/paint.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/peace.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/peace.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/peace.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/penrose.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/penrose.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/penrose.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/planet_and_moon.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/planet_and_moon.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/planet_and_moon.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/rosette.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/rosette.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/rosette.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/round_dance.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/round_dance.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/round_dance.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/sorting_animate.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/sorting_animate.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/sorting_animate.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/tree.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/tree.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/tree.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/two_canvases.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/two_canvases.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/two_canvases.cpython-311.pyc
lib/python3.11/turtledemo/__pycache__/yinyang.cpython-311.opt-1.pyc
lib/python3.11/turtledemo/__pycache__/yinyang.cpython-311.opt-2.pyc
lib/python3.11/turtledemo/__pycache__/yinyang.cpython-311.pyc
lib/python3.11/turtledemo/bytedesign.py
lib/python3.11/turtledemo/chaos.py
lib/python3.11/turtledemo/clock.py
lib/python3.11/turtledemo/colormixer.py
lib/python3.11/turtledemo/forest.py
lib/python3.11/turtledemo/fractalcurves.py
lib/python3.11/turtledemo/lindenmayer.py
lib/python3.11/turtledemo/minimal_hanoi.py
lib/python3.11/turtledemo/nim.py
lib/python3.11/turtledemo/paint.py
lib/python3.11/turtledemo/peace.py
lib/python3.11/turtledemo/penrose.py
lib/python3.11/turtledemo/planet_and_moon.py
lib/python3.11/turtledemo/rosette.py
lib/python3.11/turtledemo/round_dance.py
lib/python3.11/turtledemo/sorting_animate.py
lib/python3.11/turtledemo/tree.py
lib/python3.11/turtledemo/turtle.cfg
lib/python3.11/turtledemo/two_canvases.py
lib/python3.11/turtledemo/yinyang.py
@so lib/python3.12/lib-dynload/_tkinter.cpython-312.so
lib/python3.12/tkinter/
lib/python3.12/tkinter/__init__.py
lib/python3.12/tkinter/__main__.py
lib/python3.12/tkinter/__pycache__/
lib/python3.12/tkinter/__pycache__/__init__.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/__init__.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/__init__.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/__main__.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/__main__.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/__main__.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/colorchooser.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/colorchooser.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/colorchooser.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/commondialog.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/commondialog.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/commondialog.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/constants.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/constants.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/constants.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/dialog.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/dialog.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/dialog.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/dnd.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/dnd.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/dnd.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/filedialog.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/filedialog.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/filedialog.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/font.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/font.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/font.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/messagebox.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/messagebox.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/messagebox.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/scrolledtext.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/scrolledtext.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/scrolledtext.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/simpledialog.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/simpledialog.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/simpledialog.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/tix.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/tix.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/tix.cpython-312.pyc
lib/python3.12/tkinter/__pycache__/ttk.cpython-312.opt-1.pyc
lib/python3.12/tkinter/__pycache__/ttk.cpython-312.opt-2.pyc
lib/python3.12/tkinter/__pycache__/ttk.cpython-312.pyc
lib/python3.12/tkinter/colorchooser.py
lib/python3.12/tkinter/commondialog.py
lib/python3.12/tkinter/constants.py
lib/python3.12/tkinter/dialog.py
lib/python3.12/tkinter/dnd.py
lib/python3.12/tkinter/filedialog.py
lib/python3.12/tkinter/font.py
lib/python3.12/tkinter/messagebox.py
lib/python3.12/tkinter/scrolledtext.py
lib/python3.12/tkinter/simpledialog.py
lib/python3.12/tkinter/tix.py
lib/python3.12/tkinter/ttk.py
lib/python3.12/turtle.py
lib/python3.12/turtledemo/
lib/python3.12/turtledemo/__init__.py
lib/python3.12/turtledemo/__main__.py
lib/python3.12/turtledemo/__pycache__/
lib/python3.12/turtledemo/__pycache__/__init__.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/__init__.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/__init__.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/__main__.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/__main__.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/__main__.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/bytedesign.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/bytedesign.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/bytedesign.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/chaos.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/chaos.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/chaos.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/clock.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/clock.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/clock.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/colormixer.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/colormixer.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/colormixer.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/forest.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/forest.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/forest.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/fractalcurves.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/fractalcurves.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/fractalcurves.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/lindenmayer.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/lindenmayer.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/lindenmayer.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/minimal_hanoi.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/minimal_hanoi.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/minimal_hanoi.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/nim.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/nim.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/nim.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/paint.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/paint.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/paint.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/peace.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/peace.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/peace.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/penrose.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/penrose.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/penrose.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/planet_and_moon.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/planet_and_moon.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/planet_and_moon.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/rosette.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/rosette.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/rosette.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/round_dance.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/round_dance.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/round_dance.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/sorting_animate.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/sorting_animate.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/sorting_animate.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/tree.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/tree.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/tree.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/two_canvases.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/two_canvases.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/two_canvases.cpython-312.pyc
lib/python3.12/turtledemo/__pycache__/yinyang.cpython-312.opt-1.pyc
lib/python3.12/turtledemo/__pycache__/yinyang.cpython-312.opt-2.pyc
lib/python3.12/turtledemo/__pycache__/yinyang.cpython-312.pyc
lib/python3.12/turtledemo/bytedesign.py
lib/python3.12/turtledemo/chaos.py
lib/python3.12/turtledemo/clock.py
lib/python3.12/turtledemo/colormixer.py
lib/python3.12/turtledemo/forest.py
lib/python3.12/turtledemo/fractalcurves.py
lib/python3.12/turtledemo/lindenmayer.py
lib/python3.12/turtledemo/minimal_hanoi.py
lib/python3.12/turtledemo/nim.py
lib/python3.12/turtledemo/paint.py
lib/python3.12/turtledemo/peace.py
lib/python3.12/turtledemo/penrose.py
lib/python3.12/turtledemo/planet_and_moon.py
lib/python3.12/turtledemo/rosette.py
lib/python3.12/turtledemo/round_dance.py
lib/python3.12/turtledemo/sorting_animate.py
lib/python3.12/turtledemo/tree.py
lib/python3.12/turtledemo/turtle.cfg
lib/python3.12/turtledemo/two_canvases.py
lib/python3.12/turtledemo/yinyang.py