on iko/ghcjs-patch-master help sign in
better patches
commit84bcfd77a3b27a166a1410f0b51ec7d836ed6f90 authorMoritz Angermann <moritz.angermann@gmail.com> dateFri 18 Jan 2019, 14:40 (8 years ago) parente1355ca
71 files changed+1728−4002
default.nix+3−1 patches/ghc841/array-0.5.2.0.patch−12 patches/ghc841/deepseq-1.4.3.0.patch−12 patches/ghc841/default.nix−12 patches/ghc841/hpc-0.6.0.3.patch−16 patches/ghc841/mtl-2.2.2.patch−256 patches/ghc841/parallel-3.2.1.1.patch−12 patches/ghc841/parsec-3.1.13.0.patch−23 patches/ghc841/random-1.1.patch−406 patches/ghc841/time-1.8.0.2.patch−146 patches/ghc841/unix-2.7.2.2.patch−109 patches/ghc841/vector-0.11.0.0.patch−508 patches/ghc841/xhtml-3000.2.2.patch−20 patches/ghc842/array-0.5.2.0.patch−12 patches/ghc842/deepseq-1.4.3.0.patch−12 patches/ghc842/default.nix−10 patches/ghc842/hpc-0.6.0.3.patch−16 patches/ghc842/parallel-3.2.1.1.patch−12 patches/ghc842/parsec-3.1.13.0.patch−23 patches/ghc842/random-1.1.patch−406 patches/ghc842/time-1.8.0.2.patch−146 patches/ghc842/unix-2.7.2.2.patch−109 patches/ghc842/vector-0.11.0.0.patch−508 patches/ghc843/array-0.5.2.0.patch+5−4 patches/ghc843/deepseq-1.4.3.0.patch+5−4 patches/ghc843/default.nix−1 patches/ghc843/hpc-0.6.0.3.patch+5−4 patches/ghc843/parallel-3.2.1.1.patch+5−4 patches/ghc843/parsec-3.1.13.0.patch+6−5 patches/ghc843/random-1.1.patch+35−31 patches/ghc843/time-1.8.0.2.patch+20−18 patches/ghc843/unix-2.7.2.2.patch+19−17 patches/ghc843/vector-0.11.0.0.patch+208−190 patches/ghc844/array-0.5.2.0.patch+5−4 patches/ghc844/deepseq-1.4.3.0.patch+5−4 patches/ghc844/default.nix−1 patches/ghc844/hpc-0.6.0.3.patch+5−4 patches/ghc844/parallel-3.2.1.1.patch+5−4 patches/ghc844/parsec-3.1.13.0.patch+6−5 patches/ghc844/random-1.1.patch+35−31 patches/ghc844/time-1.8.0.2.patch+20−18 patches/ghc844/unix-2.7.2.2.patch+19−17 patches/ghc844/vector-0.11.0.0.patch+208−190 patches/ghc861/array-0.5.2.0.patch+53−47 patches/ghc861/binary-0.8.6.0.patch+6−5 patches/ghc861/containers-0.6.0.1.patch+117−1 patches/ghc861/default.nix−1 patches/ghc861/hpc-0.6.0.3.patch+5−4 patches/ghc861/parsec-3.1.13.0.patch+6−5 patches/ghc861/process-1.6.3.0.patch+59−53 patches/ghc861/time-1.8.0.2.patch+20−18 patches/ghc861/transformers-0.5.5.0.patch+120−100 patches/ghc861/unix-2.7.2.2.patch+19−17 patches/ghc862/binary-0.8.6.0.patch+6−5 patches/ghc862/containers-0.6.0.1.patch+117−1 patches/ghc862/default.nix−1 patches/ghc862/hpc-0.6.0.3.patch+5−4 patches/ghc862/parsec-3.1.13.0.patch+6−5 patches/ghc862/process-1.6.3.0.patch+59−53 patches/ghc862/time-1.8.0.2.patch+20−18 patches/ghc862/transformers-0.5.5.0.patch+120−100 patches/ghc862/unix-2.7.2.2.patch+19−17 patches/ghc863/binary-0.8.6.0.patch+6−5 patches/ghc863/containers-0.6.0.1.patch+117−1 patches/ghc863/default.nix−1 patches/ghc863/hpc-0.6.0.3.patch+5−4 patches/ghc863/parsec-3.1.13.0.patch+6−5 patches/ghc863/process-1.6.3.0.patch+59−53 patches/ghc863/time-1.8.0.2.patch+20−18 patches/ghc863/transformers-0.5.5.0.patch+120−100 patches/ghc863/unix-2.7.2.2.patch+19−17
default.nix+3−1
@@ -5,7 +5,9 @@ let
55 # up much later on hackage; but are not installable
66 # anyway. Therefore we just strip them out of the
77 # pkg-def's packages.
8− boot-pkgs = [ "rts" "ghc" "ghci" "ghc-boot" "ghc-boot-th" ];
8+ boot-pkgs = [ "rts" "ghc" "ghci" "ghc-boot" "ghc-boot-th"
9+ "ghc-heap" # since ghc 8.6.
10+ ];
911 strip-pkg-def = pkgs: pkg-def: hackage: with pkgs.lib;
1012 mapAttrs (k: v: if k == "packages"
1113 then filterAttrs (k: _: !(builtins.elem k boot-pkgs)) v
patches/ghc841/array-0.5.2.0.patchdeleted−12
@@ -1,12 +0,0 @@
1−diff -ur hackage-package-array-0.5.2.0/array.cabal ghc-package-array-0.5.2.0/array.cabal
2−--- hackage-package-array-0.5.2.0/array.cabal 2017-07-04 06:06:07.000000000 +0800
3−+++ ghc-package-array-0.5.2.0/array.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -37,7 +37,7 @@
5− Trustworthy,
6− UnboxedTuples,
7− UnliftedFFITypes
8−- build-depends: base >= 4.7 && < 4.11
9−+ build-depends: base >= 4.7 && < 4.12
10− ghc-options: -Wall
11− exposed-modules:
12− Data.Array
patches/ghc841/deepseq-1.4.3.0.patchdeleted−12
@@ -1,12 +0,0 @@
1−diff -ur hackage-package-deepseq-1.4.3.0/deepseq.cabal ghc-package-deepseq-1.4.3.0/deepseq.cabal
2−--- hackage-package-deepseq-1.4.3.0/deepseq.cabal 2017-07-20 06:00:58.000000000 +0800
3−+++ ghc-package-deepseq-1.4.3.0/deepseq.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -61,7 +61,7 @@
5− if impl(ghc>=7.8)
6− other-extensions: EmptyCase
7−
8−- build-depends: base >= 4.5 && < 4.11,
9−+ build-depends: base >= 4.5 && < 4.12,
10− array >= 0.4 && < 0.6
11− ghc-options: -Wall
12−
patches/ghc841/default.nix−12
@@ -1,14 +1,2 @@
11{
2− packages.array.patches = [ ./array-0.5.2.0.patch ];
3− packages.deepseq.patches = [ ./deepseq-1.4.3.0.patch ];
4− packages.default.nix.patches = [ ./default.nix ];
5− packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
6− packages.mtl.patches = [ ./mtl-2.2.2.patch ];
7− packages.parallel.patches = [ ./parallel-3.2.1.1.patch ];
8− packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
9− packages.random.patches = [ ./random-1.1.patch ];
10− packages.time.patches = [ ./time-1.8.0.2.patch ];
11− packages.unix.patches = [ ./unix-2.7.2.2.patch ];
12− packages.vector.patches = [ ./vector-0.11.0.0.patch ];
13− packages.xhtml.patches = [ ./xhtml-3000.2.2.patch ];
142}
patches/ghc841/hpc-0.6.0.3.patchdeleted−16
@@ -1,16 +0,0 @@
1−diff -ur hackage-package-hpc-0.6.0.3/hpc.cabal ghc-package-hpc-0.6.0.3/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -35,9 +35,9 @@
5− Trace.Hpc.Reflect
6−
7− Build-Depends:
8−- base >= 4.4.1 && < 4.10,
9−+ base >= 4.4.1 && < 4.12,
10− containers >= 0.4.1 && < 0.6,
11−- directory >= 1.1 && < 1.3,
12−+ directory >= 1.1 && < 1.4,
13− filepath >= 1 && < 1.5,
14−- time >= 1.2 && < 1.7
15−+ time >= 1.2 && < 1.9
16− ghc-options: -Wall
patches/ghc841/mtl-2.2.2.patchdeleted−256
@@ -1,256 +0,0 @@
1−diff -ur hackage-package-mtl-2.2.2/CHANGELOG.markdown ghc-package-mtl-2.2.2/CHANGELOG.markdown
2−--- hackage-package-mtl-2.2.2/CHANGELOG.markdown 2018-02-25 06:02:27.000000000 +0800
3−+++ ghc-package-mtl-2.2.2/CHANGELOG.markdown 2001-09-09 09:46:40.000000000 +0800
4−@@ -3,10 +3,6 @@
5− * `Control.Monad.Identity` now re-exports `Control.Monad.Trans.Identity`
6− * Fix a bug in which `Control.Monad.State.Class.modify'` was not as strict in
7− the new state as its counterparts in `transformers`
8−-* Add a `MonadError () Maybe` instance
9−-* Add `liftEither :: MonadError e m => Either e a -> m a` to
10−- `Control.Monad.Except{.Class}`
11−-* Add a `MonadWriter w ((,) w)` instance (when built against `base-4.9` or later)
12−
13− 2.2.1
14− -------
15−diff -ur hackage-package-mtl-2.2.2/Control/Monad/Cont/Class.hs ghc-package-mtl-2.2.2/Control/Monad/Cont/Class.hs
16−--- hackage-package-mtl-2.2.2/Control/Monad/Cont/Class.hs 2018-02-25 06:02:27.000000000 +0800
17−+++ ghc-package-mtl-2.2.2/Control/Monad/Cont/Class.hs 2001-09-09 09:46:40.000000000 +0800
18−@@ -104,7 +104,6 @@
19− instance (Error e, MonadCont m) => MonadCont (ErrorT e m) where
20− callCC = Error.liftCallCC callCC
21−
22−-{- | @since 2.2 -}
23− instance MonadCont m => MonadCont (ExceptT e m) where
24− callCC = Except.liftCallCC callCC
25−
26−diff -ur hackage-package-mtl-2.2.2/Control/Monad/Error/Class.hs ghc-package-mtl-2.2.2/Control/Monad/Error/Class.hs
27−--- hackage-package-mtl-2.2.2/Control/Monad/Error/Class.hs 2018-02-25 06:02:27.000000000 +0800
28−+++ ghc-package-mtl-2.2.2/Control/Monad/Error/Class.hs 2001-09-09 09:46:40.000000000 +0800
29−@@ -41,7 +41,6 @@
30− module Control.Monad.Error.Class (
31− Error(..),
32− MonadError(..),
33−- liftEither,
34− ) where
35−
36− import Control.Monad.Trans.Except (Except, ExceptT)
37−@@ -68,7 +67,7 @@
38− #endif
39−
40− import Data.Monoid
41−-import Prelude (Either(..), Maybe(..), either, (.), IO)
42−+import Prelude (Either(..), (.), IO)
43−
44− {- |
45− The strategy of combining computations that can throw exceptions
46−@@ -77,7 +76,7 @@
47−
48− Is parameterized over the type of error information and
49− the monad type constructor.
50−-It is common to use @'Either' String@ as the monad type constructor
51−+It is common to use @'Data.Either' String@ as the monad type constructor
52− for an error monad in which error descriptions take the form of strings.
53− In that case and many other common cases the resulting monad is already defined
54− as an instance of the 'MonadError' class.
55−@@ -106,28 +105,10 @@
56− {-# MINIMAL throwError, catchError #-}
57− #endif
58−
59−-{- |
60−-Lifts an @'Either' e@ into any @'MonadError' e@.
61−-
62−-> do { val <- liftEither =<< action1; action2 }
63−-
64−-where @action1@ returns an 'Either' to represent errors.
65−-
66−-@since 2.2.2
67−--}
68−-liftEither :: MonadError e m => Either e a -> m a
69−-liftEither = either throwError return
70−-
71− instance MonadError IOException IO where
72− throwError = ioError
73− catchError = catch
74−
75−-{- | @since 2.2.2 -}
76−-instance MonadError () Maybe where
77−- throwError () = Nothing
78−- catchError Nothing f = f ()
79−- catchError x _ = x
80−-
81− -- ---------------------------------------------------------------------------
82− -- Our parameterizable error monad
83−
84−@@ -140,7 +121,6 @@
85− throwError = ErrorT.throwError
86− catchError = ErrorT.catchError
87−
88−-{- | @since 2.2 -}
89− instance Monad m => MonadError e (ExceptT e m) where
90− throwError = ExceptT.throwE
91− catchError = ExceptT.catchE
92−diff -ur hackage-package-mtl-2.2.2/Control/Monad/Error.hs ghc-package-mtl-2.2.2/Control/Monad/Error.hs
93−--- hackage-package-mtl-2.2.2/Control/Monad/Error.hs 2018-02-25 06:02:27.000000000 +0800
94−+++ ghc-package-mtl-2.2.2/Control/Monad/Error.hs 2001-09-09 09:46:40.000000000 +0800
95−@@ -22,7 +22,7 @@
96− [Zero and plus:] Zero is represented by an empty error and the plus operation
97− executes its second argument if the first fails.
98−
99−-[Example type:] @'Either' String a@
100−+[Example type:] @'Data.Either' String a@
101−
102− The Error monad (also called the Exception monad).
103− -}
104−@@ -33,7 +33,7 @@
105− Andy Gill (<http://web.cecs.pdx.edu/~andy/>)
106− -}
107− module Control.Monad.Error
108−- {-# DEPRECATED "Use \"Control.Monad.Except\" instead" #-} (
109−+ {-# DEPRECATED "Use Control.Monad.Except instead" #-} (
110− -- * Monads with error handling
111− MonadError(..),
112− Error(..),
113−diff -ur hackage-package-mtl-2.2.2/Control/Monad/Except.hs ghc-package-mtl-2.2.2/Control/Monad/Except.hs
114−--- hackage-package-mtl-2.2.2/Control/Monad/Except.hs 2018-02-25 06:02:27.000000000 +0800
115−+++ ghc-package-mtl-2.2.2/Control/Monad/Except.hs 2001-09-09 09:46:40.000000000 +0800
116−@@ -19,11 +19,9 @@
117− [Useful for:] Building computations from sequences of functions that may fail
118− or using exception handling to structure error handling.
119−
120−-[Example type:] @'Either' String a@
121−+[Example type:] @'Data.Either' String a@
122−
123− The Error monad (also called the Exception monad).
124−-
125−-@since 2.2.1
126− -}
127−
128− {-
129−@@ -33,11 +31,8 @@
130− -}
131− module Control.Monad.Except
132− (
133−- -- * Warning
134−- -- $warning
135− -- * Monads with error handling
136− MonadError(..),
137−- liftEither,
138− -- * The ExceptT monad transformer
139− ExceptT(ExceptT),
140− Except,
141−@@ -75,18 +70,6 @@
142− import Control.Monad.Instances ()
143− #endif
144−
145−-{- $warning
146−-Please do not confuse 'ExceptT' and 'throwError' with 'Control.Exception.Exception' /
147−-'Control.Exception.SomeException' and 'Control.Exception.catch', respectively. The latter
148−-are for exceptions built into GHC, by default, and are mostly used from within the IO monad.
149−-They do not interact with the \"exceptions\" in this package at all. This package allows you
150−-to define a new kind of exception control mechanism which does not necessarily need your code to
151−-be placed in the IO monad.
152−-
153−-In short, all \"catching\" mechanisms in this library will be unable to catch exceptions thrown
154−-by functions in the "Control.Exception" module, and vice-versa.
155−--}
156−-
157− {- $customErrorExample
158− Here is an example that demonstrates the use of a custom error data type with
159− the 'throwError' and 'catchError' exception mechanism from 'MonadError'.
160−diff -ur hackage-package-mtl-2.2.2/Control/Monad/RWS/Class.hs ghc-package-mtl-2.2.2/Control/Monad/RWS/Class.hs
161−--- hackage-package-mtl-2.2.2/Control/Monad/RWS/Class.hs 2018-02-25 06:02:27.000000000 +0800
162−+++ ghc-package-mtl-2.2.2/Control/Monad/RWS/Class.hs 2001-09-09 09:46:40.000000000 +0800
163−@@ -57,7 +57,6 @@
164− -- All of these instances need UndecidableInstances,
165− -- because they do not satisfy the coverage condition.
166−
167−--- | @since 2.2
168− instance MonadRWS r w s m => MonadRWS r w s (ExceptT e m)
169− instance (Error e, MonadRWS r w s m) => MonadRWS r w s (ErrorT e m)
170− instance MonadRWS r w s m => MonadRWS r w s (IdentityT m)
171−diff -ur hackage-package-mtl-2.2.2/Control/Monad/Reader/Class.hs ghc-package-mtl-2.2.2/Control/Monad/Reader/Class.hs
172−--- hackage-package-mtl-2.2.2/Control/Monad/Reader/Class.hs 2018-02-25 06:02:27.000000000 +0800
173−+++ ghc-package-mtl-2.2.2/Control/Monad/Reader/Class.hs 2001-09-09 09:46:40.000000000 +0800
174−@@ -137,7 +137,6 @@
175− local = mapErrorT . local
176− reader = lift . reader
177−
178−-{- | @since 2.2 -}
179− instance MonadReader r m => MonadReader r (ExceptT e m) where
180− ask = lift ask
181− local = mapExceptT . local
182−diff -ur hackage-package-mtl-2.2.2/Control/Monad/State/Class.hs ghc-package-mtl-2.2.2/Control/Monad/State/Class.hs
183−--- hackage-package-mtl-2.2.2/Control/Monad/State/Class.hs 2018-02-25 06:02:27.000000000 +0800
184−+++ ghc-package-mtl-2.2.2/Control/Monad/State/Class.hs 2001-09-09 09:46:40.000000000 +0800
185−@@ -89,8 +89,6 @@
186−
187− -- | A variant of 'modify' in which the computation is strict in the
188− -- new state.
189−---
190−--- @since 2.2
191− modify' :: MonadState s m => (s -> s) -> m ()
192− modify' f = do
193− s' <- get
194−@@ -139,7 +137,6 @@
195− put = lift . put
196− state = lift . state
197−
198−--- | @since 2.2
199− instance MonadState s m => MonadState s (ExceptT e m) where
200− get = lift get
201− put = lift . put
202−diff -ur hackage-package-mtl-2.2.2/Control/Monad/Writer/Class.hs ghc-package-mtl-2.2.2/Control/Monad/Writer/Class.hs
203−--- hackage-package-mtl-2.2.2/Control/Monad/Writer/Class.hs 2018-02-25 06:02:27.000000000 +0800
204−+++ ghc-package-mtl-2.2.2/Control/Monad/Writer/Class.hs 2001-09-09 09:46:40.000000000 +0800
205−@@ -103,17 +103,6 @@
206− a <- m
207− return (a, f)
208−
209−-#if MIN_VERSION_base(4,9,0)
210−--- | __NOTE__: This instance is only defined for @base >= 4.9.0@.
211−---
212−--- @since 2.2.2
213−-instance (Monoid w) => MonadWriter w ((,) w) where
214−- writer ~(a, w) = (w, a)
215−- tell w = (w, ())
216−- listen ~(w, a) = (w, (a, w))
217−- pass ~(w, (a, f)) = (f w, a)
218−-#endif
219−-
220− instance (Monoid w, Monad m) => MonadWriter w (Lazy.WriterT w m) where
221− writer = Lazy.writer
222− tell = Lazy.tell
223−@@ -150,7 +139,6 @@
224− listen = Error.liftListen listen
225− pass = Error.liftPass pass
226−
227−--- | @since 2.2
228− instance MonadWriter w m => MonadWriter w (ExceptT e m) where
229− writer = lift . writer
230− tell = lift . tell
231−diff -ur hackage-package-mtl-2.2.2/mtl.cabal ghc-package-mtl-2.2.2/mtl.cabal
232−--- hackage-package-mtl-2.2.2/mtl.cabal 2018-02-25 06:02:27.000000000 +0800
233−+++ ghc-package-mtl-2.2.2/mtl.cabal 2001-09-09 09:46:40.000000000 +0800
234−@@ -25,8 +25,8 @@
235− GHC==7.8.4,
236− GHC==7.10.3,
237− GHC==8.0.2,
238−- GHC==8.2.2,
239−- GHC==8.4.1
240−+ GHC==8.2.1,
241−+ GHC==8.3.*
242−
243− source-repository head
244− type: git
245−@@ -66,11 +66,6 @@
246− FlexibleInstances
247− UndecidableInstances
248−
249−- -- This is a SafeHaskell safeguard (pun intended) to explicitly declare the API contract of `mtl`
250−- -- GHC versions before 7.4 were hopelessly broken or incapable of SafeHaskell
251−- if impl(ghc >= 7.4)
252−- default-extensions: Safe
253−-
254− ghc-options: -Wall -fno-warn-unused-imports -fno-warn-warnings-deprecations
255−
256− if impl(ghc >= 8.0)
patches/ghc841/parallel-3.2.1.1.patchdeleted−12
@@ -1,12 +0,0 @@
1−diff -ur hackage-package-parallel-3.2.1.1/parallel.cabal ghc-package-parallel-3.2.1.1/parallel.cabal
2−--- hackage-package-parallel-3.2.1.1/parallel.cabal 2017-04-09 00:25:01.000000000 +0800
3−+++ ghc-package-parallel-3.2.1.1/parallel.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -34,7 +34,7 @@
5−
6− build-depends:
7− array >= 0.3 && < 0.6,
8−- base >= 4.3 && < 4.11,
9−+ base >= 4.3 && < 4.12,
10− containers >= 0.4 && < 0.6,
11− deepseq >= 1.1 && < 1.5
12−
patches/ghc841/parsec-3.1.13.0.patchdeleted−23
@@ -1,23 +0,0 @@
1−diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.0/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -21,8 +21,8 @@
5− license-file: LICENSE
6− author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
7− maintainer: Herbert Valerio Riedel <hvr@gnu.org>
8−-homepage: https://github.com/hvr/parsec
9−-bug-reports: https://github.com/hvr/parsec/issues
10−+homepage: https://github.com/haskell/parsec
11−+bug-reports: https://github.com/haskell/parsec/issues
12− category: Parsing
13−
14− build-type: Simple
15−@@ -32,7 +32,7 @@
16−
17− source-repository head
18− type: git
19−- location: https://github.com/hvr/parsec
20−+ location: https://github.com/haskell/parsec
21−
22− library
23− hs-source-dirs: src
patches/ghc841/random-1.1.patchdeleted−406
@@ -1,406 +0,0 @@
1−diff -ur hackage-package-random-1.1/README.md ghc-package-random-1.1/README.md
2−--- hackage-package-random-1.1/README.md 2014-09-17 05:34:43.000000000 +0800
3−+++ ghc-package-random-1.1/README.md 2001-09-09 09:46:40.000000000 +0800
4−@@ -10,7 +10,7 @@
5−
6− A module supplying this interface is required for Haskell 98 (but not Haskell
7− 2010). An older [version]
8−-(http://www.haskell.org/ghc/docs/latest/html/libraries/haskell98/Random.html)
9−+(https://downloads.haskell.org/~ghc/latest/docs/html/libraries/haskell98-2.0.0.3/Random.html)
10− of this library is included with GHC in the haskell98 package. This newer
11− version, with compatible api, is included in the [Haskell Platform]
12− (http://www.haskell.org/platform/contents.html).
13−diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/System/Random.hs
14−--- hackage-package-random-1.1/System/Random.hs 2014-09-17 05:34:43.000000000 +0800
15−+++ ghc-package-random-1.1/System/Random.hs 2001-09-09 09:46:40.000000000 +0800
16−@@ -7,7 +7,7 @@
17− -- Module : System.Random
18− -- Copyright : (c) The University of Glasgow 2001
19− -- License : BSD-style (see the file LICENSE in the 'random' repository)
20−---
21−+--
22− -- Maintainer : libraries@haskell.org
23− -- Stability : stable
24− -- Portability : portable
25−@@ -18,7 +18,7 @@
26− -- or to get different results on each run by using the system-initialised
27− -- generator or by supplying a seed from some other source.
28− --
29−--- The library is split into two layers:
30−+-- The library is split into two layers:
31− --
32− -- * A core /random number generator/ provides a supply of bits.
33− -- The class 'RandomGen' provides a common interface to such generators.
34−@@ -40,40 +40,40 @@
35− #include "MachDeps.h"
36−
37− module System.Random
38−- (
39−+ (
40−
41−- -- $intro
42−+ -- $intro
43−
44−- -- * Random number generators
45−+ -- * Random number generators
46−
47− #ifdef ENABLE_SPLITTABLEGEN
48−- RandomGen(next, genRange)
49−- , SplittableGen(split)
50−+ RandomGen(next, genRange)
51−+ , SplittableGen(split)
52− #else
53−- RandomGen(next, genRange, split)
54−+ RandomGen(next, genRange, split)
55− #endif
56−- -- ** Standard random number generators
57−- , StdGen
58−- , mkStdGen
59−+ -- ** Standard random number generators
60−+ , StdGen
61−+ , mkStdGen
62−
63−- -- ** The global random number generator
64−+ -- ** The global random number generator
65−
66−- -- $globalrng
67−+ -- $globalrng
68−
69−- , getStdRandom
70−- , getStdGen
71−- , setStdGen
72−- , newStdGen
73−+ , getStdRandom
74−+ , getStdGen
75−+ , setStdGen
76−+ , newStdGen
77−
78−- -- * Random values of various types
79−- , Random ( random, randomR,
80−- randoms, randomRs,
81−- randomIO, randomRIO )
82−+ -- * Random values of various types
83−+ , Random ( random, randomR,
84−+ randoms, randomRs,
85−+ randomIO, randomRIO )
86−
87−- -- * References
88−- -- $references
89−+ -- * References
90−+ -- $references
91−
92−- ) where
93−+ ) where
94−
95− import Prelude
96−
97−@@ -83,15 +83,15 @@
98− import Foreign.C.Types
99−
100− #ifdef __NHC__
101−-import CPUTime ( getCPUTime )
102−+import CPUTime ( getCPUTime )
103− import Foreign.Ptr ( Ptr, nullPtr )
104−-import Foreign.C ( CTime, CUInt )
105−+import Foreign.C ( CTime, CUInt )
106− #else
107−-import System.CPUTime ( getCPUTime )
108−-import Data.Time ( getCurrentTime, UTCTime(..) )
109−+import System.CPUTime ( getCPUTime )
110−+import Data.Time ( getCurrentTime, UTCTime(..) )
111− import Data.Ratio ( numerator, denominator )
112− #endif
113−-import Data.Char ( isSpace, chr, ord )
114−+import Data.Char ( isSpace, chr, ord )
115− import System.IO.Unsafe ( unsafePerformIO )
116− import Data.IORef ( IORef, newIORef, readIORef, writeIORef )
117− #if MIN_VERSION_base (4,6,0)
118−@@ -99,7 +99,7 @@
119− #else
120− import Data.IORef ( atomicModifyIORef )
121− #endif
122−-import Numeric ( readDec )
123−+import Numeric ( readDec )
124−
125− #ifdef __GLASGOW_HASKELL__
126− import GHC.Exts ( build )
127−@@ -201,17 +201,17 @@
128−
129− In addition, 'reads' may be used to map an arbitrary string (not necessarily one
130− produced by 'show') onto a value of type 'StdGen'. In general, the 'Read'
131−-instance of 'StdGen' has the following properties:
132−+instance of 'StdGen' has the following properties:
133−
134−-* It guarantees to succeed on any string.
135−+* It guarantees to succeed on any string.
136−
137−-* It guarantees to consume only a finite portion of the string.
138−+* It guarantees to consume only a finite portion of the string.
139−
140− * Different argument strings are likely to result in different results.
141−
142− -}
143−
144−-data StdGen
145−+data StdGen
146− = StdGen !Int32 !Int32
147−
148− instance RandomGen StdGen where
149−@@ -224,8 +224,8 @@
150− split = stdSplit
151−
152− instance Show StdGen where
153−- showsPrec p (StdGen s1 s2) =
154−- showsPrec p s1 .
155−+ showsPrec p (StdGen s1 s2) =
156−+ showsPrec p s1 .
157− showChar ' ' .
158− showsPrec p s2
159−
160−@@ -234,11 +234,11 @@
161− case try_read r of
162− r'@[_] -> r'
163− _ -> [stdFromString r] -- because it shouldn't ever fail.
164−- where
165−+ where
166− try_read r = do
167− (s1, r1) <- readDec (dropWhile isSpace r)
168−- (s2, r2) <- readDec (dropWhile isSpace r1)
169−- return (StdGen s1 s2, r2)
170−+ (s2, r2) <- readDec (dropWhile isSpace r1)
171−+ return (StdGen s1 s2, r2)
172−
173− {-
174− If we cannot unravel the StdGen from a string, create
175−@@ -246,7 +246,7 @@
176− -}
177− stdFromString :: String -> (StdGen, String)
178− stdFromString s = (mkStdGen num, rest)
179−- where (cs, rest) = splitAt 6 s
180−+ where (cs, rest) = splitAt 6 s
181− num = foldl (\a x -> x + 3 * a) 1 (map ord cs)
182−
183−
184−@@ -266,11 +266,11 @@
185− mkStdGen32 :: Int32 -> StdGen
186− mkStdGen32 sMaybeNegative = StdGen (s1+1) (s2+1)
187− where
188−- -- We want a non-negative number, but we can't just take the abs
189−- -- of sMaybeNegative as -minBound == minBound.
190−- s = sMaybeNegative .&. maxBound
191−- (q, s1) = s `divMod` 2147483562
192−- s2 = q `mod` 2147483398
193−+ -- We want a non-negative number, but we can't just take the abs
194−+ -- of sMaybeNegative as -minBound == minBound.
195−+ s = sMaybeNegative .&. maxBound
196−+ (q, s1) = s `divMod` 2147483562
197−+ s2 = q `mod` 2147483398
198−
199− createStdGen :: Integer -> StdGen
200− createStdGen s = mkStdGen32 $ fromIntegral s
201−@@ -323,7 +323,7 @@
202− -- | A variant of 'random' that uses the global random number generator
203− -- (see "System.Random#globalrng").
204− randomIO :: IO a
205−- randomIO = getStdRandom random
206−+ randomIO = getStdRandom random
207−
208− -- | Produce an infinite list-equivalent of random values.
209− {-# INLINE buildRandoms #-}
210−@@ -340,7 +340,7 @@
211−
212− instance Random Integer where
213− randomR ival g = randomIvalInteger ival g
214−- random g = randomR (toInteger (minBound::Int), toInteger (maxBound::Int)) g
215−+ random g = randomR (toInteger (minBound::Int), toInteger (maxBound::Int)) g
216−
217− instance Random Int where randomR = randomIvalIntegral; random = randomBounded
218− instance Random Int8 where randomR = randomIvalIntegral; random = randomBounded
219−@@ -378,13 +378,13 @@
220− instance Random CUIntMax where randomR = randomIvalIntegral; random = randomBounded
221−
222− instance Random Char where
223−- randomR (a,b) g =
224−+ randomR (a,b) g =
225− case (randomIvalInteger (toInteger (ord a), toInteger (ord b)) g) of
226− (x,g') -> (chr x, g')
227−- random g = randomR (minBound,maxBound) g
228−+ random g = randomR (minBound,maxBound) g
229−
230− instance Random Bool where
231−- randomR (a,b) g =
232−+ randomR (a,b) g =
233− case (randomIvalInteger (bool2Int a, bool2Int b) g) of
234− (x, g') -> (int2Bool x, g')
235− where
236−@@ -392,42 +392,42 @@
237− bool2Int False = 0
238− bool2Int True = 1
239−
240−- int2Bool :: Int -> Bool
241−- int2Bool 0 = False
242−- int2Bool _ = True
243−+ int2Bool :: Int -> Bool
244−+ int2Bool 0 = False
245−+ int2Bool _ = True
246−
247−- random g = randomR (minBound,maxBound) g
248−+ random g = randomR (minBound,maxBound) g
249−
250− {-# INLINE randomRFloating #-}
251− randomRFloating :: (Fractional a, Num a, Ord a, Random a, RandomGen g) => (a, a) -> g -> (a, g)
252−-randomRFloating (l,h) g
253−+randomRFloating (l,h) g
254− | l>h = randomRFloating (h,l) g
255−- | otherwise = let (coef,g') = random g in
256−- (2.0 * (0.5*l + coef * (0.5*h - 0.5*l)), g') -- avoid overflow
257−+ | otherwise = let (coef,g') = random g in
258−+ (2.0 * (0.5*l + coef * (0.5*h - 0.5*l)), g') -- avoid overflow
259−
260− instance Random Double where
261− randomR = randomRFloating
262−- random rng =
263−- case random rng of
264−- (x,rng') ->
265−+ random rng =
266−+ case random rng of
267−+ (x,rng') ->
268− -- We use 53 bits of randomness corresponding to the 53 bit significand:
269−- ((fromIntegral (mask53 .&. (x::Int64)) :: Double)
270−- / fromIntegral twoto53, rng')
271−- where
272−+ ((fromIntegral (mask53 .&. (x::Int64)) :: Double)
273−+ / fromIntegral twoto53, rng')
274−+ where
275− twoto53 = (2::Int64) ^ (53::Int64)
276− mask53 = twoto53 - 1
277−-
278−+
279− instance Random Float where
280− randomR = randomRFloating
281−- random rng =
282−- -- TODO: Faster to just use 'next' IF it generates enough bits of randomness.
283−- case random rng of
284−- (x,rng') ->
285−+ random rng =
286−+ -- TODO: Faster to just use 'next' IF it generates enough bits of randomness.
287−+ case random rng of
288−+ (x,rng') ->
289− -- We use 24 bits of randomness corresponding to the 24 bit significand:
290−- ((fromIntegral (mask24 .&. (x::Int32)) :: Float)
291−- / fromIntegral twoto24, rng')
292−- -- Note, encodeFloat is another option, but I'm not seeing slightly
293−- -- worse performance with the following [2011.06.25]:
294−+ ((fromIntegral (mask24 .&. (x::Int32)) :: Float)
295−+ / fromIntegral twoto24, rng')
296−+ -- Note, encodeFloat is another option, but I'm not seeing slightly
297−+ -- worse performance with the following [2011.06.25]:
298− -- (encodeFloat rand (-24), rng')
299− where
300− mask24 = twoto24 - 1
301−@@ -436,8 +436,8 @@
302− -- CFloat/CDouble are basically the same as a Float/Double:
303− instance Random CFloat where
304− randomR = randomRFloating
305−- random rng = case random rng of
306−- (x,rng') -> (realToFrac (x::Float), rng')
307−+ random rng = case random rng of
308−+ (x,rng') -> (realToFrac (x::Float), rng')
309−
310− instance Random CDouble where
311− randomR = randomRFloating
312−@@ -445,8 +445,8 @@
313− -- Presently, this is showing better performance than the Double instance:
314− -- (And yet, if the Double instance uses randomFrac then its performance is much worse!)
315− random = randomFrac
316−- -- random rng = case random rng of
317−- -- (x,rng') -> (realToFrac (x::Double), rng')
318−+ -- random rng = case random rng of
319−+ -- (x,rng') -> (realToFrac (x::Double), rng')
320−
321− mkStdRNG :: Integer -> IO StdGen
322− mkStdRNG o = do
323−@@ -463,7 +463,7 @@
324−
325− {-# SPECIALIZE randomIvalInteger :: (Num a) =>
326− (Integer, Integer) -> StdGen -> (a, StdGen) #-}
327−-
328−+
329− randomIvalInteger :: (RandomGen g, Num a) => (Integer, Integer) -> g -> (a, g)
330− randomIvalInteger (l,h) rng
331− | l > h = randomIvalInteger (h,l) rng
332−@@ -482,7 +482,7 @@
333− k = h - l + 1
334− magtgt = k * q
335−
336−- -- generate random values until we exceed the target magnitude
337−+ -- generate random values until we exceed the target magnitude
338− f mag v g | mag >= magtgt = (v, g)
339− | otherwise = v' `seq`f (mag*b) v' g' where
340− (x,g') = next g
341−@@ -494,18 +494,18 @@
342− randomFrac = randomIvalDouble (0::Double,1) realToFrac
343−
344− randomIvalDouble :: (RandomGen g, Fractional a) => (Double, Double) -> (Double -> a) -> g -> (a, g)
345−-randomIvalDouble (l,h) fromDouble rng
346−+randomIvalDouble (l,h) fromDouble rng
347− | l > h = randomIvalDouble (h,l) fromDouble rng
348−- | otherwise =
349−+ | otherwise =
350− case (randomIvalInteger (toInteger (minBound::Int32), toInteger (maxBound::Int32)) rng) of
351−- (x, rng') ->
352−- let
353−- scaled_x =
354−- fromDouble (0.5*l + 0.5*h) + -- previously (l+h)/2, overflowed
355−+ (x, rng') ->
356−+ let
357−+ scaled_x =
358−+ fromDouble (0.5*l + 0.5*h) + -- previously (l+h)/2, overflowed
359− fromDouble ((0.5*h - 0.5*l) / (0.5 * realToFrac int32Count)) * -- avoid overflow
360−- fromIntegral (x::Int32)
361−- in
362−- (scaled_x, rng')
363−+ fromIntegral (x::Int32)
364−+ in
365−+ (scaled_x, rng')
366−
367− int32Count :: Integer
368− int32Count = toInteger (maxBound::Int32) - toInteger (minBound::Int32) + 1 -- GHC ticket #3982
369−@@ -516,16 +516,16 @@
370− stdNext :: StdGen -> (Int, StdGen)
371− -- Returns values in the range stdRange
372− stdNext (StdGen s1 s2) = (fromIntegral z', StdGen s1'' s2'')
373−- where z' = if z < 1 then z + 2147483562 else z
374−- z = s1'' - s2''
375−+ where z' = if z < 1 then z + 2147483562 else z
376−+ z = s1'' - s2''
377−
378−- k = s1 `quot` 53668
379−- s1' = 40014 * (s1 - k * 53668) - k * 12211
380−- s1'' = if s1' < 0 then s1' + 2147483563 else s1'
381−-
382−- k' = s2 `quot` 52774
383−- s2' = 40692 * (s2 - k' * 52774) - k' * 3791
384−- s2'' = if s2' < 0 then s2' + 2147483399 else s2'
385−+ k = s1 `quot` 53668
386−+ s1' = 40014 * (s1 - k * 53668) - k * 12211
387−+ s1'' = if s1' < 0 then s1' + 2147483563 else s1'
388−+
389−+ k' = s2 `quot` 52774
390−+ s2' = 40692 * (s2 - k' * 52774) - k' * 3791
391−+ s2'' = if s2' < 0 then s2' + 2147483399 else s2'
392−
393− stdSplit :: StdGen -> (StdGen, StdGen)
394− stdSplit std@(StdGen s1 s2)
395−diff -ur hackage-package-random-1.1/random.cabal ghc-package-random-1.1/random.cabal
396−--- hackage-package-random-1.1/random.cabal 2014-09-17 05:34:43.000000000 +0800
397−+++ ghc-package-random-1.1/random.cabal 2001-09-09 09:46:40.000000000 +0800
398−@@ -40,7 +40,7 @@
399−
400− source-repository head
401− type: git
402−- location: http://git.haskell.org/packages/random.git
403−+ location: https://github.com/haskell/random.git
404−
405− -- To run the Test-Suite:
406− -- $ cabal configure --enable-tests
patches/ghc841/time-1.8.0.2.patchdeleted−146
@@ -1,146 +0,0 @@
1−diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
4−@@ -1,6 +1,6 @@
5− #! /bin/sh
6− # Guess values for system-dependent variables and create Makefiles.
7−-# Generated by GNU Autoconf 2.69 for Haskell time package 1.8.
8−+# Generated by GNU Autoconf 2.69 for Haskell time package 1.8.0.2.
9− #
10− # Report bugs to <ashley@semantic.org>.
11− #
12−@@ -580,8 +580,8 @@
13− # Identity of this package.
14− PACKAGE_NAME='Haskell time package'
15− PACKAGE_TARNAME='time'
16−-PACKAGE_VERSION='1.8'
17−-PACKAGE_STRING='Haskell time package 1.8'
18−+PACKAGE_VERSION='1.8.0.2'
19−+PACKAGE_STRING='Haskell time package 1.8.0.2'
20− PACKAGE_BUGREPORT='ashley@semantic.org'
21− PACKAGE_URL=''
22−
23−@@ -653,7 +653,6 @@
24− docdir
25− oldincludedir
26− includedir
27−-runstatedir
28− localstatedir
29− sharedstatedir
30− sysconfdir
31−@@ -726,7 +725,6 @@
32− sysconfdir='${prefix}/etc'
33− sharedstatedir='${prefix}/com'
34− localstatedir='${prefix}/var'
35−-runstatedir='${localstatedir}/run'
36− includedir='${prefix}/include'
37− oldincludedir='/usr/include'
38− docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40− | -silent | --silent | --silen | --sile | --sil)
41− silent=yes ;;
42−
43−- -runstatedir | --runstatedir | --runstatedi | --runstated \
44−- | --runstate | --runstat | --runsta | --runst | --runs \
45−- | --run | --ru | --r)
46−- ac_prev=runstatedir ;;
47−- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
48−- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
49−- | --run=* | --ru=* | --r=*)
50−- runstatedir=$ac_optarg ;;
51−-
52− -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53− ac_prev=sbindir ;;
54− -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56− for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57− datadir sysconfdir sharedstatedir localstatedir includedir \
58− oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
59−- libdir localedir mandir runstatedir
60−+ libdir localedir mandir
61− do
62− eval ac_val=\$$ac_var
63− # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65− # Omit some internal or obsolete options to make the list less imposing.
66− # This message is too long to be a string in the A/UX 3.1 sh.
67− cat <<_ACEOF
68−-\`configure' configures Haskell time package 1.8 to adapt to many kinds of systems.
69−+\`configure' configures Haskell time package 1.8.0.2 to adapt to many kinds of systems.
70−
71− Usage: $0 [OPTION]... [VAR=VALUE]...
72−
73−@@ -1278,7 +1267,6 @@
74− --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75− --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76− --localstatedir=DIR modifiable single-machine data [PREFIX/var]
77−- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
78− --libdir=DIR object code libraries [EPREFIX/lib]
79− --includedir=DIR C header files [PREFIX/include]
80− --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82−
83− if test -n "$ac_init_help"; then
84− case $ac_init_help in
85−- short | recursive ) echo "Configuration of Haskell time package 1.8:";;
86−+ short | recursive ) echo "Configuration of Haskell time package 1.8.0.2:";;
87− esac
88− cat <<\_ACEOF
89−
90−@@ -1386,7 +1374,7 @@
91− test -n "$ac_init_help" && exit $ac_status
92− if $ac_init_version; then
93− cat <<\_ACEOF
94−-Haskell time package configure 1.8
95−+Haskell time package configure 1.8.0.2
96− generated by GNU Autoconf 2.69
97−
98− Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100− This file contains any messages produced by compilers while
101− running configure, to aid debugging if configure makes a mistake.
102−
103−-It was created by Haskell time package $as_me 1.8, which was
104−+It was created by Haskell time package $as_me 1.8.0.2, which was
105− generated by GNU Autoconf 2.69. Invocation command line was
106−
107− $ $0 $@
108−@@ -4193,7 +4181,7 @@
109− # report actual input values of CONFIG_FILES etc. instead of their
110− # values after options handling.
111− ac_log="
112−-This file was extended by Haskell time package $as_me 1.8, which was
113−+This file was extended by Haskell time package $as_me 1.8.0.2, which was
114− generated by GNU Autoconf 2.69. Invocation command line was
115−
116− CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118− cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119− ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120− ac_cs_version="\\
121−-Haskell time package config.status 1.8
122−+Haskell time package config.status 1.8.0.2
123− configured by $0, generated by GNU Autoconf 2.69,
124− with options \\"\$ac_cs_config\\"
125−
126−diff -ur hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h
127−--- hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2017-05-13 18:29:46.000000000 +0800
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
129−@@ -69,7 +69,7 @@
130− #define PACKAGE_NAME "Haskell time package"
131−
132− /* Define to the full name and version of this package. */
133−-#define PACKAGE_STRING "Haskell time package 1.8"
134−+#define PACKAGE_STRING "Haskell time package 1.8.0.2"
135−
136− /* Define to the one symbol short name of this package. */
137− #define PACKAGE_TARNAME "time"
138−@@ -78,7 +78,7 @@
139− #define PACKAGE_URL ""
140−
141− /* Define to the version of this package. */
142−-#define PACKAGE_VERSION "1.8"
143−+#define PACKAGE_VERSION "1.8.0.2"
144−
145− /* Define to 1 if you have the ANSI C header files. */
146− #define STDC_HEADERS 1
patches/ghc841/unix-2.7.2.2.patchdeleted−109
@@ -1,109 +0,0 @@
1−diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
4−@@ -667,7 +667,6 @@
5− docdir
6− oldincludedir
7− includedir
8−-runstatedir
9− localstatedir
10− sharedstatedir
11− sysconfdir
12−@@ -739,7 +738,6 @@
13− sysconfdir='${prefix}/etc'
14− sharedstatedir='${prefix}/com'
15− localstatedir='${prefix}/var'
16−-runstatedir='${localstatedir}/run'
17− includedir='${prefix}/include'
18− oldincludedir='/usr/include'
19− docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21− | -silent | --silent | --silen | --sile | --sil)
22− silent=yes ;;
23−
24−- -runstatedir | --runstatedir | --runstatedi | --runstated \
25−- | --runstate | --runstat | --runsta | --runst | --runs \
26−- | --run | --ru | --r)
27−- ac_prev=runstatedir ;;
28−- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
29−- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
30−- | --run=* | --ru=* | --r=*)
31−- runstatedir=$ac_optarg ;;
32−-
33− -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34− ac_prev=sbindir ;;
35− -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37− for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38− datadir sysconfdir sharedstatedir localstatedir includedir \
39− oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
40−- libdir localedir mandir runstatedir
41−+ libdir localedir mandir
42− do
43− eval ac_val=\$$ac_var
44− # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46− --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47− --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48− --localstatedir=DIR modifiable single-machine data [PREFIX/var]
49−- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
50− --libdir=DIR object code libraries [EPREFIX/lib]
51− --includedir=DIR C header files [PREFIX/include]
52− --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54− We can't simply define LARGE_OFF_T to be 9223372036854775807,
55− since some C++ compilers masquerading as C compilers
56− incorrectly reject 9223372036854775807. */
57−-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
58−+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
59− int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60− && LARGE_OFF_T % 2147483647 == 1)
61− ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63− We can't simply define LARGE_OFF_T to be 9223372036854775807,
64− since some C++ compilers masquerading as C compilers
65− incorrectly reject 9223372036854775807. */
66−-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
67−+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
68− int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69− && LARGE_OFF_T % 2147483647 == 1)
70− ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72− We can't simply define LARGE_OFF_T to be 9223372036854775807,
73− since some C++ compilers masquerading as C compilers
74− incorrectly reject 9223372036854775807. */
75−-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
76−+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
77− int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78− && LARGE_OFF_T % 2147483647 == 1)
79− ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81− We can't simply define LARGE_OFF_T to be 9223372036854775807,
82− since some C++ compilers masquerading as C compilers
83− incorrectly reject 9223372036854775807. */
84−-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
85−+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
86− int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87− && LARGE_OFF_T % 2147483647 == 1)
88− ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90− We can't simply define LARGE_OFF_T to be 9223372036854775807,
91− since some C++ compilers masquerading as C compilers
92− incorrectly reject 9223372036854775807. */
93−-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
94−+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
95− int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96− && LARGE_OFF_T % 2147483647 == 1)
97− ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101−@@ -62,7 +62,7 @@
102− buildable: False
103−
104− build-depends:
105−- base >= 4.5 && < 4.11,
106−+ base >= 4.5 && < 4.12,
107− bytestring >= 0.9.2 && < 0.11,
108− time >= 1.2 && < 1.9
109−
patches/ghc841/vector-0.11.0.0.patchdeleted−508
@@ -1,508 +0,0 @@
1−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs
2−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
3−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
4−@@ -101,12 +101,20 @@
5− scanl, scanl1,
6− enumFromTo, enumFromThenTo )
7−
8−-import Data.Int ( Int8, Int16, Int32, Int64 )
9−-import Data.Word ( Word8, Word16, Word32, Word, Word64 )
10−+import Data.Int ( Int8, Int16, Int32 )
11−+import Data.Word ( Word8, Word16, Word32, Word64 )
12−+
13−+#if !MIN_VERSION_base(4,8,0)
14−+import Data.Word ( Word )
15−+#endif
16−
17− #include "vector.h"
18− #include "MachDeps.h"
19−
20−+#if WORD_SIZE_IN_BITS > 32
21−+import Data.Int ( Int64 )
22−+#endif
23−+
24− data Chunk v a = Chunk Int (forall m. (PrimMonad m, Vector v a) => Mutable v (PrimState m) a -> m ())
25−
26− -- | Monadic streams
27−@@ -888,6 +896,7 @@
28− :: Monad m => Integer -> Integer -> Bundle m v Integer #-}
29−
30−
31−+#if WORD_SIZE_IN_BITS > 32
32−
33− -- FIXME: the "too large" test is totally wrong
34− enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Bundle m v a
35−@@ -906,7 +915,6 @@
36− step z | z <= y = return $ Yield z (z+1)
37− | otherwise = return $ Done
38−
39−-#if WORD_SIZE_IN_BITS > 32
40−
41− {-# RULES
42−
43−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs
44−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs 2015-07-13 12:26:16.000000000 +0800
45−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs 2001-09-09 09:46:40.000000000 +0800
46−@@ -111,7 +111,7 @@
47− type MBundle = M.Bundle
48−
49− inplace :: (forall m. Monad m => S.Stream m a -> S.Stream m b)
50−- -> (Size -> Size) -> Bundle v a -> Bundle v b
51−+ -> (Size -> Size) -> Bundle v a -> Bundle v b
52− {-# INLINE_FUSED inplace #-}
53− inplace f g b = b `seq` M.fromStream (f (M.elements b)) (g (M.size b))
54−
55−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs
56−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
57−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
58−@@ -89,8 +89,12 @@
59− scanl, scanl1,
60− enumFromTo, enumFromThenTo )
61−
62−-import Data.Int ( Int8, Int16, Int32, Int64 )
63−+import Data.Int ( Int8, Int16, Int32 )
64−+import Data.Word ( Word8, Word16, Word32, Word64 )
65−+
66−+#if !MIN_VERSION_base(4,8,0)
67− import Data.Word ( Word8, Word16, Word32, Word, Word64 )
68−+#endif
69−
70− #if __GLASGOW_HASKELL__ >= 708
71− import GHC.Types ( SPEC(..) )
72−@@ -101,6 +105,10 @@
73− #include "vector.h"
74− #include "MachDeps.h"
75−
76−+#if WORD_SIZE_IN_BITS > 32
77−+import Data.Int ( Int64 )
78−+#endif
79−+
80− #if __GLASGOW_HASKELL__ < 708
81− data SPEC = SPEC | SPEC2
82− #if __GLASGOW_HASKELL__ >= 700
83−@@ -1403,6 +1411,8 @@
84−
85−
86−
87−+#if WORD_SIZE_IN_BITS > 32
88−+
89− -- FIXME: the "too large" test is totally wrong
90− enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Stream m a
91− {-# INLINE_FUSED enumFromTo_big_int #-}
92−@@ -1412,8 +1422,6 @@
93− step z | z <= y = return $ Yield z (z+1)
94− | otherwise = return $ Done
95−
96−-#if WORD_SIZE_IN_BITS > 32
97−-
98− {-# RULES
99−
100− "enumFromTo<Int64> [Stream]"
101−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs
102−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2015-07-13 12:26:16.000000000 +0800
103−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2001-09-09 09:46:40.000000000 +0800
104−@@ -1,3 +1,4 @@
105−+{-# LANGUAGE CPP #-}
106− -- |
107− -- Module : Data.Vector.Fusion.Util
108− -- Copyright : (c) Roman Leshchinskiy 2009
109−@@ -16,7 +17,9 @@
110− delay_inline, delayed_min
111− ) where
112−
113−+#if !MIN_VERSION_base(4,8,0)
114− import Control.Applicative (Applicative(..))
115−+#endif
116−
117− -- | Identity monad
118− newtype Id a = Id { unId :: a }
119−@@ -29,7 +32,7 @@
120− Id f <*> Id x = Id (f x)
121−
122− instance Monad Id where
123−- return = Id
124−+ return = pure
125− Id x >>= f = f x
126−
127− -- | Box monad
128−@@ -43,7 +46,7 @@
129− Box f <*> Box x = Box (f x)
130−
131− instance Monad Box where
132−- return = Box
133−+ return = pure
134− Box x >>= f = f x
135−
136− -- | Delay inlining a function until late in the game (simplifier phase 0).
137−@@ -55,4 +58,3 @@
138− delayed_min :: Int -> Int -> Int
139− {-# INLINE [0] delayed_min #-}
140− delayed_min m n = min m n
141−-
142−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs
143−--- hackage-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
144−+++ ghc-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
145−@@ -584,7 +584,7 @@
146− new n = BOUNDS_CHECK(checkLength) "new" n
147− $ unsafeNew n >>= \v -> basicInitialize v >> return v
148−
149−--- | Create a mutable vector of the given length. The length is not checked.
150−+-- | Create a mutable vector of the given length. The memory is not initialized.
151− unsafeNew :: (PrimMonad m, MVector v a) => Int -> m (v (PrimState m) a)
152− {-# INLINE unsafeNew #-}
153− unsafeNew n = UNSAFE_CHECK(checkLength) "unsafeNew" n
154−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Generic.hs ghc-package-vector-0.11.0.0/Data/Vector/Generic.hs
155−--- hackage-package-vector-0.11.0.0/Data/Vector/Generic.hs 2015-07-13 12:26:16.000000000 +0800
156−+++ ghc-package-vector-0.11.0.0/Data/Vector/Generic.hs 2001-09-09 09:46:40.000000000 +0800
157−@@ -1038,7 +1038,7 @@
158− imapM_ f = Bundle.mapM_ (uncurry f) . Bundle.indexed . stream
159−
160− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
161−--- vector of results. Equvalent to @flip 'mapM'@.
162−+-- vector of results. Equivalent to @flip 'mapM'@.
163− forM :: (Monad m, Vector v a, Vector v b) => v a -> (a -> m b) -> m (v b)
164− {-# INLINE forM #-}
165− forM as f = mapM f as
166−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Mutable.hs
167−--- hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
168−+++ ghc-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
169−@@ -268,7 +268,7 @@
170− {-# INLINE new #-}
171− new = G.new
172−
173−--- | Create a mutable vector of the given length. The length is not checked.
174−+-- | Create a mutable vector of the given length. The memory is not initialized.
175− unsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) a)
176− {-# INLINE unsafeNew #-}
177− unsafeNew = G.unsafeNew
178−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs
179−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
180−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
181−@@ -211,7 +211,7 @@
182− {-# INLINE new #-}
183− new = G.new
184−
185−--- | Create a mutable vector of the given length. The length is not checked.
186−+-- | Create a mutable vector of the given length. The memory is not initialized.
187− unsafeNew :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
188− {-# INLINE unsafeNew #-}
189− unsafeNew = G.unsafeNew
190−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs ghc-package-vector-0.11.0.0/Data/Vector/Primitive.hs
191−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2015-07-13 12:26:16.000000000 +0800
192−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2001-09-09 09:46:40.000000000 +0800
193−@@ -164,7 +164,9 @@
194− import Data.Data ( Data(..) )
195− import Text.Read ( Read(..), readListPrecDefault )
196−
197−+#if !MIN_VERSION_base(4,8,0)
198− import Data.Monoid ( Monoid(..) )
199−+#endif
200−
201− #if __GLASGOW_HASKELL__ >= 708
202− import qualified GHC.Exts as Exts
203−@@ -773,7 +775,7 @@
204− mapM_ = G.mapM_
205−
206− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
207−--- vector of results. Equvalent to @flip 'mapM'@.
208−+-- vector of results. Equivalent to @flip 'mapM'@.
209− forM :: (Monad m, Prim a, Prim b) => Vector a -> (a -> m b) -> m (Vector b)
210− {-# INLINE forM #-}
211− forM = G.forM
212−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs
213−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
214−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
215−@@ -1,4 +1,4 @@
216−-{-# LANGUAGE CPP, DeriveDataTypeable, MultiParamTypeClasses, FlexibleInstances, ScopedTypeVariables #-}
217−+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, MagicHash, MultiParamTypeClasses, ScopedTypeVariables #-}
218−
219− -- |
220− -- Module : Data.Vector.Storable.Mutable
221−@@ -65,8 +65,13 @@
222− import Foreign.Storable
223− import Foreign.ForeignPtr
224−
225−-#if __GLASGOW_HASKELL__ >= 605
226−-import GHC.ForeignPtr (mallocPlainForeignPtrBytes)
227−+#if __GLASGOW_HASKELL__ >= 706
228−+import GHC.ForeignPtr (mallocPlainForeignPtrAlignedBytes)
229−+#elif __GLASGOW_HASKELL__ >= 700
230−+import Data.Primitive.ByteArray (MutableByteArray(..), newAlignedPinnedByteArray,
231−+ unsafeFreezeByteArray)
232−+import GHC.Prim (byteArrayContents#, unsafeCoerce#)
233−+import GHC.ForeignPtr
234− #endif
235−
236− import Foreign.Ptr
237−@@ -201,11 +206,26 @@
238− {-# INLINE mallocVector #-}
239− mallocVector :: Storable a => Int -> IO (ForeignPtr a)
240− mallocVector =
241−-#if __GLASGOW_HASKELL__ >= 605
242−- doMalloc undefined
243−- where
244−- doMalloc :: Storable b => b -> Int -> IO (ForeignPtr b)
245−- doMalloc dummy size = mallocPlainForeignPtrBytes (size * sizeOf dummy)
246−+#if __GLASGOW_HASKELL__ >= 706
247−+ doMalloc undefined
248−+ where
249−+ doMalloc :: Storable b => b -> Int -> IO (ForeignPtr b)
250−+ doMalloc dummy size =
251−+ mallocPlainForeignPtrAlignedBytes (size * sizeOf dummy) (alignment dummy)
252−+#elif __GLASGOW_HASKELL__ >= 700
253−+ doMalloc undefined
254−+ where
255−+ doMalloc :: Storable b => b -> Int -> IO (ForeignPtr b)
256−+ doMalloc dummy size = do
257−+ arr@(MutableByteArray arr#) <- newAlignedPinnedByteArray arrSize arrAlign
258−+ newConcForeignPtr
259−+ (Ptr (byteArrayContents# (unsafeCoerce# arr#)))
260−+ -- Keep reference to mutable byte array until whole ForeignPtr goes out
261−+ -- of scope.
262−+ (touch arr)
263−+ where
264−+ arrSize = size * sizeOf dummy
265−+ arrAlign = alignment dummy
266− #else
267− mallocForeignPtrArray
268− #endif
269−@@ -293,7 +313,7 @@
270− {-# INLINE new #-}
271− new = G.new
272−
273−--- | Create a mutable vector of the given length. The length is not checked.
274−+-- | Create a mutable vector of the given length. The memory is not initialized.
275− unsafeNew :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
276− {-# INLINE unsafeNew #-}
277− unsafeNew = G.unsafeNew
278−@@ -322,14 +342,14 @@
279− -- | Grow a vector by the given number of elements. The number must be
280− -- positive.
281− grow :: (PrimMonad m, Storable a)
282−- => MVector (PrimState m) a -> Int -> m (MVector (PrimState m) a)
283−+ => MVector (PrimState m) a -> Int -> m (MVector (PrimState m) a)
284− {-# INLINE grow #-}
285− grow = G.grow
286−
287− -- | Grow a vector by the given number of elements. The number must be
288− -- positive but this is not checked.
289− unsafeGrow :: (PrimMonad m, Storable a)
290−- => MVector (PrimState m) a -> Int -> m (MVector (PrimState m) a)
291−+ => MVector (PrimState m) a -> Int -> m (MVector (PrimState m) a)
292− {-# INLINE unsafeGrow #-}
293− unsafeGrow = G.unsafeGrow
294−
295−@@ -401,7 +421,7 @@
296− -- | Copy a vector. The two vectors must have the same length and may not
297− -- overlap.
298− copy :: (PrimMonad m, Storable a)
299−- => MVector (PrimState m) a -> MVector (PrimState m) a -> m ()
300−+ => MVector (PrimState m) a -> MVector (PrimState m) a -> m ()
301− {-# INLINE copy #-}
302− copy = G.copy
303−
304−@@ -422,7 +442,7 @@
305− -- copied to a temporary vector and then the temporary vector was copied
306− -- to the target vector.
307− move :: (PrimMonad m, Storable a)
308−- => MVector (PrimState m) a -> MVector (PrimState m) a -> m ()
309−+ => MVector (PrimState m) a -> MVector (PrimState m) a -> m ()
310− {-# INLINE move #-}
311− move = G.move
312−
313−@@ -434,9 +454,9 @@
314− -- copied to a temporary vector and then the temporary vector was copied
315− -- to the target vector.
316− unsafeMove :: (PrimMonad m, Storable a)
317−- => MVector (PrimState m) a -- ^ target
318−- -> MVector (PrimState m) a -- ^ source
319−- -> m ()
320−+ => MVector (PrimState m) a -- ^ target
321−+ -> MVector (PrimState m) a -- ^ source
322−+ -> m ()
323− {-# INLINE unsafeMove #-}
324− unsafeMove = G.unsafeMove
325−
326−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs ghc-package-vector-0.11.0.0/Data/Vector/Storable.hs
327−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs 2015-07-13 12:26:16.000000000 +0800
328−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable.hs 2001-09-09 09:46:40.000000000 +0800
329−@@ -169,7 +169,9 @@
330− import Data.Data ( Data(..) )
331− import Text.Read ( Read(..), readListPrecDefault )
332−
333−+#if !MIN_VERSION_base(4,8,0)
334− import Data.Monoid ( Monoid(..) )
335−+#endif
336−
337− #if __GLASGOW_HASKELL__ >= 708
338− import qualified GHC.Exts as Exts
339−@@ -783,7 +785,7 @@
340− mapM_ = G.mapM_
341−
342− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
343−--- vector of results. Equvalent to @flip 'mapM'@.
344−+-- vector of results. Equivalent to @flip 'mapM'@.
345− forM :: (Monad m, Storable a, Storable b) => Vector a -> (a -> m b) -> m (Vector b)
346− {-# INLINE forM #-}
347− forM = G.forM
348−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs
349−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2015-07-13 12:26:16.000000000 +0800
350−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2001-09-09 09:46:40.000000000 +0800
351−@@ -30,10 +30,14 @@
352− import Control.Monad.Primitive
353− import Control.Monad ( liftM )
354−
355−-import Data.Word ( Word, Word8, Word16, Word32, Word64 )
356−+import Data.Word ( Word8, Word16, Word32, Word64 )
357− import Data.Int ( Int8, Int16, Int32, Int64 )
358− import Data.Complex
359−
360−+#if !MIN_VERSION_base(4,8,0)
361−+import Data.Word ( Word )
362−+#endif
363−+
364− #if __GLASGOW_HASKELL__ >= 707
365− import Data.Typeable ( Typeable )
366− #else
367−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs
368−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
369−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
370−@@ -149,7 +149,7 @@
371− {-# INLINE new #-}
372− new = G.new
373−
374−--- | Create a mutable vector of the given length. The length is not checked.
375−+-- | Create a mutable vector of the given length. The memory is not initialized.
376− unsafeNew :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
377− {-# INLINE unsafeNew #-}
378− unsafeNew = G.unsafeNew
379−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed.hs
380−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2015-07-13 12:26:16.000000000 +0800
381−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2001-09-09 09:46:40.000000000 +0800
382−@@ -186,7 +186,9 @@
383−
384− import Text.Read ( Read(..), readListPrecDefault )
385−
386−+#if !MIN_VERSION_base(4,8,0)
387− import Data.Monoid ( Monoid(..) )
388−+#endif
389−
390− #if __GLASGOW_HASKELL__ >= 708
391− import qualified GHC.Exts as Exts (IsList(..))
392−@@ -820,7 +822,7 @@
393− imapM_ = G.imapM_
394−
395− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
396−--- vector of results. Equvalent to @flip 'mapM'@.
397−+-- vector of results. Equivalent to @flip 'mapM'@.
398− forM :: (Monad m, Unbox a, Unbox b) => Vector a -> (a -> m b) -> m (Vector b)
399− {-# INLINE forM #-}
400− forM = G.forM
401−diff -ur hackage-package-vector-0.11.0.0/Data/Vector.hs ghc-package-vector-0.11.0.0/Data/Vector.hs
402−--- hackage-package-vector-0.11.0.0/Data/Vector.hs 2015-07-13 12:26:16.000000000 +0800
403−+++ ghc-package-vector-0.11.0.0/Data/Vector.hs 2001-09-09 09:46:40.000000000 +0800
404−@@ -150,7 +150,7 @@
405− -- * Conversions
406−
407− -- ** Lists
408−- toList, fromList, fromListN,
409−+ toList, Data.Vector.fromList, Data.Vector.fromListN,
410−
411− -- ** Other vector types
412− G.convert,
413−@@ -187,11 +187,14 @@
414− import Data.Data ( Data(..) )
415− import Text.Read ( Read(..), readListPrecDefault )
416−
417−-import Data.Monoid ( Monoid(..) )
418− import qualified Control.Applicative as Applicative
419− import qualified Data.Foldable as Foldable
420− import qualified Data.Traversable as Traversable
421−
422−+#if !MIN_VERSION_base(4,8,0)
423−+import Data.Monoid ( Monoid(..) )
424−+#endif
425−+
426− #if __GLASGOW_HASKELL__ >= 708
427− import qualified GHC.Exts as Exts (IsList(..))
428− #endif
429−@@ -220,8 +223,8 @@
430−
431− instance Exts.IsList (Vector a) where
432− type Item (Vector a) = a
433−- fromList = fromList
434−- fromListN = fromListN
435−+ fromList = Data.Vector.fromList
436−+ fromListN = Data.Vector.fromListN
437− toList = toList
438− #endif
439−
440−@@ -297,7 +300,7 @@
441−
442− instance Monad Vector where
443− {-# INLINE return #-}
444−- return = singleton
445−+ return = Applicative.pure
446−
447− {-# INLINE (>>=) #-}
448− (>>=) = flip concatMap
449−@@ -341,7 +344,7 @@
450−
451− instance Traversable.Traversable Vector where
452− {-# INLINE traverse #-}
453−- traverse f xs = fromList Applicative.<$> Traversable.traverse f (toList xs)
454−+ traverse f xs = Data.Vector.fromList Applicative.<$> Traversable.traverse f (toList xs)
455−
456− {-# INLINE mapM #-}
457− mapM = mapM
458−@@ -917,7 +920,7 @@
459− imapM_ = G.imapM_
460−
461− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
462−--- vector of results. Equvalent to @flip 'mapM'@.
463−+-- vector of results. Equivalent to @flip 'mapM'@.
464− forM :: Monad m => Vector a -> (a -> m b) -> m (Vector b)
465− {-# INLINE forM #-}
466− forM = G.forM
467−diff -ur hackage-package-vector-0.11.0.0/include/vector.h ghc-package-vector-0.11.0.0/include/vector.h
468−--- hackage-package-vector-0.11.0.0/include/vector.h 2015-07-13 12:26:16.000000000 +0800
469−+++ ghc-package-vector-0.11.0.0/include/vector.h 2001-09-09 09:46:40.000000000 +0800
470−@@ -18,4 +18,3 @@
471−
472− #define PHASE_STREAM Please use "PHASE_FUSED" instead
473− #define INLINE_STREAM Please use "INLINE_FUSED" instead
474−-
475−diff -ur hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs ghc-package-vector-0.11.0.0/tests/Tests/Vector.hs
476−--- hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs 2015-07-13 12:26:16.000000000 +0800
477−+++ ghc-package-vector-0.11.0.0/tests/Tests/Vector.hs 2001-09-09 09:46:40.000000000 +0800
478−@@ -643,6 +643,7 @@
479− testGroup "Data.Vector.Storable.Vector (Double)" (testNumericStorableVector (undefined :: Data.Vector.Storable.Vector Double)),
480−
481− testGroup "Data.Vector.Unboxed.Vector ()" (testUnitUnboxedVector (undefined :: Data.Vector.Unboxed.Vector ())),
482−+ testGroup "Data.Vector.Unboxed.Vector (Bool)" (testBoolUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Bool)),
483− testGroup "Data.Vector.Unboxed.Vector (Int)" (testNumericUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Int)),
484− testGroup "Data.Vector.Unboxed.Vector (Double)" (testNumericUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Double)),
485− testGroup "Data.Vector.Unboxed.Vector (Int,Bool)" (testTupleUnboxedVector (undefined :: Data.Vector.Unboxed.Vector (Int,Bool))),
486−diff -ur hackage-package-vector-0.11.0.0/vector.cabal ghc-package-vector-0.11.0.0/vector.cabal
487−--- hackage-package-vector-0.11.0.0/vector.cabal 2015-07-13 12:26:16.000000000 +0800
488−+++ ghc-package-vector-0.11.0.0/vector.cabal 2001-09-09 09:46:40.000000000 +0800
489−@@ -38,6 +38,7 @@
490− Build-Type: Simple
491−
492− Extra-Source-Files:
493−+ changelog
494− README.md
495− tests/LICENSE
496− tests/Setup.hs
497−@@ -137,9 +138,9 @@
498− Install-Includes:
499− vector.h
500−
501−- Build-Depends: base >= 4.3 && < 4.9
502−+ Build-Depends: base >= 4.3 && < 4.10
503− , primitive >= 0.5.0.1 && < 0.7
504−- , ghc-prim >= 0.2 && < 0.5
505−+ , ghc-prim >= 0.2 && < 0.6
506− , deepseq >= 1.1 && < 1.5
507−
508− Ghc-Options: -O2 -Wall -fno-warn-orphans
patches/ghc841/xhtml-3000.2.2.patchdeleted−20
@@ -1,20 +0,0 @@
1−diff -ur hackage-package-xhtml-3000.2.2/Text/XHtml/Internals.hs ghc-package-xhtml-3000.2.2/Text/XHtml/Internals.hs
2−--- hackage-package-xhtml-3000.2.2/Text/XHtml/Internals.hs 2017-06-18 04:51:30.000000000 +0800
3−+++ ghc-package-xhtml-3000.2.2/Text/XHtml/Internals.hs 2001-09-09 09:46:40.000000000 +0800
4−@@ -17,6 +17,7 @@
5−
6− import Data.Char
7− import qualified Data.Semigroup as Sem
8−+import qualified Data.Monoid as Mon
9−
10− infixr 2 +++ -- combining Html
11− infixr 7 << -- nesting Html
12−@@ -67,7 +68,7 @@
13− instance Sem.Semigroup Html where
14− (<>) = (+++)
15−
16−-instance Sem.Monoid Html where
17−+instance Mon.Monoid Html where
18− mempty = noHtml
19− mappend = (Sem.<>)
20−
patches/ghc842/array-0.5.2.0.patchdeleted−12
@@ -1,12 +0,0 @@
1−diff -ur hackage-package-array-0.5.2.0/array.cabal ghc-package-array-0.5.2.0/array.cabal
2−--- hackage-package-array-0.5.2.0/array.cabal 2017-07-04 06:06:07.000000000 +0800
3−+++ ghc-package-array-0.5.2.0/array.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -37,7 +37,7 @@
5− Trustworthy,
6− UnboxedTuples,
7− UnliftedFFITypes
8−- build-depends: base >= 4.7 && < 4.11
9−+ build-depends: base >= 4.7 && < 4.12
10− ghc-options: -Wall
11− exposed-modules:
12− Data.Array
patches/ghc842/deepseq-1.4.3.0.patchdeleted−12
@@ -1,12 +0,0 @@
1−diff -ur hackage-package-deepseq-1.4.3.0/deepseq.cabal ghc-package-deepseq-1.4.3.0/deepseq.cabal
2−--- hackage-package-deepseq-1.4.3.0/deepseq.cabal 2017-07-20 06:00:58.000000000 +0800
3−+++ ghc-package-deepseq-1.4.3.0/deepseq.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -61,7 +61,7 @@
5− if impl(ghc>=7.8)
6− other-extensions: EmptyCase
7−
8−- build-depends: base >= 4.5 && < 4.11,
9−+ build-depends: base >= 4.5 && < 4.12,
10− array >= 0.4 && < 0.6
11− ghc-options: -Wall
12−
patches/ghc842/default.nix−10
@@ -1,12 +1,2 @@
11{
2− packages.array.patches = [ ./array-0.5.2.0.patch ];
3− packages.deepseq.patches = [ ./deepseq-1.4.3.0.patch ];
4− packages.default.nix.patches = [ ./default.nix ];
5− packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
6− packages.parallel.patches = [ ./parallel-3.2.1.1.patch ];
7− packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
8− packages.random.patches = [ ./random-1.1.patch ];
9− packages.time.patches = [ ./time-1.8.0.2.patch ];
10− packages.unix.patches = [ ./unix-2.7.2.2.patch ];
11− packages.vector.patches = [ ./vector-0.11.0.0.patch ];
122}
patches/ghc842/hpc-0.6.0.3.patchdeleted−16
@@ -1,16 +0,0 @@
1−diff -ur hackage-package-hpc-0.6.0.3/hpc.cabal ghc-package-hpc-0.6.0.3/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -35,9 +35,9 @@
5− Trace.Hpc.Reflect
6−
7− Build-Depends:
8−- base >= 4.4.1 && < 4.10,
9−+ base >= 4.4.1 && < 4.12,
10− containers >= 0.4.1 && < 0.6,
11−- directory >= 1.1 && < 1.3,
12−+ directory >= 1.1 && < 1.4,
13− filepath >= 1 && < 1.5,
14−- time >= 1.2 && < 1.7
15−+ time >= 1.2 && < 1.9
16− ghc-options: -Wall
patches/ghc842/parallel-3.2.1.1.patchdeleted−12
@@ -1,12 +0,0 @@
1−diff -ur hackage-package-parallel-3.2.1.1/parallel.cabal ghc-package-parallel-3.2.1.1/parallel.cabal
2−--- hackage-package-parallel-3.2.1.1/parallel.cabal 2017-04-09 00:25:01.000000000 +0800
3−+++ ghc-package-parallel-3.2.1.1/parallel.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -34,7 +34,7 @@
5−
6− build-depends:
7− array >= 0.3 && < 0.6,
8−- base >= 4.3 && < 4.11,
9−+ base >= 4.3 && < 4.12,
10− containers >= 0.4 && < 0.6,
11− deepseq >= 1.1 && < 1.5
12−
patches/ghc842/parsec-3.1.13.0.patchdeleted−23
@@ -1,23 +0,0 @@
1−diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.0/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -21,8 +21,8 @@
5− license-file: LICENSE
6− author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
7− maintainer: Herbert Valerio Riedel <hvr@gnu.org>
8−-homepage: https://github.com/hvr/parsec
9−-bug-reports: https://github.com/hvr/parsec/issues
10−+homepage: https://github.com/haskell/parsec
11−+bug-reports: https://github.com/haskell/parsec/issues
12− category: Parsing
13−
14− build-type: Simple
15−@@ -32,7 +32,7 @@
16−
17− source-repository head
18− type: git
19−- location: https://github.com/hvr/parsec
20−+ location: https://github.com/haskell/parsec
21−
22− library
23− hs-source-dirs: src
patches/ghc842/random-1.1.patchdeleted−406
@@ -1,406 +0,0 @@
1−diff -ur hackage-package-random-1.1/README.md ghc-package-random-1.1/README.md
2−--- hackage-package-random-1.1/README.md 2014-09-17 05:34:43.000000000 +0800
3−+++ ghc-package-random-1.1/README.md 2001-09-09 09:46:40.000000000 +0800
4−@@ -10,7 +10,7 @@
5−
6− A module supplying this interface is required for Haskell 98 (but not Haskell
7− 2010). An older [version]
8−-(http://www.haskell.org/ghc/docs/latest/html/libraries/haskell98/Random.html)
9−+(https://downloads.haskell.org/~ghc/latest/docs/html/libraries/haskell98-2.0.0.3/Random.html)
10− of this library is included with GHC in the haskell98 package. This newer
11− version, with compatible api, is included in the [Haskell Platform]
12− (http://www.haskell.org/platform/contents.html).
13−diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/System/Random.hs
14−--- hackage-package-random-1.1/System/Random.hs 2014-09-17 05:34:43.000000000 +0800
15−+++ ghc-package-random-1.1/System/Random.hs 2001-09-09 09:46:40.000000000 +0800
16−@@ -7,7 +7,7 @@
17− -- Module : System.Random
18− -- Copyright : (c) The University of Glasgow 2001
19− -- License : BSD-style (see the file LICENSE in the 'random' repository)
20−---
21−+--
22− -- Maintainer : libraries@haskell.org
23− -- Stability : stable
24− -- Portability : portable
25−@@ -18,7 +18,7 @@
26− -- or to get different results on each run by using the system-initialised
27− -- generator or by supplying a seed from some other source.
28− --
29−--- The library is split into two layers:
30−+-- The library is split into two layers:
31− --
32− -- * A core /random number generator/ provides a supply of bits.
33− -- The class 'RandomGen' provides a common interface to such generators.
34−@@ -40,40 +40,40 @@
35− #include "MachDeps.h"
36−
37− module System.Random
38−- (
39−+ (
40−
41−- -- $intro
42−+ -- $intro
43−
44−- -- * Random number generators
45−+ -- * Random number generators
46−
47− #ifdef ENABLE_SPLITTABLEGEN
48−- RandomGen(next, genRange)
49−- , SplittableGen(split)
50−+ RandomGen(next, genRange)
51−+ , SplittableGen(split)
52− #else
53−- RandomGen(next, genRange, split)
54−+ RandomGen(next, genRange, split)
55− #endif
56−- -- ** Standard random number generators
57−- , StdGen
58−- , mkStdGen
59−+ -- ** Standard random number generators
60−+ , StdGen
61−+ , mkStdGen
62−
63−- -- ** The global random number generator
64−+ -- ** The global random number generator
65−
66−- -- $globalrng
67−+ -- $globalrng
68−
69−- , getStdRandom
70−- , getStdGen
71−- , setStdGen
72−- , newStdGen
73−+ , getStdRandom
74−+ , getStdGen
75−+ , setStdGen
76−+ , newStdGen
77−
78−- -- * Random values of various types
79−- , Random ( random, randomR,
80−- randoms, randomRs,
81−- randomIO, randomRIO )
82−+ -- * Random values of various types
83−+ , Random ( random, randomR,
84−+ randoms, randomRs,
85−+ randomIO, randomRIO )
86−
87−- -- * References
88−- -- $references
89−+ -- * References
90−+ -- $references
91−
92−- ) where
93−+ ) where
94−
95− import Prelude
96−
97−@@ -83,15 +83,15 @@
98− import Foreign.C.Types
99−
100− #ifdef __NHC__
101−-import CPUTime ( getCPUTime )
102−+import CPUTime ( getCPUTime )
103− import Foreign.Ptr ( Ptr, nullPtr )
104−-import Foreign.C ( CTime, CUInt )
105−+import Foreign.C ( CTime, CUInt )
106− #else
107−-import System.CPUTime ( getCPUTime )
108−-import Data.Time ( getCurrentTime, UTCTime(..) )
109−+import System.CPUTime ( getCPUTime )
110−+import Data.Time ( getCurrentTime, UTCTime(..) )
111− import Data.Ratio ( numerator, denominator )
112− #endif
113−-import Data.Char ( isSpace, chr, ord )
114−+import Data.Char ( isSpace, chr, ord )
115− import System.IO.Unsafe ( unsafePerformIO )
116− import Data.IORef ( IORef, newIORef, readIORef, writeIORef )
117− #if MIN_VERSION_base (4,6,0)
118−@@ -99,7 +99,7 @@
119− #else
120− import Data.IORef ( atomicModifyIORef )
121− #endif
122−-import Numeric ( readDec )
123−+import Numeric ( readDec )
124−
125− #ifdef __GLASGOW_HASKELL__
126− import GHC.Exts ( build )
127−@@ -201,17 +201,17 @@
128−
129− In addition, 'reads' may be used to map an arbitrary string (not necessarily one
130− produced by 'show') onto a value of type 'StdGen'. In general, the 'Read'
131−-instance of 'StdGen' has the following properties:
132−+instance of 'StdGen' has the following properties:
133−
134−-* It guarantees to succeed on any string.
135−+* It guarantees to succeed on any string.
136−
137−-* It guarantees to consume only a finite portion of the string.
138−+* It guarantees to consume only a finite portion of the string.
139−
140− * Different argument strings are likely to result in different results.
141−
142− -}
143−
144−-data StdGen
145−+data StdGen
146− = StdGen !Int32 !Int32
147−
148− instance RandomGen StdGen where
149−@@ -224,8 +224,8 @@
150− split = stdSplit
151−
152− instance Show StdGen where
153−- showsPrec p (StdGen s1 s2) =
154−- showsPrec p s1 .
155−+ showsPrec p (StdGen s1 s2) =
156−+ showsPrec p s1 .
157− showChar ' ' .
158− showsPrec p s2
159−
160−@@ -234,11 +234,11 @@
161− case try_read r of
162− r'@[_] -> r'
163− _ -> [stdFromString r] -- because it shouldn't ever fail.
164−- where
165−+ where
166− try_read r = do
167− (s1, r1) <- readDec (dropWhile isSpace r)
168−- (s2, r2) <- readDec (dropWhile isSpace r1)
169−- return (StdGen s1 s2, r2)
170−+ (s2, r2) <- readDec (dropWhile isSpace r1)
171−+ return (StdGen s1 s2, r2)
172−
173− {-
174− If we cannot unravel the StdGen from a string, create
175−@@ -246,7 +246,7 @@
176− -}
177− stdFromString :: String -> (StdGen, String)
178− stdFromString s = (mkStdGen num, rest)
179−- where (cs, rest) = splitAt 6 s
180−+ where (cs, rest) = splitAt 6 s
181− num = foldl (\a x -> x + 3 * a) 1 (map ord cs)
182−
183−
184−@@ -266,11 +266,11 @@
185− mkStdGen32 :: Int32 -> StdGen
186− mkStdGen32 sMaybeNegative = StdGen (s1+1) (s2+1)
187− where
188−- -- We want a non-negative number, but we can't just take the abs
189−- -- of sMaybeNegative as -minBound == minBound.
190−- s = sMaybeNegative .&. maxBound
191−- (q, s1) = s `divMod` 2147483562
192−- s2 = q `mod` 2147483398
193−+ -- We want a non-negative number, but we can't just take the abs
194−+ -- of sMaybeNegative as -minBound == minBound.
195−+ s = sMaybeNegative .&. maxBound
196−+ (q, s1) = s `divMod` 2147483562
197−+ s2 = q `mod` 2147483398
198−
199− createStdGen :: Integer -> StdGen
200− createStdGen s = mkStdGen32 $ fromIntegral s
201−@@ -323,7 +323,7 @@
202− -- | A variant of 'random' that uses the global random number generator
203− -- (see "System.Random#globalrng").
204− randomIO :: IO a
205−- randomIO = getStdRandom random
206−+ randomIO = getStdRandom random
207−
208− -- | Produce an infinite list-equivalent of random values.
209− {-# INLINE buildRandoms #-}
210−@@ -340,7 +340,7 @@
211−
212− instance Random Integer where
213− randomR ival g = randomIvalInteger ival g
214−- random g = randomR (toInteger (minBound::Int), toInteger (maxBound::Int)) g
215−+ random g = randomR (toInteger (minBound::Int), toInteger (maxBound::Int)) g
216−
217− instance Random Int where randomR = randomIvalIntegral; random = randomBounded
218− instance Random Int8 where randomR = randomIvalIntegral; random = randomBounded
219−@@ -378,13 +378,13 @@
220− instance Random CUIntMax where randomR = randomIvalIntegral; random = randomBounded
221−
222− instance Random Char where
223−- randomR (a,b) g =
224−+ randomR (a,b) g =
225− case (randomIvalInteger (toInteger (ord a), toInteger (ord b)) g) of
226− (x,g') -> (chr x, g')
227−- random g = randomR (minBound,maxBound) g
228−+ random g = randomR (minBound,maxBound) g
229−
230− instance Random Bool where
231−- randomR (a,b) g =
232−+ randomR (a,b) g =
233− case (randomIvalInteger (bool2Int a, bool2Int b) g) of
234− (x, g') -> (int2Bool x, g')
235− where
236−@@ -392,42 +392,42 @@
237− bool2Int False = 0
238− bool2Int True = 1
239−
240−- int2Bool :: Int -> Bool
241−- int2Bool 0 = False
242−- int2Bool _ = True
243−+ int2Bool :: Int -> Bool
244−+ int2Bool 0 = False
245−+ int2Bool _ = True
246−
247−- random g = randomR (minBound,maxBound) g
248−+ random g = randomR (minBound,maxBound) g
249−
250− {-# INLINE randomRFloating #-}
251− randomRFloating :: (Fractional a, Num a, Ord a, Random a, RandomGen g) => (a, a) -> g -> (a, g)
252−-randomRFloating (l,h) g
253−+randomRFloating (l,h) g
254− | l>h = randomRFloating (h,l) g
255−- | otherwise = let (coef,g') = random g in
256−- (2.0 * (0.5*l + coef * (0.5*h - 0.5*l)), g') -- avoid overflow
257−+ | otherwise = let (coef,g') = random g in
258−+ (2.0 * (0.5*l + coef * (0.5*h - 0.5*l)), g') -- avoid overflow
259−
260− instance Random Double where
261− randomR = randomRFloating
262−- random rng =
263−- case random rng of
264−- (x,rng') ->
265−+ random rng =
266−+ case random rng of
267−+ (x,rng') ->
268− -- We use 53 bits of randomness corresponding to the 53 bit significand:
269−- ((fromIntegral (mask53 .&. (x::Int64)) :: Double)
270−- / fromIntegral twoto53, rng')
271−- where
272−+ ((fromIntegral (mask53 .&. (x::Int64)) :: Double)
273−+ / fromIntegral twoto53, rng')
274−+ where
275− twoto53 = (2::Int64) ^ (53::Int64)
276− mask53 = twoto53 - 1
277−-
278−+
279− instance Random Float where
280− randomR = randomRFloating
281−- random rng =
282−- -- TODO: Faster to just use 'next' IF it generates enough bits of randomness.
283−- case random rng of
284−- (x,rng') ->
285−+ random rng =
286−+ -- TODO: Faster to just use 'next' IF it generates enough bits of randomness.
287−+ case random rng of
288−+ (x,rng') ->
289− -- We use 24 bits of randomness corresponding to the 24 bit significand:
290−- ((fromIntegral (mask24 .&. (x::Int32)) :: Float)
291−- / fromIntegral twoto24, rng')
292−- -- Note, encodeFloat is another option, but I'm not seeing slightly
293−- -- worse performance with the following [2011.06.25]:
294−+ ((fromIntegral (mask24 .&. (x::Int32)) :: Float)
295−+ / fromIntegral twoto24, rng')
296−+ -- Note, encodeFloat is another option, but I'm not seeing slightly
297−+ -- worse performance with the following [2011.06.25]:
298− -- (encodeFloat rand (-24), rng')
299− where
300− mask24 = twoto24 - 1
301−@@ -436,8 +436,8 @@
302− -- CFloat/CDouble are basically the same as a Float/Double:
303− instance Random CFloat where
304− randomR = randomRFloating
305−- random rng = case random rng of
306−- (x,rng') -> (realToFrac (x::Float), rng')
307−+ random rng = case random rng of
308−+ (x,rng') -> (realToFrac (x::Float), rng')
309−
310− instance Random CDouble where
311− randomR = randomRFloating
312−@@ -445,8 +445,8 @@
313− -- Presently, this is showing better performance than the Double instance:
314− -- (And yet, if the Double instance uses randomFrac then its performance is much worse!)
315− random = randomFrac
316−- -- random rng = case random rng of
317−- -- (x,rng') -> (realToFrac (x::Double), rng')
318−+ -- random rng = case random rng of
319−+ -- (x,rng') -> (realToFrac (x::Double), rng')
320−
321− mkStdRNG :: Integer -> IO StdGen
322− mkStdRNG o = do
323−@@ -463,7 +463,7 @@
324−
325− {-# SPECIALIZE randomIvalInteger :: (Num a) =>
326− (Integer, Integer) -> StdGen -> (a, StdGen) #-}
327−-
328−+
329− randomIvalInteger :: (RandomGen g, Num a) => (Integer, Integer) -> g -> (a, g)
330− randomIvalInteger (l,h) rng
331− | l > h = randomIvalInteger (h,l) rng
332−@@ -482,7 +482,7 @@
333− k = h - l + 1
334− magtgt = k * q
335−
336−- -- generate random values until we exceed the target magnitude
337−+ -- generate random values until we exceed the target magnitude
338− f mag v g | mag >= magtgt = (v, g)
339− | otherwise = v' `seq`f (mag*b) v' g' where
340− (x,g') = next g
341−@@ -494,18 +494,18 @@
342− randomFrac = randomIvalDouble (0::Double,1) realToFrac
343−
344− randomIvalDouble :: (RandomGen g, Fractional a) => (Double, Double) -> (Double -> a) -> g -> (a, g)
345−-randomIvalDouble (l,h) fromDouble rng
346−+randomIvalDouble (l,h) fromDouble rng
347− | l > h = randomIvalDouble (h,l) fromDouble rng
348−- | otherwise =
349−+ | otherwise =
350− case (randomIvalInteger (toInteger (minBound::Int32), toInteger (maxBound::Int32)) rng) of
351−- (x, rng') ->
352−- let
353−- scaled_x =
354−- fromDouble (0.5*l + 0.5*h) + -- previously (l+h)/2, overflowed
355−+ (x, rng') ->
356−+ let
357−+ scaled_x =
358−+ fromDouble (0.5*l + 0.5*h) + -- previously (l+h)/2, overflowed
359− fromDouble ((0.5*h - 0.5*l) / (0.5 * realToFrac int32Count)) * -- avoid overflow
360−- fromIntegral (x::Int32)
361−- in
362−- (scaled_x, rng')
363−+ fromIntegral (x::Int32)
364−+ in
365−+ (scaled_x, rng')
366−
367− int32Count :: Integer
368− int32Count = toInteger (maxBound::Int32) - toInteger (minBound::Int32) + 1 -- GHC ticket #3982
369−@@ -516,16 +516,16 @@
370− stdNext :: StdGen -> (Int, StdGen)
371− -- Returns values in the range stdRange
372− stdNext (StdGen s1 s2) = (fromIntegral z', StdGen s1'' s2'')
373−- where z' = if z < 1 then z + 2147483562 else z
374−- z = s1'' - s2''
375−+ where z' = if z < 1 then z + 2147483562 else z
376−+ z = s1'' - s2''
377−
378−- k = s1 `quot` 53668
379−- s1' = 40014 * (s1 - k * 53668) - k * 12211
380−- s1'' = if s1' < 0 then s1' + 2147483563 else s1'
381−-
382−- k' = s2 `quot` 52774
383−- s2' = 40692 * (s2 - k' * 52774) - k' * 3791
384−- s2'' = if s2' < 0 then s2' + 2147483399 else s2'
385−+ k = s1 `quot` 53668
386−+ s1' = 40014 * (s1 - k * 53668) - k * 12211
387−+ s1'' = if s1' < 0 then s1' + 2147483563 else s1'
388−+
389−+ k' = s2 `quot` 52774
390−+ s2' = 40692 * (s2 - k' * 52774) - k' * 3791
391−+ s2'' = if s2' < 0 then s2' + 2147483399 else s2'
392−
393− stdSplit :: StdGen -> (StdGen, StdGen)
394− stdSplit std@(StdGen s1 s2)
395−diff -ur hackage-package-random-1.1/random.cabal ghc-package-random-1.1/random.cabal
396−--- hackage-package-random-1.1/random.cabal 2014-09-17 05:34:43.000000000 +0800
397−+++ ghc-package-random-1.1/random.cabal 2001-09-09 09:46:40.000000000 +0800
398−@@ -40,7 +40,7 @@
399−
400− source-repository head
401− type: git
402−- location: http://git.haskell.org/packages/random.git
403−+ location: https://github.com/haskell/random.git
404−
405− -- To run the Test-Suite:
406− -- $ cabal configure --enable-tests
patches/ghc842/time-1.8.0.2.patchdeleted−146
@@ -1,146 +0,0 @@
1−diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
4−@@ -1,6 +1,6 @@
5− #! /bin/sh
6− # Guess values for system-dependent variables and create Makefiles.
7−-# Generated by GNU Autoconf 2.69 for Haskell time package 1.8.
8−+# Generated by GNU Autoconf 2.69 for Haskell time package 1.8.0.2.
9− #
10− # Report bugs to <ashley@semantic.org>.
11− #
12−@@ -580,8 +580,8 @@
13− # Identity of this package.
14− PACKAGE_NAME='Haskell time package'
15− PACKAGE_TARNAME='time'
16−-PACKAGE_VERSION='1.8'
17−-PACKAGE_STRING='Haskell time package 1.8'
18−+PACKAGE_VERSION='1.8.0.2'
19−+PACKAGE_STRING='Haskell time package 1.8.0.2'
20− PACKAGE_BUGREPORT='ashley@semantic.org'
21− PACKAGE_URL=''
22−
23−@@ -653,7 +653,6 @@
24− docdir
25− oldincludedir
26− includedir
27−-runstatedir
28− localstatedir
29− sharedstatedir
30− sysconfdir
31−@@ -726,7 +725,6 @@
32− sysconfdir='${prefix}/etc'
33− sharedstatedir='${prefix}/com'
34− localstatedir='${prefix}/var'
35−-runstatedir='${localstatedir}/run'
36− includedir='${prefix}/include'
37− oldincludedir='/usr/include'
38− docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40− | -silent | --silent | --silen | --sile | --sil)
41− silent=yes ;;
42−
43−- -runstatedir | --runstatedir | --runstatedi | --runstated \
44−- | --runstate | --runstat | --runsta | --runst | --runs \
45−- | --run | --ru | --r)
46−- ac_prev=runstatedir ;;
47−- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
48−- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
49−- | --run=* | --ru=* | --r=*)
50−- runstatedir=$ac_optarg ;;
51−-
52− -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53− ac_prev=sbindir ;;
54− -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56− for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57− datadir sysconfdir sharedstatedir localstatedir includedir \
58− oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
59−- libdir localedir mandir runstatedir
60−+ libdir localedir mandir
61− do
62− eval ac_val=\$$ac_var
63− # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65− # Omit some internal or obsolete options to make the list less imposing.
66− # This message is too long to be a string in the A/UX 3.1 sh.
67− cat <<_ACEOF
68−-\`configure' configures Haskell time package 1.8 to adapt to many kinds of systems.
69−+\`configure' configures Haskell time package 1.8.0.2 to adapt to many kinds of systems.
70−
71− Usage: $0 [OPTION]... [VAR=VALUE]...
72−
73−@@ -1278,7 +1267,6 @@
74− --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75− --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76− --localstatedir=DIR modifiable single-machine data [PREFIX/var]
77−- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
78− --libdir=DIR object code libraries [EPREFIX/lib]
79− --includedir=DIR C header files [PREFIX/include]
80− --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82−
83− if test -n "$ac_init_help"; then
84− case $ac_init_help in
85−- short | recursive ) echo "Configuration of Haskell time package 1.8:";;
86−+ short | recursive ) echo "Configuration of Haskell time package 1.8.0.2:";;
87− esac
88− cat <<\_ACEOF
89−
90−@@ -1386,7 +1374,7 @@
91− test -n "$ac_init_help" && exit $ac_status
92− if $ac_init_version; then
93− cat <<\_ACEOF
94−-Haskell time package configure 1.8
95−+Haskell time package configure 1.8.0.2
96− generated by GNU Autoconf 2.69
97−
98− Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100− This file contains any messages produced by compilers while
101− running configure, to aid debugging if configure makes a mistake.
102−
103−-It was created by Haskell time package $as_me 1.8, which was
104−+It was created by Haskell time package $as_me 1.8.0.2, which was
105− generated by GNU Autoconf 2.69. Invocation command line was
106−
107− $ $0 $@
108−@@ -4193,7 +4181,7 @@
109− # report actual input values of CONFIG_FILES etc. instead of their
110− # values after options handling.
111− ac_log="
112−-This file was extended by Haskell time package $as_me 1.8, which was
113−+This file was extended by Haskell time package $as_me 1.8.0.2, which was
114− generated by GNU Autoconf 2.69. Invocation command line was
115−
116− CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118− cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119− ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120− ac_cs_version="\\
121−-Haskell time package config.status 1.8
122−+Haskell time package config.status 1.8.0.2
123− configured by $0, generated by GNU Autoconf 2.69,
124− with options \\"\$ac_cs_config\\"
125−
126−diff -ur hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h
127−--- hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2017-05-13 18:29:46.000000000 +0800
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
129−@@ -69,7 +69,7 @@
130− #define PACKAGE_NAME "Haskell time package"
131−
132− /* Define to the full name and version of this package. */
133−-#define PACKAGE_STRING "Haskell time package 1.8"
134−+#define PACKAGE_STRING "Haskell time package 1.8.0.2"
135−
136− /* Define to the one symbol short name of this package. */
137− #define PACKAGE_TARNAME "time"
138−@@ -78,7 +78,7 @@
139− #define PACKAGE_URL ""
140−
141− /* Define to the version of this package. */
142−-#define PACKAGE_VERSION "1.8"
143−+#define PACKAGE_VERSION "1.8.0.2"
144−
145− /* Define to 1 if you have the ANSI C header files. */
146− #define STDC_HEADERS 1
patches/ghc842/unix-2.7.2.2.patchdeleted−109
@@ -1,109 +0,0 @@
1−diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
4−@@ -667,7 +667,6 @@
5− docdir
6− oldincludedir
7− includedir
8−-runstatedir
9− localstatedir
10− sharedstatedir
11− sysconfdir
12−@@ -739,7 +738,6 @@
13− sysconfdir='${prefix}/etc'
14− sharedstatedir='${prefix}/com'
15− localstatedir='${prefix}/var'
16−-runstatedir='${localstatedir}/run'
17− includedir='${prefix}/include'
18− oldincludedir='/usr/include'
19− docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21− | -silent | --silent | --silen | --sile | --sil)
22− silent=yes ;;
23−
24−- -runstatedir | --runstatedir | --runstatedi | --runstated \
25−- | --runstate | --runstat | --runsta | --runst | --runs \
26−- | --run | --ru | --r)
27−- ac_prev=runstatedir ;;
28−- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
29−- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
30−- | --run=* | --ru=* | --r=*)
31−- runstatedir=$ac_optarg ;;
32−-
33− -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34− ac_prev=sbindir ;;
35− -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37− for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38− datadir sysconfdir sharedstatedir localstatedir includedir \
39− oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
40−- libdir localedir mandir runstatedir
41−+ libdir localedir mandir
42− do
43− eval ac_val=\$$ac_var
44− # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46− --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47− --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48− --localstatedir=DIR modifiable single-machine data [PREFIX/var]
49−- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
50− --libdir=DIR object code libraries [EPREFIX/lib]
51− --includedir=DIR C header files [PREFIX/include]
52− --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54− We can't simply define LARGE_OFF_T to be 9223372036854775807,
55− since some C++ compilers masquerading as C compilers
56− incorrectly reject 9223372036854775807. */
57−-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
58−+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
59− int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60− && LARGE_OFF_T % 2147483647 == 1)
61− ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63− We can't simply define LARGE_OFF_T to be 9223372036854775807,
64− since some C++ compilers masquerading as C compilers
65− incorrectly reject 9223372036854775807. */
66−-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
67−+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
68− int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69− && LARGE_OFF_T % 2147483647 == 1)
70− ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72− We can't simply define LARGE_OFF_T to be 9223372036854775807,
73− since some C++ compilers masquerading as C compilers
74− incorrectly reject 9223372036854775807. */
75−-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
76−+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
77− int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78− && LARGE_OFF_T % 2147483647 == 1)
79− ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81− We can't simply define LARGE_OFF_T to be 9223372036854775807,
82− since some C++ compilers masquerading as C compilers
83− incorrectly reject 9223372036854775807. */
84−-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
85−+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
86− int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87− && LARGE_OFF_T % 2147483647 == 1)
88− ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90− We can't simply define LARGE_OFF_T to be 9223372036854775807,
91− since some C++ compilers masquerading as C compilers
92− incorrectly reject 9223372036854775807. */
93−-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
94−+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
95− int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96− && LARGE_OFF_T % 2147483647 == 1)
97− ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101−@@ -62,7 +62,7 @@
102− buildable: False
103−
104− build-depends:
105−- base >= 4.5 && < 4.11,
106−+ base >= 4.5 && < 4.12,
107− bytestring >= 0.9.2 && < 0.11,
108− time >= 1.2 && < 1.9
109−
patches/ghc842/vector-0.11.0.0.patchdeleted−508
@@ -1,508 +0,0 @@
1−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs
2−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
3−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
4−@@ -101,12 +101,20 @@
5− scanl, scanl1,
6− enumFromTo, enumFromThenTo )
7−
8−-import Data.Int ( Int8, Int16, Int32, Int64 )
9−-import Data.Word ( Word8, Word16, Word32, Word, Word64 )
10−+import Data.Int ( Int8, Int16, Int32 )
11−+import Data.Word ( Word8, Word16, Word32, Word64 )
12−+
13−+#if !MIN_VERSION_base(4,8,0)
14−+import Data.Word ( Word )
15−+#endif
16−
17− #include "vector.h"
18− #include "MachDeps.h"
19−
20−+#if WORD_SIZE_IN_BITS > 32
21−+import Data.Int ( Int64 )
22−+#endif
23−+
24− data Chunk v a = Chunk Int (forall m. (PrimMonad m, Vector v a) => Mutable v (PrimState m) a -> m ())
25−
26− -- | Monadic streams
27−@@ -888,6 +896,7 @@
28− :: Monad m => Integer -> Integer -> Bundle m v Integer #-}
29−
30−
31−+#if WORD_SIZE_IN_BITS > 32
32−
33− -- FIXME: the "too large" test is totally wrong
34− enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Bundle m v a
35−@@ -906,7 +915,6 @@
36− step z | z <= y = return $ Yield z (z+1)
37− | otherwise = return $ Done
38−
39−-#if WORD_SIZE_IN_BITS > 32
40−
41− {-# RULES
42−
43−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs
44−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs 2015-07-13 12:26:16.000000000 +0800
45−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs 2001-09-09 09:46:40.000000000 +0800
46−@@ -111,7 +111,7 @@
47− type MBundle = M.Bundle
48−
49− inplace :: (forall m. Monad m => S.Stream m a -> S.Stream m b)
50−- -> (Size -> Size) -> Bundle v a -> Bundle v b
51−+ -> (Size -> Size) -> Bundle v a -> Bundle v b
52− {-# INLINE_FUSED inplace #-}
53− inplace f g b = b `seq` M.fromStream (f (M.elements b)) (g (M.size b))
54−
55−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs
56−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
57−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
58−@@ -89,8 +89,12 @@
59− scanl, scanl1,
60− enumFromTo, enumFromThenTo )
61−
62−-import Data.Int ( Int8, Int16, Int32, Int64 )
63−+import Data.Int ( Int8, Int16, Int32 )
64−+import Data.Word ( Word8, Word16, Word32, Word64 )
65−+
66−+#if !MIN_VERSION_base(4,8,0)
67− import Data.Word ( Word8, Word16, Word32, Word, Word64 )
68−+#endif
69−
70− #if __GLASGOW_HASKELL__ >= 708
71− import GHC.Types ( SPEC(..) )
72−@@ -101,6 +105,10 @@
73− #include "vector.h"
74− #include "MachDeps.h"
75−
76−+#if WORD_SIZE_IN_BITS > 32
77−+import Data.Int ( Int64 )
78−+#endif
79−+
80− #if __GLASGOW_HASKELL__ < 708
81− data SPEC = SPEC | SPEC2
82− #if __GLASGOW_HASKELL__ >= 700
83−@@ -1403,6 +1411,8 @@
84−
85−
86−
87−+#if WORD_SIZE_IN_BITS > 32
88−+
89− -- FIXME: the "too large" test is totally wrong
90− enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Stream m a
91− {-# INLINE_FUSED enumFromTo_big_int #-}
92−@@ -1412,8 +1422,6 @@
93− step z | z <= y = return $ Yield z (z+1)
94− | otherwise = return $ Done
95−
96−-#if WORD_SIZE_IN_BITS > 32
97−-
98− {-# RULES
99−
100− "enumFromTo<Int64> [Stream]"
101−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs
102−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2015-07-13 12:26:16.000000000 +0800
103−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2001-09-09 09:46:40.000000000 +0800
104−@@ -1,3 +1,4 @@
105−+{-# LANGUAGE CPP #-}
106− -- |
107− -- Module : Data.Vector.Fusion.Util
108− -- Copyright : (c) Roman Leshchinskiy 2009
109−@@ -16,7 +17,9 @@
110− delay_inline, delayed_min
111− ) where
112−
113−+#if !MIN_VERSION_base(4,8,0)
114− import Control.Applicative (Applicative(..))
115−+#endif
116−
117− -- | Identity monad
118− newtype Id a = Id { unId :: a }
119−@@ -29,7 +32,7 @@
120− Id f <*> Id x = Id (f x)
121−
122− instance Monad Id where
123−- return = Id
124−+ return = pure
125− Id x >>= f = f x
126−
127− -- | Box monad
128−@@ -43,7 +46,7 @@
129− Box f <*> Box x = Box (f x)
130−
131− instance Monad Box where
132−- return = Box
133−+ return = pure
134− Box x >>= f = f x
135−
136− -- | Delay inlining a function until late in the game (simplifier phase 0).
137−@@ -55,4 +58,3 @@
138− delayed_min :: Int -> Int -> Int
139− {-# INLINE [0] delayed_min #-}
140− delayed_min m n = min m n
141−-
142−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs
143−--- hackage-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
144−+++ ghc-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
145−@@ -584,7 +584,7 @@
146− new n = BOUNDS_CHECK(checkLength) "new" n
147− $ unsafeNew n >>= \v -> basicInitialize v >> return v
148−
149−--- | Create a mutable vector of the given length. The length is not checked.
150−+-- | Create a mutable vector of the given length. The memory is not initialized.
151− unsafeNew :: (PrimMonad m, MVector v a) => Int -> m (v (PrimState m) a)
152− {-# INLINE unsafeNew #-}
153− unsafeNew n = UNSAFE_CHECK(checkLength) "unsafeNew" n
154−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Generic.hs ghc-package-vector-0.11.0.0/Data/Vector/Generic.hs
155−--- hackage-package-vector-0.11.0.0/Data/Vector/Generic.hs 2015-07-13 12:26:16.000000000 +0800
156−+++ ghc-package-vector-0.11.0.0/Data/Vector/Generic.hs 2001-09-09 09:46:40.000000000 +0800
157−@@ -1038,7 +1038,7 @@
158− imapM_ f = Bundle.mapM_ (uncurry f) . Bundle.indexed . stream
159−
160− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
161−--- vector of results. Equvalent to @flip 'mapM'@.
162−+-- vector of results. Equivalent to @flip 'mapM'@.
163− forM :: (Monad m, Vector v a, Vector v b) => v a -> (a -> m b) -> m (v b)
164− {-# INLINE forM #-}
165− forM as f = mapM f as
166−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Mutable.hs
167−--- hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
168−+++ ghc-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
169−@@ -268,7 +268,7 @@
170− {-# INLINE new #-}
171− new = G.new
172−
173−--- | Create a mutable vector of the given length. The length is not checked.
174−+-- | Create a mutable vector of the given length. The memory is not initialized.
175− unsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) a)
176− {-# INLINE unsafeNew #-}
177− unsafeNew = G.unsafeNew
178−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs
179−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
180−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
181−@@ -211,7 +211,7 @@
182− {-# INLINE new #-}
183− new = G.new
184−
185−--- | Create a mutable vector of the given length. The length is not checked.
186−+-- | Create a mutable vector of the given length. The memory is not initialized.
187− unsafeNew :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
188− {-# INLINE unsafeNew #-}
189− unsafeNew = G.unsafeNew
190−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs ghc-package-vector-0.11.0.0/Data/Vector/Primitive.hs
191−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2015-07-13 12:26:16.000000000 +0800
192−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2001-09-09 09:46:40.000000000 +0800
193−@@ -164,7 +164,9 @@
194− import Data.Data ( Data(..) )
195− import Text.Read ( Read(..), readListPrecDefault )
196−
197−+#if !MIN_VERSION_base(4,8,0)
198− import Data.Monoid ( Monoid(..) )
199−+#endif
200−
201− #if __GLASGOW_HASKELL__ >= 708
202− import qualified GHC.Exts as Exts
203−@@ -773,7 +775,7 @@
204− mapM_ = G.mapM_
205−
206− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
207−--- vector of results. Equvalent to @flip 'mapM'@.
208−+-- vector of results. Equivalent to @flip 'mapM'@.
209− forM :: (Monad m, Prim a, Prim b) => Vector a -> (a -> m b) -> m (Vector b)
210− {-# INLINE forM #-}
211− forM = G.forM
212−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs
213−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
214−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
215−@@ -1,4 +1,4 @@
216−-{-# LANGUAGE CPP, DeriveDataTypeable, MultiParamTypeClasses, FlexibleInstances, ScopedTypeVariables #-}
217−+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, MagicHash, MultiParamTypeClasses, ScopedTypeVariables #-}
218−
219− -- |
220− -- Module : Data.Vector.Storable.Mutable
221−@@ -65,8 +65,13 @@
222− import Foreign.Storable
223− import Foreign.ForeignPtr
224−
225−-#if __GLASGOW_HASKELL__ >= 605
226−-import GHC.ForeignPtr (mallocPlainForeignPtrBytes)
227−+#if __GLASGOW_HASKELL__ >= 706
228−+import GHC.ForeignPtr (mallocPlainForeignPtrAlignedBytes)
229−+#elif __GLASGOW_HASKELL__ >= 700
230−+import Data.Primitive.ByteArray (MutableByteArray(..), newAlignedPinnedByteArray,
231−+ unsafeFreezeByteArray)
232−+import GHC.Prim (byteArrayContents#, unsafeCoerce#)
233−+import GHC.ForeignPtr
234− #endif
235−
236− import Foreign.Ptr
237−@@ -201,11 +206,26 @@
238− {-# INLINE mallocVector #-}
239− mallocVector :: Storable a => Int -> IO (ForeignPtr a)
240− mallocVector =
241−-#if __GLASGOW_HASKELL__ >= 605
242−- doMalloc undefined
243−- where
244−- doMalloc :: Storable b => b -> Int -> IO (ForeignPtr b)
245−- doMalloc dummy size = mallocPlainForeignPtrBytes (size * sizeOf dummy)
246−+#if __GLASGOW_HASKELL__ >= 706
247−+ doMalloc undefined
248−+ where
249−+ doMalloc :: Storable b => b -> Int -> IO (ForeignPtr b)
250−+ doMalloc dummy size =
251−+ mallocPlainForeignPtrAlignedBytes (size * sizeOf dummy) (alignment dummy)
252−+#elif __GLASGOW_HASKELL__ >= 700
253−+ doMalloc undefined
254−+ where
255−+ doMalloc :: Storable b => b -> Int -> IO (ForeignPtr b)
256−+ doMalloc dummy size = do
257−+ arr@(MutableByteArray arr#) <- newAlignedPinnedByteArray arrSize arrAlign
258−+ newConcForeignPtr
259−+ (Ptr (byteArrayContents# (unsafeCoerce# arr#)))
260−+ -- Keep reference to mutable byte array until whole ForeignPtr goes out
261−+ -- of scope.
262−+ (touch arr)
263−+ where
264−+ arrSize = size * sizeOf dummy
265−+ arrAlign = alignment dummy
266− #else
267− mallocForeignPtrArray
268− #endif
269−@@ -293,7 +313,7 @@
270− {-# INLINE new #-}
271− new = G.new
272−
273−--- | Create a mutable vector of the given length. The length is not checked.
274−+-- | Create a mutable vector of the given length. The memory is not initialized.
275− unsafeNew :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
276− {-# INLINE unsafeNew #-}
277− unsafeNew = G.unsafeNew
278−@@ -322,14 +342,14 @@
279− -- | Grow a vector by the given number of elements. The number must be
280− -- positive.
281− grow :: (PrimMonad m, Storable a)
282−- => MVector (PrimState m) a -> Int -> m (MVector (PrimState m) a)
283−+ => MVector (PrimState m) a -> Int -> m (MVector (PrimState m) a)
284− {-# INLINE grow #-}
285− grow = G.grow
286−
287− -- | Grow a vector by the given number of elements. The number must be
288− -- positive but this is not checked.
289− unsafeGrow :: (PrimMonad m, Storable a)
290−- => MVector (PrimState m) a -> Int -> m (MVector (PrimState m) a)
291−+ => MVector (PrimState m) a -> Int -> m (MVector (PrimState m) a)
292− {-# INLINE unsafeGrow #-}
293− unsafeGrow = G.unsafeGrow
294−
295−@@ -401,7 +421,7 @@
296− -- | Copy a vector. The two vectors must have the same length and may not
297− -- overlap.
298− copy :: (PrimMonad m, Storable a)
299−- => MVector (PrimState m) a -> MVector (PrimState m) a -> m ()
300−+ => MVector (PrimState m) a -> MVector (PrimState m) a -> m ()
301− {-# INLINE copy #-}
302− copy = G.copy
303−
304−@@ -422,7 +442,7 @@
305− -- copied to a temporary vector and then the temporary vector was copied
306− -- to the target vector.
307− move :: (PrimMonad m, Storable a)
308−- => MVector (PrimState m) a -> MVector (PrimState m) a -> m ()
309−+ => MVector (PrimState m) a -> MVector (PrimState m) a -> m ()
310− {-# INLINE move #-}
311− move = G.move
312−
313−@@ -434,9 +454,9 @@
314− -- copied to a temporary vector and then the temporary vector was copied
315− -- to the target vector.
316− unsafeMove :: (PrimMonad m, Storable a)
317−- => MVector (PrimState m) a -- ^ target
318−- -> MVector (PrimState m) a -- ^ source
319−- -> m ()
320−+ => MVector (PrimState m) a -- ^ target
321−+ -> MVector (PrimState m) a -- ^ source
322−+ -> m ()
323− {-# INLINE unsafeMove #-}
324− unsafeMove = G.unsafeMove
325−
326−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs ghc-package-vector-0.11.0.0/Data/Vector/Storable.hs
327−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs 2015-07-13 12:26:16.000000000 +0800
328−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable.hs 2001-09-09 09:46:40.000000000 +0800
329−@@ -169,7 +169,9 @@
330− import Data.Data ( Data(..) )
331− import Text.Read ( Read(..), readListPrecDefault )
332−
333−+#if !MIN_VERSION_base(4,8,0)
334− import Data.Monoid ( Monoid(..) )
335−+#endif
336−
337− #if __GLASGOW_HASKELL__ >= 708
338− import qualified GHC.Exts as Exts
339−@@ -783,7 +785,7 @@
340− mapM_ = G.mapM_
341−
342− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
343−--- vector of results. Equvalent to @flip 'mapM'@.
344−+-- vector of results. Equivalent to @flip 'mapM'@.
345− forM :: (Monad m, Storable a, Storable b) => Vector a -> (a -> m b) -> m (Vector b)
346− {-# INLINE forM #-}
347− forM = G.forM
348−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs
349−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2015-07-13 12:26:16.000000000 +0800
350−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2001-09-09 09:46:40.000000000 +0800
351−@@ -30,10 +30,14 @@
352− import Control.Monad.Primitive
353− import Control.Monad ( liftM )
354−
355−-import Data.Word ( Word, Word8, Word16, Word32, Word64 )
356−+import Data.Word ( Word8, Word16, Word32, Word64 )
357− import Data.Int ( Int8, Int16, Int32, Int64 )
358− import Data.Complex
359−
360−+#if !MIN_VERSION_base(4,8,0)
361−+import Data.Word ( Word )
362−+#endif
363−+
364− #if __GLASGOW_HASKELL__ >= 707
365− import Data.Typeable ( Typeable )
366− #else
367−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs
368−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
369−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
370−@@ -149,7 +149,7 @@
371− {-# INLINE new #-}
372− new = G.new
373−
374−--- | Create a mutable vector of the given length. The length is not checked.
375−+-- | Create a mutable vector of the given length. The memory is not initialized.
376− unsafeNew :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
377− {-# INLINE unsafeNew #-}
378− unsafeNew = G.unsafeNew
379−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed.hs
380−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2015-07-13 12:26:16.000000000 +0800
381−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2001-09-09 09:46:40.000000000 +0800
382−@@ -186,7 +186,9 @@
383−
384− import Text.Read ( Read(..), readListPrecDefault )
385−
386−+#if !MIN_VERSION_base(4,8,0)
387− import Data.Monoid ( Monoid(..) )
388−+#endif
389−
390− #if __GLASGOW_HASKELL__ >= 708
391− import qualified GHC.Exts as Exts (IsList(..))
392−@@ -820,7 +822,7 @@
393− imapM_ = G.imapM_
394−
395− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
396−--- vector of results. Equvalent to @flip 'mapM'@.
397−+-- vector of results. Equivalent to @flip 'mapM'@.
398− forM :: (Monad m, Unbox a, Unbox b) => Vector a -> (a -> m b) -> m (Vector b)
399− {-# INLINE forM #-}
400− forM = G.forM
401−diff -ur hackage-package-vector-0.11.0.0/Data/Vector.hs ghc-package-vector-0.11.0.0/Data/Vector.hs
402−--- hackage-package-vector-0.11.0.0/Data/Vector.hs 2015-07-13 12:26:16.000000000 +0800
403−+++ ghc-package-vector-0.11.0.0/Data/Vector.hs 2001-09-09 09:46:40.000000000 +0800
404−@@ -150,7 +150,7 @@
405− -- * Conversions
406−
407− -- ** Lists
408−- toList, fromList, fromListN,
409−+ toList, Data.Vector.fromList, Data.Vector.fromListN,
410−
411− -- ** Other vector types
412− G.convert,
413−@@ -187,11 +187,14 @@
414− import Data.Data ( Data(..) )
415− import Text.Read ( Read(..), readListPrecDefault )
416−
417−-import Data.Monoid ( Monoid(..) )
418− import qualified Control.Applicative as Applicative
419− import qualified Data.Foldable as Foldable
420− import qualified Data.Traversable as Traversable
421−
422−+#if !MIN_VERSION_base(4,8,0)
423−+import Data.Monoid ( Monoid(..) )
424−+#endif
425−+
426− #if __GLASGOW_HASKELL__ >= 708
427− import qualified GHC.Exts as Exts (IsList(..))
428− #endif
429−@@ -220,8 +223,8 @@
430−
431− instance Exts.IsList (Vector a) where
432− type Item (Vector a) = a
433−- fromList = fromList
434−- fromListN = fromListN
435−+ fromList = Data.Vector.fromList
436−+ fromListN = Data.Vector.fromListN
437− toList = toList
438− #endif
439−
440−@@ -297,7 +300,7 @@
441−
442− instance Monad Vector where
443− {-# INLINE return #-}
444−- return = singleton
445−+ return = Applicative.pure
446−
447− {-# INLINE (>>=) #-}
448− (>>=) = flip concatMap
449−@@ -341,7 +344,7 @@
450−
451− instance Traversable.Traversable Vector where
452− {-# INLINE traverse #-}
453−- traverse f xs = fromList Applicative.<$> Traversable.traverse f (toList xs)
454−+ traverse f xs = Data.Vector.fromList Applicative.<$> Traversable.traverse f (toList xs)
455−
456− {-# INLINE mapM #-}
457− mapM = mapM
458−@@ -917,7 +920,7 @@
459− imapM_ = G.imapM_
460−
461− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
462−--- vector of results. Equvalent to @flip 'mapM'@.
463−+-- vector of results. Equivalent to @flip 'mapM'@.
464− forM :: Monad m => Vector a -> (a -> m b) -> m (Vector b)
465− {-# INLINE forM #-}
466− forM = G.forM
467−diff -ur hackage-package-vector-0.11.0.0/include/vector.h ghc-package-vector-0.11.0.0/include/vector.h
468−--- hackage-package-vector-0.11.0.0/include/vector.h 2015-07-13 12:26:16.000000000 +0800
469−+++ ghc-package-vector-0.11.0.0/include/vector.h 2001-09-09 09:46:40.000000000 +0800
470−@@ -18,4 +18,3 @@
471−
472− #define PHASE_STREAM Please use "PHASE_FUSED" instead
473− #define INLINE_STREAM Please use "INLINE_FUSED" instead
474−-
475−diff -ur hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs ghc-package-vector-0.11.0.0/tests/Tests/Vector.hs
476−--- hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs 2015-07-13 12:26:16.000000000 +0800
477−+++ ghc-package-vector-0.11.0.0/tests/Tests/Vector.hs 2001-09-09 09:46:40.000000000 +0800
478−@@ -643,6 +643,7 @@
479− testGroup "Data.Vector.Storable.Vector (Double)" (testNumericStorableVector (undefined :: Data.Vector.Storable.Vector Double)),
480−
481− testGroup "Data.Vector.Unboxed.Vector ()" (testUnitUnboxedVector (undefined :: Data.Vector.Unboxed.Vector ())),
482−+ testGroup "Data.Vector.Unboxed.Vector (Bool)" (testBoolUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Bool)),
483− testGroup "Data.Vector.Unboxed.Vector (Int)" (testNumericUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Int)),
484− testGroup "Data.Vector.Unboxed.Vector (Double)" (testNumericUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Double)),
485− testGroup "Data.Vector.Unboxed.Vector (Int,Bool)" (testTupleUnboxedVector (undefined :: Data.Vector.Unboxed.Vector (Int,Bool))),
486−diff -ur hackage-package-vector-0.11.0.0/vector.cabal ghc-package-vector-0.11.0.0/vector.cabal
487−--- hackage-package-vector-0.11.0.0/vector.cabal 2015-07-13 12:26:16.000000000 +0800
488−+++ ghc-package-vector-0.11.0.0/vector.cabal 2001-09-09 09:46:40.000000000 +0800
489−@@ -38,6 +38,7 @@
490− Build-Type: Simple
491−
492− Extra-Source-Files:
493−+ changelog
494− README.md
495− tests/LICENSE
496− tests/Setup.hs
497−@@ -137,9 +138,9 @@
498− Install-Includes:
499− vector.h
500−
501−- Build-Depends: base >= 4.3 && < 4.9
502−+ Build-Depends: base >= 4.3 && < 4.10
503− , primitive >= 0.5.0.1 && < 0.7
504−- , ghc-prim >= 0.2 && < 0.5
505−+ , ghc-prim >= 0.2 && < 0.6
506− , deepseq >= 1.1 && < 1.5
507−
508− Ghc-Options: -O2 -Wall -fno-warn-orphans
patches/ghc843/array-0.5.2.0.patch+5−4
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-array-0.5.2.0/array.cabal ghc-package-array-0.5.2.0/array.cabal
2−--- hackage-package-array-0.5.2.0/array.cabal 2017-07-04 06:06:07.000000000 +0800
3−+++ ghc-package-array-0.5.2.0/array.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -37,7 +37,7 @@
1+diff --git a/array.cabal b/array.cabal
2+index 1a71bab..ceaf54d 100644
3+--- a/array.cabal
4++++ b/array.cabal
5+@@ -37,7 +37,7 @@ library
56 Trustworthy,
67 UnboxedTuples,
78 UnliftedFFITypes
patches/ghc843/deepseq-1.4.3.0.patch+5−4
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-deepseq-1.4.3.0/deepseq.cabal ghc-package-deepseq-1.4.3.0/deepseq.cabal
2−--- hackage-package-deepseq-1.4.3.0/deepseq.cabal 2017-07-20 06:00:58.000000000 +0800
3−+++ ghc-package-deepseq-1.4.3.0/deepseq.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -61,7 +61,7 @@
1+diff --git a/deepseq.cabal b/deepseq.cabal
2+index 7f54e2a..7191fa9 100644
3+--- a/deepseq.cabal
4++++ b/deepseq.cabal
5+@@ -61,7 +61,7 @@ library
56 if impl(ghc>=7.8)
67 other-extensions: EmptyCase
78
patches/ghc843/default.nix−1
@@ -1,7 +1,6 @@
11{
22 packages.array.patches = [ ./array-0.5.2.0.patch ];
33 packages.deepseq.patches = [ ./deepseq-1.4.3.0.patch ];
4− packages.default.nix.patches = [ ./default.nix ];
54 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
65 packages.parallel.patches = [ ./parallel-3.2.1.1.patch ];
76 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
patches/ghc843/hpc-0.6.0.3.patch+5−4
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-hpc-0.6.0.3/hpc.cabal ghc-package-hpc-0.6.0.3/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -35,9 +35,9 @@
1+diff --git a/hpc.cabal b/hpc.cabal
2+index 7e77973..017a609 100644
3+--- a/hpc.cabal
4++++ b/hpc.cabal
5+@@ -35,9 +35,9 @@ Library
56 Trace.Hpc.Reflect
67
78 Build-Depends:
patches/ghc843/parallel-3.2.1.1.patch+5−4
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-parallel-3.2.1.1/parallel.cabal ghc-package-parallel-3.2.1.1/parallel.cabal
2−--- hackage-package-parallel-3.2.1.1/parallel.cabal 2017-04-09 00:25:01.000000000 +0800
3−+++ ghc-package-parallel-3.2.1.1/parallel.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -34,7 +34,7 @@
1+diff --git a/parallel.cabal b/parallel.cabal
2+index 577a11e..0ae23e9 100644
3+--- a/parallel.cabal
4++++ b/parallel.cabal
5+@@ -34,7 +34,7 @@ library
56
67 build-depends:
78 array >= 0.3 && < 0.6,
patches/ghc843/parsec-3.1.13.0.patch+6−5
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.0/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -21,8 +21,8 @@
1+diff --git a/parsec.cabal b/parsec.cabal
2+index 9531768..7c2a399 100644
3+--- a/parsec.cabal
4++++ b/parsec.cabal
5+@@ -21,8 +21,8 @@ license: BSD3
56 license-file: LICENSE
67 author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
78 maintainer: Herbert Valerio Riedel <hvr@gnu.org>
@@ -12,7 +13,7 @@ diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.
1213 category: Parsing
1314
1415 build-type: Simple
15−@@ -32,7 +32,7 @@
16+@@ -32,7 +32,7 @@ extra-source-files: ChangeLog.md, README.md
1617
1718 source-repository head
1819 type: git
patches/ghc843/random-1.1.patch+35−31
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-random-1.1/README.md ghc-package-random-1.1/README.md
2−--- hackage-package-random-1.1/README.md 2014-09-17 05:34:43.000000000 +0800
3−+++ ghc-package-random-1.1/README.md 2001-09-09 09:46:40.000000000 +0800
4−@@ -10,7 +10,7 @@
1+diff --git a/README.md b/README.md
2+index 9d5bb51..47b7589 100644
3+--- a/README.md
4++++ b/README.md
5+@@ -10,7 +10,7 @@ The API documentation can be found here:
56
67 A module supplying this interface is required for Haskell 98 (but not Haskell
78 2010). An older [version]
@@ -10,9 +11,10 @@ diff -ur hackage-package-random-1.1/README.md ghc-package-random-1.1/README.md
1011 of this library is included with GHC in the haskell98 package. This newer
1112 version, with compatible api, is included in the [Haskell Platform]
1213 (http://www.haskell.org/platform/contents.html).
13−diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/System/Random.hs
14−--- hackage-package-random-1.1/System/Random.hs 2014-09-17 05:34:43.000000000 +0800
15−+++ ghc-package-random-1.1/System/Random.hs 2001-09-09 09:46:40.000000000 +0800
14+diff --git a/System/Random.hs b/System/Random.hs
15+index ab77274..dfd2088 100644
16+--- a/System/Random.hs
17++++ b/System/Random.hs
1618@@ -7,7 +7,7 @@
1719 -- Module : System.Random
1820 -- Copyright : (c) The University of Glasgow 2001
@@ -94,7 +96,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
9496
9597 import Prelude
9698
97−@@ -83,15 +83,15 @@
99+@@ -83,15 +83,15 @@ import Data.Word
98100 import Foreign.C.Types
99101
100102 #ifdef __NHC__
@@ -115,7 +117,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
115117 import System.IO.Unsafe ( unsafePerformIO )
116118 import Data.IORef ( IORef, newIORef, readIORef, writeIORef )
117119 #if MIN_VERSION_base (4,6,0)
118−@@ -99,7 +99,7 @@
120+@@ -99,7 +99,7 @@ import Data.IORef ( atomicModifyIORef' )
119121 #else
120122 import Data.IORef ( atomicModifyIORef )
121123 #endif
@@ -124,7 +126,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
124126
125127 #ifdef __GLASGOW_HASKELL__
126128 import GHC.Exts ( build )
127−@@ -201,17 +201,17 @@
129+@@ -201,17 +201,17 @@ It is required that @'read' ('show' g) == g@.
128130
129131 In addition, 'reads' may be used to map an arbitrary string (not necessarily one
130132 produced by 'show') onto a value of type 'StdGen'. In general, the 'Read'
@@ -146,7 +148,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
146148 = StdGen !Int32 !Int32
147149
148150 instance RandomGen StdGen where
149−@@ -224,8 +224,8 @@
151+@@ -224,8 +224,8 @@ instance SplittableGen StdGen where
150152 split = stdSplit
151153
152154 instance Show StdGen where
@@ -157,7 +159,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
157159 showChar ' ' .
158160 showsPrec p s2
159161
160−@@ -234,11 +234,11 @@
162+@@ -234,11 +234,11 @@ instance Read StdGen where
161163 case try_read r of
162164 r'@[_] -> r'
163165 _ -> [stdFromString r] -- because it shouldn't ever fail.
@@ -172,7 +174,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
172174
173175 {-
174176 If we cannot unravel the StdGen from a string, create
175−@@ -246,7 +246,7 @@
177+@@ -246,7 +246,7 @@ instance Read StdGen where
176178 -}
177179 stdFromString :: String -> (StdGen, String)
178180 stdFromString s = (mkStdGen num, rest)
@@ -181,7 +183,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
181183 num = foldl (\a x -> x + 3 * a) 1 (map ord cs)
182184
183185
184−@@ -266,11 +266,11 @@
186+@@ -266,11 +266,11 @@ respectively."
185187 mkStdGen32 :: Int32 -> StdGen
186188 mkStdGen32 sMaybeNegative = StdGen (s1+1) (s2+1)
187189 where
@@ -198,7 +200,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
198200
199201 createStdGen :: Integer -> StdGen
200202 createStdGen s = mkStdGen32 $ fromIntegral s
201−@@ -323,7 +323,7 @@
203+@@ -323,7 +323,7 @@ class Random a where
202204 -- | A variant of 'random' that uses the global random number generator
203205 -- (see "System.Random#globalrng").
204206 randomIO :: IO a
@@ -207,7 +209,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
207209
208210 -- | Produce an infinite list-equivalent of random values.
209211 {-# INLINE buildRandoms #-}
210−@@ -340,7 +340,7 @@
212+@@ -340,7 +340,7 @@ buildRandoms cons rand = go
211213
212214 instance Random Integer where
213215 randomR ival g = randomIvalInteger ival g
@@ -216,7 +218,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
216218
217219 instance Random Int where randomR = randomIvalIntegral; random = randomBounded
218220 instance Random Int8 where randomR = randomIvalIntegral; random = randomBounded
219−@@ -378,13 +378,13 @@
221+@@ -378,13 +378,13 @@ instance Random CIntMax where randomR = randomIvalIntegral; random = randomBo
220222 instance Random CUIntMax where randomR = randomIvalIntegral; random = randomBounded
221223
222224 instance Random Char where
@@ -233,7 +235,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
233235 case (randomIvalInteger (bool2Int a, bool2Int b) g) of
234236 (x, g') -> (int2Bool x, g')
235237 where
236−@@ -392,42 +392,42 @@
238+@@ -392,42 +392,42 @@ instance Random Bool where
237239 bool2Int False = 0
238240 bool2Int True = 1
239241
@@ -298,7 +300,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
298300 -- (encodeFloat rand (-24), rng')
299301 where
300302 mask24 = twoto24 - 1
301−@@ -436,8 +436,8 @@
303+@@ -436,8 +436,8 @@ instance Random Float where
302304 -- CFloat/CDouble are basically the same as a Float/Double:
303305 instance Random CFloat where
304306 randomR = randomRFloating
@@ -309,7 +311,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
309311
310312 instance Random CDouble where
311313 randomR = randomRFloating
312−@@ -445,8 +445,8 @@
314+@@ -445,8 +445,8 @@ instance Random CDouble where
313315 -- Presently, this is showing better performance than the Double instance:
314316 -- (And yet, if the Double instance uses randomFrac then its performance is much worse!)
315317 random = randomFrac
@@ -320,7 +322,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
320322
321323 mkStdRNG :: Integer -> IO StdGen
322324 mkStdRNG o = do
323−@@ -463,7 +463,7 @@
325+@@ -463,7 +463,7 @@ randomIvalIntegral (l,h) = randomIvalInteger (toInteger l, toInteger h)
324326
325327 {-# SPECIALIZE randomIvalInteger :: (Num a) =>
326328 (Integer, Integer) -> StdGen -> (a, StdGen) #-}
@@ -329,7 +331,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
329331 randomIvalInteger :: (RandomGen g, Num a) => (Integer, Integer) -> g -> (a, g)
330332 randomIvalInteger (l,h) rng
331333 | l > h = randomIvalInteger (h,l) rng
332−@@ -482,7 +482,7 @@
334+@@ -482,7 +482,7 @@ randomIvalInteger (l,h) rng
333335 k = h - l + 1
334336 magtgt = k * q
335337
@@ -338,7 +340,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
338340 f mag v g | mag >= magtgt = (v, g)
339341 | otherwise = v' `seq`f (mag*b) v' g' where
340342 (x,g') = next g
341−@@ -494,18 +494,18 @@
343+@@ -494,18 +494,18 @@ randomFrac :: (RandomGen g, Fractional a) => g -> (a, g)
342344 randomFrac = randomIvalDouble (0::Double,1) realToFrac
343345
344346 randomIvalDouble :: (RandomGen g, Fractional a) => (Double, Double) -> (Double -> a) -> g -> (a, g)
@@ -366,15 +368,13 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
366368
367369 int32Count :: Integer
368370 int32Count = toInteger (maxBound::Int32) - toInteger (minBound::Int32) + 1 -- GHC ticket #3982
369−@@ -516,16 +516,16 @@
371+@@ -516,16 +516,16 @@ stdRange = (1, 2147483562)
370372 stdNext :: StdGen -> (Int, StdGen)
371373 -- Returns values in the range stdRange
372374 stdNext (StdGen s1 s2) = (fromIntegral z', StdGen s1'' s2'')
373375- where z' = if z < 1 then z + 2147483562 else z
374376- z = s1'' - s2''
375−+ where z' = if z < 1 then z + 2147483562 else z
376−+ z = s1'' - s2''
377−
377+-
378378- k = s1 `quot` 53668
379379- s1' = 40014 * (s1 - k * 53668) - k * 12211
380380- s1'' = if s1' < 0 then s1' + 2147483563 else s1'
@@ -382,6 +382,9 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
382382- k' = s2 `quot` 52774
383383- s2' = 40692 * (s2 - k' * 52774) - k' * 3791
384384- s2'' = if s2' < 0 then s2' + 2147483399 else s2'
385++ where z' = if z < 1 then z + 2147483562 else z
386++ z = s1'' - s2''
387++
385388+ k = s1 `quot` 53668
386389+ s1' = 40014 * (s1 - k * 53668) - k * 12211
387390+ s1'' = if s1' < 0 then s1' + 2147483563 else s1'
@@ -392,10 +395,11 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
392395
393396 stdSplit :: StdGen -> (StdGen, StdGen)
394397 stdSplit std@(StdGen s1 s2)
395−diff -ur hackage-package-random-1.1/random.cabal ghc-package-random-1.1/random.cabal
396−--- hackage-package-random-1.1/random.cabal 2014-09-17 05:34:43.000000000 +0800
397−+++ ghc-package-random-1.1/random.cabal 2001-09-09 09:46:40.000000000 +0800
398−@@ -40,7 +40,7 @@
398+diff --git a/random.cabal b/random.cabal
399+index fd29840..a28063c 100644
400+--- a/random.cabal
401++++ b/random.cabal
402+@@ -40,7 +40,7 @@ Library
399403
400404 source-repository head
401405 type: git
patches/ghc843/time-1.8.0.2.patch+20−18
@@ -1,6 +1,7 @@
1−diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
1+diff --git a/configure b/configure
2+index f4f4dba..f5fae2b 100644
3+--- a/configure
4++++ b/configure
45@@ -1,6 +1,6 @@
56 #! /bin/sh
67 # Guess values for system-dependent variables and create Makefiles.
@@ -9,7 +10,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
910 #
1011 # Report bugs to <ashley@semantic.org>.
1112 #
12−@@ -580,8 +580,8 @@
13+@@ -580,8 +580,8 @@ MAKEFLAGS=
1314 # Identity of this package.
1415 PACKAGE_NAME='Haskell time package'
1516 PACKAGE_TARNAME='time'
@@ -20,7 +21,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
2021 PACKAGE_BUGREPORT='ashley@semantic.org'
2122 PACKAGE_URL=''
2223
23−@@ -653,7 +653,6 @@
24+@@ -653,7 +653,6 @@ infodir
2425 docdir
2526 oldincludedir
2627 includedir
@@ -28,7 +29,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
2829 localstatedir
2930 sharedstatedir
3031 sysconfdir
31−@@ -726,7 +725,6 @@
32+@@ -726,7 +725,6 @@ datadir='${datarootdir}'
3233 sysconfdir='${prefix}/etc'
3334 sharedstatedir='${prefix}/com'
3435 localstatedir='${prefix}/var'
@@ -36,7 +37,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
3637 includedir='${prefix}/include'
3738 oldincludedir='/usr/include'
3839 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40+@@ -979,15 +977,6 @@ do
4041 | -silent | --silent | --silen | --sile | --sil)
4142 silent=yes ;;
4243
@@ -52,7 +53,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
5253 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
5354 ac_prev=sbindir ;;
5455 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56+@@ -1125,7 +1114,7 @@ fi
5657 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
5758 datadir sysconfdir sharedstatedir localstatedir includedir \
5859 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
@@ -61,7 +62,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
6162 do
6263 eval ac_val=\$$ac_var
6364 # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65+@@ -1238,7 +1227,7 @@ if test "$ac_init_help" = "long"; then
6566 # Omit some internal or obsolete options to make the list less imposing.
6667 # This message is too long to be a string in the A/UX 3.1 sh.
6768 cat <<_ACEOF
@@ -70,7 +71,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
7071
7172 Usage: $0 [OPTION]... [VAR=VALUE]...
7273
73−@@ -1278,7 +1267,6 @@
74+@@ -1278,7 +1267,6 @@ Fine tuning of the installation directories:
7475 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
7576 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
7677 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
@@ -78,7 +79,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
7879 --libdir=DIR object code libraries [EPREFIX/lib]
7980 --includedir=DIR C header files [PREFIX/include]
8081 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82+@@ -1300,7 +1288,7 @@ fi
8283
8384 if test -n "$ac_init_help"; then
8485 case $ac_init_help in
@@ -87,7 +88,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
8788 esac
8889 cat <<\_ACEOF
8990
90−@@ -1386,7 +1374,7 @@
91+@@ -1386,7 +1374,7 @@ fi
9192 test -n "$ac_init_help" && exit $ac_status
9293 if $ac_init_version; then
9394 cat <<\_ACEOF
@@ -96,7 +97,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
9697 generated by GNU Autoconf 2.69
9798
9899 Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100+@@ -1858,7 +1846,7 @@ cat >config.log <<_ACEOF
100101 This file contains any messages produced by compilers while
101102 running configure, to aid debugging if configure makes a mistake.
102103
@@ -105,7 +106,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
105106 generated by GNU Autoconf 2.69. Invocation command line was
106107
107108 $ $0 $@
108−@@ -4193,7 +4181,7 @@
109+@@ -4193,7 +4181,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
109110 # report actual input values of CONFIG_FILES etc. instead of their
110111 # values after options handling.
111112 ac_log="
@@ -114,7 +115,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
114115 generated by GNU Autoconf 2.69. Invocation command line was
115116
116117 CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118+@@ -4246,7 +4234,7 @@ _ACEOF
118119 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119120 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120121 ac_cs_version="\\
@@ -123,9 +124,10 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
123124 configured by $0, generated by GNU Autoconf 2.69,
124125 with options \\"\$ac_cs_config\\"
125126
126−diff -ur hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h
127−--- hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2017-05-13 18:29:46.000000000 +0800
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
127+diff --git a/lib/include/HsTimeConfig.h b/lib/include/HsTimeConfig.h
128+index a1e2513..20798c5 100644
129+--- a/lib/include/HsTimeConfig.h
130++++ b/lib/include/HsTimeConfig.h
129131@@ -69,7 +69,7 @@
130132 #define PACKAGE_NAME "Haskell time package"
131133
patches/ghc843/unix-2.7.2.2.patch+19−17
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
4−@@ -667,7 +667,6 @@
1+diff --git a/configure b/configure
2+index ea0475d..a3897ae 100644
3+--- a/configure
4++++ b/configure
5+@@ -667,7 +667,6 @@ infodir
56 docdir
67 oldincludedir
78 includedir
@@ -9,7 +10,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
910 localstatedir
1011 sharedstatedir
1112 sysconfdir
12−@@ -739,7 +738,6 @@
13+@@ -739,7 +738,6 @@ datadir='${datarootdir}'
1314 sysconfdir='${prefix}/etc'
1415 sharedstatedir='${prefix}/com'
1516 localstatedir='${prefix}/var'
@@ -17,7 +18,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
1718 includedir='${prefix}/include'
1819 oldincludedir='/usr/include'
1920 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21+@@ -992,15 +990,6 @@ do
2122 | -silent | --silent | --silen | --sile | --sil)
2223 silent=yes ;;
2324
@@ -33,7 +34,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
3334 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
3435 ac_prev=sbindir ;;
3536 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37+@@ -1138,7 +1127,7 @@ fi
3738 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
3839 datadir sysconfdir sharedstatedir localstatedir includedir \
3940 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
@@ -42,7 +43,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
4243 do
4344 eval ac_val=\$$ac_var
4445 # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46+@@ -1291,7 +1280,6 @@ Fine tuning of the installation directories:
4647 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
4748 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
4849 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
@@ -50,7 +51,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
5051 --libdir=DIR object code libraries [EPREFIX/lib]
5152 --includedir=DIR C header files [PREFIX/include]
5253 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54+@@ -3782,7 +3770,7 @@ else
5455 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5556 since some C++ compilers masquerading as C compilers
5657 incorrectly reject 9223372036854775807. */
@@ -59,7 +60,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
5960 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
6061 && LARGE_OFF_T % 2147483647 == 1)
6162 ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63+@@ -3828,7 +3816,7 @@ else
6364 We can't simply define LARGE_OFF_T to be 9223372036854775807,
6465 since some C++ compilers masquerading as C compilers
6566 incorrectly reject 9223372036854775807. */
@@ -68,7 +69,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
6869 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
6970 && LARGE_OFF_T % 2147483647 == 1)
7071 ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72+@@ -3852,7 +3840,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7273 We can't simply define LARGE_OFF_T to be 9223372036854775807,
7374 since some C++ compilers masquerading as C compilers
7475 incorrectly reject 9223372036854775807. */
@@ -77,7 +78,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
7778 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
7879 && LARGE_OFF_T % 2147483647 == 1)
7980 ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81+@@ -3897,7 +3885,7 @@ else
8182 We can't simply define LARGE_OFF_T to be 9223372036854775807,
8283 since some C++ compilers masquerading as C compilers
8384 incorrectly reject 9223372036854775807. */
@@ -86,7 +87,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
8687 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
8788 && LARGE_OFF_T % 2147483647 == 1)
8889 ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90+@@ -3921,7 +3909,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
9091 We can't simply define LARGE_OFF_T to be 9223372036854775807,
9192 since some C++ compilers masquerading as C compilers
9293 incorrectly reject 9223372036854775807. */
@@ -95,10 +96,11 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
9596 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
9697 && LARGE_OFF_T % 2147483647 == 1)
9798 ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101−@@ -62,7 +62,7 @@
99+diff --git a/unix.cabal b/unix.cabal
100+index cf44068..6714fb2 100644
101+--- a/unix.cabal
102++++ b/unix.cabal
103+@@ -62,7 +62,7 @@ library
102104 buildable: False
103105
104106 build-depends:
patches/ghc843/vector-0.11.0.0.patch+208−190
@@ -1,7 +1,88 @@
1−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs
2−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
3−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
4−@@ -101,12 +101,20 @@
1+diff --git a/Data/Vector.hs b/Data/Vector.hs
2+index db6dfb7..797e096 100644
3+--- a/Data/Vector.hs
4++++ b/Data/Vector.hs
5+@@ -150,7 +150,7 @@ module Data.Vector (
6+ -- * Conversions
7+
8+ -- ** Lists
9+- toList, fromList, fromListN,
10++ toList, Data.Vector.fromList, Data.Vector.fromListN,
11+
12+ -- ** Other vector types
13+ G.convert,
14+@@ -187,11 +187,14 @@ import Data.Typeable ( Typeable )
15+ import Data.Data ( Data(..) )
16+ import Text.Read ( Read(..), readListPrecDefault )
17+
18+-import Data.Monoid ( Monoid(..) )
19+ import qualified Control.Applicative as Applicative
20+ import qualified Data.Foldable as Foldable
21+ import qualified Data.Traversable as Traversable
22+
23++#if !MIN_VERSION_base(4,8,0)
24++import Data.Monoid ( Monoid(..) )
25++#endif
26++
27+ #if __GLASGOW_HASKELL__ >= 708
28+ import qualified GHC.Exts as Exts (IsList(..))
29+ #endif
30+@@ -220,8 +223,8 @@ instance Read a => Read (Vector a) where
31+
32+ instance Exts.IsList (Vector a) where
33+ type Item (Vector a) = a
34+- fromList = fromList
35+- fromListN = fromListN
36++ fromList = Data.Vector.fromList
37++ fromListN = Data.Vector.fromListN
38+ toList = toList
39+ #endif
40+
41+@@ -297,7 +300,7 @@ instance Functor Vector where
42+
43+ instance Monad Vector where
44+ {-# INLINE return #-}
45+- return = singleton
46++ return = Applicative.pure
47+
48+ {-# INLINE (>>=) #-}
49+ (>>=) = flip concatMap
50+@@ -341,7 +344,7 @@ instance Foldable.Foldable Vector where
51+
52+ instance Traversable.Traversable Vector where
53+ {-# INLINE traverse #-}
54+- traverse f xs = fromList Applicative.<$> Traversable.traverse f (toList xs)
55++ traverse f xs = Data.Vector.fromList Applicative.<$> Traversable.traverse f (toList xs)
56+
57+ {-# INLINE mapM #-}
58+ mapM = mapM
59+@@ -917,7 +920,7 @@ imapM_ :: Monad m => (Int -> a -> m b) -> Vector a -> m ()
60+ imapM_ = G.imapM_
61+
62+ -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
63+--- vector of results. Equvalent to @flip 'mapM'@.
64++-- vector of results. Equivalent to @flip 'mapM'@.
65+ forM :: Monad m => Vector a -> (a -> m b) -> m (Vector b)
66+ {-# INLINE forM #-}
67+ forM = G.forM
68+diff --git a/Data/Vector/Fusion/Bundle.hs b/Data/Vector/Fusion/Bundle.hs
69+index 53bddda..aeb2945 100644
70+--- a/Data/Vector/Fusion/Bundle.hs
71++++ b/Data/Vector/Fusion/Bundle.hs
72+@@ -111,7 +111,7 @@ type Bundle = M.Bundle Id
73+ type MBundle = M.Bundle
74+
75+ inplace :: (forall m. Monad m => S.Stream m a -> S.Stream m b)
76+- -> (Size -> Size) -> Bundle v a -> Bundle v b
77++ -> (Size -> Size) -> Bundle v a -> Bundle v b
78+ {-# INLINE_FUSED inplace #-}
79+ inplace f g b = b `seq` M.fromStream (f (M.elements b)) (g (M.size b))
80+
81+diff --git a/Data/Vector/Fusion/Bundle/Monadic.hs b/Data/Vector/Fusion/Bundle/Monadic.hs
82+index 66789d9..9f9a81a 100644
83+--- a/Data/Vector/Fusion/Bundle/Monadic.hs
84++++ b/Data/Vector/Fusion/Bundle/Monadic.hs
85+@@ -101,12 +101,20 @@ import Prelude hiding ( length, null,
586 scanl, scanl1,
687 enumFromTo, enumFromThenTo )
788
@@ -24,7 +105,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
24105 data Chunk v a = Chunk Int (forall m. (PrimMonad m, Vector v a) => Mutable v (PrimState m) a -> m ())
25106
26107 -- | Monadic streams
27−@@ -888,6 +896,7 @@
108+@@ -888,6 +896,7 @@ enumFromTo_big_word x y = x `seq` y `seq` fromStream (Stream step x) (Exact (len
28109 :: Monad m => Integer -> Integer -> Bundle m v Integer #-}
29110
30111
@@ -32,7 +113,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
32113
33114 -- FIXME: the "too large" test is totally wrong
34115 enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Bundle m v a
35−@@ -906,7 +915,6 @@
116+@@ -906,7 +915,6 @@ enumFromTo_big_int x y = x `seq` y `seq` fromStream (Stream step x) (Exact (len
36117 step z | z <= y = return $ Yield z (z+1)
37118 | otherwise = return $ Done
38119
@@ -40,22 +121,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
40121
41122 {-# RULES
42123
43−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs
44−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs 2015-07-13 12:26:16.000000000 +0800
45−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs 2001-09-09 09:46:40.000000000 +0800
46−@@ -111,7 +111,7 @@
47− type MBundle = M.Bundle
48−
49− inplace :: (forall m. Monad m => S.Stream m a -> S.Stream m b)
50−- -> (Size -> Size) -> Bundle v a -> Bundle v b
51−+ -> (Size -> Size) -> Bundle v a -> Bundle v b
52− {-# INLINE_FUSED inplace #-}
53− inplace f g b = b `seq` M.fromStream (f (M.elements b)) (g (M.size b))
54−
55−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs
56−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
57−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
58−@@ -89,8 +89,12 @@
124+diff --git a/Data/Vector/Fusion/Stream/Monadic.hs b/Data/Vector/Fusion/Stream/Monadic.hs
125+index a0c13e4..7297587 100644
126+--- a/Data/Vector/Fusion/Stream/Monadic.hs
127++++ b/Data/Vector/Fusion/Stream/Monadic.hs
128+@@ -89,8 +89,12 @@ import Prelude hiding ( length, null,
59129 scanl, scanl1,
60130 enumFromTo, enumFromThenTo )
61131
@@ -69,7 +139,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
69139
70140 #if __GLASGOW_HASKELL__ >= 708
71141 import GHC.Types ( SPEC(..) )
72−@@ -101,6 +105,10 @@
142+@@ -101,6 +105,10 @@ import GHC.Exts ( SpecConstrAnnotation(..) )
73143 #include "vector.h"
74144 #include "MachDeps.h"
75145
@@ -80,7 +150,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
80150 #if __GLASGOW_HASKELL__ < 708
81151 data SPEC = SPEC | SPEC2
82152 #if __GLASGOW_HASKELL__ >= 700
83−@@ -1403,6 +1411,8 @@
153+@@ -1403,6 +1411,8 @@ enumFromTo_big_word x y = x `seq` y `seq` Stream step x
84154
85155
86156
@@ -89,7 +159,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
89159 -- FIXME: the "too large" test is totally wrong
90160 enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Stream m a
91161 {-# INLINE_FUSED enumFromTo_big_int #-}
92−@@ -1412,8 +1422,6 @@
162+@@ -1412,8 +1422,6 @@ enumFromTo_big_int x y = x `seq` y `seq` Stream step x
93163 step z | z <= y = return $ Yield z (z+1)
94164 | otherwise = return $ Done
95165
@@ -98,15 +168,16 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
98168 {-# RULES
99169
100170 "enumFromTo<Int64> [Stream]"
101−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs
102−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2015-07-13 12:26:16.000000000 +0800
103−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2001-09-09 09:46:40.000000000 +0800
171+diff --git a/Data/Vector/Fusion/Util.hs b/Data/Vector/Fusion/Util.hs
172+index 50f6b4d..855bf5d 100644
173+--- a/Data/Vector/Fusion/Util.hs
174++++ b/Data/Vector/Fusion/Util.hs
104175@@ -1,3 +1,4 @@
105176+{-# LANGUAGE CPP #-}
106177 -- |
107178 -- Module : Data.Vector.Fusion.Util
108179 -- Copyright : (c) Roman Leshchinskiy 2009
109−@@ -16,7 +17,9 @@
180+@@ -16,7 +17,9 @@ module Data.Vector.Fusion.Util (
110181 delay_inline, delayed_min
111182 ) where
112183
@@ -116,7 +187,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
116187
117188 -- | Identity monad
118189 newtype Id a = Id { unId :: a }
119−@@ -29,7 +32,7 @@
190+@@ -29,7 +32,7 @@ instance Applicative Id where
120191 Id f <*> Id x = Id (f x)
121192
122193 instance Monad Id where
@@ -125,7 +196,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
125196 Id x >>= f = f x
126197
127198 -- | Box monad
128−@@ -43,7 +46,7 @@
199+@@ -43,7 +46,7 @@ instance Applicative Box where
129200 Box f <*> Box x = Box (f x)
130201
131202 instance Monad Box where
@@ -134,27 +205,16 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
134205 Box x >>= f = f x
135206
136207 -- | Delay inlining a function until late in the game (simplifier phase 0).
137−@@ -55,4 +58,3 @@
208+@@ -55,4 +58,3 @@ delay_inline f = f
138209 delayed_min :: Int -> Int -> Int
139210 {-# INLINE [0] delayed_min #-}
140211 delayed_min m n = min m n
141212-
142−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs
143−--- hackage-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
144−+++ ghc-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
145−@@ -584,7 +584,7 @@
146− new n = BOUNDS_CHECK(checkLength) "new" n
147− $ unsafeNew n >>= \v -> basicInitialize v >> return v
148−
149−--- | Create a mutable vector of the given length. The length is not checked.
150−+-- | Create a mutable vector of the given length. The memory is not initialized.
151− unsafeNew :: (PrimMonad m, MVector v a) => Int -> m (v (PrimState m) a)
152− {-# INLINE unsafeNew #-}
153− unsafeNew n = UNSAFE_CHECK(checkLength) "unsafeNew" n
154−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Generic.hs ghc-package-vector-0.11.0.0/Data/Vector/Generic.hs
155−--- hackage-package-vector-0.11.0.0/Data/Vector/Generic.hs 2015-07-13 12:26:16.000000000 +0800
156−+++ ghc-package-vector-0.11.0.0/Data/Vector/Generic.hs 2001-09-09 09:46:40.000000000 +0800
157−@@ -1038,7 +1038,7 @@
213+diff --git a/Data/Vector/Generic.hs b/Data/Vector/Generic.hs
214+index 478a75a..a299d86 100644
215+--- a/Data/Vector/Generic.hs
216++++ b/Data/Vector/Generic.hs
217+@@ -1038,7 +1038,7 @@ imapM_ :: (Monad m, Vector v a) => (Int -> a -> m b) -> v a -> m ()
158218 imapM_ f = Bundle.mapM_ (uncurry f) . Bundle.indexed . stream
159219
160220 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
@@ -163,10 +223,24 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Generic.hs ghc-package-vect
163223 forM :: (Monad m, Vector v a, Vector v b) => v a -> (a -> m b) -> m (v b)
164224 {-# INLINE forM #-}
165225 forM as f = mapM f as
166−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Mutable.hs
167−--- hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
168−+++ ghc-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
169−@@ -268,7 +268,7 @@
226+diff --git a/Data/Vector/Generic/Mutable.hs b/Data/Vector/Generic/Mutable.hs
227+index c174c71..e3d02bd 100644
228+--- a/Data/Vector/Generic/Mutable.hs
229++++ b/Data/Vector/Generic/Mutable.hs
230+@@ -584,7 +584,7 @@ new :: (PrimMonad m, MVector v a) => Int -> m (v (PrimState m) a)
231+ new n = BOUNDS_CHECK(checkLength) "new" n
232+ $ unsafeNew n >>= \v -> basicInitialize v >> return v
233+
234+--- | Create a mutable vector of the given length. The length is not checked.
235++-- | Create a mutable vector of the given length. The memory is not initialized.
236+ unsafeNew :: (PrimMonad m, MVector v a) => Int -> m (v (PrimState m) a)
237+ {-# INLINE unsafeNew #-}
238+ unsafeNew n = UNSAFE_CHECK(checkLength) "unsafeNew" n
239+diff --git a/Data/Vector/Mutable.hs b/Data/Vector/Mutable.hs
240+index d1af9de..e3498ca 100644
241+--- a/Data/Vector/Mutable.hs
242++++ b/Data/Vector/Mutable.hs
243+@@ -268,7 +268,7 @@ new :: PrimMonad m => Int -> m (MVector (PrimState m) a)
170244 {-# INLINE new #-}
171245 new = G.new
172246
@@ -175,10 +249,34 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs ghc-package-vect
175249 unsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) a)
176250 {-# INLINE unsafeNew #-}
177251 unsafeNew = G.unsafeNew
178−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs
179−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
180−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
181−@@ -211,7 +211,7 @@
252+diff --git a/Data/Vector/Primitive.hs b/Data/Vector/Primitive.hs
253+index 251b595..7f653b1 100644
254+--- a/Data/Vector/Primitive.hs
255++++ b/Data/Vector/Primitive.hs
256+@@ -164,7 +164,9 @@ import Data.Typeable ( Typeable )
257+ import Data.Data ( Data(..) )
258+ import Text.Read ( Read(..), readListPrecDefault )
259+
260++#if !MIN_VERSION_base(4,8,0)
261+ import Data.Monoid ( Monoid(..) )
262++#endif
263+
264+ #if __GLASGOW_HASKELL__ >= 708
265+ import qualified GHC.Exts as Exts
266+@@ -773,7 +775,7 @@ mapM_ :: (Monad m, Prim a) => (a -> m b) -> Vector a -> m ()
267+ mapM_ = G.mapM_
268+
269+ -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
270+--- vector of results. Equvalent to @flip 'mapM'@.
271++-- vector of results. Equivalent to @flip 'mapM'@.
272+ forM :: (Monad m, Prim a, Prim b) => Vector a -> (a -> m b) -> m (Vector b)
273+ {-# INLINE forM #-}
274+ forM = G.forM
275+diff --git a/Data/Vector/Primitive/Mutable.hs b/Data/Vector/Primitive/Mutable.hs
276+index 85595ae..2a2eb1e 100644
277+--- a/Data/Vector/Primitive/Mutable.hs
278++++ b/Data/Vector/Primitive/Mutable.hs
279+@@ -211,7 +211,7 @@ new :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
182280 {-# INLINE new #-}
183281 new = G.new
184282
@@ -187,10 +285,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs ghc-pa
187285 unsafeNew :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
188286 {-# INLINE unsafeNew #-}
189287 unsafeNew = G.unsafeNew
190−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs ghc-package-vector-0.11.0.0/Data/Vector/Primitive.hs
191−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2015-07-13 12:26:16.000000000 +0800
192−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2001-09-09 09:46:40.000000000 +0800
193−@@ -164,7 +164,9 @@
288+diff --git a/Data/Vector/Storable.hs b/Data/Vector/Storable.hs
289+index 1d0f46e..ae4e4bb 100644
290+--- a/Data/Vector/Storable.hs
291++++ b/Data/Vector/Storable.hs
292+@@ -169,7 +169,9 @@ import Data.Typeable ( Typeable )
194293 import Data.Data ( Data(..) )
195294 import Text.Read ( Read(..), readListPrecDefault )
196295
@@ -200,25 +299,26 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs ghc-package-ve
200299
201300 #if __GLASGOW_HASKELL__ >= 708
202301 import qualified GHC.Exts as Exts
203−@@ -773,7 +775,7 @@
302+@@ -783,7 +785,7 @@ mapM_ :: (Monad m, Storable a) => (a -> m b) -> Vector a -> m ()
204303 mapM_ = G.mapM_
205304
206305 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
207306--- vector of results. Equvalent to @flip 'mapM'@.
208307+-- vector of results. Equivalent to @flip 'mapM'@.
209− forM :: (Monad m, Prim a, Prim b) => Vector a -> (a -> m b) -> m (Vector b)
308+ forM :: (Monad m, Storable a, Storable b) => Vector a -> (a -> m b) -> m (Vector b)
210309 {-# INLINE forM #-}
211310 forM = G.forM
212−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs
213−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
214−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
311+diff --git a/Data/Vector/Storable/Mutable.hs b/Data/Vector/Storable/Mutable.hs
312+index 44688b0..c1c1ac1 100644
313+--- a/Data/Vector/Storable/Mutable.hs
314++++ b/Data/Vector/Storable/Mutable.hs
215315@@ -1,4 +1,4 @@
216316-{-# LANGUAGE CPP, DeriveDataTypeable, MultiParamTypeClasses, FlexibleInstances, ScopedTypeVariables #-}
217317+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, MagicHash, MultiParamTypeClasses, ScopedTypeVariables #-}
218318
219319 -- |
220320 -- Module : Data.Vector.Storable.Mutable
221−@@ -65,8 +65,13 @@
321+@@ -65,8 +65,13 @@ import Data.Vector.Storable.Internal
222322 import Foreign.Storable
223323 import Foreign.ForeignPtr
224324
@@ -234,7 +334,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
234334 #endif
235335
236336 import Foreign.Ptr
237−@@ -201,11 +206,26 @@
337+@@ -201,11 +206,26 @@ storableSetAsPrim n fp x y = withForeignPtr fp $ \(Ptr p) -> do
238338 {-# INLINE mallocVector #-}
239339 mallocVector :: Storable a => Int -> IO (ForeignPtr a)
240340 mallocVector =
@@ -266,7 +366,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
266366 #else
267367 mallocForeignPtrArray
268368 #endif
269−@@ -293,7 +313,7 @@
369+@@ -293,7 +313,7 @@ new :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
270370 {-# INLINE new #-}
271371 new = G.new
272372
@@ -275,7 +375,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
275375 unsafeNew :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
276376 {-# INLINE unsafeNew #-}
277377 unsafeNew = G.unsafeNew
278−@@ -322,14 +342,14 @@
378+@@ -322,14 +342,14 @@ clone = G.clone
279379 -- | Grow a vector by the given number of elements. The number must be
280380 -- positive.
281381 grow :: (PrimMonad m, Storable a)
@@ -292,7 +392,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
292392 {-# INLINE unsafeGrow #-}
293393 unsafeGrow = G.unsafeGrow
294394
295−@@ -401,7 +421,7 @@
395+@@ -401,7 +421,7 @@ set = G.set
296396 -- | Copy a vector. The two vectors must have the same length and may not
297397 -- overlap.
298398 copy :: (PrimMonad m, Storable a)
@@ -301,7 +401,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
301401 {-# INLINE copy #-}
302402 copy = G.copy
303403
304−@@ -422,7 +442,7 @@
404+@@ -422,7 +442,7 @@ unsafeCopy = G.unsafeCopy
305405 -- copied to a temporary vector and then the temporary vector was copied
306406 -- to the target vector.
307407 move :: (PrimMonad m, Storable a)
@@ -310,7 +410,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
310410 {-# INLINE move #-}
311411 move = G.move
312412
313−@@ -434,9 +454,9 @@
413+@@ -434,9 +454,9 @@ move = G.move
314414 -- copied to a temporary vector and then the temporary vector was copied
315415 -- to the target vector.
316416 unsafeMove :: (PrimMonad m, Storable a)
@@ -323,11 +423,12 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
323423 {-# INLINE unsafeMove #-}
324424 unsafeMove = G.unsafeMove
325425
326−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs ghc-package-vector-0.11.0.0/Data/Vector/Storable.hs
327−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs 2015-07-13 12:26:16.000000000 +0800
328−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable.hs 2001-09-09 09:46:40.000000000 +0800
329−@@ -169,7 +169,9 @@
330− import Data.Data ( Data(..) )
426+diff --git a/Data/Vector/Unboxed.hs b/Data/Vector/Unboxed.hs
427+index 1b2062f..1d5f121 100644
428+--- a/Data/Vector/Unboxed.hs
429++++ b/Data/Vector/Unboxed.hs
430+@@ -186,7 +186,9 @@ import Prelude hiding ( length, null,
431+
331432 import Text.Read ( Read(..), readListPrecDefault )
332433
333434+#if !MIN_VERSION_base(4,8,0)
@@ -335,20 +436,21 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs ghc-package-vec
335436+#endif
336437
337438 #if __GLASGOW_HASKELL__ >= 708
338− import qualified GHC.Exts as Exts
339−@@ -783,7 +785,7 @@
340− mapM_ = G.mapM_
439+ import qualified GHC.Exts as Exts (IsList(..))
440+@@ -820,7 +822,7 @@ imapM_ :: (Monad m, Unbox a) => (Int -> a -> m b) -> Vector a -> m ()
441+ imapM_ = G.imapM_
341442
342443 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
343444--- vector of results. Equvalent to @flip 'mapM'@.
344445+-- vector of results. Equivalent to @flip 'mapM'@.
345− forM :: (Monad m, Storable a, Storable b) => Vector a -> (a -> m b) -> m (Vector b)
446+ forM :: (Monad m, Unbox a, Unbox b) => Vector a -> (a -> m b) -> m (Vector b)
346447 {-# INLINE forM #-}
347448 forM = G.forM
348−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs
349−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2015-07-13 12:26:16.000000000 +0800
350−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2001-09-09 09:46:40.000000000 +0800
351−@@ -30,10 +30,14 @@
449+diff --git a/Data/Vector/Unboxed/Base.hs b/Data/Vector/Unboxed/Base.hs
450+index ee41966..56c6735 100644
451+--- a/Data/Vector/Unboxed/Base.hs
452++++ b/Data/Vector/Unboxed/Base.hs
453+@@ -30,10 +30,14 @@ import Control.DeepSeq ( NFData(rnf) )
352454 import Control.Monad.Primitive
353455 import Control.Monad ( liftM )
354456
@@ -364,10 +466,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs ghc-package
364466 #if __GLASGOW_HASKELL__ >= 707
365467 import Data.Typeable ( Typeable )
366468 #else
367−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs
368−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
369−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
370−@@ -149,7 +149,7 @@
469+diff --git a/Data/Vector/Unboxed/Mutable.hs b/Data/Vector/Unboxed/Mutable.hs
470+index 78e473e..a94c07f 100644
471+--- a/Data/Vector/Unboxed/Mutable.hs
472++++ b/Data/Vector/Unboxed/Mutable.hs
473+@@ -149,7 +149,7 @@ new :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
371474 {-# INLINE new #-}
372475 new = G.new
373476
@@ -376,106 +479,20 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs ghc-pack
376479 unsafeNew :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
377480 {-# INLINE unsafeNew #-}
378481 unsafeNew = G.unsafeNew
379−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed.hs
380−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2015-07-13 12:26:16.000000000 +0800
381−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2001-09-09 09:46:40.000000000 +0800
382−@@ -186,7 +186,9 @@
383−
384− import Text.Read ( Read(..), readListPrecDefault )
385−
386−+#if !MIN_VERSION_base(4,8,0)
387− import Data.Monoid ( Monoid(..) )
388−+#endif
389−
390− #if __GLASGOW_HASKELL__ >= 708
391− import qualified GHC.Exts as Exts (IsList(..))
392−@@ -820,7 +822,7 @@
393− imapM_ = G.imapM_
394−
395− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
396−--- vector of results. Equvalent to @flip 'mapM'@.
397−+-- vector of results. Equivalent to @flip 'mapM'@.
398− forM :: (Monad m, Unbox a, Unbox b) => Vector a -> (a -> m b) -> m (Vector b)
399− {-# INLINE forM #-}
400− forM = G.forM
401−diff -ur hackage-package-vector-0.11.0.0/Data/Vector.hs ghc-package-vector-0.11.0.0/Data/Vector.hs
402−--- hackage-package-vector-0.11.0.0/Data/Vector.hs 2015-07-13 12:26:16.000000000 +0800
403−+++ ghc-package-vector-0.11.0.0/Data/Vector.hs 2001-09-09 09:46:40.000000000 +0800
404−@@ -150,7 +150,7 @@
405− -- * Conversions
406−
407− -- ** Lists
408−- toList, fromList, fromListN,
409−+ toList, Data.Vector.fromList, Data.Vector.fromListN,
410−
411− -- ** Other vector types
412− G.convert,
413−@@ -187,11 +187,14 @@
414− import Data.Data ( Data(..) )
415− import Text.Read ( Read(..), readListPrecDefault )
416−
417−-import Data.Monoid ( Monoid(..) )
418− import qualified Control.Applicative as Applicative
419− import qualified Data.Foldable as Foldable
420− import qualified Data.Traversable as Traversable
421−
422−+#if !MIN_VERSION_base(4,8,0)
423−+import Data.Monoid ( Monoid(..) )
424−+#endif
425−+
426− #if __GLASGOW_HASKELL__ >= 708
427− import qualified GHC.Exts as Exts (IsList(..))
428− #endif
429−@@ -220,8 +223,8 @@
430−
431− instance Exts.IsList (Vector a) where
432− type Item (Vector a) = a
433−- fromList = fromList
434−- fromListN = fromListN
435−+ fromList = Data.Vector.fromList
436−+ fromListN = Data.Vector.fromListN
437− toList = toList
438− #endif
439−
440−@@ -297,7 +300,7 @@
441−
442− instance Monad Vector where
443− {-# INLINE return #-}
444−- return = singleton
445−+ return = Applicative.pure
446−
447− {-# INLINE (>>=) #-}
448− (>>=) = flip concatMap
449−@@ -341,7 +344,7 @@
450−
451− instance Traversable.Traversable Vector where
452− {-# INLINE traverse #-}
453−- traverse f xs = fromList Applicative.<$> Traversable.traverse f (toList xs)
454−+ traverse f xs = Data.Vector.fromList Applicative.<$> Traversable.traverse f (toList xs)
455−
456− {-# INLINE mapM #-}
457− mapM = mapM
458−@@ -917,7 +920,7 @@
459− imapM_ = G.imapM_
460−
461− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
462−--- vector of results. Equvalent to @flip 'mapM'@.
463−+-- vector of results. Equivalent to @flip 'mapM'@.
464− forM :: Monad m => Vector a -> (a -> m b) -> m (Vector b)
465− {-# INLINE forM #-}
466− forM = G.forM
467−diff -ur hackage-package-vector-0.11.0.0/include/vector.h ghc-package-vector-0.11.0.0/include/vector.h
468−--- hackage-package-vector-0.11.0.0/include/vector.h 2015-07-13 12:26:16.000000000 +0800
469−+++ ghc-package-vector-0.11.0.0/include/vector.h 2001-09-09 09:46:40.000000000 +0800
470−@@ -18,4 +18,3 @@
482+diff --git a/include/vector.h b/include/vector.h
483+index df9200c..1568bb2 100644
484+--- a/include/vector.h
485++++ b/include/vector.h
486+@@ -18,4 +18,3 @@ import qualified Data.Vector.Internal.Check as Ck
471487
472488 #define PHASE_STREAM Please use "PHASE_FUSED" instead
473489 #define INLINE_STREAM Please use "INLINE_FUSED" instead
474490-
475−diff -ur hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs ghc-package-vector-0.11.0.0/tests/Tests/Vector.hs
476−--- hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs 2015-07-13 12:26:16.000000000 +0800
477−+++ ghc-package-vector-0.11.0.0/tests/Tests/Vector.hs 2001-09-09 09:46:40.000000000 +0800
478−@@ -643,6 +643,7 @@
491+diff --git a/tests/Tests/Vector.hs b/tests/Tests/Vector.hs
492+index 9b0a093..e39d24f 100644
493+--- a/tests/Tests/Vector.hs
494++++ b/tests/Tests/Vector.hs
495+@@ -643,6 +643,7 @@ tests = [
479496 testGroup "Data.Vector.Storable.Vector (Double)" (testNumericStorableVector (undefined :: Data.Vector.Storable.Vector Double)),
480497
481498 testGroup "Data.Vector.Unboxed.Vector ()" (testUnitUnboxedVector (undefined :: Data.Vector.Unboxed.Vector ())),
@@ -483,10 +500,11 @@ diff -ur hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs ghc-package-vecto
483500 testGroup "Data.Vector.Unboxed.Vector (Int)" (testNumericUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Int)),
484501 testGroup "Data.Vector.Unboxed.Vector (Double)" (testNumericUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Double)),
485502 testGroup "Data.Vector.Unboxed.Vector (Int,Bool)" (testTupleUnboxedVector (undefined :: Data.Vector.Unboxed.Vector (Int,Bool))),
486−diff -ur hackage-package-vector-0.11.0.0/vector.cabal ghc-package-vector-0.11.0.0/vector.cabal
487−--- hackage-package-vector-0.11.0.0/vector.cabal 2015-07-13 12:26:16.000000000 +0800
488−+++ ghc-package-vector-0.11.0.0/vector.cabal 2001-09-09 09:46:40.000000000 +0800
489−@@ -38,6 +38,7 @@
503+diff --git a/vector.cabal b/vector.cabal
504+index ffc5099..d962c72 100644
505+--- a/vector.cabal
506++++ b/vector.cabal
507+@@ -38,6 +38,7 @@ Cabal-Version: >=1.10
490508 Build-Type: Simple
491509
492510 Extra-Source-Files:
@@ -494,7 +512,7 @@ diff -ur hackage-package-vector-0.11.0.0/vector.cabal ghc-package-vector-0.11.0.
494512 README.md
495513 tests/LICENSE
496514 tests/Setup.hs
497−@@ -137,9 +138,9 @@
515+@@ -137,9 +138,9 @@ Library
498516 Install-Includes:
499517 vector.h
500518
patches/ghc844/array-0.5.2.0.patch+5−4
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-array-0.5.2.0/array.cabal ghc-package-array-0.5.2.0/array.cabal
2−--- hackage-package-array-0.5.2.0/array.cabal 2017-07-04 06:06:07.000000000 +0800
3−+++ ghc-package-array-0.5.2.0/array.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -37,7 +37,7 @@
1+diff --git a/array.cabal b/array.cabal
2+index 1a71bab..ceaf54d 100644
3+--- a/array.cabal
4++++ b/array.cabal
5+@@ -37,7 +37,7 @@ library
56 Trustworthy,
67 UnboxedTuples,
78 UnliftedFFITypes
patches/ghc844/deepseq-1.4.3.0.patch+5−4
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-deepseq-1.4.3.0/deepseq.cabal ghc-package-deepseq-1.4.3.0/deepseq.cabal
2−--- hackage-package-deepseq-1.4.3.0/deepseq.cabal 2017-07-20 06:00:58.000000000 +0800
3−+++ ghc-package-deepseq-1.4.3.0/deepseq.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -61,7 +61,7 @@
1+diff --git a/deepseq.cabal b/deepseq.cabal
2+index 7f54e2a..7191fa9 100644
3+--- a/deepseq.cabal
4++++ b/deepseq.cabal
5+@@ -61,7 +61,7 @@ library
56 if impl(ghc>=7.8)
67 other-extensions: EmptyCase
78
patches/ghc844/default.nix−1
@@ -1,7 +1,6 @@
11{
22 packages.array.patches = [ ./array-0.5.2.0.patch ];
33 packages.deepseq.patches = [ ./deepseq-1.4.3.0.patch ];
4− packages.default.nix.patches = [ ./default.nix ];
54 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
65 packages.parallel.patches = [ ./parallel-3.2.1.1.patch ];
76 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
patches/ghc844/hpc-0.6.0.3.patch+5−4
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-hpc-0.6.0.3/hpc.cabal ghc-package-hpc-0.6.0.3/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -35,9 +35,9 @@
1+diff --git a/hpc.cabal b/hpc.cabal
2+index 7e77973..017a609 100644
3+--- a/hpc.cabal
4++++ b/hpc.cabal
5+@@ -35,9 +35,9 @@ Library
56 Trace.Hpc.Reflect
67
78 Build-Depends:
patches/ghc844/parallel-3.2.1.1.patch+5−4
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-parallel-3.2.1.1/parallel.cabal ghc-package-parallel-3.2.1.1/parallel.cabal
2−--- hackage-package-parallel-3.2.1.1/parallel.cabal 2017-04-09 00:25:01.000000000 +0800
3−+++ ghc-package-parallel-3.2.1.1/parallel.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -34,7 +34,7 @@
1+diff --git a/parallel.cabal b/parallel.cabal
2+index 577a11e..0ae23e9 100644
3+--- a/parallel.cabal
4++++ b/parallel.cabal
5+@@ -34,7 +34,7 @@ library
56
67 build-depends:
78 array >= 0.3 && < 0.6,
patches/ghc844/parsec-3.1.13.0.patch+6−5
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.0/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -21,8 +21,8 @@
1+diff --git a/parsec.cabal b/parsec.cabal
2+index 9531768..7c2a399 100644
3+--- a/parsec.cabal
4++++ b/parsec.cabal
5+@@ -21,8 +21,8 @@ license: BSD3
56 license-file: LICENSE
67 author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
78 maintainer: Herbert Valerio Riedel <hvr@gnu.org>
@@ -12,7 +13,7 @@ diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.
1213 category: Parsing
1314
1415 build-type: Simple
15−@@ -32,7 +32,7 @@
16+@@ -32,7 +32,7 @@ extra-source-files: ChangeLog.md, README.md
1617
1718 source-repository head
1819 type: git
patches/ghc844/random-1.1.patch+35−31
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-random-1.1/README.md ghc-package-random-1.1/README.md
2−--- hackage-package-random-1.1/README.md 2014-09-17 05:34:43.000000000 +0800
3−+++ ghc-package-random-1.1/README.md 2001-09-09 09:46:40.000000000 +0800
4−@@ -10,7 +10,7 @@
1+diff --git a/README.md b/README.md
2+index 9d5bb51..47b7589 100644
3+--- a/README.md
4++++ b/README.md
5+@@ -10,7 +10,7 @@ The API documentation can be found here:
56
67 A module supplying this interface is required for Haskell 98 (but not Haskell
78 2010). An older [version]
@@ -10,9 +11,10 @@ diff -ur hackage-package-random-1.1/README.md ghc-package-random-1.1/README.md
1011 of this library is included with GHC in the haskell98 package. This newer
1112 version, with compatible api, is included in the [Haskell Platform]
1213 (http://www.haskell.org/platform/contents.html).
13−diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/System/Random.hs
14−--- hackage-package-random-1.1/System/Random.hs 2014-09-17 05:34:43.000000000 +0800
15−+++ ghc-package-random-1.1/System/Random.hs 2001-09-09 09:46:40.000000000 +0800
14+diff --git a/System/Random.hs b/System/Random.hs
15+index ab77274..dfd2088 100644
16+--- a/System/Random.hs
17++++ b/System/Random.hs
1618@@ -7,7 +7,7 @@
1719 -- Module : System.Random
1820 -- Copyright : (c) The University of Glasgow 2001
@@ -94,7 +96,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
9496
9597 import Prelude
9698
97−@@ -83,15 +83,15 @@
99+@@ -83,15 +83,15 @@ import Data.Word
98100 import Foreign.C.Types
99101
100102 #ifdef __NHC__
@@ -115,7 +117,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
115117 import System.IO.Unsafe ( unsafePerformIO )
116118 import Data.IORef ( IORef, newIORef, readIORef, writeIORef )
117119 #if MIN_VERSION_base (4,6,0)
118−@@ -99,7 +99,7 @@
120+@@ -99,7 +99,7 @@ import Data.IORef ( atomicModifyIORef' )
119121 #else
120122 import Data.IORef ( atomicModifyIORef )
121123 #endif
@@ -124,7 +126,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
124126
125127 #ifdef __GLASGOW_HASKELL__
126128 import GHC.Exts ( build )
127−@@ -201,17 +201,17 @@
129+@@ -201,17 +201,17 @@ It is required that @'read' ('show' g) == g@.
128130
129131 In addition, 'reads' may be used to map an arbitrary string (not necessarily one
130132 produced by 'show') onto a value of type 'StdGen'. In general, the 'Read'
@@ -146,7 +148,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
146148 = StdGen !Int32 !Int32
147149
148150 instance RandomGen StdGen where
149−@@ -224,8 +224,8 @@
151+@@ -224,8 +224,8 @@ instance SplittableGen StdGen where
150152 split = stdSplit
151153
152154 instance Show StdGen where
@@ -157,7 +159,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
157159 showChar ' ' .
158160 showsPrec p s2
159161
160−@@ -234,11 +234,11 @@
162+@@ -234,11 +234,11 @@ instance Read StdGen where
161163 case try_read r of
162164 r'@[_] -> r'
163165 _ -> [stdFromString r] -- because it shouldn't ever fail.
@@ -172,7 +174,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
172174
173175 {-
174176 If we cannot unravel the StdGen from a string, create
175−@@ -246,7 +246,7 @@
177+@@ -246,7 +246,7 @@ instance Read StdGen where
176178 -}
177179 stdFromString :: String -> (StdGen, String)
178180 stdFromString s = (mkStdGen num, rest)
@@ -181,7 +183,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
181183 num = foldl (\a x -> x + 3 * a) 1 (map ord cs)
182184
183185
184−@@ -266,11 +266,11 @@
186+@@ -266,11 +266,11 @@ respectively."
185187 mkStdGen32 :: Int32 -> StdGen
186188 mkStdGen32 sMaybeNegative = StdGen (s1+1) (s2+1)
187189 where
@@ -198,7 +200,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
198200
199201 createStdGen :: Integer -> StdGen
200202 createStdGen s = mkStdGen32 $ fromIntegral s
201−@@ -323,7 +323,7 @@
203+@@ -323,7 +323,7 @@ class Random a where
202204 -- | A variant of 'random' that uses the global random number generator
203205 -- (see "System.Random#globalrng").
204206 randomIO :: IO a
@@ -207,7 +209,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
207209
208210 -- | Produce an infinite list-equivalent of random values.
209211 {-# INLINE buildRandoms #-}
210−@@ -340,7 +340,7 @@
212+@@ -340,7 +340,7 @@ buildRandoms cons rand = go
211213
212214 instance Random Integer where
213215 randomR ival g = randomIvalInteger ival g
@@ -216,7 +218,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
216218
217219 instance Random Int where randomR = randomIvalIntegral; random = randomBounded
218220 instance Random Int8 where randomR = randomIvalIntegral; random = randomBounded
219−@@ -378,13 +378,13 @@
221+@@ -378,13 +378,13 @@ instance Random CIntMax where randomR = randomIvalIntegral; random = randomBo
220222 instance Random CUIntMax where randomR = randomIvalIntegral; random = randomBounded
221223
222224 instance Random Char where
@@ -233,7 +235,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
233235 case (randomIvalInteger (bool2Int a, bool2Int b) g) of
234236 (x, g') -> (int2Bool x, g')
235237 where
236−@@ -392,42 +392,42 @@
238+@@ -392,42 +392,42 @@ instance Random Bool where
237239 bool2Int False = 0
238240 bool2Int True = 1
239241
@@ -298,7 +300,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
298300 -- (encodeFloat rand (-24), rng')
299301 where
300302 mask24 = twoto24 - 1
301−@@ -436,8 +436,8 @@
303+@@ -436,8 +436,8 @@ instance Random Float where
302304 -- CFloat/CDouble are basically the same as a Float/Double:
303305 instance Random CFloat where
304306 randomR = randomRFloating
@@ -309,7 +311,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
309311
310312 instance Random CDouble where
311313 randomR = randomRFloating
312−@@ -445,8 +445,8 @@
314+@@ -445,8 +445,8 @@ instance Random CDouble where
313315 -- Presently, this is showing better performance than the Double instance:
314316 -- (And yet, if the Double instance uses randomFrac then its performance is much worse!)
315317 random = randomFrac
@@ -320,7 +322,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
320322
321323 mkStdRNG :: Integer -> IO StdGen
322324 mkStdRNG o = do
323−@@ -463,7 +463,7 @@
325+@@ -463,7 +463,7 @@ randomIvalIntegral (l,h) = randomIvalInteger (toInteger l, toInteger h)
324326
325327 {-# SPECIALIZE randomIvalInteger :: (Num a) =>
326328 (Integer, Integer) -> StdGen -> (a, StdGen) #-}
@@ -329,7 +331,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
329331 randomIvalInteger :: (RandomGen g, Num a) => (Integer, Integer) -> g -> (a, g)
330332 randomIvalInteger (l,h) rng
331333 | l > h = randomIvalInteger (h,l) rng
332−@@ -482,7 +482,7 @@
334+@@ -482,7 +482,7 @@ randomIvalInteger (l,h) rng
333335 k = h - l + 1
334336 magtgt = k * q
335337
@@ -338,7 +340,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
338340 f mag v g | mag >= magtgt = (v, g)
339341 | otherwise = v' `seq`f (mag*b) v' g' where
340342 (x,g') = next g
341−@@ -494,18 +494,18 @@
343+@@ -494,18 +494,18 @@ randomFrac :: (RandomGen g, Fractional a) => g -> (a, g)
342344 randomFrac = randomIvalDouble (0::Double,1) realToFrac
343345
344346 randomIvalDouble :: (RandomGen g, Fractional a) => (Double, Double) -> (Double -> a) -> g -> (a, g)
@@ -366,15 +368,13 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
366368
367369 int32Count :: Integer
368370 int32Count = toInteger (maxBound::Int32) - toInteger (minBound::Int32) + 1 -- GHC ticket #3982
369−@@ -516,16 +516,16 @@
371+@@ -516,16 +516,16 @@ stdRange = (1, 2147483562)
370372 stdNext :: StdGen -> (Int, StdGen)
371373 -- Returns values in the range stdRange
372374 stdNext (StdGen s1 s2) = (fromIntegral z', StdGen s1'' s2'')
373375- where z' = if z < 1 then z + 2147483562 else z
374376- z = s1'' - s2''
375−+ where z' = if z < 1 then z + 2147483562 else z
376−+ z = s1'' - s2''
377−
377+-
378378- k = s1 `quot` 53668
379379- s1' = 40014 * (s1 - k * 53668) - k * 12211
380380- s1'' = if s1' < 0 then s1' + 2147483563 else s1'
@@ -382,6 +382,9 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
382382- k' = s2 `quot` 52774
383383- s2' = 40692 * (s2 - k' * 52774) - k' * 3791
384384- s2'' = if s2' < 0 then s2' + 2147483399 else s2'
385++ where z' = if z < 1 then z + 2147483562 else z
386++ z = s1'' - s2''
387++
385388+ k = s1 `quot` 53668
386389+ s1' = 40014 * (s1 - k * 53668) - k * 12211
387390+ s1'' = if s1' < 0 then s1' + 2147483563 else s1'
@@ -392,10 +395,11 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
392395
393396 stdSplit :: StdGen -> (StdGen, StdGen)
394397 stdSplit std@(StdGen s1 s2)
395−diff -ur hackage-package-random-1.1/random.cabal ghc-package-random-1.1/random.cabal
396−--- hackage-package-random-1.1/random.cabal 2014-09-17 05:34:43.000000000 +0800
397−+++ ghc-package-random-1.1/random.cabal 2001-09-09 09:46:40.000000000 +0800
398−@@ -40,7 +40,7 @@
398+diff --git a/random.cabal b/random.cabal
399+index fd29840..a28063c 100644
400+--- a/random.cabal
401++++ b/random.cabal
402+@@ -40,7 +40,7 @@ Library
399403
400404 source-repository head
401405 type: git
patches/ghc844/time-1.8.0.2.patch+20−18
@@ -1,6 +1,7 @@
1−diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
1+diff --git a/configure b/configure
2+index f4f4dba..f5fae2b 100644
3+--- a/configure
4++++ b/configure
45@@ -1,6 +1,6 @@
56 #! /bin/sh
67 # Guess values for system-dependent variables and create Makefiles.
@@ -9,7 +10,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
910 #
1011 # Report bugs to <ashley@semantic.org>.
1112 #
12−@@ -580,8 +580,8 @@
13+@@ -580,8 +580,8 @@ MAKEFLAGS=
1314 # Identity of this package.
1415 PACKAGE_NAME='Haskell time package'
1516 PACKAGE_TARNAME='time'
@@ -20,7 +21,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
2021 PACKAGE_BUGREPORT='ashley@semantic.org'
2122 PACKAGE_URL=''
2223
23−@@ -653,7 +653,6 @@
24+@@ -653,7 +653,6 @@ infodir
2425 docdir
2526 oldincludedir
2627 includedir
@@ -28,7 +29,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
2829 localstatedir
2930 sharedstatedir
3031 sysconfdir
31−@@ -726,7 +725,6 @@
32+@@ -726,7 +725,6 @@ datadir='${datarootdir}'
3233 sysconfdir='${prefix}/etc'
3334 sharedstatedir='${prefix}/com'
3435 localstatedir='${prefix}/var'
@@ -36,7 +37,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
3637 includedir='${prefix}/include'
3738 oldincludedir='/usr/include'
3839 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40+@@ -979,15 +977,6 @@ do
4041 | -silent | --silent | --silen | --sile | --sil)
4142 silent=yes ;;
4243
@@ -52,7 +53,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
5253 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
5354 ac_prev=sbindir ;;
5455 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56+@@ -1125,7 +1114,7 @@ fi
5657 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
5758 datadir sysconfdir sharedstatedir localstatedir includedir \
5859 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
@@ -61,7 +62,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
6162 do
6263 eval ac_val=\$$ac_var
6364 # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65+@@ -1238,7 +1227,7 @@ if test "$ac_init_help" = "long"; then
6566 # Omit some internal or obsolete options to make the list less imposing.
6667 # This message is too long to be a string in the A/UX 3.1 sh.
6768 cat <<_ACEOF
@@ -70,7 +71,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
7071
7172 Usage: $0 [OPTION]... [VAR=VALUE]...
7273
73−@@ -1278,7 +1267,6 @@
74+@@ -1278,7 +1267,6 @@ Fine tuning of the installation directories:
7475 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
7576 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
7677 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
@@ -78,7 +79,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
7879 --libdir=DIR object code libraries [EPREFIX/lib]
7980 --includedir=DIR C header files [PREFIX/include]
8081 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82+@@ -1300,7 +1288,7 @@ fi
8283
8384 if test -n "$ac_init_help"; then
8485 case $ac_init_help in
@@ -87,7 +88,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
8788 esac
8889 cat <<\_ACEOF
8990
90−@@ -1386,7 +1374,7 @@
91+@@ -1386,7 +1374,7 @@ fi
9192 test -n "$ac_init_help" && exit $ac_status
9293 if $ac_init_version; then
9394 cat <<\_ACEOF
@@ -96,7 +97,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
9697 generated by GNU Autoconf 2.69
9798
9899 Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100+@@ -1858,7 +1846,7 @@ cat >config.log <<_ACEOF
100101 This file contains any messages produced by compilers while
101102 running configure, to aid debugging if configure makes a mistake.
102103
@@ -105,7 +106,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
105106 generated by GNU Autoconf 2.69. Invocation command line was
106107
107108 $ $0 $@
108−@@ -4193,7 +4181,7 @@
109+@@ -4193,7 +4181,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
109110 # report actual input values of CONFIG_FILES etc. instead of their
110111 # values after options handling.
111112 ac_log="
@@ -114,7 +115,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
114115 generated by GNU Autoconf 2.69. Invocation command line was
115116
116117 CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118+@@ -4246,7 +4234,7 @@ _ACEOF
118119 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119120 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120121 ac_cs_version="\\
@@ -123,9 +124,10 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
123124 configured by $0, generated by GNU Autoconf 2.69,
124125 with options \\"\$ac_cs_config\\"
125126
126−diff -ur hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h
127−--- hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2017-05-13 18:29:46.000000000 +0800
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
127+diff --git a/lib/include/HsTimeConfig.h b/lib/include/HsTimeConfig.h
128+index a1e2513..20798c5 100644
129+--- a/lib/include/HsTimeConfig.h
130++++ b/lib/include/HsTimeConfig.h
129131@@ -69,7 +69,7 @@
130132 #define PACKAGE_NAME "Haskell time package"
131133
patches/ghc844/unix-2.7.2.2.patch+19−17
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
4−@@ -667,7 +667,6 @@
1+diff --git a/configure b/configure
2+index ea0475d..a3897ae 100644
3+--- a/configure
4++++ b/configure
5+@@ -667,7 +667,6 @@ infodir
56 docdir
67 oldincludedir
78 includedir
@@ -9,7 +10,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
910 localstatedir
1011 sharedstatedir
1112 sysconfdir
12−@@ -739,7 +738,6 @@
13+@@ -739,7 +738,6 @@ datadir='${datarootdir}'
1314 sysconfdir='${prefix}/etc'
1415 sharedstatedir='${prefix}/com'
1516 localstatedir='${prefix}/var'
@@ -17,7 +18,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
1718 includedir='${prefix}/include'
1819 oldincludedir='/usr/include'
1920 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21+@@ -992,15 +990,6 @@ do
2122 | -silent | --silent | --silen | --sile | --sil)
2223 silent=yes ;;
2324
@@ -33,7 +34,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
3334 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
3435 ac_prev=sbindir ;;
3536 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37+@@ -1138,7 +1127,7 @@ fi
3738 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
3839 datadir sysconfdir sharedstatedir localstatedir includedir \
3940 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
@@ -42,7 +43,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
4243 do
4344 eval ac_val=\$$ac_var
4445 # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46+@@ -1291,7 +1280,6 @@ Fine tuning of the installation directories:
4647 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
4748 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
4849 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
@@ -50,7 +51,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
5051 --libdir=DIR object code libraries [EPREFIX/lib]
5152 --includedir=DIR C header files [PREFIX/include]
5253 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54+@@ -3782,7 +3770,7 @@ else
5455 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5556 since some C++ compilers masquerading as C compilers
5657 incorrectly reject 9223372036854775807. */
@@ -59,7 +60,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
5960 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
6061 && LARGE_OFF_T % 2147483647 == 1)
6162 ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63+@@ -3828,7 +3816,7 @@ else
6364 We can't simply define LARGE_OFF_T to be 9223372036854775807,
6465 since some C++ compilers masquerading as C compilers
6566 incorrectly reject 9223372036854775807. */
@@ -68,7 +69,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
6869 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
6970 && LARGE_OFF_T % 2147483647 == 1)
7071 ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72+@@ -3852,7 +3840,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7273 We can't simply define LARGE_OFF_T to be 9223372036854775807,
7374 since some C++ compilers masquerading as C compilers
7475 incorrectly reject 9223372036854775807. */
@@ -77,7 +78,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
7778 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
7879 && LARGE_OFF_T % 2147483647 == 1)
7980 ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81+@@ -3897,7 +3885,7 @@ else
8182 We can't simply define LARGE_OFF_T to be 9223372036854775807,
8283 since some C++ compilers masquerading as C compilers
8384 incorrectly reject 9223372036854775807. */
@@ -86,7 +87,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
8687 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
8788 && LARGE_OFF_T % 2147483647 == 1)
8889 ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90+@@ -3921,7 +3909,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
9091 We can't simply define LARGE_OFF_T to be 9223372036854775807,
9192 since some C++ compilers masquerading as C compilers
9293 incorrectly reject 9223372036854775807. */
@@ -95,10 +96,11 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
9596 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
9697 && LARGE_OFF_T % 2147483647 == 1)
9798 ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101−@@ -62,7 +62,7 @@
99+diff --git a/unix.cabal b/unix.cabal
100+index cf44068..6714fb2 100644
101+--- a/unix.cabal
102++++ b/unix.cabal
103+@@ -62,7 +62,7 @@ library
102104 buildable: False
103105
104106 build-depends:
patches/ghc844/vector-0.11.0.0.patch+208−190
@@ -1,7 +1,88 @@
1−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs
2−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
3−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
4−@@ -101,12 +101,20 @@
1+diff --git a/Data/Vector.hs b/Data/Vector.hs
2+index db6dfb7..797e096 100644
3+--- a/Data/Vector.hs
4++++ b/Data/Vector.hs
5+@@ -150,7 +150,7 @@ module Data.Vector (
6+ -- * Conversions
7+
8+ -- ** Lists
9+- toList, fromList, fromListN,
10++ toList, Data.Vector.fromList, Data.Vector.fromListN,
11+
12+ -- ** Other vector types
13+ G.convert,
14+@@ -187,11 +187,14 @@ import Data.Typeable ( Typeable )
15+ import Data.Data ( Data(..) )
16+ import Text.Read ( Read(..), readListPrecDefault )
17+
18+-import Data.Monoid ( Monoid(..) )
19+ import qualified Control.Applicative as Applicative
20+ import qualified Data.Foldable as Foldable
21+ import qualified Data.Traversable as Traversable
22+
23++#if !MIN_VERSION_base(4,8,0)
24++import Data.Monoid ( Monoid(..) )
25++#endif
26++
27+ #if __GLASGOW_HASKELL__ >= 708
28+ import qualified GHC.Exts as Exts (IsList(..))
29+ #endif
30+@@ -220,8 +223,8 @@ instance Read a => Read (Vector a) where
31+
32+ instance Exts.IsList (Vector a) where
33+ type Item (Vector a) = a
34+- fromList = fromList
35+- fromListN = fromListN
36++ fromList = Data.Vector.fromList
37++ fromListN = Data.Vector.fromListN
38+ toList = toList
39+ #endif
40+
41+@@ -297,7 +300,7 @@ instance Functor Vector where
42+
43+ instance Monad Vector where
44+ {-# INLINE return #-}
45+- return = singleton
46++ return = Applicative.pure
47+
48+ {-# INLINE (>>=) #-}
49+ (>>=) = flip concatMap
50+@@ -341,7 +344,7 @@ instance Foldable.Foldable Vector where
51+
52+ instance Traversable.Traversable Vector where
53+ {-# INLINE traverse #-}
54+- traverse f xs = fromList Applicative.<$> Traversable.traverse f (toList xs)
55++ traverse f xs = Data.Vector.fromList Applicative.<$> Traversable.traverse f (toList xs)
56+
57+ {-# INLINE mapM #-}
58+ mapM = mapM
59+@@ -917,7 +920,7 @@ imapM_ :: Monad m => (Int -> a -> m b) -> Vector a -> m ()
60+ imapM_ = G.imapM_
61+
62+ -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
63+--- vector of results. Equvalent to @flip 'mapM'@.
64++-- vector of results. Equivalent to @flip 'mapM'@.
65+ forM :: Monad m => Vector a -> (a -> m b) -> m (Vector b)
66+ {-# INLINE forM #-}
67+ forM = G.forM
68+diff --git a/Data/Vector/Fusion/Bundle.hs b/Data/Vector/Fusion/Bundle.hs
69+index 53bddda..aeb2945 100644
70+--- a/Data/Vector/Fusion/Bundle.hs
71++++ b/Data/Vector/Fusion/Bundle.hs
72+@@ -111,7 +111,7 @@ type Bundle = M.Bundle Id
73+ type MBundle = M.Bundle
74+
75+ inplace :: (forall m. Monad m => S.Stream m a -> S.Stream m b)
76+- -> (Size -> Size) -> Bundle v a -> Bundle v b
77++ -> (Size -> Size) -> Bundle v a -> Bundle v b
78+ {-# INLINE_FUSED inplace #-}
79+ inplace f g b = b `seq` M.fromStream (f (M.elements b)) (g (M.size b))
80+
81+diff --git a/Data/Vector/Fusion/Bundle/Monadic.hs b/Data/Vector/Fusion/Bundle/Monadic.hs
82+index 66789d9..9f9a81a 100644
83+--- a/Data/Vector/Fusion/Bundle/Monadic.hs
84++++ b/Data/Vector/Fusion/Bundle/Monadic.hs
85+@@ -101,12 +101,20 @@ import Prelude hiding ( length, null,
586 scanl, scanl1,
687 enumFromTo, enumFromThenTo )
788
@@ -24,7 +105,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
24105 data Chunk v a = Chunk Int (forall m. (PrimMonad m, Vector v a) => Mutable v (PrimState m) a -> m ())
25106
26107 -- | Monadic streams
27−@@ -888,6 +896,7 @@
108+@@ -888,6 +896,7 @@ enumFromTo_big_word x y = x `seq` y `seq` fromStream (Stream step x) (Exact (len
28109 :: Monad m => Integer -> Integer -> Bundle m v Integer #-}
29110
30111
@@ -32,7 +113,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
32113
33114 -- FIXME: the "too large" test is totally wrong
34115 enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Bundle m v a
35−@@ -906,7 +915,6 @@
116+@@ -906,7 +915,6 @@ enumFromTo_big_int x y = x `seq` y `seq` fromStream (Stream step x) (Exact (len
36117 step z | z <= y = return $ Yield z (z+1)
37118 | otherwise = return $ Done
38119
@@ -40,22 +121,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
40121
41122 {-# RULES
42123
43−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs
44−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs 2015-07-13 12:26:16.000000000 +0800
45−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle.hs 2001-09-09 09:46:40.000000000 +0800
46−@@ -111,7 +111,7 @@
47− type MBundle = M.Bundle
48−
49− inplace :: (forall m. Monad m => S.Stream m a -> S.Stream m b)
50−- -> (Size -> Size) -> Bundle v a -> Bundle v b
51−+ -> (Size -> Size) -> Bundle v a -> Bundle v b
52− {-# INLINE_FUSED inplace #-}
53− inplace f g b = b `seq` M.fromStream (f (M.elements b)) (g (M.size b))
54−
55−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs
56−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
57−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
58−@@ -89,8 +89,12 @@
124+diff --git a/Data/Vector/Fusion/Stream/Monadic.hs b/Data/Vector/Fusion/Stream/Monadic.hs
125+index a0c13e4..7297587 100644
126+--- a/Data/Vector/Fusion/Stream/Monadic.hs
127++++ b/Data/Vector/Fusion/Stream/Monadic.hs
128+@@ -89,8 +89,12 @@ import Prelude hiding ( length, null,
59129 scanl, scanl1,
60130 enumFromTo, enumFromThenTo )
61131
@@ -69,7 +139,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
69139
70140 #if __GLASGOW_HASKELL__ >= 708
71141 import GHC.Types ( SPEC(..) )
72−@@ -101,6 +105,10 @@
142+@@ -101,6 +105,10 @@ import GHC.Exts ( SpecConstrAnnotation(..) )
73143 #include "vector.h"
74144 #include "MachDeps.h"
75145
@@ -80,7 +150,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
80150 #if __GLASGOW_HASKELL__ < 708
81151 data SPEC = SPEC | SPEC2
82152 #if __GLASGOW_HASKELL__ >= 700
83−@@ -1403,6 +1411,8 @@
153+@@ -1403,6 +1411,8 @@ enumFromTo_big_word x y = x `seq` y `seq` Stream step x
84154
85155
86156
@@ -89,7 +159,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
89159 -- FIXME: the "too large" test is totally wrong
90160 enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Stream m a
91161 {-# INLINE_FUSED enumFromTo_big_int #-}
92−@@ -1412,8 +1422,6 @@
162+@@ -1412,8 +1422,6 @@ enumFromTo_big_int x y = x `seq` y `seq` Stream step x
93163 step z | z <= y = return $ Yield z (z+1)
94164 | otherwise = return $ Done
95165
@@ -98,15 +168,16 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
98168 {-# RULES
99169
100170 "enumFromTo<Int64> [Stream]"
101−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs
102−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2015-07-13 12:26:16.000000000 +0800
103−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2001-09-09 09:46:40.000000000 +0800
171+diff --git a/Data/Vector/Fusion/Util.hs b/Data/Vector/Fusion/Util.hs
172+index 50f6b4d..855bf5d 100644
173+--- a/Data/Vector/Fusion/Util.hs
174++++ b/Data/Vector/Fusion/Util.hs
104175@@ -1,3 +1,4 @@
105176+{-# LANGUAGE CPP #-}
106177 -- |
107178 -- Module : Data.Vector.Fusion.Util
108179 -- Copyright : (c) Roman Leshchinskiy 2009
109−@@ -16,7 +17,9 @@
180+@@ -16,7 +17,9 @@ module Data.Vector.Fusion.Util (
110181 delay_inline, delayed_min
111182 ) where
112183
@@ -116,7 +187,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
116187
117188 -- | Identity monad
118189 newtype Id a = Id { unId :: a }
119−@@ -29,7 +32,7 @@
190+@@ -29,7 +32,7 @@ instance Applicative Id where
120191 Id f <*> Id x = Id (f x)
121192
122193 instance Monad Id where
@@ -125,7 +196,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
125196 Id x >>= f = f x
126197
127198 -- | Box monad
128−@@ -43,7 +46,7 @@
199+@@ -43,7 +46,7 @@ instance Applicative Box where
129200 Box f <*> Box x = Box (f x)
130201
131202 instance Monad Box where
@@ -134,27 +205,16 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
134205 Box x >>= f = f x
135206
136207 -- | Delay inlining a function until late in the game (simplifier phase 0).
137−@@ -55,4 +58,3 @@
208+@@ -55,4 +58,3 @@ delay_inline f = f
138209 delayed_min :: Int -> Int -> Int
139210 {-# INLINE [0] delayed_min #-}
140211 delayed_min m n = min m n
141212-
142−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs
143−--- hackage-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
144−+++ ghc-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
145−@@ -584,7 +584,7 @@
146− new n = BOUNDS_CHECK(checkLength) "new" n
147− $ unsafeNew n >>= \v -> basicInitialize v >> return v
148−
149−--- | Create a mutable vector of the given length. The length is not checked.
150−+-- | Create a mutable vector of the given length. The memory is not initialized.
151− unsafeNew :: (PrimMonad m, MVector v a) => Int -> m (v (PrimState m) a)
152− {-# INLINE unsafeNew #-}
153− unsafeNew n = UNSAFE_CHECK(checkLength) "unsafeNew" n
154−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Generic.hs ghc-package-vector-0.11.0.0/Data/Vector/Generic.hs
155−--- hackage-package-vector-0.11.0.0/Data/Vector/Generic.hs 2015-07-13 12:26:16.000000000 +0800
156−+++ ghc-package-vector-0.11.0.0/Data/Vector/Generic.hs 2001-09-09 09:46:40.000000000 +0800
157−@@ -1038,7 +1038,7 @@
213+diff --git a/Data/Vector/Generic.hs b/Data/Vector/Generic.hs
214+index 478a75a..a299d86 100644
215+--- a/Data/Vector/Generic.hs
216++++ b/Data/Vector/Generic.hs
217+@@ -1038,7 +1038,7 @@ imapM_ :: (Monad m, Vector v a) => (Int -> a -> m b) -> v a -> m ()
158218 imapM_ f = Bundle.mapM_ (uncurry f) . Bundle.indexed . stream
159219
160220 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
@@ -163,10 +223,24 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Generic.hs ghc-package-vect
163223 forM :: (Monad m, Vector v a, Vector v b) => v a -> (a -> m b) -> m (v b)
164224 {-# INLINE forM #-}
165225 forM as f = mapM f as
166−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Mutable.hs
167−--- hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
168−+++ ghc-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
169−@@ -268,7 +268,7 @@
226+diff --git a/Data/Vector/Generic/Mutable.hs b/Data/Vector/Generic/Mutable.hs
227+index c174c71..e3d02bd 100644
228+--- a/Data/Vector/Generic/Mutable.hs
229++++ b/Data/Vector/Generic/Mutable.hs
230+@@ -584,7 +584,7 @@ new :: (PrimMonad m, MVector v a) => Int -> m (v (PrimState m) a)
231+ new n = BOUNDS_CHECK(checkLength) "new" n
232+ $ unsafeNew n >>= \v -> basicInitialize v >> return v
233+
234+--- | Create a mutable vector of the given length. The length is not checked.
235++-- | Create a mutable vector of the given length. The memory is not initialized.
236+ unsafeNew :: (PrimMonad m, MVector v a) => Int -> m (v (PrimState m) a)
237+ {-# INLINE unsafeNew #-}
238+ unsafeNew n = UNSAFE_CHECK(checkLength) "unsafeNew" n
239+diff --git a/Data/Vector/Mutable.hs b/Data/Vector/Mutable.hs
240+index d1af9de..e3498ca 100644
241+--- a/Data/Vector/Mutable.hs
242++++ b/Data/Vector/Mutable.hs
243+@@ -268,7 +268,7 @@ new :: PrimMonad m => Int -> m (MVector (PrimState m) a)
170244 {-# INLINE new #-}
171245 new = G.new
172246
@@ -175,10 +249,34 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs ghc-package-vect
175249 unsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) a)
176250 {-# INLINE unsafeNew #-}
177251 unsafeNew = G.unsafeNew
178−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs
179−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
180−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
181−@@ -211,7 +211,7 @@
252+diff --git a/Data/Vector/Primitive.hs b/Data/Vector/Primitive.hs
253+index 251b595..7f653b1 100644
254+--- a/Data/Vector/Primitive.hs
255++++ b/Data/Vector/Primitive.hs
256+@@ -164,7 +164,9 @@ import Data.Typeable ( Typeable )
257+ import Data.Data ( Data(..) )
258+ import Text.Read ( Read(..), readListPrecDefault )
259+
260++#if !MIN_VERSION_base(4,8,0)
261+ import Data.Monoid ( Monoid(..) )
262++#endif
263+
264+ #if __GLASGOW_HASKELL__ >= 708
265+ import qualified GHC.Exts as Exts
266+@@ -773,7 +775,7 @@ mapM_ :: (Monad m, Prim a) => (a -> m b) -> Vector a -> m ()
267+ mapM_ = G.mapM_
268+
269+ -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
270+--- vector of results. Equvalent to @flip 'mapM'@.
271++-- vector of results. Equivalent to @flip 'mapM'@.
272+ forM :: (Monad m, Prim a, Prim b) => Vector a -> (a -> m b) -> m (Vector b)
273+ {-# INLINE forM #-}
274+ forM = G.forM
275+diff --git a/Data/Vector/Primitive/Mutable.hs b/Data/Vector/Primitive/Mutable.hs
276+index 85595ae..2a2eb1e 100644
277+--- a/Data/Vector/Primitive/Mutable.hs
278++++ b/Data/Vector/Primitive/Mutable.hs
279+@@ -211,7 +211,7 @@ new :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
182280 {-# INLINE new #-}
183281 new = G.new
184282
@@ -187,10 +285,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs ghc-pa
187285 unsafeNew :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
188286 {-# INLINE unsafeNew #-}
189287 unsafeNew = G.unsafeNew
190−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs ghc-package-vector-0.11.0.0/Data/Vector/Primitive.hs
191−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2015-07-13 12:26:16.000000000 +0800
192−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2001-09-09 09:46:40.000000000 +0800
193−@@ -164,7 +164,9 @@
288+diff --git a/Data/Vector/Storable.hs b/Data/Vector/Storable.hs
289+index 1d0f46e..ae4e4bb 100644
290+--- a/Data/Vector/Storable.hs
291++++ b/Data/Vector/Storable.hs
292+@@ -169,7 +169,9 @@ import Data.Typeable ( Typeable )
194293 import Data.Data ( Data(..) )
195294 import Text.Read ( Read(..), readListPrecDefault )
196295
@@ -200,25 +299,26 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs ghc-package-ve
200299
201300 #if __GLASGOW_HASKELL__ >= 708
202301 import qualified GHC.Exts as Exts
203−@@ -773,7 +775,7 @@
302+@@ -783,7 +785,7 @@ mapM_ :: (Monad m, Storable a) => (a -> m b) -> Vector a -> m ()
204303 mapM_ = G.mapM_
205304
206305 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
207306--- vector of results. Equvalent to @flip 'mapM'@.
208307+-- vector of results. Equivalent to @flip 'mapM'@.
209− forM :: (Monad m, Prim a, Prim b) => Vector a -> (a -> m b) -> m (Vector b)
308+ forM :: (Monad m, Storable a, Storable b) => Vector a -> (a -> m b) -> m (Vector b)
210309 {-# INLINE forM #-}
211310 forM = G.forM
212−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs
213−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
214−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
311+diff --git a/Data/Vector/Storable/Mutable.hs b/Data/Vector/Storable/Mutable.hs
312+index 44688b0..c1c1ac1 100644
313+--- a/Data/Vector/Storable/Mutable.hs
314++++ b/Data/Vector/Storable/Mutable.hs
215315@@ -1,4 +1,4 @@
216316-{-# LANGUAGE CPP, DeriveDataTypeable, MultiParamTypeClasses, FlexibleInstances, ScopedTypeVariables #-}
217317+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, MagicHash, MultiParamTypeClasses, ScopedTypeVariables #-}
218318
219319 -- |
220320 -- Module : Data.Vector.Storable.Mutable
221−@@ -65,8 +65,13 @@
321+@@ -65,8 +65,13 @@ import Data.Vector.Storable.Internal
222322 import Foreign.Storable
223323 import Foreign.ForeignPtr
224324
@@ -234,7 +334,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
234334 #endif
235335
236336 import Foreign.Ptr
237−@@ -201,11 +206,26 @@
337+@@ -201,11 +206,26 @@ storableSetAsPrim n fp x y = withForeignPtr fp $ \(Ptr p) -> do
238338 {-# INLINE mallocVector #-}
239339 mallocVector :: Storable a => Int -> IO (ForeignPtr a)
240340 mallocVector =
@@ -266,7 +366,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
266366 #else
267367 mallocForeignPtrArray
268368 #endif
269−@@ -293,7 +313,7 @@
369+@@ -293,7 +313,7 @@ new :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
270370 {-# INLINE new #-}
271371 new = G.new
272372
@@ -275,7 +375,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
275375 unsafeNew :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
276376 {-# INLINE unsafeNew #-}
277377 unsafeNew = G.unsafeNew
278−@@ -322,14 +342,14 @@
378+@@ -322,14 +342,14 @@ clone = G.clone
279379 -- | Grow a vector by the given number of elements. The number must be
280380 -- positive.
281381 grow :: (PrimMonad m, Storable a)
@@ -292,7 +392,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
292392 {-# INLINE unsafeGrow #-}
293393 unsafeGrow = G.unsafeGrow
294394
295−@@ -401,7 +421,7 @@
395+@@ -401,7 +421,7 @@ set = G.set
296396 -- | Copy a vector. The two vectors must have the same length and may not
297397 -- overlap.
298398 copy :: (PrimMonad m, Storable a)
@@ -301,7 +401,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
301401 {-# INLINE copy #-}
302402 copy = G.copy
303403
304−@@ -422,7 +442,7 @@
404+@@ -422,7 +442,7 @@ unsafeCopy = G.unsafeCopy
305405 -- copied to a temporary vector and then the temporary vector was copied
306406 -- to the target vector.
307407 move :: (PrimMonad m, Storable a)
@@ -310,7 +410,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
310410 {-# INLINE move #-}
311411 move = G.move
312412
313−@@ -434,9 +454,9 @@
413+@@ -434,9 +454,9 @@ move = G.move
314414 -- copied to a temporary vector and then the temporary vector was copied
315415 -- to the target vector.
316416 unsafeMove :: (PrimMonad m, Storable a)
@@ -323,11 +423,12 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
323423 {-# INLINE unsafeMove #-}
324424 unsafeMove = G.unsafeMove
325425
326−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs ghc-package-vector-0.11.0.0/Data/Vector/Storable.hs
327−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs 2015-07-13 12:26:16.000000000 +0800
328−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable.hs 2001-09-09 09:46:40.000000000 +0800
329−@@ -169,7 +169,9 @@
330− import Data.Data ( Data(..) )
426+diff --git a/Data/Vector/Unboxed.hs b/Data/Vector/Unboxed.hs
427+index 1b2062f..1d5f121 100644
428+--- a/Data/Vector/Unboxed.hs
429++++ b/Data/Vector/Unboxed.hs
430+@@ -186,7 +186,9 @@ import Prelude hiding ( length, null,
431+
331432 import Text.Read ( Read(..), readListPrecDefault )
332433
333434+#if !MIN_VERSION_base(4,8,0)
@@ -335,20 +436,21 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs ghc-package-vec
335436+#endif
336437
337438 #if __GLASGOW_HASKELL__ >= 708
338− import qualified GHC.Exts as Exts
339−@@ -783,7 +785,7 @@
340− mapM_ = G.mapM_
439+ import qualified GHC.Exts as Exts (IsList(..))
440+@@ -820,7 +822,7 @@ imapM_ :: (Monad m, Unbox a) => (Int -> a -> m b) -> Vector a -> m ()
441+ imapM_ = G.imapM_
341442
342443 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
343444--- vector of results. Equvalent to @flip 'mapM'@.
344445+-- vector of results. Equivalent to @flip 'mapM'@.
345− forM :: (Monad m, Storable a, Storable b) => Vector a -> (a -> m b) -> m (Vector b)
446+ forM :: (Monad m, Unbox a, Unbox b) => Vector a -> (a -> m b) -> m (Vector b)
346447 {-# INLINE forM #-}
347448 forM = G.forM
348−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs
349−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2015-07-13 12:26:16.000000000 +0800
350−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2001-09-09 09:46:40.000000000 +0800
351−@@ -30,10 +30,14 @@
449+diff --git a/Data/Vector/Unboxed/Base.hs b/Data/Vector/Unboxed/Base.hs
450+index ee41966..56c6735 100644
451+--- a/Data/Vector/Unboxed/Base.hs
452++++ b/Data/Vector/Unboxed/Base.hs
453+@@ -30,10 +30,14 @@ import Control.DeepSeq ( NFData(rnf) )
352454 import Control.Monad.Primitive
353455 import Control.Monad ( liftM )
354456
@@ -364,10 +466,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs ghc-package
364466 #if __GLASGOW_HASKELL__ >= 707
365467 import Data.Typeable ( Typeable )
366468 #else
367−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs
368−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
369−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
370−@@ -149,7 +149,7 @@
469+diff --git a/Data/Vector/Unboxed/Mutable.hs b/Data/Vector/Unboxed/Mutable.hs
470+index 78e473e..a94c07f 100644
471+--- a/Data/Vector/Unboxed/Mutable.hs
472++++ b/Data/Vector/Unboxed/Mutable.hs
473+@@ -149,7 +149,7 @@ new :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
371474 {-# INLINE new #-}
372475 new = G.new
373476
@@ -376,106 +479,20 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs ghc-pack
376479 unsafeNew :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
377480 {-# INLINE unsafeNew #-}
378481 unsafeNew = G.unsafeNew
379−diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed.hs ghc-package-vector-0.11.0.0/Data/Vector/Unboxed.hs
380−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2015-07-13 12:26:16.000000000 +0800
381−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2001-09-09 09:46:40.000000000 +0800
382−@@ -186,7 +186,9 @@
383−
384− import Text.Read ( Read(..), readListPrecDefault )
385−
386−+#if !MIN_VERSION_base(4,8,0)
387− import Data.Monoid ( Monoid(..) )
388−+#endif
389−
390− #if __GLASGOW_HASKELL__ >= 708
391− import qualified GHC.Exts as Exts (IsList(..))
392−@@ -820,7 +822,7 @@
393− imapM_ = G.imapM_
394−
395− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
396−--- vector of results. Equvalent to @flip 'mapM'@.
397−+-- vector of results. Equivalent to @flip 'mapM'@.
398− forM :: (Monad m, Unbox a, Unbox b) => Vector a -> (a -> m b) -> m (Vector b)
399− {-# INLINE forM #-}
400− forM = G.forM
401−diff -ur hackage-package-vector-0.11.0.0/Data/Vector.hs ghc-package-vector-0.11.0.0/Data/Vector.hs
402−--- hackage-package-vector-0.11.0.0/Data/Vector.hs 2015-07-13 12:26:16.000000000 +0800
403−+++ ghc-package-vector-0.11.0.0/Data/Vector.hs 2001-09-09 09:46:40.000000000 +0800
404−@@ -150,7 +150,7 @@
405− -- * Conversions
406−
407− -- ** Lists
408−- toList, fromList, fromListN,
409−+ toList, Data.Vector.fromList, Data.Vector.fromListN,
410−
411− -- ** Other vector types
412− G.convert,
413−@@ -187,11 +187,14 @@
414− import Data.Data ( Data(..) )
415− import Text.Read ( Read(..), readListPrecDefault )
416−
417−-import Data.Monoid ( Monoid(..) )
418− import qualified Control.Applicative as Applicative
419− import qualified Data.Foldable as Foldable
420− import qualified Data.Traversable as Traversable
421−
422−+#if !MIN_VERSION_base(4,8,0)
423−+import Data.Monoid ( Monoid(..) )
424−+#endif
425−+
426− #if __GLASGOW_HASKELL__ >= 708
427− import qualified GHC.Exts as Exts (IsList(..))
428− #endif
429−@@ -220,8 +223,8 @@
430−
431− instance Exts.IsList (Vector a) where
432− type Item (Vector a) = a
433−- fromList = fromList
434−- fromListN = fromListN
435−+ fromList = Data.Vector.fromList
436−+ fromListN = Data.Vector.fromListN
437− toList = toList
438− #endif
439−
440−@@ -297,7 +300,7 @@
441−
442− instance Monad Vector where
443− {-# INLINE return #-}
444−- return = singleton
445−+ return = Applicative.pure
446−
447− {-# INLINE (>>=) #-}
448− (>>=) = flip concatMap
449−@@ -341,7 +344,7 @@
450−
451− instance Traversable.Traversable Vector where
452− {-# INLINE traverse #-}
453−- traverse f xs = fromList Applicative.<$> Traversable.traverse f (toList xs)
454−+ traverse f xs = Data.Vector.fromList Applicative.<$> Traversable.traverse f (toList xs)
455−
456− {-# INLINE mapM #-}
457− mapM = mapM
458−@@ -917,7 +920,7 @@
459− imapM_ = G.imapM_
460−
461− -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
462−--- vector of results. Equvalent to @flip 'mapM'@.
463−+-- vector of results. Equivalent to @flip 'mapM'@.
464− forM :: Monad m => Vector a -> (a -> m b) -> m (Vector b)
465− {-# INLINE forM #-}
466− forM = G.forM
467−diff -ur hackage-package-vector-0.11.0.0/include/vector.h ghc-package-vector-0.11.0.0/include/vector.h
468−--- hackage-package-vector-0.11.0.0/include/vector.h 2015-07-13 12:26:16.000000000 +0800
469−+++ ghc-package-vector-0.11.0.0/include/vector.h 2001-09-09 09:46:40.000000000 +0800
470−@@ -18,4 +18,3 @@
482+diff --git a/include/vector.h b/include/vector.h
483+index df9200c..1568bb2 100644
484+--- a/include/vector.h
485++++ b/include/vector.h
486+@@ -18,4 +18,3 @@ import qualified Data.Vector.Internal.Check as Ck
471487
472488 #define PHASE_STREAM Please use "PHASE_FUSED" instead
473489 #define INLINE_STREAM Please use "INLINE_FUSED" instead
474490-
475−diff -ur hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs ghc-package-vector-0.11.0.0/tests/Tests/Vector.hs
476−--- hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs 2015-07-13 12:26:16.000000000 +0800
477−+++ ghc-package-vector-0.11.0.0/tests/Tests/Vector.hs 2001-09-09 09:46:40.000000000 +0800
478−@@ -643,6 +643,7 @@
491+diff --git a/tests/Tests/Vector.hs b/tests/Tests/Vector.hs
492+index 9b0a093..e39d24f 100644
493+--- a/tests/Tests/Vector.hs
494++++ b/tests/Tests/Vector.hs
495+@@ -643,6 +643,7 @@ tests = [
479496 testGroup "Data.Vector.Storable.Vector (Double)" (testNumericStorableVector (undefined :: Data.Vector.Storable.Vector Double)),
480497
481498 testGroup "Data.Vector.Unboxed.Vector ()" (testUnitUnboxedVector (undefined :: Data.Vector.Unboxed.Vector ())),
@@ -483,10 +500,11 @@ diff -ur hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs ghc-package-vecto
483500 testGroup "Data.Vector.Unboxed.Vector (Int)" (testNumericUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Int)),
484501 testGroup "Data.Vector.Unboxed.Vector (Double)" (testNumericUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Double)),
485502 testGroup "Data.Vector.Unboxed.Vector (Int,Bool)" (testTupleUnboxedVector (undefined :: Data.Vector.Unboxed.Vector (Int,Bool))),
486−diff -ur hackage-package-vector-0.11.0.0/vector.cabal ghc-package-vector-0.11.0.0/vector.cabal
487−--- hackage-package-vector-0.11.0.0/vector.cabal 2015-07-13 12:26:16.000000000 +0800
488−+++ ghc-package-vector-0.11.0.0/vector.cabal 2001-09-09 09:46:40.000000000 +0800
489−@@ -38,6 +38,7 @@
503+diff --git a/vector.cabal b/vector.cabal
504+index ffc5099..d962c72 100644
505+--- a/vector.cabal
506++++ b/vector.cabal
507+@@ -38,6 +38,7 @@ Cabal-Version: >=1.10
490508 Build-Type: Simple
491509
492510 Extra-Source-Files:
@@ -494,7 +512,7 @@ diff -ur hackage-package-vector-0.11.0.0/vector.cabal ghc-package-vector-0.11.0.
494512 README.md
495513 tests/LICENSE
496514 tests/Setup.hs
497−@@ -137,9 +138,9 @@
515+@@ -137,9 +138,9 @@ Library
498516 Install-Includes:
499517 vector.h
500518
patches/ghc861/array-0.5.2.0.patch+53−47
@@ -1,6 +1,20 @@
1−diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.2.0/Data/Array/Base.hs
2−--- hackage-package-array-0.5.2.0/Data/Array/Base.hs 2017-07-04 06:06:07.000000000 +0800
3−+++ ghc-package-array-0.5.2.0/Data/Array/Base.hs 2001-09-09 09:46:40.000000000 +0800
1+diff --git a/Data/Array.hs b/Data/Array.hs
2+index a65e2fc..6b632fd 100644
3+--- a/Data/Array.hs
4++++ b/Data/Array.hs
5+@@ -54,8 +54,6 @@ module Data.Array (
6+ ) where
7+
8+ import Data.Ix
9+-import Data.Typeable ()
10+-
11+ import GHC.Arr -- Most of the hard work is done here
12+
13+ {- $intro
14+diff --git a/Data/Array/Base.hs b/Data/Array/Base.hs
15+index 8cc319c..80e91ea 100644
16+--- a/Data/Array/Base.hs
17++++ b/Data/Array/Base.hs
418@@ -1,5 +1,15 @@
519-{-# LANGUAGE BangPatterns, CPP, RankNTypes, MagicHash, UnboxedTuples, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts, DeriveDataTypeable, UnliftedFFITypes #-}
620-{-# LANGUAGE RoleAnnotations #-}
@@ -19,7 +33,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
1933 {-# OPTIONS_HADDOCK hide #-}
2034
2135 -----------------------------------------------------------------------------
22−@@ -39,7 +49,6 @@
36+@@ -39,7 +49,6 @@ import GHC.Word ( Word8(..), Word16(..), Word32(..), Word64(..) )
2337 import GHC.IO ( stToIO )
2438 import GHC.IOArray ( IOArray(..),
2539 newIOArray, unsafeReadIOArray, unsafeWriteIOArray )
@@ -27,7 +41,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
2741
2842 #include "MachDeps.h"
2943
30−@@ -398,7 +407,6 @@
44+@@ -398,7 +407,6 @@ instance IArray Arr.Array e where
3145 -- "Data.Array.Unboxed" instead of "Data.Array").
3246 --
3347 data UArray i e = UArray !i !i !Int ByteArray#
@@ -35,7 +49,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
3549 -- There are class-based invariants on both parameters. See also #9220.
3650 type role UArray nominal nominal
3751
38−@@ -979,7 +987,6 @@
52+@@ -979,7 +987,6 @@ instance MArray (STArray s) e (Lazy.ST s) where
3953 -- don\'t use 'STUArray' if you require the non-strictness that
4054 -- 'STArray' provides.
4155 data STUArray s i e = STUArray !i !i !Int (MutableByteArray# s)
@@ -43,7 +57,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
4357 -- The "ST" parameter must be nominal for the safety of the ST trick.
4458 -- The other parameters have class constraints. See also #9220.
4559 type role STUArray nominal nominal nominal
46−@@ -1370,11 +1377,7 @@
60+@@ -1370,11 +1377,7 @@ freeze marr = do
4761 -- use the safe array creation function here.
4862 return (listArray (l,u) es)
4963
@@ -55,7 +69,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
5569 freezeSTUArray (STUArray l u n marr#) = ST $ \s1# ->
5670 case sizeofMutableByteArray# marr# of { n# ->
5771 case newByteArray# n# s1# of { (# s2#, marr'# #) ->
58−@@ -1449,11 +1452,7 @@
72+@@ -1449,11 +1452,7 @@ thaw arr = case bounds arr of
5973 | i <- [0 .. n - 1]]
6074 return marr
6175
@@ -67,7 +81,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
6781 thawSTUArray (UArray l u n arr#) = ST $ \s1# ->
6882 case sizeofByteArray# arr# of { n# ->
6983 case newByteArray# n# s1# of { (# s2#, marr# #) ->
70−@@ -1513,11 +1512,7 @@
84+@@ -1513,11 +1512,7 @@ unsafeThaw :: (Ix i, IArray a e, MArray b e m) => a i e -> m (b i e)
7185 unsafeThaw = thaw
7286
7387 {-# INLINE unsafeThawSTUArray #-}
@@ -79,7 +93,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
7993 unsafeThawSTUArray (UArray l u n marr#) =
8094 return (STUArray l u n (unsafeCoerce# marr#))
8195
82−@@ -1527,11 +1522,7 @@
96+@@ -1527,11 +1522,7 @@ unsafeThawSTUArray (UArray l u n marr#) =
8397 #-}
8498
8599 {-# INLINE unsafeThawIOArray #-}
@@ -91,7 +105,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
91105 unsafeThawIOArray arr = stToIO $ do
92106 marr <- ArrST.unsafeThawSTArray arr
93107 return (IOArray marr)
94−@@ -1540,11 +1531,7 @@
108+@@ -1540,11 +1531,7 @@ unsafeThawIOArray arr = stToIO $ do
95109 "unsafeThaw/IOArray" unsafeThaw = unsafeThawIOArray
96110 #-}
97111
@@ -103,7 +117,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
103117 thawIOArray arr = stToIO $ do
104118 marr <- ArrST.thawSTArray arr
105119 return (IOArray marr)
106−@@ -1553,11 +1540,7 @@
120+@@ -1553,11 +1540,7 @@ thawIOArray arr = stToIO $ do
107121 "thaw/IOArray" thaw = thawIOArray
108122 #-}
109123
@@ -115,7 +129,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
115129 freezeIOArray (IOArray marr) = stToIO (ArrST.freezeSTArray marr)
116130
117131 {-# RULES
118−@@ -1565,11 +1548,7 @@
132+@@ -1565,11 +1548,7 @@ freezeIOArray (IOArray marr) = stToIO (ArrST.freezeSTArray marr)
119133 #-}
120134
121135 {-# INLINE unsafeFreezeIOArray #-}
@@ -127,9 +141,10 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
127141 unsafeFreezeIOArray (IOArray marr) = stToIO (ArrST.unsafeFreezeSTArray marr)
128142
129143 {-# RULES
130−diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-array-0.5.2.0/Data/Array/IO/Internals.hs
131−--- hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs 2017-07-04 06:06:07.000000000 +0800
132−+++ ghc-package-array-0.5.2.0/Data/Array/IO/Internals.hs 2001-09-09 09:46:40.000000000 +0800
144+diff --git a/Data/Array/IO/Internals.hs b/Data/Array/IO/Internals.hs
145+index c9738e9..2b12e36 100644
146+--- a/Data/Array/IO/Internals.hs
147++++ b/Data/Array/IO/Internals.hs
133148@@ -1,6 +1,8 @@
134149-{-# LANGUAGE DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses,
135150- CPP #-}
@@ -142,7 +157,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-ar
142157
143158 {-# OPTIONS_HADDOCK hide #-}
144159 -----------------------------------------------------------------------------
145−@@ -27,15 +29,11 @@
160+@@ -27,15 +29,11 @@ module Data.Array.IO.Internals (
146161
147162 import Data.Int
148163 import Data.Word
@@ -158,7 +173,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-ar
158173 import Data.Array.Base
159174
160175 import GHC.IOArray (IOArray(..))
161−@@ -52,7 +50,6 @@
176+@@ -52,7 +50,6 @@ import GHC.IOArray (IOArray(..))
162177 -- are supported: see "Data.Array.MArray" for a list of instances.
163178 --
164179 newtype IOUArray i e = IOUArray (STUArray RealWorld i e)
@@ -166,7 +181,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-ar
166181 -- Both parameters have class-based invariants. See also #9220.
167182 type role IOUArray nominal nominal
168183
169−@@ -374,11 +371,7 @@
184+@@ -374,11 +371,7 @@ castIOUArray (IOUArray marr) = stToIO $ do
170185 return (IOUArray marr')
171186
172187 {-# INLINE unsafeThawIOUArray #-}
@@ -178,7 +193,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-ar
178193 unsafeThawIOUArray arr = stToIO $ do
179194 marr <- unsafeThawSTUArray arr
180195 return (IOUArray marr)
181−@@ -387,11 +380,7 @@
196+@@ -387,11 +380,7 @@ unsafeThawIOUArray arr = stToIO $ do
182197 "unsafeThaw/IOUArray" unsafeThaw = unsafeThawIOUArray
183198 #-}
184199
@@ -190,7 +205,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-ar
190205 thawIOUArray arr = stToIO $ do
191206 marr <- thawSTUArray arr
192207 return (IOUArray marr)
193−@@ -401,22 +390,14 @@
208+@@ -401,22 +390,14 @@ thawIOUArray arr = stToIO $ do
194209 #-}
195210
196211 {-# INLINE unsafeFreezeIOUArray #-}
@@ -213,15 +228,16 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-ar
213228 freezeIOUArray (IOUArray marr) = stToIO (freezeSTUArray marr)
214229
215230 {-# RULES
216−diff -ur hackage-package-array-0.5.2.0/Data/Array/ST.hs ghc-package-array-0.5.2.0/Data/Array/ST.hs
217−--- hackage-package-array-0.5.2.0/Data/Array/ST.hs 2017-07-04 06:06:07.000000000 +0800
218−+++ ghc-package-array-0.5.2.0/Data/Array/ST.hs 2001-09-09 09:46:40.000000000 +0800
231+diff --git a/Data/Array/ST.hs b/Data/Array/ST.hs
232+index 0a8ff0d..dccc4dc 100644
233+--- a/Data/Array/ST.hs
234++++ b/Data/Array/ST.hs
219235@@ -1,4 +1,3 @@
220236-{-# LANGUAGE CPP #-}
221237 {-# LANGUAGE RankNTypes #-}
222238 -----------------------------------------------------------------------------
223239 -- |
224−@@ -38,11 +37,7 @@
240+@@ -38,11 +37,7 @@ import GHC.Arr ( STArray, Array, unsafeFreezeSTArray )
225241 -- the array before returning it - it uses 'unsafeFreeze' internally, but
226242 -- this wrapper is a safe interface to that function.
227243 --
@@ -233,7 +249,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/ST.hs ghc-package-array-0.5.2.
233249 runSTArray st = runST (st >>= unsafeFreezeSTArray)
234250
235251 -- | A safe way to create and work with an unboxed mutable array before
236−@@ -51,11 +46,7 @@
252+@@ -51,11 +46,7 @@ runSTArray st = runST (st >>= unsafeFreezeSTArray)
237253 -- 'unsafeFreeze' internally, but this wrapper is a safe interface to
238254 -- that function.
239255 --
@@ -245,22 +261,11 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/ST.hs ghc-package-array-0.5.2.
245261 runSTUArray st = runST (st >>= unsafeFreezeSTUArray)
246262
247263
248−diff -ur hackage-package-array-0.5.2.0/Data/Array.hs ghc-package-array-0.5.2.0/Data/Array.hs
249−--- hackage-package-array-0.5.2.0/Data/Array.hs 2017-07-04 06:06:07.000000000 +0800
250−+++ ghc-package-array-0.5.2.0/Data/Array.hs 2001-09-09 09:46:40.000000000 +0800
251−@@ -54,8 +54,6 @@
252− ) where
253−
254− import Data.Ix
255−-import Data.Typeable ()
256−-
257− import GHC.Arr -- Most of the hard work is done here
258−
259− {- $intro
260−diff -ur hackage-package-array-0.5.2.0/array.cabal ghc-package-array-0.5.2.0/array.cabal
261−--- hackage-package-array-0.5.2.0/array.cabal 2017-07-04 06:06:07.000000000 +0800
262−+++ ghc-package-array-0.5.2.0/array.cabal 2001-09-09 09:46:40.000000000 +0800
263−@@ -9,7 +9,7 @@
264+diff --git a/array.cabal b/array.cabal
265+index 1a71bab..928a7f6 100644
266+--- a/array.cabal
267++++ b/array.cabal
268+@@ -9,7 +9,7 @@ synopsis: Mutable and immutable arrays
264269 category: Data Structures
265270 build-type: Simple
266271 cabal-version: >=1.10
@@ -269,7 +274,7 @@ diff -ur hackage-package-array-0.5.2.0/array.cabal ghc-package-array-0.5.2.0/arr
269274 description:
270275 In addition to providing the "Data.Array" module
271276 <http://www.haskell.org/onlinereport/haskell2010/haskellch14.html as specified in the Haskell 2010 Language Report>,
272−@@ -28,7 +28,6 @@
277+@@ -28,7 +28,6 @@ library
273278 other-extensions:
274279 BangPatterns,
275280 CPP,
@@ -277,7 +282,7 @@ diff -ur hackage-package-array-0.5.2.0/array.cabal ghc-package-array-0.5.2.0/arr
277282 FlexibleContexts,
278283 FlexibleInstances,
279284 MagicHash,
280−@@ -37,7 +36,7 @@
285+@@ -37,7 +36,7 @@ library
281286 Trustworthy,
282287 UnboxedTuples,
283288 UnliftedFFITypes
@@ -286,9 +291,10 @@ diff -ur hackage-package-array-0.5.2.0/array.cabal ghc-package-array-0.5.2.0/arr
286291 ghc-options: -Wall
287292 exposed-modules:
288293 Data.Array
289−diff -ur hackage-package-array-0.5.2.0/changelog.md ghc-package-array-0.5.2.0/changelog.md
290−--- hackage-package-array-0.5.2.0/changelog.md 2017-07-04 06:06:07.000000000 +0800
291−+++ ghc-package-array-0.5.2.0/changelog.md 2001-09-09 09:46:40.000000000 +0800
294+diff --git a/changelog.md b/changelog.md
295+index e537cd0..1a480a4 100644
296+--- a/changelog.md
297++++ b/changelog.md
292298@@ -1,5 +1,10 @@
293299 # Changelog for [`array` package](http://hackage.haskell.org/package/array)
294300
patches/ghc861/binary-0.8.6.0.patch+6−5
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-binary-0.8.6.0/binary.cabal ghc-package-binary-0.8.6.0/binary.cabal
2−--- hackage-package-binary-0.8.6.0/binary.cabal 2018-08-04 20:33:08.000000000 +0800
3−+++ ghc-package-binary-0.8.6.0/binary.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -158,7 +158,6 @@
1+diff --git a/binary.cabal b/binary.cabal
2+index 9b25877..1d1b9cf 100644
3+--- a/binary.cabal
4++++ b/binary.cabal
5+@@ -158,7 +158,6 @@ benchmark get
56 Data.Binary.Class
67 Data.Binary.FloatCast
78 Data.Binary.Generic
@@ -9,7 +10,7 @@ diff -ur hackage-package-binary-0.8.6.0/binary.cabal ghc-package-binary-0.8.6.0/
910 Data.Binary.Get.Internal
1011 Data.Binary.Internal
1112 Data.Binary.Put
12−@@ -191,7 +190,6 @@
13+@@ -191,7 +190,6 @@ benchmark put
1314 Data.Binary.Get
1415 Data.Binary.Get.Internal
1516 Data.Binary.Internal
patches/ghc861/containers-0.6.0.1.patch+117−1
@@ -1 +1,117 @@
1−Only in hackage-package-containers-0.6.0.1/tests: graph-properties.hs
1+diff --git a/tests/graph-properties.hs b/tests/graph-properties.hs
2+deleted file mode 100644
3+index ffe4483..0000000
4+--- a/tests/graph-properties.hs
5++++ /dev/null
6+@@ -1,111 +0,0 @@
7+-{-# LANGUAGE CPP #-}
8+-
9+-import Data.Graph as G
10+-
11+-import Control.Applicative (Const(Const, getConst), pure, (<$>), (<*>), liftA2)
12+-
13+-import Test.Framework
14+-import Test.Framework.Providers.QuickCheck2
15+-import Test.QuickCheck
16+-import Test.QuickCheck.Function (Fun (..), apply)
17+-import Test.QuickCheck.Poly (A, B, C)
18+-import Control.Monad (ap)
19+-
20+-default (Int)
21+-
22+-main :: IO ()
23+-main = defaultMain
24+- [
25+- testProperty "monad_id1" prop_monad_id1
26+- , testProperty "monad_id2" prop_monad_id2
27+- , testProperty "monad_assoc" prop_monad_assoc
28+- , testProperty "ap_ap" prop_ap_ap
29+- , testProperty "ap_liftA2" prop_ap_liftA2
30+- , testProperty "monadFix_ls" prop_monadFix_ls
31+- ]
32+-
33+-{--------------------------------------------------------------------
34+- Arbitrary trees
35+---------------------------------------------------------------------}
36+-
37+-newtype G = G Graph
38+-
39+--- This instance isn't balanced very well; the trees will probably tend
40+--- to lean left. But it's better than nothing and we can fix it later.
41+-instance Arbitrary a => Arbitrary G where
42+- arbitrary = sized arbgraph
43+- where
44+- arbgraph :: Arbitrary a => Int -> Gen G
45+- arbgraph nv = do
46+- lo <- arbitrary
47+- hi <- (lo+) <$> choose (0, nv)
48+-{-
49+- arbtree 0 = fmap ((,) 1) $ Node <$> arbitrary <*> pure []
50+- arbtree n = do
51+- root <- arbitrary
52+- num_children <- choose (0, n - 1)
53+- (st, tl) <- go num_children
54+- return (1+st, Node root tl)
55+--}
56+-
57+- go 0 = pure (0, [])
58+- go n = do
59+- (sh, hd) <- arbtree n
60+- (st, tl) <- go (n - sh)
61+- pure (sh + st, hd : tl)
62+-
63+--- genericShrink only became available when generics did, so it's
64+--- not available under GHC 7.0.
65+-#if __GLASGOW_HASKELL__ >= 704
66+- shrink = genericShrink
67+-#endif
68+-
69+-----------------------------------------------------------------
70+--- Unit tests
71+-----------------------------------------------------------------
72+-
73+-----------------------------------------------------------------
74+--- QuickCheck
75+-----------------------------------------------------------------
76+-
77+-apply2 :: Fun (a, b) c -> a -> b -> c
78+-apply2 f a b = apply f (a, b)
79+-
80+-prop_ap_ap :: Tree (Fun A B) -> Tree A -> Property
81+-prop_ap_ap fs xs = (apply <$> fs <*> xs) === ((apply <$> fs) `ap` xs)
82+-
83+-prop_ap_liftA2 :: Fun (A, B) C -> Tree A -> Tree B -> Property
84+-prop_ap_liftA2 f as bs = (apply2 f <$> as <*> bs) === liftA2 (apply2 f) as bs
85+-
86+-prop_monad_id1 :: Tree A -> Property
87+-prop_monad_id1 t = (t >>= pure) === t
88+-
89+-prop_monad_id2 :: A -> Fun A (Tree B) -> Property
90+-prop_monad_id2 a f = (pure a >>= apply f) === apply f a
91+-
92+-prop_monad_assoc :: Tree A -> Fun A (Tree B) -> Fun B (Tree C) -> Property
93+-prop_monad_assoc ta atb btc =
94+- ((ta >>= apply atb) >>= apply btc)
95+- ===
96+- (ta >>= \a -> apply atb a >>= apply btc)
97+-
98+--- The left shrinking law
99+---
100+--- This test is kind of wonky and unprincipled, because it's
101+--- rather tricky to construct test cases!
102+--- This is the most important MonadFix law to test because it's the
103+--- least intuitive by far, and because it's the only one that's
104+--- sensitive to the Monad instance.
105+-prop_monadFix_ls :: Int -> Tree Int -> Fun Int (Tree Int) -> Property
106+-prop_monadFix_ls val ta ti =
107+- fmap ($val) (mfix (\x -> ta >>= \y -> f x y))
108+- ===
109+- fmap ($val) (ta >>= \y -> mfix (\x -> f x y))
110+- where
111+- fact :: Int -> (Int -> Int) -> Int -> Int
112+- fact x _ 0 = x + 1
113+- fact x f n = x + n * f ((n - 1) `mod` 23)
114+-
115+- f :: (Int -> Int) -> Int -> Tree (Int -> Int)
116+- f q y = let t = apply ti y
117+- in fmap (\w -> fact w q) t
patches/ghc861/default.nix−1
@@ -2,7 +2,6 @@
22 packages.array.patches = [ ./array-0.5.2.0.patch ];
33 packages.binary.patches = [ ./binary-0.8.6.0.patch ];
44 packages.containers.patches = [ ./containers-0.6.0.1.patch ];
5− packages.default.nix.patches = [ ./default.nix ];
65 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
76 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
87 packages.process.patches = [ ./process-1.6.3.0.patch ];
patches/ghc861/hpc-0.6.0.3.patch+5−4
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-hpc-0.6.0.3/hpc.cabal ghc-package-hpc-0.6.0.3/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -35,9 +35,9 @@
1+diff --git a/hpc.cabal b/hpc.cabal
2+index 7e77973..ba676a7 100644
3+--- a/hpc.cabal
4++++ b/hpc.cabal
5+@@ -35,9 +35,9 @@ Library
56 Trace.Hpc.Reflect
67
78 Build-Depends:
patches/ghc861/parsec-3.1.13.0.patch+6−5
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.0/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -21,18 +21,18 @@
1+diff --git a/parsec.cabal b/parsec.cabal
2+index 9531768..46ef625 100644
3+--- a/parsec.cabal
4++++ b/parsec.cabal
5+@@ -21,18 +21,18 @@ license: BSD3
56 license-file: LICENSE
67 author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
78 maintainer: Herbert Valerio Riedel <hvr@gnu.org>
@@ -24,7 +25,7 @@ diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.
2425
2526 library
2627 hs-source-dirs: src
27−@@ -64,7 +64,7 @@
28+@@ -64,7 +64,7 @@ library
2829 Text.ParserCombinators.Parsec.Token
2930
3031 build-depends:
patches/ghc861/process-1.6.3.0.patch+59−53
@@ -1,40 +1,8 @@
1−diff -ur hackage-package-process-1.6.3.0/System/Process/Common.hs ghc-package-process-1.6.3.0/System/Process/Common.hs
2−--- hackage-package-process-1.6.3.0/System/Process/Common.hs 2017-03-31 01:02:13.000000000 +0800
3−+++ ghc-package-process-1.6.3.0/System/Process/Common.hs 2001-09-09 09:46:40.000000000 +0800
4−@@ -44,7 +44,7 @@
5− import GHC.IO.Handle.Types hiding (ClosedHandle)
6− import System.IO.Error
7− import Data.Typeable
8−-import GHC.IO.IOMode
9−+import System.IO (IOMode)
10−
11− -- We do a minimal amount of CPP here to provide uniform data types across
12− -- Windows and POSIX.
13−diff -ur hackage-package-process-1.6.3.0/System/Process/Windows.hsc ghc-package-process-1.6.3.0/System/Process/Windows.hsc
14−--- hackage-package-process-1.6.3.0/System/Process/Windows.hsc 2017-02-21 21:53:00.000000000 +0800
15−+++ ghc-package-process-1.6.3.0/System/Process/Windows.hsc 2001-09-09 09:46:40.000000000 +0800
16−@@ -34,7 +34,7 @@
17− import GHC.IO.Handle.FD
18− import GHC.IO.Handle.Types hiding (ClosedHandle)
19− import System.IO.Error
20−-import GHC.IO.IOMode
21−+import System.IO (IOMode(..))
22−
23− import System.Directory ( doesFileExist )
24− import System.Environment ( getEnv )
25−@@ -208,7 +208,7 @@
26− then Just <$> peek p_exitCode
27− else return Nothing
28−
29−-insertItem :: Eq k => MVar [(k, v)] -> k -> v -> IO ()
30−+insertItem :: MVar [(k, v)] -> k -> v -> IO ()
31− insertItem env_ k v = modifyMVar_ env_ (return . ((k, v):))
32−
33− getItem :: Eq k => MVar [(k, v)] -> k -> IO v
34−diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1.6.3.0/System/Process.hs
35−--- hackage-package-process-1.6.3.0/System/Process.hs 2017-12-27 17:35:11.000000000 +0800
36−+++ ghc-package-process-1.6.3.0/System/Process.hs 2001-09-09 09:46:40.000000000 +0800
37−@@ -43,6 +43,7 @@
1+diff --git a/System/Process.hs b/System/Process.hs
2+index 2678a93..d03dc6e 100644
3+--- a/System/Process.hs
4++++ b/System/Process.hs
5+@@ -43,6 +43,7 @@ module System.Process (
386 readCreateProcessWithExitCode,
397 readProcessWithExitCode,
408 withCreateProcess,
@@ -42,7 +10,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
4210
4311 -- ** Related utilities
4412 showCommandForUser,
45−@@ -245,7 +246,12 @@
13+@@ -245,7 +246,12 @@ withCreateProcess_ fun c action =
4614 C.bracketOnError (createProcess_ fun c) cleanupProcess
4715 (\(m_in, m_out, m_err, ph) -> action m_in m_out m_err ph)
4816
@@ -56,7 +24,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
5624 cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
5725 -> IO ()
5826 cleanupProcess (mb_stdin, mb_stdout, mb_stderr,
59−@@ -728,8 +734,10 @@
27+@@ -728,8 +734,10 @@ getProcessExitCode ph@(ProcessHandle _ delegating_ctlc _) = tryLockWaitpid $ do
6028 -- has indeed terminated, use 'getProcessExitCode'.
6129 --
6230 -- On Unix systems, 'terminateProcess' sends the process the SIGTERM signal.
@@ -69,10 +37,46 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
6937 --
7038 -- Note: on Windows, if the process was a shell command created by
7139 -- 'createProcess' with 'shell', or created by 'runCommand' or
72−diff -ur hackage-package-process-1.6.3.0/cbits/runProcess.c ghc-package-process-1.6.3.0/cbits/runProcess.c
73−--- hackage-package-process-1.6.3.0/cbits/runProcess.c 2017-02-06 16:42:31.000000000 +0800
74−+++ ghc-package-process-1.6.3.0/cbits/runProcess.c 2001-09-09 09:46:40.000000000 +0800
75−@@ -111,6 +111,18 @@
40+diff --git a/System/Process/Common.hs b/System/Process/Common.hs
41+index b424764..fe55889 100644
42+--- a/System/Process/Common.hs
43++++ b/System/Process/Common.hs
44+@@ -44,7 +44,7 @@ import GHC.IO.Handle.Internals
45+ import GHC.IO.Handle.Types hiding (ClosedHandle)
46+ import System.IO.Error
47+ import Data.Typeable
48+-import GHC.IO.IOMode
49++import System.IO (IOMode)
50+
51+ -- We do a minimal amount of CPP here to provide uniform data types across
52+ -- Windows and POSIX.
53+diff --git a/System/Process/Windows.hsc b/System/Process/Windows.hsc
54+index 6c92b02..23498f5 100644
55+--- a/System/Process/Windows.hsc
56++++ b/System/Process/Windows.hsc
57+@@ -34,7 +34,7 @@ import GHC.IO.Exception
58+ import GHC.IO.Handle.FD
59+ import GHC.IO.Handle.Types hiding (ClosedHandle)
60+ import System.IO.Error
61+-import GHC.IO.IOMode
62++import System.IO (IOMode(..))
63+
64+ import System.Directory ( doesFileExist )
65+ import System.Environment ( getEnv )
66+@@ -208,7 +208,7 @@ waitForJobCompletion job io timeout =
67+ then Just <$> peek p_exitCode
68+ else return Nothing
69+
70+-insertItem :: Eq k => MVar [(k, v)] -> k -> v -> IO ()
71++insertItem :: MVar [(k, v)] -> k -> v -> IO ()
72+ insertItem env_ k v = modifyMVar_ env_ (return . ((k, v):))
73+
74+ getItem :: Eq k => MVar [(k, v)] -> k -> IO v
75+diff --git a/cbits/runProcess.c b/cbits/runProcess.c
76+index ae184c8..16ef4fe 100644
77+--- a/cbits/runProcess.c
78++++ b/cbits/runProcess.c
79+@@ -111,6 +111,18 @@ runInteractiveProcess (char *const args[],
7680 r = pipe(forkCommunicationFds);
7781 if (r == -1) {
7882 *failed_doing = "runInteractiveProcess: pipe";
@@ -91,9 +95,10 @@ diff -ur hackage-package-process-1.6.3.0/cbits/runProcess.c ghc-package-process-
9195 return -1;
9296 }
9397
94−diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.0/changelog.md
95−--- hackage-package-process-1.6.3.0/changelog.md 2018-01-22 10:51:34.000000000 +0800
96−+++ ghc-package-process-1.6.3.0/changelog.md 2001-09-09 09:46:40.000000000 +0800
98+diff --git a/changelog.md b/changelog.md
99+index 851c3ca..d4c43ae 100644
100+--- a/changelog.md
101++++ b/changelog.md
97102@@ -1,5 +1,13 @@
98103 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
99104
@@ -108,10 +113,11 @@ diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.
108113 ## 1.6.3.0 *January 2018*
109114
110115 * Added `getPid` and export of platform specific `Pid` type
111−diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3.0/process.cabal
112−--- hackage-package-process-1.6.3.0/process.cabal 2018-01-22 10:52:21.000000000 +0800
113−+++ ghc-package-process-1.6.3.0/process.cabal 2001-09-09 09:46:40.000000000 +0800
114−@@ -46,8 +46,9 @@
116+diff --git a/process.cabal b/process.cabal
117+index cb6cbb3..350591a 100644
118+--- a/process.cabal
119++++ b/process.cabal
120+@@ -46,8 +46,9 @@ library
115121 InterruptibleFFI
116122 RecordWildCards
117123 Trustworthy
@@ -123,7 +129,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
123129
124130 exposed-modules:
125131 System.Cmd
126−@@ -61,7 +62,7 @@
132+@@ -61,7 +62,7 @@ library
127133 cpp-options: -DWINDOWS
128134 else
129135 other-modules: System.Process.Posix
@@ -132,7 +138,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
132138
133139 c-sources:
134140 cbits/runProcess.c
135−@@ -74,7 +75,7 @@
141+@@ -74,7 +75,7 @@ library
136142
137143 ghc-options: -Wall
138144
@@ -141,7 +147,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
141147 directory >= 1.1 && < 1.4,
142148 filepath >= 1.2 && < 1.5,
143149 deepseq >= 1.1 && < 1.5
144−@@ -84,7 +85,9 @@
150+@@ -84,7 +85,9 @@ test-suite test
145151 hs-source-dirs: test
146152 main-is: main.hs
147153 type: exitcode-stdio-1.0
patches/ghc861/time-1.8.0.2.patch+20−18
@@ -1,6 +1,7 @@
1−diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
1+diff --git a/configure b/configure
2+index f4f4dba..f5fae2b 100644
3+--- a/configure
4++++ b/configure
45@@ -1,6 +1,6 @@
56 #! /bin/sh
67 # Guess values for system-dependent variables and create Makefiles.
@@ -9,7 +10,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
910 #
1011 # Report bugs to <ashley@semantic.org>.
1112 #
12−@@ -580,8 +580,8 @@
13+@@ -580,8 +580,8 @@ MAKEFLAGS=
1314 # Identity of this package.
1415 PACKAGE_NAME='Haskell time package'
1516 PACKAGE_TARNAME='time'
@@ -20,7 +21,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
2021 PACKAGE_BUGREPORT='ashley@semantic.org'
2122 PACKAGE_URL=''
2223
23−@@ -653,7 +653,6 @@
24+@@ -653,7 +653,6 @@ infodir
2425 docdir
2526 oldincludedir
2627 includedir
@@ -28,7 +29,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
2829 localstatedir
2930 sharedstatedir
3031 sysconfdir
31−@@ -726,7 +725,6 @@
32+@@ -726,7 +725,6 @@ datadir='${datarootdir}'
3233 sysconfdir='${prefix}/etc'
3334 sharedstatedir='${prefix}/com'
3435 localstatedir='${prefix}/var'
@@ -36,7 +37,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
3637 includedir='${prefix}/include'
3738 oldincludedir='/usr/include'
3839 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40+@@ -979,15 +977,6 @@ do
4041 | -silent | --silent | --silen | --sile | --sil)
4142 silent=yes ;;
4243
@@ -52,7 +53,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
5253 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
5354 ac_prev=sbindir ;;
5455 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56+@@ -1125,7 +1114,7 @@ fi
5657 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
5758 datadir sysconfdir sharedstatedir localstatedir includedir \
5859 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
@@ -61,7 +62,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
6162 do
6263 eval ac_val=\$$ac_var
6364 # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65+@@ -1238,7 +1227,7 @@ if test "$ac_init_help" = "long"; then
6566 # Omit some internal or obsolete options to make the list less imposing.
6667 # This message is too long to be a string in the A/UX 3.1 sh.
6768 cat <<_ACEOF
@@ -70,7 +71,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
7071
7172 Usage: $0 [OPTION]... [VAR=VALUE]...
7273
73−@@ -1278,7 +1267,6 @@
74+@@ -1278,7 +1267,6 @@ Fine tuning of the installation directories:
7475 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
7576 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
7677 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
@@ -78,7 +79,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
7879 --libdir=DIR object code libraries [EPREFIX/lib]
7980 --includedir=DIR C header files [PREFIX/include]
8081 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82+@@ -1300,7 +1288,7 @@ fi
8283
8384 if test -n "$ac_init_help"; then
8485 case $ac_init_help in
@@ -87,7 +88,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
8788 esac
8889 cat <<\_ACEOF
8990
90−@@ -1386,7 +1374,7 @@
91+@@ -1386,7 +1374,7 @@ fi
9192 test -n "$ac_init_help" && exit $ac_status
9293 if $ac_init_version; then
9394 cat <<\_ACEOF
@@ -96,7 +97,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
9697 generated by GNU Autoconf 2.69
9798
9899 Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100+@@ -1858,7 +1846,7 @@ cat >config.log <<_ACEOF
100101 This file contains any messages produced by compilers while
101102 running configure, to aid debugging if configure makes a mistake.
102103
@@ -105,7 +106,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
105106 generated by GNU Autoconf 2.69. Invocation command line was
106107
107108 $ $0 $@
108−@@ -4193,7 +4181,7 @@
109+@@ -4193,7 +4181,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
109110 # report actual input values of CONFIG_FILES etc. instead of their
110111 # values after options handling.
111112 ac_log="
@@ -114,7 +115,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
114115 generated by GNU Autoconf 2.69. Invocation command line was
115116
116117 CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118+@@ -4246,7 +4234,7 @@ _ACEOF
118119 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119120 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120121 ac_cs_version="\\
@@ -123,9 +124,10 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
123124 configured by $0, generated by GNU Autoconf 2.69,
124125 with options \\"\$ac_cs_config\\"
125126
126−diff -ur hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h
127−--- hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2017-05-13 18:29:46.000000000 +0800
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
127+diff --git a/lib/include/HsTimeConfig.h b/lib/include/HsTimeConfig.h
128+index a1e2513..20798c5 100644
129+--- a/lib/include/HsTimeConfig.h
130++++ b/lib/include/HsTimeConfig.h
129131@@ -69,7 +69,7 @@
130132 #define PACKAGE_NAME "Haskell time package"
131133
patches/ghc861/transformers-0.5.5.0.patch+120−100
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs ghc-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs
2−--- hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2017-10-04 23:58:48.000000000 +0800
3−+++ ghc-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2001-09-09 09:46:40.000000000 +0800
4−@@ -27,6 +27,9 @@
1+diff --git a/Control/Applicative/Backwards.hs b/Control/Applicative/Backwards.hs
2+index ebb8a0b..7ed74ac 100644
3+--- a/Control/Applicative/Backwards.hs
4++++ b/Control/Applicative/Backwards.hs
5+@@ -27,6 +27,9 @@ module Control.Applicative.Backwards (
56 ) where
67
78 import Data.Functor.Classes
@@ -11,7 +12,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
1112
1213 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
1314 import Control.Applicative
14−@@ -100,3 +103,10 @@
15+@@ -100,3 +103,10 @@ instance (Traversable f) => Traversable (Backwards f) where
1516 {-# INLINE traverse #-}
1617 sequenceA (Backwards t) = fmap Backwards (sequenceA t)
1718 {-# INLINE sequenceA #-}
@@ -22,10 +23,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
2223+ contramap f = Backwards . contramap f . forwards
2324+ {-# INLINE contramap #-}
2425+#endif
25−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs
26−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2017-10-04 23:58:48.000000000 +0800
27−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2001-09-09 09:46:40.000000000 +0800
28−@@ -113,7 +113,13 @@
26+diff --git a/Control/Monad/Trans/Class.hs b/Control/Monad/Trans/Class.hs
27+index 9c2e260..b92bc0e 100644
28+--- a/Control/Monad/Trans/Class.hs
29++++ b/Control/Monad/Trans/Class.hs
30+@@ -113,7 +113,13 @@ an action that is strict in the component you want evaluated.
2931
3032 {- $example1
3133
@@ -40,7 +42,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-p
4042 to be parsed) to the @[]@ monad, which provides non-determinism:
4143
4244 > import Control.Monad.Trans.State
43−@@ -189,7 +195,8 @@
45+@@ -189,7 +195,8 @@ Then the parser will keep track of how many @tick@s it executes.
4446 {- $example3
4547
4648 This example is a cut-down version of the one in
@@ -50,10 +52,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-p
5052 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
5153 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
5254
53−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs
54−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2017-10-04 23:58:48.000000000 +0800
55−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2001-09-09 09:46:40.000000000 +0800
56−@@ -58,6 +58,9 @@
55+diff --git a/Control/Monad/Trans/Error.hs b/Control/Monad/Trans/Error.hs
56+index 144da45..f50b051 100644
57+--- a/Control/Monad/Trans/Error.hs
58++++ b/Control/Monad/Trans/Error.hs
59+@@ -58,6 +58,9 @@ import Control.Monad.IO.Class
5760 import Control.Monad.Signatures
5861 import Control.Monad.Trans.Class
5962 import Data.Functor.Classes
@@ -63,7 +66,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
6366
6467 import Control.Applicative
6568 import Control.Exception (IOException)
66−@@ -263,6 +266,11 @@
69+@@ -263,6 +266,11 @@ instance MonadTrans (ErrorT e) where
6770 instance (Error e, MonadIO m) => MonadIO (ErrorT e m) where
6871 liftIO = lift . liftIO
6972
@@ -75,9 +78,10 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
7578 -- | Signal an error value @e@.
7679 --
7780 -- * @'runErrorT' ('throwError' e) = 'return' ('Left' e)@
78−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs
79−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2017-10-04 23:58:48.000000000 +0800
80−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2001-09-09 09:46:40.000000000 +0800
81+diff --git a/Control/Monad/Trans/Except.hs b/Control/Monad/Trans/Except.hs
82+index 6a06297..b5446e4 100644
83+--- a/Control/Monad/Trans/Except.hs
84++++ b/Control/Monad/Trans/Except.hs
8185@@ -15,7 +15,7 @@
8286 -- Stability : experimental
8387 -- Portability : portable
@@ -87,7 +91,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
8791 --
8892 -- A sequence of actions terminates normally, producing a value,
8993 -- only if none of the actions in the sequence throws an exception.
90−@@ -51,6 +51,9 @@
94+@@ -51,6 +51,9 @@ import Control.Monad.IO.Class
9195 import Control.Monad.Signatures
9296 import Control.Monad.Trans.Class
9397 import Data.Functor.Classes
@@ -97,7 +101,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
97101 import Data.Functor.Identity
98102
99103 import Control.Applicative
100−@@ -255,6 +258,12 @@
104+@@ -255,6 +258,12 @@ instance (MonadZip m) => MonadZip (ExceptT e m) where
101105 {-# INLINE mzipWith #-}
102106 #endif
103107
@@ -110,10 +114,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
110114 -- | Signal an exception value @e@.
111115 --
112116 -- * @'runExceptT' ('throwE' e) = 'return' ('Left' e)@
113−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs
114−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2017-10-04 23:58:48.000000000 +0800
115−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2001-09-09 09:46:40.000000000 +0800
116−@@ -36,6 +36,9 @@
117+diff --git a/Control/Monad/Trans/Identity.hs b/Control/Monad/Trans/Identity.hs
118+index b04428e..81d0c21 100644
119+--- a/Control/Monad/Trans/Identity.hs
120++++ b/Control/Monad/Trans/Identity.hs
121+@@ -36,6 +36,9 @@ import Control.Monad.IO.Class (MonadIO(liftIO))
117122 import Control.Monad.Signatures
118123 import Control.Monad.Trans.Class (MonadTrans(lift))
119124 import Data.Functor.Classes
@@ -123,7 +128,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
123128
124129 import Control.Applicative
125130 import Control.Monad (MonadPlus(mzero, mplus))
126−@@ -154,6 +157,12 @@
131+@@ -154,6 +157,12 @@ instance MonadTrans IdentityT where
127132 lift = IdentityT
128133 {-# INLINE lift #-}
129134
@@ -136,10 +141,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
136141 -- | Lift a unary operation to the new monad.
137142 mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
138143 mapIdentityT f = IdentityT . f . runIdentityT
139−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs
140−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2017-10-04 23:58:48.000000000 +0800
141−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2001-09-09 09:46:40.000000000 +0800
142−@@ -34,12 +34,16 @@
144+diff --git a/Control/Monad/Trans/List.hs b/Control/Monad/Trans/List.hs
145+index e87fb0c..6af4b10 100644
146+--- a/Control/Monad/Trans/List.hs
147++++ b/Control/Monad/Trans/List.hs
148+@@ -34,12 +34,16 @@ import Control.Monad.IO.Class
143149 import Control.Monad.Signatures
144150 import Control.Monad.Trans.Class
145151 import Data.Functor.Classes
@@ -156,7 +162,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
156162 #if MIN_VERSION_base(4,4,0)
157163 import Control.Monad.Zip (MonadZip(mzipWith))
158164 #endif
159−@@ -137,6 +141,12 @@
165+@@ -137,6 +141,12 @@ instance (Monad m) => MonadPlus (ListT m) where
160166 return (a ++ b)
161167 {-# INLINE mplus #-}
162168
@@ -169,7 +175,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
169175 instance MonadTrans ListT where
170176 lift m = ListT $ do
171177 a <- m
172−@@ -153,6 +163,12 @@
178+@@ -153,6 +163,12 @@ instance (MonadZip m) => MonadZip (ListT m) where
173179 {-# INLINE mzipWith #-}
174180 #endif
175181
@@ -182,10 +188,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
182188 -- | Lift a @callCC@ operation to the new monad.
183189 liftCallCC :: CallCC m [a] [b] -> CallCC (ListT m) a b
184190 liftCallCC callCC f = ListT $
185−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs
186−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2017-10-04 23:58:48.000000000 +0800
187−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2001-09-09 09:46:40.000000000 +0800
188−@@ -45,6 +45,9 @@
191+diff --git a/Control/Monad/Trans/Maybe.hs b/Control/Monad/Trans/Maybe.hs
192+index 13114b1..997a4c0 100644
193+--- a/Control/Monad/Trans/Maybe.hs
194++++ b/Control/Monad/Trans/Maybe.hs
195+@@ -45,6 +45,9 @@ import Control.Monad.Signatures
189196 import Control.Monad.Trans.Class
190197 import Control.Monad.Trans.Except (ExceptT(..))
191198 import Data.Functor.Classes
@@ -195,7 +202,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
195202
196203 import Control.Applicative
197204 import Control.Monad (MonadPlus(mzero, mplus), liftM)
198−@@ -202,6 +205,12 @@
205+@@ -202,6 +205,12 @@ instance (MonadZip m) => MonadZip (MaybeT m) where
199206 {-# INLINE mzipWith #-}
200207 #endif
201208
@@ -208,10 +215,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
208215 -- | Lift a @callCC@ operation to the new monad.
209216 liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b
210217 liftCallCC callCC f =
211−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs
212−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
213−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
214−@@ -63,6 +63,9 @@
218+diff --git a/Control/Monad/Trans/RWS/Lazy.hs b/Control/Monad/Trans/RWS/Lazy.hs
219+index 36694c5..c366d5d 100644
220+--- a/Control/Monad/Trans/RWS/Lazy.hs
221++++ b/Control/Monad/Trans/RWS/Lazy.hs
222+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Lazy (
215223 import Control.Monad.IO.Class
216224 import Control.Monad.Signatures
217225 import Control.Monad.Trans.Class
@@ -221,7 +229,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs gh
221229 import Data.Functor.Identity
222230
223231 import Control.Applicative
224−@@ -231,6 +234,13 @@
232+@@ -231,6 +234,13 @@ instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) where
225233 liftIO = lift . liftIO
226234 {-# INLINE liftIO #-}
227235
@@ -235,10 +243,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs gh
235243 -- ---------------------------------------------------------------------------
236244 -- Reader operations
237245
238−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
239−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2017-10-04 23:58:48.000000000 +0800
240−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2001-09-09 09:46:40.000000000 +0800
241−@@ -63,6 +63,9 @@
246+diff --git a/Control/Monad/Trans/RWS/Strict.hs b/Control/Monad/Trans/RWS/Strict.hs
247+index 32f2af5..c5e3f6c 100644
248+--- a/Control/Monad/Trans/RWS/Strict.hs
249++++ b/Control/Monad/Trans/RWS/Strict.hs
250+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Strict (
242251 import Control.Monad.IO.Class
243252 import Control.Monad.Signatures
244253 import Control.Monad.Trans.Class
@@ -248,7 +257,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
248257 import Data.Functor.Identity
249258
250259 import Control.Applicative
251−@@ -231,6 +234,13 @@
260+@@ -231,6 +234,13 @@ instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) where
252261 liftIO = lift . liftIO
253262 {-# INLINE liftIO #-}
254263
@@ -262,10 +271,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
262271 -- ---------------------------------------------------------------------------
263272 -- Reader operations
264273
265−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs
266−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2017-10-04 23:58:48.000000000 +0800
267−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2001-09-09 09:46:40.000000000 +0800
268−@@ -49,6 +49,9 @@
274+diff --git a/Control/Monad/Trans/Reader.hs b/Control/Monad/Trans/Reader.hs
275+index b577b2d..f0b80f7 100644
276+--- a/Control/Monad/Trans/Reader.hs
277++++ b/Control/Monad/Trans/Reader.hs
278+@@ -49,6 +49,9 @@ module Control.Monad.Trans.Reader (
269279 import Control.Monad.IO.Class
270280 import Control.Monad.Signatures
271281 import Control.Monad.Trans.Class
@@ -275,7 +285,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
275285 import Data.Functor.Identity
276286
277287 import Control.Applicative
278−@@ -207,6 +210,12 @@
288+@@ -207,6 +210,12 @@ instance (MonadZip m) => MonadZip (ReaderT r m) where
279289 {-# INLINE mzipWith #-}
280290 #endif
281291
@@ -288,10 +298,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
288298 liftReaderT :: m a -> ReaderT r m a
289299 liftReaderT m = ReaderT (const m)
290300 {-# INLINE liftReaderT #-}
291−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
292−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
293−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
294−@@ -76,6 +76,9 @@
301+diff --git a/Control/Monad/Trans/State/Lazy.hs b/Control/Monad/Trans/State/Lazy.hs
302+index 13f61f4..e719f02 100644
303+--- a/Control/Monad/Trans/State/Lazy.hs
304++++ b/Control/Monad/Trans/State/Lazy.hs
305+@@ -76,6 +76,9 @@ module Control.Monad.Trans.State.Lazy (
295306 import Control.Monad.IO.Class
296307 import Control.Monad.Signatures
297308 import Control.Monad.Trans.Class
@@ -301,7 +312,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
301312 import Data.Functor.Identity
302313
303314 import Control.Applicative
304−@@ -253,6 +256,13 @@
315+@@ -253,6 +256,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
305316 liftIO = lift . liftIO
306317 {-# INLINE liftIO #-}
307318
@@ -315,10 +326,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
315326 -- | Fetch the current value of the state within the monad.
316327 get :: (Monad m) => StateT s m s
317328 get = state $ \ s -> (s, s)
318−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs
319−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2017-10-04 23:58:48.000000000 +0800
320−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2001-09-09 09:46:40.000000000 +0800
321−@@ -73,6 +73,9 @@
329+diff --git a/Control/Monad/Trans/State/Strict.hs b/Control/Monad/Trans/State/Strict.hs
330+index f1fb782..31fd52a 100644
331+--- a/Control/Monad/Trans/State/Strict.hs
332++++ b/Control/Monad/Trans/State/Strict.hs
333+@@ -73,6 +73,9 @@ module Control.Monad.Trans.State.Strict (
322334 import Control.Monad.IO.Class
323335 import Control.Monad.Signatures
324336 import Control.Monad.Trans.Class
@@ -328,7 +340,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
328340 import Data.Functor.Identity
329341
330342 import Control.Applicative
331−@@ -250,6 +253,13 @@
343+@@ -250,6 +253,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
332344 liftIO = lift . liftIO
333345 {-# INLINE liftIO #-}
334346
@@ -342,10 +354,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
342354 -- | Fetch the current value of the state within the monad.
343355 get :: (Monad m) => StateT s m s
344356 get = state $ \ s -> (s, s)
345−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
346−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
347−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
348−@@ -52,6 +52,9 @@
357+diff --git a/Control/Monad/Trans/Writer/Lazy.hs b/Control/Monad/Trans/Writer/Lazy.hs
358+index c7f689c..721e15c 100644
359+--- a/Control/Monad/Trans/Writer/Lazy.hs
360++++ b/Control/Monad/Trans/Writer/Lazy.hs
361+@@ -52,6 +52,9 @@ module Control.Monad.Trans.Writer.Lazy (
349362 import Control.Monad.IO.Class
350363 import Control.Monad.Trans.Class
351364 import Data.Functor.Classes
@@ -355,7 +368,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
355368 import Data.Functor.Identity
356369
357370 import Control.Applicative
358−@@ -237,6 +240,12 @@
371+@@ -237,6 +240,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
359372 {-# INLINE mzipWith #-}
360373 #endif
361374
@@ -368,10 +381,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
368381 -- | @'tell' w@ is an action that produces the output @w@.
369382 tell :: (Monad m) => w -> WriterT w m ()
370383 tell w = writer ((), w)
371−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs
372−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2017-10-04 23:58:48.000000000 +0800
373−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2001-09-09 09:46:40.000000000 +0800
374−@@ -55,6 +55,9 @@
384+diff --git a/Control/Monad/Trans/Writer/Strict.hs b/Control/Monad/Trans/Writer/Strict.hs
385+index 33058af..b18b4a8 100644
386+--- a/Control/Monad/Trans/Writer/Strict.hs
387++++ b/Control/Monad/Trans/Writer/Strict.hs
388+@@ -55,6 +55,9 @@ module Control.Monad.Trans.Writer.Strict (
375389 import Control.Monad.IO.Class
376390 import Control.Monad.Trans.Class
377391 import Data.Functor.Classes
@@ -381,7 +395,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
381395 import Data.Functor.Identity
382396
383397 import Control.Applicative
384−@@ -240,6 +243,12 @@
398+@@ -240,6 +243,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
385399 {-# INLINE mzipWith #-}
386400 #endif
387401
@@ -394,10 +408,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
394408 -- | @'tell' w@ is an action that produces the output @w@.
395409 tell :: (Monad m) => w -> WriterT w m ()
396410 tell w = writer ((), w)
397−diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-package-transformers-0.5.5.0/Data/Functor/Constant.hs
398−--- hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2017-10-04 23:58:48.000000000 +0800
399−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2001-09-09 09:46:40.000000000 +0800
400−@@ -26,6 +26,9 @@
411+diff --git a/Data/Functor/Constant.hs b/Data/Functor/Constant.hs
412+index e22f0d6..9c0b8d4 100644
413+--- a/Data/Functor/Constant.hs
414++++ b/Data/Functor/Constant.hs
415+@@ -26,6 +26,9 @@ module Data.Functor.Constant (
401416 ) where
402417
403418 import Data.Functor.Classes
@@ -407,7 +422,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
407422
408423 import Control.Applicative
409424 import Data.Foldable
410−@@ -141,3 +144,9 @@
425+@@ -141,3 +144,9 @@ instance Bitraversable Constant where
411426 bitraverse f _ (Constant a) = Constant <$> f a
412427 {-# INLINE bitraverse #-}
413428 #endif
@@ -417,10 +432,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
417432+ contramap _ (Constant a) = Constant a
418433+ {-# INLINE contramap #-}
419434+#endif
420−diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-package-transformers-0.5.5.0/Data/Functor/Reverse.hs
421−--- hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2017-10-04 23:58:48.000000000 +0800
422−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2001-09-09 09:46:40.000000000 +0800
423−@@ -28,6 +28,9 @@
435+diff --git a/Data/Functor/Reverse.hs b/Data/Functor/Reverse.hs
436+index a6abc46..dcb6290 100644
437+--- a/Data/Functor/Reverse.hs
438++++ b/Data/Functor/Reverse.hs
439+@@ -28,6 +28,9 @@ module Data.Functor.Reverse (
424440
425441 import Control.Applicative.Backwards
426442 import Data.Functor.Classes
@@ -430,7 +446,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
430446
431447 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
432448 import Control.Applicative
433−@@ -129,3 +132,10 @@
449+@@ -129,3 +132,10 @@ instance (Traversable f) => Traversable (Reverse f) where
434450 traverse f (Reverse t) =
435451 fmap Reverse . forwards $ traverse (Backwards . f) t
436452 {-# INLINE traverse #-}
@@ -441,10 +457,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
441457+ contramap f = Reverse . contramap f . getReverse
442458+ {-# INLINE contramap #-}
443459+#endif
444−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs
445−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2017-10-04 23:58:48.000000000 +0800
446−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2001-09-09 09:46:40.000000000 +0800
447−@@ -35,6 +35,9 @@
460+diff --git a/legacy/pre711/Data/Functor/Compose.hs b/legacy/pre711/Data/Functor/Compose.hs
461+index 161a2e9..ed78130 100644
462+--- a/legacy/pre711/Data/Functor/Compose.hs
463++++ b/legacy/pre711/Data/Functor/Compose.hs
464+@@ -35,6 +35,9 @@ module Data.Functor.Compose (
448465 ) where
449466
450467 import Data.Functor.Classes
@@ -454,7 +471,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose
454471
455472 import Control.Applicative
456473 #if __GLASGOW_HASKELL__ >= 708
457−@@ -144,3 +147,8 @@
474+@@ -144,3 +147,8 @@ instance (Applicative f, Applicative g) => Applicative (Compose f g) where
458475 instance (Alternative f, Applicative g) => Alternative (Compose f g) where
459476 empty = Compose empty
460477 Compose x <|> Compose y = Compose (x <|> y)
@@ -463,10 +480,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose
463480+instance (Functor f, Contravariant g) => Contravariant (Compose f g) where
464481+ contramap f (Compose fga) = Compose (fmap (contramap f) fga)
465482+#endif
466−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs
467−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2017-10-04 23:58:48.000000000 +0800
468−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2001-09-09 09:46:40.000000000 +0800
469−@@ -45,6 +45,9 @@
483+diff --git a/legacy/pre711/Data/Functor/Product.hs b/legacy/pre711/Data/Functor/Product.hs
484+index 51c99a3..ba0dc04 100644
485+--- a/legacy/pre711/Data/Functor/Product.hs
486++++ b/legacy/pre711/Data/Functor/Product.hs
487+@@ -45,6 +45,9 @@ import Data.Data
470488 #endif
471489 import Data.Foldable (Foldable(foldMap))
472490 import Data.Functor.Classes
@@ -476,7 +494,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
476494 import Data.Monoid (mappend)
477495 import Data.Traversable (Traversable(traverse))
478496 #if __GLASGOW_HASKELL__ >= 702
479−@@ -146,3 +149,8 @@
497+@@ -146,3 +149,8 @@ instance (MonadFix f, MonadFix g) => MonadFix (Product f g) where
480498 instance (MonadZip f, MonadZip g) => MonadZip (Product f g) where
481499 mzipWith f (Pair x1 y1) (Pair x2 y2) = Pair (mzipWith f x1 x2) (mzipWith f y1 y2)
482500 #endif
@@ -485,10 +503,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
485503+instance (Contravariant f, Contravariant g) => Contravariant (Product f g) where
486504+ contramap f (Pair a b) = Pair (contramap f a) (contramap f b)
487505+#endif
488−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
489−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2017-10-04 23:58:48.000000000 +0800
490−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2001-09-09 09:46:40.000000000 +0800
491−@@ -40,6 +40,9 @@
506+diff --git a/legacy/pre711/Data/Functor/Sum.hs b/legacy/pre711/Data/Functor/Sum.hs
507+index 9c314e7..e6d1428 100644
508+--- a/legacy/pre711/Data/Functor/Sum.hs
509++++ b/legacy/pre711/Data/Functor/Sum.hs
510+@@ -40,6 +40,9 @@ import Data.Data
492511 #endif
493512 import Data.Foldable (Foldable(foldMap))
494513 import Data.Functor.Classes
@@ -498,7 +517,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
498517 import Data.Monoid (mappend)
499518 import Data.Traversable (Traversable(traverse))
500519 #if __GLASGOW_HASKELL__ >= 702
501−@@ -125,3 +128,9 @@
520+@@ -125,3 +128,9 @@ instance (Foldable f, Foldable g) => Foldable (Sum f g) where
502521 instance (Traversable f, Traversable g) => Traversable (Sum f g) where
503522 traverse f (InL x) = InL <$> traverse f x
504523 traverse f (InR y) = InR <$> traverse f y
@@ -508,10 +527,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
508527+ contramap f (InL xs) = InL (contramap f xs)
509528+ contramap f (InR ys) = InR (contramap f ys)
510529+#endif
511−diff -ur hackage-package-transformers-0.5.5.0/transformers.cabal ghc-package-transformers-0.5.5.0/transformers.cabal
512−--- hackage-package-transformers-0.5.5.0/transformers.cabal 2017-10-04 23:58:48.000000000 +0800
513−+++ ghc-package-transformers-0.5.5.0/transformers.cabal 2001-09-09 09:46:40.000000000 +0800
514−@@ -9,7 +9,9 @@
530+diff --git a/transformers.cabal b/transformers.cabal
531+index 8583b12..b2e4fea 100644
532+--- a/transformers.cabal
533++++ b/transformers.cabal
534+@@ -9,7 +9,9 @@ category: Control
515535 synopsis: Concrete functor and monad transformers
516536 description:
517537 A portable library of functor and monad transformers, inspired by
patches/ghc861/unix-2.7.2.2.patch+19−17
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
4−@@ -667,7 +667,6 @@
1+diff --git a/configure b/configure
2+index ea0475d..a3897ae 100644
3+--- a/configure
4++++ b/configure
5+@@ -667,7 +667,6 @@ infodir
56 docdir
67 oldincludedir
78 includedir
@@ -9,7 +10,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
910 localstatedir
1011 sharedstatedir
1112 sysconfdir
12−@@ -739,7 +738,6 @@
13+@@ -739,7 +738,6 @@ datadir='${datarootdir}'
1314 sysconfdir='${prefix}/etc'
1415 sharedstatedir='${prefix}/com'
1516 localstatedir='${prefix}/var'
@@ -17,7 +18,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
1718 includedir='${prefix}/include'
1819 oldincludedir='/usr/include'
1920 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21+@@ -992,15 +990,6 @@ do
2122 | -silent | --silent | --silen | --sile | --sil)
2223 silent=yes ;;
2324
@@ -33,7 +34,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
3334 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
3435 ac_prev=sbindir ;;
3536 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37+@@ -1138,7 +1127,7 @@ fi
3738 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
3839 datadir sysconfdir sharedstatedir localstatedir includedir \
3940 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
@@ -42,7 +43,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
4243 do
4344 eval ac_val=\$$ac_var
4445 # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46+@@ -1291,7 +1280,6 @@ Fine tuning of the installation directories:
4647 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
4748 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
4849 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
@@ -50,7 +51,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
5051 --libdir=DIR object code libraries [EPREFIX/lib]
5152 --includedir=DIR C header files [PREFIX/include]
5253 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54+@@ -3782,7 +3770,7 @@ else
5455 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5556 since some C++ compilers masquerading as C compilers
5657 incorrectly reject 9223372036854775807. */
@@ -59,7 +60,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
5960 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
6061 && LARGE_OFF_T % 2147483647 == 1)
6162 ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63+@@ -3828,7 +3816,7 @@ else
6364 We can't simply define LARGE_OFF_T to be 9223372036854775807,
6465 since some C++ compilers masquerading as C compilers
6566 incorrectly reject 9223372036854775807. */
@@ -68,7 +69,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
6869 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
6970 && LARGE_OFF_T % 2147483647 == 1)
7071 ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72+@@ -3852,7 +3840,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7273 We can't simply define LARGE_OFF_T to be 9223372036854775807,
7374 since some C++ compilers masquerading as C compilers
7475 incorrectly reject 9223372036854775807. */
@@ -77,7 +78,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
7778 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
7879 && LARGE_OFF_T % 2147483647 == 1)
7980 ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81+@@ -3897,7 +3885,7 @@ else
8182 We can't simply define LARGE_OFF_T to be 9223372036854775807,
8283 since some C++ compilers masquerading as C compilers
8384 incorrectly reject 9223372036854775807. */
@@ -86,7 +87,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
8687 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
8788 && LARGE_OFF_T % 2147483647 == 1)
8889 ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90+@@ -3921,7 +3909,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
9091 We can't simply define LARGE_OFF_T to be 9223372036854775807,
9192 since some C++ compilers masquerading as C compilers
9293 incorrectly reject 9223372036854775807. */
@@ -95,10 +96,11 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
9596 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
9697 && LARGE_OFF_T % 2147483647 == 1)
9798 ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101−@@ -62,7 +62,7 @@
99+diff --git a/unix.cabal b/unix.cabal
100+index cf44068..bb3155f 100644
101+--- a/unix.cabal
102++++ b/unix.cabal
103+@@ -62,7 +62,7 @@ library
102104 buildable: False
103105
104106 build-depends:
patches/ghc862/binary-0.8.6.0.patch+6−5
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-binary-0.8.6.0/binary.cabal ghc-package-binary-0.8.6.0/binary.cabal
2−--- hackage-package-binary-0.8.6.0/binary.cabal 2018-08-04 20:33:08.000000000 +0800
3−+++ ghc-package-binary-0.8.6.0/binary.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -158,7 +158,6 @@
1+diff --git a/binary.cabal b/binary.cabal
2+index 9b25877..1d1b9cf 100644
3+--- a/binary.cabal
4++++ b/binary.cabal
5+@@ -158,7 +158,6 @@ benchmark get
56 Data.Binary.Class
67 Data.Binary.FloatCast
78 Data.Binary.Generic
@@ -9,7 +10,7 @@ diff -ur hackage-package-binary-0.8.6.0/binary.cabal ghc-package-binary-0.8.6.0/
910 Data.Binary.Get.Internal
1011 Data.Binary.Internal
1112 Data.Binary.Put
12−@@ -191,7 +190,6 @@
13+@@ -191,7 +190,6 @@ benchmark put
1314 Data.Binary.Get
1415 Data.Binary.Get.Internal
1516 Data.Binary.Internal
patches/ghc862/containers-0.6.0.1.patch+117−1
@@ -1 +1,117 @@
1−Only in hackage-package-containers-0.6.0.1/tests: graph-properties.hs
1+diff --git a/tests/graph-properties.hs b/tests/graph-properties.hs
2+deleted file mode 100644
3+index ffe4483..0000000
4+--- a/tests/graph-properties.hs
5++++ /dev/null
6+@@ -1,111 +0,0 @@
7+-{-# LANGUAGE CPP #-}
8+-
9+-import Data.Graph as G
10+-
11+-import Control.Applicative (Const(Const, getConst), pure, (<$>), (<*>), liftA2)
12+-
13+-import Test.Framework
14+-import Test.Framework.Providers.QuickCheck2
15+-import Test.QuickCheck
16+-import Test.QuickCheck.Function (Fun (..), apply)
17+-import Test.QuickCheck.Poly (A, B, C)
18+-import Control.Monad (ap)
19+-
20+-default (Int)
21+-
22+-main :: IO ()
23+-main = defaultMain
24+- [
25+- testProperty "monad_id1" prop_monad_id1
26+- , testProperty "monad_id2" prop_monad_id2
27+- , testProperty "monad_assoc" prop_monad_assoc
28+- , testProperty "ap_ap" prop_ap_ap
29+- , testProperty "ap_liftA2" prop_ap_liftA2
30+- , testProperty "monadFix_ls" prop_monadFix_ls
31+- ]
32+-
33+-{--------------------------------------------------------------------
34+- Arbitrary trees
35+---------------------------------------------------------------------}
36+-
37+-newtype G = G Graph
38+-
39+--- This instance isn't balanced very well; the trees will probably tend
40+--- to lean left. But it's better than nothing and we can fix it later.
41+-instance Arbitrary a => Arbitrary G where
42+- arbitrary = sized arbgraph
43+- where
44+- arbgraph :: Arbitrary a => Int -> Gen G
45+- arbgraph nv = do
46+- lo <- arbitrary
47+- hi <- (lo+) <$> choose (0, nv)
48+-{-
49+- arbtree 0 = fmap ((,) 1) $ Node <$> arbitrary <*> pure []
50+- arbtree n = do
51+- root <- arbitrary
52+- num_children <- choose (0, n - 1)
53+- (st, tl) <- go num_children
54+- return (1+st, Node root tl)
55+--}
56+-
57+- go 0 = pure (0, [])
58+- go n = do
59+- (sh, hd) <- arbtree n
60+- (st, tl) <- go (n - sh)
61+- pure (sh + st, hd : tl)
62+-
63+--- genericShrink only became available when generics did, so it's
64+--- not available under GHC 7.0.
65+-#if __GLASGOW_HASKELL__ >= 704
66+- shrink = genericShrink
67+-#endif
68+-
69+-----------------------------------------------------------------
70+--- Unit tests
71+-----------------------------------------------------------------
72+-
73+-----------------------------------------------------------------
74+--- QuickCheck
75+-----------------------------------------------------------------
76+-
77+-apply2 :: Fun (a, b) c -> a -> b -> c
78+-apply2 f a b = apply f (a, b)
79+-
80+-prop_ap_ap :: Tree (Fun A B) -> Tree A -> Property
81+-prop_ap_ap fs xs = (apply <$> fs <*> xs) === ((apply <$> fs) `ap` xs)
82+-
83+-prop_ap_liftA2 :: Fun (A, B) C -> Tree A -> Tree B -> Property
84+-prop_ap_liftA2 f as bs = (apply2 f <$> as <*> bs) === liftA2 (apply2 f) as bs
85+-
86+-prop_monad_id1 :: Tree A -> Property
87+-prop_monad_id1 t = (t >>= pure) === t
88+-
89+-prop_monad_id2 :: A -> Fun A (Tree B) -> Property
90+-prop_monad_id2 a f = (pure a >>= apply f) === apply f a
91+-
92+-prop_monad_assoc :: Tree A -> Fun A (Tree B) -> Fun B (Tree C) -> Property
93+-prop_monad_assoc ta atb btc =
94+- ((ta >>= apply atb) >>= apply btc)
95+- ===
96+- (ta >>= \a -> apply atb a >>= apply btc)
97+-
98+--- The left shrinking law
99+---
100+--- This test is kind of wonky and unprincipled, because it's
101+--- rather tricky to construct test cases!
102+--- This is the most important MonadFix law to test because it's the
103+--- least intuitive by far, and because it's the only one that's
104+--- sensitive to the Monad instance.
105+-prop_monadFix_ls :: Int -> Tree Int -> Fun Int (Tree Int) -> Property
106+-prop_monadFix_ls val ta ti =
107+- fmap ($val) (mfix (\x -> ta >>= \y -> f x y))
108+- ===
109+- fmap ($val) (ta >>= \y -> mfix (\x -> f x y))
110+- where
111+- fact :: Int -> (Int -> Int) -> Int -> Int
112+- fact x _ 0 = x + 1
113+- fact x f n = x + n * f ((n - 1) `mod` 23)
114+-
115+- f :: (Int -> Int) -> Int -> Tree (Int -> Int)
116+- f q y = let t = apply ti y
117+- in fmap (\w -> fact w q) t
patches/ghc862/default.nix−1
@@ -1,7 +1,6 @@
11{
22 packages.binary.patches = [ ./binary-0.8.6.0.patch ];
33 packages.containers.patches = [ ./containers-0.6.0.1.patch ];
4− packages.default.nix.patches = [ ./default.nix ];
54 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
65 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
76 packages.process.patches = [ ./process-1.6.3.0.patch ];
patches/ghc862/hpc-0.6.0.3.patch+5−4
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-hpc-0.6.0.3/hpc.cabal ghc-package-hpc-0.6.0.3/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -35,9 +35,9 @@
1+diff --git a/hpc.cabal b/hpc.cabal
2+index 7e77973..ba676a7 100644
3+--- a/hpc.cabal
4++++ b/hpc.cabal
5+@@ -35,9 +35,9 @@ Library
56 Trace.Hpc.Reflect
67
78 Build-Depends:
patches/ghc862/parsec-3.1.13.0.patch+6−5
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.0/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -21,18 +21,18 @@
1+diff --git a/parsec.cabal b/parsec.cabal
2+index 9531768..46ef625 100644
3+--- a/parsec.cabal
4++++ b/parsec.cabal
5+@@ -21,18 +21,18 @@ license: BSD3
56 license-file: LICENSE
67 author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
78 maintainer: Herbert Valerio Riedel <hvr@gnu.org>
@@ -24,7 +25,7 @@ diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.
2425
2526 library
2627 hs-source-dirs: src
27−@@ -64,7 +64,7 @@
28+@@ -64,7 +64,7 @@ library
2829 Text.ParserCombinators.Parsec.Token
2930
3031 build-depends:
patches/ghc862/process-1.6.3.0.patch+59−53
@@ -1,40 +1,8 @@
1−diff -ur hackage-package-process-1.6.3.0/System/Process/Common.hs ghc-package-process-1.6.3.0/System/Process/Common.hs
2−--- hackage-package-process-1.6.3.0/System/Process/Common.hs 2017-03-31 01:02:13.000000000 +0800
3−+++ ghc-package-process-1.6.3.0/System/Process/Common.hs 2001-09-09 09:46:40.000000000 +0800
4−@@ -44,7 +44,7 @@
5− import GHC.IO.Handle.Types hiding (ClosedHandle)
6− import System.IO.Error
7− import Data.Typeable
8−-import GHC.IO.IOMode
9−+import System.IO (IOMode)
10−
11− -- We do a minimal amount of CPP here to provide uniform data types across
12− -- Windows and POSIX.
13−diff -ur hackage-package-process-1.6.3.0/System/Process/Windows.hsc ghc-package-process-1.6.3.0/System/Process/Windows.hsc
14−--- hackage-package-process-1.6.3.0/System/Process/Windows.hsc 2017-02-21 21:53:00.000000000 +0800
15−+++ ghc-package-process-1.6.3.0/System/Process/Windows.hsc 2001-09-09 09:46:40.000000000 +0800
16−@@ -34,7 +34,7 @@
17− import GHC.IO.Handle.FD
18− import GHC.IO.Handle.Types hiding (ClosedHandle)
19− import System.IO.Error
20−-import GHC.IO.IOMode
21−+import System.IO (IOMode(..))
22−
23− import System.Directory ( doesFileExist )
24− import System.Environment ( getEnv )
25−@@ -208,7 +208,7 @@
26− then Just <$> peek p_exitCode
27− else return Nothing
28−
29−-insertItem :: Eq k => MVar [(k, v)] -> k -> v -> IO ()
30−+insertItem :: MVar [(k, v)] -> k -> v -> IO ()
31− insertItem env_ k v = modifyMVar_ env_ (return . ((k, v):))
32−
33− getItem :: Eq k => MVar [(k, v)] -> k -> IO v
34−diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1.6.3.0/System/Process.hs
35−--- hackage-package-process-1.6.3.0/System/Process.hs 2017-12-27 17:35:11.000000000 +0800
36−+++ ghc-package-process-1.6.3.0/System/Process.hs 2001-09-09 09:46:40.000000000 +0800
37−@@ -43,6 +43,7 @@
1+diff --git a/System/Process.hs b/System/Process.hs
2+index 2678a93..d03dc6e 100644
3+--- a/System/Process.hs
4++++ b/System/Process.hs
5+@@ -43,6 +43,7 @@ module System.Process (
386 readCreateProcessWithExitCode,
397 readProcessWithExitCode,
408 withCreateProcess,
@@ -42,7 +10,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
4210
4311 -- ** Related utilities
4412 showCommandForUser,
45−@@ -245,7 +246,12 @@
13+@@ -245,7 +246,12 @@ withCreateProcess_ fun c action =
4614 C.bracketOnError (createProcess_ fun c) cleanupProcess
4715 (\(m_in, m_out, m_err, ph) -> action m_in m_out m_err ph)
4816
@@ -56,7 +24,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
5624 cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
5725 -> IO ()
5826 cleanupProcess (mb_stdin, mb_stdout, mb_stderr,
59−@@ -728,8 +734,10 @@
27+@@ -728,8 +734,10 @@ getProcessExitCode ph@(ProcessHandle _ delegating_ctlc _) = tryLockWaitpid $ do
6028 -- has indeed terminated, use 'getProcessExitCode'.
6129 --
6230 -- On Unix systems, 'terminateProcess' sends the process the SIGTERM signal.
@@ -69,10 +37,46 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
6937 --
7038 -- Note: on Windows, if the process was a shell command created by
7139 -- 'createProcess' with 'shell', or created by 'runCommand' or
72−diff -ur hackage-package-process-1.6.3.0/cbits/runProcess.c ghc-package-process-1.6.3.0/cbits/runProcess.c
73−--- hackage-package-process-1.6.3.0/cbits/runProcess.c 2017-02-06 16:42:31.000000000 +0800
74−+++ ghc-package-process-1.6.3.0/cbits/runProcess.c 2001-09-09 09:46:40.000000000 +0800
75−@@ -111,6 +111,18 @@
40+diff --git a/System/Process/Common.hs b/System/Process/Common.hs
41+index b424764..fe55889 100644
42+--- a/System/Process/Common.hs
43++++ b/System/Process/Common.hs
44+@@ -44,7 +44,7 @@ import GHC.IO.Handle.Internals
45+ import GHC.IO.Handle.Types hiding (ClosedHandle)
46+ import System.IO.Error
47+ import Data.Typeable
48+-import GHC.IO.IOMode
49++import System.IO (IOMode)
50+
51+ -- We do a minimal amount of CPP here to provide uniform data types across
52+ -- Windows and POSIX.
53+diff --git a/System/Process/Windows.hsc b/System/Process/Windows.hsc
54+index 6c92b02..23498f5 100644
55+--- a/System/Process/Windows.hsc
56++++ b/System/Process/Windows.hsc
57+@@ -34,7 +34,7 @@ import GHC.IO.Exception
58+ import GHC.IO.Handle.FD
59+ import GHC.IO.Handle.Types hiding (ClosedHandle)
60+ import System.IO.Error
61+-import GHC.IO.IOMode
62++import System.IO (IOMode(..))
63+
64+ import System.Directory ( doesFileExist )
65+ import System.Environment ( getEnv )
66+@@ -208,7 +208,7 @@ waitForJobCompletion job io timeout =
67+ then Just <$> peek p_exitCode
68+ else return Nothing
69+
70+-insertItem :: Eq k => MVar [(k, v)] -> k -> v -> IO ()
71++insertItem :: MVar [(k, v)] -> k -> v -> IO ()
72+ insertItem env_ k v = modifyMVar_ env_ (return . ((k, v):))
73+
74+ getItem :: Eq k => MVar [(k, v)] -> k -> IO v
75+diff --git a/cbits/runProcess.c b/cbits/runProcess.c
76+index ae184c8..16ef4fe 100644
77+--- a/cbits/runProcess.c
78++++ b/cbits/runProcess.c
79+@@ -111,6 +111,18 @@ runInteractiveProcess (char *const args[],
7680 r = pipe(forkCommunicationFds);
7781 if (r == -1) {
7882 *failed_doing = "runInteractiveProcess: pipe";
@@ -91,9 +95,10 @@ diff -ur hackage-package-process-1.6.3.0/cbits/runProcess.c ghc-package-process-
9195 return -1;
9296 }
9397
94−diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.0/changelog.md
95−--- hackage-package-process-1.6.3.0/changelog.md 2018-01-22 10:51:34.000000000 +0800
96−+++ ghc-package-process-1.6.3.0/changelog.md 2001-09-09 09:46:40.000000000 +0800
98+diff --git a/changelog.md b/changelog.md
99+index 851c3ca..d4c43ae 100644
100+--- a/changelog.md
101++++ b/changelog.md
97102@@ -1,5 +1,13 @@
98103 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
99104
@@ -108,10 +113,11 @@ diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.
108113 ## 1.6.3.0 *January 2018*
109114
110115 * Added `getPid` and export of platform specific `Pid` type
111−diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3.0/process.cabal
112−--- hackage-package-process-1.6.3.0/process.cabal 2018-01-22 10:52:21.000000000 +0800
113−+++ ghc-package-process-1.6.3.0/process.cabal 2001-09-09 09:46:40.000000000 +0800
114−@@ -46,8 +46,9 @@
116+diff --git a/process.cabal b/process.cabal
117+index cb6cbb3..350591a 100644
118+--- a/process.cabal
119++++ b/process.cabal
120+@@ -46,8 +46,9 @@ library
115121 InterruptibleFFI
116122 RecordWildCards
117123 Trustworthy
@@ -123,7 +129,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
123129
124130 exposed-modules:
125131 System.Cmd
126−@@ -61,7 +62,7 @@
132+@@ -61,7 +62,7 @@ library
127133 cpp-options: -DWINDOWS
128134 else
129135 other-modules: System.Process.Posix
@@ -132,7 +138,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
132138
133139 c-sources:
134140 cbits/runProcess.c
135−@@ -74,7 +75,7 @@
141+@@ -74,7 +75,7 @@ library
136142
137143 ghc-options: -Wall
138144
@@ -141,7 +147,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
141147 directory >= 1.1 && < 1.4,
142148 filepath >= 1.2 && < 1.5,
143149 deepseq >= 1.1 && < 1.5
144−@@ -84,7 +85,9 @@
150+@@ -84,7 +85,9 @@ test-suite test
145151 hs-source-dirs: test
146152 main-is: main.hs
147153 type: exitcode-stdio-1.0
patches/ghc862/time-1.8.0.2.patch+20−18
@@ -1,6 +1,7 @@
1−diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
1+diff --git a/configure b/configure
2+index f4f4dba..f5fae2b 100644
3+--- a/configure
4++++ b/configure
45@@ -1,6 +1,6 @@
56 #! /bin/sh
67 # Guess values for system-dependent variables and create Makefiles.
@@ -9,7 +10,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
910 #
1011 # Report bugs to <ashley@semantic.org>.
1112 #
12−@@ -580,8 +580,8 @@
13+@@ -580,8 +580,8 @@ MAKEFLAGS=
1314 # Identity of this package.
1415 PACKAGE_NAME='Haskell time package'
1516 PACKAGE_TARNAME='time'
@@ -20,7 +21,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
2021 PACKAGE_BUGREPORT='ashley@semantic.org'
2122 PACKAGE_URL=''
2223
23−@@ -653,7 +653,6 @@
24+@@ -653,7 +653,6 @@ infodir
2425 docdir
2526 oldincludedir
2627 includedir
@@ -28,7 +29,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
2829 localstatedir
2930 sharedstatedir
3031 sysconfdir
31−@@ -726,7 +725,6 @@
32+@@ -726,7 +725,6 @@ datadir='${datarootdir}'
3233 sysconfdir='${prefix}/etc'
3334 sharedstatedir='${prefix}/com'
3435 localstatedir='${prefix}/var'
@@ -36,7 +37,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
3637 includedir='${prefix}/include'
3738 oldincludedir='/usr/include'
3839 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40+@@ -979,15 +977,6 @@ do
4041 | -silent | --silent | --silen | --sile | --sil)
4142 silent=yes ;;
4243
@@ -52,7 +53,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
5253 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
5354 ac_prev=sbindir ;;
5455 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56+@@ -1125,7 +1114,7 @@ fi
5657 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
5758 datadir sysconfdir sharedstatedir localstatedir includedir \
5859 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
@@ -61,7 +62,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
6162 do
6263 eval ac_val=\$$ac_var
6364 # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65+@@ -1238,7 +1227,7 @@ if test "$ac_init_help" = "long"; then
6566 # Omit some internal or obsolete options to make the list less imposing.
6667 # This message is too long to be a string in the A/UX 3.1 sh.
6768 cat <<_ACEOF
@@ -70,7 +71,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
7071
7172 Usage: $0 [OPTION]... [VAR=VALUE]...
7273
73−@@ -1278,7 +1267,6 @@
74+@@ -1278,7 +1267,6 @@ Fine tuning of the installation directories:
7475 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
7576 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
7677 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
@@ -78,7 +79,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
7879 --libdir=DIR object code libraries [EPREFIX/lib]
7980 --includedir=DIR C header files [PREFIX/include]
8081 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82+@@ -1300,7 +1288,7 @@ fi
8283
8384 if test -n "$ac_init_help"; then
8485 case $ac_init_help in
@@ -87,7 +88,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
8788 esac
8889 cat <<\_ACEOF
8990
90−@@ -1386,7 +1374,7 @@
91+@@ -1386,7 +1374,7 @@ fi
9192 test -n "$ac_init_help" && exit $ac_status
9293 if $ac_init_version; then
9394 cat <<\_ACEOF
@@ -96,7 +97,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
9697 generated by GNU Autoconf 2.69
9798
9899 Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100+@@ -1858,7 +1846,7 @@ cat >config.log <<_ACEOF
100101 This file contains any messages produced by compilers while
101102 running configure, to aid debugging if configure makes a mistake.
102103
@@ -105,7 +106,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
105106 generated by GNU Autoconf 2.69. Invocation command line was
106107
107108 $ $0 $@
108−@@ -4193,7 +4181,7 @@
109+@@ -4193,7 +4181,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
109110 # report actual input values of CONFIG_FILES etc. instead of their
110111 # values after options handling.
111112 ac_log="
@@ -114,7 +115,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
114115 generated by GNU Autoconf 2.69. Invocation command line was
115116
116117 CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118+@@ -4246,7 +4234,7 @@ _ACEOF
118119 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119120 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120121 ac_cs_version="\\
@@ -123,9 +124,10 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
123124 configured by $0, generated by GNU Autoconf 2.69,
124125 with options \\"\$ac_cs_config\\"
125126
126−diff -ur hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h
127−--- hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2017-05-13 18:29:46.000000000 +0800
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
127+diff --git a/lib/include/HsTimeConfig.h b/lib/include/HsTimeConfig.h
128+index a1e2513..20798c5 100644
129+--- a/lib/include/HsTimeConfig.h
130++++ b/lib/include/HsTimeConfig.h
129131@@ -69,7 +69,7 @@
130132 #define PACKAGE_NAME "Haskell time package"
131133
patches/ghc862/transformers-0.5.5.0.patch+120−100
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs ghc-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs
2−--- hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2017-10-04 23:58:48.000000000 +0800
3−+++ ghc-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2001-09-09 09:46:40.000000000 +0800
4−@@ -27,6 +27,9 @@
1+diff --git a/Control/Applicative/Backwards.hs b/Control/Applicative/Backwards.hs
2+index ebb8a0b..7ed74ac 100644
3+--- a/Control/Applicative/Backwards.hs
4++++ b/Control/Applicative/Backwards.hs
5+@@ -27,6 +27,9 @@ module Control.Applicative.Backwards (
56 ) where
67
78 import Data.Functor.Classes
@@ -11,7 +12,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
1112
1213 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
1314 import Control.Applicative
14−@@ -100,3 +103,10 @@
15+@@ -100,3 +103,10 @@ instance (Traversable f) => Traversable (Backwards f) where
1516 {-# INLINE traverse #-}
1617 sequenceA (Backwards t) = fmap Backwards (sequenceA t)
1718 {-# INLINE sequenceA #-}
@@ -22,10 +23,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
2223+ contramap f = Backwards . contramap f . forwards
2324+ {-# INLINE contramap #-}
2425+#endif
25−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs
26−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2017-10-04 23:58:48.000000000 +0800
27−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2001-09-09 09:46:40.000000000 +0800
28−@@ -113,7 +113,13 @@
26+diff --git a/Control/Monad/Trans/Class.hs b/Control/Monad/Trans/Class.hs
27+index 9c2e260..b92bc0e 100644
28+--- a/Control/Monad/Trans/Class.hs
29++++ b/Control/Monad/Trans/Class.hs
30+@@ -113,7 +113,13 @@ an action that is strict in the component you want evaluated.
2931
3032 {- $example1
3133
@@ -40,7 +42,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-p
4042 to be parsed) to the @[]@ monad, which provides non-determinism:
4143
4244 > import Control.Monad.Trans.State
43−@@ -189,7 +195,8 @@
45+@@ -189,7 +195,8 @@ Then the parser will keep track of how many @tick@s it executes.
4446 {- $example3
4547
4648 This example is a cut-down version of the one in
@@ -50,10 +52,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-p
5052 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
5153 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
5254
53−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs
54−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2017-10-04 23:58:48.000000000 +0800
55−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2001-09-09 09:46:40.000000000 +0800
56−@@ -58,6 +58,9 @@
55+diff --git a/Control/Monad/Trans/Error.hs b/Control/Monad/Trans/Error.hs
56+index 144da45..f50b051 100644
57+--- a/Control/Monad/Trans/Error.hs
58++++ b/Control/Monad/Trans/Error.hs
59+@@ -58,6 +58,9 @@ import Control.Monad.IO.Class
5760 import Control.Monad.Signatures
5861 import Control.Monad.Trans.Class
5962 import Data.Functor.Classes
@@ -63,7 +66,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
6366
6467 import Control.Applicative
6568 import Control.Exception (IOException)
66−@@ -263,6 +266,11 @@
69+@@ -263,6 +266,11 @@ instance MonadTrans (ErrorT e) where
6770 instance (Error e, MonadIO m) => MonadIO (ErrorT e m) where
6871 liftIO = lift . liftIO
6972
@@ -75,9 +78,10 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
7578 -- | Signal an error value @e@.
7679 --
7780 -- * @'runErrorT' ('throwError' e) = 'return' ('Left' e)@
78−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs
79−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2017-10-04 23:58:48.000000000 +0800
80−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2001-09-09 09:46:40.000000000 +0800
81+diff --git a/Control/Monad/Trans/Except.hs b/Control/Monad/Trans/Except.hs
82+index 6a06297..b5446e4 100644
83+--- a/Control/Monad/Trans/Except.hs
84++++ b/Control/Monad/Trans/Except.hs
8185@@ -15,7 +15,7 @@
8286 -- Stability : experimental
8387 -- Portability : portable
@@ -87,7 +91,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
8791 --
8892 -- A sequence of actions terminates normally, producing a value,
8993 -- only if none of the actions in the sequence throws an exception.
90−@@ -51,6 +51,9 @@
94+@@ -51,6 +51,9 @@ import Control.Monad.IO.Class
9195 import Control.Monad.Signatures
9296 import Control.Monad.Trans.Class
9397 import Data.Functor.Classes
@@ -97,7 +101,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
97101 import Data.Functor.Identity
98102
99103 import Control.Applicative
100−@@ -255,6 +258,12 @@
104+@@ -255,6 +258,12 @@ instance (MonadZip m) => MonadZip (ExceptT e m) where
101105 {-# INLINE mzipWith #-}
102106 #endif
103107
@@ -110,10 +114,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
110114 -- | Signal an exception value @e@.
111115 --
112116 -- * @'runExceptT' ('throwE' e) = 'return' ('Left' e)@
113−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs
114−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2017-10-04 23:58:48.000000000 +0800
115−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2001-09-09 09:46:40.000000000 +0800
116−@@ -36,6 +36,9 @@
117+diff --git a/Control/Monad/Trans/Identity.hs b/Control/Monad/Trans/Identity.hs
118+index b04428e..81d0c21 100644
119+--- a/Control/Monad/Trans/Identity.hs
120++++ b/Control/Monad/Trans/Identity.hs
121+@@ -36,6 +36,9 @@ import Control.Monad.IO.Class (MonadIO(liftIO))
117122 import Control.Monad.Signatures
118123 import Control.Monad.Trans.Class (MonadTrans(lift))
119124 import Data.Functor.Classes
@@ -123,7 +128,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
123128
124129 import Control.Applicative
125130 import Control.Monad (MonadPlus(mzero, mplus))
126−@@ -154,6 +157,12 @@
131+@@ -154,6 +157,12 @@ instance MonadTrans IdentityT where
127132 lift = IdentityT
128133 {-# INLINE lift #-}
129134
@@ -136,10 +141,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
136141 -- | Lift a unary operation to the new monad.
137142 mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
138143 mapIdentityT f = IdentityT . f . runIdentityT
139−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs
140−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2017-10-04 23:58:48.000000000 +0800
141−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2001-09-09 09:46:40.000000000 +0800
142−@@ -34,12 +34,16 @@
144+diff --git a/Control/Monad/Trans/List.hs b/Control/Monad/Trans/List.hs
145+index e87fb0c..6af4b10 100644
146+--- a/Control/Monad/Trans/List.hs
147++++ b/Control/Monad/Trans/List.hs
148+@@ -34,12 +34,16 @@ import Control.Monad.IO.Class
143149 import Control.Monad.Signatures
144150 import Control.Monad.Trans.Class
145151 import Data.Functor.Classes
@@ -156,7 +162,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
156162 #if MIN_VERSION_base(4,4,0)
157163 import Control.Monad.Zip (MonadZip(mzipWith))
158164 #endif
159−@@ -137,6 +141,12 @@
165+@@ -137,6 +141,12 @@ instance (Monad m) => MonadPlus (ListT m) where
160166 return (a ++ b)
161167 {-# INLINE mplus #-}
162168
@@ -169,7 +175,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
169175 instance MonadTrans ListT where
170176 lift m = ListT $ do
171177 a <- m
172−@@ -153,6 +163,12 @@
178+@@ -153,6 +163,12 @@ instance (MonadZip m) => MonadZip (ListT m) where
173179 {-# INLINE mzipWith #-}
174180 #endif
175181
@@ -182,10 +188,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
182188 -- | Lift a @callCC@ operation to the new monad.
183189 liftCallCC :: CallCC m [a] [b] -> CallCC (ListT m) a b
184190 liftCallCC callCC f = ListT $
185−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs
186−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2017-10-04 23:58:48.000000000 +0800
187−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2001-09-09 09:46:40.000000000 +0800
188−@@ -45,6 +45,9 @@
191+diff --git a/Control/Monad/Trans/Maybe.hs b/Control/Monad/Trans/Maybe.hs
192+index 13114b1..997a4c0 100644
193+--- a/Control/Monad/Trans/Maybe.hs
194++++ b/Control/Monad/Trans/Maybe.hs
195+@@ -45,6 +45,9 @@ import Control.Monad.Signatures
189196 import Control.Monad.Trans.Class
190197 import Control.Monad.Trans.Except (ExceptT(..))
191198 import Data.Functor.Classes
@@ -195,7 +202,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
195202
196203 import Control.Applicative
197204 import Control.Monad (MonadPlus(mzero, mplus), liftM)
198−@@ -202,6 +205,12 @@
205+@@ -202,6 +205,12 @@ instance (MonadZip m) => MonadZip (MaybeT m) where
199206 {-# INLINE mzipWith #-}
200207 #endif
201208
@@ -208,10 +215,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
208215 -- | Lift a @callCC@ operation to the new monad.
209216 liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b
210217 liftCallCC callCC f =
211−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs
212−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
213−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
214−@@ -63,6 +63,9 @@
218+diff --git a/Control/Monad/Trans/RWS/Lazy.hs b/Control/Monad/Trans/RWS/Lazy.hs
219+index 36694c5..c366d5d 100644
220+--- a/Control/Monad/Trans/RWS/Lazy.hs
221++++ b/Control/Monad/Trans/RWS/Lazy.hs
222+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Lazy (
215223 import Control.Monad.IO.Class
216224 import Control.Monad.Signatures
217225 import Control.Monad.Trans.Class
@@ -221,7 +229,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs gh
221229 import Data.Functor.Identity
222230
223231 import Control.Applicative
224−@@ -231,6 +234,13 @@
232+@@ -231,6 +234,13 @@ instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) where
225233 liftIO = lift . liftIO
226234 {-# INLINE liftIO #-}
227235
@@ -235,10 +243,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs gh
235243 -- ---------------------------------------------------------------------------
236244 -- Reader operations
237245
238−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
239−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2017-10-04 23:58:48.000000000 +0800
240−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2001-09-09 09:46:40.000000000 +0800
241−@@ -63,6 +63,9 @@
246+diff --git a/Control/Monad/Trans/RWS/Strict.hs b/Control/Monad/Trans/RWS/Strict.hs
247+index 32f2af5..c5e3f6c 100644
248+--- a/Control/Monad/Trans/RWS/Strict.hs
249++++ b/Control/Monad/Trans/RWS/Strict.hs
250+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Strict (
242251 import Control.Monad.IO.Class
243252 import Control.Monad.Signatures
244253 import Control.Monad.Trans.Class
@@ -248,7 +257,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
248257 import Data.Functor.Identity
249258
250259 import Control.Applicative
251−@@ -231,6 +234,13 @@
260+@@ -231,6 +234,13 @@ instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) where
252261 liftIO = lift . liftIO
253262 {-# INLINE liftIO #-}
254263
@@ -262,10 +271,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
262271 -- ---------------------------------------------------------------------------
263272 -- Reader operations
264273
265−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs
266−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2017-10-04 23:58:48.000000000 +0800
267−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2001-09-09 09:46:40.000000000 +0800
268−@@ -49,6 +49,9 @@
274+diff --git a/Control/Monad/Trans/Reader.hs b/Control/Monad/Trans/Reader.hs
275+index b577b2d..f0b80f7 100644
276+--- a/Control/Monad/Trans/Reader.hs
277++++ b/Control/Monad/Trans/Reader.hs
278+@@ -49,6 +49,9 @@ module Control.Monad.Trans.Reader (
269279 import Control.Monad.IO.Class
270280 import Control.Monad.Signatures
271281 import Control.Monad.Trans.Class
@@ -275,7 +285,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
275285 import Data.Functor.Identity
276286
277287 import Control.Applicative
278−@@ -207,6 +210,12 @@
288+@@ -207,6 +210,12 @@ instance (MonadZip m) => MonadZip (ReaderT r m) where
279289 {-# INLINE mzipWith #-}
280290 #endif
281291
@@ -288,10 +298,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
288298 liftReaderT :: m a -> ReaderT r m a
289299 liftReaderT m = ReaderT (const m)
290300 {-# INLINE liftReaderT #-}
291−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
292−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
293−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
294−@@ -76,6 +76,9 @@
301+diff --git a/Control/Monad/Trans/State/Lazy.hs b/Control/Monad/Trans/State/Lazy.hs
302+index 13f61f4..e719f02 100644
303+--- a/Control/Monad/Trans/State/Lazy.hs
304++++ b/Control/Monad/Trans/State/Lazy.hs
305+@@ -76,6 +76,9 @@ module Control.Monad.Trans.State.Lazy (
295306 import Control.Monad.IO.Class
296307 import Control.Monad.Signatures
297308 import Control.Monad.Trans.Class
@@ -301,7 +312,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
301312 import Data.Functor.Identity
302313
303314 import Control.Applicative
304−@@ -253,6 +256,13 @@
315+@@ -253,6 +256,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
305316 liftIO = lift . liftIO
306317 {-# INLINE liftIO #-}
307318
@@ -315,10 +326,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
315326 -- | Fetch the current value of the state within the monad.
316327 get :: (Monad m) => StateT s m s
317328 get = state $ \ s -> (s, s)
318−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs
319−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2017-10-04 23:58:48.000000000 +0800
320−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2001-09-09 09:46:40.000000000 +0800
321−@@ -73,6 +73,9 @@
329+diff --git a/Control/Monad/Trans/State/Strict.hs b/Control/Monad/Trans/State/Strict.hs
330+index f1fb782..31fd52a 100644
331+--- a/Control/Monad/Trans/State/Strict.hs
332++++ b/Control/Monad/Trans/State/Strict.hs
333+@@ -73,6 +73,9 @@ module Control.Monad.Trans.State.Strict (
322334 import Control.Monad.IO.Class
323335 import Control.Monad.Signatures
324336 import Control.Monad.Trans.Class
@@ -328,7 +340,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
328340 import Data.Functor.Identity
329341
330342 import Control.Applicative
331−@@ -250,6 +253,13 @@
343+@@ -250,6 +253,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
332344 liftIO = lift . liftIO
333345 {-# INLINE liftIO #-}
334346
@@ -342,10 +354,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
342354 -- | Fetch the current value of the state within the monad.
343355 get :: (Monad m) => StateT s m s
344356 get = state $ \ s -> (s, s)
345−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
346−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
347−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
348−@@ -52,6 +52,9 @@
357+diff --git a/Control/Monad/Trans/Writer/Lazy.hs b/Control/Monad/Trans/Writer/Lazy.hs
358+index c7f689c..721e15c 100644
359+--- a/Control/Monad/Trans/Writer/Lazy.hs
360++++ b/Control/Monad/Trans/Writer/Lazy.hs
361+@@ -52,6 +52,9 @@ module Control.Monad.Trans.Writer.Lazy (
349362 import Control.Monad.IO.Class
350363 import Control.Monad.Trans.Class
351364 import Data.Functor.Classes
@@ -355,7 +368,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
355368 import Data.Functor.Identity
356369
357370 import Control.Applicative
358−@@ -237,6 +240,12 @@
371+@@ -237,6 +240,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
359372 {-# INLINE mzipWith #-}
360373 #endif
361374
@@ -368,10 +381,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
368381 -- | @'tell' w@ is an action that produces the output @w@.
369382 tell :: (Monad m) => w -> WriterT w m ()
370383 tell w = writer ((), w)
371−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs
372−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2017-10-04 23:58:48.000000000 +0800
373−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2001-09-09 09:46:40.000000000 +0800
374−@@ -55,6 +55,9 @@
384+diff --git a/Control/Monad/Trans/Writer/Strict.hs b/Control/Monad/Trans/Writer/Strict.hs
385+index 33058af..b18b4a8 100644
386+--- a/Control/Monad/Trans/Writer/Strict.hs
387++++ b/Control/Monad/Trans/Writer/Strict.hs
388+@@ -55,6 +55,9 @@ module Control.Monad.Trans.Writer.Strict (
375389 import Control.Monad.IO.Class
376390 import Control.Monad.Trans.Class
377391 import Data.Functor.Classes
@@ -381,7 +395,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
381395 import Data.Functor.Identity
382396
383397 import Control.Applicative
384−@@ -240,6 +243,12 @@
398+@@ -240,6 +243,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
385399 {-# INLINE mzipWith #-}
386400 #endif
387401
@@ -394,10 +408,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
394408 -- | @'tell' w@ is an action that produces the output @w@.
395409 tell :: (Monad m) => w -> WriterT w m ()
396410 tell w = writer ((), w)
397−diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-package-transformers-0.5.5.0/Data/Functor/Constant.hs
398−--- hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2017-10-04 23:58:48.000000000 +0800
399−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2001-09-09 09:46:40.000000000 +0800
400−@@ -26,6 +26,9 @@
411+diff --git a/Data/Functor/Constant.hs b/Data/Functor/Constant.hs
412+index e22f0d6..9c0b8d4 100644
413+--- a/Data/Functor/Constant.hs
414++++ b/Data/Functor/Constant.hs
415+@@ -26,6 +26,9 @@ module Data.Functor.Constant (
401416 ) where
402417
403418 import Data.Functor.Classes
@@ -407,7 +422,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
407422
408423 import Control.Applicative
409424 import Data.Foldable
410−@@ -141,3 +144,9 @@
425+@@ -141,3 +144,9 @@ instance Bitraversable Constant where
411426 bitraverse f _ (Constant a) = Constant <$> f a
412427 {-# INLINE bitraverse #-}
413428 #endif
@@ -417,10 +432,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
417432+ contramap _ (Constant a) = Constant a
418433+ {-# INLINE contramap #-}
419434+#endif
420−diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-package-transformers-0.5.5.0/Data/Functor/Reverse.hs
421−--- hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2017-10-04 23:58:48.000000000 +0800
422−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2001-09-09 09:46:40.000000000 +0800
423−@@ -28,6 +28,9 @@
435+diff --git a/Data/Functor/Reverse.hs b/Data/Functor/Reverse.hs
436+index a6abc46..dcb6290 100644
437+--- a/Data/Functor/Reverse.hs
438++++ b/Data/Functor/Reverse.hs
439+@@ -28,6 +28,9 @@ module Data.Functor.Reverse (
424440
425441 import Control.Applicative.Backwards
426442 import Data.Functor.Classes
@@ -430,7 +446,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
430446
431447 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
432448 import Control.Applicative
433−@@ -129,3 +132,10 @@
449+@@ -129,3 +132,10 @@ instance (Traversable f) => Traversable (Reverse f) where
434450 traverse f (Reverse t) =
435451 fmap Reverse . forwards $ traverse (Backwards . f) t
436452 {-# INLINE traverse #-}
@@ -441,10 +457,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
441457+ contramap f = Reverse . contramap f . getReverse
442458+ {-# INLINE contramap #-}
443459+#endif
444−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs
445−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2017-10-04 23:58:48.000000000 +0800
446−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2001-09-09 09:46:40.000000000 +0800
447−@@ -35,6 +35,9 @@
460+diff --git a/legacy/pre711/Data/Functor/Compose.hs b/legacy/pre711/Data/Functor/Compose.hs
461+index 161a2e9..ed78130 100644
462+--- a/legacy/pre711/Data/Functor/Compose.hs
463++++ b/legacy/pre711/Data/Functor/Compose.hs
464+@@ -35,6 +35,9 @@ module Data.Functor.Compose (
448465 ) where
449466
450467 import Data.Functor.Classes
@@ -454,7 +471,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose
454471
455472 import Control.Applicative
456473 #if __GLASGOW_HASKELL__ >= 708
457−@@ -144,3 +147,8 @@
474+@@ -144,3 +147,8 @@ instance (Applicative f, Applicative g) => Applicative (Compose f g) where
458475 instance (Alternative f, Applicative g) => Alternative (Compose f g) where
459476 empty = Compose empty
460477 Compose x <|> Compose y = Compose (x <|> y)
@@ -463,10 +480,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose
463480+instance (Functor f, Contravariant g) => Contravariant (Compose f g) where
464481+ contramap f (Compose fga) = Compose (fmap (contramap f) fga)
465482+#endif
466−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs
467−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2017-10-04 23:58:48.000000000 +0800
468−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2001-09-09 09:46:40.000000000 +0800
469−@@ -45,6 +45,9 @@
483+diff --git a/legacy/pre711/Data/Functor/Product.hs b/legacy/pre711/Data/Functor/Product.hs
484+index 51c99a3..ba0dc04 100644
485+--- a/legacy/pre711/Data/Functor/Product.hs
486++++ b/legacy/pre711/Data/Functor/Product.hs
487+@@ -45,6 +45,9 @@ import Data.Data
470488 #endif
471489 import Data.Foldable (Foldable(foldMap))
472490 import Data.Functor.Classes
@@ -476,7 +494,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
476494 import Data.Monoid (mappend)
477495 import Data.Traversable (Traversable(traverse))
478496 #if __GLASGOW_HASKELL__ >= 702
479−@@ -146,3 +149,8 @@
497+@@ -146,3 +149,8 @@ instance (MonadFix f, MonadFix g) => MonadFix (Product f g) where
480498 instance (MonadZip f, MonadZip g) => MonadZip (Product f g) where
481499 mzipWith f (Pair x1 y1) (Pair x2 y2) = Pair (mzipWith f x1 x2) (mzipWith f y1 y2)
482500 #endif
@@ -485,10 +503,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
485503+instance (Contravariant f, Contravariant g) => Contravariant (Product f g) where
486504+ contramap f (Pair a b) = Pair (contramap f a) (contramap f b)
487505+#endif
488−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
489−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2017-10-04 23:58:48.000000000 +0800
490−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2001-09-09 09:46:40.000000000 +0800
491−@@ -40,6 +40,9 @@
506+diff --git a/legacy/pre711/Data/Functor/Sum.hs b/legacy/pre711/Data/Functor/Sum.hs
507+index 9c314e7..e6d1428 100644
508+--- a/legacy/pre711/Data/Functor/Sum.hs
509++++ b/legacy/pre711/Data/Functor/Sum.hs
510+@@ -40,6 +40,9 @@ import Data.Data
492511 #endif
493512 import Data.Foldable (Foldable(foldMap))
494513 import Data.Functor.Classes
@@ -498,7 +517,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
498517 import Data.Monoid (mappend)
499518 import Data.Traversable (Traversable(traverse))
500519 #if __GLASGOW_HASKELL__ >= 702
501−@@ -125,3 +128,9 @@
520+@@ -125,3 +128,9 @@ instance (Foldable f, Foldable g) => Foldable (Sum f g) where
502521 instance (Traversable f, Traversable g) => Traversable (Sum f g) where
503522 traverse f (InL x) = InL <$> traverse f x
504523 traverse f (InR y) = InR <$> traverse f y
@@ -508,10 +527,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
508527+ contramap f (InL xs) = InL (contramap f xs)
509528+ contramap f (InR ys) = InR (contramap f ys)
510529+#endif
511−diff -ur hackage-package-transformers-0.5.5.0/transformers.cabal ghc-package-transformers-0.5.5.0/transformers.cabal
512−--- hackage-package-transformers-0.5.5.0/transformers.cabal 2017-10-04 23:58:48.000000000 +0800
513−+++ ghc-package-transformers-0.5.5.0/transformers.cabal 2001-09-09 09:46:40.000000000 +0800
514−@@ -9,7 +9,9 @@
530+diff --git a/transformers.cabal b/transformers.cabal
531+index 8583b12..b2e4fea 100644
532+--- a/transformers.cabal
533++++ b/transformers.cabal
534+@@ -9,7 +9,9 @@ category: Control
515535 synopsis: Concrete functor and monad transformers
516536 description:
517537 A portable library of functor and monad transformers, inspired by
patches/ghc862/unix-2.7.2.2.patch+19−17
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
4−@@ -667,7 +667,6 @@
1+diff --git a/configure b/configure
2+index ea0475d..a3897ae 100644
3+--- a/configure
4++++ b/configure
5+@@ -667,7 +667,6 @@ infodir
56 docdir
67 oldincludedir
78 includedir
@@ -9,7 +10,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
910 localstatedir
1011 sharedstatedir
1112 sysconfdir
12−@@ -739,7 +738,6 @@
13+@@ -739,7 +738,6 @@ datadir='${datarootdir}'
1314 sysconfdir='${prefix}/etc'
1415 sharedstatedir='${prefix}/com'
1516 localstatedir='${prefix}/var'
@@ -17,7 +18,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
1718 includedir='${prefix}/include'
1819 oldincludedir='/usr/include'
1920 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21+@@ -992,15 +990,6 @@ do
2122 | -silent | --silent | --silen | --sile | --sil)
2223 silent=yes ;;
2324
@@ -33,7 +34,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
3334 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
3435 ac_prev=sbindir ;;
3536 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37+@@ -1138,7 +1127,7 @@ fi
3738 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
3839 datadir sysconfdir sharedstatedir localstatedir includedir \
3940 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
@@ -42,7 +43,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
4243 do
4344 eval ac_val=\$$ac_var
4445 # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46+@@ -1291,7 +1280,6 @@ Fine tuning of the installation directories:
4647 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
4748 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
4849 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
@@ -50,7 +51,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
5051 --libdir=DIR object code libraries [EPREFIX/lib]
5152 --includedir=DIR C header files [PREFIX/include]
5253 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54+@@ -3782,7 +3770,7 @@ else
5455 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5556 since some C++ compilers masquerading as C compilers
5657 incorrectly reject 9223372036854775807. */
@@ -59,7 +60,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
5960 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
6061 && LARGE_OFF_T % 2147483647 == 1)
6162 ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63+@@ -3828,7 +3816,7 @@ else
6364 We can't simply define LARGE_OFF_T to be 9223372036854775807,
6465 since some C++ compilers masquerading as C compilers
6566 incorrectly reject 9223372036854775807. */
@@ -68,7 +69,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
6869 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
6970 && LARGE_OFF_T % 2147483647 == 1)
7071 ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72+@@ -3852,7 +3840,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7273 We can't simply define LARGE_OFF_T to be 9223372036854775807,
7374 since some C++ compilers masquerading as C compilers
7475 incorrectly reject 9223372036854775807. */
@@ -77,7 +78,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
7778 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
7879 && LARGE_OFF_T % 2147483647 == 1)
7980 ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81+@@ -3897,7 +3885,7 @@ else
8182 We can't simply define LARGE_OFF_T to be 9223372036854775807,
8283 since some C++ compilers masquerading as C compilers
8384 incorrectly reject 9223372036854775807. */
@@ -86,7 +87,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
8687 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
8788 && LARGE_OFF_T % 2147483647 == 1)
8889 ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90+@@ -3921,7 +3909,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
9091 We can't simply define LARGE_OFF_T to be 9223372036854775807,
9192 since some C++ compilers masquerading as C compilers
9293 incorrectly reject 9223372036854775807. */
@@ -95,10 +96,11 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
9596 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
9697 && LARGE_OFF_T % 2147483647 == 1)
9798 ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101−@@ -62,7 +62,7 @@
99+diff --git a/unix.cabal b/unix.cabal
100+index cf44068..bb3155f 100644
101+--- a/unix.cabal
102++++ b/unix.cabal
103+@@ -62,7 +62,7 @@ library
102104 buildable: False
103105
104106 build-depends:
patches/ghc863/binary-0.8.6.0.patch+6−5
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-binary-0.8.6.0/binary.cabal ghc-package-binary-0.8.6.0/binary.cabal
2−--- hackage-package-binary-0.8.6.0/binary.cabal 2018-08-04 20:33:08.000000000 +0800
3−+++ ghc-package-binary-0.8.6.0/binary.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -158,7 +158,6 @@
1+diff --git a/binary.cabal b/binary.cabal
2+index 9b25877..1d1b9cf 100644
3+--- a/binary.cabal
4++++ b/binary.cabal
5+@@ -158,7 +158,6 @@ benchmark get
56 Data.Binary.Class
67 Data.Binary.FloatCast
78 Data.Binary.Generic
@@ -9,7 +10,7 @@ diff -ur hackage-package-binary-0.8.6.0/binary.cabal ghc-package-binary-0.8.6.0/
910 Data.Binary.Get.Internal
1011 Data.Binary.Internal
1112 Data.Binary.Put
12−@@ -191,7 +190,6 @@
13+@@ -191,7 +190,6 @@ benchmark put
1314 Data.Binary.Get
1415 Data.Binary.Get.Internal
1516 Data.Binary.Internal
patches/ghc863/containers-0.6.0.1.patch+117−1
@@ -1 +1,117 @@
1−Only in hackage-package-containers-0.6.0.1/tests: graph-properties.hs
1+diff --git a/tests/graph-properties.hs b/tests/graph-properties.hs
2+deleted file mode 100644
3+index ffe4483..0000000
4+--- a/tests/graph-properties.hs
5++++ /dev/null
6+@@ -1,111 +0,0 @@
7+-{-# LANGUAGE CPP #-}
8+-
9+-import Data.Graph as G
10+-
11+-import Control.Applicative (Const(Const, getConst), pure, (<$>), (<*>), liftA2)
12+-
13+-import Test.Framework
14+-import Test.Framework.Providers.QuickCheck2
15+-import Test.QuickCheck
16+-import Test.QuickCheck.Function (Fun (..), apply)
17+-import Test.QuickCheck.Poly (A, B, C)
18+-import Control.Monad (ap)
19+-
20+-default (Int)
21+-
22+-main :: IO ()
23+-main = defaultMain
24+- [
25+- testProperty "monad_id1" prop_monad_id1
26+- , testProperty "monad_id2" prop_monad_id2
27+- , testProperty "monad_assoc" prop_monad_assoc
28+- , testProperty "ap_ap" prop_ap_ap
29+- , testProperty "ap_liftA2" prop_ap_liftA2
30+- , testProperty "monadFix_ls" prop_monadFix_ls
31+- ]
32+-
33+-{--------------------------------------------------------------------
34+- Arbitrary trees
35+---------------------------------------------------------------------}
36+-
37+-newtype G = G Graph
38+-
39+--- This instance isn't balanced very well; the trees will probably tend
40+--- to lean left. But it's better than nothing and we can fix it later.
41+-instance Arbitrary a => Arbitrary G where
42+- arbitrary = sized arbgraph
43+- where
44+- arbgraph :: Arbitrary a => Int -> Gen G
45+- arbgraph nv = do
46+- lo <- arbitrary
47+- hi <- (lo+) <$> choose (0, nv)
48+-{-
49+- arbtree 0 = fmap ((,) 1) $ Node <$> arbitrary <*> pure []
50+- arbtree n = do
51+- root <- arbitrary
52+- num_children <- choose (0, n - 1)
53+- (st, tl) <- go num_children
54+- return (1+st, Node root tl)
55+--}
56+-
57+- go 0 = pure (0, [])
58+- go n = do
59+- (sh, hd) <- arbtree n
60+- (st, tl) <- go (n - sh)
61+- pure (sh + st, hd : tl)
62+-
63+--- genericShrink only became available when generics did, so it's
64+--- not available under GHC 7.0.
65+-#if __GLASGOW_HASKELL__ >= 704
66+- shrink = genericShrink
67+-#endif
68+-
69+-----------------------------------------------------------------
70+--- Unit tests
71+-----------------------------------------------------------------
72+-
73+-----------------------------------------------------------------
74+--- QuickCheck
75+-----------------------------------------------------------------
76+-
77+-apply2 :: Fun (a, b) c -> a -> b -> c
78+-apply2 f a b = apply f (a, b)
79+-
80+-prop_ap_ap :: Tree (Fun A B) -> Tree A -> Property
81+-prop_ap_ap fs xs = (apply <$> fs <*> xs) === ((apply <$> fs) `ap` xs)
82+-
83+-prop_ap_liftA2 :: Fun (A, B) C -> Tree A -> Tree B -> Property
84+-prop_ap_liftA2 f as bs = (apply2 f <$> as <*> bs) === liftA2 (apply2 f) as bs
85+-
86+-prop_monad_id1 :: Tree A -> Property
87+-prop_monad_id1 t = (t >>= pure) === t
88+-
89+-prop_monad_id2 :: A -> Fun A (Tree B) -> Property
90+-prop_monad_id2 a f = (pure a >>= apply f) === apply f a
91+-
92+-prop_monad_assoc :: Tree A -> Fun A (Tree B) -> Fun B (Tree C) -> Property
93+-prop_monad_assoc ta atb btc =
94+- ((ta >>= apply atb) >>= apply btc)
95+- ===
96+- (ta >>= \a -> apply atb a >>= apply btc)
97+-
98+--- The left shrinking law
99+---
100+--- This test is kind of wonky and unprincipled, because it's
101+--- rather tricky to construct test cases!
102+--- This is the most important MonadFix law to test because it's the
103+--- least intuitive by far, and because it's the only one that's
104+--- sensitive to the Monad instance.
105+-prop_monadFix_ls :: Int -> Tree Int -> Fun Int (Tree Int) -> Property
106+-prop_monadFix_ls val ta ti =
107+- fmap ($val) (mfix (\x -> ta >>= \y -> f x y))
108+- ===
109+- fmap ($val) (ta >>= \y -> mfix (\x -> f x y))
110+- where
111+- fact :: Int -> (Int -> Int) -> Int -> Int
112+- fact x _ 0 = x + 1
113+- fact x f n = x + n * f ((n - 1) `mod` 23)
114+-
115+- f :: (Int -> Int) -> Int -> Tree (Int -> Int)
116+- f q y = let t = apply ti y
117+- in fmap (\w -> fact w q) t
patches/ghc863/default.nix−1
@@ -1,7 +1,6 @@
11{
22 packages.binary.patches = [ ./binary-0.8.6.0.patch ];
33 packages.containers.patches = [ ./containers-0.6.0.1.patch ];
4− packages.default.nix.patches = [ ./default.nix ];
54 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
65 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
76 packages.process.patches = [ ./process-1.6.3.0.patch ];
patches/ghc863/hpc-0.6.0.3.patch+5−4
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-hpc-0.6.0.3/hpc.cabal ghc-package-hpc-0.6.0.3/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -35,9 +35,9 @@
1+diff --git a/hpc.cabal b/hpc.cabal
2+index 7e77973..ba676a7 100644
3+--- a/hpc.cabal
4++++ b/hpc.cabal
5+@@ -35,9 +35,9 @@ Library
56 Trace.Hpc.Reflect
67
78 Build-Depends:
patches/ghc863/parsec-3.1.13.0.patch+6−5
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.0/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
4−@@ -21,18 +21,18 @@
1+diff --git a/parsec.cabal b/parsec.cabal
2+index 9531768..46ef625 100644
3+--- a/parsec.cabal
4++++ b/parsec.cabal
5+@@ -21,18 +21,18 @@ license: BSD3
56 license-file: LICENSE
67 author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
78 maintainer: Herbert Valerio Riedel <hvr@gnu.org>
@@ -24,7 +25,7 @@ diff -ur hackage-package-parsec-3.1.13.0/parsec.cabal ghc-package-parsec-3.1.13.
2425
2526 library
2627 hs-source-dirs: src
27−@@ -64,7 +64,7 @@
28+@@ -64,7 +64,7 @@ library
2829 Text.ParserCombinators.Parsec.Token
2930
3031 build-depends:
patches/ghc863/process-1.6.3.0.patch+59−53
@@ -1,40 +1,8 @@
1−diff -ur hackage-package-process-1.6.3.0/System/Process/Common.hs ghc-package-process-1.6.3.0/System/Process/Common.hs
2−--- hackage-package-process-1.6.3.0/System/Process/Common.hs 2017-03-31 01:02:13.000000000 +0800
3−+++ ghc-package-process-1.6.3.0/System/Process/Common.hs 2001-09-09 09:46:40.000000000 +0800
4−@@ -44,7 +44,7 @@
5− import GHC.IO.Handle.Types hiding (ClosedHandle)
6− import System.IO.Error
7− import Data.Typeable
8−-import GHC.IO.IOMode
9−+import System.IO (IOMode)
10−
11− -- We do a minimal amount of CPP here to provide uniform data types across
12− -- Windows and POSIX.
13−diff -ur hackage-package-process-1.6.3.0/System/Process/Windows.hsc ghc-package-process-1.6.3.0/System/Process/Windows.hsc
14−--- hackage-package-process-1.6.3.0/System/Process/Windows.hsc 2017-02-21 21:53:00.000000000 +0800
15−+++ ghc-package-process-1.6.3.0/System/Process/Windows.hsc 2001-09-09 09:46:40.000000000 +0800
16−@@ -34,7 +34,7 @@
17− import GHC.IO.Handle.FD
18− import GHC.IO.Handle.Types hiding (ClosedHandle)
19− import System.IO.Error
20−-import GHC.IO.IOMode
21−+import System.IO (IOMode(..))
22−
23− import System.Directory ( doesFileExist )
24− import System.Environment ( getEnv )
25−@@ -208,7 +208,7 @@
26− then Just <$> peek p_exitCode
27− else return Nothing
28−
29−-insertItem :: Eq k => MVar [(k, v)] -> k -> v -> IO ()
30−+insertItem :: MVar [(k, v)] -> k -> v -> IO ()
31− insertItem env_ k v = modifyMVar_ env_ (return . ((k, v):))
32−
33− getItem :: Eq k => MVar [(k, v)] -> k -> IO v
34−diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1.6.3.0/System/Process.hs
35−--- hackage-package-process-1.6.3.0/System/Process.hs 2017-12-27 17:35:11.000000000 +0800
36−+++ ghc-package-process-1.6.3.0/System/Process.hs 2001-09-09 09:46:40.000000000 +0800
37−@@ -43,6 +43,7 @@
1+diff --git a/System/Process.hs b/System/Process.hs
2+index 2678a93..d03dc6e 100644
3+--- a/System/Process.hs
4++++ b/System/Process.hs
5+@@ -43,6 +43,7 @@ module System.Process (
386 readCreateProcessWithExitCode,
397 readProcessWithExitCode,
408 withCreateProcess,
@@ -42,7 +10,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
4210
4311 -- ** Related utilities
4412 showCommandForUser,
45−@@ -245,7 +246,12 @@
13+@@ -245,7 +246,12 @@ withCreateProcess_ fun c action =
4614 C.bracketOnError (createProcess_ fun c) cleanupProcess
4715 (\(m_in, m_out, m_err, ph) -> action m_in m_out m_err ph)
4816
@@ -56,7 +24,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
5624 cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
5725 -> IO ()
5826 cleanupProcess (mb_stdin, mb_stdout, mb_stderr,
59−@@ -728,8 +734,10 @@
27+@@ -728,8 +734,10 @@ getProcessExitCode ph@(ProcessHandle _ delegating_ctlc _) = tryLockWaitpid $ do
6028 -- has indeed terminated, use 'getProcessExitCode'.
6129 --
6230 -- On Unix systems, 'terminateProcess' sends the process the SIGTERM signal.
@@ -69,10 +37,46 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
6937 --
7038 -- Note: on Windows, if the process was a shell command created by
7139 -- 'createProcess' with 'shell', or created by 'runCommand' or
72−diff -ur hackage-package-process-1.6.3.0/cbits/runProcess.c ghc-package-process-1.6.3.0/cbits/runProcess.c
73−--- hackage-package-process-1.6.3.0/cbits/runProcess.c 2017-02-06 16:42:31.000000000 +0800
74−+++ ghc-package-process-1.6.3.0/cbits/runProcess.c 2001-09-09 09:46:40.000000000 +0800
75−@@ -111,6 +111,18 @@
40+diff --git a/System/Process/Common.hs b/System/Process/Common.hs
41+index b424764..fe55889 100644
42+--- a/System/Process/Common.hs
43++++ b/System/Process/Common.hs
44+@@ -44,7 +44,7 @@ import GHC.IO.Handle.Internals
45+ import GHC.IO.Handle.Types hiding (ClosedHandle)
46+ import System.IO.Error
47+ import Data.Typeable
48+-import GHC.IO.IOMode
49++import System.IO (IOMode)
50+
51+ -- We do a minimal amount of CPP here to provide uniform data types across
52+ -- Windows and POSIX.
53+diff --git a/System/Process/Windows.hsc b/System/Process/Windows.hsc
54+index 6c92b02..23498f5 100644
55+--- a/System/Process/Windows.hsc
56++++ b/System/Process/Windows.hsc
57+@@ -34,7 +34,7 @@ import GHC.IO.Exception
58+ import GHC.IO.Handle.FD
59+ import GHC.IO.Handle.Types hiding (ClosedHandle)
60+ import System.IO.Error
61+-import GHC.IO.IOMode
62++import System.IO (IOMode(..))
63+
64+ import System.Directory ( doesFileExist )
65+ import System.Environment ( getEnv )
66+@@ -208,7 +208,7 @@ waitForJobCompletion job io timeout =
67+ then Just <$> peek p_exitCode
68+ else return Nothing
69+
70+-insertItem :: Eq k => MVar [(k, v)] -> k -> v -> IO ()
71++insertItem :: MVar [(k, v)] -> k -> v -> IO ()
72+ insertItem env_ k v = modifyMVar_ env_ (return . ((k, v):))
73+
74+ getItem :: Eq k => MVar [(k, v)] -> k -> IO v
75+diff --git a/cbits/runProcess.c b/cbits/runProcess.c
76+index ae184c8..16ef4fe 100644
77+--- a/cbits/runProcess.c
78++++ b/cbits/runProcess.c
79+@@ -111,6 +111,18 @@ runInteractiveProcess (char *const args[],
7680 r = pipe(forkCommunicationFds);
7781 if (r == -1) {
7882 *failed_doing = "runInteractiveProcess: pipe";
@@ -91,9 +95,10 @@ diff -ur hackage-package-process-1.6.3.0/cbits/runProcess.c ghc-package-process-
9195 return -1;
9296 }
9397
94−diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.0/changelog.md
95−--- hackage-package-process-1.6.3.0/changelog.md 2018-01-22 10:51:34.000000000 +0800
96−+++ ghc-package-process-1.6.3.0/changelog.md 2001-09-09 09:46:40.000000000 +0800
98+diff --git a/changelog.md b/changelog.md
99+index 851c3ca..d4c43ae 100644
100+--- a/changelog.md
101++++ b/changelog.md
97102@@ -1,5 +1,13 @@
98103 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
99104
@@ -108,10 +113,11 @@ diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.
108113 ## 1.6.3.0 *January 2018*
109114
110115 * Added `getPid` and export of platform specific `Pid` type
111−diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3.0/process.cabal
112−--- hackage-package-process-1.6.3.0/process.cabal 2018-01-22 10:52:21.000000000 +0800
113−+++ ghc-package-process-1.6.3.0/process.cabal 2001-09-09 09:46:40.000000000 +0800
114−@@ -46,8 +46,9 @@
116+diff --git a/process.cabal b/process.cabal
117+index cb6cbb3..350591a 100644
118+--- a/process.cabal
119++++ b/process.cabal
120+@@ -46,8 +46,9 @@ library
115121 InterruptibleFFI
116122 RecordWildCards
117123 Trustworthy
@@ -123,7 +129,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
123129
124130 exposed-modules:
125131 System.Cmd
126−@@ -61,7 +62,7 @@
132+@@ -61,7 +62,7 @@ library
127133 cpp-options: -DWINDOWS
128134 else
129135 other-modules: System.Process.Posix
@@ -132,7 +138,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
132138
133139 c-sources:
134140 cbits/runProcess.c
135−@@ -74,7 +75,7 @@
141+@@ -74,7 +75,7 @@ library
136142
137143 ghc-options: -Wall
138144
@@ -141,7 +147,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
141147 directory >= 1.1 && < 1.4,
142148 filepath >= 1.2 && < 1.5,
143149 deepseq >= 1.1 && < 1.5
144−@@ -84,7 +85,9 @@
150+@@ -84,7 +85,9 @@ test-suite test
145151 hs-source-dirs: test
146152 main-is: main.hs
147153 type: exitcode-stdio-1.0
patches/ghc863/time-1.8.0.2.patch+20−18
@@ -1,6 +1,7 @@
1−diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
1+diff --git a/configure b/configure
2+index f4f4dba..f5fae2b 100644
3+--- a/configure
4++++ b/configure
45@@ -1,6 +1,6 @@
56 #! /bin/sh
67 # Guess values for system-dependent variables and create Makefiles.
@@ -9,7 +10,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
910 #
1011 # Report bugs to <ashley@semantic.org>.
1112 #
12−@@ -580,8 +580,8 @@
13+@@ -580,8 +580,8 @@ MAKEFLAGS=
1314 # Identity of this package.
1415 PACKAGE_NAME='Haskell time package'
1516 PACKAGE_TARNAME='time'
@@ -20,7 +21,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
2021 PACKAGE_BUGREPORT='ashley@semantic.org'
2122 PACKAGE_URL=''
2223
23−@@ -653,7 +653,6 @@
24+@@ -653,7 +653,6 @@ infodir
2425 docdir
2526 oldincludedir
2627 includedir
@@ -28,7 +29,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
2829 localstatedir
2930 sharedstatedir
3031 sysconfdir
31−@@ -726,7 +725,6 @@
32+@@ -726,7 +725,6 @@ datadir='${datarootdir}'
3233 sysconfdir='${prefix}/etc'
3334 sharedstatedir='${prefix}/com'
3435 localstatedir='${prefix}/var'
@@ -36,7 +37,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
3637 includedir='${prefix}/include'
3738 oldincludedir='/usr/include'
3839 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40+@@ -979,15 +977,6 @@ do
4041 | -silent | --silent | --silen | --sile | --sil)
4142 silent=yes ;;
4243
@@ -52,7 +53,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
5253 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
5354 ac_prev=sbindir ;;
5455 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56+@@ -1125,7 +1114,7 @@ fi
5657 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
5758 datadir sysconfdir sharedstatedir localstatedir includedir \
5859 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
@@ -61,7 +62,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
6162 do
6263 eval ac_val=\$$ac_var
6364 # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65+@@ -1238,7 +1227,7 @@ if test "$ac_init_help" = "long"; then
6566 # Omit some internal or obsolete options to make the list less imposing.
6667 # This message is too long to be a string in the A/UX 3.1 sh.
6768 cat <<_ACEOF
@@ -70,7 +71,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
7071
7172 Usage: $0 [OPTION]... [VAR=VALUE]...
7273
73−@@ -1278,7 +1267,6 @@
74+@@ -1278,7 +1267,6 @@ Fine tuning of the installation directories:
7475 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
7576 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
7677 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
@@ -78,7 +79,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
7879 --libdir=DIR object code libraries [EPREFIX/lib]
7980 --includedir=DIR C header files [PREFIX/include]
8081 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82+@@ -1300,7 +1288,7 @@ fi
8283
8384 if test -n "$ac_init_help"; then
8485 case $ac_init_help in
@@ -87,7 +88,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
8788 esac
8889 cat <<\_ACEOF
8990
90−@@ -1386,7 +1374,7 @@
91+@@ -1386,7 +1374,7 @@ fi
9192 test -n "$ac_init_help" && exit $ac_status
9293 if $ac_init_version; then
9394 cat <<\_ACEOF
@@ -96,7 +97,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
9697 generated by GNU Autoconf 2.69
9798
9899 Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100+@@ -1858,7 +1846,7 @@ cat >config.log <<_ACEOF
100101 This file contains any messages produced by compilers while
101102 running configure, to aid debugging if configure makes a mistake.
102103
@@ -105,7 +106,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
105106 generated by GNU Autoconf 2.69. Invocation command line was
106107
107108 $ $0 $@
108−@@ -4193,7 +4181,7 @@
109+@@ -4193,7 +4181,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
109110 # report actual input values of CONFIG_FILES etc. instead of their
110111 # values after options handling.
111112 ac_log="
@@ -114,7 +115,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
114115 generated by GNU Autoconf 2.69. Invocation command line was
115116
116117 CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118+@@ -4246,7 +4234,7 @@ _ACEOF
118119 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119120 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120121 ac_cs_version="\\
@@ -123,9 +124,10 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
123124 configured by $0, generated by GNU Autoconf 2.69,
124125 with options \\"\$ac_cs_config\\"
125126
126−diff -ur hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h
127−--- hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2017-05-13 18:29:46.000000000 +0800
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
127+diff --git a/lib/include/HsTimeConfig.h b/lib/include/HsTimeConfig.h
128+index a1e2513..20798c5 100644
129+--- a/lib/include/HsTimeConfig.h
130++++ b/lib/include/HsTimeConfig.h
129131@@ -69,7 +69,7 @@
130132 #define PACKAGE_NAME "Haskell time package"
131133
patches/ghc863/transformers-0.5.5.0.patch+120−100
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs ghc-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs
2−--- hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2017-10-04 23:58:48.000000000 +0800
3−+++ ghc-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2001-09-09 09:46:40.000000000 +0800
4−@@ -27,6 +27,9 @@
1+diff --git a/Control/Applicative/Backwards.hs b/Control/Applicative/Backwards.hs
2+index ebb8a0b..7ed74ac 100644
3+--- a/Control/Applicative/Backwards.hs
4++++ b/Control/Applicative/Backwards.hs
5+@@ -27,6 +27,9 @@ module Control.Applicative.Backwards (
56 ) where
67
78 import Data.Functor.Classes
@@ -11,7 +12,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
1112
1213 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
1314 import Control.Applicative
14−@@ -100,3 +103,10 @@
15+@@ -100,3 +103,10 @@ instance (Traversable f) => Traversable (Backwards f) where
1516 {-# INLINE traverse #-}
1617 sequenceA (Backwards t) = fmap Backwards (sequenceA t)
1718 {-# INLINE sequenceA #-}
@@ -22,10 +23,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
2223+ contramap f = Backwards . contramap f . forwards
2324+ {-# INLINE contramap #-}
2425+#endif
25−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs
26−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2017-10-04 23:58:48.000000000 +0800
27−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2001-09-09 09:46:40.000000000 +0800
28−@@ -113,7 +113,13 @@
26+diff --git a/Control/Monad/Trans/Class.hs b/Control/Monad/Trans/Class.hs
27+index 9c2e260..b92bc0e 100644
28+--- a/Control/Monad/Trans/Class.hs
29++++ b/Control/Monad/Trans/Class.hs
30+@@ -113,7 +113,13 @@ an action that is strict in the component you want evaluated.
2931
3032 {- $example1
3133
@@ -40,7 +42,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-p
4042 to be parsed) to the @[]@ monad, which provides non-determinism:
4143
4244 > import Control.Monad.Trans.State
43−@@ -189,7 +195,8 @@
45+@@ -189,7 +195,8 @@ Then the parser will keep track of how many @tick@s it executes.
4446 {- $example3
4547
4648 This example is a cut-down version of the one in
@@ -50,10 +52,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-p
5052 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
5153 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
5254
53−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs
54−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2017-10-04 23:58:48.000000000 +0800
55−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2001-09-09 09:46:40.000000000 +0800
56−@@ -58,6 +58,9 @@
55+diff --git a/Control/Monad/Trans/Error.hs b/Control/Monad/Trans/Error.hs
56+index 144da45..f50b051 100644
57+--- a/Control/Monad/Trans/Error.hs
58++++ b/Control/Monad/Trans/Error.hs
59+@@ -58,6 +58,9 @@ import Control.Monad.IO.Class
5760 import Control.Monad.Signatures
5861 import Control.Monad.Trans.Class
5962 import Data.Functor.Classes
@@ -63,7 +66,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
6366
6467 import Control.Applicative
6568 import Control.Exception (IOException)
66−@@ -263,6 +266,11 @@
69+@@ -263,6 +266,11 @@ instance MonadTrans (ErrorT e) where
6770 instance (Error e, MonadIO m) => MonadIO (ErrorT e m) where
6871 liftIO = lift . liftIO
6972
@@ -75,9 +78,10 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
7578 -- | Signal an error value @e@.
7679 --
7780 -- * @'runErrorT' ('throwError' e) = 'return' ('Left' e)@
78−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs
79−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2017-10-04 23:58:48.000000000 +0800
80−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2001-09-09 09:46:40.000000000 +0800
81+diff --git a/Control/Monad/Trans/Except.hs b/Control/Monad/Trans/Except.hs
82+index 6a06297..b5446e4 100644
83+--- a/Control/Monad/Trans/Except.hs
84++++ b/Control/Monad/Trans/Except.hs
8185@@ -15,7 +15,7 @@
8286 -- Stability : experimental
8387 -- Portability : portable
@@ -87,7 +91,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
8791 --
8892 -- A sequence of actions terminates normally, producing a value,
8993 -- only if none of the actions in the sequence throws an exception.
90−@@ -51,6 +51,9 @@
94+@@ -51,6 +51,9 @@ import Control.Monad.IO.Class
9195 import Control.Monad.Signatures
9296 import Control.Monad.Trans.Class
9397 import Data.Functor.Classes
@@ -97,7 +101,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
97101 import Data.Functor.Identity
98102
99103 import Control.Applicative
100−@@ -255,6 +258,12 @@
104+@@ -255,6 +258,12 @@ instance (MonadZip m) => MonadZip (ExceptT e m) where
101105 {-# INLINE mzipWith #-}
102106 #endif
103107
@@ -110,10 +114,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
110114 -- | Signal an exception value @e@.
111115 --
112116 -- * @'runExceptT' ('throwE' e) = 'return' ('Left' e)@
113−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs
114−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2017-10-04 23:58:48.000000000 +0800
115−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2001-09-09 09:46:40.000000000 +0800
116−@@ -36,6 +36,9 @@
117+diff --git a/Control/Monad/Trans/Identity.hs b/Control/Monad/Trans/Identity.hs
118+index b04428e..81d0c21 100644
119+--- a/Control/Monad/Trans/Identity.hs
120++++ b/Control/Monad/Trans/Identity.hs
121+@@ -36,6 +36,9 @@ import Control.Monad.IO.Class (MonadIO(liftIO))
117122 import Control.Monad.Signatures
118123 import Control.Monad.Trans.Class (MonadTrans(lift))
119124 import Data.Functor.Classes
@@ -123,7 +128,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
123128
124129 import Control.Applicative
125130 import Control.Monad (MonadPlus(mzero, mplus))
126−@@ -154,6 +157,12 @@
131+@@ -154,6 +157,12 @@ instance MonadTrans IdentityT where
127132 lift = IdentityT
128133 {-# INLINE lift #-}
129134
@@ -136,10 +141,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
136141 -- | Lift a unary operation to the new monad.
137142 mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
138143 mapIdentityT f = IdentityT . f . runIdentityT
139−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs
140−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2017-10-04 23:58:48.000000000 +0800
141−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2001-09-09 09:46:40.000000000 +0800
142−@@ -34,12 +34,16 @@
144+diff --git a/Control/Monad/Trans/List.hs b/Control/Monad/Trans/List.hs
145+index e87fb0c..6af4b10 100644
146+--- a/Control/Monad/Trans/List.hs
147++++ b/Control/Monad/Trans/List.hs
148+@@ -34,12 +34,16 @@ import Control.Monad.IO.Class
143149 import Control.Monad.Signatures
144150 import Control.Monad.Trans.Class
145151 import Data.Functor.Classes
@@ -156,7 +162,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
156162 #if MIN_VERSION_base(4,4,0)
157163 import Control.Monad.Zip (MonadZip(mzipWith))
158164 #endif
159−@@ -137,6 +141,12 @@
165+@@ -137,6 +141,12 @@ instance (Monad m) => MonadPlus (ListT m) where
160166 return (a ++ b)
161167 {-# INLINE mplus #-}
162168
@@ -169,7 +175,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
169175 instance MonadTrans ListT where
170176 lift m = ListT $ do
171177 a <- m
172−@@ -153,6 +163,12 @@
178+@@ -153,6 +163,12 @@ instance (MonadZip m) => MonadZip (ListT m) where
173179 {-# INLINE mzipWith #-}
174180 #endif
175181
@@ -182,10 +188,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
182188 -- | Lift a @callCC@ operation to the new monad.
183189 liftCallCC :: CallCC m [a] [b] -> CallCC (ListT m) a b
184190 liftCallCC callCC f = ListT $
185−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs
186−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2017-10-04 23:58:48.000000000 +0800
187−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2001-09-09 09:46:40.000000000 +0800
188−@@ -45,6 +45,9 @@
191+diff --git a/Control/Monad/Trans/Maybe.hs b/Control/Monad/Trans/Maybe.hs
192+index 13114b1..997a4c0 100644
193+--- a/Control/Monad/Trans/Maybe.hs
194++++ b/Control/Monad/Trans/Maybe.hs
195+@@ -45,6 +45,9 @@ import Control.Monad.Signatures
189196 import Control.Monad.Trans.Class
190197 import Control.Monad.Trans.Except (ExceptT(..))
191198 import Data.Functor.Classes
@@ -195,7 +202,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
195202
196203 import Control.Applicative
197204 import Control.Monad (MonadPlus(mzero, mplus), liftM)
198−@@ -202,6 +205,12 @@
205+@@ -202,6 +205,12 @@ instance (MonadZip m) => MonadZip (MaybeT m) where
199206 {-# INLINE mzipWith #-}
200207 #endif
201208
@@ -208,10 +215,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
208215 -- | Lift a @callCC@ operation to the new monad.
209216 liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b
210217 liftCallCC callCC f =
211−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs
212−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
213−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
214−@@ -63,6 +63,9 @@
218+diff --git a/Control/Monad/Trans/RWS/Lazy.hs b/Control/Monad/Trans/RWS/Lazy.hs
219+index 36694c5..c366d5d 100644
220+--- a/Control/Monad/Trans/RWS/Lazy.hs
221++++ b/Control/Monad/Trans/RWS/Lazy.hs
222+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Lazy (
215223 import Control.Monad.IO.Class
216224 import Control.Monad.Signatures
217225 import Control.Monad.Trans.Class
@@ -221,7 +229,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs gh
221229 import Data.Functor.Identity
222230
223231 import Control.Applicative
224−@@ -231,6 +234,13 @@
232+@@ -231,6 +234,13 @@ instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) where
225233 liftIO = lift . liftIO
226234 {-# INLINE liftIO #-}
227235
@@ -235,10 +243,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs gh
235243 -- ---------------------------------------------------------------------------
236244 -- Reader operations
237245
238−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
239−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2017-10-04 23:58:48.000000000 +0800
240−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2001-09-09 09:46:40.000000000 +0800
241−@@ -63,6 +63,9 @@
246+diff --git a/Control/Monad/Trans/RWS/Strict.hs b/Control/Monad/Trans/RWS/Strict.hs
247+index 32f2af5..c5e3f6c 100644
248+--- a/Control/Monad/Trans/RWS/Strict.hs
249++++ b/Control/Monad/Trans/RWS/Strict.hs
250+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Strict (
242251 import Control.Monad.IO.Class
243252 import Control.Monad.Signatures
244253 import Control.Monad.Trans.Class
@@ -248,7 +257,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
248257 import Data.Functor.Identity
249258
250259 import Control.Applicative
251−@@ -231,6 +234,13 @@
260+@@ -231,6 +234,13 @@ instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) where
252261 liftIO = lift . liftIO
253262 {-# INLINE liftIO #-}
254263
@@ -262,10 +271,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
262271 -- ---------------------------------------------------------------------------
263272 -- Reader operations
264273
265−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs
266−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2017-10-04 23:58:48.000000000 +0800
267−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2001-09-09 09:46:40.000000000 +0800
268−@@ -49,6 +49,9 @@
274+diff --git a/Control/Monad/Trans/Reader.hs b/Control/Monad/Trans/Reader.hs
275+index b577b2d..f0b80f7 100644
276+--- a/Control/Monad/Trans/Reader.hs
277++++ b/Control/Monad/Trans/Reader.hs
278+@@ -49,6 +49,9 @@ module Control.Monad.Trans.Reader (
269279 import Control.Monad.IO.Class
270280 import Control.Monad.Signatures
271281 import Control.Monad.Trans.Class
@@ -275,7 +285,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
275285 import Data.Functor.Identity
276286
277287 import Control.Applicative
278−@@ -207,6 +210,12 @@
288+@@ -207,6 +210,12 @@ instance (MonadZip m) => MonadZip (ReaderT r m) where
279289 {-# INLINE mzipWith #-}
280290 #endif
281291
@@ -288,10 +298,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
288298 liftReaderT :: m a -> ReaderT r m a
289299 liftReaderT m = ReaderT (const m)
290300 {-# INLINE liftReaderT #-}
291−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
292−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
293−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
294−@@ -76,6 +76,9 @@
301+diff --git a/Control/Monad/Trans/State/Lazy.hs b/Control/Monad/Trans/State/Lazy.hs
302+index 13f61f4..e719f02 100644
303+--- a/Control/Monad/Trans/State/Lazy.hs
304++++ b/Control/Monad/Trans/State/Lazy.hs
305+@@ -76,6 +76,9 @@ module Control.Monad.Trans.State.Lazy (
295306 import Control.Monad.IO.Class
296307 import Control.Monad.Signatures
297308 import Control.Monad.Trans.Class
@@ -301,7 +312,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
301312 import Data.Functor.Identity
302313
303314 import Control.Applicative
304−@@ -253,6 +256,13 @@
315+@@ -253,6 +256,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
305316 liftIO = lift . liftIO
306317 {-# INLINE liftIO #-}
307318
@@ -315,10 +326,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
315326 -- | Fetch the current value of the state within the monad.
316327 get :: (Monad m) => StateT s m s
317328 get = state $ \ s -> (s, s)
318−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs
319−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2017-10-04 23:58:48.000000000 +0800
320−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2001-09-09 09:46:40.000000000 +0800
321−@@ -73,6 +73,9 @@
329+diff --git a/Control/Monad/Trans/State/Strict.hs b/Control/Monad/Trans/State/Strict.hs
330+index f1fb782..31fd52a 100644
331+--- a/Control/Monad/Trans/State/Strict.hs
332++++ b/Control/Monad/Trans/State/Strict.hs
333+@@ -73,6 +73,9 @@ module Control.Monad.Trans.State.Strict (
322334 import Control.Monad.IO.Class
323335 import Control.Monad.Signatures
324336 import Control.Monad.Trans.Class
@@ -328,7 +340,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
328340 import Data.Functor.Identity
329341
330342 import Control.Applicative
331−@@ -250,6 +253,13 @@
343+@@ -250,6 +253,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
332344 liftIO = lift . liftIO
333345 {-# INLINE liftIO #-}
334346
@@ -342,10 +354,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
342354 -- | Fetch the current value of the state within the monad.
343355 get :: (Monad m) => StateT s m s
344356 get = state $ \ s -> (s, s)
345−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
346−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
347−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
348−@@ -52,6 +52,9 @@
357+diff --git a/Control/Monad/Trans/Writer/Lazy.hs b/Control/Monad/Trans/Writer/Lazy.hs
358+index c7f689c..721e15c 100644
359+--- a/Control/Monad/Trans/Writer/Lazy.hs
360++++ b/Control/Monad/Trans/Writer/Lazy.hs
361+@@ -52,6 +52,9 @@ module Control.Monad.Trans.Writer.Lazy (
349362 import Control.Monad.IO.Class
350363 import Control.Monad.Trans.Class
351364 import Data.Functor.Classes
@@ -355,7 +368,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
355368 import Data.Functor.Identity
356369
357370 import Control.Applicative
358−@@ -237,6 +240,12 @@
371+@@ -237,6 +240,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
359372 {-# INLINE mzipWith #-}
360373 #endif
361374
@@ -368,10 +381,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
368381 -- | @'tell' w@ is an action that produces the output @w@.
369382 tell :: (Monad m) => w -> WriterT w m ()
370383 tell w = writer ((), w)
371−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs
372−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2017-10-04 23:58:48.000000000 +0800
373−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2001-09-09 09:46:40.000000000 +0800
374−@@ -55,6 +55,9 @@
384+diff --git a/Control/Monad/Trans/Writer/Strict.hs b/Control/Monad/Trans/Writer/Strict.hs
385+index 33058af..b18b4a8 100644
386+--- a/Control/Monad/Trans/Writer/Strict.hs
387++++ b/Control/Monad/Trans/Writer/Strict.hs
388+@@ -55,6 +55,9 @@ module Control.Monad.Trans.Writer.Strict (
375389 import Control.Monad.IO.Class
376390 import Control.Monad.Trans.Class
377391 import Data.Functor.Classes
@@ -381,7 +395,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
381395 import Data.Functor.Identity
382396
383397 import Control.Applicative
384−@@ -240,6 +243,12 @@
398+@@ -240,6 +243,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
385399 {-# INLINE mzipWith #-}
386400 #endif
387401
@@ -394,10 +408,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
394408 -- | @'tell' w@ is an action that produces the output @w@.
395409 tell :: (Monad m) => w -> WriterT w m ()
396410 tell w = writer ((), w)
397−diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-package-transformers-0.5.5.0/Data/Functor/Constant.hs
398−--- hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2017-10-04 23:58:48.000000000 +0800
399−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2001-09-09 09:46:40.000000000 +0800
400−@@ -26,6 +26,9 @@
411+diff --git a/Data/Functor/Constant.hs b/Data/Functor/Constant.hs
412+index e22f0d6..9c0b8d4 100644
413+--- a/Data/Functor/Constant.hs
414++++ b/Data/Functor/Constant.hs
415+@@ -26,6 +26,9 @@ module Data.Functor.Constant (
401416 ) where
402417
403418 import Data.Functor.Classes
@@ -407,7 +422,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
407422
408423 import Control.Applicative
409424 import Data.Foldable
410−@@ -141,3 +144,9 @@
425+@@ -141,3 +144,9 @@ instance Bitraversable Constant where
411426 bitraverse f _ (Constant a) = Constant <$> f a
412427 {-# INLINE bitraverse #-}
413428 #endif
@@ -417,10 +432,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
417432+ contramap _ (Constant a) = Constant a
418433+ {-# INLINE contramap #-}
419434+#endif
420−diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-package-transformers-0.5.5.0/Data/Functor/Reverse.hs
421−--- hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2017-10-04 23:58:48.000000000 +0800
422−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2001-09-09 09:46:40.000000000 +0800
423−@@ -28,6 +28,9 @@
435+diff --git a/Data/Functor/Reverse.hs b/Data/Functor/Reverse.hs
436+index a6abc46..dcb6290 100644
437+--- a/Data/Functor/Reverse.hs
438++++ b/Data/Functor/Reverse.hs
439+@@ -28,6 +28,9 @@ module Data.Functor.Reverse (
424440
425441 import Control.Applicative.Backwards
426442 import Data.Functor.Classes
@@ -430,7 +446,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
430446
431447 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
432448 import Control.Applicative
433−@@ -129,3 +132,10 @@
449+@@ -129,3 +132,10 @@ instance (Traversable f) => Traversable (Reverse f) where
434450 traverse f (Reverse t) =
435451 fmap Reverse . forwards $ traverse (Backwards . f) t
436452 {-# INLINE traverse #-}
@@ -441,10 +457,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
441457+ contramap f = Reverse . contramap f . getReverse
442458+ {-# INLINE contramap #-}
443459+#endif
444−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs
445−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2017-10-04 23:58:48.000000000 +0800
446−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2001-09-09 09:46:40.000000000 +0800
447−@@ -35,6 +35,9 @@
460+diff --git a/legacy/pre711/Data/Functor/Compose.hs b/legacy/pre711/Data/Functor/Compose.hs
461+index 161a2e9..ed78130 100644
462+--- a/legacy/pre711/Data/Functor/Compose.hs
463++++ b/legacy/pre711/Data/Functor/Compose.hs
464+@@ -35,6 +35,9 @@ module Data.Functor.Compose (
448465 ) where
449466
450467 import Data.Functor.Classes
@@ -454,7 +471,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose
454471
455472 import Control.Applicative
456473 #if __GLASGOW_HASKELL__ >= 708
457−@@ -144,3 +147,8 @@
474+@@ -144,3 +147,8 @@ instance (Applicative f, Applicative g) => Applicative (Compose f g) where
458475 instance (Alternative f, Applicative g) => Alternative (Compose f g) where
459476 empty = Compose empty
460477 Compose x <|> Compose y = Compose (x <|> y)
@@ -463,10 +480,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose
463480+instance (Functor f, Contravariant g) => Contravariant (Compose f g) where
464481+ contramap f (Compose fga) = Compose (fmap (contramap f) fga)
465482+#endif
466−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs
467−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2017-10-04 23:58:48.000000000 +0800
468−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2001-09-09 09:46:40.000000000 +0800
469−@@ -45,6 +45,9 @@
483+diff --git a/legacy/pre711/Data/Functor/Product.hs b/legacy/pre711/Data/Functor/Product.hs
484+index 51c99a3..ba0dc04 100644
485+--- a/legacy/pre711/Data/Functor/Product.hs
486++++ b/legacy/pre711/Data/Functor/Product.hs
487+@@ -45,6 +45,9 @@ import Data.Data
470488 #endif
471489 import Data.Foldable (Foldable(foldMap))
472490 import Data.Functor.Classes
@@ -476,7 +494,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
476494 import Data.Monoid (mappend)
477495 import Data.Traversable (Traversable(traverse))
478496 #if __GLASGOW_HASKELL__ >= 702
479−@@ -146,3 +149,8 @@
497+@@ -146,3 +149,8 @@ instance (MonadFix f, MonadFix g) => MonadFix (Product f g) where
480498 instance (MonadZip f, MonadZip g) => MonadZip (Product f g) where
481499 mzipWith f (Pair x1 y1) (Pair x2 y2) = Pair (mzipWith f x1 x2) (mzipWith f y1 y2)
482500 #endif
@@ -485,10 +503,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
485503+instance (Contravariant f, Contravariant g) => Contravariant (Product f g) where
486504+ contramap f (Pair a b) = Pair (contramap f a) (contramap f b)
487505+#endif
488−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
489−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2017-10-04 23:58:48.000000000 +0800
490−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2001-09-09 09:46:40.000000000 +0800
491−@@ -40,6 +40,9 @@
506+diff --git a/legacy/pre711/Data/Functor/Sum.hs b/legacy/pre711/Data/Functor/Sum.hs
507+index 9c314e7..e6d1428 100644
508+--- a/legacy/pre711/Data/Functor/Sum.hs
509++++ b/legacy/pre711/Data/Functor/Sum.hs
510+@@ -40,6 +40,9 @@ import Data.Data
492511 #endif
493512 import Data.Foldable (Foldable(foldMap))
494513 import Data.Functor.Classes
@@ -498,7 +517,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
498517 import Data.Monoid (mappend)
499518 import Data.Traversable (Traversable(traverse))
500519 #if __GLASGOW_HASKELL__ >= 702
501−@@ -125,3 +128,9 @@
520+@@ -125,3 +128,9 @@ instance (Foldable f, Foldable g) => Foldable (Sum f g) where
502521 instance (Traversable f, Traversable g) => Traversable (Sum f g) where
503522 traverse f (InL x) = InL <$> traverse f x
504523 traverse f (InR y) = InR <$> traverse f y
@@ -508,10 +527,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
508527+ contramap f (InL xs) = InL (contramap f xs)
509528+ contramap f (InR ys) = InR (contramap f ys)
510529+#endif
511−diff -ur hackage-package-transformers-0.5.5.0/transformers.cabal ghc-package-transformers-0.5.5.0/transformers.cabal
512−--- hackage-package-transformers-0.5.5.0/transformers.cabal 2017-10-04 23:58:48.000000000 +0800
513−+++ ghc-package-transformers-0.5.5.0/transformers.cabal 2001-09-09 09:46:40.000000000 +0800
514−@@ -9,7 +9,9 @@
530+diff --git a/transformers.cabal b/transformers.cabal
531+index 8583b12..b2e4fea 100644
532+--- a/transformers.cabal
533++++ b/transformers.cabal
534+@@ -9,7 +9,9 @@ category: Control
515535 synopsis: Concrete functor and monad transformers
516536 description:
517537 A portable library of functor and monad transformers, inspired by
patches/ghc863/unix-2.7.2.2.patch+19−17
@@ -1,7 +1,8 @@
1−diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
4−@@ -667,7 +667,6 @@
1+diff --git a/configure b/configure
2+index ea0475d..a3897ae 100644
3+--- a/configure
4++++ b/configure
5+@@ -667,7 +667,6 @@ infodir
56 docdir
67 oldincludedir
78 includedir
@@ -9,7 +10,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
910 localstatedir
1011 sharedstatedir
1112 sysconfdir
12−@@ -739,7 +738,6 @@
13+@@ -739,7 +738,6 @@ datadir='${datarootdir}'
1314 sysconfdir='${prefix}/etc'
1415 sharedstatedir='${prefix}/com'
1516 localstatedir='${prefix}/var'
@@ -17,7 +18,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
1718 includedir='${prefix}/include'
1819 oldincludedir='/usr/include'
1920 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21+@@ -992,15 +990,6 @@ do
2122 | -silent | --silent | --silen | --sile | --sil)
2223 silent=yes ;;
2324
@@ -33,7 +34,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
3334 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
3435 ac_prev=sbindir ;;
3536 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37+@@ -1138,7 +1127,7 @@ fi
3738 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
3839 datadir sysconfdir sharedstatedir localstatedir includedir \
3940 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
@@ -42,7 +43,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
4243 do
4344 eval ac_val=\$$ac_var
4445 # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46+@@ -1291,7 +1280,6 @@ Fine tuning of the installation directories:
4647 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
4748 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
4849 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
@@ -50,7 +51,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
5051 --libdir=DIR object code libraries [EPREFIX/lib]
5152 --includedir=DIR C header files [PREFIX/include]
5253 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54+@@ -3782,7 +3770,7 @@ else
5455 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5556 since some C++ compilers masquerading as C compilers
5657 incorrectly reject 9223372036854775807. */
@@ -59,7 +60,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
5960 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
6061 && LARGE_OFF_T % 2147483647 == 1)
6162 ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63+@@ -3828,7 +3816,7 @@ else
6364 We can't simply define LARGE_OFF_T to be 9223372036854775807,
6465 since some C++ compilers masquerading as C compilers
6566 incorrectly reject 9223372036854775807. */
@@ -68,7 +69,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
6869 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
6970 && LARGE_OFF_T % 2147483647 == 1)
7071 ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72+@@ -3852,7 +3840,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7273 We can't simply define LARGE_OFF_T to be 9223372036854775807,
7374 since some C++ compilers masquerading as C compilers
7475 incorrectly reject 9223372036854775807. */
@@ -77,7 +78,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
7778 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
7879 && LARGE_OFF_T % 2147483647 == 1)
7980 ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81+@@ -3897,7 +3885,7 @@ else
8182 We can't simply define LARGE_OFF_T to be 9223372036854775807,
8283 since some C++ compilers masquerading as C compilers
8384 incorrectly reject 9223372036854775807. */
@@ -86,7 +87,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
8687 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
8788 && LARGE_OFF_T % 2147483647 == 1)
8889 ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90+@@ -3921,7 +3909,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
9091 We can't simply define LARGE_OFF_T to be 9223372036854775807,
9192 since some C++ compilers masquerading as C compilers
9293 incorrectly reject 9223372036854775807. */
@@ -95,10 +96,11 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
9596 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
9697 && LARGE_OFF_T % 2147483647 == 1)
9798 ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101−@@ -62,7 +62,7 @@
99+diff --git a/unix.cabal b/unix.cabal
100+index cf44068..bb3155f 100644
101+--- a/unix.cabal
102++++ b/unix.cabal
103+@@ -62,7 +62,7 @@ library
102104 buildable: False
103105
104106 build-depends: