_abort_too_old_windows()
{
    local winver
    winver=$(uname -s)   # looks like `MINGW64_NT-10.0-22621`
    winver=${winver#*-}  # strip off `<prefix>-`
    winver=${winver%%-*} # strip off `-<suffix>`, if any
    # 6.1 is Windows 7, 6.2 is Windows 8
    if [ "$winver" = "6.1" ] || [ "$winver" = "6.2" ]; then
        printf "\e[1;33mThe MSYS2 runtime version you are about to install will no longer run\n"
        printf "on your version of Windows. To continue using MSYS2, please switch to\n"
        printf "the legacy runtime using:\e[1;0m\n\n"
        printf "\e[1;32mpacman --noconfirm -S msys2-runtime-3.4 msys2-runtime-3.4-devel\e[1;0m\n\n"
        printf "\e[1;33mThe current update will now be aborted.\e[1;0m\n"

        rm -f /var/lib/pacman/db.lck
        kill -TERM "$PPID"
    fi
}

pre_install() {
    _abort_too_old_windows
}

pre_upgrade() {
    _abort_too_old_windows
}
