Use MSYS2 on appveyor

This commit is contained in:
Alex Crichton 2015-09-12 22:24:01 -07:00
parent a3c854d921
commit 87fdebdeb2
2 changed files with 32 additions and 2 deletions

View File

@ -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

20
ci/msys2.ps1 Normal file
View File

@ -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