From a7044d2c0697590b3536b5ed9803771fa1a90c5e Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Wed, 19 May 2021 06:18:45 +0300 Subject: [PATCH] Prevent build from installing MacOS apps globally --- plugins/python-build/bin/python-build | 13 +++++++------ plugins/python-build/test/pyenv_ext.bats | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/plugins/python-build/bin/python-build b/plugins/python-build/bin/python-build index f1ae369b..b3a86103 100755 --- a/plugins/python-build/bin/python-build +++ b/plugins/python-build/bin/python-build @@ -1569,7 +1569,7 @@ build_package_symlink_version_suffix() { mv -f "${PREFIX_PATH}/bin" "${PREFIX_PATH}/bin.orig" fi # Only symlinks are installed in ${PREFIX_PATH}/bin - ln -fs "${PREFIX_PATH}/Python.framework/Versions/Current/bin" "${PREFIX_PATH}/bin" + ln -fs "${PREFIX_PATH}/Library/Frameworks/Python.framework/Versions/Current/bin" "${PREFIX_PATH}/bin" fi # Not create symlinks on `altinstall` (#255) @@ -2031,16 +2031,17 @@ if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then fi create_framework_dirs() { local version="$(echo "$1" | sed -E 's/^[^0-9]*([0-9]+\.[0-9]+).*$/\1/')" - mkdir -p "${PREFIX_PATH}/Python.framework/Versions/${version}" - ( cd "${PREFIX_PATH}/Python.framework/Versions" && ln -fs "${version}" "Current") + mkdir -p "${PREFIX_PATH}/Library/Frameworks/Python.framework/Versions/${version}" + ( cd "${PREFIX_PATH}/Library/Frameworks/Python.framework/Versions" && ln -fs "${version}" "Current") local path for path in include lib share; do - mkdir -p "${PREFIX_PATH}/Python.framework/Versions/Current/${path}" - ln -fs "${PREFIX_PATH}/Python.framework/Versions/Current/${path}" "${PREFIX_PATH}/${path}" + mkdir -p "${PREFIX_PATH}/Library/Frameworks/Python.framework/Versions/Current/${path}" + ln -fs "${PREFIX_PATH}/Library/Frameworks/Python.framework/Versions/Current/${path}" "${PREFIX_PATH}/${path}" done } create_framework_dirs "${DEFINITION_PATH##*/}" - package_option python configure --enable-framework="${PREFIX_PATH}" + # the `/Library/Frameworks` suffix makes CPython build install apps under prefix rather than into /Applications (#1003) + package_option python configure --enable-framework="${PREFIX_PATH}/Library/Frameworks" fi # Build against universal SDK (#219, #220) diff --git a/plugins/python-build/test/pyenv_ext.bats b/plugins/python-build/test/pyenv_ext.bats index 55c44bc8..a30e1bb3 100644 --- a/plugins/python-build/test/pyenv_ext.bats +++ b/plugins/python-build/test/pyenv_ext.bats @@ -270,7 +270,7 @@ verify_python python3.4 OUT assert_success assert_output <