summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authormaralorn <mail@maralorn.de>2023-09-06 20:05:08 +0200
committerGitHub <noreply@github.com>2023-09-06 20:05:08 +0200
commit0c2090dc71af1eb2262d712b62c09b559f9b6b02 (patch)
tree2c02fdb72c922699f3dc455f117b2944fb9b76b6 /pkgs
parent21fdfeeb7e07414feece33ac12bd90ce66cb1b18 (diff)
parentd215f3eb05223eec2e46948b4cb222e7d7e3ab7b (diff)
downloadnixpkgs-0c2090dc71af1eb2262d712b62c09b559f9b6b02.tar
nixpkgs-0c2090dc71af1eb2262d712b62c09b559f9b6b02.tar.gz
nixpkgs-0c2090dc71af1eb2262d712b62c09b559f9b6b02.tar.bz2
nixpkgs-0c2090dc71af1eb2262d712b62c09b559f9b6b02.tar.lz
nixpkgs-0c2090dc71af1eb2262d712b62c09b559f9b6b02.tar.xz
nixpkgs-0c2090dc71af1eb2262d712b62c09b559f9b6b02.tar.zst
nixpkgs-0c2090dc71af1eb2262d712b62c09b559f9b6b02.zip
Merge pull request #252899 from aidalgol/mailctl-fix
Unbreak mailctl
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml1
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix35
-rw-r--r--pkgs/top-level/all-packages.nix7
-rw-r--r--pkgs/top-level/release-haskell.nix1
5 files changed, 45 insertions, 2 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 79824158847..3411f215615 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -313,6 +313,9 @@ self: super: {
   # defined as >= 3.1  && < 3.2, can be removed once pandoc gets bumped by Stackage.
   patat = super.patat.override { pandoc = self.pandoc_3_1_6_1; };
 
+  # http2 also overridden in all-packages.nix for mailctl.
+  twain = super.twain.override { http2 = self.http2_3_0_3; };
+
   # 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:
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index 1af167f5353..bc319449dc6 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -107,6 +107,7 @@ extra-packages:
   - hspec-discover < 2.8                # 2022-04-07: Needed for tasty-hspec 1.1.6
   - hspec-meta < 2.8                    # 2022-12-07: Needed for elmPackages.elm / hspec-discover
   - hspec-golden == 0.1.*               # 2022-04-07: Needed for elm-format
+  - 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
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 9b563907ebb..d42025b8239 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -160479,6 +160479,41 @@ 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
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b0c86ccddc7..5ffe0d23f00 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2667,8 +2667,11 @@ with pkgs;
 
   mainsail = callPackage ../applications/misc/mainsail { };
 
-  # Does not build with default Haskell version because upstream uses a newer Cabal version.
-  mailctl = haskell.packages.ghc94.callPackage ../tools/networking/mailctl { };
+  mailctl = (haskellPackages.callPackage ../tools/networking/mailctl {}).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;
+  });
 
   mame = libsForQt5.callPackage ../applications/emulators/mame { };
 
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index 1c5615d5dbb..3365032f418 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -316,6 +316,7 @@ let
         lambdabot
         lhs2tex
         madlang
+        mailctl
         matterhorn
         mueval
         naproche