Skip to content

Commit

Permalink
Make --pretend work
Browse files Browse the repository at this point in the history
  • Loading branch information
ivan-m committed Jun 21, 2009
1 parent ae3bfa5 commit 48bdb01
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
8 changes: 8 additions & 0 deletions Distribution/Gentoo/PkgManager.hs
Expand Up @@ -14,6 +14,7 @@ module Distribution.Gentoo.PkgManager
, packageManagers
, defaultPM
, dummy
, setPretend
, buildPkgs
) where

Expand Down Expand Up @@ -50,6 +51,13 @@ paludis = PM "paludis" "paludis" ["--install", "--preserve-world"
dummy :: PkgManager
dummy = PM "test PM" "echo" []

-- All 3 PMs use --pretend to show what packages they would build;
-- assume that they are all like this.
setPretend :: PkgManager -> PkgManager
setPretend pm = pm { opts = pOpt : opts pm }
where
pOpt = "--pretend"

buildPkgs :: PkgManager -> [Package] -> IO ExitCode
buildPkgs pm = system . buildCmd pm

Expand Down
7 changes: 5 additions & 2 deletions Main.hs
Expand Up @@ -106,7 +106,10 @@ argParser (fls, oth, []) = do unless (null oth)
| otherwise = DepCheck

pmSpec = fmap unPM $ find isPM fls
pm = maybe (Just defaultPM) choosePM pmSpec
enablePretend = if hasFlag Pretend
then setPretend
else id
pm = fmap enablePretend $ maybe (Just defaultPM) choosePM pmSpec

choosePM str = find ((==) str' . name) packageManagers
where
Expand Down Expand Up @@ -169,7 +172,7 @@ options =
$ "Use package manager PM, where PM can be one of:\n"
++ pmList ++ defPM
, Option ['p'] ["pretend"] (NoArg Pretend)
"Only pretend to build packages, currently ignored."
"Only pretend to build packages."
, Option ['v'] ["version"] (NoArg Version)
"Version information."
, Option ['h', '?'] ["help"] (NoArg Help)
Expand Down

0 comments on commit 48bdb01

Please sign in to comment.