Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

haskellPackages.idris: Fix build (new GHC 8.8 & old megaparsec 7) #84131

Merged
merged 1 commit into from
Apr 4, 2020

Conversation

chkno
Copy link
Member

@chkno chkno commented Apr 2, 2020

Motivation for this change

Make idris work.

(This is distinct from #53406, a previous time a megaparsec update broke idris. That was about megaparsec 6→7. This is about megaparsec 7→8. Upstream project has declared that it plans to stay on megaparsec 7 indefinitely.)

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@infinisil

Comment on lines +725 to +730
(super.idris.override { megaparsec = self.megaparsec_7_0_5; }) [
(pkgs.fetchpatch {
url = "https://github.com/idris-lang/Idris-dev/pull/4808.diff";
sha256 = "060ib1rczy34ip8xf3bv1pf28655f6s0bvvij19jhh5dpcr0pf71";
excludes = [ ".travis.yml" "Makefile" "appveyor.yml" ];
})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a comment to both the override and the fetchpatch lines describing why they are needed, linking to any relevant upstream issues/PRs, and adding a guess about when they can be removed (when a new upstream version is released??).

Also, please rebase this onto haskell-updates and change the base branch on Github to haskell-updates.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. Thanks!

The hackage-packages.nix change was generated by hackage2nix v2.15.1 from Hackage revision
commercialhaskell/all-cabal-hashes@ad4a70d.
@chkno chkno changed the base branch from master to haskell-updates April 3, 2020 21:23
@cdepillabout
Copy link
Member

LGTM, thanks for updating this

@cdepillabout cdepillabout merged commit 55ef84d into NixOS:haskell-updates Apr 4, 2020
Comment on lines +162377 to +162396
"megaparsec_7_0_5" = callPackage
({ mkDerivation, base, bytestring, case-insensitive, containers
, criterion, deepseq, mtl, parser-combinators, scientific, text
, transformers, weigh
}:
mkDerivation {
pname = "megaparsec";
version = "7.0.5";
sha256 = "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j";
libraryHaskellDepends = [
base bytestring case-insensitive containers deepseq mtl
parser-combinators scientific text transformers
];
benchmarkHaskellDepends = [
base containers criterion deepseq text weigh
];
description = "Monadic parser combinators";
license = stdenv.lib.licenses.bsd2;
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@peti I know we normally don't commit these changes to hackage-packages.nix in PRs, but I was thinking that the daily automatic update should just overwrite this, so there won't be any sort of problems with merge conflicts or anything.

If I was wrong about this (and there does end up being problems), please let me know.

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants