From a1e0f566a8f0965bb9ca3cc46c7820f873659360 Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Sun, 8 Mar 2026 16:40:59 +0530 Subject: [PATCH] Revert to old brew linking behaviour --- src/scripts/darwin.sh | 12 +++++++++--- src/scripts/extensions/relay.sh | 5 ++++- src/scripts/extensions/source.sh | 4 +++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/scripts/darwin.sh b/src/scripts/darwin.sh index 279f84f4..f6fe5ea6 100644 --- a/src/scripts/darwin.sh +++ b/src/scripts/darwin.sh @@ -15,7 +15,9 @@ handle_dependency_extensions() { brew_opts=(-sf) patch_abstract_file >/dev/null 2>&1 for dependency_extension in "${dependency_extensions[@]}"; do - safe_brew install "${brew_opts[@]}" "$ext_tap/$dependency_extension@$version" >/dev/null 2>&1 && copy_brew_extensions "$dependency_extension" + safe_brew install --skip-link "${brew_opts[@]}" "$ext_tap/$dependency_extension@$version" >/dev/null 2>&1 && + brew link --overwrite --force "$dependency_extension@$version" >/dev/null 2>&1 && + copy_brew_extensions "$dependency_extension" done fi } @@ -83,7 +85,11 @@ add_brew_extension() { formula="$(get_renamed_formula "$formula")" update_dependencies >/dev/null 2>&1 handle_dependency_extensions "$formula" "$extension" >/dev/null 2>&1 - (safe_brew install "${brew_opts[@]}" "$ext_tap/$formula@$version" >/dev/null 2>&1 && copy_brew_extensions "$formula") || pecl_install "$extension" >/dev/null 2>&1 + ( + safe_brew install --skip-link "${brew_opts[@]}" "$ext_tap/$formula@$version" >/dev/null 2>&1 && + brew link --overwrite --force "$formula@$version" >/dev/null 2>&1 && + copy_brew_extensions "$formula" + ) || pecl_install "$extension" >/dev/null 2>&1 add_extension_log "$extension" "Installed and enabled" fi } @@ -188,7 +194,7 @@ add_php() { fi else safe_brew install --only-dependencies "$php_formula" - safe_brew install -f --overwrite "$php_formula" 2>/dev/null || safe_brew upgrade -f --overwrite "$php_formula" + safe_brew install --skip-link -f --overwrite "$php_formula" 2>/dev/null || safe_brew upgrade -f --overwrite "$php_formula" fi brew link --force --overwrite "$php_keg" || (sudo chown -R "$(id -un)":"$(id -gn)" "$brew_prefix" && brew link --force --overwrite "$php_keg") } diff --git a/src/scripts/extensions/relay.sh b/src/scripts/extensions/relay.sh index ec29e176..08f0abe6 100644 --- a/src/scripts/extensions/relay.sh +++ b/src/scripts/extensions/relay.sh @@ -36,7 +36,10 @@ get_openssl_suffix() { change_library_paths() { if [ "$os" = "Darwin" ]; then otool -L "${ext_dir:?}"/relay.so | grep -q 'ssl.1' && openssl_version='1.1' || openssl_version='3' - [ -e "${brew_prefix:?}"/opt/openssl@"$openssl_version" ] || safe_brew install openssl@"$openssl_version" + [ -e "${brew_prefix:?}"/opt/openssl@"$openssl_version" ] || { + safe_brew install --skip-link openssl@"$openssl_version" && + brew link --overwrite --force openssl@"$openssl_version" + } dylibs="$(otool -L "${ext_dir:?}"/relay.so | grep -Eo '.*\.dylib' | cut -f1 -d ' ')" install_name_tool -change "$(echo "${dylibs}" | grep -E "libzstd.*dylib" | xargs)" "$brew_prefix"/opt/zstd/lib/libzstd.dylib "$ext_dir"/relay.so install_name_tool -change "$(echo "${dylibs}" | grep -E "liblz4.*dylib" | xargs)" "$brew_prefix"/opt/lz4/lib/liblz4.dylib "$ext_dir"/relay.so diff --git a/src/scripts/extensions/source.sh b/src/scripts/extensions/source.sh index 7d187e1b..e89c7bb1 100644 --- a/src/scripts/extensions/source.sh +++ b/src/scripts/extensions/source.sh @@ -60,9 +60,11 @@ add_linux_libs() { add_darwin_libs() { local lib=$1 if ! check_lib "$lib"; then - safe_brew install "$lib" >/dev/null 2>&1 || true if [[ "$lib" = *@* ]]; then + safe_brew install --skip-link "$lib" >/dev/null 2>&1 || true brew link --overwrite --force "$lib" >/dev/null 2>&1 || true + else + safe_brew install "$lib" >/dev/null 2>&1 || true fi fi add_lib_log "$lib"