diff --git a/src/Stack/Config.hs b/src/Stack/Config.hs index f59c201cc7..c3e03188a5 100644 --- a/src/Stack/Config.hs +++ b/src/Stack/Config.hs @@ -47,7 +47,7 @@ import qualified Data.Set as S import qualified Data.Text as T import Data.Text.Encoding (encodeUtf8, decodeUtf8) import qualified Data.Yaml as Yaml -import Distribution.System (OS (Windows), Platform (..), buildPlatform) +import Distribution.System (OS (..), Platform (..), buildPlatform) import qualified Distribution.Text import Distribution.Version (simplifyVersionRange) import Network.HTTP.Client.Conduit (HasHttpManager, getHttpManager, Manager, parseUrl) diff --git a/src/Stack/Package.hs b/src/Stack/Package.hs index 8da909aea6..4098638982 100644 --- a/src/Stack/Package.hs +++ b/src/Stack/Package.hs @@ -63,7 +63,7 @@ import Distribution.Package hiding (Package,PackageName,packageName,pa import Distribution.PackageDescription hiding (FlagName) import Distribution.PackageDescription.Parse import Distribution.Simple.Utils -import Distribution.System (OS, Arch, Platform (..)) +import Distribution.System (OS (..), Arch, Platform (..)) import Distribution.Text (display) import Distribution.Version (intersectVersionRanges) import Path as FL @@ -615,7 +615,7 @@ mkResolveConditions :: Version -- ^ GHC version mkResolveConditions ghcVersion (Platform arch os) flags = ResolveConditions { rcFlags = flags , rcGhcVersion = ghcVersion - , rcOS = os + , rcOS = if isWindows os then Windows else os , rcArch = arch } diff --git a/src/Stack/Setup.hs b/src/Stack/Setup.hs index 709ac3b692..b2b64b531b 100644 --- a/src/Stack/Setup.hs +++ b/src/Stack/Setup.hs @@ -234,11 +234,6 @@ stripTrailingSlashT t = fromMaybe t $ T.stripSuffix (T.singleton FP.pathSeparator) t -isWindows :: OS -> Bool -isWindows Windows = True -isWindows (OtherOS "windowsintegersimple") = True -isWindows _ = False - -- | Ensure GHC is installed and provide the PATHs to add if necessary ensureGHC :: (MonadIO m, MonadMask m, MonadLogger m, MonadReader env m, HasConfig env, HasHttpManager env, MonadBaseControl IO m) => SetupOpts diff --git a/src/Stack/Types/BuildPlan.hs b/src/Stack/Types/BuildPlan.hs index a5fcfa311d..2d01a7f6d5 100644 --- a/src/Stack/Types/BuildPlan.hs +++ b/src/Stack/Types/BuildPlan.hs @@ -22,6 +22,7 @@ module Stack.Types.BuildPlan , MiniPackageInfo (..) , renderSnapName , parseSnapName + , isWindows ) where import Control.Applicative @@ -51,7 +52,7 @@ import Data.Time (Day) import qualified Data.Traversable as T import Data.Typeable (TypeRep, Typeable, typeOf) import Data.Vector (Vector) -import Distribution.System (Arch, OS) +import Distribution.System (Arch, OS (..)) import qualified Distribution.Text as DT import qualified Distribution.Version as C import GHC.Generics (Generic) @@ -386,3 +387,9 @@ data MiniPackageInfo = MiniPackageInfo } deriving (Generic, Show, Eq) instance Binary.Binary MiniPackageInfo + + +isWindows :: OS -> Bool +isWindows Windows = True +isWindows (OtherOS "windowsintegersimple") = True +isWindows _ = False