Commit 92ce1123 authored by sternenseemann's avatar sternenseemann
Browse files

haskellPackages.twain: build with up to date dependencies

twain 2.2.0.0 means that we can finally stop depending on out of date
versions of http2 and warp.
parent b84e8228
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -15,14 +15,7 @@ let
    passthru.updateScript = ./update.sh;
  };

  raw-pkg = (haskellPackages.callPackage ./generated-package.nix { }).overrideScope (
    final: prev: {
      # Dependency twain requires an older version of http2, and we cannot mix
      # versions of transitive dependencies.
      http2 = final.http2_3_0_3;
      warp = final.warp_3_3_30;
    }
  );
  raw-pkg = haskellPackages.callPackage ./generated-package.nix { };
in
lib.pipe raw-pkg [
  (overrideCabal overrides)
+0 −9
Original line number Diff line number Diff line
@@ -362,15 +362,6 @@ self: super: {
  ]
    super.threadscope);

  # http2 also overridden in all-packages.nix for mailctl.
  # twain is currently only used by mailctl, so the .overrideScope shouldn't
  # negatively affect any other packages, at least currently...
  # https://github.com/alexmingoia/twain/issues/5
  twain = super.twain.overrideScope (self: _: {
    http2 = self.http2_3_0_3;
    warp = self.warp_3_3_30;
  });

  # The latest release on hackage has an upper bound on containers which
  # breaks the build, though it works with the version of containers present
  # and the upper bound doesn't exist in code anymore:
+0 −2
Original line number Diff line number Diff line
@@ -73,7 +73,6 @@ extra-packages:
  - hspec-discover < 2.8                # 2022-04-07: Needed for tasty-hspec 1.1.6
  - hspec-megaparsec == 2.2.0           # 2023-11-18: Latest version compatible with ghc 9.0, needed for HLS
  - hspec-meta < 2.8                    # 2022-12-07: Needed for elmPackages.elm / hspec-discover
  - http2 < 3.3                         # 2023-08-24: Needed for twain <https://github.com/alexmingoia/twain/issues/5>
  - immortal == 0.2.2.1                 # required by Hasura 1.3.1, 2020-08-20
  - language-docker == 11.0.0           # required by hadolint 2.12.0, 2022-11-16
  - language-javascript == 0.7.0.0      # required by purescript
@@ -90,7 +89,6 @@ extra-packages:
  - primitive-unlifted == 0.1.3.1       # 2024-03-16: Needed for hls on ghc 9.2
  - stylish-haskell == 0.14.4.0         # 2022-09-19: needed for hls on ghc 9.2
  - text == 2.0.2                       # 2023-09-14: Needed for elm (which is currently on ghc-8.10)
  - warp < 3.3.31                       # 2024-03-20: for twain, which requires http2 3.0.3
  - weeder == 2.2.*                     # 2022-02-21: preserve for GHC 8.10.7
  - weeder == 2.3.*                     # 2022-05-31: preserve for GHC 9.0.2
  - weeder == 2.4.*                     # 2023-02-02: preserve for GHC 9.2.*
+0 −1
Original line number Diff line number Diff line
@@ -410,7 +410,6 @@ self: super: builtins.intersectAttrs super {

  # The curl executable is required for withApplication tests.
  warp = addTestToolDepend pkgs.curl super.warp;
  warp_3_3_30 = addTestToolDepend pkgs.curl super.warp_3_3_30;

  safe-exceptions = overrideCabal (drv: {
    # Fix strictDeps build error "could not execute: hspec-discover"
+0 −71
Original line number Diff line number Diff line
@@ -167967,41 +167967,6 @@ self: {
       broken = true;
     }) {};
  "http2_3_0_3" = callPackage
    ({ mkDerivation, aeson, aeson-pretty, array, async, base
     , base16-bytestring, bytestring, case-insensitive, containers
     , cryptonite, directory, filepath, gauge, Glob, heaps, hspec
     , hspec-discover, http-types, mwc-random, network
     , network-byte-order, network-run, psqueues, stm, text
     , time-manager, typed-process, unix-time, unordered-containers
     , vector
     }:
     mkDerivation {
       pname = "http2";
       version = "3.0.3";
       sha256 = "1kv99i3pnnx31xndlkaczrpd2j5mvzbqlfz1kaw6cwlwkdnl5bhv";
       isLibrary = true;
       isExecutable = true;
       libraryHaskellDepends = [
         array async base bytestring case-insensitive containers http-types
         network network-byte-order psqueues stm time-manager unix-time
       ];
       testHaskellDepends = [
         aeson aeson-pretty async base base16-bytestring bytestring
         cryptonite directory filepath Glob hspec http-types network
         network-byte-order network-run text typed-process
         unordered-containers vector
       ];
       testToolDepends = [ hspec-discover ];
       benchmarkHaskellDepends = [
         array base bytestring case-insensitive containers gauge heaps
         mwc-random network-byte-order psqueues stm
       ];
       description = "HTTP/2 library";
       license = lib.licenses.bsd3;
       hydraPlatforms = lib.platforms.none;
     }) {};
  "http2" = callPackage
    ({ mkDerivation, aeson, aeson-pretty, array, async, base
     , base16-bytestring, bytestring, case-insensitive, containers
@@ -330807,42 +330772,6 @@ self: {
       broken = true;
     }) {};
  "warp_3_3_30" = callPackage
    ({ mkDerivation, array, auto-update, base, bsb-http-chunked
     , bytestring, case-insensitive, containers, crypton-x509, directory
     , gauge, ghc-prim, hashable, hspec, hspec-discover, http-client
     , http-date, http-types, http2, iproute, network, process
     , QuickCheck, recv, simple-sendfile, stm, streaming-commons, text
     , time-manager, unix, unliftio, vault, wai, word8
     }:
     mkDerivation {
       pname = "warp";
       version = "3.3.30";
       sha256 = "1i5fnvc9n7w013asj7ckpfb59ybbvhif4d6f4g5jwwad50jmlbpg";
       libraryHaskellDepends = [
         array auto-update base bsb-http-chunked bytestring case-insensitive
         containers crypton-x509 ghc-prim hashable http-date http-types
         http2 iproute network recv simple-sendfile stm streaming-commons
         text time-manager unix unliftio vault wai word8
       ];
       testHaskellDepends = [
         array auto-update base bsb-http-chunked bytestring case-insensitive
         containers crypton-x509 directory ghc-prim hashable hspec
         http-client http-date http-types http2 iproute network process
         QuickCheck recv simple-sendfile stm streaming-commons text
         time-manager unix unliftio vault wai word8
       ];
       testToolDepends = [ hspec-discover ];
       benchmarkHaskellDepends = [
         auto-update base bytestring containers crypton-x509 gauge hashable
         http-date http-types network recv time-manager unix unliftio
       ];
       description = "A fast, light-weight web server for WAI applications";
       license = lib.licenses.mit;
       hydraPlatforms = lib.platforms.none;
       maintainers = [ lib.maintainers.alexfmpe ];
     }) {};
  "warp" = callPackage
    ({ mkDerivation, array, auto-update, base, bsb-http-chunked
     , bytestring, case-insensitive, containers, crypton-x509, directory