Before:
```
error: getting status of
‘/home/user/nixpkgs/pkgs/development/development/haskell-modules/generic-stack-builder.nix’:
No such file or directory
```
In Hydra CI environments, the version strings we get from Hydra don't
necessarily match those hard-coded into the Cabal files. To make those builds
succeed anyway, we have to apply some pattern matching.
* Build most of the stuff on /tmp, not in /nix/store.
* Generate hoogle database for all the dependencies.
* Generate haddock index and contents files.
* Cleanup.
- sdistTarball transforms a normal Haskell build into one that produces a
release tarball by running "sdist". For example:
$ nix-shell -p "haskell.lib.sdistTarball haskellPackages.mtl" --command 'tar tfv $nativeBuildInputs/*tar.gz'
- buildFromSdist transforms a normal Haskell build into one that compiles the
package the an sdist release tarball created by Nix. For example:
$ nix-shell -p "haskell.lib.buildFromSdist haskellPackages.mtl" --command "exit 0"
- buildStrictly transforms a normal Haskell build into one that (a) compiles
the source code with "-Wall -Werror" flags and (b) uses as input a locally
generated sdist release tarball. For example:
$ nix-shell -p "haskell.lib.buildStrictly haskellPackages.mtl" --command "exit 0"
This function is particularly useful for continuous Hydra builds of Haskell
packages.
This makes the attribute (a) consistent with "doCheck" and friends and (b)
avoids the double negation "noHaddock = false" meaning "doHaddock = true".
Fixes https://github.com/NixOS/cabal2nix/issues/63.