88{-# LANGUAGE CPP #-}
99{-# LANGUAGE LambdaCase #-}
1010{-# LANGUAGE MultiWayIf #-}
11+ {-# LANGUAGE ViewPatterns #-}
1112{-# LANGUAGE OverloadedStrings #-}
1213{-# LANGUAGE ScopedTypeVariables #-}
1314
@@ -133,7 +134,7 @@ import System.Directory
133134 doesFileExist , getCurrentDirectory )
134135import System.Environment (lookupEnv )
135136import System.Exit (ExitCode (ExitSuccess ))
136- import System.FilePath (isDrive , takeDirectory , (</>) )
137+ import System.FilePath (isDrive , takeDirectory )
137138
138139-- | Include this function when your setup doesn't contain any
139140-- extra functionality.
@@ -183,7 +184,7 @@ mkPkgInfoModulesPostConf hook args flags pkgDesc bInfo = do
183184
184185updatePkgInfoModule :: PackageDescription -> LocalBuildInfo -> ComponentLocalBuildInfo -> IO ()
185186updatePkgInfoModule pkgDesc bInfo clbInfo = do
186- createDirectoryIfMissing True dirName
187+ createDirectoryIfMissing True $ interpretSymbolicPathCWD dirName
187188 moduleBytes <- pkgInfoModule moduleName cName pkgDesc bInfo
188189 updateFile fileName moduleBytes
189190
@@ -196,19 +197,19 @@ updatePkgInfoModule pkgDesc bInfo clbInfo = do
196197 cName = unUnqualComponentName <$> componentNameString (componentLocalName clbInfo)
197198
198199 moduleName = pkgInfoModuleName
199- fileName = dirName ++ " / " ++ moduleName ++ " .hs"
200+ fileName = dirName </> unsafeMakeSymbolicPath moduleName <.> " .hs"
200201
201202 legacyModuleName = legacyPkgInfoModuleName cName
202- legacyFileName = dirName ++ " / " ++ legacyModuleName ++ " .hs"
203+ legacyFileName = dirName </> unsafeMakeSymbolicPath legacyModuleName <.> " .hs"
203204
204205-- -------------------------------------------------------------------------- --
205206-- Generate PkgInfo Module
206207
207208pkgInfoModuleName :: String
208209pkgInfoModuleName = " PkgInfo"
209210
210- updateFile :: FilePath -> B. ByteString -> IO ()
211- updateFile fileName content = do
211+ updateFile :: SymbolicPath from to -> B. ByteString -> IO ()
212+ updateFile (interpretSymbolicPathCWD -> fileName) content = do
212213 x <- doesFileExist fileName
213214 if | not x -> update
214215 | otherwise -> do
0 commit comments