are emitted.
<!-- TODO(@sternenseemann):
`checkUnusedPackages opts drv`
: Adds an extra check to `postBuild` which fails the build if any dependency
taken as an input is not used. The `opts` attribute set allows relaxing this
check.
-->
`enableDWARFDebugging drv`
: Compiles the package with additional debug symbols enabled, useful
for debugging with e.g. `gdb`.
`doStrip drv`
: Sets `doStrip` to `true` for `drv`.
`dontStrip drv`
: Sets `doStrip` to `false` for `drv`.
<!-- TODO(@sternenseemann): shellAware -->
##### Trivial Helpers {#haskell-trivial-helpers}
`doJailbreak drv`
: Sets the `jailbreak` argument to `true` for `drv`.
`dontJailbreak drv`
: Sets the `jailbreak` argument to `false` for `drv`.
`doHaddock drv`
: Sets `doHaddock` to `true` for `drv`.
`dontHaddock drv`
: Sets `doHaddock` to `false` for `drv`. Useful if the build of a package is
failing because of e.g. a syntax error in the Haddock documentation.
`doHyperlinkSource drv`
: Sets `hyperlinkSource` to `true` for `drv`.
`dontHyperlinkSource drv`
: Sets `hyperlinkSource` to `false` for `drv`.
`doCheck drv`
: Sets `doCheck` to `true` for `drv`.
`dontCheck drv`
: Sets `doCheck` to `false` for `drv`. Useful if a package has a broken,
flaky or otherwise problematic test suite breaking the build.
`dontCheckIf condition drv`
: Sets `doCheck` to `false` for `drv`, but only if `condition` applies.
Otherwise it's a no-op. Useful to conditionally disable tests for a package
without interfering with previous overrides or default values.
<!-- Purposefully omitting the non-list variants here. They are a bit
ugly, and we may want to deprecate them at some point. -->
`appendConfigureFlags list drv`
: Adds the strings in `list` to the `configureFlags` argument for `drv`.
`enableCabalFlag flag drv`
: Makes sure that the Cabal flag `flag` is enabled in Cabal's configure step.
`disableCabalFlag flag drv`
: Makes sure that the Cabal flag `flag` is disabled in Cabal's configure step.
`appendBuildFlags list drv`
: Adds the strings in `list` to the `buildFlags` argument for `drv`.
<!-- TODO(@sternenseemann): removeConfigureFlag -->
`appendPatches list drv`
: Adds the `list` of derivations or paths to the `patches` argument for `drv`.
<!-- TODO(@sternenseemann): link dep section -->
`addBuildTools list drv`
: Adds the `list` of derivations to the `buildTools` argument for `drv`.
`addExtraLibraries list drv`
: Adds the `list` of derivations to the `extraLibraries` argument for `drv`.
`addBuildDepends list drv`
: Adds the `list` of derivations to the `buildDepends` argument for `drv`.
`addTestToolDepends list drv`
: Adds the `list` of derivations to the `testToolDepends` argument for `drv`.
`addPkgconfigDepends list drv`
: Adds the `list` of derivations to the `pkg-configDepends` argument for `drv`.
`addSetupDepends list drv`
: Adds the `list` of derivations to the `setupHaskellDepends` argument for `drv`.
`doBenchmark drv`
: Set `doBenchmark` to `true` for `drv`. Useful if your development
environment is missing the dependencies necessary for compiling the
benchmark component.
`dontBenchmark drv`
: Set `doBenchmark` to `false` for `drv`.
`setBuildTargets drv list`
: Sets the `buildTarget` argument for `drv` so that the targets specified in `list` are built.
`doCoverage drv`
: Sets the `doCoverage` argument to `true` for `drv`.
`dontCoverage drv`
: Sets the `doCoverage` argument to `false` for `drv`.
`enableExecutableProfiling drv`
: Sets the `enableExecutableProfiling` argument to `true` for `drv`.
`disableExecutableProfiling drv`
: Sets the `enableExecutableProfiling` argument to `false` for `drv`.
`enableLibraryProfiling drv`
: Sets the `enableLibraryProfiling` argument to `true` for `drv`.
`disableLibraryProfiling drv`
: Sets the `enableLibraryProfiling` argument to `false` for `drv`.
`disableParallelBuilding drv`
: Sets the `enableParallelBuilding` argument to `false` for `drv`.
#### Library functions in the Haskell package sets {#haskell-package-set-lib-functions}