Update haskellPackages including a bump of Hackage and Stackage pin#121627
Update haskellPackages including a bump of Hackage and Stackage pin#121627
Conversation
Release 0.5 un-broke the package.
Introduces a script that can be used to update the Nix expressions for the Haskell package set. In service of that, also - introduces cabal2nix-latest, which pins the hackage2nix version used - changes all-cabal-hashes to use fetchFromGitHub - adds update-hackage.sh & update-cabal2nix-latest.sh & update-stackage.sh maintainer scripts
This will make it easier to add all haskell related tests to the haskell hydra jobset without updating a list of tests in two places.
Contrary to database-id-class, linear is part of stackage and actively maintained, so the test is less likely to fail due to version constraint issues as it is currently.
add build target support
add maintainer scripts for haskell package generation
CODEOWNERS: Haskell files. Add maralorn, declutter
We also don't add LLVM on PowerPC as GHC should have the ability to generate native code for that platform itself. Resolves #116235.
ghcWithPackages: set withLLVM if hostPlatform is not x86_64
…ts-to-codeowners CODEOWNERS: make sure all Haskell files are present
release-haskell.nix is intended to be a replacement for https://github.com/peti/ci/blob/master/haskell-nixpkgs.nix which is currently the main expression for the haskell-updates jobset on hydra (in the nixpkgs project). It has the same jobs as the old haskell-nixpkgs.nix file: * haskellPackages.* * haskell.compiler.* * Some extra haskell packages for certain compilers The following jobs are new: * tests.haskell.* * A manually maintained list of top-level haskell packages (most of them using justStaticExecutables) * An aggregate job which is intended to aid merging the haskell-updates branch: It holds an arbitrary list of haskell-related packages and tests we intend have working at all times. This is still somewhat incomplete and should be extendend in the future. Additionally a lot of refactoring has been done and some unnecessary code has been eliminated. Due to the increased set of jobs and my ideas of convenience however, the code size has grown overall. I've tried document the individual parts and would be happy about feedback in general. One future improvement could be making adding top-level haskell packages more convenient and adding them all to the aggregate job automatically.
Should fix build on aarch64, see linked issue.
* take z3 haskell package from haskellPackages * take sbv 7.13 from haskellPackages, apply patch fixing build with GHC >= 8.8.8
|
I have the distinct feeling that my new build report is a lot less useful than the previous one … |
|
Oh, and sorry to anyone being highlighted with an already fixed build error. Please ignore this and move on. /o\ |
sbv has the most limited range of platforms of the dependencies.
This is the same linking bug as encountered with trifecta and ad. Also group these cases together.
spago: 0.20.1 -> 0.20.2
|
A heads up for anyone interested. There has been the new release of haskell-language-server which is not part of this PR. So my plan for the next 7 days:
|
(The correct libarchive is now being passed into the package.)
haskellPackages.streamly-archive: unbreak
|
Merging in master revealed a build error because the Haskell gi-gdkpixbuf is now to old for nixpkgs. https://hydra.nixos.org/build/142598263/nixlog This means we need to update to haskell-gi 0.25.0 That’s a pickle I hope we can fix as much gi-* packages as possible before branch off. Not sure yet how bad this will propagate … Anyways I need to hold of on the merge until this is fixed. |
(The latest version of streamly-lmdb (0.2.1) is not broken at all.)
We split configuration-hackage2nix.yaml into multiple files. We bump cabal2nix-unstable to get support for multiple config files in hackage2nix. * The file main.yaml is only supposed to be edited by humans. * The file stackage.yaml is only supposed to be updated by the update-stackage.sh * The file broken.yaml can be edited by humans, but probably future helpers will want to insert broken packages into this file based on hydra reports. * The file transitive-broken.yaml is newly introduced to be generated by regenerate-transitive-broken-packages.sh regenerate-transitive-broken-packages.sh makes a nix query (in transitive-broken-packages.nix) which evaluates all haskellPackages once with and once without "allowBroken" this way it get's a list of packages which are broken by some transitive dependency, but does not disable packages which have eval errors not caused by a broken package.
hackage2nix: Split configuration, auto disable hydra builds
|
Thanks for fixing the haskell-gi stuff, I know that can be a pain. |
This Merge
This is the regularly happening merge of the
haskell-updatesbranch intomaster.This branch is being continually build and tested by hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates.
I will aim to merge this PR until 2021-05-14. If I can merge it earlier, there might be successor PRs in that time window. As part of our rotation @cdepillabout will continue these merges from 2021-05-15 to 2021-05-28.
haskellPackages Workflow Summary
Our workflow is currently described at #121140 (comment).
The short version is this:
haskell-updates(normally at the beginning of a merge window).haskell-updatesintomasterevery two weeks.mergeablejob is succeeding on hydra.haskell-updates build report from hydra
evaluation 1667786 of nixpkgs commit f586528 as of 2021-05-05 23:59 UTC
Build summary
Maintained packages with build failure
Maintained packages with failed dependency
Maintained packages with unknown error
Unmaintained packages with build failure
148 job(s)
Unmaintained packages with failed dependency
205 job(s)
Report generated with maintainers/scripts/haskell/hydra-report.hs