Let me answer your other questions as well:
Even the CI system is a bit strange, why are haskell packages in their own jobset? And what’s the difference between
haskell-updates
job set andtrunk
jobset? Both havehaskellPackages
.
I believe the haskell-updates
job set just builds Haskell packages on the haskell-updates
branch.
The reason they are separate is because the haskell-updates
branch gets automatic updates from the hackage2nix
tool. These updates have the possibility of breaking the evaluation of nixpkgs (as explained above), so they are kept to a completely separate branch. We never want Haskell stuff to break the trunk
job set (which is the nixpkgs master
branch).
I believe the configuration file for the haskell-updates
job set is ci/haskell-nixpkgs.nix at f5962fb3e49e9710921f7691fe8befee0a309548 · peti/ci · GitHub.
And why are there some jobs that are “inactive”? Like
stm-containers
is inactive right now for some reason?
I’m not sure. I don’t know enough about Hydra. Although I think this is a hydra question, and not specific to Haskell stuff. Maybe you could create a new thread about this?
How do I know whether this PR https://github.com/NixOS/nixpkgs/pull/76982 fixes this problem?
That PR is to merge the haskell-updates
branch into the master
branch. This is normally done once a week (or so) by @peti.
The easiest way to see if the package you are interested in is building correctly on the haskell-updates
branch is to checkout the haskell-updates
branch, and try building the package. For instance,
$ git clone ... # clone nixpkgs
$ cd nixpkgs/
$ git checkout origin/haskell-updates
$ nix-build -A haskellPackages.stm-hamt
It may be marked broken, in which case you might want to checkout the following video which talks about how to mark a package as unbroken (or to try building a broken package anyway):