Skip to content

Commit

Permalink
Fix error with old-install remote packages with etlas files
Browse files Browse the repository at this point in the history
As described in typelead#66 (comment)
  • Loading branch information
jneira committed Dec 2, 2018
1 parent d9364f5 commit f00b121
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
3 changes: 2 additions & 1 deletion etlas/Distribution/Client/PackageDescription/Dhall.hs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import qualified Distribution.PackageDescription.Parsec as Cabal.Parse
import Distribution.PackageDescription.Parse as Cabal.Parse
(readGenericPackageDescription , parseGenericPackageDescription, ParseResult(..))
#endif
import Distribution.Simple.Utils (die', info)
import Distribution.Simple.Utils (die', info, createDirectoryIfMissingVerbose)
import Distribution.PackageDescription
import Distribution.Types.Dependency
import Distribution.Types.ForeignLib
Expand Down Expand Up @@ -89,6 +89,7 @@ writeDerivedCabalFile :: Verbosity -> FilePath
writeDerivedCabalFile verbosity dir genPkg = do
let path = dir </> "etlas.dhall.cabal"
info verbosity $ "Writing derived cabal file from dhall file: " ++ path
createDirectoryIfMissingVerbose verbosity True dir
writeGenericPackageDescription path genPkg
return path

Expand Down
14 changes: 8 additions & 6 deletions etlas/Distribution/Client/SetupWrapper.hs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ import Distribution.Client.JobControl
import Distribution.Simple.Utils
( die', notice, info, infoNoWrap, cabalVersion, tryFindPackageDesc )
import Distribution.Client.Utils
( inDir, withExtraPathEnv, withEnv )
( inDir, withExtraPathEnv, withEnv, makeAbsoluteToCwd )
-- #ifdef mingw32_HOST_OS
-- , canonicalizePathNoThrow
-- #endif
Expand All @@ -90,7 +90,7 @@ import Distribution.Simple.Utils
( withTempDirectory )
import Control.Exception ( bracket )
import qualified System.Win32 as Win32
import System.FilePath ( takeDirectory, (<.>) )
import System.FilePath ( takeDirectory, (<.>), isAbsolute )
import System.Directory ( doesDirectoryExist )
#endif

Expand Down Expand Up @@ -388,8 +388,8 @@ setupWrapper :: Verbosity
setupWrapper verbosity options mgenPkg mpkg cmd flags extraArgs = do
setup <- getSetup verbosity options mgenPkg mpkg

existEtlasDhallFile <- doesFileExist $
(fromMaybe "." (useWorkingDir options)) </> "etlas.dhall"
let currentDir = fromMaybe "." (useWorkingDir options)
existEtlasDhallFile <- doesFileExist $ currentDir </> "etlas.dhall"
let flags' = flags $ setupVersion setup
needDerivedCabalFile = setupMethod setup == SelfExecMethod
&& commandName cmd == "configure"
Expand All @@ -399,10 +399,12 @@ setupWrapper verbosity options mgenPkg mpkg cmd flags extraArgs = do

cabalFileArg <-
if needDerivedCabalFile then do
let dir = useDistPref options
let distDir = useDistPref options
dir = if isAbsolute distDir then distDir else currentDir </> distDir
genPkg = setupGenericPackage setup
cabalFilePath <- writeDerivedCabalFile verbosity dir genPkg
return ["--cabal-file", cabalFilePath]
absCabalFilePath <- makeAbsoluteToCwd cabalFilePath
return ["--cabal-file", absCabalFilePath]
else return []

let extraArgs' = extraArgs ++ cabalFileArg
Expand Down

0 comments on commit f00b121

Please sign in to comment.