ci: Fix non-publish builds failing due to failing to use Homebrew iconv

CI builds switched to using Homebrew iconv instead of native one in #1626,
but for non-publish builds this assumed libiconv was installed by
Homebrew, which wasn't always the case. This led to build failures if
Homebrew didn't have it installed. Fix it so that we only use Homebrew
libiconv in publish builds and use Apple iconv otherwise. This also
helps test that both versions work correctly in CI.
This commit is contained in:
Yee Cheng Chin
2026-04-03 19:19:36 -07:00
parent 4c57525b3b
commit b8ce3376e8
+9 -5
View File
@@ -232,8 +232,10 @@ jobs:
sed -i.bak -f ci/config.mk.optimized.sed src/auto/config.mk
fi
# Use Homebrew GNU libiconv since Apple iconv has been broken since macOS 14
sed -i.bak -f ci/config.mk.brew-libiconv.sed src/auto/config.mk
if ${{ inputs.publish == true }}; then
# Use Homebrew GNU libiconv since Apple iconv has been broken since macOS 14
sed -i.bak -f ci/config.mk.brew-libiconv.sed src/auto/config.mk
fi
- name: Modify configure result
if: inputs.publish
@@ -284,9 +286,11 @@ jobs:
echo 'Found external dynamic linkage!'; false
fi
# Make sure we are not using system iconv, which has been buggy since macOS 14.
if otool -L ${VIM_BIN} | grep '^\s*/usr/lib/libiconv'; then
echo 'Using system iconv! We should be linking against GNU iconv instead.'; false
if ${{ inputs.publish == true }}; then
# Make sure we are not using system iconv, which has been buggy since macOS 14.
if otool -L ${VIM_BIN} | grep '^\s*/usr/lib/libiconv'; then
echo 'Using system iconv! We should be linking against GNU iconv instead.'; false
fi
fi
# Make sure that --disable-sparkle flag will properly exclude all references to Sparkle symbols. This is