From a9c3bba87b14d6c0e723f48e7ef078af6bc2f4ab Mon Sep 17 00:00:00 2001 From: Erik Gomez Date: Thu, 1 Feb 2024 10:05:25 -0600 Subject: [PATCH] attempt to use a shim for managed_python3 on python 3.11 and 3.12 --- build_python_framework_pkgs.zsh | 15 +++++++++++++-- python-3.11 | 7 +++++++ python-3.12 | 7 +++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100755 python-3.11 create mode 100755 python-3.12 diff --git a/build_python_framework_pkgs.zsh b/build_python_framework_pkgs.zsh index 4a5da57..d09afe7 100755 --- a/build_python_framework_pkgs.zsh +++ b/build_python_framework_pkgs.zsh @@ -22,6 +22,7 @@ XCODE_PATH="/Applications/Xcode_15.2.app" XCODE_NOTARY_PATH="$XCODE_PATH/Contents/Developer/usr/bin/notarytool" XCODE_STAPLER_PATH="$XCODE_PATH/Contents/Developer/usr/bin/stapler" NEWSUBBUILD=$((80620 + $(/usr/bin/git rev-parse HEAD~0 | xargs -I{} /usr/bin/git rev-list --count {}))) +TOOLSDIR=$(dirname $0) # Sanity Checks ## Type Check @@ -55,7 +56,6 @@ fi if [ -n "$4" ]; then PYTHON_VERSION=$4 else - PYTHON_VERSION=3.11.1 PYTHON_VERSION=3.12.1 fi @@ -221,7 +221,18 @@ echo "Shared objects are confirmed as universal" /usr/sbin/spctl -a -vvvv "$TOOLSDIR/$TYPE/payload${FRAMEWORKDIR}/Python3.framework/Versions/${PYTHON_BIN_VERSION}/lib/libssl.1.1.dylib" # make a symbolic link to help with interactive use -/bin/ln -s "$PYTHON_BIN" "$TOOLSDIR/$TYPE/payload/usr/local/bin/managed_python3" +if [ "${PYTHON_MAJOR_VERSION}" == "3.9" ]; then + /bin/ln -s "$PYTHON_BIN" "$TOOLSDIR/$TYPE/payload/usr/local/bin/managed_python3" +fi +if [ "${PYTHON_MAJOR_VERSION}" == "3.10" ]; then + /bin/ln -s "$PYTHON_BIN" "$TOOLSDIR/$TYPE/payload/usr/local/bin/managed_python3" +fi +if [ "${PYTHON_MAJOR_VERSION}" == "3.11" ]; then + /bin/cp "$TOOLSDIR/python-$PYTHON_MAJOR_VERSION}" "$TOOLSDIR/$TYPE/payload/usr/local/bin/managed_python3" +fi +if [ "${PYTHON_MAJOR_VERSION}" == "3.12" ]; then + /bin/cp "$PYTHON_BIN" "$TOOLSDIR/$TYPE/payload/usr/local/bin/managed_python3" +fi # take ownership of the payload folder echo "Taking ownership of the Payload directory" diff --git a/python-3.11 b/python-3.11 new file mode 100755 index 0000000..92a9577 --- /dev/null +++ b/python-3.11 @@ -0,0 +1,7 @@ +#!/bin/zsh + +bin="/Library/ManagedFrameworks/Python/Python3.framework/Versions/3.11/bin/python3.11" + +PYTHONHOME=/Library/ManagedFrameworks/Python.framework/Versions/3.11 +PYTHONPATH=/Library/ManagedFrameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload +exec "${bin}" "$@" diff --git a/python-3.12 b/python-3.12 new file mode 100755 index 0000000..7b8c88a --- /dev/null +++ b/python-3.12 @@ -0,0 +1,7 @@ +#!/bin/zsh + +bin="/Library/ManagedFrameworks/Python/Python3.framework/Versions/3.12/bin/python3.12" + +PYTHONHOME=/Library/ManagedFrameworks/Python.framework/Versions/3.12 +PYTHONPATH=/Library/ManagedFrameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload +exec "${bin}" "$@"