Skip to content

Commit

Permalink
Upgrade tcl/tk from 8.6.12 to 8.6.14 on Unix (#495)
Browse files Browse the repository at this point in the history
Rebase of #313 to only apply to Unix. We'll handle Windows separately in
#494.

---------

Co-authored-by: Gregory Szorc <[email protected]>
  • Loading branch information
zanieb and indygreg authored Jan 14, 2025
1 parent 6a1b95d commit 6f3ab98
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 12 deletions.
4 changes: 2 additions & 2 deletions cpython-unix/build-cpython.sh
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ if [ "${PYBUILD_PLATFORM}" = "macos" ]; then
# symbol.
if [ -n "${PYTHON_MEETS_MAXIMUM_VERSION_3_9}" ]; then
if [ "${TARGET_TRIPLE}" != "aarch64-apple-darwin" ]; then
for symbol in clock_getres clock_gettime clock_settime faccessat fchmodat fchownat fdopendir fstatat futimens getentropy linkat mkdirat openat preadv pwritev readlinkat renameat symlinkat unlinkat utimensat; do
for symbol in clock_getres clock_gettime clock_settime faccessat fchmodat fchownat fdopendir fstatat futimens getentropy linkat mkdirat openat preadv pwritev readlinkat renameat symlinkat unlinkat utimensat uttype; do
CONFIGURE_FLAGS="${CONFIGURE_FLAGS} ac_cv_func_${symbol}=no"
done
fi
Expand Down Expand Up @@ -1083,7 +1083,7 @@ if [ -d "${TOOLS_PATH}/deps/lib/tcl8" ]; then
# Copy tcl/tk/tix resources needed by tkinter.
mkdir ${ROOT}/out/python/install/lib/tcl
# Keep this list in sync with tcl_library_paths.
for source in ${TOOLS_PATH}/deps/lib/{itcl4.2.2,tcl8,tcl8.6,thread2.8.7,tk8.6}; do
for source in ${TOOLS_PATH}/deps/lib/{itcl4.2.4,tcl8,tcl8.6,thread2.8.9,tk8.6}; do
cp -av $source ${ROOT}/out/python/install/lib/
done

Expand Down
2 changes: 1 addition & 1 deletion cpython-unix/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ def build_cpython(

python_info["tcl_library_path"] = "install/lib"
python_info["tcl_library_paths"] = [
"itcl4.2.2",
"itcl4.2.4",
"tcl8",
"tcl8.6",
"thread2.8.7",
Expand Down
1 change: 1 addition & 0 deletions cpython-unix/extension-modules.yml
Original file line number Diff line number Diff line change
Expand Up @@ -689,6 +689,7 @@ _tkinter:
- CoreGraphics
- IOKit
- QuartzCore
- UniformTypeIdentifiers

_tokenize:
minimum-python-version: "3.11"
Expand Down
6 changes: 3 additions & 3 deletions cpython-windows/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@
"_lzma": ["xz"],
"_sqlite3": ["sqlite"],
"_ssl": ["openssl"],
"_tkinter": ["tcl", "tk", "tix"],
"_tkinter": ["tcl-8612", "tk-8612", "tix"],
"_uuid": ["uuid"],
"zlib": ["zlib"],
}
Expand Down Expand Up @@ -355,7 +355,7 @@ def hack_props(
sqlite_version = DOWNLOADS["sqlite"]["version"]
xz_version = DOWNLOADS["xz"]["version"]
zlib_version = DOWNLOADS["zlib"]["version"]
tcltk_commit = DOWNLOADS["tk-windows-bin"]["git_commit"]
tcltk_commit = DOWNLOADS["tk-windows-bin-8612"]["git_commit"]
mpdecimal_version = DOWNLOADS["mpdecimal"]["version"]

sqlite_path = td / ("sqlite-autoconf-%s" % sqlite_version)
Expand Down Expand Up @@ -1197,7 +1197,7 @@ def build_cpython(
bzip2_archive = download_entry("bzip2", BUILD)
sqlite_archive = download_entry("sqlite", BUILD)
tk_bin_archive = download_entry(
"tk-windows-bin", BUILD, local_name="tk-windows-bin.tar.gz"
"tk-windows-bin-8612", BUILD, local_name="tk-windows-bin.tar.gz"
)
xz_archive = download_entry("xz", BUILD)
zlib_archive = download_entry("zlib", BUILD)
Expand Down
35 changes: 30 additions & 5 deletions pythonbuild/downloads.py
Original file line number Diff line number Diff line change
Expand Up @@ -309,10 +309,10 @@
"version": "5.38.2.2",
},
"tcl": {
"url": "https://prdownloads.sourceforge.net/tcl/tcl8.6.12-src.tar.gz",
"size": 10353486,
"sha256": "26c995dd0f167e48b11961d891ee555f680c175f7173ff8cb829f4ebcde4c1a6",
"version": "8.6.12",
"url": "https://prdownloads.sourceforge.net/tcl/tcl8.6.14-src.tar.gz",
"size": 11627322,
"sha256": "5880225babf7954c58d4fb0f5cf6279104ce1cd6aa9b71e9a6322540e1c4de66",
"version": "8.6.14",
"library_names": ["tcl8.6"],
"licenses": ["TCL"],
"license_file": "LICENSE.tcl.txt",
Expand All @@ -326,6 +326,31 @@
"license_file": "LICENSE.tix.txt",
},
"tk": {
"url": "https://prdownloads.sourceforge.net/tcl/tk8.6.14-src.tar.gz",
"size": 4510695,
"sha256": "8ffdb720f47a6ca6107eac2dd877e30b0ef7fac14f3a84ebbd0b3612cee41a94",
"version": "8.6.14",
"library_names": ["tk8.6"],
"licenses": ["TCL"],
"license_file": "LICENSE.tcl.txt",
},
"tk-windows-bin": {
"url": "https://github.com/python/cpython-bin-deps/archive/c624cc881bd0e5071dec9de4b120cbe9985d8c14.tar.gz",
"size": 9497943,
"sha256": "9b8e77d55f40ceaedd140ccca0daa804f0d43346d5abfcead9b547b5590f82f8",
"version": "8.6.14",
"git_commit": "c624cc881bd0e5071dec9de4b120cbe9985d8c14",
},
"tcl-8612": {
"url": "https://prdownloads.sourceforge.net/tcl/tcl8.6.12-src.tar.gz",
"size": 10353486,
"sha256": "26c995dd0f167e48b11961d891ee555f680c175f7173ff8cb829f4ebcde4c1a6",
"version": "8.6.12",
"library_names": ["tcl8.6"],
"licenses": ["TCL"],
"license_file": "LICENSE.tcl.txt",
},
"tk-8612": {
"url": "https://prdownloads.sourceforge.net/tcl/tk8.6.12-src.tar.gz",
"size": 4515393,
"sha256": "12395c1f3fcb6bed2938689f797ea3cdf41ed5cb6c4766eec8ac949560310630",
Expand All @@ -334,7 +359,7 @@
"licenses": ["TCL"],
"license_file": "LICENSE.tcl.txt",
},
"tk-windows-bin": {
"tk-windows-bin-8612": {
"url": "https://github.com/python/cpython-bin-deps/archive/e3c3e9a2856124aa32b608632a52742d479eb7a9.tar.gz",
"size": 6787654,
"sha256": "01ad9c663659224e075d487cbc33ea2fed7a225593965b79bed92ca7f79b676f",
Expand Down
10 changes: 9 additions & 1 deletion src/validation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,10 @@ static ELF_ALLOWED_LIBRARIES_BY_TRIPLE: Lazy<HashMap<&'static str, Vec<&'static
),
("mips64el-unknown-linux-gnuabi64", vec![]),
("ppc64le-unknown-linux-gnu", vec!["ld64.so.1", "ld64.so.2"]),
("riscv64-unknown-linux-gnu", vec!["ld-linux-riscv64-lp64d.so.1", "libatomic.so.1"]),
(
"riscv64-unknown-linux-gnu",
vec!["ld-linux-riscv64-lp64d.so.1", "libatomic.so.1"],
),
("s390x-unknown-linux-gnu", vec!["ld64.so.1"]),
("x86_64-unknown-linux-gnu", vec!["ld-linux-x86-64.so.2"]),
("x86_64_v2-unknown-linux-gnu", vec!["ld-linux-x86-64.so.2"]),
Expand Down Expand Up @@ -394,6 +397,11 @@ static DARWIN_ALLOWED_DYLIBS: Lazy<Vec<MachOAllowedDylib>> = Lazy::new(|| {
max_compatibility_version: "1.0.0".try_into().unwrap(),
required: true,
},
MachOAllowedDylib {
name: "/System/Library/Frameworks/UniformTypeIdentifiers.framework/Versions/A/UniformTypeIdentifiers".to_string(),
max_compatibility_version: "1.0.0".try_into().unwrap(),
required: true,
},
MachOAllowedDylib {
name: "/usr/lib/libedit.3.dylib".to_string(),
max_compatibility_version: "2.0.0".try_into().unwrap(),
Expand Down

0 comments on commit 6f3ab98

Please sign in to comment.