diff --git a/cpython-unix/build-cpython.sh b/cpython-unix/build-cpython.sh index e7ed8cb1..a04677f1 100755 --- a/cpython-unix/build-cpython.sh +++ b/cpython-unix/build-cpython.sh @@ -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 @@ -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 diff --git a/cpython-unix/build.py b/cpython-unix/build.py index 60935417..5d4b5c9d 100755 --- a/cpython-unix/build.py +++ b/cpython-unix/build.py @@ -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", diff --git a/cpython-unix/extension-modules.yml b/cpython-unix/extension-modules.yml index 1a195b04..968f8d81 100644 --- a/cpython-unix/extension-modules.yml +++ b/cpython-unix/extension-modules.yml @@ -689,6 +689,7 @@ _tkinter: - CoreGraphics - IOKit - QuartzCore + - UniformTypeIdentifiers _tokenize: minimum-python-version: "3.11" diff --git a/cpython-windows/build.py b/cpython-windows/build.py index e410bf47..4f833a4a 100644 --- a/cpython-windows/build.py +++ b/cpython-windows/build.py @@ -114,7 +114,7 @@ "_lzma": ["xz"], "_sqlite3": ["sqlite"], "_ssl": ["openssl"], - "_tkinter": ["tcl", "tk", "tix"], + "_tkinter": ["tcl-8612", "tk-8612", "tix"], "_uuid": ["uuid"], "zlib": ["zlib"], } @@ -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) @@ -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) diff --git a/pythonbuild/downloads.py b/pythonbuild/downloads.py index 983efa04..401bd171 100644 --- a/pythonbuild/downloads.py +++ b/pythonbuild/downloads.py @@ -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", @@ -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", @@ -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", diff --git a/src/validation.rs b/src/validation.rs index b8a27a06..fa19b4d3 100644 --- a/src/validation.rs +++ b/src/validation.rs @@ -238,7 +238,10 @@ static ELF_ALLOWED_LIBRARIES_BY_TRIPLE: Lazy> = 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(),