| 1 | #!/bin/bash |
| 2 | # The PATH to appropriate distro commands must already be set before invoking |
| 3 | # this script |
| 4 | # The following environment variables must be set: |
| 5 | # PLATFORM={i686,x64} |
| 6 | # DISTRO={cygwin,msys2} |
| 7 | # The following environment can optionally be set: |
| 8 | # CYG_MIRROR=<URL> |
| 9 | set -eu |
| 10 | |
| 11 | case "${ARCHITECTURE}" in |
| 12 | "x64") |
| 13 | PACKAGE_ARCH="x86_64" |
| 14 | ;; |
| 15 | "x86") |
| 16 | PACKAGE_ARCH="i686" |
| 17 | ;; |
| 18 | esac |
| 19 | |
| 20 | echo "Installing packages..." |
| 21 | case "${DISTRO}" in |
| 22 | "cygwin") |
| 23 | CYG_MIRROR=${CYG_MIRROR:-"http://cygwin.mirror.constant.com"} |
| 24 | setup-x86_64.exe --quiet-mode --no-shortcuts --only-site \ |
| 25 | --site "${CYG_MIRROR}" --packages \ |
| 26 | "mingw64-${PACKAGE_ARCH}-CUnit,mingw64-${PACKAGE_ARCH}-zlib" |
| 27 | ;; |
| 28 | "msys2") |
| 29 | #pacman --noconfirm -Syuu # MSYS2 core update |
| 30 | #pacman --noconfirm -Syuu # MSYS2 normal update |
| 31 | pacman.exe --noconfirm -S \ |
| 32 | mingw-w64-${PACKAGE_ARCH}-clang \ |
| 33 | mingw-w64-${PACKAGE_ARCH}-cunit \ |
| 34 | mingw-w64-${PACKAGE_ARCH}-toolchain \ |
| 35 | mingw-w64-${PACKAGE_ARCH}-lld |
| 36 | pacman.exe -Q # List installed packages |
| 37 | ;; |
| 38 | esac |
| 39 | |
| 40 | python.exe -m pip install scipy six |
| 41 | |
| 42 | echo "Python3 path: $(type -p python3 2>&1)" |
| 43 | echo "Python3 version: $(python3 -V 2>&1)" |