From bcc77819d0e6cb05225c55bf5b2473d4d97c0cbe Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 13 Jul 2017 12:48:03 -0400 Subject: use stack build --dry-run to check if deps are installed The system might have stack installed, so stack --version would succeed, but need stack setup to be run to get a working ghc. This will fail if stack is not installed, or if stack setup needs to be run. It does not fail when haskell libraries are not installed, but stack build will install those anyway, so that's ok. --- src/Propellor/Bootstrap.hs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Propellor/Bootstrap.hs b/src/Propellor/Bootstrap.hs index baf36e49..d3d0264b 100644 --- a/src/Propellor/Bootstrap.hs +++ b/src/Propellor/Bootstrap.hs @@ -86,13 +86,12 @@ buildCommand bs = intercalate " && " (go (getBuilder bs)) , "ln -sf $(stack path --dist-dir)/build/propellor-config propellor" ] --- Run cabal configure to check if all dependencies are installed; --- if not, run the depsCommand. +-- Check if all dependencies are installed; if not, run the depsCommand. checkDepsCommand :: Bootstrapper -> Maybe System -> ShellCommand checkDepsCommand bs sys = go (getBuilder bs) where go Cabal = "if ! cabal configure >/dev/null 2>&1; then " ++ depsCommand bs sys ++ "; fi" - go Stack = "if ! stack --version >/dev/null 2>&1; then " ++ depsCommand bs sys ++ "; fi" + go Stack = "if ! stack build --dry-run >/dev/null 2>&1; then " ++ depsCommand bs sys ++ "; fi" -- Install build dependencies of propellor, using the specified -- Bootstrapper. -- cgit v1.2.3