Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

haskellPackages: update stackage and hackage #304640

Merged
merged 41 commits into from
Apr 27, 2024
Merged

Conversation

sternenseemann
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!)

More information about Haskell packages in nixpkgs can be found in the nixpkgs manual.


This is the follow-up to #302932. Come to #haskell:nixos.org if you have any questions.

When we are building compiler for a platform we can execute ourselves,
we can build a proper stage2 compiler which unlocks some features that
are interesting for e.g. pkgsStatic.

The resulting compiler is technically a native compiler that's prefixed.
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
@vcunat
Copy link
Member

vcunat commented Apr 17, 2024

I delayed the Hydra builds again, as I hope that staging-next #303527 will merge soon.

@sternenseemann
Copy link
Member Author

I guess we can use this time to review #304652 which also requires a set rebuild in haskell-updates!

github-actions bot and others added 7 commits April 19, 2024 00:12
Unfortunately, some of these packages block the NixOS/nixpkgs channels
so they also need to work on darwin. I'd say for the future we can be
liberal in moving packages (that don't block the channel) out of
mergeable, but stuff like cachix needs to work everywhere.
pkgs.shellcheck is (indirectly via nix-info-tested) a channel blocker.
@sternenseemann
Copy link
Member Author

sternenseemann commented Apr 21, 2024

haskell-updates build report from hydra

evaluation 1805814 of nixpkgs commit fb9e753 as of 2024-04-21 15:06 UTC

🟡 Potential issues (and possibly evaluation errors)

  • maintained jobset failed.

Build summary

Platform Failed ❌ DependencyFailed ❗ TimedOut ⌛🚫 Unfinished ⏳ Success ✅
aarch64-darwin 🍏 83 49 2 4 6197
aarch64-linux 📱 17 16 2 6365
x86_64-darwin 🍎 72 34 4 3 6230
x86_64-linux 🐧 12 13 2 6408

Maintained Linux packages with build failure

Maintained Linux packages with failed dependency

Maintained Darwin packages with build failure

8 job(s)

Maintained Darwin packages with failed dependency

62 job(s)

Unmaintained packages with build failure

113 job(s)

Unmaintained packages with failed dependency

118 job(s)

Top 50 broken packages, sorted by number of reverse dependencies

50 job(s)

gogol-core ⤴️ 184
haskell98 ⤴️ 152
failure ⤴️ 72
connection ⤴️ 56
enumerator ⤴️ 56
util ⤴️ 49
derive ⤴️ 48
system-fileio ⤴️ 45
web-routes ⤴️ 43
accelerate ⤴️ 42
syb-with-class ⤴️ 42
MonadCatchIO-transformers ⤴️ 41
TypeCompose ⤴️ 41
singletons-base ⤴️ 41
crypto-random ⤴️ 37
PrimitiveArray ⤴️ 35
rank1dynamic ⤴️ 33
dual ⤴️ 32
hsp ⤴️ 32
distributed-static ⤴️ 31
language-ecmascript ⤴️ 31
distributed-process ⤴️ 30
iteratee ⤴️ 29
composite-base ⤴️ 28
polysemy-time ⤴️ 28
polysemy-resume ⤴️ 27
polysemy-conc ⤴️ 26
regexpr ⤴️ 26
crypto-numbers ⤴️ 25
either-unwrap ⤴️ 25
HList ⤴️ 24
polysemy-log ⤴️ 24
web-routes-th ⤴️ 24
Crypto ⤴️ 22
crypto-pubkey ⤴️ 22
haskelldb ⤴️ 22
wxdirect ⤴️ 22
BiobaseTypes ⤴️ 21
alg ⤴️ 21
mmsyn2 ⤴️ 21
userid ⤴️ 21
wxc ⤴️ 21
biocore ⤴️ 20
reform ⤴️ 20
wxcore ⤴️ 20
attoparsec-enumerator ⤴️ 19
bytestring-show ⤴️ 19
cprng-aes ⤴️ 19
fay ⤴️ 19
harp ⤴️ 19

⤴️: The number of packages that depend (directly or indirectly) on this package (if any). If two numbers are shown the first (lower) number considers only packages which currently have enabled hydra jobs, i.e. are not marked broken. The second (higher) number considers all packages.

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

sternenseemann and others added 7 commits April 22, 2024 02:17
This removes (some of) the special casing for git-annex which we need to
replicate using overrides. As a first step, we recreate an equivalent
set of overrides to the former gitAnnexHook, the only difference being
that we use the default installPhase over a custom implementation.

A big flaw of the current expression (which was shared by the previous
iteration) is that they ignore the testFlags argument. Unfortunately, we
can't do that without changing the generic builder implementation.
`make install` also implies install-mans and install-completions.
@sternenseemann
Copy link
Member Author

jsaddle-dom just requires a very simple patch: ghcjs/jsaddle-dom#23 (comment)

sgrb and others added 5 commits April 22, 2024 13:00
We need to set up EM_CACHE correctly so that it works, of course.

Note that the solution relies on the assumption that this should only
happen when we cross compile, i.e. the extra logic to account for the
cc-less stdenv in pkgsCross.ghcjs is only present in crossCabalFlags.

Co-authored-by: sternenseemann <[email protected]>
This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh
@maralorn
Copy link
Member

@thielema, I will restart the tests for comfort-glpk, because I assume this is a rare error. I record it here since you might be interested in it (and I don’t have an account on the source repo plattform):

Numeric.GLPK:147: *** Failed! Falsified (after 44 tests and 2 shrinks):
StorableArray.fromList (Range {rangeFrom = 'a', rangeTo = 'a'}) [-5]
([Inequality 'a' (Between (-105.0) 61.0)],[Inequality [Term (-1.0) 'a'] (Between 5.0 23.0),Inequality [Term (-2.0) 'a'] (LessEqual 23.0),Inequality [Term (-6.0) 'a'] (GreaterEqual 18.0),Inequality [] (Between (-13.0) 21.0),Inequality [] (Between (-19.0) 23.0),Inequality [] (LessEqual 16.0),Inequality [Term (-6.0) 'a'] (Between 12.0 42.0),Inequality [] (LessEqual 7.0),Inequality [Term (-10.0) 'a'] (LessEqual 75.0),Inequality [Term 4.0 'a'] (Between (-20.0) (-13.0)),Inequality [] (Between (-11.0) 8.0),Inequality [] (LessEqual 15.0),Inequality [Term (-8.0) 'a'] (Between 29.0 40.0),Inequality [] (GreaterEqual (-24.0))])
(Minimize,StorableArray.fromList (Range {rangeFrom = 'a', rangeTo = 'a'}) [-2.0])

@maralorn
Copy link
Member

@sternenseemann Thanks for already finding the issue for jsaddle-dom. My packages are good to go.

github-actions bot and others added 10 commits April 24, 2024 00:13
Without the change eval fails as:

    $ nix build --no-link -f. haskell.packages.ghc98.ghc-lib
    error:
       … in the left operand of the update (//) operator
         at pkgs/development/haskell-modules/lib/compose.nix:40:7:
           39|     mkDerivation = drv: (args.mkDerivation drv).override f;
           40|   })) // {
             |       ^
           41|     overrideScope = scope: overrideCabal f (drv.overrideScope scope);

       error: attribute 'ghc-lib_9_8_1_20231121' missing
       at pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix:58:26:
           57|   ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_2;
           58|   ghc-lib = doDistribute self.ghc-lib_9_8_1_20231121;
             |                          ^
           59|   megaparsec = doDistribute self.megaparsec_9_6_1;
Unfortunately the outdated version of optparse-applicative we need to
use hasn't survived the ansi-wl-pprint deprecation…
This commit has been generated by maintainers/scripts/haskell/mark-broken.sh based on
*evaluation [1805927](https://hydra.nixos.org/eval/1805927) of nixpkgs commit [cce32cc](https://github.com/NixOS/nixpkgs/commits/cce32cc804ff793aa153aa3ff3caab9deb1b1d09) as of 2024-04-27 08:42 UTC*
from the haskell-updates jobset on hydra under https://hydra.nixos.org/jobset/nixpkgs/haskell-updates
Should be resolved in the next version released to hackage though!
@sternenseemann sternenseemann merged commit b048cde into master Apr 27, 2024
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants