Unverified Commit c75037bb authored by maralorn's avatar maralorn Committed by GitHub
Browse files

Merge pull request #279413 from NixOS/haskell-updates

haskellPackages: Stackage LTS 21.25 -> 22.7; ghc: 9.4.8 -> 9.6.4
parents ce8e7baf 6d77935a
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ Each of those compiler versions has a corresponding attribute set built using
it. However, the non-standard package sets are not tested regularly and, as a
result, contain fewer working packages. The corresponding package set for GHC
9.4.5 is `haskell.packages.ghc945`. In fact `haskellPackages` is just an alias
for `haskell.packages.ghc927`:
for `haskell.packages.ghc964`:

```console
$ nix-env -f '<nixpkgs>' -qaP -A haskell.packages.ghc927
@@ -1020,6 +1020,11 @@ failing because of e.g. a syntax error in the Haddock documentation.
: Sets `doCheck` to `false` for `drv`. Useful if a package has a broken,
flaky or otherwise problematic test suite breaking the build.

`dontCheckIf condition drv`
: Sets `doCheck` to `false` for `drv`, but only if `condition` applies.
Otherwise it's a no-op. Useful to conditionally disable tests for a package
without interfering with previous overrides or default values.

<!-- Purposefully omitting the non-list variants here. They are a bit
ugly, and we may want to deprecate them at some point. -->

+4 −2
Original line number Diff line number Diff line
@@ -2,8 +2,10 @@
let
  pkgs = import ../../.. {};
  inherit (pkgs) lib;
  getDeps = _: pkg: {
    deps = builtins.filter (x: x != null) (map (x: x.pname or null) (pkg.propagatedBuildInputs or []));
  getDeps = _: pkg: let
    pname = pkg.pname or null;
  in {
    deps = builtins.filter (x: x != null && x != pname) (map (x: x.pname or null) (pkg.propagatedBuildInputs or []));
    broken = (pkg.meta.hydraPlatforms or [null]) == [];
  };
in
+5 −5
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ import Prelude hiding (id)
import Data.List (sortOn)
import Control.Concurrent.Async (concurrently)
import Control.Exception (evaluate)
import qualified Data.IntMap.Strict as IntMap
import qualified Data.IntMap.Lazy as IntMap
import qualified Data.IntSet as IntSet
import Data.Bifunctor (second)
import Data.Data (Proxy)
@@ -299,7 +299,7 @@ calculateReverseDependencies depMap =
   Map.fromDistinctAscList $ zip keys (zip (rdepMap False) (rdepMap True))
 where
    -- This code tries to efficiently invert the dependency map and calculate
    -- its transitive closure by internally identifying every pkg with its index
    -- its transitive closure by internally identifying every pkg with its index
    -- in the package list and then using memoization.
    keys :: [PkgName]
    keys = Map.keys depMap
@@ -317,11 +317,11 @@ calculateReverseDependencies depMap =
    intDeps :: [(Int, (Bool, [Int]))]
    intDeps = zip [0..] (fmap depInfoToIdx depInfos)

    rdepMap onlyUnbroken = IntSet.size <$> resultList
    rdepMap onlyUnbroken = IntSet.size <$> IntMap.elems resultList
     where
       resultList = go <$> [0..]
       resultList = IntMap.fromDistinctAscList [(i, go i) | i <- [0..length keys - 1]]
       oneStepMap = IntMap.fromListWith IntSet.union $ (\(key,(_,deps)) -> (,IntSet.singleton key) <$> deps) <=< filter (\(_, (broken,_)) -> not (broken && onlyUnbroken)) $ intDeps
       go pkg = IntSet.unions (oneStep:((resultList !!) <$> IntSet.toList oneStep))
       go pkg = IntSet.unions (oneStep:((resultList IntMap.!) <$> IntSet.toList oneStep))
        where oneStep = IntMap.findWithDefault mempty pkg oneStepMap

-- | Generate a mapping of Hydra job names to maintainer GitHub handles. Calls
+0 −4
Original line number Diff line number Diff line
@@ -66,10 +66,6 @@ done

HACKAGE2NIX="${HACKAGE2NIX:-hackage2nix}"

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

config_dir=pkgs/development/haskell-modules/configuration-hackage2nix

run_hackage2nix() {
+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ set -eu -o pipefail
# (should be capitalized like the display name)
SOLVER=LTS
# Stackage solver verson, if any. Use latest if empty
VERSION=21
VERSION=
TMP_TEMPLATE=update-stackage.XXXXXXX
readonly SOLVER
readonly VERSION
Loading