@@ -3,7 +3,8 @@ module Main ( main ) where
33import Cabal2Nix.Generate ( cabal2nix )
44import Cabal2Nix.Normalize ( normalize )
55import Cabal2Nix.Package
6−import Distribution.NixOS.Derivation.Cabal
6+import Cabal2Nix.Version
7+import Distribution.NixOS.Derivation.Cabal hiding ( version )
78import Distribution.NixOS.Fetch
89
910import Control.Exception ( bracket )
@@ -47,6 +48,7 @@ defaultConfiguration = Configuration
4748options :: [OptDescr (Configuration -> Configuration)]
4849options =
4950 [ Option "h" ["help"] (NoArg (\o -> o { optPrintHelp = True })) "show this help text"
51+ , Option "v" ["version"] (NoArg (\o -> o { optPrintVersion = True })) "print version"
5052 , Option "" ["hackage-db"] (ReqArg (\x o -> o { optHackageDb = Just x }) "FILEPATH") "path to the local hackage db in tar format"
5153 , Option "" ["sha256"] (ReqArg (\x o -> o { optSha256 = Just x }) "HASH") "sha256 hash of source tarball"
5254 , Option "m" ["maintainer"] (ReqArg (\x o -> o { optMaintainer = x : optMaintainer o }) "MAINTAINER") "maintainer of this package (may be specified multiple times)"
@@ -87,6 +89,7 @@ main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() -> do
8789 (_,_,errs) -> cmdlineError (concatMap ("*** "++) errs)
8890
8991 when (optPrintHelp cfg) (putStr usage >> exitSuccess)
92+ when (optPrintVersion cfg) (putStrLn version >> exitSuccess)
9093 when (length args /= 1) (cmdlineError "*** exactly one url-to-cabal-file must be specified\n")
9194
9295 pkg <- getPackage (optHackageDb cfg) $ Source (head args) (optRevision cfg) (optSha256 cfg)