Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion src/Stack2nix/External/Stack.hs
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,19 @@ import System.Directory (canonicalizePat
import System.FilePath (makeRelative,
(</>))
import Text.PrettyPrint.HughesPJClass (Doc)
import System.Environment (lookupEnv)

data PackageRef
= HackagePackage PackageIdentifierRevision
| NonHackagePackage PackageIdentifier (PackageLocation FilePath)
deriving (Eq, Show)

getStackRoot :: IO String
getStackRoot = fromMaybe defaultStackRoot <$> lookupEnv stackRootEnv
where
stackRootEnv = "S2N_STACK_ROOT"
defaultStackRoot = "/tmp/s2n"

genNixFile :: Args -> Version -> FilePath -> Maybe String -> Maybe String -> DB.HackageDB -> PackageRef -> IO (Either Doc Derivation)
genNixFile args ghcVersion baseDir uri argRev hackageDB pkgRef = do
cwd <- getCurrentDirectory
Expand Down Expand Up @@ -143,7 +150,7 @@ runPlan :: FilePath
-> Args
-> IO ()
runPlan baseDir remoteUri args@Args{..} = do
let stackRoot = "/tmp/s2n"
stackRoot <- getStackRoot
createDirectoryIfMissing True stackRoot
let globals = globalOpts baseDir stackRoot args
let stackFile = baseDir </> argStackYaml
Expand Down