diff --git a/ats-pkg.cabal b/ats-pkg.cabal
--- a/ats-pkg.cabal
+++ b/ats-pkg.cabal
@@ -1,5 +1,5 @@
 name:                ats-pkg
-version:             1.2.0.4
+version:             1.2.0.5
 synopsis:            Package manager for ATS
 description:         A collection of scripts to make building ATS projects easy.
 homepage:            https://github.com/vmchale/ats-pkg#readme
@@ -44,7 +44,7 @@
                      , lens
                      , dhall
                      , shake-ext >= 1.2.0.3
-                     , composition-prelude >= 1.1.0.1
+                     , composition-prelude >= 1.1.0.2
                      , optparse-applicative
                      , temporary
   default-language:    Haskell2010
diff --git a/src/Language/ATS/Package/Type.hs b/src/Language/ATS/Package/Type.hs
--- a/src/Language/ATS/Package/Type.hs
+++ b/src/Language/ATS/Package/Type.hs
@@ -11,16 +11,17 @@
 
 import           Control.Composition
 import           Control.Monad.IO.Class          (MonadIO)
-import           Data.Maybe                      (fromMaybe)
+import           Data.Maybe                      (fromMaybe, isJust)
 import           Data.Semigroup                  (Semigroup (..))
 import qualified Data.Text.Lazy                  as TL
 import           Development.Shake
 import           Development.Shake.ATS
 import           Development.Shake.FilePath
 import           Development.Shake.Man
-import           Dhall
+import           Dhall                           hiding (bool)
 import           Language.ATS.Package.Dependency
-import           System.Directory                (getCurrentDirectory)
+import           System.Directory                (findExecutable,
+                                                  getCurrentDirectory)
 
 options :: ShakeOptions
 options = shakeOptions { shakeFiles = ".atspkg"
@@ -38,11 +39,16 @@
     mkInstall >>
     (pkgToAction rs =<< getConfig)
 
+pandoc :: (MonadIO m) => m Bool
+pandoc = isJust <$> liftIO (findExecutable "pandoc")
+
+
 mkManpage :: Rules ()
 mkManpage = do
     c <- getConfig
+    b <- pandoc
     case man c of
-        Just _ -> manpages
+        Just _ -> bool (pure ()) manpages b
         _      -> pure ()
 
 getConfig :: MonadIO m => m Pkg
@@ -91,9 +97,10 @@
     action (need ["atspkg.dhall"])
     mapM_ g (bs ++ ts)
     let bins = TL.unpack . target <$> bs
+    pa <- pandoc
     when (null rs) $
         case mt of
-            (Just m) -> want (manTarget m : bins)
+            (Just m) -> want (bool bins (manTarget m : bins) pa)
             Nothing  -> want bins
 
     where g (Bin s t ls gc') = atsBin (Version v) (Version v') gc' (TL.unpack <$> ls) (TL.unpack s) (TL.unpack t)
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -4,7 +4,7 @@
   - '.'
 extra-deps:
   - shake-ext-1.2.0.3
-  - composition-prelude-1.1.0.1
+  - composition-prelude-1.1.0.2
   - language-ats-0.1.0.6
 flags:
   ats-pkg:
