From a7044d2c0697590b3536b5ed9803771fa1a90c5e Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Wed, 19 May 2021 06:18:45 +0300 Subject: [PATCH 1/2] 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 < Date: Wed, 19 May 2021 17:02:03 +0300 Subject: [PATCH 2/2] fix test --- plugins/python-build/test/pyenv_ext.bats | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/plugins/python-build/test/pyenv_ext.bats b/plugins/python-build/test/pyenv_ext.bats index a30e1bb3..e4453113 100644 --- a/plugins/python-build/test/pyenv_ext.bats +++ b/plugins/python-build/test/pyenv_ext.bats @@ -249,15 +249,15 @@ OUT } @test "enable framework" { - mkdir -p "${INSTALL_ROOT}/Python.framework/Versions/Current/bin" - touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3" - chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3" - touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4" - chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4" - touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3-config" - chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3-config" - touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4-config" - chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4-config" + mkdir -p "${INSTALL_ROOT}/Library/Frameworks/Python.framework/Versions/Current/bin" + touch "${INSTALL_ROOT}/Library/Frameworks/Python.framework/Versions/Current/bin/python3" + chmod +x "${INSTALL_ROOT}/Library/Frameworks/Python.framework/Versions/Current/bin/python3" + touch "${INSTALL_ROOT}/Library/Frameworks/Python.framework/Versions/Current/bin/python3.4" + chmod +x "${INSTALL_ROOT}/Library/Frameworks/Python.framework/Versions/Current/bin/python3.4" + touch "${INSTALL_ROOT}/Library/Frameworks/Python.framework/Versions/Current/bin/python3-config" + chmod +x "${INSTALL_ROOT}/Library/Frameworks/Python.framework/Versions/Current/bin/python3-config" + touch "${INSTALL_ROOT}/Library/Frameworks/Python.framework/Versions/Current/bin/python3.4-config" + chmod +x "${INSTALL_ROOT}/Library/Frameworks/Python.framework/Versions/Current/bin/python3.4-config" # yyuu/pyenv#257 stub uname '-s : echo Darwin' @@ -273,8 +273,8 @@ OUT PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-framework=${TMP}/install/Library/Frameworks) EOS - [ -L "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python" ] - [ -L "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python-config" ] + [ -L "${INSTALL_ROOT}/Library/Frameworks/Python.framework/Versions/Current/bin/python" ] + [ -L "${INSTALL_ROOT}/Library/Frameworks/Python.framework/Versions/Current/bin/python-config" ] } @test "enable universalsdk" {