@@ -1,28 +1,19 @@
11module Main ( main ) where
22
3−import System.IO ( hPutStrLn, hFlush, stdout, stderr )
4−import System.Environment -- ( getArgs )
5−import Control.Exception ( bracket )
6−import System.Exit ( exitFailure )
7−import Distribution.PackageDescription.Parse ( parsePackageDescription, ParseResult(..) )
8−import Distribution.PackageDescription ( package, packageDescription )
9−import Distribution.Text
10−import Data.List ( isPrefixOf )
11−import Control.Monad ( when )
12−import Network.HTTP ( simpleHTTP, getRequest, getResponseBody )
13−import System.Console.GetOpt ( OptDescr(..), ArgDescr(..), ArgOrder(..), usageInfo, getOpt )
14−
3+import Cabal2Nix.Hackage ( hashPackage, readCabalFile )
154import Cabal2Nix.Package ( cabal2nix )
16−import Cabal2Nix.Hackage ( hackagePath, Ext(..), hashPackage )
175import Distribution.NixOS.Derivation.Cabal
186import Distribution.NixOS.Derivation.Meta
197
20−readCabalFile :: FilePath -> IO String
21−readCabalFile path
22− | "cabal://" `isPrefixOf` path = let Just pid = simpleParse (drop 8 path) in readCabalFile (hackagePath pid Cabal)
23− | "http://" `isPrefixOf` path = simpleHTTP (getRequest path) >>= getResponseBody
24− | "file://" `isPrefixOf` path = readCabalFile (drop 7 path)
25− | otherwise = readFile path
8+import Control.Exception ( bracket )
9+import Control.Monad ( when )
10+import Distribution.PackageDescription ( package, packageDescription )
11+import Distribution.PackageDescription.Parse ( parsePackageDescription, ParseResult(..) )
12+import Distribution.Text ( disp )
13+import System.Console.GetOpt ( OptDescr(..), ArgDescr(..), ArgOrder(..), usageInfo, getOpt )
14+import System.Environment ( getArgs )
15+import System.Exit ( exitFailure )
16+import System.IO ( hPutStrLn, hFlush, stdout, stderr )
2617
2718data CliOption = PrintHelp | SHA256 String | Maintainer String | Platform String | NoHaddock
2819 deriving (Eq)