Permit building with GHC 8.0, extend the Travis build matrix

This commit is contained in:
John Wiegley 2018-05-10 15:07:32 -07:00
parent 14138bfc97
commit 865984b428
No known key found for this signature in database
GPG Key ID: C144D8F4F19FE630
4 changed files with 73 additions and 21 deletions

View File

@ -11,6 +11,7 @@ git:
depth: 1
install:
- nix-shell --argstr compiler ghc802 --run true
- nix-shell --argstr compiler ghc822 --run true
- nix-shell --argstr compiler ghc842 --run true
@ -19,6 +20,9 @@ env:
- NIXPKGS_TESTS=yes
- MATCHING_TESTS=yes
matrix:
- GHCVERSION=ghc802 STRICT=false TRACING=false PROFILING=false
- GHCVERSION=ghc802 STRICT=false TRACING=true PROFILING=false
- GHCVERSION=ghc802 STRICT=false TRACING=true PROFILING=true
- GHCVERSION=ghc822 STRICT=true TRACING=false PROFILING=false
- GHCVERSION=ghc822 STRICT=true TRACING=true PROFILING=false
- GHCVERSION=ghc822 STRICT=true TRACING=true PROFILING=true
@ -28,6 +32,7 @@ env:
matrix:
allow_failures:
- env: GHCVERSION=ghc802 STRICT=true
- env: GHCVERSION=ghc842 STRICT=true
exclude:
- env: GHCVERSION=ghc822 STRICT=false

View File

@ -53,8 +53,13 @@ let inherit (nixpkgs) pkgs;
in haskellPackages.developPackage {
root = ./.;
source-overrides = {
};
source-overrides =
if compiler == "ghc802"
then {
lens-family-core = "1.2.1";
lens-family = "1.2.1";
}
else {};
modifier = drv: pkgs.haskell.lib.overrideCabal drv (attrs: {
testHaskellDepends = attrs.testHaskellDepends ++

View File

@ -2,7 +2,7 @@
--
-- see: https://github.com/sol/hpack
--
-- hash: c96b1d1f4cba42487a9e22b578ff0d761b8bbee4f2efc4da245e5fdbbe7bc718
-- hash: 31f435d94958c0e380e53a0138b53ae04ca4c40bce738ee2522300be68e15ea3
name: hnix
version: 0.5.1
@ -503,8 +503,6 @@ library
, http-client-tls
, http-types
, interpolate
, lens-family
, lens-family-core
, lens-family-th
, logict
, megaparsec >=6.0 && <6.6
@ -527,6 +525,13 @@ library
, unordered-containers >=0.2.9 && <0.3
, vector
, xml
if flag(optimize)
ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
if flag(tracing)
cpp-options: -DENABLE_TRACING=1
if os(linux) && impl(ghc < 8.2)
build-depends:
compact
if !impl(ghcjs)
build-depends:
base16-bytestring
@ -535,6 +540,17 @@ library
, cryptohash-sha256
, cryptohash-sha512
, serialise
if impl(ghc < 8.1)
build-depends:
lens-family ==1.2.1
, lens-family-core ==1.2.1
else
build-depends:
lens-family >=1.2.2
, lens-family-core >=1.2.2
if impl(ghc < 8.4.0) && !flag(profiling)
build-depends:
ghc-datasize
if impl(ghcjs)
build-depends:
hashable >=1.2.4 && <1.3
@ -577,6 +593,13 @@ executable hnix
, time
, transformers
, unordered-containers >=0.2.9 && <0.3
if flag(optimize)
ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
if flag(tracing)
cpp-options: -DENABLE_TRACING=1
if os(linux) && impl(ghc < 8.2)
build-depends:
compact
if !impl(ghcjs)
build-depends:
base16-bytestring
@ -639,6 +662,13 @@ test-suite hnix-tests
, transformers
, unix
, unordered-containers >=0.2.9 && <0.3
if flag(optimize)
ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
if flag(tracing)
cpp-options: -DENABLE_TRACING=1
if os(linux) && impl(ghc < 8.2)
build-depends:
compact
if !impl(ghcjs)
build-depends:
base16-bytestring
@ -681,6 +711,13 @@ benchmark hnix-benchmarks
, time
, transformers
, unordered-containers >=0.2.9 && <0.3
if flag(optimize)
ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
if flag(tracing)
cpp-options: -DENABLE_TRACING=1
if os(linux) && impl(ghc < 8.2)
build-depends:
compact
if !impl(ghcjs)
build-depends:
base16-bytestring

View File

@ -53,17 +53,6 @@ flags:
ghc-options:
- -Wall
when:
- condition: flag(optimize)
ghc-options:
- -fexpose-all-unfoldings
- -fspecialise-aggressively
- -O2
when:
- condition: flag(tracing)
cpp-options: -DENABLE_TRACING=1
dependencies:
- base >= 4.9 && < 5
- ansi-wl-pprint
@ -83,11 +72,19 @@ dependencies:
- unordered-containers >= 0.2.9 && < 0.3
when:
- condition: flag(optimize)
ghc-options:
- -fexpose-all-unfoldings
- -fspecialise-aggressively
- -O2
- condition: flag(tracing)
cpp-options: -DENABLE_TRACING=1
- condition: "os(linux) && impl(ghc < 8.2)"
dependencies:
- compact
when:
- condition: "!impl(ghcjs)"
dependencies:
- base16-bytestring
@ -110,8 +107,6 @@ library:
- http-client
- http-client-tls
- interpolate
- lens-family
- lens-family-core
- lens-family-th
- logict
- megaparsec >= 6.0 && < 6.6
@ -128,10 +123,20 @@ library:
- vector
- xml
when:
- condition: impl(ghc < 8.4.0) && !flag(profiling)
- condition: "impl(ghc < 8.1)"
then:
dependencies:
- lens-family == 1.2.1
- lens-family-core == 1.2.1
else:
dependencies:
- lens-family >= 1.2.2
- lens-family-core >= 1.2.2
- condition: "impl(ghc < 8.4.0) && !flag(profiling)"
dependencies:
- ghc-datasize
when:
- condition: "impl(ghcjs)"
then:
dependencies: