From eae365ed3059daf80bc9059ada0fef29f8112e19 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Wed, 9 Oct 2024 10:10:11 +0800 Subject: [PATCH 1/3] Bump to 3.13.0. --- Makefile | 2 +- patch/Python/Python.patch | 68 +++++++++++++++++++-------------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/Makefile b/Makefile index 9aa0e7b..538bb61 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ BUILD_NUMBER=custom # of a release cycle, as official binaries won't be published. # PYTHON_MICRO_VERSION is the full version number, without any alpha/beta/rc suffix. (e.g., 3.10.0) # PYTHON_VER is the major/minor version (e.g., 3.10) -PYTHON_VERSION=3.13.0rc2 +PYTHON_VERSION=3.13.0 PYTHON_PKG_VERSION=$(PYTHON_VERSION) PYTHON_MICRO_VERSION=$(shell echo $(PYTHON_VERSION) | grep -Eo "\d+\.\d+\.\d+") PYTHON_PKG_MICRO_VERSION=$(shell echo $(PYTHON_PKG_VERSION) | grep -Eo "\d+\.\d+\.\d+") diff --git a/patch/Python/Python.patch b/patch/Python/Python.patch index 7ec76ce..02dbce8 100644 --- a/patch/Python/Python.patch +++ b/patch/Python/Python.patch @@ -163,7 +163,7 @@ index ec0857a4a99..2350e9dc821 100644 # elif !defined(TARGET_OS_OSX) || TARGET_OS_OSX PLATFORM_TRIPLET=darwin diff --git a/configure b/configure -index 7e1e5e594ca..39a050c1451 100755 +index 7cdd386c387..5e968a26b17 100755 --- a/configure +++ b/configure @@ -978,6 +978,8 @@ @@ -495,7 +495,7 @@ index 7e1e5e594ca..39a050c1451 100755 LDLIBRARY='libpython$(LDVERSION).dylib' ;; AIX*) -@@ -12948,7 +13097,7 @@ +@@ -12952,7 +13101,7 @@ BLDSHARED="$LDSHARED" fi ;; @@ -504,7 +504,7 @@ index 7e1e5e594ca..39a050c1451 100755 LDSHARED='$(CC) -dynamiclib -F . -framework $(PYTHONFRAMEWORK)' LDCXXSHARED='$(CXX) -dynamiclib -F . -framework $(PYTHONFRAMEWORK)' BLDSHARED="$LDSHARED" -@@ -13081,7 +13230,7 @@ +@@ -13085,7 +13234,7 @@ Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; # -u libsys_s pulls in all symbols in libsys @@ -513,7 +513,7 @@ index 7e1e5e594ca..39a050c1451 100755 LINKFORSHARED="$extra_undefs -framework CoreFoundation" # Issue #18075: the default maximum stack size (8MBytes) is too -@@ -13105,7 +13254,7 @@ +@@ -13109,7 +13258,7 @@ LINKFORSHARED="$LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' fi LINKFORSHARED="$LINKFORSHARED" @@ -522,7 +522,7 @@ index 7e1e5e594ca..39a050c1451 100755 LINKFORSHARED="-Wl,-stack_size,$stack_size $LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)' fi ;; -@@ -14504,7 +14653,7 @@ +@@ -14508,7 +14657,7 @@ ctypes_malloc_closure=yes ;; #( @@ -531,7 +531,7 @@ index 7e1e5e594ca..39a050c1451 100755 ctypes_malloc_closure=yes ;; #( -@@ -17955,12 +18104,6 @@ +@@ -17959,12 +18108,6 @@ then : printf "%s\n" "#define HAVE_DUP3 1" >>confdefs.h @@ -544,7 +544,7 @@ index 7e1e5e594ca..39a050c1451 100755 fi ac_fn_c_check_func "$LINENO" "explicit_bzero" "ac_cv_func_explicit_bzero" if test "x$ac_cv_func_explicit_bzero" = xyes -@@ -18021,18 +18164,6 @@ +@@ -18025,18 +18168,6 @@ then : printf "%s\n" "#define HAVE_FEXECVE 1" >>confdefs.h @@ -563,7 +563,7 @@ index 7e1e5e594ca..39a050c1451 100755 fi ac_fn_c_check_func "$LINENO" "fpathconf" "ac_cv_func_fpathconf" if test "x$ac_cv_func_fpathconf" = xyes -@@ -18459,24 +18590,6 @@ +@@ -18463,24 +18594,6 @@ then : printf "%s\n" "#define HAVE_POSIX_OPENPT 1" >>confdefs.h @@ -588,7 +588,7 @@ index 7e1e5e594ca..39a050c1451 100755 fi ac_fn_c_check_func "$LINENO" "pread" "ac_cv_func_pread" if test "x$ac_cv_func_pread" = xyes -@@ -18765,12 +18878,6 @@ +@@ -18769,12 +18882,6 @@ then : printf "%s\n" "#define HAVE_SIGACTION 1" >>confdefs.h @@ -601,7 +601,7 @@ index 7e1e5e594ca..39a050c1451 100755 fi ac_fn_c_check_func "$LINENO" "sigfillset" "ac_cv_func_sigfillset" if test "x$ac_cv_func_sigfillset" = xyes -@@ -19039,11 +19146,11 @@ +@@ -19043,11 +19150,11 @@ fi @@ -615,7 +615,7 @@ index 7e1e5e594ca..39a050c1451 100755 ac_fn_c_check_func "$LINENO" "getentropy" "ac_cv_func_getentropy" if test "x$ac_cv_func_getentropy" = xyes then : -@@ -19065,6 +19172,53 @@ +@@ -19069,6 +19176,53 @@ fi @@ -669,7 +669,7 @@ index 7e1e5e594ca..39a050c1451 100755 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } if test ${ac_cv_c_undeclared_builtin_options+y} -@@ -21861,7 +22015,8 @@ +@@ -21865,7 +22019,8 @@ # check for openpty, login_tty, and forkpty @@ -679,7 +679,7 @@ index 7e1e5e594ca..39a050c1451 100755 for ac_func in openpty do : -@@ -21957,7 +22112,7 @@ +@@ -21961,7 +22116,7 @@ fi done @@ -688,7 +688,7 @@ index 7e1e5e594ca..39a050c1451 100755 printf %s "checking for library containing login_tty... " >&6; } if test ${ac_cv_search_login_tty+y} then : -@@ -22114,6 +22269,7 @@ +@@ -22118,6 +22273,7 @@ fi done @@ -696,7 +696,7 @@ index 7e1e5e594ca..39a050c1451 100755 # check for long file support functions ac_fn_c_check_func "$LINENO" "fseek64" "ac_cv_func_fseek64" -@@ -22360,10 +22516,10 @@ +@@ -22364,10 +22520,10 @@ done @@ -709,7 +709,7 @@ index 7e1e5e594ca..39a050c1451 100755 then for ac_func in clock_settime -@@ -24593,8 +24749,8 @@ +@@ -24597,8 +24753,8 @@ LIBPYTHON="\$(BLDLIBRARY)" fi @@ -720,7 +720,7 @@ index 7e1e5e594ca..39a050c1451 100755 MODULE_DEPS_SHARED="$MODULE_DEPS_SHARED \$(PYTHONFRAMEWORKDIR)/\$(PYTHONFRAMEWORK)" fi -@@ -27242,7 +27398,7 @@ +@@ -27246,7 +27402,7 @@ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for device files" >&5 printf "%s\n" "$as_me: checking for device files" >&6;} @@ -729,7 +729,7 @@ index 7e1e5e594ca..39a050c1451 100755 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no else -@@ -27675,7 +27831,7 @@ +@@ -27679,7 +27835,7 @@ with_ensurepip=no ;; #( WASI) : with_ensurepip=no ;; #( @@ -738,7 +738,7 @@ index 7e1e5e594ca..39a050c1451 100755 with_ensurepip=no ;; #( *) : with_ensurepip=upgrade -@@ -28700,7 +28856,7 @@ +@@ -28704,7 +28860,7 @@ ;; #( Darwin) : ;; #( @@ -747,7 +747,7 @@ index 7e1e5e594ca..39a050c1451 100755 -@@ -32465,6 +32621,8 @@ +@@ -32469,6 +32625,8 @@ "Mac/Resources/framework/Info.plist") CONFIG_FILES="$CONFIG_FILES Mac/Resources/framework/Info.plist" ;; "Mac/Resources/app/Info.plist") CONFIG_FILES="$CONFIG_FILES Mac/Resources/app/Info.plist" ;; "iOS/Resources/Info.plist") CONFIG_FILES="$CONFIG_FILES iOS/Resources/Info.plist" ;; @@ -757,7 +757,7 @@ index 7e1e5e594ca..39a050c1451 100755 "Misc/python.pc") CONFIG_FILES="$CONFIG_FILES Misc/python.pc" ;; "Misc/python-embed.pc") CONFIG_FILES="$CONFIG_FILES Misc/python-embed.pc" ;; diff --git a/configure.ac b/configure.ac -index 58f54076ff2..4825d131142 100644 +index 24e28a1e2de..3e008102154 100644 --- a/configure.ac +++ b/configure.ac @@ -330,6 +330,12 @@ @@ -1071,7 +1071,7 @@ index 58f54076ff2..4825d131142 100644 LDLIBRARY='libpython$(LDVERSION).dylib' ;; AIX*) -@@ -3458,7 +3589,7 @@ +@@ -3462,7 +3593,7 @@ BLDSHARED="$LDSHARED" fi ;; @@ -1080,7 +1080,7 @@ index 58f54076ff2..4825d131142 100644 LDSHARED='$(CC) -dynamiclib -F . -framework $(PYTHONFRAMEWORK)' LDCXXSHARED='$(CXX) -dynamiclib -F . -framework $(PYTHONFRAMEWORK)' BLDSHARED="$LDSHARED" -@@ -3582,7 +3713,7 @@ +@@ -3586,7 +3717,7 @@ Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; # -u libsys_s pulls in all symbols in libsys @@ -1089,7 +1089,7 @@ index 58f54076ff2..4825d131142 100644 LINKFORSHARED="$extra_undefs -framework CoreFoundation" # Issue #18075: the default maximum stack size (8MBytes) is too -@@ -3606,7 +3737,7 @@ +@@ -3610,7 +3741,7 @@ LINKFORSHARED="$LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' fi LINKFORSHARED="$LINKFORSHARED" @@ -1098,7 +1098,7 @@ index 58f54076ff2..4825d131142 100644 LINKFORSHARED="-Wl,-stack_size,$stack_size $LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)' fi ;; -@@ -3990,7 +4121,7 @@ +@@ -3994,7 +4125,7 @@ dnl when do we need USING_APPLE_OS_LIBFFI? ctypes_malloc_closure=yes ], @@ -1107,7 +1107,7 @@ index 58f54076ff2..4825d131142 100644 ctypes_malloc_closure=yes ], [sunos5], [AS_VAR_APPEND([LIBFFI_LIBS], [" -mimpure-text"])] -@@ -5084,9 +5215,9 @@ +@@ -5088,9 +5219,9 @@ # checks for library functions AC_CHECK_FUNCS([ \ accept4 alarm bind_textdomain_codeset chmod chown clock closefrom close_range confstr \ @@ -1119,7 +1119,7 @@ index 58f54076ff2..4825d131142 100644 gai_strerror getegid geteuid getgid getgrent getgrgid getgrgid_r \ getgrnam_r getgrouplist gethostname getitimer getloadavg getlogin \ getpeername getpgid getpid getppid getpriority _getpty \ -@@ -5094,15 +5225,14 @@ +@@ -5098,15 +5229,14 @@ getspnam getuid getwd grantpt if_nameindex initgroups kill killpg lchown linkat \ lockf lstat lutimes madvise mbrtowc memrchr mkdirat mkfifo mkfifoat \ mknod mknodat mktime mmap mremap nice openat opendir pathconf pause pipe \ @@ -1137,7 +1137,7 @@ index 58f54076ff2..4825d131142 100644 sigfillset siginterrupt sigpending sigrelse sigtimedwait sigwait \ sigwaitinfo snprintf splice strftime strlcpy strsignal symlinkat sync \ sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile \ -@@ -5117,12 +5247,20 @@ +@@ -5121,12 +5251,20 @@ AC_CHECK_FUNCS([lchmod]) fi @@ -1161,7 +1161,7 @@ index 58f54076ff2..4825d131142 100644 fi AC_CHECK_DECL([dirfd], -@@ -5373,20 +5511,22 @@ +@@ -5377,20 +5515,22 @@ ]) # check for openpty, login_tty, and forkpty @@ -1198,7 +1198,7 @@ index 58f54076ff2..4825d131142 100644 # check for long file support functions AC_CHECK_FUNCS([fseek64 fseeko fstatvfs ftell64 ftello statvfs]) -@@ -5425,10 +5565,10 @@ +@@ -5429,10 +5569,10 @@ ]) ]) @@ -1211,7 +1211,7 @@ index 58f54076ff2..4825d131142 100644 then AC_CHECK_FUNCS([clock_settime], [], [ AC_CHECK_LIB([rt], [clock_settime], [ -@@ -6179,8 +6319,8 @@ +@@ -6183,8 +6323,8 @@ LIBPYTHON="\$(BLDLIBRARY)" fi @@ -1222,7 +1222,7 @@ index 58f54076ff2..4825d131142 100644 MODULE_DEPS_SHARED="$MODULE_DEPS_SHARED \$(PYTHONFRAMEWORKDIR)/\$(PYTHONFRAMEWORK)" fi -@@ -6788,7 +6928,7 @@ +@@ -6792,7 +6932,7 @@ dnl NOTE: Inform user how to proceed with files when cross compiling. dnl Some cross-compile builds are predictable; they won't ever dnl have /dev/ptmx or /dev/ptc, so we can set them explicitly. @@ -1231,7 +1231,7 @@ index 58f54076ff2..4825d131142 100644 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no else -@@ -7045,7 +7185,7 @@ +@@ -7049,7 +7189,7 @@ AS_CASE([$ac_sys_system], [Emscripten], [with_ensurepip=no], [WASI], [with_ensurepip=no], @@ -1240,7 +1240,7 @@ index 58f54076ff2..4825d131142 100644 [with_ensurepip=upgrade] ) ]) -@@ -7454,7 +7594,7 @@ +@@ -7458,7 +7598,7 @@ [VxWorks*], [PY_STDLIB_MOD_SET_NA([_scproxy], [termios], [grp])], dnl The _scproxy module is available on macOS [Darwin], [], From e3f0bc0c2e7d24b9c501c09d3d0a6c7cb60d8596 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 13 Oct 2024 20:08:05 +0000 Subject: [PATCH 2/3] Bump actions/upload-artifact from 4.4.0 to 4.4.3 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.0 to 4.4.3. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.4.0...v4.4.3) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8fd9eb9..fc4a013 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -121,7 +121,7 @@ jobs: make ${{ matrix.target }} BUILD_NUMBER=${{ needs.config.outputs.BUILD_NUMBER }} - name: Upload build artefacts - uses: actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@v4.4.3 with: name: Python-${{ needs.config.outputs.PYTHON_VER }}-${{ matrix.target }}-support.${{ needs.config.outputs.BUILD_NUMBER }}.tar.gz path: dist/Python-${{ needs.config.outputs.PYTHON_VER }}-${{ matrix.target }}-support.${{ needs.config.outputs.BUILD_NUMBER }}.tar.gz From 75dd5e3919657725cb172bb2d792b56c858eac92 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Mon, 28 Oct 2024 08:31:43 +0800 Subject: [PATCH 3/3] Add ios_ver and _multiarch shims for pip 24.3 support. --- Makefile | 5 +++++ patch/Python/sitecustomize.iOS.py | 17 ++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 538bb61..28d053c 100644 --- a/Makefile +++ b/Makefile @@ -129,8 +129,10 @@ ARCH-$(target)=$$(subst .,,$$(suffix $(target))) ifneq ($(os),macOS) ifeq ($$(findstring simulator,$$(SDK-$(target))),) TARGET_TRIPLE-$(target)=$$(ARCH-$(target))-apple-$$(OS_LOWER-$(target))$$(VERSION_MIN-$(os)) +IS_SIMULATOR-$(target)="False" else TARGET_TRIPLE-$(target)=$$(ARCH-$(target))-apple-$$(OS_LOWER-$(target))$$(VERSION_MIN-$(os))-simulator +IS_SIMULATOR-$(target)="True" endif endif @@ -324,6 +326,9 @@ $$(PYTHON_SITECUSTOMIZE-$(target)): cat $(PROJECT_DIR)/patch/Python/sitecustomize.$(os).py \ | sed -e "s/{{os}}/$(os)/g" \ | sed -e "s/{{arch}}/$$(ARCH-$(target))/g" \ + | sed -e "s/{{version_min}}/$$(VERSION_MIN-$(os))/g" \ + | sed -e "s/{{is_simulator}}/$$(IS_SIMULATOR-$(target))/g" \ + | sed -e "s/{{multiarch}}/$$(ARCH-$(target))-$$(SDK-$(target))/g" \ | sed -e "s/{{tag}}/$$(OS_LOWER-$(target))-$$(VERSION_MIN-$(os))-$$(ARCH-$(target))-$$(SDK-$(target))/g" \ > $$(PYTHON_SITECUSTOMIZE-$(target)) diff --git a/patch/Python/sitecustomize.iOS.py b/patch/Python/sitecustomize.iOS.py index d7d86e3..ccc291f 100644 --- a/patch/Python/sitecustomize.iOS.py +++ b/patch/Python/sitecustomize.iOS.py @@ -2,6 +2,7 @@ # packages cross-platform. If the folder containing this file is on # your PYTHONPATH when you invoke pip, pip will behave as if it were # running on {{os}}. +import collections import distutils.ccompiler import distutils.unixccompiler import os @@ -16,7 +17,21 @@ def custom_system(): platform.system = custom_system -# Make sysconfig.get_platform() return "{{tag}}" +# Make platform.ios_ver() return an appropriate namedtuple +IOSVersionInfo = collections.namedtuple( + "IOSVersionInfo", + ["system", "release", "model", "is_simulator"] +) + +def custom_ios_ver(system="", release="", model="", is_simulator=False): + return IOSVersionInfo("{{os}}", "{{version_min}}", "iPhone", {{is_simulator}}) + +platform.ios_ver = custom_ios_ver + +# Make sys.implementation._multiarch return the multiarch description +sys.implementation._multiarch = "{{multiarch}}" + +# Make sysconfig.get_platform() return the platform tag def custom_get_platform(): return "{{tag}}"