mirror of
https://github.com/ilyakooo0/haskell.nix.git
synced 2024-09-11 06:55:40 +03:00
This change updates to the latest `nix-tools` to get the following fixes (there are 3 PRs in nix-tools, but just the one in haskell.nix to avoid having to update the materialized files multiple times): ## Better support for source repository packages * https://github.com/input-output-hk/nix-tools/pull/107 Currently these are replaced by the `cabalProject` functions with regular `packages:` before running cabal configure. Cabal does not treat these the same (the setting of `tests:` and `benchmarks:` in the `cabal.project` file): * The plan found by `cabalProject` may not match the one used when running `cabal`. * The performance of the solver may not be consistent with running `cabal`. This change replaces `source-repository-package` with another `source-repository-package` pointing at a minimal git repo. ## Only include planned components * https://github.com/input-output-hk/nix-tools/pull/108 Only the components in the `plan.json` are now included in the haskell.nix cabal projects. This avoids missing dependencies attempting to build components that were not in the plan. Should fix #993. ## Pick latest packages * https://github.com/input-output-hk/nix-tools/pull/109 When the same package occurs more than once in a `plan.json` file (perhaps because it is needed both by the project itself and by one of the `setup` dependencies or `build-tool-dependencies` of the project) the latest version will now be the one picked by haskell.nix. This is a work around for a common issue with `cabal-doctest` when cross compiling to windows (an old version of Win32 is used even if a newer one was required by the projects `constraints`). |
||
---|---|---|
.. | ||
buildable | ||
builder-haddock | ||
cabal-22 | ||
cabal-doctests | ||
cabal-hpack | ||
cabal-simple | ||
cabal-simple-debug | ||
cabal-simple-prof | ||
cabal-source-repo | ||
cabal-source-repo-comments | ||
cabal-sublib | ||
call-cabal-project-to-nix | ||
call-stack-to-nix | ||
coverage | ||
coverage-golden | ||
coverage-no-libs | ||
exe-only | ||
extra-hackage | ||
fully-static | ||
ghc-options | ||
githash | ||
haskell-language-server | ||
index-state | ||
lookup-sha256 | ||
project-flags | ||
setup-deps | ||
shell-for | ||
shell-for-setup-deps | ||
snapshots | ||
stack-local-resolver | ||
stack-local-resolver-subdir | ||
stack-remote-resolver | ||
stack-simple | ||
stack-source-repo | ||
sublib-docs | ||
with-packages | ||
default.nix | ||
README.md | ||
regen.nix | ||
tests.sh | ||
unit.nix | ||
util.nix |
Haskell infrastructure test cases
To build the test cases, run from the test
directory:
nix-build --no-out-link default.nix
To run all tests (includes impure tests), use the script:
./tests.sh
Generated code
If you change the test Cabal files or need to regenerate the code with
nix-tools, then see regen.nix
. Run it like this:
$(nix-build --no-out-link regen.nix)