From 861ca55fc817561c6fdd7d0e18f5a99cf3403609 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 11 Dec 2014 07:42:10 +0200 Subject: [PATCH] More informative cabal.config --- Handler/StackageHome.hs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Handler/StackageHome.hs b/Handler/StackageHome.hs index f350623..7bf213c 100644 --- a/Handler/StackageHome.hs +++ b/Handler/StackageHome.hs @@ -57,17 +57,26 @@ getStackageMetadataR slug = do getStackageCabalConfigR :: SnapSlug -> Handler TypedContent getStackageCabalConfigR slug = do Entity sid _ <- runDB $ getBy404 $ UniqueSnapshot slug - respondSourceDB typePlain $ stream sid + render <- getUrlRender + respondSourceDB typePlain $ stream render sid where - stream sid = + stream render sid = selectSource [ PackageStackage ==. sid , PackageOverwrite ==. False ] [ Asc PackageName' , Asc PackageVersion - ] $= (goFirst >> mapC (Chunk . showPackage)) + ] $= (header render >> goFirst >> mapC (Chunk . showPackage)) + header render = yield $ Chunk $ + toBuilder (asText "-- Stackage snapshot from: ") ++ + toBuilder (render $ SnapshotR slug StackageHomeR) ++ + toBuilder (asText "\n-- Please place this file next to your .cabal file as cabal.config\n-- To only use tested packages, uncomment the following line:\n-- remote-repo: stackage-") ++ + toBuilder (toPathPiece slug) ++ + toBuilder ':' ++ + toBuilder (render $ SnapshotR slug StackageHomeR) ++ + toBuilder '\n' goFirst = do mx <- await forM_ mx $ \(Entity _ (Package _ name version _ _)) -> yield $ Chunk $