@@ -1,5 +1,6 @@
1+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
12{-# LANGUAGE LambdaCase #-}
2−{-# LANGUAGE OverloadedStrings, GeneralizedNewtypeDeriving #-}
3+{-# LANGUAGE OverloadedStrings #-}
34{-# LANGUAGE RecordWildCards #-}
45{-# LANGUAGE TemplateHaskell #-}
56
@@ -7,14 +8,15 @@ module Distribution.Nixpkgs.Haskell.Stack where
78
89import Control.Lens
910import Data.Text as T
10−import Distribution.System as System
1111import Distribution.Compiler as Compiler
12−import Distribution.PackageDescription as PackageDescription
1312import Distribution.Nixpkgs.Fetch
1413import Distribution.Nixpkgs.Haskell.Derivation
1514import Distribution.Nixpkgs.Haskell.FromCabal as FromCabal
1615import Distribution.Nixpkgs.Haskell.PackageSourceSpec as PackageSourceSpec
17−import Language.Nix
16+import Distribution.PackageDescription as PackageDescription
17+import Distribution.System as System
18+import Language.Nix as Nix
19+import Network.URI as URI
1820import Stack.Config
1921
2022newtype HackageDb = HackageDb { fromHackageDB :: T.Text }
@@ -38,7 +40,7 @@ makeLenses ''PackageConfig
3840mkPackageConfig :: Platform -> CompilerId -> PackageConfig
3941mkPackageConfig platform compilerId = PackageConfig
4042 { _pcHaskellResolver = const True
41− , _pcNixpkgsResolver = \i -> Just (binding # (i, path # [i]))
43+ , _pcNixpkgsResolver = \i -> Just (Nix.binding # (i, Nix.path # [i]))
4244 , _pcTargetPlatform = platform
4345 , _pcTargetCompiler = unknownCompilerInfo compilerId NoAbiTag
4446 , _pcFlagAssignment = []
@@ -51,22 +53,26 @@ getStackPackageFromDb
5153getStackPackageFromDb optHackageDb stackPackage =
5254 PackageSourceSpec.getPackage
5355 (unHackageDb <$> optHackageDb)
54− (stackLocationToSource $ stackPackage ^. spSource)
56+ (stackLocationToSource $ stackPackage ^. spLocation)
5557
56−stackLocationToSource :: StackLocation -> Source
58+stackLocationToSource :: PackageLocation -> Source
5759stackLocationToSource = \case
5860 HackagePackage p -> Source
5961 { sourceUrl = "cabal://" ++ T.unpack p
6062 , sourceRevision = mempty
6163 , sourceHash = UnknownHash
6264 , sourceCabalDir = mempty }
63− StackPath p -> Source
64− { sourceUrl = T.unpack p
65+ StackFilePath p -> Source
66+ { sourceUrl = p
6567 , sourceRevision = mempty
6668 , sourceHash = UnknownHash
6769 , sourceCabalDir = mempty }
68−
69− StackRepoGit rg -> Source
70+ StackUri uri -> Source
71+ { sourceUrl = URI.uriToString id uri mempty
72+ , sourceRevision = mempty
73+ , sourceHash = UnknownHash
74+ , sourceCabalDir = mempty }
75+ StackRepoGit rg -> Source
7076 { sourceUrl = T.unpack $ rg ^. rgUri
7177 , sourceRevision = T.unpack $ rg ^. rgCommit
7278 , sourceHash = UnknownHash