New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
haskell-updates: get evaluating again #79789
haskell-updates: get evaluating again #79789
Conversation
cabal-plan = super.cabal-plan.overrideScope (self: super: { | ||
optparse-applicative = self.optparse-applicative_0_15_1_0; | ||
ansi-terminal = self.ansi-terminal_0_10_3; | ||
base-compat = self.base-compat_0_11_1; | ||
semialign = self.semialign_1_1; | ||
time-compat = doJailbreak super.time-compat; | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I formatted this to be on multiple lines to make it a little easier to read.
The only change I made is to change self.ansi-terminal_0_10_2
to self.ansi-terminal_0_10_3
.
@@ -2498,6 +2498,7 @@ default-package-overrides: | |||
|
|||
extra-packages: | |||
- aeson < 0.8 # newer versions don't work with GHC 7.6.x or earlier | |||
- ansi-terminal == 0.10.3 # required by cabal-plan, and policeman in ghc-8.8.x |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added this so that haskell-updates
won't get into a non-evaluatable state because of cabal-plan
and policeman
's use of ansi-terminal
.
edeb82d
to
add492f
Compare
add492f
to
33c69f0
Compare
@GrahamcOfBorg build haskellPackages.cabal-plan haskell.packages.ghc882.policeman haskellPackages.dhall-json_1_6_1 spago |
This should fix the evaluation errors on the |
Looks like hydra evaluated everything successfully: |
@@ -2539,6 +2540,7 @@ extra-packages: | |||
- patience ^>= 0.1 # required by chell-0.4.x | |||
- persistent >=2.5 && <2.8 # pre-lts-11.x versions neeed by git-annex 6.20180227 | |||
- persistent-sqlite < 2.7 # pre-lts-11.x versions neeed by git-annex 6.20180227 | |||
- prettyprinter == 1.6.1 # required by ghc 8.8.x, and dhall-1.29.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is that not the latest version anyway?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
prettyprinter-1.6.1
is the latest version on Hackage.
However, we frequently(?) get evaluation errors when we rely on packages like prettyprinter_1_6_0
existing.
Adding prettyprinter
to the list of extra-packages
will hopefully help to keep the haskell-updates
branch from not being able to be evaluated.
The downside of this is that when prettyprinter-1.6.2
comes out, it won't be as obvious when we need to update all the packages that are currently using prettyprinter_1_6_1
.
However, I think you're probably the one that fixes like 90 to 95% of these types of breakages, so I'd be happy to leave it up to you how you want to handle this in the future.
prettyprinter-1.6.1 is the latest version on Hackage.
However, we frequently(?) get evaluation errors when we rely on
packages like prettyprinter_1_6_0 existing.
This is true. The advantage of having those evaluation errors, however,
is that we are forced to re-visit those overrides and to check whether
they are still necessary etc. The approach you've chosen now is
convenient, but it comes with the risk of accumulating unnecessary cruft
in the 'extra-packages' section that is kinda tedious to clean up.
I guess there is no way to say that one or the other approach is better
in every case ... both have valid pros and cons. I think adding
extra-packages for such a case is fine as long as the comment states
clearly for which package and which version of that package the addition
was made so that other people can see later whether that entry might be
removed or not.
|
Okay, this sounds reasonable. I'll decide whether to add packages to |
Motivation for this change
cabal-plan
andpoliceman
weren't evaluating because they were using the latest version ofansi-terminal
, which got bumped to a later version:https://hydra.nixos.org/eval/1569658?name=haskell-updates#tabs-removed
This PR fixes
cabal-plan
andpoliceman
so they build, and makes surehaskell-updates
can be evaluated.Also fixup
prettyprinter
(anddhall
, which depends onprettyprinter
).Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)