Open hasufell opened 2 months ago
GHC 9.6 does not support transformers < 0.6
- https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history .
GHC 9.6 does not support
transformers < 0.6
- https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history .
That is incorrect.
$ cabal unpack transformers-0.5.6.2
Unpacking to transformers-0.5.6.2/
$ cd transformers-0.5.6.2/
$ cabal build -w ghc-9.6.5
Resolving dependencies...
Build profile: -w ghc-9.6.5 -O1
In order, the following will be built (use -v for more details):
- transformers-0.5.6.2 (lib:transformers) (first run)
Warning: transformers.cabal:43:30: version operators used. To use version
operators the package needs to specify at least 'cabal-version: >= 1.8'.
Configuring transformers-0.5.6.2...
Preprocessing library for transformers-0.5.6.2...
Building library for transformers-0.5.6.2...
Control/Applicative/Backwards.hs:9:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
9 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Applicative/Lift.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Accum.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Class.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Cont.hs:9:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
9 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Except.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Error.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Identity.hs:9:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
9 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/List.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Maybe.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Reader.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/RWS/CPS.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/RWS/Lazy.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/RWS/Strict.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Select.hs:9:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
9 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/State/Lazy.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/State/Strict.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Writer/CPS.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Writer/Lazy.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Control/Monad/Trans/Writer/Strict.hs:6:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
6 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Data/Functor/Constant.hs:9:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
9 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
Data/Functor/Reverse.hs:9:14: warning: [-Wdeprecated-flags]
-XAutoDeriveTypeable is deprecated: Typeable instances are created automatically for all types since GHC 8.2.
|
9 | {-# LANGUAGE AutoDeriveTypeable #-}
| ^^^^^^^^^^^^^^^^^^
[ 1 of 26] Compiling Control.Applicative.Backwards ( Control/Applicative/Backwards.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Applicative/Backwards.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Applicative/Backwards.dyn_o )
[ 2 of 26] Compiling Control.Monad.Signatures ( Control/Monad/Signatures.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Signatures.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Signatures.dyn_o )
[ 3 of 26] Compiling Control.Monad.Trans.Class ( Control/Monad/Trans/Class.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Class.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Class.dyn_o )
[ 4 of 26] Compiling Control.Monad.Trans.Cont ( Control/Monad/Trans/Cont.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Cont.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Cont.dyn_o )
[ 5 of 26] Compiling Control.Monad.Trans.Error ( Control/Monad/Trans/Error.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Error.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Error.dyn_o )
[ 6 of 26] Compiling Control.Monad.Trans.Except ( Control/Monad/Trans/Except.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Except.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Except.dyn_o )
[ 7 of 26] Compiling Control.Monad.Trans.Identity ( Control/Monad/Trans/Identity.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Identity.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Identity.dyn_o )
[ 8 of 26] Compiling Control.Monad.Trans.List ( Control/Monad/Trans/List.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/List.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/List.dyn_o )
[ 9 of 26] Compiling Control.Monad.Trans.Maybe ( Control/Monad/Trans/Maybe.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Maybe.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Maybe.dyn_o )
[10 of 26] Compiling Control.Monad.Trans.RWS.CPS ( Control/Monad/Trans/RWS/CPS.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/RWS/CPS.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/RWS/CPS.dyn_o )
[11 of 26] Compiling Control.Monad.Trans.RWS.Lazy ( Control/Monad/Trans/RWS/Lazy.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/RWS/Lazy.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/RWS/Lazy.dyn_o )
[12 of 26] Compiling Control.Monad.Trans.RWS ( Control/Monad/Trans/RWS.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/RWS.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/RWS.dyn_o )
[13 of 26] Compiling Control.Monad.Trans.RWS.Strict ( Control/Monad/Trans/RWS/Strict.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/RWS/Strict.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/RWS/Strict.dyn_o )
[14 of 26] Compiling Control.Monad.Trans.Reader ( Control/Monad/Trans/Reader.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Reader.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Reader.dyn_o )
[15 of 26] Compiling Control.Monad.Trans.Select ( Control/Monad/Trans/Select.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Select.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Select.dyn_o )
[16 of 26] Compiling Control.Monad.Trans.State.Lazy ( Control/Monad/Trans/State/Lazy.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/State/Lazy.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/State/Lazy.dyn_o )
[17 of 26] Compiling Control.Monad.Trans.State ( Control/Monad/Trans/State.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/State.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/State.dyn_o )
[18 of 26] Compiling Control.Monad.Trans.State.Strict ( Control/Monad/Trans/State/Strict.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/State/Strict.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/State/Strict.dyn_o )
[19 of 26] Compiling Control.Monad.Trans.Writer.CPS ( Control/Monad/Trans/Writer/CPS.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Writer/CPS.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Writer/CPS.dyn_o )
[20 of 26] Compiling Control.Monad.Trans.Writer.Lazy ( Control/Monad/Trans/Writer/Lazy.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Writer/Lazy.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Writer/Lazy.dyn_o )
[21 of 26] Compiling Control.Monad.Trans.Writer ( Control/Monad/Trans/Writer.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Writer.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Writer.dyn_o )
[22 of 26] Compiling Control.Monad.Trans.Accum ( Control/Monad/Trans/Accum.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Accum.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Accum.dyn_o )
[23 of 26] Compiling Control.Monad.Trans.Writer.Strict ( Control/Monad/Trans/Writer/Strict.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Writer/Strict.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Monad/Trans/Writer/Strict.dyn_o )
[24 of 26] Compiling Data.Functor.Constant ( Data/Functor/Constant.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Data/Functor/Constant.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Data/Functor/Constant.dyn_o )
[25 of 26] Compiling Control.Applicative.Lift ( Control/Applicative/Lift.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Applicative/Lift.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Control/Applicative/Lift.dyn_o )
[26 of 26] Compiling Data.Functor.Reverse ( Data/Functor/Reverse.hs, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Data/Functor/Reverse.o, dist-newstyle/build/x86_64-linux/ghc-9.6.5/transformers-0.5.6.2/build/Data/Functor/Reverse.dyn_o )
Also see: https://github.com/haskell/cabal/issues/9669
It is mostly irrelevant with what boot packages GHC ships.
We have had trouble in the past because of multiple boot library versions and for that reason we made a convention to use lower bound of boot libraries match with GHC. If it helps your use case we can try to make it work with the older version of transformers and release a 0.10.2 with that. Though, I am not sure if that might create some other problem.
The constraints are up to transformers-0.5.5:
, transformers >= 0.5.5 && < 0.7
Let's see if a small fix can make it work.
I fixed the issue (https://github.com/composewell/streamly/pull/2741) we can make a revision on hackage.
Is there a way to have a dependency in cabal file conditional on the version on another package? In this case we need to depend on transformers-base
only if transformers version is less than 0.6 .
Is there a way to have a dependency in cabal file conditional on the version on another package?
No. That is what automatic cabal flags are for.
But these don't mix well with --allow-newer
.
cabal unpack streamly-0.10.1
cd streamly-0.10.1
cabal build -w ghc-9.6.5 --constraint='transformers == 0.5.6.2'