packages feed

stackage-update-0.1.1.0: app/stackage-update.hs

import Stackage.Update
import System.Environment (getArgs)
import Data.List ((++), concat, intersperse)

main :: IO ()
main = do
    args <- getArgs
    case args of
        ["--help"] -> putStrLn $ unlines
            [ "Usage: stackage-update [--verify] [--hashes]"
            , "Run this command with no arguments to update your package index."
            , ""
            , "    --verify : Verify GPG signature on the repo"
            , "    --hashes : Download from the all-cabal-hashes repo"
            ]
        ["--summary"] -> putStrLn "Update your package index incrementally (requires git)"
        _ -> stackageUpdate $ foldr addArg defaultStackageUpdateSettings args

addArg :: String -> StackageUpdateSettings -> StackageUpdateSettings
addArg "--verify" = setVerify True
addArg "--hashes" = setRemote allCabalHashes . setDirectoryName "all-cabal-hashes"
addArg s = error $ concat
    [ "Did not understand argument "
    , show s
    , ", try 'stackage-update --help' for more information"
    ]