@@ -183,21 +183,22 @@ main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() -> do
183183 ]
184184
185185 usage :: String
186− usage = usageInfo "Usage: hackage4nix [options] [dir-or-file ...]" options ++
187− "\n\
188− \The purpose of 'hackage4nix' is to keep all Haskell packages in our\n\
189− \repository packages up-to-date. It scans a checked-out copy of\n\
190− \Nixpkgs for expressions that use 'cabal.mkDerivation', and\n\
191− \re-generates them in-place with cabal2nix.\n\
192− \\n\
193− \Because we don't want to generate a barrage of HTTP requests during\n\
194− \that procedure, the tool expects a copy of the Hackage database\n\
195− \available at some local path, i.e. \"/dev/shm/hackage\" by default.\n\
196− \That directory can be set up as follows:\n\
197− \\n\
198− \ cabal update\n\
199− \ mkdir -p /dev/shm/hackage\n\
200− \ tar xf ~/.cabal/packages/hackage.haskell.org/00-index.tar -C /dev/shm/hackage\n"
186+ usage = usageInfo "Usage: hackage4nix [options] [dir-or-file ...]" options ++ unlines
187+ [ ""
188+ , "The purpose of 'hackage4nix' is to keep all Haskell packages in our"
189+ , "repository packages up-to-date. It scans a checked-out copy of"
190+ , "Nixpkgs for expressions that use 'cabal.mkDerivation', and"
191+ , "re-generates them in-place with cabal2nix."
192+ , ""
193+ , "Because we don't want to generate a barrage of HTTP requests during"
194+ , "that procedure, the tool expects a copy of the Hackage database"
195+ , "available at some local path, i.e. \"/dev/shm/hackage\" by default."
196+ , "That directory can be set up as follows:"
197+ , ""
198+ , " cabal update"
199+ , " mkdir -p /dev/shm/hackage"
200+ , " tar xf ~/.cabal/packages/hackage.haskell.org/00-index.tar -C /dev/shm/hackage\n"
201+ ]
201202
202203 cmdlineError :: String -> IO a
203204 cmdlineError "" = hPutStrLn stderr usage >> exitFailure