Home / Input Output / nix-tools
Jul 20, 1-2 AM (0)
Jul 20, 2-3 AM (0)
Jul 20, 3-4 AM (0)
Jul 20, 4-5 AM (0)
Jul 20, 5-6 AM (0)
Jul 20, 6-7 AM (2)
Jul 20, 7-8 AM (0)
Jul 20, 8-9 AM (0)
Jul 20, 9-10 AM (0)
Jul 20, 10-11 AM (1)
Jul 20, 11-12 PM (0)
Jul 20, 12-1 PM (0)
Jul 20, 1-2 PM (0)
Jul 20, 2-3 PM (0)
Jul 20, 3-4 PM (0)
Jul 20, 4-5 PM (0)
Jul 20, 5-6 PM (0)
Jul 20, 6-7 PM (0)
Jul 20, 7-8 PM (0)
Jul 20, 8-9 PM (0)
Jul 20, 9-10 PM (0)
Jul 20, 10-11 PM (0)
Jul 20, 11-12 AM (0)
Jul 21, 12-1 AM (0)
Jul 21, 1-2 AM (0)
Jul 21, 2-3 AM (0)
Jul 21, 3-4 AM (0)
Jul 21, 4-5 AM (3)
Jul 21, 5-6 AM (0)
Jul 21, 6-7 AM (1)
Jul 21, 7-8 AM (0)
Jul 21, 8-9 AM (0)
Jul 21, 9-10 AM (0)
Jul 21, 10-11 AM (0)
Jul 21, 11-12 PM (1)
Jul 21, 12-1 PM (0)
Jul 21, 1-2 PM (0)
Jul 21, 2-3 PM (0)
Jul 21, 3-4 PM (0)
Jul 21, 4-5 PM (0)
Jul 21, 5-6 PM (0)
Jul 21, 6-7 PM (0)
Jul 21, 7-8 PM (0)
Jul 21, 8-9 PM (0)
Jul 21, 9-10 PM (1)
Jul 21, 10-11 PM (0)
Jul 21, 11-12 AM (0)
Jul 22, 12-1 AM (0)
Jul 22, 1-2 AM (0)
Jul 22, 2-3 AM (0)
Jul 22, 3-4 AM (0)
Jul 22, 4-5 AM (0)
Jul 22, 5-6 AM (0)
Jul 22, 6-7 AM (0)
Jul 22, 7-8 AM (0)
Jul 22, 8-9 AM (0)
Jul 22, 9-10 AM (0)
Jul 22, 10-11 AM (0)
Jul 22, 11-12 PM (0)
Jul 22, 12-1 PM (0)
Jul 22, 1-2 PM (0)
Jul 22, 2-3 PM (1)
Jul 22, 3-4 PM (0)
Jul 22, 4-5 PM (0)
Jul 22, 5-6 PM (0)
Jul 22, 6-7 PM (0)
Jul 22, 7-8 PM (0)
Jul 22, 8-9 PM (0)
Jul 22, 9-10 PM (0)
Jul 22, 10-11 PM (1)
Jul 22, 11-12 AM (0)
Jul 23, 12-1 AM (0)
Jul 23, 1-2 AM (0)
Jul 23, 2-3 AM (0)
Jul 23, 3-4 AM (0)
Jul 23, 4-5 AM (0)
Jul 23, 5-6 AM (0)
Jul 23, 6-7 AM (0)
Jul 23, 7-8 AM (0)
Jul 23, 8-9 AM (0)
Jul 23, 9-10 AM (0)
Jul 23, 10-11 AM (0)
Jul 23, 11-12 PM (0)
Jul 23, 12-1 PM (0)
Jul 23, 1-2 PM (0)
Jul 23, 2-3 PM (0)
Jul 23, 3-4 PM (0)
Jul 23, 4-5 PM (0)
Jul 23, 5-6 PM (0)
Jul 23, 6-7 PM (0)
Jul 23, 7-8 PM (0)
Jul 23, 8-9 PM (0)
Jul 23, 9-10 PM (0)
Jul 23, 10-11 PM (0)
Jul 23, 11-12 AM (0)
Jul 24, 12-1 AM (0)
Jul 24, 1-2 AM (0)
Jul 24, 2-3 AM (0)
Jul 24, 3-4 AM (0)
Jul 24, 4-5 AM (0)
Jul 24, 5-6 AM (0)
Jul 24, 6-7 AM (0)
Jul 24, 7-8 AM (0)
Jul 24, 8-9 AM (0)
Jul 24, 9-10 AM (0)
Jul 24, 10-11 AM (0)
Jul 24, 11-12 PM (0)
Jul 24, 12-1 PM (0)
Jul 24, 1-2 PM (0)
Jul 24, 2-3 PM (0)
Jul 24, 3-4 PM (0)
Jul 24, 4-5 PM (0)
Jul 24, 5-6 PM (0)
Jul 24, 6-7 PM (0)
Jul 24, 7-8 PM (0)
Jul 24, 8-9 PM (0)
Jul 24, 9-10 PM (0)
Jul 24, 10-11 PM (0)
Jul 24, 11-12 AM (0)
Jul 25, 12-1 AM (0)
Jul 25, 1-2 AM (0)
Jul 25, 2-3 AM (0)
Jul 25, 3-4 AM (0)
Jul 25, 4-5 AM (0)
Jul 25, 5-6 AM (0)
Jul 25, 6-7 AM (0)
Jul 25, 7-8 AM (0)
Jul 25, 8-9 AM (0)
Jul 25, 9-10 AM (0)
Jul 25, 10-11 AM (0)
Jul 25, 11-12 PM (0)
Jul 25, 12-1 PM (0)
Jul 25, 1-2 PM (0)
Jul 25, 2-3 PM (0)
Jul 25, 3-4 PM (0)
Jul 25, 4-5 PM (0)
Jul 25, 5-6 PM (0)
Jul 25, 6-7 PM (0)
Jul 25, 7-8 PM (0)
Jul 25, 8-9 PM (0)
Jul 25, 9-10 PM (0)
Jul 25, 10-11 PM (0)
Jul 25, 11-12 AM (0)
Jul 26, 12-1 AM (0)
Jul 26, 1-2 AM (0)
Jul 26, 2-3 AM (0)
Jul 26, 3-4 AM (0)
Jul 26, 4-5 AM (0)
Jul 26, 5-6 AM (0)
Jul 26, 6-7 AM (0)
Jul 26, 7-8 AM (0)
Jul 26, 8-9 AM (0)
Jul 26, 9-10 AM (0)
Jul 26, 10-11 AM (0)
Jul 26, 11-12 PM (0)
Jul 26, 12-1 PM (0)
Jul 26, 1-2 PM (0)
Jul 26, 2-3 PM (0)
Jul 26, 3-4 PM (0)
Jul 26, 4-5 PM (0)
Jul 26, 5-6 PM (0)
Jul 26, 6-7 PM (0)
Jul 26, 7-8 PM (0)
Jul 26, 8-9 PM (0)
Jul 26, 9-10 PM (0)
Jul 26, 10-11 PM (0)
Jul 26, 11-12 AM (0)
Jul 27, 12-1 AM (0)
Jul 27, 1-2 AM (0)
11 commits this week Jul 20, 2021 - Jul 27, 2021
Fix handling of packages with no planned components. (#110)
If a package is local to the project, but none of the components are in the plan, then there will be an empty `components` attribute and no `component-name`.  Currently this causes an error as we look for a `component-name` when the `components` attribute is empty.  This change will make it so that we only look for the `component-name` when there is no `components` attribute at all.
Fix handling of packages with no planned components.
If a package is local to the project, but none of the components are in the plan, then there will be an empty `components` attribute and no `component-name`.  Currently this causes an error as we look for a `component-name` when the `components` attribute is empty.  This change will make it so that we only look for the `component-name` when there is no `components` attribute at all.
Pick the latest version when the same package is in plan.json twice (#109)
Currently haskell.nix assums that each package will occur only once in the plan.json file.  It turns out this is not always the case.  If a package is included as a dependency of a `setup` component or `build-tool-dependencies` then it may be listed more than once.  Currently we pick the first one in the `plan.json` file (via `Map.fromList`).  This is not ideal as it is often an old version included to satisfy one of the `setup` or `build-tool-dependencies`.  In particular `cabal-doctest` often results in picking an old version of `Win32` when cross compiling for windows.

It can be difficult to get rid of the duplicates in the `plan.json` file itself (as a work around), because constraints cannot be added to the build time dependencies in `cabal.project`.

The correct fix is to add support for multiple versions of the same package in haskell.nix, but this will require a lot of refactoring.

This PR will help improve the situation by picking the newest version with `Map.fromListWith`, rather than just the first in the file.