Use MSYS2 on appveyor
diff --git a/appveyor.yml b/appveyor.yml
index fb6ccd1..7c01515 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,13 +1,23 @@
environment:
+ global:
+ MSYS2_BASEVER: 20150512
matrix:
+ - TARGET: x86_64-pc-windows-gnu
+ MSYS2_ARCH: x86_64
+ MSYS2_BITS: 64
+ MSYSTEM: MINGW64
+ - TARGET: i686-pc-windows-gnu
+ MSYS2_ARCH: i686
+ MSYS2_BITS: 32
+ MSYSTEM: MINGW32
- TARGET: x86_64-pc-windows-msvc
- TARGET: i686-pc-windows-msvc
- - TARGET: i686-pc-windows-gnu
install:
+ - ps: ci\msys2.ps1
- ps: Start-FileDownload "https://static.rust-lang.org/dist/rust-nightly-${env:TARGET}.exe"
- rust-nightly-%TARGET%.exe /VERYSILENT /NORESTART /DIR="C:\Program Files (x86)\Rust"
- SET PATH=%PATH%;C:\Program Files (x86)\Rust\bin
- - SET PATH=%PATH%;C:\MinGW\bin
+ - if defined MSYS2_BITS set PATH=%PATH%;%CD%\msys2\mingw%MSYS2_BITS%\bin
- rustc -V
- cargo -V
diff --git a/ci/msys2.ps1 b/ci/msys2.ps1
new file mode 100644
index 0000000..f57cc6b
--- /dev/null
+++ b/ci/msys2.ps1
@@ -0,0 +1,20 @@
+If (!${env:MSYS2_ARCH}) {
+ Exit 0
+}
+
+Start-FileDownload `
+ ("http://kent.dl.sourceforge.net/project/msys2/Base/" + `
+ $env:MSYS2_ARCH + "/msys2-base-" + $env:MSYS2_ARCH + "-" + `
+ $env:MSYS2_BASEVER + ".tar.xz") `
+ -FileName "msys2.tar.xz"
+
+7z x msys2.tar.xz
+7z x msys2.tar > $nul
+Move-Item ("msys" + $env:MSYS2_BITS) msys2
+.\msys2\usr\bin\bash.exe -lc ""
+.\msys2\usr\bin\bash.exe -lc `
+ ("for i in {1..3}; do " + `
+ "pacman --noconfirm -Suy mingw-w64-"+ $env:MSYS2_ARCH + "-gcc " + `
+ "&& break || sleep 15; " + `
+ "done")
+.\msys2\autorebase.bat