switch default py3 version to 3.11 and rm old py3.x versions

This commit is contained in:
purplerain 2024-05-10 01:49:14 +00:00
parent 7f1bb8f14c
commit 9888392b04
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
63 changed files with 720 additions and 19538 deletions

View file

@ -8,7 +8,7 @@ SHARED_LIBS = python2.7 0.0
VERSION_SPEC = >=2.7,<2.8
PORTROACH = limit:^2\.7
REVISION-main = 11
REVISION-main = 12
REVISION-idle = 1
REVISION-tests = 1
REVISION-bsddb = 0

View file

@ -7,5 +7,8 @@ of changes made to this version of Python for the OpenBSD package.
3. RAND_egd support has been disabled, as it is not available in LibreSSL.
4. ERR_get_state is no longer called, it is not used in OpenSSL 3.0 or
libressl as of 20240303
These changes are available in the OpenBSD CVS repository
<http://www.openbsd.org/anoncvs.html> in ports/lang/python/2.7.

View file

@ -1,6 +1,8 @@
XXX maybe this can go away now we have auto-init, I'm not sure exactly
#1: XXX maybe this can go away now we have auto-init, I'm not sure exactly
what python's lock protects
#2: ERR_get_state is no longer used in OpenSSL 3.0 or libressl as of 20240303
Index: Modules/_ssl.c
--- Modules/_ssl.c.orig
+++ Modules/_ssl.c
@ -14,3 +16,11 @@ Index: Modules/_ssl.c
#ifndef PY_OPENSSL_1_1_API
/* OpenSSL 1.1 API shims for OpenSSL < 1.1.0 and LibreSSL < 2.7.0 */
@@ -592,7 +595,6 @@ newPySSLSocket(PySSLContext *sslctx, PySocketSockObjec
Py_INCREF(sslctx);
/* Make sure the SSL error state is initialized */
- (void) ERR_get_state();
ERR_clear_error();
PySSL_BEGIN_ALLOW_THREADS

View file

@ -1,17 +0,0 @@
# IMPORTANT! If you make any changes to the Python ports, be sure
# to also update files/CHANGES.OpenBSD for your change. This is a
# requirement of the PSF license, if it constitutes a change to
# Python itself.
FULL_VERSION = 3.10.13
SHARED_LIBS = python3.10 0.0
VERSION_SPEC = >=3.10,<3.11
PORTROACH = limit:^3\.10
# This is the MODPY_DEFAULT_VERSION_3 version of Python:
# - override "@comment" setting so that bin/python3 etc are installed
PY_DEFAULTONLY =
# - disable bundled pip in favour of the version from devel/py-pip
CONFIGURE_ARGS += --with-ensurepip=no
.include <bsd.port.mk>

View file

@ -1,2 +0,0 @@
SHA256 (Python-3.10.13.tgz) = aY7FUjTBNjvYE7Rg7VOw8QiHfHoTPUi96aUKHrV7fmU=
SIZE (Python-3.10.13.tgz) = 26111363

View file

@ -1,23 +0,0 @@
As required by item 3 of the PSF license, here is a brief summary
of changes made to this version of Python for the OpenBSD package.
1. 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.
3. Disable libuuid, otherwise Python prefers it over the libc uuid
functions.
4. Disable MULTIARCH check in configure.ac since OpenBSD is not a
multi-arch platform and it causes build problems.
5. Allow Python to build with LTO on OpenBSD clang architectures.
OpenBSD's version of llvm-ar is installed as /usr/bin/ar, and the
compiler as passed to ports builds is /usr/bin/cc.
6. Use closefrom(2) instead of looping through all the file descriptors
and calling close(2) on them.
These changes are available in the OpenBSD CVS repository
<http://www.openbsd.org/anoncvs.html> in ports/lang/python/3.10.

View file

@ -1,69 +0,0 @@
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 @@
#define MUNCH_SIZE INT_MAX
+#ifdef NID_id_scrypt
#define PY_OPENSSL_HAS_SCRYPT 1
+#endif
+#ifdef NID_sha3_256
#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),
};
@@ -873,11 +889,15 @@ py_evp_fromname(PyObject *module, const char *digestna
goto exit;
}
+#ifndef EVP_MD_FLAG_XOF
+ type = get_hashlib_state(module)->EVPtype;
+#else
if ((EVP_MD_flags(digest) & EVP_MD_FLAG_XOF) == EVP_MD_FLAG_XOF) {
type = get_hashlib_state(module)->EVPXOFtype;
} else {
type = get_hashlib_state(module)->EVPtype;
}
+#endif
self = newEVPobject(type);
if (self == NULL) {

View file

@ -1,12 +0,0 @@
Index: setup.py
--- setup.py.orig
+++ setup.py
@@ -1875,7 +1875,7 @@ class PyBuildExt(build_ext):
uuid_h = sysconfig.get_config_var("HAVE_UUID_H")
uuid_uuid_h = sysconfig.get_config_var("HAVE_UUID_UUID_H")
if uuid_h or uuid_uuid_h:
- if sysconfig.get_config_var("HAVE_LIBUUID"):
+ if sysconfig.get_config_var("HAVE_LIBUUID") and not HOST_PLATFORM.startswith('secbsd'):
uuid_libs = ["uuid"]
else:
uuid_libs = []

View file

@ -1,4 +0,0 @@
@option no-default-conflict
@option is-branch
@conflict python-gdbm-${VERSION_SPEC}
@so lib/python3.10/lib-dynload/_gdbm.cpython-310.so

View file

@ -1,544 +0,0 @@
@option no-default-conflict
@option is-branch
@conflict python-idle-${VERSION_SPEC}
@conflict python-idle->=3,<3.9.16p0
${PY_DEFAULTONLY}bin/idle3
bin/idle3.10
lib/python3.10/idlelib/
lib/python3.10/idlelib/CREDITS.txt
lib/python3.10/idlelib/ChangeLog
lib/python3.10/idlelib/HISTORY.txt
lib/python3.10/idlelib/Icons/
lib/python3.10/idlelib/Icons/README.txt
lib/python3.10/idlelib/Icons/folder.gif
lib/python3.10/idlelib/Icons/idle.ico
lib/python3.10/idlelib/Icons/idle_16.gif
lib/python3.10/idlelib/Icons/idle_16.png
lib/python3.10/idlelib/Icons/idle_256.png
lib/python3.10/idlelib/Icons/idle_32.gif
lib/python3.10/idlelib/Icons/idle_32.png
lib/python3.10/idlelib/Icons/idle_48.gif
lib/python3.10/idlelib/Icons/idle_48.png
lib/python3.10/idlelib/Icons/minusnode.gif
lib/python3.10/idlelib/Icons/openfolder.gif
lib/python3.10/idlelib/Icons/plusnode.gif
lib/python3.10/idlelib/Icons/python.gif
lib/python3.10/idlelib/Icons/tk.gif
lib/python3.10/idlelib/NEWS.txt
lib/python3.10/idlelib/NEWS2x.txt
lib/python3.10/idlelib/README.txt
lib/python3.10/idlelib/TODO.txt
lib/python3.10/idlelib/__init__.py
lib/python3.10/idlelib/__main__.py
lib/python3.10/idlelib/__pycache__/
lib/python3.10/idlelib/__pycache__/__init__.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/__init__.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/__init__.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/__main__.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/__main__.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/__main__.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/autocomplete.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/autocomplete.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/autocomplete.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/autocomplete_w.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/autocomplete_w.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/autocomplete_w.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/autoexpand.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/autoexpand.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/autoexpand.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/browser.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/browser.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/browser.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/calltip.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/calltip.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/calltip.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/calltip_w.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/calltip_w.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/calltip_w.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/codecontext.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/codecontext.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/codecontext.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/colorizer.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/colorizer.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/colorizer.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/config.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/config.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/config.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/config_key.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/config_key.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/config_key.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/configdialog.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/configdialog.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/configdialog.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/debugger.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/debugger.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/debugger.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/debugger_r.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/debugger_r.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/debugger_r.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/debugobj.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/debugobj.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/debugobj.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/debugobj_r.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/debugobj_r.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/debugobj_r.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/delegator.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/delegator.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/delegator.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/dynoption.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/dynoption.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/dynoption.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/editor.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/editor.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/editor.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/filelist.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/filelist.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/filelist.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/format.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/format.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/format.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/grep.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/grep.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/grep.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/help.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/help.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/help.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/help_about.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/help_about.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/help_about.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/history.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/history.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/history.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/hyperparser.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/hyperparser.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/hyperparser.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/idle.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/idle.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/idle.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/iomenu.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/iomenu.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/iomenu.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/macosx.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/macosx.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/macosx.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/mainmenu.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/mainmenu.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/mainmenu.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/multicall.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/multicall.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/multicall.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/outwin.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/outwin.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/outwin.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/parenmatch.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/parenmatch.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/parenmatch.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/pathbrowser.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/pathbrowser.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/pathbrowser.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/percolator.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/percolator.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/percolator.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/pyparse.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/pyparse.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/pyparse.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/pyshell.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/pyshell.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/pyshell.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/query.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/query.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/query.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/redirector.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/redirector.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/redirector.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/replace.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/replace.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/replace.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/rpc.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/rpc.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/rpc.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/run.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/run.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/run.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/runscript.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/runscript.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/runscript.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/scrolledlist.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/scrolledlist.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/scrolledlist.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/search.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/search.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/search.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/searchbase.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/searchbase.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/searchbase.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/searchengine.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/searchengine.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/searchengine.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/sidebar.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/sidebar.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/sidebar.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/squeezer.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/squeezer.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/squeezer.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/stackviewer.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/stackviewer.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/stackviewer.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/statusbar.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/statusbar.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/statusbar.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/textview.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/textview.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/textview.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/tooltip.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/tooltip.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/tooltip.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/tree.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/tree.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/tree.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/undo.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/undo.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/undo.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/util.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/util.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/util.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/window.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/window.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/window.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/zoomheight.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/zoomheight.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/zoomheight.cpython-310.pyc
lib/python3.10/idlelib/__pycache__/zzdummy.cpython-310.opt-1.pyc
lib/python3.10/idlelib/__pycache__/zzdummy.cpython-310.opt-2.pyc
lib/python3.10/idlelib/__pycache__/zzdummy.cpython-310.pyc
lib/python3.10/idlelib/autocomplete.py
lib/python3.10/idlelib/autocomplete_w.py
lib/python3.10/idlelib/autoexpand.py
lib/python3.10/idlelib/browser.py
lib/python3.10/idlelib/calltip.py
lib/python3.10/idlelib/calltip_w.py
lib/python3.10/idlelib/codecontext.py
lib/python3.10/idlelib/colorizer.py
lib/python3.10/idlelib/config-extensions.def
lib/python3.10/idlelib/config-highlight.def
lib/python3.10/idlelib/config-keys.def
lib/python3.10/idlelib/config-main.def
lib/python3.10/idlelib/config.py
lib/python3.10/idlelib/config_key.py
lib/python3.10/idlelib/configdialog.py
lib/python3.10/idlelib/debugger.py
lib/python3.10/idlelib/debugger_r.py
lib/python3.10/idlelib/debugobj.py
lib/python3.10/idlelib/debugobj_r.py
lib/python3.10/idlelib/delegator.py
lib/python3.10/idlelib/dynoption.py
lib/python3.10/idlelib/editor.py
lib/python3.10/idlelib/extend.txt
lib/python3.10/idlelib/filelist.py
lib/python3.10/idlelib/format.py
lib/python3.10/idlelib/grep.py
lib/python3.10/idlelib/help.html
lib/python3.10/idlelib/help.py
lib/python3.10/idlelib/help_about.py
lib/python3.10/idlelib/history.py
lib/python3.10/idlelib/hyperparser.py
lib/python3.10/idlelib/idle.bat
lib/python3.10/idlelib/idle.py
lib/python3.10/idlelib/idle.pyw
lib/python3.10/idlelib/idle_test/
lib/python3.10/idlelib/idle_test/README.txt
lib/python3.10/idlelib/idle_test/__init__.py
lib/python3.10/idlelib/idle_test/__pycache__/
lib/python3.10/idlelib/idle_test/__pycache__/__init__.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/__init__.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/__init__.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/htest.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/htest.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/htest.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/mock_idle.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/mock_idle.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/mock_idle.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/mock_tk.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/mock_tk.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/mock_tk.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/template.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/template.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/template.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_autocomplete.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_autocomplete.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_autocomplete.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_autoexpand.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_autoexpand.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_autoexpand.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_browser.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_browser.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_browser.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_calltip.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_calltip.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_calltip.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_calltip_w.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_calltip_w.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_calltip_w.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_codecontext.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_codecontext.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_codecontext.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_colorizer.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_colorizer.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_colorizer.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_config.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_config.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_config.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_config_key.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_config_key.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_config_key.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_configdialog.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_configdialog.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_configdialog.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugger.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugger.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugger.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugger_r.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugger_r.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugger_r.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugobj.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugobj.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugobj.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_delegator.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_delegator.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_delegator.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_editmenu.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_editmenu.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_editmenu.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_editor.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_editor.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_editor.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_filelist.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_filelist.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_filelist.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_format.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_format.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_format.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_grep.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_grep.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_grep.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_help.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_help.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_help.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_help_about.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_help_about.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_help_about.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_history.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_history.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_history.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_hyperparser.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_hyperparser.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_hyperparser.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_iomenu.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_iomenu.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_iomenu.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_macosx.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_macosx.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_macosx.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_mainmenu.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_mainmenu.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_mainmenu.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_multicall.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_multicall.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_multicall.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_outwin.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_outwin.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_outwin.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_parenmatch.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_parenmatch.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_parenmatch.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_percolator.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_percolator.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_percolator.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_pyparse.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_pyparse.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_pyparse.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_pyshell.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_pyshell.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_pyshell.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_query.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_query.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_query.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_redirector.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_redirector.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_redirector.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_replace.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_replace.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_replace.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_rpc.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_rpc.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_rpc.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_run.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_run.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_run.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_runscript.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_runscript.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_runscript.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_search.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_search.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_search.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_searchbase.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_searchbase.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_searchbase.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_searchengine.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_searchengine.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_searchengine.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_sidebar.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_sidebar.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_sidebar.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_squeezer.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_squeezer.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_squeezer.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_stackviewer.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_stackviewer.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_stackviewer.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_statusbar.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_statusbar.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_statusbar.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_text.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_text.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_text.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_textview.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_textview.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_textview.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_tooltip.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_tooltip.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_tooltip.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_tree.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_tree.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_tree.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_undo.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_undo.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_undo.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_util.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_util.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_util.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_warning.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_warning.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_warning.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_window.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_window.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_window.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_zoomheight.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_zoomheight.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_zoomheight.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_zzdummy.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_zzdummy.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/test_zzdummy.cpython-310.pyc
lib/python3.10/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-310.opt-1.pyc
lib/python3.10/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-310.opt-2.pyc
lib/python3.10/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-310.pyc
lib/python3.10/idlelib/idle_test/example_noext
lib/python3.10/idlelib/idle_test/example_stub.pyi
lib/python3.10/idlelib/idle_test/htest.py
lib/python3.10/idlelib/idle_test/mock_idle.py
lib/python3.10/idlelib/idle_test/mock_tk.py
lib/python3.10/idlelib/idle_test/template.py
lib/python3.10/idlelib/idle_test/test_autocomplete.py
lib/python3.10/idlelib/idle_test/test_autocomplete_w.py
lib/python3.10/idlelib/idle_test/test_autoexpand.py
lib/python3.10/idlelib/idle_test/test_browser.py
lib/python3.10/idlelib/idle_test/test_calltip.py
lib/python3.10/idlelib/idle_test/test_calltip_w.py
lib/python3.10/idlelib/idle_test/test_codecontext.py
lib/python3.10/idlelib/idle_test/test_colorizer.py
lib/python3.10/idlelib/idle_test/test_config.py
lib/python3.10/idlelib/idle_test/test_config_key.py
lib/python3.10/idlelib/idle_test/test_configdialog.py
lib/python3.10/idlelib/idle_test/test_debugger.py
lib/python3.10/idlelib/idle_test/test_debugger_r.py
lib/python3.10/idlelib/idle_test/test_debugobj.py
lib/python3.10/idlelib/idle_test/test_debugobj_r.py
lib/python3.10/idlelib/idle_test/test_delegator.py
lib/python3.10/idlelib/idle_test/test_editmenu.py
lib/python3.10/idlelib/idle_test/test_editor.py
lib/python3.10/idlelib/idle_test/test_filelist.py
lib/python3.10/idlelib/idle_test/test_format.py
lib/python3.10/idlelib/idle_test/test_grep.py
lib/python3.10/idlelib/idle_test/test_help.py
lib/python3.10/idlelib/idle_test/test_help_about.py
lib/python3.10/idlelib/idle_test/test_history.py
lib/python3.10/idlelib/idle_test/test_hyperparser.py
lib/python3.10/idlelib/idle_test/test_iomenu.py
lib/python3.10/idlelib/idle_test/test_macosx.py
lib/python3.10/idlelib/idle_test/test_mainmenu.py
lib/python3.10/idlelib/idle_test/test_multicall.py
lib/python3.10/idlelib/idle_test/test_outwin.py
lib/python3.10/idlelib/idle_test/test_parenmatch.py
lib/python3.10/idlelib/idle_test/test_pathbrowser.py
lib/python3.10/idlelib/idle_test/test_percolator.py
lib/python3.10/idlelib/idle_test/test_pyparse.py
lib/python3.10/idlelib/idle_test/test_pyshell.py
lib/python3.10/idlelib/idle_test/test_query.py
lib/python3.10/idlelib/idle_test/test_redirector.py
lib/python3.10/idlelib/idle_test/test_replace.py
lib/python3.10/idlelib/idle_test/test_rpc.py
lib/python3.10/idlelib/idle_test/test_run.py
lib/python3.10/idlelib/idle_test/test_runscript.py
lib/python3.10/idlelib/idle_test/test_scrolledlist.py
lib/python3.10/idlelib/idle_test/test_search.py
lib/python3.10/idlelib/idle_test/test_searchbase.py
lib/python3.10/idlelib/idle_test/test_searchengine.py
lib/python3.10/idlelib/idle_test/test_sidebar.py
lib/python3.10/idlelib/idle_test/test_squeezer.py
lib/python3.10/idlelib/idle_test/test_stackviewer.py
lib/python3.10/idlelib/idle_test/test_statusbar.py
lib/python3.10/idlelib/idle_test/test_text.py
lib/python3.10/idlelib/idle_test/test_textview.py
lib/python3.10/idlelib/idle_test/test_tooltip.py
lib/python3.10/idlelib/idle_test/test_tree.py
lib/python3.10/idlelib/idle_test/test_undo.py
lib/python3.10/idlelib/idle_test/test_util.py
lib/python3.10/idlelib/idle_test/test_warning.py
lib/python3.10/idlelib/idle_test/test_window.py
lib/python3.10/idlelib/idle_test/test_zoomheight.py
lib/python3.10/idlelib/idle_test/test_zzdummy.py
lib/python3.10/idlelib/idle_test/tkinter_testing_utils.py
lib/python3.10/idlelib/iomenu.py
lib/python3.10/idlelib/macosx.py
lib/python3.10/idlelib/mainmenu.py
lib/python3.10/idlelib/multicall.py
lib/python3.10/idlelib/outwin.py
lib/python3.10/idlelib/parenmatch.py
lib/python3.10/idlelib/pathbrowser.py
lib/python3.10/idlelib/percolator.py
lib/python3.10/idlelib/pyparse.py
lib/python3.10/idlelib/pyshell.py
lib/python3.10/idlelib/query.py
lib/python3.10/idlelib/redirector.py
lib/python3.10/idlelib/replace.py
lib/python3.10/idlelib/rpc.py
lib/python3.10/idlelib/run.py
lib/python3.10/idlelib/runscript.py
lib/python3.10/idlelib/scrolledlist.py
lib/python3.10/idlelib/search.py
lib/python3.10/idlelib/searchbase.py
lib/python3.10/idlelib/searchengine.py
lib/python3.10/idlelib/sidebar.py
lib/python3.10/idlelib/squeezer.py
lib/python3.10/idlelib/stackviewer.py
lib/python3.10/idlelib/statusbar.py
lib/python3.10/idlelib/textview.py
lib/python3.10/idlelib/tooltip.py
lib/python3.10/idlelib/tree.py
lib/python3.10/idlelib/undo.py
lib/python3.10/idlelib/util.py
lib/python3.10/idlelib/window.py
lib/python3.10/idlelib/zoomheight.py
lib/python3.10/idlelib/zzdummy.py

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,150 +0,0 @@
@option no-default-conflict
@option is-branch
@conflict python-tkinter-${VERSION_SPEC}
@so lib/python3.10/lib-dynload/_tkinter.cpython-310.so
lib/python3.10/tkinter/
lib/python3.10/tkinter/__init__.py
lib/python3.10/tkinter/__main__.py
lib/python3.10/tkinter/__pycache__/
lib/python3.10/tkinter/__pycache__/__init__.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/__init__.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/__init__.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/__main__.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/__main__.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/__main__.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/colorchooser.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/colorchooser.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/colorchooser.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/commondialog.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/commondialog.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/commondialog.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/constants.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/constants.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/constants.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/dialog.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/dialog.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/dialog.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/dnd.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/dnd.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/dnd.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/filedialog.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/filedialog.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/filedialog.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/font.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/font.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/font.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/messagebox.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/messagebox.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/messagebox.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/scrolledtext.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/scrolledtext.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/scrolledtext.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/simpledialog.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/simpledialog.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/simpledialog.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/tix.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/tix.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/tix.cpython-310.pyc
lib/python3.10/tkinter/__pycache__/ttk.cpython-310.opt-1.pyc
lib/python3.10/tkinter/__pycache__/ttk.cpython-310.opt-2.pyc
lib/python3.10/tkinter/__pycache__/ttk.cpython-310.pyc
lib/python3.10/tkinter/colorchooser.py
lib/python3.10/tkinter/commondialog.py
lib/python3.10/tkinter/constants.py
lib/python3.10/tkinter/dialog.py
lib/python3.10/tkinter/dnd.py
lib/python3.10/tkinter/filedialog.py
lib/python3.10/tkinter/font.py
lib/python3.10/tkinter/messagebox.py
lib/python3.10/tkinter/scrolledtext.py
lib/python3.10/tkinter/simpledialog.py
lib/python3.10/tkinter/tix.py
lib/python3.10/tkinter/ttk.py
lib/python3.10/turtle.py
lib/python3.10/turtledemo/
lib/python3.10/turtledemo/__init__.py
lib/python3.10/turtledemo/__main__.py
lib/python3.10/turtledemo/__pycache__/
lib/python3.10/turtledemo/__pycache__/__init__.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/__init__.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/__init__.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/__main__.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/__main__.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/__main__.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/bytedesign.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/bytedesign.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/bytedesign.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/chaos.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/chaos.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/chaos.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/clock.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/clock.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/clock.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/colormixer.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/colormixer.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/colormixer.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/forest.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/forest.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/forest.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/fractalcurves.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/fractalcurves.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/fractalcurves.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/lindenmayer.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/lindenmayer.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/lindenmayer.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/minimal_hanoi.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/minimal_hanoi.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/minimal_hanoi.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/nim.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/nim.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/nim.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/paint.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/paint.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/paint.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/peace.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/peace.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/peace.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/penrose.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/penrose.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/penrose.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/planet_and_moon.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/planet_and_moon.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/planet_and_moon.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/rosette.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/rosette.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/rosette.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/round_dance.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/round_dance.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/round_dance.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/sorting_animate.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/sorting_animate.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/sorting_animate.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/tree.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/tree.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/tree.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/two_canvases.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/two_canvases.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/two_canvases.cpython-310.pyc
lib/python3.10/turtledemo/__pycache__/yinyang.cpython-310.opt-1.pyc
lib/python3.10/turtledemo/__pycache__/yinyang.cpython-310.opt-2.pyc
lib/python3.10/turtledemo/__pycache__/yinyang.cpython-310.pyc
lib/python3.10/turtledemo/bytedesign.py
lib/python3.10/turtledemo/chaos.py
lib/python3.10/turtledemo/clock.py
lib/python3.10/turtledemo/colormixer.py
lib/python3.10/turtledemo/forest.py
lib/python3.10/turtledemo/fractalcurves.py
lib/python3.10/turtledemo/lindenmayer.py
lib/python3.10/turtledemo/minimal_hanoi.py
lib/python3.10/turtledemo/nim.py
lib/python3.10/turtledemo/paint.py
lib/python3.10/turtledemo/peace.py
lib/python3.10/turtledemo/penrose.py
lib/python3.10/turtledemo/planet_and_moon.py
lib/python3.10/turtledemo/rosette.py
lib/python3.10/turtledemo/round_dance.py
lib/python3.10/turtledemo/sorting_animate.py
lib/python3.10/turtledemo/tree.py
lib/python3.10/turtledemo/turtle.cfg
lib/python3.10/turtledemo/two_canvases.py
lib/python3.10/turtledemo/yinyang.py

View file

@ -1,2 +0,0 @@
SHA256 (Python-3.11.5.tgz) = oSoKATowuEbHhsAQ8sGd02tymNiI98S9FYHZDOGLXlg=
SIZE (Python-3.11.5.tgz) = 26571003

View file

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

View file

@ -1,63 +0,0 @@
#1: Set ports library version
#2: Don't pick up an installed linux/e2fsprogs libuuid.so
#3: llvm-ar (used for LTO) is installed as ar
#4: OpenBSD isn't multi-arch
#5: Try only the right tcl/tk string
Index: configure.ac
--- configure.ac.orig
+++ configure.ac
@@ -249,7 +249,7 @@ VERSION=PYTHON_VERSION
# Version number of Python's own shared library file.
AC_SUBST(SOVERSION)
-SOVERSION=1.0
+SOVERSION=${LIBpython3.11_VERSION}
# The later definition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables
# certain features on NetBSD, so we need _NETBSD_SOURCE to re-enable
@@ -1096,6 +1096,7 @@ AC_MSG_CHECKING([for multiarch])
AS_CASE([$ac_sys_system],
[Darwin*], [MULTIARCH=""],
[FreeBSD*], [MULTIARCH=""],
+ [OpenBSD*], [MULTIARCH=""],
[MULTIARCH=$($CC --print-multiarch 2>/dev/null)]
)
AC_SUBST([MULTIARCH])
@@ -1835,13 +1836,13 @@ esac
[AC_MSG_RESULT(no)])
if test "$Py_LTO" = 'true' ; then
case $CC in
- *clang*)
+ *clang*|cc)
LDFLAGS_NOLTO="-fno-lto"
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)
if test -n "${LLVM_AR}" -a -x "${LLVM_AR}"
then
@@ -1956,7 +1957,7 @@ then
fi
LLVM_PROF_ERR=no
case $CC in
- *clang*)
+ *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"
@@ -3876,11 +3877,7 @@ dnl Detect Tcl/Tk. Use pkg-config if available.
dnl
found_tcltk=no
for _QUERY in \
- "tcl >= 8.5.12 tk >= 8.5.12" \
- "tcl8.6 tk8.6" \
"tcl86 tk86" \
- "tcl8.5 >= 8.5.12 tk8.5 >= 8.5.12" \
- "tcl85 >= 8.5.12 tk85 >= 8.5.12" \
; do
PKG_CHECK_EXISTS([$_QUERY], [
PKG_CHECK_MODULES([TCLTK], [$_QUERY], [found_tcltk=yes], [found_tcltk=no])

View file

@ -1,15 +0,0 @@
Python is an interpreted, interactive, object-oriented programming
language that combines remarkable power with very clear syntax. For
an introduction to programming in Python you are referred to the
Python Tutorial. The Python Library Reference documents built-in
and standard types, constants, functions and modules. Finally, the
Python Reference Manual describes the syntax and semantics of the
core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules written
in C or C++. On most systems such modules may be dynamically loaded.
Python is also adaptable as an extension language for existing
applications. See the internal documentation for hints.
This package contains the gdbm, for using the GNU DBM library in
Python.

View file

@ -1,14 +0,0 @@
Python is an interpreted, interactive, object-oriented programming
language that combines remarkable power with very clear syntax. For
an introduction to programming in Python you are referred to the
Python Tutorial. The Python Library Reference documents built-in
and standard types, constants, functions and modules. Finally, the
Python Reference Manual describes the syntax and semantics of the
core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules written
in C or C++. On most systems such modules may be dynamically loaded.
Python is also adaptable as an extension language for existing
applications. See the internal documentation for hints.
This package contains IDE for Python.

View file

@ -1,14 +0,0 @@
Python is an interpreted, interactive, object-oriented
programming language that combines remarkable power with
very clear syntax. For an introduction to programming in
Python you are referred to the Python Tutorial. The Python
Library Reference documents built-in and standard types,
constants, functions and modules. Finally, the Python
Reference Manual describes the syntax and semantics of the
core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules
written in C or C++. On most systems such modules may be
dynamically loaded. Python is also adaptable as an
extension language for existing applications. See the
internal documentation for hints.

View file

@ -1,14 +0,0 @@
Python is an interpreted, interactive, object-oriented programming
language that combines remarkable power with very clear syntax. For
an introduction to programming in Python you are referred to the
Python Tutorial. The Python Library Reference documents built-in
and standard types, constants, functions and modules. Finally, the
Python Reference Manual describes the syntax and semantics of the
core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules written
in C or C++. On most systems such modules may be dynamically loaded.
Python is also adaptable as an extension language for existing
applications. See the internal documentation for hints.
This package contains the Python testsuite.

View file

@ -1,15 +0,0 @@
Python is an interpreted, interactive, object-oriented programming
language that combines remarkable power with very clear syntax. For
an introduction to programming in Python you are referred to the
Python Tutorial. The Python Library Reference documents built-in
and standard types, constants, functions and modules. Finally, the
Python Reference Manual describes the syntax and semantics of the
core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules written
in C or C++. On most systems such modules may be dynamically loaded.
Python is also adaptable as an extension language for existing
applications. See the internal documentation for hints.
This package contains the Tkinter module, a Python interface to the
Tk graphical toolkit.

View file

@ -1,4 +0,0 @@
@option no-default-conflict
@option is-branch
@conflict python-gdbm-${VERSION_SPEC}
@so lib/python3.11/lib-dynload/_gdbm.cpython-311.so

View file

@ -1,11 +0,0 @@
# IMPORTANT! If you make any changes to the Python ports, be sure
# to also update files/CHANGES.OpenBSD for your change. This is a
# requirement of the PSF license, if it constitutes a change to
# Python itself.
FULL_VERSION = 3.9.18
SHARED_LIBS = python3.9 0.0
VERSION_SPEC = >=3.9,<3.10
PORTROACH = limit:^3\.9
.include <bsd.port.mk>

View file

@ -1,2 +0,0 @@
SHA256 (Python-3.9.18.tgz) = UEzoz9Wa3cBMIvWQN3xr5FSudAbLHr9vWjUBSSJak1Q=
SIZE (Python-3.9.18.tgz) = 26294072

View file

@ -1,23 +0,0 @@
As required by item 3 of the PSF license, here is a brief summary
of changes made to this version of Python for the OpenBSD package.
1. OpenBSD packages require that sonames are under control of the
ports infrastructure, configure.ac was patched to do this.
2. #ifdef patches to work with LibreSSL.
3. Disable libuuid, otherwise Python prefers it over the libc uuid
functions.
4. Disable MULTIARCH check in configure.ac since OpenBSD is not a
multi-arch platform and it causes build problems.
5. Allow Python to build with LTO on OpenBSD clang architectures.
OpenBSD's version of llvm-ar is installed as /usr/bin/ar, and the
compiler as passed to ports builds is /usr/bin/cc.
6. Use closefrom(2) instead of looping through all the file descriptors
and calling close(2) on them.
These changes are available in the OpenBSD CVS repository
<http://www.openbsd.org/anoncvs.html> in ports/lang/python/3.9.

View file

@ -1,13 +0,0 @@
Index: Modules/_hashopenssl.c
--- Modules/_hashopenssl.c.orig
+++ Modules/_hashopenssl.c
@@ -43,7 +43,8 @@
# error "OPENSSL_THREADS is not defined, Python requires thread-safe OpenSSL"
#endif
-#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
/* OpenSSL < 1.1.0 */
#define EVP_MD_CTX_new EVP_MD_CTX_create
#define EVP_MD_CTX_free EVP_MD_CTX_destroy

View file

@ -1,12 +0,0 @@
Index: Modules/_posixsubprocess.c
--- Modules/_posixsubprocess.c.orig
+++ Modules/_posixsubprocess.c
@@ -264,7 +264,7 @@ _close_fds_by_brute_force(long start_fd, PyObject *py_
start_fd = keep_fd + 1;
}
if (start_fd <= end_fd) {
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
/* Any errors encountered while closing file descriptors are ignored */
closefrom(start_fd);
#else

View file

@ -1,16 +0,0 @@
XXX maybe this can go away now we have auto-init, I'm not sure exactly
what python's lock protects
Index: Modules/_ssl.c
--- Modules/_ssl.c.orig
+++ Modules/_ssl.c
@@ -213,6 +213,9 @@ extern const SSL_METHOD *TLSv1_2_method(void);
#if defined(OPENSSL_VERSION_1_1) && !defined(OPENSSL_NO_SSL2)
#define OPENSSL_NO_SSL2
#endif
+#if defined(LIBRESSL_VERSION_NUMBER) && defined(WITH_THREAD)
+#define HAVE_OPENSSL_CRYPTO_LOCK
+#endif
#ifndef PY_OPENSSL_1_1_API
/* OpenSSL 1.1 API shims for OpenSSL < 1.1.0 and LibreSSL < 2.7.0 */

View file

@ -1,12 +0,0 @@
Index: Modules/posixmodule.c
--- Modules/posixmodule.c.orig
+++ Modules/posixmodule.c
@@ -9223,7 +9223,7 @@ os_closerange_impl(PyObject *module, int fd_low, int f
fdwalk(_fdwalk_close_func, lohi);
#else
fd_low = Py_MAX(fd_low, 0);
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
if (fd_high >= sysconf(_SC_OPEN_MAX)) {
/* Any errors encountered while closing file descriptors are ignored */
closefrom(fd_low);

View file

@ -1,77 +0,0 @@
#1: Set ports library version
#2: Don't pick up an installed linux/e2fsprogs libuuid.so
#3: llvm-ar (used for LTO) is installed as ar
#4: OpenBSD isn't multi-arch
Index: configure.ac
--- configure.ac.orig
+++ configure.ac
@@ -126,7 +126,7 @@ VERSION=PYTHON_VERSION
# Version number of Python's own shared library file.
AC_SUBST(SOVERSION)
-SOVERSION=1.0
+SOVERSION=${LIBpython3.9_VERSION}
# The later defininition of _XOPEN_SOURCE disables certain features
# on Linux, so we need _GNU_SOURCE to re-enable them (makedev, tm_zone).
@@ -740,8 +740,8 @@ cat >> conftest.c <<EOF
#undef powerpc
#undef sparc
#undef unix
-#if defined(__ANDROID__)
- # Android is not a multiarch system.
+#if defined(__ANDROID__) || defined(__OpenBSD__)
+ # Neither Android nor OpenBSD are multiarch systems.
#elif defined(__linux__)
# if defined(__x86_64__) && defined(__LP64__)
x86_64-linux-gnu
@@ -886,6 +886,7 @@ AC_MSG_CHECKING([for multiarch])
AS_CASE([$ac_sys_system],
[Darwin*], [MULTIARCH=""],
[FreeBSD*], [MULTIARCH=""],
+ [OpenBSD*], [MULTIARCH=""],
[MULTIARCH=$($CC --print-multiarch 2>/dev/null)]
)
AC_SUBST([MULTIARCH])
@@ -1383,9 +1384,9 @@ fi],
[AC_MSG_RESULT(no)])
if test "$Py_LTO" = 'true' ; then
case $CC in
- *clang*)
+ *clang*|cc)
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
@@ -1476,7 +1477,7 @@ then
fi
LLVM_PROF_ERR=no
case $CC in
- *clang*)
+ *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"
@@ -2865,18 +2866,7 @@ AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/S
AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX
# checks for uuid.h location
-AC_CHECK_HEADERS([uuid/uuid.h uuid.h])
-
-AC_MSG_CHECKING(for uuid_generate_time_safe)
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <uuid/uuid.h>]], [[
-#ifndef uuid_generate_time_safe
-void *x = uuid_generate_time_safe
-#endif
-]])],
- [AC_DEFINE(HAVE_UUID_GENERATE_TIME_SAFE, 1, Define if uuid_generate_time_safe() exists.)
- AC_MSG_RESULT(yes)],
- [AC_MSG_RESULT(no)]
-)
+AC_CHECK_HEADERS([uuid.h])
# check for libuuid from util-linux
save_LIBS=$LIBS

View file

@ -1,12 +0,0 @@
Index: setup.py
--- setup.py.orig
+++ setup.py
@@ -1778,7 +1778,7 @@ class PyBuildExt(build_ext):
uuid_h = sysconfig.get_config_var("HAVE_UUID_H")
uuid_uuid_h = sysconfig.get_config_var("HAVE_UUID_UUID_H")
if uuid_h or uuid_uuid_h:
- if sysconfig.get_config_var("HAVE_LIBUUID"):
+ if sysconfig.get_config_var("HAVE_LIBUUID") and not HOST_PLATFORM.startswith('openbsd'):
uuid_libs = ["uuid"]
else:
uuid_libs = []

View file

@ -1,15 +0,0 @@
Python is an interpreted, interactive, object-oriented programming
language that combines remarkable power with very clear syntax. For
an introduction to programming in Python you are referred to the
Python Tutorial. The Python Library Reference documents built-in
and standard types, constants, functions and modules. Finally, the
Python Reference Manual describes the syntax and semantics of the
core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules written
in C or C++. On most systems such modules may be dynamically loaded.
Python is also adaptable as an extension language for existing
applications. See the internal documentation for hints.
This package contains the gdbm, for using the GNU DBM library in
Python.

View file

@ -1,14 +0,0 @@
Python is an interpreted, interactive, object-oriented programming
language that combines remarkable power with very clear syntax. For
an introduction to programming in Python you are referred to the
Python Tutorial. The Python Library Reference documents built-in
and standard types, constants, functions and modules. Finally, the
Python Reference Manual describes the syntax and semantics of the
core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules written
in C or C++. On most systems such modules may be dynamically loaded.
Python is also adaptable as an extension language for existing
applications. See the internal documentation for hints.
This package contains IDE for Python.

View file

@ -1,14 +0,0 @@
Python is an interpreted, interactive, object-oriented
programming language that combines remarkable power with
very clear syntax. For an introduction to programming in
Python you are referred to the Python Tutorial. The Python
Library Reference documents built-in and standard types,
constants, functions and modules. Finally, the Python
Reference Manual describes the syntax and semantics of the
core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules
written in C or C++. On most systems such modules may be
dynamically loaded. Python is also adaptable as an
extension language for existing applications. See the
internal documentation for hints.

View file

@ -1,14 +0,0 @@
Python is an interpreted, interactive, object-oriented programming
language that combines remarkable power with very clear syntax. For
an introduction to programming in Python you are referred to the
Python Tutorial. The Python Library Reference documents built-in
and standard types, constants, functions and modules. Finally, the
Python Reference Manual describes the syntax and semantics of the
core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules written
in C or C++. On most systems such modules may be dynamically loaded.
Python is also adaptable as an extension language for existing
applications. See the internal documentation for hints.
This package contains the Python testsuite.

View file

@ -1,15 +0,0 @@
Python is an interpreted, interactive, object-oriented programming
language that combines remarkable power with very clear syntax. For
an introduction to programming in Python you are referred to the
Python Tutorial. The Python Library Reference documents built-in
and standard types, constants, functions and modules. Finally, the
Python Reference Manual describes the syntax and semantics of the
core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules written
in C or C++. On most systems such modules may be dynamically loaded.
Python is also adaptable as an extension language for existing
applications. See the internal documentation for hints.
This package contains the Tkinter module, a Python interface to the
Tk graphical toolkit.

View file

@ -1,547 +0,0 @@
@option no-default-conflict
@option is-branch
@conflict python-idle-${VERSION_SPEC}
@conflict python-idle->=3,<3.9
@pkgpath lang/python/3.2,-idle
@pkgpath lang/python/3.3,-idle
@pkgpath lang/python/3.4,-idle
@pkgpath lang/python/3.5,-idle
@pkgpath lang/python/3.6,-idle
@pkgpath lang/python/3.7,-idle
@pkgpath lang/python/3.8,-idle
${PY_DEFAULTONLY}bin/idle3
bin/idle3.9
lib/python3.9/idlelib/
lib/python3.9/idlelib/CREDITS.txt
lib/python3.9/idlelib/ChangeLog
lib/python3.9/idlelib/HISTORY.txt
lib/python3.9/idlelib/Icons/
lib/python3.9/idlelib/Icons/README.txt
lib/python3.9/idlelib/Icons/folder.gif
lib/python3.9/idlelib/Icons/idle.ico
lib/python3.9/idlelib/Icons/idle_16.gif
lib/python3.9/idlelib/Icons/idle_16.png
lib/python3.9/idlelib/Icons/idle_256.png
lib/python3.9/idlelib/Icons/idle_32.gif
lib/python3.9/idlelib/Icons/idle_32.png
lib/python3.9/idlelib/Icons/idle_48.gif
lib/python3.9/idlelib/Icons/idle_48.png
lib/python3.9/idlelib/Icons/minusnode.gif
lib/python3.9/idlelib/Icons/openfolder.gif
lib/python3.9/idlelib/Icons/plusnode.gif
lib/python3.9/idlelib/Icons/python.gif
lib/python3.9/idlelib/Icons/tk.gif
lib/python3.9/idlelib/NEWS.txt
lib/python3.9/idlelib/NEWS2x.txt
lib/python3.9/idlelib/README.txt
lib/python3.9/idlelib/TODO.txt
lib/python3.9/idlelib/__init__.py
lib/python3.9/idlelib/__main__.py
lib/python3.9/idlelib/__pycache__/
lib/python3.9/idlelib/__pycache__/__init__.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/__init__.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/__init__.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/__main__.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/__main__.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/__main__.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/autocomplete.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/autocomplete.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/autocomplete.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/autocomplete_w.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/autocomplete_w.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/autocomplete_w.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/autoexpand.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/autoexpand.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/autoexpand.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/browser.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/browser.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/browser.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/calltip.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/calltip.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/calltip.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/calltip_w.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/calltip_w.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/calltip_w.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/codecontext.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/codecontext.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/codecontext.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/colorizer.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/colorizer.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/colorizer.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/config.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/config.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/config.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/config_key.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/config_key.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/config_key.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/configdialog.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/configdialog.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/configdialog.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/debugger.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/debugger.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/debugger.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/debugger_r.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/debugger_r.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/debugger_r.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/debugobj.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/debugobj.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/debugobj.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/debugobj_r.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/debugobj_r.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/debugobj_r.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/delegator.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/delegator.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/delegator.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/dynoption.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/dynoption.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/dynoption.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/editor.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/editor.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/editor.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/filelist.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/filelist.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/filelist.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/format.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/format.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/format.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/grep.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/grep.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/grep.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/help.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/help.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/help.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/help_about.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/help_about.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/help_about.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/history.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/history.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/history.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/hyperparser.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/hyperparser.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/hyperparser.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/idle.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/idle.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/idle.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/iomenu.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/iomenu.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/iomenu.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/macosx.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/macosx.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/macosx.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/mainmenu.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/mainmenu.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/mainmenu.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/multicall.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/multicall.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/multicall.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/outwin.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/outwin.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/outwin.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/parenmatch.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/parenmatch.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/parenmatch.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/pathbrowser.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/pathbrowser.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/pathbrowser.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/percolator.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/percolator.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/percolator.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/pyparse.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/pyparse.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/pyparse.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/pyshell.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/pyshell.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/pyshell.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/query.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/query.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/query.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/redirector.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/redirector.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/redirector.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/replace.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/replace.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/replace.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/rpc.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/rpc.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/rpc.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/run.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/run.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/run.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/runscript.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/runscript.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/runscript.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/scrolledlist.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/scrolledlist.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/scrolledlist.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/search.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/search.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/search.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/searchbase.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/searchbase.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/searchbase.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/searchengine.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/searchengine.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/searchengine.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/sidebar.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/sidebar.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/sidebar.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/squeezer.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/squeezer.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/squeezer.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/stackviewer.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/stackviewer.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/stackviewer.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/statusbar.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/statusbar.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/statusbar.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/textview.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/textview.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/textview.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/tooltip.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/tooltip.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/tooltip.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/tree.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/tree.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/tree.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/undo.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/undo.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/undo.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/util.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/util.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/util.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/window.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/window.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/window.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/zoomheight.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/zoomheight.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/zoomheight.cpython-39.pyc
lib/python3.9/idlelib/__pycache__/zzdummy.cpython-39.opt-1.pyc
lib/python3.9/idlelib/__pycache__/zzdummy.cpython-39.opt-2.pyc
lib/python3.9/idlelib/__pycache__/zzdummy.cpython-39.pyc
lib/python3.9/idlelib/autocomplete.py
lib/python3.9/idlelib/autocomplete_w.py
lib/python3.9/idlelib/autoexpand.py
lib/python3.9/idlelib/browser.py
lib/python3.9/idlelib/calltip.py
lib/python3.9/idlelib/calltip_w.py
lib/python3.9/idlelib/codecontext.py
lib/python3.9/idlelib/colorizer.py
lib/python3.9/idlelib/config-extensions.def
lib/python3.9/idlelib/config-highlight.def
lib/python3.9/idlelib/config-keys.def
lib/python3.9/idlelib/config-main.def
lib/python3.9/idlelib/config.py
lib/python3.9/idlelib/config_key.py
lib/python3.9/idlelib/configdialog.py
lib/python3.9/idlelib/debugger.py
lib/python3.9/idlelib/debugger_r.py
lib/python3.9/idlelib/debugobj.py
lib/python3.9/idlelib/debugobj_r.py
lib/python3.9/idlelib/delegator.py
lib/python3.9/idlelib/dynoption.py
lib/python3.9/idlelib/editor.py
lib/python3.9/idlelib/extend.txt
lib/python3.9/idlelib/filelist.py
lib/python3.9/idlelib/format.py
lib/python3.9/idlelib/grep.py
lib/python3.9/idlelib/help.html
lib/python3.9/idlelib/help.py
lib/python3.9/idlelib/help_about.py
lib/python3.9/idlelib/history.py
lib/python3.9/idlelib/hyperparser.py
lib/python3.9/idlelib/idle.bat
lib/python3.9/idlelib/idle.py
lib/python3.9/idlelib/idle.pyw
lib/python3.9/idlelib/idle_test/
lib/python3.9/idlelib/idle_test/README.txt
lib/python3.9/idlelib/idle_test/__init__.py
lib/python3.9/idlelib/idle_test/__pycache__/
lib/python3.9/idlelib/idle_test/__pycache__/__init__.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/__init__.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/__init__.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/htest.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/htest.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/htest.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/mock_idle.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/mock_idle.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/mock_idle.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/mock_tk.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/mock_tk.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/mock_tk.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/template.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/template.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/template.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_autocomplete.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_autocomplete.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_autocomplete.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_autocomplete_w.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_autoexpand.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_autoexpand.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_autoexpand.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_browser.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_browser.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_browser.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_calltip.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_calltip.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_calltip.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_calltip_w.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_calltip_w.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_calltip_w.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_codecontext.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_codecontext.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_codecontext.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_colorizer.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_colorizer.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_colorizer.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_config.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_config.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_config.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_config_key.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_config_key.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_config_key.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_configdialog.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_configdialog.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_configdialog.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugger.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugger.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugger.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugger_r.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugger_r.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugger_r.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugobj.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugobj.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugobj.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_debugobj_r.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_delegator.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_delegator.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_delegator.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_editmenu.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_editmenu.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_editmenu.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_editor.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_editor.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_editor.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_filelist.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_filelist.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_filelist.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_format.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_format.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_format.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_grep.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_grep.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_grep.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_help.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_help.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_help.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_help_about.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_help_about.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_help_about.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_history.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_history.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_history.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_hyperparser.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_hyperparser.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_hyperparser.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_iomenu.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_iomenu.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_iomenu.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_macosx.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_macosx.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_macosx.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_mainmenu.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_mainmenu.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_mainmenu.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_multicall.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_multicall.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_multicall.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_outwin.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_outwin.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_outwin.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_parenmatch.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_parenmatch.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_parenmatch.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_pathbrowser.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_percolator.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_percolator.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_percolator.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_pyparse.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_pyparse.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_pyparse.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_pyshell.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_pyshell.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_pyshell.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_query.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_query.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_query.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_redirector.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_redirector.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_redirector.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_replace.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_replace.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_replace.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_rpc.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_rpc.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_rpc.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_run.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_run.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_run.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_runscript.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_runscript.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_runscript.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_scrolledlist.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_search.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_search.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_search.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_searchbase.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_searchbase.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_searchbase.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_searchengine.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_searchengine.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_searchengine.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_sidebar.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_sidebar.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_sidebar.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_squeezer.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_squeezer.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_squeezer.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_stackviewer.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_stackviewer.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_stackviewer.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_statusbar.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_statusbar.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_statusbar.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_text.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_text.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_text.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_textview.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_textview.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_textview.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_tooltip.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_tooltip.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_tooltip.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_tree.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_tree.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_tree.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_undo.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_undo.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_undo.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_util.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_util.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_util.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_warning.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_warning.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_warning.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_window.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_window.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_window.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_zoomheight.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_zoomheight.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_zoomheight.cpython-39.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_zzdummy.cpython-39.opt-1.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_zzdummy.cpython-39.opt-2.pyc
lib/python3.9/idlelib/idle_test/__pycache__/test_zzdummy.cpython-39.pyc
lib/python3.9/idlelib/idle_test/example_noext
lib/python3.9/idlelib/idle_test/example_stub.pyi
lib/python3.9/idlelib/idle_test/htest.py
lib/python3.9/idlelib/idle_test/mock_idle.py
lib/python3.9/idlelib/idle_test/mock_tk.py
lib/python3.9/idlelib/idle_test/template.py
lib/python3.9/idlelib/idle_test/test_autocomplete.py
lib/python3.9/idlelib/idle_test/test_autocomplete_w.py
lib/python3.9/idlelib/idle_test/test_autoexpand.py
lib/python3.9/idlelib/idle_test/test_browser.py
lib/python3.9/idlelib/idle_test/test_calltip.py
lib/python3.9/idlelib/idle_test/test_calltip_w.py
lib/python3.9/idlelib/idle_test/test_codecontext.py
lib/python3.9/idlelib/idle_test/test_colorizer.py
lib/python3.9/idlelib/idle_test/test_config.py
lib/python3.9/idlelib/idle_test/test_config_key.py
lib/python3.9/idlelib/idle_test/test_configdialog.py
lib/python3.9/idlelib/idle_test/test_debugger.py
lib/python3.9/idlelib/idle_test/test_debugger_r.py
lib/python3.9/idlelib/idle_test/test_debugobj.py
lib/python3.9/idlelib/idle_test/test_debugobj_r.py
lib/python3.9/idlelib/idle_test/test_delegator.py
lib/python3.9/idlelib/idle_test/test_editmenu.py
lib/python3.9/idlelib/idle_test/test_editor.py
lib/python3.9/idlelib/idle_test/test_filelist.py
lib/python3.9/idlelib/idle_test/test_format.py
lib/python3.9/idlelib/idle_test/test_grep.py
lib/python3.9/idlelib/idle_test/test_help.py
lib/python3.9/idlelib/idle_test/test_help_about.py
lib/python3.9/idlelib/idle_test/test_history.py
lib/python3.9/idlelib/idle_test/test_hyperparser.py
lib/python3.9/idlelib/idle_test/test_iomenu.py
lib/python3.9/idlelib/idle_test/test_macosx.py
lib/python3.9/idlelib/idle_test/test_mainmenu.py
lib/python3.9/idlelib/idle_test/test_multicall.py
lib/python3.9/idlelib/idle_test/test_outwin.py
lib/python3.9/idlelib/idle_test/test_parenmatch.py
lib/python3.9/idlelib/idle_test/test_pathbrowser.py
lib/python3.9/idlelib/idle_test/test_percolator.py
lib/python3.9/idlelib/idle_test/test_pyparse.py
lib/python3.9/idlelib/idle_test/test_pyshell.py
lib/python3.9/idlelib/idle_test/test_query.py
lib/python3.9/idlelib/idle_test/test_redirector.py
lib/python3.9/idlelib/idle_test/test_replace.py
lib/python3.9/idlelib/idle_test/test_rpc.py
lib/python3.9/idlelib/idle_test/test_run.py
lib/python3.9/idlelib/idle_test/test_runscript.py
lib/python3.9/idlelib/idle_test/test_scrolledlist.py
lib/python3.9/idlelib/idle_test/test_search.py
lib/python3.9/idlelib/idle_test/test_searchbase.py
lib/python3.9/idlelib/idle_test/test_searchengine.py
lib/python3.9/idlelib/idle_test/test_sidebar.py
lib/python3.9/idlelib/idle_test/test_squeezer.py
lib/python3.9/idlelib/idle_test/test_stackviewer.py
lib/python3.9/idlelib/idle_test/test_statusbar.py
lib/python3.9/idlelib/idle_test/test_text.py
lib/python3.9/idlelib/idle_test/test_textview.py
lib/python3.9/idlelib/idle_test/test_tooltip.py
lib/python3.9/idlelib/idle_test/test_tree.py
lib/python3.9/idlelib/idle_test/test_undo.py
lib/python3.9/idlelib/idle_test/test_util.py
lib/python3.9/idlelib/idle_test/test_warning.py
lib/python3.9/idlelib/idle_test/test_window.py
lib/python3.9/idlelib/idle_test/test_zoomheight.py
lib/python3.9/idlelib/idle_test/test_zzdummy.py
lib/python3.9/idlelib/iomenu.py
lib/python3.9/idlelib/macosx.py
lib/python3.9/idlelib/mainmenu.py
lib/python3.9/idlelib/multicall.py
lib/python3.9/idlelib/outwin.py
lib/python3.9/idlelib/parenmatch.py
lib/python3.9/idlelib/pathbrowser.py
lib/python3.9/idlelib/percolator.py
lib/python3.9/idlelib/pyparse.py
lib/python3.9/idlelib/pyshell.py
lib/python3.9/idlelib/query.py
lib/python3.9/idlelib/redirector.py
lib/python3.9/idlelib/replace.py
lib/python3.9/idlelib/rpc.py
lib/python3.9/idlelib/run.py
lib/python3.9/idlelib/runscript.py
lib/python3.9/idlelib/scrolledlist.py
lib/python3.9/idlelib/search.py
lib/python3.9/idlelib/searchbase.py
lib/python3.9/idlelib/searchengine.py
lib/python3.9/idlelib/sidebar.py
lib/python3.9/idlelib/squeezer.py
lib/python3.9/idlelib/stackviewer.py
lib/python3.9/idlelib/statusbar.py
lib/python3.9/idlelib/textview.py
lib/python3.9/idlelib/tooltip.py
lib/python3.9/idlelib/tree.py
lib/python3.9/idlelib/undo.py
lib/python3.9/idlelib/util.py
lib/python3.9/idlelib/window.py
lib/python3.9/idlelib/zoomheight.py
lib/python3.9/idlelib/zzdummy.py

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,158 +0,0 @@
@option no-default-conflict
@option is-branch
@conflict python-tkinter-${VERSION_SPEC}
@conflict python-tkinter->=3.2,<3.9
@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
@pkgpath lang/python/3.8,-tkinter
@so lib/python3.9/lib-dynload/_tkinter.cpython-39.so
lib/python3.9/tkinter/
lib/python3.9/tkinter/__init__.py
lib/python3.9/tkinter/__main__.py
lib/python3.9/tkinter/__pycache__/
lib/python3.9/tkinter/__pycache__/__init__.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/__init__.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/__init__.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/__main__.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/__main__.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/__main__.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/colorchooser.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/colorchooser.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/colorchooser.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/commondialog.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/commondialog.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/commondialog.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/constants.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/constants.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/constants.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/dialog.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/dialog.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/dialog.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/dnd.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/dnd.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/dnd.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/filedialog.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/filedialog.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/filedialog.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/font.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/font.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/font.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/messagebox.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/messagebox.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/messagebox.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/scrolledtext.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/scrolledtext.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/scrolledtext.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/simpledialog.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/simpledialog.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/simpledialog.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/tix.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/tix.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/tix.cpython-39.pyc
lib/python3.9/tkinter/__pycache__/ttk.cpython-39.opt-1.pyc
lib/python3.9/tkinter/__pycache__/ttk.cpython-39.opt-2.pyc
lib/python3.9/tkinter/__pycache__/ttk.cpython-39.pyc
lib/python3.9/tkinter/colorchooser.py
lib/python3.9/tkinter/commondialog.py
lib/python3.9/tkinter/constants.py
lib/python3.9/tkinter/dialog.py
lib/python3.9/tkinter/dnd.py
lib/python3.9/tkinter/filedialog.py
lib/python3.9/tkinter/font.py
lib/python3.9/tkinter/messagebox.py
lib/python3.9/tkinter/scrolledtext.py
lib/python3.9/tkinter/simpledialog.py
lib/python3.9/tkinter/tix.py
lib/python3.9/tkinter/ttk.py
lib/python3.9/turtle.py
lib/python3.9/turtledemo/
lib/python3.9/turtledemo/__init__.py
lib/python3.9/turtledemo/__main__.py
lib/python3.9/turtledemo/__pycache__/
lib/python3.9/turtledemo/__pycache__/__init__.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/__init__.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/__init__.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/__main__.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/__main__.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/__main__.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/bytedesign.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/bytedesign.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/bytedesign.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/chaos.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/chaos.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/chaos.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/clock.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/clock.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/clock.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/colormixer.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/colormixer.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/colormixer.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/forest.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/forest.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/forest.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/fractalcurves.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/fractalcurves.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/fractalcurves.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/lindenmayer.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/lindenmayer.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/lindenmayer.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/minimal_hanoi.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/minimal_hanoi.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/minimal_hanoi.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/nim.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/nim.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/nim.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/paint.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/paint.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/paint.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/peace.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/peace.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/peace.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/penrose.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/penrose.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/penrose.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/planet_and_moon.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/planet_and_moon.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/planet_and_moon.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/rosette.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/rosette.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/rosette.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/round_dance.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/round_dance.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/round_dance.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/sorting_animate.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/sorting_animate.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/sorting_animate.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/tree.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/tree.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/tree.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/two_canvases.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/two_canvases.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/two_canvases.cpython-39.pyc
lib/python3.9/turtledemo/__pycache__/yinyang.cpython-39.opt-1.pyc
lib/python3.9/turtledemo/__pycache__/yinyang.cpython-39.opt-2.pyc
lib/python3.9/turtledemo/__pycache__/yinyang.cpython-39.pyc
lib/python3.9/turtledemo/bytedesign.py
lib/python3.9/turtledemo/chaos.py
lib/python3.9/turtledemo/clock.py
lib/python3.9/turtledemo/colormixer.py
lib/python3.9/turtledemo/forest.py
lib/python3.9/turtledemo/fractalcurves.py
lib/python3.9/turtledemo/lindenmayer.py
lib/python3.9/turtledemo/minimal_hanoi.py
lib/python3.9/turtledemo/nim.py
lib/python3.9/turtledemo/paint.py
lib/python3.9/turtledemo/peace.py
lib/python3.9/turtledemo/penrose.py
lib/python3.9/turtledemo/planet_and_moon.py
lib/python3.9/turtledemo/rosette.py
lib/python3.9/turtledemo/round_dance.py
lib/python3.9/turtledemo/sorting_animate.py
lib/python3.9/turtledemo/tree.py
lib/python3.9/turtledemo/turtle.cfg
lib/python3.9/turtledemo/two_canvases.py
lib/python3.9/turtledemo/yinyang.py

View file

@ -3,13 +3,18 @@
# requirement of the PSF license, if it constitutes a change to
# Python itself.
FULL_VERSION = 3.11.5
FULL_VERSION = 3.11.9
SHARED_LIBS = python3.11 0.0
VERSION_SPEC = >=3.11,<3.12
PORTROACH = limit:^3\.11
REVISION = 2
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"
# disable bundled pip in favour of the version from devel/py-pip
CONFIGURE_ARGS += --with-ensurepip=no
.include <bsd.port.mk>

2
lang/python/3/distinfo Normal file
View file

@ -0,0 +1,2 @@
SHA256 (Python-3.11.9.tgz) = 594yQKi8Kx4bpcgb+UPwaGH/SUtp/amQzicipQTGFT0=
SIZE (Python-3.11.9.tgz) = 26521757

View file

@ -19,5 +19,11 @@ compiler as passed to ports builds is /usr/bin/cc.
6. Use closefrom(2) instead of looping through all the file descriptors
and calling close(2) on them.
7. ctypes' find_library is modified to pass "libc.so" to dlopen() rather
than attempting to resolve a version number by parsing ldconfig -r output,
which results in loading an incorrect version in some cases.
8. Adjust #ifdef to use LibreSSL's version of X509_STORE_get1_objects().
These changes are available in the OpenBSD CVS repository
<http://www.openbsd.org/anoncvs.html> in ports/lang/python/3.11.
<http://www.openbsd.org/anoncvs.html> in ports/lang/python/3.

View file

@ -0,0 +1,11 @@
[externally-managed]
Error=This Python installation is managed by pkg_add(1).
To install Python packages system-wide, use the OS packages where
possible, for example: "pkg_add py3-somepackage".
Otherwise, for software which is not available in packages,
it is recommended to create a "venv" (virtual environment, see
https://docs.python.org/3/library/venv.html) and install it there.
For standalone applications, pipx (in the py3-pipx package) can
help manage this for you.

View file

@ -0,0 +1,25 @@
allow dlopen() to search for libc rather than parsing ldconfig -r to
decide on a version number.
Index: Lib/ctypes/util.py
--- Lib/ctypes/util.py.orig
+++ Lib/ctypes/util.py
@@ -193,7 +193,7 @@ elif os.name == "posix":
return None
return os.fsdecode(res.group(1))
- if sys.platform.startswith(("freebsd", "openbsd", "dragonfly")):
+ if sys.platform.startswith(("freebsd", "openbsd", "secbsd", "dragonfly")):
def _num_version(libname):
# "libxyz.so.MAJOR.MINOR" => [ MAJOR, MINOR ]
@@ -207,6 +207,9 @@ elif os.name == "posix":
return nums or [sys.maxsize]
def find_library(name):
+ if sys.platform.startswith("secbsd") and name == "c":
+ return "libc.so"
+
ename = re.escape(name)
expr = r':-l%s\.\S+ => \S*/(lib%s\.\S+)' % (ename, ename)
expr = os.fsencode(expr)

View file

@ -3,7 +3,7 @@ Make bsd make happy
Index: Makefile.pre.in
--- Makefile.pre.in.orig
+++ Makefile.pre.in
@@ -533,8 +533,6 @@ LIBMPDEC_OBJS= \
@@ -534,8 +534,6 @@ LIBMPDEC_OBJS= \
Modules/_decimal/libmpdec/numbertheory.o \
Modules/_decimal/libmpdec/sixstep.o \
Modules/_decimal/libmpdec/transpose.o

View file

@ -51,7 +51,7 @@ Index: Modules/_hashopenssl.c
PY_HASH_ENTRY(NULL, NULL, NULL, 0),
};
@@ -873,11 +889,15 @@ py_evp_fromname(PyObject *module, const char *digestna
@@ -874,11 +890,15 @@ py_evp_fromname(PyObject *module, const char *digestna
goto exit;
}

View file

@ -0,0 +1,12 @@
Index: Modules/_ssl.c
--- Modules/_ssl.c.orig
+++ Modules/_ssl.c
@@ -4541,7 +4541,7 @@ set_sni_callback(PySSLContext *self, PyObject *arg, vo
return 0;
}
-#if OPENSSL_VERSION_NUMBER < 0x30300000L
+#if OPENSSL_VERSION_NUMBER < 0x30300000L && !defined(LIBRESSL_VERSION_NUMBER)
static X509_OBJECT *x509_object_dup(const X509_OBJECT *obj)
{
int ok;

View file

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

View file

@ -1,21 +1,16 @@
#1: Set ports library version
#2: Don't pick up an installed linux/e2fsprogs libuuid.so
#3: llvm-ar (used for LTO) is installed as ar
#4: OpenBSD isn't multi-arch
Index: configure.ac
--- configure.ac.orig
+++ configure.ac
@@ -126,7 +126,7 @@ VERSION=PYTHON_VERSION
@@ -249,7 +249,7 @@ VERSION=PYTHON_VERSION
# Version number of Python's own shared library file.
AC_SUBST(SOVERSION)
-SOVERSION=1.0
+SOVERSION=${LIBpython3.10_VERSION}
+SOVERSION=${LIBpython3.11_VERSION}
# The later defininition of _XOPEN_SOURCE disables certain features
# on Linux, so we need _GNU_SOURCE to re-enable them (makedev, tm_zone).
@@ -483,7 +483,7 @@ case $ac_sys_system/$ac_sys_release in
# 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])
;;
@ -24,16 +19,15 @@ Index: configure.ac
# 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
@@ -876,6 +876,8 @@ AC_MSG_CHECKING([for multiarch])
@@ -1104,6 +1104,7 @@ AC_MSG_CHECKING([for multiarch])
AS_CASE([$ac_sys_system],
[Darwin*], [MULTIARCH=""],
[FreeBSD*], [MULTIARCH=""],
+ [OpenBSD*], [MULTIARCH=""],
+ [SecBSD*], [MULTIARCH=""],
[MULTIARCH=$($CC --print-multiarch 2>/dev/null)]
)
AC_SUBST([MULTIARCH])
@@ -1149,7 +1151,7 @@ if test $enable_shared = "yes"; then
@@ -1493,7 +1494,7 @@ if test $enable_shared = "yes"; then
PY3LIBRARY=libpython3.so
fi
;;
@ -42,19 +36,23 @@ Index: configure.ac
LDLIBRARY='libpython$(LDVERSION).so'
BLDLIBRARY='-L. -lpython$(LDVERSION)'
RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
@@ -1380,9 +1382,9 @@ fi],
@@ -1843,13 +1844,13 @@ esac
[AC_MSG_RESULT(no)])
if test "$Py_LTO" = 'true' ; then
case $CC in
- *clang*)
+ *clang*|cc)
LDFLAGS_NOLTO="-fno-lto"
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)
if test -n "${LLVM_AR}" -a -x "${LLVM_AR}"
then
@@ -1473,7 +1475,7 @@ then
@@ -1964,7 +1965,7 @@ then
fi
LLVM_PROF_ERR=no
case $CC in
@ -63,25 +61,25 @@ Index: configure.ac
# 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"
@@ -2723,7 +2725,7 @@ then
@@ -3193,7 +3194,7 @@ then
else
LDSHARED="ld -Bshareable"
fi;;
- OpenBSD*)
+ OpenBSD*|SecBSD*)
+ OpenBSD* | SecBSD*)
if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
then
LDSHARED='$(CC) -shared $(CCSHARED)'
@@ -2780,7 +2782,7 @@ then
fi;;
Linux-android*) ;;
Linux*|GNU*) CCSHARED="-fPIC";;
@@ -3269,7 +3270,7 @@ then
AS_VAR_IF([enable_wasm_dynamic_linking], [yes], [
CCSHARED="-fPIC"
]);;
- FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) CCSHARED="-fPIC";;
+ FreeBSD*|NetBSD*|OpenBSD*|SecBSD*|DragonFly*) CCSHARED="-fPIC";;
Haiku*) CCSHARED="-fPIC";;
OpenUNIX*|UnixWare*)
if test "$GCC" = "yes"
then CCSHARED="-fPIC"
@@ -2836,7 +2838,7 @@ then
@@ -3326,7 +3327,7 @@ then
OpenUNIX*|UnixWare*) LINKFORSHARED="-Wl,-Bexport";;
SCO_SV*) LINKFORSHARED="-Wl,-Bexport";;
ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";;
@ -90,23 +88,15 @@ Index: configure.ac
if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
then
LINKFORSHARED="-Wl,--export-dynamic"
@@ -2905,18 +2907,7 @@ AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/S
AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX
# checks for uuid.h location
-AC_CHECK_HEADERS([uuid/uuid.h uuid.h])
-
-AC_MSG_CHECKING(for uuid_generate_time_safe)
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <uuid/uuid.h>]], [[
-#ifndef uuid_generate_time_safe
-void *x = uuid_generate_time_safe
-#endif
-]])],
- [AC_DEFINE(HAVE_UUID_GENERATE_TIME_SAFE, 1, Define if uuid_generate_time_safe() exists.)
- AC_MSG_RESULT(yes)],
- [AC_MSG_RESULT(no)]
-)
+AC_CHECK_HEADERS([uuid.h])
# check for libuuid from util-linux
save_LIBS=$LIBS
@@ -3888,11 +3889,7 @@ dnl Detect Tcl/Tk. Use pkg-config if available.
dnl
found_tcltk=no
for _QUERY in \
- "tcl >= 8.5.12 tk >= 8.5.12" \
- "tcl8.6 tk8.6" \
"tcl86 tk86" \
- "tcl8.5 >= 8.5.12 tk8.5 >= 8.5.12" \
- "tcl85 >= 8.5.12 tk85 >= 8.5.12" \
; do
PKG_CHECK_EXISTS([$_QUERY], [
PKG_CHECK_MODULES([TCLTK], [$_QUERY], [found_tcltk=yes], [found_tcltk=no])

View file

@ -1,7 +1,6 @@
@option no-default-conflict
@option is-branch
@conflict python-gdbm-${VERSION_SPEC}
@conflict python-gdbm->=3.2,<3.9
@pkgpath lang/python/3.2,-gdbm
@pkgpath lang/python/3.3,-gdbm
@pkgpath lang/python/3.4,-gdbm
@ -9,4 +8,7 @@
@pkgpath lang/python/3.6,-gdbm
@pkgpath lang/python/3.7,-gdbm
@pkgpath lang/python/3.8,-gdbm
@so lib/python3.9/lib-dynload/_gdbm.cpython-39.so
@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

View file

@ -1,7 +1,18 @@
@option no-default-conflict
@option is-branch
@conflict python-idle-${VERSION_SPEC}
${PY_DEFAULTONLY}bin/idle3
@conflict python-idle->=3,<${FULL_VERSION}p0
@pkgpath lang/python/3.2,-idle
@pkgpath lang/python/3.3,-idle
@pkgpath lang/python/3.4,-idle
@pkgpath lang/python/3.5,-idle
@pkgpath lang/python/3.6,-idle
@pkgpath lang/python/3.7,-idle
@pkgpath lang/python/3.8,-idle
@pkgpath lang/python/3.9,-idle
@pkgpath lang/python/3.10,-idle
@pkgpath lang/python/3.11,-idle
bin/idle3
bin/idle3.11
lib/python3.11/idlelib/
lib/python3.11/idlelib/CREDITS.txt
@ -23,8 +34,8 @@ lib/python3.11/idlelib/Icons/openfolder.gif
lib/python3.11/idlelib/Icons/plusnode.gif
lib/python3.11/idlelib/Icons/python.gif
lib/python3.11/idlelib/Icons/tk.gif
lib/python3.11/idlelib/NEWS.txt
lib/python3.11/idlelib/NEWS2x.txt
lib/python3.11/idlelib/News3.txt
lib/python3.11/idlelib/README.txt
lib/python3.11/idlelib/TODO.txt
lib/python3.11/idlelib/__init__.py

View file

@ -1,6 +1,16 @@
@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
@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

View file

@ -1,7 +1,5 @@
SUBDIR =
SUBDIR += 2.7
SUBDIR += 3.9
SUBDIR += 3.10
SUBDIR += 3.11
SUBDIR += 3
.include <bsd.port.subdir.mk>

View file

@ -43,6 +43,7 @@ MAINTAINER = Kurt Mosiejczuk <kmos@openbsd.org>
PERMIT_PACKAGE = Yes
.if ${VERSION} == "2.7"
V_SUBDIR = ${VERSION}
MULTI_PACKAGES = -main -tests -tools -gdbm -idle -tkinter -bsddb
DEBUG_PACKAGES ?= -main -gdbm -tkinter -bsddb
@ -50,6 +51,7 @@ DEBUG_PACKAGES ?= -main -gdbm -tkinter -bsddb
# setup.py:allow_db_version). XXX revisit if databases/db/v4 is updated to 4.7
ONLY_FOR_ARCHS-bsddb= amd64 i386
.else
V_SUBDIR = 3
MULTI_PACKAGES = -main -tests -gdbm -idle -tkinter
DEBUG_PACKAGES ?= -main -gdbm -tkinter
.endif
@ -59,7 +61,7 @@ COMPILER_LANGS = c
# All subpackages depend on the main python package.
RUN_DEPENDS = ${FULLPKGNAME-main}:lang/python/${VERSION},-main
RUN_DEPENDS = ${FULLPKGNAME-main}:lang/python/${V_SUBDIR},-main
LIB_DEPENDS =
LIB_DEPENDS-main += archivers/bzip2 \
@ -70,18 +72,15 @@ RUN_DEPENDS-main =
WANTLIB-main += bz2 c crypto expat ffi intl m curses panel pthread \
readline sqlite3 ssl util z
.if ${VERSION} != "2.7"
LIB_DEPENDS-main += archivers/xz
WANTLIB-main += lzma
.endif
.if ${VERSION} == "3.11"
LIB_DEPENDS-main += security/libb2
WANTLIB-main += b2
LIB_DEPENDS-main += archivers/xz \
security/libb2
WANTLIB-main += b2 lzma
.endif
WANTLIB-tests =
WANTLIB-tools =
LIB_DEPENDS-bsddb = lang/python/${VERSION},-main
LIB_DEPENDS-bsddb = lang/python/${V_SUBDIR},-main
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64"
# XXX recursion: if we have java, then db/v4 depends on libxml
LIB_DEPENDS-bsddb += databases/db/v4,no_tcl,no_java,bootstrap
@ -91,10 +90,10 @@ LIB_DEPENDS-bsddb += databases/db/v4
WANTLIB-bsddb = lib/db4/db>=4 pthread python${VERSION}
LIB_DEPENDS-gdbm = databases/gdbm \
lang/python/${VERSION},-main
lang/python/${V_SUBDIR},-main
WANTLIB-gdbm = gdbm>=3 pthread python${VERSION}
RUN_DEPENDS-idle = lang/python/${VERSION},-tkinter \
RUN_DEPENDS-idle = lang/python/${V_SUBDIR},-tkinter \
${RUN_DEPENDS}
WANTLIB-idle =
@ -106,7 +105,7 @@ MODTK_VERSION = 8.5
MODTK_VERSION = 8.6
.endif
LIB_DEPENDS-tkinter = lang/python/${VERSION},-main \
LIB_DEPENDS-tkinter = lang/python/${V_SUBDIR},-main \
${MODTK_LIB_DEPENDS}
WANTLIB-tkinter = pthread python${VERSION} \
${MODTK_WANTLIB}
@ -130,7 +129,9 @@ CONFIGURE_ARGS += --with-lto
. if ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "powerpc"
# On armv7, clang errors out due to lack of memory.
# On powerpc, the python binary would crash by "Segmentation fault".
CONFIGURE_ARGS += --enable-optimizations
# XXX lld from llvm-16 errors out with:
# ld.lld: error: relocation R_X86_64_PC32 cannot be used against symbol '__profd_isdigit'; recompile with -fPIC
#CONFIGURE_ARGS += --enable-optimizations
. endif
. endif
TEST_IS_INTERACTIVE = Yes
@ -144,13 +145,8 @@ MAKE_FLAGS += LD_LIBRARY_PATH=${WRKSRC} PATH="${WRKDIST}:${PORTPATH}"
MAKE_FLAGS += CFLAGS_NODIST='-I${LOCALBASE}/include' LDFLAGS_NODIST='-L${WRKSRC} -L${LOCALBASE}/lib/'
FAKE_FLAGS += RANLIB=:
# Used in PLISTs for files which should not be installed for non-default
# versions of Python (i.e. /usr/local/bin/python3).
# Overridden in subdirectory for the default version.
PY_DEFAULTONLY ?= "@comment "
PY_PLATFORM = openbsd${OSMAJOR}
SUBST_VARS += FULL_VERSION VERSION_SPEC PY_PLATFORM PY_DEFAULTONLY
SUBST_VARS += FULL_VERSION VERSION_SPEC PY_PLATFORM
# Python itself is clean, but some dlopen()'d extensions e.g. QtWebKit
# require W|X mappings and/or don't have the required landing pads for
@ -203,6 +199,9 @@ post-install:
's@#!/usr/local/bin/python@#!${PREFIX}/bin/python${VERSION}@' \
${PREFIX}/bin/pip${VERSION}
.endif
if [ -e ${FILESDIR}/EXTERNALLY-MANAGED ]; then \
${INSTALL_DATA} ${FILESDIR}/EXTERNALLY-MANAGED \
${PREFIX}/lib/python${VERSION}/EXTERNALLY-MANAGED; fi # PEP-668
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/python${VERSION}
${INSTALL_DATA} ${FILESDIR}/CHANGES.OpenBSD \
${PREFIX}/share/doc/python${VERSION}/CHANGES.OpenBSD

View file

@ -5,50 +5,13 @@ CATEGORIES += lang/python
# define the default versions
MODPY_DEFAULT_VERSION_2 = 2.7
MODPY_DEFAULT_VERSION_3 = 3.10
MODPY_DEFAULT_VERSION_3 = 3.11
# If switching to a new MODPY_DEFAULT_VERSION_3, say 3.x to 3.y:
# - All ports with a run/lib dep on python must be REVISION-bumped.
# - Move PY_DEFAULTONLY and --with-ensurepip=no from 3.x/Makefile
# to 3.y/Makefile (remove from old, add to new), regenerate PLISTs
# to add/remove "ensurepip" files.
# - In 3.x/Makefile and 3.y/Makefile, bump REVISION for -main and -idle
# (i.e. those PLISTs with "PY_DEFAULTONLY" lines)
# - In 3.y/PLIST-main and 3.y/PLIST-idle add a @conflict on the old
# REVISION of the old version. For example, for the 3.8->3.9 switch,
# 3.8 -main was 3.8.12p2 and -idle was 3.8.12, so the following
# were needed:
# PLIST-main: @conflict python->=3,<3.8.12p3
# PLIST-idle: @conflict python-idle->=3,<3.8.12p0
# (Bear in mind that the subpackages might have different REVISIONs)
# - In 3.x (old default) add a conflict marker with the old versions of
# py3-pip and py3-setuptools (bin/pip3.x and lib/python3.x files were
# in pip/setuptools packages but will now be in python3.x "ensurepip"
# files)
# - All ports with PLISTs that depend on the Python version number
# must be REVISION-bumped.
# - Keep xenocara/share/mk/bsd.xorg.mk PYTHON_VERSION in sync
# If later *removing* an old version:
# - *move* the numbered @conflict python-*->=3.2,<3.x to the new version
# and update e.g. to @conflict python-*->=3.2,<3.y
# - *move* the @pkgpath markers to the new version and add a new one for
# the old version you have just retired.
# - bump revision for any plists that have changed
# In all cases:
# - keep the @conflict python-*-${VERSION_SPEC} PLIST lines as-is, they are
# there to override the "@option no-default-conflict" and set automatically
# from the variable defined in 3.x/Makefile.
# - after a change to PLISTs (or dependencies etc) in -current, keep
# the package version in -current higher than in -stable for the
# previous version (i.e. change made in 7.1-current -> REVISION
# must be set higher in 7.1-current/7.2 than 7.1-stable and this
# needs to be kept when Python is updated in -stable)
# Also note:
# - Some subpackages e.g. -idle have a conflict on an old version of the main
# package e.g. "@conflict python->=3.6,<3.6.8p0", this is due to a file
# moving between subpackages in the past.
.if !defined(MODPY_VERSION)
FLAVOR ?=
@ -72,10 +35,11 @@ MODPY_VERSION ?= ${MODPY_DEFAULT_VERSION_2}
.endif
# verify if MODPY_VERSION found is correct
.if ${MODPY_VERSION} != "2.7" && \
${MODPY_VERSION} != "3.9" && \
${MODPY_VERSION} != "3.10" && \
${MODPY_VERSION} != "3.11"
.if ${MODPY_VERSION} == "2.7"
_MODPY_SUBDIR = 2.7
.elif ${MODPY_VERSION} == "3.11"
_MODPY_SUBDIR = 3
.else
ERRORS += "Fatal: unknown or unsupported MODPY_VERSION: ${MODPY_VERSION}"
.endif
@ -83,6 +47,7 @@ MODPY_MAJOR_VERSION = ${MODPY_VERSION:R}
.if ${MODPY_MAJOR_VERSION} == 2
MODPY_FLAVOR =
# use MODPY_BIN_SUFFIX for binaries to avoid conflict
MODPY_BIN_SUFFIX = -2
MODPY_PY_PREFIX = py-
MODPY_PYCACHE =
@ -94,7 +59,6 @@ MODPY_PYOEXTENSION = pyo
# replace py- prefix by py3-
FULLPKGNAME ?= ${PKGNAME:S/^py-/py3-/}${FLAVOR_EXT:S/-python3//}
MODPY_FLAVOR = ,python3
# use MODPY_BIN_SUFFIX for binaries to avoid conflict
MODPY_BIN_SUFFIX =
MODPY_PY_PREFIX = py3-
MODPY_PYCACHE = __pycache__/
@ -121,9 +85,9 @@ MODPY_PYTEST ?= Yes
MODPY_WANTLIB = python${MODPY_VERSION}
MODPY_RUN_DEPENDS = lang/python/${MODPY_VERSION}
MODPY_LIB_DEPENDS = lang/python/${MODPY_VERSION}
_MODPY_BUILD_DEPENDS = lang/python/${MODPY_VERSION}
MODPY_RUN_DEPENDS = lang/python/${_MODPY_SUBDIR}
MODPY_LIB_DEPENDS = lang/python/${_MODPY_SUBDIR}
_MODPY_BUILD_DEPENDS = lang/python/${_MODPY_SUBDIR}
.if ${MODPY_PYTEST:L} == "yes"
. if ${MODPY_VERSION} == ${MODPY_DEFAULT_VERSION_2}
@ -132,6 +96,8 @@ NO_TEST = Yes
MODPY_TEST_DEPENDS = ${RUN_DEPENDS}
MODPY_TEST_DEPENDS += devel/py-test${MODPY_FLAVOR}
. endif
.else
MODPY_TEST_DEPENDS = ${MODPY_RUN_DEPENDS}
.endif
.if ${NO_BUILD:L} == "no"
@ -209,12 +175,18 @@ BUILD_DEPENDS += devel/py-build${MODPY_FLAVOR} \
devel/py-installer${MODPY_FLAVOR}
. if ${MODPY_PYBUILD} == flit_core
BUILD_DEPENDS += devel/py-flit_core${MODPY_FLAVOR}
. elif ${MODPY_PYBUILD} == flit_scm
BUILD_DEPENDS += devel/py-flit_scm${MODPY_FLAVOR}
. elif ${MODPY_PYBUILD} == flit
BUILD_DEPENDS += devel/py-flit${MODPY_FLAVOR}
. elif ${MODPY_PYBUILD} == hatchling
BUILD_DEPENDS += devel/py-hatchling${MODPY_FLAVOR}
. elif ${MODPY_PYBUILD} == hatch-vcs
BUILD_DEPENDS += devel/py-hatch-vcs${MODPY_FLAVOR}
. elif ${MODPY_PYBUILD} == jupyter_packaging
BUILD_DEPENDS += devel/py-jupyter_packaging${MODPY_FLAVOR}
. elif ${MODPY_PYBUILD} == maturin
BUILD_DEPENDS += devel/maturin
. elif ${MODPY_PYBUILD} == poetry-core
BUILD_DEPENDS += devel/py-poetry-core${MODPY_FLAVOR}
. elif ${MODPY_PYBUILD} == setuptools || ${MODPY_PYBUILD} == setuptools_scm
@ -223,8 +195,8 @@ BUILD_DEPENDS += devel/py-setuptools${MODPY_FLAVOR} \
. if ${MODPY_PYBUILD} == setuptools_scm
BUILD_DEPENDS += devel/py-setuptools_scm${MODPY_FLAVOR}
. endif
. elif !${MODPY_PYBUILD:L:Myes}
ERRORS += "Fatal: unknown MODPY_PYBUILD value (flit_core, flit, hatchling, hatch-vcs, poetry-core, setuptools, setuptools_scm)"
. elif !${MODPY_PYBUILD:L:Mother}
ERRORS += "Fatal: unknown MODPY_PYBUILD value (flit_core, flit_scm, flit, hatchling, hatch-vcs, jupyter_packaging, maturin, other, poetry-core, setuptools, setuptools_scm)"
. endif
.else
# Try to detect the case where a port will build regardless of setuptools
@ -251,7 +223,7 @@ SITES = ${SITE_PYPI:=${MODPY_PI_DIR}/}
HOMEPAGE ?= https://pypi.python.org/pypi/${_MODPY_EGG_NAME}
.endif
MODPY_TKINTER_DEPENDS = lang/python/${MODPY_VERSION},-tkinter
MODPY_TKINTER_DEPENDS = lang/python/${_MODPY_SUBDIR},-tkinter
MODPY_BIN = ${LOCALBASE}/bin/python${MODPY_VERSION}
MODPY_INCDIR = ${LOCALBASE}/include/python${MODPY_VERSION}
@ -330,8 +302,9 @@ _MODPY_PRE_BUILD_STEPS += ; if [ -e ${WRKSRC}/pyproject.toml ]; then \
echo "*** Port appears to require setuptools_scm" && sleep 2; \
fi
. endif
MODPY_PYBUILD_ARGS ?=
MODPY_BUILD_TARGET = ${_MODPY_PRE_BUILD_STEPS}; \
${_MODPY_RUNBIN} -sBm build -w --no-isolation
${_MODPY_RUNBIN} -sBm build -w --no-isolation ${MODPY_PYBUILD_ARGS}
MODPY_INSTALL_TARGET = \
${INSTALL_DATA_DIR} ${WRKINST}${MODPY_LIBDIR}; \
${_MODPY_RUNBIN} -m installer -d ${WRKINST} ${WRKSRC}/dist/*.whl