Skip to content

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

Merged
maralorn merged 31 commits intomasterfrom
haskell-updates
May 9, 2021
Merged

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

Conversation

@maralorn
Copy link
Copy Markdown
Member

@maralorn maralorn commented May 7, 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!)

This is the follow-up to #121627.

maralorn added 6 commits May 7, 2021 23:58
This commit has been generated by maintainers/scripts/haskell/update-stackage.sh
This commit has been generated by maintainers/scripts/haskell/update-hackage.sh
This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh
@github-actions github-actions bot added the 6.topic: haskell General-purpose, statically typed, purely functional programming language label May 7, 2021
@maralorn
Copy link
Copy Markdown
Member Author

maralorn commented May 7, 2021

haskell-updates build report from hydra

evaluation 1668476 of nixpkgs commit e155ff4 as of 2021-05-08 22:19 UTC

Build summary

Platform Failed ❌ DependencyFailed ❗ Aborted ⛔ Unfinished ⏳ Success ✔️
aarch64-linux 📱 26 66 2597 3545
x86_64-darwin 🍎 87 66 2 6033
x86_64-linux 🐧 16 15 6228

Maintained packages with build failure

Maintained packages with failed dependency

Unmaintained packages with build failure

117 job(s)

Unmaintained packages with failed dependency

132 job(s)

Report generated with maintainers/scripts/haskell/hydra-report.hs

SSE(2) is an intel instruction set
Upstream was very quick about relaxing the bound on ref-tf.
@ofborg ofborg bot added 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: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches. labels May 7, 2021
Accidentally reintroduced it when merging ccde7ca.
We have different attribute sets defining jobs: The list of base jobs,
the ones generated by versionedCompilerJobs and our added aggregate
jobs. During this we define `haskell` twice: Once for `haskell.compiler`
and once for `haskell.packages.*`. The `//` operator throws a way the
former which is fixed by using lib.recursiveUpdate.

Unfortunately makes the expression less pretty, but at least we have our
compiler jobs back.
The linked issue has been fixed upstream and has been released in
1.3.0.0 which we have in haskellPackages at the moment.
@maralorn
Copy link
Copy Markdown
Member Author

maralorn commented May 9, 2021

I have pushed a fix for tomland which should fix hercules-ci-agent and hinit

@roberth
Copy link
Copy Markdown
Member

roberth commented May 9, 2021

I have pushed a fix for tomland which should fix hercules-ci-agent and hinit

Was about to do the same. The assert is a great idea!

❤️

@maralorn maralorn merged commit 4ed0cff into master May 9, 2021

# To prevent hackage2nix fails because of encoding.
# See: https://github.com/NixOS/nixpkgs/pull/122023
export LC_ALL=C.UTF-8
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me this line causes an issue and fails generation. Without the line it is working.

./maintainers/scripts/haskell/regenerate-hackage-packages.sh
/home/andreas/dev/repository/nixpkgs/maintainers/scripts/haskell/regenerate-hackage-packages.sh: line 21: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
Starting hackage2nix to regenerate pkgs/development/haskell-modules/hackage-packages.nix ...
hackage2nix: /home/andreas/dev/repository/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix: withFile: invalid argument (invalid character)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this is caused by the fact that nixos 22.11 changed the generation of locales. Actually not sure how exactly to fix this.

Copy link
Copy Markdown
Member

@andys8 andys8 Dec 28, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure, I'm not using NixOS, only the package manager (2.8.1). In my case the fix would be to remove the line, but I don't know if this is now true for everybody, only with my setup or it can be done conditionally.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

iirc the C locale is very similar to an English locale. Maybe en_US.UTF-8 is good enough and more portable?
Just a thought; I'm not an expert on this.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

export LC_ALL=en_US.UTF-8 would work in my case.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, sorry. Then it’s not nixos in your case. Anyway: The question is: Is there a reasonable encoding that we can expect to find on every system? I guess en_US.UTF-8 is the safest bet? At least better than what we have?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

en_US.UTF-8 is relatively likely to not be present on NixOS systems nowadays. Plain C should be present on any POSIX-conformant system? C.UTF-8 doesn't exist on macOS where en_US.UTF-8 is always available though.

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 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: 1001-2500 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.

6 participants