Unverified Commit 1f060355 authored by sternenseemann's avatar sternenseemann Committed by GitHub
Browse files

haskellPackages: update stackage and hackage (#335932)

parents 8dc76029 3b49463a
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
  haskell,
  haskellPackages,
  lib,
  stdenv,
}:
let
  inherit (haskell.lib.compose) overrideCabal justStaticExecutables;
@@ -25,5 +26,7 @@ let
in
lib.pipe raw-pkg [
  (overrideCabal overrides)
  justStaticExecutables
  # FIXME: eliminate all erroneous references on aarch64-darwin manually,
  # see https://github.com/NixOS/nixpkgs/issues/318013
  (if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then lib.id else justStaticExecutables)
]
+4 −4
Original line number Diff line number Diff line
{
  "commit": "32e512a9cd79f962a8023e1c8c1a4db17d9b2fd8",
  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/32e512a9cd79f962a8023e1c8c1a4db17d9b2fd8.tar.gz",
  "sha256": "1wiy2fsz8a1gx6mbzq8ns6wvns6kh2aigxczw0f9q7qbkd22kdil",
  "msg": "Update from Hackage at 2024-07-31T18:11:52Z"
  "commit": "4670ba3f52eae6737137ddcb817182f3daad4f26",
  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/4670ba3f52eae6737137ddcb817182f3daad4f26.tar.gz",
  "sha256": "18q5shdmh12147502135q6132rmzp29qfjhwrcjwidl0pi9ki70i",
  "msg": "Update from Hackage at 2024-08-19T17:17:03Z"
}
+18 −31
Original line number Diff line number Diff line
@@ -27,14 +27,14 @@ self: super: {
    Cabal-syntax = self.Cabal-syntax_3_10_3_0;
  } // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") {
    # Use process core package when possible
    process = self.process_1_6_20_0;
    process = self.process_1_6_22_0;
  }));

  Cabal_3_12_1_0 = doDistribute (super.Cabal_3_12_1_0.override ({
    Cabal-syntax = self.Cabal-syntax_3_12_1_0;
  } // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") {
    # Use process core package when possible
    process = self.process_1_6_20_0;
    process = self.process_1_6_22_0;
  }));

  # hackage-security == 0.6.2.6 has a wider support range in theory, but it only
@@ -52,7 +52,7 @@ self: super: {
      cabalInstallOverlay = cself: csuper:
        {
          hackage-security = self.hackage-security_0_6_2_6;
        } // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.10") {
        } // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.10.2") {
          Cabal = cself.Cabal_3_12_1_0;
          Cabal-syntax = cself.Cabal-syntax_3_12_1_0;
        };
@@ -199,15 +199,10 @@ self: super: {
    ])
  ];

  # https://github.com/mpickering/eventlog2html/pull/187
  eventlog2html = lib.pipe super.eventlog2html [
    doJailbreak
    (appendPatch (fetchpatch {
      name = "blaze-html-compat.patch";
      url = "https://github.com/mpickering/eventlog2html/commit/666aee9ee44c571173a73036b36ad4154c188481.patch";
      sha256 = "sha256-9PLygLEpJ6pAZ31gSWiEMqWxmvElT6Unc/pgr6ULIaw=";
    }))
   ];
  # Version 2.1.1 is deprecated, but part of Stackage LTS at the moment.
  # https://github.com/commercialhaskell/stackage/issues/7500
  # https://github.com/yesodweb/shakespeare/issues/280
  shakespeare = doDistribute self.shakespeare_2_1_0_1;

  # 2023-08-09: Jailbreak because of vector < 0.13
  # 2023-11-09: don't check because of https://github.com/tweag/monad-bayes/pull/326
@@ -409,7 +404,7 @@ self: super: {
      name = "git-annex-${super.git-annex.version}-src";
      url = "git://git-annex.branchable.com/";
      rev = "refs/tags/" + super.git-annex.version;
      sha256 = "1y25ac341d77dkb94qny3h5id2xlpqh9hrjr0s6pp66xghbcvzn4";
      sha256 = "1h0vbz95jgj8c380rpy688frnbwind5c2y3ylaw06l2l3j6gdaq3";
      # delete android and Android directories which cause issues on
      # darwin (case insensitive directory). Since we don't need them
      # during the build process, we can delete it to prevent a hash
@@ -948,22 +943,6 @@ self: super: {
    '';
  }) super.ghc-mod;

  # Apply compatibility patches until a new release arrives
  # https://github.com/phadej/spdx/issues/33
  spdx = appendPatches [
    (fetchpatch {
      name = "spdx-ghc-9.4.patch";
      url = "https://github.com/phadej/spdx/pull/30/commits/545dc69f433225c837375fba4cbbdb7f9cc7b09b.patch";
      sha256 = "0p2h8dxkjy2v0dx7h6v62clmx5n5j3c4zh4myh926fijympi1glz";
    })
    (fetchpatch {
      name = "spdx-ghc-9.6.patch";
      url = "https://github.com/phadej/spdx/pull/32/commits/b51f665e9960614274ff6a9ac658802c1a785687.patch";
      sha256 = "01vf1h0djr84yxsjfhym715ncx0w5q4l02k3dkbmg40pnc62ql4h";
      excludes = [ ".github/**" ];
    })
  ] super.spdx;

  # 2022-03-19: Testsuite is failing: https://github.com/puffnfresh/haskell-jwt/issues/2
  jwt = dontCheck super.jwt;

@@ -1980,6 +1959,9 @@ self: super: {
    "--haddock-option=--optghc=-fno-safe-haskell"
  ] super.alg;

  # Missing test files in 1.8.1.0, fixed in 1.8.1.1
  sequence-formats = dontCheck super.sequence-formats;

  # Windows.normalise changed in filepath >= 1.4.100.4 which fails the equivalency
  # test suite. This is of no great consequence for us, though.
  # Patch solving this has been submitted to upstream by me (@sternenseemann).
@@ -2362,6 +2344,12 @@ self: super: {
    language-docker = self.language-docker_11_0_0;
  };

  # Too strict lower bounds on (test) deps
  # https://github.com/phadej/puresat/issues/6
  puresat = doJailbreak super.puresat;
  # https://github.com/phadej/spdx/issues/62
  spdx = doJailbreak super.spdx;

  # test suite requires stack to run, https://github.com/dino-/photoname/issues/24
  photoname = dontCheck super.photoname;

@@ -2913,7 +2901,6 @@ self: super: {
  # Workaround for Cabal failing to find nonexistent SDL2 library?!
  # https://github.com/NixOS/nixpkgs/issues/260863
  sdl2-gfx = overrideCabal { __propagatePkgConfigDepends = false; } super.sdl2-gfx;
  sdl2-ttf = overrideCabal { __onlyPropagateKnownPkgConfigModules = true; } super.sdl2-ttf;

  # Needs git for compile-time insertion of commit hash into --version string.
  kmonad = overrideCabal (drv: {
@@ -3078,7 +3065,7 @@ self: super: {
    # 2024-08-09: The stackage versions of safe-coloured-text* are old and broken
    safe-coloured-text = unmarkBroken self.safe-coloured-text_0_3_0_2;
    safe-coloured-text-gen = unmarkBroken self.safe-coloured-text-gen_0_0_0_3;
    safe-coloured-text-layout = unmarkBroken self.safe-coloured-text-layout_0_2_0_0;
    safe-coloured-text-layout = unmarkBroken self.safe-coloured-text-layout_0_2_0_1;
    safe-coloured-text-layout-gen = unmarkBroken self.safe-coloured-text-layout-gen_0_0_0_1;
    safe-coloured-text-terminfo = unmarkBroken self.safe-coloured-text-terminfo_0_3_0_0;
  })));
+73 −1
Original line number Diff line number Diff line
{ pkgs, haskellLib }:

with haskellLib;

let
  inherit (pkgs) lib;

@@ -46,7 +48,7 @@ self: super: {
  system-cxx-std-lib = null;
  template-haskell = null;
  # GHC only builds terminfo if it is a native compiler
  terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else haskellLib.doDistribute self.terminfo_0_4_1_6;
  terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else doDistribute self.terminfo_0_4_1_6;
  text = null;
  time = null;
  transformers = null;
@@ -55,4 +57,74 @@ self: super: {

  # https://gitlab.haskell.org/ghc/ghc/-/issues/23392
  gi-gtk = disableParallelBuilding super.gi-gtk;

  #
  # Version upgrades
  #

  # Upgrade to accommodate new core library versions, where the authors have
  # already made the relevant changes.
  aeson = doDistribute self.aeson_2_2_3_0;
  apply-refact = doDistribute self.apply-refact_0_14_0_0;
  attoparsec-aeson = doDistribute self.attoparsec-aeson_2_2_2_0;
  extensions = doDistribute self.extensions_0_1_0_2;
  fourmolu = doDistribute self.fourmolu_0_16_2_0;
  hashable = doDistribute self.hashable_1_4_7_0;
  integer-conversion = doDistribute self.integer-conversion_0_1_1;
  ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_1_20240511;
  ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_10_0_0;
  lens = doDistribute self.lens_5_3_2;
  lukko = doDistribute self.lukko_0_1_2;
  ormolu = doDistribute self.ormolu_0_7_7_0;
  primitive = doDistribute (dontCheck self.primitive_0_9_0_0); # tests introduce a recursive dependency via hspec
  quickcheck-instances = doDistribute self.quickcheck-instances_0_3_31;
  rebase = doDistribute self.rebase_1_21_1;
  rerebase = doDistribute self.rerebase_1_21_1;
  scientific = doDistribute self.scientific_0_3_8_0;
  semirings = doDistribute self.semirings_0_7;
  th-abstraction = doDistribute self.th-abstraction_0_7_0_0;
  uuid-types = doDistribute self.uuid-types_1_0_6;

  # A given major version of ghc-exactprint only supports one version of GHC.
  ghc-exactprint = doDistribute self.ghc-exactprint_1_9_0_0;
  ghc-exactprint_1_9_0_0 = addBuildDepends [
    self.Diff
    self.extra
    self.ghc-paths
    self.silently
    self.syb
    self.HUnit
  ] super.ghc-exactprint_1_9_0_0;

  #
  # Jailbreaks
  #
  base64 = doJailbreak super.base64; # base <4.20
  commutative-semigroups = doJailbreak super.commutative-semigroups; # base <4.20
  floskell = doJailbreak super.floskell; # base <4.20
  lucid = doJailbreak super.lucid; # base <4.20
  tar = doJailbreak super.tar; # base <4.20
  tree-diff = doJailbreak super.tree-diff; # base <4.20
  time-compat = doJailbreak super.time-compat; # base <4.20

  bitvec = doJailbreak super.bitvec; # primitive <0.9

  apply-refact_0_14_0_0 = doJailbreak super.apply-refact_0_14_0_0; # ghc-exactprint <1.9
  retrie = doJailbreak super.retrie; # base <4.20, ghc<9.9, ghc-exactprint<1.9

  hashable_1_4_7_0 = doJailbreak super.hashable_1_4_7_0; # relax bounds for QuickCheck, tasty, and tasty-quickcheck
  hashable_1_5_0_0 = doJailbreak super.hashable_1_5_0_0; # relax bounds for QuickCheck, tasty, and tasty-quickcheck

  #
  # Test suite issues
  #
  call-stack = dontCheck super.call-stack; # expects the package to be named "main", but we generate a name
  lifted-base = dontCheck super.lifted-base; # doesn't compile with transformers ==0.6.*
  lukko_0_1_2 = dontCheck super.lukko_0_1_2; # doesn't compile with tasty ==1.4.*
  resolv = dontCheck super.resolv; # doesn't compile with filepath ==1.5.*
  primitive-unlifted = dontCheck super.primitive-unlifted; # doesn't compile with primitive ==0.9.*

  haskell-language-server = disableCabalFlag "retrie" (disableCabalFlag "hlint" (disableCabalFlag "stylishhaskel" (super.haskell-language-server.override {stylish-haskell = null;retrie = null;apply-refact=null;hlint = null;})));


}
+11 −0
Original line number Diff line number Diff line
@@ -156,6 +156,17 @@ self: super: {
    })];
  }) super.ConfigFile;

  # Compatibility with core libs of GHC 9.6
  # Jailbreak to lift bound on time
  kqueue = doJailbreak (appendPatches [
    (pkgs.fetchpatch {
      name = "kqueue-ghc-9.6.patch";
      url = "https://github.com/hesselink/kqueue/pull/10/commits/a2735e807d761410e776482ec04515d9cf76a7f5.patch";
      sha256 = "18rilz4nrwcmlvll3acjx2lp7s129pviggb8fy3hdb0z34ls5j84";
      excludes = [ ".gitignore" ];
    })
  ] super.kqueue);

  # This runs into the following GHC bug currently affecting 9.6.* and 9.8.* as
  # well as 9.10.1: https://gitlab.haskell.org/ghc/ghc/-/issues/24432
  inherit (lib.mapAttrs (_: overrideCabal (drv: {
Loading