git.iko.soy/typeable/stackage2nix
on master help sign in
Fix up Parse -> Parsec, misc. other Cabal 2.2+ changes.
ced032eTravis Whitaker
src/AllCabalHashes.hs+7−7
@@ -10,7 +10,7 @@ import Data.Text.Encoding as T
10import Distribution.Nixpkgs.Hashes as NH
10import Distribution.Nixpkgs.Hashes as NH
11import Distribution.Package
11import Distribution.Package
12import Distribution.PackageDescription
12import Distribution.PackageDescription
13−import Distribution.PackageDescription.Parse
13+import Distribution.PackageDescription.Parsec
14import Distribution.Text ( display )
14import Distribution.Text ( display )
15import Git
15import Git
16import Git.Libgit2 as Libgit2
16import Git.Libgit2 as Libgit2
@@ -46,9 +46,9 @@ readPackageByHash repoDir sha1Hash = do
46 BlobString bs -> return bs
46 BlobString bs -> return bs
47 BlobStringLazy bsl -> return $ BSL.toStrict bsl
47 BlobStringLazy bsl -> return $ BSL.toStrict bsl
48 _ -> fail $ "Git SHA1 " ++ show sha1Hash ++ ": expected single Blob"
48 _ -> fail $ "Git SHA1 " ++ show sha1Hash ++ ": expected single Blob"
49− cabal <- case parseGenericPackageDescription (T.unpack $ T.decodeUtf8 buf) of
49+ cabal <- let (_, res) = runParseResult (parseGenericPackageDescription buf)
50− ParseOk _ a -> return a
50+ in case res of Right a -> return a
51− ParseFailed err -> fail ("Git SHA1 " ++ show sha1Hash ++ ": " ++ show err)
51+ Left (_, err) -> fail ("Git SHA1 " ++ show sha1Hash ++ ": " ++ show err)
52 let
52 let
53 hash = printSHA256 (digest (digestByName "sha256") buf)
53 hash = printSHA256 (digest (digestByName "sha256") buf)
54 pkg = setCabalFileHash hash cabal
54 pkg = setCabalFileHash hash cabal
@@ -58,9 +58,9 @@ readPackageByName :: FilePath -> PackageIdentifier -> IO (GenericPackageDescript
58readPackageByName repoDir (PackageIdentifier name version) = do
58readPackageByName repoDir (PackageIdentifier name version) = do
59 let cabalFile = repoDir </> unPackageName name </> display version </> unPackageName name <.> "cabal"
59 let cabalFile = repoDir </> unPackageName name </> display version </> unPackageName name <.> "cabal"
60 buf <- BS.readFile cabalFile
60 buf <- BS.readFile cabalFile
61− cabal <- case parseGenericPackageDescription (T.unpack $ T.decodeUtf8 buf) of
61+ cabal <- let (_, res) = runParseResult (parseGenericPackageDescription buf)
62− ParseOk _ a -> return a
62+ in case res of Right a -> return a
63− ParseFailed err -> fail (cabalFile ++ ": " ++ show err)
63+ Left (_, err) -> fail (cabalFile ++ ": " ++ show err)
64 let
64 let
65 hash = NH.printSHA256 (SSL.digest (SSL.digestByName "sha256") buf)
65 hash = NH.printSHA256 (SSL.digest (SSL.digestByName "sha256") buf)
66 pkg = setCabalFileHash hash cabal
66 pkg = setCabalFileHash hash cabal
src/Distribution/Nixpkgs/Haskell/FromStack.hs+2−2
@@ -68,14 +68,14 @@ fromPackage conf pconf plan pkg =
68 (haskellResolver conf)
68 (haskellResolver conf)
69 (targetPlatform conf)
69 (targetPlatform conf)
70 (targetCompiler conf)
70 (targetCompiler conf)
71− flags
71+ (mkFlagAssignment flags)
72 (planDependencies plan)
72 (planDependencies plan)
73 (configureBenches . configureTests $ pkgCabal pkg)
73 (configureBenches . configureTests $ pkgCabal pkg)
74 genericDrv = fromPackageDescription
74 genericDrv = fromPackageDescription
75 (haskellResolver conf)
75 (haskellResolver conf)
76 (nixpkgsResolver conf)
76 (nixpkgsResolver conf)
77 missingDeps
77 missingDeps
78− flags
78+ (mkFlagAssignment flags)
79 descr
79 descr
80 depName (Dependency name _) = name
80 depName (Dependency name _) = name
81 testDeps = setOf
81 testDeps = setOf
src/Distribution/Nixpkgs/Haskell/Packages/PrettyPrinting.hs+2
@@ -2,6 +2,8 @@ module Distribution.Nixpkgs.Haskell.Packages.PrettyPrinting where
2
2
3import Language.Nix.PrettyPrinting
3import Language.Nix.PrettyPrinting
4
4
5+import Prelude hiding ((<>))
6+
5compilerConfig :: Doc -> Doc
7compilerConfig :: Doc -> Doc
6compilerConfig body =
8compilerConfig body =
7 funargsCurried ["self", "super"] <+> body
9 funargsCurried ["self", "super"] <+> body
src/Distribution/Nixpkgs/Haskell/Stack/PrettyPrinting.hs+2
@@ -17,6 +17,8 @@ import qualified Language.Nix.FilePath as Nix
17import Language.Nix.PrettyPrinting as PP
17import Language.Nix.PrettyPrinting as PP
18import Stack.Config (StackResolver, unStackResolver)
18import Stack.Config (StackResolver, unStackResolver)
19
19
20+import Prelude hiding ((<>))
21+
20
22
21data OverrideConfig = OverrideConfig
23data OverrideConfig = OverrideConfig
22 { _ocGhc :: Version
24 { _ocGhc :: Version
src/Runner.hs+1−1
@@ -189,6 +189,6 @@ mkStackPackagesConfig opts = StackPackagesConfig
189 , _spcNixpkgsResolver = \i -> Just (Nix.binding # (i, Nix.path # [i]))
189 , _spcNixpkgsResolver = \i -> Just (Nix.binding # (i, Nix.path # [i]))
190 , _spcTargetPlatform = opts ^. optPlatform
190 , _spcTargetPlatform = opts ^. optPlatform
191 , _spcTargetCompiler = unknownCompilerInfo (opts ^. optCompilerId) NoAbiTag
191 , _spcTargetCompiler = unknownCompilerInfo (opts ^. optCompilerId) NoAbiTag
192− , _spcFlagAssignment = []
192+ , _spcFlagAssignment = mempty
193 , _spcDoCheckPackages = opts ^. optDoCheckPackages
193 , _spcDoCheckPackages = opts ^. optDoCheckPackages
194 , _spcDoHaddockPackages = opts ^. optDoHaddockPackages }
194 , _spcDoHaddockPackages = opts ^. optDoHaddockPackages }
stackage2nix.cabal+1−1
@@ -31,7 +31,7 @@ library
31 , LtsHaskell
31 , LtsHaskell
32 , Paths_stackage2nix
32 , Paths_stackage2nix
33 build-depends: base > 4.7 && < 5
33 build-depends: base > 4.7 && < 5
34− , Cabal > 2
34+ , Cabal > 2.2
35 , QuickCheck
35 , QuickCheck
36 , aeson
36 , aeson
37 , bytestring
37 , bytestring