Skip to content

Commit f7b5195

Browse files
committed
linux: add most scaffolding to support build _tkinter extension
With this patch, we can now build the _tkinter extension module. However, it isn't enabled by default because of shared library dependency bloat.
1 parent dc86a88 commit f7b5195

File tree

4 files changed

+6
-5
lines changed

4 files changed

+6
-5
lines changed

cpython-linux/build.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,8 @@ def build_cpython(client, image, platform, debug=False, optimized=False, musl=Fa
663663

664664
setup = derive_setup_local(static_modules_lines, python_archive,
665665
python_version=entry['version'],
666-
musl=musl, debug=debug)
666+
musl=musl, debug=debug,
667+
disabled={b'_tkinter'})
667668

668669
config_c_in = parse_config_c(setup['config_c_in'].decode('utf-8'))
669670
setup_dist_content = setup['setup_dist']
@@ -691,8 +692,7 @@ def build_cpython(client, image, platform, debug=False, optimized=False, musl=Fa
691692

692693
install_tools_archive(container, archive_path('readline', platform, musl=musl))
693694
install_tools_archive(container, archive_path('sqlite', platform, musl=musl))
694-
# tk requires a bunch of X11 stuff.
695-
#install_tools_archive(container, archive_path('tcl', platform, musl=musl))
695+
install_tools_archive(container, archive_path('tcl', platform, musl=musl))
696696
install_tools_archive(container, archive_path('uuid', platform, musl=musl))
697697
install_tools_archive(container, archive_path('xz', platform, musl=musl))
698698
install_tools_archive(container, archive_path('zlib', platform, musl=musl))

cpython-linux/static-modules

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ _ssl _ssl.c -I/tools/deps/include -lssl -lcrypto
2828
_testbuffer _testbuffer.c
2929
_testimportmultiple _testimportmultiple.c
3030
_testmultiphase _testmultiphase.c
31+
_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT -I/tools/deps/include -I/usr/include/X11 -L/tools/deps/lib -ltcl8.6 -ltk8.6 -lX11
3132
_uuid _uuidmodule.c -I/tools/deps/include/uuid -luuid
3233
_xxtestfuzz _xxtestfuzz/_xxtestfuzz.c _xxtestfuzz/fuzzer.c
3334
ossaudiodev ossaudiodev.c

cpython-macos/build.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@
3838
DISABLED_STATIC_MODULES = {
3939
# We don't support GDBM because it is GPL v3.
4040
b'_gdbm',
41+
# Not yet supported.
42+
b'_tkinter',
4143
# Not available on macOS.
4244
b'nis',
4345
# Not available on macOS.

pythonbuild/cpython.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@
6666
# Our self-contained builds upset _testcapi and trigger a preprocessor
6767
# error.
6868
b'_testcapi',
69-
# We don't yet support tcl/tk.
70-
b'_tkinter',
7169
}
7270

7371

0 commit comments

Comments
 (0)