about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/haskell-modules/patches/hnix-compat-for-ghc-9.4.patch
blob: c7322dfa313904e4c132fa31f4723b1236d04d6d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
From daae423d339e820e3fe8c720bd568cc49eae3fde Mon Sep 17 00:00:00 2001
From: Rodney Lorrimar <dev@rodney.id.au>
Date: Tue, 25 Jul 2023 16:46:36 +0800
Subject: [PATCH] GHC 9.4 compatibility

This is commit b89eed9 from haskell-nix/hnix master branch,
backported to 0.16.

The patch should be removed once hnix-0.17 is released.

---
 src/Nix/Fresh.hs | 2 +-
 src/Nix/Lint.hs  | 2 +-
 src/Nix/Utils.hs | 2 +-
 src/Nix/Value.hs | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/Nix/Fresh.hs b/src/Nix/Fresh.hs
index fdd20c4a..4b55de4e 100644
--- a/src/Nix/Fresh.hs
+++ b/src/Nix/Fresh.hs
@@ -14,7 +14,7 @@ import           Control.Monad.Catch  ( MonadCatch
                                       , MonadMask
                                       , MonadThrow
                                       )
-import           Control.Monad.Except ( MonadFix )
+import           Control.Monad.Fix    ( MonadFix )
 import           Control.Monad.Ref    ( MonadAtomicRef(..)
                                       , MonadRef(Ref)
                                       )
diff --git a/src/Nix/Lint.hs b/src/Nix/Lint.hs
index 2c207c91..3da8c298 100644
--- a/src/Nix/Lint.hs
+++ b/src/Nix/Lint.hs
@@ -498,7 +498,7 @@ instance MonadThrow (Lint s) where
   throwM e = Lint $ ReaderT $ const (throw e)
 
 instance MonadCatch (Lint s) where
-  catch _m _h = Lint $ ReaderT $ const (fail "Cannot catch in 'Lint s'")
+  catch _m _h = Lint $ ReaderT $ const (error "Cannot catch in 'Lint s'")
 
 runLintM :: Options -> Lint s a -> ST s a
 runLintM opts action =
diff --git a/src/Nix/Utils.hs b/src/Nix/Utils.hs
index 8f53b3a7..af370c21 100644
--- a/src/Nix/Utils.hs
+++ b/src/Nix/Utils.hs
@@ -67,6 +67,7 @@ import           Relude                  hiding ( pass
 import           Data.Binary                    ( Binary )
 import           Data.Data                      ( Data )
 import           Codec.Serialise                ( Serialise )
+import           Control.Monad                  ( foldM )
 import           Control.Monad.Fix              ( MonadFix(..) )
 import           Control.Monad.Free             ( Free(..) )
 import           Control.Monad.Trans.Control    ( MonadTransControl(..) )
@@ -84,7 +85,6 @@ import           Lens.Family2.Stock             ( _1
                                                 , _2
                                                 )
 import qualified System.FilePath              as FilePath
-import Control.Monad.List (foldM)
 
 #if ENABLE_TRACING
 import qualified Relude.Debug                 as X
diff --git a/src/Nix/Value.hs b/src/Nix/Value.hs
index aafdc25a..28b9508c 100644
--- a/src/Nix/Value.hs
+++ b/src/Nix/Value.hs
@@ -554,7 +554,7 @@ liftNValue
   => (forall x . u m x -> m x)
   -> NValue t f m
   -> NValue t f (u m)
-liftNValue = (`hoistNValue` lift)
+liftNValue f = hoistNValue f lift
 
 
 -- *** MonadTransUnlift
-- 
2.40.1