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.
This commit is contained in:
sternenseemann 2024-11-03 12:47:56 +01:00
parent b84e822858
commit 92ce112366
5 changed files with 1 additions and 91 deletions

View File

@ -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)

View File

@ -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:

View File

@ -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.*

View File

@ -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"

View File

@ -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