From bbf7b3af60a6b98df3ba625a845a7bf8d1932a58 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Mon, 15 Jan 2024 15:33:37 +0100 Subject: [PATCH] matterhorn: 50200.19.0 -> unstable-2024-01-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .../haskell-modules/configuration-common.nix | 48 +++++++++++++++++-- 1 file 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