Skip to content

Commit

Permalink
Merge pull request #655 from GaloisInc/at-ghc-881
Browse files Browse the repository at this point in the history
Fix build with GHC 8.8

Also updates CI to use GHC 8.4, 8.6, and 8.8 on both Travis and AppVeyor, and makes some small tweaks to make the tests pass in all six configurations.
  • Loading branch information
Aaron Tomb authored Nov 1, 2019
2 parents 42ab1ea + 82d4a1b commit ddbd664
Show file tree
Hide file tree
Showing 55 changed files with 635 additions and 414 deletions.
22 changes: 16 additions & 6 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,25 @@
environment:
matrix:
- GHC_VERSION: 8.4.4
- GHC_VERSION: 8.6.5
- GHC_VERSION: 8.8.1

install:
# Using '-y' and 'refreshenv' as a workaround to:
# https://github.com/haskell/cabal/issues/3687
- choco install -y ghc --version 8.4.4
- choco install -y ghc --version %GHC_VERSION%
- refreshenv
# See http://help.appveyor.com/discussions/problems/6312-curl-command-not-found#comment_42195491
# NB: Do this after refreshenv, otherwise it will be clobbered!
- set PATH=C:\Program Files\Git\mingw64\bin;%PATH%;C:\msys64\usr\bin
- curl -o z3.zip -L https://github.com/Z3Prover/z3/releases/download/z3-4.5.0/z3-4.5.0-x64-win.zip
- set PATH=C:\Program Files\Git\mingw64\bin;%PATH%;C:\msys64\usr\bin;%APPVEYOR_BUILD_FOLDER%\bin
- curl -o z3.zip -L https://github.com/Z3Prover/z3/releases/download/z3-4.7.1/z3-4.7.1-x64-win.zip
- 7z x -bd z3.zip
- cp z3-4.5.0-x64-win/bin/z3.exe .
- mkdir %APPVEYOR_BUILD_FOLDER%\bin
- cp z3-4.7.1-x64-win/bin/z3.exe %APPVEYOR_BUILD_FOLDER%\bin

build_script:
- cabal new-update
- cabal new-build
#- cp cabal.GHC-%GHC_VERSION%.config cabal.project.freeze
- cabal v2-update
- cabal v2-configure --allow-newer
- bash cry build
- bash cry test
24 changes: 11 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,15 @@ cache:

matrix:
include:
- env: CABALVER="2.4" GHCVER="8.6.3"
compiler: ": #GHC 8.6.3"
addons: {apt: {packages: [cabal-install-2.4,ghc-8.6.3], sources: [hvr-ghc]}}
# - os: osx
# env: CABALVER="2.4" GHCVER="8.6.3"
# compiler: ": #GHC 8.6.3"
- env: CABALVER="3.0" GHCVER="8.4.4"
compiler: ": #GHC 8.4.4"
addons: {apt: {packages: [cabal-install-3.0,ghc-8.4.4], sources: [hvr-ghc]}}
- env: CABALVER="3.0" GHCVER="8.6.5"
compiler: ": #GHC 8.6.5"
addons: {apt: {packages: [cabal-install-3.0,ghc-8.6.5], sources: [hvr-ghc]}}
- env: CABALVER="3.0" GHCVER="8.8.1"
compiler: ": #GHC 8.8.1"
addons: {apt: {packages: [cabal-install-3.0,ghc-8.8.1], sources: [hvr-ghc]}}

before_install:
- if [[ $TRAVIS_OS_NAME == 'linux' ]];
Expand All @@ -27,17 +30,12 @@ before_install:
mv z3 $HOME/bin/z3;
z3 --version;
fi
- if [[ $TRAVIS_OS_NAME == 'osx' ]];
then
brew update;
brew install ghc cabal-install z3;
export PATH=$HOME/.cabal/bin:$PATH;
fi
- env

script:
- cp cabal.GHC86.config cabal.project.freeze
- cp cabal.GHC-${GHCVER}.config cabal.project.freeze
- cabal update
- cabal v2-configure --allow-newer
- bash cry build
- bash cry test

Expand Down
152 changes: 152 additions & 0 deletions cabal.GHC-8.4.4.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
constraints: any.FloatingHex ==0.4,
any.Glob ==0.10.0,
any.GraphSCC ==1.0.4,
GraphSCC -use-maps,
any.HUnit ==1.6.0.0,
any.Only ==0.1,
any.QuickCheck ==2.13.2,
QuickCheck +templatehaskell,
any.StateVar ==1.2,
any.abstract-deque ==0.3,
abstract-deque -usecas,
any.abstract-par ==0.3.3,
any.aeson ==1.4.5.0,
aeson -bytestring-builder -cffi -developer -fast,
any.alex ==3.2.4,
alex +small_base,
any.ansi-terminal ==0.10.1,
ansi-terminal -example,
any.ansi-wl-pprint ==0.6.9,
ansi-wl-pprint -example,
any.array ==0.5.2.0,
any.async ==2.2.2,
async -bench,
any.attoparsec ==0.13.2.3,
attoparsec -developer,
any.base ==4.11.1.0,
any.base-compat ==0.11.0,
any.base-compat-batteries ==0.11.0,
any.base-orphans ==0.8.1,
any.binary ==0.8.5.1,
any.binary-orphans ==1.0.1,
any.blaze-builder ==0.4.1.0,
any.blaze-html ==0.9.1.2,
any.blaze-markup ==0.8.2.3,
any.bytestring ==0.10.8.2,
any.bytestring-builder ==0.10.8.2.0,
bytestring-builder +bytestring_has_builder,
any.call-stack ==0.2.0,
any.cassava ==0.5.2.0,
cassava +bytestring--lt-0_10_4,
any.cereal ==0.5.8.1,
cereal -bytestring-builder,
any.code-page ==0.2,
any.colour ==2.3.5,
any.containers ==0.5.11.0,
any.contravariant ==1.5.2,
contravariant +semigroups +statevar +tagged,
any.crackNum ==2.3,
any.criterion ==1.5.6.1,
criterion -embed-data-files -fast,
any.criterion-measurement ==0.1.2.0,
criterion-measurement -fast,
any.cryptohash-sha1 ==0.11.100.1,
cryptol +relocatable -static,
cryptol-test-runner -static,
any.data-default-class ==0.1.2.0,
any.deepseq ==1.4.3.0,
any.dense-linear-algebra ==0.1.0.0,
any.directory ==1.3.1.5,
any.dlist ==0.8.0.7,
any.exceptions ==0.10.3,
any.extensible-exceptions ==0.1.1.4,
any.filepath ==1.4.2,
any.generic-deriving ==1.13,
generic-deriving +base-4-9,
any.ghc ==8.4.4,
any.ghc-boot ==8.4.4,
any.ghc-boot-th ==8.4.4,
any.ghc-prim ==0.5.2.0,
any.ghci ==8.4.4,
any.gitrev ==1.3.1,
any.happy ==1.19.12,
happy +small_base,
any.hashable ==1.3.0.0,
hashable -examples +integer-gmp +sse2 -sse41,
any.haskeline ==0.7.4.2,
any.heredoc ==0.2.0.0,
any.hostname ==1.0,
any.hpc ==0.6.0.3,
any.hsc2hs ==0.68.6,
hsc2hs -in-ghc-tree,
any.integer-gmp ==1.0.2.0,
any.integer-logarithms ==1.0.3,
integer-logarithms -check-bounds +integer-gmp,
any.js-flot ==0.8.3,
any.js-jquery ==3.3.1,
any.math-functions ==0.3.3.0,
math-functions +system-erf +system-expm1,
any.microstache ==1.0.1.1,
any.monad-control ==1.0.2.3,
any.monad-par ==0.3.4.8,
monad-par -chaselev -newgeneric,
any.monad-par-extras ==0.3.3,
any.monadLib ==3.10,
any.mtl ==2.2.2,
any.mwc-random ==0.14.0.0,
any.old-locale ==1.0.0.7,
any.optparse-applicative ==0.15.1.0,
any.panic ==0.4.0.1,
any.parallel ==3.2.2.0,
any.parsec ==3.1.13.0,
any.pretty ==1.1.3.6,
any.primitive ==0.7.0.0,
any.process ==1.6.3.0,
any.random ==1.1,
any.regex-base ==0.94.0.0,
any.regex-posix ==0.96.0.0,
regex-posix -_regex-posix-clib,
any.rts ==1.0,
any.sbv ==8.5,
sbv -skiphlinttester,
any.scientific ==0.3.6.2,
scientific -bytestring-builder -integer-simple,
any.simple-get-opt ==0.3,
any.simple-smt ==0.9.4,
any.splitmix ==0.0.3,
splitmix -optimised-mixer +random,
any.statistics ==0.15.1.1,
any.stm ==2.4.5.1,
any.strict ==0.3.2,
strict +split-base,
any.syb ==0.7.1,
any.tagged ==0.8.6,
tagged +deepseq +transformers,
any.template-haskell ==2.13.0.0,
any.terminfo ==0.4.1.1,
any.test-framework ==0.8.2.0,
any.test-framework-hunit ==0.3.0.2,
test-framework-hunit -base3 +base4,
any.test-lib ==0.2,
any.text ==1.2.3.1,
any.tf-random ==0.5,
any.th-abstraction ==0.3.1.0,
any.time ==1.8.0.2,
any.time-compat ==1.9.2.2,
time-compat -old-locale,
any.transformers ==0.5.5.0,
any.transformers-base ==0.4.5.2,
transformers-base +orphaninstances,
any.transformers-compat ==0.6.5,
transformers-compat -five -five-three -four +generic-deriving +mtl -three -two,
any.unix ==2.7.2.2,
any.unordered-containers ==0.2.10.0,
unordered-containers -debug,
any.uuid-types ==1.0.3,
any.vector ==0.12.0.3,
vector +boundschecks -internalchecks -unsafechecks -wall,
any.vector-algorithms ==0.8.0.1,
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
any.vector-binary-instances ==0.2.5.1,
any.vector-th-unbox ==0.2.1.7,
any.xml ==1.3.14
150 changes: 150 additions & 0 deletions cabal.GHC-8.6.5.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
constraints: any.FloatingHex ==0.4,
any.Glob ==0.10.0,
any.GraphSCC ==1.0.4,
GraphSCC -use-maps,
any.HUnit ==1.6.0.0,
any.Only ==0.1,
any.QuickCheck ==2.13.2,
QuickCheck +templatehaskell,
any.abstract-deque ==0.3,
abstract-deque -usecas,
any.abstract-par ==0.3.3,
any.aeson ==1.4.5.0,
aeson -bytestring-builder -cffi -developer -fast,
any.alex ==3.2.4,
alex +small_base,
any.ansi-terminal ==0.10.1,
ansi-terminal -example,
any.ansi-wl-pprint ==0.6.9,
ansi-wl-pprint -example,
any.array ==0.5.3.0,
any.async ==2.2.2,
async -bench,
any.attoparsec ==0.13.2.3,
attoparsec -developer,
any.base ==4.12.0.0,
any.base-compat ==0.11.0,
any.base-compat-batteries ==0.11.0,
any.base-orphans ==0.8.1,
any.binary ==0.8.6.0,
any.binary-orphans ==1.0.1,
any.blaze-builder ==0.4.1.0,
any.blaze-html ==0.9.1.2,
any.blaze-markup ==0.8.2.3,
any.bytestring ==0.10.8.2,
any.bytestring-builder ==0.10.8.2.0,
bytestring-builder +bytestring_has_builder,
any.call-stack ==0.2.0,
any.cassava ==0.5.2.0,
cassava +bytestring--lt-0_10_4,
any.cereal ==0.5.8.1,
cereal -bytestring-builder,
any.code-page ==0.2,
any.colour ==2.3.5,
any.containers ==0.6.0.1,
any.crackNum ==2.3,
any.criterion ==1.5.6.1,
criterion -embed-data-files -fast,
any.criterion-measurement ==0.1.2.0,
criterion-measurement -fast,
any.cryptohash-sha1 ==0.11.100.1,
cryptol +relocatable -static,
cryptol-test-runner -static,
any.data-default-class ==0.1.2.0,
any.deepseq ==1.4.4.0,
any.dense-linear-algebra ==0.1.0.0,
any.directory ==1.3.3.0,
any.dlist ==0.8.0.7,
any.exceptions ==0.10.3,
any.extensible-exceptions ==0.1.1.4,
any.filepath ==1.4.2.1,
any.generic-deriving ==1.13,
generic-deriving +base-4-9,
any.ghc ==8.6.5,
any.ghc-boot ==8.6.5,
any.ghc-boot-th ==8.6.5,
any.ghc-heap ==8.6.5,
any.ghc-prim ==0.5.3,
any.ghci ==8.6.5,
any.gitrev ==1.3.1,
any.happy ==1.19.12,
happy +small_base,
any.hashable ==1.3.0.0,
hashable -examples +integer-gmp +sse2 -sse41,
any.haskeline ==0.7.4.3,
any.heredoc ==0.2.0.0,
any.hostname ==1.0,
any.hpc ==0.6.0.3,
any.hsc2hs ==0.68.6,
hsc2hs -in-ghc-tree,
any.integer-gmp ==1.0.2.0,
any.integer-logarithms ==1.0.3,
integer-logarithms -check-bounds +integer-gmp,
any.js-flot ==0.8.3,
any.js-jquery ==3.3.1,
any.math-functions ==0.3.3.0,
math-functions +system-erf +system-expm1,
any.microstache ==1.0.1.1,
any.monad-control ==1.0.2.3,
any.monad-par ==0.3.4.8,
monad-par -chaselev -newgeneric,
any.monad-par-extras ==0.3.3,
any.monadLib ==3.10,
any.mtl ==2.2.2,
any.mwc-random ==0.14.0.0,
any.old-locale ==1.0.0.7,
any.optparse-applicative ==0.15.1.0,
any.panic ==0.4.0.1,
any.parallel ==3.2.2.0,
any.parsec ==3.1.13.0,
any.pretty ==1.1.3.6,
any.primitive ==0.7.0.0,
any.process ==1.6.5.0,
any.random ==1.1,
any.regex-base ==0.94.0.0,
any.regex-posix ==0.96.0.0,
regex-posix -_regex-posix-clib,
any.rts ==1.0,
any.sbv ==8.5,
sbv -skiphlinttester,
any.scientific ==0.3.6.2,
scientific -bytestring-builder -integer-simple,
any.simple-get-opt ==0.3,
any.simple-smt ==0.9.4,
any.splitmix ==0.0.3,
splitmix -optimised-mixer +random,
any.statistics ==0.15.1.1,
any.stm ==2.5.0.0,
any.strict ==0.3.2,
strict +split-base,
any.syb ==0.7.1,
any.tagged ==0.8.6,
tagged +deepseq +transformers,
any.template-haskell ==2.14.0.0,
any.terminfo ==0.4.1.2,
any.test-framework ==0.8.2.0,
any.test-framework-hunit ==0.3.0.2,
test-framework-hunit -base3 +base4,
any.test-lib ==0.2,
any.text ==1.2.3.1,
any.tf-random ==0.5,
any.th-abstraction ==0.3.1.0,
any.time ==1.8.0.2,
any.time-compat ==1.9.2.2,
time-compat -old-locale,
any.transformers ==0.5.6.2,
any.transformers-base ==0.4.5.2,
transformers-base +orphaninstances,
any.transformers-compat ==0.6.5,
transformers-compat -five -five-three -four +generic-deriving +mtl -three -two,
any.unix ==2.7.2.2,
any.unordered-containers ==0.2.10.0,
unordered-containers -debug,
any.uuid-types ==1.0.3,
any.vector ==0.12.0.3,
vector +boundschecks -internalchecks -unsafechecks -wall,
any.vector-algorithms ==0.8.0.1,
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
any.vector-binary-instances ==0.2.5.1,
any.vector-th-unbox ==0.2.1.7,
any.xml ==1.3.14
Loading

0 comments on commit ddbd664

Please sign in to comment.