summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBas van Dijk <v.dijk.bas@gmail.com>2017-09-10 13:09:52 +0200
committerBas van Dijk <v.dijk.bas@gmail.com>2017-09-10 13:09:52 +0200
commitb4ea459eabf7f52cfec0964d31354e3d6385151f (patch)
treeb6203ae83bc05fa74b30cb2e9172b35b1c34e863
parent9b8f67969e816e1f37a736458f6fd3c3fd557685 (diff)
haskell: introduce failOnAllWarnings
Applying `haskell.lib.failOnAllWarnings` to a Haskell package enables the `-Wall` and `-Werror` GHC options to turn all warnings into build failures.
-rw-r--r--doc/languages-frameworks/haskell.md13
-rw-r--r--pkgs/development/haskell-modules/lib.nix4
2 files changed, 12 insertions, 5 deletions
diff --git a/doc/languages-frameworks/haskell.md b/doc/languages-frameworks/haskell.md
index 8efc60f1e17a..da3fd770ce72 100644
--- a/doc/languages-frameworks/haskell.md
+++ b/doc/languages-frameworks/haskell.md
@@ -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
diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix
index 48110cffabf8..fcb4258deb14 100644
--- a/pkgs/development/haskell-modules/lib.nix
+++ b/pkgs/development/haskell-modules/lib.nix
@@ -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