Merge pull request #29194 from LumiGuide/haskell-failOnAllWarnings

haskell: introduce failOnAllWarnings
This commit is contained in:
Peter Simons 2017-09-10 20:39:29 +02:00 committed by GitHub
commit b60fca2edb
2 changed files with 12 additions and 5 deletions

@ -875,12 +875,17 @@ to your own Haskell packages and integrate that in a Continuous Integration
server like [hydra](https://nixos.org/hydra/) to assure your packages maintain a
minimum level of quality. This section discusses some of these functions.
#### failOnAllWarnings
Applying `haskell.lib.failOnAllWarnings` to a Haskell package enables the
`-Wall` and `-Werror` GHC options to turn all warnings into build failures.
#### buildStrictly
Applying `haskell.lib.buildStrictly` to a Haskell package enables the `-Wall`
and `-Werror` GHC options to turn all warnings into build failures. Additionally
the source of your package is gotten from first invoking `cabal sdist` to ensure
all needed files are listed in the Cabal file.
Applying `haskell.lib.buildStrictly` to a Haskell package calls
`failOnAllWarnings` on the given package to turn all warnings into build
failures. Additionally the source of your package is gotten from first invoking
`cabal sdist` to ensure all needed files are listed in the Cabal file.
#### checkUnusedPackages

@ -117,7 +117,9 @@ rec {
'';
});
buildStrictly = pkg: buildFromSdist (appendConfigureFlag pkg "--ghc-option=-Wall --ghc-option=-Werror");
buildStrictly = pkg: buildFromSdist (failOnAllWarnings pkg);
failOnAllWarnings = drv: appendConfigureFlag drv "--ghc-option=-Wall --ghc-option=-Werror";
checkUnusedPackages =
{ ignoreEmptyImports ? false