nixpkgs/pkgs/development/haskell-modules/patches/hnix-ref-tf-0.5-support.patch
sternenseemann 20020d3ec8 haskellPackages.hnix: unbreak
The mystery build failure was caused by having the same instance as an
orphan and imported from ref-tf 0.5 (why ever that doesn't warrant a
logged error message…). The solution for this is
https://github.com/haskell-nix/hnix/pull/918, which sadly doesn't apply
cleanly on the hnix 0.12.0.1 tarball. Therefore I've backported the
patch until hnix hopefully gets a new hackage release soon.
2021-05-05 12:55:29 +02:00

35 lines
1.2 KiB
Diff

diff '--color=auto' '--color=never' -r --unified hnix-0.12.0.1/hnix.cabal hnix-patched/hnix.cabal
--- hnix-0.12.0.1/hnix.cabal 2001-09-09 03:46:40.000000000 +0200
+++ hnix-patched/hnix.cabal 2021-05-05 12:07:38.388267353 +0200
@@ -430,7 +430,7 @@
, parser-combinators >= 1.0.1 && < 1.3
, prettyprinter >= 1.7.0 && < 1.8
, process >= 1.6.3 && < 1.7
- , ref-tf >= 0.4.0 && < 0.5
+ , ref-tf >= 0.5
, regex-tdfa >= 1.2.3 && < 1.4
, scientific >= 0.3.6 && < 0.4
, semialign >= 1 && < 1.2
diff '--color=auto' '--color=never' -r --unified hnix-0.12.0.1/src/Nix/Fresh.hs hnix-patched/src/Nix/Fresh.hs
--- hnix-0.12.0.1/src/Nix/Fresh.hs 2001-09-09 03:46:40.000000000 +0200
+++ hnix-patched/src/Nix/Fresh.hs 2021-05-05 12:07:45.841267497 +0200
@@ -65,18 +65,3 @@
runFreshIdT :: Functor m => Var m i -> FreshIdT i m a -> m a
runFreshIdT i m = runReaderT (unFreshIdT m) i
-
--- Orphan instance needed by Infer.hs and Lint.hs
-
--- Since there's no forking, it's automatically atomic.
-instance MonadAtomicRef (ST s) where
- atomicModifyRef r f = do
- v <- readRef r
- let (a, b) = f v
- writeRef r a
- return b
- atomicModifyRef' r f = do
- v <- readRef r
- let (a, b) = f v
- writeRef r $! a
- return b