Meta: Make all pre-commit CI scripts work with Bash 3.2

This change makes all the pre-commit CI scripts runnable under Bash 3.2,
by replacing “mapfile” invocations in them code that first explicitly
creates an array, and then uses a while loop to populate the array.

Otherwise, without this change, the scripts all fail to run under Bash
3.2 — due to lack of support for “mapfile”.

Fixes https://github.com/LadybirdBrowser/ladybird/issues/283

This also drops bash from the list of homebrew dependencies in the build
instructions — because with this change, homebrew bash (v4) is no longer
needed; things will now work with the Apple-provided bash (v3.2)
This commit is contained in:
sideshowbarker 2024-07-16 20:41:50 +09:00 committed by Andrew Kaster
parent 4aba38e21f
commit 570814a31e
Notes: sideshowbarker 2024-07-17 01:53:23 +09:00
6 changed files with 21 additions and 6 deletions

View file

@ -107,7 +107,7 @@ Xcode 14 versions before 14.3 might crash while building ladybird. Xcode 14.3 or
``` ```
xcode-select --install xcode-select --install
brew install autoconf autoconf-archive automake cmake ffmpeg nasm ninja ccache pkg-config bash brew install autoconf autoconf-archive automake cmake ffmpeg nasm ninja ccache pkg-config
``` ```
If you also plan to use the Qt chrome on macOS: If you also plan to use the Qt chrome on macOS:

View file

@ -6,7 +6,10 @@ script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
cd "${script_path}/.." || exit 1 cd "${script_path}/.." || exit 1
if [ "$#" -eq "1" ]; then if [ "$#" -eq "1" ]; then
mapfile -t files < <( files=()
while IFS= read -r file; do
files+=("$file")
done < <(
git ls-files -- \ git ls-files -- \
'*.cpp' \ '*.cpp' \
'*.h' \ '*.h' \

View file

@ -6,7 +6,10 @@ script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
cd "${script_path}/.." || exit 1 cd "${script_path}/.." || exit 1
if [ "$#" -eq "0" ]; then if [ "$#" -eq "0" ]; then
mapfile -t files < <( files=()
while IFS= read -r file; do
files+=("$file")
done < <(
git ls-files '*.gn' '*.gni' git ls-files '*.gn' '*.gni'
) )
else else

View file

@ -6,7 +6,10 @@ script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
cd "${script_path}/.." || exit 1 cd "${script_path}/.." || exit 1
if [ "$#" -eq "0" ]; then if [ "$#" -eq "0" ]; then
mapfile -t files < <( files=()
while IFS= read -r file; do
files+=("$file")
done < <(
git ls-files \ git ls-files \
--exclude-from .prettierignore \ --exclude-from .prettierignore \
-- \ -- \

View file

@ -6,7 +6,10 @@ script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
cd "${script_path}/.." || exit 1 cd "${script_path}/.." || exit 1
if [ "$#" -eq "0" ]; then if [ "$#" -eq "0" ]; then
mapfile -t files < <( files=()
while IFS= read -r file; do
files+=("$file")
done < <(
git ls-files '*.py' git ls-files '*.py'
) )
else else

View file

@ -6,7 +6,10 @@ script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
cd "$script_path/.." cd "$script_path/.."
if [ "$#" -eq "0" ]; then if [ "$#" -eq "0" ]; then
mapfile -t files < <( files=()
while IFS= read -r file; do
files+=("$file")
done < <(
git ls-files -- \ git ls-files -- \
'*.sh' \ '*.sh' \
) )