diff --git a/ghc-api-compat.cabal b/ghc-api-compat.cabal
--- a/ghc-api-compat.cabal
+++ b/ghc-api-compat.cabal
@@ -1,5 +1,5 @@
 name:                ghc-api-compat
-version:             8.6
+version:             8.10.5
 synopsis:            GHC-API compatibility helpers
 description:
    GHC codebase is a moving target. This package provides
@@ -8,37 +8,38 @@
 license-file:        LICENSE
 author:              Sylvain Henry
 maintainer:          sylvain@haskus.fr
-copyright:           Sylvain Henry 2020
 category:            Development
 build-type:          Simple
 cabal-version:       1.22
 
+source-repository head
+  type:     git
+  location: https://gitlab.haskell.org/haskell/ghc-api-compat.git
+
 library
    build-depends:
-      ghc >= 8.6
+      ghc == 8.10.5, base < 5.0
    default-language:    Haskell2010
 
-   if impl(ghc >= 8.10) && impl(ghc < 8.11)
-      reexported-modules:
-         GHC.Hs.PlaceHolder             as PlaceHolder
-
-   if impl(ghc >= 8.10)
-      reexported-modules:
-           GHC.Hs.Binds                   as HsBinds
+   reexported-modules:
+           GHC.Platform.AArch64           as CodeGen.Platform.ARM64
+         , GHC.Hs.Types                   as HsTypes
+         , GHC.Hs.PlaceHolder             as PlaceHolder
+         , GHC.Hs.Binds                   as HsBinds
          , GHC.Hs.Decls                   as HsDecls
          , GHC.Hs.Doc                     as HsDoc
          , GHC.Hs.Dump                    as HsDumpAst
          , GHC.Hs.Expr                    as HsExpr
+         , GHC.Hs.Expr
          , GHC.Hs.Extension               as HsExtension
+         , GHC.Hs.Extension
          , GHC.Hs                         as HsSyn
          , GHC.Hs.ImpExp                  as HsImpExp
          , GHC.Hs.Instances               as HsInstances
          , GHC.Hs.Lit                     as HsLit
          , GHC.Hs.Pat                     as HsPat
-         , GHC.Hs.Types                   as HsTypes
          , GHC.Hs.Utils                   as HsUtils
 
-         , GHC.Platform.ARM64             as CodeGen.Platform.ARM64
          , GHC.Platform.ARM               as CodeGen.Platform.ARM
          , GHC.Platform.NoRegs            as CodeGen.Platform.NoRegs
          , GHC.Platform.PPC               as CodeGen.Platform.PPC
@@ -72,229 +73,3 @@
          , GHC.HsToCore.PmCheck.Oracle    as PmOracle
          , GHC.HsToCore.PmCheck.Ppr       as PmPpr
          , GHC.HsToCore.PmCheck.Types     as PmTypes
-
-
-   if impl(ghc >= 8.11)
-      reexported-modules:
-           GHC.Rename.Binds               as RnBinds
-         , GHC.Rename.Env                 as RnEnv
-         , GHC.Rename.Expr                as RnExpr
-         , GHC.Rename.Fixity              as RnFixity
-         , GHC.Rename.Doc                 as RnHsDoc
-         , GHC.Rename.Names               as RnNames
-         , GHC.Rename.Pat                 as RnPat
-         , GHC.Rename.Source              as RnSource
-         , GHC.Rename.Splice              as RnSplice
-         , GHC.Rename.Types               as RnTypes
-         , GHC.Rename.Unbound             as RnUnbound
-         , GHC.Rename.Utils               as RnUtils
-
-         , GHC.Types.RepType              as RepType
-
-         , GHC.Cmm.BlockId                as BlockId
-         , GHC.Cmm.CLabel                 as CLabel
-         , GHC.Cmm.CallConv               as CmmCallConv
-         , GHC.Cmm.CommonBlockElim        as CmmCommonBlockElim
-         , GHC.Cmm.ContFlowOpt            as CmmContFlowOpt
-         , GHC.Cmm.Expr                   as CmmExpr
-         , GHC.Cmm                        as Cmm
-         , GHC.Cmm.Switch                 as CmmSwitch
-         , GHC.Cmm.Switch.Implement       as CmmImplementSwitchPlans
-         , GHC.Cmm.Info                   as CmmInfo
-         , GHC.Cmm.Info.Build             as CmmBuildInfoTables
-         , GHC.Cmm.LayoutStack            as CmmLayoutStack
-         , GHC.Cmm.Lint                   as CmmLint
-         , GHC.Cmm.Liveness               as CmmLive
-         , GHC.Cmm.MachOp                 as CmmMachOp
-         , GHC.Cmm.Monad                  as CmmMonad
-         , GHC.Cmm.Node                   as CmmNode
-         , GHC.Cmm.Opt                    as CmmOpt
-         , GHC.Cmm.Pipeline               as CmmPipeline
-         , GHC.Cmm.ProcPoint              as CmmProcPoint
-         , GHC.Cmm.Sink                   as CmmSink
-         , GHC.Cmm.Type                   as CmmType
-         , GHC.Cmm.Utils                  as CmmUtils
-         , GHC.Cmm.DebugBlock             as Debug
-         , GHC.Cmm.Dataflow.Block         as Hoopl.Block
-         , GHC.Cmm.Dataflow.Collections   as Hoopl.Collections
-         , GHC.Cmm.Dataflow               as Hoopl.Dataflow
-         , GHC.Cmm.Dataflow.Graph         as Hoopl.Graph
-         , GHC.Cmm.Dataflow.Label         as Hoopl.Label
-         , GHC.Cmm.Graph                  as MkGraph
-         , GHC.Cmm.Ppr.Decl               as PprCmmDecl
-         , GHC.Cmm.Ppr.Expr               as PprCmmExpr
-         , GHC.Cmm.Ppr                    as PprCmm
-         , GHC.Cmm.Lexer                  as CmmLex
-         , GHC.Cmm.Parser                 as CmmParse
-
-         , GHC.CmmToC                     as PprC
-
-         , GHC.HsToCore                   as Desugar
-         , GHC.HsToCore.Coverage          as Coverage
-         , GHC.HsToCore.Arrows            as DsArrows
-         , GHC.HsToCore.Binds             as DsBinds
-         , GHC.HsToCore.Foreign.Call      as DsCCall
-         , GHC.HsToCore.Foreign.Decl      as DsForeign
-         , GHC.HsToCore.Expr              as DsExpr
-         , GHC.HsToCore.GuardedRHSs       as DsGRHSs
-         , GHC.HsToCore.ListComp          as DsListComp
-         , GHC.HsToCore.Quote             as DsMeta
-         , GHC.HsToCore.Monad             as DsMonad
-         , GHC.HsToCore.Usage             as DsUsage
-         , GHC.HsToCore.Utils             as DsUtils
-         , GHC.HsToCore.Docs              as ExtractDocs
-         , GHC.HsToCore.Match             as Match
-         , GHC.HsToCore.Match.Constructor as MatchCon
-         , GHC.HsToCore.Match.Literal     as MatchLit
-
-         , GHC.Stg.Pipeline               as SimplStg
-         , GHC.Stg.CSE                    as StgCse
-         , GHC.Stg.Stats                  as StgStats
-         , GHC.Stg.Unarise                as UnariseStg
-         , GHC.Stg.FVs                    as StgFVs
-         , GHC.Stg.Lint                   as StgLint
-         , GHC.Stg.Subst                  as StgSubst
-         , GHC.Stg.Syntax                 as StgSyn
-
-         , GHC.Stg.Lift                   as StgLiftLams
-         , GHC.Stg.Lift.Analysis          as StgLiftLams.Analysis
-         , GHC.Stg.Lift.Monad             as StgLiftLams.LiftM
-
-         , GHC.CoreToStg                  as CoreToStg
-         , GHC.CoreToStg.Prep             as CorePrep
-
-         , GHC.Iface.Binary               as BinIface
-         , GHC.Iface.Env                  as IfaceEnv
-         , GHC.Iface.Syntax               as IfaceSyn
-         , GHC.Iface.Type                 as IfaceType
-         , GHC.Iface.Load                 as LoadIface
-         , GHC.Iface.Utils                as MkIface
-         , GHC.Iface.Rename               as RnModIface
-         , GHC.Iface.Tidy                 as TidyPgm
-
-         , GHC.Iface.Ext.Ast              as HieAst
-         , GHC.Iface.Ext.Binary           as HieBin
-         , GHC.Iface.Ext.Debug            as HieDebug
-         , GHC.Iface.Ext.Types            as HieTypes
-         , GHC.Iface.Ext.Utils            as HieUtils
-
-         , GHC.IfaceToCore                as TcIface
-         , GHC.CoreToIface                as ToIface
-
-         , GHC.Data.Bitmap                as Bitmap
-
-         , GHC.Runtime.Debugger           as Debugger
-         , GHC.Runtime.Interpreter        as GHCi
-         , GHC.Runtime.Linker             as Linker
-         , GHC.Runtime.Linker.Types       as LinkerTypes
-         , GHC.Runtime.Loader             as DynamicLoading
-         , GHC.Runtime.Eval               as InteractiveEval
-         , GHC.Runtime.Eval.Types         as InteractiveEvalTypes
-         , GHC.Runtime.Heap.Layout        as SMRep
-         , GHC.Runtime.Heap.Inspect       as RtClosureInspect
-
-         , GHC.ByteCode.Asm               as ByteCodeAsm
-         , GHC.ByteCode.Instr             as ByteCodeInstr
-         , GHC.ByteCode.InfoTable         as ByteCodeItbls
-         , GHC.ByteCode.Linker            as ByteCodeLink
-         , GHC.ByteCode.Types             as ByteCodeTypes
-
-         , GHC.CoreToByteCode             as ByteCodeGen
-
-         , GHC.Llvm.MetaData              as Llvm.MetaData
-         , GHC.Llvm.Ppr                   as Llvm.PpLlvm
-         , GHC.Llvm.Types                 as Llvm.Types
-         , GHC.Llvm.Syntax                as Llvm.AbsSyn
-         , GHC.Llvm                       as Llvm
-         , GHC.CmmToLlvm                  as LlvmCodeGen
-         , GHC.CmmToLlvm.Mangler          as LlvmMangler
-         , GHC.CmmToLlvm.Base             as LlvmCodeGen.Base
-         , GHC.CmmToLlvm.CodeGen          as LlvmCodeGen.CodeGen
-         , GHC.CmmToLlvm.Data             as LlvmCodeGen.Data
-         , GHC.CmmToLlvm.Ppr              as LlvmCodeGen.Ppr
-         , GHC.CmmToLlvm.Regs             as LlvmCodeGen.Regs
-         , GHC.Driver.Backpack.Syntax     as BkpSyn
-         , GHC.Driver.Backpack            as DriverBkp
-         , GHC.Driver.CmdLine             as CmdLineParser
-         , GHC.Driver.CodeOutput          as CodeOutput
-         , GHC.Driver.Finder              as Finder
-         , GHC.Driver.MakeFile            as DriverMkDepend
-         , GHC.Driver.Main                as HscMain
-         , GHC.Driver.Make                as GhcMake
-         , GHC.Driver.Hooks               as Hooks
-         , GHC.Driver.Session             as DynFlags
-         , GHC.Driver.Packages            as Packages
-         , GHC.Driver.Phases              as DriverPhases
-         , GHC.Driver.Pipeline            as DriverPipeline
-         , GHC.Driver.Pipeline.Monad      as PipelineMonad
-         , GHC.Driver.Plugins             as Plugins
-         , GHC.Driver.Monad               as GhcMonad
-         , GHC.Driver.Types               as HscTypes
-         , GHC.Plugins                    as GhcPlugins
-         , GHC                            as GHC
-         , GHC.CmmToAsm                          as AsmCodeGen
-         , GHC.CmmToAsm.BlockLayout              as BlockLayout
-         , GHC.CmmToAsm.CFG                      as CFG
-         , GHC.CmmToAsm.CFG.Dominators           as Dominators
-         , GHC.CmmToAsm.CPrim                    as CPrim
-         , GHC.CmmToAsm.Dwarf.Constants          as Dwarf.Constants
-         , GHC.CmmToAsm.Dwarf                    as Dwarf
-         , GHC.CmmToAsm.Dwarf.Types              as Dwarf.Types
-         , GHC.CmmToAsm.Format                   as Format
-         , GHC.CmmToAsm.Instr                    as Instruction
-         , GHC.CmmToAsm.Monad                    as NCGMonad
-         , GHC.CmmToAsm.PIC                      as PIC
-         , GHC.CmmToAsm.Ppr                      as PprBase
-         , GHC.CmmToAsm.Reg.Graph.Base           as RegAlloc.Graph.ArchBase
-         , GHC.CmmToAsm.Reg.Graph.X86            as RegAlloc.Graph.ArchX86
-         , GHC.CmmToAsm.Reg.Graph.Coalesce       as RegAlloc.Graph.Coalesce
-         , GHC.CmmToAsm.Reg.Graph                as RegAlloc.Graph.Main
-         , GHC.CmmToAsm.Reg.Graph.SpillClean     as RegAlloc.Graph.SpillClean
-         , GHC.CmmToAsm.Reg.Graph.SpillCost      as RegAlloc.Graph.SpillCost
-         , GHC.CmmToAsm.Reg.Graph.Spill          as RegAlloc.Graph.Spill
-         , GHC.CmmToAsm.Reg.Graph.Stats          as RegAlloc.Graph.Stats
-         , GHC.CmmToAsm.Reg.Graph.TrivColorable  as RegAlloc.Graph.TrivColorable
-         , GHC.CmmToAsm.Reg.Linear.Base          as RegAlloc.Linear.Base
-         , GHC.CmmToAsm.Reg.Linear.JoinToTargets as RegAlloc.Linear.JoinToTargets
-         , GHC.CmmToAsm.Reg.Linear               as RegAlloc.Linear.Main
-         , GHC.CmmToAsm.Reg.Linear.StackMap      as RegAlloc.Linear.StackMap
-         , GHC.CmmToAsm.Reg.Linear.State         as RegAlloc.Linear.State
-         , GHC.CmmToAsm.Reg.Linear.Stats         as RegAlloc.Linear.Stats
-         , GHC.CmmToAsm.Reg.Linear.FreeRegs      as RegAlloc.Linear.FreeRegs
-         , GHC.CmmToAsm.Reg.Linear.PPC           as RegAlloc.Linear.PPC.FreeRegs
-         , GHC.CmmToAsm.Reg.Linear.SPARC         as RegAlloc.Linear.SPARC.FreeRegs
-         , GHC.CmmToAsm.Reg.Linear.X86_64        as RegAlloc.Linear.X86_64.FreeRegs
-         , GHC.CmmToAsm.Reg.Linear.X86           as RegAlloc.Linear.X86.FreeRegs
-         , GHC.Platform.Reg                      as Reg
-         , GHC.Platform.Reg.Class                as RegClass
-         , GHC.CmmToAsm.Reg.Liveness             as RegAlloc.Liveness
-         , GHC.CmmToAsm.Reg.Target               as TargetReg
-         , GHC.CmmToAsm.PPC.CodeGen              as PPC.CodeGen
-         , GHC.CmmToAsm.PPC.Cond                 as PPC.Cond
-         , GHC.CmmToAsm.PPC.Instr                as PPC.Instr
-         , GHC.CmmToAsm.PPC.Ppr                  as PPC.Ppr
-         , GHC.CmmToAsm.PPC.RegInfo              as PPC.RegInfo
-         , GHC.CmmToAsm.PPC.Regs                 as PPC.Regs
-         , GHC.CmmToAsm.SPARC.AddrMode           as SPARC.AddrMode
-         , GHC.CmmToAsm.SPARC.Base               as SPARC.Base
-         , GHC.CmmToAsm.SPARC.CodeGen.Amode      as SPARC.CodeGen.Amode
-         , GHC.CmmToAsm.SPARC.CodeGen.Base       as SPARC.CodeGen.Base
-         , GHC.CmmToAsm.SPARC.CodeGen.CondCode   as SPARC.CodeGen.CondCode
-         , GHC.CmmToAsm.SPARC.CodeGen.Expand     as SPARC.CodeGen.Expand
-         , GHC.CmmToAsm.SPARC.CodeGen.Gen32      as SPARC.CodeGen.Gen32
-         , GHC.CmmToAsm.SPARC.CodeGen.Gen64      as SPARC.CodeGen.Gen64
-         , GHC.CmmToAsm.SPARC.CodeGen            as SPARC.CodeGen
-         , GHC.CmmToAsm.SPARC.CodeGen.Sanity     as SPARC.CodeGen.Sanity
-         , GHC.CmmToAsm.SPARC.Cond               as SPARC.Cond
-         , GHC.CmmToAsm.SPARC.Imm                as SPARC.Imm
-         , GHC.CmmToAsm.SPARC.Instr              as SPARC.Instr
-         , GHC.CmmToAsm.SPARC.Ppr                as SPARC.Ppr
-         , GHC.CmmToAsm.SPARC.Regs               as SPARC.Regs
-         , GHC.CmmToAsm.SPARC.ShortcutJump       as SPARC.ShortcutJump
-         , GHC.CmmToAsm.SPARC.Stack              as SPARC.Stack
-         , GHC.CmmToAsm.X86.CodeGen              as X86.CodeGen
-         , GHC.CmmToAsm.X86.Cond                 as X86.Cond
-         , GHC.CmmToAsm.X86.Instr                as X86.Instr
-         , GHC.CmmToAsm.X86.Ppr                  as X86.Ppr
-         , GHC.CmmToAsm.X86.RegInfo              as X86.RegInfo
-         , GHC.CmmToAsm.X86.Regs                 as X86.Regs
