cabalmdvrpm-0.0.1: cabalmdvspec.hs
-- #!/usr/bin/runhaskell
module Main where
import Distribution.MDV.Rpm
import Distribution.PackageDescription
import System
import Data.List
import Directory
import Control.Monad (fmap)
main = do
mycabal <- readPackageDescription =<< findcabal
let myoptions = defaultsSpecOptions
let specfile = (rpmpkgName myoptions mycabal) ++ ".spec"
writeFile specfile (buildSpec defaultsSpecOptions mycabal)
putStrLn $ specfile ++ " written !"
findcabal = do
args <- getArgs
cfiles <- cabalfiles `fmap` getDirectoryContents "."
case (args, cfiles) of
(a:_, _) -> return a
([] , c:_) -> return c
_ -> error $ "Please specify one of " ++ show cfiles
where cabalfiles = filter (isSuffixOf ".cabal")