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: apply-refact version has to match ghc #85617
Haskell: apply-refact version has to match ghc #85617
Conversation
@@ -91,4 +91,7 @@ self: super: { | |||
# ghc versions prior to 8.8.x needs additional dependency to compile successfully. | |||
ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser; | |||
|
|||
# Only 0.6 is compatible with ghc 8.6 https://hackage.haskell.org/package/apply-refact/changelog | |||
apply-refact = super.apply-refact_0_6_0_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.
Thanks for trying to fix this!
However, there are a couple things you'll need to fix up before this can be merged in:
First, Haskell-related PRs should generally be based on the haskell-updates
branch (not master
), and they should be targetting the haskell-updates
branch here on GitHub (not master
). Please change this.
Second, this apply-refact_0_6_0_0
derivation unfortunately does not currently exist.
If you do nix repl /some/path/to/nixpkgs
, and then type haskellPackages.apply-refact_0_6_0_0
(or haskell.packages.ghc865.apply-refact_0_6_0_0
, you should see a message that the derivation can't be found.
However, there is a list of extra derivations to generate here:
nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
Lines 2356 to 2361 in d8b7b59
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 | |
- aeson-pretty < 0.8 # required by elm compiler | |
- apply-refact < 0.4 # newer versions don't work with GHC 8.0.x | |
- binary > 0.7 && < 0.8 # keep a 7.x major release around for older compilers |
If you add something like
- apply-refact == 0.6.0.0
- apply-refact == 0.7.0.0
to this list, then these new derivations will be generated next time the Haskell packages are regenerated.
I think I might have explained a little how this works here? https://discourse.nixos.org/t/haskellpackages-stm-containers-fails-to-build/5416/4
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.
Thanks for the feedback. I tried to integrate it. Is the automatic generation of packages working on haskell-updates
only or on forks of it, too?
3d9ff98
to
7a6ca42
Compare
7a6ca42
to
48df87e
Compare
This commit maps: * GHC 8.6 to apply-refact 0.6 * GHC 8.8 to apply-refact 0.7 * GHC 8.10 to apply-refact 0.8 See: <https://hackage.haskell.org/package/apply-refact/changelog> <mpickering/apply-refact#56>
48df87e
to
1c70da8
Compare
pkgs/development/haskell-modules/configuration-hackage2nix.yaml
Outdated
Show resolved
Hide resolved
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.
Looks good, thanks for fixing this up!
Keep a lookout on the |
Maybe matching versions is not necessary anymore: https://hackage.haskell.org/package/apply-refact-0.8.2.1/changelog The current latest version seems to support multiple ghc versions. |
Motivation for this change
Installation of
apply-refact
fails with current unstable.This commit maps:
See:
https://hackage.haskell.org/package/apply-refact/changelog
mpickering/apply-refact#56
Things done
I've found: be23568
I tried to create a similar configuration, but I've no idea if it actually works. @peti
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)