Skip to content

haskellPackages: update stackage and hackage#223827

Merged
maralorn merged 45 commits intomasterfrom
haskell-updates
Apr 7, 2023
Merged

haskellPackages: update stackage and hackage#223827
maralorn merged 45 commits intomasterfrom
haskell-updates

Conversation

@cdepillabout
Copy link
Member

This Merge

This PR is the regular merge of the haskell-updates branch into master.

This branch is being continually built and tested by hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates. You may be able to find an up-to-date Hydra build report at cdepillabout/nix-haskell-updates-status.

We roughly aim to merge these haskell-updates PRs at least once every two weeks. See the @NixOS/haskell team calendar for who is currently in charge of this branch.

haskellPackages Workflow Summary

Our workflow is currently described in pkgs/development/haskell-modules/HACKING.md.

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 #220972. Come to #haskell:nixos.org if you have any questions.

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 Mar 30, 2023
@cdepillabout
Copy link
Member Author

@domenkozar I removed some overrides for cachix in c69399d in order to get it to build. It looks like it has been bumped to 1.4 on hackage. Just a heads-up.

@ofborg ofborg bot added 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: 2501-5000 This PR causes many rebuilds on Darwin and should 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. labels Mar 30, 2023
@cdepillabout
Copy link
Member Author

@roberth Just a ping that hercules-ci-agent and related packages are failing. Probably due to the update in the cachix version:

https://github.com/cdepillabout/nix-haskell-updates-status/tree/c4cf9c473f04227edae5a213d3ba47171eeb04dc

@roberth
Copy link
Member

roberth commented Mar 31, 2023

This makes hls build, but I probably did things the wrong way, like putting a global override on ghcide deps in Nix code?
So fyi this builds: https://github.com/NixOS/nixpkgs/compare/haskell-updates...hercules-ci:nixpkgs:haskell-updates-hls?expand=1

@maralorn
Copy link
Member

This makes hls build, but I probably did things the wrong way, like putting a global override on ghcide deps in Nix code? So fyi this builds: https://github.com/NixOS/nixpkgs/compare/haskell-updates...hercules-ci:nixpkgs:haskell-updates-hls?expand=1

Thank you! I actually do think that a global override is the correct solution, but I would do it differently. otoh, I think we can simply to another hackage bump and starting working on hls 1.10.

github-actions bot and others added 4 commits April 1, 2023 00:13
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
@cdepillabout
Copy link
Member Author

@roberth @maralorn Thanks for looking into this.

I bumped the hackage snapshot. Let's see what the fallout looks like from this, and if it is too bad we could always revert the commit and just pin ghcide.

@maralorn
Copy link
Member

maralorn commented Apr 1, 2023

Okay everyone, let’s fix hls 1.10.

I am a big fan of what sterni did with the cabal overrides inherit trick in

inherit (
let
# !!! Use cself/csuper inside for the actual overrides
cabalInstallOverlay = cself: csuper:
lib.optionalAttrs (lib.versionOlder self.ghc.version "9.6") {
Cabal = cself.Cabal_3_10_1_0;
Cabal-syntax = cself.Cabal-syntax_3_10_1_0;
} // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.4") {
# We need at least directory >= 1.3.7.0. Using the latest version
# 1.3.8.* is not an option since it causes very annoying dependencies
# on newer versions of unix and filepath than GHC 9.2 ships
directory = cself.directory_1_3_7_1;
# GHC 9.2.5 starts shipping 1.6.16.0 which is required by
# cabal-install, but we need to recompile process even if the correct
# version is available to prevent inconsistent dependencies:
# process depends on directory.
process = cself.process_1_6_17_0;
# hspec < 2.10 depends on ghc (the library) directly which in turn
# depends on directory, causing a dependency conflict which is practically
# not solvable short of recompiling GHC. Instead of adding
# allowInconsistentDependencies for all reverse dependencies of hspec-core,
# just upgrade to an hspec version without the offending dependency.
hspec-core = cself.hspec-core_2_10_10;
hspec-discover = cself.hspec-discover_2_10_10;
hspec = cself.hspec_2_10_10;
# hspec-discover and hspec-core depend on hspec-meta for testing which
# we need to avoid since it depends on ghc as well. Since hspec*_2_10*
# are overridden to take the versioned attributes as inputs, we need
# to make sure to override the versioned attribute with this fix.
hspec-discover_2_10_10 = dontCheck csuper.hspec-discover_2_10_10;
# Prevent dependency on doctest which causes an inconsistent dependency
# due to depending on ghc which depends on directory etc.
vector = dontCheck csuper.vector;
};
in
{
cabal-install = super.cabal-install.overrideScope cabalInstallOverlay;
cabal-install-solver = super.cabal-install-solver.overrideScope cabalInstallOverlay;
guardian = lib.pipe
# Needs cabal-install >= 3.8 /as well as/ matching Cabal
(super.guardian.overrideScope (self: super:
cabalInstallOverlay self super // {
# Needs at least path-io 1.8.0 due to canonicalizePath changes
path-io = self.path-io_1_8_0;
}
))
[
# Tests need internet access (run stack)
dontCheck
# May as well…
(self.generateOptparseApplicativeCompletions [ "guardian" ])
];
}
) cabal-install
cabal-install-solver
guardian
;
, so if we need complicated overrides I would like to transition hls to use that trick. I guess I will go ahead and refactor the override in the -nix.nix that way. Also I would like to duplicate less work between ghc versions and work more with versionAtLeast in the common.nix

Besides that I suggest we coordinate a bit with fixing the builds:

  • 8.10
  • 9.0
  • 9.2 (default)
  • 9.4
  • 9.6

Maybe if you work on a version drop a line in #haskell:nixos.org so everyone knows and we can potentially split efforts.

/cc @ncfavier because you were so helpful last time

Use an older version of gi-soup to remain compatible with the prevailing libsoup version in the other gi- packages
…stackage config

It was previously just being inserted alphabetically into the list
To include packages alphabetically after with-compiler
@ofborg ofborg bot added the 8.has: clean-up This PR removes packages or removes other cruft label Apr 5, 2023
@cdepillabout cdepillabout linked an issue Apr 6, 2023 that may be closed by this pull request
1 task
@vcunat
Copy link
Member

vcunat commented Apr 7, 2023

I think we'll need haskell-gi/haskell-gi#401 for/before #224806
(Hydra error)

maralorn added 2 commits April 7, 2023 23:43
This commit has been generated by maintainers/scripts/haskell/mark-broken.sh based on
*evaluation [1793187](https://hydra.nixos.org/eval/1793187) of nixpkgs commit [ee14a27](https://github.com/NixOS/nixpkgs/commits/ee14a276ab05e72f6dbf224ed5d85227f182984e) as of 2023-04-07 21:31 UTC*
from the haskell-updates jobset on hydra under https://hydra.nixos.org/jobset/nixpkgs/haskell-updates
@sternenseemann
Copy link
Member

@vcunat #225231 has the version of haskell-gi including the fix, not sure if it'll propagate to master in time, but any broken period should be short, so maybe okay.

@vcunat
Copy link
Member

vcunat commented Apr 8, 2023

I was just puzzled that it started to work and I don't know why: https://hydra.nixos.org/job/nixpkgs/staging-next/haskellPackages.gi-glib.x86_64-linux
(maybe something in this haskell-updates already)

@sternenseemann
Copy link
Member

@vcunat Was part of this PR apparently, so it must have propagated from master to staging-next now.

@vcunat
Copy link
Member

vcunat commented Apr 8, 2023

Ah, so .haskell-gi version was relevant and not .gi-glib version? https://hydra.nixos.org/job/nixpkgs/staging-next/haskellPackages.haskell-gi.x86_64-linux

@vcunat
Copy link
Member

vcunat commented Apr 8, 2023

The upstream repo and versioning around haskell-gi is confusing me all the time.

@sternenseemann
Copy link
Member

Yes, the changed module belongs to haskell-gi.

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: 2501-5000 This PR causes many rebuilds on Darwin and should 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.

Update request: fourmolu 0.9.0.0 → 0.11.0.0

8 participants

Comments