about summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2024-01-15 15:33:37 +0100
committersternenseemann <sternenseemann@systemli.org>2024-01-16 21:14:57 +0100
commitbbf7b3af60a6b98df3ba625a845a7bf8d1932a58 (patch)
tree802bcaec75102988db427d8e6c554eca679e6e19 /pkgs/development/haskell-modules
parente0c9a6db2afc134f27bf152ce352163bb59aed16 (diff)
downloadnixlib-bbf7b3af60a6b98df3ba625a845a7bf8d1932a58.tar
nixlib-bbf7b3af60a6b98df3ba625a845a7bf8d1932a58.tar.gz
nixlib-bbf7b3af60a6b98df3ba625a845a7bf8d1932a58.tar.bz2
nixlib-bbf7b3af60a6b98df3ba625a845a7bf8d1932a58.tar.lz
nixlib-bbf7b3af60a6b98df3ba625a845a7bf8d1932a58.tar.xz
nixlib-bbf7b3af60a6b98df3ba625a845a7bf8d1932a58.tar.zst
nixlib-bbf7b3af60a6b98df3ba625a845a7bf8d1932a58.zip
matterhorn: 50200.19.0 -> unstable-2024-01-11
haskellPackages.mattermost-api: 50200.19.0 -> unstable-2024-01-11

Unfortunately, it is a bit of a nightmare to get matterhorn to work with
Stackage LTS 22 without picking so much from its development branch that
it can no longer be called patching…

Luckily this is relatively unproblematic, also in the case of
mattermost-api, since the packages form a unit that nothing else really
depends on. There is a regression in matterhorn regarding stty handling
compared to the stable release, though:
https://github.com/matterhorn-chat/matterhorn/commit/2ede0d6f714ba408587bf265c4b418b21b0d051f
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix48
1 files changed, 43 insertions, 5 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 1d5284e4ff31..8c1c24dc3165 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -533,11 +533,49 @@ self: super: {
   # 2023-04-20: Restrictive bytestring bound in tests.
   storablevector = doJailbreak super.storablevector;
 
-  # 2023-04-20: Pretends to need brick 1.6 but the commit history here
-  # https://github.com/matterhorn-chat/matterhorn/commits/master/matterhorn.cabal
-  # makes very clear that 1.4 is equally fine.
-  # Generally a slightly packaging hostile bound practice.
-  matterhorn = doJailbreak super.matterhorn;
+  # Need following changes from develop branch:
+  # - crypton-connection over connection (abandoned)
+  # - vty >= 6 (& pals) support
+  # Unreasonably difficult to apply as patches
+  matterhorn = lib.pipe
+    (super.matterhorn.override {
+        connection = self.crypton-connection;
+    })
+    [
+      doJailbreak
+      # vty >= 6 support
+      (addBuildDepends [ self.vty-crossplatform ])
+      (overrideSrc {
+        version = "unstable-2024-01-11";
+        src = pkgs.fetchFromGitHub {
+          owner = "matterhorn-chat";
+          repo = "matterhorn";
+          rev = lib.warnIf
+            (super.matterhorn.version != "50200.19.0")
+            "matterhorn on Hackage may have caught up with our pinned commit"
+            "66d23291a1c748e568908b91b1109ed17b6d86e9";
+          sha256 = "0djawpp0zvvc2v020k6p4chvd1dlmcs0fa3d4wlr0cmkha40flpb";
+        };
+      })
+    ];
+  # Switch to crypton-connection over abandoned connection
+  # To add insult to injury, mattermost-api had a breaking change on its develop
+  # branch, so we also need to bump it to an unstable commit. Luckily, matterhorn
+  # is its only consumer on Hackage.
+  mattermost-api = overrideSrc {
+    version = lib.warnIf
+      (super.mattermost-api.version != "50200.15.0")
+      "mattermost-api on Hackage may have caught up with our pinned commit"
+      "unstable-2024-01-11";
+    src = pkgs.fetchFromGitHub {
+      owner = "matterhorn-chat";
+      repo = "mattermost-api";
+      rev = "8df809df4d96930cf8b39d0d8f54cdb6d8f42b59";
+      sha256 = "154p4yi941l9ga2c3vw8yhgq0g1wn4jhmg3yhzgwgca1c5d1vydi";
+    };
+  } (super.mattermost-api.override {
+    connection = self.crypton-connection;
+  });
 
   # Too strict bounds on transformers and resourcet
   # https://github.com/alphaHeavy/lzma-conduit/issues/23