diff --git a/.travis.yml b/.travis.yml index 0c3611d..ee31fa1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/default.nix b/default.nix index f361811..e9ab69f 100644 --- a/default.nix +++ b/default.nix @@ -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 ++ diff --git a/hnix.cabal b/hnix.cabal index 25b3b79..f18face 100644 --- a/hnix.cabal +++ b/hnix.cabal @@ -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 diff --git a/package.yaml b/package.yaml index 05165c0..c0d4d99 100644 --- a/package.yaml +++ b/package.yaml @@ -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: