Skip to content
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

ghcide: include and configure additional specific package versions #76103

Closed
wants to merge 19 commits into from

Conversation

@mdorman
Copy link
Contributor

@mdorman mdorman commented Dec 20, 2019

Motivation for this change

In addition to the haskell-lsp and haskell-lsp-types, ghcide is tied
to particular versions of lsp-test, hie-bios and shake, so we need to
keep them around if it is to work.

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 nix-review --run "nix-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.
Notify maintainers

cc @peti

cdepillabout and others added 19 commits Dec 16, 2019
This update was generated by hackage2nix v2.15.0-9-g650d530 from Hackage revision
commercialhaskell/all-cabal-hashes@dc5b0e7.
This update was generated by hackage2nix v2.15.0-9-g650d530 from Hackage revision
commercialhaskell/all-cabal-hashes@b2a082b.
haskellPackages.glirc is a "Console IRC Client." I've added a doJailbreak
to fix the build (thanks @Infinisil) and added it to top-level/all-packages.nix
so people can find and install it as they would normally.

Would be nice to make this build in a way that allows the OTR extension to be
enabled. One thing at a time....
glirc: init at 2.33.1
This update was generated by hackage2nix v2.15.0-11-g2fb6f7e from Hackage revision
commercialhaskell/all-cabal-hashes@4fa8739.
haskellPackages.snap-server: patch for network >= 3.0
spago: add update script for automatically updating to new versions
This PR fixes dhall_1_28_0, dhall-bash_1_0_25, and dhall-json_1_6_0 so
they build.

They all require a newer version of prettyprinter than we get from the
LTS package set.

This is from #75931 by @ijaketak.

Co-authored-by: Keito Kajitani <ijaketak@gmail.com>
haskellPackages.dhall_1_28_0: fix overrides so it builds
This adds dhall-1.27.0 to extra-packages in
configuration-hackage2nix.yaml.

dhall-1.27.0 is used by spago, so this package needs to be available.
haskellPackages.dhall_1_27_0: generate this package
haskell-lsp: Added 0.18.* to extra-packages for ghcide
Builds fine now.
haskellPackages.postgresql-simple-url: mark unbroken
In addition to the haskell-lsp and haskell-lsp-types, ghcide is tied
to particular versions of lsp-test, hie-bios and shake, so we need to
keep them around if it is to work.
@mdorman mdorman requested review from basvandijk and cdepillabout as code owners Dec 20, 2019
@peti peti force-pushed the NixOS:haskell-updates branch from 6484351 to 1f79abf Dec 20, 2019
@cdepillabout
Copy link
Member

@cdepillabout cdepillabout commented Dec 21, 2019

cc @turion and @mgttlinger who have also taken a look at this.

@peti
Copy link
Member

@peti peti commented Dec 26, 2019

Personally, I believe that these extensive overrides in Nixpkgs are a step in the wrong direction. I'd much rather see that we cooperate with upstream to make sure that ghcide compiles with recent versions of its dependencies.

@peti peti force-pushed the NixOS:haskell-updates branch 2 times, most recently from 1f7024e to 7d2cc64 Dec 26, 2019
@peti peti mentioned this pull request Dec 27, 2019
3 of 3 tasks complete
peti added a commit that referenced this pull request Dec 27, 2019
We made an effort to support ghcide in Nixpkgs, but the complexity of the
problem is a bit too high, IMHO. We need to keep older versions of several
packages around in order to satisfy the build requirements, and some of those
older packages don't even build themselves (like hie-bios). We had ghcide
working at some point, but then it was broken again right away after a couple
of days. I fear that we'll run into that issue again and again with a setup of
that complexity.

Instead, I'd propose that we work with upstream to fix their build, i.e. let's
make sure that the proper ghcide build works with recent versions of its build
inputs.

Closes #75449.
Closes #76103.
peti added a commit that referenced this pull request Dec 27, 2019
We made an effort to support ghcide in Nixpkgs, but the complexity of the
problem is a bit too high, IMHO. We need to keep older versions of several
packages around in order to satisfy the build requirements, and some of those
older packages don't even build themselves (like hie-bios). We had ghcide
working at some point, but then it was broken again right away after a couple
of days. I fear that we'll run into that issue again and again with a setup of
that complexity.

Instead, I'd propose that we work with upstream to fix their build, i.e. let's
make sure that the proper ghcide build works with recent versions of its build
inputs.

Closes #75449.
Closes #76103.
@peti peti force-pushed the NixOS:haskell-updates branch from d3a751a to aa46cdd Dec 27, 2019
@peti peti force-pushed the NixOS:haskell-updates branch from aa46cdd to fdd64fb Dec 27, 2019
@peti peti closed this in 4d403a3 Dec 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

7 participants
You can’t perform that action at this time.