Without the change the eval fails as:
$ nix build --no-link -f. haskell.packages.ghcjs.exceptions
error:
… in the left operand of the update (//) operator
at pkgs/development/haskell-modules/lib/compose.nix:40:7:
39| mkDerivation = drv: (args.mkDerivation drv).override f;
40| })) // {
| ^
41| overrideScope = scope: overrideCabal f (drv.overrideScope scope);
error: attribute 'exceptions_0_10_7' missing
at pkgs/development/haskell-modules/configuration-ghcjs.nix:30:26:
29| stm = doJailbreak self.stm_2_5_3_1;
30| exceptions = dontCheck self.exceptions_0_10_7;
| ^
31|
Did you mean exceptions_0_10_8?
The stm_2_5_0_2 attribute was removed due to a package update upstream,
leading to an evaluation failure in the ghcjs package set.
Co-authored-by: sternenseemann <sternenseemann@systemli.org>
The latest aeson doesn't build in ghcjs because it includes text-short
in its dependency tree, which hangs on checkPhase because it uses C FFI.
But since ghcjs-base has an upper bound on aeson<1.6 anyway, just
override it.
The derivation for the GHCJS `vector` package broke in #142940 due to
introducing the line of code that this change deletes.
The offending line appears to have been unintentionally added and
causes an evaluation failure for two separate reason :
* The argument order is wrong
The change in #142940 switched the `haskellLib` utilities to flip
their argument order, but the `appendPatch` in the offending line
has the original argument order
* The patch file referenced by the offending line does not exist
The correct fix is to delete the line, because the patch is not
necessary. The default version of the `vector` package is `0.12.3.1`,
which already includes the fix from that patch.
- The haskell lib is very close to not relying on Nixpkgs. I think
this is good---simpler to think about and matches Nixpkgs's lib.
- The haskell lib is only imported once
- stdenv is exposed more shallowly so it can be overriden more easily.
I'll eventually use this on Darwin to avoid the Sierra shared
library problems (unless changes are to be made system-wide).
Closes https://github.com/NixOS/nixpkgs/pull/27840.
This makes it easier to ensure that the list of stage 1 packages accurately matches the given version of ghcjs, and makes it possible for this list to be overridden
Previously, the stage2 information was stored in haskell-modules, and imported directly from there. However, the correct stage2 information is determined by the version of ghcjs-boot repository. This commit makes the stage2 information part of the ghcjs derivation, which improves organization and makes it possible to override stage2 when overriding ghcjs.