hackport 0.8.1.0 → 0.8.2.0
raw patch · 2 files changed
+188/−135 lines, 2 files
Files
- hackport.cabal +1/−1
- src/Portage/GHCCore.hs +187/−134
hackport.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: hackport-version: 0.8.1.0+version: 0.8.2.0 license: GPL-3.0-or-later license-file: LICENSE author: Henning Günther, Duncan Coutts, Lennart Kolmodin
src/Portage/GHCCore.hs view
@@ -39,8 +39,10 @@ -- | Try each @GHC@ version in the specified order, from left to right. -- The first @GHC@ version in this list is a minimum default. ghcs :: [(DC.CompilerInfo, InstalledPackageIndex)]-ghcs = modern_ghcs- where modern_ghcs = [ghc843, ghc863, ghc865, ghc881, ghc883, ghc884, ghc8101, ghc8104, ghc902]+ghcs =+ [ ghc881, ghc883, ghc884, ghc8101, ghc8104, ghc8106, ghc902, ghc924+ , ghc925, ghc926+ ] -- | Maybe determine the appropriate 'Cabal.Version' of the @Cabal@ package -- from a given @GHC@ version.@@ -52,15 +54,15 @@ cabalFromGHC :: [Int] -> Maybe Cabal.Version cabalFromGHC ver = lookup ver table where- table = [ ([8,4,3], Cabal.mkVersion [2,2,0,1])- , ([8,6,3], Cabal.mkVersion [2,4,0,1])- , ([8,6,5], Cabal.mkVersion [2,4,0,1])- , ([8,8,1], Cabal.mkVersion [3,0,0,0])+ table = [ ([8,8,1], Cabal.mkVersion [3,0,0,0]) , ([8,8,3], Cabal.mkVersion [3,0,1,0]) , ([8,8,4], Cabal.mkVersion [3,0,1,0]) , ([8,10,1], Cabal.mkVersion [3,2,0,0]) , ([8,10,4], Cabal.mkVersion [3,2,1,0])- , ([9,0,2], Cabal.mkVersion [3,4,1,0]) + , ([8,10,6], Cabal.mkVersion [3,2,1,0])+ , ([9,0,2], Cabal.mkVersion [3,4,1,0])+ , ([9,2,4], Cabal.mkVersion [3,6,3,0])+ , ([9,2,6], Cabal.mkVersion [3,6,3,0]) ] platform :: Platform@@ -142,9 +144,21 @@ ghc nrs = DC.unknownCompilerInfo c_id DC.NoAbiTag where c_id = CompilerId GHC (mkVersion nrs) +ghc926 :: (DC.CompilerInfo, InstalledPackageIndex)+ghc926 = (ghc [9,2,6], mkIndex ghc926_pkgs)++ghc925 :: (DC.CompilerInfo, InstalledPackageIndex)+ghc925 = (ghc [9,2,5], mkIndex ghc925_pkgs)++ghc924 :: (DC.CompilerInfo, InstalledPackageIndex)+ghc924 = (ghc [9,2,4], mkIndex ghc924_pkgs)+ ghc902 :: (DC.CompilerInfo, InstalledPackageIndex) ghc902 = (ghc [9,0,2], mkIndex ghc902_pkgs) +ghc8106 :: (DC.CompilerInfo, InstalledPackageIndex)+ghc8106 = (ghc [8,10,6], mkIndex ghc8106_pkgs)+ ghc8104 :: (DC.CompilerInfo, InstalledPackageIndex) ghc8104 = (ghc [8,10,4], mkIndex ghc8104_pkgs) @@ -160,21 +174,124 @@ ghc881 :: (DC.CompilerInfo, InstalledPackageIndex) ghc881 = (ghc [8,8,1], mkIndex ghc881_pkgs) -ghc865 :: (DC.CompilerInfo, InstalledPackageIndex)-ghc865 = (ghc [8,6,5], mkIndex ghc865_pkgs)--ghc863 :: (DC.CompilerInfo, InstalledPackageIndex)-ghc863 = (ghc [8,6,3], mkIndex ghc863_pkgs)--ghc843 :: (DC.CompilerInfo, InstalledPackageIndex)-ghc843 = (ghc [8,4,3], mkIndex ghc843_pkgs)- -- | Non-upgradeable core packages -- Sources: -- * release notes -- example: https://downloads.haskell.org/~ghc/8.6.5/docs/html/users_guide/8.6.5-notes.html -- * our binary tarballs (package.conf.d.initial subdir) -- * ancient: http://haskell.org/haskellwiki/Libraries_released_with_GHC+-- * https://github.com/gentoo-haskell/gentoo-haskell/issues/1386+-- * https://gitlab.haskell.org/ghc/ghc/-/blob/ghc-9.0.2-release/compiler/ghc.cabal.in#L60-77+-- * https://flora.pm/packages/%40hackage/ghc/9.0.2/dependencies+-- * https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history+ghc926_pkgs :: [Cabal.PackageIdentifier]+ghc926_pkgs =+ [ p "array" [0,5,4,0]+ , p "base" [4,16,4,0]+ , p "binary" [0,8,9,0] -- used by libghc+ , p "bytestring" [0,11,4,0]+-- , p "Cabal" [3,6,3,0] package is upgradeable+ , p "containers" [0,6,5,1]+ , p "deepseq" [1,4,6,1] -- used by time+ , p "directory" [1,3,6,2]+ , p "exceptions" [0,10,4] -- used by libghc+ , p "filepath" [1,4,2,1]+ , p "ghc-bignum" [1,2]+ , p "ghc-boot" [9,2,6]+ , p "ghc-boot-th" [9,2,6]+ , p "ghc-compact" [0,1,0,0]+ , p "ghc-prim" [0,8,0]+ , p "ghc-heap" [9,2,6]+ , p "ghci" [9,2,6]+-- , p "haskeline" [0,8,2] package is upgradeable+ , p "hpc" [0,6,1,0] -- used by libghc+ , p "integer-gmp" [1,1]+ , p "mtl" [2,2,2] -- used by exceptions+-- , p "parsec" [3,1,15,0] -- package is upgradeable+ , p "pretty" [1,1,3,6]+ , p "process" [1,6,16,0]+ , p "stm" [2,5,0,2]+ , p "template-haskell" [2,18,0,0] -- used by libghc+ , p "terminfo" [0,4,1,5] -- used by libghc+-- , p "text" [1,2,5,0] -- package is upgradeable+ , p "time" [1,11,1,1] -- used by unix, directory, hpc, ghc. unsafe to upgrade+ , p "transformers" [0,5,6,2] -- used by libghc+ , p "unix" [2,7,2,2]+-- , p "xhtml" [3000,2,2,1]+ ]++ghc925_pkgs :: [Cabal.PackageIdentifier]+ghc925_pkgs =+ [ p "array" [0,5,4,0]+ , p "base" [4,16,4,0]+ , p "binary" [0,8,9,0] -- used by libghc+ , p "bytestring" [0,11,3,1]+-- , p "Cabal" [3,6,3,0] package is upgradeable+ , p "containers" [0,6,5,1]+ , p "deepseq" [1,4,6,1] -- used by time+ , p "directory" [1,3,6,2]+ , p "exceptions" [0,10,4] -- used by libghc+ , p "filepath" [1,4,2,1]+ , p "ghc-bignum" [1,2]+ , p "ghc-boot" [9,2,5]+ , p "ghc-boot-th" [9,2,5]+ , p "ghc-compact" [0,1,0,0]+ , p "ghc-prim" [0,8,0]+ , p "ghc-heap" [9,2,5]+ , p "ghci" [9,2,5]+-- , p "haskeline" [0,8,2] package is upgradeable+ , p "hpc" [0,6,1,0] -- used by libghc+ , p "integer-gmp" [1,1]+ , p "mtl" [2,2,2] -- used by exceptions+-- , p "parsec" [3,1,15,0] -- package is upgradeable+ , p "pretty" [1,1,3,6]+ , p "process" [1,6,16,0]+ , p "stm" [2,5,0,2]+ , p "template-haskell" [2,18,0,0] -- used by libghc+ , p "terminfo" [0,4,1,5] -- used by libghc+-- , p "text" [1,2,5,0] -- package is upgradeable+ , p "time" [1,11,1,1] -- used by unix, directory, hpc, ghc. unsafe to upgrade+ , p "transformers" [0,5,6,2] -- used by libghc+ , p "unix" [2,7,2,2]+-- , p "xhtml" [3000,2,2,1]+ ]++ghc924_pkgs :: [Cabal.PackageIdentifier]+ghc924_pkgs =+ [ p "array" [0,5,4,0]+ , p "base" [4,16,3,0]+ , p "binary" [0,8,9,0] -- used by libghc+ , p "bytestring" [0,11,3,1]+-- , p "Cabal" [3,6,3,0] package is upgradeable+ , p "containers" [0,6,5,1]+ , p "deepseq" [1,4,6,1] -- used by time+ , p "directory" [1,3,6,2]+ , p "exceptions" [0,10,4] -- used by libghc+ , p "filepath" [1,4,2,1]+ , p "ghc-bignum" [1,2]+ , p "ghc-boot" [9,2,4]+ , p "ghc-boot-th" [9,2,4]+ , p "ghc-compact" [0,1,0,0]+ , p "ghc-prim" [0,8,0]+ , p "ghc-heap" [9,2,4]+ , p "ghci" [9,2,4]+-- , p "haskeline" [0,8,2] package is upgradeable+ , p "hpc" [0,6,1,0] -- used by libghc+ , p "integer-gmp" [1,1]+ , p "mtl" [2,2,2] -- used by exceptions+-- , p "parsec" [3,1,15,0] -- package is upgradeable+ , p "pretty" [1,1,3,6]+ , p "process" [1,6,16,0]+ , p "stm" [2,5,0,2]+ , p "template-haskell" [2,18,0,0] -- used by libghc+ , p "terminfo" [0,4,1,5] -- used by libghc+-- , p "text" [1,2,5,0] -- package is upgradeable+ , p "time" [1,11,1,1] -- used by unix, directory, hpc, ghc. unsafe to upgrade+ , p "transformers" [0,5,6,2] -- used by libghc+ , p "unix" [2,7,2,2]+-- , p "xhtml" [3000,2,2,1]+ ]+ ghc902_pkgs :: [Cabal.PackageIdentifier] ghc902_pkgs = [ p "array" [0,5,4,0]@@ -198,19 +315,54 @@ , p "hpc" [0,6,1,0] -- used by libghc , p "integer-gmp" [1,1] , p "mtl" [2,2,2] -- used by exceptions- , p "parsec" [3,1,14,0] -- used by exceptions+-- , p "parsec" [3,1,14,0] -- package is upgradeable , p "pretty" [1,1,3,6]- , p "process" [1,6,13,2]- -- , p "stm" [2,5,0,0] package is upgradeable(?)+ , p "process" [1,6,16,0]+ , p "stm" [2,5,0,0] , p "template-haskell" [2,17,0,0] -- used by libghc , p "terminfo" [0,4,1,5] -- used by libghc- , p "text" [1,2,5,0] -- used by libghc+-- , p "text" [1,2,5,0] -- package is upgradeable , p "time" [1,9,3,0] -- used by unix, directory, hpc, ghc. unsafe to upgrade , p "transformers" [0,5,6,2] -- used by libghc , p "unix" [2,7,2,2] -- , p "xhtml" [3000,2,2,1] ] +ghc8106_pkgs :: [Cabal.PackageIdentifier]+ghc8106_pkgs =+ [ p "array" [0,5,4,0]+ , p "base" [4,14,1,0]+ , p "binary" [0,8,8,0] -- used by libghc+ , p "bytestring" [0,10,12,0]+-- , p "Cabal" [3,2,1,0] package is upgradeable+ , p "containers" [0,6,2,1]+ , p "deepseq" [1,4,4,0] -- used by time+ , p "directory" [1,3,6,0]+ , p "filepath" [1,4,2,1]+ , p "exceptions" [0,10,4] -- used by libghc in ghc-9.0.2+ , p "ghc-boot" [8,10,4]+ , p "ghc-boot-th" [8,10,4]+ , p "ghc-compact" [0,1,0,0]+ , p "ghc-prim" [0,6,1,0]+ , p "ghc-heap" [8,10,4]+ , p "ghci" [8,10,4]+-- , p "haskeline" [0,8,0,1] package is upgradeable+ , p "hpc" [0,6,1,0] -- used by libghc+ , p "integer-gmp" [1,0,3,0]+ , p "mtl" [2,2,2] -- used by exceptions in ghc-9.0.2+-- , p "parsec" [3,1,14,0] -- package is upgradeable+ , p "pretty" [1,1,3,6]+ , p "process" [1,6,16,0]+ , p "stm" [2,5,0,0]+ , p "template-haskell" [2,16,0,0] -- used by libghc+ , p "terminfo" [0,4,1,4] -- used by libghc in ghc-9.0.2+-- , p "text" [1,2,4,1] -- package is upgradeable+ , p "time" [1,9,3,0] -- used by unix, directory, hpc, ghc. unsafe to upgrade+ , p "transformers" [0,5,6,2] -- used by libghc+ , p "unix" [2,7,2,2]+-- , p "xhtml" [3000,2,2,1]+ ]+ ghc8104_pkgs :: [Cabal.PackageIdentifier] ghc8104_pkgs = [ p "array" [0,5,4,0]@@ -233,13 +385,13 @@ , p "hpc" [0,6,1,0] -- used by libghc , p "integer-gmp" [1,0,3,0] , p "mtl" [2,2,2] -- used by exceptions in ghc-9.0.2- , p "parsec" [3,1,14,0] -- used by exceptions in ghc-9.0.2+-- , p "parsec" [3,1,14,0] -- package is upgradeable , p "pretty" [1,1,3,6] , p "process" [1,6,9,0]- -- , p "stm" [2,5,0,0] package is upgradeable(?)+ , p "stm" [2,5,0,0] , p "template-haskell" [2,16,0,0] -- used by libghc , p "terminfo" [0,4,1,4] -- used by libghc in ghc-9.0.2- , p "text" [1,2,4,1] -- used by libghc in ghc-9.0.2+-- , p "text" [1,2,4,1] -- package is upgradeable , p "time" [1,9,3,0] -- used by unix, directory, hpc, ghc. unsafe to upgrade , p "transformers" [0,5,6,2] -- used by libghc , p "unix" [2,7,2,2]@@ -268,13 +420,13 @@ , p "hpc" [0,6,1,0] -- used by libghc , p "integer-gmp" [1,0,3,0] , p "mtl" [2,2,2] -- used by libghc in ghc-9.0.2 - , p "parsec" [3,1,14,0] -- used by libghc in ghc-9.0.2+-- , p "parsec" [3,1,14,0] -- package is upgradeable , p "pretty" [1,1,3,6] , p "process" [1,6,8,2]- -- , p "stm" [2,5,0,0] package is upgradeable(?)+ , p "stm" [2,5,0,0] , p "template-haskell" [2,16,0,0] -- used by libghc , p "terminfo" [0,4,1,4] -- used by libghc in ghc-9.0.2- , p "text" [1,2,3,2] -- used by libghc in ghc-9.0.2+-- , p "text" [1,2,3,2] -- package is upgradeable , p "time" [1,9,3,0] -- used by unix, directory, hpc, ghc. unsafe to upgrade , p "transformers" [0,5,6,2] -- used by libghc , p "unix" [2,7,2,2]@@ -301,13 +453,13 @@ , p "hpc" [0,6,0,3] -- used by libghc , p "integer-gmp" [1,0,2,0] , p "mtl" [2,2,2] -- used by exceptions in ghc-9.0.2- , p "parsec" [3,1,14,0] -- used by exceptions in ghc-9.0.2+-- , p "parsec" [3,1,14,0] -- package is upgradeable , p "pretty" [1,1,3,6] , p "process" [1,6,9,0]- -- , p "stm" [2,5,0,0] package is upgradeable(?)+ , p "stm" [2,5,0,0] , p "template-haskell" [2,15,0,0] -- used by libghc , p "terminfo" [0,4,1,4] -- used by libghc in ghc-9.0.2- , p "text" [1,2,4,0] -- used by libghc in ghc-9.0.2+-- , p "text" [1,2,4,0] -- package is upgradeable , p "time" [1,9,3,0] -- used by unix, directory, hpc, ghc. unsafe to upgrade , p "transformers" [0,5,6,2] -- used by libghc , p "unix" [2,7,2,2]@@ -334,13 +486,13 @@ , p "hpc" [0,6,0,3] -- used by libghc , p "integer-gmp" [1,0,2,0] , p "mtl" [2,2,2] -- used by exceptions in ghc-9.0.2- , p "parsec" [3,1,14,0] -- used by exceptions in ghc-9.0.2+-- , p "parsec" [3,1,14,0] -- package is upgradeable , p "pretty" [1,1,3,6] , p "process" [1,6,8,0]- -- , p "stm" [2,5,0,0] package is upgradeable(?)+ , p "stm" [2,5,0,0] , p "template-haskell" [2,15,0,0] -- used by libghc , p "terminfo" [0,4,1,4] -- used by libghc in ghc-9.0.2- , p "text" [1,2,4,0] -- used by libghc in ghc-9.0.2 +-- , p "text" [1,2,4,0] -- package is upgradeable , p "time" [1,9,3,0] -- used by unix, directory, hpc, ghc. unsafe to upgrade , p "transformers" [0,5,6,2] -- used by libghc , p "unix" [2,7,2,2]@@ -367,114 +519,15 @@ , p "hpc" [0,6,0,3] -- used by libghc , p "integer-gmp" [1,0,2,0] , p "mtl" [2,2,2] -- used by exceptions in ghc-9.0.2- , p "parsec" [3,1,14,0] -- used by exceptions in ghc-9.0.2+-- , p "parsec" [3,1,14,0] -- package is upgradeable , p "pretty" [1,1,3,6] , p "process" [1,6,5,1]- -- , p "stm" [2,5,0,0] package is upgradeable(?)+ , p "stm" [2,5,0,0] , p "template-haskell" [2,15,0,0] -- used by libghc , p "terminfo" [0,4,1,4] -- used by libghc in ghc-9.0.2- , p "text" [1,2,4,0] -- used by libghc in ghc-9.0.2+-- , p "text" [1,2,4,0] -- package is upgradeable , p "time" [1,9,3,0] -- used by unix, directory, hpc, ghc. unsafe to upgrade , p "transformers" [0,5,6,2] -- used by libghc- , p "unix" [2,7,2,2]--- , p "xhtml" [3000,2,2,1]- ]--ghc865_pkgs :: [Cabal.PackageIdentifier]-ghc865_pkgs =- [ p "array" [0,5,3,0]- , p "base" [4,12,0,0]- , p "binary" [0,8,6,0] -- used by libghc- , p "bytestring" [0,10,8,2]--- , p "Cabal" [2,4,0,1] package is upgradeable- , p "containers" [0,6,0,1]- , p "deepseq" [1,4,4,0] -- used by time- , p "directory" [1,3,3,0]- , p "filepath" [1,4,2,1]- , p "ghc-boot" [8,6,5]- , p "ghc-boot-th" [8,6,5]- , p "ghc-compact" [0,1,0,0]- , p "ghc-prim" [0,5,3,0]- , p "ghci" [8,6,5]--- , p "haskeline" [0,7,4,3] package is upgradeable- , p "hpc" [0,6,0,3] -- used by libghc- , p "integer-gmp" [1,0,2,0]- , p "mtl" [2,2,2] -- used by exceptions in ghc-9.0.2- , p "parsec" [3,1,13,0] -- used by exceptions in ghc-9.0.2- , p "pretty" [1,1,3,6]- , p "process" [1,6,5,0]- -- , p "stm" [2,5,0,0] package is upgradeable(?)- , p "template-haskell" [2,14,0,0] -- used by libghc- , p "terminfo" [0,4,1,2] -- used by libghc in ghc-9.0.2- , p "text" [1,2,3,1] -- used by libghc in ghc-9.0.2- , p "time" [1,8,0,2] -- used by unix, directory, hpc, ghc. unsafe to upgrade- , p "transformers" [0,5,6,2] -- used by libghc- , p "unix" [2,7,2,2]--- , p "xhtml" [3000,2,2,1]- ]--ghc863_pkgs :: [Cabal.PackageIdentifier]-ghc863_pkgs =- [ p "array" [0,5,3,0]- , p "base" [4,12,0,0]- , p "binary" [0,8,6,0] -- used by libghc- , p "bytestring" [0,10,8,2]--- , p "Cabal" [2,4,0,1] package is upgradeable- , p "containers" [0,6,0,1]- , p "deepseq" [1,4,4,0] -- used by time- , p "directory" [1,3,3,0]- , p "filepath" [1,4,2,1]- , p "ghc-boot" [8,6,3]- , p "ghc-boot-th" [8,6,3]- , p "ghc-compact" [0,1,0,0]- , p "ghc-prim" [0,5,3,0]- , p "ghci" [8,6,3]--- , p "haskeline" [0,7,4,3] package is upgradeable- , p "hpc" [0,6,0,3] -- used by libghc- , p "integer-gmp" [1,0,2,0]- , p "mtl" [2,2,2] -- used by exceptions in ghc-9.0.2- , p "parsec" [3,1,13,0] -- used by exceptions in ghc-9.0.2- , p "pretty" [1,1,3,6]- , p "process" [1,6,3,0]- -- , p "stm" [2,5,0,0] package is upgradeable(?)- , p "template-haskell" [2,14,0,0] -- used by libghc- , p "terminfo" [0,4,1,2] -- used by libghc in ghc-9.0.2- , p "text" [1,2,3,1] -- used by libghc in ghc-9.0.2- , p "time" [1,8,0,2] -- used by unix, directory, hpc, ghc. unsafe to upgrade- , p "transformers" [0,5,5,0] -- used by libghc- , p "unix" [2,7,2,2]--- , p "xhtml" [3000,2,2,1]- ]--ghc843_pkgs :: [Cabal.PackageIdentifier]-ghc843_pkgs =- [ p "array" [0,5,2,0]- , p "base" [4,11,1,0]- , p "binary" [0,8,5,1] -- used by libghc- , p "bytestring" [0,10,8,2]--- , p "Cabal" [2,2,0,1] package is upgradeable- , p "containers" [0,5,11,2]- , p "deepseq" [1,4,3,0] -- used by time- , p "directory" [1,3,1,5]- , p "filepath" [1,4,2]- , p "ghc-boot" [8,4,3]- , p "ghc-boot-th" [8,4,3]- , p "ghc-compact" [0,1,0,0]- , p "ghc-prim" [0,5,2,0]- , p "ghci" [8,4,3]--- , p "haskeline" [0,7,4,2] package is upgradeable- , p "hpc" [0,6,0,3] -- used by libghc- , p "integer-gmp" [1,0,2,0]- , p "mtl" [2,2,2] -- used by exceptions in ghc-9.0.2- , p "parsec" [3,1,13,0] -- used by exceptions in ghc-9.0.2- , p "pretty" [1,1,3,6]- , p "process" [1,6,3,0]- -- , p "stm" [2,4,5,0] package is upgradeable(?)- , p "template-haskell" [2,13,0,0] -- used by libghc- , p "terminfo" [0,4,1,1] -- used by libghc in ghc-9.0.2- , p "text" [1,2,3,0] -- used by libghc in ghc-9.0.2- , p "time" [1,8,0,2] -- used by unix, directory, hpc, ghc. unsafe to upgrade- , p "transformers" [0,5,5,0] -- used by libghc , p "unix" [2,7,2,2] -- , p "xhtml" [3000,2,2,1] ]