on iko/ghcjs-patch-master help sign in
better patches
84bcfd7Moritz Angermann
@@ -5,7 +5,9 @@ let
5 # up much later on hackage; but are not installable
5 # up much later on hackage; but are not installable
6 # anyway. Therefore we just strip them out of the
6 # anyway. Therefore we just strip them out of the
7 # pkg-def's packages.
7 # 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+ ];
9 strip-pkg-def = pkgs: pkg-def: hackage: with pkgs.lib;
11 strip-pkg-def = pkgs: pkg-def: hackage: with pkgs.lib;
10 mapAttrs (k: v: if k == "packages"
12 mapAttrs (k: v: if k == "packages"
11 then filterAttrs (k: _: !(builtins.elem k boot-pkgs)) v
13 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 @@
1{
1{
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 ];
14}
2}
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 @@
1{
1{
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 ];
12}
2}
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
1+diff --git a/array.cabal b/array.cabal
2−--- hackage-package-array-0.5.2.0/array.cabal 2017-07-04 06:06:07.000000000 +0800
2+index 1a71bab..ceaf54d 100644
3−+++ ghc-package-array-0.5.2.0/array.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/array.cabal
4++++ b/array.cabal
4−@@ -37,7 +37,7 @@
5+@@ -37,7 +37,7 @@ library
5 Trustworthy,
6 Trustworthy,
6 UnboxedTuples,
7 UnboxedTuples,
7 UnliftedFFITypes
8 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
1+diff --git a/deepseq.cabal b/deepseq.cabal
2−--- hackage-package-deepseq-1.4.3.0/deepseq.cabal 2017-07-20 06:00:58.000000000 +0800
2+index 7f54e2a..7191fa9 100644
3−+++ ghc-package-deepseq-1.4.3.0/deepseq.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/deepseq.cabal
4++++ b/deepseq.cabal
4−@@ -61,7 +61,7 @@
5+@@ -61,7 +61,7 @@ library
5 if impl(ghc>=7.8)
6 if impl(ghc>=7.8)
6 other-extensions: EmptyCase
7 other-extensions: EmptyCase
7
8
patches/ghc843/default.nix−1
@@ -1,7 +1,6 @@
1{
1{
2 packages.array.patches = [ ./array-0.5.2.0.patch ];
2 packages.array.patches = [ ./array-0.5.2.0.patch ];
3 packages.deepseq.patches = [ ./deepseq-1.4.3.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 ];
4 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
6 packages.parallel.patches = [ ./parallel-3.2.1.1.patch ];
5 packages.parallel.patches = [ ./parallel-3.2.1.1.patch ];
7 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
6 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
1+diff --git a/hpc.cabal b/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
2+index 7e77973..017a609 100644
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/hpc.cabal
4++++ b/hpc.cabal
4−@@ -35,9 +35,9 @@
5+@@ -35,9 +35,9 @@ Library
5 Trace.Hpc.Reflect
6 Trace.Hpc.Reflect
6
7
7 Build-Depends:
8 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
1+diff --git a/parallel.cabal b/parallel.cabal
2−--- hackage-package-parallel-3.2.1.1/parallel.cabal 2017-04-09 00:25:01.000000000 +0800
2+index 577a11e..0ae23e9 100644
3−+++ ghc-package-parallel-3.2.1.1/parallel.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/parallel.cabal
4++++ b/parallel.cabal
4−@@ -34,7 +34,7 @@
5+@@ -34,7 +34,7 @@ library
5
6
6 build-depends:
7 build-depends:
7 array >= 0.3 && < 0.6,
8 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
1+diff --git a/parsec.cabal b/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
2+index 9531768..7c2a399 100644
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/parsec.cabal
4++++ b/parsec.cabal
4−@@ -21,8 +21,8 @@
5+@@ -21,8 +21,8 @@ license: BSD3
5 license-file: LICENSE
6 license-file: LICENSE
6 author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
7 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 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.
12 category: Parsing
13 category: Parsing
13
14
14 build-type: Simple
15 build-type: Simple
15−@@ -32,7 +32,7 @@
16+@@ -32,7 +32,7 @@ extra-source-files: ChangeLog.md, README.md
16
17
17 source-repository head
18 source-repository head
18 type: git
19 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
1+diff --git a/README.md b/README.md
2−--- hackage-package-random-1.1/README.md 2014-09-17 05:34:43.000000000 +0800
2+index 9d5bb51..47b7589 100644
3−+++ ghc-package-random-1.1/README.md 2001-09-09 09:46:40.000000000 +0800
3+--- a/README.md
4−@@ -10,7 +10,7 @@
4++++ b/README.md
5+@@ -10,7 +10,7 @@ The API documentation can be found here:
5
6
6 A module supplying this interface is required for Haskell 98 (but not Haskell
7 A module supplying this interface is required for Haskell 98 (but not Haskell
7 2010). An older [version]
8 2010). An older [version]
@@ -10,9 +11,10 @@ diff -ur hackage-package-random-1.1/README.md ghc-package-random-1.1/README.md
10 of this library is included with GHC in the haskell98 package. This newer
11 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 version, with compatible api, is included in the [Haskell Platform]
12 (http://www.haskell.org/platform/contents.html).
13 (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+diff --git a/System/Random.hs b/System/Random.hs
14−--- hackage-package-random-1.1/System/Random.hs 2014-09-17 05:34:43.000000000 +0800
15+index ab77274..dfd2088 100644
15−+++ ghc-package-random-1.1/System/Random.hs 2001-09-09 09:46:40.000000000 +0800
16+--- a/System/Random.hs
17++++ b/System/Random.hs
16@@ -7,7 +7,7 @@
18@@ -7,7 +7,7 @@
17 -- Module : System.Random
19 -- Module : System.Random
18 -- Copyright : (c) The University of Glasgow 2001
20 -- 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
94
96
95 import Prelude
97 import Prelude
96
98
97−@@ -83,15 +83,15 @@
99+@@ -83,15 +83,15 @@ import Data.Word
98 import Foreign.C.Types
100 import Foreign.C.Types
99
101
100 #ifdef __NHC__
102 #ifdef __NHC__
@@ -115,7 +117,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
115 import System.IO.Unsafe ( unsafePerformIO )
117 import System.IO.Unsafe ( unsafePerformIO )
116 import Data.IORef ( IORef, newIORef, readIORef, writeIORef )
118 import Data.IORef ( IORef, newIORef, readIORef, writeIORef )
117 #if MIN_VERSION_base (4,6,0)
119 #if MIN_VERSION_base (4,6,0)
118−@@ -99,7 +99,7 @@
120+@@ -99,7 +99,7 @@ import Data.IORef ( atomicModifyIORef' )
119 #else
121 #else
120 import Data.IORef ( atomicModifyIORef )
122 import Data.IORef ( atomicModifyIORef )
121 #endif
123 #endif
@@ -124,7 +126,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
124
126
125 #ifdef __GLASGOW_HASKELL__
127 #ifdef __GLASGOW_HASKELL__
126 import GHC.Exts ( build )
128 import GHC.Exts ( build )
127−@@ -201,17 +201,17 @@
129+@@ -201,17 +201,17 @@ It is required that @'read' ('show' g) == g@.
128
130
129 In addition, 'reads' may be used to map an arbitrary string (not necessarily one
131 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'
132 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
146 = StdGen !Int32 !Int32
148 = StdGen !Int32 !Int32
147
149
148 instance RandomGen StdGen where
150 instance RandomGen StdGen where
149−@@ -224,8 +224,8 @@
151+@@ -224,8 +224,8 @@ instance SplittableGen StdGen where
150 split = stdSplit
152 split = stdSplit
151
153
152 instance Show StdGen where
154 instance Show StdGen where
@@ -157,7 +159,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
157 showChar ' ' .
159 showChar ' ' .
158 showsPrec p s2
160 showsPrec p s2
159
161
160−@@ -234,11 +234,11 @@
162+@@ -234,11 +234,11 @@ instance Read StdGen where
161 case try_read r of
163 case try_read r of
162 r'@[_] -> r'
164 r'@[_] -> r'
163 _ -> [stdFromString r] -- because it shouldn't ever fail.
165 _ -> [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
172
174
173 {-
175 {-
174 If we cannot unravel the StdGen from a string, create
176 If we cannot unravel the StdGen from a string, create
175−@@ -246,7 +246,7 @@
177+@@ -246,7 +246,7 @@ instance Read StdGen where
176 -}
178 -}
177 stdFromString :: String -> (StdGen, String)
179 stdFromString :: String -> (StdGen, String)
178 stdFromString s = (mkStdGen num, rest)
180 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
181 num = foldl (\a x -> x + 3 * a) 1 (map ord cs)
183 num = foldl (\a x -> x + 3 * a) 1 (map ord cs)
182
184
183
185
184−@@ -266,11 +266,11 @@
186+@@ -266,11 +266,11 @@ respectively."
185 mkStdGen32 :: Int32 -> StdGen
187 mkStdGen32 :: Int32 -> StdGen
186 mkStdGen32 sMaybeNegative = StdGen (s1+1) (s2+1)
188 mkStdGen32 sMaybeNegative = StdGen (s1+1) (s2+1)
187 where
189 where
@@ -198,7 +200,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
198
200
199 createStdGen :: Integer -> StdGen
201 createStdGen :: Integer -> StdGen
200 createStdGen s = mkStdGen32 $ fromIntegral s
202 createStdGen s = mkStdGen32 $ fromIntegral s
201−@@ -323,7 +323,7 @@
203+@@ -323,7 +323,7 @@ class Random a where
202 -- | A variant of 'random' that uses the global random number generator
204 -- | A variant of 'random' that uses the global random number generator
203 -- (see "System.Random#globalrng").
205 -- (see "System.Random#globalrng").
204 randomIO :: IO a
206 randomIO :: IO a
@@ -207,7 +209,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
207
209
208 -- | Produce an infinite list-equivalent of random values.
210 -- | Produce an infinite list-equivalent of random values.
209 {-# INLINE buildRandoms #-}
211 {-# INLINE buildRandoms #-}
210−@@ -340,7 +340,7 @@
212+@@ -340,7 +340,7 @@ buildRandoms cons rand = go
211
213
212 instance Random Integer where
214 instance Random Integer where
213 randomR ival g = randomIvalInteger ival g
215 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
216
218
217 instance Random Int where randomR = randomIvalIntegral; random = randomBounded
219 instance Random Int where randomR = randomIvalIntegral; random = randomBounded
218 instance Random Int8 where randomR = randomIvalIntegral; random = randomBounded
220 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
220 instance Random CUIntMax where randomR = randomIvalIntegral; random = randomBounded
222 instance Random CUIntMax where randomR = randomIvalIntegral; random = randomBounded
221
223
222 instance Random Char where
224 instance Random Char where
@@ -233,7 +235,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
233 case (randomIvalInteger (bool2Int a, bool2Int b) g) of
235 case (randomIvalInteger (bool2Int a, bool2Int b) g) of
234 (x, g') -> (int2Bool x, g')
236 (x, g') -> (int2Bool x, g')
235 where
237 where
236−@@ -392,42 +392,42 @@
238+@@ -392,42 +392,42 @@ instance Random Bool where
237 bool2Int False = 0
239 bool2Int False = 0
238 bool2Int True = 1
240 bool2Int True = 1
239
241
@@ -298,7 +300,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
298 -- (encodeFloat rand (-24), rng')
300 -- (encodeFloat rand (-24), rng')
299 where
301 where
300 mask24 = twoto24 - 1
302 mask24 = twoto24 - 1
301−@@ -436,8 +436,8 @@
303+@@ -436,8 +436,8 @@ instance Random Float where
302 -- CFloat/CDouble are basically the same as a Float/Double:
304 -- CFloat/CDouble are basically the same as a Float/Double:
303 instance Random CFloat where
305 instance Random CFloat where
304 randomR = randomRFloating
306 randomR = randomRFloating
@@ -309,7 +311,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
309
311
310 instance Random CDouble where
312 instance Random CDouble where
311 randomR = randomRFloating
313 randomR = randomRFloating
312−@@ -445,8 +445,8 @@
314+@@ -445,8 +445,8 @@ instance Random CDouble where
313 -- Presently, this is showing better performance than the Double instance:
315 -- 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!)
316 -- (And yet, if the Double instance uses randomFrac then its performance is much worse!)
315 random = randomFrac
317 random = randomFrac
@@ -320,7 +322,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
320
322
321 mkStdRNG :: Integer -> IO StdGen
323 mkStdRNG :: Integer -> IO StdGen
322 mkStdRNG o = do
324 mkStdRNG o = do
323−@@ -463,7 +463,7 @@
325+@@ -463,7 +463,7 @@ randomIvalIntegral (l,h) = randomIvalInteger (toInteger l, toInteger h)
324
326
325 {-# SPECIALIZE randomIvalInteger :: (Num a) =>
327 {-# SPECIALIZE randomIvalInteger :: (Num a) =>
326 (Integer, Integer) -> StdGen -> (a, StdGen) #-}
328 (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
329 randomIvalInteger :: (RandomGen g, Num a) => (Integer, Integer) -> g -> (a, g)
331 randomIvalInteger :: (RandomGen g, Num a) => (Integer, Integer) -> g -> (a, g)
330 randomIvalInteger (l,h) rng
332 randomIvalInteger (l,h) rng
331 | l > h = randomIvalInteger (h,l) rng
333 | l > h = randomIvalInteger (h,l) rng
332−@@ -482,7 +482,7 @@
334+@@ -482,7 +482,7 @@ randomIvalInteger (l,h) rng
333 k = h - l + 1
335 k = h - l + 1
334 magtgt = k * q
336 magtgt = k * q
335
337
@@ -338,7 +340,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
338 f mag v g | mag >= magtgt = (v, g)
340 f mag v g | mag >= magtgt = (v, g)
339 | otherwise = v' `seq`f (mag*b) v' g' where
341 | otherwise = v' `seq`f (mag*b) v' g' where
340 (x,g') = next g
342 (x,g') = next g
341−@@ -494,18 +494,18 @@
343+@@ -494,18 +494,18 @@ randomFrac :: (RandomGen g, Fractional a) => g -> (a, g)
342 randomFrac = randomIvalDouble (0::Double,1) realToFrac
344 randomFrac = randomIvalDouble (0::Double,1) realToFrac
343
345
344 randomIvalDouble :: (RandomGen g, Fractional a) => (Double, Double) -> (Double -> a) -> g -> (a, g)
346 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
366
368
367 int32Count :: Integer
369 int32Count :: Integer
368 int32Count = toInteger (maxBound::Int32) - toInteger (minBound::Int32) + 1 -- GHC ticket #3982
370 int32Count = toInteger (maxBound::Int32) - toInteger (minBound::Int32) + 1 -- GHC ticket #3982
369−@@ -516,16 +516,16 @@
371+@@ -516,16 +516,16 @@ stdRange = (1, 2147483562)
370 stdNext :: StdGen -> (Int, StdGen)
372 stdNext :: StdGen -> (Int, StdGen)
371 -- Returns values in the range stdRange
373 -- Returns values in the range stdRange
372 stdNext (StdGen s1 s2) = (fromIntegral z', StdGen s1'' s2'')
374 stdNext (StdGen s1 s2) = (fromIntegral z', StdGen s1'' s2'')
373- where z' = if z < 1 then z + 2147483562 else z
375- where z' = if z < 1 then z + 2147483562 else z
374- z = s1'' - s2''
376- z = s1'' - s2''
375−+ where z' = if z < 1 then z + 2147483562 else z
377+-
376−+ z = s1'' - s2''
377−
378- k = s1 `quot` 53668
378- k = s1 `quot` 53668
379- s1' = 40014 * (s1 - k * 53668) - k * 12211
379- s1' = 40014 * (s1 - k * 53668) - k * 12211
380- s1'' = if s1' < 0 then s1' + 2147483563 else s1'
380- 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
382- k' = s2 `quot` 52774
382- k' = s2 `quot` 52774
383- s2' = 40692 * (s2 - k' * 52774) - k' * 3791
383- s2' = 40692 * (s2 - k' * 52774) - k' * 3791
384- s2'' = if s2' < 0 then s2' + 2147483399 else s2'
384- 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++
385+ k = s1 `quot` 53668
388+ k = s1 `quot` 53668
386+ s1' = 40014 * (s1 - k * 53668) - k * 12211
389+ s1' = 40014 * (s1 - k * 53668) - k * 12211
387+ s1'' = if s1' < 0 then s1' + 2147483563 else s1'
390+ 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
392
395
393 stdSplit :: StdGen -> (StdGen, StdGen)
396 stdSplit :: StdGen -> (StdGen, StdGen)
394 stdSplit std@(StdGen s1 s2)
397 stdSplit std@(StdGen s1 s2)
395−diff -ur hackage-package-random-1.1/random.cabal ghc-package-random-1.1/random.cabal
398+diff --git a/random.cabal b/random.cabal
396−--- hackage-package-random-1.1/random.cabal 2014-09-17 05:34:43.000000000 +0800
399+index fd29840..a28063c 100644
397−+++ ghc-package-random-1.1/random.cabal 2001-09-09 09:46:40.000000000 +0800
400+--- a/random.cabal
401++++ b/random.cabal
398−@@ -40,7 +40,7 @@
402+@@ -40,7 +40,7 @@ Library
399
403
400 source-repository head
404 source-repository head
401 type: git
405 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
1+diff --git a/configure b/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
2+index f4f4dba..f5fae2b 100644
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
3+--- a/configure
4++++ b/configure
4@@ -1,6 +1,6 @@
5@@ -1,6 +1,6 @@
5 #! /bin/sh
6 #! /bin/sh
6 # Guess values for system-dependent variables and create Makefiles.
7 # 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
9 #
10 #
10 # Report bugs to <ashley@semantic.org>.
11 # Report bugs to <ashley@semantic.org>.
11 #
12 #
12−@@ -580,8 +580,8 @@
13+@@ -580,8 +580,8 @@ MAKEFLAGS=
13 # Identity of this package.
14 # Identity of this package.
14 PACKAGE_NAME='Haskell time package'
15 PACKAGE_NAME='Haskell time package'
15 PACKAGE_TARNAME='time'
16 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
20 PACKAGE_BUGREPORT='ashley@semantic.org'
21 PACKAGE_BUGREPORT='ashley@semantic.org'
21 PACKAGE_URL=''
22 PACKAGE_URL=''
22
23
23−@@ -653,7 +653,6 @@
24+@@ -653,7 +653,6 @@ infodir
24 docdir
25 docdir
25 oldincludedir
26 oldincludedir
26 includedir
27 includedir
@@ -28,7 +29,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
28 localstatedir
29 localstatedir
29 sharedstatedir
30 sharedstatedir
30 sysconfdir
31 sysconfdir
31−@@ -726,7 +725,6 @@
32+@@ -726,7 +725,6 @@ datadir='${datarootdir}'
32 sysconfdir='${prefix}/etc'
33 sysconfdir='${prefix}/etc'
33 sharedstatedir='${prefix}/com'
34 sharedstatedir='${prefix}/com'
34 localstatedir='${prefix}/var'
35 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
36 includedir='${prefix}/include'
37 includedir='${prefix}/include'
37 oldincludedir='/usr/include'
38 oldincludedir='/usr/include'
38 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40+@@ -979,15 +977,6 @@ do
40 | -silent | --silent | --silen | --sile | --sil)
41 | -silent | --silent | --silen | --sile | --sil)
41 silent=yes ;;
42 silent=yes ;;
42
43
@@ -52,7 +53,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
52 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53 ac_prev=sbindir ;;
54 ac_prev=sbindir ;;
54 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56+@@ -1125,7 +1114,7 @@ fi
56 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57 datadir sysconfdir sharedstatedir localstatedir includedir \
58 datadir sysconfdir sharedstatedir localstatedir includedir \
58 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
59 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
61 do
62 do
62 eval ac_val=\$$ac_var
63 eval ac_val=\$$ac_var
63 # Remove trailing slashes.
64 # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65+@@ -1238,7 +1227,7 @@ if test "$ac_init_help" = "long"; then
65 # Omit some internal or obsolete options to make the list less imposing.
66 # 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 # This message is too long to be a string in the A/UX 3.1 sh.
67 cat <<_ACEOF
68 cat <<_ACEOF
@@ -70,7 +71,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
70
71
71 Usage: $0 [OPTION]... [VAR=VALUE]...
72 Usage: $0 [OPTION]... [VAR=VALUE]...
72
73
73−@@ -1278,7 +1267,6 @@
74+@@ -1278,7 +1267,6 @@ Fine tuning of the installation directories:
74 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
77 --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
78 --libdir=DIR object code libraries [EPREFIX/lib]
79 --libdir=DIR object code libraries [EPREFIX/lib]
79 --includedir=DIR C header files [PREFIX/include]
80 --includedir=DIR C header files [PREFIX/include]
80 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82+@@ -1300,7 +1288,7 @@ fi
82
83
83 if test -n "$ac_init_help"; then
84 if test -n "$ac_init_help"; then
84 case $ac_init_help in
85 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
87 esac
88 esac
88 cat <<\_ACEOF
89 cat <<\_ACEOF
89
90
90−@@ -1386,7 +1374,7 @@
91+@@ -1386,7 +1374,7 @@ fi
91 test -n "$ac_init_help" && exit $ac_status
92 test -n "$ac_init_help" && exit $ac_status
92 if $ac_init_version; then
93 if $ac_init_version; then
93 cat <<\_ACEOF
94 cat <<\_ACEOF
@@ -96,7 +97,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
96 generated by GNU Autoconf 2.69
97 generated by GNU Autoconf 2.69
97
98
98 Copyright (C) 2012 Free Software Foundation, Inc.
99 Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100+@@ -1858,7 +1846,7 @@ cat >config.log <<_ACEOF
100 This file contains any messages produced by compilers while
101 This file contains any messages produced by compilers while
101 running configure, to aid debugging if configure makes a mistake.
102 running configure, to aid debugging if configure makes a mistake.
102
103
@@ -105,7 +106,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
105 generated by GNU Autoconf 2.69. Invocation command line was
106 generated by GNU Autoconf 2.69. Invocation command line was
106
107
107 $ $0 $@
108 $ $0 $@
108−@@ -4193,7 +4181,7 @@
109+@@ -4193,7 +4181,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
109 # report actual input values of CONFIG_FILES etc. instead of their
110 # report actual input values of CONFIG_FILES etc. instead of their
110 # values after options handling.
111 # values after options handling.
111 ac_log="
112 ac_log="
@@ -114,7 +115,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
114 generated by GNU Autoconf 2.69. Invocation command line was
115 generated by GNU Autoconf 2.69. Invocation command line was
115
116
116 CONFIG_FILES = $CONFIG_FILES
117 CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118+@@ -4246,7 +4234,7 @@ _ACEOF
118 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120 ac_cs_version="\\
121 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
123 configured by $0, generated by GNU Autoconf 2.69,
124 configured by $0, generated by GNU Autoconf 2.69,
124 with options \\"\$ac_cs_config\\"
125 with options \\"\$ac_cs_config\\"
125
126
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+diff --git a/lib/include/HsTimeConfig.h b/lib/include/HsTimeConfig.h
128+index a1e2513..20798c5 100644
127−--- hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2017-05-13 18:29:46.000000000 +0800
129+--- a/lib/include/HsTimeConfig.h
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
130++++ b/lib/include/HsTimeConfig.h
129@@ -69,7 +69,7 @@
131@@ -69,7 +69,7 @@
130 #define PACKAGE_NAME "Haskell time package"
132 #define PACKAGE_NAME "Haskell time package"
131
133
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
1+diff --git a/configure b/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
2+index ea0475d..a3897ae 100644
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
3+--- a/configure
4++++ b/configure
4−@@ -667,7 +667,6 @@
5+@@ -667,7 +667,6 @@ infodir
5 docdir
6 docdir
6 oldincludedir
7 oldincludedir
7 includedir
8 includedir
@@ -9,7 +10,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
9 localstatedir
10 localstatedir
10 sharedstatedir
11 sharedstatedir
11 sysconfdir
12 sysconfdir
12−@@ -739,7 +738,6 @@
13+@@ -739,7 +738,6 @@ datadir='${datarootdir}'
13 sysconfdir='${prefix}/etc'
14 sysconfdir='${prefix}/etc'
14 sharedstatedir='${prefix}/com'
15 sharedstatedir='${prefix}/com'
15 localstatedir='${prefix}/var'
16 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
17 includedir='${prefix}/include'
18 includedir='${prefix}/include'
18 oldincludedir='/usr/include'
19 oldincludedir='/usr/include'
19 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21+@@ -992,15 +990,6 @@ do
21 | -silent | --silent | --silen | --sile | --sil)
22 | -silent | --silent | --silen | --sile | --sil)
22 silent=yes ;;
23 silent=yes ;;
23
24
@@ -33,7 +34,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
33 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34 ac_prev=sbindir ;;
35 ac_prev=sbindir ;;
35 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37+@@ -1138,7 +1127,7 @@ fi
37 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38 datadir sysconfdir sharedstatedir localstatedir includedir \
39 datadir sysconfdir sharedstatedir localstatedir includedir \
39 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
40 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
42 do
43 do
43 eval ac_val=\$$ac_var
44 eval ac_val=\$$ac_var
44 # Remove trailing slashes.
45 # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46+@@ -1291,7 +1280,6 @@ Fine tuning of the installation directories:
46 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
49 --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
50 --libdir=DIR object code libraries [EPREFIX/lib]
51 --libdir=DIR object code libraries [EPREFIX/lib]
51 --includedir=DIR C header files [PREFIX/include]
52 --includedir=DIR C header files [PREFIX/include]
52 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54+@@ -3782,7 +3770,7 @@ else
54 We can't simply define LARGE_OFF_T to be 9223372036854775807,
55 We can't simply define LARGE_OFF_T to be 9223372036854775807,
55 since some C++ compilers masquerading as C compilers
56 since some C++ compilers masquerading as C compilers
56 incorrectly reject 9223372036854775807. */
57 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
59 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60 && LARGE_OFF_T % 2147483647 == 1)
61 && LARGE_OFF_T % 2147483647 == 1)
61 ? 1 : -1];
62 ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63+@@ -3828,7 +3816,7 @@ else
63 We can't simply define LARGE_OFF_T to be 9223372036854775807,
64 We can't simply define LARGE_OFF_T to be 9223372036854775807,
64 since some C++ compilers masquerading as C compilers
65 since some C++ compilers masquerading as C compilers
65 incorrectly reject 9223372036854775807. */
66 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
68 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69 && LARGE_OFF_T % 2147483647 == 1)
70 && LARGE_OFF_T % 2147483647 == 1)
70 ? 1 : -1];
71 ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72+@@ -3852,7 +3840,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72 We can't simply define LARGE_OFF_T to be 9223372036854775807,
73 We can't simply define LARGE_OFF_T to be 9223372036854775807,
73 since some C++ compilers masquerading as C compilers
74 since some C++ compilers masquerading as C compilers
74 incorrectly reject 9223372036854775807. */
75 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
77 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78 && LARGE_OFF_T % 2147483647 == 1)
79 && LARGE_OFF_T % 2147483647 == 1)
79 ? 1 : -1];
80 ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81+@@ -3897,7 +3885,7 @@ else
81 We can't simply define LARGE_OFF_T to be 9223372036854775807,
82 We can't simply define LARGE_OFF_T to be 9223372036854775807,
82 since some C++ compilers masquerading as C compilers
83 since some C++ compilers masquerading as C compilers
83 incorrectly reject 9223372036854775807. */
84 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
86 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87 && LARGE_OFF_T % 2147483647 == 1)
88 && LARGE_OFF_T % 2147483647 == 1)
88 ? 1 : -1];
89 ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90+@@ -3921,7 +3909,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90 We can't simply define LARGE_OFF_T to be 9223372036854775807,
91 We can't simply define LARGE_OFF_T to be 9223372036854775807,
91 since some C++ compilers masquerading as C compilers
92 since some C++ compilers masquerading as C compilers
92 incorrectly reject 9223372036854775807. */
93 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
95 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96 && LARGE_OFF_T % 2147483647 == 1)
97 && LARGE_OFF_T % 2147483647 == 1)
97 ? 1 : -1];
98 ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99+diff --git a/unix.cabal b/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100+index cf44068..6714fb2 100644
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101+--- a/unix.cabal
102++++ b/unix.cabal
101−@@ -62,7 +62,7 @@
103+@@ -62,7 +62,7 @@ library
102 buildable: False
104 buildable: False
103
105
104 build-depends:
106 build-depends:
patches/ghc843/vector-0.11.0.0.patch+208−190
@@ -1,7 +1,88 @@
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+
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
81+diff --git a/Data/Vector/Fusion/Bundle/Monadic.hs b/Data/Vector/Fusion/Bundle/Monadic.hs
82+index 66789d9..9f9a81a 100644
2−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
83+--- a/Data/Vector/Fusion/Bundle/Monadic.hs
3−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
84++++ b/Data/Vector/Fusion/Bundle/Monadic.hs
4−@@ -101,12 +101,20 @@
85+@@ -101,12 +101,20 @@ import Prelude hiding ( length, null,
5 scanl, scanl1,
86 scanl, scanl1,
6 enumFromTo, enumFromThenTo )
87 enumFromTo, enumFromThenTo )
7
88
@@ -24,7 +105,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
24 data Chunk v a = Chunk Int (forall m. (PrimMonad m, Vector v a) => Mutable v (PrimState m) a -> m ())
105 data Chunk v a = Chunk Int (forall m. (PrimMonad m, Vector v a) => Mutable v (PrimState m) a -> m ())
25
106
26 -- | Monadic streams
107 -- | 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
28 :: Monad m => Integer -> Integer -> Bundle m v Integer #-}
109 :: Monad m => Integer -> Integer -> Bundle m v Integer #-}
29
110
30
111
@@ -32,7 +113,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
32
113
33 -- FIXME: the "too large" test is totally wrong
114 -- FIXME: the "too large" test is totally wrong
34 enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Bundle m v a
115 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
36 step z | z <= y = return $ Yield z (z+1)
117 step z | z <= y = return $ Yield z (z+1)
37 | otherwise = return $ Done
118 | otherwise = return $ Done
38
119
@@ -40,22 +121,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
40
121
41 {-# RULES
122 {-# RULES
42
123
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
124+diff --git a/Data/Vector/Fusion/Stream/Monadic.hs b/Data/Vector/Fusion/Stream/Monadic.hs
125+index a0c13e4..7297587 100644
56−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
126+--- a/Data/Vector/Fusion/Stream/Monadic.hs
57−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
127++++ b/Data/Vector/Fusion/Stream/Monadic.hs
58−@@ -89,8 +89,12 @@
128+@@ -89,8 +89,12 @@ import Prelude hiding ( length, null,
59 scanl, scanl1,
129 scanl, scanl1,
60 enumFromTo, enumFromThenTo )
130 enumFromTo, enumFromThenTo )
61
131
@@ -69,7 +139,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
69
139
70 #if __GLASGOW_HASKELL__ >= 708
140 #if __GLASGOW_HASKELL__ >= 708
71 import GHC.Types ( SPEC(..) )
141 import GHC.Types ( SPEC(..) )
72−@@ -101,6 +105,10 @@
142+@@ -101,6 +105,10 @@ import GHC.Exts ( SpecConstrAnnotation(..) )
73 #include "vector.h"
143 #include "vector.h"
74 #include "MachDeps.h"
144 #include "MachDeps.h"
75
145
@@ -80,7 +150,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
80 #if __GLASGOW_HASKELL__ < 708
150 #if __GLASGOW_HASKELL__ < 708
81 data SPEC = SPEC | SPEC2
151 data SPEC = SPEC | SPEC2
82 #if __GLASGOW_HASKELL__ >= 700
152 #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
84
154
85
155
86
156
@@ -89,7 +159,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
89 -- FIXME: the "too large" test is totally wrong
159 -- FIXME: the "too large" test is totally wrong
90 enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Stream m a
160 enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Stream m a
91 {-# INLINE_FUSED enumFromTo_big_int #-}
161 {-# 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
93 step z | z <= y = return $ Yield z (z+1)
163 step z | z <= y = return $ Yield z (z+1)
94 | otherwise = return $ Done
164 | otherwise = return $ Done
95
165
@@ -98,15 +168,16 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
98 {-# RULES
168 {-# RULES
99
169
100 "enumFromTo<Int64> [Stream]"
170 "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
171+diff --git a/Data/Vector/Fusion/Util.hs b/Data/Vector/Fusion/Util.hs
172+index 50f6b4d..855bf5d 100644
102−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2015-07-13 12:26:16.000000000 +0800
173+--- a/Data/Vector/Fusion/Util.hs
103−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2001-09-09 09:46:40.000000000 +0800
174++++ b/Data/Vector/Fusion/Util.hs
104@@ -1,3 +1,4 @@
175@@ -1,3 +1,4 @@
105+{-# LANGUAGE CPP #-}
176+{-# LANGUAGE CPP #-}
106 -- |
177 -- |
107 -- Module : Data.Vector.Fusion.Util
178 -- Module : Data.Vector.Fusion.Util
108 -- Copyright : (c) Roman Leshchinskiy 2009
179 -- Copyright : (c) Roman Leshchinskiy 2009
109−@@ -16,7 +17,9 @@
180+@@ -16,7 +17,9 @@ module Data.Vector.Fusion.Util (
110 delay_inline, delayed_min
181 delay_inline, delayed_min
111 ) where
182 ) where
112
183
@@ -116,7 +187,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
116
187
117 -- | Identity monad
188 -- | Identity monad
118 newtype Id a = Id { unId :: a }
189 newtype Id a = Id { unId :: a }
119−@@ -29,7 +32,7 @@
190+@@ -29,7 +32,7 @@ instance Applicative Id where
120 Id f <*> Id x = Id (f x)
191 Id f <*> Id x = Id (f x)
121
192
122 instance Monad Id where
193 instance Monad Id where
@@ -125,7 +196,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
125 Id x >>= f = f x
196 Id x >>= f = f x
126
197
127 -- | Box monad
198 -- | Box monad
128−@@ -43,7 +46,7 @@
199+@@ -43,7 +46,7 @@ instance Applicative Box where
129 Box f <*> Box x = Box (f x)
200 Box f <*> Box x = Box (f x)
130
201
131 instance Monad Box where
202 instance Monad Box where
@@ -134,27 +205,16 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
134 Box x >>= f = f x
205 Box x >>= f = f x
135
206
136 -- | Delay inlining a function until late in the game (simplifier phase 0).
207 -- | 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
138 delayed_min :: Int -> Int -> Int
209 delayed_min :: Int -> Int -> Int
139 {-# INLINE [0] delayed_min #-}
210 {-# INLINE [0] delayed_min #-}
140 delayed_min m n = min m n
211 delayed_min m n = min m n
141-
212-
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
213+diff --git a/Data/Vector/Generic.hs b/Data/Vector/Generic.hs
143−--- hackage-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
214+index 478a75a..a299d86 100644
215+--- a/Data/Vector/Generic.hs
144−+++ ghc-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
216++++ b/Data/Vector/Generic.hs
145−@@ -584,7 +584,7 @@
217+@@ -1038,7 +1038,7 @@ imapM_ :: (Monad m, Vector v a) => (Int -> a -> m b) -> v a -> m ()
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
218 imapM_ f = Bundle.mapM_ (uncurry f) . Bundle.indexed . stream
159
219
160 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
220 -- | /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
163 forM :: (Monad m, Vector v a, Vector v b) => v a -> (a -> m b) -> m (v b)
223 forM :: (Monad m, Vector v a, Vector v b) => v a -> (a -> m b) -> m (v b)
164 {-# INLINE forM #-}
224 {-# INLINE forM #-}
165 forM as f = mapM f as
225 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
226+diff --git a/Data/Vector/Generic/Mutable.hs b/Data/Vector/Generic/Mutable.hs
167−--- hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
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
168−+++ ghc-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
241+--- a/Data/Vector/Mutable.hs
169−@@ -268,7 +268,7 @@
242++++ b/Data/Vector/Mutable.hs
243+@@ -268,7 +268,7 @@ new :: PrimMonad m => Int -> m (MVector (PrimState m) a)
170 {-# INLINE new #-}
244 {-# INLINE new #-}
171 new = G.new
245 new = G.new
172
246
@@ -175,10 +249,34 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs ghc-package-vect
175 unsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) a)
249 unsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) a)
176 {-# INLINE unsafeNew #-}
250 {-# INLINE unsafeNew #-}
177 unsafeNew = G.unsafeNew
251 unsafeNew = G.unsafeNew
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
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
275+diff --git a/Data/Vector/Primitive/Mutable.hs b/Data/Vector/Primitive/Mutable.hs
276+index 85595ae..2a2eb1e 100644
179−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
277+--- a/Data/Vector/Primitive/Mutable.hs
180−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
278++++ b/Data/Vector/Primitive/Mutable.hs
181−@@ -211,7 +211,7 @@
279+@@ -211,7 +211,7 @@ new :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
182 {-# INLINE new #-}
280 {-# INLINE new #-}
183 new = G.new
281 new = G.new
184
282
@@ -187,10 +285,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs ghc-pa
187 unsafeNew :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
285 unsafeNew :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
188 {-# INLINE unsafeNew #-}
286 {-# INLINE unsafeNew #-}
189 unsafeNew = G.unsafeNew
287 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
288+diff --git a/Data/Vector/Storable.hs b/Data/Vector/Storable.hs
191−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2015-07-13 12:26:16.000000000 +0800
289+index 1d0f46e..ae4e4bb 100644
192−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2001-09-09 09:46:40.000000000 +0800
290+--- a/Data/Vector/Storable.hs
193−@@ -164,7 +164,9 @@
291++++ b/Data/Vector/Storable.hs
292+@@ -169,7 +169,9 @@ import Data.Typeable ( Typeable )
194 import Data.Data ( Data(..) )
293 import Data.Data ( Data(..) )
195 import Text.Read ( Read(..), readListPrecDefault )
294 import Text.Read ( Read(..), readListPrecDefault )
196
295
@@ -200,25 +299,26 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs ghc-package-ve
200
299
201 #if __GLASGOW_HASKELL__ >= 708
300 #if __GLASGOW_HASKELL__ >= 708
202 import qualified GHC.Exts as Exts
301 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 ()
204 mapM_ = G.mapM_
303 mapM_ = G.mapM_
205
304
206 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
305 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
207--- vector of results. Equvalent to @flip 'mapM'@.
306--- vector of results. Equvalent to @flip 'mapM'@.
208+-- vector of results. Equivalent to @flip 'mapM'@.
307+-- 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)
210 {-# INLINE forM #-}
309 {-# INLINE forM #-}
211 forM = G.forM
310 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
311+diff --git a/Data/Vector/Storable/Mutable.hs b/Data/Vector/Storable/Mutable.hs
312+index 44688b0..c1c1ac1 100644
213−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
313+--- a/Data/Vector/Storable/Mutable.hs
214−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
314++++ b/Data/Vector/Storable/Mutable.hs
215@@ -1,4 +1,4 @@
315@@ -1,4 +1,4 @@
216-{-# LANGUAGE CPP, DeriveDataTypeable, MultiParamTypeClasses, FlexibleInstances, ScopedTypeVariables #-}
316-{-# LANGUAGE CPP, DeriveDataTypeable, MultiParamTypeClasses, FlexibleInstances, ScopedTypeVariables #-}
217+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, MagicHash, MultiParamTypeClasses, ScopedTypeVariables #-}
317+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, MagicHash, MultiParamTypeClasses, ScopedTypeVariables #-}
218
318
219 -- |
319 -- |
220 -- Module : Data.Vector.Storable.Mutable
320 -- Module : Data.Vector.Storable.Mutable
221−@@ -65,8 +65,13 @@
321+@@ -65,8 +65,13 @@ import Data.Vector.Storable.Internal
222 import Foreign.Storable
322 import Foreign.Storable
223 import Foreign.ForeignPtr
323 import Foreign.ForeignPtr
224
324
@@ -234,7 +334,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
234 #endif
334 #endif
235
335
236 import Foreign.Ptr
336 import Foreign.Ptr
237−@@ -201,11 +206,26 @@
337+@@ -201,11 +206,26 @@ storableSetAsPrim n fp x y = withForeignPtr fp $ \(Ptr p) -> do
238 {-# INLINE mallocVector #-}
338 {-# INLINE mallocVector #-}
239 mallocVector :: Storable a => Int -> IO (ForeignPtr a)
339 mallocVector :: Storable a => Int -> IO (ForeignPtr a)
240 mallocVector =
340 mallocVector =
@@ -266,7 +366,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
266 #else
366 #else
267 mallocForeignPtrArray
367 mallocForeignPtrArray
268 #endif
368 #endif
269−@@ -293,7 +313,7 @@
369+@@ -293,7 +313,7 @@ new :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
270 {-# INLINE new #-}
370 {-# INLINE new #-}
271 new = G.new
371 new = G.new
272
372
@@ -275,7 +375,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
275 unsafeNew :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
375 unsafeNew :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
276 {-# INLINE unsafeNew #-}
376 {-# INLINE unsafeNew #-}
277 unsafeNew = G.unsafeNew
377 unsafeNew = G.unsafeNew
278−@@ -322,14 +342,14 @@
378+@@ -322,14 +342,14 @@ clone = G.clone
279 -- | Grow a vector by the given number of elements. The number must be
379 -- | Grow a vector by the given number of elements. The number must be
280 -- positive.
380 -- positive.
281 grow :: (PrimMonad m, Storable a)
381 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
292 {-# INLINE unsafeGrow #-}
392 {-# INLINE unsafeGrow #-}
293 unsafeGrow = G.unsafeGrow
393 unsafeGrow = G.unsafeGrow
294
394
295−@@ -401,7 +421,7 @@
395+@@ -401,7 +421,7 @@ set = G.set
296 -- | Copy a vector. The two vectors must have the same length and may not
396 -- | Copy a vector. The two vectors must have the same length and may not
297 -- overlap.
397 -- overlap.
298 copy :: (PrimMonad m, Storable a)
398 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
301 {-# INLINE copy #-}
401 {-# INLINE copy #-}
302 copy = G.copy
402 copy = G.copy
303
403
304−@@ -422,7 +442,7 @@
404+@@ -422,7 +442,7 @@ unsafeCopy = G.unsafeCopy
305 -- copied to a temporary vector and then the temporary vector was copied
405 -- copied to a temporary vector and then the temporary vector was copied
306 -- to the target vector.
406 -- to the target vector.
307 move :: (PrimMonad m, Storable a)
407 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
310 {-# INLINE move #-}
410 {-# INLINE move #-}
311 move = G.move
411 move = G.move
312
412
313−@@ -434,9 +454,9 @@
413+@@ -434,9 +454,9 @@ move = G.move
314 -- copied to a temporary vector and then the temporary vector was copied
414 -- copied to a temporary vector and then the temporary vector was copied
315 -- to the target vector.
415 -- to the target vector.
316 unsafeMove :: (PrimMonad m, Storable a)
416 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
323 {-# INLINE unsafeMove #-}
423 {-# INLINE unsafeMove #-}
324 unsafeMove = G.unsafeMove
424 unsafeMove = G.unsafeMove
325
425
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
426+diff --git a/Data/Vector/Unboxed.hs b/Data/Vector/Unboxed.hs
327−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs 2015-07-13 12:26:16.000000000 +0800
427+index 1b2062f..1d5f121 100644
328−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable.hs 2001-09-09 09:46:40.000000000 +0800
428+--- a/Data/Vector/Unboxed.hs
329−@@ -169,7 +169,9 @@
429++++ b/Data/Vector/Unboxed.hs
330− import Data.Data ( Data(..) )
430+@@ -186,7 +186,9 @@ import Prelude hiding ( length, null,
431+
331 import Text.Read ( Read(..), readListPrecDefault )
432 import Text.Read ( Read(..), readListPrecDefault )
332
433
333+#if !MIN_VERSION_base(4,8,0)
434+#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
335+#endif
436+#endif
336
437
337 #if __GLASGOW_HASKELL__ >= 708
438 #if __GLASGOW_HASKELL__ >= 708
338− import qualified GHC.Exts as Exts
439+ import qualified GHC.Exts as Exts (IsList(..))
339−@@ -783,7 +785,7 @@
440+@@ -820,7 +822,7 @@ imapM_ :: (Monad m, Unbox a) => (Int -> a -> m b) -> Vector a -> m ()
340− mapM_ = G.mapM_
441+ imapM_ = G.imapM_
341
442
342 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
443 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
343--- vector of results. Equvalent to @flip 'mapM'@.
444--- vector of results. Equvalent to @flip 'mapM'@.
344+-- vector of results. Equivalent to @flip 'mapM'@.
445+-- 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)
346 {-# INLINE forM #-}
447 {-# INLINE forM #-}
347 forM = G.forM
448 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
449+diff --git a/Data/Vector/Unboxed/Base.hs b/Data/Vector/Unboxed/Base.hs
450+index ee41966..56c6735 100644
349−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2015-07-13 12:26:16.000000000 +0800
451+--- a/Data/Vector/Unboxed/Base.hs
350−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2001-09-09 09:46:40.000000000 +0800
452++++ b/Data/Vector/Unboxed/Base.hs
351−@@ -30,10 +30,14 @@
453+@@ -30,10 +30,14 @@ import Control.DeepSeq ( NFData(rnf) )
352 import Control.Monad.Primitive
454 import Control.Monad.Primitive
353 import Control.Monad ( liftM )
455 import Control.Monad ( liftM )
354
456
@@ -364,10 +466,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs ghc-package
364 #if __GLASGOW_HASKELL__ >= 707
466 #if __GLASGOW_HASKELL__ >= 707
365 import Data.Typeable ( Typeable )
467 import Data.Typeable ( Typeable )
366 #else
468 #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
469+diff --git a/Data/Vector/Unboxed/Mutable.hs b/Data/Vector/Unboxed/Mutable.hs
470+index 78e473e..a94c07f 100644
368−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
471+--- a/Data/Vector/Unboxed/Mutable.hs
369−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
472++++ b/Data/Vector/Unboxed/Mutable.hs
370−@@ -149,7 +149,7 @@
473+@@ -149,7 +149,7 @@ new :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
371 {-# INLINE new #-}
474 {-# INLINE new #-}
372 new = G.new
475 new = G.new
373
476
@@ -376,106 +479,20 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs ghc-pack
376 unsafeNew :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
479 unsafeNew :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
377 {-# INLINE unsafeNew #-}
480 {-# INLINE unsafeNew #-}
378 unsafeNew = G.unsafeNew
481 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
482+diff --git a/include/vector.h b/include/vector.h
380−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2015-07-13 12:26:16.000000000 +0800
483+index df9200c..1568bb2 100644
381−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2001-09-09 09:46:40.000000000 +0800
484+--- a/include/vector.h
382−@@ -186,7 +186,9 @@
485++++ b/include/vector.h
383−
486+@@ -18,4 +18,3 @@ import qualified Data.Vector.Internal.Check as Ck
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
487
472 #define PHASE_STREAM Please use "PHASE_FUSED" instead
488 #define PHASE_STREAM Please use "PHASE_FUSED" instead
473 #define INLINE_STREAM Please use "INLINE_FUSED" instead
489 #define INLINE_STREAM Please use "INLINE_FUSED" instead
474-
490-
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
491+diff --git a/tests/Tests/Vector.hs b/tests/Tests/Vector.hs
492+index 9b0a093..e39d24f 100644
476−--- hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs 2015-07-13 12:26:16.000000000 +0800
493+--- a/tests/Tests/Vector.hs
477−+++ ghc-package-vector-0.11.0.0/tests/Tests/Vector.hs 2001-09-09 09:46:40.000000000 +0800
494++++ b/tests/Tests/Vector.hs
478−@@ -643,6 +643,7 @@
495+@@ -643,6 +643,7 @@ tests = [
479 testGroup "Data.Vector.Storable.Vector (Double)" (testNumericStorableVector (undefined :: Data.Vector.Storable.Vector Double)),
496 testGroup "Data.Vector.Storable.Vector (Double)" (testNumericStorableVector (undefined :: Data.Vector.Storable.Vector Double)),
480
497
481 testGroup "Data.Vector.Unboxed.Vector ()" (testUnitUnboxedVector (undefined :: Data.Vector.Unboxed.Vector ())),
498 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
483 testGroup "Data.Vector.Unboxed.Vector (Int)" (testNumericUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Int)),
500 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)),
501 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))),
502 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
503+diff --git a/vector.cabal b/vector.cabal
487−--- hackage-package-vector-0.11.0.0/vector.cabal 2015-07-13 12:26:16.000000000 +0800
504+index ffc5099..d962c72 100644
488−+++ ghc-package-vector-0.11.0.0/vector.cabal 2001-09-09 09:46:40.000000000 +0800
505+--- a/vector.cabal
506++++ b/vector.cabal
489−@@ -38,6 +38,7 @@
507+@@ -38,6 +38,7 @@ Cabal-Version: >=1.10
490 Build-Type: Simple
508 Build-Type: Simple
491
509
492 Extra-Source-Files:
510 Extra-Source-Files:
@@ -494,7 +512,7 @@ diff -ur hackage-package-vector-0.11.0.0/vector.cabal ghc-package-vector-0.11.0.
494 README.md
512 README.md
495 tests/LICENSE
513 tests/LICENSE
496 tests/Setup.hs
514 tests/Setup.hs
497−@@ -137,9 +138,9 @@
515+@@ -137,9 +138,9 @@ Library
498 Install-Includes:
516 Install-Includes:
499 vector.h
517 vector.h
500
518
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
1+diff --git a/array.cabal b/array.cabal
2−--- hackage-package-array-0.5.2.0/array.cabal 2017-07-04 06:06:07.000000000 +0800
2+index 1a71bab..ceaf54d 100644
3−+++ ghc-package-array-0.5.2.0/array.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/array.cabal
4++++ b/array.cabal
4−@@ -37,7 +37,7 @@
5+@@ -37,7 +37,7 @@ library
5 Trustworthy,
6 Trustworthy,
6 UnboxedTuples,
7 UnboxedTuples,
7 UnliftedFFITypes
8 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
1+diff --git a/deepseq.cabal b/deepseq.cabal
2−--- hackage-package-deepseq-1.4.3.0/deepseq.cabal 2017-07-20 06:00:58.000000000 +0800
2+index 7f54e2a..7191fa9 100644
3−+++ ghc-package-deepseq-1.4.3.0/deepseq.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/deepseq.cabal
4++++ b/deepseq.cabal
4−@@ -61,7 +61,7 @@
5+@@ -61,7 +61,7 @@ library
5 if impl(ghc>=7.8)
6 if impl(ghc>=7.8)
6 other-extensions: EmptyCase
7 other-extensions: EmptyCase
7
8
patches/ghc844/default.nix−1
@@ -1,7 +1,6 @@
1{
1{
2 packages.array.patches = [ ./array-0.5.2.0.patch ];
2 packages.array.patches = [ ./array-0.5.2.0.patch ];
3 packages.deepseq.patches = [ ./deepseq-1.4.3.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 ];
4 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
6 packages.parallel.patches = [ ./parallel-3.2.1.1.patch ];
5 packages.parallel.patches = [ ./parallel-3.2.1.1.patch ];
7 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
6 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
1+diff --git a/hpc.cabal b/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
2+index 7e77973..017a609 100644
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/hpc.cabal
4++++ b/hpc.cabal
4−@@ -35,9 +35,9 @@
5+@@ -35,9 +35,9 @@ Library
5 Trace.Hpc.Reflect
6 Trace.Hpc.Reflect
6
7
7 Build-Depends:
8 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
1+diff --git a/parallel.cabal b/parallel.cabal
2−--- hackage-package-parallel-3.2.1.1/parallel.cabal 2017-04-09 00:25:01.000000000 +0800
2+index 577a11e..0ae23e9 100644
3−+++ ghc-package-parallel-3.2.1.1/parallel.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/parallel.cabal
4++++ b/parallel.cabal
4−@@ -34,7 +34,7 @@
5+@@ -34,7 +34,7 @@ library
5
6
6 build-depends:
7 build-depends:
7 array >= 0.3 && < 0.6,
8 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
1+diff --git a/parsec.cabal b/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
2+index 9531768..7c2a399 100644
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/parsec.cabal
4++++ b/parsec.cabal
4−@@ -21,8 +21,8 @@
5+@@ -21,8 +21,8 @@ license: BSD3
5 license-file: LICENSE
6 license-file: LICENSE
6 author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
7 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 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.
12 category: Parsing
13 category: Parsing
13
14
14 build-type: Simple
15 build-type: Simple
15−@@ -32,7 +32,7 @@
16+@@ -32,7 +32,7 @@ extra-source-files: ChangeLog.md, README.md
16
17
17 source-repository head
18 source-repository head
18 type: git
19 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
1+diff --git a/README.md b/README.md
2−--- hackage-package-random-1.1/README.md 2014-09-17 05:34:43.000000000 +0800
2+index 9d5bb51..47b7589 100644
3−+++ ghc-package-random-1.1/README.md 2001-09-09 09:46:40.000000000 +0800
3+--- a/README.md
4−@@ -10,7 +10,7 @@
4++++ b/README.md
5+@@ -10,7 +10,7 @@ The API documentation can be found here:
5
6
6 A module supplying this interface is required for Haskell 98 (but not Haskell
7 A module supplying this interface is required for Haskell 98 (but not Haskell
7 2010). An older [version]
8 2010). An older [version]
@@ -10,9 +11,10 @@ diff -ur hackage-package-random-1.1/README.md ghc-package-random-1.1/README.md
10 of this library is included with GHC in the haskell98 package. This newer
11 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 version, with compatible api, is included in the [Haskell Platform]
12 (http://www.haskell.org/platform/contents.html).
13 (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+diff --git a/System/Random.hs b/System/Random.hs
14−--- hackage-package-random-1.1/System/Random.hs 2014-09-17 05:34:43.000000000 +0800
15+index ab77274..dfd2088 100644
15−+++ ghc-package-random-1.1/System/Random.hs 2001-09-09 09:46:40.000000000 +0800
16+--- a/System/Random.hs
17++++ b/System/Random.hs
16@@ -7,7 +7,7 @@
18@@ -7,7 +7,7 @@
17 -- Module : System.Random
19 -- Module : System.Random
18 -- Copyright : (c) The University of Glasgow 2001
20 -- 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
94
96
95 import Prelude
97 import Prelude
96
98
97−@@ -83,15 +83,15 @@
99+@@ -83,15 +83,15 @@ import Data.Word
98 import Foreign.C.Types
100 import Foreign.C.Types
99
101
100 #ifdef __NHC__
102 #ifdef __NHC__
@@ -115,7 +117,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
115 import System.IO.Unsafe ( unsafePerformIO )
117 import System.IO.Unsafe ( unsafePerformIO )
116 import Data.IORef ( IORef, newIORef, readIORef, writeIORef )
118 import Data.IORef ( IORef, newIORef, readIORef, writeIORef )
117 #if MIN_VERSION_base (4,6,0)
119 #if MIN_VERSION_base (4,6,0)
118−@@ -99,7 +99,7 @@
120+@@ -99,7 +99,7 @@ import Data.IORef ( atomicModifyIORef' )
119 #else
121 #else
120 import Data.IORef ( atomicModifyIORef )
122 import Data.IORef ( atomicModifyIORef )
121 #endif
123 #endif
@@ -124,7 +126,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
124
126
125 #ifdef __GLASGOW_HASKELL__
127 #ifdef __GLASGOW_HASKELL__
126 import GHC.Exts ( build )
128 import GHC.Exts ( build )
127−@@ -201,17 +201,17 @@
129+@@ -201,17 +201,17 @@ It is required that @'read' ('show' g) == g@.
128
130
129 In addition, 'reads' may be used to map an arbitrary string (not necessarily one
131 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'
132 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
146 = StdGen !Int32 !Int32
148 = StdGen !Int32 !Int32
147
149
148 instance RandomGen StdGen where
150 instance RandomGen StdGen where
149−@@ -224,8 +224,8 @@
151+@@ -224,8 +224,8 @@ instance SplittableGen StdGen where
150 split = stdSplit
152 split = stdSplit
151
153
152 instance Show StdGen where
154 instance Show StdGen where
@@ -157,7 +159,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
157 showChar ' ' .
159 showChar ' ' .
158 showsPrec p s2
160 showsPrec p s2
159
161
160−@@ -234,11 +234,11 @@
162+@@ -234,11 +234,11 @@ instance Read StdGen where
161 case try_read r of
163 case try_read r of
162 r'@[_] -> r'
164 r'@[_] -> r'
163 _ -> [stdFromString r] -- because it shouldn't ever fail.
165 _ -> [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
172
174
173 {-
175 {-
174 If we cannot unravel the StdGen from a string, create
176 If we cannot unravel the StdGen from a string, create
175−@@ -246,7 +246,7 @@
177+@@ -246,7 +246,7 @@ instance Read StdGen where
176 -}
178 -}
177 stdFromString :: String -> (StdGen, String)
179 stdFromString :: String -> (StdGen, String)
178 stdFromString s = (mkStdGen num, rest)
180 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
181 num = foldl (\a x -> x + 3 * a) 1 (map ord cs)
183 num = foldl (\a x -> x + 3 * a) 1 (map ord cs)
182
184
183
185
184−@@ -266,11 +266,11 @@
186+@@ -266,11 +266,11 @@ respectively."
185 mkStdGen32 :: Int32 -> StdGen
187 mkStdGen32 :: Int32 -> StdGen
186 mkStdGen32 sMaybeNegative = StdGen (s1+1) (s2+1)
188 mkStdGen32 sMaybeNegative = StdGen (s1+1) (s2+1)
187 where
189 where
@@ -198,7 +200,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
198
200
199 createStdGen :: Integer -> StdGen
201 createStdGen :: Integer -> StdGen
200 createStdGen s = mkStdGen32 $ fromIntegral s
202 createStdGen s = mkStdGen32 $ fromIntegral s
201−@@ -323,7 +323,7 @@
203+@@ -323,7 +323,7 @@ class Random a where
202 -- | A variant of 'random' that uses the global random number generator
204 -- | A variant of 'random' that uses the global random number generator
203 -- (see "System.Random#globalrng").
205 -- (see "System.Random#globalrng").
204 randomIO :: IO a
206 randomIO :: IO a
@@ -207,7 +209,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
207
209
208 -- | Produce an infinite list-equivalent of random values.
210 -- | Produce an infinite list-equivalent of random values.
209 {-# INLINE buildRandoms #-}
211 {-# INLINE buildRandoms #-}
210−@@ -340,7 +340,7 @@
212+@@ -340,7 +340,7 @@ buildRandoms cons rand = go
211
213
212 instance Random Integer where
214 instance Random Integer where
213 randomR ival g = randomIvalInteger ival g
215 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
216
218
217 instance Random Int where randomR = randomIvalIntegral; random = randomBounded
219 instance Random Int where randomR = randomIvalIntegral; random = randomBounded
218 instance Random Int8 where randomR = randomIvalIntegral; random = randomBounded
220 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
220 instance Random CUIntMax where randomR = randomIvalIntegral; random = randomBounded
222 instance Random CUIntMax where randomR = randomIvalIntegral; random = randomBounded
221
223
222 instance Random Char where
224 instance Random Char where
@@ -233,7 +235,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
233 case (randomIvalInteger (bool2Int a, bool2Int b) g) of
235 case (randomIvalInteger (bool2Int a, bool2Int b) g) of
234 (x, g') -> (int2Bool x, g')
236 (x, g') -> (int2Bool x, g')
235 where
237 where
236−@@ -392,42 +392,42 @@
238+@@ -392,42 +392,42 @@ instance Random Bool where
237 bool2Int False = 0
239 bool2Int False = 0
238 bool2Int True = 1
240 bool2Int True = 1
239
241
@@ -298,7 +300,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
298 -- (encodeFloat rand (-24), rng')
300 -- (encodeFloat rand (-24), rng')
299 where
301 where
300 mask24 = twoto24 - 1
302 mask24 = twoto24 - 1
301−@@ -436,8 +436,8 @@
303+@@ -436,8 +436,8 @@ instance Random Float where
302 -- CFloat/CDouble are basically the same as a Float/Double:
304 -- CFloat/CDouble are basically the same as a Float/Double:
303 instance Random CFloat where
305 instance Random CFloat where
304 randomR = randomRFloating
306 randomR = randomRFloating
@@ -309,7 +311,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
309
311
310 instance Random CDouble where
312 instance Random CDouble where
311 randomR = randomRFloating
313 randomR = randomRFloating
312−@@ -445,8 +445,8 @@
314+@@ -445,8 +445,8 @@ instance Random CDouble where
313 -- Presently, this is showing better performance than the Double instance:
315 -- 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!)
316 -- (And yet, if the Double instance uses randomFrac then its performance is much worse!)
315 random = randomFrac
317 random = randomFrac
@@ -320,7 +322,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
320
322
321 mkStdRNG :: Integer -> IO StdGen
323 mkStdRNG :: Integer -> IO StdGen
322 mkStdRNG o = do
324 mkStdRNG o = do
323−@@ -463,7 +463,7 @@
325+@@ -463,7 +463,7 @@ randomIvalIntegral (l,h) = randomIvalInteger (toInteger l, toInteger h)
324
326
325 {-# SPECIALIZE randomIvalInteger :: (Num a) =>
327 {-# SPECIALIZE randomIvalInteger :: (Num a) =>
326 (Integer, Integer) -> StdGen -> (a, StdGen) #-}
328 (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
329 randomIvalInteger :: (RandomGen g, Num a) => (Integer, Integer) -> g -> (a, g)
331 randomIvalInteger :: (RandomGen g, Num a) => (Integer, Integer) -> g -> (a, g)
330 randomIvalInteger (l,h) rng
332 randomIvalInteger (l,h) rng
331 | l > h = randomIvalInteger (h,l) rng
333 | l > h = randomIvalInteger (h,l) rng
332−@@ -482,7 +482,7 @@
334+@@ -482,7 +482,7 @@ randomIvalInteger (l,h) rng
333 k = h - l + 1
335 k = h - l + 1
334 magtgt = k * q
336 magtgt = k * q
335
337
@@ -338,7 +340,7 @@ diff -ur hackage-package-random-1.1/System/Random.hs ghc-package-random-1.1/Syst
338 f mag v g | mag >= magtgt = (v, g)
340 f mag v g | mag >= magtgt = (v, g)
339 | otherwise = v' `seq`f (mag*b) v' g' where
341 | otherwise = v' `seq`f (mag*b) v' g' where
340 (x,g') = next g
342 (x,g') = next g
341−@@ -494,18 +494,18 @@
343+@@ -494,18 +494,18 @@ randomFrac :: (RandomGen g, Fractional a) => g -> (a, g)
342 randomFrac = randomIvalDouble (0::Double,1) realToFrac
344 randomFrac = randomIvalDouble (0::Double,1) realToFrac
343
345
344 randomIvalDouble :: (RandomGen g, Fractional a) => (Double, Double) -> (Double -> a) -> g -> (a, g)
346 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
366
368
367 int32Count :: Integer
369 int32Count :: Integer
368 int32Count = toInteger (maxBound::Int32) - toInteger (minBound::Int32) + 1 -- GHC ticket #3982
370 int32Count = toInteger (maxBound::Int32) - toInteger (minBound::Int32) + 1 -- GHC ticket #3982
369−@@ -516,16 +516,16 @@
371+@@ -516,16 +516,16 @@ stdRange = (1, 2147483562)
370 stdNext :: StdGen -> (Int, StdGen)
372 stdNext :: StdGen -> (Int, StdGen)
371 -- Returns values in the range stdRange
373 -- Returns values in the range stdRange
372 stdNext (StdGen s1 s2) = (fromIntegral z', StdGen s1'' s2'')
374 stdNext (StdGen s1 s2) = (fromIntegral z', StdGen s1'' s2'')
373- where z' = if z < 1 then z + 2147483562 else z
375- where z' = if z < 1 then z + 2147483562 else z
374- z = s1'' - s2''
376- z = s1'' - s2''
375−+ where z' = if z < 1 then z + 2147483562 else z
377+-
376−+ z = s1'' - s2''
377−
378- k = s1 `quot` 53668
378- k = s1 `quot` 53668
379- s1' = 40014 * (s1 - k * 53668) - k * 12211
379- s1' = 40014 * (s1 - k * 53668) - k * 12211
380- s1'' = if s1' < 0 then s1' + 2147483563 else s1'
380- 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
382- k' = s2 `quot` 52774
382- k' = s2 `quot` 52774
383- s2' = 40692 * (s2 - k' * 52774) - k' * 3791
383- s2' = 40692 * (s2 - k' * 52774) - k' * 3791
384- s2'' = if s2' < 0 then s2' + 2147483399 else s2'
384- 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++
385+ k = s1 `quot` 53668
388+ k = s1 `quot` 53668
386+ s1' = 40014 * (s1 - k * 53668) - k * 12211
389+ s1' = 40014 * (s1 - k * 53668) - k * 12211
387+ s1'' = if s1' < 0 then s1' + 2147483563 else s1'
390+ 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
392
395
393 stdSplit :: StdGen -> (StdGen, StdGen)
396 stdSplit :: StdGen -> (StdGen, StdGen)
394 stdSplit std@(StdGen s1 s2)
397 stdSplit std@(StdGen s1 s2)
395−diff -ur hackage-package-random-1.1/random.cabal ghc-package-random-1.1/random.cabal
398+diff --git a/random.cabal b/random.cabal
396−--- hackage-package-random-1.1/random.cabal 2014-09-17 05:34:43.000000000 +0800
399+index fd29840..a28063c 100644
397−+++ ghc-package-random-1.1/random.cabal 2001-09-09 09:46:40.000000000 +0800
400+--- a/random.cabal
401++++ b/random.cabal
398−@@ -40,7 +40,7 @@
402+@@ -40,7 +40,7 @@ Library
399
403
400 source-repository head
404 source-repository head
401 type: git
405 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
1+diff --git a/configure b/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
2+index f4f4dba..f5fae2b 100644
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
3+--- a/configure
4++++ b/configure
4@@ -1,6 +1,6 @@
5@@ -1,6 +1,6 @@
5 #! /bin/sh
6 #! /bin/sh
6 # Guess values for system-dependent variables and create Makefiles.
7 # 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
9 #
10 #
10 # Report bugs to <ashley@semantic.org>.
11 # Report bugs to <ashley@semantic.org>.
11 #
12 #
12−@@ -580,8 +580,8 @@
13+@@ -580,8 +580,8 @@ MAKEFLAGS=
13 # Identity of this package.
14 # Identity of this package.
14 PACKAGE_NAME='Haskell time package'
15 PACKAGE_NAME='Haskell time package'
15 PACKAGE_TARNAME='time'
16 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
20 PACKAGE_BUGREPORT='ashley@semantic.org'
21 PACKAGE_BUGREPORT='ashley@semantic.org'
21 PACKAGE_URL=''
22 PACKAGE_URL=''
22
23
23−@@ -653,7 +653,6 @@
24+@@ -653,7 +653,6 @@ infodir
24 docdir
25 docdir
25 oldincludedir
26 oldincludedir
26 includedir
27 includedir
@@ -28,7 +29,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
28 localstatedir
29 localstatedir
29 sharedstatedir
30 sharedstatedir
30 sysconfdir
31 sysconfdir
31−@@ -726,7 +725,6 @@
32+@@ -726,7 +725,6 @@ datadir='${datarootdir}'
32 sysconfdir='${prefix}/etc'
33 sysconfdir='${prefix}/etc'
33 sharedstatedir='${prefix}/com'
34 sharedstatedir='${prefix}/com'
34 localstatedir='${prefix}/var'
35 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
36 includedir='${prefix}/include'
37 includedir='${prefix}/include'
37 oldincludedir='/usr/include'
38 oldincludedir='/usr/include'
38 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40+@@ -979,15 +977,6 @@ do
40 | -silent | --silent | --silen | --sile | --sil)
41 | -silent | --silent | --silen | --sile | --sil)
41 silent=yes ;;
42 silent=yes ;;
42
43
@@ -52,7 +53,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
52 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53 ac_prev=sbindir ;;
54 ac_prev=sbindir ;;
54 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56+@@ -1125,7 +1114,7 @@ fi
56 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57 datadir sysconfdir sharedstatedir localstatedir includedir \
58 datadir sysconfdir sharedstatedir localstatedir includedir \
58 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
59 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
61 do
62 do
62 eval ac_val=\$$ac_var
63 eval ac_val=\$$ac_var
63 # Remove trailing slashes.
64 # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65+@@ -1238,7 +1227,7 @@ if test "$ac_init_help" = "long"; then
65 # Omit some internal or obsolete options to make the list less imposing.
66 # 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 # This message is too long to be a string in the A/UX 3.1 sh.
67 cat <<_ACEOF
68 cat <<_ACEOF
@@ -70,7 +71,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
70
71
71 Usage: $0 [OPTION]... [VAR=VALUE]...
72 Usage: $0 [OPTION]... [VAR=VALUE]...
72
73
73−@@ -1278,7 +1267,6 @@
74+@@ -1278,7 +1267,6 @@ Fine tuning of the installation directories:
74 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
77 --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
78 --libdir=DIR object code libraries [EPREFIX/lib]
79 --libdir=DIR object code libraries [EPREFIX/lib]
79 --includedir=DIR C header files [PREFIX/include]
80 --includedir=DIR C header files [PREFIX/include]
80 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82+@@ -1300,7 +1288,7 @@ fi
82
83
83 if test -n "$ac_init_help"; then
84 if test -n "$ac_init_help"; then
84 case $ac_init_help in
85 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
87 esac
88 esac
88 cat <<\_ACEOF
89 cat <<\_ACEOF
89
90
90−@@ -1386,7 +1374,7 @@
91+@@ -1386,7 +1374,7 @@ fi
91 test -n "$ac_init_help" && exit $ac_status
92 test -n "$ac_init_help" && exit $ac_status
92 if $ac_init_version; then
93 if $ac_init_version; then
93 cat <<\_ACEOF
94 cat <<\_ACEOF
@@ -96,7 +97,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
96 generated by GNU Autoconf 2.69
97 generated by GNU Autoconf 2.69
97
98
98 Copyright (C) 2012 Free Software Foundation, Inc.
99 Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100+@@ -1858,7 +1846,7 @@ cat >config.log <<_ACEOF
100 This file contains any messages produced by compilers while
101 This file contains any messages produced by compilers while
101 running configure, to aid debugging if configure makes a mistake.
102 running configure, to aid debugging if configure makes a mistake.
102
103
@@ -105,7 +106,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
105 generated by GNU Autoconf 2.69. Invocation command line was
106 generated by GNU Autoconf 2.69. Invocation command line was
106
107
107 $ $0 $@
108 $ $0 $@
108−@@ -4193,7 +4181,7 @@
109+@@ -4193,7 +4181,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
109 # report actual input values of CONFIG_FILES etc. instead of their
110 # report actual input values of CONFIG_FILES etc. instead of their
110 # values after options handling.
111 # values after options handling.
111 ac_log="
112 ac_log="
@@ -114,7 +115,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
114 generated by GNU Autoconf 2.69. Invocation command line was
115 generated by GNU Autoconf 2.69. Invocation command line was
115
116
116 CONFIG_FILES = $CONFIG_FILES
117 CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118+@@ -4246,7 +4234,7 @@ _ACEOF
118 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120 ac_cs_version="\\
121 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
123 configured by $0, generated by GNU Autoconf 2.69,
124 configured by $0, generated by GNU Autoconf 2.69,
124 with options \\"\$ac_cs_config\\"
125 with options \\"\$ac_cs_config\\"
125
126
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+diff --git a/lib/include/HsTimeConfig.h b/lib/include/HsTimeConfig.h
128+index a1e2513..20798c5 100644
127−--- hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2017-05-13 18:29:46.000000000 +0800
129+--- a/lib/include/HsTimeConfig.h
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
130++++ b/lib/include/HsTimeConfig.h
129@@ -69,7 +69,7 @@
131@@ -69,7 +69,7 @@
130 #define PACKAGE_NAME "Haskell time package"
132 #define PACKAGE_NAME "Haskell time package"
131
133
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
1+diff --git a/configure b/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
2+index ea0475d..a3897ae 100644
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
3+--- a/configure
4++++ b/configure
4−@@ -667,7 +667,6 @@
5+@@ -667,7 +667,6 @@ infodir
5 docdir
6 docdir
6 oldincludedir
7 oldincludedir
7 includedir
8 includedir
@@ -9,7 +10,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
9 localstatedir
10 localstatedir
10 sharedstatedir
11 sharedstatedir
11 sysconfdir
12 sysconfdir
12−@@ -739,7 +738,6 @@
13+@@ -739,7 +738,6 @@ datadir='${datarootdir}'
13 sysconfdir='${prefix}/etc'
14 sysconfdir='${prefix}/etc'
14 sharedstatedir='${prefix}/com'
15 sharedstatedir='${prefix}/com'
15 localstatedir='${prefix}/var'
16 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
17 includedir='${prefix}/include'
18 includedir='${prefix}/include'
18 oldincludedir='/usr/include'
19 oldincludedir='/usr/include'
19 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21+@@ -992,15 +990,6 @@ do
21 | -silent | --silent | --silen | --sile | --sil)
22 | -silent | --silent | --silen | --sile | --sil)
22 silent=yes ;;
23 silent=yes ;;
23
24
@@ -33,7 +34,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
33 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34 ac_prev=sbindir ;;
35 ac_prev=sbindir ;;
35 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37+@@ -1138,7 +1127,7 @@ fi
37 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38 datadir sysconfdir sharedstatedir localstatedir includedir \
39 datadir sysconfdir sharedstatedir localstatedir includedir \
39 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
40 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
42 do
43 do
43 eval ac_val=\$$ac_var
44 eval ac_val=\$$ac_var
44 # Remove trailing slashes.
45 # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46+@@ -1291,7 +1280,6 @@ Fine tuning of the installation directories:
46 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
49 --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
50 --libdir=DIR object code libraries [EPREFIX/lib]
51 --libdir=DIR object code libraries [EPREFIX/lib]
51 --includedir=DIR C header files [PREFIX/include]
52 --includedir=DIR C header files [PREFIX/include]
52 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54+@@ -3782,7 +3770,7 @@ else
54 We can't simply define LARGE_OFF_T to be 9223372036854775807,
55 We can't simply define LARGE_OFF_T to be 9223372036854775807,
55 since some C++ compilers masquerading as C compilers
56 since some C++ compilers masquerading as C compilers
56 incorrectly reject 9223372036854775807. */
57 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
59 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60 && LARGE_OFF_T % 2147483647 == 1)
61 && LARGE_OFF_T % 2147483647 == 1)
61 ? 1 : -1];
62 ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63+@@ -3828,7 +3816,7 @@ else
63 We can't simply define LARGE_OFF_T to be 9223372036854775807,
64 We can't simply define LARGE_OFF_T to be 9223372036854775807,
64 since some C++ compilers masquerading as C compilers
65 since some C++ compilers masquerading as C compilers
65 incorrectly reject 9223372036854775807. */
66 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
68 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69 && LARGE_OFF_T % 2147483647 == 1)
70 && LARGE_OFF_T % 2147483647 == 1)
70 ? 1 : -1];
71 ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72+@@ -3852,7 +3840,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72 We can't simply define LARGE_OFF_T to be 9223372036854775807,
73 We can't simply define LARGE_OFF_T to be 9223372036854775807,
73 since some C++ compilers masquerading as C compilers
74 since some C++ compilers masquerading as C compilers
74 incorrectly reject 9223372036854775807. */
75 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
77 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78 && LARGE_OFF_T % 2147483647 == 1)
79 && LARGE_OFF_T % 2147483647 == 1)
79 ? 1 : -1];
80 ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81+@@ -3897,7 +3885,7 @@ else
81 We can't simply define LARGE_OFF_T to be 9223372036854775807,
82 We can't simply define LARGE_OFF_T to be 9223372036854775807,
82 since some C++ compilers masquerading as C compilers
83 since some C++ compilers masquerading as C compilers
83 incorrectly reject 9223372036854775807. */
84 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
86 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87 && LARGE_OFF_T % 2147483647 == 1)
88 && LARGE_OFF_T % 2147483647 == 1)
88 ? 1 : -1];
89 ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90+@@ -3921,7 +3909,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90 We can't simply define LARGE_OFF_T to be 9223372036854775807,
91 We can't simply define LARGE_OFF_T to be 9223372036854775807,
91 since some C++ compilers masquerading as C compilers
92 since some C++ compilers masquerading as C compilers
92 incorrectly reject 9223372036854775807. */
93 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
95 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96 && LARGE_OFF_T % 2147483647 == 1)
97 && LARGE_OFF_T % 2147483647 == 1)
97 ? 1 : -1];
98 ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99+diff --git a/unix.cabal b/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100+index cf44068..6714fb2 100644
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101+--- a/unix.cabal
102++++ b/unix.cabal
101−@@ -62,7 +62,7 @@
103+@@ -62,7 +62,7 @@ library
102 buildable: False
104 buildable: False
103
105
104 build-depends:
106 build-depends:
patches/ghc844/vector-0.11.0.0.patch+208−190
@@ -1,7 +1,88 @@
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+
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
81+diff --git a/Data/Vector/Fusion/Bundle/Monadic.hs b/Data/Vector/Fusion/Bundle/Monadic.hs
82+index 66789d9..9f9a81a 100644
2−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
83+--- a/Data/Vector/Fusion/Bundle/Monadic.hs
3−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
84++++ b/Data/Vector/Fusion/Bundle/Monadic.hs
4−@@ -101,12 +101,20 @@
85+@@ -101,12 +101,20 @@ import Prelude hiding ( length, null,
5 scanl, scanl1,
86 scanl, scanl1,
6 enumFromTo, enumFromThenTo )
87 enumFromTo, enumFromThenTo )
7
88
@@ -24,7 +105,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
24 data Chunk v a = Chunk Int (forall m. (PrimMonad m, Vector v a) => Mutable v (PrimState m) a -> m ())
105 data Chunk v a = Chunk Int (forall m. (PrimMonad m, Vector v a) => Mutable v (PrimState m) a -> m ())
25
106
26 -- | Monadic streams
107 -- | 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
28 :: Monad m => Integer -> Integer -> Bundle m v Integer #-}
109 :: Monad m => Integer -> Integer -> Bundle m v Integer #-}
29
110
30
111
@@ -32,7 +113,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
32
113
33 -- FIXME: the "too large" test is totally wrong
114 -- FIXME: the "too large" test is totally wrong
34 enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Bundle m v a
115 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
36 step z | z <= y = return $ Yield z (z+1)
117 step z | z <= y = return $ Yield z (z+1)
37 | otherwise = return $ Done
118 | otherwise = return $ Done
38
119
@@ -40,22 +121,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Bundle/Monadic.hs gh
40
121
41 {-# RULES
122 {-# RULES
42
123
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
124+diff --git a/Data/Vector/Fusion/Stream/Monadic.hs b/Data/Vector/Fusion/Stream/Monadic.hs
125+index a0c13e4..7297587 100644
56−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2015-07-13 12:26:16.000000000 +0800
126+--- a/Data/Vector/Fusion/Stream/Monadic.hs
57−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs 2001-09-09 09:46:40.000000000 +0800
127++++ b/Data/Vector/Fusion/Stream/Monadic.hs
58−@@ -89,8 +89,12 @@
128+@@ -89,8 +89,12 @@ import Prelude hiding ( length, null,
59 scanl, scanl1,
129 scanl, scanl1,
60 enumFromTo, enumFromThenTo )
130 enumFromTo, enumFromThenTo )
61
131
@@ -69,7 +139,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
69
139
70 #if __GLASGOW_HASKELL__ >= 708
140 #if __GLASGOW_HASKELL__ >= 708
71 import GHC.Types ( SPEC(..) )
141 import GHC.Types ( SPEC(..) )
72−@@ -101,6 +105,10 @@
142+@@ -101,6 +105,10 @@ import GHC.Exts ( SpecConstrAnnotation(..) )
73 #include "vector.h"
143 #include "vector.h"
74 #include "MachDeps.h"
144 #include "MachDeps.h"
75
145
@@ -80,7 +150,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
80 #if __GLASGOW_HASKELL__ < 708
150 #if __GLASGOW_HASKELL__ < 708
81 data SPEC = SPEC | SPEC2
151 data SPEC = SPEC | SPEC2
82 #if __GLASGOW_HASKELL__ >= 700
152 #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
84
154
85
155
86
156
@@ -89,7 +159,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
89 -- FIXME: the "too large" test is totally wrong
159 -- FIXME: the "too large" test is totally wrong
90 enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Stream m a
160 enumFromTo_big_int :: (Integral a, Monad m) => a -> a -> Stream m a
91 {-# INLINE_FUSED enumFromTo_big_int #-}
161 {-# 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
93 step z | z <= y = return $ Yield z (z+1)
163 step z | z <= y = return $ Yield z (z+1)
94 | otherwise = return $ Done
164 | otherwise = return $ Done
95
165
@@ -98,15 +168,16 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Stream/Monadic.hs gh
98 {-# RULES
168 {-# RULES
99
169
100 "enumFromTo<Int64> [Stream]"
170 "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
171+diff --git a/Data/Vector/Fusion/Util.hs b/Data/Vector/Fusion/Util.hs
172+index 50f6b4d..855bf5d 100644
102−--- hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2015-07-13 12:26:16.000000000 +0800
173+--- a/Data/Vector/Fusion/Util.hs
103−+++ ghc-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs 2001-09-09 09:46:40.000000000 +0800
174++++ b/Data/Vector/Fusion/Util.hs
104@@ -1,3 +1,4 @@
175@@ -1,3 +1,4 @@
105+{-# LANGUAGE CPP #-}
176+{-# LANGUAGE CPP #-}
106 -- |
177 -- |
107 -- Module : Data.Vector.Fusion.Util
178 -- Module : Data.Vector.Fusion.Util
108 -- Copyright : (c) Roman Leshchinskiy 2009
179 -- Copyright : (c) Roman Leshchinskiy 2009
109−@@ -16,7 +17,9 @@
180+@@ -16,7 +17,9 @@ module Data.Vector.Fusion.Util (
110 delay_inline, delayed_min
181 delay_inline, delayed_min
111 ) where
182 ) where
112
183
@@ -116,7 +187,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
116
187
117 -- | Identity monad
188 -- | Identity monad
118 newtype Id a = Id { unId :: a }
189 newtype Id a = Id { unId :: a }
119−@@ -29,7 +32,7 @@
190+@@ -29,7 +32,7 @@ instance Applicative Id where
120 Id f <*> Id x = Id (f x)
191 Id f <*> Id x = Id (f x)
121
192
122 instance Monad Id where
193 instance Monad Id where
@@ -125,7 +196,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
125 Id x >>= f = f x
196 Id x >>= f = f x
126
197
127 -- | Box monad
198 -- | Box monad
128−@@ -43,7 +46,7 @@
199+@@ -43,7 +46,7 @@ instance Applicative Box where
129 Box f <*> Box x = Box (f x)
200 Box f <*> Box x = Box (f x)
130
201
131 instance Monad Box where
202 instance Monad Box where
@@ -134,27 +205,16 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Fusion/Util.hs ghc-package-
134 Box x >>= f = f x
205 Box x >>= f = f x
135
206
136 -- | Delay inlining a function until late in the game (simplifier phase 0).
207 -- | 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
138 delayed_min :: Int -> Int -> Int
209 delayed_min :: Int -> Int -> Int
139 {-# INLINE [0] delayed_min #-}
210 {-# INLINE [0] delayed_min #-}
140 delayed_min m n = min m n
211 delayed_min m n = min m n
141-
212-
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
213+diff --git a/Data/Vector/Generic.hs b/Data/Vector/Generic.hs
143−--- hackage-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
214+index 478a75a..a299d86 100644
215+--- a/Data/Vector/Generic.hs
144−+++ ghc-package-vector-0.11.0.0/Data/Vector/Generic/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
216++++ b/Data/Vector/Generic.hs
145−@@ -584,7 +584,7 @@
217+@@ -1038,7 +1038,7 @@ imapM_ :: (Monad m, Vector v a) => (Int -> a -> m b) -> v a -> m ()
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
218 imapM_ f = Bundle.mapM_ (uncurry f) . Bundle.indexed . stream
159
219
160 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
220 -- | /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
163 forM :: (Monad m, Vector v a, Vector v b) => v a -> (a -> m b) -> m (v b)
223 forM :: (Monad m, Vector v a, Vector v b) => v a -> (a -> m b) -> m (v b)
164 {-# INLINE forM #-}
224 {-# INLINE forM #-}
165 forM as f = mapM f as
225 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
226+diff --git a/Data/Vector/Generic/Mutable.hs b/Data/Vector/Generic/Mutable.hs
167−--- hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
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
168−+++ ghc-package-vector-0.11.0.0/Data/Vector/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
241+--- a/Data/Vector/Mutable.hs
169−@@ -268,7 +268,7 @@
242++++ b/Data/Vector/Mutable.hs
243+@@ -268,7 +268,7 @@ new :: PrimMonad m => Int -> m (MVector (PrimState m) a)
170 {-# INLINE new #-}
244 {-# INLINE new #-}
171 new = G.new
245 new = G.new
172
246
@@ -175,10 +249,34 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Mutable.hs ghc-package-vect
175 unsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) a)
249 unsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) a)
176 {-# INLINE unsafeNew #-}
250 {-# INLINE unsafeNew #-}
177 unsafeNew = G.unsafeNew
251 unsafeNew = G.unsafeNew
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
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
275+diff --git a/Data/Vector/Primitive/Mutable.hs b/Data/Vector/Primitive/Mutable.hs
276+index 85595ae..2a2eb1e 100644
179−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
277+--- a/Data/Vector/Primitive/Mutable.hs
180−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
278++++ b/Data/Vector/Primitive/Mutable.hs
181−@@ -211,7 +211,7 @@
279+@@ -211,7 +211,7 @@ new :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
182 {-# INLINE new #-}
280 {-# INLINE new #-}
183 new = G.new
281 new = G.new
184
282
@@ -187,10 +285,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive/Mutable.hs ghc-pa
187 unsafeNew :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
285 unsafeNew :: (PrimMonad m, Prim a) => Int -> m (MVector (PrimState m) a)
188 {-# INLINE unsafeNew #-}
286 {-# INLINE unsafeNew #-}
189 unsafeNew = G.unsafeNew
287 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
288+diff --git a/Data/Vector/Storable.hs b/Data/Vector/Storable.hs
191−--- hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2015-07-13 12:26:16.000000000 +0800
289+index 1d0f46e..ae4e4bb 100644
192−+++ ghc-package-vector-0.11.0.0/Data/Vector/Primitive.hs 2001-09-09 09:46:40.000000000 +0800
290+--- a/Data/Vector/Storable.hs
193−@@ -164,7 +164,9 @@
291++++ b/Data/Vector/Storable.hs
292+@@ -169,7 +169,9 @@ import Data.Typeable ( Typeable )
194 import Data.Data ( Data(..) )
293 import Data.Data ( Data(..) )
195 import Text.Read ( Read(..), readListPrecDefault )
294 import Text.Read ( Read(..), readListPrecDefault )
196
295
@@ -200,25 +299,26 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Primitive.hs ghc-package-ve
200
299
201 #if __GLASGOW_HASKELL__ >= 708
300 #if __GLASGOW_HASKELL__ >= 708
202 import qualified GHC.Exts as Exts
301 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 ()
204 mapM_ = G.mapM_
303 mapM_ = G.mapM_
205
304
206 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
305 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
207--- vector of results. Equvalent to @flip 'mapM'@.
306--- vector of results. Equvalent to @flip 'mapM'@.
208+-- vector of results. Equivalent to @flip 'mapM'@.
307+-- 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)
210 {-# INLINE forM #-}
309 {-# INLINE forM #-}
211 forM = G.forM
310 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
311+diff --git a/Data/Vector/Storable/Mutable.hs b/Data/Vector/Storable/Mutable.hs
312+index 44688b0..c1c1ac1 100644
213−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
313+--- a/Data/Vector/Storable/Mutable.hs
214−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
314++++ b/Data/Vector/Storable/Mutable.hs
215@@ -1,4 +1,4 @@
315@@ -1,4 +1,4 @@
216-{-# LANGUAGE CPP, DeriveDataTypeable, MultiParamTypeClasses, FlexibleInstances, ScopedTypeVariables #-}
316-{-# LANGUAGE CPP, DeriveDataTypeable, MultiParamTypeClasses, FlexibleInstances, ScopedTypeVariables #-}
217+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, MagicHash, MultiParamTypeClasses, ScopedTypeVariables #-}
317+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, MagicHash, MultiParamTypeClasses, ScopedTypeVariables #-}
218
318
219 -- |
319 -- |
220 -- Module : Data.Vector.Storable.Mutable
320 -- Module : Data.Vector.Storable.Mutable
221−@@ -65,8 +65,13 @@
321+@@ -65,8 +65,13 @@ import Data.Vector.Storable.Internal
222 import Foreign.Storable
322 import Foreign.Storable
223 import Foreign.ForeignPtr
323 import Foreign.ForeignPtr
224
324
@@ -234,7 +334,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
234 #endif
334 #endif
235
335
236 import Foreign.Ptr
336 import Foreign.Ptr
237−@@ -201,11 +206,26 @@
337+@@ -201,11 +206,26 @@ storableSetAsPrim n fp x y = withForeignPtr fp $ \(Ptr p) -> do
238 {-# INLINE mallocVector #-}
338 {-# INLINE mallocVector #-}
239 mallocVector :: Storable a => Int -> IO (ForeignPtr a)
339 mallocVector :: Storable a => Int -> IO (ForeignPtr a)
240 mallocVector =
340 mallocVector =
@@ -266,7 +366,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
266 #else
366 #else
267 mallocForeignPtrArray
367 mallocForeignPtrArray
268 #endif
368 #endif
269−@@ -293,7 +313,7 @@
369+@@ -293,7 +313,7 @@ new :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
270 {-# INLINE new #-}
370 {-# INLINE new #-}
271 new = G.new
371 new = G.new
272
372
@@ -275,7 +375,7 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Storable/Mutable.hs ghc-pac
275 unsafeNew :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
375 unsafeNew :: (PrimMonad m, Storable a) => Int -> m (MVector (PrimState m) a)
276 {-# INLINE unsafeNew #-}
376 {-# INLINE unsafeNew #-}
277 unsafeNew = G.unsafeNew
377 unsafeNew = G.unsafeNew
278−@@ -322,14 +342,14 @@
378+@@ -322,14 +342,14 @@ clone = G.clone
279 -- | Grow a vector by the given number of elements. The number must be
379 -- | Grow a vector by the given number of elements. The number must be
280 -- positive.
380 -- positive.
281 grow :: (PrimMonad m, Storable a)
381 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
292 {-# INLINE unsafeGrow #-}
392 {-# INLINE unsafeGrow #-}
293 unsafeGrow = G.unsafeGrow
393 unsafeGrow = G.unsafeGrow
294
394
295−@@ -401,7 +421,7 @@
395+@@ -401,7 +421,7 @@ set = G.set
296 -- | Copy a vector. The two vectors must have the same length and may not
396 -- | Copy a vector. The two vectors must have the same length and may not
297 -- overlap.
397 -- overlap.
298 copy :: (PrimMonad m, Storable a)
398 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
301 {-# INLINE copy #-}
401 {-# INLINE copy #-}
302 copy = G.copy
402 copy = G.copy
303
403
304−@@ -422,7 +442,7 @@
404+@@ -422,7 +442,7 @@ unsafeCopy = G.unsafeCopy
305 -- copied to a temporary vector and then the temporary vector was copied
405 -- copied to a temporary vector and then the temporary vector was copied
306 -- to the target vector.
406 -- to the target vector.
307 move :: (PrimMonad m, Storable a)
407 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
310 {-# INLINE move #-}
410 {-# INLINE move #-}
311 move = G.move
411 move = G.move
312
412
313−@@ -434,9 +454,9 @@
413+@@ -434,9 +454,9 @@ move = G.move
314 -- copied to a temporary vector and then the temporary vector was copied
414 -- copied to a temporary vector and then the temporary vector was copied
315 -- to the target vector.
415 -- to the target vector.
316 unsafeMove :: (PrimMonad m, Storable a)
416 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
323 {-# INLINE unsafeMove #-}
423 {-# INLINE unsafeMove #-}
324 unsafeMove = G.unsafeMove
424 unsafeMove = G.unsafeMove
325
425
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
426+diff --git a/Data/Vector/Unboxed.hs b/Data/Vector/Unboxed.hs
327−--- hackage-package-vector-0.11.0.0/Data/Vector/Storable.hs 2015-07-13 12:26:16.000000000 +0800
427+index 1b2062f..1d5f121 100644
328−+++ ghc-package-vector-0.11.0.0/Data/Vector/Storable.hs 2001-09-09 09:46:40.000000000 +0800
428+--- a/Data/Vector/Unboxed.hs
329−@@ -169,7 +169,9 @@
429++++ b/Data/Vector/Unboxed.hs
330− import Data.Data ( Data(..) )
430+@@ -186,7 +186,9 @@ import Prelude hiding ( length, null,
431+
331 import Text.Read ( Read(..), readListPrecDefault )
432 import Text.Read ( Read(..), readListPrecDefault )
332
433
333+#if !MIN_VERSION_base(4,8,0)
434+#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
335+#endif
436+#endif
336
437
337 #if __GLASGOW_HASKELL__ >= 708
438 #if __GLASGOW_HASKELL__ >= 708
338− import qualified GHC.Exts as Exts
439+ import qualified GHC.Exts as Exts (IsList(..))
339−@@ -783,7 +785,7 @@
440+@@ -820,7 +822,7 @@ imapM_ :: (Monad m, Unbox a) => (Int -> a -> m b) -> Vector a -> m ()
340− mapM_ = G.mapM_
441+ imapM_ = G.imapM_
341
442
342 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
443 -- | /O(n)/ Apply the monadic action to all elements of the vector, yielding a
343--- vector of results. Equvalent to @flip 'mapM'@.
444--- vector of results. Equvalent to @flip 'mapM'@.
344+-- vector of results. Equivalent to @flip 'mapM'@.
445+-- 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)
346 {-# INLINE forM #-}
447 {-# INLINE forM #-}
347 forM = G.forM
448 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
449+diff --git a/Data/Vector/Unboxed/Base.hs b/Data/Vector/Unboxed/Base.hs
450+index ee41966..56c6735 100644
349−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2015-07-13 12:26:16.000000000 +0800
451+--- a/Data/Vector/Unboxed/Base.hs
350−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs 2001-09-09 09:46:40.000000000 +0800
452++++ b/Data/Vector/Unboxed/Base.hs
351−@@ -30,10 +30,14 @@
453+@@ -30,10 +30,14 @@ import Control.DeepSeq ( NFData(rnf) )
352 import Control.Monad.Primitive
454 import Control.Monad.Primitive
353 import Control.Monad ( liftM )
455 import Control.Monad ( liftM )
354
456
@@ -364,10 +466,11 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Base.hs ghc-package
364 #if __GLASGOW_HASKELL__ >= 707
466 #if __GLASGOW_HASKELL__ >= 707
365 import Data.Typeable ( Typeable )
467 import Data.Typeable ( Typeable )
366 #else
468 #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
469+diff --git a/Data/Vector/Unboxed/Mutable.hs b/Data/Vector/Unboxed/Mutable.hs
470+index 78e473e..a94c07f 100644
368−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2015-07-13 12:26:16.000000000 +0800
471+--- a/Data/Vector/Unboxed/Mutable.hs
369−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs 2001-09-09 09:46:40.000000000 +0800
472++++ b/Data/Vector/Unboxed/Mutable.hs
370−@@ -149,7 +149,7 @@
473+@@ -149,7 +149,7 @@ new :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
371 {-# INLINE new #-}
474 {-# INLINE new #-}
372 new = G.new
475 new = G.new
373
476
@@ -376,106 +479,20 @@ diff -ur hackage-package-vector-0.11.0.0/Data/Vector/Unboxed/Mutable.hs ghc-pack
376 unsafeNew :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
479 unsafeNew :: (PrimMonad m, Unbox a) => Int -> m (MVector (PrimState m) a)
377 {-# INLINE unsafeNew #-}
480 {-# INLINE unsafeNew #-}
378 unsafeNew = G.unsafeNew
481 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
482+diff --git a/include/vector.h b/include/vector.h
380−--- hackage-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2015-07-13 12:26:16.000000000 +0800
483+index df9200c..1568bb2 100644
381−+++ ghc-package-vector-0.11.0.0/Data/Vector/Unboxed.hs 2001-09-09 09:46:40.000000000 +0800
484+--- a/include/vector.h
382−@@ -186,7 +186,9 @@
485++++ b/include/vector.h
383−
486+@@ -18,4 +18,3 @@ import qualified Data.Vector.Internal.Check as Ck
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
487
472 #define PHASE_STREAM Please use "PHASE_FUSED" instead
488 #define PHASE_STREAM Please use "PHASE_FUSED" instead
473 #define INLINE_STREAM Please use "INLINE_FUSED" instead
489 #define INLINE_STREAM Please use "INLINE_FUSED" instead
474-
490-
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
491+diff --git a/tests/Tests/Vector.hs b/tests/Tests/Vector.hs
492+index 9b0a093..e39d24f 100644
476−--- hackage-package-vector-0.11.0.0/tests/Tests/Vector.hs 2015-07-13 12:26:16.000000000 +0800
493+--- a/tests/Tests/Vector.hs
477−+++ ghc-package-vector-0.11.0.0/tests/Tests/Vector.hs 2001-09-09 09:46:40.000000000 +0800
494++++ b/tests/Tests/Vector.hs
478−@@ -643,6 +643,7 @@
495+@@ -643,6 +643,7 @@ tests = [
479 testGroup "Data.Vector.Storable.Vector (Double)" (testNumericStorableVector (undefined :: Data.Vector.Storable.Vector Double)),
496 testGroup "Data.Vector.Storable.Vector (Double)" (testNumericStorableVector (undefined :: Data.Vector.Storable.Vector Double)),
480
497
481 testGroup "Data.Vector.Unboxed.Vector ()" (testUnitUnboxedVector (undefined :: Data.Vector.Unboxed.Vector ())),
498 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
483 testGroup "Data.Vector.Unboxed.Vector (Int)" (testNumericUnboxedVector (undefined :: Data.Vector.Unboxed.Vector Int)),
500 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)),
501 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))),
502 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
503+diff --git a/vector.cabal b/vector.cabal
487−--- hackage-package-vector-0.11.0.0/vector.cabal 2015-07-13 12:26:16.000000000 +0800
504+index ffc5099..d962c72 100644
488−+++ ghc-package-vector-0.11.0.0/vector.cabal 2001-09-09 09:46:40.000000000 +0800
505+--- a/vector.cabal
506++++ b/vector.cabal
489−@@ -38,6 +38,7 @@
507+@@ -38,6 +38,7 @@ Cabal-Version: >=1.10
490 Build-Type: Simple
508 Build-Type: Simple
491
509
492 Extra-Source-Files:
510 Extra-Source-Files:
@@ -494,7 +512,7 @@ diff -ur hackage-package-vector-0.11.0.0/vector.cabal ghc-package-vector-0.11.0.
494 README.md
512 README.md
495 tests/LICENSE
513 tests/LICENSE
496 tests/Setup.hs
514 tests/Setup.hs
497−@@ -137,9 +138,9 @@
515+@@ -137,9 +138,9 @@ Library
498 Install-Includes:
516 Install-Includes:
499 vector.h
517 vector.h
500
518
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
1+diff --git a/Data/Array.hs b/Data/Array.hs
2−--- hackage-package-array-0.5.2.0/Data/Array/Base.hs 2017-07-04 06:06:07.000000000 +0800
2+index a65e2fc..6b632fd 100644
3−+++ ghc-package-array-0.5.2.0/Data/Array/Base.hs 2001-09-09 09:46:40.000000000 +0800
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
4@@ -1,5 +1,15 @@
18@@ -1,5 +1,15 @@
5-{-# LANGUAGE BangPatterns, CPP, RankNTypes, MagicHash, UnboxedTuples, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts, DeriveDataTypeable, UnliftedFFITypes #-}
19-{-# LANGUAGE BangPatterns, CPP, RankNTypes, MagicHash, UnboxedTuples, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts, DeriveDataTypeable, UnliftedFFITypes #-}
6-{-# LANGUAGE RoleAnnotations #-}
20-{-# LANGUAGE RoleAnnotations #-}
@@ -19,7 +33,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
19 {-# OPTIONS_HADDOCK hide #-}
33 {-# OPTIONS_HADDOCK hide #-}
20
34
21 -----------------------------------------------------------------------------
35 -----------------------------------------------------------------------------
22−@@ -39,7 +49,6 @@
36+@@ -39,7 +49,6 @@ import GHC.Word ( Word8(..), Word16(..), Word32(..), Word64(..) )
23 import GHC.IO ( stToIO )
37 import GHC.IO ( stToIO )
24 import GHC.IOArray ( IOArray(..),
38 import GHC.IOArray ( IOArray(..),
25 newIOArray, unsafeReadIOArray, unsafeWriteIOArray )
39 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.
27
41
28 #include "MachDeps.h"
42 #include "MachDeps.h"
29
43
30−@@ -398,7 +407,6 @@
44+@@ -398,7 +407,6 @@ instance IArray Arr.Array e where
31 -- "Data.Array.Unboxed" instead of "Data.Array").
45 -- "Data.Array.Unboxed" instead of "Data.Array").
32 --
46 --
33 data UArray i e = UArray !i !i !Int ByteArray#
47 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.
35 -- There are class-based invariants on both parameters. See also #9220.
49 -- There are class-based invariants on both parameters. See also #9220.
36 type role UArray nominal nominal
50 type role UArray nominal nominal
37
51
38−@@ -979,7 +987,6 @@
52+@@ -979,7 +987,6 @@ instance MArray (STArray s) e (Lazy.ST s) where
39 -- don\'t use 'STUArray' if you require the non-strictness that
53 -- don\'t use 'STUArray' if you require the non-strictness that
40 -- 'STArray' provides.
54 -- 'STArray' provides.
41 data STUArray s i e = STUArray !i !i !Int (MutableByteArray# s)
55 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.
43 -- The "ST" parameter must be nominal for the safety of the ST trick.
57 -- The "ST" parameter must be nominal for the safety of the ST trick.
44 -- The other parameters have class constraints. See also #9220.
58 -- The other parameters have class constraints. See also #9220.
45 type role STUArray nominal nominal nominal
59 type role STUArray nominal nominal nominal
46−@@ -1370,11 +1377,7 @@
60+@@ -1370,11 +1377,7 @@ freeze marr = do
47 -- use the safe array creation function here.
61 -- use the safe array creation function here.
48 return (listArray (l,u) es)
62 return (listArray (l,u) es)
49
63
@@ -55,7 +69,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
55 freezeSTUArray (STUArray l u n marr#) = ST $ \s1# ->
69 freezeSTUArray (STUArray l u n marr#) = ST $ \s1# ->
56 case sizeofMutableByteArray# marr# of { n# ->
70 case sizeofMutableByteArray# marr# of { n# ->
57 case newByteArray# n# s1# of { (# s2#, marr'# #) ->
71 case newByteArray# n# s1# of { (# s2#, marr'# #) ->
58−@@ -1449,11 +1452,7 @@
72+@@ -1449,11 +1452,7 @@ thaw arr = case bounds arr of
59 | i <- [0 .. n - 1]]
73 | i <- [0 .. n - 1]]
60 return marr
74 return marr
61
75
@@ -67,7 +81,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
67 thawSTUArray (UArray l u n arr#) = ST $ \s1# ->
81 thawSTUArray (UArray l u n arr#) = ST $ \s1# ->
68 case sizeofByteArray# arr# of { n# ->
82 case sizeofByteArray# arr# of { n# ->
69 case newByteArray# n# s1# of { (# s2#, marr# #) ->
83 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)
71 unsafeThaw = thaw
85 unsafeThaw = thaw
72
86
73 {-# INLINE unsafeThawSTUArray #-}
87 {-# INLINE unsafeThawSTUArray #-}
@@ -79,7 +93,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
79 unsafeThawSTUArray (UArray l u n marr#) =
93 unsafeThawSTUArray (UArray l u n marr#) =
80 return (STUArray l u n (unsafeCoerce# marr#))
94 return (STUArray l u n (unsafeCoerce# marr#))
81
95
82−@@ -1527,11 +1522,7 @@
96+@@ -1527,11 +1522,7 @@ unsafeThawSTUArray (UArray l u n marr#) =
83 #-}
97 #-}
84
98
85 {-# INLINE unsafeThawIOArray #-}
99 {-# INLINE unsafeThawIOArray #-}
@@ -91,7 +105,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
91 unsafeThawIOArray arr = stToIO $ do
105 unsafeThawIOArray arr = stToIO $ do
92 marr <- ArrST.unsafeThawSTArray arr
106 marr <- ArrST.unsafeThawSTArray arr
93 return (IOArray marr)
107 return (IOArray marr)
94−@@ -1540,11 +1531,7 @@
108+@@ -1540,11 +1531,7 @@ unsafeThawIOArray arr = stToIO $ do
95 "unsafeThaw/IOArray" unsafeThaw = unsafeThawIOArray
109 "unsafeThaw/IOArray" unsafeThaw = unsafeThawIOArray
96 #-}
110 #-}
97
111
@@ -103,7 +117,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
103 thawIOArray arr = stToIO $ do
117 thawIOArray arr = stToIO $ do
104 marr <- ArrST.thawSTArray arr
118 marr <- ArrST.thawSTArray arr
105 return (IOArray marr)
119 return (IOArray marr)
106−@@ -1553,11 +1540,7 @@
120+@@ -1553,11 +1540,7 @@ thawIOArray arr = stToIO $ do
107 "thaw/IOArray" thaw = thawIOArray
121 "thaw/IOArray" thaw = thawIOArray
108 #-}
122 #-}
109
123
@@ -115,7 +129,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
115 freezeIOArray (IOArray marr) = stToIO (ArrST.freezeSTArray marr)
129 freezeIOArray (IOArray marr) = stToIO (ArrST.freezeSTArray marr)
116
130
117 {-# RULES
131 {-# RULES
118−@@ -1565,11 +1548,7 @@
132+@@ -1565,11 +1548,7 @@ freezeIOArray (IOArray marr) = stToIO (ArrST.freezeSTArray marr)
119 #-}
133 #-}
120
134
121 {-# INLINE unsafeFreezeIOArray #-}
135 {-# INLINE unsafeFreezeIOArray #-}
@@ -127,9 +141,10 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/Base.hs ghc-package-array-0.5.
127 unsafeFreezeIOArray (IOArray marr) = stToIO (ArrST.unsafeFreezeSTArray marr)
141 unsafeFreezeIOArray (IOArray marr) = stToIO (ArrST.unsafeFreezeSTArray marr)
128
142
129 {-# RULES
143 {-# 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
144+diff --git a/Data/Array/IO/Internals.hs b/Data/Array/IO/Internals.hs
145+index c9738e9..2b12e36 100644
131−--- hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs 2017-07-04 06:06:07.000000000 +0800
146+--- a/Data/Array/IO/Internals.hs
132−+++ ghc-package-array-0.5.2.0/Data/Array/IO/Internals.hs 2001-09-09 09:46:40.000000000 +0800
147++++ b/Data/Array/IO/Internals.hs
133@@ -1,6 +1,8 @@
148@@ -1,6 +1,8 @@
134-{-# LANGUAGE DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses,
149-{-# LANGUAGE DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses,
135- CPP #-}
150- CPP #-}
@@ -142,7 +157,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-ar
142
157
143 {-# OPTIONS_HADDOCK hide #-}
158 {-# OPTIONS_HADDOCK hide #-}
144 -----------------------------------------------------------------------------
159 -----------------------------------------------------------------------------
145−@@ -27,15 +29,11 @@
160+@@ -27,15 +29,11 @@ module Data.Array.IO.Internals (
146
161
147 import Data.Int
162 import Data.Int
148 import Data.Word
163 import Data.Word
@@ -158,7 +173,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-ar
158 import Data.Array.Base
173 import Data.Array.Base
159
174
160 import GHC.IOArray (IOArray(..))
175 import GHC.IOArray (IOArray(..))
161−@@ -52,7 +50,6 @@
176+@@ -52,7 +50,6 @@ import GHC.IOArray (IOArray(..))
162 -- are supported: see "Data.Array.MArray" for a list of instances.
177 -- are supported: see "Data.Array.MArray" for a list of instances.
163 --
178 --
164 newtype IOUArray i e = IOUArray (STUArray RealWorld i e)
179 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
166 -- Both parameters have class-based invariants. See also #9220.
181 -- Both parameters have class-based invariants. See also #9220.
167 type role IOUArray nominal nominal
182 type role IOUArray nominal nominal
168
183
169−@@ -374,11 +371,7 @@
184+@@ -374,11 +371,7 @@ castIOUArray (IOUArray marr) = stToIO $ do
170 return (IOUArray marr')
185 return (IOUArray marr')
171
186
172 {-# INLINE unsafeThawIOUArray #-}
187 {-# INLINE unsafeThawIOUArray #-}
@@ -178,7 +193,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-ar
178 unsafeThawIOUArray arr = stToIO $ do
193 unsafeThawIOUArray arr = stToIO $ do
179 marr <- unsafeThawSTUArray arr
194 marr <- unsafeThawSTUArray arr
180 return (IOUArray marr)
195 return (IOUArray marr)
181−@@ -387,11 +380,7 @@
196+@@ -387,11 +380,7 @@ unsafeThawIOUArray arr = stToIO $ do
182 "unsafeThaw/IOUArray" unsafeThaw = unsafeThawIOUArray
197 "unsafeThaw/IOUArray" unsafeThaw = unsafeThawIOUArray
183 #-}
198 #-}
184
199
@@ -190,7 +205,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-ar
190 thawIOUArray arr = stToIO $ do
205 thawIOUArray arr = stToIO $ do
191 marr <- thawSTUArray arr
206 marr <- thawSTUArray arr
192 return (IOUArray marr)
207 return (IOUArray marr)
193−@@ -401,22 +390,14 @@
208+@@ -401,22 +390,14 @@ thawIOUArray arr = stToIO $ do
194 #-}
209 #-}
195
210
196 {-# INLINE unsafeFreezeIOUArray #-}
211 {-# INLINE unsafeFreezeIOUArray #-}
@@ -213,15 +228,16 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/IO/Internals.hs ghc-package-ar
213 freezeIOUArray (IOUArray marr) = stToIO (freezeSTUArray marr)
228 freezeIOUArray (IOUArray marr) = stToIO (freezeSTUArray marr)
214
229
215 {-# RULES
230 {-# 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
231+diff --git a/Data/Array/ST.hs b/Data/Array/ST.hs
217−--- hackage-package-array-0.5.2.0/Data/Array/ST.hs 2017-07-04 06:06:07.000000000 +0800
232+index 0a8ff0d..dccc4dc 100644
218−+++ ghc-package-array-0.5.2.0/Data/Array/ST.hs 2001-09-09 09:46:40.000000000 +0800
233+--- a/Data/Array/ST.hs
234++++ b/Data/Array/ST.hs
219@@ -1,4 +1,3 @@
235@@ -1,4 +1,3 @@
220-{-# LANGUAGE CPP #-}
236-{-# LANGUAGE CPP #-}
221 {-# LANGUAGE RankNTypes #-}
237 {-# LANGUAGE RankNTypes #-}
222 -----------------------------------------------------------------------------
238 -----------------------------------------------------------------------------
223 -- |
239 -- |
224−@@ -38,11 +37,7 @@
240+@@ -38,11 +37,7 @@ import GHC.Arr ( STArray, Array, unsafeFreezeSTArray )
225 -- the array before returning it - it uses 'unsafeFreeze' internally, but
241 -- the array before returning it - it uses 'unsafeFreeze' internally, but
226 -- this wrapper is a safe interface to that function.
242 -- this wrapper is a safe interface to that function.
227 --
243 --
@@ -233,7 +249,7 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/ST.hs ghc-package-array-0.5.2.
233 runSTArray st = runST (st >>= unsafeFreezeSTArray)
249 runSTArray st = runST (st >>= unsafeFreezeSTArray)
234
250
235 -- | A safe way to create and work with an unboxed mutable array before
251 -- | 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)
237 -- 'unsafeFreeze' internally, but this wrapper is a safe interface to
253 -- 'unsafeFreeze' internally, but this wrapper is a safe interface to
238 -- that function.
254 -- that function.
239 --
255 --
@@ -245,22 +261,11 @@ diff -ur hackage-package-array-0.5.2.0/Data/Array/ST.hs ghc-package-array-0.5.2.
245 runSTUArray st = runST (st >>= unsafeFreezeSTUArray)
261 runSTUArray st = runST (st >>= unsafeFreezeSTUArray)
246
262
247
263
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
264+diff --git a/array.cabal b/array.cabal
261−--- hackage-package-array-0.5.2.0/array.cabal 2017-07-04 06:06:07.000000000 +0800
265+index 1a71bab..928a7f6 100644
262−+++ ghc-package-array-0.5.2.0/array.cabal 2001-09-09 09:46:40.000000000 +0800
266+--- a/array.cabal
263−@@ -9,7 +9,7 @@
267++++ b/array.cabal
268+@@ -9,7 +9,7 @@ synopsis: Mutable and immutable arrays
264 category: Data Structures
269 category: Data Structures
265 build-type: Simple
270 build-type: Simple
266 cabal-version: >=1.10
271 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
269 description:
274 description:
270 In addition to providing the "Data.Array" module
275 In addition to providing the "Data.Array" module
271 <http://www.haskell.org/onlinereport/haskell2010/haskellch14.html as specified in the Haskell 2010 Language Report>,
276 <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
273 other-extensions:
278 other-extensions:
274 BangPatterns,
279 BangPatterns,
275 CPP,
280 CPP,
@@ -277,7 +282,7 @@ diff -ur hackage-package-array-0.5.2.0/array.cabal ghc-package-array-0.5.2.0/arr
277 FlexibleContexts,
282 FlexibleContexts,
278 FlexibleInstances,
283 FlexibleInstances,
279 MagicHash,
284 MagicHash,
280−@@ -37,7 +36,7 @@
285+@@ -37,7 +36,7 @@ library
281 Trustworthy,
286 Trustworthy,
282 UnboxedTuples,
287 UnboxedTuples,
283 UnliftedFFITypes
288 UnliftedFFITypes
@@ -286,9 +291,10 @@ diff -ur hackage-package-array-0.5.2.0/array.cabal ghc-package-array-0.5.2.0/arr
286 ghc-options: -Wall
291 ghc-options: -Wall
287 exposed-modules:
292 exposed-modules:
288 Data.Array
293 Data.Array
289−diff -ur hackage-package-array-0.5.2.0/changelog.md ghc-package-array-0.5.2.0/changelog.md
294+diff --git a/changelog.md b/changelog.md
290−--- hackage-package-array-0.5.2.0/changelog.md 2017-07-04 06:06:07.000000000 +0800
295+index e537cd0..1a480a4 100644
291−+++ ghc-package-array-0.5.2.0/changelog.md 2001-09-09 09:46:40.000000000 +0800
296+--- a/changelog.md
297++++ b/changelog.md
292@@ -1,5 +1,10 @@
298@@ -1,5 +1,10 @@
293 # Changelog for [`array` package](http://hackage.haskell.org/package/array)
299 # Changelog for [`array` package](http://hackage.haskell.org/package/array)
294
300
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
1+diff --git a/binary.cabal b/binary.cabal
2−--- hackage-package-binary-0.8.6.0/binary.cabal 2018-08-04 20:33:08.000000000 +0800
2+index 9b25877..1d1b9cf 100644
3−+++ ghc-package-binary-0.8.6.0/binary.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/binary.cabal
4++++ b/binary.cabal
4−@@ -158,7 +158,6 @@
5+@@ -158,7 +158,6 @@ benchmark get
5 Data.Binary.Class
6 Data.Binary.Class
6 Data.Binary.FloatCast
7 Data.Binary.FloatCast
7 Data.Binary.Generic
8 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/
9 Data.Binary.Get.Internal
10 Data.Binary.Get.Internal
10 Data.Binary.Internal
11 Data.Binary.Internal
11 Data.Binary.Put
12 Data.Binary.Put
12−@@ -191,7 +190,6 @@
13+@@ -191,7 +190,6 @@ benchmark put
13 Data.Binary.Get
14 Data.Binary.Get
14 Data.Binary.Get.Internal
15 Data.Binary.Get.Internal
15 Data.Binary.Internal
16 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 @@
2 packages.array.patches = [ ./array-0.5.2.0.patch ];
2 packages.array.patches = [ ./array-0.5.2.0.patch ];
3 packages.binary.patches = [ ./binary-0.8.6.0.patch ];
3 packages.binary.patches = [ ./binary-0.8.6.0.patch ];
4 packages.containers.patches = [ ./containers-0.6.0.1.patch ];
4 packages.containers.patches = [ ./containers-0.6.0.1.patch ];
5− packages.default.nix.patches = [ ./default.nix ];
6 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
5 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
7 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
6 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
8 packages.process.patches = [ ./process-1.6.3.0.patch ];
7 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
1+diff --git a/hpc.cabal b/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
2+index 7e77973..ba676a7 100644
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/hpc.cabal
4++++ b/hpc.cabal
4−@@ -35,9 +35,9 @@
5+@@ -35,9 +35,9 @@ Library
5 Trace.Hpc.Reflect
6 Trace.Hpc.Reflect
6
7
7 Build-Depends:
8 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
1+diff --git a/parsec.cabal b/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
2+index 9531768..46ef625 100644
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/parsec.cabal
4++++ b/parsec.cabal
4−@@ -21,18 +21,18 @@
5+@@ -21,18 +21,18 @@ license: BSD3
5 license-file: LICENSE
6 license-file: LICENSE
6 author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
7 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 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.
24
25
25 library
26 library
26 hs-source-dirs: src
27 hs-source-dirs: src
27−@@ -64,7 +64,7 @@
28+@@ -64,7 +64,7 @@ library
28 Text.ParserCombinators.Parsec.Token
29 Text.ParserCombinators.Parsec.Token
29
30
30 build-depends:
31 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
1+diff --git a/System/Process.hs b/System/Process.hs
2−--- hackage-package-process-1.6.3.0/System/Process/Common.hs 2017-03-31 01:02:13.000000000 +0800
2+index 2678a93..d03dc6e 100644
3−+++ ghc-package-process-1.6.3.0/System/Process/Common.hs 2001-09-09 09:46:40.000000000 +0800
3+--- a/System/Process.hs
4−@@ -44,7 +44,7 @@
4++++ b/System/Process.hs
5− import GHC.IO.Handle.Types hiding (ClosedHandle)
5+@@ -43,6 +43,7 @@ module System.Process (
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 @@
38 readCreateProcessWithExitCode,
6 readCreateProcessWithExitCode,
39 readProcessWithExitCode,
7 readProcessWithExitCode,
40 withCreateProcess,
8 withCreateProcess,
@@ -42,7 +10,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
42
10
43 -- ** Related utilities
11 -- ** Related utilities
44 showCommandForUser,
12 showCommandForUser,
45−@@ -245,7 +246,12 @@
13+@@ -245,7 +246,12 @@ withCreateProcess_ fun c action =
46 C.bracketOnError (createProcess_ fun c) cleanupProcess
14 C.bracketOnError (createProcess_ fun c) cleanupProcess
47 (\(m_in, m_out, m_err, ph) -> action m_in m_out m_err ph)
15 (\(m_in, m_out, m_err, ph) -> action m_in m_out m_err ph)
48
16
@@ -56,7 +24,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
56 cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
24 cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
57 -> IO ()
25 -> IO ()
58 cleanupProcess (mb_stdin, mb_stdout, mb_stderr,
26 cleanupProcess (mb_stdin, mb_stdout, mb_stderr,
59−@@ -728,8 +734,10 @@
27+@@ -728,8 +734,10 @@ getProcessExitCode ph@(ProcessHandle _ delegating_ctlc _) = tryLockWaitpid $ do
60 -- has indeed terminated, use 'getProcessExitCode'.
28 -- has indeed terminated, use 'getProcessExitCode'.
61 --
29 --
62 -- On Unix systems, 'terminateProcess' sends the process the SIGTERM signal.
30 -- 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
69 --
37 --
70 -- Note: on Windows, if the process was a shell command created by
38 -- Note: on Windows, if the process was a shell command created by
71 -- 'createProcess' with 'shell', or created by 'runCommand' or
39 -- 'createProcess' with 'shell', or created by 'runCommand' or
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
72−diff -ur hackage-package-process-1.6.3.0/cbits/runProcess.c ghc-package-process-1.6.3.0/cbits/runProcess.c
75+diff --git a/cbits/runProcess.c b/cbits/runProcess.c
73−--- hackage-package-process-1.6.3.0/cbits/runProcess.c 2017-02-06 16:42:31.000000000 +0800
76+index ae184c8..16ef4fe 100644
74−+++ ghc-package-process-1.6.3.0/cbits/runProcess.c 2001-09-09 09:46:40.000000000 +0800
77+--- a/cbits/runProcess.c
75−@@ -111,6 +111,18 @@
78++++ b/cbits/runProcess.c
79+@@ -111,6 +111,18 @@ runInteractiveProcess (char *const args[],
76 r = pipe(forkCommunicationFds);
80 r = pipe(forkCommunicationFds);
77 if (r == -1) {
81 if (r == -1) {
78 *failed_doing = "runInteractiveProcess: pipe";
82 *failed_doing = "runInteractiveProcess: pipe";
@@ -91,9 +95,10 @@ diff -ur hackage-package-process-1.6.3.0/cbits/runProcess.c ghc-package-process-
91 return -1;
95 return -1;
92 }
96 }
93
97
94−diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.0/changelog.md
98+diff --git a/changelog.md b/changelog.md
95−--- hackage-package-process-1.6.3.0/changelog.md 2018-01-22 10:51:34.000000000 +0800
99+index 851c3ca..d4c43ae 100644
96−+++ ghc-package-process-1.6.3.0/changelog.md 2001-09-09 09:46:40.000000000 +0800
100+--- a/changelog.md
101++++ b/changelog.md
97@@ -1,5 +1,13 @@
102@@ -1,5 +1,13 @@
98 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
103 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
99
104
@@ -108,10 +113,11 @@ diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.
108 ## 1.6.3.0 *January 2018*
113 ## 1.6.3.0 *January 2018*
109
114
110 * Added `getPid` and export of platform specific `Pid` type
115 * 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
116+diff --git a/process.cabal b/process.cabal
112−--- hackage-package-process-1.6.3.0/process.cabal 2018-01-22 10:52:21.000000000 +0800
117+index cb6cbb3..350591a 100644
113−+++ ghc-package-process-1.6.3.0/process.cabal 2001-09-09 09:46:40.000000000 +0800
118+--- a/process.cabal
119++++ b/process.cabal
114−@@ -46,8 +46,9 @@
120+@@ -46,8 +46,9 @@ library
115 InterruptibleFFI
121 InterruptibleFFI
116 RecordWildCards
122 RecordWildCards
117 Trustworthy
123 Trustworthy
@@ -123,7 +129,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
123
129
124 exposed-modules:
130 exposed-modules:
125 System.Cmd
131 System.Cmd
126−@@ -61,7 +62,7 @@
132+@@ -61,7 +62,7 @@ library
127 cpp-options: -DWINDOWS
133 cpp-options: -DWINDOWS
128 else
134 else
129 other-modules: System.Process.Posix
135 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
132
138
133 c-sources:
139 c-sources:
134 cbits/runProcess.c
140 cbits/runProcess.c
135−@@ -74,7 +75,7 @@
141+@@ -74,7 +75,7 @@ library
136
142
137 ghc-options: -Wall
143 ghc-options: -Wall
138
144
@@ -141,7 +147,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
141 directory >= 1.1 && < 1.4,
147 directory >= 1.1 && < 1.4,
142 filepath >= 1.2 && < 1.5,
148 filepath >= 1.2 && < 1.5,
143 deepseq >= 1.1 && < 1.5
149 deepseq >= 1.1 && < 1.5
144−@@ -84,7 +85,9 @@
150+@@ -84,7 +85,9 @@ test-suite test
145 hs-source-dirs: test
151 hs-source-dirs: test
146 main-is: main.hs
152 main-is: main.hs
147 type: exitcode-stdio-1.0
153 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
1+diff --git a/configure b/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
2+index f4f4dba..f5fae2b 100644
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
3+--- a/configure
4++++ b/configure
4@@ -1,6 +1,6 @@
5@@ -1,6 +1,6 @@
5 #! /bin/sh
6 #! /bin/sh
6 # Guess values for system-dependent variables and create Makefiles.
7 # 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
9 #
10 #
10 # Report bugs to <ashley@semantic.org>.
11 # Report bugs to <ashley@semantic.org>.
11 #
12 #
12−@@ -580,8 +580,8 @@
13+@@ -580,8 +580,8 @@ MAKEFLAGS=
13 # Identity of this package.
14 # Identity of this package.
14 PACKAGE_NAME='Haskell time package'
15 PACKAGE_NAME='Haskell time package'
15 PACKAGE_TARNAME='time'
16 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
20 PACKAGE_BUGREPORT='ashley@semantic.org'
21 PACKAGE_BUGREPORT='ashley@semantic.org'
21 PACKAGE_URL=''
22 PACKAGE_URL=''
22
23
23−@@ -653,7 +653,6 @@
24+@@ -653,7 +653,6 @@ infodir
24 docdir
25 docdir
25 oldincludedir
26 oldincludedir
26 includedir
27 includedir
@@ -28,7 +29,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
28 localstatedir
29 localstatedir
29 sharedstatedir
30 sharedstatedir
30 sysconfdir
31 sysconfdir
31−@@ -726,7 +725,6 @@
32+@@ -726,7 +725,6 @@ datadir='${datarootdir}'
32 sysconfdir='${prefix}/etc'
33 sysconfdir='${prefix}/etc'
33 sharedstatedir='${prefix}/com'
34 sharedstatedir='${prefix}/com'
34 localstatedir='${prefix}/var'
35 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
36 includedir='${prefix}/include'
37 includedir='${prefix}/include'
37 oldincludedir='/usr/include'
38 oldincludedir='/usr/include'
38 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40+@@ -979,15 +977,6 @@ do
40 | -silent | --silent | --silen | --sile | --sil)
41 | -silent | --silent | --silen | --sile | --sil)
41 silent=yes ;;
42 silent=yes ;;
42
43
@@ -52,7 +53,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
52 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53 ac_prev=sbindir ;;
54 ac_prev=sbindir ;;
54 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56+@@ -1125,7 +1114,7 @@ fi
56 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57 datadir sysconfdir sharedstatedir localstatedir includedir \
58 datadir sysconfdir sharedstatedir localstatedir includedir \
58 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
59 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
61 do
62 do
62 eval ac_val=\$$ac_var
63 eval ac_val=\$$ac_var
63 # Remove trailing slashes.
64 # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65+@@ -1238,7 +1227,7 @@ if test "$ac_init_help" = "long"; then
65 # Omit some internal or obsolete options to make the list less imposing.
66 # 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 # This message is too long to be a string in the A/UX 3.1 sh.
67 cat <<_ACEOF
68 cat <<_ACEOF
@@ -70,7 +71,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
70
71
71 Usage: $0 [OPTION]... [VAR=VALUE]...
72 Usage: $0 [OPTION]... [VAR=VALUE]...
72
73
73−@@ -1278,7 +1267,6 @@
74+@@ -1278,7 +1267,6 @@ Fine tuning of the installation directories:
74 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
77 --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
78 --libdir=DIR object code libraries [EPREFIX/lib]
79 --libdir=DIR object code libraries [EPREFIX/lib]
79 --includedir=DIR C header files [PREFIX/include]
80 --includedir=DIR C header files [PREFIX/include]
80 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82+@@ -1300,7 +1288,7 @@ fi
82
83
83 if test -n "$ac_init_help"; then
84 if test -n "$ac_init_help"; then
84 case $ac_init_help in
85 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
87 esac
88 esac
88 cat <<\_ACEOF
89 cat <<\_ACEOF
89
90
90−@@ -1386,7 +1374,7 @@
91+@@ -1386,7 +1374,7 @@ fi
91 test -n "$ac_init_help" && exit $ac_status
92 test -n "$ac_init_help" && exit $ac_status
92 if $ac_init_version; then
93 if $ac_init_version; then
93 cat <<\_ACEOF
94 cat <<\_ACEOF
@@ -96,7 +97,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
96 generated by GNU Autoconf 2.69
97 generated by GNU Autoconf 2.69
97
98
98 Copyright (C) 2012 Free Software Foundation, Inc.
99 Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100+@@ -1858,7 +1846,7 @@ cat >config.log <<_ACEOF
100 This file contains any messages produced by compilers while
101 This file contains any messages produced by compilers while
101 running configure, to aid debugging if configure makes a mistake.
102 running configure, to aid debugging if configure makes a mistake.
102
103
@@ -105,7 +106,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
105 generated by GNU Autoconf 2.69. Invocation command line was
106 generated by GNU Autoconf 2.69. Invocation command line was
106
107
107 $ $0 $@
108 $ $0 $@
108−@@ -4193,7 +4181,7 @@
109+@@ -4193,7 +4181,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
109 # report actual input values of CONFIG_FILES etc. instead of their
110 # report actual input values of CONFIG_FILES etc. instead of their
110 # values after options handling.
111 # values after options handling.
111 ac_log="
112 ac_log="
@@ -114,7 +115,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
114 generated by GNU Autoconf 2.69. Invocation command line was
115 generated by GNU Autoconf 2.69. Invocation command line was
115
116
116 CONFIG_FILES = $CONFIG_FILES
117 CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118+@@ -4246,7 +4234,7 @@ _ACEOF
118 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120 ac_cs_version="\\
121 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
123 configured by $0, generated by GNU Autoconf 2.69,
124 configured by $0, generated by GNU Autoconf 2.69,
124 with options \\"\$ac_cs_config\\"
125 with options \\"\$ac_cs_config\\"
125
126
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+diff --git a/lib/include/HsTimeConfig.h b/lib/include/HsTimeConfig.h
128+index a1e2513..20798c5 100644
127−--- hackage-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2017-05-13 18:29:46.000000000 +0800
129+--- a/lib/include/HsTimeConfig.h
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
130++++ b/lib/include/HsTimeConfig.h
129@@ -69,7 +69,7 @@
131@@ -69,7 +69,7 @@
130 #define PACKAGE_NAME "Haskell time package"
132 #define PACKAGE_NAME "Haskell time package"
131
133
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
1+diff --git a/Control/Applicative/Backwards.hs b/Control/Applicative/Backwards.hs
2+index ebb8a0b..7ed74ac 100644
2−--- hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2017-10-04 23:58:48.000000000 +0800
3+--- a/Control/Applicative/Backwards.hs
3−+++ ghc-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2001-09-09 09:46:40.000000000 +0800
4++++ b/Control/Applicative/Backwards.hs
4−@@ -27,6 +27,9 @@
5+@@ -27,6 +27,9 @@ module Control.Applicative.Backwards (
5 ) where
6 ) where
6
7
7 import Data.Functor.Classes
8 import Data.Functor.Classes
@@ -11,7 +12,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
11
12
12 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
13 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
13 import Control.Applicative
14 import Control.Applicative
14−@@ -100,3 +103,10 @@
15+@@ -100,3 +103,10 @@ instance (Traversable f) => Traversable (Backwards f) where
15 {-# INLINE traverse #-}
16 {-# INLINE traverse #-}
16 sequenceA (Backwards t) = fmap Backwards (sequenceA t)
17 sequenceA (Backwards t) = fmap Backwards (sequenceA t)
17 {-# INLINE sequenceA #-}
18 {-# INLINE sequenceA #-}
@@ -22,10 +23,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
22+ contramap f = Backwards . contramap f . forwards
23+ contramap f = Backwards . contramap f . forwards
23+ {-# INLINE contramap #-}
24+ {-# INLINE contramap #-}
24+#endif
25+#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+diff --git a/Control/Monad/Trans/Class.hs b/Control/Monad/Trans/Class.hs
27+index 9c2e260..b92bc0e 100644
26−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2017-10-04 23:58:48.000000000 +0800
28+--- a/Control/Monad/Trans/Class.hs
27−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2001-09-09 09:46:40.000000000 +0800
29++++ b/Control/Monad/Trans/Class.hs
28−@@ -113,7 +113,13 @@
30+@@ -113,7 +113,13 @@ an action that is strict in the component you want evaluated.
29
31
30 {- $example1
32 {- $example1
31
33
@@ -40,7 +42,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-p
40 to be parsed) to the @[]@ monad, which provides non-determinism:
42 to be parsed) to the @[]@ monad, which provides non-determinism:
41
43
42 > import Control.Monad.Trans.State
44 > 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.
44 {- $example3
46 {- $example3
45
47
46 This example is a cut-down version of the one in
48 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
50 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
52 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
51 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
53 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
52
54
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
55+diff --git a/Control/Monad/Trans/Error.hs b/Control/Monad/Trans/Error.hs
56+index 144da45..f50b051 100644
54−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2017-10-04 23:58:48.000000000 +0800
57+--- a/Control/Monad/Trans/Error.hs
55−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2001-09-09 09:46:40.000000000 +0800
58++++ b/Control/Monad/Trans/Error.hs
56−@@ -58,6 +58,9 @@
59+@@ -58,6 +58,9 @@ import Control.Monad.IO.Class
57 import Control.Monad.Signatures
60 import Control.Monad.Signatures
58 import Control.Monad.Trans.Class
61 import Control.Monad.Trans.Class
59 import Data.Functor.Classes
62 import Data.Functor.Classes
@@ -63,7 +66,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
63
66
64 import Control.Applicative
67 import Control.Applicative
65 import Control.Exception (IOException)
68 import Control.Exception (IOException)
66−@@ -263,6 +266,11 @@
69+@@ -263,6 +266,11 @@ instance MonadTrans (ErrorT e) where
67 instance (Error e, MonadIO m) => MonadIO (ErrorT e m) where
70 instance (Error e, MonadIO m) => MonadIO (ErrorT e m) where
68 liftIO = lift . liftIO
71 liftIO = lift . liftIO
69
72
@@ -75,9 +78,10 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
75 -- | Signal an error value @e@.
78 -- | Signal an error value @e@.
76 --
79 --
77 -- * @'runErrorT' ('throwError' e) = 'return' ('Left' e)@
80 -- * @'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
81+diff --git a/Control/Monad/Trans/Except.hs b/Control/Monad/Trans/Except.hs
82+index 6a06297..b5446e4 100644
79−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2017-10-04 23:58:48.000000000 +0800
83+--- a/Control/Monad/Trans/Except.hs
80−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2001-09-09 09:46:40.000000000 +0800
84++++ b/Control/Monad/Trans/Except.hs
81@@ -15,7 +15,7 @@
85@@ -15,7 +15,7 @@
82 -- Stability : experimental
86 -- Stability : experimental
83 -- Portability : portable
87 -- Portability : portable
@@ -87,7 +91,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
87 --
91 --
88 -- A sequence of actions terminates normally, producing a value,
92 -- A sequence of actions terminates normally, producing a value,
89 -- only if none of the actions in the sequence throws an exception.
93 -- 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
91 import Control.Monad.Signatures
95 import Control.Monad.Signatures
92 import Control.Monad.Trans.Class
96 import Control.Monad.Trans.Class
93 import Data.Functor.Classes
97 import Data.Functor.Classes
@@ -97,7 +101,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
97 import Data.Functor.Identity
101 import Data.Functor.Identity
98
102
99 import Control.Applicative
103 import Control.Applicative
100−@@ -255,6 +258,12 @@
104+@@ -255,6 +258,12 @@ instance (MonadZip m) => MonadZip (ExceptT e m) where
101 {-# INLINE mzipWith #-}
105 {-# INLINE mzipWith #-}
102 #endif
106 #endif
103
107
@@ -110,10 +114,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
110 -- | Signal an exception value @e@.
114 -- | Signal an exception value @e@.
111 --
115 --
112 -- * @'runExceptT' ('throwE' e) = 'return' ('Left' e)@
116 -- * @'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
117+diff --git a/Control/Monad/Trans/Identity.hs b/Control/Monad/Trans/Identity.hs
118+index b04428e..81d0c21 100644
114−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2017-10-04 23:58:48.000000000 +0800
119+--- a/Control/Monad/Trans/Identity.hs
115−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2001-09-09 09:46:40.000000000 +0800
120++++ b/Control/Monad/Trans/Identity.hs
116−@@ -36,6 +36,9 @@
121+@@ -36,6 +36,9 @@ import Control.Monad.IO.Class (MonadIO(liftIO))
117 import Control.Monad.Signatures
122 import Control.Monad.Signatures
118 import Control.Monad.Trans.Class (MonadTrans(lift))
123 import Control.Monad.Trans.Class (MonadTrans(lift))
119 import Data.Functor.Classes
124 import Data.Functor.Classes
@@ -123,7 +128,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
123
128
124 import Control.Applicative
129 import Control.Applicative
125 import Control.Monad (MonadPlus(mzero, mplus))
130 import Control.Monad (MonadPlus(mzero, mplus))
126−@@ -154,6 +157,12 @@
131+@@ -154,6 +157,12 @@ instance MonadTrans IdentityT where
127 lift = IdentityT
132 lift = IdentityT
128 {-# INLINE lift #-}
133 {-# INLINE lift #-}
129
134
@@ -136,10 +141,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
136 -- | Lift a unary operation to the new monad.
141 -- | Lift a unary operation to the new monad.
137 mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
142 mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
138 mapIdentityT f = IdentityT . f . runIdentityT
143 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
144+diff --git a/Control/Monad/Trans/List.hs b/Control/Monad/Trans/List.hs
145+index e87fb0c..6af4b10 100644
140−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2017-10-04 23:58:48.000000000 +0800
146+--- a/Control/Monad/Trans/List.hs
141−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2001-09-09 09:46:40.000000000 +0800
147++++ b/Control/Monad/Trans/List.hs
142−@@ -34,12 +34,16 @@
148+@@ -34,12 +34,16 @@ import Control.Monad.IO.Class
143 import Control.Monad.Signatures
149 import Control.Monad.Signatures
144 import Control.Monad.Trans.Class
150 import Control.Monad.Trans.Class
145 import Data.Functor.Classes
151 import Data.Functor.Classes
@@ -156,7 +162,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
156 #if MIN_VERSION_base(4,4,0)
162 #if MIN_VERSION_base(4,4,0)
157 import Control.Monad.Zip (MonadZip(mzipWith))
163 import Control.Monad.Zip (MonadZip(mzipWith))
158 #endif
164 #endif
159−@@ -137,6 +141,12 @@
165+@@ -137,6 +141,12 @@ instance (Monad m) => MonadPlus (ListT m) where
160 return (a ++ b)
166 return (a ++ b)
161 {-# INLINE mplus #-}
167 {-# INLINE mplus #-}
162
168
@@ -169,7 +175,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
169 instance MonadTrans ListT where
175 instance MonadTrans ListT where
170 lift m = ListT $ do
176 lift m = ListT $ do
171 a <- m
177 a <- m
172−@@ -153,6 +163,12 @@
178+@@ -153,6 +163,12 @@ instance (MonadZip m) => MonadZip (ListT m) where
173 {-# INLINE mzipWith #-}
179 {-# INLINE mzipWith #-}
174 #endif
180 #endif
175
181
@@ -182,10 +188,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
182 -- | Lift a @callCC@ operation to the new monad.
188 -- | Lift a @callCC@ operation to the new monad.
183 liftCallCC :: CallCC m [a] [b] -> CallCC (ListT m) a b
189 liftCallCC :: CallCC m [a] [b] -> CallCC (ListT m) a b
184 liftCallCC callCC f = ListT $
190 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
191+diff --git a/Control/Monad/Trans/Maybe.hs b/Control/Monad/Trans/Maybe.hs
192+index 13114b1..997a4c0 100644
186−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2017-10-04 23:58:48.000000000 +0800
193+--- a/Control/Monad/Trans/Maybe.hs
187−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2001-09-09 09:46:40.000000000 +0800
194++++ b/Control/Monad/Trans/Maybe.hs
188−@@ -45,6 +45,9 @@
195+@@ -45,6 +45,9 @@ import Control.Monad.Signatures
189 import Control.Monad.Trans.Class
196 import Control.Monad.Trans.Class
190 import Control.Monad.Trans.Except (ExceptT(..))
197 import Control.Monad.Trans.Except (ExceptT(..))
191 import Data.Functor.Classes
198 import Data.Functor.Classes
@@ -195,7 +202,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
195
202
196 import Control.Applicative
203 import Control.Applicative
197 import Control.Monad (MonadPlus(mzero, mplus), liftM)
204 import Control.Monad (MonadPlus(mzero, mplus), liftM)
198−@@ -202,6 +205,12 @@
205+@@ -202,6 +205,12 @@ instance (MonadZip m) => MonadZip (MaybeT m) where
199 {-# INLINE mzipWith #-}
206 {-# INLINE mzipWith #-}
200 #endif
207 #endif
201
208
@@ -208,10 +215,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
208 -- | Lift a @callCC@ operation to the new monad.
215 -- | Lift a @callCC@ operation to the new monad.
209 liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b
216 liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b
210 liftCallCC callCC f =
217 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
218+diff --git a/Control/Monad/Trans/RWS/Lazy.hs b/Control/Monad/Trans/RWS/Lazy.hs
219+index 36694c5..c366d5d 100644
212−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
220+--- a/Control/Monad/Trans/RWS/Lazy.hs
213−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
221++++ b/Control/Monad/Trans/RWS/Lazy.hs
214−@@ -63,6 +63,9 @@
222+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Lazy (
215 import Control.Monad.IO.Class
223 import Control.Monad.IO.Class
216 import Control.Monad.Signatures
224 import Control.Monad.Signatures
217 import Control.Monad.Trans.Class
225 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
221 import Data.Functor.Identity
229 import Data.Functor.Identity
222
230
223 import Control.Applicative
231 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
225 liftIO = lift . liftIO
233 liftIO = lift . liftIO
226 {-# INLINE liftIO #-}
234 {-# INLINE liftIO #-}
227
235
@@ -235,10 +243,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs gh
235 -- ---------------------------------------------------------------------------
243 -- ---------------------------------------------------------------------------
236 -- Reader operations
244 -- Reader operations
237
245
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
246+diff --git a/Control/Monad/Trans/RWS/Strict.hs b/Control/Monad/Trans/RWS/Strict.hs
247+index 32f2af5..c5e3f6c 100644
239−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2017-10-04 23:58:48.000000000 +0800
248+--- a/Control/Monad/Trans/RWS/Strict.hs
240−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2001-09-09 09:46:40.000000000 +0800
249++++ b/Control/Monad/Trans/RWS/Strict.hs
241−@@ -63,6 +63,9 @@
250+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Strict (
242 import Control.Monad.IO.Class
251 import Control.Monad.IO.Class
243 import Control.Monad.Signatures
252 import Control.Monad.Signatures
244 import Control.Monad.Trans.Class
253 import Control.Monad.Trans.Class
@@ -248,7 +257,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
248 import Data.Functor.Identity
257 import Data.Functor.Identity
249
258
250 import Control.Applicative
259 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
252 liftIO = lift . liftIO
261 liftIO = lift . liftIO
253 {-# INLINE liftIO #-}
262 {-# INLINE liftIO #-}
254
263
@@ -262,10 +271,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
262 -- ---------------------------------------------------------------------------
271 -- ---------------------------------------------------------------------------
263 -- Reader operations
272 -- Reader operations
264
273
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
274+diff --git a/Control/Monad/Trans/Reader.hs b/Control/Monad/Trans/Reader.hs
275+index b577b2d..f0b80f7 100644
266−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2017-10-04 23:58:48.000000000 +0800
276+--- a/Control/Monad/Trans/Reader.hs
267−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2001-09-09 09:46:40.000000000 +0800
277++++ b/Control/Monad/Trans/Reader.hs
268−@@ -49,6 +49,9 @@
278+@@ -49,6 +49,9 @@ module Control.Monad.Trans.Reader (
269 import Control.Monad.IO.Class
279 import Control.Monad.IO.Class
270 import Control.Monad.Signatures
280 import Control.Monad.Signatures
271 import Control.Monad.Trans.Class
281 import Control.Monad.Trans.Class
@@ -275,7 +285,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
275 import Data.Functor.Identity
285 import Data.Functor.Identity
276
286
277 import Control.Applicative
287 import Control.Applicative
278−@@ -207,6 +210,12 @@
288+@@ -207,6 +210,12 @@ instance (MonadZip m) => MonadZip (ReaderT r m) where
279 {-# INLINE mzipWith #-}
289 {-# INLINE mzipWith #-}
280 #endif
290 #endif
281
291
@@ -288,10 +298,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
288 liftReaderT :: m a -> ReaderT r m a
298 liftReaderT :: m a -> ReaderT r m a
289 liftReaderT m = ReaderT (const m)
299 liftReaderT m = ReaderT (const m)
290 {-# INLINE liftReaderT #-}
300 {-# 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
301+diff --git a/Control/Monad/Trans/State/Lazy.hs b/Control/Monad/Trans/State/Lazy.hs
302+index 13f61f4..e719f02 100644
292−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
303+--- a/Control/Monad/Trans/State/Lazy.hs
293−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
304++++ b/Control/Monad/Trans/State/Lazy.hs
294−@@ -76,6 +76,9 @@
305+@@ -76,6 +76,9 @@ module Control.Monad.Trans.State.Lazy (
295 import Control.Monad.IO.Class
306 import Control.Monad.IO.Class
296 import Control.Monad.Signatures
307 import Control.Monad.Signatures
297 import Control.Monad.Trans.Class
308 import Control.Monad.Trans.Class
@@ -301,7 +312,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
301 import Data.Functor.Identity
312 import Data.Functor.Identity
302
313
303 import Control.Applicative
314 import Control.Applicative
304−@@ -253,6 +256,13 @@
315+@@ -253,6 +256,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
305 liftIO = lift . liftIO
316 liftIO = lift . liftIO
306 {-# INLINE liftIO #-}
317 {-# INLINE liftIO #-}
307
318
@@ -315,10 +326,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
315 -- | Fetch the current value of the state within the monad.
326 -- | Fetch the current value of the state within the monad.
316 get :: (Monad m) => StateT s m s
327 get :: (Monad m) => StateT s m s
317 get = state $ \ s -> (s, s)
328 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
329+diff --git a/Control/Monad/Trans/State/Strict.hs b/Control/Monad/Trans/State/Strict.hs
330+index f1fb782..31fd52a 100644
319−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2017-10-04 23:58:48.000000000 +0800
331+--- a/Control/Monad/Trans/State/Strict.hs
320−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2001-09-09 09:46:40.000000000 +0800
332++++ b/Control/Monad/Trans/State/Strict.hs
321−@@ -73,6 +73,9 @@
333+@@ -73,6 +73,9 @@ module Control.Monad.Trans.State.Strict (
322 import Control.Monad.IO.Class
334 import Control.Monad.IO.Class
323 import Control.Monad.Signatures
335 import Control.Monad.Signatures
324 import Control.Monad.Trans.Class
336 import Control.Monad.Trans.Class
@@ -328,7 +340,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
328 import Data.Functor.Identity
340 import Data.Functor.Identity
329
341
330 import Control.Applicative
342 import Control.Applicative
331−@@ -250,6 +253,13 @@
343+@@ -250,6 +253,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
332 liftIO = lift . liftIO
344 liftIO = lift . liftIO
333 {-# INLINE liftIO #-}
345 {-# INLINE liftIO #-}
334
346
@@ -342,10 +354,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
342 -- | Fetch the current value of the state within the monad.
354 -- | Fetch the current value of the state within the monad.
343 get :: (Monad m) => StateT s m s
355 get :: (Monad m) => StateT s m s
344 get = state $ \ s -> (s, s)
356 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
357+diff --git a/Control/Monad/Trans/Writer/Lazy.hs b/Control/Monad/Trans/Writer/Lazy.hs
358+index c7f689c..721e15c 100644
346−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
359+--- a/Control/Monad/Trans/Writer/Lazy.hs
347−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
360++++ b/Control/Monad/Trans/Writer/Lazy.hs
348−@@ -52,6 +52,9 @@
361+@@ -52,6 +52,9 @@ module Control.Monad.Trans.Writer.Lazy (
349 import Control.Monad.IO.Class
362 import Control.Monad.IO.Class
350 import Control.Monad.Trans.Class
363 import Control.Monad.Trans.Class
351 import Data.Functor.Classes
364 import Data.Functor.Classes
@@ -355,7 +368,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
355 import Data.Functor.Identity
368 import Data.Functor.Identity
356
369
357 import Control.Applicative
370 import Control.Applicative
358−@@ -237,6 +240,12 @@
371+@@ -237,6 +240,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
359 {-# INLINE mzipWith #-}
372 {-# INLINE mzipWith #-}
360 #endif
373 #endif
361
374
@@ -368,10 +381,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
368 -- | @'tell' w@ is an action that produces the output @w@.
381 -- | @'tell' w@ is an action that produces the output @w@.
369 tell :: (Monad m) => w -> WriterT w m ()
382 tell :: (Monad m) => w -> WriterT w m ()
370 tell w = writer ((), w)
383 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
384+diff --git a/Control/Monad/Trans/Writer/Strict.hs b/Control/Monad/Trans/Writer/Strict.hs
385+index 33058af..b18b4a8 100644
372−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2017-10-04 23:58:48.000000000 +0800
386+--- a/Control/Monad/Trans/Writer/Strict.hs
373−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2001-09-09 09:46:40.000000000 +0800
387++++ b/Control/Monad/Trans/Writer/Strict.hs
374−@@ -55,6 +55,9 @@
388+@@ -55,6 +55,9 @@ module Control.Monad.Trans.Writer.Strict (
375 import Control.Monad.IO.Class
389 import Control.Monad.IO.Class
376 import Control.Monad.Trans.Class
390 import Control.Monad.Trans.Class
377 import Data.Functor.Classes
391 import Data.Functor.Classes
@@ -381,7 +395,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
381 import Data.Functor.Identity
395 import Data.Functor.Identity
382
396
383 import Control.Applicative
397 import Control.Applicative
384−@@ -240,6 +243,12 @@
398+@@ -240,6 +243,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
385 {-# INLINE mzipWith #-}
399 {-# INLINE mzipWith #-}
386 #endif
400 #endif
387
401
@@ -394,10 +408,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
394 -- | @'tell' w@ is an action that produces the output @w@.
408 -- | @'tell' w@ is an action that produces the output @w@.
395 tell :: (Monad m) => w -> WriterT w m ()
409 tell :: (Monad m) => w -> WriterT w m ()
396 tell w = writer ((), w)
410 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
411+diff --git a/Data/Functor/Constant.hs b/Data/Functor/Constant.hs
412+index e22f0d6..9c0b8d4 100644
398−--- hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2017-10-04 23:58:48.000000000 +0800
413+--- a/Data/Functor/Constant.hs
399−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2001-09-09 09:46:40.000000000 +0800
414++++ b/Data/Functor/Constant.hs
400−@@ -26,6 +26,9 @@
415+@@ -26,6 +26,9 @@ module Data.Functor.Constant (
401 ) where
416 ) where
402
417
403 import Data.Functor.Classes
418 import Data.Functor.Classes
@@ -407,7 +422,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
407
422
408 import Control.Applicative
423 import Control.Applicative
409 import Data.Foldable
424 import Data.Foldable
410−@@ -141,3 +144,9 @@
425+@@ -141,3 +144,9 @@ instance Bitraversable Constant where
411 bitraverse f _ (Constant a) = Constant <$> f a
426 bitraverse f _ (Constant a) = Constant <$> f a
412 {-# INLINE bitraverse #-}
427 {-# INLINE bitraverse #-}
413 #endif
428 #endif
@@ -417,10 +432,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
417+ contramap _ (Constant a) = Constant a
432+ contramap _ (Constant a) = Constant a
418+ {-# INLINE contramap #-}
433+ {-# INLINE contramap #-}
419+#endif
434+#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
435+diff --git a/Data/Functor/Reverse.hs b/Data/Functor/Reverse.hs
436+index a6abc46..dcb6290 100644
421−--- hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2017-10-04 23:58:48.000000000 +0800
437+--- a/Data/Functor/Reverse.hs
422−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2001-09-09 09:46:40.000000000 +0800
438++++ b/Data/Functor/Reverse.hs
423−@@ -28,6 +28,9 @@
439+@@ -28,6 +28,9 @@ module Data.Functor.Reverse (
424
440
425 import Control.Applicative.Backwards
441 import Control.Applicative.Backwards
426 import Data.Functor.Classes
442 import Data.Functor.Classes
@@ -430,7 +446,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
430
446
431 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
447 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
432 import Control.Applicative
448 import Control.Applicative
433−@@ -129,3 +132,10 @@
449+@@ -129,3 +132,10 @@ instance (Traversable f) => Traversable (Reverse f) where
434 traverse f (Reverse t) =
450 traverse f (Reverse t) =
435 fmap Reverse . forwards $ traverse (Backwards . f) t
451 fmap Reverse . forwards $ traverse (Backwards . f) t
436 {-# INLINE traverse #-}
452 {-# INLINE traverse #-}
@@ -441,10 +457,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
441+ contramap f = Reverse . contramap f . getReverse
457+ contramap f = Reverse . contramap f . getReverse
442+ {-# INLINE contramap #-}
458+ {-# INLINE contramap #-}
443+#endif
459+#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
460+diff --git a/legacy/pre711/Data/Functor/Compose.hs b/legacy/pre711/Data/Functor/Compose.hs
461+index 161a2e9..ed78130 100644
445−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2017-10-04 23:58:48.000000000 +0800
462+--- a/legacy/pre711/Data/Functor/Compose.hs
446−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2001-09-09 09:46:40.000000000 +0800
463++++ b/legacy/pre711/Data/Functor/Compose.hs
447−@@ -35,6 +35,9 @@
464+@@ -35,6 +35,9 @@ module Data.Functor.Compose (
448 ) where
465 ) where
449
466
450 import Data.Functor.Classes
467 import Data.Functor.Classes
@@ -454,7 +471,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose
454
471
455 import Control.Applicative
472 import Control.Applicative
456 #if __GLASGOW_HASKELL__ >= 708
473 #if __GLASGOW_HASKELL__ >= 708
457−@@ -144,3 +147,8 @@
474+@@ -144,3 +147,8 @@ instance (Applicative f, Applicative g) => Applicative (Compose f g) where
458 instance (Alternative f, Applicative g) => Alternative (Compose f g) where
475 instance (Alternative f, Applicative g) => Alternative (Compose f g) where
459 empty = Compose empty
476 empty = Compose empty
460 Compose x <|> Compose y = Compose (x <|> y)
477 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
463+instance (Functor f, Contravariant g) => Contravariant (Compose f g) where
480+instance (Functor f, Contravariant g) => Contravariant (Compose f g) where
464+ contramap f (Compose fga) = Compose (fmap (contramap f) fga)
481+ contramap f (Compose fga) = Compose (fmap (contramap f) fga)
465+#endif
482+#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
483+diff --git a/legacy/pre711/Data/Functor/Product.hs b/legacy/pre711/Data/Functor/Product.hs
484+index 51c99a3..ba0dc04 100644
467−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2017-10-04 23:58:48.000000000 +0800
485+--- a/legacy/pre711/Data/Functor/Product.hs
468−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2001-09-09 09:46:40.000000000 +0800
486++++ b/legacy/pre711/Data/Functor/Product.hs
469−@@ -45,6 +45,9 @@
487+@@ -45,6 +45,9 @@ import Data.Data
470 #endif
488 #endif
471 import Data.Foldable (Foldable(foldMap))
489 import Data.Foldable (Foldable(foldMap))
472 import Data.Functor.Classes
490 import Data.Functor.Classes
@@ -476,7 +494,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
476 import Data.Monoid (mappend)
494 import Data.Monoid (mappend)
477 import Data.Traversable (Traversable(traverse))
495 import Data.Traversable (Traversable(traverse))
478 #if __GLASGOW_HASKELL__ >= 702
496 #if __GLASGOW_HASKELL__ >= 702
479−@@ -146,3 +149,8 @@
497+@@ -146,3 +149,8 @@ instance (MonadFix f, MonadFix g) => MonadFix (Product f g) where
480 instance (MonadZip f, MonadZip g) => MonadZip (Product f g) where
498 instance (MonadZip f, MonadZip g) => MonadZip (Product f g) where
481 mzipWith f (Pair x1 y1) (Pair x2 y2) = Pair (mzipWith f x1 x2) (mzipWith f y1 y2)
499 mzipWith f (Pair x1 y1) (Pair x2 y2) = Pair (mzipWith f x1 x2) (mzipWith f y1 y2)
482 #endif
500 #endif
@@ -485,10 +503,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
485+instance (Contravariant f, Contravariant g) => Contravariant (Product f g) where
503+instance (Contravariant f, Contravariant g) => Contravariant (Product f g) where
486+ contramap f (Pair a b) = Pair (contramap f a) (contramap f b)
504+ contramap f (Pair a b) = Pair (contramap f a) (contramap f b)
487+#endif
505+#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
506+diff --git a/legacy/pre711/Data/Functor/Sum.hs b/legacy/pre711/Data/Functor/Sum.hs
507+index 9c314e7..e6d1428 100644
489−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2017-10-04 23:58:48.000000000 +0800
508+--- a/legacy/pre711/Data/Functor/Sum.hs
490−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2001-09-09 09:46:40.000000000 +0800
509++++ b/legacy/pre711/Data/Functor/Sum.hs
491−@@ -40,6 +40,9 @@
510+@@ -40,6 +40,9 @@ import Data.Data
492 #endif
511 #endif
493 import Data.Foldable (Foldable(foldMap))
512 import Data.Foldable (Foldable(foldMap))
494 import Data.Functor.Classes
513 import Data.Functor.Classes
@@ -498,7 +517,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
498 import Data.Monoid (mappend)
517 import Data.Monoid (mappend)
499 import Data.Traversable (Traversable(traverse))
518 import Data.Traversable (Traversable(traverse))
500 #if __GLASGOW_HASKELL__ >= 702
519 #if __GLASGOW_HASKELL__ >= 702
501−@@ -125,3 +128,9 @@
520+@@ -125,3 +128,9 @@ instance (Foldable f, Foldable g) => Foldable (Sum f g) where
502 instance (Traversable f, Traversable g) => Traversable (Sum f g) where
521 instance (Traversable f, Traversable g) => Traversable (Sum f g) where
503 traverse f (InL x) = InL <$> traverse f x
522 traverse f (InL x) = InL <$> traverse f x
504 traverse f (InR y) = InR <$> traverse f y
523 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
508+ contramap f (InL xs) = InL (contramap f xs)
527+ contramap f (InL xs) = InL (contramap f xs)
509+ contramap f (InR ys) = InR (contramap f ys)
528+ contramap f (InR ys) = InR (contramap f ys)
510+#endif
529+#endif
511−diff -ur hackage-package-transformers-0.5.5.0/transformers.cabal ghc-package-transformers-0.5.5.0/transformers.cabal
530+diff --git a/transformers.cabal b/transformers.cabal
512−--- hackage-package-transformers-0.5.5.0/transformers.cabal 2017-10-04 23:58:48.000000000 +0800
531+index 8583b12..b2e4fea 100644
513−+++ ghc-package-transformers-0.5.5.0/transformers.cabal 2001-09-09 09:46:40.000000000 +0800
532+--- a/transformers.cabal
514−@@ -9,7 +9,9 @@
533++++ b/transformers.cabal
534+@@ -9,7 +9,9 @@ category: Control
515 synopsis: Concrete functor and monad transformers
535 synopsis: Concrete functor and monad transformers
516 description:
536 description:
517 A portable library of functor and monad transformers, inspired by
537 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
1+diff --git a/configure b/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
2+index ea0475d..a3897ae 100644
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
3+--- a/configure
4++++ b/configure
4−@@ -667,7 +667,6 @@
5+@@ -667,7 +667,6 @@ infodir
5 docdir
6 docdir
6 oldincludedir
7 oldincludedir
7 includedir
8 includedir
@@ -9,7 +10,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
9 localstatedir
10 localstatedir
10 sharedstatedir
11 sharedstatedir
11 sysconfdir
12 sysconfdir
12−@@ -739,7 +738,6 @@
13+@@ -739,7 +738,6 @@ datadir='${datarootdir}'
13 sysconfdir='${prefix}/etc'
14 sysconfdir='${prefix}/etc'
14 sharedstatedir='${prefix}/com'
15 sharedstatedir='${prefix}/com'
15 localstatedir='${prefix}/var'
16 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
17 includedir='${prefix}/include'
18 includedir='${prefix}/include'
18 oldincludedir='/usr/include'
19 oldincludedir='/usr/include'
19 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21+@@ -992,15 +990,6 @@ do
21 | -silent | --silent | --silen | --sile | --sil)
22 | -silent | --silent | --silen | --sile | --sil)
22 silent=yes ;;
23 silent=yes ;;
23
24
@@ -33,7 +34,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
33 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34 ac_prev=sbindir ;;
35 ac_prev=sbindir ;;
35 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37+@@ -1138,7 +1127,7 @@ fi
37 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38 datadir sysconfdir sharedstatedir localstatedir includedir \
39 datadir sysconfdir sharedstatedir localstatedir includedir \
39 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
40 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
42 do
43 do
43 eval ac_val=\$$ac_var
44 eval ac_val=\$$ac_var
44 # Remove trailing slashes.
45 # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46+@@ -1291,7 +1280,6 @@ Fine tuning of the installation directories:
46 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
49 --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
50 --libdir=DIR object code libraries [EPREFIX/lib]
51 --libdir=DIR object code libraries [EPREFIX/lib]
51 --includedir=DIR C header files [PREFIX/include]
52 --includedir=DIR C header files [PREFIX/include]
52 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54+@@ -3782,7 +3770,7 @@ else
54 We can't simply define LARGE_OFF_T to be 9223372036854775807,
55 We can't simply define LARGE_OFF_T to be 9223372036854775807,
55 since some C++ compilers masquerading as C compilers
56 since some C++ compilers masquerading as C compilers
56 incorrectly reject 9223372036854775807. */
57 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
59 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60 && LARGE_OFF_T % 2147483647 == 1)
61 && LARGE_OFF_T % 2147483647 == 1)
61 ? 1 : -1];
62 ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63+@@ -3828,7 +3816,7 @@ else
63 We can't simply define LARGE_OFF_T to be 9223372036854775807,
64 We can't simply define LARGE_OFF_T to be 9223372036854775807,
64 since some C++ compilers masquerading as C compilers
65 since some C++ compilers masquerading as C compilers
65 incorrectly reject 9223372036854775807. */
66 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
68 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69 && LARGE_OFF_T % 2147483647 == 1)
70 && LARGE_OFF_T % 2147483647 == 1)
70 ? 1 : -1];
71 ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72+@@ -3852,7 +3840,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72 We can't simply define LARGE_OFF_T to be 9223372036854775807,
73 We can't simply define LARGE_OFF_T to be 9223372036854775807,
73 since some C++ compilers masquerading as C compilers
74 since some C++ compilers masquerading as C compilers
74 incorrectly reject 9223372036854775807. */
75 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
77 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78 && LARGE_OFF_T % 2147483647 == 1)
79 && LARGE_OFF_T % 2147483647 == 1)
79 ? 1 : -1];
80 ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81+@@ -3897,7 +3885,7 @@ else
81 We can't simply define LARGE_OFF_T to be 9223372036854775807,
82 We can't simply define LARGE_OFF_T to be 9223372036854775807,
82 since some C++ compilers masquerading as C compilers
83 since some C++ compilers masquerading as C compilers
83 incorrectly reject 9223372036854775807. */
84 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
86 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87 && LARGE_OFF_T % 2147483647 == 1)
88 && LARGE_OFF_T % 2147483647 == 1)
88 ? 1 : -1];
89 ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90+@@ -3921,7 +3909,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90 We can't simply define LARGE_OFF_T to be 9223372036854775807,
91 We can't simply define LARGE_OFF_T to be 9223372036854775807,
91 since some C++ compilers masquerading as C compilers
92 since some C++ compilers masquerading as C compilers
92 incorrectly reject 9223372036854775807. */
93 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
95 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96 && LARGE_OFF_T % 2147483647 == 1)
97 && LARGE_OFF_T % 2147483647 == 1)
97 ? 1 : -1];
98 ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99+diff --git a/unix.cabal b/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100+index cf44068..bb3155f 100644
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101+--- a/unix.cabal
102++++ b/unix.cabal
101−@@ -62,7 +62,7 @@
103+@@ -62,7 +62,7 @@ library
102 buildable: False
104 buildable: False
103
105
104 build-depends:
106 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
1+diff --git a/binary.cabal b/binary.cabal
2−--- hackage-package-binary-0.8.6.0/binary.cabal 2018-08-04 20:33:08.000000000 +0800
2+index 9b25877..1d1b9cf 100644
3−+++ ghc-package-binary-0.8.6.0/binary.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/binary.cabal
4++++ b/binary.cabal
4−@@ -158,7 +158,6 @@
5+@@ -158,7 +158,6 @@ benchmark get
5 Data.Binary.Class
6 Data.Binary.Class
6 Data.Binary.FloatCast
7 Data.Binary.FloatCast
7 Data.Binary.Generic
8 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/
9 Data.Binary.Get.Internal
10 Data.Binary.Get.Internal
10 Data.Binary.Internal
11 Data.Binary.Internal
11 Data.Binary.Put
12 Data.Binary.Put
12−@@ -191,7 +190,6 @@
13+@@ -191,7 +190,6 @@ benchmark put
13 Data.Binary.Get
14 Data.Binary.Get
14 Data.Binary.Get.Internal
15 Data.Binary.Get.Internal
15 Data.Binary.Internal
16 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 @@
1{
1{
2 packages.binary.patches = [ ./binary-0.8.6.0.patch ];
2 packages.binary.patches = [ ./binary-0.8.6.0.patch ];
3 packages.containers.patches = [ ./containers-0.6.0.1.patch ];
3 packages.containers.patches = [ ./containers-0.6.0.1.patch ];
4− packages.default.nix.patches = [ ./default.nix ];
5 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
4 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
6 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
5 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
7 packages.process.patches = [ ./process-1.6.3.0.patch ];
6 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
1+diff --git a/hpc.cabal b/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
2+index 7e77973..ba676a7 100644
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/hpc.cabal
4++++ b/hpc.cabal
4−@@ -35,9 +35,9 @@
5+@@ -35,9 +35,9 @@ Library
5 Trace.Hpc.Reflect
6 Trace.Hpc.Reflect
6
7
7 Build-Depends:
8 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
1+diff --git a/parsec.cabal b/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
2+index 9531768..46ef625 100644
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/parsec.cabal
4++++ b/parsec.cabal
4−@@ -21,18 +21,18 @@
5+@@ -21,18 +21,18 @@ license: BSD3
5 license-file: LICENSE
6 license-file: LICENSE
6 author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
7 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 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.
24
25
25 library
26 library
26 hs-source-dirs: src
27 hs-source-dirs: src
27−@@ -64,7 +64,7 @@
28+@@ -64,7 +64,7 @@ library
28 Text.ParserCombinators.Parsec.Token
29 Text.ParserCombinators.Parsec.Token
29
30
30 build-depends:
31 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
1+diff --git a/System/Process.hs b/System/Process.hs
2−--- hackage-package-process-1.6.3.0/System/Process/Common.hs 2017-03-31 01:02:13.000000000 +0800
2+index 2678a93..d03dc6e 100644
3−+++ ghc-package-process-1.6.3.0/System/Process/Common.hs 2001-09-09 09:46:40.000000000 +0800
3+--- a/System/Process.hs
4−@@ -44,7 +44,7 @@
4++++ b/System/Process.hs
5− import GHC.IO.Handle.Types hiding (ClosedHandle)
5+@@ -43,6 +43,7 @@ module System.Process (
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 @@
38 readCreateProcessWithExitCode,
6 readCreateProcessWithExitCode,
39 readProcessWithExitCode,
7 readProcessWithExitCode,
40 withCreateProcess,
8 withCreateProcess,
@@ -42,7 +10,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
42
10
43 -- ** Related utilities
11 -- ** Related utilities
44 showCommandForUser,
12 showCommandForUser,
45−@@ -245,7 +246,12 @@
13+@@ -245,7 +246,12 @@ withCreateProcess_ fun c action =
46 C.bracketOnError (createProcess_ fun c) cleanupProcess
14 C.bracketOnError (createProcess_ fun c) cleanupProcess
47 (\(m_in, m_out, m_err, ph) -> action m_in m_out m_err ph)
15 (\(m_in, m_out, m_err, ph) -> action m_in m_out m_err ph)
48
16
@@ -56,7 +24,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
56 cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
24 cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
57 -> IO ()
25 -> IO ()
58 cleanupProcess (mb_stdin, mb_stdout, mb_stderr,
26 cleanupProcess (mb_stdin, mb_stdout, mb_stderr,
59−@@ -728,8 +734,10 @@
27+@@ -728,8 +734,10 @@ getProcessExitCode ph@(ProcessHandle _ delegating_ctlc _) = tryLockWaitpid $ do
60 -- has indeed terminated, use 'getProcessExitCode'.
28 -- has indeed terminated, use 'getProcessExitCode'.
61 --
29 --
62 -- On Unix systems, 'terminateProcess' sends the process the SIGTERM signal.
30 -- 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
69 --
37 --
70 -- Note: on Windows, if the process was a shell command created by
38 -- Note: on Windows, if the process was a shell command created by
71 -- 'createProcess' with 'shell', or created by 'runCommand' or
39 -- '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
40+diff --git a/System/Process/Common.hs b/System/Process/Common.hs
73−--- hackage-package-process-1.6.3.0/cbits/runProcess.c 2017-02-06 16:42:31.000000000 +0800
41+index b424764..fe55889 100644
74−+++ ghc-package-process-1.6.3.0/cbits/runProcess.c 2001-09-09 09:46:40.000000000 +0800
42+--- a/System/Process/Common.hs
75−@@ -111,6 +111,18 @@
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[],
76 r = pipe(forkCommunicationFds);
80 r = pipe(forkCommunicationFds);
77 if (r == -1) {
81 if (r == -1) {
78 *failed_doing = "runInteractiveProcess: pipe";
82 *failed_doing = "runInteractiveProcess: pipe";
@@ -91,9 +95,10 @@ diff -ur hackage-package-process-1.6.3.0/cbits/runProcess.c ghc-package-process-
91 return -1;
95 return -1;
92 }
96 }
93
97
94−diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.0/changelog.md
98+diff --git a/changelog.md b/changelog.md
95−--- hackage-package-process-1.6.3.0/changelog.md 2018-01-22 10:51:34.000000000 +0800
99+index 851c3ca..d4c43ae 100644
96−+++ ghc-package-process-1.6.3.0/changelog.md 2001-09-09 09:46:40.000000000 +0800
100+--- a/changelog.md
101++++ b/changelog.md
97@@ -1,5 +1,13 @@
102@@ -1,5 +1,13 @@
98 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
103 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
99
104
@@ -108,10 +113,11 @@ diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.
108 ## 1.6.3.0 *January 2018*
113 ## 1.6.3.0 *January 2018*
109
114
110 * Added `getPid` and export of platform specific `Pid` type
115 * 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
116+diff --git a/process.cabal b/process.cabal
112−--- hackage-package-process-1.6.3.0/process.cabal 2018-01-22 10:52:21.000000000 +0800
117+index cb6cbb3..350591a 100644
113−+++ ghc-package-process-1.6.3.0/process.cabal 2001-09-09 09:46:40.000000000 +0800
118+--- a/process.cabal
114−@@ -46,8 +46,9 @@
119++++ b/process.cabal
120+@@ -46,8 +46,9 @@ library
115 InterruptibleFFI
121 InterruptibleFFI
116 RecordWildCards
122 RecordWildCards
117 Trustworthy
123 Trustworthy
@@ -123,7 +129,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
123
129
124 exposed-modules:
130 exposed-modules:
125 System.Cmd
131 System.Cmd
126−@@ -61,7 +62,7 @@
132+@@ -61,7 +62,7 @@ library
127 cpp-options: -DWINDOWS
133 cpp-options: -DWINDOWS
128 else
134 else
129 other-modules: System.Process.Posix
135 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
132
138
133 c-sources:
139 c-sources:
134 cbits/runProcess.c
140 cbits/runProcess.c
135−@@ -74,7 +75,7 @@
141+@@ -74,7 +75,7 @@ library
136
142
137 ghc-options: -Wall
143 ghc-options: -Wall
138
144
@@ -141,7 +147,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
141 directory >= 1.1 && < 1.4,
147 directory >= 1.1 && < 1.4,
142 filepath >= 1.2 && < 1.5,
148 filepath >= 1.2 && < 1.5,
143 deepseq >= 1.1 && < 1.5
149 deepseq >= 1.1 && < 1.5
144−@@ -84,7 +85,9 @@
150+@@ -84,7 +85,9 @@ test-suite test
145 hs-source-dirs: test
151 hs-source-dirs: test
146 main-is: main.hs
152 main-is: main.hs
147 type: exitcode-stdio-1.0
153 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
1+diff --git a/configure b/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
2+index f4f4dba..f5fae2b 100644
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
3+--- a/configure
4++++ b/configure
4@@ -1,6 +1,6 @@
5@@ -1,6 +1,6 @@
5 #! /bin/sh
6 #! /bin/sh
6 # Guess values for system-dependent variables and create Makefiles.
7 # 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
9 #
10 #
10 # Report bugs to <ashley@semantic.org>.
11 # Report bugs to <ashley@semantic.org>.
11 #
12 #
12−@@ -580,8 +580,8 @@
13+@@ -580,8 +580,8 @@ MAKEFLAGS=
13 # Identity of this package.
14 # Identity of this package.
14 PACKAGE_NAME='Haskell time package'
15 PACKAGE_NAME='Haskell time package'
15 PACKAGE_TARNAME='time'
16 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
20 PACKAGE_BUGREPORT='ashley@semantic.org'
21 PACKAGE_BUGREPORT='ashley@semantic.org'
21 PACKAGE_URL=''
22 PACKAGE_URL=''
22
23
23−@@ -653,7 +653,6 @@
24+@@ -653,7 +653,6 @@ infodir
24 docdir
25 docdir
25 oldincludedir
26 oldincludedir
26 includedir
27 includedir
@@ -28,7 +29,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
28 localstatedir
29 localstatedir
29 sharedstatedir
30 sharedstatedir
30 sysconfdir
31 sysconfdir
31−@@ -726,7 +725,6 @@
32+@@ -726,7 +725,6 @@ datadir='${datarootdir}'
32 sysconfdir='${prefix}/etc'
33 sysconfdir='${prefix}/etc'
33 sharedstatedir='${prefix}/com'
34 sharedstatedir='${prefix}/com'
34 localstatedir='${prefix}/var'
35 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
36 includedir='${prefix}/include'
37 includedir='${prefix}/include'
37 oldincludedir='/usr/include'
38 oldincludedir='/usr/include'
38 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40+@@ -979,15 +977,6 @@ do
40 | -silent | --silent | --silen | --sile | --sil)
41 | -silent | --silent | --silen | --sile | --sil)
41 silent=yes ;;
42 silent=yes ;;
42
43
@@ -52,7 +53,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
52 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53 ac_prev=sbindir ;;
54 ac_prev=sbindir ;;
54 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56+@@ -1125,7 +1114,7 @@ fi
56 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57 datadir sysconfdir sharedstatedir localstatedir includedir \
58 datadir sysconfdir sharedstatedir localstatedir includedir \
58 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
59 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
61 do
62 do
62 eval ac_val=\$$ac_var
63 eval ac_val=\$$ac_var
63 # Remove trailing slashes.
64 # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65+@@ -1238,7 +1227,7 @@ if test "$ac_init_help" = "long"; then
65 # Omit some internal or obsolete options to make the list less imposing.
66 # 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 # This message is too long to be a string in the A/UX 3.1 sh.
67 cat <<_ACEOF
68 cat <<_ACEOF
@@ -70,7 +71,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
70
71
71 Usage: $0 [OPTION]... [VAR=VALUE]...
72 Usage: $0 [OPTION]... [VAR=VALUE]...
72
73
73−@@ -1278,7 +1267,6 @@
74+@@ -1278,7 +1267,6 @@ Fine tuning of the installation directories:
74 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
77 --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
78 --libdir=DIR object code libraries [EPREFIX/lib]
79 --libdir=DIR object code libraries [EPREFIX/lib]
79 --includedir=DIR C header files [PREFIX/include]
80 --includedir=DIR C header files [PREFIX/include]
80 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82+@@ -1300,7 +1288,7 @@ fi
82
83
83 if test -n "$ac_init_help"; then
84 if test -n "$ac_init_help"; then
84 case $ac_init_help in
85 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
87 esac
88 esac
88 cat <<\_ACEOF
89 cat <<\_ACEOF
89
90
90−@@ -1386,7 +1374,7 @@
91+@@ -1386,7 +1374,7 @@ fi
91 test -n "$ac_init_help" && exit $ac_status
92 test -n "$ac_init_help" && exit $ac_status
92 if $ac_init_version; then
93 if $ac_init_version; then
93 cat <<\_ACEOF
94 cat <<\_ACEOF
@@ -96,7 +97,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
96 generated by GNU Autoconf 2.69
97 generated by GNU Autoconf 2.69
97
98
98 Copyright (C) 2012 Free Software Foundation, Inc.
99 Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100+@@ -1858,7 +1846,7 @@ cat >config.log <<_ACEOF
100 This file contains any messages produced by compilers while
101 This file contains any messages produced by compilers while
101 running configure, to aid debugging if configure makes a mistake.
102 running configure, to aid debugging if configure makes a mistake.
102
103
@@ -105,7 +106,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
105 generated by GNU Autoconf 2.69. Invocation command line was
106 generated by GNU Autoconf 2.69. Invocation command line was
106
107
107 $ $0 $@
108 $ $0 $@
108−@@ -4193,7 +4181,7 @@
109+@@ -4193,7 +4181,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
109 # report actual input values of CONFIG_FILES etc. instead of their
110 # report actual input values of CONFIG_FILES etc. instead of their
110 # values after options handling.
111 # values after options handling.
111 ac_log="
112 ac_log="
@@ -114,7 +115,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
114 generated by GNU Autoconf 2.69. Invocation command line was
115 generated by GNU Autoconf 2.69. Invocation command line was
115
116
116 CONFIG_FILES = $CONFIG_FILES
117 CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118+@@ -4246,7 +4234,7 @@ _ACEOF
118 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120 ac_cs_version="\\
121 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
123 configured by $0, generated by GNU Autoconf 2.69,
124 configured by $0, generated by GNU Autoconf 2.69,
124 with options \\"\$ac_cs_config\\"
125 with options \\"\$ac_cs_config\\"
125
126
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+diff --git a/lib/include/HsTimeConfig.h b/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+index a1e2513..20798c5 100644
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
129+--- a/lib/include/HsTimeConfig.h
130++++ b/lib/include/HsTimeConfig.h
129@@ -69,7 +69,7 @@
131@@ -69,7 +69,7 @@
130 #define PACKAGE_NAME "Haskell time package"
132 #define PACKAGE_NAME "Haskell time package"
131
133
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
1+diff --git a/Control/Applicative/Backwards.hs b/Control/Applicative/Backwards.hs
2−--- hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2017-10-04 23:58:48.000000000 +0800
2+index ebb8a0b..7ed74ac 100644
3−+++ ghc-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2001-09-09 09:46:40.000000000 +0800
3+--- a/Control/Applicative/Backwards.hs
4−@@ -27,6 +27,9 @@
4++++ b/Control/Applicative/Backwards.hs
5+@@ -27,6 +27,9 @@ module Control.Applicative.Backwards (
5 ) where
6 ) where
6
7
7 import Data.Functor.Classes
8 import Data.Functor.Classes
@@ -11,7 +12,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
11
12
12 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
13 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
13 import Control.Applicative
14 import Control.Applicative
14−@@ -100,3 +103,10 @@
15+@@ -100,3 +103,10 @@ instance (Traversable f) => Traversable (Backwards f) where
15 {-# INLINE traverse #-}
16 {-# INLINE traverse #-}
16 sequenceA (Backwards t) = fmap Backwards (sequenceA t)
17 sequenceA (Backwards t) = fmap Backwards (sequenceA t)
17 {-# INLINE sequenceA #-}
18 {-# INLINE sequenceA #-}
@@ -22,10 +23,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
22+ contramap f = Backwards . contramap f . forwards
23+ contramap f = Backwards . contramap f . forwards
23+ {-# INLINE contramap #-}
24+ {-# INLINE contramap #-}
24+#endif
25+#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+diff --git a/Control/Monad/Trans/Class.hs b/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+index 9c2e260..b92bc0e 100644
27−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2001-09-09 09:46:40.000000000 +0800
28+--- a/Control/Monad/Trans/Class.hs
28−@@ -113,7 +113,13 @@
29++++ b/Control/Monad/Trans/Class.hs
30+@@ -113,7 +113,13 @@ an action that is strict in the component you want evaluated.
29
31
30 {- $example1
32 {- $example1
31
33
@@ -40,7 +42,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-p
40 to be parsed) to the @[]@ monad, which provides non-determinism:
42 to be parsed) to the @[]@ monad, which provides non-determinism:
41
43
42 > import Control.Monad.Trans.State
44 > 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.
44 {- $example3
46 {- $example3
45
47
46 This example is a cut-down version of the one in
48 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
50 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
52 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
51 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
53 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
52
54
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
55+diff --git a/Control/Monad/Trans/Error.hs b/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
56+index 144da45..f50b051 100644
55−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2001-09-09 09:46:40.000000000 +0800
57+--- a/Control/Monad/Trans/Error.hs
56−@@ -58,6 +58,9 @@
58++++ b/Control/Monad/Trans/Error.hs
59+@@ -58,6 +58,9 @@ import Control.Monad.IO.Class
57 import Control.Monad.Signatures
60 import Control.Monad.Signatures
58 import Control.Monad.Trans.Class
61 import Control.Monad.Trans.Class
59 import Data.Functor.Classes
62 import Data.Functor.Classes
@@ -63,7 +66,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
63
66
64 import Control.Applicative
67 import Control.Applicative
65 import Control.Exception (IOException)
68 import Control.Exception (IOException)
66−@@ -263,6 +266,11 @@
69+@@ -263,6 +266,11 @@ instance MonadTrans (ErrorT e) where
67 instance (Error e, MonadIO m) => MonadIO (ErrorT e m) where
70 instance (Error e, MonadIO m) => MonadIO (ErrorT e m) where
68 liftIO = lift . liftIO
71 liftIO = lift . liftIO
69
72
@@ -75,9 +78,10 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
75 -- | Signal an error value @e@.
78 -- | Signal an error value @e@.
76 --
79 --
77 -- * @'runErrorT' ('throwError' e) = 'return' ('Left' e)@
80 -- * @'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
81+diff --git a/Control/Monad/Trans/Except.hs b/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
82+index 6a06297..b5446e4 100644
80−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2001-09-09 09:46:40.000000000 +0800
83+--- a/Control/Monad/Trans/Except.hs
84++++ b/Control/Monad/Trans/Except.hs
81@@ -15,7 +15,7 @@
85@@ -15,7 +15,7 @@
82 -- Stability : experimental
86 -- Stability : experimental
83 -- Portability : portable
87 -- Portability : portable
@@ -87,7 +91,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
87 --
91 --
88 -- A sequence of actions terminates normally, producing a value,
92 -- A sequence of actions terminates normally, producing a value,
89 -- only if none of the actions in the sequence throws an exception.
93 -- 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
91 import Control.Monad.Signatures
95 import Control.Monad.Signatures
92 import Control.Monad.Trans.Class
96 import Control.Monad.Trans.Class
93 import Data.Functor.Classes
97 import Data.Functor.Classes
@@ -97,7 +101,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
97 import Data.Functor.Identity
101 import Data.Functor.Identity
98
102
99 import Control.Applicative
103 import Control.Applicative
100−@@ -255,6 +258,12 @@
104+@@ -255,6 +258,12 @@ instance (MonadZip m) => MonadZip (ExceptT e m) where
101 {-# INLINE mzipWith #-}
105 {-# INLINE mzipWith #-}
102 #endif
106 #endif
103
107
@@ -110,10 +114,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
110 -- | Signal an exception value @e@.
114 -- | Signal an exception value @e@.
111 --
115 --
112 -- * @'runExceptT' ('throwE' e) = 'return' ('Left' e)@
116 -- * @'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
117+diff --git a/Control/Monad/Trans/Identity.hs b/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
118+index b04428e..81d0c21 100644
115−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2001-09-09 09:46:40.000000000 +0800
119+--- a/Control/Monad/Trans/Identity.hs
116−@@ -36,6 +36,9 @@
120++++ b/Control/Monad/Trans/Identity.hs
121+@@ -36,6 +36,9 @@ import Control.Monad.IO.Class (MonadIO(liftIO))
117 import Control.Monad.Signatures
122 import Control.Monad.Signatures
118 import Control.Monad.Trans.Class (MonadTrans(lift))
123 import Control.Monad.Trans.Class (MonadTrans(lift))
119 import Data.Functor.Classes
124 import Data.Functor.Classes
@@ -123,7 +128,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
123
128
124 import Control.Applicative
129 import Control.Applicative
125 import Control.Monad (MonadPlus(mzero, mplus))
130 import Control.Monad (MonadPlus(mzero, mplus))
126−@@ -154,6 +157,12 @@
131+@@ -154,6 +157,12 @@ instance MonadTrans IdentityT where
127 lift = IdentityT
132 lift = IdentityT
128 {-# INLINE lift #-}
133 {-# INLINE lift #-}
129
134
@@ -136,10 +141,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
136 -- | Lift a unary operation to the new monad.
141 -- | Lift a unary operation to the new monad.
137 mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
142 mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
138 mapIdentityT f = IdentityT . f . runIdentityT
143 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
144+diff --git a/Control/Monad/Trans/List.hs b/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
145+index e87fb0c..6af4b10 100644
141−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2001-09-09 09:46:40.000000000 +0800
146+--- a/Control/Monad/Trans/List.hs
142−@@ -34,12 +34,16 @@
147++++ b/Control/Monad/Trans/List.hs
148+@@ -34,12 +34,16 @@ import Control.Monad.IO.Class
143 import Control.Monad.Signatures
149 import Control.Monad.Signatures
144 import Control.Monad.Trans.Class
150 import Control.Monad.Trans.Class
145 import Data.Functor.Classes
151 import Data.Functor.Classes
@@ -156,7 +162,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
156 #if MIN_VERSION_base(4,4,0)
162 #if MIN_VERSION_base(4,4,0)
157 import Control.Monad.Zip (MonadZip(mzipWith))
163 import Control.Monad.Zip (MonadZip(mzipWith))
158 #endif
164 #endif
159−@@ -137,6 +141,12 @@
165+@@ -137,6 +141,12 @@ instance (Monad m) => MonadPlus (ListT m) where
160 return (a ++ b)
166 return (a ++ b)
161 {-# INLINE mplus #-}
167 {-# INLINE mplus #-}
162
168
@@ -169,7 +175,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
169 instance MonadTrans ListT where
175 instance MonadTrans ListT where
170 lift m = ListT $ do
176 lift m = ListT $ do
171 a <- m
177 a <- m
172−@@ -153,6 +163,12 @@
178+@@ -153,6 +163,12 @@ instance (MonadZip m) => MonadZip (ListT m) where
173 {-# INLINE mzipWith #-}
179 {-# INLINE mzipWith #-}
174 #endif
180 #endif
175
181
@@ -182,10 +188,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
182 -- | Lift a @callCC@ operation to the new monad.
188 -- | Lift a @callCC@ operation to the new monad.
183 liftCallCC :: CallCC m [a] [b] -> CallCC (ListT m) a b
189 liftCallCC :: CallCC m [a] [b] -> CallCC (ListT m) a b
184 liftCallCC callCC f = ListT $
190 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
191+diff --git a/Control/Monad/Trans/Maybe.hs b/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
192+index 13114b1..997a4c0 100644
187−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2001-09-09 09:46:40.000000000 +0800
193+--- a/Control/Monad/Trans/Maybe.hs
188−@@ -45,6 +45,9 @@
194++++ b/Control/Monad/Trans/Maybe.hs
195+@@ -45,6 +45,9 @@ import Control.Monad.Signatures
189 import Control.Monad.Trans.Class
196 import Control.Monad.Trans.Class
190 import Control.Monad.Trans.Except (ExceptT(..))
197 import Control.Monad.Trans.Except (ExceptT(..))
191 import Data.Functor.Classes
198 import Data.Functor.Classes
@@ -195,7 +202,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
195
202
196 import Control.Applicative
203 import Control.Applicative
197 import Control.Monad (MonadPlus(mzero, mplus), liftM)
204 import Control.Monad (MonadPlus(mzero, mplus), liftM)
198−@@ -202,6 +205,12 @@
205+@@ -202,6 +205,12 @@ instance (MonadZip m) => MonadZip (MaybeT m) where
199 {-# INLINE mzipWith #-}
206 {-# INLINE mzipWith #-}
200 #endif
207 #endif
201
208
@@ -208,10 +215,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
208 -- | Lift a @callCC@ operation to the new monad.
215 -- | Lift a @callCC@ operation to the new monad.
209 liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b
216 liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b
210 liftCallCC callCC f =
217 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
218+diff --git a/Control/Monad/Trans/RWS/Lazy.hs b/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
219+index 36694c5..c366d5d 100644
213−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
220+--- a/Control/Monad/Trans/RWS/Lazy.hs
214−@@ -63,6 +63,9 @@
221++++ b/Control/Monad/Trans/RWS/Lazy.hs
222+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Lazy (
215 import Control.Monad.IO.Class
223 import Control.Monad.IO.Class
216 import Control.Monad.Signatures
224 import Control.Monad.Signatures
217 import Control.Monad.Trans.Class
225 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
221 import Data.Functor.Identity
229 import Data.Functor.Identity
222
230
223 import Control.Applicative
231 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
225 liftIO = lift . liftIO
233 liftIO = lift . liftIO
226 {-# INLINE liftIO #-}
234 {-# INLINE liftIO #-}
227
235
@@ -235,10 +243,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs gh
235 -- ---------------------------------------------------------------------------
243 -- ---------------------------------------------------------------------------
236 -- Reader operations
244 -- Reader operations
237
245
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
246+diff --git a/Control/Monad/Trans/RWS/Strict.hs b/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
247+index 32f2af5..c5e3f6c 100644
240−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2001-09-09 09:46:40.000000000 +0800
248+--- a/Control/Monad/Trans/RWS/Strict.hs
241−@@ -63,6 +63,9 @@
249++++ b/Control/Monad/Trans/RWS/Strict.hs
250+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Strict (
242 import Control.Monad.IO.Class
251 import Control.Monad.IO.Class
243 import Control.Monad.Signatures
252 import Control.Monad.Signatures
244 import Control.Monad.Trans.Class
253 import Control.Monad.Trans.Class
@@ -248,7 +257,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
248 import Data.Functor.Identity
257 import Data.Functor.Identity
249
258
250 import Control.Applicative
259 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
252 liftIO = lift . liftIO
261 liftIO = lift . liftIO
253 {-# INLINE liftIO #-}
262 {-# INLINE liftIO #-}
254
263
@@ -262,10 +271,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
262 -- ---------------------------------------------------------------------------
271 -- ---------------------------------------------------------------------------
263 -- Reader operations
272 -- Reader operations
264
273
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
274+diff --git a/Control/Monad/Trans/Reader.hs b/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
275+index b577b2d..f0b80f7 100644
267−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2001-09-09 09:46:40.000000000 +0800
276+--- a/Control/Monad/Trans/Reader.hs
268−@@ -49,6 +49,9 @@
277++++ b/Control/Monad/Trans/Reader.hs
278+@@ -49,6 +49,9 @@ module Control.Monad.Trans.Reader (
269 import Control.Monad.IO.Class
279 import Control.Monad.IO.Class
270 import Control.Monad.Signatures
280 import Control.Monad.Signatures
271 import Control.Monad.Trans.Class
281 import Control.Monad.Trans.Class
@@ -275,7 +285,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
275 import Data.Functor.Identity
285 import Data.Functor.Identity
276
286
277 import Control.Applicative
287 import Control.Applicative
278−@@ -207,6 +210,12 @@
288+@@ -207,6 +210,12 @@ instance (MonadZip m) => MonadZip (ReaderT r m) where
279 {-# INLINE mzipWith #-}
289 {-# INLINE mzipWith #-}
280 #endif
290 #endif
281
291
@@ -288,10 +298,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
288 liftReaderT :: m a -> ReaderT r m a
298 liftReaderT :: m a -> ReaderT r m a
289 liftReaderT m = ReaderT (const m)
299 liftReaderT m = ReaderT (const m)
290 {-# INLINE liftReaderT #-}
300 {-# 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
301+diff --git a/Control/Monad/Trans/State/Lazy.hs b/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
302+index 13f61f4..e719f02 100644
293−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
303+--- a/Control/Monad/Trans/State/Lazy.hs
294−@@ -76,6 +76,9 @@
304++++ b/Control/Monad/Trans/State/Lazy.hs
305+@@ -76,6 +76,9 @@ module Control.Monad.Trans.State.Lazy (
295 import Control.Monad.IO.Class
306 import Control.Monad.IO.Class
296 import Control.Monad.Signatures
307 import Control.Monad.Signatures
297 import Control.Monad.Trans.Class
308 import Control.Monad.Trans.Class
@@ -301,7 +312,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
301 import Data.Functor.Identity
312 import Data.Functor.Identity
302
313
303 import Control.Applicative
314 import Control.Applicative
304−@@ -253,6 +256,13 @@
315+@@ -253,6 +256,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
305 liftIO = lift . liftIO
316 liftIO = lift . liftIO
306 {-# INLINE liftIO #-}
317 {-# INLINE liftIO #-}
307
318
@@ -315,10 +326,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
315 -- | Fetch the current value of the state within the monad.
326 -- | Fetch the current value of the state within the monad.
316 get :: (Monad m) => StateT s m s
327 get :: (Monad m) => StateT s m s
317 get = state $ \ s -> (s, s)
328 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
329+diff --git a/Control/Monad/Trans/State/Strict.hs b/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
330+index f1fb782..31fd52a 100644
320−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2001-09-09 09:46:40.000000000 +0800
331+--- a/Control/Monad/Trans/State/Strict.hs
321−@@ -73,6 +73,9 @@
332++++ b/Control/Monad/Trans/State/Strict.hs
333+@@ -73,6 +73,9 @@ module Control.Monad.Trans.State.Strict (
322 import Control.Monad.IO.Class
334 import Control.Monad.IO.Class
323 import Control.Monad.Signatures
335 import Control.Monad.Signatures
324 import Control.Monad.Trans.Class
336 import Control.Monad.Trans.Class
@@ -328,7 +340,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
328 import Data.Functor.Identity
340 import Data.Functor.Identity
329
341
330 import Control.Applicative
342 import Control.Applicative
331−@@ -250,6 +253,13 @@
343+@@ -250,6 +253,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
332 liftIO = lift . liftIO
344 liftIO = lift . liftIO
333 {-# INLINE liftIO #-}
345 {-# INLINE liftIO #-}
334
346
@@ -342,10 +354,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
342 -- | Fetch the current value of the state within the monad.
354 -- | Fetch the current value of the state within the monad.
343 get :: (Monad m) => StateT s m s
355 get :: (Monad m) => StateT s m s
344 get = state $ \ s -> (s, s)
356 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
357+diff --git a/Control/Monad/Trans/Writer/Lazy.hs b/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
358+index c7f689c..721e15c 100644
347−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
359+--- a/Control/Monad/Trans/Writer/Lazy.hs
348−@@ -52,6 +52,9 @@
360++++ b/Control/Monad/Trans/Writer/Lazy.hs
361+@@ -52,6 +52,9 @@ module Control.Monad.Trans.Writer.Lazy (
349 import Control.Monad.IO.Class
362 import Control.Monad.IO.Class
350 import Control.Monad.Trans.Class
363 import Control.Monad.Trans.Class
351 import Data.Functor.Classes
364 import Data.Functor.Classes
@@ -355,7 +368,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
355 import Data.Functor.Identity
368 import Data.Functor.Identity
356
369
357 import Control.Applicative
370 import Control.Applicative
358−@@ -237,6 +240,12 @@
371+@@ -237,6 +240,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
359 {-# INLINE mzipWith #-}
372 {-# INLINE mzipWith #-}
360 #endif
373 #endif
361
374
@@ -368,10 +381,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
368 -- | @'tell' w@ is an action that produces the output @w@.
381 -- | @'tell' w@ is an action that produces the output @w@.
369 tell :: (Monad m) => w -> WriterT w m ()
382 tell :: (Monad m) => w -> WriterT w m ()
370 tell w = writer ((), w)
383 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
384+diff --git a/Control/Monad/Trans/Writer/Strict.hs b/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
385+index 33058af..b18b4a8 100644
373−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2001-09-09 09:46:40.000000000 +0800
386+--- a/Control/Monad/Trans/Writer/Strict.hs
374−@@ -55,6 +55,9 @@
387++++ b/Control/Monad/Trans/Writer/Strict.hs
388+@@ -55,6 +55,9 @@ module Control.Monad.Trans.Writer.Strict (
375 import Control.Monad.IO.Class
389 import Control.Monad.IO.Class
376 import Control.Monad.Trans.Class
390 import Control.Monad.Trans.Class
377 import Data.Functor.Classes
391 import Data.Functor.Classes
@@ -381,7 +395,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
381 import Data.Functor.Identity
395 import Data.Functor.Identity
382
396
383 import Control.Applicative
397 import Control.Applicative
384−@@ -240,6 +243,12 @@
398+@@ -240,6 +243,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
385 {-# INLINE mzipWith #-}
399 {-# INLINE mzipWith #-}
386 #endif
400 #endif
387
401
@@ -394,10 +408,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
394 -- | @'tell' w@ is an action that produces the output @w@.
408 -- | @'tell' w@ is an action that produces the output @w@.
395 tell :: (Monad m) => w -> WriterT w m ()
409 tell :: (Monad m) => w -> WriterT w m ()
396 tell w = writer ((), w)
410 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
411+diff --git a/Data/Functor/Constant.hs b/Data/Functor/Constant.hs
398−--- hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2017-10-04 23:58:48.000000000 +0800
412+index e22f0d6..9c0b8d4 100644
399−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2001-09-09 09:46:40.000000000 +0800
413+--- a/Data/Functor/Constant.hs
400−@@ -26,6 +26,9 @@
414++++ b/Data/Functor/Constant.hs
415+@@ -26,6 +26,9 @@ module Data.Functor.Constant (
401 ) where
416 ) where
402
417
403 import Data.Functor.Classes
418 import Data.Functor.Classes
@@ -407,7 +422,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
407
422
408 import Control.Applicative
423 import Control.Applicative
409 import Data.Foldable
424 import Data.Foldable
410−@@ -141,3 +144,9 @@
425+@@ -141,3 +144,9 @@ instance Bitraversable Constant where
411 bitraverse f _ (Constant a) = Constant <$> f a
426 bitraverse f _ (Constant a) = Constant <$> f a
412 {-# INLINE bitraverse #-}
427 {-# INLINE bitraverse #-}
413 #endif
428 #endif
@@ -417,10 +432,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
417+ contramap _ (Constant a) = Constant a
432+ contramap _ (Constant a) = Constant a
418+ {-# INLINE contramap #-}
433+ {-# INLINE contramap #-}
419+#endif
434+#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
435+diff --git a/Data/Functor/Reverse.hs b/Data/Functor/Reverse.hs
421−--- hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2017-10-04 23:58:48.000000000 +0800
436+index a6abc46..dcb6290 100644
422−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2001-09-09 09:46:40.000000000 +0800
437+--- a/Data/Functor/Reverse.hs
423−@@ -28,6 +28,9 @@
438++++ b/Data/Functor/Reverse.hs
439+@@ -28,6 +28,9 @@ module Data.Functor.Reverse (
424
440
425 import Control.Applicative.Backwards
441 import Control.Applicative.Backwards
426 import Data.Functor.Classes
442 import Data.Functor.Classes
@@ -430,7 +446,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
430
446
431 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
447 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
432 import Control.Applicative
448 import Control.Applicative
433−@@ -129,3 +132,10 @@
449+@@ -129,3 +132,10 @@ instance (Traversable f) => Traversable (Reverse f) where
434 traverse f (Reverse t) =
450 traverse f (Reverse t) =
435 fmap Reverse . forwards $ traverse (Backwards . f) t
451 fmap Reverse . forwards $ traverse (Backwards . f) t
436 {-# INLINE traverse #-}
452 {-# INLINE traverse #-}
@@ -441,10 +457,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
441+ contramap f = Reverse . contramap f . getReverse
457+ contramap f = Reverse . contramap f . getReverse
442+ {-# INLINE contramap #-}
458+ {-# INLINE contramap #-}
443+#endif
459+#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
460+diff --git a/legacy/pre711/Data/Functor/Compose.hs b/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
461+index 161a2e9..ed78130 100644
446−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2001-09-09 09:46:40.000000000 +0800
462+--- a/legacy/pre711/Data/Functor/Compose.hs
447−@@ -35,6 +35,9 @@
463++++ b/legacy/pre711/Data/Functor/Compose.hs
464+@@ -35,6 +35,9 @@ module Data.Functor.Compose (
448 ) where
465 ) where
449
466
450 import Data.Functor.Classes
467 import Data.Functor.Classes
@@ -454,7 +471,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose
454
471
455 import Control.Applicative
472 import Control.Applicative
456 #if __GLASGOW_HASKELL__ >= 708
473 #if __GLASGOW_HASKELL__ >= 708
457−@@ -144,3 +147,8 @@
474+@@ -144,3 +147,8 @@ instance (Applicative f, Applicative g) => Applicative (Compose f g) where
458 instance (Alternative f, Applicative g) => Alternative (Compose f g) where
475 instance (Alternative f, Applicative g) => Alternative (Compose f g) where
459 empty = Compose empty
476 empty = Compose empty
460 Compose x <|> Compose y = Compose (x <|> y)
477 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
463+instance (Functor f, Contravariant g) => Contravariant (Compose f g) where
480+instance (Functor f, Contravariant g) => Contravariant (Compose f g) where
464+ contramap f (Compose fga) = Compose (fmap (contramap f) fga)
481+ contramap f (Compose fga) = Compose (fmap (contramap f) fga)
465+#endif
482+#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
483+diff --git a/legacy/pre711/Data/Functor/Product.hs b/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
484+index 51c99a3..ba0dc04 100644
468−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2001-09-09 09:46:40.000000000 +0800
485+--- a/legacy/pre711/Data/Functor/Product.hs
469−@@ -45,6 +45,9 @@
486++++ b/legacy/pre711/Data/Functor/Product.hs
487+@@ -45,6 +45,9 @@ import Data.Data
470 #endif
488 #endif
471 import Data.Foldable (Foldable(foldMap))
489 import Data.Foldable (Foldable(foldMap))
472 import Data.Functor.Classes
490 import Data.Functor.Classes
@@ -476,7 +494,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
476 import Data.Monoid (mappend)
494 import Data.Monoid (mappend)
477 import Data.Traversable (Traversable(traverse))
495 import Data.Traversable (Traversable(traverse))
478 #if __GLASGOW_HASKELL__ >= 702
496 #if __GLASGOW_HASKELL__ >= 702
479−@@ -146,3 +149,8 @@
497+@@ -146,3 +149,8 @@ instance (MonadFix f, MonadFix g) => MonadFix (Product f g) where
480 instance (MonadZip f, MonadZip g) => MonadZip (Product f g) where
498 instance (MonadZip f, MonadZip g) => MonadZip (Product f g) where
481 mzipWith f (Pair x1 y1) (Pair x2 y2) = Pair (mzipWith f x1 x2) (mzipWith f y1 y2)
499 mzipWith f (Pair x1 y1) (Pair x2 y2) = Pair (mzipWith f x1 x2) (mzipWith f y1 y2)
482 #endif
500 #endif
@@ -485,10 +503,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
485+instance (Contravariant f, Contravariant g) => Contravariant (Product f g) where
503+instance (Contravariant f, Contravariant g) => Contravariant (Product f g) where
486+ contramap f (Pair a b) = Pair (contramap f a) (contramap f b)
504+ contramap f (Pair a b) = Pair (contramap f a) (contramap f b)
487+#endif
505+#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
506+diff --git a/legacy/pre711/Data/Functor/Sum.hs b/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
507+index 9c314e7..e6d1428 100644
490−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2001-09-09 09:46:40.000000000 +0800
508+--- a/legacy/pre711/Data/Functor/Sum.hs
491−@@ -40,6 +40,9 @@
509++++ b/legacy/pre711/Data/Functor/Sum.hs
510+@@ -40,6 +40,9 @@ import Data.Data
492 #endif
511 #endif
493 import Data.Foldable (Foldable(foldMap))
512 import Data.Foldable (Foldable(foldMap))
494 import Data.Functor.Classes
513 import Data.Functor.Classes
@@ -498,7 +517,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
498 import Data.Monoid (mappend)
517 import Data.Monoid (mappend)
499 import Data.Traversable (Traversable(traverse))
518 import Data.Traversable (Traversable(traverse))
500 #if __GLASGOW_HASKELL__ >= 702
519 #if __GLASGOW_HASKELL__ >= 702
501−@@ -125,3 +128,9 @@
520+@@ -125,3 +128,9 @@ instance (Foldable f, Foldable g) => Foldable (Sum f g) where
502 instance (Traversable f, Traversable g) => Traversable (Sum f g) where
521 instance (Traversable f, Traversable g) => Traversable (Sum f g) where
503 traverse f (InL x) = InL <$> traverse f x
522 traverse f (InL x) = InL <$> traverse f x
504 traverse f (InR y) = InR <$> traverse f y
523 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
508+ contramap f (InL xs) = InL (contramap f xs)
527+ contramap f (InL xs) = InL (contramap f xs)
509+ contramap f (InR ys) = InR (contramap f ys)
528+ contramap f (InR ys) = InR (contramap f ys)
510+#endif
529+#endif
511−diff -ur hackage-package-transformers-0.5.5.0/transformers.cabal ghc-package-transformers-0.5.5.0/transformers.cabal
530+diff --git a/transformers.cabal b/transformers.cabal
512−--- hackage-package-transformers-0.5.5.0/transformers.cabal 2017-10-04 23:58:48.000000000 +0800
531+index 8583b12..b2e4fea 100644
513−+++ ghc-package-transformers-0.5.5.0/transformers.cabal 2001-09-09 09:46:40.000000000 +0800
532+--- a/transformers.cabal
514−@@ -9,7 +9,9 @@
533++++ b/transformers.cabal
534+@@ -9,7 +9,9 @@ category: Control
515 synopsis: Concrete functor and monad transformers
535 synopsis: Concrete functor and monad transformers
516 description:
536 description:
517 A portable library of functor and monad transformers, inspired by
537 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
1+diff --git a/configure b/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
2+index ea0475d..a3897ae 100644
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
3+--- a/configure
4−@@ -667,7 +667,6 @@
4++++ b/configure
5+@@ -667,7 +667,6 @@ infodir
5 docdir
6 docdir
6 oldincludedir
7 oldincludedir
7 includedir
8 includedir
@@ -9,7 +10,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
9 localstatedir
10 localstatedir
10 sharedstatedir
11 sharedstatedir
11 sysconfdir
12 sysconfdir
12−@@ -739,7 +738,6 @@
13+@@ -739,7 +738,6 @@ datadir='${datarootdir}'
13 sysconfdir='${prefix}/etc'
14 sysconfdir='${prefix}/etc'
14 sharedstatedir='${prefix}/com'
15 sharedstatedir='${prefix}/com'
15 localstatedir='${prefix}/var'
16 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
17 includedir='${prefix}/include'
18 includedir='${prefix}/include'
18 oldincludedir='/usr/include'
19 oldincludedir='/usr/include'
19 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21+@@ -992,15 +990,6 @@ do
21 | -silent | --silent | --silen | --sile | --sil)
22 | -silent | --silent | --silen | --sile | --sil)
22 silent=yes ;;
23 silent=yes ;;
23
24
@@ -33,7 +34,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
33 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34 ac_prev=sbindir ;;
35 ac_prev=sbindir ;;
35 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37+@@ -1138,7 +1127,7 @@ fi
37 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38 datadir sysconfdir sharedstatedir localstatedir includedir \
39 datadir sysconfdir sharedstatedir localstatedir includedir \
39 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
40 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
42 do
43 do
43 eval ac_val=\$$ac_var
44 eval ac_val=\$$ac_var
44 # Remove trailing slashes.
45 # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46+@@ -1291,7 +1280,6 @@ Fine tuning of the installation directories:
46 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
49 --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
50 --libdir=DIR object code libraries [EPREFIX/lib]
51 --libdir=DIR object code libraries [EPREFIX/lib]
51 --includedir=DIR C header files [PREFIX/include]
52 --includedir=DIR C header files [PREFIX/include]
52 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54+@@ -3782,7 +3770,7 @@ else
54 We can't simply define LARGE_OFF_T to be 9223372036854775807,
55 We can't simply define LARGE_OFF_T to be 9223372036854775807,
55 since some C++ compilers masquerading as C compilers
56 since some C++ compilers masquerading as C compilers
56 incorrectly reject 9223372036854775807. */
57 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
59 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60 && LARGE_OFF_T % 2147483647 == 1)
61 && LARGE_OFF_T % 2147483647 == 1)
61 ? 1 : -1];
62 ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63+@@ -3828,7 +3816,7 @@ else
63 We can't simply define LARGE_OFF_T to be 9223372036854775807,
64 We can't simply define LARGE_OFF_T to be 9223372036854775807,
64 since some C++ compilers masquerading as C compilers
65 since some C++ compilers masquerading as C compilers
65 incorrectly reject 9223372036854775807. */
66 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
68 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69 && LARGE_OFF_T % 2147483647 == 1)
70 && LARGE_OFF_T % 2147483647 == 1)
70 ? 1 : -1];
71 ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72+@@ -3852,7 +3840,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72 We can't simply define LARGE_OFF_T to be 9223372036854775807,
73 We can't simply define LARGE_OFF_T to be 9223372036854775807,
73 since some C++ compilers masquerading as C compilers
74 since some C++ compilers masquerading as C compilers
74 incorrectly reject 9223372036854775807. */
75 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
77 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78 && LARGE_OFF_T % 2147483647 == 1)
79 && LARGE_OFF_T % 2147483647 == 1)
79 ? 1 : -1];
80 ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81+@@ -3897,7 +3885,7 @@ else
81 We can't simply define LARGE_OFF_T to be 9223372036854775807,
82 We can't simply define LARGE_OFF_T to be 9223372036854775807,
82 since some C++ compilers masquerading as C compilers
83 since some C++ compilers masquerading as C compilers
83 incorrectly reject 9223372036854775807. */
84 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
86 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87 && LARGE_OFF_T % 2147483647 == 1)
88 && LARGE_OFF_T % 2147483647 == 1)
88 ? 1 : -1];
89 ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90+@@ -3921,7 +3909,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90 We can't simply define LARGE_OFF_T to be 9223372036854775807,
91 We can't simply define LARGE_OFF_T to be 9223372036854775807,
91 since some C++ compilers masquerading as C compilers
92 since some C++ compilers masquerading as C compilers
92 incorrectly reject 9223372036854775807. */
93 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
95 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96 && LARGE_OFF_T % 2147483647 == 1)
97 && LARGE_OFF_T % 2147483647 == 1)
97 ? 1 : -1];
98 ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99+diff --git a/unix.cabal b/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100+index cf44068..bb3155f 100644
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101+--- a/unix.cabal
101−@@ -62,7 +62,7 @@
102++++ b/unix.cabal
103+@@ -62,7 +62,7 @@ library
102 buildable: False
104 buildable: False
103
105
104 build-depends:
106 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
1+diff --git a/binary.cabal b/binary.cabal
2−--- hackage-package-binary-0.8.6.0/binary.cabal 2018-08-04 20:33:08.000000000 +0800
2+index 9b25877..1d1b9cf 100644
3−+++ ghc-package-binary-0.8.6.0/binary.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/binary.cabal
4−@@ -158,7 +158,6 @@
4++++ b/binary.cabal
5+@@ -158,7 +158,6 @@ benchmark get
5 Data.Binary.Class
6 Data.Binary.Class
6 Data.Binary.FloatCast
7 Data.Binary.FloatCast
7 Data.Binary.Generic
8 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/
9 Data.Binary.Get.Internal
10 Data.Binary.Get.Internal
10 Data.Binary.Internal
11 Data.Binary.Internal
11 Data.Binary.Put
12 Data.Binary.Put
12−@@ -191,7 +190,6 @@
13+@@ -191,7 +190,6 @@ benchmark put
13 Data.Binary.Get
14 Data.Binary.Get
14 Data.Binary.Get.Internal
15 Data.Binary.Get.Internal
15 Data.Binary.Internal
16 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 @@
1{
1{
2 packages.binary.patches = [ ./binary-0.8.6.0.patch ];
2 packages.binary.patches = [ ./binary-0.8.6.0.patch ];
3 packages.containers.patches = [ ./containers-0.6.0.1.patch ];
3 packages.containers.patches = [ ./containers-0.6.0.1.patch ];
4− packages.default.nix.patches = [ ./default.nix ];
5 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
4 packages.hpc.patches = [ ./hpc-0.6.0.3.patch ];
6 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
5 packages.parsec.patches = [ ./parsec-3.1.13.0.patch ];
7 packages.process.patches = [ ./process-1.6.3.0.patch ];
6 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
1+diff --git a/hpc.cabal b/hpc.cabal
2−--- hackage-package-hpc-0.6.0.3/hpc.cabal 2016-05-04 18:47:19.000000000 +0800
2+index 7e77973..ba676a7 100644
3−+++ ghc-package-hpc-0.6.0.3/hpc.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/hpc.cabal
4−@@ -35,9 +35,9 @@
4++++ b/hpc.cabal
5+@@ -35,9 +35,9 @@ Library
5 Trace.Hpc.Reflect
6 Trace.Hpc.Reflect
6
7
7 Build-Depends:
8 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
1+diff --git a/parsec.cabal b/parsec.cabal
2−--- hackage-package-parsec-3.1.13.0/parsec.cabal 2018-02-06 17:13:02.000000000 +0800
2+index 9531768..46ef625 100644
3−+++ ghc-package-parsec-3.1.13.0/parsec.cabal 2001-09-09 09:46:40.000000000 +0800
3+--- a/parsec.cabal
4−@@ -21,18 +21,18 @@
4++++ b/parsec.cabal
5+@@ -21,18 +21,18 @@ license: BSD3
5 license-file: LICENSE
6 license-file: LICENSE
6 author: Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
7 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 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.
24
25
25 library
26 library
26 hs-source-dirs: src
27 hs-source-dirs: src
27−@@ -64,7 +64,7 @@
28+@@ -64,7 +64,7 @@ library
28 Text.ParserCombinators.Parsec.Token
29 Text.ParserCombinators.Parsec.Token
29
30
30 build-depends:
31 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
1+diff --git a/System/Process.hs b/System/Process.hs
2−--- hackage-package-process-1.6.3.0/System/Process/Common.hs 2017-03-31 01:02:13.000000000 +0800
2+index 2678a93..d03dc6e 100644
3−+++ ghc-package-process-1.6.3.0/System/Process/Common.hs 2001-09-09 09:46:40.000000000 +0800
3+--- a/System/Process.hs
4−@@ -44,7 +44,7 @@
4++++ b/System/Process.hs
5− import GHC.IO.Handle.Types hiding (ClosedHandle)
5+@@ -43,6 +43,7 @@ module System.Process (
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 @@
38 readCreateProcessWithExitCode,
6 readCreateProcessWithExitCode,
39 readProcessWithExitCode,
7 readProcessWithExitCode,
40 withCreateProcess,
8 withCreateProcess,
@@ -42,7 +10,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
42
10
43 -- ** Related utilities
11 -- ** Related utilities
44 showCommandForUser,
12 showCommandForUser,
45−@@ -245,7 +246,12 @@
13+@@ -245,7 +246,12 @@ withCreateProcess_ fun c action =
46 C.bracketOnError (createProcess_ fun c) cleanupProcess
14 C.bracketOnError (createProcess_ fun c) cleanupProcess
47 (\(m_in, m_out, m_err, ph) -> action m_in m_out m_err ph)
15 (\(m_in, m_out, m_err, ph) -> action m_in m_out m_err ph)
48
16
@@ -56,7 +24,7 @@ diff -ur hackage-package-process-1.6.3.0/System/Process.hs ghc-package-process-1
56 cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
24 cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
57 -> IO ()
25 -> IO ()
58 cleanupProcess (mb_stdin, mb_stdout, mb_stderr,
26 cleanupProcess (mb_stdin, mb_stdout, mb_stderr,
59−@@ -728,8 +734,10 @@
27+@@ -728,8 +734,10 @@ getProcessExitCode ph@(ProcessHandle _ delegating_ctlc _) = tryLockWaitpid $ do
60 -- has indeed terminated, use 'getProcessExitCode'.
28 -- has indeed terminated, use 'getProcessExitCode'.
61 --
29 --
62 -- On Unix systems, 'terminateProcess' sends the process the SIGTERM signal.
30 -- 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
69 --
37 --
70 -- Note: on Windows, if the process was a shell command created by
38 -- Note: on Windows, if the process was a shell command created by
71 -- 'createProcess' with 'shell', or created by 'runCommand' or
39 -- '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
40+diff --git a/System/Process/Common.hs b/System/Process/Common.hs
73−--- hackage-package-process-1.6.3.0/cbits/runProcess.c 2017-02-06 16:42:31.000000000 +0800
41+index b424764..fe55889 100644
74−+++ ghc-package-process-1.6.3.0/cbits/runProcess.c 2001-09-09 09:46:40.000000000 +0800
42+--- a/System/Process/Common.hs
75−@@ -111,6 +111,18 @@
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[],
76 r = pipe(forkCommunicationFds);
80 r = pipe(forkCommunicationFds);
77 if (r == -1) {
81 if (r == -1) {
78 *failed_doing = "runInteractiveProcess: pipe";
82 *failed_doing = "runInteractiveProcess: pipe";
@@ -91,9 +95,10 @@ diff -ur hackage-package-process-1.6.3.0/cbits/runProcess.c ghc-package-process-
91 return -1;
95 return -1;
92 }
96 }
93
97
94−diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.0/changelog.md
98+diff --git a/changelog.md b/changelog.md
95−--- hackage-package-process-1.6.3.0/changelog.md 2018-01-22 10:51:34.000000000 +0800
99+index 851c3ca..d4c43ae 100644
96−+++ ghc-package-process-1.6.3.0/changelog.md 2001-09-09 09:46:40.000000000 +0800
100+--- a/changelog.md
101++++ b/changelog.md
97@@ -1,5 +1,13 @@
102@@ -1,5 +1,13 @@
98 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
103 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
99
104
@@ -108,10 +113,11 @@ diff -ur hackage-package-process-1.6.3.0/changelog.md ghc-package-process-1.6.3.
108 ## 1.6.3.0 *January 2018*
113 ## 1.6.3.0 *January 2018*
109
114
110 * Added `getPid` and export of platform specific `Pid` type
115 * 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
116+diff --git a/process.cabal b/process.cabal
112−--- hackage-package-process-1.6.3.0/process.cabal 2018-01-22 10:52:21.000000000 +0800
117+index cb6cbb3..350591a 100644
113−+++ ghc-package-process-1.6.3.0/process.cabal 2001-09-09 09:46:40.000000000 +0800
118+--- a/process.cabal
114−@@ -46,8 +46,9 @@
119++++ b/process.cabal
120+@@ -46,8 +46,9 @@ library
115 InterruptibleFFI
121 InterruptibleFFI
116 RecordWildCards
122 RecordWildCards
117 Trustworthy
123 Trustworthy
@@ -123,7 +129,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
123
129
124 exposed-modules:
130 exposed-modules:
125 System.Cmd
131 System.Cmd
126−@@ -61,7 +62,7 @@
132+@@ -61,7 +62,7 @@ library
127 cpp-options: -DWINDOWS
133 cpp-options: -DWINDOWS
128 else
134 else
129 other-modules: System.Process.Posix
135 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
132
138
133 c-sources:
139 c-sources:
134 cbits/runProcess.c
140 cbits/runProcess.c
135−@@ -74,7 +75,7 @@
141+@@ -74,7 +75,7 @@ library
136
142
137 ghc-options: -Wall
143 ghc-options: -Wall
138
144
@@ -141,7 +147,7 @@ diff -ur hackage-package-process-1.6.3.0/process.cabal ghc-package-process-1.6.3
141 directory >= 1.1 && < 1.4,
147 directory >= 1.1 && < 1.4,
142 filepath >= 1.2 && < 1.5,
148 filepath >= 1.2 && < 1.5,
143 deepseq >= 1.1 && < 1.5
149 deepseq >= 1.1 && < 1.5
144−@@ -84,7 +85,9 @@
150+@@ -84,7 +85,9 @@ test-suite test
145 hs-source-dirs: test
151 hs-source-dirs: test
146 main-is: main.hs
152 main-is: main.hs
147 type: exitcode-stdio-1.0
153 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
1+diff --git a/configure b/configure
2−--- hackage-package-time-1.8.0.2/configure 2016-12-07 03:31:54.000000000 +0800
2+index f4f4dba..f5fae2b 100644
3−+++ ghc-package-time-1.8.0.2/configure 2001-09-09 09:46:40.000000000 +0800
3+--- a/configure
4++++ b/configure
4@@ -1,6 +1,6 @@
5@@ -1,6 +1,6 @@
5 #! /bin/sh
6 #! /bin/sh
6 # Guess values for system-dependent variables and create Makefiles.
7 # 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
9 #
10 #
10 # Report bugs to <ashley@semantic.org>.
11 # Report bugs to <ashley@semantic.org>.
11 #
12 #
12−@@ -580,8 +580,8 @@
13+@@ -580,8 +580,8 @@ MAKEFLAGS=
13 # Identity of this package.
14 # Identity of this package.
14 PACKAGE_NAME='Haskell time package'
15 PACKAGE_NAME='Haskell time package'
15 PACKAGE_TARNAME='time'
16 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
20 PACKAGE_BUGREPORT='ashley@semantic.org'
21 PACKAGE_BUGREPORT='ashley@semantic.org'
21 PACKAGE_URL=''
22 PACKAGE_URL=''
22
23
23−@@ -653,7 +653,6 @@
24+@@ -653,7 +653,6 @@ infodir
24 docdir
25 docdir
25 oldincludedir
26 oldincludedir
26 includedir
27 includedir
@@ -28,7 +29,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
28 localstatedir
29 localstatedir
29 sharedstatedir
30 sharedstatedir
30 sysconfdir
31 sysconfdir
31−@@ -726,7 +725,6 @@
32+@@ -726,7 +725,6 @@ datadir='${datarootdir}'
32 sysconfdir='${prefix}/etc'
33 sysconfdir='${prefix}/etc'
33 sharedstatedir='${prefix}/com'
34 sharedstatedir='${prefix}/com'
34 localstatedir='${prefix}/var'
35 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
36 includedir='${prefix}/include'
37 includedir='${prefix}/include'
37 oldincludedir='/usr/include'
38 oldincludedir='/usr/include'
38 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
39−@@ -979,15 +977,6 @@
40+@@ -979,15 +977,6 @@ do
40 | -silent | --silent | --silen | --sile | --sil)
41 | -silent | --silent | --silen | --sile | --sil)
41 silent=yes ;;
42 silent=yes ;;
42
43
@@ -52,7 +53,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
52 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
53 ac_prev=sbindir ;;
54 ac_prev=sbindir ;;
54 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
55−@@ -1125,7 +1114,7 @@
56+@@ -1125,7 +1114,7 @@ fi
56 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
57 datadir sysconfdir sharedstatedir localstatedir includedir \
58 datadir sysconfdir sharedstatedir localstatedir includedir \
58 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
59 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
61 do
62 do
62 eval ac_val=\$$ac_var
63 eval ac_val=\$$ac_var
63 # Remove trailing slashes.
64 # Remove trailing slashes.
64−@@ -1238,7 +1227,7 @@
65+@@ -1238,7 +1227,7 @@ if test "$ac_init_help" = "long"; then
65 # Omit some internal or obsolete options to make the list less imposing.
66 # 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 # This message is too long to be a string in the A/UX 3.1 sh.
67 cat <<_ACEOF
68 cat <<_ACEOF
@@ -70,7 +71,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
70
71
71 Usage: $0 [OPTION]... [VAR=VALUE]...
72 Usage: $0 [OPTION]... [VAR=VALUE]...
72
73
73−@@ -1278,7 +1267,6 @@
74+@@ -1278,7 +1267,6 @@ Fine tuning of the installation directories:
74 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
75 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
76 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
77 --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
78 --libdir=DIR object code libraries [EPREFIX/lib]
79 --libdir=DIR object code libraries [EPREFIX/lib]
79 --includedir=DIR C header files [PREFIX/include]
80 --includedir=DIR C header files [PREFIX/include]
80 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81 --oldincludedir=DIR C header files for non-gcc [/usr/include]
81−@@ -1300,7 +1288,7 @@
82+@@ -1300,7 +1288,7 @@ fi
82
83
83 if test -n "$ac_init_help"; then
84 if test -n "$ac_init_help"; then
84 case $ac_init_help in
85 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
87 esac
88 esac
88 cat <<\_ACEOF
89 cat <<\_ACEOF
89
90
90−@@ -1386,7 +1374,7 @@
91+@@ -1386,7 +1374,7 @@ fi
91 test -n "$ac_init_help" && exit $ac_status
92 test -n "$ac_init_help" && exit $ac_status
92 if $ac_init_version; then
93 if $ac_init_version; then
93 cat <<\_ACEOF
94 cat <<\_ACEOF
@@ -96,7 +97,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
96 generated by GNU Autoconf 2.69
97 generated by GNU Autoconf 2.69
97
98
98 Copyright (C) 2012 Free Software Foundation, Inc.
99 Copyright (C) 2012 Free Software Foundation, Inc.
99−@@ -1858,7 +1846,7 @@
100+@@ -1858,7 +1846,7 @@ cat >config.log <<_ACEOF
100 This file contains any messages produced by compilers while
101 This file contains any messages produced by compilers while
101 running configure, to aid debugging if configure makes a mistake.
102 running configure, to aid debugging if configure makes a mistake.
102
103
@@ -105,7 +106,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
105 generated by GNU Autoconf 2.69. Invocation command line was
106 generated by GNU Autoconf 2.69. Invocation command line was
106
107
107 $ $0 $@
108 $ $0 $@
108−@@ -4193,7 +4181,7 @@
109+@@ -4193,7 +4181,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
109 # report actual input values of CONFIG_FILES etc. instead of their
110 # report actual input values of CONFIG_FILES etc. instead of their
110 # values after options handling.
111 # values after options handling.
111 ac_log="
112 ac_log="
@@ -114,7 +115,7 @@ diff -ur hackage-package-time-1.8.0.2/configure ghc-package-time-1.8.0.2/configu
114 generated by GNU Autoconf 2.69. Invocation command line was
115 generated by GNU Autoconf 2.69. Invocation command line was
115
116
116 CONFIG_FILES = $CONFIG_FILES
117 CONFIG_FILES = $CONFIG_FILES
117−@@ -4246,7 +4234,7 @@
118+@@ -4246,7 +4234,7 @@ _ACEOF
118 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
119 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
120 ac_cs_version="\\
121 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
123 configured by $0, generated by GNU Autoconf 2.69,
124 configured by $0, generated by GNU Autoconf 2.69,
124 with options \\"\$ac_cs_config\\"
125 with options \\"\$ac_cs_config\\"
125
126
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+diff --git a/lib/include/HsTimeConfig.h b/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+index a1e2513..20798c5 100644
128−+++ ghc-package-time-1.8.0.2/lib/include/HsTimeConfig.h 2001-09-09 09:46:40.000000000 +0800
129+--- a/lib/include/HsTimeConfig.h
130++++ b/lib/include/HsTimeConfig.h
129@@ -69,7 +69,7 @@
131@@ -69,7 +69,7 @@
130 #define PACKAGE_NAME "Haskell time package"
132 #define PACKAGE_NAME "Haskell time package"
131
133
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
1+diff --git a/Control/Applicative/Backwards.hs b/Control/Applicative/Backwards.hs
2−--- hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2017-10-04 23:58:48.000000000 +0800
2+index ebb8a0b..7ed74ac 100644
3−+++ ghc-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2001-09-09 09:46:40.000000000 +0800
3+--- a/Control/Applicative/Backwards.hs
4−@@ -27,6 +27,9 @@
4++++ b/Control/Applicative/Backwards.hs
5+@@ -27,6 +27,9 @@ module Control.Applicative.Backwards (
5 ) where
6 ) where
6
7
7 import Data.Functor.Classes
8 import Data.Functor.Classes
@@ -11,7 +12,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
11
12
12 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
13 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
13 import Control.Applicative
14 import Control.Applicative
14−@@ -100,3 +103,10 @@
15+@@ -100,3 +103,10 @@ instance (Traversable f) => Traversable (Backwards f) where
15 {-# INLINE traverse #-}
16 {-# INLINE traverse #-}
16 sequenceA (Backwards t) = fmap Backwards (sequenceA t)
17 sequenceA (Backwards t) = fmap Backwards (sequenceA t)
17 {-# INLINE sequenceA #-}
18 {-# INLINE sequenceA #-}
@@ -22,10 +23,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
22+ contramap f = Backwards . contramap f . forwards
23+ contramap f = Backwards . contramap f . forwards
23+ {-# INLINE contramap #-}
24+ {-# INLINE contramap #-}
24+#endif
25+#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+diff --git a/Control/Monad/Trans/Class.hs b/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+index 9c2e260..b92bc0e 100644
27−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2001-09-09 09:46:40.000000000 +0800
28+--- a/Control/Monad/Trans/Class.hs
28−@@ -113,7 +113,13 @@
29++++ b/Control/Monad/Trans/Class.hs
30+@@ -113,7 +113,13 @@ an action that is strict in the component you want evaluated.
29
31
30 {- $example1
32 {- $example1
31
33
@@ -40,7 +42,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-p
40 to be parsed) to the @[]@ monad, which provides non-determinism:
42 to be parsed) to the @[]@ monad, which provides non-determinism:
41
43
42 > import Control.Monad.Trans.State
44 > 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.
44 {- $example3
46 {- $example3
45
47
46 This example is a cut-down version of the one in
48 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
50 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
52 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
51 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
53 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
52
54
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
55+diff --git a/Control/Monad/Trans/Error.hs b/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
56+index 144da45..f50b051 100644
55−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2001-09-09 09:46:40.000000000 +0800
57+--- a/Control/Monad/Trans/Error.hs
56−@@ -58,6 +58,9 @@
58++++ b/Control/Monad/Trans/Error.hs
59+@@ -58,6 +58,9 @@ import Control.Monad.IO.Class
57 import Control.Monad.Signatures
60 import Control.Monad.Signatures
58 import Control.Monad.Trans.Class
61 import Control.Monad.Trans.Class
59 import Data.Functor.Classes
62 import Data.Functor.Classes
@@ -63,7 +66,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
63
66
64 import Control.Applicative
67 import Control.Applicative
65 import Control.Exception (IOException)
68 import Control.Exception (IOException)
66−@@ -263,6 +266,11 @@
69+@@ -263,6 +266,11 @@ instance MonadTrans (ErrorT e) where
67 instance (Error e, MonadIO m) => MonadIO (ErrorT e m) where
70 instance (Error e, MonadIO m) => MonadIO (ErrorT e m) where
68 liftIO = lift . liftIO
71 liftIO = lift . liftIO
69
72
@@ -75,9 +78,10 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
75 -- | Signal an error value @e@.
78 -- | Signal an error value @e@.
76 --
79 --
77 -- * @'runErrorT' ('throwError' e) = 'return' ('Left' e)@
80 -- * @'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
81+diff --git a/Control/Monad/Trans/Except.hs b/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
82+index 6a06297..b5446e4 100644
80−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2001-09-09 09:46:40.000000000 +0800
83+--- a/Control/Monad/Trans/Except.hs
84++++ b/Control/Monad/Trans/Except.hs
81@@ -15,7 +15,7 @@
85@@ -15,7 +15,7 @@
82 -- Stability : experimental
86 -- Stability : experimental
83 -- Portability : portable
87 -- Portability : portable
@@ -87,7 +91,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
87 --
91 --
88 -- A sequence of actions terminates normally, producing a value,
92 -- A sequence of actions terminates normally, producing a value,
89 -- only if none of the actions in the sequence throws an exception.
93 -- 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
91 import Control.Monad.Signatures
95 import Control.Monad.Signatures
92 import Control.Monad.Trans.Class
96 import Control.Monad.Trans.Class
93 import Data.Functor.Classes
97 import Data.Functor.Classes
@@ -97,7 +101,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
97 import Data.Functor.Identity
101 import Data.Functor.Identity
98
102
99 import Control.Applicative
103 import Control.Applicative
100−@@ -255,6 +258,12 @@
104+@@ -255,6 +258,12 @@ instance (MonadZip m) => MonadZip (ExceptT e m) where
101 {-# INLINE mzipWith #-}
105 {-# INLINE mzipWith #-}
102 #endif
106 #endif
103
107
@@ -110,10 +114,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
110 -- | Signal an exception value @e@.
114 -- | Signal an exception value @e@.
111 --
115 --
112 -- * @'runExceptT' ('throwE' e) = 'return' ('Left' e)@
116 -- * @'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
117+diff --git a/Control/Monad/Trans/Identity.hs b/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
118+index b04428e..81d0c21 100644
115−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2001-09-09 09:46:40.000000000 +0800
119+--- a/Control/Monad/Trans/Identity.hs
116−@@ -36,6 +36,9 @@
120++++ b/Control/Monad/Trans/Identity.hs
121+@@ -36,6 +36,9 @@ import Control.Monad.IO.Class (MonadIO(liftIO))
117 import Control.Monad.Signatures
122 import Control.Monad.Signatures
118 import Control.Monad.Trans.Class (MonadTrans(lift))
123 import Control.Monad.Trans.Class (MonadTrans(lift))
119 import Data.Functor.Classes
124 import Data.Functor.Classes
@@ -123,7 +128,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
123
128
124 import Control.Applicative
129 import Control.Applicative
125 import Control.Monad (MonadPlus(mzero, mplus))
130 import Control.Monad (MonadPlus(mzero, mplus))
126−@@ -154,6 +157,12 @@
131+@@ -154,6 +157,12 @@ instance MonadTrans IdentityT where
127 lift = IdentityT
132 lift = IdentityT
128 {-# INLINE lift #-}
133 {-# INLINE lift #-}
129
134
@@ -136,10 +141,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
136 -- | Lift a unary operation to the new monad.
141 -- | Lift a unary operation to the new monad.
137 mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
142 mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
138 mapIdentityT f = IdentityT . f . runIdentityT
143 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
144+diff --git a/Control/Monad/Trans/List.hs b/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
145+index e87fb0c..6af4b10 100644
141−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2001-09-09 09:46:40.000000000 +0800
146+--- a/Control/Monad/Trans/List.hs
142−@@ -34,12 +34,16 @@
147++++ b/Control/Monad/Trans/List.hs
148+@@ -34,12 +34,16 @@ import Control.Monad.IO.Class
143 import Control.Monad.Signatures
149 import Control.Monad.Signatures
144 import Control.Monad.Trans.Class
150 import Control.Monad.Trans.Class
145 import Data.Functor.Classes
151 import Data.Functor.Classes
@@ -156,7 +162,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
156 #if MIN_VERSION_base(4,4,0)
162 #if MIN_VERSION_base(4,4,0)
157 import Control.Monad.Zip (MonadZip(mzipWith))
163 import Control.Monad.Zip (MonadZip(mzipWith))
158 #endif
164 #endif
159−@@ -137,6 +141,12 @@
165+@@ -137,6 +141,12 @@ instance (Monad m) => MonadPlus (ListT m) where
160 return (a ++ b)
166 return (a ++ b)
161 {-# INLINE mplus #-}
167 {-# INLINE mplus #-}
162
168
@@ -169,7 +175,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
169 instance MonadTrans ListT where
175 instance MonadTrans ListT where
170 lift m = ListT $ do
176 lift m = ListT $ do
171 a <- m
177 a <- m
172−@@ -153,6 +163,12 @@
178+@@ -153,6 +163,12 @@ instance (MonadZip m) => MonadZip (ListT m) where
173 {-# INLINE mzipWith #-}
179 {-# INLINE mzipWith #-}
174 #endif
180 #endif
175
181
@@ -182,10 +188,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
182 -- | Lift a @callCC@ operation to the new monad.
188 -- | Lift a @callCC@ operation to the new monad.
183 liftCallCC :: CallCC m [a] [b] -> CallCC (ListT m) a b
189 liftCallCC :: CallCC m [a] [b] -> CallCC (ListT m) a b
184 liftCallCC callCC f = ListT $
190 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
191+diff --git a/Control/Monad/Trans/Maybe.hs b/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
192+index 13114b1..997a4c0 100644
187−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2001-09-09 09:46:40.000000000 +0800
193+--- a/Control/Monad/Trans/Maybe.hs
188−@@ -45,6 +45,9 @@
194++++ b/Control/Monad/Trans/Maybe.hs
195+@@ -45,6 +45,9 @@ import Control.Monad.Signatures
189 import Control.Monad.Trans.Class
196 import Control.Monad.Trans.Class
190 import Control.Monad.Trans.Except (ExceptT(..))
197 import Control.Monad.Trans.Except (ExceptT(..))
191 import Data.Functor.Classes
198 import Data.Functor.Classes
@@ -195,7 +202,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
195
202
196 import Control.Applicative
203 import Control.Applicative
197 import Control.Monad (MonadPlus(mzero, mplus), liftM)
204 import Control.Monad (MonadPlus(mzero, mplus), liftM)
198−@@ -202,6 +205,12 @@
205+@@ -202,6 +205,12 @@ instance (MonadZip m) => MonadZip (MaybeT m) where
199 {-# INLINE mzipWith #-}
206 {-# INLINE mzipWith #-}
200 #endif
207 #endif
201
208
@@ -208,10 +215,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
208 -- | Lift a @callCC@ operation to the new monad.
215 -- | Lift a @callCC@ operation to the new monad.
209 liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b
216 liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b
210 liftCallCC callCC f =
217 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
218+diff --git a/Control/Monad/Trans/RWS/Lazy.hs b/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
219+index 36694c5..c366d5d 100644
213−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
220+--- a/Control/Monad/Trans/RWS/Lazy.hs
214−@@ -63,6 +63,9 @@
221++++ b/Control/Monad/Trans/RWS/Lazy.hs
222+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Lazy (
215 import Control.Monad.IO.Class
223 import Control.Monad.IO.Class
216 import Control.Monad.Signatures
224 import Control.Monad.Signatures
217 import Control.Monad.Trans.Class
225 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
221 import Data.Functor.Identity
229 import Data.Functor.Identity
222
230
223 import Control.Applicative
231 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
225 liftIO = lift . liftIO
233 liftIO = lift . liftIO
226 {-# INLINE liftIO #-}
234 {-# INLINE liftIO #-}
227
235
@@ -235,10 +243,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs gh
235 -- ---------------------------------------------------------------------------
243 -- ---------------------------------------------------------------------------
236 -- Reader operations
244 -- Reader operations
237
245
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
246+diff --git a/Control/Monad/Trans/RWS/Strict.hs b/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
247+index 32f2af5..c5e3f6c 100644
240−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2001-09-09 09:46:40.000000000 +0800
248+--- a/Control/Monad/Trans/RWS/Strict.hs
241−@@ -63,6 +63,9 @@
249++++ b/Control/Monad/Trans/RWS/Strict.hs
250+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Strict (
242 import Control.Monad.IO.Class
251 import Control.Monad.IO.Class
243 import Control.Monad.Signatures
252 import Control.Monad.Signatures
244 import Control.Monad.Trans.Class
253 import Control.Monad.Trans.Class
@@ -248,7 +257,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
248 import Data.Functor.Identity
257 import Data.Functor.Identity
249
258
250 import Control.Applicative
259 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
252 liftIO = lift . liftIO
261 liftIO = lift . liftIO
253 {-# INLINE liftIO #-}
262 {-# INLINE liftIO #-}
254
263
@@ -262,10 +271,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
262 -- ---------------------------------------------------------------------------
271 -- ---------------------------------------------------------------------------
263 -- Reader operations
272 -- Reader operations
264
273
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
274+diff --git a/Control/Monad/Trans/Reader.hs b/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
275+index b577b2d..f0b80f7 100644
267−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2001-09-09 09:46:40.000000000 +0800
276+--- a/Control/Monad/Trans/Reader.hs
268−@@ -49,6 +49,9 @@
277++++ b/Control/Monad/Trans/Reader.hs
278+@@ -49,6 +49,9 @@ module Control.Monad.Trans.Reader (
269 import Control.Monad.IO.Class
279 import Control.Monad.IO.Class
270 import Control.Monad.Signatures
280 import Control.Monad.Signatures
271 import Control.Monad.Trans.Class
281 import Control.Monad.Trans.Class
@@ -275,7 +285,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
275 import Data.Functor.Identity
285 import Data.Functor.Identity
276
286
277 import Control.Applicative
287 import Control.Applicative
278−@@ -207,6 +210,12 @@
288+@@ -207,6 +210,12 @@ instance (MonadZip m) => MonadZip (ReaderT r m) where
279 {-# INLINE mzipWith #-}
289 {-# INLINE mzipWith #-}
280 #endif
290 #endif
281
291
@@ -288,10 +298,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
288 liftReaderT :: m a -> ReaderT r m a
298 liftReaderT :: m a -> ReaderT r m a
289 liftReaderT m = ReaderT (const m)
299 liftReaderT m = ReaderT (const m)
290 {-# INLINE liftReaderT #-}
300 {-# 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
301+diff --git a/Control/Monad/Trans/State/Lazy.hs b/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
302+index 13f61f4..e719f02 100644
293−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
303+--- a/Control/Monad/Trans/State/Lazy.hs
294−@@ -76,6 +76,9 @@
304++++ b/Control/Monad/Trans/State/Lazy.hs
305+@@ -76,6 +76,9 @@ module Control.Monad.Trans.State.Lazy (
295 import Control.Monad.IO.Class
306 import Control.Monad.IO.Class
296 import Control.Monad.Signatures
307 import Control.Monad.Signatures
297 import Control.Monad.Trans.Class
308 import Control.Monad.Trans.Class
@@ -301,7 +312,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
301 import Data.Functor.Identity
312 import Data.Functor.Identity
302
313
303 import Control.Applicative
314 import Control.Applicative
304−@@ -253,6 +256,13 @@
315+@@ -253,6 +256,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
305 liftIO = lift . liftIO
316 liftIO = lift . liftIO
306 {-# INLINE liftIO #-}
317 {-# INLINE liftIO #-}
307
318
@@ -315,10 +326,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
315 -- | Fetch the current value of the state within the monad.
326 -- | Fetch the current value of the state within the monad.
316 get :: (Monad m) => StateT s m s
327 get :: (Monad m) => StateT s m s
317 get = state $ \ s -> (s, s)
328 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
329+diff --git a/Control/Monad/Trans/State/Strict.hs b/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
330+index f1fb782..31fd52a 100644
320−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2001-09-09 09:46:40.000000000 +0800
331+--- a/Control/Monad/Trans/State/Strict.hs
321−@@ -73,6 +73,9 @@
332++++ b/Control/Monad/Trans/State/Strict.hs
333+@@ -73,6 +73,9 @@ module Control.Monad.Trans.State.Strict (
322 import Control.Monad.IO.Class
334 import Control.Monad.IO.Class
323 import Control.Monad.Signatures
335 import Control.Monad.Signatures
324 import Control.Monad.Trans.Class
336 import Control.Monad.Trans.Class
@@ -328,7 +340,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
328 import Data.Functor.Identity
340 import Data.Functor.Identity
329
341
330 import Control.Applicative
342 import Control.Applicative
331−@@ -250,6 +253,13 @@
343+@@ -250,6 +253,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
332 liftIO = lift . liftIO
344 liftIO = lift . liftIO
333 {-# INLINE liftIO #-}
345 {-# INLINE liftIO #-}
334
346
@@ -342,10 +354,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
342 -- | Fetch the current value of the state within the monad.
354 -- | Fetch the current value of the state within the monad.
343 get :: (Monad m) => StateT s m s
355 get :: (Monad m) => StateT s m s
344 get = state $ \ s -> (s, s)
356 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
357+diff --git a/Control/Monad/Trans/Writer/Lazy.hs b/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
358+index c7f689c..721e15c 100644
347−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
359+--- a/Control/Monad/Trans/Writer/Lazy.hs
348−@@ -52,6 +52,9 @@
360++++ b/Control/Monad/Trans/Writer/Lazy.hs
361+@@ -52,6 +52,9 @@ module Control.Monad.Trans.Writer.Lazy (
349 import Control.Monad.IO.Class
362 import Control.Monad.IO.Class
350 import Control.Monad.Trans.Class
363 import Control.Monad.Trans.Class
351 import Data.Functor.Classes
364 import Data.Functor.Classes
@@ -355,7 +368,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
355 import Data.Functor.Identity
368 import Data.Functor.Identity
356
369
357 import Control.Applicative
370 import Control.Applicative
358−@@ -237,6 +240,12 @@
371+@@ -237,6 +240,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
359 {-# INLINE mzipWith #-}
372 {-# INLINE mzipWith #-}
360 #endif
373 #endif
361
374
@@ -368,10 +381,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
368 -- | @'tell' w@ is an action that produces the output @w@.
381 -- | @'tell' w@ is an action that produces the output @w@.
369 tell :: (Monad m) => w -> WriterT w m ()
382 tell :: (Monad m) => w -> WriterT w m ()
370 tell w = writer ((), w)
383 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
384+diff --git a/Control/Monad/Trans/Writer/Strict.hs b/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
385+index 33058af..b18b4a8 100644
373−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2001-09-09 09:46:40.000000000 +0800
386+--- a/Control/Monad/Trans/Writer/Strict.hs
374−@@ -55,6 +55,9 @@
387++++ b/Control/Monad/Trans/Writer/Strict.hs
388+@@ -55,6 +55,9 @@ module Control.Monad.Trans.Writer.Strict (
375 import Control.Monad.IO.Class
389 import Control.Monad.IO.Class
376 import Control.Monad.Trans.Class
390 import Control.Monad.Trans.Class
377 import Data.Functor.Classes
391 import Data.Functor.Classes
@@ -381,7 +395,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
381 import Data.Functor.Identity
395 import Data.Functor.Identity
382
396
383 import Control.Applicative
397 import Control.Applicative
384−@@ -240,6 +243,12 @@
398+@@ -240,6 +243,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
385 {-# INLINE mzipWith #-}
399 {-# INLINE mzipWith #-}
386 #endif
400 #endif
387
401
@@ -394,10 +408,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
394 -- | @'tell' w@ is an action that produces the output @w@.
408 -- | @'tell' w@ is an action that produces the output @w@.
395 tell :: (Monad m) => w -> WriterT w m ()
409 tell :: (Monad m) => w -> WriterT w m ()
396 tell w = writer ((), w)
410 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
411+diff --git a/Data/Functor/Constant.hs b/Data/Functor/Constant.hs
398−--- hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2017-10-04 23:58:48.000000000 +0800
412+index e22f0d6..9c0b8d4 100644
399−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2001-09-09 09:46:40.000000000 +0800
413+--- a/Data/Functor/Constant.hs
400−@@ -26,6 +26,9 @@
414++++ b/Data/Functor/Constant.hs
415+@@ -26,6 +26,9 @@ module Data.Functor.Constant (
401 ) where
416 ) where
402
417
403 import Data.Functor.Classes
418 import Data.Functor.Classes
@@ -407,7 +422,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
407
422
408 import Control.Applicative
423 import Control.Applicative
409 import Data.Foldable
424 import Data.Foldable
410−@@ -141,3 +144,9 @@
425+@@ -141,3 +144,9 @@ instance Bitraversable Constant where
411 bitraverse f _ (Constant a) = Constant <$> f a
426 bitraverse f _ (Constant a) = Constant <$> f a
412 {-# INLINE bitraverse #-}
427 {-# INLINE bitraverse #-}
413 #endif
428 #endif
@@ -417,10 +432,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
417+ contramap _ (Constant a) = Constant a
432+ contramap _ (Constant a) = Constant a
418+ {-# INLINE contramap #-}
433+ {-# INLINE contramap #-}
419+#endif
434+#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
435+diff --git a/Data/Functor/Reverse.hs b/Data/Functor/Reverse.hs
421−--- hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2017-10-04 23:58:48.000000000 +0800
436+index a6abc46..dcb6290 100644
422−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2001-09-09 09:46:40.000000000 +0800
437+--- a/Data/Functor/Reverse.hs
423−@@ -28,6 +28,9 @@
438++++ b/Data/Functor/Reverse.hs
439+@@ -28,6 +28,9 @@ module Data.Functor.Reverse (
424
440
425 import Control.Applicative.Backwards
441 import Control.Applicative.Backwards
426 import Data.Functor.Classes
442 import Data.Functor.Classes
@@ -430,7 +446,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
430
446
431 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
447 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
432 import Control.Applicative
448 import Control.Applicative
433−@@ -129,3 +132,10 @@
449+@@ -129,3 +132,10 @@ instance (Traversable f) => Traversable (Reverse f) where
434 traverse f (Reverse t) =
450 traverse f (Reverse t) =
435 fmap Reverse . forwards $ traverse (Backwards . f) t
451 fmap Reverse . forwards $ traverse (Backwards . f) t
436 {-# INLINE traverse #-}
452 {-# INLINE traverse #-}
@@ -441,10 +457,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
441+ contramap f = Reverse . contramap f . getReverse
457+ contramap f = Reverse . contramap f . getReverse
442+ {-# INLINE contramap #-}
458+ {-# INLINE contramap #-}
443+#endif
459+#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
460+diff --git a/legacy/pre711/Data/Functor/Compose.hs b/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
461+index 161a2e9..ed78130 100644
446−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2001-09-09 09:46:40.000000000 +0800
462+--- a/legacy/pre711/Data/Functor/Compose.hs
447−@@ -35,6 +35,9 @@
463++++ b/legacy/pre711/Data/Functor/Compose.hs
464+@@ -35,6 +35,9 @@ module Data.Functor.Compose (
448 ) where
465 ) where
449
466
450 import Data.Functor.Classes
467 import Data.Functor.Classes
@@ -454,7 +471,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose
454
471
455 import Control.Applicative
472 import Control.Applicative
456 #if __GLASGOW_HASKELL__ >= 708
473 #if __GLASGOW_HASKELL__ >= 708
457−@@ -144,3 +147,8 @@
474+@@ -144,3 +147,8 @@ instance (Applicative f, Applicative g) => Applicative (Compose f g) where
458 instance (Alternative f, Applicative g) => Alternative (Compose f g) where
475 instance (Alternative f, Applicative g) => Alternative (Compose f g) where
459 empty = Compose empty
476 empty = Compose empty
460 Compose x <|> Compose y = Compose (x <|> y)
477 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
463+instance (Functor f, Contravariant g) => Contravariant (Compose f g) where
480+instance (Functor f, Contravariant g) => Contravariant (Compose f g) where
464+ contramap f (Compose fga) = Compose (fmap (contramap f) fga)
481+ contramap f (Compose fga) = Compose (fmap (contramap f) fga)
465+#endif
482+#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
483+diff --git a/legacy/pre711/Data/Functor/Product.hs b/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
484+index 51c99a3..ba0dc04 100644
468−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2001-09-09 09:46:40.000000000 +0800
485+--- a/legacy/pre711/Data/Functor/Product.hs
469−@@ -45,6 +45,9 @@
486++++ b/legacy/pre711/Data/Functor/Product.hs
487+@@ -45,6 +45,9 @@ import Data.Data
470 #endif
488 #endif
471 import Data.Foldable (Foldable(foldMap))
489 import Data.Foldable (Foldable(foldMap))
472 import Data.Functor.Classes
490 import Data.Functor.Classes
@@ -476,7 +494,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
476 import Data.Monoid (mappend)
494 import Data.Monoid (mappend)
477 import Data.Traversable (Traversable(traverse))
495 import Data.Traversable (Traversable(traverse))
478 #if __GLASGOW_HASKELL__ >= 702
496 #if __GLASGOW_HASKELL__ >= 702
479−@@ -146,3 +149,8 @@
497+@@ -146,3 +149,8 @@ instance (MonadFix f, MonadFix g) => MonadFix (Product f g) where
480 instance (MonadZip f, MonadZip g) => MonadZip (Product f g) where
498 instance (MonadZip f, MonadZip g) => MonadZip (Product f g) where
481 mzipWith f (Pair x1 y1) (Pair x2 y2) = Pair (mzipWith f x1 x2) (mzipWith f y1 y2)
499 mzipWith f (Pair x1 y1) (Pair x2 y2) = Pair (mzipWith f x1 x2) (mzipWith f y1 y2)
482 #endif
500 #endif
@@ -485,10 +503,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
485+instance (Contravariant f, Contravariant g) => Contravariant (Product f g) where
503+instance (Contravariant f, Contravariant g) => Contravariant (Product f g) where
486+ contramap f (Pair a b) = Pair (contramap f a) (contramap f b)
504+ contramap f (Pair a b) = Pair (contramap f a) (contramap f b)
487+#endif
505+#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
506+diff --git a/legacy/pre711/Data/Functor/Sum.hs b/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
507+index 9c314e7..e6d1428 100644
490−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2001-09-09 09:46:40.000000000 +0800
508+--- a/legacy/pre711/Data/Functor/Sum.hs
491−@@ -40,6 +40,9 @@
509++++ b/legacy/pre711/Data/Functor/Sum.hs
510+@@ -40,6 +40,9 @@ import Data.Data
492 #endif
511 #endif
493 import Data.Foldable (Foldable(foldMap))
512 import Data.Foldable (Foldable(foldMap))
494 import Data.Functor.Classes
513 import Data.Functor.Classes
@@ -498,7 +517,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
498 import Data.Monoid (mappend)
517 import Data.Monoid (mappend)
499 import Data.Traversable (Traversable(traverse))
518 import Data.Traversable (Traversable(traverse))
500 #if __GLASGOW_HASKELL__ >= 702
519 #if __GLASGOW_HASKELL__ >= 702
501−@@ -125,3 +128,9 @@
520+@@ -125,3 +128,9 @@ instance (Foldable f, Foldable g) => Foldable (Sum f g) where
502 instance (Traversable f, Traversable g) => Traversable (Sum f g) where
521 instance (Traversable f, Traversable g) => Traversable (Sum f g) where
503 traverse f (InL x) = InL <$> traverse f x
522 traverse f (InL x) = InL <$> traverse f x
504 traverse f (InR y) = InR <$> traverse f y
523 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
508+ contramap f (InL xs) = InL (contramap f xs)
527+ contramap f (InL xs) = InL (contramap f xs)
509+ contramap f (InR ys) = InR (contramap f ys)
528+ contramap f (InR ys) = InR (contramap f ys)
510+#endif
529+#endif
511−diff -ur hackage-package-transformers-0.5.5.0/transformers.cabal ghc-package-transformers-0.5.5.0/transformers.cabal
530+diff --git a/transformers.cabal b/transformers.cabal
512−--- hackage-package-transformers-0.5.5.0/transformers.cabal 2017-10-04 23:58:48.000000000 +0800
531+index 8583b12..b2e4fea 100644
513−+++ ghc-package-transformers-0.5.5.0/transformers.cabal 2001-09-09 09:46:40.000000000 +0800
532+--- a/transformers.cabal
514−@@ -9,7 +9,9 @@
533++++ b/transformers.cabal
534+@@ -9,7 +9,9 @@ category: Control
515 synopsis: Concrete functor and monad transformers
535 synopsis: Concrete functor and monad transformers
516 description:
536 description:
517 A portable library of functor and monad transformers, inspired by
537 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
1+diff --git a/configure b/configure
2−--- hackage-package-unix-2.7.2.2/configure 2017-07-20 06:04:36.000000000 +0800
2+index ea0475d..a3897ae 100644
3−+++ ghc-package-unix-2.7.2.2/configure 2001-09-09 09:46:40.000000000 +0800
3+--- a/configure
4−@@ -667,7 +667,6 @@
4++++ b/configure
5+@@ -667,7 +667,6 @@ infodir
5 docdir
6 docdir
6 oldincludedir
7 oldincludedir
7 includedir
8 includedir
@@ -9,7 +10,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
9 localstatedir
10 localstatedir
10 sharedstatedir
11 sharedstatedir
11 sysconfdir
12 sysconfdir
12−@@ -739,7 +738,6 @@
13+@@ -739,7 +738,6 @@ datadir='${datarootdir}'
13 sysconfdir='${prefix}/etc'
14 sysconfdir='${prefix}/etc'
14 sharedstatedir='${prefix}/com'
15 sharedstatedir='${prefix}/com'
15 localstatedir='${prefix}/var'
16 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
17 includedir='${prefix}/include'
18 includedir='${prefix}/include'
18 oldincludedir='/usr/include'
19 oldincludedir='/usr/include'
19 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
20−@@ -992,15 +990,6 @@
21+@@ -992,15 +990,6 @@ do
21 | -silent | --silent | --silen | --sile | --sil)
22 | -silent | --silent | --silen | --sile | --sil)
22 silent=yes ;;
23 silent=yes ;;
23
24
@@ -33,7 +34,7 @@ diff -ur hackage-package-unix-2.7.2.2/configure ghc-package-unix-2.7.2.2/configu
33 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
34 ac_prev=sbindir ;;
35 ac_prev=sbindir ;;
35 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
36−@@ -1138,7 +1127,7 @@
37+@@ -1138,7 +1127,7 @@ fi
37 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
38 datadir sysconfdir sharedstatedir localstatedir includedir \
39 datadir sysconfdir sharedstatedir localstatedir includedir \
39 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
40 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
42 do
43 do
43 eval ac_val=\$$ac_var
44 eval ac_val=\$$ac_var
44 # Remove trailing slashes.
45 # Remove trailing slashes.
45−@@ -1291,7 +1280,6 @@
46+@@ -1291,7 +1280,6 @@ Fine tuning of the installation directories:
46 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
47 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
48 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
49 --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
50 --libdir=DIR object code libraries [EPREFIX/lib]
51 --libdir=DIR object code libraries [EPREFIX/lib]
51 --includedir=DIR C header files [PREFIX/include]
52 --includedir=DIR C header files [PREFIX/include]
52 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53 --oldincludedir=DIR C header files for non-gcc [/usr/include]
53−@@ -3782,7 +3770,7 @@
54+@@ -3782,7 +3770,7 @@ else
54 We can't simply define LARGE_OFF_T to be 9223372036854775807,
55 We can't simply define LARGE_OFF_T to be 9223372036854775807,
55 since some C++ compilers masquerading as C compilers
56 since some C++ compilers masquerading as C compilers
56 incorrectly reject 9223372036854775807. */
57 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
59 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
60 && LARGE_OFF_T % 2147483647 == 1)
61 && LARGE_OFF_T % 2147483647 == 1)
61 ? 1 : -1];
62 ? 1 : -1];
62−@@ -3828,7 +3816,7 @@
63+@@ -3828,7 +3816,7 @@ else
63 We can't simply define LARGE_OFF_T to be 9223372036854775807,
64 We can't simply define LARGE_OFF_T to be 9223372036854775807,
64 since some C++ compilers masquerading as C compilers
65 since some C++ compilers masquerading as C compilers
65 incorrectly reject 9223372036854775807. */
66 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
68 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
69 && LARGE_OFF_T % 2147483647 == 1)
70 && LARGE_OFF_T % 2147483647 == 1)
70 ? 1 : -1];
71 ? 1 : -1];
71−@@ -3852,7 +3840,7 @@
72+@@ -3852,7 +3840,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
72 We can't simply define LARGE_OFF_T to be 9223372036854775807,
73 We can't simply define LARGE_OFF_T to be 9223372036854775807,
73 since some C++ compilers masquerading as C compilers
74 since some C++ compilers masquerading as C compilers
74 incorrectly reject 9223372036854775807. */
75 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
77 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
78 && LARGE_OFF_T % 2147483647 == 1)
79 && LARGE_OFF_T % 2147483647 == 1)
79 ? 1 : -1];
80 ? 1 : -1];
80−@@ -3897,7 +3885,7 @@
81+@@ -3897,7 +3885,7 @@ else
81 We can't simply define LARGE_OFF_T to be 9223372036854775807,
82 We can't simply define LARGE_OFF_T to be 9223372036854775807,
82 since some C++ compilers masquerading as C compilers
83 since some C++ compilers masquerading as C compilers
83 incorrectly reject 9223372036854775807. */
84 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
86 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
87 && LARGE_OFF_T % 2147483647 == 1)
88 && LARGE_OFF_T % 2147483647 == 1)
88 ? 1 : -1];
89 ? 1 : -1];
89−@@ -3921,7 +3909,7 @@
90+@@ -3921,7 +3909,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
90 We can't simply define LARGE_OFF_T to be 9223372036854775807,
91 We can't simply define LARGE_OFF_T to be 9223372036854775807,
91 since some C++ compilers masquerading as C compilers
92 since some C++ compilers masquerading as C compilers
92 incorrectly reject 9223372036854775807. */
93 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
95 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
96 && LARGE_OFF_T % 2147483647 == 1)
97 && LARGE_OFF_T % 2147483647 == 1)
97 ? 1 : -1];
98 ? 1 : -1];
98−diff -ur hackage-package-unix-2.7.2.2/unix.cabal ghc-package-unix-2.7.2.2/unix.cabal
99+diff --git a/unix.cabal b/unix.cabal
99−--- hackage-package-unix-2.7.2.2/unix.cabal 2017-07-20 06:04:36.000000000 +0800
100+index cf44068..bb3155f 100644
100−+++ ghc-package-unix-2.7.2.2/unix.cabal 2001-09-09 09:46:40.000000000 +0800
101+--- a/unix.cabal
101−@@ -62,7 +62,7 @@
102++++ b/unix.cabal
103+@@ -62,7 +62,7 @@ library
102 buildable: False
104 buildable: False
103
105
104 build-depends:
106 build-depends: