mirror of
https://github.com/ilyakooo0/haskell.nix.git
synced 2024-10-26 09:37:17 +03:00
674f5b0a3d
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`).
52 lines
1.5 KiB
Nix
52 lines
1.5 KiB
Nix
{ system
|
|
, compiler
|
|
, flags
|
|
, pkgs
|
|
, hsPkgs
|
|
, pkgconfPkgs
|
|
, errorHandler
|
|
, config
|
|
, ... }:
|
|
({
|
|
flags = {};
|
|
package = {
|
|
specVersion = "1.12";
|
|
identifier = { name = "stack-simple"; version = "0.1.0.0"; };
|
|
license = "BSD-3-Clause";
|
|
copyright = "2019 Author name here";
|
|
maintainer = "example@example.com";
|
|
author = "Author name here";
|
|
homepage = "https://github.com/githubuser/stack-simple#readme";
|
|
url = "";
|
|
synopsis = "";
|
|
description = "Please see the README on GitHub at <https://github.com/githubuser/stack-simple#readme>";
|
|
buildType = "Simple";
|
|
isLocal = true;
|
|
};
|
|
components = {
|
|
"library" = {
|
|
depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ];
|
|
buildable = true;
|
|
};
|
|
exes = {
|
|
"stack-simple-exe" = {
|
|
depends = [
|
|
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
|
(hsPkgs."stack-simple" or (errorHandler.buildDepError "stack-simple"))
|
|
];
|
|
buildable = true;
|
|
};
|
|
};
|
|
tests = {
|
|
"stack-simple-test" = {
|
|
depends = [
|
|
(hsPkgs."base" or (errorHandler.buildDepError "base"))
|
|
(hsPkgs."stack-simple" or (errorHandler.buildDepError "stack-simple"))
|
|
];
|
|
buildable = true;
|
|
};
|
|
};
|
|
};
|
|
} // rec { src = (pkgs.lib).mkDefault ./.; }) // {
|
|
cabal-generator = "hpack";
|
|
} |