Nixpkgs: Document haskell package update process

Created on 12 Apr 2017  路  14Comments  路  Source: NixOS/nixpkgs

I can't find anywhere in the docs the "blessed" way to update the haskell packages in nixpkgs, or backport updates to release branches. Every time I try to do it myself, I do it wrong.

developer experience haskell documentation

All 14 comments

I tried to write some docs based on what I had to do to run hackage2nix locally https://github.com/NixOS/cabal2nix/pull/268.

@peti ping? It's pretty hard to be sympathetic to your requests to follow a specific workflow when I don't know what that workflow is...

@shlevy, the normal mechanism for updating the Haskell package set is https://github.com/NixOS/cabal2nix/blob/master/update-nixpkgs.sh, which is run automatically in regular intervals. That is a very simple and straight-forward shell script, so I'm not sure what kind of questions you'd like to see answered in documentation. Do you have any questions?

Ah! I didn't know that existed. A line in the nixpkgs manual pointing there would be great.

Also, what's the policy/procedure on backporting new packages to 17.03?

What's the policy/procedure on backporting new packages to 17.03?

I just copy the entire state of

  • pkgs/development/haskell-modules,
  • pkgs/development/compilers/ghc*,
  • pkgs/development/tools/haskell, and
  • pkgs/top-level/haskell-packages.nix

from master into the release branch. Doing so usually requires a subsequent period of intense attention to build errors on Hydra, though.

@peti You copy the whole state of haskell-modules? Won't that bump the LTS version and everything?

Bumping the LTS version within a major release is desirable. We cannot switch a release branch from LTS 8 to 9, for example, but going from, say 8.2 to 8.10, is fine.

This is now documented at https://github.com/NixOS/cabal2nix#how-to-compile-this-package

@domenkozar It is? I don't see it there...

Is there any specific question anyone would like to see answered (and documented)? Otherwise, let's close this issue.

@peti The specific procedure for a) updating haskell packages on master and b) backporting to a release branch, including in the latter case what kinds of checks we should run when we do the backport. Your comments from april 21 here are probably adequate, just would be good to have them centrally documented and confirmed as the Right Way to do things.

I'm not sure where that kind of documentation should go to ... ? The Nixpkgs manual doesn't feel like the right place for this.

@peti Maybe in the cabal2nix repo, with a link from the nixpkgs manual and/or the autogenerated comment in the hackage packages nix expression?

Closing this to clear up my open issues list, please open a new one if interested in pursuing this.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ayyess picture ayyess  路  3Comments

sid-kap picture sid-kap  路  3Comments

retrry picture retrry  路  3Comments

edolstra picture edolstra  路  3Comments

matthiasbeyer picture matthiasbeyer  路  3Comments