haskell-updater 1.2.0.2 → 1.2.0.3
raw patch · 3 files changed
+22/−17 lines, 3 files
Files
- Distribution/Gentoo/PkgManager.hs +3/−3
- Main.hs +18/−13
- haskell-updater.cabal +1/−1
Distribution/Gentoo/PkgManager.hs view
@@ -106,10 +106,10 @@ defaultPMFlags CustomPM{} = [] defaultPMFlags (InvalidPM _) = undefined -buildCmd :: PkgManager -> [PMFlag] -> [Package] -> String-buildCmd pm fs ps = unwords $ pmCommand pm : fs' ++ ps'+buildCmd :: PkgManager -> [PMFlag] -> [String] -> [Package] -> String+buildCmd pm fs raw_pm_flags ps = unwords $ pmCommand pm : fs' ++ ps' where- fs' = defaultPMFlags pm ++ mapMaybe (flagRep pm) fs+ fs' = defaultPMFlags pm ++ mapMaybe (flagRep pm) fs ++ raw_pm_flags ps' = map printPkg ps -- -----------------------------------------------------------------------------
Main.hs view
@@ -92,6 +92,7 @@ data RunModifier = RM { pkgmgr :: PkgManager , flags :: [PMFlag] , withCmd :: WithCmd+ , rawPMArgs :: [String] } deriving (Eq, Ord, Show, Read) @@ -113,7 +114,7 @@ buildPkgs _ [] = success "\nNothing to build!" buildPkgs rm ps = runCmd (withCmd rm) cmd where- cmd = buildCmd (pkgmgr rm) (flags rm) ps+ cmd = buildCmd (pkgmgr rm) (flags rm) (rawPMArgs rm) ps -- ----------------------------------------------------------------------------- -- Command-line flags@@ -132,17 +133,18 @@ parseArgs :: IO (RunModifier, Action) parseArgs = do args <- getArgs defPM <- defaultPM- argParser defPM $ getOpt Permute options args+ argParser defPM $ getOpt' Permute options args -argParser :: PkgManager -> ([Flag], [String], [String])+argParser :: PkgManager -> ([Flag], [String], [String], [String]) -> IO (RunModifier, Action)-argParser dPM (fls, oth, []) = do unless (null oth)- $ putErrLn- $ unwords $ "Unknown options:" : oth- unless (null bPms)- $ putErrLn- $ unwords $ "Unknown package managers:" : bPms- return (rm, a)+argParser dPM (fls, nonoptions, unrecognized, []) =+ do unless (null unrecognized)+ $ putErrLn+ $ unwords $ "Unknown options:" : unrecognized+ unless (null bPms)+ $ putErrLn+ $ unwords $ "Unknown package managers:" : bPms+ return (rm, a) where (fls', as) = partitionBy flagToAction fls a = combineAllActions as@@ -157,9 +159,10 @@ , flags = pmFlags -- We need to get Flags that represent this as well. , withCmd = PrintAndRun+ , rawPMArgs = nonoptions } -argParser _ (_, _, errs) = die $ unwords $ "Errors in arguments:" : errs+argParser _ (_, _, _, errs) = die $ unwords $ "Errors in arguments:" : errs flagToAction :: Flag -> Either Flag Action flagToAction HelpFlag = Right Help@@ -227,7 +230,7 @@ \ * Haskell dependency upgrade\n\ \ Default action is to do both.\n\ \\n\- \Usage: " ++ pName ++ " [Option]\n\+ \Usage: " ++ pName ++ " [Options [-- [PM options]]\n\ \\n\ \\n\ \Options:"@@ -240,7 +243,9 @@ putStrLn $ "Running " ++ pName ++ " using GHC " ++ ver putStrLn $ " * Executable: " ++ pLoc putStrLn $ " * Library directory: " ++ libDir- putStrLn $ " * Package manager: " ++ nameOfPM (pkgmgr rm)+ putStrLn $ " * Package manager (PM): " ++ nameOfPM (pkgmgr rm)+ unless (null (rawPMArgs rm)) $+ putStrLn $ " * PM auxiliary arguments: " ++ unwords (rawPMArgs rm) putStrLn "" -- -----------------------------------------------------------------------------
haskell-updater.cabal view
@@ -1,6 +1,6 @@ Name: haskell-updater Homepage: http://haskell.org/haskellwiki/Gentoo#haskell-updater-Version: 1.2.0.2+Version: 1.2.0.3 Synopsis: Rebuild Haskell dependencies in Gentoo Description: haskell-updater rebuilds Haskell packages on Gentoo after a GHC upgrade or a dependency upgrade.