# From an MSys2 MinGW command prompt run julia
julia

# From the Julia propmt enter smallest test program
println("hello world")

# Enter CTRL-D to exit from Julia

# Verify that other packages do not have file conflicts
pacman -S --noconfirm --needed ${MINGW_PACKAGE_PREFIX}-lapack && \
pacman -S --noconfirm --needed ${MINGW_PACKAGE_PREFIX}-openblas && \
pacman -S --noconfirm --needed ${MINGW_PACKAGE_PREFIX}-llvm && \
pacman -S --noconfirm --needed ${MINGW_PACKAGE_PREFIX}-openlibm && \
pacman -S --noconfirm --needed ${MINGW_PACKAGE_PREFIX}-libuv && \
pacman -S --noconfirm --needed ${MINGW_PACKAGE_PREFIX}-pcre2 && \
pacman -S --noconfirm --needed ${MINGW_PACKAGE_PREFIX}-mbedtls && \
pacman -S --noconfirm --needed ${MINGW_PACKAGE_PREFIX}-libssh2 && \
pacman -S --noconfirm --needed ${MINGW_PACKAGE_PREFIX}-libgit2
