Skip to content

Update haskellPackages including a bump of Hackage and Stackage pin#121627

Merged
maralorn merged 87 commits intomasterfrom
haskell-updates
May 7, 2021
Merged

Update haskellPackages including a bump of Hackage and Stackage pin#121627
maralorn merged 87 commits intomasterfrom
haskell-updates

Conversation

@maralorn
Copy link
Copy Markdown
Member

@maralorn maralorn commented May 3, 2021

This Merge

This is the regularly happening merge of the haskell-updates branch into master.

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:

  • We regularly update the stackage and hackage pins on haskell-updates (normally at the beginning of a merge window).
  • The community fixes builds of Haskell packages on that branch.
  • We aim at at least one merge of haskell-updates into master every two weeks.
  • We only do the merge if the mergeable job is succeeding on hydra.
  • If a maintained package is still broken at the time of merge, we will only merge if the maintainer has been pinged 7 days in advance. (If you care about a Haskell package, become a maintainer!)

haskell-updates build report from hydra

evaluation 1667786 of nixpkgs commit f586528 as of 2021-05-05 23:59 UTC

Build summary

Platform Failed ❌ DependencyFailed ❗ OutputLimitExceeded ⚠️ Aborted ⛔ Success ✔️
aarch64-linux 📱 66 146 9 1 6017
x86_64-darwin 🍎 85 57 3 6038
x86_64-linux 🐧 9 7 4 6236

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

peti and others added 29 commits April 30, 2021 22:02
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 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.
@maralorn maralorn added the 6.topic: haskell General-purpose, statically typed, purely functional programming language label May 3, 2021
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
@maralorn
Copy link
Copy Markdown
Member Author

maralorn commented May 6, 2021

I have the distinct feeling that my new build report is a lot less useful than the previous one …
But I didn‘t know how to accomodate the different platforms.

@maralorn
Copy link
Copy Markdown
Member Author

maralorn commented May 6, 2021

Oh, and sorry to anyone being highlighted with an already fixed build error. Please ignore this and move on. /o\

@maralorn
Copy link
Copy Markdown
Member Author

maralorn commented May 7, 2021

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:

  1. Merge this PR soon.
  2. Quickly stabilize a next PR with new hls and merge it.
  3. Hopefully by that point hackage2nix: Split configuration, auto disable hydra builds #121839 is merged. Because I would like to do a full let’s try to build all packages and then mark everything remaining broken sweep.

maralorn and others added 3 commits May 7, 2021 15:03
(The correct libarchive is now being passed into the package.)
haskellPackages.streamly-archive: unbreak
@maralorn
Copy link
Copy Markdown
Member Author

maralorn commented May 7, 2021

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.

shlok and others added 5 commits May 7, 2021 20:16
(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
@maralorn maralorn merged commit 958855d into master May 7, 2021
@maralorn maralorn deleted the haskell-updates branch May 7, 2021 21:55
@cdepillabout
Copy link
Copy Markdown
Member

Thanks for fixing the haskell-gi stuff, I know that can be a pain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: policy discussion Discuss policies to work in and around Nixpkgs 8.has: clean-up This PR removes packages or removes other cruft 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 1001-2500 This PR causes many rebuilds on Darwin and should most likely target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 2501-5000 This PR causes many rebuilds on Linux and should target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants