version: 1.0.{build}
init:
- ps: >-
    choco install cabal --no-progress

    mkdir C:\ghc

    Invoke-WebRequest "http://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-unknown-mingw32.tar.xz" -OutFile C:\ghc\ghc.tar.xz -UserAgent "Curl"

    7z x C:\ghc\ghc.tar.xz -oC:\ghc

    7z x C:\ghc\ghc.tar -oC:\ghc

    $env:PATH="$env:PATH;c:\ghc\ghc-8.4.3\bin;$HOME\AppData\Roaming\cabal\bin"

    cabal v1-update

    $env:current_posix=c:\msys64\usr\bin\cygpath -u $(pwd)

environment:
  MSYSTEM: MINGW64
  MSYS2_PATH_TYPE: inherit
build_script:
- ps: >-
    c:\msys64\usr\bin\bash -l -c "cd $env:current_posix && cabal v1-install -fffi --enable-tests 2>&1"
test_script:
- ps: c:\msys64\usr\bin\bash -l -c "cd $env:current_posix && make test_c 2>&1"

version: 1.0.{build}
init:
- ps: >-
    choco install cabal --version=2.4.1.0 --no-progress

    mkdir C:\ghc

    Invoke-WebRequest "http://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-unknown-mingw32.tar.xz" -OutFile C:\ghc\ghc.tar.xz -UserAgent "Curl"

    7z x C:\ghc\ghc.tar.xz -oC:\ghc

    7z x C:\ghc\ghc.tar -oC:\ghc

    $env:PATH="$env:PATH;c:\ghc\ghc-8.4.3\bin;$HOME\AppData\Roaming\cabal\bin"

    cabal v1-update

    $env:current_posix=c:\msys64\usr\bin\cygpath -u $(pwd)

environment:
  MSYSTEM: MINGW64
  MSYS2_PATH_TYPE: inherit
build_script:
- ps: >-
    c:\msys64\usr\bin\bash -l -c "cd $env:current_posix && cabal v1-install -fffi --enable-tests 2>&1"
test_script:
- ps: c:\msys64\usr\bin\bash -l -c "cd $env:current_posix && make test_c 2>&1"

Fix Appveyor by pinning cabal
Fix Appveyor by pinning cabal

Cabal 3 doesn't work, for some reason the paths to the exes are absolute, and make uses them as relative when building the libs.