We have been disabling terminfo in our GHC builds for cross compilers (windows and musl). This leads to an interesting problem when we `cabal configure` a project that needs `ghc`. The resulting `plan.json` might suggest that we should use the preexisting `ghc`. When it does though it does not include the `flags` needed to build it. One fix would be to default the the `ghc` `terminfo` flag to `false` for cross compilers. It turns out though that the reason we could not get the `terminfo` package to work with our cross compilers was that we were providing the `hostPlatform` `ncursers` when we needed the `targetPlatform` `ncursers`. Fixing that makes the cross compilers more like the native ones. Also stops pinning wine to 5.4 on macOS (pinned version does not work there) |
||
---|---|---|
.buildkite | ||
.github/workflows | ||
builder | ||
compiler | ||
docs | ||
hix | ||
lib | ||
materialized | ||
mk-local-hackage-repo | ||
modules | ||
overlays | ||
patches | ||
scripts | ||
test | ||
.gitattributes | ||
.gitignore | ||
bors.toml | ||
build.nix | ||
changelog.md | ||
ci-lib.nix | ||
ci.nix | ||
config.nix | ||
COPYING | ||
default.nix | ||
dimension.nix | ||
flake.lock | ||
flake.nix | ||
hackage-src.json | ||
mkdocs.yml | ||
package-set.nix | ||
README.md | ||
release-linux-only.nix | ||
release.nix | ||
shell.nix | ||
snapshots.nix | ||
stackage-src.json |
haskell.nix
is infrastructure for building Haskell packages with Nix
haskell.nix
can automatically translate your Cabal or Stack project and
its dependencies into Nix code.
Documentation
- Introduction
- Getting Started
- Troubleshooting
- Explore the documentation from there to find further topics.
Help! Something isn't working
The #1 problem that people have when using haskell.nix
is that they find themselves building GHC.
This should not happen, but you must follow the haskell.nix
setup instructions properly to avoid it.
If you find this happening to you, please check that you have followed the
getting started instructions and
consult the corresponding troubleshooting section.
The troubleshooting documentation also contains some help for other common issues. Please give it a read before asking on IRC or opening an issue.
If you're still stuck, join the #haskell.nix channel on irc.libera.chat, or open an issue.
Related repos
The haskell.nix
repository contains the runtime system for building
Haskell packages in Nix. It depends on other repos, which are:
-
nix-tools
— provides the programs for generating Nix expressions from Haskell projects. -
hackage.nix
— the latest contents of the Hackage databases, converted to Nix expressions. -
stackage.nix
— all of the Stackage snapshots, converted to Nix expressions.