diff --git a/lib/build_setup.sh b/lib/build_setup.sh index de6e79f..df3aa7f 100644 --- a/lib/build_setup.sh +++ b/lib/build_setup.sh @@ -17,6 +17,14 @@ case "$OS" in echo " NOTE: A dialog may have opened. Complete the installation and re-run this script." fi + # rust is required for building Ruby from source + if brew list rust > /dev/null 2>&1; then + fmt_ok "rust already installed" + else + fmt_install "rust" + brew install rust + fi + # libyaml is required for building Ruby from source if brew list libyaml > /dev/null 2>&1; then fmt_ok "libyaml already installed" @@ -32,6 +40,14 @@ case "$OS" in fmt_install "build-essential" sudo apt-get install -y -qq build-essential libssl-dev libreadline-dev zlib1g-dev libyaml-dev fi + + # rust is required for building Ruby from source + if dpkg -s rustc > /dev/null 2>&1; then + fmt_ok "rust already installed" + else + fmt_install "rust" + sudo apt-get install -y -qq rustc cargo + fi ;; arch) if pacman -Qi base-devel > /dev/null 2>&1; then @@ -41,5 +57,12 @@ case "$OS" in sudo pacman -S --noconfirm --needed base-devel fi + # rust is required for building Ruby from source + if pacman -Qi rust > /dev/null 2>&1; then + fmt_ok "rust already installed" + else + fmt_install "rust" + sudo pacman -S --noconfirm --needed rust + fi ;; esac diff --git a/lib/mise_setup.sh b/lib/mise_setup.sh index 2596074..f1ed050 100644 --- a/lib/mise_setup.sh +++ b/lib/mise_setup.sh @@ -60,6 +60,9 @@ fmt_header "Ruby (via mise)" if mise which ruby > /dev/null 2>&1; then fmt_ok "Ruby already available via mise" else + echo 'setting mise ruby.compile=false' + mise settings ruby.compile=false + fmt_install "Ruby (latest stable via mise)" mise use --global ruby@latest fmt_ok "Ruby installed: $(mise exec -- ruby --version)"