-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A Haskell library to make self-extracting executables -- -- A Haskell library to make self-extracting executables. @package self-extract @version 0.2.1 -- | Defines utilities for creating/extracting TAR archives. -- -- These functions shell out to the tar process because Haskell -- packages that implement Tar would need some C header files, which we -- don't want to require on the user end. module Codec.SelfExtract.Tar -- | Zip the given directory into the given archive. tar :: Path b0 Dir -> Path b1 File -> IO () -- | Extract the given archive to the given directory. untar :: Path b0 File -> Path b1 Dir -> IO () -- | Defines functions that should be used in the Setup.hs file. module Codec.SelfExtract.Distribution -- | Bundle the given directory into the executable with the given name. -- -- For example, to bundle the static/ directory in the -- executable named install-files: -- --
-- main = defaultMainWithHooks simpleUserHooks
-- { postCopy = args cf pd lbi -> do
-- postCopy simpleUserHooks args cf pd lbi
-- bundle "install-files" "./static/" lbi
-- }
--
bundle :: String -> FilePath -> LocalBuildInfo -> IO ()
-- | Same as bundle, except using the Path library.
--
--
-- main = defaultMainWithHooks simpleUserHooks
-- { postCopy = args cf pd lbi -> do
-- postCopy simpleUserHooks args cf pd lbi
-- bundle' "install-files" [reldir|./static/|] lbi
-- }
--
bundle' :: String -> Path b Dir -> LocalBuildInfo -> IO ()
-- | Defines functions that should be used in a self-extractable
-- executable.
module Codec.SelfExtract
-- | Extract the self-bundled executable to the given path.
--
-- -- extractTo "dir" -- will extract to $CWD/dir -- extractTo "/usr/local/lib" --extractTo :: FilePath -> IO () -- | Extract the self-bundled executable to a temporary path. -- --
-- withExtractToTemp $ tmp -> do -- ... --withExtractToTemp :: (FilePath -> IO ()) -> IO () -- | Same as extractTo, except using the Path library. -- --
-- extractTo' [reldir|dir|] -- will extract to $CWD/dir -- extractTo' [absdir|/usr/local/lib|] --extractTo' :: Path b Dir -> IO () -- | Same as withExtractToTemp, except using the Path -- library. withExtractToTemp' :: (Path Abs Dir -> IO ()) -> IO ()